@charset "UTF-8";


/* Teaser css
   ========================================================================== */
/* Kyocera Common */

.st-GlobalHeader,
.layout-Top_ContentsHeader {
	background-color: #FFF;
}

.st-GlobalFooter_PageTop {
	z-index: 5;
}



.slick-track {
	display: flex;
}

.slick-slide {
	height: auto !important;
}



/**************** News Setting ****************/
.block-news_Area {
	padding: 0px 30px 100px 30px;
	background-color: white;
}



.newsList {
	border-top: #000000 solid 1px;
	border-bottom: #000000 solid 1px;
	padding: 70px 50px;
	font-size: 18px;
	width: 100%;
	max-width: 1350px;
	display: flex;
	justify-content: center;
	gap: 50px;
	font-family: "Roboto";
	flex-direction: column;
}

.newsList a{
	display: flex;
	flex-direction: column;
	gap: 0px;
	text-decoration: none;
	color: black;
	transition: .3s;
}

.newsList a:hover{
	color: #DF0522;
}

.newsList dt {
	/* width: 6em; */
	float: left;
}

.newsList dd {
	/* padding-left: 6em; */
	margin-bottom: 10px;
	margin-left: 0;
}

.newsList dd:last-of-type {
	margin-bottom: 0px;
}



.btnbox {
	/* margin-top: 60px; */
	padding-left: 0;
	list-style: none;
	display: flex;
	justify-content: center;
}

.btnbox li {
	list-style: none;
	width: 100%;
	margin: 0 2%;
}

.btnbox a {
	/*border: #E10012 solid 1px;*/
	display: inline-block;
	/*padding: 13px 0;*/
	padding: 25px 0;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	color: #E10012;
	text-decoration: none;
	min-width: 360px;
	width: 100%;
	position: relative;
	border: 0 solid;
	box-shadow: inset 0 0 20px rgba(225, 0, 18, 0);
	outline: 1px solid;
	outline-color: rgba(225, 0, 18, 0.5);
	outline-offset: 0px;
	text-shadow: none;
	-webkit-transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
	background-color: white;
}

.btnbox a:hover {
	/*border: 1px solid;*/
	box-shadow: inset 0 0 20px rgba(225, 0, 18, 0.5), 0 0 20px rgba(225, 0, 18, 0.2);
	outline-color: rgba(225, 0, 18, 0);
	outline-offset: 15px;
}

.btnbox a span.fss {
	display: block;
	text-align: center;
	font-size: 12px;
	font-weight: 500;
}


.lpfoot_contact {
	font-size: 14px;
	text-align: center;
	margin-top: 70px;
	width: 100%;
}



/**************** Fix Contact Botton ****************/
a.fixContactBtn {
	position: fixed;
	top: 50%;
	right: -127px;
	transform: translateY(-50%);
	display: block;
	background-color: #D90000;
	width: 175px;
	text-align: center;
	padding: 8px 0;
	font-size: 19px;
	z-index: 200;
	color: #FFF;
	text-decoration: none;
	transition: .3s;
}

a.fixContactBtn.is-hide {
	right: -175px;
}

a.fixContactBtn::before {
	content: "";
	background: url(../img/icn_mail.svg) no-repeat center center / contain;
	width: 30px;
	height: 23px;
	display: inline-block;
	margin-right: 10px;
	vertical-align: middle;
}

a.fixContactBtn::after {
	content: "";
	width: 10px;
	height: 10px;
	display: inline-block;
	vertical-align: middle;
	border-right: #FFF solid 2px;
	border-bottom: #FFF solid 2px;
	transform: translateY(-5px) rotate(45deg);
	margin-left: 10px;
}

@media only screen and (min-width: 768px) {
	a.fixContactBtn:hover {
		right: 0;
	}
}

@media only screen and (max-width: 767px) {
	a.fixContactBtn {
		top: auto;
		bottom: 40px;
	}
}

/**************** Loading ****************/
.loading_bg {
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background-color: #FFF;
	z-index: 500;
}

