@charset "UTF-8";

/* ====================================
	共通スタイル
 ==================================== */
/* ヘッダー・フッター処理 */
#globalHeader,
#globalPageTitle {
	background-color: #fff;
}

main[data-footer-type] {
	padding-bottom: 0rem;
}

#productCommonFooter {
	position: relative;
	background-color: #fff;
	padding-bottom: 2.6rem;
	padding-top: 1rem;
}

/* ページトップへ戻る */
/* #pageTop.default {
	background-color: #fff;
} */
#pageTop.adj {
	height: 0rem;
}

/*top戻る */
article {
	overflow: hidden;
}

.maxw860 {
	max-width: 860px;
}

.ma {
	margin-left: auto;
	margin-right: auto;
}

.mtb {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.mt2em {
	margin-top: 2em;
}

.center {
	text-align: center;
}

.title {
	margin-top: 1rem;
}

.sub-section {
	margin-bottom: 20rem;
}

/* 縦書き */
.rl-text {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
}

.shadow-w {
	text-shadow: #fff 1px 0 16px, #fff 1px 0 16px, #fff 1px 0 16px, #fff 1px 0 16px, #fff 1px 0 16px, #fff 1px 0 16px, #fff 1px 0 16px, #fff 1px 0 16px, #fff 1px 0 16px, #fff 1px 0 16px;
}

.shadow-b {
	text-shadow: #000 1px 0 16px, #000 1px 0 16px;
}

#globalHeader,
#breadcrumb,
#globalPageTitle,
#globalSupportFooter,
#globalFooter,
#pageTop {
	z-index: 70;
	position: relative;
}


/*背景固定 */
.background {
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	position: fixed;
	background-position: center center;
	opacity: 0;
	-webkit-background-size: cover;
	background-size: cover;
	background-repeat: no-repeat;
	-webkit-transition: all 0.5s ease 0s;
	-moz-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
	/* z-index: 70; */
}

.show .background {
	opacity: 1;
}

.contents .wrap {
	/* padding: 40vh 0 60vh;
	position: relative; */
	position: relative;
	z-index: 40;
	/* display: flex;
	align-items: center;
	justify-content: center; */
	width: 100%;
	min-height: 100vh;
	padding: 10rem 2rem 0;
}

#sub01.contents .wrap {
	padding: 0;
}


#sub01 .background {
	opacity: 1;
}

#sub01-2 .wrap.bg {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	/* top: -10vw; */
}

#sub07 .wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	top: -16vw;
}



#sub01-2_bg {
	background-image: url(images/main01.jpg);
}

#sub01-2_bg::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	/* background-color: rgba(0, 0, 0, 0.6);
	transition: all 1.4s .2s ease; */
	animation: color-change 2.4s linear forwards;

}

@keyframes color-change {

	0% {
		background-color: rgba(0, 0, 0, 0.1);
	}

	100% {
		background-color: rgba(0, 0, 0, 0.85);
	}
}


/* 動画 */
video {
	width: 100%;
	vertical-align: bottom;
}


.background.video-item {
	/*切り替えアニメの背景色 */
	width: 100%;
	background-color: #fff;
	width: 197.93814vh;
	height: 50.52083vw;
	/* width: 177.77777778vh; */
	/* 16:9 の幅→16 ÷ 9＝ 177.77% */
	/* height: 56.25vw; */
	/* 16:9の幅 → 9 ÷ 16 = 56.25% */
	min-height: 100%;
	min-width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}


/* アニメーション */
.wrap:not(.passed) .text-container {
	opacity: 0;
}

.text-container {
	transition: all 1s .4s;

}

.get:not(.passed) {
	opacity: 0;
}

.get {
	transition: all .4s .1s;
}

.wrap.pc .arrow_box:not(.passed) {
	opacity: 0;
}

.wrap.sp .talk-item:not(.passed) {
	opacity: 0;
}

.text+.arrow_box {
	margin-top: 2rem;
}

/* 1文字ずつアニメーション */
.eachTextAnime span {
	opacity: 0;
}

.eachTextAnime.appeartext span {
	animation: text_anime_on 1.8s ease forwards;
	margin-bottom: 4px;
}

@keyframes text_anime_on {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/* テキスト */
.img-title {
	font-size: 2rem;
	margin-bottom: .8rem;
}

.img-text {
	font-size: 1.6rem;
	margin-top: .8rem;
}



#sub01 .main-text {
	font-size: 5.2rem;
	margin-top: 0rem;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing: 2px;

}

