@charset "UTF-8";

/*----------------------------------------
ベース
----------------------------------------*/

/* body {
	min-width: 1500px;
	color: #FFF;
	font-size: 1.8rem;
	line-height: 1.5;
	font-family: Arial, "游ゴシック体", "Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", sans-serif;
	position: relative;
	letter-spacing: 1px;
	overflow-x: hidden;
	background: #000;
} */

#contents-5g {
	padding-block-start: 6.25rem;
	min-width: 1500px;
	color: #fff;
	font-size: 1.125rem;
	line-height: 1.5;
	font-family: Arial, "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3",
		"Hiragino Kaku Gothic Pro", sans-serif;
	position: relative;
	letter-spacing: 1px;
	overflow-x: hidden;
	background: #000;
}
@media screen and (max-width: 767px) {
	#contents-5g {
		padding-block-start: 4.4375rem;
	}
}

div,
ul,
ol,
li,
p {
	position: static;
}

a:hover {
	opacity: 1;
}

#contents-5g a:link,
#contents-5g a:visited {
	color: #fff;
	text-decoration: none;
}

.inner {
	width: 1280px;
	margin: 0 auto;
}

br.pc-br {
	display: block;
}

.txt-block {
	line-height: 2.5;
}

.txt-block p {
	font-size: 1.25rem;
	font-weight: bold;
}

.txt-block ul {
	margin-top: 1.5em;
	list-style-type: disc;
	list-style-position: inside;
}

.txt-block ul li {
	text-indent: -1.2em;
	padding-left: 1.2em;
}

@media screen and (max-width: 1500px) {
	#contents-5g {
		min-width: 0;
	}
}

@media screen and (max-width: 768px) {
	#contents-5g {
		font-size: 0.9375rem;
	}

	.txt-block {
		line-height: 1.6;
	}

	.txt-block p {
		font-size: 0.9375;
		font-weight: bold;
	}

	br.pc-br {
		display: none;
	}
}

/*----------------------------------------
タイトル
----------------------------------------*/

.ttl-block .txt-eng {
	font-size: 5.75rem;
	letter-spacing: 0.1em;
	margin-bottom: 0.5em;
	font-family: "Bebas Neue";
}

.ttl-block h3 {
	font-size: 1.75rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	/* word-break: keep-all; */
}

.ttl-5g {
	font-size: 1.6875rem;
	font-weight: bold;
	margin-top: 1em;
	display: flex;
	align-items: center;
}

.ttl-5g h4 {
	font-weight: bold;
	margin-right: 0.5em;
}

.ttl-5g .btn-to-usecase a {
	font-size: 1.0625rem;
	line-height: 1.8;
	padding: 0.2em 1em 0.1em;
	display: block;
	border: 1px solid #fff;
	border-radius: 1.5em;
	transition: all 0.3s;
}

.ttl-5g .btn-to-usecase a:hover {
	opacity: 0.7;
}

.ttl-5g .btn-to-usecase a::after {
	content: "";
	width: 0.5em;
	height: 0.5em;
	margin-left: 0.8em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	display: inline-block;
	vertical-align: middle;
	/* position: absolute;
	top: 50%;
	left: 1.5em; */
	transform: translateY(-13%) rotateZ(45deg);
}

@media screen and (max-width: 768px) {
	.ttl-block .txt-eng {
		font-size: 3.125rem;
		margin-bottom: 0em;
	}

	.ttl-block h3 {
		font-size: 1.125rem;
	}

	.ttl-5g {
		font-size: 1.1875rem;
		display: block;
	}

	.ttl-5g .btn-to-usecase a {
		font-size: 0.875rem;
		display: inline-block;
	}

	.ttl-5g .btn-to-usecase {
		margin: 0.6em 0 1.5em;
	}
}

/*----------------------------------------
ボタン
----------------------------------------*/

