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

	ヘッダーレイアウト（PCのベースレイアウト・ホバー動作）

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

*/

/* ヘッダーレイアウト（PCのベースレイアウト・ホバー動作） */
	.cus-header{
		position: fixed;
		top: 0px;
		left: 0px;
		display: flex;
		align-items: center;
		padding: 20px 2%;
		width: 100%;
		z-index: 99;
	}
	.cus-header .header-logo{
		flex-shrink: 0;
		width: 161px;
	}
	.cus-header .header-nav{
		flex: 1;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}

	.cus-header .header-nav .nav-area{
		display: flex;
		align-items: center;
		gap: 24px;
		width: fit-content;
		padding: 10px 14px;
		border-radius: 6px;
		-webkit-backdrop-filter: blur(0);
		backdrop-filter: blur(0);
		transition:
			background-color 0.35s ease,
			-webkit-backdrop-filter 0.35s ease,
			backdrop-filter 0.35s ease;
	}
	.cus-header.is-scrolled .nav-area{
		-webkit-backdrop-filter: blur(28px);
		backdrop-filter: blur(28px);
	}

	.cus-header-menu{
		display: flex;
		align-items: center;
		margin: 0;
	}
	.cus-header-menu li{
		padding-right: 30px;
	}
	.cus-header-menu li a{
		position: relative;
		display: block;
		padding: 0 2px;
		font-family: "Unbounded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		color: initial;
		text-decoration: none;
		transition: color 0.3s ease;
		z-index: 0;
	}

	.cus-header-menu li a::before{
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		width: 0;
		height: 100%;
		background: #2b6b9e;
		border-radius: 4px;
		transition: width 0.3s ease;
		z-index: -1;
	}
	.cus-header-menu li a:hover,
	.cus-header-menu li a.active{
		color: #fff;
	}
	.cus-header-menu li a:hover::before,
	.cus-header-menu li a.active::before{
		width: 100%;
	}

	.cus-header-menu li .active{
		background-color: #2b6b9e;
		border-radius: 4px;
		color: white;
	}

	.cus-header-contact{
		overflow: hidden;
	}
	.cus-header-contact a{
		position: relative;
		display: flex;
		align-items: center;
		height: 48px;
		padding: 0 30px 0 60px;
		overflow: hidden;
		background-color: #2b6b9e;
		border-radius: 100px;
		text-decoration: none;
		transition: padding 0.35s ease, background-color 0.35s ease;
	}
	.cus-header-contact a .text{
		font-family: "Unbounded", sans-serif;
		font-weight: 400;
		font-style: normal;
		color: #fff;
	}
	.cus-header-contact a .ic{
		position: absolute;
		top: 50%;
		left: 4px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 40px;
		aspect-ratio: 1 / 1;
		background: #fff;
		border-radius: 50%;
		transform: translateY(-50%);
		transition: left 0.35s ease;
	}
	.cus-header-contact a .ic img{
		width: 10px;
	}
	.cus-header-contact a:hover,
	.cus-header-contact a.active{
		padding: 0 60px 0 30px;
		background-color: #b4b4b4;
	}
	.cus-header-contact a:hover .ic,
	.cus-header-contact a.active .ic{
		left: calc(100% - 44px);
	}


