@charset "utf-8";
/* PC ================================================== */
@media all and (min-width:960px){
#main {
	width: 100%;
	height: 100vh;
	position: relative;
}
	.main--copyright {
		width: auto;
		color: #1F1D59;
		font-size: 10px;
		font-family: din-condensed, sans-serif;
		letter-spacing: 0.05em;
		position: absolute;
		left: 3px;
		top: 50%;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
	}
	.scroll {
		width: 30px;
		height: 140px;
		position: absolute;
		left: 35px;
		bottom: -40px;
		transform: translate(-50%,0%);
		-webkit-transform: translate(-50%,0%);
		z-index: 5;
	}
		.scroll p {
			width: 100%;
			font-size: 10px;
			font-family: din-condensed, sans-serif;
			letter-spacing: 0.0em;
			text-align: center;
			color: #1F1D59;
		}
		.arrowWrap {
			width: 100%;
			height: 140px;
			overflow: hidden;
		}
		.arrow {
			width: 1px;
			height: 140px;
			background-color: #1F1D59;
			position: relative;
			left: 50%;
			transform: translate(-50%,0%);
			-webkit-transform: translate(-50%,0%);
		}
		.arrow::before {
			content: '';
			width: 10px;
			height: 10px;
			border-radius: 50%;
			margin: auto auto;
			background-color: #1F1D59;
			position: absolute;
			top: -10px;
			left: 0px;
			-webkit-animation: arrow 3.2s ease 0.5s infinite normal;
			animation: arrow 3.2s ease 0.5s infinite normal;
		}
		@keyframes arrow {
			0% {
				-webkit-transform: translate3d(-50%, 0px, 0);
				transform: translate3d(-50%, 0px, 0);
			}

			10% {
				-webkit-transform: translate3d(-50%, 0px, 0);
				transform: translate3d(-50%, 0px, 0);
			}

			90% {
				-webkit-transform: translate3d(-50%, 150px, 0);
				transform: translate3d(-50%, 150px, 0);	
			}

			100% {
				-webkit-transform: translate3d(-50%, 150px, 0);
				transform: translate3d(-50%, 150px, 0);
			}
		}
		.main--image {
			width: 100%;
			height: 100%;
			margin: auto 0px auto auto;
			position: relative;
			z-index: -1
		}
			.swiper-container {
				width: 100%;
				height: 100%;
			}
				.swiper-wrapper {
					width: 100%;
					height: 100%;
				}
					.swiper-slide {
						width: 100%;
						height: 100%;
					}
						.slide-img {
							width: 100%;
							height: 100%;
							background-position: center;
							background-repeat: no-repeat;
							background-size: cover;
						}
						.s-img01 {
							background-image: url(../image/index/main_image01.jpg);
						}
						.s-img02 {
							background-image: url(../image/index/main_image02.jpg);
						}
						.s-img03 {
							background-image: url(../image/index/main_image03.jpg);
						}
						.s-img04 {
							background-image: url(../image/index/main_image04.jpg);
						}
						@keyframes zoomUp {
							0% {
								transform: scale(1);
							}
							100% {
								transform: scale(1.1);
							}
						}
						.swiper-slide-active .slide-img,
						.swiper-slide-duplicate-active .slide-img,
						.swiper-slide-prev .slide-img{
							animation: zoomUp 10s linear 0s 1 normal both;  
						}

		.main--catch_copy {
			position: absolute;
			top: 47%;
			left: 50%;
			transform: translate(-50%,-50%);
			-webkit-transform: translate(-50%,-50%);
			opacity: 0.85;
		}
			.main--catch_copy h1 {
				pointer-events: none;
				font-size: 10rem;
				font-family: din-condensed, sans-serif;
				line-height: 0.85;
				text-align: center;
				color: #ffffff;
			}
				.main--catch_copy h1 .h1small_text {
					font-size: 5rem;
				}
		.main--news {
			width: 700px;
			height: 70px;
			overflow: hidden;
			position: absolute;
			right: 0;
			bottom: 0;
			z-index: 2;
			transform: rotateX(0deg);
			-webkit-transform: rotateX(0deg);
			-webkit-transform-origin: center bottom;
			transform-origin: center bottom;
			-webkit-transition: all 0.5s ease;
			transition: all 0.5s ease;
		}
		.fall_down{
			transform: rotateX(90deg);
			-webkit-transform: rotateX(90deg);
		}
			.main--news_inner {
				width: 140%;
				height: 140%;
				-ms-filter: blur(10px);
				filter: blur(10px);
				background-color: rgba(31,31,89,0.8);
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%,-50%);
				-webkit-transform: translate(-50%,-50%);
			}
				.main--news_inner--dl {
					width: 100%;
					height: 100%;
					color: #ffffff;
					display: flex;
					justify-content: space-between;
					align-items: center;
					position: absolute;
				}
				.main--news_inner--dl a {
					color: #ffffff;
				}
					.main--news_inner--dl_dt {
						width: 23.5%;
						font-size: 16px;
						font-family: din-condensed, sans-serif;
						text-align: center;
						line-height: 1.0;
						position: relative;
					}
						.main--news_inner--dl_dt:after {
							content: '';
							width: 1px;
							height: 20px;
							background-color: #ffffff;
							position: absolute;
							top: 50%;
							right: 1px;
							transform: translate(-50%,-50%);
							-webkit-transform: translate(-50%,-50%);
						}
					.main--news_inner--dl_dd {
						width: 76.5%;
						padding: 0px 20px;
					}
						.news_swiper-container {
							width: 100%;
							height: 25px;
							overflow: hidden;
						}
							.news_swiper-container .swiper-slide {
								display: flex;
								justify-content: flex-start;
								align-items: center;
							}
							.main--news_inner--dl_dd a {
								display: block;
								width: 100%;
								height: auto;
								color: #ffffff;
								position: relative;
							}
								.main--news_inner--dl_dd a dl {
									width: 100%;
									height: 100%;
									line-height: 1.0;
									display: flex;
									justify-content: flex-start;
									align-items: center;
								}
									.main--news_inner--dl_dd a dl dt {
										height: 100%;
										margin-right: 20px;
										font-size: 14px;
									}
									.main--news_inner--dl_dd a dl dd {
										height: 100%;
										font-size: 14px;
									}
										.button_arrow {
											width: 20px;
											height: 1px;
											background-color: #ffffff;
											position: absolute;
											top: 50%;
											right: 20px;
											transition: all .2s;
											-webkit-transition: all .2s;
										}
										.button_arrow:after {
											content: '';
											width: 6px;
											height: 1px;
											background-color: #ffffff;
											position: absolute;
											top: -2px;
											right: -1px;
											transform: rotate(45deg);
											-webkit-transform: rotate(45deg);
											transition: all .2s;
											-webkit-transition: all .2s;
										}
											a:hover .button_arrow {
												right: 14px;
											}

