@charset "UTF-8";
/*
	* Bootstrap 単独ページに掛かる関するカスタムCSS

	@media screen and (max-width: 1349.98px) {}
	@media (max-width: 991.98px) {}
	@media print {}
	@media screen and (max-width: 767px) {}
 
	xxl-1350(min-1350)
	xl-1350(max-1349) 左右余白15pxを含む（1320）
	lg-992(max-991)
	md-768(max-767)
	sm-576(max-575)
 
	-------------------

*/

/* ================================================================
メインビジュアル・斜めループスライダー
================================================================ */
	.cus-home-mv{
		position: relative;
		padding-top: 200px;
	}
	.cus-home-mv .mv-text{
		position: absolute;
		top: 160px;
		left: 4%;
		letter-spacing: 0.08em;
		z-index: 3;
	}
	.cus-home-mv .mv-text .main{
		margin-bottom: 20px;
		font-size: 68px;
		font-weight: 700;
		line-height: 1.2;
	}
	.cus-home-mv .mv-text .sub{
		font-family: "Zalando Sans Expanded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		font-style: normal;
		font-size: 20px;
		color: #ff0000;
	}

	.mv-slider.c-swiper-loop{
		overflow: hidden;
		position: relative;
		width: 100%;
		height: 980px;
	}

	.mv-slider.c-swiper-loop .slide{
		position: absolute;
		top: 50%;
		left: -15%;
		width: 130%;
		transform: translateY(-50%) skewY(-8deg);
		transform-origin: center center;
	}

	.mv-slider.c-swiper-loop .swiper{
		overflow: visible;
		width: 100%;
	}

	.mv-slider.c-swiper-loop .swiper-wrapper{
		align-items: stretch;
		transition-timing-function: linear !important;
		will-change: transform;
	}

	.mv-slider.c-swiper-loop .swiper-slide{/* 画像横幅 */
		flex-shrink: 0;
		width: 490px;
		height: 620px;
	}

	.mv-slider.c-swiper-loop .media{
		overflow: hidden;
		width: 100%;
		height: 100%;
		background-color: transparent;
	}

	.mv-slider.c-swiper-loop .media img{
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transform: skewY(8deg) scale(1.32);
		transform-origin: center center;
		will-change: transform;
	}

	@media screen and (max-width: 1349.98px){
		.cus-home-mv{
			padding-top: 180px;
		}
		.cus-home-mv .mv-text{
			top: 130px;
		}
		.cus-home-mv .mv-text .main{
			font-size: 54px;/*68*80*/
		}
		.cus-home-mv .mv-text .sub{
			font-size: 19px;
		}

		.mv-slider.c-swiper-loop{
			height: 880px;
		}

		.mv-slider.c-swiper-loop .slide{
			left: -20%;
			width: 140%;
		}

		.mv-slider.c-swiper-loop .swiper-slide{
			width: 380px;
			height: 550px;
		}

		.mv-slider.c-swiper-loop .media img{
			transform: skewY(8deg) scale(1.34);
		}
	}
	@media screen and (max-width: 991.98px){
		.cus-home-mv{
			padding-top: 160px;
		}
		.cus-home-mv .mv-text{
			top: 100px;
		}
		.cus-home-mv .mv-text .main{
			font-size: 41px;/*68*60*/
		}
		.cus-home-mv .mv-text .sub{
			font-size: 18px;
		}
	
		.mv-slider.c-swiper-loop{
			height: 760px;
		}

		.mv-slider.c-swiper-loop .slide{
			left: -30%;
			width: 160%;
			transform: translateY(-50%) skewY(-8deg);
		}

		.mv-slider.c-swiper-loop .swiper-slide{
			width: 320px;
			height: 470px;
		}

		.mv-slider.c-swiper-loop .media img{
			transform: skewY(8deg) scale(1.36);
		}
	}
	@media print {
		.cus-home-mv{
			overflow: visible !important;
			position: relative !important;
			display: block !important;
			background: none !important;
			padding: 0 !important;
			margin: 0 0 20px 0 !important;
			width: 100% !important;
			height: auto !important;
			min-height: 0 !important;
			max-height: none !important;
			transform: none !important;
			page-break-inside: avoid !important;
			break-inside: avoid !important;
		}

		.cus-home-mv::before,
		.cus-home-mv::after{
			display: none !important;
			content: none !important;
		}

		.cus-home-mv .mv-text{
			position: relative !important;
			top: auto !important;
			right: auto !important;
			bottom: auto !important;
			left: auto !important;
			display: block !important;
			padding: 0 !important;
			margin: 0 0 12px 0 !important;
			width: 100% !important;
			height: auto !important;
			color: #222222 !important;
			text-align: left !important;
			transform: none !important;
			z-index: auto !important;
		}

		.cus-home-mv .mv-text .main{
			margin: 0 0 5px 0 !important;
			font-size: 26px !important;
			font-weight: 700 !important;
			color: #222222 !important;
			letter-spacing: 0.08em !important;
			line-height: 1.45 !important;
		}

		.cus-home-mv .mv-text .sub{
			margin: 0 !important;
			font-size: 10px !important;
			color: #555555 !important;
			letter-spacing: 0.04em !important;
			line-height: 1.4 !important;
		}

		.cus-home-mv .mv-text .letter{
			display: inline !important;
			opacity: 1 !important;
			transform: none !important;
			transition: none !important;
		}

		.cus-home-mv .mv-slider,
		.cus-home-mv .c-swiper-loop,
		.cus-home-mv .slide,
		.cus-home-mv .swiper{
			overflow: visible !important;
			position: relative !important;
			display: block !important;
			padding: 0 !important;
			margin: 0 !important;
			width: 100% !important;
			height: auto !important;
			min-height: 0 !important;
			max-height: none !important;
			transform: none !important;
		}

		.cus-home-mv .swiper-wrapper{
			position: relative !important;
			display: grid !important;
			grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
			gap: 4px !important;
			box-sizing: border-box !important;
			padding: 0 !important;
			margin: 0 !important;
			width: 100% !important;
			height: auto !important;
			transform: none !important;
			transition: none !important;
		}

		.cus-home-mv .swiper-slide{
			position: relative !important;
			display: none !important;
			flex: none !important;
			box-sizing: border-box !important;
			padding: 0 !important;
			margin: 0 !important;
			width: auto !important;
			height: 200px !important;
			transform: none !important;
		}

		.cus-home-mv .swiper-slide:nth-child(1),
		.cus-home-mv .swiper-slide:nth-child(2),
		.cus-home-mv .swiper-slide:nth-child(3),
		.cus-home-mv .swiper-slide:nth-child(4){
			display: block !important;
		}

		.cus-home-mv .swiper-slide-duplicate{
			display: none !important;
		}
		.cus-home-mv .swiper-slide .media{
			overflow: hidden !important;
			position: relative !important;
			display: block !important;
			padding: 0 !important;
			margin: 0 !important;
			width: 100% !important;
			height: 200px !important;
			transform: none !important;
		}
		.cus-home-mv .swiper-slide .media img{
			display: block !important;
			margin: 0 !important;
			width: 100% !important;
			height: 100% !important;
			object-fit: cover !important;
			object-position: center !important;
			transform: none !important;
			opacity: 1 !important;
			filter: none !important;
		}
		.cus-home-mv .swiper-button-prev,
		.cus-home-mv .swiper-button-next,
		.cus-home-mv .swiper-pagination,
		.cus-home-mv .swiper-scrollbar{
			display: none !important;
		}

		.home-area01-col01{
			margin-top: 0 !important;
		}
	}
	@media screen and (max-width: 767px){
		.cus-home-mv{
			padding-top: 120px;
		}

		.cus-home-mv .mv-text{
			top: 80px;
		}

		.cus-home-mv .mv-text .main{
			font-size: 27px;/*68*40*/
		}

		.cus-home-mv .mv-text .sub{
			padding-right: 2%;
			font-size: 15px;
		}

		/*
			斜めにしたスライダーの上下が
			外側で切れないように余裕を持たせる
		*/
		.mv-slider.c-swiper-loop{
			overflow: hidden;
			height: 660px;
		}

		/*
			元の左斜め下へ流れる動きを維持
		*/
		.mv-slider.c-swiper-loop .slide{
			top: 50%;
			left: -55%;
			width: 210%;
			transform: translateY(-50%) skewY(-8deg);
			-webkit-transform: translateY(-50%) skewY(-8deg);
			transform-origin: center center;
			-webkit-transform-origin: center center;
		}

		.mv-slider.c-swiper-loop .swiper{
			overflow: visible;
		}

		/*
			スライド自体にはclip-pathやtransformを付けない
			Swiper側の描画と干渉させない
		*/
		.mv-slider.c-swiper-loop .swiper-slide{
			overflow: visible;
			position: relative;
			flex-shrink: 0;
			width: 210px;
			height: 370px;
			transform: none;
			-webkit-transform: none;
			backface-visibility: hidden;
			-webkit-backface-visibility: hidden;
		}

		/*
			実際の切り抜きはmediaで行う
			mask-imageによってiPhone Safariの
			overflowクリッピングを安定させる
		*/
		.mv-slider.c-swiper-loop .media{
			overflow: hidden;
			position: relative;
			width: 100%;
			height: 100%;
			border-radius: 0.1px;
			-webkit-mask-image: linear-gradient(
				#000000,
				#000000
			);
			mask-image: linear-gradient(
				#000000,
				#000000
			);
			-webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
			-webkit-mask-size: 100% 100%;
			mask-size: 100% 100%;
			transform: translateZ(0);
			-webkit-transform: translateZ(0);
			backface-visibility: hidden;
			-webkit-backface-visibility: hidden;
			isolation: isolate;
		}

		/*
			親のskewを画像側で打ち消す
			元の写真の形を保ったまま表示
		*/
		.mv-slider.c-swiper-loop .media img{
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center center;
			transform: skewY(8deg) scale(1.4) translateZ(0);
			-webkit-transform: skewY(8deg) scale(1.4) translateZ(0);
			transform-origin: center center;
			-webkit-transform-origin: center center;
			backface-visibility: hidden;
			-webkit-backface-visibility: hidden;
			will-change: transform;
		}
	}

