@charset "UTF-8";

/* //////////////////////////////////////////////////

　サイト全般のスタイル

////////////////////////////////////////////////// */

/* Font
-------------------------------------------------- */
body {
	color: #333;
	font-family: Avenir, 'Helvetica Neue', Helvetica, Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', sans-serif;

	font-size: 14px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	line-height: 1;
}
p,
li,
dd,
th,
td {
	line-height: 1.6;
}
dt {
	line-height: 1.3;
}
a {
	color: #004e7d;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
i,
em {
	font-style: normal;
}
input,
select,
textarea {
	font-size: 14px;
}
@media screen and (max-width: 768px) {
	body {
		font-size: 90%;
	}
	input,
	select,
	textarea {
		font-size: 16px;
	}
}
@media screen and (max-width: 640px) {
	body {
		font-size: 80%;
	}
}

/* Layout
-------------------------------------------------- */
.container {
	margin: auto;
	width: 1000px;
}
@media screen and (max-width: 768px) {
	body,
	#wrapper {
	}
	#wrapper {
		overflow: hidden;
		position: relative;
	}
	.container {
		width: auto;
		padding: 0 10px;
	}
}
@media screen and (max-width: 640px) {
}

/* Module
-------------------------------------------------- */

/* button */
.btn a {
	display: inline-block;
}
.btn a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.btn1 a {
	background-image: url(/assets/img/common/mrk_link_1.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 6.5px;
}
.btn3 a {
	background-image: url(/assets/img/common/mrk_link_3.png);
	background-repeat: no-repeat;
	background-position: 10px center;
	background-size: 6px;
}

/* news */
.news_meta p,
.news_meta ul,
.news_meta li {
	float: left;
	margin-bottom: 5px;
}
.news_meta .date {
	margin: 0 15px 0 0;
}
.news_meta .category a {
	display: block;
	padding: 1px 10px;
	margin: 0 4px 0 0;
	color: #fff;
	background: #145074;
}
@media screen and (max-width: 768px) {
	.news_meta .date {
		padding-top: 2px;
		margin: 0 0 5px;
	}
	.news_meta .category {
		float: none;
		clear: both;
	}
	.news_meta .category a {
		padding: 1px 5px;
	}
}

/* header
-------------------------------------------------- */
#header {
	position: relative;
	background: #f5f5f5;
}
#header:after {
	clear: both;
	content: '';
	display: block;
}
.header_txt {
	width: 100%;
	height: 32px;
	padding: 10px 0;
	background: #dfe0e6;
	position: relative;
}
.header_txt h1,
.header_txt .p_text {
	width: 1000px;
	margin: 0 auto;
	color: #333;
	font-size: 0.9em;
	position: relative;
	line-height: 100%;
}
.header_txt .p_text .recruit,
.header_txt h1 .recruit {
	text-align: right;
	position: absolute;
	right: 0;
	font-weight: bold;
	top: 0px;
}
.header_txt .p_text .recruit a,
.header_txt h1 .recruit a {
	display: inline-block;
	background-image: url(/assets/img/common/icon_blank.png);
	background-repeat: no-repeat;
	background-position: center right;
	padding-right: 1.3em;
}
#header_wrap {
	background: #f5f5f5;
}
.header_wrap {
	background: #f5f5f5;
}
.header_inner {
	width: 1000px;
	margin: 0 auto;
	height: 106px;
}

.site_logo {
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: left;
	float: none;
}

@media screen and (max-width: 768px) {
	.header_txt,
	.header_inner.pc {
		display: none;
	}
}
@media screen and (min-width: 769px) {
	.header_inner.sp {
		display: none;
	}
}