/* バーガーメニュー */
	.header-menu-button{
		display: none;
	}
	@media (max-width: 991.98px) {
		.cus-header{
			height: 72px;
			padding: 12px 5%;
			background: #2b6b9e;
			z-index: 100;
		}
		.cus-header .header-logo{
			position: relative;
			top: 5px;
			width: 130px;
			z-index: 102;
		}
		.cus-header .header-logo img{
			display: block;
			max-width: 100%;
		}
		
		.header-menu-button{/* 開閉ボタン */
			position: relative;
			display: flex;
			flex-direction: column;
			justify-content: center;
			gap: 6px;
			width: 42px;
			height: 42px;
			margin-left: auto;
			padding: 0;
			background: transparent;
			border: 0;
			cursor: pointer;
			z-index: 102;
		}
		.header-menu-button span{
			display: block;
			width: 28px;
			height: 2px;
			background: #fff;
			transform-origin: left center;
			transition: transform 0.35s ease, opacity 0.25s ease;
		}
		.header-menu-button.is-open span:nth-child(1){
			width: 14px;
			transform: translateY(8px) rotate(45deg);
		}
		.header-menu-button.is-open span:nth-child(2){
			opacity: 1;
		}
		.header-menu-button.is-open span:nth-child(3){
			width: 14px;
			transform: translateY(-8px) rotate(-45deg);
		}

		.cus-header .header-nav{/* 左から出るメニュー */
			position: fixed;
			top: 0;
			left: 0;
			display: block;
			width: 80%;
			height: 100dvh;
			padding: 110px 8% 40px;
			background: rgba(22, 77, 120, 0.9);
			transform: translateX(-100%);
			transition: transform 0.4s ease;
			z-index: 101;
		}
		.cus-header .header-nav.is-open{
			transform: translateX(0);
		}
		.cus-header .header-nav .nav-area{
			display: flex;
			flex-direction: column;
			align-items: stretch;
			gap: 0;
			width: 100%;
			padding: 0;
			border-radius: 0;
		}

		.cus-header-menu{
			display: block;
			width: 100%;
		}
		.cus-header-menu li{
			padding: 0;
			border-bottom: 1px solid rgba(255, 255, 255, 0.3);
		}
		.cus-header-menu li a{
			width: 100%;
			padding: 18px 12px;
			color: #fff;
		}
		.cus-header-menu li a::before{
			border-radius: 0;
			background: rgba(255, 255, 255, 0.18);
		}
		.cus-header-menu li a.active{
			background: transparent;
			border-radius: 0;
		}

		.cus-header-contact{
			width: 100%;
			margin-top: 32px;
		}
	
		#nav-overlay{/* オーバーレイ */
			position: fixed;
			inset: 0;
			background: rgba(0, 0, 0, 0.45);
			visibility: hidden;
			opacity: 0;
			pointer-events: none;
			transition: opacity 0.4s ease, visibility 0s linear 0.4s;
			z-index: 100;
		}
		#nav-overlay.is-open{
			visibility: visible;
			opacity: 1;
			pointer-events: auto;
			transition-delay: 0s;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-header-menu li a:not(.active):hover::before{/* ヘッダーメニューのホバー背景を無効化 */
			width: 0;
		}

		.cus-header-contact a:not(.active):hover{
			padding: 0 30px 0 60px;
			background-color: #2b6b9e;
		}
		.cus-header-contact a:not(.active):hover .ic{
			left: 4px;
		}
	}


/* ヘッダー印刷専用スタイル */
	@media print {
		.cus-header{
			position: static;
			display: flex;
			align-items: center;
			height: auto;
			width: 100%;
			padding: 20px 2%;
			background: transparent;
			z-index: 99;
			-webkit-print-color-adjust: exact;
			print-color-adjust: exact;
		}
	
		.cus-header .header-logo{
			position: static;
			flex-shrink: 0;
			width: 161px;
			z-index: auto;
		}
		.cus-header .header-logo img{
			display: block;
			max-width: 100%;
		}

		.header-menu-button{
			display: none !important;
		}

		.cus-header .header-nav,
		.cus-header .header-nav.is-open{
			position: static;
			display: flex;
			flex: 1;
			justify-content: flex-end;
			align-items: center;
			width: auto;
			height: auto;
			padding: 0;
			background: transparent;
			transform: none;
			transition: none;
			z-index: auto;
		}
		.cus-header .header-nav .nav-area{
			display: flex;
			flex-direction: row;
			align-items: center;
			gap: 24px;
			width: fit-content;
			padding: 10px 14px;
			border-radius: 6px;
		}
		.cus-header-menu{
			display: flex;
			align-items: center;
			width: auto;
			margin: 0;
		}
		.cus-header-menu li{
			padding-right: 30px;
			border-bottom: 0;
		}
		.cus-header-menu li a{
			width: auto;
			padding: 0 2px;
			color: initial;
		}
		.cus-header-menu li a::before{
			border-radius: 4px;
			background: #2b6b9e;
		}
		.cus-header-menu li a.active{
			background-color: #2b6b9e;
			border-radius: 4px;
			color: #fff;
		}

		.cus-header-contact{
			width: auto;
			margin-top: 0;
		}
	
		#nav-overlay,
		#nav-overlay.is-open{/* オーバーレイを非表示 */
			display: none !important;
		}
	}


