@charset "utf-8";

html{
	margin:0; padding:0;
	-webkit-text-size-adjust: 100%;
	/*scroll-behavior: smooth;*/
}

body{
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	overflow-x:hidden;
	overflow-y:scroll;
	
	color:#fff;
	background-color:#02030a;
	
	-ms-overflow-style: none;
	scrollbar-width: none;
}
body::-webkit-scrollbar{
	display:none;
}
::selection
{
	background: rgba(120,120,120,0.5);
	/*color: #fff;*/
}
::-moz-selection
{
	background: rgba(0,0,0,0.2);
	/*color: #fff;*/
}

div, p{
	margin:0;
	padding:0;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a{
	color:#fff;
	text-decoration:none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a:hover{
	color:#fff;
	text-decoration:none;
}
a:visited{
	color:#fff;
	text-decoration:none;
}
ul,li{
	margin:0;
	padding:0;
}
img{
	border:none;
	user-select:none;
	-webkit-user-select:none;
	-ms-user-select: none;
	-moz-user-select:none;
}
.ja{
	font-family: "YakuHanJP_Noto", "Noto Sans JP", sans-serif;
	font-weight:300;
	letter-spacing:0.2em;
}
.ja-b{
	font-family: "YakuHanJP_Noto", "Noto Sans JP", sans-serif;
	font-weight:700;
	letter-spacing:0.2em;
}
.en{
	font-family: urw-din, sans-serif;
	font-weight:400;
	letter-spacing:0.08em;
}
.en-b{
	font-family: urw-din, sans-serif;
	font-weight:400;
	letter-spacing:0.03em;
}
.en-b2{
	font-family: urw-din, sans-serif;
	font-weight:400;
	letter-spacing:0.2em;
}
.en-num{
	font-family: 'Alef', sans-serif;
	font-weight:400;
}
.a-cover{
	display:block;
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
}


.world {
	position: fixed;
	left:0; top:0;
	width:100%; height:100%;
	backface-visibility: hidden;
	/*background-color:#22232d;*/
}
.gl-cov{
	position: fixed;
	left:0; top:0;
	width:100%; height:100%;
	background-image:url(../image/color.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	mix-blend-mode: multiply;
	/*mix-blend-mode: hard-light;*/
	opacity:0.0;
	display:none;
	backface-visibility: hidden;
}
/*@media screen and (max-width:800px){
	.world{
		height:135%;
	}
}*/

.dt-wrapper{
	display:none;
}


.bg-line-set{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
}
.bg-line1{
	position:absolute;
	width:1px; height:100%;
	left:50%; top:0;
	background-color:rgba(255, 255, 255, 0.12);
}
.bg-line2{
	position:absolute;
	width:1px; height:100%;
	left:50%; top:0;
	margin-left:-20%;
	background-color:rgba(255, 255, 255, 0.17);
}
.bg-line3{
	position:absolute;
	width:1px; height:100%;
	left:50%; top:0;
	margin-left:20%;
	background-color:rgba(255, 255, 255, 0.17);
}
.bg-line4{
	position:absolute;
	width:1px; height:100%;
	left:50%; top:0;
	margin-left:-40%;
	background-color:rgba(255, 255, 255, 0.17);
}
.bg-line5{
	position:absolute;
	width:1px; height:100%;
	left:50%; top:0;
	margin-left:40%;
	background-color:rgba(255, 255, 255, 0.17);
}
@media screen and (max-width:800px){
	.bg-line1{
		background-color:rgba(255, 255, 255, 0.12);
	}
	.bg-line2{
		margin-left:-30%;
		background-color:rgba(255, 255, 255, 0.12);
	}
	.bg-line3{
		margin-left:30%;
		background-color:rgba(255, 255, 255, 0.12);
	}
	.bg-line4{
		display:none;
	}
	.bg-line5{
		display:none;
	}
}

/* -- SCROLL -- */
.scroll-wrapp{
	position:absolute;
	width:1px; height:3000px;
	top:0; left:0;
}


/* -- HEADER -- */
.header-set{
	position:fixed;
	width:100%;
	top:0; left:0;
}
.head-logo{
	position:absolute;
	width:116px;
	height:108px;
	top:22px;
	left:22px;
	background-image:url(../image/logo.png);
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
	cursor:pointer;
}
.header-humb{
	position:absolute;
	width:22px; height:18px;
	top:100px;right:28px;
	background-image:url(../image/menu.png);
	background-size:contain;
	cursor:pointer;
	transition:0.2s;
}
.header-humb:hover{
	opacity:0.5;
}
@media screen and (max-width:800px){
	.head-logo{
		width:88px;
		height:82px;
		top:14px;
		left:14px;
	}
}


/* -- PROJECT LIST -- */
.project-list{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	display:none;
}
.project-list-t{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	overflow-x:hidden;
    overflow-y:scroll;
	display:none;
	opacity:0;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.project-list-t::-webkit-scrollbar{
	display:none;
}
.project-list-bg{
	position:absolute;
	width:100%; height:100vh;
	top:0; left:0;
	background-color:#000;
	opacity:0.97;
}
.project-list-close{
	position:fixed;
	width:64px;
	height:27px;
	top:40px;
	right:40px;
	background-image:url(../image/movie_close.png);
	background-repeat:no-repeat;
	background-size:contain;
	cursor:pointer;
	opacity:1;
	transition:0.2s;
	display:none;
}
.project-list-close:hover{
	opacity:0.5;
}
.project-list-in{
	position:relative;
	width:680px;
	min-height:100%;
	margin-left:auto; margin-right:auto;
	padding-top:80px; padding-bottom:120px;
}
.project-title{
	display:block;
	width:100%;
	margin-bottom:70px;
	font-size:14px;
}
.project-item{
	display:block;
	position:relative;
	width:100%;
	padding-top:30px; padding-bottom:30px;
	font-size:28px;
	color:#fff;
	line-height:36px;
	/*border-bottom:solid 1px rgba(255,255,255,0.2);*/
	cursor:pointer;
}
.project-item-num{
	position:absolute;
	left:-50px; top:26px;
	font-size:12px;
}
.project-item-border{
	width: 24px;
	height: 1px;
	background-color: #777;
}
.project-list-menu{
	margin-bottom:50px;
	font-size:14px;
	color:#666;
	display:none;
}
.project-list-menu span{
	color:#fff;
}
.menu-h-con{
	margin-right:10px;
}
@media screen and (max-width:900px){
	.project-list-close:hover{
		opacity:1;
	}
}
@media screen and (max-width:700px){
	.project-list-in{
		position:relative;
		width:90%;
		padding-top:80px; padding-bottom:120px;
	}
	.project-title{
		font-size:12px;
		margin-bottom:10px;
		color:#999;
	}
	.project-item{
		padding-top:24px; padding-bottom:24px;
		font-size:18px;
		line-height:26px;
	}
	.project-item-num{
		displa:none;
	}
	.project-list-menu{
		font-size:16px;
		display:block;
	}
}
@media screen and (max-width:500px){
	.project-list-close{
		width:52px;
		height:22px;
		top:24px;
		right:30px;
	}
}

/* -- PROJECT OVER -- */
.project-over-root{
	position:absolute;
}
.project-over{
	position:absolute;
	width:260px; height:260px;
	top:50%; left:50%;
	margin-left:-130px; margin-top:-130px;
	border-radius:130px;
	background-color:#000;
	display:none;
	opacity:0;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
}

/* -- FOOTER -- */
.footer-set{
	position:fixed;
	left:0; bottom:0;
}
.foot-copy{
	display:none;
	position:absolute;
	left:20px; bottom:160px;
	font-size:14px;
	white-space:nowrap;
	transform:rotate(90deg);
	transform-origin: bottom left;
	opacity:0.8;
}
@media screen and (max-width:800px){
	.foot-copy{
		display:none;
	}
}


/* -- INFO -- */
.info-wrapper{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	overflow:hidden;
}
.info-in{
	position:absolute;
	width:100%;
	top:0; left:0;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}

.sp-info{
	position:absolute;
	width:100%;
	display:none;
}

.page-midashi{
	position:absolute;
	display:inline-block;
	top:23vh; left:50%;
	transform: translateX(-48%);
}
.page-midashi-in{
	font-size:24px;
	border-bottom:solid 1px #fff;
	padding-bottom:8px;
}

@media screen and (max-width:800px){
	.page-midashi{
		top:120px;
		font-size:20px;
	}
	.page-midashi-in{
		font-size:20px;
	}
}
@media screen and (max-width:500px){
	.page-midashi-in{
		font-size:18px;
	}
}

.top-sab-copy{
	position:absolute;
	right:14%;
	font-size:13px;
	line-height:23px;
	opacity:0;
	display:none;
}
@media screen and (max-width:500px){
	.top-sab-copy{
		visibility:hidden;
	}
}
.top-name-set{
	position:absolute;
	top:0; left:50%;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
.top-name-in{
	position:absolute;
	width:100px; height:100px;
	/*background-color:rgba(255, 0, 0, 0.5);*/
	cursor:pointer;
	-webkit-backface-visibility:hidden;
	backface-visibility: hidden;
}
.top-title{
	position:absolute;
	top:0; left:0;
	font-size:12px;
	line-height:18px;
	color:#aaa;
	text-transform:uppercase;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
.top-title-num{
	position:absolute;
	top:-36px; right:-12px;
	font-size:38px;
	letter-spacing:0;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	opacity:0.8;
}
.top-title-num span{
	font-size:24px;
	vertical-align:text-top;
	letter-spacing:0.05em;
}
.top-scroll-line{
	position:absolute;
	width:1px; height:80px;
	right:32px;
	background-color:#ddd;
	overflow:hidden;
}
.top-scroll-line-sp{
	position:absolute;
	width:1px; height:60px;
	left:50%;
	background-color:#ddd;
	overflow:hidden;
	display:none;
	opacity:0;
}
.top-scroll-line-in{
	position:absolute;
	width:1px; height:240px;
	top:0; left:0;
	background-image:url(../image/scroll_line.png);
	background-repeat:no-repeat;
	background-size:100% 100%;
	opacity:0.4;
}
.top-scroll-txt{
	position:absolute;
	height:28px;
	right:3px;
	transform:rotate(90deg);
	transform-origin: bottom left;
	opacity:1;
	white-space: nowrap;
	font-size:13px;
	letter-spacing: 0.2em;
}
.top-page-top{
	position:absolute;
	width:18px; height:18px;
	right:24px;
}
.top-page-top-in{
	position:absolute;
	width:18px; height:18px;
	top:0; left:0;
	display:none;
}
.top-page-top-btn{
	position:absolute;
	width:18px; height:18px;
	top:50%; left:50%;
	transform:translate(-50%, -50%);
	border-radius:10px;
	background-color:rgba(255,255,255,1);
	border:solid 1px #fff;
	box-sizing: border-box;
	cursor:pointer;
	transition:0.2s;
}
.top-page-top-btn:hover{
	width:28px; height:28px;
	border-radius:14px;
	background-color:rgba(255,255,255,0);
}
@media screen and (min-width:1800px){
	.top-title{
		font-size:14px;
		line-height:20px;
	}	
}
@media screen and (max-width:700px){
	.top-title-num{
		top:-32px; right:-12px;
		font-size:34px;
	}
	.top-title-num span{
		font-size:24px;
	}
	.top-scroll-line{
		display:none;
	}
	.top-scroll-txt{
		display:none;
	}
	.top-page-top{
		display:none;
	}
}

/* -- TOP ALL PROJECTS -- */
.top-all-p{
	position:absolute;
	width:156px; height:20px;
	right:10%;
	font-size:15px;
	letter-spacing:0.06em;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
.top-all-arrow{
	position:absolute;
	width:56px; height:20px;
	top:0; right:0;
	background-image:url(../image/allArrow.png);
	background-repeaat:no-repeat;
	background-size:contain;
}
.top-all-btn{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	cursor:pointer;
}

/* -- TOP STATEMENT -- */
.top-state-ja{
	position:absolute;
	left:50%;
	display:none!important;
	color:#fff;
	font-size:18px;
	line-height:48px;
	/*font-size:0.9375vw;
	line-height:2.5vw;*/
}
.top-state-1{
	margin-left:-300px;
}
.top-state-2{
	margin-left:50px;
}
.top-state-3{
	margin-left:-250px;
}
@media screen and (min-width:1920px){
	.top-state-ja{
		font-size:0.9375vw;
		line-height:2.5vw;
	}
}
@media screen and (max-width:1100px){
	.top-state-ja{
		left:40%;
		font-size:16px;
		line-height:38px;
	}
}
@media screen and (max-width:800px){
	.top-state-ja{
		left:20px;
		font-size:12px;
		line-height:30px;
	}
	.top-state-1{
		margin-left:20%;
	}
	.top-state-2{
		margin-left:20%;
	}
	.top-state-3{
		margin-left:20%;
	}
}
@media screen and (max-width:700px){
	.top-state-ja{
		left:20px;
		font-size:12px;
		line-height:30px;
	}
	.top-state-1{
		margin-left:0;
	}
	.top-state-2{
		margin-left:0;
	}
	.top-state-3{
		margin-left:0;
	}
}

/* -- TOP FOOTER -- */
.top-footer{
	position:absolute;
	width:100%;
	height:200px;
	top:0; left:0;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
.top-contact{
	position:relative;
	width:70%;
	height:160px;
	margin-left:auto; margin-right:auto;
	background-color:#111;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
}
.top-contact-t{
	position:absolute;
	width:100%;
	height:100%;
	top:0; left:0;
	text-align:center;
	line-height:160px;
	font-size:24px;
}
.top-contact-bg{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	opacity:0.4;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	
	background: linear-gradient(80deg, #555, #222, #444);
	background-size: 600% 400%;
	
	-webkit-animation: contact-bg-anim 8s ease infinite;
	-moz-animation: contact-bg-anim 8s ease infinite;
	animation: contact-bg-anim 8s ease infinite;
}
@-webkit-keyframes contact-bg-anim {
	0%{background-position:0% 50%}
	50%{background-position:100% 50%}
	100%{background-position:0% 50%}
}
@-moz-keyframes contact-bg-anim {
	0%{background-position:0% 50%}
	50%{background-position:100% 50%}
	100%{background-position:0% 50%}
}
@keyframes contact-bg-anim {
	0%{background-position:0% 50%}
	50%{background-position:100% 50%}
	100%{background-position:0% 50%}
}
.top-contact-over{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-color:#fff;
	opacity:0.9;
}
.top-contact-btn{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	cursor:pointer;
}
.top-address{
	display:none!important;
	width:100%;
	margin-top:30px;
	font-size:14px;
	line-height:24px;
	text-align:center;
}
.sp-br{
	display:none;
}
@media screen and (max-width:800px){
	.top-contact{
		width:90%;
		height:80px;
	}
	.top-contact-t{
		font-size:18px;
		line-height:80px;
	}
	.top-address{
		margin-top:24px;
		font-size:12px;
		line-height:20px;
	}
	.sp-br{
		display:inline;
	}
}


/* -- TRANSITION COVER -- */
.transition-cover{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	display:none;
}
.t-cov-txt{
	position:absolute;
	width:100%; height:100px;
	top:50%; left:0;
	margin-top:-56px;
	text-align:center;
	text-transform:uppercase;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
.t-cov-num{
	font-size:30px;
	opacity:0.3;
}
.t-cov-num span{
	font-size:20px;
	vertical-align:text-top;
	letter-spacing:0.05em;
}
.t-cov-title{
	font-size:18px;
	line-height:24px;
	opacity:0.6;
}
.t-cov-bar{
	display:inline-block;
	position:relative;
	width:100px;
	height:1px;
	margin-top:30px;
	margin-left:auto; margin-right:auto;
	background-color:#555;
	overflow:hidden;
}
.t-cov-barIn{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-image:url(../image/loading_line.png);
	background-repeat:no-repeat;
	background-size:100% 100%;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
@media screen and (max-width:700px){
	.t-cov-txt{
		margin-top:-30px;
	}
	.t-cov-num{
		font-size:20px;
		opacity:0.3;
	}
	.t-cov-num span{
		font-size:12px;
		vertical-align:text-top;
		letter-spacing:0.05em;
	}
	.t-cov-title{
		font-size:14px;
		line-height:17px;
		opacity:0.6;
	}
}

/* -- DETAIL -- */
.detail-title-set{
	position:absolute;
	top:280px; left:10%;
	width:80%;
	font-size:0;
	-webkit-backface-visibility:hidden;
	backface-visibility: hidden;
}
.detail-title-num{
	position:absolute;
	top:0; left:-18px;
	font-size:36px;
	opacity:0.5;
}
.detail-title-num span{
	font-size:24px;
	vertical-align:text-top;
	letter-spacing:0.05em;
}
.detail-title-en{
	margin-top:54px;
	font-size:74px;
	line-height:95px;
}
.detail-title-en span{
	font-size:86px;
	/*font-family: kepler-std-display, serif;
	font-weight:300;*/
	
	font-family: 'Cormorant', serif;
	
	font-style: italic;
	letter-spacing:0.03em;
}
.detail-title-ja{
	margin-top:24px;
	font-size:14px;
	line-height:26px;
}
.detail-title-line{
	width:24px; height:1px;
	margin-top:26px;
	background-color:#fff;
}
.detail-title-link{
	position:relative;
	width:130px; height:130px;
	margin-top:62px;
	-webkit-backface-visibility:hidden;
	backface-visibility: hidden;
}
.detail-title-linkIn{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	font-size:14px;
	color:#fff;
	text-align:center;
	line-height:130px;
}
.detail-title-linkBg{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	border:solid 1px rgba(255, 255, 255, 1);
	background-color:rgba(255, 255, 255, 0);
	border-radius:50%;
	box-sizing: border-box;
	-webkit-backface-visibility:hidden;
	backface-visibility: hidden;
}
.no-link{
	opacity:0.5;
}
.active-link{
	opacity:1;
	cursor:pointer;
}

.detail-description{
	position:absolute;
	/*width:490px;*/
	top:0; left:50%;
	/*margin-left:-440px;*/
	font-size:14px;
	line-height:32px;
	-webkit-backface-visibility:hidden;
	backface-visibility: hidden;
}
.detail-description p{
	margin-bottom:40px;
}
.detail-credit{
	position:absolute;
	top:0; left:50%;
	font-size:14px;
	line-height:32px;
	-webkit-backface-visibility:hidden;
	backface-visibility: hidden;
}
.detail-credit p{
	margin-bottom:40px;
}

.detail-title-linkIn{
	font-size:12px;
	letter-spacing:0.08em;
}
.detail-description .voidshift-kicker,
.detail-description .downloads-kicker,
.detail-description .policy-kicker{
	margin-bottom:16px;
	font-size:12px;
	line-height:1;
	color:#55f3ff;
	letter-spacing:0.18em;
}
.detail-description .voidshift-lede,
.detail-description .downloads-lede,
.detail-description .policy-lede{
	margin-bottom:24px;
	font-size:22px;
	line-height:36px;
	color:#fff;
}
.detail-description .voidshift-copy,
.detail-description .downloads-copy,
.detail-description .policy-copy{
	margin-bottom:30px;
	color:rgba(255,255,255,0.78);
}
.detail-description .downloads-copy,
.detail-description .policy-copy{
	letter-spacing:0.04em;
	white-space:normal;
	overflow-wrap:anywhere;
	word-break:normal;
}
.voidshift-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-bottom:0;
}
.voidshift-download{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:0 20px;
	border:1px solid rgba(85,243,255,0.6);
	border-radius:999px;
	background:rgba(85,243,255,0.08);
	box-shadow:0 0 24px rgba(203,45,255,0.22), inset 0 0 18px rgba(85,243,255,0.12);
	color:#fff;
	line-height:44px;
	text-decoration:none;
	transition:opacity 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.voidshift-download:hover{
	opacity:0.78;
	border-color:rgba(255,77,214,0.72);
	box-shadow:0 0 30px rgba(255,77,214,0.24), inset 0 0 18px rgba(85,243,255,0.16);
}
.voidshift-policy-link{
	background:rgba(255,77,214,0.08);
	border-color:rgba(255,77,214,0.52);
}
.voidshift-credit,
.downloads-credit,
.policy-credit{
	display:none !important;
}
.voidshift-description,
.agentic-description,
.software-description,
.downloads-description,
.policy-description{
	width:min(82vw, 980px) !important;
	margin-left:max(-490px, -41vw) !important;
}
.voidshift-layout,
.downloads-layout{
	display:grid;
	grid-template-columns:minmax(300px, 0.92fr) minmax(300px, 1.08fr);
	gap:34px;
	align-items:start;
}
.policy-layout{
	display:block;
	max-width:760px;
}
.voidshift-copy-panel p:last-child,
.downloads-copy-panel p:last-child,
.policy-copy-panel p:last-child{
	margin-bottom:0;
}
.voidshift-gallery{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:12px;
	margin-top:4px;
}
.voidshift-gallery img{
	display:block;
	width:100%;
	aspect-ratio:4/5;
	object-fit:cover;
	object-position:top center;
	border:1px solid rgba(85,243,255,0.26);
	border-radius:6px;
	background:#02030a;
	box-shadow:0 0 26px rgba(85,243,255,0.12), 0 0 34px rgba(255,77,214,0.1);
}
.downloads-file-panel,
.policy-sections{
	margin-top:4px;
	border-top:1px solid rgba(85,243,255,0.24);
}
.policy-sections{
	margin-top:38px;
}
.downloads-meta-list{
	display:grid;
	gap:0;
	margin:0;
}
.downloads-meta-list div,
.policy-section{
	padding:18px 0;
	border-bottom:1px solid rgba(255,255,255,0.12);
}
.downloads-meta-list dt,
.policy-section h2{
	margin:0 0 8px;
	color:#55f3ff;
	font-size:11px;
	line-height:18px;
	letter-spacing:0.16em;
	text-transform:uppercase;
}
.downloads-meta-list dd{
	margin:0;
	color:rgba(255,255,255,0.84);
	font-size:13px;
	line-height:24px;
	letter-spacing:0.02em;
	overflow-wrap:anywhere;
	word-break:normal;
}
.downloads-meta-list code{
	display:block;
	color:rgba(255,255,255,0.92);
	font-family:Menlo, Consolas, monospace;
	font-size:11px;
	letter-spacing:0;
	overflow-wrap:anywhere;
	word-break:break-all;
}
.policy-section p{
	margin:0;
	color:rgba(255,255,255,0.76);
	font-size:13px;
	line-height:26px;
	letter-spacing:0.025em;
	white-space:normal;
	overflow-wrap:anywhere;
	word-break:normal;
}
.policy-section p + p{
	margin-top:8px;
}
.voidshift-policy-body{
	min-height:100vh;
	background:
		radial-gradient(circle at 72% 18%, rgba(85,243,255,0.12), transparent 32%),
		radial-gradient(circle at 14% 82%, rgba(255,77,214,0.12), transparent 30%),
		#02030a;
}
.privacy-menu{
	position:fixed;
	top:26px;
	right:22px;
	z-index:4;
	display:flex;
	align-items:center;
	gap:12px;
	font-size:12px;
	color:rgba(255,255,255,0.42);
}
.privacy-menu a{
	padding-bottom:8px;
	border-bottom:1px solid rgba(255,255,255,0);
	color:#fff;
	transition:border-color 0.2s, opacity 0.2s;
}
.privacy-menu a:hover{
	border-bottom-color:rgba(255,255,255,1);
	opacity:0.82;
}
.voidshift-policy-page{
	position:relative;
	z-index:1;
	width:min(920px, calc(100% - 96px));
	margin:0 auto;
	padding:170px 0 96px;
}
.voidshift-policy-hero{
	margin-bottom:56px;
}
.voidshift-policy-kicker{
	margin-bottom:18px;
	font-size:12px;
	line-height:1;
	color:#55f3ff;
	letter-spacing:0.2em;
}
.voidshift-policy-hero h1{
	margin:0 0 18px;
	font-size:clamp(42px, 8vw, 96px);
	line-height:0.95;
	letter-spacing:0.08em;
}
.voidshift-policy-date{
	margin-bottom:24px;
	color:rgba(255,255,255,0.66);
	font-size:13px;
}
.voidshift-policy-hero p,
.voidshift-policy-section p{
	max-width:760px;
	color:rgba(255,255,255,0.78);
	font-size:15px;
	line-height:30px;
	letter-spacing:0.08em;
}
.voidshift-policy-content{
	display:grid;
	gap:34px;
}
.voidshift-policy-section{
	padding:30px 0;
	border-top:1px solid rgba(255,255,255,0.16);
}
.voidshift-policy-section h2{
	margin:0 0 16px;
	font-size:18px;
	line-height:1.35;
	letter-spacing:0.12em;
	color:#fff;
}
.voidshift-policy-section p + p{
	margin-top:8px;
}
.voidshift-policy-back{
	margin-top:46px;
}
.voidshift-policy-back a{
	display:inline-flex;
	align-items:center;
	min-height:44px;
	padding:0 20px;
	border:1px solid rgba(85,243,255,0.6);
	border-radius:999px;
	background:rgba(85,243,255,0.08);
	box-shadow:0 0 24px rgba(203,45,255,0.22), inset 0 0 18px rgba(85,243,255,0.12);
	font-size:12px;
	line-height:44px;
	letter-spacing:0.08em;
}
.downloads-body{
	background:
		radial-gradient(circle at 76% 18%, rgba(85,243,255,0.14), transparent 34%),
		radial-gradient(circle at 12% 74%, rgba(255,77,214,0.13), transparent 32%),
		#02030a;
}
.downloads-page{
	width:min(1040px, calc(100% - 96px));
}
.downloads-hero{
	margin-bottom:44px;
}
.downloads-section{
	padding:34px 0 0;
	border-top:1px solid rgba(255,255,255,0.14);
}
.downloads-section-heading{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:24px;
	margin-bottom:22px;
}
.downloads-eyebrow{
	margin:0;
	font-size:12px;
	line-height:1;
	color:#55f3ff;
	letter-spacing:0.2em;
}
.downloads-section-heading h2{
	margin:0;
	font-size:22px;
	line-height:1;
	letter-spacing:0.12em;
}
.download-card{
	display:grid;
	grid-template-columns:minmax(280px, 0.88fr) minmax(320px, 1.12fr);
	gap:28px;
	padding:30px;
	border:1px solid rgba(85,243,255,0.22);
	border-radius:8px;
	background:linear-gradient(135deg, rgba(85,243,255,0.08), rgba(255,77,214,0.05) 52%, rgba(255,255,255,0.035));
	box-shadow:0 0 34px rgba(85,243,255,0.1), 0 0 42px rgba(255,77,214,0.08);
}
.download-card-kicker{
	margin:0 0 18px;
	font-size:12px;
	line-height:1;
	color:#ff4dd6;
	letter-spacing:0.2em;
}
.download-card h3{
	margin:0 0 16px;
	font-size:clamp(30px, 5vw, 56px);
	line-height:0.98;
	letter-spacing:0.06em;
}
.download-card p{
	max-width:480px;
	margin:0;
	color:rgba(255,255,255,0.78);
	font-size:15px;
	line-height:29px;
	letter-spacing:0.08em;
}
.download-tags{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:24px;
}
.download-tags span{
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:0 11px;
	border:1px solid rgba(255,255,255,0.14);
	border-radius:999px;
	background:rgba(255,255,255,0.045);
	color:rgba(255,255,255,0.78);
	font-size:11px;
	line-height:30px;
	letter-spacing:0.12em;
}
.download-card-meta dl{
	display:grid;
	gap:14px;
	margin:0 0 24px;
}
.download-card-meta dl div{
	display:grid;
	grid-template-columns:92px minmax(0, 1fr);
	gap:18px;
	padding-bottom:14px;
	border-bottom:1px solid rgba(255,255,255,0.1);
}
.download-card-meta dt{
	color:rgba(85,243,255,0.78);
	font-size:11px;
	line-height:18px;
	letter-spacing:0.16em;
	text-transform:uppercase;
}
.download-card-meta dd{
	min-width:0;
	margin:0;
	color:rgba(255,255,255,0.84);
	font-size:13px;
	line-height:22px;
	letter-spacing:0.06em;
	overflow-wrap:anywhere;
}
.download-card-meta code{
	color:#fff;
	font-family:Menlo, Consolas, monospace;
	font-size:11px;
	letter-spacing:0;
}
.download-file-button{
	width:max-content;
	text-transform:uppercase;
}
.downloads-note{
	margin-top:34px;
	color:rgba(255,255,255,0.58);
	font-size:13px;
	line-height:26px;
	letter-spacing:0.08em;
}
.agentic-credit{
	display:none !important;
}
.agentic-layout{
	display:grid;
	grid-template-columns:minmax(300px, 0.95fr) minmax(330px, 1.05fr);
	gap:34px;
	align-items:start;
}
.agentic-kicker{
	margin-bottom:18px;
	font-size:12px;
	line-height:1;
	color:#ff4b4b;
	letter-spacing:0.18em;
}
.agentic-product{
	margin-bottom:30px;
	padding-bottom:24px;
	border-bottom:1px solid rgba(255,255,255,0.14);
}
.agentic-product:last-child{
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:0;
}
.agentic-product-title{
	margin-bottom:10px;
	font-size:22px;
	line-height:30px;
	color:#fff;
	letter-spacing:0.03em;
}
.agentic-product p:not(.agentic-product-title){
	margin-bottom:0;
	color:rgba(255,255,255,0.78);
}
.agentic-gallery{
	display:grid;
	grid-template-columns:1fr;
	gap:16px;
}
.agentic-gallery figure{
	margin:0;
}
.agentic-gallery img{
	display:block;
	width:100%;
	aspect-ratio:16/9;
	object-fit:cover;
	object-position:center;
	border:1px solid rgba(255,77,77,0.28);
	border-radius:6px;
	background:#02030a;
	box-shadow:0 0 28px rgba(255,45,45,0.12), 0 0 28px rgba(255,255,255,0.08);
}
.agentic-gallery figcaption{
	margin-top:8px;
	font-size:11px;
	line-height:1;
	color:rgba(255,255,255,0.68);
	letter-spacing:0.18em;
	text-transform:uppercase;
}
.software-credit{
	display:none !important;
}
.software-layout{
	display:grid;
	grid-template-columns:minmax(300px, 0.95fr) minmax(330px, 1.05fr);
	gap:34px;
	align-items:start;
}
.software-kicker{
	margin-bottom:18px;
	font-size:12px;
	line-height:1;
	color:#76b7ff;
	letter-spacing:0.18em;
}
.software-product{
	margin-bottom:30px;
	padding-bottom:24px;
	border-bottom:1px solid rgba(255,255,255,0.14);
}
.software-product:last-child{
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:0;
}
.software-product-title{
	margin-bottom:10px;
	font-size:22px;
	line-height:30px;
	color:#fff;
	letter-spacing:0.03em;
}
.software-product p:not(.software-product-title){
	margin-bottom:0;
	color:rgba(255,255,255,0.78);
}
.software-gallery{
	display:grid;
	grid-template-columns:1fr;
	gap:16px;
}
.software-gallery figure{
	margin:0;
}
.software-gallery img{
	display:block;
	width:100%;
	aspect-ratio:16/9;
	object-fit:cover;
	object-position:center;
	border:1px solid rgba(118,183,255,0.28);
	border-radius:6px;
	background:#02030a;
	box-shadow:0 0 28px rgba(118,183,255,0.14), 0 0 28px rgba(255,255,255,0.08);
}
.software-gallery figure:nth-child(2) img{
	aspect-ratio:16/10;
	object-fit:cover;
}
.software-gallery figcaption{
	margin-top:8px;
	font-size:11px;
	line-height:1;
	color:rgba(255,255,255,0.68);
	letter-spacing:0.18em;
	text-transform:uppercase;
}

@media screen and (min-width:1800px){
	.detail-title-num{
		top:0; left:-20px;
		font-size:40px;
	}
	.detail-title-num span{
		font-size:27px;
	}
	.detail-title-en{
		margin-top:62px;
		font-size:82px;
		line-height:107px;
	}
	.detail-title-en span{
		font-size:96px;
	}
}
@media screen and (max-width:800px){
	.detail-title-set{
		/*top:180px;*/
		top:200px;
		left:8%;
		width:84%;
	}
	.detail-title-en{
		margin-top:44px;
		font-size:40px;
		line-height:50px;
	}
	.detail-title-en span{
		font-size:50px;
		font-weight:300;
		font-style: italic;
	}
	.detail-title-num{
		position:absolute;
		top:0; left:-18px;
		font-size:28px;
		opacity:0.5;
	}
	.detail-title-num span{
		font-size:18px;
		vertical-align:text-top;
		letter-spacing:0.05em;
	}
	.detail-title-ja{
		margin-top:12px;
		font-size:12px;
		line-height:20px;
	}
	.detail-title-link{
		width:100px; height:100px;
		margin-top:40px;
	}
	.detail-title-linkIn{
		font-size:12px;
		line-height:100px;
	}
	.detail-description .voidshift-lede,
	.detail-description .downloads-lede,
	.detail-description .policy-lede{
		font-size:18px;
		line-height:30px;
	}
	.voidshift-download{
		min-height:40px;
		padding:0 16px;
		line-height:40px;
	}
	.voidshift-actions{
		gap:10px;
	}
	.voidshift-description,
	.agentic-description,
	.software-description,
	.downloads-description,
	.policy-description{
		width:84% !important;
		margin-left:-42% !important;
	}
	.voidshift-layout,
	.agentic-layout,
	.software-layout,
	.downloads-layout,
	.policy-layout{
		grid-template-columns:1fr;
		gap:24px;
	}
	.agentic-product-title,
	.software-product-title{
		font-size:18px;
		line-height:28px;
	}
	.voidshift-gallery{
		gap:10px;
	}
	.voidshift-gallery img{
		aspect-ratio:3/4;
	}
	.privacy-menu{
		display:none;
	}
	.voidshift-policy-page{
		width:min(86%, 920px);
		padding-top:130px;
		padding-bottom:76px;
	}
	.voidshift-policy-hero{
		margin-bottom:42px;
	}
	.voidshift-policy-hero h1{
		font-size:clamp(36px, 12vw, 60px);
	}
	.voidshift-policy-hero p,
	.voidshift-policy-section p{
		font-size:13px;
		line-height:27px;
	}
	.voidshift-policy-section{
		padding:24px 0;
	}
	.downloads-page{
		width:min(86%, 920px);
	}
	.downloads-section-heading,
	.download-card,
	.download-card-meta dl div{
		grid-template-columns:1fr;
	}
	.downloads-section-heading{
		align-items:start;
		gap:10px;
	}
	.download-card{
		gap:24px;
		padding:22px;
	}
	.download-card h3{
		font-size:clamp(30px, 11vw, 44px);
	}
	.download-card p{
		font-size:13px;
		line-height:27px;
	}
	.download-card-meta dl div{
		gap:6px;
	}
	.download-file-button{
		width:100%;
	}
}

@media screen and (max-width:1200px){
	.detail-description{
		/*width:470px;
		margin-left:-470px;*/
		font-size:12px;
		line-height:28px;
	}
	.detail-description p{
		margin-bottom:30px;
	}
	.detail-credit{
		/*width:400px;
		margin-left:100px;*/
		font-size:12px;
		line-height:28px;
	}
	.detail-credit p{
		margin-bottom:30px;
	}
}
.detail-img{
	position:absolute;
	/*width:1600px; height:900px;*/
	left:50%; top:0;
	transform-origin: top left;
	overflow:hidden;
	-webkit-backface-visibility:hidden;
	backface-visibility: hidden;
}
.detail-img-in{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-repeat:no-repeat;
	background-size:contain;
	transform-origin: top left;
	-webkit-backface-visibility:hidden;
	backface-visibility: hidden;
}
.detail-footer-txt{
	position:absolute;
	width:100%; height:100px;
	top:1000px; left:0;
	-webkit-backface-visibility:hidden;
	backface-visibility: hidden;
}
.detail-next{
	position:absolute;
	width:600px;
	height:80%;
	top:10%; left:50%;
	margin-left:-300px;
	cursor:pointer;
}
.detail-next-t{
	position:absolute;
	width:100px;
	height:20px;
	font-size:18px;
	color:#fff;
	opacity:0.6;
	left:50%; top:50%;
	margin-left:-28%;
	margin-top:-12px;
}
.detail-footer-line-l{
	position:absolute;
	width:10%; height:1px;
	top:50%; left:50%;
	margin-left:-26%;
	background-color:rgba(255, 255, 255, 0.3);
}
.detail-footer-line-r{
	position:absolute;
	width:10%; height:1px;
	top:50%; left:50%;
	margin-left:16%;
	background-color:rgba(255, 255, 255, 0.3);
}
.t-foot-num{
	font-size:30px;
	opacity:0.3;
}
.t-foot-num span{
	font-size:20px;
	vertical-align:text-top;
	letter-spacing:0.05em;
}
.t-foot-title{
	font-size:17px;
	line-height:24px;
	opacity:0.6;
}
@media screen and (max-width:1200px){
	.detail-next-t{
		display:none;
	}
	.detail-footer-line-l{
		display:none;
	}
	.detail-footer-line-r{
		display:none;
	}
}
@media screen and (max-width:700px){
	.detail-next{
		width:300px;
		margin-left:-150px;
	}
	.t-foot-num{
		font-size:20px;
		opacity:0.3;
	}
	.t-foot-num span{
		font-size:14px;
	}
	.t-foot-title{
		font-size:12px;
		line-height:16px;
	}
}

.detail-back{
	position:absolute;
	width:120px; height:120px;
	bottom:16%;
	left:68%;
	cursor:pointer;
}
.detail-back-bg{
	position:absolute;
	width:100%; height:100%;
	TOP:0; left:0;
	border-radius:50%;
	border:solid 1px #999;
	background-color:rgba(255, 255, 255, 0);
}
.detail-back-t{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	line-height:120px;
	font-size:14px;
	color:#fff;
	text-align:center;
}
@media screen and (max-width:800px){
	.detail-back{
		width:80px; height:80px;
		bottom:12%;
		left:70%;
		border-radius:40px;
	}
	.detail-back-t{
		line-height:80px;
		font-size:12px;
	}
}
.detail-movie-wrapp{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	cursor:pointer;
}
.detail-movie-play{
	position:absolute;
	width:160px;
	height:160px;
	top:50%; left:50%;
	transform:translate(-50%, -50%);
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.8);
	
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	
	font-size:22px;
	line-height:160px;
	text-align:center;
}
@media screen and (max-width:500px){
	.detail-movie-play{
		width:360px;
		height:360px;
		font-size:60px;
		line-height:360px;
	}
}
.detail-movie-btn{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
}

/* -- MOVIE PLAYER -- */
.movie-player{
	position:fixed;
	width:100%; height:100%;
	display:none;
}
.movie-player-bg{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-color:#111;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
.movie-frame{
	position:relative;
	width:90%;
	top:50%; left:50%;
	transform:translate(-50%, -50%);
	background-color:#000;
}
.movie-frame iframe {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
}
.movie-close{
	position:absolute;
	width:64px;
	height:27px;
	top:40px;
	right:50px;
	background-image:url(../image/movie_close.png);
	background-repeat:no-repeat;
	background-size:contain;
	cursor:pointer;
	opacity:1;
	transition:0.2s;
}
.movie-close:hover{
	opacity:0.5;
}
@media screen and (max-width:900px){
	.movie-close:hover{
		opacity:1;
	}
}
@media screen and (max-width:500px){
	.movie-close{
		width:52px;
		height:22px;
		top:24px;
		right:30px;
	}
}

/* -- MENU -- */
.menu{
	position:fixed;
	top:26px; right:22px;
	font-size:12px;
	color:rgba(255,255,255,0.4);
}
.menu-con{
	display:inline-block;
	margin-right:10px;
	padding-bottom:8px;
	border-bottom: solid 1px rgba(255,255,255,0);
	transition:0.2s;
	cursor:pointer;
	color:rgba(255,255,255,1);
}
.menu-con:hover{
	border-bottom: solid 1px rgba(255,255,255,1);
}
.menu-fb{
	display:inline-block;
	margin-left:10px; margin-right:10px;
	padding-bottom:8px;
	border-bottom: solid 1px rgba(255,255,255,0);
	transition:0.2s;
	color:#fff;
}
.menu-projects,
.menu-h-voidshift,
.menu-h-projects{
	cursor:pointer;
}
.menu-fb:hover{
	border-bottom: solid 1px rgba(255,255,255,1);
}
.menu-tw{
	display:inline-block;
	margin-left:10px;
	padding-bottom:8px;
	border-bottom: solid 1px rgba(255,255,255,0);
	transition:0.2s;
	color:#fff;
}
.menu-tw:hover{
	border-bottom: solid 1px rgba(255,255,255,1);
}

@media screen and (max-width:700px){
	.menu{
		right:54px;
		display:none;
	}
	.menu-con{
		margin-right:10px;
	}
	.menu-fb{
		margin-left:10px;
	}
	.menu-con:hover{
		border-bottom: solid 1px rgba(255,255,255,0);
	}
	.menu-fb:hover{
		border-bottom: solid 1px rgba(255,255,255,0);
	}
}


/* CONTACT MODAL */
.contact-base{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	display:none;
}
.contact-bg{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-color:#eeeeee;
}
.contact-txt{
	position:absolute;
	top:50%; left:50%;
	transform: translate(-50%, -50%);
	width:min(84vw, 760px);
	font-size:14px;
	color:#333;
	text-align:center;
}
.contact-txt span{
	line-height:24px;
}
.c-info{
	white-space: nowrap;
	text-align:center;
	font-size:clamp(20px, 3.2vw, 42px);
	line-height:1.1;
	letter-spacing:0.045em;
	margin-bottom:20px;
	padding-bottom:10px;
	border-bottom: solid 3px #000;
	transition:0.2s;
	overflow-wrap:normal;
	word-break:normal;
}
.c-info a{
	display:inline-block;
	max-width:100%;
	white-space:nowrap;
}
.c-info:hover{
	opacity:0.5;
}
.contact-txt a{
	color:#000;
}
.c-comm{
	user-select: none;
}
.c-close{
	position:absolute;
	width:64px;
	height:27px;
	top:40px;
	right:40px;
	background-image:url(../image/contact_close.png);
	background-repeat:no-repeat;
	background-size:contain;
	cursor:pointer;
	opacity:0.4;
}
@media screen and (max-width:900px){
	.c-info{
		font-size:clamp(18px, 4vw, 32px);
		letter-spacing:0.04em;
		border-bottom: solid 2px #000;
	}
}
@media screen and (max-width:500px){
	.c-info{
		font-size:clamp(16px, 4.6vw, 22px);
		letter-spacing:0.025em;
		margin-top:10px;
		border-bottom: solid 1px #000;
	}
	.contact-txt{
		font-size:12px;
		letter-spacing: 0.1em;
	}
	.contact-txt span{
		line-height:22px;
	}
	.c-close{
		width:52px;
		height:22px;
		top:24px;
		right:30px;
	}
}


/* -- LOADING -- */
.loading{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	background-color:#000;
	opacity:1;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
.loading-bar{
	position:absolute;
	width:140px; height:1px;
	top:50%; left:50%;
	transform:translate(-50%, -50%);
	overflow:hidden;
	opacity:0.6;
}
.loading-bar-in{
	position:absolute;
	width:300%; height:100%;
	background-image:url(../image/loading_bar.png);
	background-repeat:no-repeat;
	background-size:100% 100%;
	-webkit-animation: loading-bar-anim 0.8s linear infinite;
	-moz-animation: loading-bar-anim 0.8s linear infinite;
	animation: loading-bar-anim 0.8s linear infinite;
}
@media screen and (max-width:900px){
	.loading-bar{
		width:140px;
	}
}
@-webkit-keyframes loading-bar-anim {
	0%{transform:translateX(0)}
	100%{transform:translateX(-280px)}
}
@-moz-keyframes loading-bar-anim {
	0%{transform:translateX(0)}
	100%{transform:translateX(-280px)}
}
@keyframes loading-bar-anim {
	0%{transform:translateX(0)}
	100%{transform:translateX(-280px)}
}