#sub01-2 .filter-container {
	color: #fff;
	text-align: center;
	position: relative;
	bottom: 20vh;
}



#sub01-2 .filter-container .text {
	font-size: 1.8rem;
	line-height: 2.2;
	margin-top: 4rem;
}

#sub01 .name {
	font-size: 3.6rem;
	line-height: 1.4;
	font-weight: 400;
	margin-top: 10rem;
}

#sub01 .name .small-text {
	font-size: 1.4rem;
}

#sub07 {
	color: #fff;
}

#sub07 .maru {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	font-size: 2.6rem;
	line-height: 1.2;
	background-color: rgba(255, 255, 255, 0.75);
	border-radius: 50px;
	color: #000;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
}

#sub07 .wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	/* height: 300vh; */
	height: 100vh;
}

#sub07-2 .wrap {
	height: 100vh;
}

#sub08 .main-text {
	font-size: 3.2rem;
	text-shadow: none;
	/* margin-top: 10rem; */
}

#sub08 .name {
	font-size: 4rem;
	line-height: 1.4;
	font-weight: 500;
	margin-top: 10rem;
}

#sub08.sub-section {
	margin-bottom: 0rem;
	min-height: auto;
}

.btn-arrow-left.has-width.center {
	/* width: 200px; */
	display: inline-block;
	position: relative;
	padding: .8em 2.2em .8em 2.2em;
	font-size: 1.6rem;
	font-weight: normal;
	background: #535353;
	cursor: pointer;
	margin-top: 2rem;
}

.btn-arrow-left:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 10px;
	width: 10px;
	height: 10px;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: translateY(-50%) rotate(-45deg);
	transition: all .2s ease-in-out;
}

a .btn-arrow-left {
	color: #fff;
	text-decoration: none;
}

/* 吹き出し */
.arrow_box {
	position: relative;
	width: 100%;
	background: #FFFFFF;
	padding: 2rem 2rem 2rem 3rem;
	border: 1px solid #9e9e9e;
	color: #000000;
	font-size: 1.7vw;
	line-height: 1.8;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	display: flex;
	justify-content: left;
	align-items: center;
	transition: all 1s .4s;
}

/* 左吹き出し */
.arrow-left:after,
.arrow-left:before {
	border: solid transparent;
	content: '';
	height: 0;
	width: 0;
	pointer-events: none;
	position: absolute;
	right: 100%;
	top: 50%;
}

.arrow-left:after {
	border-color: rgba(255, 255, 255, 0);
	border-top-width: 10px;
	border-bottom-width: 10px;
	border-left-width: 35px;
	border-right-width: 35px;
	margin-top: -10px;
	margin-right: -.5px;
	border-right-color: #FFFFFF;
}

.arrow-left:before {
	border-color: rgba(158, 158, 158, 0);
	border-top-width: 11px;
	border-bottom-width: 11px;
	border-left-width: 36px;
	border-right-width: 36px;
	margin-top: -11px;
	margin-right: 1px;
	border-right-color: #9e9e9e;
}

/* 右吹き出し */
.arrow-right:after,
.arrow-right:before {
	border: solid transparent;
	content: '';
	height: 0;
	width: 0;
	pointer-events: none;
	position: absolute;
	left: 100%;
	top: 50%;
}

.arrow-right:after {
	border-color: rgba(255, 255, 255, 0);
	border-top-width: 10px;
	border-bottom-width: 10px;
	border-left-width: 35px;
	border-right-width: 35px;
	margin-top: -10px;
	margin-right: -.5px;
	border-left-color: #FFFFFF;
}

.arrow-right:before {
	border-color: rgba(158, 158, 158, 0);
	border-top-width: 11px;
	border-bottom-width: 11px;
	border-left-width: 36px;
	border-right-width: 36px;
	margin-top: -11px;
	margin-left: 1px;
	border-left-color: #9E9E9E;
}

#sub08 a.hover-parent:hover .text {
	text-decoration: none;
}

#sub08 a.hover-parent:hover .btn-arrow-left {
	text-decoration: none;
}