#about {
	width: 100%;
	height: 80vh;
	background-color: #F4F4FA;
	position: relative;
}
	.about--textscroll {
		width: 100%;
		height: 240px;
		overflow: hidden;
		display: flex;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0%,-50%);
		-webkit-transform: translate(0%,-50%);
		z-index: 1;
	}
		.about--textscroll img {
			width: auto;
			height: 100%;
			margin-right: 100px;
		}
		.about--textscroll img:first-child {
			animation: loop 200s -100s linear infinite;
		}
		.about--textscroll img:last-child {
			animation: loop2 200s linear infinite;
		}
		@keyframes loop {
			0% {
				transform: translateX(100%);
			}
			to {
				transform: translateX(-100%);
			}
		}
		@keyframes loop2 {
			0% {
				transform: translateX(0);
			}
			to {
				transform: translateX(-200%);
			}
		}
	#about h2 {
		font-size: 24px;
		line-height: 1.0;
		color: #1F1D59;
		position: absolute;
		top: 120px;
		left: 140px;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
		padding-bottom: 0.3rem;
		border-bottom: #1F1D59 solid 2px;
    }
	.about--copy {
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
		z-index: 2;
	}
	.about--copy p {
		font-size: 4rem;
		text-align: center;
		font-family: serif;
	}
	.about--button {
		font-size: 24px;
		font-family: din-condensed, sans-serif;
		color: #1F1D59;
		letter-spacing: 0.0em;
		position: absolute;
		bottom: 75px;
		left: 50%;
		transform: translate(-50%,0%);
		-webkit-transform: translate(-50%,0%);
		transition: all .2s;
		-webkit-transition: all .2s;
	}
	.about--button:hover {
		letter-spacing: 0.1em;
	}
	.about--button:after {
		content: '';
		display: inline-block;
		width: 100%;
		height: 1px;
		background-color: #1F1D59;
		position: absolute;
		bottom: 10px;
		left: 50%;
		transform: translate(-50%,0%);
		-webkit-transform: translate(-50%,0%);
		transition: all .2s;
		-webkit-transition: all .2s;
	}
		.about--button:hover:after {
			bottom: 7px;
		}

#product {
	width: 100%;
	padding: 120px 0px 150px;
}
	#product h2 {
		width: 90%;
		max-width: 1150px;
		margin: auto auto 30px;
	}
	.product--inner {
		width: 100%;
		height: 70vh;
		margin: auto auto 25px;
	}
		.product--container {
			width: 100%;
			height: 100%;
			position: relative;
			display: none;
		}
		.product--container.show {
			display: block;
		}
			.product_image {
				width: 90%;
				height: 100%;
				max-width: 1500px;
				position: absolute;
				top: 0;
				left: 10%;
				background-size: cover;
				background-repeat: no-repeat;
				background-position: center;
			}
				@-webkit-keyframes Left {
				  from {
				    opacity: 0;
				    -webkit-transform: translate3d(-5px, 0, 0);
				    transform: translate3d(-5px, 0, 0);
				  }

				  to {
				    opacity: 1;
				    -webkit-transform: translate3d(0, 0, 0);
				    transform: translate3d(0, 0, 0);
				  }
				}

				@keyframes Left {
				  from {
				    opacity: 0;
				    -webkit-transform: translate3d(-5px, 0, 0);
				    transform: translate3d(-5px, 0, 0);
				  }

				  to {
				    opacity: 1;
				    -webkit-transform: translate3d(0, 0, 0);
				    transform: translate3d(0, 0, 0);
				  }
				}
			.show .product_image {
				-webkit-animation: Left 1000ms ease;
				animation: Left 1000ms ease;
			}
			.product_img01 {
				background-image: url(../image/index/product_image01.jpg);
			}
			.product_img02 {
				background-image: url(../image/index/product_image01.jpg);
			}
			.product_details {
				width: 34%;
				padding: 70px 0px 60px 40px;
				background-color: #ffffff;
				box-shadow: 0px 0px 18px rgba(0,0,0,0.16);
				border-radius: 5px;
				position: absolute;
				top: 50%;
				right: 0px;
				transform: translate(0%,-50%);
				-webkit-transform: translate(0%,-50%);
			}
				@-webkit-keyframes Right {
				  from {
				    opacity: 0;
				    -webkit-transform: translate3d(5px, -50%, 0);
				    transform: translate3d(5px, -50%, 0);
				  }

				  33% {
				    opacity: 0;
				    -webkit-transform: translate3d(5px, -50%, 0);
				    transform: translate3d(5px, -50%, 0);
				  }

				  to {
				    opacity: 1;
				    -webkit-transform: translate3d(0, -50%, 0);
				    transform: translate3d(0, -50%, 0);
				  }
				}

				@keyframes Right {
				  from {
				    opacity: 0;
				    -webkit-transform: translate3d(5px, -50%, 0);
				    transform: translate3d(5px, -50%, 0);
				  }

				  33% {
				    opacity: 0;
				    -webkit-transform: translate3d(5px, -50%, 0);
				    transform: translate3d(5px, -50%, 0);
				  }

				  to {
				    opacity: 1;
				    -webkit-transform: translate3d(0, -50%, 0);
				    transform: translate3d(0, -50%, 0);
				  }
				}
			.show .product_details {
				-webkit-animation: Right 1300ms ease;
				animation: Right 1300ms ease;
			}
				.product_details dl {
					margin-bottom: 50px;
				}
					.product_details dl dt {
						margin-bottom: 25px;
						font-size: 2rem;
						font-weight: 700;
						line-height: 1.3;
						color: #1F1D59;
					}
					.product_details dl dd {
						font-size: 1rem;
						line-height: 2.0;
					}
				.product_details a {
					display: inline-block;
					width: 170px;
					height: 46px;
					border: solid 1px #DEDEDE;
					border-radius: 23px;
					font-size: 14px;
					font-family: din-condensed, sans-serif;
					font-weight: 700;
					line-height: 46px;
					letter-spacing: 0.0em;
					text-align: center;
					color: #333333;
					position: relative;
					transition: all .2s;
					-webkit-transition: all .2s;
				}
				.product_details a:hover {
					letter-spacing: 0.1em;
				}
					.product_details .button_arrow,
					.product_details .button_arrow:after {
						background-color: #000000;
					}
			.toggle_button {
				width: 90%;
				max-width: 1150px;
				margin: auto auto;
				display: block;
			}
			.toggle_button.tablet,
			.toggle_button.sp {
				display: none;
			}
				.toggle_button--inner {
					width: 100%;
					display: flex;
					justify-content: flex-end;
					align-items: center;
				}
					.product_toggle_btn {
						display: block;
						width: auto;
						padding: 1px 2px;
						outline: none;
						border: none;
						font-size: 10px;
						font-weight: 500;
						color: #DEDEDE;
						cursor : pointer;
					}
					.toggle_button--inner .show_button {
						color: #333333;
						pointer-events: none;
						transition: all .2s;
						-webkit-transition: all .2s;
					}
					.toggle_button--inner span {
						width: 45px;
						height: 1px;
						margin: auto 50px;
						background-color: #DEDEDE;
					}

