@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)
 
	-------------------

	初期設定（変更不要）
	-ドロップダウンメニュー内設定

	ヘッダーレイアウト（PCのベースレイアウト・ホバー動作）
	-追加ボタン（svgアイコン付き）
	
	ヘッダースクロール時にバックドロップフィルター

	バーガーメニューCSS 外観
	バーガーメニューCSS 内容
	
	ヘッダー印刷専用スタイル
	
	フッターレイアウト

*/

/* 初期設定（変更不要） */
	#nav-overlay{/* メニュー外クリックで閉じる為の追加オーバーレイ */
		display: block !important;
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.5);
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.6s ease, visibility 0.6s;
	}
	#nav-overlay.is-active{
		visibility: visible;
		opacity: 1;
	}

	.cus-header-normal .header-nav .header-nav-col{/* Bootstrap設定上書き */
		display: -webkit-flex !important;
		display: flex !important;
		justify-content: flex-end !important;
		text-align: right !important;
	}

	.dropdown-toggle::after{/* ドロップダウンメニューのアイコン変更 */
		display: none !important;
	}
	.plus-minus-icon{
		display: inline-block;
		position: relative;
		top: -2px;
		width: 10px;
		height: 10px;
		margin-left: 4px; /* 文字との間隔 */
		vertical-align: middle;
	}
	.plus-minus-icon::before{
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: currentColor;
		transform: translateY(-50%);
	}
	.plus-minus-icon::after{
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		width: 1px;
		height: 100%;
		background-color: currentColor;
		transform: translateX(-50%);
		transition: transform 0.3s ease, opacity 0.3s ease;
	}
	@media screen and (min-width: 992px){
		.dropdown:hover .plus-minus-icon::after{/* +アイコンアニメーション */
			transform: translateX(-50%) rotate(90deg);
			opacity: 0;
		}
		.cus-header-normal .dropdown-menu::before{/* マウス移動時ドロップダウンメニューが消えないように */
			content: "";
			position: absolute;
			top: -20px;
			left: 0;
			width: 100%;
			height: 20px;
			background: transparent;
		}

    .dropdown > .dropdown-menu{
			display: block !important;
			visibility: hidden;
			opacity: 0;
			transform: translateY(-10px);
			transition: all 0.5s ease;

			background-color: rgba(255, 255, 255, 0.7) !important;
			border: none;
			box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
			padding: 20px !important;
			margin-top: 20px !important;
			min-width: 200px;
			pointer-events: none;
    }
		.dropdown:hover > .dropdown-menu{/* ドロップダウンメニューの位置・背景色調整 */
			visibility: visible;
			opacity: 1;
			transform: translateY(0);
			pointer-events: auto;
		}
		.cus-header-normal .dropdown-menu li{
			border-bottom: 1px solid #c2c7c6 !important;
		}
		.cus-header-normal .dropdown-menu li:last-child{
			border-bottom: none !important;
		}
		.cus-header-normal .dropdown-item{/* ドロップダウンメニュー内部調整 */
			overflow: hidden;
			position: relative;
			padding: 10px 20px !important;
			background-color: transparent;
			min-width: 290px;/* 最小幅設定 */
			color: inherit;
			transition: all 0.2s ease;
		}
		.cus-header-normal .dropdown-item::before{
			content: ''; /* 文字は入れない */
			position: absolute;
			top: 50%;
			right: 10px;
			width: 20px;
			aspect-ratio: 1 / 1;
			background-color: #30b7a8;
			transform: translateY(-50%);
			z-index: 1;
		}
		.cus-header-normal .dropdown-item::after{
			content: '\f061';
			font-family: "Font Awesome 6 Free";
			font-weight: 900;
			font-size: 10px;
			color: white;
			position: absolute;
			top: 50%;
			right: 20px; /* (right:10px + 枠の幅20pxの中央付近) */
			transform: translate(50%, -50%); /* 枠内の中央付近に配置 */
			transition: all 0.3s ease;
			z-index: 2;
		}
		.cus-header-normal .dropdown-item:hover::after{
			animation: arrowLoop 0.4s forwards;
		}
		@keyframes arrowLoop {
			0% {
        transform: translate(50%, -50%);
        opacity: 1;
			}
			49% {
        transform: translate(150%, -50%);
        opacity: 0;
			}
			50% {
        transform: translate(-150%, -50%);
        opacity: 0;
			}
			100% {
        transform: translate(50%, -50%);
        opacity: 1;
			}
		}
		.dropdown:hover > .dropdown-menu{
			visibility: visible;
			opacity: 1;
		}
	}
	@media screen and (max-width: 991.98px) {
		.dropdown-toggle[aria-expanded="true"] .plus-minus-icon::after{
			opacity: 0;
		}
	}

	@media screen and (min-width: 991.98px) {/* ドロップダウンボタンをマウスオーバーで利用 */
		.dropdown:hover > .dropdown-menu{
			display: block !important;
		}
	}


