@charset "UTF-8";
/*!
*/
/* =========================================================
 * フッター
 * @ footer
 * ====================================================== */
footer{
	width:100%;
	background:#e2e2e2;
	padding: 24px 0;
	color:#666;
	font-size:14px;
}
footer img{
	width:100%;
}
.footerInner{
	width:1260px;
	margin:0 auto;
	display: table;
}
.footerInner div{
	display: table-cell;
	vertical-align: middle;
}
@media screen and (min-width:1460px){
	.footerInner{
		width:100%;
		padding:0 100px;
	}
}

footer .snsArea ul{
	width:180px;
	margin:0;
	margin-right:10px;
	list-style:none;
	padding:0;
}
footer .snsArea li{
	float: left;
	margin-right:10px;
	width:25px;
}

footer .linkArea ul{
	margin:0;
	margin-top:5px;
	max-width:480px;
	list-style:none;
	padding:0;
}
footer .linkArea li{
	float: left;
	margin-right:10px;
	margin-bottom:5px;
}

footer .langArea{
	padding-left:30px;
	text-align: right;
}
footer .langArea p{
	color: #004386;
	float: left;
}
footer .langArea .lang{
	background:url(/common/img/icn-country-selector.png) no-repeat left center;
	background-size:contain;
	padding:5px 0 5px 30px;
	margin-right:30px;
}

footer .langArea .copyright{
	color: #004386;
	padding:4px 0;
}
/*ポップアップのフッター*/
.popupFooter{
	width:100%;
	background:#e2e2e2;
	padding:20px 0;
	text-align:center;
	font-size:14px;
}
.popupFooter .copyright{
	color: #004386;
}
/* =========================================================
 * タブレット版
 * 768px以下に適応
 * ====================================================== */

@media screen and (max-width:768px){
	footer{
		padding:0;
		width:100%;
		min-width:100%;
		text-align:center;
	}
	.footerInner{
		width:100%;
		padding:50px 0;
	}
	footer .snsArea,
	footer .linkArea,
	footer .dArea,
	footer .langArea{
		display: block;
		width:100%;
		text-align:center;
		margin:0;
	}
	/*1/26*/
	.footerInner div{
		display: block;
		width:100%;
		text-align:center;
	}
footer .snsArea ul.sns{
	float:none;
	display:table;
	table-layout:fixed;
	margin:0 auto 50px;
	width:40%;
}
footer .snsArea ul.sns li{
	float:none;
	display:table-cell;
	padding:0 10px;
	width:100%;
	text-align:center;
}

footer .linkArea ul.link{
	float:none;
	margin:0 auto 30px;
	max-width:100%;
}
footer .linkArea ul.link li{
	float:none;
	display:inline-block;
	padding:0 20px;
	width:auto;
	text-align:center;
}
footer .dArea{
	margin-bottom:20px;
}
footer .langArea{
	padding:0;
}
footer .langArea .lang{
	float:none;
	padding-right:0;
	margin:0 auto 50px;
	display:inline-block;
}
footer .langArea .copyright{
	float:none;
}
footer .dArea{
	float:none;
}
footer .bigFooter{
	width:100%;
	padding-left:6.1%;
	padding-right:6.1%;
	min-width:100%;
	text-align:left;
}
footer .bigFooter .bigFooterInner{
	width:100%;
}
.popupFooter{
	min-width:100%;
}
}


/* =========================================================
 * スマホ版
 * 480px以下に適応
 * ====================================================== */

@media screen and (max-width:480px){

	.footerInner{
		width:100%;
		padding:25px 0;
	}

	footer .snsArea ul.sns{
		margin:0 auto 25px;
		width:60%;
	}
	footer .snsArea ul.sns li{
		padding:0 5px;
	}
	footer .linkArea ul.link{
		display:block;
		margin:0 auto;
	}
	footer .linkArea ul.link li{
		display:block;
		padding:0;
		margin-right:0;
		margin-bottom:20px;
		width:auto;
		text-align:center;
	}

	footer .langArea .lang{
		margin:0 auto 30px;
	}
	footer .bigFooter{
		padding-left:3.1%;
		padding-right:3.1%;
		text-align:center;
	}
	footer .bigFooter .bigFooterInner .linkBox{
		float:none;
		width:100%;
		margin-bottom:10px;
	}
}

/* =========================================================
 * 2022/07 新フッター
 * ====================================================== */

