@charset "UTF-8";
/* 2025.5.23 */

/******************** for Tablets ********************/
/*
article,
section {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #00ccff;
}
*/


h1 {
	font-size: 26px;
	line-height: 1.2em;
	font-family: "Noto Serif", serif;
	font-weight: 700;
	font-feature-settings: "palt";
	margin: 0;
}
h1.heading_l {
	font-size: 34px;
	line-height: 2em;
}
p {
	font-size: 16px;
	line-height: 1.6em;
	margin: 25px 0 0;
}
.newWindow {
	font-size: 15px;
	line-height: 1em;
}

@media only screen and (max-width: 667px) {
	h1 { font-size: 24px; }
	h1.heading_l { font-size: 32px; }
	h1.heading_s { font-size: 24px; }
	p { margin: 23px 0 0; }
}
@media only screen and (max-width: 640px) {
	h1 { font-size: 22px; }
	h1.heading_l { font-size: 31px; }
	h1.heading_s { font-size: 23px; }
	p {
		font-size: 15px;
		line-height: 1.6em;
		margin: 20px 0 0;
	}
	.newWindow {
		font-size: 14px;
	}
}


#title {
	height: calc(56.34vw - 40px);		/* 9/16 */
}

@supports ((position: sticky) or (position: -webkit-sticky)) {
	#title {
		height: calc(var(--lh) - 40px);
	}
}

#title .cap			{ margin: 0 0 0; }
#title .mov			{ margin: 0 0 50px; }
#lead .wrap			{ margin: 0 0 60px; }
#gallery .wrap		{ margin: 70px 0 70px; }
#app .wrap				{ margin: 70px 0 15px;	}
#stereoscopy .wrap	{ margin: 15px 0 70px;  }
#interface .wrap		{ margin: 70px 0 35px; }
#cms .wrap				{ margin: 35px 0 35px; }
#trip .wrap			{ margin: 35px 0 90px;  }
#production .wrap		{ margin: 50px 0 90px; }



header {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	height: 40px;
}
header .sns {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	line-height: 0;
	/*width: 90px;		 3コ */
	width: 50px;		/* 2コ */
	margin-right: 3vw;
}
header .sns .facebook {
	width: 8px;
}
header .sns .twitter {
	width: 18px;
}
header .sns .instagram {
	width: 17px;
}
header .sns a {
	opacity: 0.5;
	transition: all 0.15s 0s ease-out;
}
header .sns a:hover {
	opacity: 1;
}





#title {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
#title .cap {
	display: flex;
	flex-direction: column;
	text-align: center;
	margin-right: 3vw;
	margin-bottom: 10vw;
}
#title .mov {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	position: relative;
	line-height: 0;
	width: 32.03vw;
	height: 33vw;
}
#title .mov video {
	width: 32.03vw;
	height: 32.03vw;
}
#title .mov .flame {
	position: absolute;
	width: 32.03vw;
	height: 32.03vw;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: solid 2px #fdfdfd;
}
#title .logo img {
	width: 21.48vw;
}



#lead {
	display: flex;
	justify-content: center;
}
#lead .wrap {
	display: flex;
	width: 90vw;
}
#lead .wrap .cap h1 br {
	display: none;
}



#gallery {
	display: flex;
	justify-content: center;
}
#gallery .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 90vw;
}
#gallery h1 {
	width: 100%;
}
#gallery .cap {
	width: 100%;
}
#gallery .leading {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 49.5vw;
	margin: 6.83vw 0 3.41vw;	
}
#gallery .leading .sample-1 {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	width: 50%;
	height: 100%;
	line-height: 0;
}
#gallery .leading .sample-1 .modal {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	height: 72%;
	overflow: hidden;
	/*border: 1px solid #eee;*/
}
#gallery .leading .sample-1 .modal img {
	width: 150%;
	height: 150%;
	margin: 0 15% 15% 0;
	transform: scale(0.93);
	transition: all 0.3s 0s ease-out;
	cursor: pointer;
}
#gallery .leading .sample-1 .modal img:hover {
	transform: scale(1);
}
#gallery .leading .sample-1 .modal img:active {
	transform: scale(1);
}
#gallery .leading .sample-1 span {
	z-index: 1;
	font-size: 13px;
	line-height: 1.0em;
	letter-spacing: -0.06em;
	white-space: nowrap;
	margin-top: 0px;	
}