#news {
	width: 100%;
	padding: 70px 0px 90px;
	margin: auto auto;
	overflow: hidden;
	position: relative;
}
#news:after {
	content: '';
	width: 90%;
	height: 100%;
	background-color: #F4F4FA;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
	#news h2 {
		width: 100%;
		max-width: 1150px;
		margin: auto auto 50px;
	}
	.news--inner {
		width: 100%;
		margin: auto auto auto -570px;
		position: relative;
		left: 50%;
	}
		.newspage_link {
			width: 170px;
			height: 44px;
			position: absolute;
			top: -90px;
			left: 1150px;
			transform: translate(-100%,-50%);
			-webkit-transform: translate(-100%,-50%);
		}
		.newspage_link a {
			display: inline-block;
			width: 100%;
			height: 44px;
			border-radius: 22px;
			background-color: #1F1959;
			color: #ffffff;
			font-size: 14px;
			font-family: din-condensed, sans-serif;
			font-weight: 400;
			letter-spacing: 0.0em;
			text-align: center;
			line-height: 46px;
			transition: all .2s;
			-webkit-transition: all .2s;
		}
		.newspage_link a:hover {
			letter-spacing: 0.1em;
		}

		.news-carousel {
			width: 100%;
			position: relative;
		}
			.news-carousel .item {
				width: 500px;
			}
				.item--inner {
					width: 100%;
				}
					.item--image {
						width: 500px;
						height: 370px;
						margin: auto auto 20px;
					}
						.item--image img {
							width: 100%;
							height: 100%;
							object-fit: cover;
						}
					.item--details {
						width: 100%;
						color: #1F1D59;
					}
						.item--details dt {
							font-size: 10px;
							font-weight: 500;
							letter-spacing: 0.05em;
						}
						.item--details dd {
							font-size: 16px;
							font-weight: 700;
						}

#service {
	width: 100%;
	padding: 190px 0px 190px;
	margin: auto auto ;
}
	.service--inner {
		width: 100%;
		margin: auto auto auto;
		display: flex;
		justify-content: space-between;
	}
		.service--title {
			width: 40%;
			min-width: 200px;
		}
			.service--title--inner {
				width: 100%;
				position: sticky;
				top: 100px;
				left: 0;
				padding-left: 7rem;
			}
				.service--title h2 {
					width: 100%;
					margin: -22px auto 25px 0px;
				}
				.service--title p {
					width: 100%;
					max-width: 450px;
					margin: auto auto 40px 0px;
					font-size: 1rem;
					line-height: 2rem;
					letter-spacing: 0.15rem;
				}
				.service--more_btn {
					width: 100%;
				}
					.service--more_btn a {
						display: inline-block;
						width: 170px;
						height: 44px;
						border-radius: 22px;
						background-color: #1F1959;
						color: #ffffff;
						font-size: 14px;
						font-family: din-condensed, sans-serif;
						font-weight: 400;
						letter-spacing: 0.0em;
						text-align: center;
						line-height: 46px;
						transition: all .2s;
						-webkit-transition: all .2s;
						position: relative;
					}
					.service--more_btn a:hover {
						letter-spacing: 0.1em;
					}
						.tip {
							display: none;
							width: 350px;
							height: auto;
							padding: 25px;
							box-sizing: border-box;
							background: rgba(255,255,255,.9);
							border-radius: 5px;
							text-align: left;
							color: #000000;
							font-size: 12px;
							position: absolute;
							z-index: 50;
							filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.2));
							pointer-events: none;
						}
						.tip:before {
							content: "";
							position: absolute;
							top: -9px;
							left: 50%;
							margin-left: -5px;
							border: 5px solid transparent;
							border-bottom: 5px solid #ffffff;
						}
							.tip_name {
								font-size: 13px;
								font-weight: 700;
							}

		.service--list {
			width: 60%;
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
		}
			.service--item {
				width: 50%;
				margin-bottom: 55px;
			}
				.service--item a {
					color: #1F1F59;
				}
					.service--item dl {
						width: 100%;
					}
						.service--item dl dt {
							width: 100%;
							margin: auto auto 15px;
							font-size: 28px;
							font-family: din-condensed, sans-serif;
							font-weight: 400;
							letter-spacing: 0.0em;
							line-height: 1.0;
							color: #1F1F59;
						}
							.service--item dl dt small {
								font-size: 14px;
								font-family: source-han-sans-japanese, sans-serif;
								font-weight: 700;
							}
							.service--item dl dt small span {
								margin: auto 20px auto;
								font-size: 10px;
								position: relative;
								top: -2px;
							}
						.service--item dl dd {
							width: 100%;
							font-size: 14px;
						}
							.service_image {
								width: 100%;
								margin-bottom: 15px;
								overflow: hidden;
								display: flex;
								justify-content: center;
								align-items: center;
							}
							.service_image img {
								width: 100%;
								height: auto;
								-webkit-transform: scale(1);
								transform: scale(1);
								-webkit-transition: .3s ease-in-out;
								transition: .3s ease-in-out;
							}
							.service--item:hover .service_image img {
								-webkit-transform: scale(1.05);
								transform: scale(1.05);
							}

#other_links {
	width: 100%;
}
	.other--inner {
		width: 100%;
		height: 60vh;
		border-top: solid 1px #DEDEDE;
		border-bottom: solid 1px #DEDEDE;
	}
		.other--inner ul {
			width: 100%;
			height: 100%;
			padding: 0px;
			margin: 0px;
			list-style: none;
			display: flex;
			justify-content: space-between;
		}
			.other--inner ul li {
				width: 33.33333%;
				width: -webkit-calc(100% / 3);
				width: calc(100% / 3);
				height: 100%;
			}
			.other--inner ul li:nth-of-type(2) {
				border-left: solid 1px #DEDEDE;
				border-right: solid 1px #DEDEDE;
			}
				.other--inner a {
					display: block;
					width: 100%;
					height: 100%;
					background-color: #ffffff;
					color: #333333;
					position: relative;
				}
				.other--inner a:after {
					content: '';
					display: inline-block;
					width: 100%;
					height: 100%;
					background-position: center;
					background-repeat: no-repeat;
					background-size: cover;
					opacity: 0.0;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%,-50%);
					-webkit-transform: translate(-50%,-50%);
					transition: all .2s;
					-webkit-transition: all .2s;
					z-index: 1;
				}
				.greeting-btn:after {
					background-image: url(../image/index/greeting_btn-background.jpg);
				}
				.company-btn:after {
					background-image: url(../image/index/company_btn-background.jpg);
				}
				.map-btn:after {
					background-image: url(../image/index/map_btn-background.jpg);					
				}
				.other--inner a:hover:after {
					opacity: 1.0;
				}
				.other--inner a:hover h2 {
					color: #ffffff;
					letter-spacing: 0.1em;
				}
					.other--inner a h2 {
						text-align: center;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
						transition: all .2s;
						-webkit-transition: all .2s;
						z-index: 2;
					}
					.other--inner a .circle_plus {
						width: 35px;
						height: 35px;
						border: solid 1px #DEDEDE;
						border-radius: 50%;
						position: absolute;
						top: 68%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
						z-index: 2;
					}
					.other--inner a .circle_plus:before {
						content: '';
						display: inline-block;
						width: 1px;
						height: 13px;
						background-color: #DEDEDE;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
					}
					.other--inner a .circle_plus:after {
						content: '';
						display: inline-block;
						width: 13px;
						height: 1px;
						background-color: #DEDEDE;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
					}

	.other--contact {
		width: 100%;
		height: 170px;
		display: block;
	}
		.other--contact a {
			display: block;
			width: 100%;
			height: 100%;
			background-color: #FFF900;
			color: #333333;
			position: relative;
		}
		.other--contact.sp {
			display: none !important;
		}
			.other--contact a:hover h2 {
				letter-spacing: 0.1em;
			}
			.other--contact a h2 {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				font-size: 47px;
				text-align: center;
				position: absolute;
				top: 50%;
				left: 25%;
				transform: translate(-50%,-50%);
				-webkit-transform: translate(-50%,-50%);
				transition: all .2s;
				-webkit-transition: all .2s;
			}
				.other--contact a h2 span {
					margin-left: 20px;
					font-size: 15px;
					font-weight: 700;
					letter-spacing: 0.1em;
				}
			.btn--arrow {
				display: inline-block;
				width: 30px;
				height: 1px;
				background-color: #100A39;
				position: absolute;
				top: 50%;
				right: 20%;
				transform: translate(0%,-50%);
				-webkit-transform: translate(0%,-50%);
				transition: all .2s;
				-webkit-transition: all .2s;
			}
			.other--contact a:hover .btn--arrow {
				right: 19%;
			}
				.btn--arrow:after {
					content: '';
					display: inline-block;
					width: 10px;
					height: 1px;
					background-color: #100A39;
					position: absolute;
					top: -4px;
					right: -1px;
					transform: rotate(45deg);
					-webkit-transform: rotate(45deg);
				}
}

