@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: 3.02vw;
	line-height: 1.2em;
	font-family: "Noto Serif", serif;
	font-weight: 700;
	font-feature-settings: "palt";
	margin: 0;
}
h1.heading_l {
	font-size: 5.37vw;
	line-height: 2em;
}
p {
	font-size: 1.85vw;
	line-height: 1.7em;
	margin: 2.92vw 0 0;
}


footer {		
	box-shadow:	0px -3px 8px 0px rgba(128,128,128,0.3),
					0px 0px 1px 0px rgba(0,0,0,0.4);
}

#title .cap			{ margin: 12.69vw 0 0.48vw; }
#title .mov			{ margin: 0.48vw 0 5.85vw; }
#lead .wrap			{ margin: 0 0 9.76vw; }
#gallery .wrap		{ margin: 13.67vw 0 13.67vw; }
#app .wrap				{ margin: 13.67vw 0 1.46vw; }
#stereoscopy .wrap	{ margin: 1.46vw 0 13.67vw;	}
#interface .wrap		{ margin: 10.74vw 0 4.88vw; }
#cms .wrap				{ margin: 4.88vw 0 0; }
#trip .wrap			{ margin: 4.88vw 0 17.57vw; }
#production			{ height: 161.13vw; }
#production			{ top: calc(var(--ph) - 161.13vw); }
#production .wrap		{ margin: 10.74vw 0 10.74vw; }



header {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	height: 6.83vw;
}
header .sns {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	line-height: 0;
	/*width: 10.74vw;		 3コ */
	width: 7.12vw;		/* 2コ */
	margin-right: 4.88vw;	
}
header .sns .facebook {
	width: 1.17vw;
}
header .sns .twitter {
	width: 2.53vw;
}
header .sns .instagram {
	width: 2.53vw;
}
header .sns a {
	opacity: 0.5;
	transition: all 0.15s 0s ease-out;
}
header .sns a:hover {
	opacity: 1;
}



#title {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#title .cap {
	display: flex;
	flex-direction: column;
	text-align: center;
}
#title .mov {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	position: relative;
	line-height: 0;
	width: 35.15vw;
	height: 33.98vw;
}
#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 .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: 1.66vw;
	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: 1.66vw;
	line-height: 1.0em;
	letter-spacing: -0.06em;
	white-space: nowrap;
	margin-top: 0px;
}

#gallery .table {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: space-between;
	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: 1.26vw;
	line-height: 1.0em;
	text-align: right;
	font-feature-settings: "palt";
	color: #888;
	bottom: 0.68vw;
	right: 0.68vw;
}
#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: 1.75vw;
	line-height: 3.5vw;
	text-align: center;
	color: #fdfdfd;
	width: 14em;
	height: 3.5vw;
	border-radius: 1.75vw;
	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;
	background: url(../img/offline_xanthomelas.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#app .cap {
	max-width: 49.21vw;
	margin-top: 1.95vw;
}



#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;
	background: url(../img/3dvr.jpg);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: cover;
}
#stereoscopy .cap {
	width: 49.21vw;
	margin-top: 1.95vw;
}
#stereoscopy .cap p {
	margin: 2.92vw 0 0;
}
#stereoscopy .cap .demo {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#stereoscopy .cap .demo img {
	margin: 0 1.46vw 0 2.44vw;
}

.newWindow {
	display: inline-block;
	position: relative;
	top: 0;
	height: 15px;
	cursor: pointer;
	font-size: 1.75vw;
	line-height: 1em;
	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;
	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: 1.95vw;
}
#production .table .top_left {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 1.36vw;
	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: 1.36vw;
	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: 1.36vw;
	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: 1.85vw;;
	color: #4a5f8a;
	line-height: 2.63vw;;
	width: 60%;
	padding: 0.4em 0 0.4em 0.5em;
	border-top: 1px solid #777;
}
#production .table .center {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 1.75vw;
	line-height: 2.63vw;
	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: 1.75vw;
	line-height: 2.63vw;
	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: 1.36vw;
	color: #555;
}
#production .table .center span {
	font-size: 1.36vw;
}
#production .cap {
	width: 100%;
	margin-top: 3.9vw;	
}
#production ul {
	width: 100%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-left: 2.14vw;
	margin: 1.95vw 0 0;
}
#production li {
	font-size: 1.46vw;
	line-height: 1.3em;
	margin-top: 0.97vw;
}

