@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に関する初期設定・リセット
	PCサイズでのレイアウトCSS
	バーガーメニューCSS
	ヘッダー印刷専用CSS
	スマホ最小サイズ時CSS
	フッターレイアウト
*/


/* Bootstrapに関する初期設定・リセット */
	body.nav-open{
		overflow: hidden;
	}
	.cus-header .cus-header-logo,
	.cus-header p,
	.cus-header ul{
		margin: 0;
	}
	.cus-header .cus-header-logo{
		line-height: 1;
	}
	.cus-header a{
		color: inherit;
		text-decoration: none;
	}
	.cus-header img{
		display: block;
		max-width: 100%;
		height: auto;
	}
	.cus-header button{
		margin: 0;
		padding: 0;
		background: none;
		border: none;
		border-radius: 0;
		color: inherit;
		font: inherit;
	}
	.cus-header .navbar-toggler:focus,
	.cus-header .dropdown-toggle:focus{
		box-shadow: none;
	}
	.cus-header a:focus-visible,
	.cus-header button:focus-visible{
		outline: 2px solid #1a6745;
		outline-offset: 4px;
	}
	.cus-header .dropdown-toggle::after{
		display: inline-block;
		width: 0;
		height: 0;
		margin-left: 7px;
		vertical-align: 3px;
		border-top: 6px solid currentColor;
		border-right: 5px solid transparent;
		border-bottom: 0;
		border-left: 5px solid transparent;
		transition: transform 0.3s ease;
	}
	#nav-overlay{
		display: block;
		position: fixed;
		inset: 0;
		background-color: rgba(0, 0, 0, 0.6);
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.4s ease, visibility 0.4s ease;
	}
	#nav-overlay.is-active{
		opacity: 1;
		visibility: visible;
	}
	
	
