@charset "UTF-8";
/* CSS Document */
@font-face {
  font-family: "Noto Sans JP";
  src: url('../fonts/NotoSansJP-VariableFont_wght.ttf') format('truetype');
}

html{
	/* overflow: hidden; */
	background: #050f2a;
	height: 100%;
}
body{
	font-family: "Noto Sans JP";
	font-family: sans-serif;
	width: 100%;
	height: 100%;
	margin: 0;
	position: relative;
	user-select: none;
	font-size: 0;
	/* overflow: hidden; */
	position: relative;
}
p {
	margin: 0;
}

body.raycaster_target {
	cursor: pointer;
}

#loading {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 100%;
	background: #000000;
}
#loading::before {
	content: 'Now Loading...';
	position: absolute;
	top: calc(50% + 48px);
	left: 50%;
	z-index: 2;
	transform: translate(-50%, 0);
	font-size: 15px;
	line-height: 1;
	color: #009F74;
}
#loading::after {
	content: '';
	position: absolute;
	top: calc(50% + -88px);
	left: 50%;
	z-index: 1;
	transform: translate(-50%, 0);
	width: 290px;
	height: 220px;
	background: url(../img/loading.png) no-repeat top 220px center / 100% auto;
}
#loading.step1::after { background-position: top -0px center; }
#loading.step2::after { background-position: top -220px center; }
#loading.step3::after { background-position: top -440px center; }
#loading.step4::after { background-position: top -660px center; }
#loading.step5::after { background-position: top -880px center; }
#loading.step6::after { background-position: top -1100px center; }
#loading.step7::after { background-position: top -1320px center; }
#loading.step8::after { background-position: top -1540px center; }
#loading.fadeout {
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s, visibility 0s 1s;
}

main {
	display: block;
	width: 100%;
	/* height: 100%; */
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background: #050708;
}

main #bg_star {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
}

main #main {
	position: relative;
	z-index: 2;
	height: 787px;
}
main #main h1 {
	background: url(../img/h1.png) no-repeat center / contain;
	position: absolute;
	top: 48px;
	right: calc(50% + 30px);
	z-index: 1;
	width: 560px;
	height: 390px;
}
main #main #profile_btn {
	background: url(../img/profile_btn.png) no-repeat center top / 100% auto;
	position: absolute;
	top: 5px;
	right: 10px;
	z-index: 4;
	width: 160px;
	height: 160px;
	cursor: pointer;
}
main #main #profile_btn:hover {
	background-position: center bottom;
}
main #main article {
	position: absolute;
	top: 0;
	left: calc(50% + -45px);
	width: 670px;
	height: 740px;
	text-align: center;
	background: url(../img/robo_bg.png) no-repeat center / contain;
}
main #main article #robo {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}
main #main article #robo_point {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
}
main #main article #robo_slider {
	position: absolute;
	bottom: 43px;
	left: 50%;
	z-index: 3;
	width: 300px;
	height: 7px;
	transform: translate(-50%, 0);
	background: #9B9B9B;
	border-radius: 10px;
	box-shadow: inset 0 2px 2px #00000085;
}
main #main article #robo_slider::after {
	content: '360° View';
	position: absolute;
	top: 30px;
	left: 0;
	z-index: 1;
	width: 100%;
	text-align: center;
	display: block;
	font-size: 13px;
	line-height: 1;
	color: white;
}
main #main article #robo_slider span {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	width: 30px;
	height: 30px;
	background: url(../img/slider_btn.png) no-repeat center / contain;
	transform: translate(-50%, -50%);
	cursor: pointer;
}
main #main h2 {
	background: url(../img/h2.png) no-repeat top right / auto 62px, url(../img/h2_bottom.png) no-repeat bottom right / 100% auto;
	position: absolute;
	top: 468px;
	right: calc(50% + 135px);
	z-index: 1;
	width: 392px;
	height: 92px;
}
main #main h2 span {
	display: block;
	width: 50px;
	height: 50px;
	margin: 7px 0 0 12px;
	background: url(../img/360.png) no-repeat center top 54% / 33px;
	position: relative;
}
main #main h2 span::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: url(../img/360_loop.png) no-repeat center / contain;
	animation: i360_loop 3s ease-in-out 0s infinite;
}
@keyframes i360_loop {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
main #main #type {
	position: absolute;
	top: 591px;
	right: calc(50% + 20px);
	z-index: 7;
	width: 590px;
}
main #main #type .title {
	display: none;
}
main #main #type span {
	display: inline-block;
	vertical-align: top;
	width: 112px;
	line-height: 60px;
	background: url(../img/type.png) no-repeat center / contain;
	margin-bottom: 9px;
	font-size: 20px;
	color: white;
	text-align: center;
	font-weight: 600;
	text-shadow: 0 2px 3px #00000091;
	cursor: pointer;
}
main #main #type span.active {
	background-image: url(../img/type_active.png);
}
main #main #type span:first-of-type {
	margin-left: 12px;
}

