 @charset "UTF-8";
/* CSS Document */
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	background: #fff;
}
header, footer, main, nav, section, article, figure, figcaption {
	display: block;
}
html, body, header, footer, main, nav, section, article, figure, figcaption,
div, p, ul, ol, dl, li, dt, dd,
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
body {
	line-height: 1;
	color: #000;
	font-family: "HondaGlobalFontEN-Regular", sans-serif;
  font-weight: normal;
  font-feature-settings: "palt";
	font-weight: 400;
	background: #000;
	transition: background 400ms ease;
}
body.is_load{
	background: #000428;
}
body.inversion{
}
body.inversion.is_genten{

}




/* bg
===============================================================*/

#bg_gradation_wh{
	opacity: 0;
}
body.inversion #bg_gradation{
	opacity: 0;
}
body.inversion #bg_gradation_wh{
	opacity: 1;
}
#bg_gradation canvas,
#bg_gradation_wh canvas{
  filter: blur(100px);
}
#bg_gradation,
#bg_gradation_wh{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 1200ms ease;
  opacity: 0;
  z-index: 5;
}
#bg_gradation{
  z-index: 5;
	background: #000428;
}
#bg_gradation_wh{
  z-index: 4;
}
#bg_gradation_wh div{
	background: rgba(255,255,255);
}


.is_load #bg_gradation{
	opacity: 1;
}

.brand-slogan__header h2,
.brand-genten__header h2,
.brand-movie__header h2,
.brand-discover__header h2,
.brand-value__item-header h2,
.brand-slogan-statement__header h2{
    font-family: "HondaGlobalFontEN-Bold", sans-serif;
    font-weight: normal;
    font-feature-settings: "palt";
}