/* Tablet ================================================== */
@media all and (min-width:560px) and (max-width:959px){
#main {
	width: 100%;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	padding-top: 95px;
	position: relative;
}
	.main--copyright {
		width: auto;
		font-size: 10px;
		font-family: din-condensed, sans-serif;
		letter-spacing: 0.05em;
		position: absolute;
		left: 3px;
		top: 50%;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
	}
	.scroll {
		width: 30px;
		height: 100px;
		position: absolute;
		left: 50%;
		bottom: -20px;
		transform: translate(-50%,0%);
		-webkit-transform: translate(-50%,0%);
		z-index: 5;
	}
		.scroll p {
			width: 100%;
			font-size: 12px;
			font-family: din-condensed, sans-serif;
			letter-spacing: 0.0em;
			text-align: center;
			color: #1F1D59;
		}
		.arrowWrap {
			width: 100%;
			height: 100px;
		}
		.arrow {
			width: 1px;
			height: 100px;
			overflow: hidden;
			position: relative;
			left: 50%;
			transform: translate(-50%,0%);
			-webkit-transform: translate(-50%,0%);
		}
		.arrow::before {
			content: '';
			width: 3px;
			height: 100px;
			margin: auto auto;
			background-color: #1F1D59;
			position: absolute;
			top: -100px;
			left: 0px;
			-webkit-animation: arrow 3.2s ease 0.5s infinite normal;
			animation: arrow 3.2s ease 0.5s infinite normal;
		}
		@keyframes arrow {
			0% {
				-webkit-transform: translate3d(-50%, 0px, 0);
				transform: translate3d(-50%, 0px, 0);
			}

			10% {
				-webkit-transform: translate3d(-50%, 0px, 0);
				transform: translate3d(-50%, 0px, 0);
			}

			90% {
							-webkit-transform: translate3d(-50%, 200px, 0);
							transform: translate3d(-50%, 200px, 0);	
			}

			100% {
				-webkit-transform: translate3d(-50%, 200px, 0);
				transform: translate3d(-50%, 200px, 0);
			}
		}
		.main--image {
			width: 100%;
			height: 100%;
			margin: auto 0px auto auto;
			position: relative;
			z-index: -1;
		}
			.swiper-container {
				width: 100%;
				height: 100%;
			}
				.swiper-wrapper {
					width: 100%;
					height: 100%;
				}
					.swiper-slide {
						width: 100%;
						height: 100%;
					}
						.slide-img {
							width: 100%;
							height: 100%;
							background-position: center;
							background-repeat: no-repeat;
							background-size: cover;
						}
						.s-img01 {
							background-image: url(../image/index/main_image01.jpg);
						}
						.s-img02 {
							background-image: url(../image/index/main_image02.jpg);
						}
						.s-img03 {
							background-image: url(../image/index/main_image03.jpg);
						}
						.s-img04 {
							background-image: url(../image/index/main_image04.jpg);
						}
						@keyframes zoomUp {
							0% {
								transform: scale(1);
							}
							100% {
								transform: scale(1.1);
							}
						}
						.swiper-slide-active .slide-img,
						.swiper-slide-duplicate-active .slide-img,
						.swiper-slide-prev .slide-img{
							animation: zoomUp 10s linear 0s 1 normal both;  
						}

		.main--catch_copy {
			position: absolute;
			top: 47%;
			left: 50%;
			transform: translate(-50%,-50%);
			-webkit-transform: translate(-50%,-50%);
			opacity: 0.85;
		}
			.main--catch_copy h1 {
				font-size: 80px;
				font-family: din-condensed, sans-serif;
				line-height: 0.85;
				text-align: center;
				color: #ffffff;
			}
				.main--catch_copy h1 .h1small_text {
					font-size: 32px;
				}
		.main--news {
			display: none;
		}
						.button_arrow {
							width: 20px;
							height: 1px;
							background-color: #ffffff;
							position: absolute;
							top: 50%;
							right: 20px;
							transition: all .2s;
							-webkit-transition: all .2s;
						}
						.button_arrow:after {
							content: '';
							width: 6px;
							height: 1px;
							background-color: #ffffff;
							position: absolute;
							top: -2px;
							right: -1px;
							transform: rotate(45deg);
							-webkit-transform: rotate(45deg);
							transition: all .2s;
							-webkit-transition: all .2s;
						}

#about {
	width: 100%;
	height: 420px;
	background-color: #F4F4FA;
	position: relative;
}
	.about--textscroll {
		width: 100%;
		height: 100px;
		overflow: hidden;
		display: flex;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0%,-50%);
		-webkit-transform: translate(0%,-50%);
		z-index: 1;
	}
		.about--textscroll img {
			width: auto;
			height: 100%;
			margin-right: 100px;
		}
		.about--textscroll img:first-child {
			animation: loop 200s -100s linear infinite;
		}
		.about--textscroll img:last-child {
			animation: loop2 200s linear infinite;
		}
		@keyframes loop {
			0% {
				transform: translateX(100%);
			}
			to {
				transform: translateX(-100%);
			}
		}
		@keyframes loop2 {
			0% {
				transform: translateX(0);
			}
			to {
				transform: translateX(-200%);
			}
		}
	#about h2 {
		font-size: 24px;
		line-height: 1.0;
		color: #1F1D59;
		position: absolute;
		top: 10%;
		left: 0%;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
	}
	.about--copy {
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
		z-index: 2;
	}
	.about--copy p {
		font-size: 28px;
		text-align: center;
		font-family: serif;
	}
	.about--button {
		font-size: 24px;
		font-family: din-condensed, sans-serif;
		color: #1F1D59;
		letter-spacing: 0.0em;
		position: absolute;
		bottom: 75px;
		left: 50%;
		transform: translate(-50%,0%);
		-webkit-transform: translate(-50%,0%);
	}
	.about--button:after {
		content: '';
		display: inline-block;
		width: 100%;
		height: 1px;
		background-color: #1F1D59;
		position: absolute;
		bottom: 10px;
		left: 50%;
		transform: translate(-50%,0%);
		-webkit-transform: translate(-50%,0%);
		transition: all .2s;
		-webkit-transition: all .2s;
	}
		.about--button:hover:after {
			bottom: 7px;
		}

