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

/******************** for smartphone (portrait) ********************/

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


h1 {
	font-size: 26px;
	line-height: 1.3em;
	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: 375px) {
	h1 { font-size: 25px; }
	h1.heading_l { font-size: 32px; }
	h1.heading_s { font-size: 21px; }
}
@media only screen and (max-width: 360px) {
	h1 { font-size: 24px; }
	h1.heading_l { font-size: 31px; }
	h1.heading_s { font-size: 20px; }
	p { font-size: 15px; }
	.newWindow { font-size: 14px; }
}


#title {
	height: 177.77vw;		/* 16/9 */
}
@supports ((position: sticky) or (position: -webkit-sticky)) {
	#title {
		height: var(--ph);
	}
}
#title .cap			{ margin: 0 0 5px; }
#title .mov			{ margin: 5px 0 30vw; }
#lead .wrap			{ margin: 0 0 75px; }
#gallery .wrap		{ margin: 75px 0 100px; }
#app .wrap				{ margin: 75px 0 75px;  }
#stereoscopy .wrap	{ margin: 75px 0 75px;	}
#interface .wrap		{ margin: 75px 0 75px;  }
#cms .wrap				{ margin: 75px 0 75px;  }
#trip .wrap			{ margin: 75px 0 75px; }
#production .wrap		{ margin: 75px 0 80px; }


header {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	height: 10.5vw;
	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: 4.5vw;
}
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: column;
	align-items: center;
	justify-content: 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: 70.31vw;
	height: 67.96vw;	/* PCpixel/512 */
}
#title .mov video {
	width: 64.06vw;
	height: 64.06vw;
}
#title .mov .flame {
	position: absolute;
	width: 64.06vw;
	height: 64.06vw;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: solid 2px #fdfdfd;
}
#title .logo img {
	width: 170px;
}



#lead {
	display: flex;
	justify-content: center;
}
#lead .wrap {
	display: flex;
	width: 90%;
}



#gallery {
	display: flex;
	justify-content: center;
}
#gallery .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%
}
#gallery .cap {
	width: 90%;
}
#gallery .leading {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 90vw;
	height: 49.5vw;
	margin: 35px 0 35px;	
}
#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: 12px;
	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: 12px;
	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;
	background: #ccc;
}
#gallery .table .reference {
	line-height: 0;
	margin-bottom: 1px;
}
#gallery .table .reference:nth-child(-n + 3) {
	margin-top: 1px;
}
#gallery .table .reference:nth-child(n) {
	display: none;
}
#gallery .table .reference .modal {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100vw / 3 - 0.66px);
	height: calc(100vw / 3 - 0.66px);
	box-sizing: border-box;
	line-height: 0;
	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: 10px;
	line-height: 1.0em;
	text-align: right;
	font-feature-settings: "palt";
	color: #888;
	bottom: 4px;
	right: 5px;
}
#gallery .table .reference .data {
	display: none;
}
#gallery .table .reference .space {
	width: calc(100vw / 3 - 0.66px);
	height: calc(100vw / 3 - 0.66px);
	box-sizing: border-box;
	line-height: 0;
}

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



#app {
	display: flex;
}
#app .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}
#app .gap {
	height: 20px;
}
#app .img {
	line-height: 0;
	width: 100%;
	height: 55vw;
	background: url(../img/offline_xanthomelas.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#app .cap {
	width: 90%;
}



#stereoscopy {
	display: flex;
}
#stereoscopy .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}
#stereoscopy .gap {
	height: 20px;
}
#stereoscopy .img {
	line-height: 0;
	width: 100%;
	height: 55vw;
	background: url(../img/3dvr.jpg);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: cover;
}
#stereoscopy .cap {
	width: 90%;
}
#stereoscopy .cap .demo {
	display: flex;
	justify-content: flex-start;
	margin: 10px 0;
}
#stereoscopy .cap .demo img {
	display: none;
}

.newWindow {
	display: inline-block;
	position: relative;
	top: 0px;
	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: 90%;
}



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



#cms {
	display: flex;
}
#cms .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}
#cms .gap {
	height: 20px;
}
#cms .img {
	line-height: 0;
	width: 100%;
	height: 55vw;
	background: url(../img/cms_xanthomelas.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#cms .cap {
	width: 90%;
}



