@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@500&display=swap');

html {
	font-family: 'Noto Sans JP' , Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: 'palt' on;
	position: relative;
	color: #ffffff;
	background: #000000;
	height: -webkit-fill-available;
}
	body {
		line-height: 1;
		-webkit-text-size-adjust: 100%;
		margin: 0;
		width: 100%;
		position: relative;
		z-index: 1;
		min-height: -webkit-fill-available;
	}

	body.preload{
		opacity: 0;
	}

	@media screen and (man-width: 860px) {
		#smooth-wrapper {
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			height: 100%;
			width: 100%;
			overflow: hidden;
		}

		#smooth-content {
			position: absolute;
			width: 100%;
		}
	}

	body.f {
		max-width: 100%;
		width: 100%;
	}
		article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
			display: block
		}

					/*===================sp=*/@media screen and (max-width: 860px) {

					}/*====================*/

.preload* {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}

#test.fixed {
	background: red !important;
}
/*-----------------------------------------------------------
	base setting
-----------------------------------------------------------*/
p { margin: 0 0 0 0; }

a { text-decoration: underline; color: #ffffff; word-break: break-all; }
	a:hover { text-decoration: none; }
	a:focus { outline: none; }

.pc { display: block !important; }
.sp { display: none !important; }
.pcsp { display: none;}

a {
	transition: opacity 0.3s cubic-bezier(0,.72,.62,1);
}
a:hover {
	opacity: 0.8;
	text-decoration-line: none !important;
}
					/*===================sp=*/@media screen and (max-width: 860px) {

.pc { display: none !important; }
.sp { display: block !important; }
.pcsp { display: inline-block;}
a:hover { opacity: 1; }

					}/*====================*/

/*-----------------------------------------------------------
	text setting
-----------------------------------------------------------*/

h2 img ,
h3 img ,
h4 img ,
.img img {
	pointer-events : none !important;
}
.fcR { color: #e62a05; }
.fcG { color: #a4a4a4; }
.fcB { color: #abebef; }
.fcY { color: #ffa282; }

					/*===================sp=*/@media screen and (max-width: 860px) {

					}/*====================*/

/*-----------------------------------------------------------
	gnavi setting
-----------------------------------------------------------*/

.gnavi {
	width: 100%;
	margin: 0 auto 0 auto;
	z-index: 200;
	background: #000000;
	position: fixed;
	top: 0;
}
.gnavi .head {
	display: flex;
	align-items: center;
	padding: 0 0 0 0;
	position: relative;
	z-index: 12;
	justify-content: space-between;
}
.f .head {
	position: fixed;
	top: 0;
	width: 100%;
}
	.gnavi .head:before {
		content: "";
		width: 58px;
		height: 58px;
		display: block;
	}
	.gnavi .home {
		width: 23.08%;
		max-width: 90px;
		margin: 0 auto;
		position: relative;
		display: none;
	}
	.inner .gnavi .home,
	.gnavi.op .home {
		display: block;
	}
		.gnavi .home a {
			overflow: hidden;
		}
		.gnavi .home a:before {
			content: "";
			width: 100%;
			padding-top: 28.71%;
			background: #000000 url(../img/m_logo.png) no-repeat center center;
			background-size: contain;
			display: block;
			z-index: 1;
		}
		.inner .gnavi .home a:before {
			background: #ffffff url(../img/m_logo_b.png) no-repeat center center;
			background-size: contain;
		}
		.inner .gnavi.op .home a:before {
			background: #000000 url(../img/m_logo.png) no-repeat center center;
			background-size: contain;
		}
			.gnavi .home span {
				position: absolute;
				z-index: -10;
				top: 0;
				display: none;
			}

	#navbtn {
		width: 29px;
		height: 20px;
		z-index: 12;
		cursor: pointer;
		text-align: center;
		position: relative;
		margin: 0 0 0 0;
		padding: 19px 14.5px 19px 14.5px;
		position: relative;
		right: 0;
		top: 0;
		background: #000000;
	}
	.inner #navbtn {
		background: #ffffff;
	}
	#navbtn:before {
		content: "";
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
		#navbtn span {
			display: block;
			position: absolute;
			width: 28.6px;
			height: 1px;
			right: 14.5px;
			-webkit-transition: 0.3s ease-in-out;
			-moz-transition: 0.3s ease-in-out;
			transition: 0.3s ease-in-out;
			background: #ffffff;
		}
		.inner #navbtn span {
			background: #000000;
		}
		.inner #navbtn.op span {
			background: #ffffff;
		}
		#navbtn span:nth-child(1) { top: 20px; }
		#navbtn span:nth-child(2) { width: 24.7px; top: 29px; }
		#navbtn span:nth-child(3) { width: 18.2px; bottom: 19px; }

	#navbtn.op {
		background: #2F2F2F;
	}
		#navbtn.op span {
			right: 15px;
		}
		#navbtn.op span:nth-child(1) {
			width: 28.5px;
			top : 29px;
			transform: rotateX(-45deg);
			-ms-transform:rotate(-45deg);
			-webkit-transform:rotate(-45deg);
			-moz-transform:rotate(-45deg);
		}
		#navbtn.op span:nth-child(2),
		#navbtn.op span:nth-child(3) {
			width: 28.5px;
			top: 29px;
			transform: rotateX(45deg);
			-ms-transform:rotate(45deg);
			-webkit-transform:rotate(45deg);
			-moz-transform:rotate(45deg);
		}