/* area01 */
	.home-area01-col01{
		position: relative;
		/* background-color: red; */
	}
	.home-area01-col01 .col01-title{
		position: absolute;
		top: 0px;
		left: 50%;
		margin-left: -660px;
		z-index: 3;
	}

	.home-area01-col01 .col01-text{
		padding: 220px 0 0 760px;
	}

	.home-area01-col01 .col01-photo{
		position: absolute;
		top: 320px;
		left: 0;
		width: 50%;
	}

	.home-area01-menu{
		overflow: hidden;
		padding-bottom: 100px;
	}
	.home-area01-menu li{
		border-bottom: #9f9f9f solid 1px;
	}
	.home-area01-menu li a{
		overflow: hidden;
		position: relative;
		display: flex;
		align-items: center;
		padding: 20px 20px 20px 0;
		color: #1f2123;
		text-decoration: none;
	}
	.home-area01-menu li a .number{
		position: relative;
		top: -20px;
		width: 70px;
		font-family: "Zalando Sans Expanded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		font-style: normal;
		font-size: 12px;
		color: #ff0000;
	}
	.home-area01-menu li a .jp{
		width: 140px;
		font-size: 28px;
	}
	.home-area01-menu li a .en{
		font-family: "Zalando Sans Expanded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		font-style: normal;
		font-size: 12px;
		color: #818181;
	}
	.home-area01-menu li a::before{
		content: '\f105';
		position: absolute;
		top: 50%;
		right: 5px;
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		font-size: 14px;
		transform: translateY(-50%) translateX(0);
		transition: transform 0.4s ease;
	}
	.home-area01-menu li a:hover::before{
		transform: translateY(-50%) translateX(5px);
	}
	.home-area01-menu li a::after{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(245, 216, 216, 0.4);
		width: 100%;
		height: 100%;
		transform: scaleX(0);
		transform-origin: right center;
		transition: transform 0.4s ease;
		z-index: -1;
	}
	.home-area01-menu li a:hover::after{
		transform: scaleX(1);
		transform-origin: left center;
	}

	.home-area01-photo{
		position: relative;
		width: 100%;
		height: 690px;
	}
	.home-area01-photo li{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.6s ease, visibility 0.6s ease;
	}
	.home-area01-photo li.is-active{
		opacity: 1;
		visibility: visible;
	}
	.home-area01-photo img{
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}
	@media screen and (max-width: 1349.98px) {
		.home-area01-col01 .col01-title{
			left: 2%;
			margin-left: 0px;
		}
	
		.home-area01-col01 .col01-text{
			padding: 180px 0 0 52%;
		}
	
		.home-area01-col01 .col01-photo{
			top: 280px;
		}
	
		.home-area01-menu{
			padding-bottom: 60px;
		}
		.home-area01-menu li a{
			padding: 16px 16px 16px 0;
		}
		.home-area01-menu li a .number{
			position: relative;
			top: -16px;
			width: 55px;
		}
		.home-area01-menu li a .jp{
			width: 120px;
			font-size: 22px;
		}
	
		.home-area01-photo{
			height: 560px;
		}
	}
	@media (max-width: 991.98px) {
		.home-area01-col01 .col01-title{
			left: 2%;
			margin-left: 0px;
		}
	
		.home-area01-col01 .col01-text{
			padding: 130px 0 0 52%;
		}
	
		.home-area01-col01 .col01-photo{
			top: 200px;
		}
	
		.home-area01-menu{
			padding-bottom: 0px;
		}
		.home-area01-menu li a{
			padding: 16px 16px 16px 0;
		}
		.home-area01-menu li a .number{
			position: relative;
			top: -16px;
			width: 55px;
		}
		.home-area01-menu li a .jp{
			width: 120px;
			font-size: 22px;
		}
	
		.home-area01-photo{
			height: 540px;
		}
	}
	@media print {
		.home-area01-col01 .col01-title{
			left: 2%;
			margin-left: 0px;
		}
	
		.home-area01-col01 .col01-text{
			padding: 110px 0 0 52%;
		}
	
		.home-area01-col01 .col01-photo{
			top: 170px;
		}
	
		.home-area01-menu{
			padding-bottom: 0px;
		}
		.home-area01-menu li a{
			padding: 14px 14px 14px 0;
		}
		.home-area01-menu li a .number{
			position: relative;
			top: -14px;
			width: 55px;
		}
		.home-area01-menu li a .jp{
			width: 120px;
			font-size: 20px;
		}
	
		.home-area01-photo{
			height: 500px;
		}
	}
	@media screen and (max-width: 767px) {
		.home-area01-col01 .col01-title{
			position: static;
			margin: 0 auto;
			width: 94%;
		}
	
		.home-area01-col01 .col01-text{
			padding: 0px;
		}
	
		.home-area01-col01 .col01-photo{
			position: static;
			width: auto;
		}
	
		.home-area01-menu{
			padding-bottom: 20px;
		}
		.home-area01-menu li a{
			padding: 14px 14px 14px 0;
		}
		.home-area01-menu li a .number{
			position: relative;
			top: -14px;
			width: 55px;
		}
		.home-area01-menu li a .jp{
			width: 100px;
			font-size: 18px;
		}
	
		.home-area01-photo{
			height: 64vw;
		}
		.home-area01-photo li{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
			visibility: hidden;
			transition: opacity 0.6s ease, visibility 0.6s ease;
		}
		.home-area01-photo li.is-active{
			opacity: 1;
			visibility: visible;
		}
		.home-area01-photo img{
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
			font-family: 'object-fit: cover;';
		}
	}