/* PCサイズでのレイアウトCSS */
	@media screen and (min-width: 992px){
		.cus-header{
			display: flex;
			align-items: center;
			background-color: #fefdf4;
			padding: 20px 2%;
			width: 100%;
		}
		/* 100pxスクロール後 */
		.cus-header.is-compact{
			box-shadow: 0 5px 18px rgba(0, 0, 0, 0.1);
		}
	
		.cus-header .cus-header-logo{
			flex: 0 0 auto;
			width: clamp(200px, 17vw, 223px);
		}
		.cus-header .navbar-toggler{
			display: none;
		}
		.cus-header .navbar-collapse.collapse{
			display: flex !important;
			flex: 1 1 auto;
			align-items: center;
			justify-content: flex-end;
			min-width: 0;
		}
		.cus-header-menu{
			display: flex;
			align-items: center;
			justify-content: flex-end;
			gap: clamp(14px, 1.35vw, 28px);
		}
		.cus-header-menu > li{
			position: relative;
			flex: 0 0 auto;
		}
		.cus-header-menu > li > a,
		.cus-header-menu > li > .dropdown-toggle{
			display: inline-flex;
			align-items: center;
			padding: 12px 40px 0px 0;
			font-size: 18px;
			font-weight: 700;
			line-height: 1.5;
			white-space: nowrap;
			transition: all 0.3s 0s ease;
		}
		.cus-header-menu > li > a:hover,
		.cus-header-menu > li > a.active,
		.cus-header-menu > li > .dropdown-toggle:hover{
			color: #1a6745;
			transition: all 0.3s 0s ease;
		}
		
		.cus-header-menu > li > a{
			position: relative;
			text-shadow: 
				#fefdf4 2px 0px,  #fefdf4 -2px 0px,
				#fefdf4 0px -2px, #fefdf4 0px 2px,
				#fefdf4 2px 2px , #fefdf4 -2px 2px,
				#fefdf4 2px -2px, #fefdf4 -2px -2px,
				#fefdf4 1px 2px,  #fefdf4 -1px 2px,
				#fefdf4 1px -2px, #fefdf4 -1px -2px,
				#fefdf4 2px 1px,  #fefdf4 -2px 1px,
				#fefdf4 2px -1px, #fefdf4 -2px -1px;
			z-index: 3;
		}
		.cus-header-menu > li > a .ic{
			opacity: 0.5;
			position: absolute;
			bottom: 0px;
			right: 12px;
			z-index: -1;
			transition: all 0.5s 0s ease;
		}
		.cus-header-menu > li > a.active .ic,
		.cus-header-menu > li > a:hover .ic{
			opacity: 1;
			transform: rotate(8deg) scale(1.1, 1.1);
			transition: all 0.5s 0s ease;
		}
	
		.cus-header .dropdown-menu::before{
			content: "";
			position: absolute;
			top: -20px;
			left: 0;
			width: 100%;
			height: 20px;
		}
		.cus-header .dropdown-menu{
			display: block;
			position: absolute;
			top: calc(100% + 20px);
			left: 50%;
			min-width: 310px;
			margin: 0;
			padding: 12px 20px;
			background-color: rgba(255, 255, 255, 0.96);
			border: none;
			border-radius: 0;
			box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
			opacity: 0;
			visibility: hidden;
			pointer-events: none;
			transform: translate(-50%, -10px);
			transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
		}
		.cus-header .dropdown:hover > .dropdown-menu,
		.cus-header .dropdown:focus-within > .dropdown-menu,
		.cus-header .dropdown.is-open > .dropdown-menu{
			opacity: 1;
			visibility: visible;
			pointer-events: auto;
			transform: translate(-50%, 0);
		}
		.cus-header .dropdown:hover > .dropdown-toggle::after,
		.cus-header .dropdown:focus-within > .dropdown-toggle::after,
		.cus-header .dropdown.is-open > .dropdown-toggle::after{
			transform: rotate(180deg);
		}
		.cus-header .dropdown-menu li{
			border-bottom: 1px solid #c2c7c6;
		}
		.cus-header .dropdown-menu li:last-child{
			border-bottom: none;
		}
		.cus-header .dropdown-item{
			overflow: hidden;
			position: relative;
			padding: 12px 42px 12px 5px;
			background-color: transparent;
			color: #000000;
			font-size: 14px;
			font-weight: 500;
			white-space: nowrap;
			transition: color 0.2s ease;
		}
		.cus-header .dropdown-item::before{
			content: "";
			position: absolute;
			top: 50%;
			right: 5px;
			width: 20px;
			aspect-ratio: 1 / 1;
			background-color: #1a6745;
			transform: translateY(-50%);
		}
		.cus-header .dropdown-item::after{
			content: "\f061";
			position: absolute;
			top: 50%;
			right: 15px;
			color: #ffffff;
			font-family: "Font Awesome 6 Free";
			font-size: 10px;
			font-weight: 900;
			transform: translate(50%, -50%);
		}
		.cus-header .dropdown-item:hover,
		.cus-header .dropdown-item:focus{
			background-color: transparent;
			color: #1a6745;
		}
		.cus-header .dropdown-item:hover::after,
		.cus-header .dropdown-item:focus::after{
			animation: arrowLoop 0.4s forwards;
		}
		.cus-header-bt{
			flex: 0 0 auto;
			margin-left: clamp(18px, 2vw, 38px) !important;
		}
		.cus-header-bt a{
			isolation: isolate;
			display: inline-flex;
			overflow: hidden;
			position: relative;
			align-items: center;
			padding: 18px 22px;
			background-color: #1a6745;
			border-radius: 10px;
			color: white;
			text-decoration: none;
		}
		.cus-header-bt a::before{
			content: "";
			position: absolute;
			inset: 0;
			background-color: #053721;
			z-index: -1;
			transform: scaleX(0);
			transform-origin: left center;
			transition: transform 0.35s ease;
		}
		.cus-header-bt a:hover::before,
		.cus-header-bt a:focus-visible::before{
			transform: scaleX(1);
		}
		.cus-header-bt a:hover,
		.cus-header-bt a:focus-visible{
			color: #ffffff;
		}
		.cus-header-bt .ic{
			flex: 0 0 auto;
			width: 49px;
			margin-right: 12px;
		}
		.cus-header-bt a .ic img{transition: all 0.3s 0s ease;}
		.cus-header-bt a:hover .ic img,
		.cus-header-bt a:focus-visible .ic img{
			transform: rotate(10deg);
			transition: all 0.3s 0s ease;
		}
		.cus-header-bt .text{
			font-size: 20px;
			font-weight: 700;
			white-space: nowrap;
		}
		#nav-overlay{
			display: none;
		}
		@keyframes arrowLoop{
			0%{
				opacity: 1;
				transform: translate(50%, -50%);
			}
			49%{
				opacity: 0;
				transform: translate(150%, -50%);
			}
			50%{
				opacity: 0;
				transform: translate(-150%, -50%);
			}
			100%{
				opacity: 1;
				transform: translate(50%, -50%);
			}
		}
	}
	
	@media screen and (max-width: 1499.98px){
		.cus-header{
			padding-right: 15px;
			padding-left: 15px;
		}
		.cus-header-bt a{
			padding-right: 16px;
			padding-left: 16px;
		}
		.cus-header-bt .ic{
			width: 36px;
			margin-right: 8px;
		}
		.cus-header-bt .text{
			font-size: 17px;
		}
	}