main #interview {
	padding-bottom: 647px;
	background: url(../img/robo_bu.png) no-repeat center bottom 0px / auto 566px;
	position: relative;
	z-index: 3;
}
main #interview h2 {
	width: 100%;
	height: 202px;
	text-align: center;
	background: url(../img/interview_h2.png) no-repeat center top 51px / auto 74px, url(../img/bg_block.png) no-repeat center / cover;
	font-size: 24px;
	line-height: 1;
	margin: 0;
	padding: 134px 0 0;
	box-sizing: border-box;
	position: relative;
}
main #interview h2::before {
	content: '※以下のストーリーは全てフィクションです。';
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1;
	transform: translate(-50%, 0);
	text-align: right;
	color: white;
	display: block;
	margin: 10px auto 0;
	width: calc(100% - 40px);
	max-width: 1220px;
	font-size: 16px;
	font-weight: normal;
}
main #interview dl {
	display: block;
	margin: 121px auto 0;
	width: calc(100% - 40px);
	max-width: 1220px;
}
main #interview dl dt {
	display: block;
	border-top: solid 1px #009F74;
	font-size: 26px;
	line-height: 1.4;
	color: #009F74;
	font-weight: bold;
	padding: 30px 54px 27px;
	background: url(../img/q.png) no-repeat left 16px top 27px / auto 43px, linear-gradient(#009F74, #009F74) no-repeat left 0px top 0px / 56px 3px, linear-gradient(#009F74, #009F74) no-repeat right 0px top 0px / 56px 3px;
	position: relative;
	cursor: pointer;
	transition: 0.3s;
}
main #interview dl dt::after {
	content: '';
	position: absolute;
	top: 38px;
	right: 18px;
	z-index: 1;
	width: 40px;
	height: 20px;
	background: url(../img/arrow.png) no-repeat center / contain;
	transform: rotateX(180deg);
	transition: 0.3s;
}
main #interview dl dt.open {
	padding-bottom: 20px;
}
main #interview dl dt.open::after {
	transform: rotateX(0deg);
}
main #interview dl dd {
	display: none;
	font-size: 18px;
	line-height: 1.4;
	color: white;
	font-weight: bold;
	padding: 2px 50px 20px;
	background: url(../img/a.png) no-repeat left 16px top 0px / auto 28px;
	margin: 0 0 21px 39px;
}

main #footer {
	width: 100%;
	text-align: center;
	background: url(../img/bg_block.png) no-repeat center / cover;
	padding: 10px 0 45px;
	position: relative;
	z-index: 2;
}
main #footer div {
	padding: 45px 0 0;
}
main #footer div a {
	margin: 0 16px;
	display: inline-block;
}
main #footer div.bnr a img {
	width: 280px;
}
main #footer div.icon a img {
	width: 60px;
}