/* area02 */
	.home-area02-col{
		display: flex;
		gap: 90px;
	}
	.home-area02-col .col-text{
		flex-shrink: 0;
		width: 50%;
	}
	.home-area02-col .col-img{
		position: relative;
		flex: 1;
	}

	.home-area02-col .col-img .img01{
		margin: 0;
	}
	.home-area02-col .col-img .img02{
		position: absolute;
		bottom: 0px;
		right: -180px;
		width: 324px;
		z-index: 3;
	}
	@media screen and (max-width: 1679.98px) {
		.home-area02-col{
			display: flex;
			gap: 70px;
		}
	
		.home-area02-col .col-img .img01{
			padding-right: 60px;
		}
		.home-area02-col .col-img .img02{
			bottom: auto;
			top: 20vw;
			right: 0px;
			width: 300px;
		}
	}
	@media (max-width: 991.98px) {
		.home-area02-col{
			display: flex;
			gap: 40px;
		}
	
		.home-area02-col .col-img .img01{
			padding-right: 20px;
		}
		.home-area02-col .col-img .img02{
			bottom: auto;
			top: 20vw;
			right: 0px;
			width: 28vw;
		}
	}
	@media print {
		.home-area02-col{
			display: flex;
			gap: 20px;
		}
	
		.home-area02-col .col-img .img01{
			padding-right: 20px;
		}
		.home-area02-col .col-img .img02{
			bottom: auto;
			top: 20vw;
			right: 0px;
			width: 28vw;
		}
	}
	@media screen and (max-width: 767px) {
		.home-area02-col{
			display: block;
			gap: 0px;
		}
		.home-area02-col .col-text{
			width: auto;
		}
		.home-area02-col .col-img{
			display: flex;
			gap: 0px;
		}
	
		.home-area02-col .col-img .img01{
			padding: 0;
			margin: 0;
			width: 50%;
		}
		.home-area02-col .col-img .img02{
			position: static;
			padding: 0;
			margin: 0;
			width: 50%;
		}
	}