/* ヘッダーレイアウト（PCのベースレイアウト・ホバー動作） */
	.cus-header-normal{/* 追従型 */
		position: fixed;
		top: 10px;
		left : 2%;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		background-color: white !important;
		box-shadow: 0 0 5px #d0d0d0;
		padding: 6px 10px;
		width: 96%;
		font-size: 18px;
		z-index: 999;
	}
	.cus-header-normal .header-logo{/* ロゴの表示サイズ */
		flex: 0 0 278px;
    white-space: nowrap;
	}
	.cus-header-normal .header-nav .header-nav-brand{/* スマホ用ロゴは今は非表示 */
		display: none;
	}

	.cus-header-normal .header-nav{/* メニュー欄右寄せ */
		flex-grow: 1; 
		display: flex;
		justify-content: flex-end;
		align-items: center;
    text-align: right;
	}

	.cus-header-normal .header-nav-col li{/* リンク間隔（0でも標準間隔あり） */
		padding-right: 20px !important;
	}


	@media screen and (min-width: 992px) {/* ホバー動作 PCサイズのみ反映 */
		.cus-header-normal .header-nav-col li a{
			position: relative;
			padding: 0;
			text-decoration: none;
			transition: font-weight 0.5s ease;
		}
		.cus-header-normal .header-nav-col li a::after{
			content: '';
			position: absolute;
			bottom: 0px;
			left: 10%;
			background-color: #ff0000;
			width: 80%;
			height: 2px;
			transform: scaleX(0);
			transform-origin: right center;
			transition: transform 0.5s ease;
		}
		.cus-header-normal .header-nav-col li a:hover{
			font-weight: 700;
		}
		.cus-header-normal .header-nav-col li a:hover::after{
			transform: scaleX(1);
			transform-origin: left center;
		}
		.cus-header-normal .header-nav-col li .active{
			font-weight: 700;
		}
		.cus-header-normal .header-nav-col li .active::after{
			transform: scaleX(1);
		}
	}

	.cus-header-ic-bt{/* 追加ボタン */
		overflow: hidden;
		padding: 0 10px !important;
		margin: 0 !important;
		height: 50px;
	}
	.cus-header-ic-bt a{
		overflow: hidden;
		position: relative;
		display: inline-block;
		border: #ff0000 solid 1px;
		background-color: #ff0000;
		padding: 8px 20px;
		color: white;
		text-decoration: none;
		transform: skewX(-10deg);
		transition: color 0.4s ease;
	}
	.cus-header-ic-bt a::before{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		background-color: white;
		width: 100%;
		height: 100%;
		transform: scaleX(0);
		transform-origin: right center;
		transition: transform 0.4s ease;
		z-index: 0;
	}
	.cus-header-ic-bt a span{
		position: relative;
		display: inline-block;
		transform: skewX(10deg);
		z-index: 1;
	}
	.cus-header-ic-bt a:hover{
		color: #ff0000;
	}
	.cus-header-ic-bt a:hover::before{
		transform: scaleX(1);
		transform-origin: left center;
	}

	@media screen and (max-width: 1349.98px) {
		.cus-header-normal .header-logo{/* ロゴの表示サイズ */
			flex: 0 0 20vw;
		}
	
		.cus-header-normal .header-nav-col li{/* リンク間隔（0でも標準間隔あり） */
			padding-right: 0px !important;
		}
	}
	@media (max-width: 991.98px) {/* バーガーメニュー時 */
		.cus-header-ic-bt{margin: 0 0 10px 0;}
		.cus-header-ic-bt.bt-margin-right{margin-right: 0px;}
		.cus-header-ic-bt a{
			padding: 14px 10px;
			text-align: center;
		}
	}

