@charset "utf-8";
/* CSS Document */
* {
	position: relative;
	z-index: 1;
}
html {
	scroll-behavior: smooth;
}
body {
	color: #393C4B;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
	font-style: normal;
    font-size: 1.146vw;
	line-height: 1.8;
    text-align: justify;
    text-justify: inter-ideograph;
}
a {
	text-decoration: none;
	transition: 0.3s;;
}
a:hover {
	opacity: 0.7;
}

.inner {
	width: 72.917vw;
	margin-right: auto;
	margin-left: auto;
}
.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
br.nopc {
	display: none;
}

.regular { font-weight: 400;}
.medium {font-weight: 500;}
.bold {font-weight: 700;}

.blue {color: #22D1E5;}

.subhead {
	font-size: 1.458vw;
	font-weight: 500;
	text-align: center;
}

.marker {
	background: linear-gradient(transparent 70%, #FFD670 70%);
}
/* animate */
.fadeup {
	opacity: 0;
}
.fadeup.animated {
	animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeup {
	0% {
		transform: translateY(1.563vw);
		opacity: 0;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.smooth {
	clip-path: inset(0 100% 0 0);
	font-weight: bold;
	transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
	transition-property: clip-path;
}
.smooth.animated {
	clip-path: inset(0);
}

.scr_fadeup>div {
	opacity: 0;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	z-index: 0;
	transition: 0.3s;
	background-color: #fff;
}
.scr_fadeup>div.fade {
	opacity: 1;
	z-index: 2;
}
.scr_fadeup_head {
	opacity: 0;
	transition: 0.3s;
	position: fixed;
	top: 5vw;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	z-index: 0;
}
.scr_fadeup_head.fade {
	opacity: 1;
	z-index: 3;
}


/* header */
header {
	background-color: #fff;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 999;
}
header .navber {
	width: 66.875vw;
	align-items: center;
}
header h1 {
	background-color: #fff;
	padding-left: 1.563vw;
	height: 4.688vw;
	display: flex;
	align-items: center;
}
header h1 img {
	width: 11.979vw;
}
header .btnwrap>a {
	color: #fff;
	font-size: 0.938vw;
	font-weight: 700;
	line-height: 1;
	background-color: #C1C3C7;
	display: block;
	width: 13.021vw;
	height: 2.083vw;
	border-radius: 1.042vw;
	padding-left: 1.042vw;
	padding-bottom: 0.25vw;
	margin-left: 1.042vw; 
	display: flex;
	align-items: center;
}
header .btnwrap>a::after {
	content: "〉";
	font-size: 0.729vw;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.042vw;
	display: flex;
	align-items: center;
}
header .btnwrap>a:hover {
	opacity: 1;
}
header .btnwrap>a:first-child:hover {
	background-color: #22D1E5;
}
header .btnwrap>a:nth-child(2):hover {
	background-color: #FDD01B;
}
header .btnwrap>a:nth-child(3):hover {
	background-color: #393C4B;
}

#hamburger,
#hamburger div {
    transition: all 0.4s;
    z-index: 1001;
	vertical-align: middle;
}
#hamburger {
	width: 3.646vw;
	height: 2.188vw;
    display: inline-block;
	position: fixed;
	top: 1.198vw;
	right: 13.542vw;
	z-index: 1001;
}
#hamburger:hover {
    cursor: pointer;
}
#hamburger div {
	width: 100%;
    height: 0.313vw;
    position: absolute;
    left: 0;
    background-color: #4C4F5D;
    display: inline-block;
    box-sizing: border-box;
}
#hamburger div:nth-of-type(1) {
    top: 0;
    left: 0;
}
#hamburger div:nth-of-type(2) {
    top: calc(50% - 0.156vw);
    left: 0;
}
#hamburger div:nth-of-type(3) {
    bottom: 0;
    left: 0;
}
#hamburger.active div {
	background-color: #fff;
}
#hamburger.active div:nth-of-type(1) {
    -webkit-transform: translateY(320%) rotate(-315deg);
    transform: translateY(320%) rotate(-315deg);
}
#hamburger.active div:nth-of-type(2) {
    opacity: 0;
}
#hamburger.active div:nth-of-type(3) {
    -webkit-transform: translateY(-260%) rotate(315deg);
    transform: translateY(-260%) rotate(315deg);
}


.menuWrap {
	color: #fff;
	background-color: RGBa(57,60,75,0.9);
	width: 100%;
	height: 100vh;
	padding-top: 8.104vw;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	display: none;
}
.menuWrap .flex {
	align-items: flex-start;
	margin-bottom: 5.729vw;
}
.menuWrap p {
	font-size: 1.354vw;
	font-weight: 500;
	margin-bottom: 1.667vw;
}
.menuWrap li {
	padding-left: 1.563vw;
	margin-bottom: 0.521vw;
}
.menuWrap li::before {
	content:"●";
	font-size: 0.833vw;
	line-height: 1.146vw;
	color: #BDBFC4;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	display: flex;
    align-items: center;
}
.menuWrap li.nopc {
	display: none;
}
.menuWrap a {
	font-size: 1.146vw;
	color: #fff;
	text-decoration: underline;
}