/* 事業内容 */
	.cus-business-area-col01,
	.cus-business-area-col02{
		position: relative;
	}

	.cus-business-area-col01 .col01-text{
		position: absolute;
		top: 50%;
		left: 50%;
		padding: 50px 0;
		margin-left: -660px;
		width: 610px;
		transform: translateY(-50%);
	}
	.cus-business-area-col02 .col02-text{
		position: absolute;
		top: 50%;
		right: 50%;
		padding: 50px 0;
		margin-right: -660px;
		width: 610px;
		transform: translateY(-50%);
	}

	.cus-business-area-col01 .col01-photo{
		padding-left: 50%;
	}
	.cus-business-area-col02 .col02-photo{
		padding-right: 50%;
	}
	.cus-business-area-col01 .col01-photo .img,
	.cus-business-area-col02 .col02-photo .img{
		margin: 0;
		width: 100%;
		height: 600px;
	}
	.cus-business-area-col01 .col01-photo .img img,
	.cus-business-area-col02 .col02-photo .img img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}
	@media screen and (max-width: 1349.98px) {
		.cus-business-area-col01 .col01-text{
			left: 2%;
			padding: 40px 0;
			margin-left: 0px;
			width: 46%;
		}
		.cus-business-area-col02 .col02-text{
			right: 2%;
			padding: 40px 0;
			margin-right: 0px;
			width: 46%;
		}

		.cus-business-area-col01 .col01-photo .img,
		.cus-business-area-col02 .col02-photo .img{
			margin: 0;
			width: 100%;
			height: 500px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-business-area-col01 .col01-text{
			left: 2%;
			padding: 30px 0;
			margin-left: 0px;
			width: 46%;
		}
		.cus-business-area-col02 .col02-text{
			right: 2%;
			padding: 30px 0;
			margin-right: 0px;
			width: 46%;
		}

		.cus-business-area-col01 .col01-photo .img,
		.cus-business-area-col02 .col02-photo .img{
			margin: 0;
			width: 100%;
			height: 500px;
		}
	}
	@media print {
		.cus-business-area-col01 .col01-text{
			position: static;
			padding: 0;
			margin: 0 auto 20px auto;
			width: 94%;
			transform: translateY(0%);
		}
		.cus-business-area-col02 .col02-text{
			position: static;
			padding: 0;
			margin: 0 auto 20px auto;
			width: 94%;
			transform: translateY(0%);
		}
	
		.cus-business-area-col01 .col01-photo{
			padding-left: 0%;
		}
		.cus-business-area-col02 .col02-photo{
			padding-right: 0%;
		}
		.cus-business-area-col01 .col01-photo .img,
		.cus-business-area-col02 .col02-photo .img{
			height: 64vw;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-business-area-col01 .col01-text{
			position: static;
			padding: 0;
			margin: 0 auto 20px auto;
			width: 94%;
			transform: translateY(0%);
		}
		.cus-business-area-col02 .col02-text{
			position: static;
			padding: 0;
			margin: 0 auto 20px auto;
			width: 94%;
			transform: translateY(0%);
		}
	
		.cus-business-area-col01 .col01-photo{
			padding-left: 0%;
		}
		.cus-business-area-col02 .col02-photo{
			padding-right: 0%;
		}
		.cus-business-area-col01 .col01-photo .img,
		.cus-business-area-col02 .col02-photo .img{
			height: 64vw;
		}
	}

/* area01 */
	.cus-business-area01-col02{
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #450000;
	}
	.cus-business-area01-col02 .col02-bn01{
		position: relative;
		overflow: hidden;
		width: 50%;
	}

	.cus-business-area01-col02 .col02-bn01 .text01,
	.cus-business-area01-col02 .col02-bn01 .text02{
		visibility: hidden;
	}
	.cus-business-area01-col02 .col02-bn01 .text01.is-animation-ready,
	.cus-business-area01-col02 .col02-bn01 .text02.is-animation-ready{
		visibility: visible;
	}
	.cus-business-area01-col02 .col02-bn01 .animation-letter{
		display: inline-block;
		opacity: 0;
		transform: perspective(500px) rotateY(90deg);
		transform-origin: center center;
		backface-visibility: hidden;
		will-change: opacity, transform;
	}
	.cus-business-area01-col02 .col02-bn01 .animation-letter.is-show{
		opacity: 1;
		transform: perspective(500px) rotateY(0deg);
		transition:
			opacity 0.45s ease,
			transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
	}
	.cus-business-area01-col02 .col02-bn01 .text03{
		opacity: 0;
		transform: translateY(30px);
		will-change: opacity, transform;
	}
	.cus-business-area01-col02 .col02-bn01 .text03.is-show{
		opacity: 1;
		transform: translateY(0);
		transition:
			opacity 0.8s ease,
			transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.cus-business-area01-col02 .col02-bn01 .bn01-title{
		position: absolute;
		top: 50px;
		left: 4%;
		width: 92%;
		color: white;
		text-align: center;
		z-index: 3;
	}
	.cus-business-area01-col02 .col02-bn01 .bn01-title .text01{
		font-family: "Zalando Sans Expanded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		font-style: normal;
		margin: 0;
		font-size: 42px;
		list-style: 1.4;
	}
	.cus-business-area01-col02 .col02-bn01 .bn01-title .text02{
		position: relative;
		margin-bottom: 40px;
		font-size: 24px;
	}
	.cus-business-area01-col02 .col02-bn01 .bn01-title .text02::before{
		content: '';
		position: absolute;
		bottom: -20px;
		left: 50%;
		background-color: #ff0000;
		margin-left: -50px;
		width: 100px;
		height: 3px;
		transform: scaleX(0);
		transform-origin: center center;
		transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
	}
	.cus-business-area01-col02 .col02-bn01 .bn01-title .text02.is-line-show::before{
		transform: scaleX(1);
	}

	.cus-business-area01-col02 .col02-bn01 .bn01-img{
		margin: 0;
		width: 100%;
		height: 520px;
	}
	.cus-business-area01-col02 .col02-bn01 .bn01-img img{
		opacity: 0.4;
		width: 100%;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}
	@media screen and (max-width: 1349.98px) {
		.cus-business-area01-col02 .col02-bn01 .bn01-title{
			top: 40px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text01{
			font-size: 36px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text02{
			margin-bottom: 40px;
			font-size: 22px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text02::before{
			bottom: -20px;
			margin-left: -40px;
			width: 80px;
		}
	
		.cus-business-area01-col02 .col02-bn01 .bn01-img{
			height: 500px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-business-area01-col02 .col02-bn01 .bn01-title{
			top: 40px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text01{
			font-size: 32px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text02{
			margin-bottom: 36px;
			font-size: 20px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text02::before{
			bottom: -18px;
			margin-left: -30px;
			width: 60px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text03{
			text-align: left;
		}
	
		.cus-business-area01-col02 .col02-bn01 .bn01-img{
			height: 500px;
		}
	}
	@media print {
		.cus-business-area01-col02 .col02-bn01 .animation-letter,
		.cus-business-area01-col02 .col02-bn01 .text03{
			opacity: 1;
			transform: none;
			transition: none;
		}

		.cus-business-area01-col02 .col02-bn01 .bn01-title{
			top: 40px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text01{
			font-size: 32px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text02{
			margin-bottom: 36px;
			font-size: 20px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text02::before{
			bottom: -18px;
			margin-left: -30px;
			width: 60px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text03{
			text-align: left;
		}
	
		.cus-business-area01-col02 .col02-bn01 .bn01-img{
			height: 500px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-business-area01-col02{
			display: block;
		}
		.cus-business-area01-col02 .col02-bn01{
			margin-bottom: 1px;
			width: auto;
		}

		.cus-business-area01-col02 .col02-bn01 .bn01-title{
			position: relative;
			top: auto;
			left: auto;
			width: 100%;
			padding: 30px 3%;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title::before{
			content: '';
			position: absolute;
			top: 0px;
			left: 0px;
			background-image: url("../img/business/area01-photo02.jpg");
			background-size: cover;
			background-position: center center;
			width: 100%;
			height: 100%;
			opacity: 0.3;
			z-index: 1;
		}
		.cus-business-area01-col02 .col02-bn01:last-child .bn01-title::before{
			background-image: url("../img/business/area01-photo03.jpg");
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text01{
			position: relative;
			font-size:28px;
			z-index: 3;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text02{
			position: relative;
			margin-bottom: 30px;
			font-size: 18px;
			z-index: 3;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text02::before{
			bottom: -18px;
			margin-left: -30px;
			width: 60px;
		}
		.cus-business-area01-col02 .col02-bn01 .bn01-title .text03{
			position: relative;
			text-align: left;
			z-index: 3;
		}
	
		.cus-business-area01-col02 .col02-bn01 .bn01-img{
			display: none;
		}
	}

/* area02 */
	.cus-business-area02-text01{
		display: flex;
		gap: 20px;
	}
	.cus-business-area02-text01 p{
		background-color: #ff0000;
		border-radius: 6px;
		padding: 4px 12px;
		margin: 0;
		font-size: 18px;
		color: white;
	}

	.cus-business-area02-col02{
		overflow: hidden;
		position: relative;
		padding: 120px 0;
		text-align: center;
	}
	.cus-business-area02-col02::before{
		content: '';
		position: absolute;
		top: -10%;
		left: 0;
		background-image: url("../img/business/area02-illust01.jpg");
		background-position: center center;
		background-size: cover;
		width: 100%;
		height: 120%;
		transform: translate3d(0, 0, 0);
		will-change: transform;
		pointer-events: none;
		z-index: 0;
	}
	.cus-business-area02-col02 .col02-con{
		position: relative;
		display: inline-block;
		background: rgba(255, 255, 255, 0.8);
		box-shadow: 2px 2px 8px gray;
		padding: 40px 60px;
		transform: translate3d(0, 0, 0);
		will-change: transform;
		z-index: 1;
	}

	.cus-business-area02-col02 .col02-con .title{
		font-size: 42px;
		font-weight: 700; color: #ff0000
	}

	.cus-business-area02-col02 .col02-con .text01{
		position: relative;
		display: inline-block;
		padding: 20px 30px;
		margin: 0;
		font-size: 22px;
	}
	.cus-business-area02-col02 .col02-con .text01::before,
	.cus-business-area02-col02 .col02-con .text01::after{
		content: '';
		position: absolute;
		width: 40px;
		height: 24px;
	}
	.cus-business-area02-col02 .col02-con .text01::before{
		top: 0;
		left: 0;
		border-top: #ff0000 solid 3px;
		border-left: #ff0000 solid 3px;
	}
	.cus-business-area02-col02 .col02-con .text01::after{
		bottom: 0;
		right: 0;
		border-right: #ff0000 solid 3px;
		border-bottom: #ff0000 solid 3px;
	}

	.cus-business-area02-col02 .col02-con .text02{
		display: inline-block;
		background-color: #ff0000;
		padding: 2px 12px;
		margin: 0 0 10px 0;
		color: white;
	}
	.cus-business-area02-col02 .col02-con .text03{
		display: block;
	}
	.cus-business-area02-col02 .col02-con .text03 .inner{
		position: relative;
		display: inline-block;
	}
	.cus-business-area02-col02 .col02-con .text03 .inner::before{
		content: '〜';
		position: absolute;
		top: 50%;
		left: -30px;
		font-size: 24px;
		color: #ff8888;
		transform: translateY(-50%);
	}
	.cus-business-area02-col02 .col02-con .text03 .inner::after{
		content: '〜';
		position: absolute;
		top: 50%;
		right: -30px;
		font-size: 24px;
		color: #ff8888;
		transform: translateY(-50%);
	}
	@media screen and (max-width: 1349.98px) {
		.cus-business-area02-text01{
			gap: 18px;
		}
		.cus-business-area02-text01 p{
			padding: 4px 10px;
			font-size: 18px;
		}
	
		.cus-business-area02-col02{
			padding: 100px 0;
		}
		.cus-business-area02-col02 .col02-con{
			padding: 30px 50px;
		}
	
		.cus-business-area02-col02 .col02-con .title{
			font-size: 36px;
		}
	
		.cus-business-area02-col02 .col02-con .text01{
			padding: 18px 26px;
			font-size: 21px;
		}
	
		.cus-business-area02-col02 .col02-con .text03 .inner::before{
			left: -30px;
			font-size: 24px;
		}
		.cus-business-area02-col02 .col02-con .text03 .inner::after{
			right: -30px;
			font-size: 24px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-business-area02-text01{
			gap: 12px;
		}
		.cus-business-area02-text01 p{
			padding: 4px 10px;
			font-size: 17px;
		}
	
		.cus-business-area02-col02{
			padding: 80px 0;
		}
		.cus-business-area02-col02 .col02-con{
			padding: 20px 35px;
		}
	
		.cus-business-area02-col02 .col02-con .title{
			font-size: 32px;
		}
	
		.cus-business-area02-col02 .col02-con .text01{
			padding: 16px 22px;
			font-size: 19px;
		}
	
		.cus-business-area02-col02 .col02-con .text03 .inner::before{
			left: -30px;
			font-size: 22px;
		}
		.cus-business-area02-col02 .col02-con .text03 .inner::after{
			right: -30px;
			font-size: 22px;
		}
	}
	@media print {
		.cus-business-area02-text01{
			gap: 8px;
		}
		.cus-business-area02-text01 p{
			padding: 4px 8px;
			font-size: 15px;
		}
	
		.cus-business-area02-col02::before,
		.cus-business-area02-col02 .col02-con{
			transform: none !important;
		}
		.cus-business-area02-col02{
			padding: 60px 0;
		}
		.cus-business-area02-col02 .col02-con{
			padding: 15px 20px;
		}
	
		.cus-business-area02-col02 .col02-con .title{
			font-size: 26px;
		}
	
		.cus-business-area02-col02 .col02-con .text01{
			padding: 16px 22px;
			font-size: 17px;
		}
	
		.cus-business-area02-col02 .col02-con .text03 .inner::before{
			left: -30px;
			font-size: 22px;
		}
		.cus-business-area02-col02 .col02-con .text03 .inner::after{
			right: -30px;
			font-size: 22px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-business-area02-text01{
			gap: 8px;
		}
		.cus-business-area02-text01 p{
			padding: 4px 8px;
			font-size: 16px;
		}
	
		.cus-business-area02-col02{
			padding: 60px 0;
		}
		.cus-business-area02-col02 .col02-con{
			padding: 15px 20px;
			margin: 0 3%;
		}
	
		.cus-business-area02-col02 .col02-con .title{
			font-size: 26px;
		}
	
		.cus-business-area02-col02 .col02-con .text01{
			padding: 16px 22px;
			font-size: 17px;
			text-align: left;
		}
	
		.cus-business-area02-col02 .col02-con .text03{
			padding: 0 20px;
		}
		.cus-business-area02-col02 .col02-con .text03 .inner::before{
			left: -26px;
			font-size: 20px;
		}
		.cus-business-area02-col02 .col02-con .text03 .inner::after{
			right: -26px;
			font-size: 20px;
		}
	}

/* 会社案内 */
	.cus-company-area01-col{
		background-image: url("../img/company/area01-photo01.jpg");
		background-size: cover;
		background-position: center center;
		padding: 280px 0;
		text-align: center;
	}

	.cus-company-area01-col .col-text{
		overflow: hidden;
		position: relative;
		display: inline-block;
		background-color: transparent;
		padding: 12px 60px 16px 60px;
		font-size: 42px;
		font-weight: 700;
		color: white;
		line-height: 1.2;
		vertical-align: top;
	}
	.cus-company-area01-col .col-text::before{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		background-color: #83000a;
		width: 100%;
		height: 100%;
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 0.7s ease;
		z-index: 0;
	}
	.cus-company-area01-col .col-text .letter{
		position: relative;
		display: inline-block;
		opacity: 0;
		transform: translateX(-10px);
		transition:
			opacity 0.45s ease,
			transform 0.45s ease;
		transition-delay: var(--philosophy-letter-delay, 0ms);
		z-index: 1;
	}
	.cus-company-area01-col .col-text.is-bg-show::before{
		transform: scaleX(1);
	}
	.cus-company-area01-col .col-text.is-text-show .letter{
		opacity: 1;
		transform: translateX(0);
	}
	@media screen and (max-width: 1349.98px) {
		.cus-company-area01-col{
			padding: 240px 0;
		}
	
		.cus-company-area01-col .col-text{
			padding: 12px 50px 16px 50px;
			font-size: 36px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-company-area01-col{
			padding: 200px 0;
		}
	
		.cus-company-area01-col .col-text{
			padding: 10px 40px 14px 40px;
			font-size: 32px;
		}
	}
	@media print {
		.cus-company-area01-col{
			padding: 160px 0;
		}
	
		.cus-company-area01-col .col-text{
			padding: 10px 30px 14px 30px;
			font-size: 26px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-company-area01-col{
			padding: 100px 0;
		}
	
		.cus-company-area01-col .col-text{
			padding: 8px 10px 10px 10px;
			font-size: 20px;
		}
	}

/* area04 */
	.cus-company-area04-text01{
		display: flex;
		align-items: center;
		gap: 30px;
	}
	.cus-company-area04-text01 .title{
		position: relative;
		flex-shrink: 0;
		width: 100px;
	}
	.cus-company-area04-text01 .title::before{
		content: '⋯';
		position: absolute;
		top: 0px;
		right: -24px;
	}
	.cus-company-area04-text01 .text{
		flex: 1;
	}

	.cus-company-area04-text02{
		display: inline-block;
		padding-left: 20px;
	}
	@media screen and (max-width: 1349.98px) {
		.cus-company-area04-text01{
			gap: 20px;
		}
		.cus-company-area04-text01 .title{
			width: 90px;
		}
		.cus-company-area04-text01 .title::before{
			right: -20px;
		}
	
		.cus-company-area04-text02{
			padding-left: 16px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-company-area04-text01{
			gap: 16px;
		}
		.cus-company-area04-text01 .title{
			width: 80px;
		}
		.cus-company-area04-text01 .title::before{
			right: -20px;
		}
	
		.cus-company-area04-text02{
			padding-left: 14px;
		}
	}
	@media print {
		.cus-company-area04-text01{
			gap: 16px;
		}
		.cus-company-area04-text01 .title{
			width: 80px;
		}
		.cus-company-area04-text01 .title::before{
			right: -20px;
		}
	
		.cus-company-area04-text02{
			padding-left: 14px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-company-area04-text01{
			gap: 16px;
		}
		.cus-company-area04-text01 .title{
			width: 80px;
		}
		.cus-company-area04-text01 .title::before{
			right: -20px;
		}
	
		.cus-company-area04-text02{
			padding-left: 14px;
		}
	}

/* area06 */
	.cus-company-area06-col{
		display: flex;
		justify-content: center;
		gap: 30px;
	}
	@media screen and (max-width: 1349.98px) {
		.cus-company-area06-col{
			gap: 20px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-company-area06-col{
			gap: 15px;
		}
	}
	@media print {
		.cus-company-area06-col{
			gap: 15px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-company-area06-col{
			display: block;
		}
	}


/* お問い合わせ */
	.cus-contact-area01{
		background-image: url("../img/contact/area01-bg01.jpg");
		background-size: cover;
		background-position: center bottom;
		padding: 120px 0;
	}

	.cus-telephone{
		text-align: center;
	}
	.cus-telephone .telephone-box{
		display: inline-block;
		background-color: rgba(255, 255, 255, 0.8);
		padding: 60px 0;
		width: 800px;
	}
	.cus-telephone .telephone-phone{
		font-size: 60px;
	}
	.cus-telephone .telephone-phone .ic01{
		position: relative;
		top: -2px;
		margin-right: 6px;
		width: 48px;
  	height: 48px;
  	fill: #b80412;
	}
	@media screen and (max-width: 1349.98px) {
		.cus-contact-area01{
			padding: 100px 0;
		}
		.cus-telephone .telephone-box{
			padding: 50px 0;
			width: 700px;
		}
		.cus-telephone .telephone-phone{
			font-size: 52px;
		}
		.cus-telephone .telephone-phone .ic01{
			width: 40px;
  		height: 40px;
		}
	}
	@media screen and (max-width: 991.98px) {
		.cus-contact-area01{
			padding: 80px 0;
		}
		.cus-telephone .telephone-box{
			padding: 40px 0;
			width: 660px;
		}
		.cus-telephone .telephone-phone{
			font-size: 46px;
		}
		.cus-telephone .telephone-phone .ic01{
			width: 36px;
  		height: 36px;
		}
	}
	@media print {
		.cus-contact-area01{
			padding: 60px 0;
		}
		.cus-telephone .telephone-box{
			padding: 30px 0;
			width: 92%;
		}
		.cus-telephone .telephone-phone{
			font-size: 38px;
		}
		.cus-telephone .telephone-phone .ic01{
			width: 30px;
  		height: 30px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-contact-area01{
			padding: 60px 0;
		}
		.cus-telephone .telephone-box{
			padding: 20px 0;
			width: 94%;
		}
		.cus-telephone .telephone-phone{
			font-size: 32px;
		}
		.cus-telephone .telephone-phone .ic01{
			width: 26px;
  		height: 26px;
		}
	}