#gallery .leading .sample-2 {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	width: 50%;
	height: 100%;
	line-height: 0;
}
#gallery .leading .sample-2 .modal {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	height: 72%;
	overflow: hidden;
	/*border: 1px solid #eee;*/
}
#gallery .leading .sample-2 .modal img {
	width: 150%;
	height: 150%;
	margin: 0 5% 5% 0;
	transform: scale(0.93);
	transition: all 0.3s 0s ease-out;
	cursor: pointer;
}
#gallery .leading .sample-2 .modal img:hover {
	transform: scale(1);
}
#gallery .leading .sample-2 .modal img:active {
	transform: scale(1);
}
#gallery .leading .sample-2 span {
	z-index: 1;
	font-size: 13px;
	line-height: 1.0em;
	letter-spacing: -0.06em;
	white-space: nowrap;
	margin-top: 0px;
}

#gallery .table {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 83vw;
	width: 100%;
	margin-top: 3.9vw;
}
#gallery .table .reference {
	line-height: 0;
	margin-bottom: 6.83vw;
}
#gallery .table .reference:nth-child(n) {
	display: none;
}
#gallery .table .reference .modal {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24.41vw;
	height: 24.41vw;
	line-height: 0;
	background-color: #fdfdfd;
	border: 1px solid #aaa;
	transition: all 0.1s 0s ease-out;
	cursor: pointer;
	overflow: hidden;
}
#gallery .table .reference .modal:hover {
	opacity: 0.7;
	border-color: #aaa;
}
#gallery .table .reference .modal span {
	position: absolute;
	font-size: 11px;
	line-height: 1.0em;
	text-align: right;
	font-feature-settings: "palt";
	color: #888;
	bottom: 5px;
	right: 5px;
}
#gallery .table .reference .data {
	margin-top: 0.78vw;
	margin-left: 0.68vw;
}
#gallery .table .reference .data .icon img {
	width: auto;
	height: 4.39vw;
}
#gallery .table .reference .data .frame {
	font-size: 1.36vw;
	line-height: 1.0em;
	font-feature-settings: "palt";
	margin-top: -0.78vw;
	margin-left: 3.51vw;
}
#gallery .table .reference .space {
	width: 24.6vw;
}

#sample-op {
	font-size: 14px;
	line-height: 28px;
	text-align: center;
	color: #fdfdfd;
	width: 14em;
	height: 28px;
	border-radius: 14px;
	background: #777;
	cursor: pointer;
}



#app {
	display: flex;
}
#app .wrap {
	display: flex;
	flex-wrap: nowrap;
	margin-left: 5vw;
}
#app .gap {
	width: 5.27vw;
}
#app .img {
	line-height: 0;
	width: 40.54vw;
	max-width: 62.5vw;
	height: 25.87vw;
	max-height: 190px;
	background: url(../img/offline_xanthomelas.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#app .cap {
	max-width: 49.21vw;
}



#stereoscopy {
	display: flex;
}
#stereoscopy .wrap {
	display: flex;
	flex-wrap: nowrap;
	margin-left: 5vw;
}
#stereoscopy .gap {
	width: 5.27vw;
}
#stereoscopy .img {
	line-height: 0;
	width: 40.54vw;
	max-width: 62.5vw;
	height: 25.87vw;
	max-height: 190px;
	background: url(../img/3dvr.jpg);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: cover;
}
#stereoscopy .cap {
	width: 49.21vw;
}
#stereoscopy .cap p {
	margin: 2.92vw 0 0;
}
#stereoscopy .cap .demo {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#stereoscopy .cap .demo img {
	display: none;
}

.newWindow {
	display: inline-block;
	position: relative;
	top: 0;
	height: 15px;
	cursor: pointer;
	color: #5889e7;
}
.newWindow span {
	position: absolute;
	right: 0;
	width: 8px;
	height: 9px;
	border: 1px solid #5889e7;
	background: #fff;
	border-radius: 2px;
}
.newWindow:hover {
	color: #0055ee;
}
.newWindow:hover span {
	border-color: #0055ee;
}
.newWindow span:nth-child(1) { bottom:0px; right:3px; }
.newWindow span:nth-child(2) { top:0; }
.newWindow::after {
	display: block;
	margin-right: 17px;
}
#stereoscopy .newWindow::after {
	content: 'デモを別のウインドウで開く';
}
#gallery .newWindow::after {
	content: '全てのサンプルを別のウインドウで開く';
}



#trip {
	display: flex;
	justify-content: center;
}
#trip .wrap {
	display: flex;
	width: 90vw;
}



#interface {
	display: flex;
	justify-content: center;
}
#interface .wrap {
	display: flex;
	width: 90vw;
}



#cms {
	display: flex;
}
#cms .wrap {
	display: flex;
	flex-wrap: nowrap;
	margin-left: 5vw;
}
#cms .gap {
	width: 5.27vw;
}
#cms .img {
	line-height: 0;
	width: 40.54vw;
	max-width: 62.5vw;
	height: 25.87vw;
	max-height: 190px;
	background: url(../img/cms_xanthomelas.jpg);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: cover;
}
#cms .cap {
	max-width: 49.21vw;
	margin-top: 1.95vw;
}