#navpop {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 11;
	transition: all .7s ease;
	display: none;
	background: #000000;
}
.op #navpop {
	display: block;
}
	.op #navpop .bg {
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 9;
		overflow: hidden;
		position: fixed;
		background: #000000;
	}
	.op #navpop .navpopwrap {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 10;
		position: fixed;
		outline: none !important;
/*
		-webkit-backface-visibility: hidden;
		overflow-y: auto;
		overflow-x: hidden;
*/
	}

		.op #navpop .navpopwrap .navbox {
			padding: 0 0 0 0;
			margin: 0 auto 0 auto;
			width: 100%;
			height: 100%;
		}
			.op #navpop .navpopwrap .navbox ul {
				width: 100%;
				margin: 0 0 0 0;
				padding: 100px 0 0 0 ;

			}
				.op #navpop .navpopwrap .navbox li {
					margin: 0 auto;
				}
					#navpop .navpopwrap .navbox li a ,
					#navpop .navpopwrap .navbox li p {
						line-height: 0;
						transition: all .4s;
					}
					.op #navpop .navpopwrap .navbox li a ,
					.op #navpop .navpopwrap .navbox li p {
						color: #ffffff;
						padding: 10px 10px;
						display: block;
					}
					.op #navpop .navpopwrap .navbox .nav a:hover {
						opacity: .5;
					}

.inner .gnavi {
	background: #ffffff;
	border-bottom: 1px solid #EAEAEA;
}
					.inner #navpop .navpopwrap .navbox li a ,
					.inner #navpop .navpopwrap .navbox li p {
						color: #000000;
					}
					.inner .op #navpop .navpopwrap .navbox li a ,
					.inner .op #navpop .navpopwrap .navbox li p {
						color: #ffffff;
					}

.gnavi.op .navbox {
	max-width: 390px;
	height: auto;
}
.gnavi.op .navbox li.nav_about { width: 33.85%; }
.gnavi.op .navbox li.nav_services { width: 49.23%; }
.gnavi.op .navbox li.nav_products { width: 53.08%; }
.gnavi.op .navbox li.nav_works { width: 35.64%; }
.gnavi.op .navbox li.nav_access { width: 39.74%; }
.gnavi.op .navbox li.nav_contact { width: 45.9%; }
#top .gnavi .navbox li.nav_sns { width: 15%; border-radius:50%; overflow: hidden; margin-top: 12vw;}
	#top .gnavi .navbox li.nav_sns a {
		background: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 0 0 0;
	}
	#top.inner .gnavi .navbox li.nav_sns a {
		background: #000000;
	}
	#top.inner .gnavi.op .navbox li.nav_sns a {
		background: #ffffff;
	}
		#top .gnavi .navbox li.nav_sns a img {
			width: 52.44%;
			padding: 23.78% 0 23.78% 0;
			opacity: 1;
		}
		
.top #gnavi {
	position: fixed;
	right: -60px;
	background: none;
}

.top #gnavi.navup {
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
	right: 0;
  }
  to {
    opacity: 0;
	right: -60px;
  }
}

.top #gnavi.navdown {
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	right: -60px;
  }
  to {
  	opacity: 1;
	right: 0;
  }
}

					/*===================sp=*/@media screen and (min-width: 860px) {

.gnavi {
	width: 100%;
	padding: 0;
	z-index: 200;
}
.gnavi .head:before {
	display: none;
}
.gnaviwrap {
	width: 92.59%;
	max-width: 1400px;
	height: 87px;
	display: flex;
	margin: 0 auto;
}
	.gnavi .head {
		width: 9.29%;
	}
	.gnavi .home {
		width: 100%;
		max-width: 100%;
		display: block;
	}
		.gnavi .home a:before {
			content: "";
			width: 100%;
			padding-top: 28.71%;
		}

#navpop {
	position: relative;
	width: 100%;
	height: auto;
	display: block;
	background: none;
	margin-left: auto;
}
	#navpop .navpopwrap ,
	#navpop .navpopwrap .navbox {
		height: 100%;
	}
		#top .gnavi .navbox {
			width: 100%;
			max-width: 100%;
			margin: 0;
			display: flex;
			align-items: center;
			justify-content: flex-end;
		}
			#navpop .navpopwrap .navbox ul {
				width: 100%;
				height: 100%;
				padding: 0;
				margin: 0;
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				justify-content: flex-end;
			}
				#navpop .navpopwrap .navbox li {
					width: auto;
					margin: 0 0 0 25px;
					border-bottom: none;
					flex: 0 0 auto;
					line-height: 0;
				}

	.op #navpop .navpopwrap ,
		.op #navpop .navpopwrap .navbox {
			height: auto;
		}
			.op #navpop .navpopwrap .navbox ul {
				display: block;
			}
					.op #navpop .navpopwrap .navbox li a ,
					.op #navpop .navpopwrap .navbox li p {
						padding: 0;
					}

	#navbtn {
		display: none;
	}

