@charset "utf-8";
/* footerバナー全体 */

.footerBanner {
	width: 100%;
	display: flex;
	position: relative; /* 文字と画像の重なりを管理 */
	height: 250px; /* ここで高さを指定、必要に応じて調整 */
}

/* footerバナー画像 */
.footerBanner img {
	width: 100%;
	opacity: 0; /* 初期状態では非表示 */
	transition: opacity 0.5s ease, transform 0.3s ease; /* フェードインのトランジションと拡大縮小のトランジション */
	position: absolute; /* 画像を絶対配置 */
	top: 0;
	left: 0;
	z-index: 0; /* 画像を背面に配置 */
	transform: scale(1); /* 初期状態では画像を100%表示 */
	object-fit: cover;
}

/* footerバナーコンタクト */
.footerBannerContact {
	height: 250px; /* ここで高さを指定、必要に応じて調整 */
	width: 100%;
}

.footerBannerItem1 {
	display: block;
	position: relative;
	text-decoration: none;
	overflow: hidden;
	width: 100%;
	height: 100%;
	border: 1px solid #ddd;
}

/* footerバナーアイテム1にホバーしたときの画像拡大 */
.footerBannerItem1:hover img {
	opacity: 1; /* ホバー時に画像が表示される */
	transform: scale(1.2); /* ホバー時に画像が20%拡大 */
}

.footerBannerItem1 .footerBannerText1 {
	position: absolute;
	top: 40%;
	left: 20px;
	color: #0071bc; /* 通常時は青色 */
	font-size: 50px; /* フォントサイズ */
	font-weight: bold; /* フォントの太さ */
	transition: color 0.3s ease, opacity 0.3s ease; /* 色と不透明度の変更にトランジションを追加 */
	opacity: 1; /* 初期状態で文字が表示される */
	z-index: 1; /* 文字を前面に配置 */
	visibility: visible; /* 通常時に文字が見える */
}

.footerBannerItem1 .footerBannerText2 {
	position: absolute;
	top: 60%;
	left: 20px;
	color: #0071bc; /* 通常時は青色 */
	font-size: 18px; /* フォントサイズ */
	transition: color 0.3s ease, opacity 0.3s ease; /* 色と不透明度の変更にトランジションを追加 */
	opacity: 1; /* 初期状態で文字が表示される */
	z-index: 1; /* 文字を前面に配置 */
	visibility: visible; /* 通常時に文字が見える */
}

.footerBannerItem1:hover .footerBannerText1,
.footerBannerItem1:hover .footerBannerText2 {
	opacity: 1; /* ホバー時に文字を再表示する */
	color: #FFFFFF; /* ホバー時に文字色を白に変更 */
	visibility: visible; /* ホバー時に文字を表示 */
}

/* footerバナーリクルート */
.footerBannerRecruit {
	height: 250px; /* ここで高さを指定、必要に応じて調整 */
	width: 100%;
}

.footerBannerItem2 {
	display: block;
	position: relative;
	text-decoration: none;
	overflow: hidden;
	width: 100%;
	height: 100%;
	border: 1px solid #ddd;
	border-collapse: collapse;
}

/* footerバナーアイテム2にホバーしたときの画像拡大 */
.footerBannerItem2:hover img {
	opacity: 1; /* ホバー時に画像が表示される */
	transform: scale(1.2); /* ホバー時に画像が20%拡大 */
}



.footerBannerItem2 .footerBannerText1 {
	position: absolute;
	top: 40%;
	left: 20px;
	color: #0071bc; /* 通常時は青色 */
	font-size: 50px; /* フォントサイズ */
	font-weight: bold; /* フォントの太さ */
	transition: color 0.3s ease, opacity 0.3s ease; /* 色と不透明度の変更にトランジションを追加 */
	opacity: 1; /* 初期状態で文字が表示される */
	z-index: 1; /* 文字を前面に配置 */
	visibility: visible; /* 通常時に文字が見える */
}

.footerBannerItem2 .footerBannerText2 {
	position: absolute;
	top: 60%;
	left: 20px;
	color: #0071bc; /* 通常時は青色 */
	font-size: 18px; /* フォントサイズ */
	transition: color 0.3s ease, opacity 0.3s ease; /* 色と不透明度の変更にトランジションを追加 */
	opacity: 1; /* 初期状態で文字が表示される */
	z-index: 1; /* 文字を前面に配置 */
	visibility: visible; /* 通常時に文字が見える */
}

/* 微調整 */
 .footerBannerP {
	margin-top: 10px;
    margin-bottom: -5px;
    font-weight: 400;
    }

.footerBannerItem2:hover .footerBannerText1,
.footerBannerItem2:hover .footerBannerText2 {
	opacity: 1; /* ホバー時に文字を再表示する */
	color: #FFFFFF; /* ホバー時に文字色を白に変更 */
	visibility: visible; /* ホバー時に文字を表示 */
}

