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

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

*/

/* Bootstrapスライドに関わるCSS */
	#myCarousel{
		width: 100%;
	}
	.cus-mv-slide-normal{
		overflow: hidden;
		position: relative;
		padding-top: 100px;
		margin: 0;
		width: 100%;
		height: 900px; /* 画像高さを指定 */
	}
	.cus-mv-slide-normal img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.carousel-indicators {/* ドット（インジケーター）を右端に縦で表示したい場合こちら */
		right: 30px;
		left: auto;
		bottom: auto;
		top: 50%;
		transform: translateY(-50%);
		flex-direction: column; 
		margin: 0;
		width: auto;
	}
	.carousel-indicators button {
		position: relative;
		width: 10px !important;
		height: 10px !important;
		border-radius: 50%;
		background-color: #fff;
		border: none;
		margin: 0 !important;
		opacity: 0.5;
	}
	.carousel-indicators .active::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 18px;
		height: 18px;
		background-color: #fff;
		opacity: 0.5;
		border-radius: 50%;
		z-index: -1;
	}

	.carousel-control-prev,
	.carousel-control-next {/* 左右の矢印ボタンを画像の上に重ねて中央に配置 */
		width: 5%;    /* ボタンの反応範囲 */
		z-index: 10;
	}

	.cus-mv{
		position: relative;
	}
	.cus-mv .mv-text{
		position: absolute;
		bottom: 130px;
		left: 4%;
		z-index: 3;
	}

	.cus-mv .mv-text .main,
	.cus-mv .mv-text .en{
		position: relative;
		z-index: 1;
	}
	.cus-mv .mv-text .main{
		display: inline-block;
		border-radius: 4px;
		padding: 2px 20px 6px 20px;
		margin-bottom: 15px;
		font-size: 56px;
		font-weight: 400;
	}
	.cus-mv .mv-text .en{
		display: inline-block;
		border-radius: 4px;
		padding: 2px 14px;
		margin: 0;
		font-family: "Red Hat Display", sans-serif;
		font-optical-sizing: auto;
		font-size: 14px;
		font-weight: 700;
		color: white;
		font-style: normal;
	}
	.cus-mv .mv-text .main::before,
	.cus-mv .mv-text .en::before{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
		border-radius: 4px;
		transform-origin: left;
		transform: scaleX(0);
		animation: bgSlideIn 0.6s cubic-bezier(0.25, 1, 0.5, 1) forwards;
	}
	.cus-mv .mv-text .main::before { background-color: white; }
	.cus-mv .mv-text .en::before { background-color: #003f94; }

	.cus-mv .mv-text .text-inner span{
		opacity: 0;
		display: inline-block;
		animation: fadeInChar 0.1s forwards;
	}

	/* --- 1行目：0秒で背景スタート、0.6秒で伸び切った後から文字スタート --- */
	.cus-mv .mv-text .line-1::before { animation-delay: 0s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(1)  { animation-delay: 0.60s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(2)  { animation-delay: 0.65s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(3)  { animation-delay: 0.70s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(4)  { animation-delay: 0.75s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(5)  { animation-delay: 0.80s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(6)  { animation-delay: 0.85s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(7)  { animation-delay: 0.90s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(8)  { animation-delay: 0.95s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(9)  { animation-delay: 1.00s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(10) { animation-delay: 1.05s; }
	.cus-mv .mv-text .line-1 .text-inner span:nth-child(11) { animation-delay: 1.10s; }
	
	/* --- 2行目：1.2秒で背景スタート、1.8秒で伸び切った後から文字スタート --- */
	.cus-mv .mv-text .line-2::before { animation-delay: 1.2s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(1)  { animation-delay: 1.80s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(2)  { animation-delay: 1.85s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(3)  { animation-delay: 1.90s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(4)  { animation-delay: 1.95s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(5)  { animation-delay: 2.00s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(6)  { animation-delay: 2.05s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(7)  { animation-delay: 2.10s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(8)  { animation-delay: 2.15s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(9)  { animation-delay: 2.20s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(10) { animation-delay: 2.25s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(11) { animation-delay: 2.30s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(12) { animation-delay: 2.35s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(13) { animation-delay: 2.40s; }
	.cus-mv .mv-text .line-2 .text-inner span:nth-child(14) { animation-delay: 2.45s; }
	
	/* --- 3行目：2.6秒で背景スタート、3.2秒で伸び切った後から文字スタート --- */
	/* 英文は文字数が多い（スペース含め27文字）ため、小気味よく0.03秒間隔で表示させます */
	.cus-mv .mv-text .line-3::before { animation-delay: 2.6s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(1)  { animation-delay: 3.20s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(2)  { animation-delay: 3.23s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(3)  { animation-delay: 3.26s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(4)  { animation-delay: 3.29s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(5)  { animation-delay: 3.32s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(6)  { animation-delay: 3.35s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(7)  { animation-delay: 3.38s; } /* space */
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(8)  { animation-delay: 3.41s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(9)  { animation-delay: 3.44s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(10) { animation-delay: 3.47s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(11) { animation-delay: 3.50s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(12) { animation-delay: 3.53s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(13) { animation-delay: 3.56s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(14) { animation-delay: 3.59s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(15) { animation-delay: 3.62s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(16) { animation-delay: 3.65s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(17) { animation-delay: 3.68s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(18) { animation-delay: 3.71s; } /* space */
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(19) { animation-delay: 3.74s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(20) { animation-delay: 3.77s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(21) { animation-delay: 3.80s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(22) { animation-delay: 3.83s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(23) { animation-delay: 3.86s; } /* space */
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(24) { animation-delay: 3.89s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(25) { animation-delay: 3.92s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(26) { animation-delay: 3.95s; }
	.cus-mv .mv-text .line-3 .text-inner span:nth-child(27) { animation-delay: 3.98s; }
	
	/* 左から右へ幅が100%まで伸びてそのまま固定 */
	@keyframes bgSlideIn {
		0% { transform: scaleX(0); }
		100% { transform: scaleX(1); }
	}
	
	@keyframes fadeInChar {
		0% { opacity: 0; }
		100% { opacity: 1; }
	}

	@media screen and (max-width: 1499.98px) {
		.cus-mv-slide-normal{
			padding-top: 100px;
			height: 700px; /* 画像高さを指定 */
		}

		.cus-mv .mv-text{
			bottom: 100px;
		}

		.cus-mv .mv-text .main{
			padding: 2px 20px 6px 20px;
			font-size: 48px;
		}
		.cus-mv .mv-text .en{
			padding: 2px 14px;
			font-size: 14px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-mv-slide-normal{
			padding-top: 64px;
			height: 520px; /* 画像高さを指定 */
		}

		.cus-mv .mv-text{
			bottom: 60px;
		}

		.cus-mv .mv-text .main{
			padding: 2px 16px 6px 16px;
			font-size: 36px;
		}
		.cus-mv .mv-text .en{
			padding: 2px 12px;
			font-size: 14px;
		}
	}
	@media print {
		.cus-mv .mv-text .main::before,
		.cus-mv .mv-text .en::before{
			transform: scaleX(1) !important;
			animation: none !important;
		}
		.cus-mv .mv-text .text-inner span{
			opacity: 1 !important; 
			animation: none !important; 
		}

		.cus-mv-slide-normal{
			padding-top: 90px;
			height: 400px; /* 画像高さを指定 */
		}

		.cus-mv .mv-text{
			bottom: 60px;
		}

		.cus-mv .mv-text .main{
			padding: 2px 12px 6px 12px;
			font-size: 28px;
		}
		.cus-mv .mv-text .en{
			padding: 2px 10px;
			font-size: 13px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-mv-slide-normal{
			padding-top: 64px;
			height: 64vh; /* 画像高さを指定 */
		}

		.cus-mv .mv-text{
			left: 1%;
			bottom: 60px;
		}

		.cus-mv .mv-text .main{
			padding: 2px 10px 6px 10px;
			font-size: 22px;
		}
		.cus-mv .mv-text .en{
			padding: 2px 8px;
			font-size: 14px;
		}
	}

/* area01 */
	.cus-home-area01-photo{
		display: flex;
		justify-content: flex-end;
		gap: 20px;
	}
	.cus-home-area01-photo figure{
		margin: 0;
		width: 50%;
		height: 500px;
	}
	.cus-home-area01-photo .img02{
		margin-top: 120px;
	}

	.cus-home-area01-photo figure img{
		overflow: hidden;
		border-radius: 4px;
		width: 100%;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}

	.cus-home-area01-col02{
		padding: 120px 0;
	}
	.cus-home-area01-text02{
		display: inline-block;
		background-color: white;
		border-top: #003f94 solid 10px;
		padding: 70px 50px;
		font-size: 20px;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-home-area01-photo{
			gap: 16px;
		}
		.cus-home-area01-photo figure{
			height: 480px;
		}
		.cus-home-area01-photo .img02{
			margin-top: 80px;
		}

		.cus-home-area01-col02{
			padding: 100px 0;
		}
		.cus-home-area01-text02{
			border-top: #003f94 solid 10px;
			padding: 60px 40px;
			font-size: 19px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-home-area01-photo{
			display: block;
			padding-left: 20px;
		}
		.cus-home-area01-photo figure{
			width: auto;
			height: 30vw;
		}
		.cus-home-area01-photo .img02{
			position: relative;
			left: -20px;
			margin-top: 20px;
		}

		.cus-home-area01-col02{
			padding: 80px 0;
		}
		.cus-home-area01-text02{
			border-top: #003f94 solid 10px;
			padding: 50px 30px;
			font-size: 18px;
		}
	}
	@media print {
		.cus-home-area01-photo{
			display: block;
			padding-left: 15px;
		}
		.cus-home-area01-photo figure{
			width: auto;
			height: 30vw;
		}
		.cus-home-area01-photo .img02{
			position: relative;
			left: -20px;
			margin-top: 20px;
		}

		.cus-home-area01-col02{
			padding: 60px 0;
		}
		.cus-home-area01-text02{
			border-top: #003f94 solid 10px;
			padding: 40px 20px;
			font-size: 16px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-home-area01-photo{
			display: block;
			padding-left: 0px;
		}
		.cus-home-area01-photo figure{
			width: auto;
			height: 80vw;
		}
		.cus-home-area01-photo .img02{
			position: relative;
			left: 0px;
			margin-top: 20px;
		}

		.cus-home-area01-col02{
			padding: 60px 0;
		}
		.cus-home-area01-text02{
			border-top: #003f94 solid 10px;
			padding: 30px 20px;
			font-size: 16px;
		}
	}

/* area02 */
	.cus-home-area02-con{
		display: flex;
		gap: 40px;
	}

	.cus-home-area02-box{
		overflow: hidden;
		position: relative;
		border: #003f94 solid 1px;
		border-radius: 6px;
		padding-bottom: 40px;
		width: 33.333%;
	}
	.cus-home-area02-box .box-en{
		position: absolute;
		top: 0px;
		left: 0px;
		background-color: #003f94;
		border-radius: 0 0 12px 0;
		padding: 3px 15px;
		font-family: "Red Hat Display", sans-serif;
		font-optical-sizing: auto;
		font-weight: 700;
		font-style: normal;
		font-size: 12px;
		color: white;
	}
	.cus-home-area02-box .box-img{
		padding: 50px 0 30px 0;
		text-align: center;
	}
	.cus-home-area02-box .box-text01{
		font-size: 20px;
		font-weight: 700;
		color: #003f94;
		text-align: center;
	}
	.cus-home-area02-box .box-text02{
		padding: 0 30px;
	}

	.cus-home-area02-con02{
		display: flex;
		align-items: center;
		border-radius: 8px;
		padding: 70px 50px;
		margin: 0 auto;
		width: 970px;
	}
	.cus-home-area02-con02 .con02-text01{
		flex-shrink: 0;
		width: 60%;
	}
	.cus-home-area02-con02 .con02-text02{
		flex: 1;
		border-left: #bdbdbd solid 1px;
		padding-left: 80px;
	}

	.cus-home-area02-con02 .con02-text01 p{
		font-size: 20px;
	}
	.cus-home-area02-con02 .con02-text01 p .pic{
		position: relative;
		display: inline-block;
		padding-right: 5px;
		font-size: 32px;
		color: #003f94;
	}
	.cus-home-area02-con02 .con02-text01 p .pic::before{
		content: '';
		position: absolute;
		bottom: -2px;
		left: 0px;
		border-bottom: dashed 2px #003f94;
		width: 100%;
		height: 2px;
	}

	.cus-home-area02-con02 .con02-text02 .text01{
		margin: 0;
		font-size: 18px;
		color: #003f94;
	}
	.cus-home-area02-con02 .con02-text02 .text02{
		margin: 0;
		font-size: 94px;
		color: #003f94;
		line-height: 1.2;
	}
	.cus-home-area02-con02 .con02-text02 .text02 .min{
		font-size: 40px;
	}
	.cus-home-area02-con02 .con02-text02 .text03{
		font-size: 12px;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-home-area02-con{
			gap: 25px;
		}

		.cus-home-area02-box .box-en{
			padding: 3px 12px;
		}
		.cus-home-area02-box .box-img{
			padding: 40px 5px 20px 5px;
		}
		.cus-home-area02-box .box-text01{
			font-size: 18px;
		}
		.cus-home-area02-box .box-text02{
			padding: 0 20px;
		}
	
		.cus-home-area02-con02{
			padding: 50px 40px;
			width: 94%;
		}
		.cus-home-area02-con02 .con02-text02{
			padding-left: 60px;
		}
	
		.cus-home-area02-con02 .con02-text01 p{
			font-size: 18px;
		}
		.cus-home-area02-con02 .con02-text01 p .pic{
			font-size: 26px;
		}
	
		.cus-home-area02-con02 .con02-text02 .text01{
			font-size: 17px;
		}
		.cus-home-area02-con02 .con02-text02 .text02{
			font-size: 82px;
		}
		.cus-home-area02-con02 .con02-text02 .text02 .min{
			font-size: 32px;
		}
		.cus-home-area02-con02 .con02-text02 .text03{
			font-size: 12px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-home-area02-con{
			gap: 15px;
		}

		.cus-home-area02-box .box-en{
			padding: 3px 12px;
		}
		.cus-home-area02-box .box-img{
			padding: 40px 5px 20px 5px;
		}
		.cus-home-area02-box .box-text01{
			padding: 0 15px;
			font-size: 17px;
			text-align: left;
		}
		.cus-home-area02-box .box-text02{
			padding: 0 15px;
		}
	
		.cus-home-area02-con02{
			padding: 35px 25px;
			width: 94%;
		}
		.cus-home-area02-con02 .con02-text02{
			padding-left: 40px;
		}
	
		.cus-home-area02-con02 .con02-text01 p{
			font-size: 18px;
		}
		.cus-home-area02-con02 .con02-text01 p .pic{
			font-size: 26px;
		}
	
		.cus-home-area02-con02 .con02-text02 .text01{
			font-size: 17px;
		}
		.cus-home-area02-con02 .con02-text02 .text02{
			font-size: 82px;
		}
		.cus-home-area02-con02 .con02-text02 .text02 .min{
			font-size: 32px;
		}
		.cus-home-area02-con02 .con02-text02 .text03{
			font-size: 12px;
		}
	}
	@media print {
		.cus-home-area02-con{
			gap: 15px;
		}

		.cus-home-area02-box .box-en{
			padding: 3px 12px;
		}
		.cus-home-area02-box .box-img{
			padding: 40px 5px 20px 5px;
		}
		.cus-home-area02-box .box-text01{
			padding: 0 15px;
			font-size: 16px;
			text-align: left;
		}
		.cus-home-area02-box .box-text02{
			padding: 0 15px;
		}
	
		.cus-home-area02-con02{
			padding: 35px 25px;
			width: 94%;
		}
		.cus-home-area02-con02 .con02-text02{
			padding-left: 40px;
		}
	
		.cus-home-area02-con02 .con02-text01 p{
			font-size: 16px;
		}
		.cus-home-area02-con02 .con02-text01 p .pic{
			font-size: 22px;
		}
	
		.cus-home-area02-con02 .con02-text02 .text01{
			font-size: 16px;
		}
		.cus-home-area02-con02 .con02-text02 .text02{
			font-size: 66px;
		}
		.cus-home-area02-con02 .con02-text02 .text02 .min{
			font-size: 28px;
		}
		.cus-home-area02-con02 .con02-text02 .text03{
			font-size: 12px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-home-area02-con{
			display: block;
		}
		.cus-home-area02-box{
			padding-bottom: 15px;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-home-area02-box:last-child{
			margin-bottom: 0px;
		}

		.cus-home-area02-box .box-en{
			padding: 3px 16px;
		}
		.cus-home-area02-box .box-img{
			padding: 40px 5px 20px 5px;
		}
		.cus-home-area02-box .box-text01{
			padding: 0 15px;
			font-size: 17px;
			text-align: left;
		}
		.cus-home-area02-box .box-text02{
			padding: 0 15px;
		}
	
		.cus-home-area02-con02{
			display: block;
			padding: 20px 15px;
			width: 94%;
		}
		.cus-home-area02-con02 .con02-text01{
			width: auto;
			margin-bottom: 25px;
			text-align: center;
		}
		.cus-home-area02-con02 .con02-text02{
			border-left: #bdbdbd solid 0px;
			border-top: #bdbdbd solid 1px;
			padding-left: 0px;
			padding-top: 20px;
			text-align: center;
		}
	
		.cus-home-area02-con02 .con02-text01 p{
			font-size: 16px;
		}
		.cus-home-area02-con02 .con02-text01 p .pic{
			font-size: 20px;
		}
	
		.cus-home-area02-con02 .con02-text02 .text01{
			font-size: 16px;
		}
		.cus-home-area02-con02 .con02-text02 .text02{
			font-size: 66px;
		}
		.cus-home-area02-con02 .con02-text02 .text02 .min{
			font-size: 28px;
		}
		.cus-home-area02-con02 .con02-text02 .text03{
			font-size: 12px;
		}
	}

/* area03 */
	.cus-home-area03{
		padding: 120px 0
	}

	.cus-home-area03-con01{
		display: flex;
		align-items: center;
		background-color: white;
		border-left: #003f94 solid 10px;
		height: 420px;
	}
	.cus-home-area03-con01 .con01-text{
		flex-shrink: 0;
		padding: 0 80px 0 60px;
		width: 65%;
	}
	.cus-home-area03-con01 .con01-img{
		margin: 0;
		width: 100%;
		height: 100%;
	}
	.cus-home-area03-con01 .con01-img img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}
	@media screen and (max-width: 1499.98px) {
		.cus-home-area03{
			padding: 100px 0
		}
	
		.cus-home-area03-con01{
			height: 360px;
		}
		.cus-home-area03-con01 .con01-text{
			padding: 0 60px 0 40px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-home-area03{
			padding: 80px 0
		}
	
		.cus-home-area03-con01{
			display: block;
			border-left: #003f94 solid 0px;
			border-top: #003f94 solid 10px;
			height: auto;
		}
		.cus-home-area03-con01 .con01-text{
			padding: 20px;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-home-area03-con01 .con01-img{
			height: 50vw;
		}
	}
	@media print {
		.cus-home-area03{
			padding: 60px 0
		}
	
		.cus-home-area03-con01{
			display: block;
			border-left: #003f94 solid 0px;
			border-top: #003f94 solid 10px;
			height: auto;
		}
		.cus-home-area03-con01 .con01-text{
			padding: 20px;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-home-area03-con01 .con01-img{
			height: 42vw;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-home-area03{
			padding: 60px 0
		}
	
		.cus-home-area03-con01{
			display: block;
			border-left: #003f94 solid 0px;
			border-top: #003f94 solid 10px;
			height: auto;
		}
		.cus-home-area03-con01 .con01-text{
			padding: 15px;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-home-area03-con01 .con01-img{
			height: 62vw;
		}
	}

/* area04 */
	.cus-home-area04-title{
		border-left: #003f94 solid 5px;
		padding-left: 15px;
		font-size: 24px;
		font-weight: 700;
		line-height: 1.4;
	}

	.cus-home-area04-bn{
		overflow: hidden;
		display: block;
		border: #dfdfdf solid 1px;
	}
	.cus-home-area04-bn img{
		transition: 0.5s all;
	}
	.cus-home-area04-bn:hover img{
		transform: scale(1.14,1.14);
		transition: 0.7s all;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-home-area04-title{
			padding-left: 15px;
			font-size: 22px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-home-area04-title{
			padding-left: 12px;
			font-size: 20px;
		}
	}
	@media print {
		.cus-home-area04-title{
			padding-left: 12px;
			font-size: 18px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-home-area04-title{
			padding-left: 12px;
			font-size: 18px;
		}
	}

/* area05 */
	.cus-home-area05{
		position: relative;
		padding: 120px 0
	}
	.cus-home-area05 .area05-sub-text{
		position: absolute;
		top: 160px;
		right: 0px;
	}
	.cus-home-area05 .area05-sub-text .text{
		position: relative;
		display: inline-block;
		margin: 0;
	}
	.cus-home-area05 .area05-sub-text .text::before{
		content: '';
		position: absolute;
		bottom: -4px;
		left: 0px;
		border-bottom: #003f94 dashed 1px;
		width: 100%;
		height: 1px;
	}

	.cus-home-area05-con{
		display: flex;
		align-items: center;
		gap: 60px;
		background-color: white;
		padding: 50px 60px;
	}
	.cus-home-area05-con .con-phone{
		flex-shrink: 0;
		width: 40%;
	}
	.cus-home-area05-con .con-mail{
		flex: 1;
	}

	.cus-home-area05-con .con-phone .min{
		font-family: "Red Hat Display", sans-serif;
		font-optical-sizing: auto;
		font-weight: 700;
		font-style: normal;
		font-size: 24px;
		color: #003f94;
	}
	.cus-home-area05-con .con-phone .dial{
		font-family: "Red Hat Display", sans-serif;
		font-optical-sizing: auto;
		font-weight: 700;
		font-style: normal;
		font-size: 32px;
		color: #003f94;
		letter-spacing: 0.08em;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-home-area05{
			padding: 100px 0
		}
		.cus-home-area05 .area05-sub-text{
			top: 120px;
		}
	
		.cus-home-area05-con{
			gap: 40px;
			padding: 40px 50px;
		}
		.cus-home-area05-con .con-phone{
			width: 48%;
		}
	
		.cus-home-area05-con .con-phone .min{
			font-size: 22px;
		}
		.cus-home-area05-con .con-phone .dial{
			font-size: 30px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-home-area05{
			padding: 80px 0
		}
		.cus-home-area05 .area05-sub-text{
			top: 90px;
		}
	
		.cus-home-area05-con{
			gap: 20px;
			padding: 20px 25px;
		}
		.cus-home-area05-con .con-phone{
			width: 48%;
		}
	
		.cus-home-area05-con .con-phone .min{
			font-size: 20px;
		}
		.cus-home-area05-con .con-phone .dial{
			font-size: 26px;
		}
	}
	@media print {
		.cus-home-area05{
			padding: 60px 0
		}
		.cus-home-area05 .area05-sub-text{
			top: 70px;
		}
	
		.cus-home-area05-con{
			gap: 10px;
			padding: 15px;
		}
		.cus-home-area05-con .con-phone{
			width: 48%;
		}
	
		.cus-home-area05-con .con-phone .min{
			font-size: 16px;
		}
		.cus-home-area05-con .con-phone .dial{
			font-size: 22px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-home-area05{
			padding: 60px 0
		}
		.cus-home-area05 .area05-sub-text{
			position: static;
			margin-bottom: 40px;
		}

		.cus-home-area05-con{
			display: block;
			padding: 15px;
		}
		.cus-home-area05-con .con-phone{
			margin-bottom: 20px;
			width: auto;
		}
	
		.cus-home-area05-con .con-phone .min{
			font-size: 16px;
		}
		.cus-home-area05-con .con-phone .dial{
			font-size: 22px;
		}
	}


/* 保険商品のご案内 */
	.cus-products-tabs{
		display: flex;
		justify-content: center;
		align-items: stretch;
		flex-wrap: wrap;
		gap: 2px;
	}
	.cus-products-tabs li{
    display: flex;
    cursor: pointer;
    flex: 1 1 auto;
    transition: all 0.5s 0s ease;
	}
	.cus-products-tabs li a{
		overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #e6e6e6;
		border-radius: 4px;
    width: 100%;
    padding: 15px 20px;
    font-size: 20px;
    font-weight: 700;
    color: #003f94;
    text-align: center;
		text-decoration: none;
	}
	.cus-products-tabs li a:hover,
	.cus-products-tabs li .active{
		background-color: #003f94;
		color: white;
		transition: all 0.5s 0s ease;
	}

	.cus-products-category{
		position: relative;
		padding: 14px 0 16px 50px;
		font-size: 20px;
		font-weight: 700;
		color: #003f94;
		letter-spacing: 0.08em;
	}
	.cus-products-category::before{
		content: '';
		position: absolute;
		bottom: 0px;
		left: 0px;
		background-color: #d6d6d6;
		width: 100%;
		height: 1px;
	}
	.cus-products-category::after{
		content: '';
		position: absolute;
		top: 10%;
		left: 14px;
		background-color: #003f94;
		width: 6px;
		height: 80%;
		clip-path: polygon(0% 10%, 100% 0%, 100% 90%, 0% 100%);
		transform: rotate(35deg);
	}

	.cus-products-col{
		border: #003f94 solid 1px;
		border-radius: 8px;
		padding: 50px 30px;
	}

	.cus-products-col .col-title{
		position: relative;
		display: inline-block;
		padding: 0 10px;
		font-size: 24px;
		letter-spacing: 0.08em;
		z-index: 1;
	}
	.cus-products-col .col-title::after{
		content: "";
		position: absolute;
		background-color: #e1ecfa;
		border-radius: 4px;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 40%;
		z-index: -1;
	}

	.cus-products-col .col-con{
		position: relative;
		padding: 4px 0 4px 40px;
	}
	.cus-products-col .col-con::after{
		content: "";
		position: absolute;
		top: 0px;
		left: 16px;
		background-color: #003f94;
		border-radius: 4px;
		width: 2px;
		height: 100%;
	}

	.cus-products-col .col-con .con-link{
		overflow: hidden;
		position: relative;
		display: inline-block;
		background-color: #003f94;
		border-radius: 100px;
		padding: 3px 10px 3px 40px;
		font-size: 15px;
		color: white;
		text-decoration: none;
	}
	.cus-products-col .col-con .con-link::before{
		overflow: hidden;
		position: absolute;
		top: 50%;
		left: 10px;
		content: '\f061';
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
		margin-right: 8px;
		font-size: 13px;
		transform: translateY(-50%);
		transition: all 0.5s 0s ease;
		will-change: left; 
	}
	.cus-products-col .col-con .con-link:hover::before{
		left: 20px;
		transition: all 0.5s 0s ease;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-products-tabs li a{
			padding: 13px 16px;
			font-size: 18px;
		}
	
		.cus-products-category{
			padding: 14px 0 16px 46px;
			font-size: 18px;
		}
	
		.cus-products-col{
			padding: 40px 25px;
		}
	
		.cus-products-col .col-title{
			font-size: 21px;
		}
	
		.cus-products-col .col-con{
			padding: 4px 0 4px 40px;
		}
		.cus-products-col .col-con::after{
			left: 15px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-products-tabs li a{
			padding: 13px 16px;
			font-size: 17px;
		}
	
		.cus-products-category{
			padding: 14px 0 16px 46px;
			font-size: 17px;
		}
	
		.cus-products-col{
			padding: 30px 20px;
		}
	
		.cus-products-col .col-title{
			font-size: 19px;
		}
	
		.cus-products-col .col-con{
			padding: 4px 0 4px 40px;
		}
		.cus-products-col .col-con::after{
			left: 15px;
		}
	}
	@media print {
		.cus-products-tabs li a{
			padding: 13px 16px;
			font-size: 16px;
		}
	
		.cus-products-category{
			padding: 14px 0 16px 46px;
			font-size: 16px;
		}
	
		.cus-products-col{
			padding: 20px 15px;
		}
	
		.cus-products-col .col-title{
			font-size: 16px;
		}
	
		.cus-products-col .col-con{
			padding: 4px 0 4px 40px;
		}
		.cus-products-col .col-con::after{
			left: 15px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-products-tabs li a{
			padding: 13px 16px;
			font-size: 16px;
		}
	
		.cus-products-category{
			padding: 14px 0 16px 42px;
			font-size: 17px;
		}
	
		.cus-products-col{
			padding: 15px;
		}
	
		.cus-products-col .col-title{
			font-size: 16px;
		}
	
		.cus-products-col .col-con{
			padding: 4px 0 4px 30px;
		}
		.cus-products-col .col-con::after{
			left: 14px;
		}

		.cus-products-col .col-con .con-link{
			padding: 3px 10px 3px 35px;
			font-size: 14px;
		}
		.cus-products-col .col-con .con-link::before{
			font-size: 12px;
		}
	}


/* 会社概要 */
	.cus-company-area02-con{
		position: relative;
		padding-left: 50%;
	}

	.cus-company-area02-con .con-text{
		position: absolute;
		top: 0px;
		left: 50%;
		display: flex;
		justify-content: center;
		flex-direction: column;
		margin-left: -735px;
		width: 735px;
		height: 100%;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-company-area02-con .con-text{
			left: 2%;
			margin-left: 0px;
			width: 46%;
		}
	}
	@media print {
		.cus-company-area02-con{
			padding-left: 0%;
		}
	
		.cus-company-area02-con .con-text{
			position: static;
			margin: 0 auto 20px auto;
			width: 94%;
			height: auto;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-company-area02-con{
			padding-left: 0%;
		}
	
		.cus-company-area02-con .con-text{
			position: static;
			margin: 0 auto 20px auto;
			width: 94%;
			height: auto;
		}
	}


/* 個人情報の取扱について */
	.cus-privacypolicy-title{
		position: relative;
		padding: 14px 0 16px 50px;
		font-size: 20px;
		font-weight: 700;
		color: #003f94;
		letter-spacing: 0.08em;
	}
	.cus-privacypolicy-title::before{
		content: '';
		position: absolute;
		bottom: 0px;
		left: 0px;
		background-color: #d6d6d6;
		width: 100%;
		height: 1px;
	}
	.cus-privacypolicy-title::after{
		content: '';
		position: absolute;
		top: 10%;
		left: 14px;
		background-color: #003f94;
		width: 6px;
		height: 80%;
		clip-path: polygon(0% 10%, 100% 0%, 100% 90%, 0% 100%);
		transform: rotate(35deg);
	}

	.cus-privacypolicy-col{
		border: #003f94 solid 1px;
		border-radius: 6px;
		padding: 30px 20px;
	}
	.cus-privacypolicy-bg{
		background-color: #e1ecfa;
		border-radius: 6px;
		padding: 30px 20px;
	}
	.cus-privacypolicy-col .col-text01{
		font-size: 17px;
		font-weight: 700;
	}
	.cus-privacypolicy-col .col-text01 .number{
		position: relative;
		top: 1px;
		font-family: "Red Hat Display", sans-serif;
		font-optical-sizing: auto;
		font-weight: 700;
		font-style: normal;
		font-size: 19px;
	}
	.cus-privacypolicy-col .col-text02{
		padding-left: 24px;
	}

	.cus-privacypolicy-col02{
		overflow: hidden;
	}
	.cus-privacypolicy-col02 .col02-text01{
		background-color: #436fa9;
		border-radius: 6px;
		padding: 4px 12px;
		font-size: 20px;
		font-weight: 400;
		color: white;
		letter-spacing: 0.08em;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-privacypolicy-title{
			padding: 14px 0 16px 46px;
			font-size: 18px;
		}
	
		.cus-privacypolicy-col{
			padding: 25px 20px;
		}
		.cus-privacypolicy-bg{
			padding: 25px 20px;
		}
		.cus-privacypolicy-col .col-text01{
			font-size: 17px;
		}
		.cus-privacypolicy-col .col-text01 .number{
			font-size: 19px;
		}
		.cus-privacypolicy-col .col-text02{
			padding-left: 20px;
		}

		.cus-privacypolicy-col02 .col02-text01{
			padding: 4px 12px;
			font-size: 18px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-privacypolicy-title{
			padding: 14px 0 16px 46px;
			font-size: 17px;
		}
	
		.cus-privacypolicy-col{
			padding: 20px 15px;
		}
		.cus-privacypolicy-bg{
			padding: 20px 15px;
		}
		.cus-privacypolicy-col .col-text01{
			font-size: 16px;
		}
		.cus-privacypolicy-col .col-text01 .number{
			font-size: 18px;
		}
		.cus-privacypolicy-col .col-text02{
			padding-left: 20px;
		}

		.cus-privacypolicy-col02 .col02-text01{
			padding: 4px 10px;
			font-size: 17px;
		}
	}
	@media print {
		.cus-privacypolicy-title{
			padding: 14px 0 16px 46px;
			font-size: 16px;
		}
	
		.cus-privacypolicy-col{
			padding: 15px;
		}
		.cus-privacypolicy-bg{
			padding: 15px;
		}
		.cus-privacypolicy-col .col-text01{
			font-size: 16px;
		}
		.cus-privacypolicy-col .col-text01 .number{
			font-size: 18px;
		}
		.cus-privacypolicy-col .col-text02{
			padding-left: 15px;
		}

		.cus-privacypolicy-col02 .col02-text01{
			padding: 4px 10px;
			font-size: 16px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-privacypolicy-title{
			padding: 14px 0 16px 42px;
			font-size: 17px;
		}
	
		.cus-privacypolicy-col{
			padding: 15px;
		}
		.cus-privacypolicy-bg{
			padding: 15px;
		}
		.cus-privacypolicy-col .col-text01{
			font-size: 16px;
		}
		.cus-privacypolicy-col .col-text01 .number{
			font-size: 18px;
		}
		.cus-privacypolicy-col .col-text02{
			padding-left: 10px;
		}

		.cus-privacypolicy-col02 .col02-text01{
			padding: 4px 10px;
			font-size: 17px;
		}
	}