#top .gnavi .navbox li.nav_about { width: 3.98%; }
#top .gnavi .navbox li.nav_services { width: 5.76%; }
#top .gnavi .navbox li.nav_products { width: 6.24%; }
#top .gnavi .navbox li.nav_works { width: 4.17%; }
#top .gnavi .navbox li.nav_access { width: 4.66%; }
#top .gnavi .navbox li.nav_contact { width: 5.38%; }
#top .gnavi .navbox li.nav_sns { width: 3.22%;margin-top: 0;}
#top.inner .gnavi .navbox li.nav_sns a {
	background: #000000 url(../img/icon_x_w.svg) no-repeat center center;
	background-size: 52.44% auto;
}
#top.inner .gnavi .navbox li.nav_sns a img {
	opacity: 0;
}

#top.inner .gnavi .navbox li {
	background: no-repeat;
	background-size: 100% auto;
}
#top.inner .gnavi .navbox li img {
	opacity: 0;
}
#top.inner .gnavi .navbox li.nav_about { background-image: url(../img/nav_about_b.svg); }
#top.inner .gnavi .navbox li.nav_services { background-image: url(../img/nav_services_b.svg); }
#top.inner .gnavi .navbox li.nav_products { background-image: url(../img/nav_products_b.svg); }
#top.inner .gnavi .navbox li.nav_works { background-image: url(../img/nav_works_b.svg); }
#top.inner .gnavi .navbox li.nav_access { background-image: url(../img/nav_access_b.svg); }
#top.inner .gnavi .navbox li.nav_contact { background-image: url(../img/nav_contact_b.svg); }

.top #gnavi {
	background: #000000;
}

.top #gnavi {
	top: -100px;
	right: 0;
}
@keyframes UpAnime{
  from {
    opacity: 1;
	top: 0;
	right: 0;
  }
  to {
    opacity: 0;
	top: -100px;
	right: 0;
  }
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	top: -100px;
	right: 0;
  }
  to {
  	opacity: 1;
	top: 0;
	right: 0;
  }
}

					}/*====================*/


#navpop .navpopwrap .navbox ul li a {
	transition: opacity 0.3s cubic-bezier(0,.72,.62,1);
}

					/*===================sp=*/@media screen and (min-width: 860px) {

#navpop .navpopwrap .navbox ul li a:hover {
	opacity: 0.2;
}
					}/*====================*/

/*-----------------------------------------------------------
	#content setting
-----------------------------------------------------------*/
#content {
	width: 100%;
	margin: 0 auto 0 auto;
	padding: 0 0 1px 0;
	position: relative;
	font-size: 16px;
	line-height: 1.8;
	background-color: #000000;
}
.inner #content {
	background-color: #ffffff;
}
	.contentWrap {
		width: 100%;
		margin: 0 auto 0 auto;
		position: relative;
	}
	.contentBox {
		width: 92.59%;
		max-width: 1400px;
		margin: 0 auto 0 auto;
		position: relative;
	}

					/*===================sp=*/@media screen and (max-width: 860px) {

	.contentBox {
		width: 89.74%;
	}

					}/*====================*/

.mtit {
	width: 100%;
	margin: 0;
}
		.mtit .en {
		}
			.mtit .en img {
				width: 100%;
			}

					/*===================sp=*/@media screen and (max-width: 860px) {

		.mtit .en {
			text-align: center;
		}
			.mtit .en img {
				width: 100%;
			}

					}/*====================*/

	.contentItem {
		width: 100%;
		padding: 0 0 0 0;
		position: relative;
		font-family: 'Noto Sans JP';
		font-style: normal;
		margin: 0 0 0 0;
	}
		.contentItem .list {
			width: 100%;
			display: flex;
			flex-wrap: wrap;
			margin: 0 0 10px 0;
		}
			.contentItem .list .tit {
				width: 20%;
				margin-right: 5%;
				font-size: 20px;
				color: #666666;
			}
			.contentItem .list .txt {
				width: 75%;
			}


					/*===================sp=*/@media screen and (max-width: 860px) {



					}/*====================*/


.list {}

.list.list01 {

}
	.list.list01 li {
		width: 100%;
		height: 460px;
		margin-bottom: 3px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		position: relative;
	}
		.list.list01 li .img {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 0;
		}
			.list.list01 li .img img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center center;
			}
		.list.list01 li .tit {
			width: 85.71%;
			max-width: 1296px;
			margin: 0 auto;
			z-index: 1;
		}
			.list.list01 li .tit img {
				width: 38.57%;
			}
		.list.list01 li .txt {
			z-index: 1;
			width: 85.71%;
			max-width: 1296px;
			margin: 5px auto 0 auto;
			font-size: 22px;
			font-weight: 400;
			line-height: 160%;
			letter-spacing: 0.66px;
		}


					/*===================sp=*/@media screen and (max-width: 860px) {


	.list.list01 li {
		height: 250px;
	}
		.list.list01 li .tit {
			width: 89.74%;
		}
			.list.list01 li .tit img {
				width: 71.71%;
			}
		.list.list01 li .txt {
			width: 89.74%;
			margin: -5px auto 0 auto;
			font-size: 14px;
			line-height: 180%; /* 25.2px */
			letter-spacing: 0.42px;
		}

					}/*====================*/