/* fv */
#fv {
	background: rgb(1,42,170);
	background: linear-gradient(to right bottom, rgba(1,42,170,1) 0%, rgba(0,255,229,1) 100%);
	height: 100vh;
	min-height: 48.958vw;
}
#fv .inner {
	height: 100vh;
	min-height: 48.958vw;
	display: flex;
	align-items: center;
}
#fv .fv_textwrap {
	color: #fff;
	font-weight: 700;
}
#fv .fv_textwrap p {
	font-size: 2.604vw;
	line-height: 1.4;
	text-shadow: 1.042vw 1.042vw 1.042vw RGBa(0,0,0,0.16);
	padding-bottom: 1.042vw ;
}
#fv .fv_textwrap p .sub {
	font-size: 1.458vw;
}
#fv .fv_flow {
	width: 32.5vw;
	margin-top: 0.511vw;
}
#fv .fv_flow .flowitem {
	font-size: 1.25vw;
	background-color: #22D1E5;
	border-radius: 0.26vw;
	width: 15.729vw;
	height: 3.906vw;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 1.563vw 1.563vw 1.563vw RGBa(0,0,0,0.16);
}
#fv .fv_mainimg {
	width: 41.198vw;
	position: absolute;
	right: 0;
}

/* content */
.viewwrap {
	height: 43.75vw;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
h2 {
	color: #22D1E5;
	font-size: 2.083vw;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1.406vw;
}

/* about */
#about {
	text-align: center;
	margin-top: 5.208vw;
}
#about .flex {
	flex-wrap: wrap;
	margin-top: 4.688vw;
}
#about .flex>div {
	font-size: 1.042vw;
	font-weight: 700;
	width: 33.333vw;
	height: 26.042vw;
	border-radius: 0.26vw;
	background-color: #fff;
	box-shadow: 1.042vw 1.042vw 2.604vw RGBa(0,0,0,0.16);
	margin-bottom: 5.208vw;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
#about .flex>div img {
	margin-bottom: 1.25vw;
}
#about .flex>div:first-child img {
	width: 20.729vw;
}
#about .flex>div:nth-child(2) img {
	width: 19.115vw;
}
#about .flex>div:nth-child(3) img {
	width: 18.698vw;
}
#about .flex>div:nth-child(4) img {
	width: 11.771vw;
}

/* summary */
#summary {
	margin-top: 7.292vw;
}
#summary img {
	margin-top: 2.24vw;
	width: 100%;
}

/* merit */
#merit {
	margin-top: 5.573vw;
	margin-bottom: 7.708vw;
}
#merit .flex {
	margin-top: 5.99vw;
	align-items: flex-start;
}
#merit .flex div {
	width: 22.917vw;
}
#merit .flex img {
	width: 100%;
	margin-bottom: 1.25vw;
}
#merit .fadeup:nth-child(2) {
	animation-delay: 0.4s;
}
#merit .fadeup:nth-child(3) {
	animation-delay: 0.8s;
}

/* features */
#features {
	text-align: center;
}
#features>div {
	font-size: 1.146vw;
	font-weight: 400;
}
#features .blue {
	font-size: 1.563vw;
	font-weight: 700;
	margin-bottom: 1.042vw;
}
#features>div img {
	margin-bottom: 2.083vw;
	width: 100%;
}

/* operation */
#operation {
	margin-top: -100vh;
	margin-bottom: 5.208vw;
}
#operation .operation_item {
	text-align: center;
	background-color: #FBFBFB;
	padding: 1.563vw 5.208vw 0;
	width: 100%;
	height: 41.667vw;
	margin-top: 6.25vw;
}
#operation .operation_item:first-child {
	margin-top: 3.125vw;
	height: 32vw;
}
#operation h3 {
	font-size: 1.667vw;
	font-weight: 700;
}
#operation .operation_item p {
	font-size: 1.354vw;
	font-weight: 500;;
}
#operation p.bold {
	font-weight: 700;
}
#operation .operation_item:first-child .imgwrap {
	height: 24.375vw;
	display: flex;
	align-items: center;
	justify-content: center;
}
#operation .imgwrap {
	height: 25vw;
}
#operation .imgwrap img {
	width: 100%;
}
#operation .operation_text {
	margin-top: 1.042vw;
}
#operation .operation_text li:before {
	content: "●";
    font-size: 1.146vw;
    color: #BDBFC4;
	margin-right: 0.5em;
}

/* lisence, spec */
#lisence h2,
#spec h2 {
	margin-bottom: 5.208vw;
}
#lisence table,
#spec table {
	font-size: 1.042vw;
	width: 100%;
	margin-top: 0.521vw;
	margin-bottom: 3.125vw;
	border-collapse: collapse;
	table-layout: fixed;
}
#lisence table th,
#spec table th {
	font-weight: 400;
	background-color: #FBFBFB;
	padding: 0.521vw;
	border: solid 1px #707070;
}
#lisence table td,
#spec table td {
	padding: 0.521vw;
	border: solid 1px #707070;
}
#lisence td.medium,
#spec th.bold,
#spec th.medium,
#spec td.medium {
	font-weight: 400;
}