#product {
	width: 100%;
	padding: 20px 0px 70px;
}
	#product h2 {
		width: 90%;
		margin: auto auto 25px;
	}
	.product--inner {
		width: 90%;
		height: 580px;
		margin: auto auto;
	}
		.product--container {
			width: 75%;
			margin: auto auto;
			position: relative;
			display: none;
		}
		.product--container.show {
			display: block;
		}
			.product_image {
				width: 100%;
				height: 300px;
				margin-bottom: 25px;
				background-size: cover;
				background-repeat: no-repeat;
				background-position: center;
			}
				@-webkit-keyframes Right {
				  from {
				    opacity: 0;
				    -webkit-transform: translate3d(5px, 0, 0);
				    transform: translate3d(5px, 0, 0);
				  }

				  to {
				    opacity: 1;
				    -webkit-transform: translate3d(0, 0, 0);
				    transform: translate3d(0, 0, 0);
				  }
				}

				@keyframes Right {
				  from {
				    opacity: 0;
				    -webkit-transform: translate3d(5px, 0, 0);
				    transform: translate3d(5px, 0, 0);
				  }

				  to {
				    opacity: 1;
				    -webkit-transform: translate3d(0, 0, 0);
				    transform: translate3d(0, 0, 0);
				  }
				}
			.show .product_image {
				-webkit-animation: Right 1000ms ease;
				animation: Right 1000ms ease;
			}
			.product_img01 {
				background-image: url(../image/index/product_image01.jpg);
			}
			.product_img02 {
				background-image: url(../image/index/product_image01.jpg);
			}
			.product_details {
				width: 100%;
				background-color: #ffffff;
			}
			.show .product_details {
				-webkit-animation: Right 1000ms ease;
				animation: Right 1000ms ease;
				text-align: center;
			}
				.product_details dl {
					margin-bottom: 20px;
					text-align: left;
				}
					.product_details dl dt {
						margin-bottom: 15px;
						font-size: 20px;
						font-weight: 700;
						line-height: 1.3;
						color: #1F1D59;
					}
					.product_details dl dd {
						font-size: 14px;
						line-height: 2.0;
					}
				.product_details a {
					display: inline-block;
					width: 300px;
					height: 56px;
					border: solid 1px #DEDEDE;
					border-radius: 28px;
					font-size: 12px;
					font-family: din-condensed, sans-serif;
					font-weight: 700;
					line-height: 56px;
					letter-spacing: 0.0em;
					text-align: center;
					color: #333333;
					position: relative;
				}
					.product_details .button_arrow,
					.product_details .button_arrow:after {
						background-color: #000000;
					}
			.toggle_button.tablet {
				display: block;
				width: 90%;
				margin: auto auto;
				position: relative;
			}
				.toggle_button--inner {
					width: 90px;
					display: flex;
					justify-content: space-between;
					align-items: center;
					position: absolute;
					bottom: 25px;
					right: 0;
				}
					.product_toggle_btn {
						display: block;
						width: 41px;
						height: 41px;
						padding: 0px;
						border-radius: 50%;
						background-color: rgba(0,0,0,0);
						outline: none;
						border: solid 1px #CCCCCC;
						cursor : pointer;
						position: relative;
					}
					.toggle_button--inner .show_button {
						color: #333333;
						border: solid 1px #1F1B59;
						pointer-events: none;
						transition: all .2s;
						-webkit-transition: all .2s;
					}
					.toggle_button--inner .show_button .product_btn01_arrow,
					.toggle_button--inner .show_button .product_btn02_arrow,
					.toggle_button--inner .show_button .product_btn01_arrow:after,
					.toggle_button--inner .show_button　.product_btn02_arrow:after {
						background-color: #000000;
					}
					.product_btn01_arrow,
					.product_btn02_arrow {
						display: inline-block;
						width: 19px;
						height: 1px;
						border-radius: 0.5px;
						background-color: #CCCCCC;
						position: absolute;
						top: 53%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
					}
					.product_btn01_arrow:after {
						content: '';
						width: 6px;
						height: 1px;
						border-radius: 0.5px;
						background-color: #CCCCCC;
						position: absolute;
						bottom: 2px;
						left: -1px;
						transform: rotate(-45deg);
						-webkit-transform: rotate(-45deg);
					}
					.product_btn02_arrow:after {
						content: '';
						width: 6px;
						height: 1px;
						border-radius: 0.5px;
						background-color: #CCCCCC;
						position: absolute;
						bottom: 2px;
						right: -1px;
						transform: rotate(45deg);
						-webkit-transform: rotate(45deg);
					}

#news {
	width: 100%;
	padding: 40px 0px 55px;
	margin: auto auto;
	overflow: hidden;
	position: relative;
}
#news:after {
	content: '';
	width: 80%;
	height: 100%;
	background-color: #F4F4FA;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
	#news h2 {
		width: 90%;
		margin: auto auto 35px;
	}
	.news--inner {
		width: 90%;
		margin: auto auto auto;
	}
		.newspage_link {
			width: 100%;
			text-align: center;
		}
		.newspage_link a {
			display: inline-block;
			width: 300px;
			height: 56px;
			border-radius: 28px;
			background-color: #1F1959;
			color: #ffffff;
			font-size: 14px;
			font-family: din-condensed, sans-serif;
			font-weight: 400;
			letter-spacing: 0.0em;
			text-align: center;
			line-height: 56px;
			transition: all .2s;
			-webkit-transition: all .2s;
		}
		.news-carousel {
			width: 100%;
			position: relative;
		}
			.news-carousel .item {
				width: 320px;
			}
				.item--inner {
					width: 100%;
				}
					.item--image {
						width: 320px;
						height: 222px;
						margin: auto auto 20px;
					}
						.item--image img {
							width: 100%;
							height: 100%;
							object-fit: cover;
						}
					.item--details {
						width: 100%;
						color: #1F1D59;
					}
						.item--details dt {
							font-size: 14px;
							font-weight: 500;
							letter-spacing: 0.05em;
						}
						.item--details dd {
							font-size: 16px;
							font-weight: 300;
						}