.list.list02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

}
	.list.list02 li {
		width: 32.86%;
	}
		.list.list02 li .tit {
			width: 100%;
			position: relative;
			background-size: cover;
		}
		.list.list02 li .tit:before {
			content: "";
			display: block;
			padding-top: 65.86%;
		}
			.list.list02 li .tit p {
				height: 100%;
				width: 82.6%;
				position: absolute;
				top: 0;
				left: 8.7%;
				display: flex;
				flex-direction: column;
				justify-content: center;
			}
			.list.list02 li .tit p {
				font-size: 28px;
				font-weight: 700;
				color: #ffffff;
				line-height: 1.3;
			}
				.list.list02 li .tit p span {
					font-size: 15px;
					font-weight: 500;
					line-height: 1;
					display: block;
				}


					/*===================sp=*/@media screen and (max-width: 860px) {

.list.list02 {
	display: block;
}
	.list.list02 li {
		width: 100%;
		margin-bottom: 40px;
	}
		.list.list02 li .tit {
		}
		.list.list02 li .tit:before {
			padding-top: 65.86%;
		}
			.list.list02 li .tit p {
				height: 100%;
				width: 82.6%;
				position: absolute;
				top: 0;
				left: 8.7%;
				display: flex;
				flex-direction: column;
				justify-content: center;
			}
			.list.list02 li .tit p {
				font-size: 26px;
			}
				.list.list02 li .tit p span {
					font-size: 14px;
				}

					}/*====================*/


.list.list03 {
	width: 100%;
	margin-bottom: 35px;
}
	.list.list03 li.item {
		width: 33.333%;
		background: #1A1A1A;
		display: block !important;
		position: relative;
	}
		.list.list03 li.item .img {
			line-height: 0;
			padding-top: 58.03%;
			background: #000000 no-repeat center center;
			background-size: cover;
		}
			.list.list03 li.item .img a {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
			}
			.list.list03 li.item .img a:hover {
				background: rgba(0, 0, 0, .3);
			}
			.list.list03 li.item .img a:before {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				position: absolute;
				left: 0;
				top: 0;
			}
		.list.list03 li.item .txtBox {
			width: 100%;
		}
		.list.list03 li.item .tit {
			width: 91.45%;
			margin: 0 auto;
			padding: 14px 0 14px 0;
			line-height: 1;
			text-overflow: ellipsis;
			overflow: hidden;
			white-space: nowrap;
			font-size: 14px;
			font-weight: 500;
			color: #ffffff;
		}
		.list.list03 li.item .tit br ,
		.list.list03 li.item .tag {
			display: none;
		}
		.slick-list {
			width: 100%;
		}
		.slick-dots li {
			width: 10px;
			height: 10px;
			border-radius: 100%;
			overflow: hidden;
			margin: 0 6px;
		}
		.slick-dots li button {

		}
		.slick-dots li button:before {
			color: #404040;
			opacity: 1;
		}
		.slick-dots li button::before {
			content: "";
			background: #404040;
		}
		.slick-dots li.slick-active button:before {
			background: #ffffff;
			opacity: 1;
		}
		.slick-dots {
			bottom: -42px;
		}

					/*===================sp=*/@media screen and (max-width: 860px) {

.list.list03 {
}
	.list.list03 li.item {
		width: 100%;
		margin-bottom: 5px;
	}
		.list.list03 li.item .tit {
			width: 91.45%;
			margin: 0 auto;
			padding: 19px 0 16px 0;
			font-size: 12px;
		}
		.slick-dots {
			bottom: -30px;
		}

					}/*====================*/


.list.list04 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

}
	.list.list04 li {
		width: 48.21%;
		background: #1A1A1A;
		position: relative;
		margin-bottom: 50px;
		display: flex;
		flex-direction: column;
		border: 1px solid #EAEAEA;
	}
		.list.list04 li.item .img {
			line-height: 0;
			padding-top: 58.22%;
			background: #000000 no-repeat center center;
			background-size: cover;
		}
			.list.list04 li.item .img a {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
			}
			.list.list04 li.item .img a:hover {
				background: rgba(0, 0, 0, .3);
			}
			.list.list04 li.item .img a:before {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				position: absolute;
				left: 0;
				top: 0;
			}
		.list.list04 li .txtBox {
			width: 90.37%;
			margin: 0 auto;
			padding: 20px 0 25px 0;
			line-height: 1;
			height: 100%;
			display: flex;
			flex-direction: column;
		}
			.list.list04 li .tit {
				width: 100%;
				color: #ffffff;
				font-size: 24px;
				font-weight: 700;
				line-height: 130%; /* 31.2px */
			}
			.list.list04 li .tag {
				width: 100%;
				margin: auto auto 0 auto;
				padding-top: 15px;
				color: #ffffff;
				display: flex;
				flex-wrap: wrap;
			}
				.list.list04 li .tag p {
					color: #959595;
					margin-right: 5px;
					font-size: 15px;
					font-weight: 500;
					line-height: 180%; /* 27px */
					letter-spacing: 0.75px;
				}
				.list.list04 li .tag p:before {
					content: "#";

				}
				.list.list04 li .tag p.n {
					width: 100%;
					display: block;
				}
				.list.list04 li .tag p.nbr:before,
				.list.list04 li .tag p.n:before {
					display: none;
				}

		.list.list04 li:before {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 24.44%;
			padding-top: 5.33%;
			background-repeat: no-repeat;
			background-size: auto 33.33%;
			background-position: center center;
			z-index: 1;
		}
		.list.list04 li.cat_liveentertainment:before {
			background-image: url(../img/cat_liveentertainment.svg);
			background-color: #FF4682;
		}
		.list.list04 li.cat_presentation:before {
			background-image: url(../img/cat_presentation.svg);
			background-color: #46FFD7;
		}
		.list.list04 li.cat_exhibition:before {
			background-image: url(../img/cat_exhibition.svg);
			background-color: #46A5FF;
		}
		.list.list04 li.cat_other:before {
			background-image: url(../img/cat_other.svg);
			background-color: #FFCD46;
		}


					/*===================sp=*/@media screen and (max-width: 860px) {

.list.list04 {
}
	.list.list04 li {
		width: 89.74%;
		margin: 0 auto 30px auto;
	}
		.list.list04 li .img {
		}
		.list.list04 li .txtBox {
			padding: 10px 0 20px 0;
		}
			.list.list04 li .tit {
				font-size: 18px;
				line-height: 130%;
			}
			.list.list04 li .tag {
				margin: 15px auto 0 auto;
			}
				.list.list04 li .tag p {
					font-size: 14px;
					font-weight: 500;
					line-height: 180%;
					letter-spacing: 0.7px;
				}

		.list.list04 li:before {
			width: 38.57%;
			padding-top: 8.57%;
			background-repeat: no-repeat;
			background-size: auto 33.33%;
			background-position: center center;
		}

					}/*====================*/