/* ホバー時に文字色を白に変更 */
.footerBannerItem1:hover .footerBannerText1,
.footerBannerItem1:hover .footerBannerText2,
.footerBannerItem2:hover .footerBannerText1,
.footerBannerItem2:hover .footerBannerText2 {
	color: #FFFFFF; /* ホバー時に文字色を白に変更 */

}

/* footer text */
.footerBannerText1 .arrowButton {
    width: 50px;
    height: 50px;
    background: #0071bc;
    border-radius: 100%;
    position: relative;
    overflow: hidden;
    transition: background 0.3s ease; /* 背景色の変更にトランジション */
}

/* ホバー時にi要素の色と背景色を変更 */
.footerBannerItem1:hover .arrowButton,
.footerBannerItem2:hover .arrowButton {
	height: 50px;
    background: #FFFFFF; /* ホバー時に背景色を白に変更 */
}

.footerBannerItem1:hover .arrowButton i,
.footerBannerItem2:hover .arrowButton i {
    color: #0071bc; /* ホバー時に文字色を青に変更 */
}

/* i要素のスタイル */
.arrowButton  {
	display: inline-block;
    vertical-align: middle;
    top: -5px;
}

.arrowButton i {
    display: block;
    font-size: 14px;
    position: absolute;
    left: 0px;
    top: 19px;
    color: #fff; /* 通常時は白色 */
    z-index: 2;
    width: 100%;
    text-align: center;
}

.arrowButton i:hover {
	display: block;
    font-size: 10px;
    position: absolute;
    left: 0px;
    top: 21px;
    color: #0071bc; /* ホバー時に文字色を青に変更 */
    z-index: 2;
    width: 100%;
    text-align: center;
}

.footerContainer {
	max-width: inherit;
    padding: 100px 60px;
    border: 1px solid #ddd;
}

.footerContainer a {
	transition-property: opacity;
  	transition-duration: 0.5s;
}

.footerContainer a:hover {
  opacity: 0.7;
}

.footerAdress p {
	margin-top: 17px;
	font-size: 16px;
}

.footerBannerItem1,
.footerBannerItem2 {
    box-sizing: border-box;  /* ボーダーを内側に表示 */
    border: 1px solid #ddd;  /* ボーダーの指定 */
	border-collapse: collapse;
	overflow: hidden;
	position: relative;

}

/* footer nav */

#subNav {
	border-top: 1px solid #ddd;
    position: relative;
    width: auto;
    margin: 0 auto;
}

.subMenu {
	padding: 0 60px;
	transition-timing-function: ease-out;
    margin: 0 auto;
	display: flex;
}

.subMenu .subMenuItem {
	font-size: 16px;
    flex: 0 0 auto !important;
    width: auto !important;
    margin-right: 40px;
}

.subMenuLink {
    height: 70px;
    line-height: 70px;
    display: block;
    text-decoration: none;
    color: #000;
}

/* コピーライト */

.copyRight {
    height: 60px;
    line-height: 60px;
    position: relative;
    font-size: 14px;
    color: #fff;
    background-color: #0071bc;
}

.copyRight span {
	max-width: inherit;
    padding: 0 60px;
}


/* メディアクエリ1200px以下 */
@media screen and (max-width: 1200px) {

/* footerバナー全体 */

.footerBanner {
	flex-direction: column;
	height: 500px;
}

/* footerバナー画像 */
.footerBanner img {
	height: 250px !important;
}

/* footerバナーコンタクト */

.footerBannerItem1 .footerBannerText1 {
	font-size: 44px; /* フォントサイズ */
}

.footerBannerItem2 .footerBannerText1 {
	font-size: 44px; /* フォントサイズ */
}

/* footer text */
.footerBannerText1 .arrowButton {
	width: 40px;
	height: 40px;
}

/* ホバー時にi要素の色と背景色を変更 */
.footerBannerItem1:hover .arrowButton,
.footerBannerItem2:hover .arrowButton {
	height: 40px;
}

/* i要素のスタイル */
.arrowButton  {
	width: 40px;
	height: 40px;
	display: inline-block;
    vertical-align: middle;
    top: -5px;
}

.arrowButton i {
    top: 14px;
}

.arrowButton i:hover {
    top: 21px;
}

.footerContainer {
    padding: 40px 20px 35px;
}

.footerContainer a {
	transition-property: opacity;
  	transition-duration: 0.5s;
}

.footerContainer a:hover {
  opacity: 0.7;
}

.footerAdress p {
	line-height: 1.5;
	margin-top: 14px;
	font-size: 14px;
}

.footerBannerItem1,
.footerBannerItem2 {
    box-sizing: border-box;  /* ボーダーを内側に表示 */
    border: 1px solid #ddd;  /* ボーダーの指定 */
}

/* footer nav */


#subNav {
	border-top: 1px solid #ddd;
    position: relative;
    width: auto;
    margin: 0 auto;
}

.subMenu {
	padding: 0 30px;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	height: 150px;
}

.subMenu .subMenuItem {
	box-sizing: border-box;
	font-size: 14px;
    margin-right: 0px;
}

