﻿@charset "utf-8";
/* CSS Document */

/* ------------------------------
common
------------------------------ */
html,
body {
	overflow-x: hidden;
	color: #fff;
}

html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
}

/* this page only: test whether dropping the fixed-nav's blurred box-shadow
   (set globally in /common/css/products_item.css .fixed) reduces scroll cost */
.fixed-nav.fixed {
	box-shadow: none;
}

#contents {
	font-family: 'Noto Sans JP', sans-serif;
	padding-top: 0!important;
	font-size: inherit!important;
	background: #8a9cb1;
}

#contents .inr {
	max-width: 1200px;
}

.img img {
	width: auto!important;
	max-width: 100%;
}

ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.flex_box {
	display: flex;
}

.reverse {
	flex-direction: row-reverse;
}

figure {
	margin: 0;
}

img {
	max-width: 100%;
	height: auto;
}

.pc {
	display: block;
}

.tab {
	display: none;
}

.sp490 {
	display: none;
}

.section_ttl {
	position: relative;
	text-align: center;
	font-family: 'Lato', 'Noto Sans JP', sans-serif;
	font-size: 12rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1;
	margin: 0 0 7rem;
	color: #CFD8E2;
	text-shadow: none;
}

.lead_txt {
	text-align: center;
	max-width: 90rem;
	margin: 0 auto 3rem;
	line-height: 2;
}

.lead_txt:last-of-type {
	margin-bottom: 0;
}

p.note {
	font-size: 1.2rem;
	line-height: 1.8;
	color: #fff;
}

.note_mark {
	font-size: 0.6em;
}

.btn {
	text-align: center;
	margin-bottom: 0!important;
}

.btn a {
	padding: 1.5rem;
	box-sizing: border-box;
	min-width: 26rem;
	background: transparent;
	border: 0.2rem solid #fff;
	border-radius: 3.2rem;
	text-align: center;
	display: inline-block;
	color: #fff;
	transition: .4s;
}

.btn a:link,
.btn a:visited {
	color: #fff;
}

.btn a:hover {
	background: #fff;
	text-decoration: none;
	color: #47566b;
}

.icon img {
	width: auto!important;
}

@media screen and (max-width: 1300px) {
	body {
		font-size: calc(1.6rem + ((1vw - 1.3rem)*0.75));
	}
}

@media screen and (max-width: 1024px) {
	body {
		font-size: 1.4rem;
	}
	#contents .inr {
		padding: 0 2rem!important;
		box-sizing: border-box;
	}
	#top .inr {
		padding: 1rem 2rem!important;
	}
	.section_ttl {
		font-size: calc(6.6rem + ((1vw - 0.78rem) * 6));
	}
	.pc {
		display: none;
	}
	.tab {
		display: block;
	}
}

@media screen and (max-width: 490px) {
	.sp490 {
		display: block;
	}
}


/* ------------------------------
mv
------------------------------ */
.mv_area {
	position: relative;
	background: #8a9cb1;
	overflow: hidden;
}

.mv {
	position: relative;
	padding: 10rem 0 0;
	box-sizing: border-box;
}

.mv .inr {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding-bottom: 6rem;
	transform: translateZ(0);
}

.mv_txt {
	width: auto;
}

h1 {
	position: relative;
	z-index: 2;
	margin: 0 0 3rem;
	font-size: 3rem;
	line-height: 1.5;
	font-weight: bold;
	color: #fff;
	white-space: nowrap;
}

.mv_note {
	margin-bottom: 4rem;
	font-size: 1.6rem;
}

.item_name {
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.8;
	margin: 0;
}

.item_name .num {
	font-size: 1.2em;
}

.mv_visual {
	position: relative;
	width: 56%;
	height: 46rem;
}

.orbit_rings {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 56rem;
	height: 56rem;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.08) 45%, rgba(255, 255, 255, 0) 70%);
	pointer-events: none;
}

.orbit_rings .ripple {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.45) 78%, rgba(255, 255, 255, 0.7) 100%);
	transform: translate(-50%, -50%) scale(0.3);
	opacity: 0;
	animation: ringRipple 3.6s cubic-bezier(0.2, 0.6, 0.4, 1) infinite;
	animation-play-state: paused;
}