.list.list05 {
	width: 59.29%;
	margin: 0 auto;
}
	.list.list05 li {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 25px;
	}
	.list.list05 li .img {
		width: 48.19%;
		margin-bottom: 30px;
		line-height: 0;
	}
	.list.list05 li .txtBox {
		width: 100%;
		color: #000000;
		margin-bottom: 25px;
	}
		.list.list05 li .txtBox .tit {
			font-size: 26px;
			font-weight: 700;
			line-height: 100%; /* 26px */
			letter-spacing: 1.3px;
			margin-bottom: 10px;
		}
		.list.list05 li .txtBox .txt {
			font-size: 16px;
		}
		.list.list05 li .txtBox .note {
			color: #888;
			font-size: 14px;
			font-weight: 400;
			line-height: 180%; /* 25.2px */
			letter-spacing: 0.7px;
			margin-top: 10px;
		}



					/*===================sp=*/@media screen and (max-width: 860px) {


.list.list05 {
	width: 89.74%;
}
	.list.list05 li {
		display: block;
		margin-bottom: 70px;
	}
	.list.list05 li .img {
		width: 100%;
		margin-bottom: 10px;
	}
	.list.list05 li .txtBox {
		margin-bottom: 25px;
		margin-top: 25px;
	}
		.list.list05 li .txtBox .tit {
			font-size: 22px;
			margin-bottom: 20px;
		}
		.list.list05 li .txtBox .txt {
			font-size: 16px;
		}
		.list.list05 li .txtBox .note {
			font-size: 13px;
		}

					}/*====================*/


/*-----------------------------------------------------------
	#movie setting
-----------------------------------------------------------*/

#movieWrap {
	width: 100%;
	height: 100vh;
	position: relative;
	overflow: hidden;
}

#movie {
	position: absolute;
	pointer-events: none;
	top:50%;
	left: 50%;
	opacity: 0;
}

	.movie iframe, .movie object, .movie embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }


/*-----------------------------------------------------------
	#intro setting
-----------------------------------------------------------*/
#intro {
	width: 100%;
	height: 100vh;
	opacity: 0;
	position: absolute;
	top: 0;
}
	#intro .contentBox {
		width: 100%;
		max-width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#intro .txt {
		width: 100%;
		margin: 0 auto;
	}
	#intro .txt img {
		width: 76.52%;
		margin: 5.29% auto 0 auto;
		display: block;
	}


					/*===================sp=*/@media screen and (max-width: 860px) {


#intro {
}
	#intro .contentBox {
	}
	#intro .txt {
		max-width: 100%;
		margin: 0 auto;
	}
	#intro .txt img {
		width: 89.74%;
		margin: 7.69% auto 0 auto;
		display: block;
	}


					}/*====================*/


/*-----------------------------------------------------------
	#about setting
-----------------------------------------------------------*/
#about {
	background: #000000 url(../img/about_bg.jpg) no-repeat center top;
	background-size: contain;
	padding: 0 0 40px 0;
	margin: 0 0 80px 0;
	border-top: 1px solid rgba(235, 235, 235, 0.15);
}
	#about .mtxt {
		width: 100%;
		height: auto;
		padding: 31.43% 0 24% 0;
		position: relative;
		display: block;
	}
		#about .mtxt .item {
			width: 62%;
			padding-top: 50.93%;
			display: block;
			background: url(../img/about_item.png) no-repeat left top;
			background-size: contain;
			position: absolute;
			left: 0;
			bottom: -1.5%;
			z-index: 1;
		}

	#about .contentItem {
		width: 81.43%;
		margin: 0 auto;
	}
		#about .contentItem .tit {
			font-size: 50px;
			font-weight: 700;
			line-height: 135%;
			letter-spacing: 2.5px;
		}
		#about .contentItem .txt {
			margin: 30px 0 0 0;
			font-size: 20px;
			font-weight: 700;
			line-height: 200%;
			letter-spacing: 1.8px;
		}

					/*===================sp=*/@media screen and (max-width: 860px) {

#about {
	background: #000000 url(../img/sp/about_bg.jpg) no-repeat center top;
	background-size: contain;
	padding: 0 0 0 0;
	margin: 0 0 80px 0;
}
	#about .mtxt {
		width: 104.86%;
		padding: 48.57% 0 50% 0;
		margin-left: -2.43%;
	}
		#about .mtxt .item {
			width: 68.38%;
			padding-top: 60.27%;
			bottom: 4.2%;
		}

	#about .contentItem {
		width: 93.4%;
	}
		#about .contentItem .tit {
			font-size: 27px;
			line-height: 145%;
			letter-spacing: 1.35px;
		}
		#about .contentItem .txt {
			margin: 20px 0 0 0;
			font-size: 14px;
			line-height: 192%;
			letter-spacing: 0.7px;
		}

					}/*====================*/