/* バーガーメニューCSS */
	@media (max-width: 991.98px){
		.cus-header{
			--header-mobile-height: 80px;
			display: flex;
	
			/* relativeから変更 */
			position: sticky;
			top: 0;
	
			align-items: center;
			justify-content: space-between;
			min-height: var(--header-mobile-height);
			padding: 14px 5%;
			background-color: #1a6745;
			box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
			z-index: 1050;
		}
		.cus-header .cus-header-logo{
			position: relative;
			width: min(55vw, 240px);
			z-index: 1030;
		}
		.cus-header .cus-header-logo img{
			filter: brightness(0) invert(1);
		}
		.cus-header .navbar-toggler{
			display: flex;
			position: relative;
			align-items: center;
			justify-content: center;
			width: 42px;
			height: 42px;
			padding: 5px;
			border: none;
			z-index: 1030;
		}
		.cus-header .navbar-toggler-icon{
			display: block;
			position: relative;
			width: 28px;
			height: 24px;
			background: none;
		}
		.cus-header .navbar-toggler-icon span{
			display: block;
			position: absolute;
			left: 0;
			width: 28px;
			height: 2px;
			background-color: #ffffff;
			transition: top 0.3s ease, width 0.3s ease, transform 0.3s ease;
		}
		.cus-header .navbar-toggler-icon span:nth-child(1){
			top: 2px;
		}
		.cus-header .navbar-toggler-icon span:nth-child(2){
			top: 11px;
		}
		.cus-header .navbar-toggler-icon span:nth-child(3){
			top: 20px;
		}
		.cus-header .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon span:nth-child(1){
			top: 11px;
			left: 1px;
			width: 13px;
			transform: rotate(-45deg);
			transform-origin: left center;
		}
		.cus-header .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon span:nth-child(2){
			top: 11px;
		}
		.cus-header .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon span:nth-child(3){
			top: 11px;
			left: 1px;
			width: 13px;
			transform: rotate(45deg);
			transform-origin: left center;
		}
		.cus-header .navbar-collapse.collapse{
			display: flex !important;
			position: fixed;
			top: var(--header-mobile-height);
			bottom: 0;
			left: 0;
			flex-direction: column;
			width: 90%;
			height: calc(100dvh - var(--header-mobile-height));
			padding: 20px 6% 40px;
			background-color: rgba(26, 103, 69, 0.9);
			z-index: 1020;
			opacity: 0;
			visibility: hidden;
			overflow-y: auto;
			transform: translateX(-100%);
			transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease;
		}
		.cus-header .navbar-collapse.show{
			opacity: 1;
			visibility: visible;
			transform: translateX(0);
		}
		.cus-header-menu{
			width: 100%;
		}
		.cus-header-menu > li{
			border-bottom: 1px solid rgba(255, 255, 255, 0.28);
		}
		.cus-header-menu > li > a,
		.cus-header-menu > li > .dropdown-toggle{
			display: flex;
			align-items: center;
			justify-content: space-between;
			width: 100%;
			padding: 17px 5px;
			color: #ffffff;
			font-size: 17px;
			font-weight: 700;
			line-height: 1.5;
			text-align: left;
		}
		.cus-header-menu > li > .active{
			color: #1a6745;
			text-shadow: 
				#fefdf4 2px 0px,  #fefdf4 -2px 0px,
				#fefdf4 0px -2px, #fefdf4 0px 2px,
				#fefdf4 2px 2px , #fefdf4 -2px 2px,
				#fefdf4 2px -2px, #fefdf4 -2px -2px,
				#fefdf4 1px 2px,  #fefdf4 -1px 2px,
				#fefdf4 1px -2px, #fefdf4 -1px -2px,
				#fefdf4 2px 1px,  #fefdf4 -2px 1px,
				#fefdf4 2px -1px, #fefdf4 -2px -1px;
		}
		.cus-header-menu > li > a .ic img{
			opacity: 0.4;
		}
		.cus-header-menu > li > .active .ic img{
			opacity: 1;
		}
		.cus-header .dropdown.is-open > .dropdown-toggle::after{
			transform: rotate(180deg);
		}
		.cus-header .dropdown-menu{
			display: block;
			position: static;
			width: 100%;
			max-height: 0;
			margin: 0;
			padding: 0 12px;
			background-color: transparent;
			border: none;
			border-radius: 0;
			opacity: 0;
			visibility: hidden;
			overflow: hidden;
			transform: none;
			transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0.3s ease, padding 0.4s ease;
		}
		.cus-header .dropdown.is-open > .dropdown-menu{
			max-height: 700px;
			padding-top: 2px;
			padding-bottom: 12px;
			opacity: 1;
			visibility: visible;
		}
		.cus-header .dropdown-menu li{
			border-top: 1px solid rgba(255, 255, 255, 0.16);
		}
		.cus-header .dropdown-item{
			position: relative;
			padding: 13px 24px 13px 5px;
			background-color: transparent;
			color: #ffffff;
			font-size: 14px;
			white-space: normal;
		}
		.cus-header .dropdown-item::after{
			content: "";
			position: absolute;
			top: 50%;
			right: 5px;
			width: 7px;
			height: 7px;
			border-top: 1px solid #ffffff;
			border-right: 1px solid #ffffff;
			transform: translateY(-50%) rotate(45deg);
		}
		.cus-header .dropdown-item:hover,
		.cus-header .dropdown-item:focus{
			background-color: transparent;
			color: #ffffff;
		}
		.cus-header-bt{
			width: 100%;
			margin-top: 28px !important;
		}
		.cus-header-bt a{
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			padding: 13px 20px;
			background-color: #ffffff;
			border: 1px solid #ffffff;
			border-radius: 100px;
			color: #1a6745;
		}
		.cus-header-bt .ic{
			width: 23px;
			margin-right: 12px;
		}
		.cus-header-bt .text{
			font-size: 16px;
			font-weight: 700;
		}

		.nav-open .cus-header{
			position: fixed;
			top: 0;
			right: 0;
			left: 0;
			width: 100%;
			box-sizing: border-box;
			background-color: #1a6745;
			z-index: 1050;
		}
	}

	/* 追従ヘッダー共通CSS */
	.cus-header{
		position: sticky;
		top: 0;
		z-index: 1050;
		transition:
			padding 0.5s cubic-bezier(0.22, 1, 0.36, 1),
			background-color 0.4s ease,
			box-shadow 0.4s ease;
	}
	.cus-header .js-header-logo{
		opacity: 1;
		transform: translateY(0);
		transition:
			opacity 0.1s ease,
			transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
		will-change: opacity, transform;
	}
	.cus-header .js-header-logo.is-switching{
		opacity: 0;
		transform: translateY(-4px);
	}
	@media screen and (min-width: 992px){
		.cus-header{
			padding: 20px 2%;
		}
		.cus-header.is-compact{
			box-shadow: 0 5px 18px rgba(0, 0, 0, 0.1);
		}
	}
	@media (prefers-reduced-motion: reduce){
		.cus-header,
		.cus-header .js-header-logo{
			transition: none !important;
		}
	}