/* global navi
-------------------------------------------------- */
#menu_btn {
	display: none;
}
#gnavi {
	float: none;
	width: 100%;
	position: relative;
	margin: 0;
}
ul.nav_wrap {
	margin: auto;
}
ul.nav_wrap > li {
	position: relative;
	float: left;
	display: block;
	text-align: center;
	width: 110px;
	height: 46px;
	line-height: 1;
}
ul.nav_wrap > li a {
	display: block;
	width: 100%;
	padding-top: 16px;
	padding-bottom: 16px;
	color: #333;
}
ul.nav_wrap > li a:hover {
	text-decoration: none;
	background: #fff;
}
#gnavi li.hidden_pc {
	display: none;
}
#gnavi li em {
	display: none;
}

#gnavi .sub {
	display: none;
	position: absolute;
	z-index: 100;
	top: 46px;
	left: 0;
	right: 0;
	width: 142px;
	background: #f5f5f5;
	color: #fff;
	text-align: left;
	overflow: hidden;
}
#gnavi .sub .inner {
	width: 142px;
	margin: auto;
	padding: 0;
	margin: 10px 0;
}
#gnavi .sub a {
	display: block;
	padding: 8px 20px;
	font-size: 0.9em;
}
#gnavi .sub a:hover {
	text-decoration: none;
	background: #dfdfdf;
}

.header_inner {
	position: relative;
}
.header_apps {
	width: 14.5rem;
}

.header_apps a {
	/* display: block; */
	/* right:0; */
	/* background: #145074 url(/assets/img/common/ico_contact.png) no-repeat 15px center; */
	position: absolute;
	top: 7px;
	background: #fff;
	border: 1px solid #145074;
	font-size: 1.1em;
	padding: 14px 25px;
	color: #145074;
	text-decoration: none;
	border-radius: 6px;
}
.header_apps a:hover {
	opacity: 0.8;
}

.header_contact {
	width: 10.5rem;
}

.header_contact a {
	/* display: block; */
	/* right:0; */
	/* background: #145074 url(/assets/img/common/ico_contact.png) no-repeat 15px center; */
	position: absolute;
	top: 7px;
	background: #145074;
	border: 1px solid #145074;
	font-size: 1.1em;
	padding: 14px 25px;
	color: #fff;
	text-decoration: none;
	border-radius: 6px;
}
.header_contact a:hover {
	opacity: 0.8;
}

.justify-content-end {
	justify-content: flex-end !important;
}
.d-flex {
	display: flex !important;
}