#production {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#production .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 90vw;
}
#production h1 {
	width: 100%;
}
#production .table {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-top: 18px;
}
#production .table .top_left {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 11px;
	line-height: 1em;
	text-align: left;
	width: 60%;
	padding: 0 0 0.5em 2em;
}
#production .table .top_center {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 11px;
	line-height: 1em;
	text-align: right;
	/*width: 17%;*/
	width: 40%;
	padding: 0 0 0.5em 0;
}
#production .table .top_right {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 11px;
	line-height: 1em;
	text-align: right;
	width: 23%;
	padding: 0 1em 0.5em 0;
}
#production .table .left {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 15px;
	line-height: 18px;
	color: #4a5f8a;
	width: 60%;
	padding: 0.4em 0 0.4em 0;
	border-top: 1px solid #777;
}
#production .table .center {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 22px;
	color: #555;
	text-align: right;
	/*width: 17%;*/
	width: 40%;
	padding: 0.4em 2em 0.4em 0;
	border-top: 1px solid #777;
	/*background: #eee;*/
}
#production .table .right {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 22px;
	color: #555;
	text-align: right;
	width: 23%;
	padding: 0.4em 0.5em 0.4em 0;
	border-top: 1px solid #777;
}
#production .table .bottom {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	border-top: 1px solid #777;
}
#production .table .left br {
	display: none;
}
#production .table .left span {
	font-size: 11px;
	color: #555;
}
#production .table .center span {
	font-size: 10px;
}
#production .cap {
	width: 100%;
	margin-top: 20px;	
}
#production .cap p {
	font-size: 14px;
	line-height: 1.5em;
}
#production ul {
	width: 100%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-left: 12px;
	margin: 20px 0 0;
}
#production li {
	font-size: 12px;
	line-height: 1.3em;
	margin: 5px 0 0;
}

#production .inquiry {
	display: flex;
	flex-direction: row;
	border-top: 2px #bbb dotted;
	margin-top: 0.48vw;
	padding-top: 0.48vw;
}
#production .exception1 div:nth-child(1)::before {
	font-size: 15px;
	line-height: 40px;
	content: '問い合わせ';
}
#production .inquiry div:nth-child(1) {
	width: 200px;
	white-space: nowrap;
	font-size: 15px;
	line-height: 40px;
	padding-left: 12px;
}
#production .inquiry div:nth-child(2) {
	width: 240px;
	white-space: nowrap;
	font-size: 17px;
	line-height: 40px;
}
#production .inquiry div:nth-child(2) .openform {
	color: #5889e7;
	cursor: pointer;
}
#production .inquiry div:nth-child(2) .openform:hover {
	color: #0055ee;
}
#production .inquiry div:nth-child(2) .replace {
	font-size: 0;
	line-height: 0;
}
#production .inquiry div:nth-child(2) .replace:before {
	font-size: 17px;
	line-height: 40px;
	content: "タップ";
}
#production .exception1 {
	margin-top: 25px;
}
#production .exception2 {
	padding-bottom: 5px;
	border-bottom: 2px #bbb dotted;
}
#production .exception2 div:nth-child(1) {
	letter-spacing: 0.05em;
}
#production .note {
	font-size: 14px;
	line-height: 1.5em;
	margin-top: 40px;
}



footer {
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: rgb(146,146,146);
}
footer .section-1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 90vw;
	margin: 0 0 25px;
}
footer .section-1 .copyright {
	font-size: 12px;
	line-height: 14px;
	font-family: Helvetica, sans-serif;
	white-space: nowrap;
	margin-top: 25px;
}
footer .section-1 .company {
	display: flex;
	flex-direction: row;
	margin-top: 25px;
}
footer .origin {
	font-size: 14px;
	line-height: 1em;
	white-space: nowrap;
	margin-left: 23px;
	cursor: pointer;
	transition: all 0.15s 0s ease-out;
}
footer .origin:nth-child(1) {
	margin-left: 0;
}
footer .origin:hover {
	color: rgb(253,253,253);
}

#sectionWrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 90vw;
}
#sectionWrapper .gap {
	height: 40px;
}


#target-1,
#target-2,
#target-3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	margin-top: 40px;	
}
#target-1,
#target-2 {
	height: 810px;		/* #target-2 height + bottom space */
}
#target-1 .index,
#target-2 .index,
#target-3 .index {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	border-bottom: 2px rgb(146,146,146) solid;
	margin-bottom: 35px;
}
#target-1 .index > span,
#target-2 .index > span,
#target-3 .index > span {
	font-size: 23px;
	line-height: 1.8em;
}