#production {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#production .wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 90%;
}
#production .table {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-top: 18px;
}
#production .table .top_left {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 10px;
	line-height: 1em;
	text-align: left;
	width: 49%;
	padding: 0 0 0.5em 2em;
}
#production .table .top_center {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 10px;
	line-height: 1em;
	text-align: right;
	/*width: 25%;*/
	width: 51%;
	padding: 0 0 0.5em 0;
}
#production .table .top_right {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 10px;
	line-height: 1em;
	text-align: right;
	width: 26%;
	padding: 0 1em 0.5em 0;
	/*background: #eee;*/
}
#production .table .left {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 15px;
	line-height: 18px;
	color: #4a5f8a;
	width: 50%;
	padding: 0.5em 0 0.5em 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: 20%;*/
	width: 50%;
	padding: 0.5em 1em 0.5em 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: 30%;
	padding: 0.5em 0.5em 0.5em 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 span {
	font-size: 11px;
	color: #555;
}
#production .table .center span {
	font-size: 10px;
}
#production .cap {
	margin-top: 20px;
}
#production .cap p {
	font-size: 14px;
	line-height: 1.5em;
}
#production ul {
	-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;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-top: 2px #ccc dotted;
	margin-top: 5px;
	padding-top: 5px;
}
#production .inquiry div:nth-child(1) {
	width: 29%;
	white-space: nowrap;
	font-size: 15px;
	line-height: 40px;
	padding-left: 5px;
}
#production .inquiry div:nth-child(2) {
	width: 71%;
	white-space: nowrap;
	font-size: 16px;
	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 #ccc dotted;
}
#production .exception2 div:nth-child(1) {
	letter-spacing: 0.05em;
}
#production .note {
	font-size: 14px;
	line-height: 1.5em;
	margin-top: 30px;
}



footer {
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: rgb(146,146,146);
}
footer .section-1 {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: space-between;
	width: 90%;
	margin: 15px 0 30px;
}
footer .section-1 .copyright {
	font-size: 12px;
	line-height: 1em;
	font-family: Helvetica, sans-serif;
	white-space: nowrap;
}
footer .section-1 .company {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-top: 25px;
}
footer .origin {
	font-size: 14px;
	line-height: 1em;
	white-space: nowrap;
	margin-right: 0;
	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: 90%;
}
#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: 800px;		/* #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: 20px;
	line-height: 1.8em;
}

#target-1 .cap {
	width: 100%;
}
#target-1 .cap p {
	font-size: 13px;
	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: 13px;
	line-height: 1em;
	width: 29%;
	padding: 1em 0 0 0;
	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: 13px;
	line-height: 1em;
	width: 71%;
	padding: 1em 0 1em 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 .even span {
	font-size: 11px;
	line-height: 14px;
}
#target-2 .table .even span:after {
	content: "\A";
	white-space: pre;	
}
#target-2 .table p {
	font-size: 10px;
	line-height: 1em;
	margin: 0.5em 0 0;
}
#target-2 .table .year {
	line-height: 1em;
}
#target-2 .table .year span {
	font-size: 11px;
}
#target-2 .table .history {
	font-size: 12px;
	line-height: 1.3em;
	padding: 0.25em 0 1.5em 0;
}

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

#inputScreen .items {
	display: flex;
	flex-wrap: wrap;
	width: 94%;
}
#inputScreen .items .odd {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 13px;
	width: 100%;
	padding: 15px 0 0 3px;
	border: none;
}
#inputScreen .items .even {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	padding: 6px 0 10px 0;
	border: none;
}
#inputScreen .items .bottom {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	border: none;
}
#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: 32%;
	font-size: 12px;
	line-height: 1em;
}
#checkScreen .items .input-data {
	width: 68%;
	font-size: 15px;
	line-height: 1.2em;
	word-break: break-all;
	color: rgb(190,190,190);
}
#checkScreen .items .input-content {
	width: 100%;
	font-size: 15px;
	line-height: 1.5em;
	word-break: break-all;
	white-space: pre-wrap;
	color: rgb(190,190,190);
}
#checkScreen .button {
	display: flex;
	justify-content: space-between;
	width: 100%;
	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: 20px;
	color: rgb(146,146,146);
	height: 20px;
	cursor: pointer;
}
.boxClose span {
	position: absolute;
	right: 0;
	width: 28px;
	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,8px) rotate(-45deg);
}
.boxClose span:nth-child(2) {
	bottom: 0;
	transform: translate(0,-9px) rotate(45deg);
}
.boxClose::after {
	display: block;
	content: '閉じる';
	margin-right: 31px;
}