#detail {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 100%;
	background: #000000f0;
}
#detail div {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	width: 100%;
	height: auto;
	max-width: 80%;
	max-height: 84%;
	transform: translate(-50%, -50%);
	overflow-y: auto;
	text-align: center;
	padding: 20px 20px;
}
#detail h2 {
	font-size: 33px;
	line-height: 1;
	color: white;
	margin: 0 0 52px;
}
#detail figure {
	margin: 0 auto 25px;
	max-width: 482px;
}
#detail figure img {
	width: 100%;
}
#detail p {
	font-size: 16px;
	line-height: 1.9;
	color: white;
	margin: 0 auto 0;
	max-width: 600px;
	text-align: left;
}
#detail a {
	display: inline-block;
	font-size: 17px;
	line-height: 1;
	font-weight: bold;
	text-decoration: none;
	color: white;
	background: url(../img/arrowBtn.png) no-repeat center / cover;
	margin-top: 30px;
	padding: 21px 54px;
}

#profile {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 100%;
	background: #000000f0;
}
#profile div {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	width: 100%;
	height: 100%;
	max-width: 80%;
	max-height: 84%;
	transform: translate(-50%, -50%);
	background: url(../img/robo_profile.png) no-repeat center / contain;
}

article button.close {
	position: absolute;
	top: 60px;
	right: 60px;
	z-index: 1;
	width: 30px;
	height: 30px;
	margin: 0;
	border: none;
	background: url(../img/close.png) no-repeat center / contain;
	cursor: pointer;
}



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

html{}
body{}
p {}
body.raycaster_target {}
main {}
main #bg_star {}
main #main {
	height: 1360px;
}
main #main h1 {
	top: 0;
	left: calc(50% - 280px);
}
main #main #profile_btn {
	top: 210px;
	right: calc(50% - 375px);
}
main #main #profile_btn:hover {}
main #main article {
	top: 300px;
	left: calc(50% - 335px);
}
main #main article #robo {}
main #main article #robo_point {}
main #main article #robo_slider {
}
main #main article #robo_slider::after {}
main #main article #robo_slider span {}
main #main h2 {
	top: 1060px;
	left: calc(50% - 196px);
}
main #main h2 span {}
main #main h2 span::after {}
main #main #type {
	top: 1180px;
	right: calc(50% - 295px);
}
main #main #type .title {}
main #main #type span {}
main #main #type span.active {}
main #main #type span:first-of-type {}
main #interview {}
main #interview h2 {}
main #interview dl {}
main #interview dl dt {}
main #interview dl dt::after {}
main #interview dl dt.open {}
main #interview dl dt.open::after {}
main #interview dl dd {}
main #footer {}
main #footer div {}
main #footer div a {}
main #footer div.bnr a img {}
main #footer div.icon a img {}
#detail {}
#detail div {}
#detail h2 {}
#detail figure {}
#detail figure img {}
#detail p {}
#detail a {}
#profile {}
#profile div {}
article button.close {}

}



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