#gnavi .nav5 a {
	width: 185px;
	height: 66px;
	color: #fff;
	font-size: 1.2em;
	padding-left: 25px;
	background: #145074 url(/assets/img/common/ico_contact.png) no-repeat 15px center;
}
#gnavi .nav5 a:hover {
	opacity: 0.7;
}
@media screen and (min-width: 769px) {
	header_inner.sp {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	#gnavi li.hidden_sp {
		display: none;
	}
	#header {
		padding: 10px;
	}
	.site_logo {
		padding: 10px 0;
		float: left;
	}
	/*button*/
	#menu_btn {
		display: block;
		/*position: absolute;*/
		z-index: 100;
		top: 10px;
		right: 10px;
		padding: 9px 7px 4px;
		background: #145074;
		float: right;
	}
	#menu_btn div {
		transition: all 0.4s ease-out;
	}
	#menu_btn span {
		display: block;
		width: 24px;
		height: 3px;
		background: #fff;
		margin: 0 0 5px;
		transition: all 0.4s ease-out;
	}
	#menu_btn.active div {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#menu_btn.active .bar1 {
		transform: rotate(0deg) translateY(8px);
	}
	#menu_btn.active .bar2 {
		opacity: 0;
	}
	#menu_btn.active .bar3 {
		transform: rotate(-90deg) translateX(8px);
	}
	/*navi*/
	.header_inner {
		width: 100%;
		height: 60px;
	}
	.header_inner.sp .site_logo {
		padding-left: 10px;
	}
	#header_wrap {
		width: 100%;
		position: absolute;
		z-index: 100;
		top: 60px;
		left: 0;
		right: 0;
		bottom: 0;
		height: 0;
		background: rgba(0, 0, 0, 0.75);
		transition: all 0.3s;
		overflow: hidden;
		margin: 0;
	}
	#header_wrap .site_logo {
		display: none;
	}
	#header_wrap.active {
		height: inherit;
		z-index: 9999;
	}
	#gnav_sp ul li a {
		display: block;
		padding: 15px 10px;
		background-color: #efefef;
		border-bottom: 1px #ccc solid;
		position: relative;
	}
	#gnav_sp ul li a:after {
		content: '';
		display: block;
		width: 8px;
		height: 8px;
		border-right: 1px #145074 solid;
		border-bottom: 1px #145074 solid;
		transform: rotate(-45deg);
		position: absolute;
		right: 15px;
		top: calc(50% - 4px);
	}
	#gnav_sp ul li.contact {
		padding: 10px;
		background-color: #efefef;
	}
	#gnav_sp ul li.contact a:after {
		display: none;
	}
	#gnav_sp ul li.contact a {
		background-color: #145074;
		text-align: center;
	}
	#gnav_sp ul li.contact a span {
		color: #fff;
		display: inline-block;
		position: relative;
		font-size: 16px;
	}
	#gnav_sp ul li.contact a span:before {
		content: '';
		display: block;
		width: 18px;
		height: 13px;
		background-image: url(/assets/img/common/ico_contact.png);
		background-repeat: no-repeat;
		background-size: 18px auto;
		color: #fff;
		position: absolute;
		top: 5px;
		left: -25px;
	}
	#gnavi {
		width: 100%;
	}
	ul.nav_wrap {
		display: block;
		border-top: 1px dotted #fff;
		background: #145074 !important;
		width: 100%;
	}
	ul.nav_wrap > li {
		float: left;
		display: block;
		text-align: left;
		width: 50%;
		line-height: 30px;
		background: #145074;
		border-bottom: 1px dotted #fff;
	}
	ul.nav_wrap > li a {
		width: 100%;
	}
	ul.nav_wrap > li:hover {
		border-color: #fff;
	}
	ul.nav_wrap .parent_text {
		padding: 0;
		border: none;
		background: none;
	}

	ul.nav_wrap > li a {
		display: block;
		padding: 15px 10px;
		color: #fff;
		background: url(/assets/img/common/mrk_link_2.png) no-repeat right 10px center;
		background-size: 6px;
	}
	ul.nav_wrap > li a:hover {
		background: #145074 url(/assets/img/common/mrk_link_2.png) no-repeat right 10px center;
		background-size: 6px;
		border-bottom: 1px dotted #fff;
	}
	ul.nav_wrap > li a,
	ul.nav_wrap > li .parent_text {
		font-size: 11px;
		color: #fff;
	}
	#gnavi li.hidden_pc {
		display: block;
	}
	#gnavi li em {
		display: inline-block;
		padding-right: 1em;
		text-transform: uppercase;
		font-size: 15px;
		color: #fff;
	}

	#gnavi .sub {
		display: none;
	}

	#gnavi .nav5 a {
		width: 100%;
		color: #fff;
		font-size: 1em;
		padding-left: 0;
		background: url(/assets/img/common/mrk_link_2.png) no-repeat right 10px center;
		background-size: 6px;
	}
	#gnavi .nav5 a:hover {
		opacity: 1;
	}
}
@media screen and (max-width: 640px) {
}

/* footer
-------------------------------------------------- */
/* #pagetop {
	border-top: 1px #ccc solid;
} */

/* #pagetop {
	position: fixed;
	bottom: 60px;
	right: 20px;
	z-index: 9999;
}

#pagetop a {
	display: block;
	padding: 23px 10px 15px;
	text-align: center;
	background: #fff url(/assets/img/common/mrk_top.png) no-repeat center 10px;
	background-size: 6px;
	position: relative;
}
#pagetop a:before {
	content: '';
	display: block;
	width: 4px;
	height: 4px;
	border-bottom: 1px #145074 solid;
	border-right: 1px #145074 solid;
	position: absolute;
	top: 10px;
	left: 50%;
	transform: rotate(-135deg);
}
#pagetop a:hover {
	color: #fff;
	background: #004e7d url(/assets/img/common/mrk_top_hover.png) no-repeat center 10px;
	background-size: 6px;
	text-decoration: none;
}
#pagetop a:hover:before {
	border-bottom: 1px #fff solid;
	border-right: 1px #fff solid;
} */