/* ヘッダー印刷専用CSS */
	@media print{
		body.nav-open{
			overflow: visible;
		}
		.cus-header{
			display: flex !important;
			position: static;
			align-items: center;
			width: 100%;
			min-height: 0;
			padding: 15px 0;
			background-color: #ffffff;
		}
		.cus-header .cus-header-logo{
			width: 190px;
		}
		.cus-header .cus-header-logo img{
			filter: none;
		}
		.cus-header .navbar-toggler,
		.cus-header .dropdown-menu,
		#nav-overlay{
			display: none !important;
		}
		.cus-header .navbar-collapse.collapse{
			display: flex !important;
			position: static;
			flex: 1 1 auto;
			flex-direction: row;
			align-items: center;
			justify-content: flex-end;
			width: auto;
			height: auto;
			padding: 0;
			background-color: transparent;
			opacity: 1;
			visibility: visible;
			overflow: visible;
			transform: none;
		}
		.cus-header-menu{
			display: flex;
			align-items: center;
			justify-content: flex-end;
			gap: 10px;
		}
		.cus-header-menu > li{
			border: none;
		}
		.cus-header-menu > li > a,
		.cus-header-menu > li > .dropdown-toggle{
			display: inline-flex;
			width: auto;
			padding: 5px 0;
			color: #000000;
			font-size: 9px;
			white-space: nowrap;
		}
		.cus-header .dropdown-toggle::after{
			display: none;
		}
		.cus-header-bt{
			width: auto;
			margin: 0 0 0 12px !important;
		}
		.cus-header-bt a{
			display: inline-flex;
			width: auto;
			padding: 5px 10px;
			background-color: transparent;
			border: 1px solid #000000;
			color: #000000;
		}
		.cus-header-bt .ic{
			width: 16px;
			margin-right: 5px;
		}
		.cus-header-bt .text{
			font-size: 9px;
		}
	}


