@charset 'UTF-8';
/* -------------------------------------------------------- html & body */
html {
	position: relative;
}
div.menu-button {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 4rem;
	height: 4rem;
	z-index: 9999;
}
div.menu-button:after {
	position: absolute;
	content: "MENU";
	bottom: -1rem;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1.0rem;
}
div.menu-button.active:after {
	content: "CLOSE";
}
div.menu-button button.menu-button-trigger { /* reset */
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: none; /* border: 0.1rem solid #1c3c55; */
	border-radius: 0.2rem;
	box-sizing: border-box;
	width: 4rem;
	height: 4rem;
	position: relative;
	cursor: pointer;
	transition: 0.25s all;
}
div.menu-button button.menu-button-trigger:hover { /* background: #f0f0f0; */
}
div.menu-button button.menu-button-trigger span {
	position: absolute;
	left: 0;
	display: inline-block;
	box-sizing: border-box;
	width: 2rem;
	height: 0.2rem;
	transition: all .4s;
	background: #1c3c55;
}
div.menu-button button.menu-button-trigger span:nth-of-type(1) {
	top: 1.3rem;
	left: 1rem;
}
div.menu-button button.menu-button-trigger span:nth-of-type(2) {
	top: 1.9rem;
	left: 1rem;
}
div.menu-button button.menu-button-trigger span:nth-of-type(3) {
	bottom: 1.3rem;
	left: 1rem;
}
div.menu-button.active button.menu-button-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(0.6rem) rotate(-45deg);
	transform: translateY(0.6rem) rotate(-45deg);
}
div.menu-button.active button.menu-button-trigger span:nth-of-type(2) {
	opacity: 0;
}
div.menu-button.active button.menu-button-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-0.6rem) rotate(45deg);
	transform: translateY(-0.6rem) rotate(45deg);
}
section.keyvisual {
 width: calc(100vw - (100vw - 100%));
	height: 100vh;
	position: relative;
	background: #f4f5f6;
	overflow: hidden;
	z-index: 1;
}
div.copy {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 5vw;
	top: 2%;
	right: 2%;
	position: absolute;
	z-index: 10000;
}
section.keyvisual div.keyvisual {
	position: absolute;
	top: 0;
	left: 50vw;
 width: calc(50vw - (100vw - 100%));
	height: 100vh;
	overflow: hidden;
	z-index: 1;
}
section.keyvisual img {
	position: relative;
	height: 100vh;
	max-width: inherit !important;
	width: auto !important;
	z-index: 1;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
section.keyvisual div.keyvisual-wrap {
	width: 78.44104588061174vh;
	height: 100vh;
	background-image: linear-gradient(90deg, rgba(115, 248, 224, 1), rgba(150, 167, 241, 1));
	background-size: 200% 200%;
	animation: bggradient 5s ease infinite;
}
 @keyframes bggradient {
 0% {
 background-position: 0% 50%;
}
 50% {
 background-position: 100% 50%;
}
 100% {
 background-position: 0% 50%;
}
}
section.keyvisual div.inner {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateX(0) translateY(-50%);
	-webkit-transform: translateX(0) translateY(-50%);
	width: 50%;
	max-width: inherit !important;
	color: #2b2626;
	font-size: clamp(2.6rem, 3.0vw, 3.8rem);
	letter-spacing: 0.25rem;
	z-index: 2;
}
section.keyvisual div.inner > div.title-wrap {
	box-sizing: border-box;
	padding: 4rem;
	position: relative;
	height: 100vh;
}
section.keyvisual div.title {
	position: absolute;
	top: 50%;
	left: 4rem;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	text-align: left;/* margin-bottom: 4rem; */
}
section.keyvisual div.title div.name {
	position: relative;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
}
section.keyvisual div.title div.name:after {
/* width: 3rem;
	height: 0.125rem;
	background: #202020;
	content: "";
	position: absolute;
	bottom: 0;
	left: 0; */
}
section.keyvisual div.title div.name div.ja h1 {
	font-size: clamp(2.6rem, 3.0vw, 3.8rem);
	letter-spacing: 0.25rem;
}
section.keyvisual div.title div.name div.en {
	font-size: clamp(0.8rem, 1.0vw, 1.4rem);
	letter-spacing: 0.35rem;
	color: #666;
}
section.keyvisual div.title div.site-title {
	white-space: nowrap;
	position: relative;
}
section.keyvisual div.title div.site-title span.label {
	display: inline-block;
	/* background: #202020; */
	padding: 0 1.5rem;
	border-radius: 1000rem;
	color: #202020;
	border: 0.1rem solid #202020;
	font-size: clamp(0.8rem, 0.6vw, 1.0rem);
	vertical-align: middle;
	top: -1.5em;
	right: 3em;/* transform: rotate(5deg);
	-webkit-transform: rotate(5deg); */
	display: none;
}
section.keyvisual div.title div.site-title span.label:after {
/* content: "";
	  position: absolute;
	  bottom: -0.45em;
	  left: 50%;
	  width: 0.75rem;
	  aspect-ratio: 1 / 1;
	  clip-path: polygon(0 0, 100% 50%, 0 100%);
	  background: #000;
	transform: translateX(-50%) rotate(90deg);
	-webkit-transform: translateX(-50%) rotate(90deg); */
}
section.keyvisual div.title div.site-title span {
	display: block;
	vertical-align: middle;
}
section.keyvisual div.color-bar {
	margin-top: 2rem;
}
section.keyvisual div.color-bar span {
	width: 2rem;
	height: 0.125rem;
	line-height: 2rem;
	text-align: center;
	background: #660066;
	color: #6b9583;
	font-size: 0;
	display: inline-block;
}
/* section.keyvisual div.color-bar span:nth-child(1) {
	background: #DAB88B;
}
section.keyvisual div.color-bar span:nth-child(2) {
	background: #3AA6B9;
}
section.keyvisual div.color-bar span:nth-child(3) {
	background: #6b9583;
}
section.keyvisual div.color-bar span:nth-child(4) {
	background: #B7CADB;
}
section.keyvisual div.color-bar span:nth-child(5) {
}
section.keyvisual div.color-bar span:nth-child(6) {
	background: #E6B9A6;
}
section.keyvisual div.color-bar span:nth-child(7) {
	background: #fff;
}
section.keyvisual div.color-bar span:nth-child(8) {
	background: #f6f6f6;
}
section.keyvisual div.color-bar span:nth-child(9) {
	background: #6b9583;
}
section.keyvisual div.color-bar span:nth-child(10) {
	background: #01937C;
}
section.keyvisual div.color-bar span:nth-child(11) {
}
section.keyvisual div.color-bar span:nth-child(12) {
	background: #2F3645;
} */
section.keyvisual div.profile {
	position: absolute;
	bottom: 4rem;
	left: 4rem;
	width: calc(100% - 8rem);
	font-size: clamp(1.2rem, 1.0vw, 1.4rem);
	text-indent: 1em;
}
section.keyvisual div.profile:before {
/* content: "";
	position: absolute;
	top: 0.45em;
	left: 0em;
	width: 0.75rem;
	aspect-ratio: 1 / 1;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background: #6b9583; */
}
section.keyvisual div.profile table th, section.keyvisual div.profile table td {
	font-size: clamp(1.2rem, 1.0vw, 1.4rem);
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
	border-bottom: 0.1rem solid #666;
	white-space: nowrap;
}
section.keyvisual div.profile table tr:first-child th, section.keyvisual div.profile table tr:first-child td {
	border-top: 0.1rem solid #666;
}
section.keyvisual div.profile table tr th {
	/* color: #660066; */
	text-align: left;
}
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/

section.introduction {
 width: calc(100vw - (100vw - 100%));
	position: relative;
	/* background: #50bbe8; */
	z-index: 2;
}
section.introduction:before {
 width: calc(100vw - (100vw - 100%));
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	height: 10%;
	background: #101010;
	z-index: 1000;
}
section.introduction:after {
 width: calc(100vw - (100vw - 100%));
	position: absolute;
	content: "";
	height: 10%;
	background: #101010;
	bottom: 0;
	left: 0;
	z-index: 1000;
}
section.introduction div.self-introduction {
	position: absolute;
	top: 20%;
	left: 8rem;
	width: 16%;
	height: 16%;
	z-index: 1000;
}
section.introduction div.self-introduction img {
	width: 100%;
	animation: rotate-label 10s linear infinite;
}
 @keyframes rotate-label {
 to {
 transform:rotate(-2turn);
}
}
section.introduction div.description-wrapper {
	position: absolute;
	top: 60%;
	left: 6rem;
	/* background: rgba(206,101,131,0.75); */
	/* background: rgba(255,255,255,0.75); */
	z-index: 1000;
	width: calc(47.5% - 8rem);
	padding: 4rem;
	box-sizing: border-box;
	max-height: calc(100% - 8rem);
	overflow: hidden;
	color: #202020;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	color: #ffe911;
}
section.introduction div.description-wrapper div.description {
	width: calc(100% + 6rem);
	padding-right: 4rem;
	box-sizing: border-box;
	line-height: 2;
 height:;
	overflow-y: scroll;/* -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; */
}
section.introduction .view-dimensions {
	width: 100% !important;
	height: 50vw !important;
}
section.introduction .video-js .vjs-tech {
	height: auto !important;
}
section.introduction video {
	width: 100% !important;
}
section.introduction div.bike {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 52.5%;
	z-index: 2;
}
section.introduction div.bike > img {
	position: relative;
	z-index: 2;
	animation: bound 3s infinite;
}
 @keyframes bound {
 0% {
transform:translateY(0)
}
 5% {
transform:translateY(0)
}
 15% {
transform:translateY(0)
}
 20% {
transform:translateY(-1.0rem)
}
 25% {
transform:translateY(0)
}
 30% {
transform:translateY(-0.3rem)
}
 50% {
transform:translateY(0)
}
 100% {
transform:translateY(0)
}
}
section.introduction div.bike div.tire.front {
	position: absolute;
	bottom: 2.3%;
	left: 2.2%;
	width: 24.69%;
	z-index: 1;
}
section.introduction div.bike div.tire.rear {
	position: absolute;
	bottom: 2.3%;
	right: 8.75%;
	width: 24.69%;
	z-index: 1;
}
section.introduction div.bike div.tire img {
	animation: tire 2s linear infinite;
}
 @keyframes tire {
 to {
 transform:rotate(-2turn);
}
}
section.introduction .scroll-wrapper {
 width: calc(100vw - (100vw - 100%));
	overflow: hidden;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}
section.introduction .scroll-container {
	display: flex;
	white-space: nowrap;
	width: 200vw;
}
section.introduction .scroll-container img {
	width: 100vw;
	height: auto;
	position: relative;
	left: -100vw;
	flex-shrink: 0;
}
section.introduction div.video-wrapper {
	overflow: hidden;
	position: relative;
}
section.introduction div.video-wrapper:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	/* background: rgba(0,0,0,0.75); */
	background-image: radial-gradient(#000 1%, transparent 100%);
	background-color: #fff;
	background-position: 0 0;
	background-size: 0.25rem 0.25rem;
	mix-blend-mode: multiply;
}
section.introduction div.video-wrapper video {
	width: 100%;
}
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/

section.feature {
	background: #50bbe8;
	z-index: 2;
	background: #ccc;
	overflow: hidden;
}
section.feature div.inner {
	position: relative;
	/* 	top: 0;
	left: 0;
	transform: translateX(0) translateY(0);
	-webkit-transform: translateX(0) translateY(0); */
	max-width: inherit !important;
	display: flex;
	flex-wrap: nowrap;
}
section.feature div.visual {
	width: 50%;
}
section.feature div.feature-content-wrapper {
	width: 50%;
	position: relative;
}
section.feature div.feature-content-wrapper div.list {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
section.feature div.list ul li {
	box-sizing: border-box;
	/* padding-left: 1em;
	padding-right: 1em; */
	margin-left: 1rem;
	margin-right: 1rem;
	position: relative;
	height: auto !important;
}
section.feature div.list ul li a {
	display: block;
	color: #000;
}
section.feature div.list ul li div.thumbnail {
	overflow: hidden;
	width: 100%; /* height: 250px; */
}
section.feature div.list ul li div.thumbnail span {
	display: block;
	width: 100%;
	/* padding-top: 159.25925%;  */
	padding-top: 100%;
	position: relative;
	background: #fff;
	border-radius: 1000rem;
}
section.feature div.list ul li div.thumbnail span img {
	/* max-height: 95%; */
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transition: all 0.2s ease 0s;
}
section.feature div.list ul li a:hover div.thumbnail span img {
	opacity: 0.75; /* max-height: 100%; */
}
/* */
section.feature div.list div.information {
	padding: 15px;
	padding-left: 0;
	padding-right: 0;
}
section.feature div.list div.position {
	margin-bottom: 0.25em;
}
section.feature div.list div.name {
	white-space: nowrap;
}
section.feature div.list div.name span.kanji {
	margin-bottom: 0.125em;
	display: inline-block;
}
/* 縺ｵ繧翫′縺ｪ furigana */
section.feature div.list div.name span.furigana {
	display: inline-block;
}
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/

section.signal {
	position: relative;
}
section.signal > img {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 50000;
}
section.signal div.signal-bg img {
	width: 100%;
}
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --*/

section.drive {
	position: relative;
	box-sizing: border-box;
	border: 10rem solid #202020;
}
section.drive div.inner img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
 width: calc(100vw - (100vw - 100%));
	height: calc(100%);
}
section.drive div.video-wrapper img {
	width: 100%;
}
section.skill {
 width: calc(100vw - (100vw - 100%));
	height: 100vh;
	position: relative;
	z-index: 2;
	overflow: hidden;
}
section.skill div.figure {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	width: 100%
}
section.skill div.figure img {
	width: 100%;
	height: auto;
}
section.skill div.skill-set {
	position: absolute;
	top: 4rem;
	left: 4rem;
	z-index: 1000;
}
section.skill div.skill-set table th, section.skill div.skill-set table td {
	font-size: clamp(1.2rem, 1.0vw, 1.4rem);
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
	border-bottom: 0.1rem solid #666;
	text-align: left;
}
section.skill div.skill-set table tr:first-child th, section.skill div.skill-set table tr:first-child td {
	border-top: 0.1rem solid #666;
	text-align: left;
}
section.skill div.skill-set table tr:first-child th {
	/* color: #660066; */
	text-align: left;
}

/* */
section.illustration {
	
}

section.illustration h1 {
	font-size: clamp(2.6rem, 3.0vw, 3.8rem);
	padding: 4rem;
}

