@charset "UTF-8";
/*
	Reset CSS
-----------------------------------------------------------------------------------------------*/
/***
    The new CSS reset - version 1.7.3 (last updated 7.8.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)){
	all: unset;
	display: revert;
}
*,*::before,*::after{
	box-sizing: border-box;
}
a, button{
	cursor: revert;
}
ol, ul, menu{
	list-style: none;
}
img{
	max-width: 100%;
	vertical-align: top;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
input, textarea{
	-webkit-user-select: auto;
}
textarea{
	white-space: revert;
}
meter{
	-webkit-appearance: revert;
	appearance: revert;
}
::placeholder{
	color: unset;
}
:where([hidden]){
	display: none;
}
:where([contenteditable]:not([contenteditable="false"])){
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	-webkit-user-select: auto;
}
:where([draggable="true"]){
	-webkit-user-drag: element;
}
/*
	Setting CSS
-----------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
html{
	font-size: 62.5%;
}
body{
	color:#fff;
	font-size: 1.9em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	letter-spacing: 0.1rem;
	font-feature-settings: "pkna";
	background: #fff;
	overflow-wrap: break-word;
}
p{
	line-height: 170%;
	font-size: 1.6rem;
}
figure{
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
figcaption{
	line-height: 150%;
}
a{
	color:#fff;
	text-decoration:none;
	transition: all 0.3s;
}
a:link{
	color:#fff;
}
a:visited{
	color:#fff;
}
a:hover{
	text-decoration:none;
}
/* @media print, screen and (min-width:813px){
	/* iPad背景切れ対策 
	body{
		width: 100%;
	}
	/* tel pcのみ無効
	a[href^="tel:"]{
		pointer-events: none;
	}
} */
/* 表示切替 */
.switch{
	visibility: hidden;
}
.sp{
	display: none;
}
@media screen and (max-width:812px){
	body{
		-webkit-text-size-adjust:100%;
		font-size: 1.6rem;
	}
	img{
		width:100%;
	}
	p{
		line-height: 150%;
		font-size: 1.4rem;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}
}
/* web font */
@font-face {
	font-family: "Noto Serif JP";
	font-weight: 500;
	src: url("/asset/fonts/NotoSerifJP-Medium.otf") format("opentype");
}
@font-face {
	font-family: "Noto Serif JP";
	font-weight: 400;
	src: url("/asset/fonts/NotoSerifJP-Regular.otf") format("opentype");
}
/*
	common
-----------------------------------------------------------------------------------------------*/
:root{
	/* color */
	--red: #ce1400;
	/* font-weight */
	--medium: 500;
}
.ctsArea{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1140px;
	margin: 0 auto;
	padding: 100px 20px;
	text-align: center;
}
.oneBox{
	width: 100%;
}
 /* h2 タイトル */
.ttl{
	margin: 0 auto;
	margin-bottom: 30px;
	position: relative;
	transition: all .3s;
}
/* h3 サブタイトル */
.subTtl{
	margin: 0 auto 50px auto;
	padding-bottom: 18px;
	font-size: 3.2rem;
	font-weight: var(--medium);
}
.subTtl img{
	height: 40px;
}
/* 背景 フェードイン・アウト */
.one{
	width: 100%;
    min-height: 100vh;
}
.bg{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
	transition: all 0.5s ease 0s;
	z-index: -1;
}
.bg::before{
	content: '';
	width: 100%;
	height: 100%;
	background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7));
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	overflow-x: hidden;
}
.show .bg {
	opacity: 1;
}
/* 左右入れ替え */
.row-reverse{
	flex-direction: row-reverse;
}
/* ボタン */
.btn{
	margin-top: 85px;
	text-shadow: 0 0 5px #000;
}
/* リンクボタン（ページボタンとの共通含む） */
.linkBtn,
.pageBtn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 70px;
	font-size: 1.8rem;
	font-weight: var(--medium);
	border: 1px solid #fff;
	border-radius: 35px;
	position: relative;
	transition: all .6s;
}
.linkBtn::before,
.linkBtn::after{
	content: '';
	height: 1px;
	background: #fff;
	position: absolute;
	transition: all .6s;
}
.linkBtn::before{
	width: 65px;
	bottom: 25px;
	right: -25px;
}
.linkBtn::after{
	width: 13px;
	bottom: 29px;
	right: -27px;
	transform: rotate(45deg);
}
.linkBtn:hover,
.pageBtn:hover{
	color: var(--red);
	border: 1px solid var(--red);
}
.linkBtn:hover::before,
.linkBtn:hover::after{
	background: var(--red);
	transition: all .6s;
}
.linkBtn:hover::before{
	background: var(--red);
	right: -30px;
}
.linkBtn:hover::after{
	background: var(--red);
	right: -32px;
}
/* leonIntroBox・chrisIntroBox・designArea・logoArea・specialBox 共通 */
#leonIntroBox .oneBox,
#chrisIntroBox .oneBox,
.designArea .oneBox,
#specialBox .oneBox{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 30px;
}
.imgBox{
	width: 418px;
	position: relative;
}
.charaImg{
	position: relative;
}
.charaImg img{
	height: 716px;
}
.charaTxtBox{
	text-align: justify;
	position: absolute;
	bottom: 95px;
}
.name{
	margin-bottom: 25px;
	font-size: 2.4rem;
	font-weight: var(--medium);
	line-height: 120%;
}
.name span{
	font-size: 1.8rem;
}
.charaTxt{
	font-size: 1.3rem;
}
.clockBox{
	width: 592px;
}
.clockBox .subTtl,
.clockBox p{
	text-align: justify;
}
.clockBox .subTtl{
	display: block;
	position: relative;
}
.clockBox .subTtl::after{
	content: '';
	width: 1140px;
	height: 1px;
	background-image: linear-gradient(150deg, rgba(206, 20, 0, 0) 38%, rgba(206, 20, 0, 0.9) 46%, rgba(206, 20, 0, 1));
	position: absolute;
	bottom: 0;
	z-index: -1;
}
.clockBox p{
	margin-bottom: 30px;
	font-feature-settings: "palt";
}
.oneBox  .clockBox .clockImg{
	width: 460px;
}
.oneBox .clockImg{
	width: 553px;
	margin: 0 auto;
}
.oneBox .clockImg img{
	width: 100%;
}
/* designArea*/
.designArea.ctsArea{
	flex-wrap: wrap;
	padding-top: 60px;
	gap: 60px 0;
}
.designBox{
	width: 493px;
	text-align: justify;
}
.designTtl{
	margin-bottom: 20px;
	padding-bottom: 8px;
	font-size: 2.8rem;
	font-weight: var(--medium);
	border-bottom: 1px solid var(--red);
}
.designTxt{
	font-size: 1.5rem;
}