/* ヘッダースクロール時にバックドロップフィルター */
	@media screen and (min-width: 992px) {
		.cus-header-normal{
			background-color: rgba(255, 255, 255, 0);
			backdrop-filter: blur(0px);
			-webkit-backdrop-filter: blur(0px);
			
			/* スクロール連動アニメーションの設定 */
			animation: headerGlass linear both;
			animation-timeline: scroll(root);
			animation-range: 200px 400px; /* 2px〜400pxの間でアニメーションを変化 */
		}

		/* すりガラスへ変化するアニメーションの中身 */
		@keyframes headerGlass{
			to {
				background-color: rgba(255, 255, 255, 0.75);
				backdrop-filter: blur(12px);/* すりガラスのボカシ具合 */
				-webkit-backdrop-filter: blur(12px);/* Safari用保守 */
				box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05); /* 軽い陰影で立体感をプラス */
			}
		}
	}


/* バーガーメニューCSS 外観 */
	@media screen and (max-width: 991.98px) {/* 991.98px以下でバーガーメニューに切り替え */
		.cus-header-normal{/* 追従型 */
			top: 0px;
			left : 0%;
			box-shadow: none;
			width: 100%;
			font-size: 16px;
		}

		.header-nav .navbar,
		.header-toggler-bg{/* padding初期化 */
      padding: 0 !important; 
    }

		.cus-header-normal{
			display: block;
			background-color: transparent;
			box-shadow: none;
			border-radius: 0px;
			padding: 0;
			margin: 0;
			width: 100%;
		}

		.cus-header-normal .header-logo{display: none;}/* 表示ロゴの変更 */
		.cus-header-normal .header-nav .header-nav-brand{
			display: block;
			position: relative;
			padding: 5px;
			z-index: 1005;
		}
		.cus-header-normal .header-nav .header-nav-brand img{/* バーガーメニュー表示ロゴのサイズ・位置 */
			position: relative;
			top: 4px;
			width: 240px !important;
		}

		.cus-header-normal .header-nav{
			display: block;
			text-align: left;
		}
		.header-toggler-bg{
			position: relative;
			top: 0px;
			z-index: 1005;
		}
		.header-toggler-bg::before{
			content: '';
			position: absolute;
			top: 0px;
			left: 0px;
			background-color: #712020;/* ヘッダ背景色 */
			width: 100%;
			height: 65px;
			z-index: -1;
		}

		.cus-header-ic-bt{/* 追加ボタン */
			margin: 0 auto !important;
			height: auto;
			text-align: center;
		}
		.cus-header-ic-bt a{
			overflow: visible;
			padding: 12px 40px;
		}

		/* バーガーメニュー三本線 */
		.navbar-light .navbar-toggler{
			border-color: rgba(0, 0, 0, 0);
			outline: none;
		}
		.navbar-light .navbar-toggler-icon{
			background-image: none;
		}
		.navbar-toggler-icon{
			position: relative;
			top: 5px;
			width: 40px;
			height: 40px;
			background: none;
			appearance: none;
			cursor: pointer;
			&,
			span{
				display: inline-block;
				transition: all 0.4s;
				box-sizing: border-box;
			}
			span{
				position: absolute;
				left: 5px;
				width: 80%;
				height: 2px;
				background-color: white;
				border-radius: 1px;
				&:nth-of-type(1) {
					top: 8px;
				}
				&:nth-of-type(2) {
					top: 20px;
				}
				&:nth-of-type(3) {
					top: 32px;
				}
			}
		}
		.navbar-toggler[aria-expanded='true'] {
			span.navbar-toggler-icon {
				span {
					&:nth-of-type(1) {
						transform: translateY(12px) rotate(-315deg);
					}
					&:nth-of-type(2) {
						opacity: 0;
					}
					&:nth-of-type(3) {
						transform: translateY(-12px) rotate(315deg);
					}
				}
			}
		}
	
		.navbar-toggler{/* バーガーメニューの黒い枠を完全に消す */
			border: none !important;
			outline: none !important;
			box-shadow: none !important;
		}
		.navbar-toggler:focus,
		.navbar-toggler:active,
		.navbar-toggler:focus-visible{/* フォーカス時（クリック・タップ時）の枠も消す */
			border: none !important;
			outline: none !important;
			box-shadow: none !important;
		}
		.header-nav-brand, 
		.navbar-toggler{
			position: relative;
			z-index: 1010; /* 最前面 */
		}
	}