#pagetop a {
	z-index: 9999;
	text-indent: -9999px;
	display: block;
	padding: 23px 10px 15px;
	text-align: center;
	/*background: #fff url(/assets/img/common/mrk_top.png) no-repeat center 10px;*/
	background-size: 6px;
	position: relative;
}
#pagetop a:before {
	content: '';
	display: block;
	width: 4px;
	height: 4px;
	border-bottom: 1px #145074 solid;
	border-right: 1px #145074 solid;
	position: absolute;
	top: 10px;
	left: 50%;
	transform: rotate(-135deg);
}
#pagetop a:hover {
	color: #fff;
	/*background: #004e7d url(/assets/img/common/mrk_top_hover.png) no-repeat center 10px;*/
	background-size: 6px;
	text-decoration: none;
}

#pagetop {
	position: fixed;
	bottom: 60px;
	right: 20px;
	z-index: 9999;
}
#pagetop a {
	display: block;
	z-index: 9999;
	padding: 8px 0 0 8px;
	border-radius: 30px;
	width: 50px;
	height: 50px;
	background-color: #003b5f;

	font-weight: bold;
	text-decoration: none;
	text-align: center;
}
#pagetop a:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: auto;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: translate(-50%, -20%) rotate(45deg);
	transition: 0.2s;
}
#pagetop a:hover {
	text-decoration: none;
	opacity: 0.7;
}

#pagetop a {
	width: 40px;
	height: 40px;
}

/* lineバナー始まり
-------------------------------------------------- */

#line_banners {
	position: fixed;
	bottom: 120px;
	right: 0;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

#line_banners #line_banner_02,
#line_banners #line_banner_03 {
	margin-top: 10px;
}

#line_banners a {
	display: block;
	line-height: 0;
}

#line_banner_01 img {
	display: block;
	width: 100px;
	height: auto;
}

#line_banner_01 a:hover img {
	opacity: 0.8;
}

#line_banner_02 img {
	display: block;
	width: 100px;
	height: auto;
}

#line_banner_02 a:hover img {
	opacity: 0.8;
}

#line_banner_03 img {
	display: block;
	width: 100px;
	height: auto;
}

#line_banner_03 a:hover img {
	opacity: 0.8;
}

#line_banner {
	position: fixed;
	bottom: 46px;
	right: 10px;
	z-index: 9999;
}

#line_banner_sp {
	position: fixed;
	bottom: 0px;
	z-index: 9999;
	background: #fff;
}

#line_banner_sp img {
	width: 100%;
}
#line_banner a:hover img {
	opacity: 1;
}

#line_banner_sp a:hover img {
	opacity: 1;
}

#line_banner_sp ul {
	float: left;
}
#line_banner_sp ul li {
	display: table-cell;
	width: auto;
	padding: 0.6rem;
}
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
	display: block !important;
}
.sp {
	display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	/*
	 * ChatPlus ティーザー帯とナビの重なり回避。
	 * bottom に safe-area を足すと二重になりナビが大きく浮くため、オフセットは帯の高さのみ。
	 * 隠れる→30を大きく / 空きすぎ→30を小さく
	 */
	#line_banner_sp {
		bottom: 30px;
	}
	#footer {
		margin-bottom: calc(53px + 30px + env(safe-area-inset-bottom, 0px));
	}
	#pagetop {
		bottom: calc(96px + 30px + env(safe-area-inset-bottom, 0px));
	}
}
/* lineバナー終わり
-------------------------------------------------- */

#footer {
	background: #ebebeb;
}
#footer nav {
	padding: 20px 0 30px;
}
#footer nav a {
	color: #333;
}
#footer nav li {
	margin-top: 10px;
	font-size: 14px;
}
#footer nav li li {
	padding-left: 14px;
	font-size: 12px;
}

