


footer {
	position: relative;
	
	background-color: #0065b4;
	padding: 0 0 50px 0;
}

/* レスポンシブ対応 */
@media screen and (min-width:900px) {
	footer {
		padding: 0 0 50px 0;
	}
}
@media screen and (min-width:1200px) and ( max-width:1600px) {
	footer {
		padding: 0 0 85px 0;
	}
}
@media screen and (min-width:1600px) {
	footer {
		padding: 0 75px 85px 75px;
	}
}

/***********************************************************

	お問い合わせ

***********************************************************/

footer .l-footer_inq {
	display: block;
	margin: 40px 0 10px 0;
/*
	margin-top: 108px;
	margin-bottom: 38px;
 */
	text-align: center;
}
/* レスポンシブ対応 */
@media screen and (max-width:1200px) {
	footer .l-footer_inq {
		float: right;
/*
		margin-top: 35px;
		margin-bottom: 38px;
 */
		margin-right: 40px;
	}
}
@media screen and (min-width:1200px) {
	footer .l-footer_inq {
		float: right;
		margin-right: 20px;
	}
}

footer .l-footer_inq a {
	display: flex;
	justify-content: center; /* 中央揃え */
	align-items: center; /* 縦方向の中央揃え */
	width: 255px;
	height: 55px;
	background-color: #FFFFFF;
	
	border: 2px solid #0065B4;
	border-radius: 2px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影を追加 */
	
	color: #0065B4;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.3s, color 0.3s;
}

footer .l-footer_inq a {
	font-size: 16px;
	font-weight: bold;
}

/* アイコン部分のスタイル */
footer .l-footer_inq a::before {
	content: "？";
	font-size: 22px; /* アイコンの文字サイズ */
	color: #0065B4;
	background-color: transparent; /* 背景色 */
	border: 2px solid #0065B4;
	border-radius: 50%;
	width: 24px; /* 丸の幅 */
	height: 24px; /* 丸の高さ */
	display: flex; /* アイコンを丸の中で中央揃え */
	justify-content: center;
	align-items: center;
	margin-right: 8px; /* テキストとの間隔 */
	transition: background-color 0.3s, color 0.3s;
}

/* 矢印部分のスタイル */
footer .l-footer_inq a::after {
	content: "→";
	font-size: 18px;
	color: #0065B4;
	margin-left: 8px;
	transition: color 0.3s;
}

footer .l-footer_inq a:hover {
	background-color: #ddeef2; /* 背景色を青に変更 */
	color: #00028a;
}

footer .l-footer_inq a:hover::before {
	background-color: #ddeef2; /* 丸の背景色 */
	color: #00028a;
	border-color: #00028a;
	transition: background-color 0.3s, color 0.3s;
}

footer .l-footer_inq a:hover::after {
	background-color: #ddeef2; /* 丸の背景色 */
	color: #00028a; /* ホバー時の矢印色 */
	transition: background-color 0.3s, color 0.3s;
}

/***********************************************************

	メニュー

***********************************************************/

.l-footer_menu {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin: 0 auto;
	padding: 20px;
	color: white;
}

/* 1列分の幅 */
.l-footer_listS {
	flex: 1 1 calc(16.66% - 40px); /* 6列分の1列幅 */
	min-width: 150px; /* 最小幅 */
	list-style: none; /* デフォルトのリストスタイルを削除 */
	padding: 0;
	margin: 0;
}

/* 2列分の幅 */
.l-footer_listD {
	flex: 1 1 calc(33.33% - 20px); /* 6列分の2列幅 */
	min-width: 300px; /* 最小幅 */
	list-style: none;
	padding: 0;
	margin: 0;
}





/* 業務サービス内の2列構造 (l-footer__list) */
.l-footer__list {
	display: flex;
	flex-wrap: wrap; /* 内部で折り返し */
	gap: 40px; /* 左右カラム間の余白 */
}

.l-footer__list ul {
	flex: 1 1 calc(50% - 20px); /* 左右カラムを均等に配置 */
	min-width: 150px;
	padding: 0;
	margin: 0;
	list-style: none;
}

/* セクションタイトル */
.l-footer_menu h4 {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 2.8em;
	margin-bottom: 0;
	border-bottom: 2px solid #ffffff; /* タイトル下に下線を追加 */
	padding-bottom: 5px;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #ffffff;
	box-sizing: border-box;
}

/* 各リンクのスタイル */
.l-footer_menu li {
	font-size: 14px;
	line-height: 1.4em;
	
	padding-top: 0.3em;
	padding-bottom: 0.3em;
}
.l-footer_menu li a {
	color: #cce7ff; /* 薄い青色 */
	text-decoration: none;
	font-size: 14px;
	line-height: 1.4em; /* 行間を広げる */
}

.l-footer_menu li a:hover {
	text-decoration: underline; /* ホバー時に下線を表示 */
}





.l-footer__list dl,
.l-footer_listS dl {
	margin: 0;
	padding: 0;
}

.l-footer__list dt, 
.l-footer__list dd,

.l-footer_listS dt,
.l-footer_listS dd {
	margin: 0;
	padding: 0;
}

