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

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



h1 {
	font-size: 31px;
	line-height: 1.2em;
	/*font-family: "Noto Serif", "Hiragino Kaku Gothic StdN";*/
	font-family: "Noto Serif", serif;
	font-weight: 700;
	font-feature-settings: "palt";
	margin: 0;
}
h1.heading_l {
	font-size: 55px;
	line-height: 2em;	
}
p {
	font-size: 19px;
	line-height: 1.7em;
	margin: 30px 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: 110px 0 5px; }
#title .mov			{ margin: 5px 0 70px; }
#lead .wrap			{ margin: 0 0 100px; }
#gallery .wrap		{ margin: 140px 0 140px; }
#app .wrap				{ margin: 140px 0 15px; }
#stereoscopy .wrap	{ margin: 15px 0 140px;	}
#interface .wrap		{ margin: 110px 0 50px; }
#cms .wrap				{ margin: 50px 0 0px; }
#trip .wrap			{ margin: 50px 0 180px; }
#production .wrap		{ margin: 110px 0 110px; }

@supports ((position: sticky) or (position: -webkit-sticky)) {
	#production		{ height: 1650px; }
	#production		{ top: calc(var(--lh) - 1650px); }
}


header {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	height: 70px;
}
header .sns {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	line-height: 0;
	/*width: 110px;		 3コ */
	width: 73px;		/* 2コ */
	margin-right: 50px;	
}
header .sns .facebook {
	width: 12px;
	height: 23px;
}
header .sns .twitter {
	width: 26px;
	height: 21px;
}
header .sns .instagram {
	width: 26px;
	height: 26px;
}
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: 360px;
	height: 348px;
}
#title .mov video {
	width: 328px;
	height: 328px;
}
#title .mov .flame {
	position: absolute;
	width: 328px;
	height: 328px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border: solid 2px #fdfdfd;
}
#title .logo img {
	width: 220px;	
}



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



#gallery {
	display: flex;
	justify-content: center;
}
#gallery .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 922px;
}
#gallery .cap {
	width: 100%;
}
#gallery .leading {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	/*height: 461px; 		width x 100% */
	height: 507px;	/* width x 110% */
	margin: 70px 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;
	/*border: 1px solid #ddd;*/
}
#gallery .leading .sample-1 .modal {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	height: 72%;
	overflow: hidden;
	/*border: 1px solid #ddd;*/
}
#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: 17px;
	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;
	/*border: 1px solid #ddd;*/
}
#gallery .leading .sample-2 .modal {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	height: 72%;
	overflow: hidden;
	/*border: 1px solid #ddd;*/
}
#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: 17px;
	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: 70px;
}
#gallery .table .reference {
	line-height: 0;
	margin-bottom: 70px;
}
#gallery .table .reference:nth-child(n) {
	display: none;
}
#gallery .table .reference .modal {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 250px;
	height: 250px;
	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: 13px;
	line-height: 1.0em;
	text-align: right;
	font-feature-settings: "palt";
	color: #888;
	bottom: 7px;
	right: 7px;
}
#gallery .table .reference .data {
	margin-top: 8px;
	margin-left: 7px;
}
#gallery .table .reference .data .icon img {
	width: auto;
	height: 45px;
}
#gallery .table .reference .data .frame {
	font-size: 14px;
	line-height: 1.0em;
	font-feature-settings: "palt";
	margin-top: -8px;
	margin-left: 36px;
}
#gallery .table .reference .space {
	width: 252px;
}

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



#app {
	display: flex;
}
#app .wrap {
	display: flex;
	flex-wrap: nowrap;
	margin-left: calc((100vw - 922px) / 2);
}
#app .gap {
	width: 54px;
}
#app .img {
	width: calc((100vw - 922px) / 2 + 324px);
	max-width: 640px;	
	height: 255px;
	background: url(../img/offline_xanthomelas.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#app .cap {
	max-width: 544px;
	margin-top: 20px;
}



#stereoscopy {
	display: flex;
}
#stereoscopy .wrap {
	display: flex;
	flex-wrap: nowrap;
	margin-left: calc((100vw - 922px) / 2);
}
#stereoscopy .gap {
	width: 54px;
}
#stereoscopy .img {
	line-height: 0;
	width: calc((100vw - 922px) / 2 + 324px);
	max-width: 640px;
	height: 255px;
	background: url(../img/3dvr.jpg);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: cover;
}
#stereoscopy .cap {
	max-width: 544px;
	margin-top: 20px;
}
#stereoscopy .cap p {
	margin: 30px 0 0;
}
#stereoscopy .cap .demo {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#stereoscopy .cap .demo img {
	margin: 0 15px 0 25px;
}

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



#trip {
	display: flex;
	justify-content: center;
}
#trip .wrap {
	display: flex;
	width: 922px;
}



#interface {
	display: flex;
	justify-content: center;
}
#interface .wrap {
	display: flex;
	width: 922px;
}



#cms {
	display: flex;
}
#cms .wrap {
	display: flex;
	flex-wrap: nowrap;
	margin-left: calc((100vw - 922px) / 2);
}
#cms .gap {
	width: 54px;
}
#cms .img {
	width: calc((100vw - 922px) / 2 + 324px);
	max-width: 640px;	
	height: 255px;
	background: url(../img/cms_xanthomelas.jpg);
	background-repeat: no-repeat;
	background-position: 40% bottom;
	background-size: cover;
}
#cms .cap {
	max-width: 544px;
	margin-top: 20px;
}