/*
	opening
-----------------------------------------------------------------------------------------------*/
#opening{
	display: flex;
	width: 100%;
	height: 100%;
	background: #000;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	/* transition: all 1s; */
}
#opening.is-active{
	opacity: 0;
	visibility: hidden;
}
.opInner{
	z-index: 99;
}
.opInner::before,
.opInner::after{
	content: '';
	width: 80px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0;
}
.opInner::before{
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
}
.opInner::after{
	-webkit-transform:translate(-50%, -50%)  rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg) ;
}
.opImg{
	opacity: 0;
}
.opImg.fade01{
	width: 780px;
	padding-bottom: 100px;
	position: relative;
}
.opImg.fade02{
	width: 400px;
	margin: 0 auto;
}
/*
	wrapper
-----------------------------------------------------------------------------------------------*/
#wrapper{
	position: relative;
	overflow: hidden;
}

/*
	header
-----------------------------------------------------------------------------------------------*/
#header{
	width: 100%;
	position: absolute;
	z-index: 9999;
}
#header .jsDrawerArea{
	display: none;
}
.h_logo{
	display: flex;
	align-items: center;
	margin: 0 100px;
	padding: 40px 0;
	justify-content: space-between;
}
.h_logo a{
	transition: .6s;
}
.h_logo a:hover{
	opacity: 0.6;
	transition: .6s;
}
.h_logo img{
	width: auto;
	height: 20px;
}
/* nav */
.navList{
	display: none;
}
/*
	kv
-----------------------------------------------------------------------------------------------*/
.kvInner{
	max-width: 100%;
	height: 100%;
	background: #000;
	position: relative;
}
.kvBg{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 800px;
	padding: 15vw 0;
	background: url("/asset/images/kv_bg_img_pc.png") top center no-repeat;
	background-size: cover;
	position: relative;
}
.kvBg .kvLogo{
	width: 42%;
	max-width: 80%;
	margin-top: 5%;
	z-index: 999;
}
.kvClock{
	min-width: 88%;
    height: 100%;
	position: absolute;
}
.kvClock .leonClock,
.kvClock .chrisClock{
	width: auto;
	height: 50%;
	max-height: 80%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	z-index: 999;
}
.kvClock .leonClock{
	left: 0%;
}
.kvClock .chrisClock{
	right: 0%;
}
.txtBox{
	margin-top: 10%;
	text-align: center;
	position: relative;
	z-index: 1000;
}
.itemTxt{
	font-size: 2rem;
	font-weight: var(--medium);
	line-height: 150%;
}
.txtBox .note{
	margin-top: 12px;
	padding: 0 20px;
	font-size: 1.4rem;
	line-height: 150%;
	text-align: center;
}
/*
	slider
-----------------------------------------------------------------------------------------------*/
/* slidWrapper */
#slidWrapper{
	display: block;
	height: 100vh;
	position: relative;
}
.slidInner{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.slidInner img{
	width: 100%;
}
/* aboutArea */
.slidTxtBox{
	text-align: center;
}
.slidTxtBox .ttl{
	width: 500px;
}
.ttlTxt{
	font-size: 1.8rem;
	font-weight: var(--base);
	text-shadow: 0 0 5px #000;
	line-height: 250%;
}
.ttlTxt span{
	position: relative;
}
.ttlTxt span::before{
	content: '死の島';
	font-size: 1.2rem;
	letter-spacing: 1.2rem;
	position: absolute;
	transform: translateX(-50%);
	top: -30px;
	left: 50%;
}
/* bioBtn */
.bioBtn .linkBtn{
	width: 440px;
}
/*
	introArea
-----------------------------------------------------------------------------------------------*/
.introBg{
	background-image: url(/asset/images/intro_bg_img.png);
}
.bgBlack{
	position: relative;
}
.bgBlack::after{
	content: '';
	width: 100%;
	height: 100%;
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -99;
}
#introBox{
	display: flex;
	flex-wrap: wrap;
}
#introBox.ctsArea{
	padding-top: 180px;
}
#introBox .oneBox{
	padding: 0;
}
#introBox .ttl{
	width: 910px;
}
#introBox .subTtl{
	margin-bottom: 18px;
	padding-bottom: 0;
	font-size: 2.8rem;
	font-weight: var(--medium);
}
.introTxt{
	margin-bottom: 35px;
	font-size: 1.6rem;
	line-height: 190%;
}
.introImg{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0 30px;
}
.introImg img{
	max-width: 290px;
}
/* ページ内リンクボタン */
 .btnBox{
	display: block;
	width: 100%;
	margin: 50px auto 0 auto;
}
.introBtn{
	display: flex;
    flex-wrap: nowrap;
	width: 100%;
    gap: 0 8px;
}
.pageBtn{
	width: 100%;
	font-size: 1.6rem;
	font-weight: var(--medium);
	position: relative;
}
.pageBtn::before,
.pageBtn::after{
	content: '';
	width: 7px;
	height: 1px;
	background: #fff;
	position: absolute;
	transform: rotateY(-50%);
	top: 50%;
	transition: all .4s;
}
.pageBtn::before{
	transform: rotate(45deg);
	right: 19px;
}
.pageBtn::after{
	transform: rotate(-45deg);
	right: 14px;
}
.pageBtn:hover::before,
.pageBtn:hover::after{
	background: var(--red);
	top: 53%;
	transition: all .4s;
}
/* movieArea */
.movieBox .subTtl{
	font-size: 3rem;
}
.thumImg{
	display: flex;
	height: auto;
	margin: 0 auto;
	background-color: #fff;
	cursor: pointer;
	position: relative;
}
.thumImg img{
	transition:0.4s;
}
.thumImg:hover img{
	opacity: 0.8;
	transition: 0.4s;
}
.thumImg::before,
.thumImg::after{
	content: " ";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	cursor: pointer;
	transform: translate(-50%,-50%);
	z-index: 100;
}
.thumImg::before{
	width: 110px;
	height: 110px;
	border: 1px solid #fff;
	border-radius: 50%;
}
.thumImg::after{
	width: 0;
	height: 0;
	border: 28px solid transparent;
	border-left: 43px solid #fff;
	margin: 0 0 0 20px;
}
.cmnModal{
	display: none;
	position: relative;
}
.cmnModal .modalBox{
	padding: 30px;
	background: #fff;
	overflow-y: scroll;
}
.movieBox iframe {
	width: 1200px;
	max-width: 100%;
	aspect-ratio: 16 / 9;
}
/* movieArea　close */
.cmnModal .close{
	width: 30px;
	height: 30px;
	position: absolute;
	top: -40px;
	right: 0;
	transition: all 0.3s;
}
.cmnModal .close:hover{
	cursor: pointer;
}
.cmnModal .close::before,
.cmnModal .close::after{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	position: absolute;
	top: 15px;
}
.cmnModal .close::before{
	transform: rotate(45deg);
}
.cmnModal .close::after{
	transform: rotate(-45deg);
}
/*
	techArea
-----------------------------------------------------------------------------------------------*/
.techBg{
	background-image: url(/asset/images/tech_bg_img.png);
}
#techArea .bg::before{
	background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5));
}
.techBox{
	width: 1140px;
	margin: 0 auto;
}
/* infoBox内 */
.infoBox{
	padding: 0 70px;
}
.infoTxtBox{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	max-width: 850px;
	text-shadow: 0 0 5px #000;
	gap: 50px 0;
}
.infoTxtTtl{
	margin-bottom: 10px;
	font-size: 2.6rem;
	font-weight: var(--medium);
}
/* 5X詳細ボタン */
.techBtn{
	margin-top: 165px;
}
.techBtn .linkBtn{
	width: 440px;
}
/*
	leonArea
-----------------------------------------------------------------------------------------------*/
.leonBg{
	background-image: url(/asset/images/leon_bg_img.png);
}
.clockBox .leonTtl::after{
	background-image: linear-gradient(150deg, rgba(206, 20, 0, 0) 38%, rgba(206, 20, 0, 0.9) 46%, rgba(206, 20, 0, 1));
	right: -50px;
}