/*-----------------------------------------------------------
	#services setting
-----------------------------------------------------------*/
#services {
	background: #1A1A1A;
	padding: 0 0 100px 0;
	margin: 80px auto 80px auto;
}
	#services:before {
		content: "";
		background: #000000;
		width: 100%;
		display: block;
		position: absolute;
		top: 0;
		padding-top: 2.015%;
	}
	#services .contentBox {
		width: 100%;
		max-width: 100%;
	}
		#services .mtit {
			width: 92.59%;
			max-width: 1400px;
			margin: 0 auto;
		}
		#services .mtit .en img {
			width: 18.43%;
		}
		#services .mtxt {
			width: 92.59%;
			max-width: 1400px;
			margin: 35px auto 0 auto;
		}
			#services .mtxt p {
				font-size: 20px;
				font-weight: 700;
				line-height: 180%;
				letter-spacing: 1px;
			}

		#services .contentItem {
			width: 100%;
			margin: 40px auto 0 auto;
		}
		#services .flow {
			max-width: 1400px;
			margin: 55px auto 0 auto;
			display: flex;
			flex-wrap: wrap;
		}
			#services .flow .tit {
				width: 12.57%;
				margin-right: auto;
			}
			#services .flow ul {
				width: 85.71%;
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
			}
				#services .flow ul li {
					width: 26.25%;
					margin-left: -1.67%;
				}
					#services .flow ul li:first-child {
						margin-left: 0;
					}
					#services .flow ul li img {
						line-height: 0;
					}


					/*===================sp=*/@media screen and (min-width: 1512px) {

	#services:before {
		padding-top: 31px;
	}

					}/*====================*/
					/*===================sp=*/@media screen and (max-width: 860px) {

#services {
	padding: 0 0 0 0;
	margin: 80px auto 70px auto;
	padding-bottom: 60px;
}
	#services:before {
		padding-top: 5.13%;
	}
	#services .contentBox {
	}
		#services .mtit {
			width: 89.74%;
			margin: 0 auto;
		}
		#services .mtit .en img {
			width: 48.29%;
		}
		#services .mtxt {
			width: 92.59%;
			margin: 25px auto 0 auto;
		}
			#services .mtxt p {
				font-size: 14px;
				text-align: center;
				font-weight: 500;
				letter-spacing: 0.7px;
			}

		#services .contentItem {
			margin: 20px auto 0 auto;
		}
		#services .flow {
			width: 89.74%;
			margin: 30px auto 0 auto;
		}
			#services .flow .tit {
				width: 100%;
				margin-right: 0;
			}
			#services .flow ul {
				width: 100%;
				margin: 0 auto;
			}
				#services .flow ul li {
					width: 100%;
					line-height: 0;
					margin-left: 0;
					margin-top: -5.71%;
				}
					#services .flow ul li:first-child {
						margin-top: 10px;
					}

					}/*====================*/



/*-----------------------------------------------------------
	#products setting
-----------------------------------------------------------*/
#products {
	margin: 115px auto 80px auto;
}
	#products .mtit .en img {
		width: 19.71%;
	}
	#products .contentItem {
		width: 100%;
		margin: 20px auto 0 auto;
	}
	#products .btn {
		max-width: 220px;
		margin: 30px auto 0 auto;
		text-align: center;
	}
		#products .btn a {
			background: #404040;
			border-radius: 3px;
			padding: 19px 0 19px 0;
			display: block;
			width: 100%;
			line-height: 0;
		}
			#products .btn a img {
				width: auto;
				height: 13px;
			}

					/*===================sp=*/@media screen and (max-width: 860px) {

#products {
	margin: 70px auto 120px auto;
}
	#products .mtit .en img {
		width: 52.29%;
	}
	#products .contentBox {
		width: 100%;
	}

	#products .contentItem {
		margin: 25px auto 0 auto;
	}
	#products .btn {
		max-width: 210px;
		margin: 20px auto 0 auto;
	}
		#products .btn a {
			padding: 16px 0 16px 0;
		}

					}/*====================*/