#service {
	width: 100%;
	padding: 60px 0px 190px;
	margin: auto auto ;
}
	.service--inner {
		width: 90%;
		margin: auto auto auto;
	}
		.service--title {
			width: 100%;
		}
			.service--title--inner {
				width: 100%;
			}
				.service--title h2 {
					width: 100%;
					margin: auto auto 20px;
				}
				.service--title p {
					width: 100%;
					margin: auto auto 25px;
					font-size: 14px;
				}

		.service--list {
			width: 100%;
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
		}
			.service--item {
				width: 48%;
				margin-bottom: 35px;
			}
				.service--item a {
					color: #1F1F59;
				}
					.service--item dl {
						width: 100%;
					}
						.service--item dl dt {
							width: 100%;
							margin: auto auto 10px;
							font-size: 24px;
							font-family: din-condensed, sans-serif;
							font-weight: 400;
							letter-spacing: 0.0em;
							line-height: 1.0;
							color: #1F1F59;
						}
							.service--item dl dt small {
								font-size: 16px;
								font-family: source-han-sans-japanese, sans-serif;
								font-weight: 700;
							}
							.service--item dl dt small span {
								margin: auto 10px auto;
								font-size: 10px;
								position: relative;
								top: -2px;
							}
						.service--item dl dd {
							width: 100%;
							font-size: 14px;
						}
							.service_image {
								width: 100%;
								margin-bottom: 15px;
								overflow: hidden;
								display: flex;
								justify-content: center;
								align-items: center;
							}
							.service_image img {
								width: 100%;
								height: auto;
								-webkit-transform: scale(1);
								transform: scale(1);
								-webkit-transition: .3s ease-in-out;
								transition: .3s ease-in-out;
							}
						.tip {
							display: none;
						}

			.service--more_btn {
				width: 100%;
				text-align: center;
			}
				.service--more_btn a {
					display: inline-block;
					width: 300px;
					height: 56px;
					border-radius: 28px;
					background-color: #1F1959;
					color: #ffffff;
					font-size: 14px;
					font-family: din-condensed, sans-serif;
					font-weight: 400;
					letter-spacing: 0.0em;
					text-align: center;
					line-height: 56px;
					transition: all .2s;
					-webkit-transition: all .2s;
				}

#other_links {
	width: 100%;
}
	.other--inner {
		width: 100%;
		border-top: solid 1px #DEDEDE;
		border-bottom: solid 1px #DEDEDE;
	}
		.other--inner ul {
			width: 100%;
			height: 100%;
			padding: 0px;
			margin: 0px;
			list-style: none;
			display: flex;
			justify-content: space-between;
		}
			.other--inner ul li {
				width: 100%;
				height: 250px;
			}
			.other--inner ul li:nth-of-type(2) {
				border-left: solid 1px #DEDEDE;
				border-right: solid 1px #DEDEDE;
			}
				.other--inner a {
					display: block;
					width: 100%;
					height: 100%;
					background-color: #ffffff;
					color: #333333;
					position: relative;
				}
				.other--inner a:after {
					content: '';
					display: inline-block;
					width: 100%;
					height: 100%;
					background-position: center;
					background-repeat: no-repeat;
					background-size: cover;
					opacity: 1.0;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%,-50%);
					-webkit-transform: translate(-50%,-50%);
					transition: all .2s;
					-webkit-transition: all .2s;
					z-index: 1;
				}
				.greeting-btn:after {
					background-image: url(../image/index/greeting_btn-background.jpg);
				}
				.company-btn:after {
					background-image: url(../image/index/company_btn-background.jpg);
				}
				.map-btn:after {
					background-image: url(../image/index/map_btn-background.jpg);					
				}
					.other--inner a h2 {
						color: #ffffff;
						line-height: 1.4;
						text-align: center;
						position: absolute;
						top: 33%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
						transition: all .2s;
						-webkit-transition: all .2s;
						z-index: 2;
					}
					.other--inner a .circle_plus {
						width: 43px;
						height: 43px;
						border: solid 1px #DEDEDE;
						border-radius: 50%;
						position: absolute;
						top: 68%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
						z-index: 2;
					}
					.other--inner a .circle_plus:before {
						content: '';
						display: inline-block;
						width: 1px;
						height: 16px;
						background-color: #DEDEDE;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
					}
					.other--inner a .circle_plus:after {
						content: '';
						display: inline-block;
						width: 16px;
						height: 1px;
						background-color: #DEDEDE;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
					}

	.other--contact {
		width: 100%;
		height: 100px;
		vertical-align: bottom;
	}
		.other--contact a {
			display: block;
			width: 100%;
			height: 100%;
			background-color: #FFF900;
			color: #333333;
			position: relative;
		}
			.other--contact a h2 {
				width: 100%;
				font-size: 32px;
				text-align: center;
				display: flex;
				justify-content: center;
				align-items: center;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%,-50%);
				-webkit-transform: translate(-50%,-50%);
			}
				.other--contact a h2 span {
					margin-left: 20px;
					font-size: 16px;
					font-weight: 700;
					letter-spacing: 0.1em;
				}
			.btn--arrow {
				display: none;
			}
}

/* SP ================================================== */
@media all and (max-width:559px){
#main {
	width: 100%;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	padding-top: 70px;
	position: relative;
}
	.main--copyright {
		width: auto;
		font-size: 10px;
		font-family: din-condensed, sans-serif;
		letter-spacing: 0.05em;
		position: absolute;
		left: 3px;
		top: 50%;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
	}
	.scroll {
		width: 30px;
		height: 100px;
		position: absolute;
		left: 50%;
		bottom: -20px;
		transform: translate(-50%,0%);
		-webkit-transform: translate(-50%,0%);
		z-index: 5;
	}
		.scroll p {
			width: 100%;
			font-size: 12px;
			font-family: din-condensed, sans-serif;
			letter-spacing: 0.0em;
			text-align: center;
			color: #1F1D59;
		}
		.arrowWrap {
			width: 100%;
			height: 100px;
		}
		.arrow {
			width: 1px;
			height: 100px;
			overflow: hidden;
			position: relative;
			left: 50%;
			transform: translate(-50%,0%);
			-webkit-transform: translate(-50%,0%);
		}
		.arrow::before {
			content: '';
			width: 3px;
			height: 100px;
			margin: auto auto;
			background-color: #1F1D59;
			position: absolute;
			top: -100px;
			left: 0px;
			-webkit-animation: arrow 3.2s ease 0.5s infinite normal;
			animation: arrow 3.2s ease 0.5s infinite normal;
		}
		@keyframes arrow {
			0% {
				-webkit-transform: translate3d(-50%, 0px, 0);
				transform: translate3d(-50%, 0px, 0);
			}

			10% {
				-webkit-transform: translate3d(-50%, 0px, 0);
				transform: translate3d(-50%, 0px, 0);
			}

			90% {
							-webkit-transform: translate3d(-50%, 200px, 0);
							transform: translate3d(-50%, 200px, 0);	
			}

			100% {
				-webkit-transform: translate3d(-50%, 200px, 0);
				transform: translate3d(-50%, 200px, 0);
			}
		}
		.main--image {
			width: 100%;
			height: 100%;
			margin: auto 0px auto auto;
			position: relative;
			z-index: -1;
		}
			.swiper-container {
				width: 100%;
				height: 100%;
			}
				.swiper-wrapper {
					width: 100%;
					height: 100%;
				}
					.swiper-slide {
						width: 100%;
						height: 100%;
					}
						.slide-img {
							width: 100%;
							height: 100%;
							background-position: center;
							background-repeat: no-repeat;
							background-size: cover;
						}
						.s-img01 {
							background-image: url(../image/index/main_image01.jpg);
						}
						.s-img02 {
							background-image: url(../image/index/main_image02.jpg);
						}
						.s-img03 {
							background-image: url(../image/index/main_image03.jpg);
						}
						.s-img04 {
							background-image: url(../image/index/main_image04.jpg);
						}
						@keyframes zoomUp {
							0% {
								transform: scale(1);
							}
							100% {
								transform: scale(1.15);
							}
						}
						.swiper-slide-active .slide-img,
						.swiper-slide-duplicate-active .slide-img,
						.swiper-slide-prev .slide-img{
							animation: zoomUp 10s linear 0s 1 normal both;  
						}

		.main--catch_copy {
			position: absolute;
			top: 47%;
			left: 50%;
			transform: translate(-50%,-50%);
			-webkit-transform: translate(-50%,-50%);
			opacity: 0.85;
		}
			.main--catch_copy h1 {
				font-size: 80px;
				font-family: din-condensed, sans-serif;
				line-height: 0.85;
				text-align: center;
				color: #ffffff;
			}
				.main--catch_copy h1 .h1small_text {
					font-size: 32px;
				}
		.main--news {
			display: none;
		}
						.button_arrow {
							width: 20px;
							height: 1px;
							background-color: #ffffff;
							position: absolute;
							top: 50%;
							right: 20px;
							transition: all .2s;
							-webkit-transition: all .2s;
						}
						.button_arrow:after {
							content: '';
							width: 6px;
							height: 1px;
							background-color: #ffffff;
							position: absolute;
							top: -2px;
							right: -1px;
							transform: rotate(45deg);
							-webkit-transform: rotate(45deg);
							transition: all .2s;
							-webkit-transition: all .2s;
						}