/*
	chrisArea
-----------------------------------------------------------------------------------------------*/
.chrisBg{
	background-image: url(/asset/images/chris_bg_img.png);
}
.clockBox .chrisTtl::after{
	background-image: linear-gradient(150deg, rgba(206, 20, 0, 1), rgba(206, 20, 0, 0.9) 46%, rgba(206, 20, 0, 0) 68%);
	left: -50px;
}
#chrisArea .oneBox  .clockBox .clockImg{
	width: 420px;
}
/*
	specialArea
-----------------------------------------------------------------------------------------------*/
#specialArea .ctsArea{
	padding-top: 160px;
	padding-bottom: 30px;
}
.specialBg{
	background: #000;
}
#specialBox .clockImg{
	width: 300px;
}
#specialBox .clockImg img{
	width: 100%;
}
.specialTxtBox{
	width: 610px;
}
.specialTxtBox .note{
	margin-top: 12px;
	font-size: 1.2rem;
	padding-left: 12px;
	line-height: 130%;
	position: relative;
}
.specialTxtBox .note::before{
	content: '※';
	font-size: 1.2rem;
	color: #fff;
	position: absolute;
	transform: translateY(-50%);
	top: 8px;
	left: 0%;
}
/* clockArea*/
#clockArea{
	flex-wrap: wrap;
	gap: 160px 0;
}
#clockArea .oneBox{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 55px;
}
.oneBox .clockSize img{
	height: 618px;
}
.specTtl{
	margin-bottom: 55px;
}
.specTtl img{
	width: 490px;
	margin-bottom: 10px;
}
.clockName{
	font-size: 4.2rem;
	font-weight: var(--medium);
}
.clockSpec{
	margin-top: 0;
	font-size: 1.8rem;
}
.clockSpec span{
	font-size: 2.4rem;
	font-weight: var(--medium);
}
.clockSpecTxt{
	margin-top: 50px;
}
/* 商品スペックボタン */
.specBtn{
	margin-top: 35px;
	text-shadow: 0 0 5px #000;
}
.specBtn .linkBtn{
	width: 240px;
	height: 60px;
	border-radius: 0;
}
.specBtn .linkBtn::before,
.specBtn .linkBtn::after{
	display: none;
}
/*
	footer	
-----------------------------------------------------------------------------------------------*/
#footer{
	margin: 0 auto;
	background: #000;
	position: relative;
}
.footerInner{
	padding: 30px 0;
	text-align: center;
}
.footerLogo a{
	display: inline-block;
}
.footerLogo img{
	width: 138px;
}
.snsBox{
	display: inline-flex;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 20px 0 30px;
	gap: 0 18px;
}
.snsBox a{
	transition: all .6s;
}
.footerLogo a:hover,
.snsBox a:hover{
	opacity: 0.7;
	transition: all .6s;
}
.snsBox img{
	width: 47px;
}
.copyright{
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
}
/*
	pageTop
-----------------------------------------------------------------------------------------------*/
#pageTop{
	display: flex;
	align-items: center;
	height: 70px;
	bottom: 60px;
	position: absolute;
	right: 55px;
	transform: rotate(90deg);
	transition: .6s;
}
#pageTop:hover{
	opacity: .6;
	transition: .6s;
}
.pageTopTxt{
	display: inline-block;
	padding-bottom: 10px;
	color: #fff;
	font-size: 2rem;
	position: relative;
	transition: color .8s;
}
.pageTopTxt::before,
.pageTopTxt::after{
	content: '';
	background: #fff;
	position: absolute;
	transition: .6s;
}
.pageTopTxt::before{
	width: 60px;
	height: 1px;
	transform: translateX( -50%);
	bottom: 0;
	left: 50%;
}
.pageTopTxt::after{
	width: 1px;
	height: 12px;
	transform: rotate(45deg);
	bottom: -1px;
	left: -4px;
}
@media screen and (max-width: 812px){
	body{
		overflow-x: hidden;
	}
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	.ctsArea{
		display: block;
		width: 100%;
		padding: 60px 20px;
	}	
	/* h3 サブタイトル */
	.subTtl{
		margin: 0 auto 30px auto;
		padding-bottom: 8px;
	}
	.subTtl img{
		height: 100%;
	}
	.oneBox .clockImg{
		width: 100%;
	}
	/* ボタン */
	.btn{
		margin-top: 50px;
		padding: 0 10px;
	}
	/* リンクボタン（ページボタンとの共通含む） */
	.linkBtn,
	.pageBtn{
		height: 60px;
		font-size: 1.8rem;
		line-height: 130%;
	}
	.linkBtn::before{
		width: 34px;
		right: -18px;
	}
	.linkBtn::after{
		width: 11px;
		right: -20px;
		transform: rotate(45deg);
	}
	.linkBtn:hover::before{
		right: -23px;
	}
	.linkBtn:hover::after{
		right: -25px;
	}
	/* leonIntroBox・chrisIntroBox・designArea・logoArea・specialBox 共通 */
	#leonIntroBox .oneBox,
	#chrisIntroBox .oneBox,
	.designArea .oneBox,
	#specialBox .oneBox{
		display: flex;
		flex-wrap: wrap;
		gap: 30px 0;
		padding: 0;
	}
	.imgBox{
		width: 100%;
		position: relative;
	}
	.charaImg img{
		width: 200px;
		height: 100%;
	}
	.name{
		margin-bottom: 20px;
		line-height: 110%;
	}
	.name span{
		font-size: 1.8rem;
	}
	.charaTxt{
		font-size: 1.4rem;
		text-align: justify;
	}
	.clockBox{
		width: 100%;
	}
	.clockBox .subTtl::after{
		width: 100%;
		background: var(--red);
	}
	.clockBox p{
		font-size: 1.6rem;
	}
	/* designArea*/
	.designArea.ctsArea{
		display: flex;
		gap: 70px 0;
	}
	.designArea .oneBox{
		gap: 10px 0;
	}
	.oneBox .clockBox .clockImg{
		width: 100%;
	}
	.designBox{
		width: 100%;
	}
	.designTtl{
		font-size: 3.0rem;
	}
	.designTxt{
		font-size: 1.6rem;
	}
	/*
		opening
	-----------------------------------------------------------------------------------------------*/
	.opImg.fade01,
	.opImg.fade02{
		margin: 0 auto;
		z-index: 99;
	}
	.opImg.fade01{
		width: 85%;
		padding-bottom: 80px;
	}
	.opImg.fade02{
		width: 50%;
	}
	.opInner::before,
	 .opInner::after{
		width: 50px;
		left: 50%;

	 }
	/*
		header
	-----------------------------------------------------------------------------------------------*/
	.h_logo{
		margin: 0 20px;
		padding: 10px 0;
	}
	.h_logo img{
		height: 12px;
	}
	/* nav */
	/* btnMenu
	============================== */
	#header .btnMenu{
		width: 60px;
		height: 60px;
		background-color: #000;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 9999;
	}
	#header .btnMenu span{
		display: block;
		width: 20px;
		height: 2px;
		background-color: #fff;
		position: absolute;
		left: 50%;
		transition: all 0.3s;
	}
	#header .btnMenu span:nth-of-type(1){
		top: 50%;
		transform: translate(-50%, -8px);
	}
	#header .btnMenu span:nth-of-type(2){
		top: 50%;
		transform: translate(-50%, -50%);
	}
	#header .btnMenu span:nth-of-type(3){
		bottom: 50%;
		transform: translate(-50%, 8px);
	}

	/* タップ時 */
	#header .btnMenu.menuActive span:nth-of-type(1){
		top: 50%;
		transform: translate(-50%, -50%) rotate(135deg);
	}
	#header .btnMenu.menuActive span:nth-of-type(2){
		opacity: 0;
	}
	#header .btnMenu.menuActive span:nth-of-type(3){
		bottom: 50%;
		transform: translate(-50%, 50%) rotate(-135deg);
	}

	/* logoMenu */
	#header .logoMenu{
		width: fit-content;
		margin: 0 auto 30px auto;
	}
	#header .logoMenu a{
		display: block;
	}
	#header .logoMenu img{
		width: auto;
		height: 60px;
	}

	/* nav */
	.navList{
		flex-direction: column;
		gap: 40px 0;
		padding-bottom: 30px;
		overflow: scroll;
	}

	body.menuActive{
		overflow: hidden;
	}
	
	/* menu */
	.btnMenu{
		display: block;
		width: 60px;
		height: 60px;
		background-color: #000;
		transition: all 0.3s;
		z-index: 9000;
		position: absolute;
		top: 0;
		right: 0;
		overflow: auto;
	}
	.btnMenu::before,
	.btnMenu::after{
		content: '';
		display: block;
		width: 20px;
		height: 3px;
		background: #fff;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%);
		transition: all 0.3s;
	}
	.h_nav{
		width: 100%;
		height: 61px;
		background: #000;
		position: fixed;
		top: 0;
	}
	.navMenu::before{
		margin-top: -6px;
	}
	.navMenu::after{
		margin-top: 5px;
	}
	.menuActive .navMenu::before,
	.menuActive .navMenu::after,
	.menuActive .menuDeco::before{
		top: 50%;
		transition: .3s;
	}
	/* タップ時 */
	.menuActive .navMenu::before{
		margin-top: 0;
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.menuActive .navMenu::after{
		margin-top: 0;
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.navWrapper{
		display: block;
		padding: 110px 15px 110px;
		opacity: 0;
		z-index: -999;
	}
	.menuActive + .navWrapper{
		display: block;
		width: 100%;
		height: 100vh;
		padding: 90px 15px 90px;
		background: #000;
		position: fixed;
		top: 0;
		left: 0;
		transition: opacity .2s;
		opacity: 1;
		z-index: 0;
	}
	.menuActive + .navWrapper .navList{
		display: block;
		margin-right: 0;
		border-top: none;
	}
	.menuActive + .navWrapper .navItem{
		width: 100%;
		height: auto;
		margin-bottom: 20px;
		background-color: transparent;
		border-bottom: 1px solid var(--red);
		border-radius: 0;
	}
	.menuActive + .navWrapper .navItem a{
		display: block;
		padding: 22px 10px 8px 10px;
		justify-content: flex-start;
		flex-direction: row;
		text-align: left;
		font-size: 2.2rem;
		position: relative;
	}
	.menuActive + .navWrapper .navItem a::before,
	.menuActive + .navWrapper .navItem a::after{
		content: '';
		background: #fff;
		position: absolute;
		bottom: 15px;
	}
	.menuActive + .navWrapper .navItem a::before{
		width: 10px;
		height: 2px;
		right: 23px;
		transform: rotate(45deg);
	}
	.menuActive + .navWrapper .navItem a::after{
		width: 10px;
		height: 2px;
		right: 17px;
		transform: rotate(-45deg);
	}
	/*
		kv
	-----------------------------------------------------------------------------------------------*/
	.kvInner{
		height: auto;
	}
	.kvBg{
		justify-content: flex-start;
		background: url("/asset/images/kv_bg_img_sp.png") top center no-repeat;
		background-size: cover;
	}
	.kvBg .kvLogo{
		width: 78%;
		margin-top: 42vw;
	}
	.kvClock{
		min-width: 100%;
		height: 300px;
		margin-top: 65vw;
	}
	.kvClock .leonClock,
	.kvClock .chrisClock{
		min-height: 90%;
	}
	.kvClock .leonClock{
		left: 8%;
		top: 60%;
	}
	.kvClock .chrisClock{
		right: 8%;
		top: 70%;
	}
	.txtBox{
		margin-top: 85vw;
	}
	/*
		introArea
	-----------------------------------------------------------------------------------------------*/
	#introBox.ctsArea{
		padding-top: 100px;
	}
	#introBox .ttl{
		width: 100%;
		margin-bottom: 35px;
	}
	#introBox .subTtl{
		font-size: 2.4rem;
		line-height: 130%;
	}
	.introTxt{
		font-size: 1.6rem;
		text-align: justify;
	}
	.introImg{
		gap: 20px 0;
	}
	.introImg img{
		max-width: 100%;
	}
	/* movieArea */
	#movieArea.ctsArea{
		padding-top: 15px;
	}
	.movieBox iframe {
		width: 100%;
		min-width: 365px;
		aspect-ratio: 16 / 9;
	}

	/* ページ内リンクボタン */
	.btnBox{
		margin-top: 40px;
	}
	.introBtn{
		flex-wrap: wrap;
		min-width: 100%;
		gap: 15px 0;
	}
	.pageBtn{
		font-size: 2rem;
	}
	/*
		slider
	-----------------------------------------------------------------------------------------------*/
	.pcBg{
		display: none;
	}
	.spBg{
		display: block;
		background-image: url(/asset/images/slid_bg_img.png);
	}
	/*
		aboutArea
	-----------------------------------------------------------------------------------------------*/
	.ttlTxt{
		font-size: 1.6rem;
		text-align: justify;
		line-height: 190%;
	}
	.ttlTxt span::before{
		letter-spacing: 1rem;
		top: -26px;
	}
	/* bioBtn */
	.bioBtn .linkBtn{
		width: 100%;
	}
	/*
		techArea
	-----------------------------------------------------------------------------------------------*/
	.techBox{
		width: 100%;
	}
	/* infoBox内 */
	.infoTxtBox{
		gap: 45px 0;
	}
	.infoTxt{
		font-size: 1.6rem;
		text-align: justify;
		line-height: 190%;
	}
	.infoTxtTtl{
		font-size: 2.1rem;
	}
	/* 5X詳細ボタン */
	.techBtn{
		margin-top: 50px;
	}
	.techBtn .linkBtn{
		width: 100%;
	}
	/*
		leonArea
	-----------------------------------------------------------------------------------------------*/
	#leonIntroBox .oneBox{
		flex-direction: column-reverse;
	}
	.clockBox .leonTtl::after{
		background-image: none;
		right: 0;
	}
	/*
		chrisArea
	-----------------------------------------------------------------------------------------------*/
	#chrisArea .oneBox  .clockBox .clockImg{
		width: 100%;
	}
	#chrisIntroBox .oneBox{
		flex-direction: column-reverse;
	}
	.clockBox .chrisTtl::after{
		background-image: none;
		left: 0;
	}
	/*
		specialArea
	-----------------------------------------------------------------------------------------------*/
	#specialArea .ctsArea{
		display: flex;
		flex-wrap: wrap;
		padding: 100px 20px;
		gap: 120px 0;
	}
	#specialBox .clockImg{
		width: 250px;
	}
	#specialBox .clockImg img{
		width: 100%;
	}
	.specialTxtBox{
		width: 100%;
	}
	.specialTxtBox .note::before{
		top: 9px;
	}
	/* clockArea*/
	#clockArea .oneBox{
		display: inline-flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 15px 0;
	}
	.oneBox .clockSize img{
		max-width: 230px;
		max-height: 420px;
	}
	.specTtl{
		margin-bottom: 30px;
	}
	.specTtl img{
		display: inline-block;
		width: 300px;
		margin-bottom: 15px;
	}
	.specTtl figcaption{
		font-size: 1.7rem;
		line-height: 120%;
	}
	.clockName{
		font-size: 3.6rem;
	}
	.clockSpec{
		margin-top: 5px;
		font-size: 1.4rem;
	}
	.clockSpec span{
		font-size: 2.4rem;
	}
	.clockSpecTxt{
		margin-top: 25px;
		font-size: 1.6rem;
	}
	/* 商品スペックボタン */
	.specBtn{
		margin-top: 45px;
	}
	.specBtn .linkBtn{
		width: 100%;
		height: 70px;
	}
	/*
		footer
	-----------------------------------------------------------------------------------------------*/
		.snsBox{
			padding-bottom: 20px;
		}
		.snsBox img{
			width: 60px;
		}
	/*
		pageTop
	-----------------------------------------------------------------------------------------------*/
	#pageTop{
		right: 15px;
		bottom: 80px;
	}
	.pageTopTxt{
		font-size: 2.2rem;
	}
	.pageTopTxt::before{
		width: 60px;
	}
	.pageTopTxt::after{
		left: -2px;
	}
}
/* iPad対応 共通*/
@media screen and (min-width: 800px) and (max-width: 1024px){
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	.ctsArea{
		width: 100%;
	}
	.clockBox .subTtl::after{
		width: 750px;
	}
	.kvClock .leonClock,
	.kvClock .chrisClock{
		height: 365px;
	}
	.imgBox{
		width: 460px;
		height: 100%;
	}
	.charaImg img{
		height: 680px;
	}
	#clockArea .oneBox{
		padding: 0 20px;
		gap: 0 35px;
	}
	.oneBox .clockSize img{
		height: 380px;
	}
	/*
		header
	-----------------------------------------------------------------------------------------------*/
	.h_logo{
		margin: 0 50px;
	}
	/*
		kv
	-----------------------------------------------------------------------------------------------*/
	.kvBg .kvLogo{
		max-width: 65%;
		top: 33%;
	}
	/*
		introArea
	-----------------------------------------------------------------------------------------------*/
	#introBox.ctsArea{
		width: 100%;
	}
	.btnBox{
		display: flex;
		width: 100%;
		padding: 0 20px;
	}
	.introTxt{
		padding: 0 20px;
	}
	.introBtn{
		display: flex;
		flex-wrap: wrap;
		gap: 25px 0;
	}
	/* movieArea */
	#movieArea .ctsArea{
		width: 100%;
	}
	.movieBox iframe{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 940px;
	}
	/*
		techArea
	-----------------------------------------------------------------------------------------------*/
	.techBox{
		width: 100%;
	}
	/*
		leonArea
	-----------------------------------------------------------------------------------------------*/
	.clockBox .leonTtl::after{
		right: -12px;	
	}
	/*
		leonArea
	-----------------------------------------------------------------------------------------------*/
	.clockBox .chrisTtl::after{
		left: -12px;	
	}
}
/* iPad 縦のみ */
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	.ctsArea{
		width: 100%;
		padding: 100px 20px;
	}
	.oneBox .clockBox .clockImg{
		width: 375px;
	}
	.oneBox .clockImg{
		width: 550px;
	}
	/*designArea*/
	.designArea.ctsArea{
		gap: 100px 0;
	}
	/*
		kv
	-----------------------------------------------------------------------------------------------*/
	.kvBg .kvLogo{
		width: 550px;
	}
	.kvClock .leonClock,
	.kvClock .chrisClock{
		max-height: 300px;
		top: 50%;
	}
	.kvClock .leonClock{
		left: 4%;
	}
	.txtBox{
		margin-top: 20vw;
	}
	/*
		introArea
	-----------------------------------------------------------------------------------------------*/
	#introBox .ttl{
		width: 95%;
	}
	.introImg{
		flex-wrap: nowrap;
		gap: 0 20px;
	}
	.introImg img{
		max-width: 320px;
	}
	/* movieArea */s
	.movieBox iframe{
		max-width: 100%;
		min-width: 700px;
	}
	/* slider */
	.slick-list{
		height: 100%
	}
	.slick-track{
		height: 100%
	}
	.slick-initialized .slick-slide{
		height: 100%
	}
	.slick-slide{
		min-width: 566px;
		height: 100%;
	}
	.slick-slide img{
		width: 100%;
		min-height: 340px;
	}
	/*
		chrisArea
	-----------------------------------------------------------------------------------------------*/
	#chrisArea .oneBox .clockBox .clockImg{
		width: 375px;
	}
	/*
		specialArea
	-----------------------------------------------------------------------------------------------*/
	
}
/* iPad Pro縦のみ */
@media screen and (min-width: 800px) and (max-width: 1024px) and (orientation: portrait){
	/*
		kvArea
	-----------------------------------------------------------------------------------------------*/
	.kvBg .kvLogo{
		width: 45%;
	}
	.kvClock{
		min-width: 95%;
		bottom: 0;
	}
	/*
		introArea
	-----------------------------------------------------------------------------------------------*/
	#introBox .subTtl{
		width: 80%;
	}
	.introTxt{
		text-align: justify;
	}
	/* slider */
	#slider{
		height: 100vh;
	}
	.slick-list{
		height: 100%
	}
	.slick-track{
		height: 100%
	}
	.slick-initialized .slick-slide{
		height: 100%
	}
	.slick-slide{
		min-width: 766px;
		height: 100%;
	}
	.slick-slide img{
		width: 100%;
		min-height: 460px;
	}
}
/* iPad Pro横のみ */
@media screen  and (min-width: 1025px) and (max-width: 1366px) and (orientation: landscape){
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	.kvClock .leonClock,
	.kvClock .chrisClock{
		transform: translateY(-55%);
	}

	.kvClock .leonClock{
		left: 4%;
	}
	.kvClock .chrisClock{
		right: 4%;
	}
	.kvInner .note{
		z-index: 99;
	}
	.movieBox iframe{
		width: 1100px;
	}
}
/* 横向き対応 */
@media screen and (min-width: 415px) and (max-width: 896px) and (orientation: landscape){
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	.ctsArea,
	.techArea.ctsArea{
		width: 100%;
		padding: 100px 50px;
	}
	.clockBox .subTtl::after{
		width: 100%;
	}
	.imgBox{
		width: 370px;
	}
	.charaTxtBox{
		bottom: -95px;
	}
	.charaImg img{
		height: 100%;
	}
	.clockBox{
		width: 100%;
	}
	.oneBox .clockBox .clockImg{
		width: 400px;

	}
	.oneBox .clockImg img{
		width: 100%;
	}
	/*
		header
	-----------------------------------------------------------------------------------------------*/
	.h_logo{
		margin: 0 40px;
	}
	.menuActive + .navWrapper{
		overflow: scroll;
	}
	/*
		kv
	-----------------------------------------------------------------------------------------------*/
	.kvClock{
		min-width: 800px;
		margin-top: 50vw;
	}
	/*
		introArea
	-----------------------------------------------------------------------------------------------*/
	#introBox.ctsArea{
		width: 100%;
		padding-top: 100px;
	}
	#introBox .ttl{
		width: 100%;
		max-width: 700px;
	}
	#introBox .subTtl{
		max-width: 610px;
	}
	.introImg{
		display: flex;
		flex-wrap: nowrap;
		width: 100%;
		gap: 0 20px;
	}
	.introImg img{
		max-width: 350px;
	}
	/* ページ内リンクボタン */
	.btnBox{
		width: 100%;
		padding: 0 20px;
	}
	.introBtn{
		display: flex;
		flex-wrap: wrap;
		gap: 20px 0;
	}
	/* movieArea */
	.movieBox iframe{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 570px;
	}
	.thumImg{
		max-width: 580px;
	}
	/*
		techArea
	-----------------------------------------------------------------------------------------------*/
	.techBox{
		width: 100%;
	}
}
/* 横向き対応 X */
@media screen and (max-width: 812px) and (orientation: landscape){
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	.ctsArea{
		max-width: 500px;
	}
	/*
		kv
	-----------------------------------------------------------------------------------------------*/
	.h_logo{
		padding: 25px 0;
	}
	.h_logo img{
		height: 22px;
	}
	.kvBg .kvLogo{
		width: 65%;
		top: 38%;
	}
	.kvInner .txtBox{
		margin-top: 15vw;
	}
}
/* 横向きのみ SE */
@media screen and (max-width: 667px) and (orientation: landscape){
	/*
		kv
	-----------------------------------------------------------------------------------------------*/
	.kvClock{
		min-width: 700px;
	}
	/*
		introArea
	-----------------------------------------------------------------------------------------------*/
	#introBox .ttl{
		width: 440px;
	}
	.introImg img{
		max-width: 305px;
	}
}