.orbit_rings.is-visible .ripple {
	animation-play-state: running;
}

/* a running transform+opacity animation combined with a resize-triggered
   layout recalculation can leave the element unpainted (still hit-testable,
   just invisible) in some browsers; pausing during an active resize avoids
   the trigger, see js/function.js pauseRipplesWhileResizing() */
body.is-resizing .orbit_rings .ripple,
body.is-resizing .solution_img_track {
	animation-play-state: paused !important;
}

.orbit_rings .ripple:nth-child(2) {
	animation-delay: 1.2s;
}

.orbit_rings .ripple:nth-child(3) {
	animation-delay: 2.4s;
}

@keyframes ringRipple {
	0% {
		transform: translate(-50%, -50%) scale(0.3);
		opacity: 0.55;
	}
	60% {
		opacity: 0.2;
	}
	100% {
		transform: translate(-50%, -50%) scale(1.15);
		opacity: 0;
	}
}

.device_main {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 26rem;
	transform: translate(-50%, -50%);
	z-index: 3;
}

.orbit_item {
	position: absolute;
	z-index: 2;
}

.orbit_item img {
	width: 100%;
}

.orbit_mobile {
	top: 0;
	left: 15%;
	width: 22%;
}

.orbit_camera {
	top: 6%;
	right: 4%;
	width: 20%;
}

.orbit_signage {
	top: 50%;
	right: -2%;
	width: 14%;
}

.orbit_pc {
	bottom: 8%;
	left: 6%;
	width: 24%;
}

.orbit_raspi {
	bottom: -13%;
	left: 42%;
	width: 22%;
}

.mv_watermark {
	display: block;
	width: 92%;
	max-width: 1324.8px; /* 92% of the 1440px cap */
	margin: -4rem auto 0 auto;
	height: auto;
}

@media screen and (max-width: 1024px) {
	.mv {
		padding-top: 8rem;
	}
	.mv .inr {
		flex-wrap: wrap;
		gap: 0;
		padding-bottom: 2rem;
	}
	.mv_txt {
		width: 100%;
		text-align: center;
	}
	h1 {
		font-size: calc(2.6rem + ((1vw - 0.78rem) * 2));
	}
	.mv_visual {
		width: 100%;
		height: 36rem;
		margin-top: 2rem;
		padding: 0 3rem;
		box-sizing: border-box;
	}
	.orbit_mobile {
		top: -6%;
		left: 12%;
		width: 18%;
	}
	.orbit_camera {
		top: 3%;
		right: 8%;
		width: 16%;
	}
	.orbit_signage {
		top: 50%;
		right: 4%;
		width: 12%;
	}
	.orbit_pc {
		bottom: 4%;
		left: 4%;
		width: 18%;
	}
	.orbit_raspi {
		bottom: -16%;
		left: 45%;
		width: 16%;
	}
	.mv_watermark {
		width: 96%;
		margin-top: 2rem;
	}
}

@media screen and (max-width: 600px) {
	h1 {
		font-size: 2.4rem;
	}
	.mv_visual {
		height: 38rem;
		padding: 0 2rem;
		margin-top: -8rem;
	}
	.mv_visual .orbit_rings {
		width: 30rem;
		height: 30rem;
	}
	.device_main {
		width: 45%;
	}
	.orbit_mobile {
		top: -6%;
		left: -3%;
		width: 27%;
	}
	.orbit_camera {
		top: -2%;
		right: -5%;
		width: 24%;
	}
	.orbit_signage {
		right: 4%;
		width: 13.5%;
	}
	.orbit_pc {
		left: 2%;
		bottom: 10%;
		width: 27%;
	}
	.orbit_raspi {
		bottom: -10%;
		left: 45%;
		width: 24%;
	}
	.mv_watermark {
		margin-top: 1rem;
	}
}

@media screen and (max-width: 490px) {
	.mv_visual {
		margin-top: -10rem;
	}
	.orbit_mobile {
		top: 10%;
	}
	.orbit_camera {
		top: 10%;
	}
	.orbit_signage {
		top: 65%;
	}
}