/* dt のスタイル (左詰め) */
.l-footer__list dl dt,
.l-footer_listS dl dt {
	font-weight: bold; /* 太字で目立たせる */
	font-size: 14px; /* フォントサイズ */
	color: #cce7ff; /* リンクと統一した青色 */
	line-height: 1.4em; /* 行間を広げる */
	text-align: left; /* 左詰め */
	
	padding-top: 0.3em;
	padding-bottom: 0.3em;
}
.l-footer_listD dl dt {
	padding-top: 0;
}

/* dt 内のリンク */
.l-footer__list dl dt a,
.l-footer_listS dl dt a {
	font-weight: bold; /* 太字で目立たせる */
	font-size: 14px; /* フォントサイズ */
	color: #cce7ff; /* リンクと統一した青色 */
	line-height: 1.4em; /* 行間を広げる */
	text-align: left; /* 左詰め */
	
	text-decoration: none; /* 下線を消す */
}

.l-footer__list dl dt a:hover,
.l-footer_listS dl dt a:hover {
	text-decoration: underline; /* ホバー時に下線を追加 */
}

/* dd のスタイル */
.l-footer__list dl dd,
.l-footer_listS dl dd {
	padding-left: 1.0em; /* 左に1.0em分の余白 */
	font-size: 14px; /* フォントサイズ */
	color: #cce7ff; /* リンクと統一した青色 */
	line-height: 1.4em; /* 行間を広げる */
	text-align: left; /* 左詰め */
	
	padding-top: 0.3em;
	padding-bottom: 0.3em;
}

/* dd 内のリンク */
.l-footer__list dl dd a,
.l-footer_listS dl dd a {
  font-size: 14px; /* フォントサイズ */
  color: #cce7ff; /* リンクと統一した青色 */
  line-height: 1.4em; /* 行間を広げる */
  text-align: left; /* 左詰め */
	
  text-decoration: none; /* 下線を消す */
}

.l-footer__list dl dd a:hover,
.l-footer_listS dl dd a:hover {
  text-decoration: underline; /* ホバー時に下線を追加 */
}



/* レスポンシブ対応 */
@media screen and (max-width:1200px) {
	footer .l-footer_menu {
		flex-direction: column; /* セクションを縦に並べる */
	}
	footer .l-footer_listS,
	footer .l-footer_listD {
		flex: 1 1 100%; /* 全幅に広げる */
	}
	footer .l-footer__list ul {
		flex: 1 1 100%; /* サブリストも全幅に */
	}
	footer .l-footer_menu {
		display: none;
	}
	
}

/***********************************************************

	免責事項等

***********************************************************/

footer .l-footer_cm { 
	color: white;
	text-align: center;
	padding: 50px 0;
}
/* レスポンシブ対応 */
@media screen and (max-width:900px) {
	footer .l-footer_cm {
		padding: 0 0 20px 0;
	}
}
@media screen and (max-width:480px) {
	footer .l-footer_cm {
		padding: 0 0 20px 0;
	}
}

/* リストのスタイル */
footer .l-footer_cm ul {
	list-style: none; /* デフォルトのリストスタイルを削除 */
	margin: 0; /* 外側の余白を削除 */
	padding: 50px 0 50px;  /* 内側の余白を削除 */
	display: flex; /* フレックスボックスで横並びに配置 */
	justify-content: center; /* 中央揃え */
	gap: 0px; /* 各項目間の余白 */
}
/* レスポンシブ対応 */
@media screen and (max-width:900px) {
	footer .l-footer_cm ul {
		padding: 13px 0 13px;
	}
}
@media screen and (max-width:480px) {
	footer .l-footer_cm ul {
		padding: 13px 0 13px;
	}
}


/* リストアイテムのスタイル */
footer .l-footer_cm ul li {
	position: relative;
	padding: 0 30px;
	font-size: 18px;
}
/* レスポンシブ対応 */
@media screen and (max-width:900px) {
	footer .l-footer_cm ul li {
		padding: 0 30px;
	}
}
@media screen and (max-width:540px) {
	footer .l-footer_cm ul li {
		padding: 0 10px;
	}
}

/* 区切り線（|）の追加 */
.l-footer_cm ul li::after {
  content: "|"; /* 区切り線を挿入 */
  position: absolute;
  right: 0; /* 要素の右端に配置 */
  color: white; /* 区切り線の色 */
}

/* 区切り線（|）の追加 */
.l-footer_cm ul li:first-child::before {
  content: "|"; /* 区切り線を挿入 */
  position: absolute;
  left: 0; /* 要素の右端に配置 */
  color: white; /* 区切り線の色 */
}

/* リンクのスタイル */
.l-footer_cm ul li a {
  position: relative;
	
  color: white; /* リンクの文字色 */
  text-decoration: none; /* 下線を削除 */
	
}


.l-footer_cm ul li a::after {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: '';
	width: 0;
	height: 1px;
	background-color: #ffffff;
	transition: .3s;
}
.l-footer_cm ul li a:hover::after {
	width: 100%;
}

.c-copyR {
	display: block;
	margin-top: 10px;
	color: white;
	
	padding: 0;
	margin: 0;
}