/* スマホ最小サイズ時CSS */
	@media screen and (max-width: 767px){
		.cus-header{
			--header-mobile-height: 68px;
			padding-top: 10px;
			padding-bottom: 10px;
		}
		.cus-header .cus-header-logo{
			width: min(58vw, 140px);
		}
		.cus-header .navbar-collapse.collapse{
			padding-right: 7%;
			padding-left: 7%;
		}
		.cus-header-menu > li > a,
		.cus-header-menu > li > .dropdown-toggle{
			padding-top: 15px;
			padding-bottom: 15px;
			font-size: 15px;
		}
	}


/* フッターレイアウト */
	.cus-footer-contact-title{
		padding: 40px 0;
		text-align: center;
		letter-spacing: 0.1em;
	}
	.cus-footer-contact-title .main{
		position: relative;
		display: inline-block;
		margin: 0;
		font-size: 36px;
	}
	.cus-footer-contact-title .main::before{
		content: '';
		position: absolute;
		top: -80px;
		left: -420px;
		background-image: url("../img/site/footer-illust01.png");
		background-size: cover;
		width: 348px;
		height: 184px;
	}
	.cus-footer-contact-title .main::after{
		content: '';
		position: absolute;
		top: -80px;
		right: -360px;
		background-image: url("../img/site/footer-illust02.png");
		background-size: cover;
		width: 286px;
		height: 204px;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-footer-contact-title{
			padding: 50px 0;
		}
		.cus-footer-contact-title .main{
			font-size: 32px;
			text-shadow: 
				#fefdf4 2px 0px,  #fefdf4 -2px 0px,
				#fefdf4 0px -2px, #fefdf4 0px 2px,
				#fefdf4 2px 2px , #fefdf4 -2px 2px,
				#fefdf4 2px -2px, #fefdf4 -2px -2px,
				#fefdf4 1px 2px,  #fefdf4 -1px 2px,
				#fefdf4 1px -2px, #fefdf4 -1px -2px,
				#fefdf4 2px 1px,  #fefdf4 -2px 1px,
				#fefdf4 2px -1px, #fefdf4 -2px -1px;
		}
		.cus-footer-contact-title .main::before{/* 348 184 80 */
			top: -100px;
			left: -200px;
			width: 278px;
			height: 147px;
			z-index: -1;
		}
		.cus-footer-contact-title .main::after{/* 286 204 80 */
			top: -40px;
			right: -200px;
			width: 229px;
			height: 163px;
			z-index: -1;
		}
	}
	@media (max-width: 991.98px) {
		.cus-footer-contact-title{
			padding: 50px 0 40px 0;
		}
		.cus-footer-contact-title .main{
			font-size: 28px;
			text-shadow: 
				#fefdf4 2px 0px,  #fefdf4 -2px 0px,
				#fefdf4 0px -2px, #fefdf4 0px 2px,
				#fefdf4 2px 2px , #fefdf4 -2px 2px,
				#fefdf4 2px -2px, #fefdf4 -2px -2px,
				#fefdf4 1px 2px,  #fefdf4 -1px 2px,
				#fefdf4 1px -2px, #fefdf4 -1px -2px,
				#fefdf4 2px 1px,  #fefdf4 -2px 1px,
				#fefdf4 2px -1px, #fefdf4 -2px -1px;
		}
		.cus-footer-contact-title .main::before{/* 348 184 65 */
			top: -80px;
			left: -130px;
			width: 226px;
			height: 120px;
			z-index: -1;
		}
		.cus-footer-contact-title .main::after{/* 286 204 65 */
			top: -20px;
			right: -140px;
			width: 186px;
			height: 133px;
			z-index: -1;
		}
	}
	@media print {
		.cus-footer-contact-title{
			padding: 50px 0 40px 0;
		}
		.cus-footer-contact-title .main{
			font-size: 22px;
			text-shadow: 
				#fefdf4 2px 0px,  #fefdf4 -2px 0px,
				#fefdf4 0px -2px, #fefdf4 0px 2px,
				#fefdf4 2px 2px , #fefdf4 -2px 2px,
				#fefdf4 2px -2px, #fefdf4 -2px -2px,
				#fefdf4 1px 2px,  #fefdf4 -1px 2px,
				#fefdf4 1px -2px, #fefdf4 -1px -2px,
				#fefdf4 2px 1px,  #fefdf4 -2px 1px,
				#fefdf4 2px -1px, #fefdf4 -2px -1px;
		}
		.cus-footer-contact-title .main::before{/* 348 184 50 */
			top: -70px;
			left: -100px;
			width: 174px;
			height: 92px;
			z-index: -1;
		}
		.cus-footer-contact-title .main::after{/* 286 204 50 */
			top: -10px;
			right: -110px;
			width: 143px;
			height: 102px;
			z-index: -1;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-footer-contact-title{
			padding: 50px 0 20px 0;
		}
		.cus-footer-contact-title .main{
			font-size: 22px;
			text-shadow: 
				#fefdf4 2px 0px,  #fefdf4 -2px 0px,
				#fefdf4 0px -2px, #fefdf4 0px 2px,
				#fefdf4 2px 2px , #fefdf4 -2px 2px,
				#fefdf4 2px -2px, #fefdf4 -2px -2px,
				#fefdf4 1px 2px,  #fefdf4 -1px 2px,
				#fefdf4 1px -2px, #fefdf4 -1px -2px,
				#fefdf4 2px 1px,  #fefdf4 -2px 1px,
				#fefdf4 2px -1px, #fefdf4 -2px -1px;
		}
		.cus-footer-contact-title .main::before{/* 348 184 42 */
			top: -60px;
			left: -70px;
			width: 146px;
			height: 77px;
			z-index: -1;
		}
		.cus-footer-contact-title .main::after{/* 286 204 42 */
			top: 10px;
			right: -60px;
			width: 120px;
			height: 82px;
			z-index: -1;
		}
	}


	.cus-footer-contact-con01 {
		background-image: url("../img/site/footer-contact-bg.jpg");
		background-size: cover;
		background-position: center center;
		padding: 240px 0;

		-webkit-mask-image:
			url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 26" preserveAspectRatio="none"><path d="M0 13 C76.667 -4.333 153.333 -4.333 230 13 C306.667 30.333 383.333 30.333 460 13 L460 26 L0 26 Z" fill="black"/></svg>'),
			linear-gradient(black, black),
			url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 26" preserveAspectRatio="none"><path d="M0 13 C76.667 30.333 153.333 30.333 230 13 C306.667 -4.333 383.333 -4.333 460 13 L460 0 L0 0 Z" fill="black"/></svg>');
	
		-webkit-mask-size:
			460px 26px,
			100% calc(100% - 52px),
			460px 26px;
	
		-webkit-mask-position:
			left top,
			center,
			left bottom;
	
		-webkit-mask-repeat:
			repeat-x,
			no-repeat,
			repeat-x;
	
		-webkit-mask-composite:
			source-over,
			source-over;
	
		mask-image:
			url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 26" preserveAspectRatio="none"><path d="M0 13 C76.667 -4.333 153.333 -4.333 230 13 C306.667 30.333 383.333 30.333 460 13 L460 26 L0 26 Z" fill="black"/></svg>'),
			linear-gradient(black, black),
			url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 26" preserveAspectRatio="none"><path d="M0 13 C76.667 30.333 153.333 30.333 230 13 C306.667 -4.333 383.333 -4.333 460 13 L460 0 L0 0 Z" fill="black"/></svg>');
	
		mask-size:
			460px 26px,
			100% calc(100% - 52px),
			460px 26px;
	
		mask-position:
			left top,
			center,
			left bottom;
	
		mask-repeat:
			repeat-x,
			no-repeat,
			repeat-x;
	
		mask-composite:
			add,
			add;
	}

	.cus-footer-contact-col{
		display: flex;
		align-items: center;
	}
	.cus-footer-contact-col .col-text{
		flex-shrink: 0;
		padding-left: 50px;
		width: 50%;
	}
	.cus-footer-contact-col .col-contact{
		flex: 1;
		background-color: rgba(255, 255, 255, 0.8);
		border-radius: 16px;
		padding: 30px 0;
		min-width: 1px;
		text-align: center;
		box-shadow:
			0 16px 40px rgba(31, 92, 62, 0.2),
			0 4px 12px rgba(0, 0, 0, 0.08);
	}
	.cus-footer-contact-col .col-contact .text{
		display: inline-block;
		padding-right: 30px;
		font-family: "Tangerine", cursive;
		font-weight: 700;
		font-style: normal;
		font-size: 42px;
	}
	.cus-footer-contact-col .col-contact .dial{
		font-size: 60px;
	}

	.cus-footer-bt{
		overflow: hidden;
		text-align: center;
	}
	.cus-footer-bt a{
		display: inline-flex;
		justify-content: center;
		align-items: center;
		gap: 15px;
		background-color: #d35e43;
		border-radius: 10px;
		padding: 14px 15px;
		color: white;
		text-decoration: none;
	}
	.cus-footer-bt a::before{
		background-color: #a1371f;
	}
	.cus-footer-bt a .text{
		font-size: 20px !important;
	}
	.cus-footer-bt .ic{
		width: 49px;
	}
	.cus-footer-bt a .ic img{transition: all 0.3s 0s ease;}
	.cus-footer-bt a:hover .ic img,
	.cus-footer-bt a:focus-visible .ic img{
		transform: rotate(10deg);
		transition: all 0.3s 0s ease;
	}

	.cus-footer-con01{
		position: relative;
		display: flex;
		align-items: center;
		row-gap: 50px;
	}
	.cus-footer-con01 .con01-left{
		flex-shrink: 0;
		width: 30%;
	}
	.cus-footer-con01 .con01-right{
		flex: 1;
	}

	.cus-footer-minidial{
		display: flex;
		align-items: center;
		column-gap: 15px;
	}
	.cus-footer-minidial .cus-ft-tangerine{
		position: relative;
		top: 3px;
		width: 20px;
	}

	.cus-footer-menu{
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	.cus-footer-menu li{
		padding-right: 40px;
	}
	.cus-footer-menu li:last-child{
		padding-right: 0;
	}
	.cus-footer-menu li a{
		position: relative;
		display: block;
		padding-left: 24px;
		color: initial;
		text-decoration: none;
		text-shadow: 
			#fefdf4 2px 0px,  #fefdf4 -2px 0px,
			#fefdf4 0px -2px, #fefdf4 0px 2px,
			#fefdf4 2px 2px , #fefdf4 -2px 2px,
			#fefdf4 2px -2px, #fefdf4 -2px -2px,
			#fefdf4 1px 2px,  #fefdf4 -1px 2px,
			#fefdf4 1px -2px, #fefdf4 -1px -2px,
			#fefdf4 2px 1px,  #fefdf4 -2px 1px,
			#fefdf4 2px -1px, #fefdf4 -2px -1px;
	}
	.cus-footer-menu li a::before{
		content: '';
		position: absolute;
		top: 50%;
		left: 0px;
		background-color: #1a6745;
		width: 12px;
		height: 1px;
	}

	.cus-footer-menu li a::after{
		content: '';
		position: absolute;
		right: 0;
		bottom: -6px;
		left: 24px;
		height: 1px;
		background-color: #1a6745;
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 0.35s ease;
	}
	.cus-footer-menu li a:hover::after,
	.cus-footer-menu li a:focus-visible::after{
		transform: scaleX(1);
	}

	.cus-footer-con01 .con01-illust{
		position: absolute;
		bottom: -60px;
		right: 50%;
		margin-right: -1000px;
		opacity: 0.6;
		z-index: -1;
	}

	.cus-footer-copy{
		background-color: #1a6745;
		padding: 2px 0;
		font-size: 14px;
		color: white;
		text-align: center;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-footer-contact-con01 {
			padding: 210px 0;
		}

		.cus-footer-contact-col .col-text{
			padding: 0 20px 0 40px;
		}
		.cus-footer-contact-col .col-contact{
			padding: 25px 0;
		}
		.cus-footer-contact-col .col-contact .text{
			padding-right: 25px;
			font-size: 36px;
		}
		.cus-footer-contact-col .col-contact .dial{
			font-size: 48px;
		}
	
		.cus-footer-bt a{
			gap: 15px;
			padding: 14px 15px;
		}
		.cus-footer-bt a .text{
			font-size: 18px !important;
		}
		.cus-footer-bt .ic{
			width: 46px;
		}

		.cus-footer-con01{
			row-gap: 40px;
		}

		.cus-footer-menu li{
			padding-right: 40px;
		}
	
		.cus-footer-con01 .con01-illust{
			bottom: -60px;
			right: 2%;
			margin-right: 0px;
		}
		.cus-footer-con01 .con01-illust img{
			width: 260px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-footer-contact-con01 {
			padding: 180px 0;
		}

		.cus-footer-contact-col .col-text{
			padding: 0 20px 0 30px;
		}
		.cus-footer-contact-col .col-contact{
			padding: 20px 0;
		}
		.cus-footer-contact-col .col-contact .text{
			padding-right: 15px;
			font-size: 28px;
		}
		.cus-footer-contact-col .col-contact .dial{
			font-size: 39px;
		}
	
		.cus-footer-bt a{
			gap: 15px;
			padding: 14px 15px;
		}
		.cus-footer-bt a .text{
			font-size: 17px !important;
		}
		.cus-footer-bt .ic{
			width: 46px;
		}

		.cus-footer-con01{
			row-gap: 30px;
		}

		.cus-footer-menu li{
			padding-right: 26px;
		}
	
		.cus-footer-con01 .con01-illust{
			bottom: -40px;
			right: 2%;
			margin-right: 0px;
		}
		.cus-footer-con01 .con01-illust img{
			width: 220px;
		}
	}
	@media print {
		.cus-footer-contact-con01{
			padding: 140px 0;
		}

		.cus-footer-contact-col .col-text{
			padding: 0 15px 0 20px;
		}
		.cus-footer-contact-col .col-contact{
			padding: 15px 0;
		}
		.cus-footer-contact-col .col-contact .text{
			padding-right: 10px;
			font-size: 22px;
		}
		.cus-footer-contact-col .col-contact .dial{
			font-size: 28px;
		}
	
		.cus-footer-bt a{
			gap: 10px;
			padding: 12px 10px;
		}
		.cus-footer-bt a .text{
			font-size: 15px !important;
		}
		.cus-footer-bt .ic{
			width: 40px;
		}

		.cus-footer-con01{
			row-gap: 20px;
		}

		.cus-footer-menu li{
			padding-right: 16px;
		}
	
		.cus-footer-con01 .con01-illust{
			bottom: -40px;
			right: 2%;
			margin-right: 0px;
		}
		.cus-footer-con01 .con01-illust img{
			width: 160px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-footer-contact-con01{
			padding: 140px 0;
		}

		.cus-footer-contact-col{
			display: block;
		}
		.cus-footer-contact-col .col-text{
			padding: 0 0 0 10px;
			margin-bottom: 20px;
			width: auto;
		}
		.cus-footer-contact-col .col-contact{
			padding: 15px 0;
			width: auto;
		}
		.cus-footer-contact-col .col-contact .text{
			padding-right: 10px;
			font-size: 22px;
		}
		.cus-footer-contact-col .col-contact .dial{
			font-size: 28px;
		}
	
		.cus-footer-bt a{
			gap: 10px;
			padding: 12px 10px;
		}
		.cus-footer-bt a .text{
			font-size: 15px !important;
		}
		.cus-footer-bt .ic{
			width: 40px;
		}

		.cus-footer-con01{
			display: block;
			row-gap: 0px;
		}
		.cus-footer-con01 .con01-left{
			margin-bottom: 20px;
			width: auto;
		}
		.cus-footer-con01 .con01-right{
			width: auto;
		}
	
		.cus-footer-minidial{
			justify-content: center;
		}

		.cus-footer-menu{
			overflow: hidden;
			display: block;
			border-top: #1a6745 solid 1px;
		}
		.cus-footer-menu li{
			padding-right: 0px;
			border-bottom: #1a6745 solid 1px;
			float: left;
			width: 50%;
		}
		.cus-footer-menu li:nth-child(2n){
			border-left: #1a6745 solid 1px;
		}
		.cus-footer-menu li:last-child{
			padding-right: 0;
		}
		.cus-footer-menu li a{
			padding: 12px 0;
			text-align: center;
		}
		.cus-footer-menu li a::before{
			display: none;
		}
	
		.cus-footer-menu li a::after{
			display: none;
		}
	
		.cus-footer-con01 .con01-illust{
			position: absolute;
			bottom: auto;
			top: -30px;
			right: 2%;
			margin-right: 0px;
		}
		.cus-footer-con01 .con01-illust img{
			width: 110px;
		}
	}