/* ------------------------------
lead
------------------------------ */
.lead {
	padding: 12rem 0 10rem!important;
}

.lead_ttl {
	text-align: center;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 4rem;
}

.product_summary {
	margin: 6rem 0 0;
	padding: 0 8%;
	align-items: center;
	justify-content: center;
	gap: 6rem;
	transform: translateZ(0);
}

.product_summary .img {
	position: relative;
	width: 26%;
	text-align: center;
}

.product_summary .img:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -5.5rem;
	width: 6rem;
	border-top: 0.1rem dashed rgba(255, 255, 255, 0.5);
}

.summary_list {
	width: 56%;
	background: #657486;
	padding: 1rem 4rem;
	box-sizing: border-box;
}

.summary_list li {
	display: flex;
	align-items: center;
	padding: 2.4rem 0;
	font-size: 1.8rem;
	font-weight: bold;
}

.summary_list li + li {
	border-top: 0.1rem solid rgba(255, 255, 255, 0.25);
}

.summary_list .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 5rem;
	margin-right: 2rem;
}

.summary_list .icon img {
	max-height: 3.6rem;
}

@media screen and (max-width: 1024px) {
	.lead {
		padding: 8rem 0!important;
	}
	.lead_ttl {
		font-size: 2rem;
	}
	.product_summary {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0;
	}
	.product_summary .img {
		width: 45%;
		padding: 0 0 3rem;
	}
	.product_summary .img:after {
		display: none;
	}
	.summary_list {
		width: 100%;
	}
}

@media screen and (max-width: 600px) {
	.product_summary .img {
		width: 60%;
	}
	.summary_list {
		padding: 1rem 2rem;
	}
	.summary_list li {
		font-size: 1.5rem;
	}
}


/* ------------------------------
feature
------------------------------ */
.feature {
	position: relative;
	padding: 20rem 0 20rem!important;
	overflow: hidden;
}

.feature_visual {
	--edge-gutter: 0px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 4rem;
	transform: translateZ(0);
}

.visual_illust {
	position: relative;
	width: 55rem;
	height: 40rem;
	max-height: 56rem;
	min-height: 34rem;
	margin-left: 6.6rem;
}

.visual_illust .orbit_rings.small {
	width: 56rem;
	height: 56rem;
}

.visual_illust .hand {
	position: absolute;
	left: -28%;
	bottom: -40%;
	width: 100%;
	z-index: 2;
}

.visual_illust .device {
	position: absolute;
	left: 25%;
	top: 10%;
	width: 35%;
	z-index: 1;
}

.spec_list_area {
	position: relative;
	z-index: 2;
	width: calc(45% - var(--edge-gutter));
	margin-right: var(--edge-gutter);
}

.spec_list_ttl {
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 3rem;
	text-align: center;
}

.spec_list {
	flex-wrap: wrap;
	justify-content: space-between;
}

.spec_list li {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 32%;
	padding: 2rem 0;
	font-size: 1.5rem;
	font-weight: bold;
}

.spec_list .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 4.8rem;
	margin-bottom: 1.5rem;
}

.spec_list .icon img {
	height: 100%;
	width: auto;
}

.point_list {
	margin-top: 16rem;
}

.point_item {
	position: relative;
	margin-bottom: 18rem;
}

.point_item:last-child {
	margin-bottom: 0;
}

.point_item .point_num {
	font-family: 'Lato', 'Noto Sans JP', sans-serif;
	font-size: 12rem;
	font-weight: 500;
	line-height: 1;
	color: #CFD8E2;
	margin: 0 0 6rem;
	text-shadow: none;
}

.point_item:nth-child(odd) .point_num {
	text-align: right;
}

.point_item .flex_box {
	align-items: center;
	justify-content: space-between;
	transform: translateZ(0);
}

.point_item .txt {
	position: relative;
	z-index: 1;
	width: 42%;
}

.point_item .img {
	position: relative;
	width: 52%;
}

.feature_ttl {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 2.5rem;
}