/* フッターレイアウト */
	.cus-footer{
		position: relative;
		background-image: url("../img/site/footer-bg.jpg");
		background-repeat: repeat;
		background-position: center center;
		padding: 120px 0 40px 0;
		color: white;
		z-index: 6;
	}

	.cus-footer-con01{
		border-bottom: rgba(255, 255, 255, 0.3) solid 1px;
		padding-bottom: 120px;
	}

	.cus-footer-col01{
		box-sizing: content-box;
		display: flex;
		align-items: stretch;
	}
	.cus-footer-col01 .col01-area01,
	.cus-footer-col01 .col01-area02{
		display: flex;
		flex-direction: column;
		justify-content: center;
		border-right: rgba(255, 255, 255, 0.3) dashed 1px;
		padding: 60px 0;
		width: 33.333%;
	}
	.cus-footer-col01 .col01-area03{
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 60px 0;
		width: 33.333%;
	}
	.cus-footer-col01 .col01-area02,
	.cus-footer-col01 .col01-area03{
		text-align: center;
	}

	.cus-footer-col01 .col01-area02 .area02-ic,
	.cus-footer-col01 .col01-area03 .area03-ic{
		height: 170px;
	}
	.cus-footer-col01 .col01-area02 .area02-ic img{
		width: 94px;
	}
	.cus-footer-col01 .col01-area02 .area02-dial{
		font-family: "Unbounded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		font-size: 40px;
	}

	.cus-footer-col01 .col01-area03 .area03-ic img{
		width: 110px;
	}
	.cus-footer-col01 .col01-area03 .area03-link{
		display: inline-flex;
		margin: 0 auto;
		font-family: "Unbounded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		font-size: 40px;
		text-decoration: none;
		perspective: 500px;
	}
	.cus-footer-col01 .col01-area03 .area03-link .char{
		display: inline-block;
		transition: transform 0.6s ease;
		transition-delay: calc(var(--i) * 0.05s);
	}
	.cus-footer-col01 .col01-area03 .area03-link:hover .char{
		transform: rotateY(360deg);
	}

	.cus-footer-col02{
		box-sizing: content-box;
		display: flex;
		padding: 100px 0 0 0;
	}
	.cus-footer-col02 .col02-logo{
		width: 54%;
	}
	.cus-footer-col02 .col02-nav01{
		width: 28%;
		font-size: 14px;
	}
	.cus-footer-col02 .col02-nav02{
		width: 18%;
	}

	.cus-footer-box01,
	.cus-footer-box02{
		display: flex;
	}
	.cus-footer-box01 .box01-title,
	.cus-footer-box02 .box02-title{
		padding-right: 30px;
		font-family: "Unbounded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		font-size: 12px;
		color: #6e838f;
	}
	.cus-footer-box01 .box01-text{
		position: relative;
		padding-left: 30px;
	}
	.cus-footer-box02 .box02-text{
		position: relative;
		padding-left: 30px;
	}
	.cus-footer-box01 .box01-text::before,
	.cus-footer-box02 .box02-text::before{
		content: '';
		position: absolute;
		top: 0px;
		left: 0px;
		border-left: rgba(255, 255, 255, 0.5) solid 1px;
		width: 1px;
		height: 100%;
	}

	.cus-footer-box01 .box01-text .map{
		display: inline-block;
		background-color: white;
		border-radius: 4px;
		padding: 0 4px;
		margin-left: 10px;
		font-family: "Unbounded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		font-size: 12px;
		text-decoration: none;
		list-style: 1;
	}

	.cus-footer-box02 .box02-text .text-list{
		font-size: 14px;
	}
	.cus-footer-box02 .box02-text .text-list li{
		margin-bottom: 9px;
	}
	.cus-footer-box02 .box02-text .text-list li:last-child{
		margin-bottom: 0px;
	}
	.cus-footer-box02 .box02-text .text-list li a{
		color: white;
		text-decoration: none;
	}
	.cus-footer-box02 .box02-text .text-list li a:hover{
		text-decoration: underline;
	}

	.cus-footer-copy{
		font-family: "Unbounded", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		font-size: 12px;
		color: #6e838f;
	}
	@media screen and (max-width: 1499.98px) {
		.cus-footer{
			padding: 100px 0 30px 0;
		}
	
		.cus-footer-con01{
			padding-bottom: 100px;
		}

		.cus-footer-col01 .col01-area01,
		.cus-footer-col01 .col01-area02{
			padding: 50px 0;
		}
		.cus-footer-col01 .col01-area03{
			padding: 50px 0;
		}
	
		.cus-footer-title01 .sub{
			font-size: 48px !important;
		}
	
		.cus-footer-col01 .col01-area02 .area02-ic,
		.cus-footer-col01 .col01-area03 .area03-ic{
			height: 150px;
		}
		.cus-footer-col01 .col01-area02 .area02-ic img{
			width: 75px;/* 94*80 */
		}
		.cus-footer-col01 .col01-area02 .area02-dial{
			font-size: 32px;
		}
	
		.cus-footer-col01 .col01-area03 .area03-ic img{
			width: 88px;/* 110*80 */
		}
		.cus-footer-col01 .col01-area03 .area03-link{
			font-size: 32px;
		}
	
		.cus-footer-col02{
			padding: 80px 0 0 0;
		}
		.cus-footer-col02 .col02-logo{
			width: 35%;
		}
		.cus-footer-col02 .col02-nav01{
			padding-right: 2%;
			width: 35%;
			font-size: 14px;
		}
		.cus-footer-col02 .col02-nav02{
			width: 30%;
		}
	
		.cus-footer-box01,
		.cus-footer-box02{
			display: flex;
		}
		.cus-footer-box01 .box01-title,
		.cus-footer-box02 .box02-title{
			padding-right: 24px;
			font-size: 12px;
		}
		.cus-footer-box01 .box01-text{
			padding-left: 24px;
		}
		.cus-footer-box02 .box02-text{
			padding-left: 24px;
		}
	
		.cus-footer-box02 .box02-text .text-list{
			font-size: 14px;
		}
		.cus-footer-box02 .box02-text .text-list li{
			margin-bottom: 14px;
		}
	}
	@media (max-width: 991.98px) {
		.cus-footer{
			padding: 80px 0 20px 0;
		}
	
		.cus-footer-con01{
			padding-bottom: 80px;
		}

		.cus-footer-col01 .col01-area01,
		.cus-footer-col01 .col01-area02{
			padding: 40px 0;
		}
		.cus-footer-col01 .col01-area03{
			padding: 40px 0;
		}
	
		.cus-footer-title01 .sub{
			font-size: 36px !important;
		}
	
		.cus-footer-col01 .col01-area02 .area02-ic,
		.cus-footer-col01 .col01-area03 .area03-ic{
			height: 130px;
		}
		.cus-footer-col01 .col01-area02 .area02-ic img{
			width: 66px;/* 94*70 */
		}
		.cus-footer-col01 .col01-area02 .area02-dial{
			font-size: 26px;
		}
	
		.cus-footer-col01 .col01-area03 .area03-ic img{
			width: 77px;/* 110*70 */
		}
		.cus-footer-col01 .col01-area03 .area03-link{
			font-size: 26px;
		}
	
		.cus-footer-col02{
			padding: 60px 0 0 0;
		}
		.cus-footer-col02 .col02-logo{
			width: 26%;
		}
		.cus-footer-col02 .col02-nav01{
			padding-right: 2%;
			width: 42%;
			font-size: 14px;
		}
		.cus-footer-col02 .col02-nav02{
			width: 32%;
		}
	
		.cus-footer-box01,
		.cus-footer-box02{
			display: flex;
		}
		.cus-footer-box01 .box01-title,
		.cus-footer-box02 .box02-title{
			padding-right: 20px;
			font-size: 12px;
		}
		.cus-footer-box01 .box01-text{
			padding-left: 20px;
		}
		.cus-footer-box02 .box02-text{
			padding-left: 20px;
		}
	
		.cus-footer-box02 .box02-text .text-list{
			font-size: 14px;
		}
		.cus-footer-box02 .box02-text .text-list li{
			margin-bottom: 14px;
		}
	}
	@media print {
		.cus-footer{
			padding: 60px 0 20px 0;
		}
	
		.cus-footer-con01{
			padding-bottom: 60px;
		}

		.cus-footer-col01 .col01-area01,
		.cus-footer-col01 .col01-area02{
			padding: 30px 0;
		}
		.cus-footer-col01 .col01-area03{
			padding: 30px 0;
		}
	
		.cus-footer-title01 .sub{
			font-size: 28px !important;
		}
	
		.cus-footer-col01 .col01-area02 .area02-ic,
		.cus-footer-col01 .col01-area03 .area03-ic{
			height: 110px;
		}
		.cus-footer-col01 .col01-area02 .area02-ic img{
			width: 47px;/* 94*50 */
		}
		.cus-footer-col01 .col01-area02 .area02-dial{
			font-size: 22px;
		}
	
		.cus-footer-col01 .col01-area03 .area03-ic img{
			width: 55px;/* 110*50 */
		}
		.cus-footer-col01 .col01-area03 .area03-link{
			font-size: 22px;
		}
	
		.cus-footer-col02{
			padding: 40px 0 0 0;
		}
		.cus-footer-col02 .col02-logo{
			width: 22%;
		}
		.cus-footer-col02 .col02-nav01{
			padding-right: 2%;
			width: 42%;
			font-size: 14px;
		}
		.cus-footer-col02 .col02-nav02{
			width: 36%;
		}
	
		.cus-footer-box01,
		.cus-footer-box02{
			display: flex;
		}
		.cus-footer-box01 .box01-title,
		.cus-footer-box02 .box02-title{
			padding-right: 14px;
			font-size: 10px;
		}
		.cus-footer-box01 .box01-text{
			padding-left: 14px;
		}
		.cus-footer-box02 .box02-text{
			padding-left: 14px;
		}
	
		.cus-footer-box02 .box02-text .text-list{
			font-size: 12px;
		}
		.cus-footer-box02 .box02-text .text-list li{
			margin-bottom: 12px;
		}
	}
	@media screen and (max-width: 767px) {
		.cus-footer{
			padding: 60px 0 20px 0;
		}
	
		.cus-footer-con01{
			padding-bottom: 60px;
		}
	
		.cus-footer-col01{
			display: block;
		}
		.cus-footer-col01 .col01-area01,
		.cus-footer-col01 .col01-area02{
			border-right: rgba(255, 255, 255, 0.3) dashed 0px;
			border-bottom: rgba(255, 255, 255, 0.3) dashed 1px;
			padding: 30px 0;
			width: auto;
		}
		.cus-footer-col01 .col01-area03{
			padding: 30px 0;
			width: auto;
		}
		.cus-footer-col01 .col01-area02,
		.cus-footer-col01 .col01-area03{
			text-align: center;
		}
	
		.cus-footer-col01 .col01-area02 .area02-ic,
		.cus-footer-col01 .col01-area03 .area03-ic{
			margin-bottom: 30px;
			height: auto;
		}
		.cus-footer-col01 .col01-area02 .area02-ic img{
			width: 47px;
		}
		.cus-footer-col01 .col01-area02 .area02-dial{
			font-size: 32px;
		}
	
		.cus-footer-col01 .col01-area03 .area03-ic img{
			width: 55px;
		}
		.cus-footer-col01 .col01-area03 .area03-link{
			font-size: 32px;
		}
	
		.cus-footer-col02{
			display: block;
			padding: 50px 0 0 0;
		}
		.cus-footer-col02 .col02-logo{
			margin-bottom: 30px;
			width: auto;
			text-align: center;
		}
		.cus-footer-col02 .col02-nav01{
			margin-bottom: 20px;
			width: auto;
			font-size: 14px;
		}
		.cus-footer-col02 .col02-nav02{
			width: auto;
		}
	
		.cus-footer-box01,
		.cus-footer-box02{
			display: block;
		}
		.cus-footer-box01 .box01-title,
		.cus-footer-box02 .box02-title{
			padding-right: 0px;
			font-size: 14px;
		}
		.cus-footer-box01 .box01-text{
			padding-left: 20px;
		}
		.cus-footer-box02 .box02-text{
			padding-left: 20px;
		}

	
		.cus-footer-box02 .box02-text .text-list{
			font-size: 15px;
		}
		.cus-footer-box02 .box02-text .text-list li{
			margin-bottom: 4px;
		}

		.cus-footer-copy{
			display: block;
			text-align: center;
		}
	}