#about {
	width: 100%;
	height: 420px;
	background-color: #F4F4FA;
	position: relative;
}
	.about--textscroll {
		width: 100%;
		height: 80px;
		overflow: hidden;
		display: flex;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0%,-50%);
		-webkit-transform: translate(0%,-50%);
		z-index: 1;
	}
		.about--textscroll img {
			width: auto;
			height: 100%;
			margin-right: 100px;
		}
		.about--textscroll img:first-child {
			animation: loop 200s -100s linear infinite;
		}
		.about--textscroll img:last-child {
			animation: loop2 200s linear infinite;
		}
		@keyframes loop {
			0% {
				transform: translateX(100%);
			}
			to {
				transform: translateX(-100%);
			}
		}
		@keyframes loop2 {
			0% {
				transform: translateX(0);
			}
			to {
				transform: translateX(-200%);
			}
		}
	#about h2 {
		font-size: 24px;
		line-height: 1.0;
		color: #1F1D59;
		position: absolute;
		top: 10%;
		left: 0%;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
	}
	.about--copy {
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
		z-index: 2;
	}
	.about--copy p {
		font-size: 28px;
		text-align: center;
		font-family: serif;
	}
	.about--button {
		font-size: 24px;
		font-family: din-condensed, sans-serif;
		color: #1F1D59;
		letter-spacing: 0.0em;
		position: absolute;
		bottom: 75px;
		left: 50%;
		transform: translate(-50%,0%);
		-webkit-transform: translate(-50%,0%);
	}
	.about--button:after {
		content: '';
		display: inline-block;
		width: 100%;
		height: 1px;
		background-color: #1F1D59;
		position: absolute;
		bottom: 10px;
		left: 50%;
		transform: translate(-50%,0%);
		-webkit-transform: translate(-50%,0%);
		transition: all .2s;
		-webkit-transition: all .2s;
	}
		.about--button:hover:after {
			bottom: 7px;
		}

#product {
	width: 100%;
	padding: 20px 0px 70px;
}
	#product h2 {
		width: 90%;
		margin: auto auto 25px;
	}
	.product--inner {
		width: 90%;
		height: 490px;
		margin: auto auto;
	}
		.product--container {
			width: 100%;
			position: relative;
			display: none;
		}
		.product--container.show {
			display: block;
		}
			.product_image {
				width: 100%;
				height: 210px;
				margin-bottom: 25px;
				background-size: cover;
				background-repeat: no-repeat;
				background-position: center;
			}
				@-webkit-keyframes Right {
				  from {
				    opacity: 0;
				    -webkit-transform: translate3d(5px, 0, 0);
				    transform: translate3d(5px, 0, 0);
				  }

				  to {
				    opacity: 1;
				    -webkit-transform: translate3d(0, 0, 0);
				    transform: translate3d(0, 0, 0);
				  }
				}

				@keyframes Right {
				  from {
				    opacity: 0;
				    -webkit-transform: translate3d(5px, 0, 0);
				    transform: translate3d(5px, 0, 0);
				  }

				  to {
				    opacity: 1;
				    -webkit-transform: translate3d(0, 0, 0);
				    transform: translate3d(0, 0, 0);
				  }
				}
			.show .product_image {
				-webkit-animation: Right 1000ms ease;
				animation: Right 1000ms ease;
			}
			.product_img01 {
				background-image: url(../image/index/product_image01.jpg);
			}
			.product_img02 {
				background-image: url(../image/index/product_image01.jpg);
			}
			.product_details {
				width: 100%;
				background-color: #ffffff;
			}
			.show .product_details {
				-webkit-animation: Right 1000ms ease;
				animation: Right 1000ms ease;
			}
				.product_details dl {
					margin-bottom: 20px;
				}
					.product_details dl dt {
						margin-bottom: 15px;
						font-size: 20px;
						font-weight: 700;
						line-height: 1.3;
						color: #1F1D59;
					}
					.product_details dl dd {
						font-size: 14px;
						line-height: 2.0;
					}
				.product_details a {
					display: inline-block;
					width: 100%;
					height: 56px;
					border: solid 1px #DEDEDE;
					border-radius: 28px;
					font-size: 12px;
					font-family: din-condensed, sans-serif;
					font-weight: 700;
					line-height: 56px;
					letter-spacing: 0.0em;
					text-align: center;
					color: #333333;
					position: relative;
				}
					.product_details .button_arrow,
					.product_details .button_arrow:after {
						background-color: #000000;
					}
			.toggle_button.sp {
				display: block;
				width: 90%;
				margin: auto auto;
				position: relative;
			}
				.toggle_button--inner {
					width: 90px;
					display: flex;
					justify-content: space-between;
					align-items: center;
					position: absolute;
					bottom: 25px;
					right: 0;
				}
					.product_toggle_btn {
						display: block;
						width: 41px;
						height: 41px;
						padding: 0px;
						border-radius: 50%;
						background-color: rgba(0,0,0,0);
						outline: none;
						border: solid 1px #CCCCCC;
						cursor : pointer;
						position: relative;
					}
					.toggle_button--inner .show_button {
						color: #333333;
						border: solid 1px #1F1B59;
						pointer-events: none;
						transition: all .2s;
						-webkit-transition: all .2s;
					}
					.toggle_button--inner .show_button .product_btn01_arrow,
					.toggle_button--inner .show_button .product_btn02_arrow,
					.toggle_button--inner .show_button .product_btn01_arrow:after,
					.toggle_button--inner .show_button　.product_btn02_arrow:after {
						background-color: #000000;
					}
					.product_btn01_arrow,
					.product_btn02_arrow {
						display: inline-block;
						width: 19px;
						height: 1px;
						border-radius: 0.5px;
						background-color: #CCCCCC;
						position: absolute;
						top: 53%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
					}
					.product_btn01_arrow:after {
						content: '';
						width: 6px;
						height: 1px;
						border-radius: 0.5px;
						background-color: #CCCCCC;
						position: absolute;
						bottom: 2px;
						left: -1px;
						transform: rotate(-45deg);
						-webkit-transform: rotate(-45deg);
					}
					.product_btn02_arrow:after {
						content: '';
						width: 6px;
						height: 1px;
						border-radius: 0.5px;
						background-color: #CCCCCC;
						position: absolute;
						bottom: 2px;
						right: -1px;
						transform: rotate(45deg);
						-webkit-transform: rotate(45deg);
					}