a{
	color: #000;
	text-decoration: none;
}
li{
	list-style-type: none;
}
i,em{
	font-style: normal;
}
strong{
	font-weight: normal;
}
img {
	vertical-align: bottom;
	border: none;
}
video {
	vertical-align: bottom;
}
.no-scroll{
	overflow: hidden;
}
a{
  color: #000;
  text-decoration: none;
}
img{
  max-width: 100%;
  vertical-align: top;
}
*,
::before,
::after{
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

::selection {
	color: #fff;
	background: #fff;
	opacity: 1;
}
.l-footer{
	z-index: 50;
}
.brand-contents a:hover {
	transition: none;
	opacity: inherit;
}
.brand-movie__catch h4{
	width: 100%;
	text-align: left;
}

.brand-movie__list-item .txt1,
.brand-movie__list-item .txt2{
	position: absolute;
	display: block;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	transition: opacity 300ms ease,visibility 300ms ease;
	text-align: left;
}

.brand-movie__list-item .txt2{
	opacity: 0;
	visibility: hidden;
}
.brand-movie__list-item.is_txt_change .txt2{
	opacity: 1;
	visibility: visible;
}
.brand-movie__list-item.is_txt_change .txt1{
	opacity: 0;
	visibility: hidden;
}

.brand-movie__list-item .movie-btn2{
	opacity: 0;
	visibility: hidden;
}
.brand-movie__list-item.is_txt_change .movie-btn2{
	opacity: 1;
	visibility: visible;
}
.brand-movie__list-item.is_txt_change .movie-btn1{
	opacity: 0;
	visibility: hidden;
}



/* アニメーション
===============================================================*/


.btn-pagetop{
	transform: translateY(200%);
	transition: transform 600ms ease;
}
.is_pagetop .btn-pagetop{
	transform: translateY(0);
}

.brand-kv__scroll{
	opacity: 1;
	transition: opacity 600ms ease;
}
.brand-kv__scroll.off{
	opacity: 0;
}

.brand-slogan-lead p{
	opacity: 0;
	transition: opacity 600ms ease;
	will-change: opacity;
}
.brand-slogan-lead p.on{
	opacity: 1;
}

.brand-slogan-statement__header{
	opacity: 0;
	transition: opacity 600ms ease;
}
.on_header .brand-slogan-statement__header,
.brand-slogan-statement__header.on{
	opacity: 1;
}

.brand-slogan-statement__lead{
	opacity: 0;
	transition: opacity 600ms ease;
}
.on_lead .brand-slogan-statement__lead,
.brand-slogan-statement__lead.on{
	opacity: 1;
}


.brand-movie__list-item-inner{
	opacity: 0;
	transition: opacity 600ms ease;
}
.brand-movie__list-item.is_show_item .brand-movie__list-item-inner{
	opacity: 1;
}


.brand-genten__list li{
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 600ms ease,transform 600ms ease;
}
.brand-genten__list li.show{
	opacity: 1;
	transform: translateY(0);
}
.brand-challenge__list-item .brand-challenge__list-item-inner{
	opacity: 0;
	transition: opacity 600ms ease;
}
.brand-challenge__list-item.is_show_item .brand-challenge__list-item-inner{
	opacity: 1;
}

.obj-square-wrap,
.obj-square-wrap-sp{
	opacity: 0;
	transform: translateY(100px);
	transition: opacity 800ms ease,transform 800ms ease;
}
.is_show_sqr .obj-square-wrap,
.is_show_sqr .obj-square-wrap-sp{
	opacity: 1;
	transform: translateY(0);
}
.obj-square-inner{
	width: 100%;
	height: 100%;
}


/* button
===============================================================*/

.brand-contents button{
	display: block;
	background: none;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	margin: 0;
	line-height: 1;
	font-size: inherit;
	font-family: inherit;
	cursor: pointer;
	box-sizing: border-box;
}
#main{
	position: relative;
	z-index: 20;
}
/*フォント*/
.brand-nav-elm button{
	font-family: "HondaGlobalFontEN-Regular", sans-serif;
  font-weight: normal;
  font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {



	body {
		font-size: 14px;
		width: 100%;
	}
	.ignore-pc{
		display: none;
	}
	#wrap{
		position: relative;
		width: 100%;
		overflow: hidden;
	}

	.brand-contents{
		position: relative;
		z-index: 10;
	}


/* rect 
===============================================================*/

	@keyframes line {
		0% {
			stroke-dashoffset: 2500;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	@keyframes line2 {
		0% {
			stroke-dashoffset: 2920;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	@keyframes line3 {
		0% {
			stroke-dashoffset: 1420;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}

	.svg-rect-sp{
		display: none;
	}

	.svg-rect{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		transition: opacity 400ms ease;
		z-index: 20;
	}
	.rect{
		width: calc(100% - 1px);
		height: calc(100% - 2px);
		fill: transparent;
		stroke: rgba(255,255,255,0.3);
		stroke-width: 1;
		stroke-linecap: square;		
		stroke-dasharray: 4100;
		stroke-dashoffset: 4100;
		transform: translate(0,1px);
	}
	.rect2{
		width: calc(100% - 1px);
		height: calc(100% - 2px);
		fill: transparent;
		stroke: rgba(0,0,0,0.2);
		stroke-width: 1;
		stroke-linecap: square;		
		stroke-dasharray: 2920;
		stroke-dashoffset: 2920;	
		transform: translate(0,1px);	
	}
	.rect3{
		width: calc(100% - 1px);
		height: calc(100% - 2px);
		fill: transparent;
		stroke: rgba(255,255,255,0.3);
		stroke-width: 1;
		stroke-linecap: square;		
		stroke-dasharray: 1420;
		stroke-dashoffset: 1420;
		transform: translate(0,1px);
	}

	.is_show_rect .rect{
		animation: line 600ms forwards ease-out;
	}
	.is_show_rect .rect2{
		animation: line2 600ms forwards ease-out;
	}
	.is_show_rect .rect3{
		animation: line3 600ms forwards ease-out;
	}
	.is_end_rect .svg-rect{
		opacity: 0;
	}
	.inversion .rect,
	.inversion .rect3{
		stroke: rgba(0,0,0,0.3);
	}



/* popup 
===============================================================*/

	.popup{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 1010000000;
		background: rgba(0,0,0,0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 600ms ease, visibility 600ms ease;
		backdrop-filter: blur(5px);
	}

	.is_popup .popup{
		opacity: 1;
		visibility: visible;
	}
	.popup-contents{
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		top:0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.popup-player-box{
		position: relative;
		width: 100%;
		height: 100%;
	}
	.popup-player-box iframe{
		width: 100%;
		height: 100%;
	}
	.popup-overlay{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}


	.btn-close-popup{
		display: flex;
		position: absolute;
		justify-content: center;
		margin: auto;
		left: 0;
		right: 0;
		bottom: -80px;
		align-items: center;
		width: 41px;
		height: 41px;
		border: 1px solid #fff;
		border-radius: 20px;
		background: none;
		transition: background 600ms ease;
		z-index: 100;
	}
	.popup-kv .btn-close-popup-brand{
		display: none;
	}

	.btn-close-popup:hover{
		background: #fff;
	}
	.btn-close-popup path{
		transition: stroke 600ms ease;
	}
	.btn-close-popup:hover path{
		stroke:#000;
	}
	.popup-player-box iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
		transition: clip-path 600ms ease;
	}
	.popup-player-box iframe.is_show_movie {
		clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	}
	.popup-player-box iframe.is_show_movie.is_hide_movie{
		clip-path: polygon(0 0, 100% 0%, 100% 0, 0 0);
	}


	.popup-brand .btn-close-popup{
		display: none;
	}
	.popup-brand .btn-close-popup-brand{
		display: flex;
		position: absolute;
		justify-content: center;
		margin: auto;
		top: 0;
		right: -44px;
		align-items: center;
		width: 40px;
		height: 40px;
		background: #CC0000;
		transition: background 600ms ease;
		z-index: 100;
		border: none;
		cursor: pointer;
	}
	.popup-player-box.popup-brand iframe{
		clip-path:none;
		display: none;
	}
	.popup-player-box.popup-brand iframe.is_show_movie{
		clip-path:none;
		display: block;
	}




/* kv
===============================================================*/

	.brand-kv{
		position: relative;
		height: calc(100svh - 120px - 55px);
	}
	.brand-kv-player,
	.brand-kv-player *{
		height: 100%;
	}
	.brand-kv-player video{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.brand-kv__title{
		position: absolute;
		top: 50%;
		left: 50%;
		text-align: center;
		width: 100%;
		transform: translate(-50%,-50%);
		z-index: 100;
		color: #fff;
	}
	.brand-kv__title h1{
		font-size: 46px;
	}
	.brand-kv__title p{
		margin: 40px 0 0;
		line-height: 1.6;
		font-size: 24px;
	}


	.brand-kv__play{
		position: absolute;
		right: 50px;
		bottom: 50px;
		width: 136px;
		height: 50px;
	}
	.brand-kv__play button.brand-kv__play-btn{
		width: 100%;
		height: 100%;
		background: rgba(255,255,255,0.3);
		color: #fff;
		border-radius: 4px;
	}
	.brand-kv__play button.brand-kv__play-btn span{
		position: relative;
		display: inline-block;
		font-size: 14px;
		padding: 0 20px 0 0;
	}
	.brand-kv__play button.brand-kv__play-btn span:after{
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 8px;
		height: 14px;
		background: url(../img/arrow_r_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.brand-kv__play button{
		transition: opacity 600ms ease;
	}
	.brand-kv__play button:hover{
		opacity: 0.7;
	}


	.brand-kv__scroll{
		position: absolute;
		left: 50px;
		bottom: 50px;
		width: 153px;
		height: 60px;
	}
	.brand-kv__scroll button{
		transition: opacity 600ms ease;
	}
	.brand-kv__scroll button.brand-kv__scroll-btn span{
		position: relative;
		display: inline-block;
		font-size: 12px;
		padding: 0 0 0 20px;
		color: #fff;
	}
	.brand-kv__scroll button:hover{
		opacity: 0.7;
	}


	@keyframes motion-scroll{
		0%{
			transform: translateY(0);
			opacity: 1;
		}
		30%{
			transform: translateY(100%);
			opacity: 0;
		}
		50%{
			transform: translateY(-100%);
			opacity: 0;
		}
		60%{
			transform: translateY(-100%);
			opacity: 0;
		}
		100%{
			transform: translateY(0);
			opacity: 1;
		}
	}

	.brand-kv__scroll button.brand-kv__scroll-btn span:after{
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -5px;
		display: block;
		width: 10px;
		height: 10px;
		background: url(../img/arrow_scr.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		animation: motion-scroll cubic-bezier(.43,.05,.17,1) 2s 2s infinite;
	}



/* brand-nav
===============================================================*/

	.brand-nav{
		position: relative;
		height: 700px;
		padding: 110px 0 0;
	}
	.brand-nav-inner{
		position: sticky;
		padding: 0 20px;
		top: 50%;
		transform: translateY(-50%);
	}
	.brand-nav-inner:after{
		content: "";
		position: absolute;
		left: 0;
		top: calc(100% + 70px);
		display: block;
		width: 100%;
		height: 624px;
		background: linear-gradient(to bottom, #000 50%, transparent 100%);
		opacity: 0.3;
	}

	.brand-nav ul{
		margin: auto;
		max-width: 920px;
		display: flex;
		justify-content: space-between;
	}
	.brand-nav ul li + li{
		margin-left: 60px;
		margin-left: min(60px,6.12vw);
	}


	.brand-nav ul button{
		color: #fff;
		font-size: min(16px,1.63vw);
		line-height: 1.5;
	}
	.brand-nav ul button span{
		position: relative;
		display: inline-block;
		padding: 0 0 20px;
	}
	.brand-nav ul button span:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		right: 0;
		left: 0;
		bottom: 0;
		width: 14px;
		height: 8px;
		background: url(../img/arrow_d_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		z-index: 100;
		transition: transform 600ms ease;
	}
	.brand-nav ul button:hover span:after{
		animation: motionArrow 600ms linear 1;
	}

	.brand-nav.is_motion ul li:nth-child(1) button span:after,
	.brand-nav ul button:hover span:after{
		animation: motionArrow 600ms linear 1;
	}

	.brand-nav ul li:nth-child(1) button span:before{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		right: 0;
		left: 0;
		bottom: 16px;
		width: 100%;
		height: 1px;
		background: rgba(255,255,255,0.5);
		transform: scale(0, 1);
		transform-origin: top left;
		transition: transform 1200ms ease;
	}
	.brand-nav.is_motion ul li:nth-child(1) button span:before{
		transform: scale(1, 1);
	}



/* brand-slogan
===============================================================*/

	#brand-slogan{
		position: relative;
		margin: auto;
		padding: 480px min(200px,13.5vw) 240px;
		max-width: 1680px;
		color: #fff;
		text-align: center;
		overflow: hidden;
		z-index: 10;
	}
	.brand-slogan-lead p{
		line-height: calc(22/16);
		font-size: 16px;
		line-height: 2.25em;
		font-size: 1.7rem;
		letter-spacing: -.01em;
	}
	.brand-slogan-lead p + p{
		margin-top: 2.8em;
	}

	.brand-slogan__header{
		color: #fff;
		text-align: left;
		margin: 0 auto 160px;
	}
	.brand-slogan__header h2{
		font-size: 20px;
	}
	.brand-slogan__header-lead{
		margin: 30px auto 0;
	}


	.logo-sticky-area{
		height: 3000px;
	}
	.motion-logo-sticky{
		position: sticky;
		margin: auto;
		padding: 200px 0;
		max-width: 1080px;
		top: 50%;
		transform: translateY(-50%);
	}
	#motion-logo{
		position: relative;
		margin: auto;
		max-width: 800px;
	}
	.motion-logo-inner{
		position: relative;
	}




/* brand-slogan-statement
===============================================================*/

	.brand-slogan-statement{
		padding: 220px 0 0;
		text-align: center;
		line-height: 2;
		color: #fff;
	}
	.brand-slogan-statement__header h2{
		font-size: 20px;
	}
	.brand-slogan-statement__lead{
		margin: 24px 0 0;
	}
	.brand-slogan-statement__lead p{
		font-size: 16px;
		line-height: 2em;
		letter-spacing: -.01em;
	}

/* brand-value
===============================================================*/

	#brand-value{
		padding: 200px 0;
		height: 200vh;
	}
	.brand-value__contents{
		position: sticky;
		top: 50%;
		transform: translateY(-50%);
		margin: auto;
		padding: 0 min(200px,13.5vw);
		max-width: 1680px;
	}

	.brand-value__list{
		position: relative;
		max-width: 1280px;
	}

	.brand-value__list-inner{
		display: flex;
		padding: 0 19px 110px;
		background: rgba(0,0,0,0.4);
	}
	.brand-value__list-item-wrap{
		width: 33.3333%;
		padding: 30px 19px 0;
		color: #fff;
	}

	.brand-value__list-item{
		height: 500px;
	  -webkit-mask-image: linear-gradient(to bottom, #fff 65%, transparent 97%);
	  -webkit-mask-repeat: no-repeat;
	  -webkit-mask-size: 100% 100%;
	  transition: all 400ms ease;
	}

	.brand-value__list-item.is_show{
	  -webkit-mask-size: 100% 150%;
	}
	.brand-value__list-item-box{
		position: relative;
		width: 100%;
	}
	.brand-value__list-item-box-inner{
		position: relative;
		display: flex;
		flex-direction: column;
		padding: 0 0 30px;
		width: 100%;
	}
	.brand-value__item-header .brand-value__item-button{
		display: none;
	}

	.brand-value__item-header{
		position: relative;
		padding: 0 0 15px;
	}

	.brand-value__list-item-wrap:nth-child(1) .brand-value__item-header:after{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		display: block;
		width: 100%;
		height: 1px;
		background: rgba(255,255,255,0.6);
	}
	.brand-value__list-item-wrap:nth-child(2) .brand-value__item-header:after{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		display: block;
		width: calc(200% + 38px);
		height: 1px;
		background: rgba(255,255,255,0.6);
	}



	.brand-value__item-header h2{
		font-size: 20px;
		line-height: 1.5;
	}
	.brand-value__item-header h3{
		margin-top: 10px;
		font-size: 16px;
		line-height: 1.5;
	}
	.brand-value__item-lead{
		display: block !important;
		flex-grow: 1;
		margin: 30px 0 0;
	}

	.brand-value__item-lead{
		margin: 15px 0 0;
	}
	.brand-value__item-lead{
			will-change: height;
	}
	.brand-value__item-lead p{
		line-height: calc(26/14);
		line-height: 2;
	}
	.brand-value__item-lead p + p{
		margin-top: 20px;
	}
	.brand-value__item-figure{
		margin: 15px 0 0;
	}

	.brand-value__list-item-button{
		display: none;
	}

	@keyframes motionArrow{
		0%{
			transform: translateY(0);
		}
		50%{
			transform: translateY(10px);
		}
		100%{
			transform: translateY(0);
		}
	}
	@keyframes motionArrowRev{
		0%{
			transform: translateY(0);
		}
		50%{
			transform: translateY(-10px);
		}
		100%{
			transform: translateY(0);
		}
	}



	.brand-value__list-button{
		position: absolute;
		display: flex;
		align-items: center;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 110px;
	}
	.brand-value__list-button button{
		position: relative;
		margin: auto;
		width: 345px;
		height: 40px;
		color: #fff;
	}
	.brand-value__list-button button em{
		position: relative;
		display: inline-block;
		width: 14px;
		height: 8px;
	}
	.brand-value__list-button button em:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		width: 14px;
		height: 8px;
		background: url(../img/arrow_d_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		z-index: 100;
		transition: transform 600ms ease;
	}
	.brand-value__list-button button:hover em{
		animation: motionArrow 600ms linear 1;
	}
	.brand-value__list-button button.is_click em:after{
		transform: rotate(-180deg);
	}
	.brand-value__list-button button.is_click:hover em{
		animation: motionArrowRev 600ms linear 1;
	}


	.brand-value__list-inner{
		opacity: 0;
		transition: opacity 600ms ease;		
	}
	.is_show_item .brand-value__list-inner {
		opacity: 1;
	}




/* brand-movie
===============================================================*/

	.brand-movie--sp{
		display: none;
	}
	#brand-movie{
		padding: 200px 0;
		height: 200vh;
	}
	.brand-movie__contents{
		position: sticky;
		top: 50%;
		transform: translateY(-50%);
		padding: 0 min(200px,13.5vw);
		max-width: 1680px;
		margin: auto;
	}

	.brand-movie__wrap{
		position: relative;
		margin: 40px auto 0;
	}
	.brand-movie__inner{
		position: relative;
		margin: auto;
		width: 100%;
	}

	.brand-movie__header{
		margin: auto;
		color: #fff;
		transition: color 600ms ease;
	}
	.brand-movie__header h2{
		font-size: 20px;
	}
	.brand-movie__lead{
		margin: 30px auto 0;
	}
	.brand-movie__lead p{
		font-size: 16px;
		line-height: 2;
		color: #fff;
		font-size: 16px;
		transition: color 600ms ease;
	}
	.inversion .brand-movie__header,
	.inversion .brand-movie__lead p{
		color: #000;
	}

	.brand-movie__list{
		display: flex;
		justify-content: space-between;
	}
	.brand-movie__list-item{
		position: relative;
		transition: width 800ms ease;
		will-change: width;
	}

	.brand-movie__list-item .brand-movie__thumb{
		position: relative;
		width: 100%;
		height: 554px;
		overflow: hidden;
		transition: opacity 600ms ease;
		z-index: 50;
	}
	.brand-movie__list-item .brand-movie__player{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 557px;
		overflow: hidden;
		transition: opacity 600ms ease;
		z-index: 10;
	}
	.brand-movie__list-item .brand-movie__thumb:after,
	.brand-movie__list-item .brand-movie__player:after{
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.3);
		z-index: 70;
	}

	.brand-movie__player video{
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		height: 100%;
		aspect-ratio: 16 / 9;
	}
	.brand-movie__list-item-inner{
		position: relative;
		will-change: opacity;
		overflow: hidden;
		width: 100%;
		height: 100%;
	}
	.brand-movie__list-item .brand-movie__thumb{
	}
	.brand-movie__list-item .brand-movie__thumb img{
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		will-change: opacity;
		height: 100%;
		max-width: inherit;
	}
	.brand-movie__list-item.is_enter .brand-movie__thumb{
		opacity: 0;
	}

	.brand-movie__blank-thumb{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #333333;
		opacity: 0.6;
	}
	.brand-movie__list button{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		z-index: 100;
	}
	.brand-movie__list-item-txt{
		position: absolute;
		display: flex;
		align-items: center;
		bottom: 0;
		left: -4px;
		padding: 20px 0;
		z-index: 10;
		height: 100%;
		width: 100%;
		max-width: 73px;
		text-align: left;
		z-index: 100;
	}
	.brand-movie__list-item-txt h3{
		position: relative;
		height: 100%;
		width: 100%;
		transform-origin: center bottom;
		font-size: min(18px,2.44vw);
		color: #fff;
		transition: transform 600ms ease;
	}
	.brand-movie__list-item-txt h3 .t1,
	.brand-movie__list-item-txt h3 .t2{
		position: absolute;
		bottom: 0;
		left: 50%;
		transition: opacity 600ms ease;
	}
	.brand-movie__list-item-txt h3 .t1{
		transform: translateX(-50%);
		writing-mode: sideways-lr;
	}
	.brand-movie__list-item-txt h3 .t2{
		transform: translateX(-0.5em);
		opacity: 0;
	}
	.brand-movie__list-item:not(.brand-movie__list-item--blank).is_enter .brand-movie__list-item-txt h3 .t1{
		opacity: 0;
	}
	.brand-movie__list-item:not(.brand-movie__list-item--blank).is_enter .brand-movie__list-item-txt h3 .t2{
		opacity: 1;
	}


	.brand-movie__arrow{
		position: absolute;
		display: flex;
		align-items: center;
		bottom: 0;
		right: 0;
		z-index: 10;
		height: 100%;
		width: 100%;
		max-width: 73px;
		z-index: 100;
	}
	.brand-movie__arrow:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 20px;
		right: 0;
		left: 0;
		width: 8px;
		height: 14px;
		background: url(../img/arrow_r_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		z-index: 100;
	}
	.brand-movie__catch{
		position: absolute;
		display: flex;
		align-items: center;
		top: 0;
		left: 0;
		height: 100%;
		z-index: 30;
		aspect-ratio: 16 / 9;
	}
	.brand-movie__catch h4{
		position: relative;
		margin: 0 0 0 25px;
		font-size: min(32px,3.26vw);
		color: #fff;
		line-height: 1.5;
	}

	@keyframes motionLinebtmlink{
		0%{
			transform: scale(0, 1);
			transform-origin: top left;
		}
		33%{
			transform: scale(1, 1);
			transform-origin: top left;
		}
		66%{
			transform: scale(1, 1);
			transform-origin: top right;
		}
		100%{
			transform: scale(0, 1);
			transform-origin: top right;
		}

	}

	.brand-movie__btm-link{
		display: flex;
		margin: 30px 0 0;
		justify-content: flex-end;
	}
	.brand-movie__btm-link a{
		position: relative;
		padding: 0 0 3px;
		display: inline-block;
		font-size: 16px;
	}
	.brand-movie__btm-link a span{
		position: relative;
		padding: 0 20px 0 0;
		display: inline-block;
	}
	.brand-movie__btm-link a span:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		width: 8px;
		height: 14px;
		background: url(../img/arrow_r_bk.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		z-index: 100;
	}
	.brand-movie__btm-link a:before{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		display: block;
		width: 100%;
		height: 1px;
		background: rgba(0,0,0,0.5);
		transform: scale(0, 0);
		transform-origin: top left;
	}
	.brand-movie__btm-link a:hover:before{
		animation: motionLinebtmlink 600ms linear 1;
	}


/* brand-discover
===============================================================*/

	#brand-discover{
		position: relative;
		padding: 200px 0 0;
		height: 200vh;
	}
	.brand-discover__contents{
		position: sticky;
		top: 50%;
		transform: translateY(-50%);
		margin: auto;
		padding: 0 min(200px,13.5vw);
		max-width: 1680px;
		overflow: hidden;
	}

	.brand-discover__header h2{
		font-size: 20px;
		line-height: 1.5;
	}
	.brand-discover__detail{
		position: relative;
		margin: 45px 0 0;
	}

	.brand-discover__logo a{
		position: relative;
		padding: 0 15px 0 0;
		display: block;
	}
	.brand-discover__logo a:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		width: 8px;
		height: 14px;
		background: url(../img/arrow_r_bk.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		z-index: 100;
	}
	.brand-discover__logo span{
		display: block;
		max-width: 225px;
	}
	.brand-discover__logo img{
		transition: opacity 600ms ease;
	}
	.brand-discover__logo a:hover img{
		opacity: 0.5;
	}

	.brand-discover__lead{
		margin: 30px 0 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.brand-discover__lead-txt{
		line-height: 2;
		padding: 0 20px 0 0;
		width: calc(100% - 312px);
	}
	.brand-discover__lead-txt p{
		font-size: 16px;
	}
	.brand-discover__detail ul{
		display: flex;
		margin: 0 -12px;
	}
	.brand-discover__detail ul li{
		width: 33.3333%;
		padding: 0 12px;
	}
	.brand-discover__detail ul li a{
		display: block;
	}

	.brand-discover__detail ul li .brand-discover__item-txt{
		margin: 20px 0 0;
	}
	.brand-discover__detail ul li .brand-discover__item-cat{
		display: inline-block;
		font-size: 14px;
		padding: 4px 10px;
		border: 1px solid rgba(0,0,0,0.3);
		transition: border 600ms ease;
	}
	.brand-discover__detail ul li h3{
		margin: 10px 0 0;
		font-size: 14px;
		line-height: 2;
	}

	.brand-discover__detail ul li a figure{
		overflow: hidden;
	}
	.brand-discover__detail ul li a figure img{
		transition: transform 600ms ease;
	}
	.brand-discover__detail ul li a:hover figure img{
		transform: scale(1.1);
	}


	.brand-discover__contents{
		color: #000;
		transition: color 600ms ease;
	}
	.brand-discover__lead{
		color: #000;
		transition: color 600ms ease;
	}
	.brand-discover__detail a{
		color: #000;
		transition: color 600ms ease;
	}
	body.inversion-discover-txt .brand-discover__lead{
		color: #fff;
	}
	body.inversion-discover-txt .brand-discover__contents{
		color: #fff;
	}
	body.inversion-discover-txt .brand-discover__detail a{
		color: #fff;
	}
	body.inversion-discover-txt .brand-discover__detail ul li .brand-discover__item-cat{
		border: 1px solid #fff;
	}

/* brand-genten
===============================================================*/

	#brand-genten{
		position: relative;
		z-index: -1;
		margin: -400px 0 0;
	}
	.brand-genten__contents{
		margin: auto;
		color: #fff;
		mask-image: url(../img/gra_msk_genten.png);
		mask-size: cover;
		mask-repeat: no-repeat;
		mask-position: center;
	}
	.brand-genten__contents-inner{
		position: relative;
		padding: 600px 0 0;
		background: #000;
	}
	.brand-genten__contents-inner:before{
		content: "";
		position: absolute;
		right: 0;
		top: 0;
		display: block;
		width: 100%;
		height: 100%;
		mask-image: url(../img/gra_msk_genten_beside.png);
		mask-size: cover;
		mask-repeat: no-repeat;
		mask-position: right center;
		background: #000;
		z-index: 50;
	}

	.brand-genten__detail-wrap{
		position: relative;
		margin: auto;
		padding: 200px min(200px,13.5vw) 0;
		max-width: 1680px;
		display: flex;
		justify-content: flex-end;
		z-index: 100;
	}


	.brand-genten__header h2{
		font-size: 20px;
		line-height: 1.5;
	}
	.brand-genten__lead{
		margin: 30px 0 0;
	}
	.brand-genten__lead p{
		line-height: 2;
	}

	.brand-genten__detail{
		max-width: 460px;
		width: 50%;
	}
	.brand-genten__list{
		margin: 60px 0 0;
	}
	.brand-genten__list li + li{
		margin-top: 60px;
	}


	@keyframes motionLine{
		0%{
			transform: scale(1, 1);
			transform-origin: top right;
		}
		33%{
			transform: scale(0, 1);
			transform-origin: top right;
		}
		66%{
			transform: scale(0, 1);
			transform-origin: top left;
		}
		100%{
			transform: scale(1, 1);
			transform-origin: top left;
		}
	}

	.brand-genten__list-item a{
		color: #fff;
	}
	.brand-genten__list-item a:hover dl dt:after{
		animation: motionLine 600ms linear 1;
	}
	.brand-genten__list-item dl dt{
		position: relative;
		font-size: 18px;
		padding: 0 0 14px;
		overflow: hidden;
	}
	.brand-genten__list-item dl dt:after{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		display: block;
		width: 100%;
		height: 1px;
		background: rgba(255,255,255,0.5);
		transform: scale(1, 1);
		transform-origin: top left;
	}
	.brand-genten__list-item dl dt span{
		position: relative;
		display: block;
		padding: 0 30px 0 0;
	}
	.brand-genten__list-item dl dt span:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		width: 7px;
		height: 14px;
		background: url(../img/arrow_r_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.brand-genten__list-item dl dd{
		margin: 10px 0 0;
		line-height: calc(26/14);
	}



/* bg-slide
===============================================================*/


	.bg-slide-wrap{
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-45%,-50%);
		width: 200vh;
		z-index: 30;
	}
	.bg-slide-inner{
		transform: perspective(140px) rotateY(3.5deg);
	 }
	.bg-slide-figure img{
		will-change: transform;
	}
	.bg-slide-figure {
	  animation: scroll-left 25s infinite linear .5s both;
	  display: flex;
	}


	@keyframes scroll-left {
	  from {
	    transform: translateX(0);
	  }
	  to {
	    transform: translateX(-50%);
	  }
	}


/* brand-logo
===============================================================*/

	#brand-logo-area{
		position: relative;
		display: flex;
		align-items: center;
		margin-top: -550px;
		justify-content: center;
		padding: 1100px 0 550px;
		background: #000;
		z-index: 50;
		mask-image: url(../img/gra_msk_logo_pc.png);
		mask-size: cover;
		mask-repeat: no-repeat;
		mask-position: center top;
	}
	.brand-logo{
		position: relative;
		max-width: 586px;
	}


/* obj-square
===============================================================*/

	.obj-square-wrap-sp{
		display: none;
	}

	.obj-square-wrap{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		z-index: 10;
	}

	.obj-square{
		position: fixed;
		top: 0;
		z-index: 1;
		transition: border 800ms ease, background 800ms ease, opacity 800ms ease;
	}
	.obj-square-discover{
		position: fixed;
		transition: border 800ms ease, background 800ms ease, opacity 800ms ease;
	}

	.obj-square-l{
		left: 50%;
	}
	.obj-square-r{
		right: 50%;
	}

	.obj-square-line1{
		border: 0.5px solid #fff;
		opacity: 0.5;
	}
	.obj-square-line2{
		border: 0.5px solid #fff;
		opacity: 0.5;
	}
	.obj-square-line3{
		border: 0.5px solid #fff;
		opacity: 0;
	}
	.obj-square-color1{
		background: #21004F;
		opacity: 0.5;
	}
	.obj-square-color2{
		background: #520038;
		opacity: 0.5;
	}
	.obj-square-color3{
		background: #fff;
		opacity: 0;
	}

	.inversion .obj-square-line1{
		border: 0.5px solid #615B8E;
		opacity: 0.5;
	}
	.inversion .obj-square-line2{
		border: 0.5px solid #615B8E;
		opacity: 0.5;
	}
	.inversion .obj-square-color1{
		background: #fff;
		opacity: 0.2;
	}
	.inversion .obj-square-color2{
		background: #fff;
		opacity: 0.27;
	}

	.inversion-discover.inversion .obj-square-line3{
		border: 1px solid #FF640F;
		opacity: 0.8;
	}
	.inversion-discover.inversion .obj-square-color3{
		background: #FF640F;
		opacity: 0.8;
	}
	.btn-pagetop{
		position: fixed;
		right: 25px;
		bottom: 25px;
		width: 120px;
		height: 45px;
		z-index: 5000;
	}
	.btn-pagetop button{
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.4);
		border: none;
		color: #fff;
		border-radius: 4px;
		transition: opacity 600ms ease;
	}
	.btn-pagetop button span{
		position: relative;
		display: inline-block;
		font-size: 12px;
		padding: 0 30px 0 0;
	}
	.btn-pagetop button span:after{
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 14px;
		height: 8px;
		background: url(../img/arrow_pt.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.btn-pagetop button:hover{
		opacity: 0.7;
	}

}

@media screen and (min-width: 768px) and (max-width: 1480px) {


	#brand-slogan{
		padding: 480px 20px 160px;
		max-width: 1120px;
		margin: auto;
	}

	.brand-value__contents{
		padding: 0 20px;
		max-width: 1120px;
		margin: auto;
	}
	.brand-movie__contents{
		padding: 0 20px;
		max-width: 1120px;
		margin: auto;
	}
	.brand-discover__contents{
		padding: 0 20px;
		max-width: 1120px;
		margin: auto;
	}
	.brand-genten__detail-wrap{
		padding: 200px 20px 0;
		max-width: 1120px;
		margin: auto;
	}


}



@media screen and (max-width: 767px) {


	body {
		width: 100%;
		font-size: 12px;
	}
	.ignore-sp{
		display: none;
	}
	#wrap{
		position: relative;
		width: 100%;
		overflow: hidden;
	}

	.p-breadcrumbs11 + div{
		display: none;
		position: relative;
	}


/* kv
===============================================================*/

	.brand-kv{
		height: 100svh;
	}
	.brand-contents{
		position: relative;
		z-index: 10;
	}


/* rect 
===============================================================*/

	@keyframes line {
		0% {
			stroke-dashoffset: 2500;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	@keyframes line2 {
		0% {
			stroke-dashoffset: 2920;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	@keyframes line3 {
		0% {
			stroke-dashoffset: 3000;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}

	@keyframes lineSP {
		0% {
			stroke-dashoffset: 2500;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	.svg-rect-sp{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		transition: opacity 400ms ease;
		z-index: 20;
	}
	.brand-value__list-item-wrap.is_show_rect .svg-rect-sp .rect{
		animation: line 600ms forwards ease-out;
	}


	.svg-rect{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		transition: opacity 400ms ease;
		z-index: 20;
	}
	.rect{
		width: calc(100% - 1px);
		height: calc(100% - 2px);
		fill: transparent;
		stroke: rgba(255,255,255,0.3);
		stroke-width: 1;
		stroke-linecap: square;		
		stroke-dasharray: 2500;
		stroke-dashoffset: 2500;
		transform: translate(0,1px);
	}
	.rect2{
		width: calc(100% - 1px);
		height: calc(100% - 2px);
		fill: transparent;
		stroke: rgba(0,0,0,0.2);
		stroke-width: 1;
		stroke-linecap: square;		
		stroke-dasharray: 2920;
		stroke-dashoffset: 2920;	
		transform: translate(0,1px);	
	}
	.rect3{
		width: calc(100% - 1px);
		height: calc(100% - 2px);
		fill: transparent;
		stroke: rgba(255,255,255,0.3);
		stroke-width: 1;
		stroke-linecap: square;		
		stroke-dasharray: 3000;
		stroke-dashoffset: 3000;
		transform: translate(0,1px);
	}

	.is_show_rect .svg-rect .rect{
		animation: line 600ms forwards ease-out;
	}
	.is_show_rect .svg-rect .rect2{
		animation: line2 600ms forwards ease-out;
	}
	.is_show_rect .svg-rect .rect3{
		animation: line3 600ms forwards ease-out;
	}
	.brand-value__list-item-wrap.is_end_rect .svg-rect-sp,
	.is_end_rect .svg-rect{
		opacity: 0;
	}
	.inversion .rect,
	.inversion .rect3{
		stroke: rgba(0,0,0,0.3);
	}



/* popup 
===============================================================*/

	.popup{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 1010000000;
		background: rgba(0,0,0,0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity 600ms ease, visibility 600ms ease;
		backdrop-filter: blur(5px);
	}

	.is_popup .popup{
		opacity: 1;
		visibility: visible;
	}
	.popup-contents{
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		top:0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.popup-player-box{
		position: relative;
		width: 100%;
		height: 100%;
	}
	.popup-player-box iframe{
		width: 100%;
		height: 100%;
	}
	.popup-overlay{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}


	.btn-close-popup{
		display: flex;
		position: absolute;
		justify-content: center;
		margin: auto;
		left: 0;
		right: 0;
		bottom: -80px;
		align-items: center;
		width: 41px;
		height: 41px;
		border: 1px solid rgba(255,255,255,0.3);
		border-radius: 20px;
		background: none;
		transition: background 600ms ease;
		z-index: 100;
	}
	.btn-close-popup svg{
		width: 12px;
		height: 12px;
	}
	.popup-kv .btn-close-popup-brand{
		display: none;
	}


	.popup-player-box iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
		transition: clip-path 600ms ease;
	}
	.popup-player-box iframe.is_show_movie {
		clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	}
	.popup-player-box iframe.is_show_movie.is_hide_movie{
		clip-path: polygon(0 0, 100% 0%, 100% 0, 0 0);
	}



	.popup-brand .btn-close-popup{
		display: none;
	}
	.popup-brand .btn-close-popup-brand{
		display: flex;
		position: absolute;
		justify-content: center;
		margin: auto;
		top: -52px;
		right: 25px;
		align-items: center;
		width: 40px;
		height: 40px;
		background: #CC0000;
		transition: background 600ms ease;
		z-index: 100;
		border: none;
		cursor: pointer;
	}
	.popup-player-box.popup-brand iframe{
		clip-path:none;
		display: none;
	}
	.popup-player-box.popup-brand iframe.is_show_movie{
		clip-path:none;
		display: block;
	}




/* kv
===============================================================*/

	.brand-kv{
		position: relative;
		height: calc(100svh - 65px);
	}
	.brand-kv-player,
	.brand-kv-player *{
		height: 100%;
	}
	.brand-kv-player video{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.brand-kv__title{
		position: absolute;
		top: 50%;
		left: 50%;
		text-align: center;
		width: 100%;
		padding: 0 15px;
		transform: translate(-50%,-50%);
		z-index: 100;
		color: #fff;
	}
	.brand-kv__title h1{
		font-size: 26px;
	}
	.brand-kv__title p{
		margin: 25px 0 0;
		line-height: 1.6;
		font-size: 16px;
	}

	.brand-kv__play{
		position: absolute;
		right: 20px;
		bottom: 20px;
		width: 112px;
		height: 36px;
	}
	.brand-kv__play button.brand-kv__play-btn{
		width: 100%;
		height: 100%;
		background: rgba(255,255,255,0.3);
		color: #fff;
		border-radius: 2px;
	}
	.brand-kv__play button.brand-kv__play-btn span{
		position: relative;
		display: inline-block;
		font-size: 10px;
		padding: 0 22px 0 0;
	}
	.brand-kv__play button.brand-kv__play-btn span:after{
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 5px;
		height: 10px;
		background: url(../img/arrow_r_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}

	.brand-kv__scroll{
		position: absolute;
		left: 20px;
		bottom: 20px;
	}
	.brand-kv__scroll button{
		transition: opacity 600ms ease;
	}
	.brand-kv__scroll button.brand-kv__scroll-btn span{
		position: relative;
		display: inline-block;
		font-size: 12px;
		padding: 0 0 0 20px;
		color: #fff;
	}

	@keyframes motion-scroll{
		0%{
			transform: translateY(0);
			opacity: 1;
		}
		30%{
			transform: translateY(100%);
			opacity: 0;
		}
		50%{
			transform: translateY(-100%);
			opacity: 0;
		}
		60%{
			transform: translateY(-100%);
			opacity: 0;
		}
		100%{
			transform: translateY(0);
			opacity: 1;
		}
	}

	.brand-kv__scroll button.brand-kv__scroll-btn span:after{
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -5px;
		display: block;
		width: 10px;
		height: 10px;
		background: url(../img/arrow_scr.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		animation: motion-scroll cubic-bezier(.43,.05,.17,1) 2s 2s infinite;
	}


/* brand-nav
===============================================================*/

	.brand-nav{
		position: relative;
		padding: 40px 0;
	}
	.brand-nav:after{
		content: "";
		position: absolute;
		left: 0;
		top: 100%;
		display: block;
		width: 100%;
		height: 624px;
		background: linear-gradient(to bottom, #000 50%, transparent 100%);
		opacity: 0.3;
	}
	.brand-nav ul{
		margin: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.brand-nav ul li{
		padding: 0 15px;
		width: 50%;
	}
	.brand-nav ul li:nth-child(n+3){
		margin-top: 30px;
	}

	.brand-nav ul button{
		width: 100%;
		color: #fff;
		font-size: 14px;
		line-height: 1.5;
		text-align: center;
	}
	.brand-nav ul button span{
		position: relative;
		display: inline-block;
		padding: 0 0 15px;
	}
	.brand-nav ul button span:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		right: 0;
		left: 0;
		bottom: 0;
		width: 14px;
		height: 8px;
		background: url(../img/arrow_d_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		z-index: 100;
		transition: transform 600ms ease;
	}


	@keyframes motionArrow{
		0%{
			transform: translateY(0);
		}
		50%{
			transform: translateY(10px);
		}
		100%{
			transform: translateY(0);
		}
	}

	.brand-nav.is_motion ul li:nth-child(1) button span:after{
		animation: motionArrow 600ms linear 1;
	}


	.brand-nav ul li:nth-child(1) button span:before{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		right: 0;
		left: 0;
		bottom: 16px;
		width: 100%;
		height: 1px;
		background: rgba(255,255,255,0.5);
		transform: scale(0, 1);
		transform-origin: top left;
		transition: transform 1200ms ease;
	}
	.brand-nav.is_motion ul li:nth-child(1) button span:before{
		transform: scale(1, 1);
	}


	


/* brand-slogan
===============================================================*/

	#brand-slogan{
		position: relative;
		color: #fff;
		padding: 80px 0;
		text-align: center;
		overflow: hidden;
		z-index: 10;
	}
	.brand-slogan-lead p{
		line-height: 2;
		font-size: 12px;
	}
	.brand-slogan-lead p + p{
		margin-top: 26px;
	}
	.logo-sticky-area{
		height: 200vh;
		padding: 150px 0 0;
	}
	.motion-logo-sticky{
		position: sticky;
		margin: auto;
		max-width: 1080px;
		top: 50%;
		transform: translateY(-50%);
	}
	.brand-slogan__header{
		color: #fff;
		padding: 0 25px;
		text-align: left;
		margin: 0 auto 60px;
	}
	.brand-slogan__header h2{
		font-size: 20px;
	}
	.brand-slogan__header-lead{
		margin: 25px auto 0;
	}
	.brand-slogan__header-lead p{
		font-size: 14px;
		line-height: calc(22/14);
	}
	.brand-slogan__header h2{
		font-size: 18px;
		line-height: 1.5;
	}
	.brand-slogan__header-lead{
		margin: 25px auto 0;
		line-height: calc(22/14);
	}
	#motion-logo-sp{
		position: relative;
		margin: auto;
		max-width: 340px;
	}


/* brand-slogan-statement
===============================================================*/
	.brand-slogan-statement{
		padding: 0 25px 80px;
		line-height: 2;
		color: #fff;
	}
	.brand-slogan-statement__header h2{
		font-size: 18px;
		text-align: center;
	}
	.brand-slogan-statement__lead{
		margin: 20px 0 0;
	}
	.brand-slogan-statement__lead p{
		font-size: 14px;
		line-height: calc(26/14);
	}

/* brand-value
===============================================================*/

	#brand-value{
		padding: 80px 25px;
	}
	.brand-value__list-item-wrap{
		position: relative;
		color: #fff;
	}
	.brand-value__list-item-wrap + .brand-value__list-item-wrap{
		margin-top: 16px;
	}
	.brand-value__list-item-wrap-in{
		position: relative;
		padding: 30px 0 40px;
		background: rgba(0,0,0,0.4);
	}
	.brand-value__list-item{
		position: relative;
		color: #fff;
	}

	.brand-value__item-header{
		padding: 0 30px;
		height: auto !important;
	}
	.brand-value__item-header h2{
		font-size: 24px;
		line-height: 1.5;
	}
	.brand-value__item-header h3{
		margin-top: 5px;
		font-size: 16px;
		line-height: 1.5;
	}

	.brand-value__list-item{
		position: relative;
		color: #fff;
		height: 380px;
	  -webkit-mask-image: linear-gradient(to bottom, #fff 75%, transparent 92%);
	  -webkit-mask-repeat: no-repeat;
	  -webkit-mask-size: 100% 100%;
	  transition: all 400ms ease;
	}
	.brand-value__list-item.is_show{
	  -webkit-mask-size: 100% 180%;
	}

	.brand-value__list-item-box-inner{
		position: relative;
		display: flex;
		flex-direction: column;
		padding: 0 30px 30px;
		width: 100%;
		height: 100%;
	}

	.brand-value__list-button{
		display: none;
	}

	.brand-value__list-item-button{
		position: absolute;
		display: flex;
		align-items: center;
		left: 0;
		bottom: 20px;
		width: 100%;
		height: 40px;
	}
	.brand-value__list-item-button button{
		position: relative;
		margin: auto;
		width: 345px;
		height: 40px;
		color: #fff;
	}

	.brand-value__list-item-button button em{
		position: relative;
		display: inline-block;
		width: 14px;
		height: 8px;
	}
	.brand-value__list-item-button button em:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		width: 14px;
		height: 8px;
		background: url(../img/arrow_d_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		z-index: 100;
		transition: transform 600ms ease;
	}
	.brand-value__list-item-button button.is_click em:after{
		transform: rotate(-180deg);
	}

	.brand-value__item-lead{
		margin: 15px 0 0;
	}

	.brand-value__item-lead p{
		line-height: calc(26/14);
	}
	.brand-value__item-lead p + p{
		margin-top: 5px;
	}
	.brand-value__item-figure{
		margin: 25px auto 0;
		max-width: 280px;
	}

	.brand-value__list-item-wrap-in{
		opacity: 0;
		transition: opacity 600ms ease;		
	}
	.brand-value__list-item-wrap.is_show_item .brand-value__list-item-wrap-in{
		opacity: 1;
	}
	.brand-value__list .svg-rect{
		display: none;
	}


/* brand-movie
===============================================================*/

	.brand-movie--pc{
		display: none;
	}
	#brand-movie{
		padding: 80px 25px;
	}
	.brand-movie__wrap{
		position: relative;
		margin: 40px auto 0;
	}
	.brand-movie__inner{
		position: relative;
		margin: auto;
		width: 100%;
	}

	.brand-movie__header{
		margin: auto;
		color: #fff;
		transition: color 600ms ease;
	}
	.brand-movie__header h2{
		font-size: 18px;
		line-height: 1.5;
	}
	.brand-movie__lead{
		margin: 25px auto 0;
		max-width: 1080px;
	}
	.brand-movie__lead p{
		font-size: 14px;
		line-height: calc(22/14);
		color: #fff;
		transition: color 600ms ease;
	}
	.inversion .brand-movie__header,
	.inversion .brand-movie__lead p{
		color: #000;
	}

	.brand-movie__list-item{
		position: relative;
		height: 45px;
		overflow: hidden;
		transition: height 400ms ease;
	}
	.brand-movie__list-item--blank{
		height: 32px;
	}
	.brand-movie__list-item + .brand-movie__list-item{
		margin-top: 10px;
	}
	.brand-movie__list-item .brand-movie__thumb{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
		height: auto;
		overflow: hidden;
		transition: opacity 600ms ease;
		z-index: 50;
	}
	.brand-movie__list-item .brand-movie__player{
		position: relative;
		overflow: hidden;
		transition: opacity 600ms ease;
		z-index: 10;
	}
	.brand-movie__list-item .brand-movie__thumb:after,
	.brand-movie__list-item .brand-movie__player:after{
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.3);
		z-index: 70;
	}



	.brand-movie__player video{
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}
	.brand-movie__list-item .brand-movie__thumb img{
		width: 100%;
		height: 100%;
		width: 100%;
		aspect-ratio: 16 / 9;
		max-width: inherit;
		will-change: opacity;

	}
	.brand-movie__list-item.is_on .brand-movie__thumb{
		opacity: 0;
	}

	.brand-movie__blank-thumb{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #333333;
		opacity: 0.6;
	}

	.brand-movie__list button{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		z-index: 90;
	}

	.brand-movie__list-item-txt{
		position: absolute;
		display: flex;
		align-items: center;
		top: 0;
		left: 0;
		padding: 0 15px;
		z-index: 10;
		width: 100%;
		height: 45px;
		text-align: left;
		z-index: 100;
	}
	.brand-movie__list-item--blank .brand-movie__list-item-txt{
		height: 100%;
	}
	.brand-movie__list-item-txt h3{
		font-size: 16px;
		color: #fff;
	}
	.brand-movie__list-item-txt h3 .t2{
		display: none;
	}

	.brand-movie__arrow{
		position: absolute;
		display: flex;
		align-items: center;
		top: 0;
		right: 0;
		z-index: 10;
		height: 45px;
		width: 45px;
		z-index: 100;
	}
	.brand-movie__arrow:before,
	.brand-movie__arrow:after{
		content: "";
		position: absolute;
		margin: auto;
		left: 0;
		top: 0;
		bottom: 0;
		right: 0;
		display: block;
		width: 14px;
		height: 1px;
		background: #fff;
		transition: transform 600ms ease;
		will-change: transform;
	}
	.brand-movie__arrow:after{
		transform: rotate(90deg);
	}
	.brand-movie__list-item.is_on .brand-movie__arrow:after{
		transform: rotate(0);
	}
	.brand-movie__list-item .brand-movie__player:before{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		right: 18px;
		bottom: 15px;
		width: 8px;
		height: 14px;
		background: url(../img/arrow_r_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		z-index: 100;
	}

	.brand-movie__catch{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		padding: 0 15px;
		z-index: 60;
		aspect-ratio: 16 / 9;
		display: flex;
		align-items: center;
	}
	.brand-movie__catch h4{
		position: relative;
		font-size: min(16px,4.26vw);
		color: #fff;
		line-height: 1.5;
	}


	.brand-movie__btm-link{
		display: flex;
		margin: 30px 0 0;
		justify-content: flex-end;
	}
	.brand-movie__btm-link a{
		position: relative;
		display: inline-block;
		font-size: 14px;
	}
	.brand-movie__btm-link a span{
		position: relative;
		padding: 0 20px 0 0;
		display: inline-block;
	}
	.brand-movie__btm-link a span:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		width: 8px;
		height: 14px;
		background: url(../img/arrow_r_bk.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		z-index: 100;
	}



/* brand-discover
===============================================================*/

	#brand-discover{
		position: relative;
		padding: 80px 25px 0;
		overflow: hidden;
	}
	.brand-discover__header h2{
		font-size: 18px;
		line-height: 1.5;
	}
	.brand-discover__logo{
		text-align: right;
		display: block;
	}
	.brand-discover__logo img{
	  width: min(185px,49.3vw);
	}
	.brand-discover__logo a{
		position: relative;
		padding: 0 15px 0 0;
		display: inline-block;
	}
	.brand-discover__logo a:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		width: 8px;
		height: 14px;
		background: url(../img/arrow_r_bk.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		z-index: 100;
	}
	.brand-discover__lead{
		margin: 25px 0 0;
	}
	.brand-discover__lead-txt{
		line-height: 2;
	}
	.brand-discover__lead-txt p{
		font-size: 14px;
	}
	.brand-discover__detail{
		position: relative;
		margin: 30px 0 0;
	}
	.brand-discover__detail ul li + li{
		margin-top: 45px;
	}
	.brand-discover__detail ul li a{
		display: block;
	}
	.brand-discover__detail ul li .brand-discover__item-txt{
		margin: 20px 0 0;
	}
	.brand-discover__detail ul li .brand-discover__item-cat{
		display: inline-block;
		font-size: 14px;
		padding: 4px 10px;
		border: 1px solid rgba(0,0,0,0.3);
		transition: border 600ms ease;
	}
	.brand-discover__detail ul li h3{
		margin: 10px 0 0;
		font-size: 14px;
		line-height: 2;
	}

	.brand-discover__contents{
		color: #000;
		transition: color 600ms ease;
	}
	.brand-discover__lead{
		color: #000;
		transition: color 600ms ease;
	}
	.brand-discover__detail a{
		color: #000;
		transition: color 600ms ease;
	}
	body.inversion-discover-txt .brand-discover__lead{
		color: #fff;
	}
	body.inversion-discover-txt .brand-discover__contents{
		color: #fff;
	}
	body.inversion-discover-txt .brand-discover__detail a{
		color: #fff;
	}
	body.inversion-discover-txt .brand-discover__detail ul li .brand-discover__item-cat{
		border: 1px solid #fff;
	}



/* brand-genten
===============================================================*/

	#brand-genten{
		padding: 20px 0 0;
	}
	#brand-genten{
		position: relative;
		z-index: -1;
		margin: -200px 0 0;
	}

	.brand-genten__contents{
		margin: auto;
		color: #fff;
		mask-image: url(../img/gra_msk_genten.png);
		mask-size: cover;
		mask-repeat: no-repeat;
		mask-position: center;
	}
	.brand-genten__contents-inner{
		position: relative;
		padding: 970px 0 0;
		background: #000;
	}
	.brand-genten__detail-wrap{
		position: relative;
		z-index: 50;
		padding: 80px 25px 150px;
		background: linear-gradient(to bottom, transparent 0%, #000 30%);
	}

	.brand-genten__header h2{
		font-size: 18px;
		line-height: 1.5;
	}
	.brand-genten__lead{
		margin: 25px 0 0;
	}
	.brand-genten__lead p{
		line-height: calc(22/14);
	}

	.brand-genten__detail{
		margin: 37px 0 0;
	}
	.brand-genten__list{
		margin: 55px 0 0;
	}

	.brand-genten__list li + li{
		margin-top: 55px;
	}
	.brand-genten__list-item a{
		color: #fff;
	}

	.brand-genten__list-item dl dt{
		position: relative;
		font-size: 16px;
		padding: 0 0 14px;
		overflow: hidden;
	}
	.brand-genten__list-item dl dt:after{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		display: block;
		width: 100%;
		height: 1px;
		background: rgba(255,255,255,0.5);
		transform: scale(1, 1);
		transform-origin: top left;
	}
	.brand-genten__list-item dl dt span{
		position: relative;
		display: block;
		padding: 0 30px 0 0;
	}
	.brand-genten__list-item dl dt span:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 0;
		bottom: 0;
		width: 7px;
		height: 14px;
		background: url(../img/arrow_r_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.brand-genten__list-item dl dd{
		margin: 10px 0 0;
		line-height: calc(22/12);
	}

	.bg-slide-inner{
	  transform: perspective(25px) rotateY(1deg);
	 }
	.bg-slide-figure,
	.bg-slide-figure img{
		will-change: transform;
	}
	
	.bg-slide-wrap{
		position: fixed;
		width: 100%;
		top: 50%;
		left:50%;
		transform: translate(-50%,-50%);
		width: 200vh;
		z-index: 30;
	}
	.bg-slide-figure {
	  animation: scroll-left 20s infinite linear .5s both;
	  display: flex;
	}
	@keyframes scroll-left {
	  from {
	    transform: translateX(0);
	  }
	  to {
	    transform: translateX(-50%);
	  }
	}

/* brand-logo
===============================================================*/

	#brand-logo-area{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 218px 20px 318px;
		background: #000;
		z-index: 50;
	}
	.brand-logo{
		margin: auto;
		max-width: 330px;
	}


/* obj-square
===============================================================*/
	.obj-square-wrap{
		display: none;
	}

	.obj-square-wrap-sp{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		z-index: 10;
	}

	.obj-square{
		position: fixed;
		top: 0;
		z-index: 1;
		transition: border 400ms ease, background 400ms ease, opacity 400ms ease;
	}
	.obj-square-discover-sp{
		position: fixed;
		right: 50%;
		transition: border 400ms ease, background 400ms ease, opacity 400ms ease;
	}

	.obj-square-l{
		left: 50%;
	}
	.obj-square-r{
		right: 50%;
	}

	.obj-square-line1{
		border: 0.5px solid #fff;
		opacity: 0.5;
	}
	.obj-square-line2{
		border: 0.5px solid #fff;
		opacity: 0.5;
	}
	.obj-square-line3{
		border: 0.5px solid #fff;
		opacity: 0;
	}
	.obj-square-color1{
		background: #21004F;
		opacity: 0.5;
	}
	.obj-square-color2{
		background: #520038;
		opacity: 0.5;
	}
	.obj-square-color3{
		background: #FF640F;
		opacity: 0;
	}


	.inversion .obj-square-line1{
		border: 0.5px solid #FF640F;
		opacity: 0.5;
	}
	.inversion .obj-square-line2{
		border: 0.5px solid #615B8E;
		opacity: 0.5;
	}
	.inversion .obj-square-color1{
		background: #fff;
		opacity: 0.2;
	}
	.inversion .obj-square-color2{
		background: #fff;
		opacity: 0.27;
	}

	.inversion-discover.inversion .obj-square-line3{
		border: 1px solid #FF640F;
		opacity: 0.8;
	}
	.inversion-discover.inversion .obj-square-color3{
		background: #FF640F;
		opacity: 0.8;
	}
	
	.btn-pagetop{
		position: fixed;
		right: 10px;
		bottom: 10px;
		width: 100px;
		height: 36px;
		z-index: 5000;
	}
	.btn-pagetop button{
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.4);
		border: none;
		border-radius: 2px;
		color: #fff;
	}
	.btn-pagetop button span{
		position: relative;
		display: inline-block;
		font-size: 12px;
		padding: 0 25px 0 0;
	}
	.btn-pagetop button span:after{
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 10px;
		height: 5px;
		background: url(../img/arrow_pt.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}





}


@media screen and (max-width: 374px){


  #brand-value{
		padding: 80px 15px;
  }
	.brand-value__list-item-box-inner{
		padding: 15px;
	}
  #brand-movie {
    padding: 80px 15px;
  }
  #brand-challenge {
    padding: 80px 15px;
  }
  #brand-discover {
    padding: 80px 15px;
  }
  #brand-genten__detail-wrap {
    padding: 80px 15px 200px;
  }
}