/* バーガーメニューCSS 内容 */
	@media screen and (max-width: 991.98px) {
		.navbar-collapse{/* 内容量が多い際にスクロールさせる */
			overflow-y: auto !important;
			display: block !important;
			position: fixed;
			top: 65px;
			left: 0px;
			overflow: auto !important;
			background-color: rgba(82, 19, 19, 0.9);/* メニュー背景色 */
			padding: 20px;
			width: 90%;
			height: 100vh;
			z-index: 1001;
			transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s;
			transform: translateY(-100%);
			opacity: 0;
			visibility: hidden;
		}
		.navbar-collapse.show{
			transform: translateY(0);
			opacity: 1;
			visibility: visible;
		}

		.cus-header-normal .header-nav-col{
			padding: 0 !important;
			margin: 0 0 20px 0 !important;
			width: 100% !important;
			opacity: 0;
			transition: opacity 0.3s ease 0.2s;
		}
		.navbar-collapse.show .header-nav-col{
			opacity: 1;
		}
		.cus-header-normal .header-nav-col li{
			text-align: left;
			border-bottom: 1px solid rgba(255, 255, 255, 0.4);
			list-style: none;
		}
		.cus-header-normal .header-nav-col li a{
			overflow: hidden;
			position: relative;
			display: block;
			padding: 18px 20px !important;
			font-size: 16px;
			color: white !important;
			text-decoration: none;
		}
		.cus-header-normal .header-nav-col li a::after{
			content: '';
			position: absolute;
			top: 50%;
			right: 20px;
			transform: translateY(-50%);
			width: 24px;
			height: 24px;
			background-color: #ff0000;
			border-radius: 4px;
			z-index: 1;
		}
		.cus-header-normal .header-nav-col li a::before{
			content: '\f061';
			font-family: "Font Awesome 6 Free";
			font-weight: 900;
			font-size: 10px;
			color: white;
			position: absolute;
			top: 50%;
			right: 27px; 
			transform: translateY(-50%);
			z-index: 2;
			transition: all 0.3s ease;
		}
		.cus-header-normal .header-nav-col li a:hover::before{
			animation: arrowLoopSP 0.4s forwards;
		}
		.cus-header-normal .header-nav-col li .dropdown-toggle::after,
		.cus-header-normal .header-nav-col li .dropdown-toggle::before{
			display: none !important;
		}
		@keyframes arrowLoopSP {
			0% {
				transform: translateY(-50%) translateX(0);
				opacity: 1;
			}
			49% {
				transform: translateY(-50%) translateX(20px);
				opacity: 0;
			}
			50% {
				transform: translateY(-50%) translateX(-20px);
				opacity: 0;
			}
			100% {
				transform: translateY(-50%) translateX(0);
				opacity: 1;
			}
		}

		.cus-header-normal .header-nav-col li .active{
			background-color: red;
			color: white;
		}

		.cus-header-normal .header-nav-col .dropdown-menu{/* スマホ時ドロップダウンメニュー */
			background: rgba(255, 255, 255, 0.1) !important;
			padding: 0;
			margin: 0;
		}
		.cus-header-normal .header-nav-col .dropdown-item{
			padding-left: 40px !important;
			font-size: 14px;
		}
		.cus-header-normal .header-nav-col .dropdown-item:hover{
			background-color: inherit !important;
		}
		.cus-header-normal .dropdown-menu li{
			border-bottom: 1px solid rgba(255, 255, 255, 0.4);
		}
		.cus-header-normal .dropdown-menu li:last-child{
			border-bottom: none !important;
		}
	}
	
	/* ヘッダー印刷専用スタイル */
	@media print {
		/*
			印刷時はPC版ヘッダーとして表示
		*/
		.cus-header-normal{
			position: relative !important;
			top: 0 !important;
			left: 0 !important;
			display: flex !important;
			align-items: center !important;
			box-sizing: border-box !important;
			border-bottom: 1px solid #d0d0d0 !important;
			background: white !important;
			background-color: white !important;
			box-shadow: none !important;
			backdrop-filter: none !important;
			-webkit-backdrop-filter: none !important;
			padding: 6px 10px !important;
			margin: 0 0 15px 0 !important;
			width: 100% !important;
			min-height: 50px !important;
			animation: none !important;
			transform: none !important;
			z-index: auto !important;
		}

		/*
			PC用ロゴを表示
		*/
		.cus-header-normal .header-logo{
			display: block !important;
			flex: 0 0 190px !important;
			padding: 0 !important;
			margin: 0 !important;
			line-height: 1 !important;
			white-space: nowrap !important;
		}

		.cus-header-normal .header-logo a{
			display: block !important;
		}

		.cus-header-normal .header-logo img{
			display: block !important;
			width: 190px !important;
			max-width: 100% !important;
			height: auto !important;
		}

		/*
			スマートフォン用ロゴとバーガーボタンは非表示
		*/
		.cus-header-normal .header-nav .header-nav-brand,
		.cus-header-normal .navbar-toggler,
		#nav-overlay{
			display: none !important;
		}

		/*
			ナビゲーション全体
		*/
		.cus-header-normal .header-nav{
			flex: 1 1 auto !important;
			display: flex !important;
			justify-content: flex-end !important;
			align-items: center !important;
			padding: 0 !important;
			margin: 0 !important;
			text-align: right !important;
		}

		.cus-header-normal .header-nav .navbar{
			display: flex !important;
			justify-content: flex-end !important;
			align-items: center !important;
			padding: 0 !important;
			margin: 0 !important;
			width: 100% !important;
		}

		.cus-header-normal .header-toggler-bg{
			display: flex !important;
			justify-content: flex-end !important;
			align-items: center !important;
			position: static !important;
			padding: 0 !important;
			margin: 0 !important;
			width: 100% !important;
			background: none !important;
		}

		.cus-header-normal .header-toggler-bg::before{
			display: none !important;
		}

		/*
			スマートフォン用の固定メニュー設定を解除して表示
		*/
		.cus-header-normal .navbar-collapse{
			overflow: visible !important;
			display: flex !important;
			flex: 1 1 auto !important;
			justify-content: flex-end !important;
			align-items: center !important;
			position: static !important;
			top: auto !important;
			left: auto !important;
			background: transparent !important;
			padding: 0 !important;
			margin: 0 !important;
			width: auto !important;
			height: auto !important;
			max-height: none !important;
			opacity: 1 !important;
			visibility: visible !important;
			transform: none !important;
			transition: none !important;
			z-index: auto !important;
		}

		/*
			メニューをPCと同じ横並びにする
		*/
		.cus-header-normal .header-nav-col{
			display: flex !important;
			flex-direction: row !important;
			flex-wrap: nowrap !important;
			justify-content: flex-end !important;
			align-items: center !important;
			padding: 0 !important;
			margin: 0 8px 0 0 !important;
			width: auto !important;
			opacity: 1 !important;
			visibility: visible !important;
			transform: none !important;
			transition: none !important;
		}

		.cus-header-normal .header-nav-col li{
			display: block !important;
			flex: 0 0 auto !important;
			border: none !important;
			padding: 0 6px !important;
			margin: 0 !important;
			list-style: none !important;
			white-space: nowrap !important;
		}

		.cus-header-normal .header-nav-col li a{
			display: block !important;
			position: relative !important;
			border: none !important;
			background: transparent !important;
			padding: 5px 4px !important;
			margin: 0 !important;
			font-size: 11px !important;
			font-weight: 400 !important;
			line-height: 1.4 !important;
			color: #1f2123 !important;
			text-decoration: none !important;
			white-space: nowrap !important;
		}

		.cus-header-normal .header-nav-col li a::before{
			display: none !important;
			content: none !important;
		}

		.cus-header-normal .header-nav-col li a::after{
			display: none !important;
			content: none !important;
		}

		.cus-header-normal .header-nav-col li .active{
			font-weight: 700 !important;
		}

		/*
			お問い合わせボタン
		*/
		.cus-header-ic-bt{
			overflow: visible !important;
			flex: 0 0 auto !important;
			padding: 0 !important;
			margin: 0 !important;
			height: auto !important;
			white-space: nowrap !important;
		}

		.cus-header-ic-bt a{
			display: block !important;
			overflow: visible !important;
			border: 1px solid #ff0000 !important;
			background-color: #ff0000 !important;
			padding: 6px 12px !important;
			font-size: 10px !important;
			line-height: 1.4 !important;
			color: white !important;
			text-decoration: none !important;
			transform: skewX(-10deg) !important;
		}

		.cus-header-ic-bt a::before{
			display: none !important;
			content: none !important;
		}

		.cus-header-ic-bt a span{
			display: inline-block !important;
			position: relative !important;
			color: white !important;
			transform: skewX(10deg) !important;
		}

		/*
			印刷時の不要なアニメーションを停止
		*/
		.cus-header-normal *,
		.cus-header-normal *::before,
		.cus-header-normal *::after{
			animation: none !important;
			transition: none !important;
		}
	}

	/* フッターレイアウト */
	.cus-footer{
		overflow: hidden;
		position: relative;
		padding: 40px 0;
	}

	.cus-footer .footer-contact{
		background: rgba(0, 0, 0, 0.7);
		padding: 60px 120px;
		margin: 0 1.5% 100px 1.5%;
		width: auto;
		color: white;
	}

	.cus-footer .footer-contact .contact-bn{
		display: flex;
		gap: 30px;
	}
	.cus-footer .footer-contact .contact-bn .bn-phone,
	.cus-footer .footer-contact .contact-bn .bn-mail{
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 50%;
		height: 180px;
		font-family: "Zalando Sans Expanded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		font-style: normal;
		font-size: 48px;
		text-align: center;
		text-decoration: none;
		transform: skewX(-25deg);
	}
	.cus-footer .footer-contact .contact-bn .bn-phone{
		border: white solid 1px;
		background-color: white;
		color: #1f2123;
	}
	.cus-footer .footer-contact .contact-bn .bn-mail{
		overflow: hidden;
		position: relative;
		border: #ff0000 solid 1px;
		background-color: #ff0000;
		color: white;
		transition: color 0.4s ease;
	}
	.cus-footer .footer-contact .contact-bn .bn-mail::before{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		background-color: white;
		width: 100%;
		height: 100%;
		transform: scaleX(0);
		transform-origin: right center;
		transition: transform 0.4s ease;
		z-index: 0;
	}
	.cus-footer .footer-contact .contact-bn .bn-phone .text,
	.cus-footer .footer-contact .contact-bn .bn-mail .text{
		position: relative;
		transform: skewX(25deg);
	}
	.cus-footer .footer-contact .contact-bn .bn-phone .text .min,
	.cus-footer .footer-contact .contact-bn .bn-mail .text .min{
		position: absolute;
		top: -16px;
		left: -70px;
		font-size: 20px;
	}
	.cus-footer .footer-contact .contact-bn .bn-mail .text{
		position: relative;
		transform: skewX(25deg);
		z-index: 1;
	}
	.cus-footer .footer-contact .contact-bn .bn-mail .text::before{
		content: '\f105';
		position: absolute;
		top: 50%;
		right: -60px;
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		font-size: 24px;
		transform: translateY(-50%) translateX(0);
		transition: transform 0.4s ease;
	}
	.cus-footer .footer-contact .contact-bn .bn-mail:hover{
		color: #ff0000;
	}
	.cus-footer .footer-contact .contact-bn .bn-mail:hover::before{
		transform: scaleX(1);
		transform-origin: left center;
	}
	.cus-footer .footer-contact .contact-bn .bn-mail:hover .text::before{
		transform: translateY(-50%) translateX(10px);
	}

	.cus-footer02-text01{
		font-size: 48px;
		font-weight: 700;
		color: white;
	}

	.cus-footer02-menu{
		display: flex;
		justify-content: flex-end;
		gap: 40px;
	}
	.cus-footer02-menu li a{
		padding-bottom: 2px;
		font-weight: 700;
		color: white;
		text-decoration: none;
	}
	.cus-footer02-menu li a:hover{
		border-bottom: 1px solid #ff0000;
	}

	.cus-footer02-text02{
		margin: 0 0 0 auto;
		width: 400px;
		font-size: 16px;
		color: white;
	}
	.cus-footer02-text02 li{
		display: flex;
		justify-content: flex-end;
		border-bottom: rgba(255, 255, 255, 0.4) solid 1px;
		padding-bottom: 14px;
		margin-bottom: 14px;
	}
	.cus-footer02-text02 li .text{
		flex-shrink: 0;
		margin: 0;
		width: 235px;
		text-align: left;
	}
	.cus-footer02-text02 li .number{
		flex: 1;
		text-align: right;
	}

	.cus-footer02-text03{
		font-size: 16px;
		color: white;
	}

	.cus-footer02-text04{
		font-size: 14px;
		color: white;
		text-align: right;
	}

	.cus-footer .footer-bg{
		position: absolute;
		top: -8%;
		left: 0;
		background-image: url("../img/site/footer-bg.jpg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		width: 100%;
		height: 116%;
		transform: translate3d(0, 0, 0);
		will-change: transform;
		pointer-events: none;
		z-index: -1;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-footer{
			padding: 30px 0;
		}
	
		.cus-footer .footer-contact{
			padding: 40px 80px;
			margin: 0 1.5% 80px 1.5%;
		}
	
		.cus-footer .footer-contact .contact-bn{
			gap: 25px;
		}
		.cus-footer .footer-contact .contact-bn .bn-phone,
		.cus-footer .footer-contact .contact-bn .bn-mail{
			width: 50%;
			height: 140px;
			font-size: 38px;
		}
		.cus-footer .footer-contact .contact-bn .bn-phone .text .min,
		.cus-footer .footer-contact .contact-bn .bn-mail .text .min{
			top: -16px;
			left: -20px;
			font-size: 19px;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail .text::before{
			right: -50px;
			font-size: 22px;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail:hover{
			color: #ff0000;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail:hover::before{
			transform: scaleX(1);
			transform-origin: left center;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail:hover .text::before{
			transform: translateY(-50%) translateX(10px);
		}
	
		.cus-footer02-text01{
			font-size: 42px;
		}
	
		.cus-footer02-menu{
			gap: 30px;
		}
	
		.cus-footer02-text02{
			width: 380px;
			font-size: 16px;
		}
		.cus-footer02-text02 li .text{
			width: 225px;
		}
	
		.cus-footer02-text03{
			font-size: 16px;
		}
	
		.cus-footer .footer-bg{
			top: -12%;
		}
	}
	@media (max-width: 991.98px) {
		.cus-footer{
			padding: 20px 0;
		}
	
		.cus-footer .footer-contact{
			padding: 30px 40px;
			margin: 0 1.5% 60px 1.5%;
		}
	
		.cus-footer .footer-contact .contact-bn{
			gap: 20px;
		}
		.cus-footer .footer-contact .contact-bn .bn-phone,
		.cus-footer .footer-contact .contact-bn .bn-mail{
			width: 50%;
			height: 130px;
			font-size: 30px;
		}
		.cus-footer .footer-contact .contact-bn .bn-phone .text .min,
		.cus-footer .footer-contact .contact-bn .bn-mail .text .min{
			top: -18px;
			left: -26px;
			font-size: 18px;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail .text::before{
			right: -40px;
			font-size: 20px;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail:hover{
			color: #ff0000;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail:hover::before{
			transform: scaleX(1);
			transform-origin: left center;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail:hover .text::before{
			transform: translateY(-50%) translateX(10px);
		}
	
		.cus-footer02-text01{
			font-size: 34px;
		}
	
		.cus-footer02-menu{
			gap: 30px;
		}
	
		.cus-footer02-text02{
			width: 350px;
			font-size: 15px;
		}
		.cus-footer02-text02 li .text{
			width: 205px;
		}
	
		.cus-footer02-text03{
			font-size: 15px;
		}
	
		.cus-footer .footer-bg{
			top: -14%;
		}
	}
	@media print {
		.cus-footer{
			padding: 20px 0;
		}
	
		.cus-footer .footer-contact{
			padding: 20px 30px;
			margin: 0 1.5% 40px 1.5%;
		}
	
		.cus-footer .footer-contact .contact-bn{
			gap: 15px;
		}
		.cus-footer .footer-contact .contact-bn .bn-phone,
		.cus-footer .footer-contact .contact-bn .bn-mail{
			width: 50%;
			height: 120px;
			font-size: 22px;
		}
		.cus-footer .footer-contact .contact-bn .bn-phone .text .min,
		.cus-footer .footer-contact .contact-bn .bn-mail .text .min{
			top: -18px;
			left: -26px;
			font-size: 16px;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail .text::before{
			right: -30px;
			font-size: 18px;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail:hover{
			color: #ff0000;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail:hover::before{
			transform: scaleX(1);
			transform-origin: left center;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail:hover .text::before{
			transform: translateY(-50%) translateX(10px);
		}
	
		.cus-footer02-text01{
			font-size: 26px;
		}
	
		.cus-footer02-menu{
			gap: 10px;
			font-size: 15px;
		}
	
		.cus-footer02-text02{
			width: 350px;
			font-size: 13px;
		}
		.cus-footer02-text02 li .text{
			width: 205px;
		}
	
		.cus-footer02-text03{
			font-size: 13px;
		}
	
		.cus-footer .footer-bg{
			top: 0;
			width: 100%;
			height: 100%;
			transform: none;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-footer{
			padding: 20px 0;
		}
	
		.cus-footer .footer-contact{
			padding: 20px;
			margin: 0 3% 40px 3%;
		}
	
		.cus-footer .footer-contact .contact-bn{
			display: block;
			gap: 0px;
		}
		.cus-footer .footer-contact .contact-bn .bn-phone{
			margin-bottom: 20px;
		}
		.cus-footer .footer-contact .contact-bn .bn-phone,
		.cus-footer .footer-contact .contact-bn .bn-mail{
			width: auto;
			height: 120px;
			font-size: 22px;
			transform: skewX(-12deg);
		}
		.cus-footer .footer-contact .contact-bn .bn-phone .text,
		.cus-footer .footer-contact .contact-bn .bn-mail .text{
			transform: skewX(12deg);
		}
		.cus-footer .footer-contact .contact-bn .bn-phone .text .min,
		.cus-footer .footer-contact .contact-bn .bn-mail .text .min{
			top: -18px;
			left: -40px;
			font-size: 16px;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail .text{
			position: relative;
			transform: skewX(12deg);
			z-index: 1;
		}
		.cus-footer .footer-contact .contact-bn .bn-mail .text::before{
			right: -30px;
			font-size: 16px;
		}
	
		.cus-footer02-text01{
			font-size: 24px;
			text-align: center;
		}
	
		.cus-footer02-menu{
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			border-top: white solid 1px;
			gap: 0px;
		}
		.cus-footer02-menu li{
			width: 50%;
		}
		.cus-footer02-menu li a{
			display: block;
			border-bottom: white solid 1px;
			padding: 8px 0;
			text-align: center;
		}
		.cus-footer02-menu li:nth-child(2n) a{
			border-left: white solid 1px;
		}
		.cus-footer02-menu li a:hover{
			border-bottom: 1px solid #ff0000;
		}
	
		.cus-footer02-text02{
			margin: 0;
			width: auto;
			font-size: 15px;
		}
		.cus-footer02-text02 li{
			display: block;
			padding-bottom: 12px;
			margin-bottom: 12px;
		}
		.cus-footer02-text02 li .text{
			display: block;
			margin: 0;
			width: auto;
		}
		.cus-footer02-text02 li .number{
			display: block;
			text-align: right;
		}
	
		.cus-footer02-text03{
			font-size: 15px;
		}
	
		.cus-footer02-text04{
			display: block;
			width: 100%;
			text-align: center;
		}
	
		.cus-footer .footer-bg{
			top: 0;
			width: 100%;
			height: 100%;
			transform: none;
		}
	}





