@charset "UTF-8";

body {
	background-image:repeating-linear-gradient(
    90deg,
    rgba(110,110,110,0.15) ,
    rgba(110,110,110,0.15) 1px,
    transparent 1px,
    transparent 50px
  ),
  repeating-linear-gradient(
    0deg,
    rgba(110,110,110,0.15) ,
    rgba(110,110,110,0.15) 1px,
    transparent 1px,
    transparent 50px
  );
	background-color:#141E28;
}
body * {
	color: #919191;
	color:#fff;
	font-family: "Zen Kaku Gothic New", serif;
  font-optical-sizing: auto;
  font-style: normal;
	padding:0;
	margin: 0;
	-webkit-box-sizing: border-box;
					box-sizing: border-box;
	word-break: break-word;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
.ff-cent {
	font-family: Futura, "Century Gothic", "Zen Kaku Gothic New", sans-serif;
}
.ff-zen {
	font-family: "Zen Kaku Gothic New", serif;
}
p,li {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.050em;
	line-height:30px;
}
sup {
	font-size:0.5em;
	vertical-align:super;
	margin-right:-0.5em;
	display:inline-block;
}
.text-bold {
	font-weight:800 !important;
}
.inline-block {
	display:inline-block;
	font-size:inherit !important;
	font-weight:inherit !important;
	text-decoration:inherit !important;
}
a {
	color:#919191;
	color:#fff;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	text-decoration: none;
}
a:hover {
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
span {
	color:inherit !important;
}
img {
	width:100%;
	max-width: 100%;
	height: auto;
}

.tb-block,
.sp-block,
.under500 {
	display:none;
}
.pc-block {
	display:block;
}
@media screen and (max-width:1080px) {
	.pc-block {
		display:none;
	}
	.tb-block {
		display:block;
	}
}
@media screen and (max-width:750px) {
	.tb-block {
		display:none;
	}
	.sp-block {
		display:block;
	}
}

.container {
	width:100%;
	max-width:1200px;
	padding:0 60px;
	margin:0 auto;
}

.flex-container {
	display: flex;
	flex-wrap:wrap;
}

header {
	height:100px;
}
header .container {
	width: 100%;
	max-width:1400px;
	padding:30px;
	position:fixed;
	top:0;
	left:50%;
	transform:translateX(-50%);
	z-index: 999;
}
header .container .flex-container {
 justify-content:space-between;
 align-items:center;
}
header .logo-area a {
	display:block;
}
header .logo-area a img {
	width:auto;
	height:40px;
}
header .menu-area {
	display:flex;
	align-items:center;
	gap:30px;
}
header .menu-area .btn-language a {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.050em;
	line-height:20px;
	display:inline-block;
}
header .menu-area .btn-language a:hover {
	color:#96BE00;
}
header .menu-area .btn-language a.active {
	color:#96BE00;
	pointer-events:none;
}
.btn-contact a {
	color:#141E28;
	font-size:16px;
	font-weight:400;
	letter-spacing:0;
	line-height:20px;
	display:block;
	width:160px;
	height:40px;
	padding:10px 15px;
	border-radius:20px;
	background-color:#96BE00;
	position:relative;
}
.btn-contact a::after {
	content:"";
	display:block;
	width:7px;
	height:7px;
	background-color:#141E28;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:20px;
	transform:translateY(-50%);
}
.btn-contact a:hover {
	background-color:rgba(150,190,0,0.75);
}
footer .logo-area {
	padding:50px 0;
	border-bottom:1px solid #919191;
	border-color:#fff;
}
footer .logo-area a {
	display:block;
	width:fit-content;
	margin:0 auto;
}
footer .logo-area a img {
	width:auto;
	height:50px;
}
footer .bottom-area {
	width:100%;
	max-width:1400px;
	padding:15px 30px;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
footer .bottom-area * {
	font-size:12px;
	letter-spacing:0;
	line-height:15px;
}
.section-kv .container {
	padding-top:70px;
	padding-bottom:160px;
	position:relative;
}
.section-kv .container::after {
	content:"";
	display:block;
	width:600px;
	height:600px;
	background-image:url('./assets/img/logo.svg');
	background-position:center left;
	background-repeat:no-repeat;
	background-size:cover;
	position:absolute;
	top:165px;
	left:calc( 50% + 200px );
}
@media screen and (max-width:1600px) {
	.section-kv .container::after {
		width:calc( 50vw - 200px );
		width:calc( 50vw - 210px );
	}
}
.section-kv .container .page-title {
	font-size:80px;
	font-weight:400;
	letter-spacing:0;
	line-height:1.25;
	position:relative;
	z-index:1;
}
.section {
	padding:110px 0;
	overflow:hidden;
}
.section-title {
	font-size:80px;
	font-weight:400;
	letter-spacing:0;
	line-height:1;
	text-align:center;
	position:relative;
	margin-top:-0.15em;
}
.section-title::after {
	content:"";
	display:block;
	width:6px;
	height:6px;
	background-color:#919191;
	background-color:#fff;
	border-radius:50%;
	margin:0.3em auto 0.5em;
}
.section-sub-title {
	font-size:19px;
	font-weight:500;
	letter-spacing:0.050em;
	line-height:1;
	text-align:center;
	display:block;
	width:fit-content;
	margin:0.5em auto 0;
}
.section-title.tl {
	text-align:left;
}
.section-title.tl::after,
.section-title.tl .section-sub-title {
	margin-left:0;
}
.section-intro {
	/* background-image:url('./assets/img/bg_movie.jpg');
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover; */
	cursor:url('./assets/img/icon_video.svg'), pointer;
	position:relative;
}
.section-intro .overlay {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:-5;
	background-color:rgba(23,43,62,0.96);
}
.section-intro #yt_player {
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	position:absolute;
	top: 0;
	left: 0;
	z-index: -10;
	/* opacity:0.04; */
}
.section-intro p {
	text-align:center;
}
.section-intro p.annotation {
	font-size:11px;
	letter-spacing:0;
	line-height:20px;
	margin-top:15px;
}
.section-concept .container.flex-container {
	gap:0 50px;
}
.section-concept .concept-slider {
	margin-top:60px;
}
.section-concept .concept-slider .slick-list {
	height:auto !important;
}
.section-concept .concept-slider li {
	width:590px;
	height:auto;
	padding:0 25px;
}
.section-concept .concept-slider li:nth-of-type(odd) {
	padding-top:50px;
}
.section-concept .concept-slider li:nth-of-type(even) {
	padding-bottom:50px;
}
.section-concept .concept-slider li img {
	border-radius:15px;
}
.section.section-service {
	background-color:rgba(255,255,255,0.1);
	padding-bottom:0;
}
.section-service .service-flex {
	width:100%;
	/* max-width:1400px; */
	margin:0 auto;
}
.section-service .service-flex .flex-item {
	width:50%;
	height:400px;
	padding:50px 60px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	position:relative;
}
.section-service .service-flex .flex-item:nth-of-type(1) {
	background:linear-gradient(rgba(145,145,145,0.9), rgba(145,145,145,0.9)),
	url('./assets/img/image_service01.jpg') no-repeat center;
	background-size:cover;
}
.section-service .service-flex .flex-item:nth-of-type(2) {
	background:linear-gradient(rgba(145,145,145,0.75), rgba(145,145,145,0.75)),
	url('./assets/img/image_service02.jpg') no-repeat center;
	background-size:cover;
}
.section-service .service-flex .flex-item .flex-number {
	color:#141E28;
	font-size:15px;
	font-weight:400;
	letter-spacing:0;
	line-height:20px;
}
.section-service .service-flex .flex-item::after {
	content:"";
	display:block;
	width:78px;
	height:60px;
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain;
	position:absolute;
	top:50px;
	right:60px;
}
.section-service .service-flex .flex-item:nth-of-type(1)::after {
	background-image:url('./assets/img/icon_service01.svg');
}
.section-service .service-flex .flex-item:nth-of-type(2)::after {
	background-image:url('./assets/img/icon_service02.svg');
}
.section-service .service-flex .flex-item .text-area h3 {
	color:#141E28;
	font-size:60px;
	font-weight:400;
	letter-spacing:0;
	line-height:calc( 65em / 60 );
	margin-bottom:calc( 65em / 60 / 4 );
}
.section-service .service-flex .flex-item .text-area p {
	color:#141E28;
}
.section-value .container.flex-container {
	justify-content:space-between;
	gap:30px;
}
.section-value .container.flex-container > .text-area {
	width:100%;
	max-width:300px;
	max-width:500px;
}
.section-value .text-area p {
	margin-top:-24px;
}
@media screen and (min-width:1201px) {
	.section-value .value-area {
		width:calc( 100% - 360px );
		width:720px;
		width:520px;
	}
	.section-value .value-area .swiper-wrapper {
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
		gap:37.5px 22.5px;
		width:100%;
		max-width:500px;
		margin:0 auto;
		gap:37px 30px;
	}
	.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
		display:none;
	}
}
.section-value .value-area .value-item {
	width:225px;
	height:auto;
}
.section-value .value-area .value-item .image-area {
	aspect-ratio:1/1;
	background:linear-gradient(rgba(145,145,145,0.8), rgba(145,145,145,0.8)),
	url('./assets/img/bg_value.jpg') no-repeat center;
	background-size:contain;
	border-radius:15px;
	overflow:hidden;
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
}
.section-value .value-area .value-item .image-area img {
	width:100%;
	max-width:125px;
	height:100%;
	max-height:125px;
	object-fit:contain;
}
.section-value .value-area .value-item:nth-of-type(1) .image-area img {
	max-width:91px;
	max-height:91px;
}
.section-value .value-area .value-item:nth-of-type(2) .image-area img {
	max-width:97px;
	max-height:91px;
}
.section-value .value-area .value-item:nth-of-type(3) .image-area img {
	max-width:61px;
	max-height:89px;
}
.section-value .value-area .value-item:nth-of-type(4) .image-area img {
	max-width:90px;
	max-height:65px;
	max-width:97px;
	max-height:94px;
}
.section-value .value-area .value-item:nth-of-type(5) .image-area img {
	max-width:97px;
	max-height:94px;
}
.section-value .value-area .value-item .image-area .flex-number {
	color:#141E28;
	font-size:15px;
	font-weight:400;
	letter-spacing:0;
	line-height:1;
	position:absolute;
	top:15px;
	left:15px;
}
.section-value .value-area .value-item .text-area h2 {
	font-size:16px;
	font-weight:500;
	letter-spacing:0.050em;
	line-height:1;
	text-align:center;
	margin-top:20px;
}
.section-value .value-area .value-item .text-area p {
	font-size:12px;
	letter-spacing:0;
	line-height:2;
	text-align:center;
	margin-top:1em;
}
.section-news {
	background-color:rgba(255,255,255,0.1);
}
.section-company {
	background-image:url('./assets/img/bg_company.jpg');
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
.section-news .container.flex-container,
.section-company .container.flex-container {
	justify-content:space-between;
	gap:0 30px;
}
.section-news .list-area {
	width:calc( 100% - 260px );
	max-width:540px;
	border-top:1px solid #fff;
}
.section-news .list-area li {
	width:100%;
	/* padding:21px 0; */
	border-bottom:1px solid #fff;
}
.section-news .list-area li a {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.050em;
	line-height:30px;
	display:block;
	padding:21px 0;
}
.section-news .list-area li a:hover {
	color:#96BE00;
}
.section-company .table-area {
	width:calc( 100% - 460px );
	max-width:540px;
	border-top:1px solid #919191;
	border-color:#fff;
}
.section-company .table-area dl {
	width:100%;
	padding:21px 0;
	border-bottom:1px solid #919191;
	border-color:#fff;
	display:flex;
}
.section-company .table-area dl dt {
	font-size:14px;
	font-weight:500;
	letter-spacing:0.2em;
	line-height:30px;
	width:115px;
}
.section-company .table-area dl dd {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.050em;
	line-height:30px;
	width:calc( 100% - 115px );
}
.section-company .table-area dl dd li {
	padding-left:1.2em;
	position:relative;
}
.section-company .table-area dl dd li::before {
	content:"";
	display:block;
	width:3px;
	height:3px;
	border-radius:50%;
	background-color:#919191;
	position:absolute;
	top:15px;
	left:0.6em;
	transform:translate(-50%,-50%);
}
.parts_c89 {
	width:100%;
	margin:0 auto;
	background-color:#fff;
	background-color:rgba(145,145,145,0.75);
	/* background-color:#7b7b7b; */
}
.parts_c89 .flex-container {
	width:100%;
	max-width:920px;
	max-width:970px;
	padding-top:30px;
	padding-bottom:30px;
	justify-content:space-between;
	align-items:center;
}
.en .parts_c89 .flex-container {
	max-width:920px;
}
.parts_c89 .image-area {
	width:100%;
	/* max-width:240px; */
	width:180px;
}
.parts_c89 .text-area {
	width:calc( 100% - 220px );
	max-width:580px;
	max-width:630px;
}
.en .parts_c89 .text-area {
	max-width:580px;
}
.parts_c89 p {
	color:#141E28;
	font-size:12px;
	line-height:1.6;
}
.parts_c89 p a {
	color:#96BE00;
}
.parts_c89 p a:hover {
	color:#fff;
}
.parts_c89 p.annotation {
	font-size:10px;
	padding-left:1em;
	margin-top:1.5em;
	position:relative;
	/* text-indent:-1em; */
}
.parts_c89 p.annotation::before {
	content:"\203b";
	display:block;
	width:1em;
	position:absolute;
	top:0;
	left:0;
}
.en .parts_c89 p.annotation {
	width:100%;
	max-width:520px;
}
.en .parts_c89 p.annotation::before {
	content:"*";
}

.section-contact a {
	display:block;
	width:100%;
	height:300px;
	background-color:#96BE00;
}
.section-contact a:hover {
	background-color:rgba(150,190,0,0.75);
}
.section-contact a .container {
	height:100%;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.section-contact a .container .section-title,
.section-contact a .container .section-sub-title {
	color:#141E28;
	text-align:left;
}
.section-contact a .container .section-title::after {
	display:none;
}
.section-contact a .container .icon_btn {
	width:50px;
}

@media screen and (max-width:1200px) {
	.section-service .service-flex .flex-item {
		height:300px;
		padding:40px 27px;
	}
	.section-service .service-flex .flex-item::after {
		top:40px;
		right:27px;
	}
	.section-service .service-flex .flex-item .text-area h3 {
		font-size:45px;
	}
	.section-value .container.flex-container > .text-area {
		max-width:100%;
	}
	.section-value .value-area {
		width:100%;
		padding-bottom:30px;
		position:relative;
	}
	.section-value .value-area .swiper-wrapper {
		/* padding-bottom:15px; */
		cursor:pointer;
	}
	.section-value .value-area .swiper-wrapper .swiper-slide:not(:first-of-type) {
		margin-left:15px;
	}
	.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
		/* position:static; */
		background-color:#919191;
		background-color:#fff;
		cursor:pointer;
	}
	.swiper-scrollbar-drag {
		background-color:#96BE00;
	}
	.section-company .table-area dl dt {
		width:90px;
	}
	.section-company .table-area dl dd {
		width:calc( 100% - 90px );
	}
}
@media screen and (max-width:900px) {
	.section-news .container.flex-container,
	.section-company .container.flex-container,
	.parts_c89 .container.flex-container {
		flex-direction:column;
	}
	.section-news .list-area,
	.section-company .table-area {
		width:100%;
		max-width:none;
	}
	.parts_c89 .text-area {
		text-align:center;
		width:100%;
		max-width:none;
		margin-top:20px;
	}
	.parts_c89 .text-area p.annotation {
		/* text-indent:0; */
		padding-left:0;
	}
	.parts_c89 .text-area p.annotation::before {
		display:inline;
		position:relative;
	}
	.en .parts_c89 p.annotation {
		margin-left:auto;
		margin-right:auto;
	}
}
@media screen and (max-width:750px) {
	body {
		background-image:repeating-linear-gradient(
			90deg,
			rgba(110,110,110,0.15) ,
			rgba(110,110,110,0.15) 1px,
			transparent 1px,
			transparent 25px
		),
		repeating-linear-gradient(
			0deg,
			rgba(110,110,110,0.15) ,
			rgba(110,110,110,0.15) 1px,
			transparent 1px,
			transparent 25px
		);
		background-color:#141E28;
	}
	p {
		line-height:27px;
	}
	.container {
		padding:0 27px;
	}
	header {
		height:55px;
	}
	header .container {
		padding:25px 27px 0;
	}
	header .logo-area a img {
		height:30px;
	}
	header .menu-area .btn-language a {
		font-size:12px;
		line-height:18px;
	}
	.btn-contact a {
		font-size:23px;
		line-height:24px;
		text-align:center;
		width:calc( 100% - 54px );
		max-width:320px;
		height:60px;
		padding:16px;
		border-radius:30px;
		position:fixed;
		bottom:30px;
		left:50%;
		transform:translateX(-50%);
		z-index:100;
	}
	.btn-contact a::after {
		right:25px;
	}
	footer .logo-area {
		padding:40px 0;
	}
	footer .bottom-area {
		padding:15px 27px;
		flex-direction:column;
		gap:5px;
	}
	.section-kv .container {
		padding-top:50px;
		padding-bottom:350px;
		padding-bottom:calc( 250px - 100 * ( 100vw - 750px ) / ( 750 - 375 ) );
	}
	.section-kv .container::after {
		width:340px;
		height:340px;
		top:auto;
		bottom:-25px;
		left:calc( 50% - 100px );
		left:calc( 100% - 370px );
	}
	.section-kv .container .page-title {
		font-size:43px;
		font-size:calc( 43px + 20 * ( 100vw - 375px ) / ( 750 - 375 ) );
	}
	.section {
		padding:80px 0;
	}
	.section-title {
		font-size:50px;
	}
	.section-title::after {
		margin:0.4em auto;
	}
	.section-sub-title {
		font-size:17px;
	}
	.section-concept .concept-slider {
		margin-top:30px;
	}
	.section-concept .concept-slider li {
		width:calc( 100vw - 39px );
		max-width:336px;
		padding:0 7.5px;
	}
	.section-concept .concept-slider li:nth-of-type(odd) {
		padding-top:30px;
	}
	.section-concept .concept-slider li:nth-of-type(even) {
		padding-bottom:30px;
	}
	.section-concept .concept-slider li img {
		border-radius:10px;
	}
	.section-value .text-area p {
		margin-top:-8px;
	}
	.section-value .value-area {
		width:100%;
		margin-top:30px;
	}
	.section-company .table-area dl {
		padding:14px 0;
	}
	.section-contact a {
		height:235px;
	}
	.section-contact a .container .icon_btn {
		width:34px;
	}
}
@media screen and (max-width:700px) {
	.section-service .service-flex .flex-item {
		width:100%;
	}
}
@media screen and (max-width:540px) {
	.section-kv .container::after {
		left:calc( 50% - 100px );
	}
}
@media screen and (max-width:500px) {
	.over500 {
		display:none;
	}
	.under500 {
		display:block;
	}
}
@media screen and (max-width:480px) {
	.section-kv .container::after {
		width:calc( 50vw + 100px );
	}
}
@media screen and (max-width:400px) {
	.section-company .table-area dl {
		flex-direction:column;
	}
	.section-company .table-area dl dd {
		width:100%;
	}
}
@media screen and (max-width:375px) {
	.section-contact a .container {
		justify-content:center;
	}
	.section-contact .section-title.tl .section-sub-title {
		margin-left:auto;
	}
	.section-contact a .container .icon_btn {
		display:none;
	}
}

@media screen and (min-width:1001px) {
	.en .section-concept .flex-container p {
		width:calc( 100% - 435px );
	}
}
.section-service .text-area {
	width:100%;
	max-width:620px;
}
.en .section-value .value-area .value-item .text-area h2 {
	line-height:1.5;
}
.en .section-company .table-area dl {
	flex-direction:column;
	padding:14px 0;
}
.en .section-company .table-area dl dt,
.en .section-company .table-area dl dd {
	width:100%;
}

.section-kv .container .page-title {
	padding:50px 0;
}
@media screen and (max-width:1200px) {
	.section-service .service-flex .flex-item {
		height:380px;
	}
	.section-service .text-area {
		max-width:450px;
	}
}
@media screen and (max-width:750px) {
	.section-kv .container .page-title {
		padding:0;
	}
}

/* 下層ページ */
.page .section-kv .container {
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	min-height:500px;
	padding:0 60px 60px;
}
.page .section-kv .container::after {
	/* display:none; */
	z-index:-1;
}
.page .section-kv .container .page-title {
	font-size:60px;
	line-height:1.5;
	padding: 0;
}
.page .section-kv .container p {
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5;
	padding-top: 50px;
}
.page .section-notification {
	padding-top:0;
}
.page .section-notification * {
	color:#141E28;
}
.page .section-notification .container {
	padding-top:80px;
	padding-bottom:80px;
	background-color:#fff;
}
.page .section-notification .section-title {
	font-size:50px;
	text-align:left;
	margin:0;
}
.page .section-notification .section-title::after {
	background-color:#141E28;
}
.page .section-notification p {
	font-size:18px;
}
@media screen and (max-width:750px) {
	.page .section-kv .container {
		padding:0 27px 27px;
	}
	.page .section-kv .container .page-title {
		font-size:40px;
	}
	.page .section-kv .container p {
		font-size: 14px;
		padding-top: 30px;
	}
	.page .section-notification .container {
		padding-top:50px;
		padding-bottom:50px;
	}
	.page .section-notification .section-title {
		font-size:35px;
	}
	.page .section-notification p {
		font-size:14px;
	}
}