/* lisence */
#lisence table th {
	text-align: center;
}
#lisence th:first-child {
	width: 11.458vw;
}
#lisence th:nth-child(2) {
	width: 20.833vw;
}


/* spec */
#spec {
	margin-top: 6.25vw;
}
#spec .nopc {
	display: none;
}
#spec table th:first-child {
	width: 11.823vw;
}
#spec table th:nth-child(2) {
	width: 20.469vw;
}
#spec #spec05+table th:nth-child(2) {
	width: 10.26vw;
}
#spec #spec05+table th:nth-child(3) {
	width: 10.208vw;
}
#spec table th:last-child {
	width: 40.625vw;
}
#spec #spec06 {
	margin-bottom: 0;
}

/* casestudy */
#casestudy {
	margin-top: 6.771vw;
	margin-bottom: 4.167vw;
}
#casestudy h2 {
	margin-bottom: 6.25vw;
}
#casestudy .nopc {
	display: none;
}
#casestudy .flex {
	height: 32.292vw;
	align-items: stretch;
	z-index: 1;
}
#casestudy .flex>div:first-child {
	width: 13.542vw;
}
#casestudy .flex>div:nth-child(2) {
	width: 18.75vw;
	background-color: #DCDCDC;
}
#casestudy .flex>div:nth-child(3) {
	width: 54.167vw;
	background-color: #FBFBFB;
	display: flex;
	align-items: center;
	padding-left: 4.167vw;
}
#casestudy .flex>div:nth-child(4) {
	width: 13.542vw;
	background-color: #FBFBFB;
}
#casestudy .imgwrap img {
	width: 100%;
}
#casestudy h3 {
	font-size: 3.125vw;
	font-weight: 500;
}
#casestudy .name {
	font-weight: 700;
	margin-bottom: 3.385vw;
}
#casestudy .text {
	margin-bottom: 2.344vw;
}
#casestudy .link a img {
	width: 1.25vw;
	vertical-align: middle;
	top: -0.156vw;
}
#casestudy .bg {
	background: rgb(1,42,170);
	background: linear-gradient(to right bottom, rgba(1,42,170,1) 0%, rgba(0,255,229,1) 100%);
	height: 23.958vw;
	margin-top: -13.542vw;
	z-index: 0;
}

/* relation */
#relation {
	margin-top: 6.771vw;
	padding-bottom: 8.333vw;
}
#relation .subhead {
	margin-bottom: 4.167vw;
}
#relation .name {
	font-size: 1.458vw;
	font-weight: 700;
	margin-bottom: 0.521vw;
}
#relation .flex>div {
	width: 35.417vw;
}
#relation .fadeup:nth-child(2) {
	animation-delay: 0.4s;
}
#relation img {
	width: 100%;
}

/* movie */
#movie {
	text-align: center;
	background-color: #FBFBFB;
	padding: 2.604vw 10.417vw 5.208vw;
	margin-bottom: 6.25vw;
}
#movie .moviewrap {
	width: 100%;
	height: 41.015vw;
	margin-top: 2.865vw;
}
#movie .moviewrap iframe {
	width: 90%;
	height: 36.91vw;
	background-color: #fff;
}

/* contact */
#contact {
	text-align: center;
}
#contact .flex {
	margin-top: 6.771vw;
}
#contact .flex>div {
	width: 50%;
}
#contact .contact_img {
	width: 100%;
}
#contact .flex>div:last-child {
	padding-left: 3.802vw;
}
#contact .link {
	padding-top: 1.302vw;
}
#contact .link li {
	margin-bottom: 1.563vw;
}
#contact .link li a {
	color: #fff;
	font-size: 1.563vw;
	font-weight: 700;;
	display: flex;
	width: 100%;
	height: 5.208vw;
	padding: 1.302vw 2.865vw;
	position: relative;
}
#contact .link li a:hover {
	opacity: 1;
	box-shadow: 1.042vw 1.042vw 1.563vw RGBa(0,0,0,0.16);
}
#contact .link li a img {
	position: absolute;
	right: 2.865vw;
	top: 0;
	bottom: 0;
	margin: auto;
}
#contact .link li:first-child {
	background-color: #22D1E5;
}
#contact .link li:nth-child(2) {
	background-color: #FDD01B;
}
#contact .link li:nth-child(3) {
	background-color: #393C4B;
}

/* footer */
footer {
	margin-top: 5.88vw;
	padding-bottom: 2vw;
}
footer .f_jbat_logo {
	width: 7.396vw;
}
footer .inner>.flex {
	color: #5B666E;
	margin-top: 1.302vw;
}
footer .fnav a {
	font-size: 0.938vw;
	text-decoration: underline;
	margin-right: 1em;
}
footer .fnav li::before {
	content: "●";
	font-size: 1.042vw;
	color: #BDBFC4;
}

#totop {
    z-index: 999;
    width: 4.167vw;
    height: 4.167vw;
    position: fixed;
    right: 11.4vw;
    bottom: 3.53vw;
}
#totop img {
	width: 100%;;
}