.loading_wrap {
	max-width: 1000px;
	margin: auto;
	display: flex;
	padding: 0 20px;
	justify-content: space-around;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.loading_block {
	width: 200px;
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.loading {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	position: fixed;
	height: 100dvh;
	z-index: 300;
}

.circle {
	width: 15px;
	height: 15px;
	background-color: #CCC;
	margin: auto;
	animation-name: loading;
	animation-duration: 1.5s;
	animation-iteration-count: infinite;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.circle:nth-child(1) {
	animation-delay: 0.2s;
}

.circle:nth-child(2) {
	animation-delay: 0.3s;
}

.circle:nth-child(3) {
	animation-delay: 0.4s;
}

.circle:nth-child(4) {
	animation-delay: 0.1s;
}

.circle:nth-child(5) {
	animation-delay: 0.2s;
}

.circle:nth-child(6) {
	animation-delay: 0.3s;
}

.circle:nth-child(7) {
	animation-delay: 0s;
}

.circle:nth-child(8) {
	animation-delay: 0.1s;
}

.circle:nth-child(9) {
	animation-delay: 0.2s;
}

@keyframes loading {
	20% {
		transform: scale(0.1);
	}

	40% {
		transform: scale(1);
	}
}

.st-GlobalFooter_PageTop[aria-hidden="false"] {
	bottom: 96px;
}

@media only screen and (min-width:1280px) {
	.tabOnly {
		display: none;
	}
}


















/*KWIC*/

ul {
	list-style-type: none;
}


main {
	position: relative;
	overflow-x: hidden;
}

.fv_bg {
	width: 100vw;
	height: 43.385vw;
	position: fixed;
	top: 180px;
	z-index: -1;
	transition: 1s;
	filter: blur(30px);
	transform: scale(1.2);
	transition-timing-function: cubic-bezier(1, 0, 0, 1);
	top: 175px;
	/* transition-delay: 1s; */
}

.fv_bg.end {
	filter: blur(0px);
	transform: scale(1);
}

.fv_bg .left {
	position: absolute;
	left: 0;
	top: 0;
}

.fv_bg .left img {
	width: clamp(300px, 41.406vw, 800px);
	height: auto;
}

.fv_bg .right {
	position: absolute;
	right: 0;
	top: 0;
	/* left: unset; */
}

.fv_bg .right img {
	width: clamp(300px, 40.052vw, 800px);
	height: auto;
}

.fv_bg.active {
	filter: blur(15px);
	transform: scale(1.05);
}

.background .bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
}

.background.pat {
	background-image: url("../img/bg_pat.png");
	background-repeat: repeat-x;
	position: absolute;
	top: 0;
	height: 1515px;
	width: 100%;
	z-index: -2;
}

.fv_txt {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 60px;
	opacity: 0;
	transition: .5s;
	transition-delay: .75s;
	/* margin-top: 40px; */
	/* filter: blur(30px); */
}

.fv_txt.end {
	opacity: 1;
	/* filter: blur(0px); */
}

hgroup {
	margin-top: 120px;
	gap: 50px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}

hgroup h2 {
	font-size: 80px;
	font-family: "Arial";
	font-weight: 700;
	display: flex;
	flex-direction: column;
	line-height: 0.9;
	letter-spacing: -2px;
	flex-direction: row;
	flex-wrap: wrap;
	padding-left: 20px;
	padding-right: 20px;
	width: fit-content;
	justify-content: center;
	filter: drop-shadow(0px 0px 20px white);
	text-shadow: 0 0 20px #ffffff;
	gap: 10px;
}

hgroup h2 span {
	filter: drop-shadow(0px 0px 5px white);
	text-shadow: 0 0 5px #ffffff;
}

hgroup h2 span:first-child {
	color: #DF0522;
	filter: drop-shadow(0px 0px 5px #edebe9);
	text-shadow: 0 0 5px #edebe9;
}

hgroup p {
	text-align: center;
	font-size: clamp(16px, 1.5vw, 19px);
	filter: drop-shadow(0px 0px 10px white);
	text-shadow: 0 0 20px white;
	padding-left: 20px;
	padding-right: 20px;
	font-family: 'Roboto';
}

hgroup p span {
	filter: drop-shadow(0px 0px 10px #edebe9);
	text-shadow: 0 0 10px #edebe9;
}

.fv_txt hgroup p br {}

.fv_txt a {}

.fv_txt a img {}

.lpfoot_contact {
	min-height: 330px;
	background-color: #df0522;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.lpfoot_contact .btnbox {
	/* margin-top: 0; */
	/* z-index: 1; */
	/* display: flex; */
}

.lpfoot_contact .btnbox li {}

.lpfoot_contact .btnbox li a {}

.lpfoot_contact .btnbox li a .st-Icon-Internal {}

.slider {
	/* display: flex; */
	/* gap: 30px; */
	/* width: 100%; */
	margin-top: 0px;
}

.slider li {
	/* width: 320px !important; */
}

.slider li a {
	text-decoration: none;
	color: black;
}

.slider li a div {}

.slider li a div img {}

.slider li a p {}

.slider li a p br {}

.wrap hgroup {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0px;
}

section.videos {
	margin-top: 0;
	gap: 50px;
	display: flex;
	flex-direction: column;
	z-index: 1;
	position: relative;
}

section.pickup {
	padding-top: 105px;
	position: relative;
	padding: 0 5vw 5vw 5vw;
	/* backdrop-filter: blur(30px); */
}

hgroup h3 {
	font-size: 76px;
	font-family: "arial";
	font-weight: 600;
	letter-spacing: -0.3vw;
	line-height: 1;
}

hgroup span.cg {
	font-size: 21px;
	font-family: "Roboto";
}

section .wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	/* align-items: center; */
	gap: 50px;
	align-items: center;
}

.gradation {
	background: rgb(255, 255, 255);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	backdrop-filter: blur(0px);
}

.pickup-list {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	gap: 50px 2vw;
	margin-top: 0px;
	width: 100%;
	justify-content: center;
}

.pickup-list.alt {
	justify-content: flex-start;
}

.pickup-list li {
	width: calc(21.8vw - 1.463vw);
}

.pickup-list li a {
	text-decoration: none;
	color: black;
	transition: .3s;
}

.pickup-list li a:hover {
	opacity: 1;
}

.pickup-list li a:hover img {
	opacity: 0.75;
}

.pickup-list li img, .pickup-list li dd {
	transition: .3s;
}

.pickup-list li a:hover dd {
	color: #DF0522;
}

.pickup-list li a dl {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.pickup-list li a dl dt {
	/* max-width: 394px; */
}

.pickup-list li a dl dt img {
	border-radius: 8px;
	aspect-ratio: 1/0.856;
	width: 100%;
	height: 100%;
	object-fit: cover;
	max-width: 390px;
	max-height: 330px;
}

.pickup-list li a dl dd {
	margin: 0;
	/* display: flex; */
}

.slick-next {
	right: 0;
	z-index: 1;
}

.slick-prev {
	left: 0;
	z-index: 1;
}

.slider a {
	/* padding: 15px; */
	margin-right: 7.5px;
	margin-left: 7.5px;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	display: flex;
	position: relative;
	transition: .3s;
}

.slider a img.thumb {
	transition: .3s;
	width: 320px;
	height: 370px;
	object-fit: cover;
	border-radius: 8px;
}

.slider a img.play {
	transition: .3s;
	opacity: 0;
	position: absolute;
	z-index: 1;
	margin-inline: auto;
	inset: 0;
	margin: auto;
	max-width: 60px;
}

.slider a:hover img.play {
	opacity: 1;
}

.slider a:hover img.thumb {
	filter: brightness(0.35);
}

.slider a div {
	width: 100%;
}

.slider a p {
	color: white;
    text-decoration: none;
    position: absolute;
    bottom: 0;
    padding: 20px;
    display: flex;
    width: 100%;
    font-family: "Roboto";
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
    border-radius: 0 0 10px 10px;
    min-height: 120px;
    display: flex;
    align-items: flex-end;
}

.slick-dots {
	position: relative;
}

.arrow_box {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	position: absolute;
	width: 100%;
	max-width: 990px;
	top: calc(50% - 15px);
	z-index: 2;
	margin-inline: auto;
	left: 0;
	right: 0;
}

.prev-arrow,
.next-arrow {
	display: block;
	width: 50px;
	height: 50px;
	background: #d90000;
	border-radius: 50%;
	transition: all .3s ease;
	cursor: pointer;
	position: relative;
}

.prev-arrow {
	transform: rotate(180deg);
	/* margin-right: 887px; */
	border-radius: 10px 0px 0px 10px;
	position: absolute;
	left: 0.5px;
}

.next-arrow {
	display: block;
	width: 50px;
	height: 50px;
	background: #d90000;
	border-radius: 50%;
	transition: all .3s ease;
	cursor: pointer;
	position: relative;
	border-radius: 10px 0px 0px 10px;
	position: absolute;
	right: -0.5px;
}

.prev-arrow::before,
.next-arrow::before {
	position: absolute;
	content: "";
	width: 10px;
	height: 10px;
	border-right: 2px solid #FFF;
	border-top: 2px solid #FFF;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	transform: rotate(45deg);
}

.slider_outer {
	position: relative;
}

footer {
	background-color: white;
}

.anim {
	transition: 1s;
	opacity: 0;
	filter: blur(30px);
	transform: translateY(100px);
	transition-timing-function: cubic-bezier(0.88, 0, 0.02, 1);
}

.anim.active {
	transition: 1s;
	opacity: 1;
	filter: blur(0px);
	transform: translateY(0px);
}

.loading {
	transition: .5s;
	/* transition-delay: 1s; */
}

.loading.close {
	opacity: 0;
	pointer-events: none;
}

.loading .curt1 {
	background-color: #ededed;
	width: 50%;
	position: absolute;
	top: 0;
	left: 0;
	height: 100dvh;
	transition: 1s;
	filter: blur(0);
	transition-timing-function: cubic-bezier(1, 0, 0, 1);
}

.loading.end .curt1 {
	transform: translateX(-100%);
}

.loading .curt2 {
	background-color: #ededed;
	width: 50%;
	position: absolute;
	right: 0;
	top: 0;
	height: 100dvh;
	transition: 1s;
	filter: blur(0);
	transition-timing-function: cubic-bezier(1, 0, 0, 1);
}

.loading.end .curt2 {
	transform: translateX(100%);
}


.loading hgroup {
	margin: 0;
	z-index: 1;
	transition: 1s;
	transition-timing-function: cubic-bezier(1, 0.01, 0, 1);
	transform: scale(1.1);
	filter: blur(30px);
	gap: 30px;
}

.loading.start hgroup {
	transform: scale(1);
	filter: blur(0px);
}

.loading hgroup h2 span {}

.loading hgroup h2 span:first-child {
	color: #DF0522;
	transition: 1s;
}

.loading.start hgroup h2 span:first-child {
	clip-path: polygon(100% 100%, 0 100%, 0 0, 100% 0);
	transition-timing-function: cubic-bezier(1, 0, 0, 1);
}

.loading.start.end hgroup h2 span:first-child {
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
	/* filter: blur(30px); */
}

.loading hgroup h2 {
	filter: none;
	text-shadow: none;
}

.loading hgroup h2 span {
	color: black;
	text-shadow: none;
	filter: none;
	clip-path: polygon(0 100%, 0 100%, 0 0, 0 0);
	transition: 1s;

	transition-timing-function: cubic-bezier(1, 0, 0, 1);
}

.loading.start hgroup h2 span {
	clip-path: polygon(100% 100%, 0 100%, 0 0, 100% 0);
}

.loading.start.end hgroup h2 span {
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	/* filter: blur(30px); */
}

.loading.end hgroup {
	/* transform: translateY(-130px); */
	opacity: 1;
	/* transition-delay: 1s; */
	filter: blur(30px);
}

.indicator {
	display: flex;
	width: 100%;
	justify-content: center;
	gap: 10px;
	height: 20px;
	align-items: center;
	position: absolute;
	top: calc(50% + 60px);
	transition: 1s;
	opacity: 0;
	filter: blur(30px);
}

.indicator span {
	width: 1px;
	height: 20px;
	background-color: #df0522;
	display: flex;
	animation-name: indi;
	animation-duration: .75s;
	animation-iteration-count: infinite;
	animation-timing-function: cubic-bezier(1, 0, 0, 0.1);
}

.loading.start .indicator {
	opacity: 1;
	filter: blur(0px);
	transition: .3s;
}

.loading.start.end .indicator {
	opacity: 0;
}

.indicator span:nth-child(1) {
	animation-delay: .1s;
}

.indicator span:nth-child(2) {
	animation-delay: .2s;
}

.indicator span:nth-child(3) {
	animation-delay: .3s;
}

.indicator span:nth-child(4) {
	animation-delay: .4s;
}

.indicator span:nth-child(5) {
	animation-delay: .5s;
}

@keyframes indi {
	0% {
		height: 1px;

	}

	50% {
		height: 20px;

	}

	100% {
		height: 1px;
	}
}

@media only screen and (max-width: 1023px) {
	.fv_bg {
		top: 120px;
	}

	.fv_txt hgroup p {
		text-align: center;
	}

	.fv_txt hgroup {
		margin-top: 60px;
		gap: 30px;
	}

	.pickup-list li {
		width: calc(29.4vw - 1.563vw);
	}
}

@media only screen and (max-width: 767px) {
	.fv_bg {
		position: absolute;
		top: 0;
	}

	.fv_txt hgroup p {
		max-width: 350px;
	}

	.pickup-list li {
		width: calc(43.5vw - 1.563vw);
	}

	hgroup h3 {
		font-size: 55px;
	}

	.fv_txt hgroup h2 {
		font-size: 65px;
		flex-direction: column;
	}

	.newsList {
		padding-left: 0;
		padding-right: 0;
		flex-direction: column;
		gap: 30px;
		padding-top: 30px;
		padding-bottom: 30px;
		font-size: 16px;
	}

	section.pickup {
		margin-top: 50px;
	}

	section .wrap, section.videos {
		gap: 30px;
	}

	.pickup-list {
		margin-top: 0;
	}

	hgroup {
		margin-top: 75px !important;
	}

	.lpfoot_contact {
		min-height: 200px;
	}

	.block-news_Area {
		padding: 0px 20px 75px 20px;
	}
}

@media only screen and (max-width: 500px) {

	.fv_bg {
		opacity: 0.6;
	}

	.fv_txt hgroup h2 {
		font-size: 60px;
		flex-direction: column;
	}

	.loading.end hgroup {
		transform: translateY(-130px);
		opacity: 1;
		/* transition-delay: 1s; */
		/* letter-spacing: -0.2vw; */
	}

	.indicator {
		top: calc(50% + 80px);
	}

	.loading hgroup h2 span {
		font-size: 60px;
	}

	.loading hgroup {
		margin-top: 5px !important;
	}

	.pickup-list li {
		width: 100%;
	}

	.pickup-list {
		justify-content: center;
		margin-top: 0;
	}

	.pickup-list li a {
		display: flex;
		justify-content: center;
	}

	.pickup-list li a dl {
		align-items: center;
		max-width: 394px;
	}

	.fv_txt hgroup p {
		text-align: left;
		font-size: 15px;
	}

	.slider a img.thumb {
		max-width: 280px;
	}

	.fv_txt hgroup {
		margin-top: 30px !important;
		gap: 30px;
	}

	.fv_txt {
		gap: 30px;
	}

	.fv_txt a img {
		width: 80px;
	}
}

.slick-dots li.slick-active button:before {
	opacity: 1;
	color: #d90000;
}

.slick-dots li button:before {
	font-size: 10px;
}