.cmnFtNavi {
	position: relative;
	margin-top: 100px;
	background-color: #ebebeb;
	padding: 45px 20px 85px;
}
.cmnFtNavi h2 {
	position: relative;
	margin: 0 0 15px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
}
.cmnFtNavi h2::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	border-top: 1px dotted #616161;
}
.cmnFtNavi h2 > span {
	position: relative;
	display: inline-block;
	padding: 0 15px;
	background-color: #ebebeb;
}
.cmnFtNavi a {
	text-decoration: none;
}
.cmnFtNavi_inner {
	max-width: 1140px;
	margin: 0 auto;
}
.cmnFtNavi_sns {
	margin-bottom: 40px;
	text-align: center;
}
.cmnFtNavi_sns ul {
	margin: 30px 0 20px;
	padding: 0;
	display: flex;
	justify-content: center;
}
.cmnFtNavi_sns li {
	margin: 0 25px;
	list-style-type: none;
}
.cmnFtNavi_campaign {
	/*text-decoration: underline;*/
	color: #1755aa;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.7;
}
.cmnFtNavi_linkArea {
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
}
.cmnFtNavi_linkArea a:link,
.cmnFtNavi_linkArea a:visited {
	position: relative;
	display: inline-block;
	padding-left: 10px;
	color: #000;
	line-height: 1.3;
}
.cmnFtNavi_linkArea a::before {
	content: '';
	position: absolute;
	top: 7px;
	left: -2px;
	width: 5px;
	height: 5px;
	border-top: 1px solid #949494;
	border-right: 1px solid #949494;
	transform: rotate(45deg);
}
li.col_ajst {
    font-weight: bold;
    margin-left: -6px;
	padding-top: 31px;
}
.col_ajst a::before {
	content: '';
	position: absolute;
	left: -6px;
	width: 5px;
	height: 5px;
	top: 6px;
	border-top: 2px solid #e60021;
	border-right: 2px solid #e60021;
	transform: rotate(45deg);
}

.cmnFtNavi_linkArea a:hover {
	text-decoration: underline;
}
/* 改行調節 */
.cmnFtNavi_col .br-txt {
	display: inline-block;
}

.cmnFtNavi_col {
	margin-bottom: 25px;
	width: 25%;
}
.cmnFtNavi_col:first-child {
	width: 28%;
}
.cmnFtNavi_col:nth-child(5) {
	width: 28%;
}
.cmnFtNavi_col:nth-child(4n) {
	width: 20%;
}

.cmnFtNavi_mainLink {
	padding-left: 15px !important;
	font-weight: bold;
}
a.cmnFtNavi_mainLink::before {
	top: 6px;
	border-top: 2px solid #e60021;
	border-right: 2px solid #e60021;
}
.cmnFtNavi_subLink {
	margin: 0 0 0 10px;
	padding: 0;
	list-style-type: none;
}
.cmnFtNavi_subLink li {
	margin-top: 13px;
	word-break: keep-all;
	overflow-wrap: break-word;
}
@media screen and (max-width:820px){
	.cmnFtNavi_col {
		width: 26%;
	}
	.cmnFtNavi_col:nth-child(4n+3) {
		width: 26%;
	}
	.cmnFtNavi_col:nth-child(4n) {
		width: 20%;
	}
	li.col_ajst {
		padding-top: 52px;
	}
}
@media screen and (max-width:768px){
/*	.cmnFtNavi_col {
		width: 33.3%;
	}
	.cmnFtNavi_col:nth-child(4n+3) {
		width: 33.3%;
	}
	.cmnFtNavi_col:nth-child(4n) {
		width: 100%;
	}
	.cmnFtNavi_col:nth-child(5) {
		width: 25%;
	}
	.cmnFtNavi_col:nth-child(6) {
		width: 25%;
	}
	.cmnFtNavi_col:nth-child(7) {
		width: 50%;
	}
}
@media screen and (max-width:700px){*/
	.cmnFtNavi {
		margin-top: 50px;
		padding: 22px 15px 40px;
	}
	.cmnFtNavi h2 {
		font-size: 16px;
	}
	.cmnFtNavi h2 > span {
		padding: 0 6px;
	}
	.cmnFtNavi h2 img {
		width: 78px;
	}
	.cmnFtNavi_sns {
		margin-bottom: 25px;
	}
	.cmnFtNavi_sns ul {
		margin: 18px 0 15px;
	}
	.cmnFtNavi_sns li {
		margin: 0 20px;
	}
	.cmnFtNavi_linkArea {
		justify-content: space-between;
		font-size: 12px;
	}
	.cmnFtNavi_linkArea a:link,
	.cmnFtNavi_linkArea a:visited {
		padding-left: 8px;
	}
	.cmnFtNavi_linkArea a::before {
		top: 4px;
	}
	.cmnFtNavi_col {
		margin-bottom: 20px;
		width: 48%;
	}
	.cmnFtNavi_col:nth-child(4n+3) {
		width: 48%;
	}
	.cmnFtNavi_col:nth-child(4n) {
		width: 48%;
	}
	.cmnFtNavi_col:nth-child(n+5) {
		width: 100%;
	}
	.cmnFtNavi_mainLink {
		padding-left: 8px !important;
	}
	a.cmnFtNavi_mainLink::before {
		top: 4px;
		border-top: 1px solid #e60021;
		border-right: 1px solid #e60021;
	}
	a.cmnFtNavi_mainLink::before {
		top: 4px;
		border-top: 1px solid #e60021;
		border-right: 1px solid #e60021;	
	}
	.col_ajst a::before {
		top: 4px;
		border-top: 1px solid #e60021;
		border-right: 1px solid #e60021;
	}
		
	.cmnFtNavi_subLink {
		margin: 0 0 0 7px;
	}
	.cmnFtNavi_subLink a {
		font-size: 12px;
	}
	.cmnFtNavi_subLink li {
		margin-top: 12px;
	}
}