.subMenuLink {
	width: 100%;
    height: 50px;
    line-height: 50px;
    display: block;
    text-decoration: none;
    color: #000;
}

/* コピーライト */

.copyRight {
    height: 60px;
    line-height: 60px;
    position: relative;
	bottom: 0;
    font-size: 14px;
    color: #fff;
    background-color: #0071bc;
	padding-left: 2em;
}

.copyRight span {
	max-width: inherit;
    padding: 0;
	margin: 0 auto;

}

  #spacer_1 {
    display: none;
  }


}

/* メディアクエリ768px以下 */
@media screen and (max-width: 768px) {

/* footerバナー全体 */

#footer {
	position: relative;
	bottom: 0;
}

.footerBanner {
	flex-direction: column;
	height: 300px;
}

/* footerバナー画像 */
.footerBanner img {
	height: 150px !important;
	padding: 0px 20px !important;
}

/* footerバナーコンタクト */
.footerBannerContact {
	width: 100%;
}

.footerBannerItem1 {
	border: 1px solid #ddd;
	border-collapse: collapse;
}

/* footerバナーアイテム1にホバーしたときの画像拡大 */
.footerBannerItem1:hover img {
	opacity: 1; /* ホバー時に画像が表示される */
	transform: scale(1.2); /* ホバー時に画像が20%拡大 */
}

.footerBannerItem1 .footerBannerText1 {
	top: 30%;
	font-size: 30px; /* フォントサイズ */
	font-weight: 600; /* フォントの太さ */
}

.footerBannerItem1 .footerBannerText2 {
	top: 50%;
	font-size: 16px; /* フォントサイズ */
}

.footerBannerItem1:hover .footerBannerText1,
.footerBannerItem1:hover .footerBannerText2 {
	opacity: 1; /* ホバー時に文字を再表示する */
	color: #FFFFFF; /* ホバー時に文字色を白に変更 */
	visibility: visible; /* ホバー時に文字を表示 */
}

.footerBannerItem2 {
	border: 1px solid #ddd;
	border-collapse: collapse;
}

/* footerバナーアイテム2にホバーしたときの画像拡大 */
.footerBannerItem2:hover img {
	opacity: 1; /* ホバー時に画像が表示される */
	transform: scale(1.2); /* ホバー時に画像が20%拡大 */
}



.footerBannerItem2 .footerBannerText1 {
	top: 30%;
	font-size: 30px; /* フォントサイズ */
	font-weight: 600; /* フォントの太さ */
}

.footerBannerItem2 .footerBannerText2 {
	top: 50%;
	font-size: 16px; /* フォントサイズ */
}

/* footer text */
.footerBannerText1 .arrowButton {
	width: 40px;
	height: 40px;
}

/* ホバー時にi要素の色と背景色を変更 */
.footerBannerItem1:hover .arrowButton,
.footerBannerItem2:hover .arrowButton {
	height: 40px;
}

/* i要素のスタイル */
.arrowButton  {
	width: 40px;
	height: 40px;
	display: inline-block;
    vertical-align: middle;
    top: -5px;
}

.arrowButton i {
    display: block;
    font-size: 14px;
    position: absolute;
    left: 0px;
    top: 14px;
    color: #fff; /* 通常時は白色 */
    z-index: 2;
    width: 100%;
    text-align: center;
}

.arrowButton i:hover {
	display: block;
    font-size: 10px;
    position: absolute;
    left: 0px;
    top: 21px;
    color: #0071bc; /* ホバー時に文字色を青に変更 */
    z-index: 2;
    width: 100%;
    text-align: center;
}

.footerContainer {
            padding: 40px 20px 35px;
}

.footerContainer a {
	transition-property: opacity;
  	transition-duration: 0.5s;
}

.footerContainer a:hover {
  opacity: 0.7;
}

.footerAdress p {
	line-height: 1.5;
	margin-top: 14px;
	font-size: 14px;
}

.footerBannerItem1,
.footerBannerItem2 {
    box-sizing: border-box;  /* ボーダーを内側に表示 */
    border: 1px solid #ddd;  /* ボーダーの指定 */
}

/* footer nav */


#subNav {
	border-top: 1px solid #ddd;
    position: relative;
    width: auto;
    margin: 0 auto;
}

.subMenu {
	padding: 0 30px;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	height: 150px;
}

.subMenu .subMenuItem {
	box-sizing: border-box;
	font-size: 14px;
    margin-right: 0px;
}

.subMenuLink {
	width: 100%;
    height: 50px;
    line-height: 50px;
    display: block;
    text-decoration: none;
    color: #000;
}

/* コピーライト */

.copyRight {
	padding-left: 0;
    height: 60px;
    line-height: 60px;
    position: relative;
	bottom: 0;
    font-size: 14px;
    color: #fff;
    background-color: #0071bc;
	text-align: center;
}

.copyRight span {
	max-width: inherit;
    padding: 0;
	margin: 0 auto;

}

  #spacer_1 {
    display: none;
  }

}