#production {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#production .wrap {
	display: flex;
	flex-direction: column;
	width: 922px;
}
#production h1 {
	width: 100%;
}
#production .table {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-top: 20px;
}
#production .table .top_left {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 14px;
	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: 14px;
	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: 14px;
	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: 19px;
	line-height: 27px;
	/*color: #859a7b;*/
	color: #4a5f8a;
	/*width: 50%;*/
	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: 18px;
	line-height: 27px;
	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: 18px;
	line-height: 27px;
	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: 14px;
	color: #555;
}
#production .table .center span {
	font-size: 14px;
}
#production .cap {
	width: 100%;
	margin-top: 40px;
}
#production ul {
	width: 100%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-left: 20px;
	margin: 20px 0 0;
}
#production li {
	font-size: 15px;
	line-height: 1.3em;
	margin-top: 10px;
}

#production .inquiry {
	display: flex;
	flex-direction: row;
	justify-content: center;
	border-top: 2px #bbb dotted;
	margin-top: 5px;
	padding-top: 5px;
}
#production .exception1 div:nth-child(1)::before {
	font-size: 18px;
	line-height: 40px;
	content: '問い合わせ';
}
#production .inquiry div:nth-child(1) {
	width: 260px;
	white-space: nowrap;
	font-size: 18px;
	line-height: 40px;
	padding-left: 15px;
}
#production .inquiry div:nth-child(2) {
	width: 300px;
	white-space: nowrap;
	font-size: 18px;
	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 .exception1 {
	margin-top: 40px;
}
#production .exception2 {
	padding-bottom: 5px;
	border-bottom: 2px #bbb dotted;
}
#production .exception2 div:nth-child(1) {
	letter-spacing: 0.05em;
}
#production .note {
	font-size: 18px;
	line-height: 1.6em;
	margin-top: 50px;
}



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: 922px;
	margin-top: 50px;	
	margin-bottom: 50px;
}
footer .section-1 .copyright {
	font-size: 16px;
	line-height: 1em;
	font-family: Helvetica, sans-serif;
	white-space: nowrap;
}
footer .section-1 .company {
	display: flex;
	flex-direction: row;
}
footer .origin {
	font-size: 16px;
	line-height: 1em;
	white-space: nowrap;
	margin-left: 30px;	
	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: 860px;
}
#sectionWrapper .gap {
	height: 50px;
}


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

#target-1 .cap {
	width: 100%;
}
#target-1 .cap p {
	font-size: 18px;
	line-height: 1.6em;
}
#target-1 .cap p.p1 {
	margin: 0;
}
#target-1 .cap p.p2 {
	margin: 50px 0 0;
}
#target-1 .cap p.p3 {
	margin: 9px 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: 18px;
	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: 18px;
	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: 15px;
	line-height: 1em;
	margin: 0.5em 0 0;
}
#target-2 .table .year {
	line-height: 1em;
}
#target-2 .table .year span {
	font-size: 15px;
}
#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: 780px;
	min-height: 965px;	/* #target-1,2 height 1080px - .index height 52px - .index margin 63px */
}
#targetScreen iframe {
	width: 100%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	height: 950px;		/* #inquiryForm height 965px - 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: 18px;
	line-height: 18px;
	width: 23%;
	padding: 23px 5px 0 5px;
	border-top: 2px dotted rgba(146,146,146,0.5);
	/*border-right: 2px dotted rgba(146,146,146,0.5);*/
}
#inputScreen .items .even {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 77%;
	padding: 17px 10px 17px 23px;
	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: 80px;
}
#inputScreen .button input.check {
	width: 310px;
}

#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: 15px 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: 15px;
	line-height: 1em;
	margin-left: 5px;
}
#checkScreen .items .input-data {
	width: 76%;
	font-size: 17px;
	line-height: 1em;
	margin-right: 5px;
	word-break: break-all;
	color: rgb(190,190,190);
}
#checkScreen .items .input-content {
	width: 100%;
	font-size: 17px;
	line-height: 1.5em;
	margin-right: 10px;
	margin-left: 5px;
	word-break: break-all;
	white-space: pre-wrap;
	color: rgb(190,190,190);
}
/*
#checkScreen .items .local-font {
	font-family: "Hiragino Kaku Gothic Pro", Meiryo, Helvetica, sans-serif;
}
*/
#checkScreen .button {
	display: flex;
	justify-content: space-between;
	width: 70%;
	margin-top: 80px;
}
#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: 70px;
	margin-bottom: 20px;
}
#checkScreen .SSL .globalsign {
	line-height: 0;
}
#checkScreen .SSL .cap {
	font-size: 14px;
	line-height: 1em;
	margin-left: 15px;
}

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


.boxClose {
	position: relative;
	font-size: 18px;
	line-height: 28px;
	color: rgb(146,146,146);
	height: 28px;
	cursor: pointer;
}
.boxClose span {
	position: absolute;
	right: 0;
	width: 40px;
	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(-3px,11px) rotate(-45deg);
}
.boxClose span:nth-child(2) {
	bottom: 0;
	transform: translate(-3px,-13px) rotate(45deg);
}
.boxClose::after {
	display: block;
	content: '閉じる';
	margin-right: 48px;
}




/* ipad横向き */
@media (orientation: landscape) and (width: 1024px) {
	#production .inquiry div:nth-child(2) .replace {
		font-size: 0;
		line-height: 0;
	}
	#production .inquiry div:nth-child(2) .replace:before {
		font-size: 18px;
		line-height: 40px;
		content: "タップ";
	}
}