.inner #products {
	margin: 0 auto 0 auto;
	padding-top: 133px;
}
#products .productsBox {
	width: 100%;
	color: #000000;
}
	#products .productsBox .head {
		width: 100%;
		margin: 0 auto 70px auto;
	}
		#products .productsBox .mv {
			width: 100%;
			margin: 0 auto;
			position: relative;
		}
			#products .productsBox .mv .img {
				line-height: 0;
			}
			#products .productsBox .mv .tit {
				width: 90%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 5%;
				display: flex;
				flex-direction: column;
				justify-content: center;
			}

		#products .productsBox .details {
			width: 74.64%;
			margin: 90px auto 0 auto;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}
			#products .productsBox .details .img {
				width: 51.67%;
				margin: 0 0 0 0;
				padding: 0 0 55px 0;
				line-height: 0;
			}
			#products .productsBox .details .txt {
				width: 42.11%;
				font-size: 16px;
				font-weight: 400;
				line-height: 180%; /* 28.8px */
				letter-spacing: 0.8px;
				align-items: flex-start;
				margin: auto 0 auto 0 ;
				padding: 0 0 55px 0;
			}
			#products .productsBox .details .note {
				width: 100%;
				color: #888;
				font-size: 14px;
				font-weight: 400;
				line-height: 180%; /* 25.2px */
				letter-spacing: 0.7px;
				padding: 0 0 55px 0;
			}

		.inner #products .mtit .en img {
			width: 18.5%;
			margin: 0 auto;
		}
			.inner #products .mtit .en img.t1 {
				opacity: .2;
			}
			.inner #products .mtit .en img.ts { width: 2.25%;margin: 0 15px; }
			#products.products_eyeliner .mtit .en img.t2 { width: 21.21%; }
			#products.products_eyelinerevent .mtit .en img.t2 { width: 30.71%; }
			#products.products_xres .mtit .en img.t2 { width: 30.71%; }


	#products .other {
		width: 100%;
		background: #F4F4F4;
		margin: 0 auto 0 auto;
		position: relative;
		padding-bottom: 50px;
	}
	#products .other:before {
		content: "";
		background: #ffffff;
		width: 100%;
		display: block;
		position: absolute;
		top: 0;
		padding-top: 1.55%;
	}
	#products .other .mtit .en {
		text-align: center;
	}
		#products .other .mtit .en img {
			width: 30.71%;
			margin: 0 auto;
		}
		#products .other .mtxt {
			width: 92.59%;
			margin: 25px auto 0 auto;
		}
			#products .other .mtxt p {
				font-size: 17px;
				font-weight: 700;
				line-height: 200%; /* 34px */
				letter-spacing: 0.85px;
				text-align: center;
				color: #000000;
			}
		#products .other .list {
			margin: 50px auto 0 auto;
		}

					/*===================sp=*/@media screen and (max-width: 860px) {


.inner #products {
	margin-top: 0;
	padding-top: 90px;
}
	#products .productsBox .head {
		margin: 0 auto 20px auto;
	}
		#products .productsBox .details {
			width: 89.74%;
			margin-top: 25px;
			flex-direction: column;
		}
			#products .productsBox .details .img {
				width: 100%;
				padding-bottom: 33px;
			}
			#products .productsBox .details .txt {
				width: 100%;
				order: -1;
				font-size: 16px;
				padding-bottom: 33px;
			}
			#products .productsBox .details .note {
				width: 100%;
				font-size: 13px;
			}

	.inner #products .mtit .en {
		width: 89.74%;
		margin: 0 auto;
		text-align: left;
	}
		.inner #products .mtit .en img {
			margin: 0 0 0 0;
		}
			.inner #products .mtit .en img.t1 {
				width: 21.71%;
			}
			.inner #products .mtit .en img.ts { width: 2.86%;margin: 0 8px; }
			#products.products_eyeliner .mtit .en img.t2 { display: block; width: 50%; }
			#products.products_eyelinerevent .mtit .en img.t2 { width: 30.71%; }
			#products.products_xres .mtit .en img.t2 { width: 30.71%; }

	#products .other:before {
		padding-top: 3.80%;
	}
	#products .other .mtit .en {
		text-align: center;
	}
		#products .other .mtit .en img {
			width: 75.71%;
		}
		#products .other .mtxt {
			width: 89.74%;
		}
			#products .other .mtxt p {
				text-align: left;
				font-size: 16px;
				line-height: 180%;
			}
		#products .other .list {
			margin-top: 30px;
		}


					}/*====================*/


/*-----------------------------------------------------------
	#works setting
-----------------------------------------------------------*/
#works {
	margin: 100px auto 80px auto;
}
	#works .mtit .en img {
		width: 13.07%;
	}
	#works .contentItem {
		width: 100%;
		margin: 20px auto 0 auto;
	}
	.inner #works .contentItem {
		margin: 25px auto 0 auto;
	}
	#works .btn {
		width: 90%;
		max-width: 220px;
		margin: 70px auto 0 auto;
		text-align: center;
	}
		#works .btn a {
			background: #404040;
			border-radius: 3px;
			padding: 19px 0 19px 0;
			display: block;
			width: 100%;
			line-height: 0;
		}
			#works .btn a img {
				width: auto;
				height: 13px;
			}

.inner #works {
	margin: 0 auto 50px auto;
	padding-top: 133px;
}

					/*===================sp=*/@media screen and (max-width: 860px) {

#works {
	margin: 120px auto 60px auto;
}
	#works .mtit .en img {
		width: 34.86%;
	}
	#works .contentBox {
		width: 100%;
	}
	#works .contentItem {
		width: 100%;
		margin: 20px auto 0 auto;
	}
	#works .btn {
		max-width: 210px;
		margin: 60px auto 0 auto;
	}
		#works .btn a {
			padding: 16px 0 16px 0;
		}

.inner #works {
	margin: 0 auto 50px auto;
	padding-top: 90px;
}
	.inner #works .mtit .en {
		width: 89.74%;
		margin: 0 auto;
		text-align: left;
	}
					}/*====================*/