/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {
	video.pc {
		display: none;
	}

	html,
	body {
		background: #000000;
	}

	.pc-only {
		display: none;
	}

	.btn-arrow {
		display: block;
		text-align: center;
	}

	.btn-arrow a {
		padding: 0.7em 1em 0.7em 2em;
		display: block;
		font-size: 1.4rem;
	}


	.contents .wrap {
		position: relative;
		z-index: 40;
		width: 100%;
		min-height: 100vh;
		padding: 10rem 0rem 0;
	}

	.contents .wrap.sp {
		padding: 10rem 0rem 0;
	}


	/* 吹き出し */
	.arrow_box {
		font-size: 1.4rem;
		padding: 1rem 1rem 1rem 1.4rem;
	}

	.btn-arrow-left.has-width.center {
		/* width: 130px; */
		padding: .6em 2.2em .6em 2.2em;
		font-size: 1.3rem;
		margin-top: .8rem;
		margin-left: auto;
		margin-right: auto;
	}


	.btn-arrow-left:before {
		top: 50%;
		left: 8px;
		width: 8px;
		height: 8px;
		border-right: 3px solid #fff;
		border-bottom: 3px solid #fff;
		transform: translateY(-50%) rotate(-45deg);
		transition: all .2s ease-in-out;
	}

	.arrow-left:after {
		border-top-width: 5px;
		border-bottom-width: 5px;
		border-left-width: 22px;
		border-right-width: 22px;
		margin-top: -5.5px;
		margin-right: -1px;
	}

	.arrow-left:before {
		border-top-width: 6px;
		border-bottom-width: 6px;
		border-left-width: 22px;
		border-right-width: 22px;
		margin-top: -6px;
		margin-right: .5px;
	}

	.arrow-right:after {
		border-top-width: 6px;
		border-bottom-width: 6px;
		border-left-width: 22px;
		border-right-width: 22px;
		margin-top: -7.5px;
		margin-left: -1px;
	}

	.arrow-right:before {
		border-top-width: 7px;
		border-bottom-width: 7px;
		border-left-width: 22px;
		border-right-width: 22px;
		margin-top: -8px;
		margin-left: .5px;
	}

	.arrow_box {
		opacity: .8;
		width: 100%;
	}

	#sub06-2 .talk-item {
		display: flex;
		align-items: center;
		margin-top: 14%;
	}

	#sub06-2 .talk-item.img-right {
		margin-left: 22%;
	}

	#sub06-2 .talk-item.img-left {
		margin-right: 22%;
	}

	#sub06-2 .talk-item .img {
		width: 28%;
	}

	#sub06-2 .talk-item .img.left {
		margin-right: 10%;
	}

	#sub06-2 .talk-item .img.right {
		margin-left: 9.5%;
	}

	#sub06-2 .talk-item .arrow_box {
		width: 100%;
	}

	/* 個別スタイル */
	.sub-section {
		margin-bottom: 20rem;
	}

	.flex-container>.flex-item {
		/* padding: 0 4%; */
		width: 48%;
		margin-top: 0;
	}

	.img-title {
		font-size: 1.4rem;
	}

	.img-text {
		font-size: 1.4rem;
	}


	.rl-text {
		font-size: 2.4rem;
		line-height: 1.8;
	}

	.rl-text.right {
		margin-right: 0px;
		margin-left: auto;
		margin-top: 20vh;
	}

	.rl-text.left {
		margin-left: 0px;
		margin-right: auto;
		margin-top: 20vh;

	}

	#sub01-2 .filter-container {
		margin-top: 22vh;
	}

	#sub01-2 .filter-container .text {
		font-size: 1.6rem;
		line-height: 2;
		margin-top: 3rem;
	}

	#sub02 .rl-text.right {
		height: 281px;
	}

	#sub03 .rl-text.left {
		height: 280px;
	}

	#sub04 .rl-text.left {
		height: 252px;
	}

	#sub05 .rl-text.left {
		height: 230px;
	}

	#sub06 .rl-text.left .text1 {
		/* height: 520px; */
		font-size: 2.4rem;
	}

	#sub06 .rl-text.left .text2 {
		height: 280px;
	}

	#sub06 .rl-text.left .text3 {
		height: 530px;
	}

	#sub07 .sp.rl-text.text2 {
		height: 308px;
		/* margin-right: 1rem; */
		/* font-size: 2.2rem; */
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	#sub07 .aiot-item {
		display: flex;
		align-items: flex-start;
	}

	#sub01 {
		position: relative;
	}

	#sub01 .main-text {
		font-size: 2.8rem;
		text-shadow: none;
		margin-top: 0rem;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		position: absolute;
		top: 20%;
		left: 36%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);

	}

	#sub01 .name {
		font-size: 2rem;
		text-align: right;
		text-shadow: #fff 0px 0 10px, #fff 0px 0 10px, #fff 0px 0 10px;
		font-weight: 500;
		margin-top: 4rem;
		position: absolute;
		top: 44vh;
		left: 25%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		line-height: 1.2;
	}

	#sub01 .name .small-text {
		font-size: 1.2rem;
	}

	#sub02 .eachTextAnime span.en {
		position: relative;
		right: 5px;
	}

	#sub02-2 .img-title,
	#sub02-2 .img-text {
		text-shadow: none;

	}

	#sub02-2,
	#sub03-2,
	#sub04-2,
	#sub05-2,
	#sub06-2,
	#sub07-2 {
		color: #fff;
	}

	#sub06 .rl-text {
		margin-right: 0px;
		margin-left: auto;
		margin-top: 20vh;
	}

	#sub06-2 .fu {
		position: absolute;
		top: 30%;
		left: 50%;
		width: 100%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		max-width: 510px;

	}

	#sub07 .text {
		font-size: 3rem;
	}

	#sub07 .text1 {
		letter-spacing: .2rem;
	}

	#sub07 .eachTextAnime.appeartext span {
		margin-bottom: 2px;
	}

	#sub08 .main-text {
		font-size: 1.8rem;
		margin-top: 16vw;
	}

	#sub08 .name {
		font-size: 2.2rem;
		line-height: 1.4;
		font-weight: 500;
		margin-top: 1.4vw;
	}

	/*背景画像 */
	#sub01_bg {
		background-image: url(images/main01_sp.jpg);
		padding-bottom: 216.53%;
	}

	#sub01-2_bg {
		background-image: url(images/main01_sp.jpg);
		padding-bottom: 216.53%;
	}

	#sub02_bg,
	#sub02-2_bg {
		background-image: url(images/main02_sp.jpg);
		padding-bottom: 216.53%;
	}

	#sub03_bg,
	#sub03-2_bg {
		background-image: url(images/main03_sp.jpg);
		padding-bottom: 216.53%;
	}

	#sub04_bg,
	#sub04-2_bg {
		background-image: url(images/main04_sp.jpg);
		padding-bottom: 216.53%;
	}

	#sub05_bg,
	#sub05-2_bg {
		background-image: url(images/main05_sp.jpg);
		padding-bottom: 216.53%;
	}

	#sub06_bg,
	#sub06-2_bg {
		background-image: url(images/main06_sp.jpg);
		padding-bottom: 216.53%;
	}

	#sub07_bg {
		background-image: url(images/main07_sp.jpg);
		padding-bottom: 216.53%;
	}

	#sub08_bg {
		position: relative;
	}

	.sub08_bg-wrap {
		width: 100%;
		background-color: #fff;
		position: relative;
	}

	#sub01-2_bg::before,
	#sub02-2_bg::before,
	#sub03-2_bg::before,
	#sub04-2_bg::before,
	#sub05-2_bg::before,
	#sub06-2_bg::before {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		/* background-color: rgba(0, 0, 0, 0.6);
		transition: all 1.4s .2s ease; */
		animation: color-change 2.4s linear forwards;

	}

	@keyframes color-change {

		0% {
			background-color: rgba(0, 0, 0, 0.1);
		}

		100% {
			background-color: rgba(0, 0, 0, 0.8);
		}
	}

	#sub08 {
		position: relative;
	}

	#sub08 .inner-container {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: 90%;
		text-align: center;
		margin-bottom: 1rem;
	}

	#sub09_bg {
		background-color: #fff;
		background-size: 100%;
	}

	/* 動画 */
	.background.video-item {
		/* width: 100%;
		width: 56.25vw;
		height: 177.77777778vh; */
		min-height: 100%;
		min-width: 100%;
	}

	video {
		width: auto;
		height: 100vh;
	}

}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print,
screen and (min-width: 768px) {

	video.sp {
		display: none;
	}

	.table {
		display: table;
		width: 100%;
	}

	.tableCell {
		display: table-cell;
		vertical-align: top;
	}

	.btn-arrow {
		margin: 0 auto;
		line-height: 1.4;
	}

	/* 画像下揃え */
	.fix-bottom-img .flex-item {
		display: flex;
		flex-direction: column;
	}

	.flex-container.fix-bottom-img .img-container {
		min-height: 0%;
		/* IE対応 */
		margin-top: auto;
	}


	/* フレックスコンテナ：ハーフ */
	.flex-container.half {
		justify-content: space-between;
	}

	.rl-text {
		font-size: 4rem;
		line-height: 1.8;
	}

	/*背景画像 */
	#sub01_bg {
		background-image: url(images/main01.jpg);
		background-position: center top;
	}

	#sub02_bg {
		background-image: url(images/main02.jpg);
	}


	#sub06_bg {
		background-image: url(images/main06-1.jpg);
	}

	#sub06-2_bg {
		background-image: url(images/main06-2.jpg);
	}

	#sub07_bg {
		background-image: url(images/main07-1.jpg);
	}

	#sub07-2_bg {
		background-image: url(images/main07-2.jpg);
	}

	#sub08_bg {
		/* background-image: url(images/main08.jpg);
	position: relative;
	background-size: 100%; */
		/* max-width: 1500px; */
		margin-left: auto;
		margin-right: auto;
		position: relative;
		/* background-position: bottom; */
	}

	.sub08_bg-wrap {
		width: 100%;
		background-color: #fff;
		position: relative;
	}

	#sub09_bg {
		background-color: #fff;
		background-size: 100%;
	}

	/* 個別スタイル */
	.rl-text.right {
		margin-top: 10vh;
		position: absolute;
		right: 12%;
		transform: translateX(-50%);
	}

	.rl-text.left {
		margin-left: 90px;
		margin-right: auto;
		margin-top: 10vh;
	}

	.sub-section {
		min-height: 100vh;
		margin-top: 0;
		margin-bottom: 65vh;
	}

	#sub04.sub-section {
		margin-bottom: 70vh;
	}

	#sub04 .rl-text.left {
		margin-bottom: 60vh;
	}

	#sub04 .flex-container.half.left {
		margin-top: 10vh;
	}

	#sub05.sub-section {
		margin-bottom: 80vh;
	}

	#sub05 .flex-container.half.left {
		margin-top: 20vh;
	}

	#sub01.sub-section {
		margin-bottom: 20rem;
	}

	#sub01 .inner-container {
		position: relative;
		display: block;
		width: 100%;
	}

	#sub01 .text-container {
		position: absolute;
		top: 10vh;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	#sub01 .main-text {
		font-size: 5.6vh;
		margin-left: auto;
		margin-right: auto;
	}

	#sub01 .name .small-text {
		font-size: 1.6vh;
	}

	#sub01 .name {
		margin-top: 10rem;
		margin-top: 10vh;
		font-size: 4vh;
		text-align: center;
	}

	#sub02 .rl-text.right {
		height: 440px;
	}

	#sub03 .rl-text.left {
		height: 440px;
		margin-top: 20vh;
	}

	#sub04 .rl-text.left {
		height: 400px;
	}

	#sub05 .rl-text.left {
		height: 360px;
	}

	#sub06 .rl-text.left .text1 {
		/* height: 520px; */
		font-size: 3.4rem;
	}

	#sub06 .rl-text.left .text2 {
		height: 440px;
	}

	#sub07 .aiot-text {
		width: 370px;
	}

	.fu {
		position: absolute;
		top: 0%;
		left: 30%;
		width: 34%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		margin-top: 0vh;
	}

	#sub06.pc.sub-section {
		margin-bottom: 40rem;
	}

	#sub06.mb.sub-section {
		margin-bottom: 45vh;
	}

	#sub06.text2.eachTextAnime.appeartext span:nth-child(1),
	#sub06.text2.eachTextAnime.appeartext span:nth-child(2) {
		font-size: 3rem;
	}


	#sub07 .time {
		width: 100px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 14vh;
	}

	#sub07 .aiot-title {
		font-size: 4rem;
		text-shadow: #000 0px 0px 6px;
		position: relative;
		top: -25vh;
	}

	#sub07 .aiot-text {
		font-size: 3.6rem;
		text-align: center;
		text-shadow: #000 0px 0px 6px;
		position: relative;
		top: -25vh;
		opacity: 0;
	}

	#sub07 .aiot-text.passed {
		opacity: 1;
	}

	#sub07 .wrap {
		top: -5vh;
	}

	#sub08 .main-text {
		font-size: 3.2rem;
		/* margin-top: 10rem; */
	}

	#sub08.contents .wrap {
		padding-top: 0;
	}

	#sub08 .inner-container {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		width: 100%;
	}


	#sub08 .inner-container .text {
		max-width: 548px;
	}

	/* 吹き出し */
	.arrow_box {
		/* margin-top: 14%; */
		margin-top: 6%;
	}

	/* シャドウ */
	.img-container {
		box-shadow: #f3f2ef 0px 0px 10px;
	}

	.main-text,
	.img-title,
	.img-text {
		text-shadow: #f3f2ef 1px 0 16px, #f3f2ef 1px 0 16px, #f3f2ef 1px 0 16px, #f3f2ef 1px 0 16px, #f3f2ef 1px 0 16px;
	}

	.rl-text {
		text-shadow: #f3f2ef 1px 0 16px, #f3f2ef 1px 0 16px, #f3f2ef 1px 0 16px, #f3f2ef 1px 0 16px;
	}

	/* スクロール連動アニメ */
	.bg-anime .bg-img {
		top: 0;
		left: 0;
		right: 0;
		height: 100%;
		position: fixed;
		background-position: center center;
		opacity: 0;
		-webkit-background-size: cover;
		background-size: cover;
		background-repeat: no-repeat;
	}

	.show .bg-anime .bg-img {
		/* transition-duration: .8s; */
		opacity: 1;
	}

	.bg-anime.background {
		/*切り替えアニメの背景色 */
		width: 100%;
		background-color: #fff;

	}

	#sub03.show .bg-anime .bg-img.src1 {
		background-image: url(images/main03-1.jpg);
		opacity: 1;
	}


	#sub03.show .bg-anime .bg-img.src2 {
		background-image: url(images/main03-2.jpg);
		/* transition-delay: 1s; */
		opacity: 0;
		transition: ease .8s;
	}

	#sub03.show .bg-anime .bg-img.src3 {
		background-image: url(images/main03-3.jpg);
		/* transition-delay: 2s; */
		opacity: 0;
		transition: ease .8s;
	}

	#sub03.show .bg-anime .bg-img.src1.is-active {
		opacity: 1;

	}

	#sub03.show .bg-anime .bg-img.src2.is-active {
		opacity: 1;
	}

	#sub03.show .bg-anime .bg-img.src3.is-active {
		opacity: 1;
	}

	#sub04.show .bg-anime .bg-img.src1 {
		background-image: url(images/main04-1.jpg);
		opacity: 1;
	}


	#sub04.show .bg-anime .bg-img.src2 {
		background-image: url(images/main04-2.jpg);
		/* transition-delay: 1s; */
		opacity: 0;
		transition: ease .8s;
	}

	#sub04.show .bg-anime .bg-img.src3 {
		background-image: url(images/main04-3.jpg);
		/* transition-delay: 2s; */
		opacity: 0;
		transition: ease .8s;
	}

	#sub04.show .bg-anime .bg-img.src1.is-active {
		opacity: 1;
	}

	#sub04.show .bg-anime .bg-img.src2.is-active {
		opacity: 1;
	}

	#sub04.show .bg-anime .bg-img.src3.is-active {
		opacity: 1;
	}

	#sub05.show .bg-anime .bg-img.src1 {
		background-image: url(images/main05-1.jpg);
		opacity: 1;
	}


	#sub05.show .bg-anime .bg-img.src2 {
		background-image: url(images/main05-2.jpg);
		/* transition-delay: 1s; */
		opacity: 0;
		transition: ease .8s;
	}

	#sub05.show .bg-anime .bg-img.src3 {
		background-image: url(images/main05-3.jpg);
		/* transition-delay: 2s; */
		opacity: 0;
		transition: ease .8s;
	}

	#sub05.show .bg-anime .bg-img.src1.is-active {
		opacity: 1;
	}

	#sub05.show .bg-anime .bg-img.src2.is-active {
		opacity: 1;
	}

	#sub05.show .bg-anime .bg-img.src3.is-active {
		opacity: 1;
	}

	#sub06.pc .fukidashi {
		position: relative;
		width: 100%;
	}

	#sub06.pc .fukidashi .fu-item {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: inherit;
	}

	#sub06.pc .arrow_box {
		opacity: 0;
		transition: ease .6s all;
	}

	#sub06.pc.show .arrow_box.text1.is-active {
		opacity: 1;
	}

	#sub06.pc.show .arrow_box.text2.is-active {
		opacity: 1;
	}

	#sub06.pc.show .arrow_box.text3.is-active {
		opacity: 1;
	}

	#sub06.pc .text {
		opacity: 0;
		transition: ease .6s all;
		position: relative;
		top: 1vh;
	}

	#sub06.pc.show .text.is-active {
		opacity: 1;
	}
}