.btn-link {
	position: relative;
	display: inline-block;
	font-size: 1.25rem;
	margin-top: 3em;
	z-index: 99;
}
.btn-link-txt {
	font-size: 0.46875rem;
	font-weight: 500;
	letter-spacing: -0.025em;
	text-transform: uppercase;
	transition: all 0.5s ease-in-out;
	font-family: "Bebas Neue";
}
.button-inner {
	align-items: center;
	display: flex;
}
.button-circle-border {
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	height: 0;
	width: 0;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	transition: all 0.3s ease-in-out;
}
.button-circle {
	border: solid 2px #fff;
	transition: 0.5s;
}
@media (max-width: 480px) {
	.button-circle {
		border: solid 1px #fff;
	}
}
.button-circle-in {
	color: #fff;
}
.button-circle-bg {
	background-color: #0600c8;
}
.button-circle-border {
	border: solid 0px #fff;
}
.btn-link-txt {
	color: #f8f8f8;
	font-size: 1.9375rem;
	transition: all 1s;
	letter-spacing: 0.15em;
	font-family: "Bebas Neue";
}
/* .--black {
    color: #2b2b2b
} */
.--black .button-circle-border {
	border: solid 1px #fff;
}
.button-inner:hover .button-circle {
	border: solid 1px #0600c8;
}
.button-inner:hover .btn-link-txt {
	padding-left: 4px;
}
.button-inner:hover .button-circle-bg {
	height: 100%;
	width: 100%;
}
.button-inner:hover .button-circle-border {
	border: solid 2px #0600c8;
	height: 125%;
	width: 125%;
}
.button-inner:hover .button-circle-in {
	color: #f8f8f8;
	font-weight: 700;
}
.button-circle-bg {
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	height: 0;
	width: 0;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	transition: all 0.2s ease-in-out;
	z-index: 0;
}
.button-circle {
	border-radius: 50%;
	margin-right: 1.5em;
	height: 120px;
	position: relative;
	width: 120px;
}
.button-circle-in {
	font-size: 0.34875rem;
	font-weight: 700;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	margin: auto;
	z-index: 1;
}
.button-circle-in img {
	vertical-align: middle;
}

@media (max-width: 768px) {
	.button-circle {
		height: 60px;
		width: 60px;
	}
	.button-circle img {
		width: 10px;
	}
	.btn-link-txt {
		font-size: 1.25rem;
	}
}

/*----------------------------------------
main-area
----------------------------------------*/

.main-area h1 {
	width: 100%;
	padding: 25px 0;
	background: #fff;
	text-align: center;
	position: absolute;
	top: 0;
	z-index: 10;
	margin-top: 6.25rem;
}

@media screen and (max-width: 767px) {
	.main-area h1 {
		margin-top: 4.4375rem;
	}
}

.main-area h1 a {
	display: inline-block;
}

.main-area h1 a:hover {
	opacity: 0.7;
	transition: all 0.2s;
}

@media screen and (max-width: 768px) {
	.main-area h1 {
		width: 100%;
		padding: 10px;
		text-align: left;
	}
	.main-area h1 img {
		width: 100px;
	}
}

/* navi-5g */

.navi-5g {
	background: #1a1a1a;
	display: flex;
	position: relative;
	z-index: 5;
}