/*-----------------------------------------------------------
	#access setting
-----------------------------------------------------------*/
#access {
	margin: 80px auto 80px auto;
}
	#access .contentBox {
		width: 100%;
		max-width: 100%;
	}
		#access .mtit {
			width: 92.59%;
			max-width: 1400px;
			margin: 0 auto;
		}
		#access .mtit .en img {
			width: 14.71%;
		}
		#access #map {
			width: 100%;
			padding-top: 595px;
			margin: 20px auto 0 auto;
			position: relative;
		}
			#access iframe {
				filter: grayscale(1);
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
			}
		#access .contentItem {
			width: 100%;
			box-sizing: border-box;
			background: #313131;
			padding: 55px 3.705% 85px 3.705%;
		}
			#access .contentItem .txt,
			#access .contentItem ul {
				max-width: 1030px;
				margin: 0 auto;
			}
				#access .contentItem .txt p {
					font-size: 17px;
					font-weight: 500;
					line-height: 180%;
					letter-spacing: 0.85px;
				}
				#access .contentItem .txt a {
					color: #CCC;
					text-decoration-line: underline;
				}

			#access .contentItem ul {
				display: flex;
				margin: 30px auto 0 auto;
			}
				#access .contentItem ul li {
					margin: 0 20px 0 0;
				}
				#access .contentItem ul li a {
					color: #CCC;
					font-size: 14px;
					text-decoration-line: underline;
					margin-left: 3px;
				}

					/*===================sp=*/@media screen and (max-width: 860px) {


#access {
	background: #1A1A1A;
	margin: 60px auto 60px auto;
	padding: 60px 0 0 0;
}
	#access .contentBox {
	}
		#access .mtit {
			width: 89.74%;
		}
		#access .mtit .en img {
			width: 38.86%;
		}
		#access #map {
			padding-top: 460px;
		}
		#access .contentItem {
			width: 89.74%;
			margin: 0 auto;
			background: none;
			padding: 25px 0 50px 0;
		}

				#access .contentItem .txt p {
					font-size: 14px;
					letter-spacing: 0.7px;
				}

			#access .contentItem ul {
				display: block;
				margin: 10px auto 0 auto;
			}

					}/*====================*/


/*-----------------------------------------------------------
	#contact setting
-----------------------------------------------------------*/
#contact {
	margin: 80px auto 80px auto;
}
		#contact .mtit .en {
			text-align: center;
		}
			#contact .mtit .en img {
				width: 11.43%;
			}

	#contact.contentWrap .contentItem {
		width: 100%;
		text-align: center;
		margin: 40px auto 0 auto;
		font-size: 16px;
		font-style: normal;
		font-weight: 500;
		line-height: 180%; /* 28.8px */
		letter-spacing: 0.8px;
	}
	#contact .btn {
		width: 90%;
		width: 220px;
		margin: 25px auto 0 auto;
	}
		#contact .btn a {
			background: #FFFFFF;
			border-radius: 3px;
			text-decoration: none;
			padding: 10px 0 10px 0;
			box-sizing: content-box;
			display: block;
			width: 100%;
			font-weight: 700;
			font-size: 14px;
			line-height: 200%;
			color: #000000;
		}

					/*===================sp=*/@media screen and (max-width: 860px) {

#contact {
	margin: 60px auto 70px auto;
}
		#contact .mtit {
			width: 100%;
			margin: 0 auto;
		}
			#contact .mtit .en img {
				width: 44.86%;

			}
	#contact.contentWrap .contentItem {
		margin: 12px auto 0 auto;
		font-size: 14px;
		font-style: normal;
		font-weight: 500;
		line-height: 180%;
		letter-spacing: 0.7px;
	}
	#contact .btn {
		width: 210px;
		margin: 35px auto 0 auto;
	}
		#contact .btn a {
			padding: 10px 0 10px 0;
			font-size: 12px;
		}

					}/*====================*/


/*-----------------------------------------------------------
	#footer setting
-----------------------------------------------------------*/
#footer {
	width: 100%;
	color: #ffffff;
	margin: auto 0 0 0;
	padding: 45px 0 7.40% 0;
	border-top: solid 1px #232323;
	background: #000000 url(../img/line.png) no-repeat center bottom;
	background-size: 100% auto;
	position: relative;
}
.inner #footer {
	padding: 45px 0 20px 0;
	background: #000000;
}
		#footer .logo {
			width: 127px;
			margin: 0 auto 12px auto;
		}
		#footer .copyright {
			font-weight: 500;
			font-size: 12px;
			line-height: 200%;
			text-align: center;
			letter-spacing: 0.05em;
			font-feature-settings: 'palt' on;
			color: #7D7D7D;
		}

					/*===================sp=*/@media screen and (max-width: 860px) {

#footer {
	padding: 30px 0 23% 0;
	background: #000000 url(../img/sp/line.png) no-repeat center bottom;
	background-size: 100% auto;
}
		#footer .logo {
			width: 28.21%;
			margin: 0 auto 12px auto;
		}
		#footer .copyright {
			letter-spacing: 0.6px;
		}

					}/*====================*/




.mfp-iframe-holder .mfp-close {
	font-size: 0;
	background: url(../img/close.svg) no-repeat center center;
	background-size: 90% auto;
	top: -50px;
	right: 0;
	width: 40px;
	height: 40px;
}

/*-----------------------------------------------------------
	#animation setting
-----------------------------------------------------------*/