.point_item p {
	line-height: 1.9;
}

.point_item p + p {
	margin-top: 1.5rem;
}

.point_item .link {
	margin-top: 2rem;
}

.point_item .link a {
	position: relative;
	display: inline-block;
	color: #fff;
	text-decoration: none;
}

.point_item .link a::before {
	content: "";
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	bottom: -0.5rem;
	transform: scaleX(1);
	transition: .3s;
}

.point_item .link a:hover,
.point_item .link a:active {
	text-decoration: none;
}

.point_item .link a:hover::before {
	transform: scaleX(.8);
}

.point_item .ico {
	position: absolute;
	height: 14rem;
}

#contents .point_item .ico > img {
	position: relative;
	height: 100%;
	width: auto;
	z-index: 1;
}

.point_item .ico .orbit_rings {
	top: 50%;
	left: 50%;
	width: 26rem;
	height: 26rem;
	z-index: 0;
}

.point_item .img .ico {
	bottom: -10%;
	left: -8%;
}

.point_item .txt .ico.ico_bottom {
	top: 0rem;
	right: 0;
}

.point_item .txt .ico.ico_top {
	top: 0rem;
	right: 0;
}

@media screen and (max-width: 1024px) {
	.feature {
		padding: 10rem 0!important;
	}
	.feature_visual {
		flex-direction: column;
		align-items: stretch;
	}
	.visual_illust {
		width: 100%;
		margin-bottom: 3rem;
		margin-left: 0;
	}
	.visual_illust .hand {
		left: 0;
		width: 56%;
	}
	.visual_illust .device {
		top: 0;
		left: 37%;
		width: 22%;
	}
	.spec_list_area {
		width: 100%;
		max-width: 80rem;
		margin: 0 auto;
	}
	.spec_list li {
		width: 30%;
		font-size: 1.4rem;
	}
	.point_list {
		margin-top: 10rem;
	}
	.point_item {
		margin-bottom: 10rem;
	}
	.point_item:nth-child(odd) .point_num {
		text-align: left;
	}
	.point_item .point_num {
		font-size: calc(6.6rem + ((1vw - 0.78rem) * 6));
		margin-bottom: 2rem;
	}
	.point_item .flex_box,
	.point_item.reverse .flex_box {
		flex-direction: column-reverse;
	}
	.point_item .txt,
	.point_item .img {
		width: 100%;
	}
	.point_item .img {
		margin-bottom: 3rem;
	}
	.point_item .img .ico {
		top: calc(100% + 3rem);
		bottom: auto;
		left: auto;
		right: 0;
	}
}

/* stepped replacements for the old vw/calc()-based fluid sizing above
   1024px: same general edge-to-edge bleed effect, but only recalculated at
   these breakpoints instead of on every pixel of a resize */
@media screen and (min-width: 1201px) {
	.feature_visual {
		--edge-gutter: 3rem;
	}
	.visual_illust {
		width: 58rem;
		height: 42rem;
		margin-left: 7rem;
	}
}

@media screen and (min-width: 1300px) {
	.feature_visual {
		--edge-gutter: 6rem;
	}
	.visual_illust {
		width: 65rem;
		height: 47rem;
		margin-left: 7.8rem;
	}
}

@media screen and (min-width: 1440px) {
	.feature_visual {
		--edge-gutter: 12rem;
	}
	.visual_illust {
		width: 72rem;
		height: 51.84rem;
		margin-left: 8.64rem;
	}
}

@media screen and (min-width: 1600px) {
	.feature_visual {
		--edge-gutter: 20rem;
	}
	.visual_illust {
		width: 79rem;
		height: 56.9rem;
		margin-left: 9.5rem;
	}
}

@media screen and (min-width: 1920px) {
	.feature_visual {
		--edge-gutter: 36rem;
	}
	.visual_illust {
		width: 86rem;
		height: 61.9rem;
		margin-left: 10.5rem;
	}
	.spec_list_area {
		width: 45%;
		max-width: 60rem;
		margin: 0 auto 0 0;
	}
}