#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: 1.75vw;
	line-height: 3.9vw;
	content: '問い合わせ';
}
#production .inquiry div:nth-child(1) {
	width: 25.39vw;
	white-space: nowrap;
	font-size: 1.75vw;
	line-height: 3.9vw;
	padding-left: 1.46vw;
}
#production .inquiry div:nth-child(2) {
	width: 29.29vw;
	white-space: nowrap;
	font-size: 1.75vw;
	line-height: 3.9vw;
}
#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: 1.75vw;
	line-height: 3.9vw;
	content: "タップ";
}
#production .exception1 {
	margin-top: 3.9vw;
}
#production .exception2 {
	padding-bottom: 0.48vw;
	border-bottom: 2px #bbb dotted;
}
#production .exception2 div:nth-child(1) {
	letter-spacing: 0.05em;
}
#production .note {
	font-size: 1.75vw;
	line-height: 1.6em;
	margin-top: 4.88vw;
}


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

#sectionWrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 83.98vw;
}
#sectionWrapper .gap {
	height: 4.88vw;
}


#target-1,
#target-2,
#target-3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	margin-top: 4.88vw;	
}
#target-1,
#target-2 {
	height: 105.46vw;		/* #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: 6.15vw;
}
#target-1 .index > span,
#target-2 .index > span,
#target-3 .index > span {
	font-size: 2.73vw;
	line-height: 1.8em;
}

#target-1 .cap {
	width: 100%;
}
#target-1 .cap p {
	font-size: 1.75vw;
	line-height: 1.6em;
}
#target-1 .cap p.p1 {
	margin: 0;
}
#target-1 .cap p.p2 {
	margin: 4.88vw 0 0;
}
#target-1 .cap p.p3 {
	margin: 0.87vw 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: 1.75vw;
	line-height: 1em;
	width: 20%;
	padding: 1em 0 0 1em;
	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: 1.75vw;
	line-height: 1em;
	width: 80%;
	padding: 1em 0.5em 1em 1em;
	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: 1.46vw;
	line-height: 1em;
	margin: 0.5em 0 0;
}
#target-2 .table .year {
	line-height: 1em;
}
#target-2 .table .year span {
	font-size: 1.46vw;
}
#target-2 .table .history {
	line-height: 1.5em;
	padding: 0.25em 0 1.5em 0;
}

#inquiryForm {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 76.17vw;
	min-height: 94.23vw;		/* 誤差修正 965px →  */
}
@media only screen and (max-width: 960px) {
	#inquiryForm {
		width: 100%;
	}
}
#targetScreen iframe {
	width: 100%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	height: 92.77vw;		/* #inquiryForm height 94.23vw - few */
}
#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: 18px;*/
	font-size: 1.75vw;
	line-height: 18px;
	width: 23%;
	/*padding: 23px 5px 0 5px;*/
	padding: 2.24vw 0.48vw 0 0.48vw;
	border-top: 2px dotted rgba(146,146,146,0.5);
	/*border-right: 2px dotted #777;*/
}
#inputScreen .items .even {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 77%;
	/*padding: 17px 10px 17px 23px;*/
	padding: 1.66vw 0.97vw 1.66vw 2.24vw;
	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 {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: 7.81vw;
}
#inputScreen .button input.check {
	width: 40%;
}

#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: 1.46vw 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: 24%;
	font-size: 1.46vw;
	line-height: 1em;
	margin-left: 0.48vw;
}
#checkScreen .items .input-data {
	width: 76%;
	font-size: 1.66vw;
	line-height: 1em;
	margin-right: 0.48vw;
	word-break: break-all;
	color: rgb(190,190,190);
}
#checkScreen .items .input-content {
	width: 100%;
	font-size: 1.66vw;
	line-height: 1.5em;
	margin-right: 0.97vw;
	margin-left: 0.48vw;
	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: 7.81vw;
}
#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: 6.83vw;
	margin-bottom: 1.95vw;
}
#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: 1.75vw;
	line-height: 2.73vw;
	color: rgb(146,146,146);
	height: 2.73vw;
	cursor: pointer;
}
.boxClose span {
	position: absolute;
	right: 0;
	width: 3.9vw;
	height: 0.29vw;
	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.29vw,1.07vw) rotate(-45deg);
}
.boxClose span:nth-child(2) {
	bottom: 0;
	transform: translate(-0.29vw,-1.26vw) rotate(45deg);
}
.boxClose::after {
	display: block;
	content: '閉じる';
	margin-right: 4.68vw;
}