html{}
body{}
p {}
body.raycaster_target {}
#loading {}
#loading::before {}
#loading::after {
	width: 77.5vw;
	height: 59.5vw;
	background-size: auto 480vw;
	background-position: top 60vw center;
}
#loading.step1::after { background-position: top -0vw center; }
#loading.step2::after { background-position: top -60vw center; }
#loading.step3::after { background-position: top -120vw center; }
#loading.step4::after { background-position: top -180vw center; }
#loading.step5::after { background-position: top -240vw center; }
#loading.step6::after { background-position: top -300vw center; }
#loading.step7::after { background-position: top -360vw center; }
#loading.step8::after { background-position: top -420vw center; }
main {}
main #bg_star {}
main #main {
	height: 200vw;
}
main #main h1 {
	width: 56vw;
	left: calc(50% - 28vw);
	height: 46vw;
}
main #main #profile_btn {
	top: 27vw;
	right: 1vw;
	width: 30vw;
	height: 30vw;
}
main #main #profile_btn:hover {}
main #main article {
	top: 35vw;
	left: 0;
	width: 100vw;
	height: 111vw;
}
main #main article #robo {}
main #main article #robo_point {}
main #main article #robo_slider {
	bottom: 5vw;
	width: 46vw;
}
main #main article #robo_slider::after {
	font-size: 2.75vw;
	top: 8vw;
}
main #main article #robo_slider span {
	width: 6vw;
	height: 6vw;
}
main #main h2 {
	top: 160vw;
	left: 8vw;
	width: 84vw;
	background: url(../img/h2_sp.png) no-repeat top right 4vw / auto 13vw;
}
main #main h2 span {
	margin: 0.5vw 0 0 2vw;
	width: 12vw;
	height: 12vw;
	background-size: 62%;
}
main #main h2 span::after {}
main #main #type {
	top: auto;
	bottom: -38vw;
	right: 4vw;
	width: 92vw;
	padding: 0 4vw 8vw;
	box-sizing: border-box;
	background: #009F74;
	border-radius: 14px 14px 0 0;
	transition: 0.3s;
}
main #main #type .title {
	display: block;
	font-size: 5vw;
	line-height: 1;
	color: white;
	padding: 5.5vw 11vw 0;
	margin-bottom: -1vw;
	background: url(../img/menu.png) no-repeat top 6vw  left 2.5vw / auto 4.5vw;
	position: relative;
}
main #main #type .title::after {
	content: '';
	position: absolute;
	top: 6.5vw;
	right: 1vw;
	width: 7vw;
	height: 3vw;
	background: url(../img/tri.png) no-repeat center / contain;
	transform: rotateX(0deg);
	transition: 0.3s;
}
main #main #type.open {
	bottom: 0;
}
main #main #type.open .title::after {
	transform: rotateX(180deg);
}
main #main #type span {
	width: auto;
	line-height: 1;
	font-size: 3.75vw;
	font-weight: normal;
	margin: 8vw 3vw 0;
	padding-left: 2vw;
	background: none;
	position: relative;
}
main #main #type span::before {
	content: '';
	position: absolute;
	top: 0.5vw;
	left: -1.5vw;
	width: 3vw;
	height: 3vw;
	background: url(../img/tri.png) no-repeat center / contain;
	transform: rotate(90deg);
}
main #main #type span.active {}
main #main #type span:first-of-type {
	margin-left: 3vw;
}
main #interview {
	padding-bottom: 49vw;
	background-size: auto 41vw;
}
main #interview h2 {
	height: 54vw;
	background: url(../img/interview_h2.png) no-repeat center top 15vw / auto 16vw, url(../img/bg_block.png) no-repeat center / cover;
	font-size: 4.25vw;
	padding: 38vw 0 0;
}
main #interview h2::before {}
main #interview dl {
	margin: 22vw auto 0;
	width: 92vw;
}
main #interview dl dt {
	font-size: 4.5vw;
	padding: 7.5vw 11vw 8vw;
	background: url(../img/q.png) no-repeat left 2vw top 7vw / auto 8vw, linear-gradient(#009F74, #009F74) no-repeat left 0px top 0px / 15vw 3px, linear-gradient(#009F74, #009F74) no-repeat right 0px top 0px / 15vw 3px;
}
main #interview dl dt::after {
	top: 8vw;
	right: 2vw;
	width: 11vw;
	height: 5.5vw;
}
main #interview dl dt.open {
	padding-bottom: 4vw;
}
main #interview dl dt.open::after {}
main #interview dl dd {
	font-size: 3.5vw;
	line-height: 2.0;
	padding: 0 1vw 0 12vw;
	background: url(../img/a.png) no-repeat left 5vw top 1vw / auto 6vw;
	margin: 0 0 4vw 6vw;
}
main #footer {
	padding: 6vw 0 5vw;
}
main #footer div {
	padding-top: 6.5vw;
	padding-left: 4vw;
}
main #footer div.bnr {
/*	text-align: left;*/
}
main #footer div a {
	margin: 0 5vw 4vw 0;
}
main #footer div.bnr a img {
	width: 43vw;
}
main #footer div.icon a img {
	width: 16vw;
}
#detail {}
#detail div {}
#detail h2 {}
#detail figure {}
#detail figure img {}
#detail p {}
#detail a {}
#profile {}
#profile div {
	background-image: url(../img/robo_profile_sp.png);
}
article button.close {}

}