@media screen and (max-width: 600px) {
	.feature {
		padding: 4rem 0 8rem!important;
	}
	.visual_illust {
		height: 22rem;
		margin-bottom: -5rem;
	}
	.visual_illust .orbit_rings.small {
		width: 30rem;
		height: 30rem;
	}
	.visual_illust .hand {
		bottom: -10%;
		width: 75%;
	}
	.visual_illust .device {
		left: 33%;
		width: 35%;
	}
	.spec_list_area {
		padding: 0 2rem;
		box-sizing: border-box;
	}
	.spec_list li {
		width: 50%;
	}
	.point_num {
		font-size: 8rem;
		margin-bottom: -2rem;
	}
	.feature_ttl {
		font-size: 1.8rem;
	}
	.point_item .ico {
		height: 10rem;
	}
	.point_item .ico .orbit_rings {
		width: 16rem;
		height: 16rem;
	}
	.point_item .img .ico {
		top: calc(100% - 3rem);
	}
	.point_item .txt .ico.ico_bottom,
	.point_item .txt .ico.ico_top {
		top: -6rem;
	}
}

@media screen and (max-width: 490px) {
	.visual_illust .hand {
		bottom: 10%;
	}
}


/* ------------------------------
solution
------------------------------ */
.solution {
	position: relative;
	padding: 14rem 0 0!important;
	background: #657486;
	text-align: center;
}

.solution .section_ttl {
	position: relative;
	display: inline-block;
	color: #CFD8E2;
}

.solution .section_ttl .ico {
	position: absolute;
	display: block;
}

.solution .section_ttl .ico img {
	height: 100%;
	width: auto;
}

.solution .section_ttl .ico_signage {
	height: 21.2rem;
	left: -27%;
	top: -18rem;
}

.solution .section_ttl .ico_camera {
	height: 10.4rem;
	right: -32%;
	top: 80%;
}

.solution_ttl {
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
	margin: 4rem 0 2rem;
}

.solution .btn {
	margin-top: 4rem;
}

.solution_img_list {
	overflow: hidden;
	margin-top: 8rem;
}

.solution_img_track {
	display: flex;
	width: 200%;
	animation: solutionMarquee 28s linear infinite;
	animation-play-state: paused;
}

.solution_img_list.is-visible.fade-done .solution_img_track {
	animation-play-state: running;
}

.solution_img_track li {
	position: relative;
	width: 12.5%;
	flex-shrink: 0;
	line-height: 0;
}

.solution_img_track li::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(15, 63, 123, 0.3);
}

.solution_img_track img {
	width: 100%!important;
	height: auto;
	aspect-ratio: 522 / 403;
	object-fit: cover;
}

@keyframes solutionMarquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media screen and (max-width: 1024px) {
	.solution {
		padding-top: 8rem!important;
	}
	.solution_ttl {
		font-size: 1.8rem;
	}
	.solution .section_ttl .ico_signage {
		left: -45%;
		top: -13rem;
	}
	.solution .section_ttl .ico_camera {
		right: -50%;
		top: 40%;
	}
	.solution_img_list {
		margin-top: 4rem;
	}
	.solution_img_track {
		width: 400%;
	}
}

@media screen and (max-width: 600px) {
	.solution .section_ttl {
		margin-bottom: 0;
	}
	.solution_img_track {
		width: 800%;
	}
	.solution .section_ttl .ico_signage {
		left: -37%;
		height: 17.4rem;
	}
	.solution .section_ttl .ico_camera {
		top: 60%;
		height: 8.6rem;
	}
}

@media screen and (max-width: 490px) {
	.solution .section_ttl .ico_signage {
		height: 14.4rem;
	}
	.solution .section_ttl .ico_camera {
		height: 6.6rem;
	}
}


/* ------------------------------
case
------------------------------ */
.case {
	position: relative;
	padding: 12rem 0 14rem!important;
}

.case .section_ttl {
	text-align: left;
	padding-left: 4%;
}

.case_body {
	display: flex;
	align-items: flex-start;
}

.case_vertical_ttl {
	flex-shrink: 0;
	padding: 0 8%;
	writing-mode: vertical-rl;
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	z-index: 2;
}