/* ====================================
	タブレット、印刷専用スタイル
===================================== */
@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.pc-only {
		display: none;
	}

	html,
	body {
		height: 100%;
	}

	/* テキスト */
	.img-title {
		font-size: 1.6rem;
	}

	.img-text {
		font-size: 1.4rem;
	}

	.rl-text {
		font-size: 3.6rem;
		line-height: 1.8;
	}

	#sub02 .rl-text.right {
		height: 405px;
	}

	#sub03 .rl-text.left {
		height: 400px;
	}

	#sub04 .rl-text.left {
		height: 370px;
	}

	#sub05 .rl-text.left {
		height: 330px;
	}

	#sub06 .rl-text.left .text1 {
		/* height: 520px; */
		font-size: 3.4rem;
	}

	#sub06 .rl-text.left .text2 {
		height: 400px;
	}

	#sub06 .rl-text.left .text3 {
		height: 648px;
	}

	#sub07 .aiot-text {
		width: 360px;
	}


	#sub01-2 .filter-container .main-text {
		font-size: 4rem;
	}

	#sub06 .rl-text.left .text1 {
		font-size: 3.2rem;
	}

	#sub07 .text {
		font-size: 4.6rem;
	}


	#sub07 .maru {
		font-size: 2.6rem;
	}

	#sub08 .main-text {
		font-size: 2.8vw;
		/* margin-top: 10rem; */
		/* min-width: 542px; */
	}

	#sub08 .inner-container .text {
		max-width: 548px;
		width: 48%;
	}

	#sub08 .name {
		font-size: 3.8vw;
		margin-top: 6rem;
	}

	.btn-arrow-left.has-width.center {
		/* width: 180px; */
		display: inline-block;
		padding: .8em 2em .8em 2.2em;
		font-size: 1.5vw;
		margin-top: 2rem;
	}
}