.navi-5g ul {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.navi-5g ul li {
	display: flex;
	flex: 1;
}

.navi-5g ul li a {
	width: 100%;
	font-weight: bold;
	padding: 1.6em 4em;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-right: 1px solid rgba(255, 255, 255, 0.15);
	letter-spacing: 0.1em;
	box-sizing: border-box;
}
.navi-5g ul li:first-child a {
	border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.navi-5g ul li a {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

/* .navi-5g ul li a:hover {
	color: #000;
} */

.navi-5g ul li a:before,
.navi-5g ul li a:after {
	position: absolute;
	top: 50%;
	content: "";
	width: 20px;
	height: 20px;
	background-color: #0600c8;
	border-radius: 50%;
}
.navi-5g ul li a:before {
	left: -20px;
	transform: translate(-50%, -50%);
}
.navi-5g ul li a:after {
	right: -20px;
	transform: translate(50%, -50%);
}
.navi-5g ul li a:hover:before {
	animation: criss-cross-left 0.8s both;
	animation-direction: alternate;
}
.navi-5g ul li a:hover:after {
	animation: criss-cross-right 0.8s both;
	animation-direction: alternate;
}

.navi-5g ul li a:before,
.navi-5g ul li a:after {
	z-index: -1;
}

@keyframes criss-cross-left {
	0% {
		left: -20px;
	}
	50% {
		left: 50%;
		width: 20px;
		height: 20px;
	}
	100% {
		left: 50%;
		width: 375px;
		height: 375px;
	}
}

@keyframes criss-cross-right {
	0% {
		right: -20px;
	}
	50% {
		right: 50%;
		width: 20px;
		height: 20px;
	}
	100% {
		right: 50%;
		width: 375px;
		height: 375px;
	}
}

@media screen and (max-width: 1200px) {
	.navi-5g ul li a {
		padding: 1.6em 1em;
	}
}

@media screen and (max-width: 768px) {
	.navi-5g ul {
		flex-wrap: wrap;
	}

	.navi-5g ul li {
		width: 50%;
		flex: auto;
	}

	.navi-5g ul li a {
		font-size: 0.875rem;
		height: 5em;
		padding: 0;
	}

	.navi-5g ul li:first-child a {
		border-left: none;
		border-right: 1px solid rgba(255, 255, 255, 0.15);
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}
	.navi-5g ul li:nth-child(2) a {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}
	.navi-5g ul li:nth-child(4) a {
		border-right: none;
	}
}

/* movie */

.main-area .movie-wrap {
	position: relative;
	width: 100%;
	padding-top: 53%;
	overflow: hidden;
	z-index: 1;
}

.main-area .movie-wrap:after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background-color: rgba(0, 0, 0, 0);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.main-area .movie-wrap video {
	position: absolute;
	top: -6%;
	left: 0;
	width: 100% !important;
	height: 108% !important;
}

.main-area .movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 108% !important;
}

.main-area .scroll-m {
	position: absolute;
	right: 2%;
	bottom: 0%;
	transform: rotate(90deg);
	transform-origin: right top;
	z-index: 5;
}

.main-area .scroll-m span {
	display: inline-block;
	vertical-align: middle;
}

.main-area .scroll-m span.txt {
	color: #fff;
	font-size: 1.25rem;
	font-weight: normal;
	/* position: absolute;
	bottom: 160px;
	right: 0px; */
	white-space: nowrap;
	letter-spacing: 0.2em;
	z-index: 5;
	font-family: "Bebas Neue";
}
.main-area .scroll-m span.line-s {
	margin-left: 1em;
	width: 310px;
	height: 1px;
	background-color: rgba(255, 255, 255, 0.5);
	overflow: hidden;
	z-index: 5;
}
.main-area .scroll-m span.line-s:before {
	content: "";
	width: 36px;
	height: 1px;
	margin: 0 0 0 20px;
	background-color: #fff;
	display: block;
	vertical-align: middle;
	/* position: absolute;
	right: 0;
	top: -50px; */
	animation: line-s 4s linear 0s infinite;
}

/* .main-area .scroll-m span.txt {
	color: #FFF;
	font-size: 2rem;
	font-weight: normal;
	position: absolute;
	bottom: 160px;
	right: 0px;
	white-space: nowrap;
	letter-spacing: 0.1em;
	z-index: 2;
	transform: rotate(90deg);
	letter-spacing: 0.2em;
	z-index: 5;
	font-family: 'Bebas Neue';
}
.main-area .scroll-m span.line-s {
	width: 1px;
	height: 100px;
	background: #000;
	display: block;
	position: absolute;
	bottom: 20px;
	right: 30px;
	overflow: hidden;
	z-index: 5;
}
.main-area .scroll-m span.line-s:before {
	content: "";
	width: 1px;
	height: 40px;
	margin: 0 0 0 20px;
	background-color:#FFF;
	display: block;
	vertical-align: middle;
	position: absolute;
	right: 0;
	top: -50px;
	animation:line-s 2.5s linear 0s infinite;
} */

@keyframes line-s {
	0% {
		transform: translate(-40px, 0);
	}
	100% {
		transform: translate(420px, 0);
	}
}

@media screen and (max-width: 1200px) {
	.main-area .scroll-m {
		bottom: 20%;
	}
	.main-area .scroll-m span.line-s {
		width: 150px;
	}
}

@media screen and (max-width: 768px) {
	/* .main-area .scroll-m {
		right: 1%;
		bottom: 20px;
	} */

	.main-area .scroll-m {
		display: none;
	}

	.main-area .scroll-m span.txt {
		font-size: 0.75rem;
	}

	.main-area .scroll-m span.line-s {
		margin-left: 0.5em;
		margin-bottom: 3px;
		width: 60px;
		height: 1px;
		z-index: 5;
	}

	/* movie */

	.main-area .movie-wrap {
		padding-top: 61%;
	}

	.main-area .movie-wrap iframe {
		top: -2%;
		left: 50%;
		width: 110% !important;
		height: 118% !important;
		transform: translateX(-50%);
	}
}

@media screen and (max-width: 480px) {
	.main-area .scroll-m {
		right: 1%;
		bottom: 400px;
	}
}

/*----------------------------------------
about-area
----------------------------------------*/

.about-area {
	width: 82%;
	padding: 6em 3% 6em 9%;
	display: flex;
	align-items: flex-start;
	background: #0d1a31;
	position: relative;
	z-index: 10;
	box-sizing: border-box;
}

.about-area .ttl-block {
	margin: 4% 14% 0 0;
}

@media screen and (max-width: 768px) {
	.about-area .ttl-block {
		margin: 4% 0 12%;
	}
	.about-area {
		padding: 2em 4%;
		width: auto;
		display: block;
	}
}

/*----------------------------------------
5g-area
----------------------------------------*/

.local5g-area {
	height: 2850px;
	margin-top: -10%;
	/* padding-bottom: 30%; */
	position: relative;
	overflow-x: hidden;
}

.local5g-area .contents-5g {
	width: 50%;
	padding: 3em 5% 4em;
	background: #262626;
	position: absolute;
	top: 33%;
	right: 0;
	z-index: 10;
}

.local5g-area .bg-pct img {
	width: 3000px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.local5g-area .bg-5g::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background-color: rgba(0, 0, 0, 0.2);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

@media all and (-ms-high-contrast: none) {
	*::-ms-backdrop,
	.local5g-area {
		overflow-x: visible;
	}

	*::-ms-backdrop,
	.local5g-area .bg-5g::before {
		height: 120%;
		top: -20%;
	}
}

/* .local5g-area .bg-5g::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background-color: rgba(0, 0, 0, 0);
	position: absolute;
  	top: 0;
	left: 0;
	z-index: 3;
} */

.local5g-area .ttl-block {
	margin-bottom: 3em;
}

.local5g-area .pct-cooperation {
	padding: 90px 70px;
	background: #0d1a31;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 5;
}

.local5g-area .pct-cooperation img {
	max-width: 100%;
}

.local5g-area #particles-js {
	position: absolute;
	width: 100%;
	height: 100% !important;
	z-index: 3;
}

.pct-5g-block div {
	position: absolute;
	z-index: 3;
}

.pct-5g-block div.icon-5g {
	top: 12%;
	right: 30%;
}
/* .pct-5g-block div.icon-5g img {
	top: 6%;
	right: 30%;
} */

.pct-5g-block div:nth-child(2) {
	top: 4%;
	right: 5%;
}

.pct-5g-block div:nth-child(3) {
	top: 13%;
	left: 15%;
}

.pct-5g-block div:nth-child(4) {
	top: 28%;
	left: 28%;
}

.pct-5g-block div:nth-child(5) {
	top: 25%;
	right: 19%;
}

.pct-5g-block div:nth-child(6) {
	top: 40%;
	left: 10%;
}

.pct-5g-block div:nth-child(7) {
	top: 49%;
	left: 30%;
}

.pct-5g-block div:nth-child(8) {
	top: 60%;
	left: 8%;
}

.pct-5g-block div:nth-child(9) {
	top: 61%;
	right: 10%;
}

.fadeIcon {
}

.pct-5g-block div img {
	opacity: 0;
}

.pct-5g-block div.fadeIcon img {
	animation: op 1.2s ease 0s normal, icon-rotate 1s ease 1.2s forwards;
}

.pct-5g-block div.fadeIcon:before {
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 100%;
	display: block;
	/* box-shadow:
    inset 0 0 60px rgba(255,255,255,0.1),
    inset 20px 0 80px rgba(255,255,255,0.1),
    inset -20px 0 80px rgba(255,255,255,0.1),
    inset 20px 0 300px rgba(255,255,255,0.1),
    inset -20px 0 300px rgba(255,255,255,0.1),
    0 0 50px rgba(255,255,255,0.1),
    -10px 0 80px rgba(255,255,255,0.1),
	10px 0 80px rgba(255,255,255,0.1); */
	box-shadow: inset 0 0 60px rgba(255, 255, 255, 0.1),
		inset 20px 0 80px rgba(255, 255, 255, 0.1),
		inset -20px 0 80px rgba(255, 255, 255, 0.1),
		inset 20px 0 300px rgba(255, 255, 255, 0.1),
		inset -20px 0 300px rgba(255, 255, 255, 0.1),
		0 0 50px rgba(255, 255, 255, 0.1), -10px 0 80px rgba(255, 255, 255, 0.1),
		10px 0 80px rgba(255, 255, 255, 0.1);
	background-image: radial-gradient(#fff, rgba(255, 255, 255, 0.2));
	animation: icon-move 2.5s ease normal, fadeout 0.5s ease 2.5s normal,
		op 1s ease 3s forwards;
	position: absolute;
	/* background-color: #FFF; */
	/* top: 50%;
	  left: 50%;
	  transform: translateX(-50%) translateY(-50%); */
}
/*
.pct-5g-block div.fadeIcon:before {
  box-shadow:
    inset 0 0 60px whitesmoke,
    inset 20px 0 80px #fff,
    inset -20px 0 80px #004eff,
    inset 20px 0 300px #fff,
    inset -20px 0 300px #004eff,
    0 0 50px #fff,
    -10px 0 80px #fff,
    10px 0 80px #004eff;
} */

@keyframes icon-rotate {
	0% {
		transform: rotate(0deg) scale(0.3);
		opacity: 1;
	}
	100% {
		transform: rotate(1440deg) scale(1);
		opacity: 1;
	}
}

@keyframes icon-move {
	0% {
		transform: translateY(250px) scale(0.1);
		opacity: 0.6;
	}
	40% {
		transform: translateY(0px) scale(0.1);
		opacity: 0.6;
	}
	70% {
		transform: translateY(0px) scale(1);
		opacity: 0.6;
	}
	90% {
		transform: translateY(0px) scale(1);
		opacity: 0.6;
	}
	100% {
		transform: translateY(0px) scale(1);
		opacity: 0.6;
	}
}

@keyframes fadeout {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@keyframes op {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

@keyframes op1 {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}

/*
.container .card .face.face1 .content{
  opacity: .2;
  transition:  0.5s;
  text-align: center;
}

.container .card:hover .face.face1 .content{
  opacity: 1;

} */

@media screen and (min-width: 3000px) {
	.local5g-area .bg-pct img {
		width: 100%;
	}
}

@media screen and (max-width: 1400px) {
	.local5g-area .pct-cooperation {
		width: 70%;
	}
}

@media screen and (max-width: 768px) {
	.local5g-area .pct-cooperation {
		width: auto;
		padding: 30px 5%;
		position: static;
	}

	.local5g-area {
		height: auto;
		margin-top: 0;
		z-index: 3;
	}

	.bg-5g {
		position: relative;
	}

	.local5g-area .contents-5g {
		width: auto;
		margin-top: -35%;
		position: relative;
	}

	.local5g-area .bg-pct {
		height: 600px;
		transform: unset !important;
	}

	.local5g-area .bg-pct img {
		width: auto;
		max-width: none;
		height: 100%;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 1;
	}

	.pct-5g-block div {
		width: 50px;
	}
	.pct-5g-block div:nth-child(2) {
		width: 45px;
	}
	.pct-5g-block div:nth-child(3) {
		width: 65px;
	}
	.pct-5g-block div:nth-child(4) {
		width: 36px;
	}
	.pct-5g-block div:nth-child(5) {
		width: 35px;
	}
	.pct-5g-block div:nth-child(6) {
		width: 35px;
	}
	.pct-5g-block div:nth-child(7) {
		width: 65px;
	}
	.pct-5g-block div:nth-child(8) {
		width: 32px;
	}
	.pct-5g-block div:nth-child(9) {
		width: 60px;
	}

	.pct-5g-block div img {
		opacity: 1;
		max-width: 100%;
	}

	.pct-5g-block div.icon-5g {
		width: 100px;
		top: 35%;
	}
}

/*----------------------------------------
idea-area
----------------------------------------*/

.idea-area {
	padding: 7em 5% 25%;
	position: relative;
	overflow: hidden;
}

.idea-area:before {
	content: "";
	width: 100%;
	height: 101%;
	background-color: rgba(0, 0, 0, 0.66);
	display: block;
	position: absolute;
	top: -1%;
	left: 0;
	z-index: 2;
}

.idea-area:after {
	content: "";
	width: 100%;
	height: 15%;
	background-color: #000;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
}

.idea-area .ttl-block {
	display: flex;
	align-items: center;
}

.idea-area .ttl-block .txt-eng {
	margin: 0 0.8em 0 0;
}

.idea-area .bg-idea {
	height: 120%;
	width: 120%;
	position: absolute;
	top: -25%;
	left: -10%;
	z-index: 1;
	transform: rotate(-15deg);
}

.idea-area .contents-idea {
	position: relative;
	z-index: 10;
}

.deco-txt {
	width: 100vw;
	font-size: 23.125rem;
	white-space: nowrap;
	/* position: absolute;
	top: 35%;
	left: 0; */
	display: flex;
	font-family: "Bebas Neue";
	z-index: 5;
}

.deco-txt span {
	line-height: 2;
	display: block;
	letter-spacing: 15px;
}

.deco-txt span:first-child {
	margin-right: 0.4em;
	animation: loop 70s -35s linear infinite;
}

.deco-txt span:last-child {
	animation: loop2 70s linear infinite;
}

@keyframes loop {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}

@keyframes loop2 {
	0% {
		transform: translateX(0%);
	}
	100% {
		transform: translateX(-200%);
	}
}

.idea-area .btn-link-txt {
	font-weight: bold;
	font-size: 1.5625rem;
}

.idea-area .bg-idea div {
	height: 35%;
	background-image: url(/img/qt-innovation/local5g/ph_idea01.jpg);
	background-repeat: repeat-x;
	background-position: center center;
	background-size: cover;
}

.idea-area .bg-idea div:nth-child(1) {
	background-image: url(/img/qt-innovation/local5g/ph_idea03.jpg);
	animation: bgmove-r 40s linear infinite;
}

.idea-area .bg-idea div:nth-child(2) {
	background-image: url(/img/qt-innovation/local5g/ph_idea02.jpg);
	animation: bgmove 30s linear infinite;
}

.idea-area .bg-idea div:nth-child(3) {
	background-image: url(/img/qt-innovation/local5g/ph_idea01.jpg);
	animation: bgmove-r 26s linear infinite;
}

@keyframes bgmove {
	0% {
		background-position: 0% center;
	}
	100% {
		background-position: 100% center;
	}
}

@keyframes bgmove-r {
	0% {
		background-position: 0% center;
	}
	100% {
		background-position: -100% center;
	}
}

@media screen and (max-width: 768px) {
	.idea-area {
		padding: 4em 5% 14%;
		position: relative;
		overflow: visible;
	}
	.idea-area:after {
		display: none;
	}
	.idea-area .ttl-block {
		margin-bottom: 3em;
		display: block;
	}
	.idea-area .ttl-block .txt-eng {
		margin: 0;
	}
	.idea-area .bg-idea {
		height: 120%;
		width: 150%;
		position: absolute;
		top: -25%;
		left: -30%;
		z-index: 1;
		transform: rotate(-15deg);
	}
	.deco-txt {
		font-size: 6.25rem;
	}
}

/*----------------------------------------
contact-area
----------------------------------------*/
.contact-area {
	padding: 7em 0;
	background: url(/img/qt-innovation/local5g/bg_contact.jpg) no-repeat center center;
	background-size: cover;
	text-align: center;
	position: relative;
	overflow: hidden;
	z-index: 5;
}
.contact-area .ttl-block {
	position: relative;
	z-index: 5;
}
.contact-area .ttl-block h3 {
	line-height: 1.8;
}
.contact-area:before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	/* background: linear-gradient(to right,#000000, #04008a); */
	background: linear-gradient(to right, #000, #04008a 50%, #000);
	background-size: 200% 200%;
	background-position: 0 0;
	transition: background-position 0.3s;
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.contact-area:hover:before {
	background-position: 100% 0;
}

.contact-area .btn-link {
	margin-top: 4.5em;
}

.contact-area .btn-link-txt {
	font-weight: bold;
	font-size: 1.5625rem;
	font-family: "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3",
		"Hiragino Kaku Gothic Pro", sans-serif;
}

@media screen and (max-width: 768px) {
	.contact-area {
		padding: 7em 5%;
	}
	.contact-area .btn-link-txt {
		font-size: 1.25rem;
	}
}

/*----------------------------------------
info-area
----------------------------------------*/
.info-area {
	width: 85%;
	margin-top: -28%;
	padding: 4em 5% 4.5em;
	background-color: #1d1d1d;
	position: relative;
	z-index: 5;
}

.info-area ul.list-news {
	padding: 1.5em 5em;
	margin-left: 3.5em;
	border-left: 8px solid rgba(225, 225, 225, 0.46);
}

.info-area ul.list-news li {
	margin-bottom: 2.5em;
}

.info-area ul.list-news li a {
	font-weight: bold;
	letter-spacing: 0.1em;
}

.info-area ul.list-news li a span {
	letter-spacing: 0.1em;
}

.info-area ul.list-news li a span.date {
	margin-right: 3em;
}

.info-area ul.list-news li a span:last-child {
	text-decoration: underline;
}

.info-area ul.list-news li a:hover span:last-child {
	text-decoration: none;
}

.info-area ul.list-news li:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.info-area {
		width: auto;
		margin-top: 0;
	}

	.info-area ul.list-news {
		padding: 1.5em 1em;
		margin-left: 0.2em;
		border-left: 5px solid rgba(225, 225, 225, 0.46);
	}

	.info-area ul.list-news li a span.date {
		display: block;
	}
}

.a_other-page:after {
	content: "";
	width: 0.9em;
	height: 0.9em;
	margin-left: 0.3em;
	display: inline-block;
	background: url(/img/qt-innovation/local5g/icon_link_w.svg) no-repeat center
		center/contain;
	vertical-align: middle;
}

*,
:before,
:after {
	min-width: auto;
}