#target-1 .cap {
	width: 100%;
}
#target-1 .cap p {
	font-size: 14px;
	line-height: 1.6em;
}
#target-1 .cap p.p1 {
	margin: 0;
}
#target-1 .cap p.p2 {
	margin: 40px 0 0;
}
#target-1 .cap p.p3 {
	margin: 7px 0 0;
}

#target-2 .table {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	width: 100%;
}
#target-2 .table .odd {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 14px;
	line-height: 1em;
	width: 23%;
	padding: 13px 0 0 10px;
	border-top: 1px solid rgba(146,146,146,0.5);
}
#target-2 .table .even {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 14px;
	line-height: 1em;
	width: 77%;
	padding: 13px 0 13px 0;
	border-top: 1px solid rgba(146,146,146,0.5);
}
#target-2 .table .sub {
	display: flex;
	flex-direction: column;
	padding-bottom: 0;
}
#target-2 .table .bottom {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	border-top: 1px solid rgba(146,146,146,0.5);
}
#target-2 .table p {
	font-size: 12px;
	line-height: 1em;
	margin: 6px 0 0;
}
#target-2 .table .year {
	line-height: 1em;
}
#target-2 .table .year span {
	font-size: 12px;
}
#target-2 .table .history {
	line-height: 1.5em;
	padding: 0 0 18px 0;
}

#inquiryForm {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 100%;
	min-height: 733px;	/* #target-1,2 height 810px - .index height 42px - .index margin 35px */
}
#targetScreen iframe {
	width: 100%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	height: 725px;		/* #inquiryForm height 733px - few 4px~ */
}
#inputScreen,
#checkScreen {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}
#checkScreen {
	/*display: none;*/
}
#targetScreen {
	width: 100%;
	/*display: none;*/
}

#inputScreen .items {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#inputScreen .items .odd {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 15px;
	line-height: 1em;
	width: 26%;
	padding: 21px 5px 0 5px;
	border-top: 2px dotted rgba(146,146,146,0.5);
	/*border-right: 2px dotted #999;*/
}
#inputScreen .items .even {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 74%;
	padding: 15px 10px 15px 15px;
	border-top: 2px dotted rgba(146,146,146,0.5);
}
#inputScreen .items .bottom {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	border-top: 2px dotted rgba(146,146,146,0.5);
}
#inputScreen .button {
	width: 250px;
	margin-top: 70px;
}
#inputScreen .button input.check {
	width: 100%;
}

#checkScreen .items {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#checkScreen .items .disp-area {
	display: flex;
	flex-direction: row;
	align-items: center;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	padding: 13px 0;
	border-top: 2px dotted rgba(146,146,146,0.5);
}
#checkScreen .items .bottom {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	border-top: 2px dotted rgba(146,146,146,0.5);
}
#checkScreen .items .input-name {
	width: 25%;
	font-size: 14px;
	line-height: 1em;
	margin-left: 5px;
}
#checkScreen .items .input-data {
	width: 75%;
	font-size: 15px;
	line-height: 1em;
	margin-right: 5px;
	word-break: break-all;
	color: rgb(190,190,190);
}
#checkScreen .items .input-content {
	width: 100%;
	font-size: 15px;
	line-height: 1.5em;
	margin-right: 5px;
	margin-left: 5px;
	word-break: break-all;
	white-space: pre-wrap;
	color: rgb(190,190,190);
}
#checkScreen .button {
	display: flex;
	justify-content: space-between;
	width: 70%;
	margin-top: 50px;
}
#checkScreen .button input.submit {
	width: 60%;
}
#checkScreen .button input.return {
	width: 36%;
}
#checkScreen .SSL {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	margin-top: 50px;
	margin-bottom: 16px;
}
#checkScreen .SSL .globalsign {
	line-height: 0;
}
#checkScreen .SSL .cap {
	font-size: 11px;
	line-height: 1em;
	margin-left: 12px;
}

#inquiryForm .mail-cap {
	letter-spacing: -0.06em;
}

.boxClose {
	position: relative;
	font-size: 13px;
	line-height: 23px;
	color: rgb(146,146,146);
	height: 23px;
	cursor: pointer;
}
.boxClose span {
	position: absolute;
	right: 0;
	width: 32px;
	height: 3px;
	background-color: rgb(146,146,146);
}
.boxClose:hover {
	color: rgb(253,253,253);
}
.boxClose:hover span {
	background-color: rgb(253,253,253);
}
.boxClose span:nth-child(1) {
	top: 0;
	transform: translate(0,9px) rotate(-45deg);
}
.boxClose span:nth-child(2) {
	bottom: 0;
	transform: translate(0,-10px) rotate(45deg);
}
.boxClose::after {
	display: block;
	content: '閉じる';
	margin-right: 35px;
}