#news {
	width: 100%;
	padding: 40px 0px 55px;
	margin: auto auto;
	overflow: hidden;
	position: relative;
}
#news:after {
	content: '';
	width: 80%;
	height: 100%;
	background-color: #F4F4FA;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
	#news h2 {
		width: 90%;
		margin: auto auto 35px;
	}
	.news--inner {
		width: 90%;
		margin: auto auto auto;
	}
		.newspage_link {
			width: 100%;
		}
		.newspage_link a {
			display: inline-block;
			width: 100%;
			height: 56px;
			border-radius: 28px;
			background-color: #1F1959;
			color: #ffffff;
			font-size: 14px;
			font-family: din-condensed, sans-serif;
			font-weight: 400;
			letter-spacing: 0.0em;
			text-align: center;
			line-height: 56px;
			transition: all .2s;
			-webkit-transition: all .2s;
		}
		.news-carousel {
			width: 100%;
			position: relative;
		}
			.news-carousel .item {
				width: 100%;
			}
				.item--inner {
					width: 100%;
				}
					.item--image {
						width: 396px;
						height: 274px;
						margin: auto auto 20px;
					}
						.item--image img {
							width: 100%;
							height: 100%;
							object-fit: cover;
						}
					.item--details {
						width: 100%;
						color: #1F1D59;
					}
						.item--details dt {
							font-size: 14px;
							font-weight: 500;
							letter-spacing: 0.05em;
						}
						.item--details dd {
							font-size: 16px;
							font-weight: 300;
						}

#service {
	width: 100%;
	padding: 60px 0px 190px;
	margin: auto auto ;
}
	.service--inner {
		width: 90%;
		margin: auto auto auto;
	}
		.service--title {
			width: 100%;
		}
			.service--title--inner {
				width: 100%;
			}
				.service--title h2 {
					width: 100%;
					margin: auto auto 20px;
				}
				.service--title p {
					width: 100%;
					margin: auto auto 25px;
					font-size: 14px;
				}

		.service--list {
			width: 100%;
		}
			.service--item {
				width: 100%;
				margin-bottom: 35px;
			}
				.service--item a {
					color: #1F1F59;
				}
					.service--item dl {
						width: 100%;
					}
						.service--item dl dt {
							width: 100%;
							margin: auto auto 15px;
							font-size: 24px;
							font-family: din-condensed, sans-serif;
							font-weight: 400;
							letter-spacing: 0.0em;
							line-height: 1.0;
							color: #1F1F59;
						}
							.service--item dl dt small {
								font-size: 16px;
								font-family: source-han-sans-japanese, sans-serif;
								font-weight: 700;
							}
							.service--item dl dt small span {
								margin: auto 20px auto;
								font-size: 10px;
								position: relative;
								top: -2px;
							}
						.service--item dl dd {
							width: 100%;
							font-size: 14px;
						}
							.service_image {
								width: 100%;
								margin-bottom: 15px;
								overflow: hidden;
								display: flex;
								justify-content: center;
								align-items: center;
							}
							.service_image img {
								width: 100%;
								height: auto;
								-webkit-transform: scale(1);
								transform: scale(1);
								-webkit-transition: .3s ease-in-out;
								transition: .3s ease-in-out;
							}
						.tip {
							display: none;
						}

			.service--more_btn {
				width: 100%;
			}
				.service--more_btn a {
					display: inline-block;
					width: 100%;
					height: 56px;
					border-radius: 28px;
					background-color: #1F1959;
					color: #ffffff;
					font-size: 14px;
					font-family: din-condensed, sans-serif;
					font-weight: 400;
					letter-spacing: 0.0em;
					text-align: center;
					line-height: 56px;
					transition: all .2s;
					-webkit-transition: all .2s;
				}

#other_links {
	width: 100%;
}
	.other--inner {
		width: 100%;
		border-top: solid 1px #DEDEDE;
		border-bottom: solid 1px #DEDEDE;
	}
		.other--inner ul {
			width: 100%;
			height: 100%;
			padding: 0px;
			margin: 0px;
			list-style: none;
			display: flex;
			flex-direction: column;
		}
			.other--inner ul li {
				width: 100%;
				height: 250px;
			}
			.other--inner ul li:nth-of-type(2) {
				border-top: solid 1px #DEDEDE;
				border-bottom: solid 1px #DEDEDE;
			}
				.other--inner a {
					display: block;
					width: 100%;
					height: 100%;
					background-color: #ffffff;
					color: #333333;
					position: relative;
				}
				.other--inner a:after {
					content: '';
					display: inline-block;
					width: 100%;
					height: 100%;
					background-position: center;
					background-repeat: no-repeat;
					background-size: cover;
					opacity: 1.0;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%,-50%);
					-webkit-transform: translate(-50%,-50%);
					transition: all .2s;
					-webkit-transition: all .2s;
					z-index: 1;
				}
				.greeting-btn:after {
					background-image: url(../image/index/greeting_btn-background.jpg);
				}
				.company-btn:after {
					background-image: url(../image/index/company_btn-background.jpg);
				}
				.map-btn:after {
					background-image: url(../image/index/map_btn-background.jpg);					
				}
					.other--inner a h2 {
						color: #ffffff;
						line-height: 1.4;
						text-align: center;
						position: absolute;
						top: 33%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
						transition: all .2s;
						-webkit-transition: all .2s;
						z-index: 2;
					}
					.other--inner a .circle_plus {
						width: 43px;
						height: 43px;
						border: solid 1px #DEDEDE;
						border-radius: 50%;
						position: absolute;
						top: 68%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
						z-index: 2;
					}
					.other--inner a .circle_plus:before {
						content: '';
						display: inline-block;
						width: 1px;
						height: 16px;
						background-color: #DEDEDE;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
					}
					.other--inner a .circle_plus:after {
						content: '';
						display: inline-block;
						width: 16px;
						height: 1px;
						background-color: #DEDEDE;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%,-50%);
						-webkit-transform: translate(-50%,-50%);
					}

	.other--contact {
		width: 100%;
		height: 100px;
		vertical-align: bottom;
	}
		.other--contact a {
			display: block;
			width: 100%;
			height: 100%;
			background-color: #FFF900;
			color: #333333;
			position: relative;
		}
			.other--contact a h2 {
				width: 100%;
				font-size: 32px;
				text-align: center;
				display: flex;
				justify-content: center;
				align-items: center;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%,-50%);
				-webkit-transform: translate(-50%,-50%);
			}
				.other--contact a h2 span {
					margin-left: 20px;
					font-size: 16px;
					font-weight: 700;
					letter-spacing: 0.1em;
				}
			.btn--arrow {
				display: none;
			}
}