/* ====================================
	プロダクト タブレット専用スタイル
===================================== */
@media only screen and (min-width: 540px) and (max-width: 767px) {


	#sub08 .main-text {
		font-size: 4vw;
		margin-top: 20vw;
		width: 80%;
	}

	#sub08 .name {
		font-size: 3.8vw;
		line-height: 1.4;
		font-weight: 500;
		margin-top: 1.8rem;
	}

	.btn-arrow-left.has-width.center {
		/* width: 150px; */
		display: inline-block;
		padding: .8em 2em .8em 2em;
		font-size: 1.4rem;
		margin-top: 1.2rem;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ====================================
	プロダクト 539px以下専用スタイル
===================================== */
@media only screen and (max-width: 539px) {
	#sub08 .main-text {
		max-width: 310px;
	}
}

/* ====================================
	PC大画面専用スタイル
===================================== */
@media only screen and (min-width: 1200px) {
	.tab-only {
		display: none;
	}

	.arrow_box {
		font-size: 2rem;
	}


}

/* ====================================
	PC大画面専用スタイル
===================================== */
@media only screen and (min-width: 1500px) {

	/* 個別スタイル  */

	#sub01 .main-text {
		font-size: 5.2rem;
	}


	#sub01 .name {
		font-size: 3.6rem;
		margin-top: 13rem;
	}

	#sub01 .name .small-text {
		font-size: 1.4rem;
	}
}

/* ====================================
	スクリーン専用スタイル
===================================== */
@media screen {
	.page-navi-product-menu.fix {
		position: fixed;
		z-index: 60;
	}


}

/* ====================================
	IE専用スタイル
===================================== */
@media all and (-ms-high-contrast: none) {
	#sub01 .main-text {
		display: inline-block;
		position: relative;
		left: 2.6vw;
	}
}