.cmnPageTop {
	position: fixed;
	left: 0;
	right: 0;
	z-index: 1000;
	width: 52px;
	margin: 0 auto;
	opacity: 0;
	transition: opacity 0.2s;
}
.cmnPageTop.s_show {
	position: absolute;
	top: -77px;
	opacity: 0.6;
}
.cmnPageTop.s_show:hover {
	opacity: 1;
}
.cmnPageTop.s_fix {
	position: fixed;
	bottom: -50px;
}
.cmnPageTop.s_show.s_fix {
	top: auto;
	bottom: 25px;
}
@media screen and (max-width:480px){
	.cmnPageTop {
		width: 36px;
	}
	.cmnPageTop.s_show {
		top: -52px;
	}
	.cmnPageTop.s_show:hover {
		opacity: 0.6;
	}
	.cmnPageTop.s_show.s_fix {
		bottom: 10px;
	}
	.cmnPageTop img {
		width: 100%;
	}
	li.col_ajst {
		padding-top: 52px;
	}

}

.cmnFooter {
	position: relative;
	margin-top: 100px;
	background-color: #4d4d4d;
	padding: 0;
	text-align: center;
	color: #fff;
}
.cmnFtNavi + .cmnFooter {
	margin-top: 0;
}
.cmnFooter a {
	color: inherit;
	text-decoration: none;
}
.cmnFooter a:hover {
	text-decoration: underline;
}
.cmnFooter_inner {
	padding: 20px 15px;
}
.cmnFooter_link {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.cmnFooter_link li {
	margin: 5px 12px;
	list-style-type: none;
}
.cmnFooter_copyright {
	background-color:  #4d4d4d;
	padding: 0 0 20px;
}
/*2023.8.17変更
.cmnFooter_copyright {
	background-color: #333 → #4d4d4d;
	padding: 28px 0 → 0 0 20px;
}*/
.footer-ci {
	background: #fff;
	padding: 30px 0;
	text-align: center;
}
.footer-ci img {
	height: 30px;
	width: 120px;
}
@media screen and (max-width:480px){
	.cmnFooter {
		margin-top: 50px;
		text-align: left;
	}
	.cmnFooter_inner {
		padding: 10px 15px 12px;
	}
	.cmnFooter_link {
		margin: 0 0 0 -12px;
		padding: 0;
		justify-content: flex-start;
	}
	.cmnFooter_link li {
		margin: 6px 12px;
		font-size: 12px;
	}
	.cmnFooter_copyright {
		padding: 0 0 17px;
		text-align: center;
		font-size: 12px;
	}
	/*2023.8.17変更
	.cmnFooter_copyright {
		padding: 17px 0 → 0 0 17px;
		text-align: center;
		font-size: 11px;
	}*/
}