.case_slide_viewport {
	position: relative;
	flex: 1;
	min-width: 0;
	padding: 0 4% 0 3rem;
	box-sizing: border-box;
	overflow: hidden;
}

.case_slide {
	width: 133.333%;
}

.case_item {
	padding: 0 1.5rem;
	box-sizing: border-box;
}

.case_item .img {
	margin-bottom: 3rem;
	line-height: 0;
}

.case_item .img img {
	max-width: 100%;
	height: 30rem;
	object-fit: cover;
}

.case_item .slide_ttl {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.case_item p {
	line-height: 1.9;
}

.case_body .slick-dots {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.case_body .slick-dots li {
	display: block;
	line-height: 0;
	margin-bottom: 1.5rem;
}

.case_body .slick-dots button {
	width: 1rem;
	height: 1rem;
	padding: 0;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, 0.4);
	font-size: 0;
	appearance: none;
	-webkit-appearance: none;
}

.case_body .slick-dots .slick-active button {
	background: #fff;
}

@media screen and (max-width: 1024px) {
	.case {
		padding: 8rem 0 10rem!important;
	}
	.case_vertical_ttl {
		padding: 0 2%;
	}
	.case_slide_viewport {
		padding: 0 6% 0 3rem;
	}
	.case_slide {
		width: 100%;
	}
}

@media screen and (max-width: 600px) {
	.case .section_ttl {
		text-align: center;
		padding-left: 0;
	}
	.case_body {
		flex-direction: column;
		align-items: stretch;
	}
	.case_item {
		padding: 0;
	}
	.case_vertical_ttl {
		writing-mode: horizontal-tb;
		text-align: center;
		padding: 0;
		margin: -2rem 0 3rem;
		font-size: 2rem;
	}
	.case_body .slick-dots {
		display: none!important;
	}
	.case_item .img img {
		height: 20rem;
	}
}

@media screen and (max-width: 490px) {
	.case {
		padding-bottom: 0!important;
	}
}

@media screen and (min-width: 1440px) {
	.case .section_ttl {
		padding-left: calc((100vw - 1200px) / 2);
	}
	.case_vertical_ttl {
		padding-left: calc((100vw - 1200px) / 2);
	}
}


/* ------------------------------
cross_area
------------------------------ */
.cross_area {
	display: flex;
}

.cross_item {
	position: relative;
	width: 50%;
	min-height: 40rem;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.cross_rt100 {
	background: #999;
}

.cross_rt100 .bg_img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.cross_rt100 .bg_img img {
	width: 100%!important;
	height: 100%;
	object-fit: cover;
}

.cross_rt100:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(20, 26, 36, 0.35);
	z-index: 1;
}

.cross_biz {
	background: #657486;
}

.cross_item .txt {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 4rem;
	box-sizing: border-box;
}

.cross_ttl {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 2rem;
}

.cross_item p {
	line-height: 1.8;
	margin-bottom: 3rem;
}

@media screen and (max-width: 1024px) {
	.cross_area {
		flex-wrap: wrap;
	}
	.cross_item {
		width: 100%;
		min-height: 32rem;
	}
	.cross_ttl {
		font-size: 2rem;
	}
}


/* ------------------------------
animation
------------------------------ */
.delay1s {
	animation-delay: .1s;
}
.delay2s {
	animation-delay: .2s;
}
.delay3s {
	animation-delay: .3s;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@keyframes fadeInY {
	0% {
		opacity: 0;
		transform: translateY(5rem);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

[data-name="fade"] {
	opacity: 0;
}

[data-name="fade"].isShow {
	animation-name: fadeIn;
	animation-duration: 1s;
	animation-fill-mode: forwards;
}

[data-name="fadeSlideup"] {
	opacity: 0;
}

[data-name="fadeSlideup"].isShow {
	animation-name: fadeInY;
	animation-duration: 1.2s;
	animation-fill-mode: forwards;
}


/* ------------------------------
breadcrumb
------------------------------ */
.breadcrumb,
.breadcrumb li {
	color: #444;
	text-shadow: none;
}