#footer .copyright {
	display: block;
	padding: 15px;
	text-align: center;
	background: #333236;
	color: #fff;
	font-size: 12px;
}
@media screen and (max-width: 768px) {
	#pagetop a {
		padding: 22px 10px 13px;
		font-size: 13px;
	}

	#footer nav {
		padding: 15px 0 0;
	}
	#footer nav .__col3 {
		float: none;
		width: 100%;
	}
	#footer nav li {
		margin: 0;
	}
	#footer nav li ul {
		display: none;
	}
	#footer nav a {
		display: block;
		padding: 10px;
		background: url(/assets/img/common/mrk_link_1.png) no-repeat right center;
		background-size: 6.5px;
		border-top: 1px solid #fff;
	}
	#footer nav .privacy a {
		text-align: right;
		background: none;
		padding-right: 0;
	}

	#footer .copyright {
		padding: 10px;
		font-size: 11px;
	}
}
@media screen and (max-width: 640px) {
	#footer nav li {
		font-size: 13px;
	}
}

.mt-1 {
	margin-top: 10px;
}

.mt-2 {
	margin-top: 20px;
}

.mt-3 {
	margin-top: 30px;
}

.mb-1 {
	margin-bottom: 10px;
}

.mb-2 {
	margin-bottom: 20px;
}

.mb-3 {
	margin-bottom: 30px;
}

/* footer_bnr
-------------------------------------------------- */

#footer_banner {
	margin-bottom: -1px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

#footer_banner .item {
	ms-flex: 1 1 0%;
	-webkit-flex: 1 1 0%;
	flex: 1 1 0%;
	height: 200px;
}

#footer_banner a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

#footer_banner .link {
	padding-left: 0 !important;
}

#footer_banner .image_wrap {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

#footer_banner .image {
	width: 100%;
	height: 100% !important;
	display: block;
	overflow: hidden;
	position: relative;
	z-index: 2;
}

#footer_banner .title_area {
	z-index: 5;
	position: absolute;
	left: 0;
	padding: 0 40px;
	top: 50%;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.35s ease;
	transition: all 0.35s ease;
}

#footer_banner .title {
	font-size: 24px;
	font-weight: 600;
}

#footer_banner .sub_title {
	font-size: 14px;
	font-weight: 500;
	margin-top: 13px;
}

#footer_banner .overlay {
	position: absolute;
	width: 70%;
	height: 100%;
	z-index: 4;
}

#footer_banner a:hover .title_area {
	left: 7px;
}

#footer_banner .item {
	height: 200px;
}

#footer_banner .title_area {
	padding: 0 30px;
}

#footer_banner .item {
	height: 200px;
}
#footer_banner .title_area {
	padding: 0 30px;
}
@media screen and (max-width: 950px) {
	#footer_banner .item {
		height: 140px;
		width: 100%;
		-ms-flex: 1 0 auto;
		-webkit-flex: 1 0 auto;
		flex: 1 0 auto;
	}
	#footer_banner .title_area {
		padding: 0 40px;
	}
}
@media screen and (max-width: 750px) {
	#footer_banner .item {
		height: 150px;
	}
	#footer_banner .title_area {
		padding: 0 20px;
	}
	#footer_banner .sub_title {
		margin-top: 10px;
	}
}

#footer_banner a {
	color: #fff !important;
}

#footer_banner .title {
	font-size: 24px;
}

#footer_banner .sub_title {
	font-size: 14px;
}

@media screen and (max-width: 750px) {
	#footer_banner .title {
		font-size: 18px;
	}
	#footer_banner .sub_title {
		font-size: 12px;
	}
}

.animate_image img,
.animate_background .image {
	width: 100%;
	height: auto;
	-webkit-transition: transform 0.5s ease;
	transition: transform 0.5s ease;
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.animate_image:hover img,
.animate_background:hover .image {
	-webkit-transform: scale(1);
	transform: scale(1);
}

.me-4 {
    margin-right: 1.5rem !important;
}
