@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
	box-sizing: border-box;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
a,
a:link {
	color: #222;
	text-decoration: none;
	transition: .3s;
}
a:visited {
	color: #222;
}
a:hover {
	color: #222;
}
a:active {
	color: #222;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1000px;
	color: #222;
	font-size: 1.5rem;
	line-height: 2.13;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
#container {
	padding-top: 103px;
	text-align: left;
}
#main {
	display: block;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.3rem;
		line-height: 1.75;
	}
	body.fixed {
		width: 100%;
		position: fixed;
		left: 0;
	}
	#container {
		padding-top: 60px;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#g_header {
	padding: 23px 0 17px;
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
	height: 103px;
	box-sizing: border-box;
	z-index: 100;
}
#g_header::after {
	width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
	backdrop-filter: blur(10px) brightness(110%);
	background: rgb(255 255 255 / 60%);
    content: '';
}
#g_header.header02 {
	position: absolute;
}
#g_header.header02::after {
	opacity: 0;
}
#g_header.header02.header01 {
	position: fixed;
	overflow: hidden;
}
#g_header.header02.header01::after {
	opacity: 1;
}
#g_header::before {
	width: calc(50% - 292px);
	position: absolute;
	left: 0;
	top: 0;
	bottom: -2px;
	background-color: #001E7F;
	content: '';
	z-index: 2;
}
#g_header .h_box {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1400px;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 4;
}
#g_header h1 {
	margin-top: -7px;
	width: 345px;
}
#g_header h1 .img02 {
	display: none !important;
}
#g_header .tel {
	font-weight: 700;
}
#g_header .tel span {
	margin-bottom: -6px;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
#g_header .tel span strong {
	font-size: 2.6rem;
	font-weight: 900;
	line-height: 1.23;
	letter-spacing: 0.05em;
}
#g_navi {
	position: relative;
}
#g_navi .t_box {
	display: flex;
	align-items: center;
}
#g_navi .h_link_list {
	margin: -6px 60px 0 0;
	display: flex;
}
#g_navi .h_link_list li:not(:last-of-type) {
	margin-right: 29px;
}
#g_navi .h_link_list a {
	position: relative;
	display: block;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#g_navi .h_link_list a::after {
	width: calc(100% - 2px);
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 2px;
	background-color: #E02838;
	content: '';
	opacity: 0;
	transition: .3s;
}
#g_navi .h_link_list li.on a::after {
	opacity: 1;
}
#g_navi .btn {
	width: 249px;
	position: absolute;
	right: 0;
	top: calc(100% + 7px);
}
#g_navi .btn a {
	padding: 15px 10px;
	display: block;
	color: #fff;
	font-weight: 700;
	text-align: center;
	background-color: #001E7F;
}
#g_navi .btn span {
	padding-right: 5px;
	display: inline-block;
	letter-spacing: 0.1em;
	vertical-align: top;
}
#g_navi .btn i {
	margin-right: 20px;
	font-size: 3.3rem;
	line-height: 1;
	vertical-align: -6px;
}
@media all and (min-width: 897px) {
	#g_navi .h_link_list a:hover::after {
		opacity: 1;
	}
	#g_navi .btn a:hover {
		background-color: #2F5EE1;
	}
	#g_navi {
		display: block !important;
	}
	#g_header.header01 {
		padding: 15px 0 7px;
		height: auto;
	}
	#g_header.header01::before {
		display: none;
	}
	#g_header.header01 h1 {
		width: 299px;
	}
	#g_header.header01 h1 .img02 {
		display: block !important;
	}
	#g_header.header01 h1 .img01 {
		display: none !important;
	}
	#g_header.header01 #g_navi {
		padding-right: 220px;
	}
	#g_header.header01 #g_navi .h_link_list {
		margin-right: 30px;
	}
	#g_header.header01 #g_navi .btn {
		width: 215px;
		right: 0;
		top: calc(50% - 4px);
		transform: translateY(-50%);
	}
}
@media (min-width: 897px) and (max-width: 1400px) {
	#g_header.header01 h1 {
		width: 240px;
	}
	#g_header.header01 #g_navi .h_link_list {
		margin-right: 20px;
	}
	#g_header.header01 #g_navi .h_link_list li:not(:last-of-type) {
		margin-right: 15px;
	}
	#g_header.header01 #g_navi .h_link_list a {
		font-size: 1.3rem;
	}
	#g_header.header01 .tel {
		font-size: 1.3rem;
	}
	#g_header.header01 .tel span strong {
		font-size: 2rem;
	}
}
@media (min-width: 897px) and (max-width: 1360px) {
	#g_header::before {
		width: 380px;
	}
}
@media (min-width: 897px) and (max-width: 1265px) {
	#g_header h1 {
		width: 280px;
	}
	#g_header::before {
		width: 310px;
	}
}
@media (min-width: 897px) and (max-width: 1200px) {
	#g_navi .h_link_list {
		margin-right: 20px;
	}
	#g_navi .h_link_list li:not(:last-of-type) {
		margin-right: 15px;
	}
	#g_navi .h_link_list a {
		font-size: 1.3rem;
	}
	#g_header .tel {
		font-size: 1.3rem;
	}
	#g_header .tel span strong {
		font-size: 2rem;
	}
	#g_header.header01 h1 {
		width: 220px;
	}
	#g_header.header01 #g_navi .h_link_list {
		margin-right: 15px;
	}
	#g_header.header01 #g_navi .h_link_list li:not(:last-of-type) {
		margin-right: 10px;
	}
	#g_header.header01 #g_navi .h_link_list a {
		font-size: 1.2rem;
	}
	#g_header.header01 .tel {
		font-size: 1.1rem;
	}
	#g_header.header01 .tel span strong {
		font-size: 1.8rem;
	}
	#g_header.header01 #g_navi {
		padding-right: 170px;
	}
	#g_header.header01 #g_navi .btn {
		width: 160px;
	}
	#g_header.header01 #g_navi .btn a {
		font-size: 1.3rem;
	}
	#g_header.header01 .h_box {
		padding: 0 10px;
	}
	#g_header.header01 #g_navi .btn i {
		font-size: 2.6rem;
	}
}
@media (min-width: 897px) and (max-width: 999px) {
	#g_header h1 {
		width: 220px;
	}
	#g_header::before {
		width: 250px;
	}
	#g_header .tel {
		font-size: 1.1rem;
	}
	#g_navi .h_link_list li:not(:last-of-type) {
		margin-right: 12px;
	}
	#g_header.header01 #g_navi .h_link_list a {
		font-size: 1.1rem;
	}
	#g_header.header01 .tel {
		font-size: 1rem;
	}
	#g_header.header01 .tel span strong {
		font-size: 1.4rem;
	}
	#g_header.header01 #g_navi .h_link_list {
		margin-right: 10px;
	}
	#g_header.header01 #g_navi {
		padding-right: 160px;
	}
	#g_header.header01 #g_navi .btn i {
		margin-right: 10px;
	}
	#g_header.header01 #g_navi .btn {
		width: 150px;
	}
	#g_header.header01 #g_navi .h_link_list li:not(:last-of-type) {
		margin-right: 5px;
	}
	#g_header.header01 h1 {
		width: 210px;
	}
}
@media all and (max-width: 896px) {
	#g_header {
		padding: 0;
		height: auto;
		height: 60px;
		background: #001E7F;
	}
	#g_header.header02 {
		position: fixed;
	}
	#g_header::after {
		display: none;
	}
	#g_header::before {
		display: none;
	}
	#g_header .h_box {
		max-width: inherit;
		display: block;
	}
	#g_header h1 {
		margin: 0 0 0 -20px;
		padding: 15px 20px 17px;
		width: 260px;
		height: 60px;
		box-sizing: border-box;
		position: relative;
		z-index: 100;
		background-color: #001E7F;
	}
	#g_header h1::before {
		width: 100vw;
		height: 60px;
		position: absolute;
		left: 0;
		top: 0;
		background: #001E7F;
		content: '';
		z-index: -1;
	}
	#g_header h1 img {
		width: 220px;
	}
	#g_header .tel {
		margin-bottom: 30px;
		text-align: center;
	}
	#g_header .tel span {
		margin-bottom: 0;
	}
	#g_navi {
		padding: 90px 20px;
		position: relative;
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 9999;
		box-sizing: border-box;
		overflow-y: auto;
		background-color: #fff;
		display: none;
	}
	#g_navi .t_box {
		display: block;
	}
	#g_navi .h_link_list {
		margin: 0 0 30px;
		display: block;;
	}
	#g_navi .h_link_list li:not(:last-of-type) {
		margin: 0;
	}
	#g_navi .h_link_list li {
		text-align: center;
	}
	#g_navi .h_link_list li a {
		padding: 11px 0;
		display: block;
		font-size: 1.6rem;
	}
	#g_navi .h_link_list a::after {
		bottom: 1px;
	}
	#g_navi .btn {
		margin: 0 auto 30px;
		position: relative;
		right: 0;
		top: 0;
	}
	#g_navi .com_link {
		max-width: 249px;
	}
	.menu {
		width: 60px;
		height: 60px;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 100;
		background-color: #001E7F;
		cursor: pointer;
	}
	.menu span {
		width: 30px;
		height: 2px;
		display: block;
		position: absolute;
		left: calc(50% - 15px);
		top: 19px;
		background-color: #fff;
		border-radius: 3px;
		transition: .3s;
	}
	.menu.on span {
		transform: translateY(10px) rotate(45deg);
	}
	.menu span:nth-of-type(2) {
		top: 29px;
	}
	.menu.on span:nth-of-type(2) {
		opacity: 0;
	}
	.menu span:nth-of-type(3) {
		top: 39px;
	}
	.menu.on span:nth-of-type(3) {
		transform: translateY(-10px) rotate(-45deg);
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#g_footer {
	position: relative;
}
#g_footer .f_box {
	margin: 0 auto;
	max-width: 900px;
	padding: 74px 20px 73px;
	position: relative;
	display: flex;
	justify-content: space-between;
}
#g_footer .l_box {
	margin: 5px 0 0 23px;
	width: 420px;
}
#g_footer .l_box .logo {
	margin-bottom: 40px;
	width: 409px;
}
#g_footer .l_box p {
	margin-bottom: 15px;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
#g_footer .l_box p:last-of-type {
	margin-bottom: 0;
}
#g_footer .f_navi {
	margin-top: -19px;
	width: 262px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#g_footer .f_navi li {
	margin-top: 19px;
	width: 45%;
}
#g_footer .f_navi a {
	position: relative;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#g_footer .f_navi a::before {
	width: 15px;
	height: 1px;
	position: absolute;
	left: -23px;
	top: calc(50% + 1px);
	transform: translateY(-50%);
	background-color: #222;
	content: '';
}
#g_footer .copyright {
	padding: 12px 10px 10px;
	display: block;
	color: #8F8F8F;
	font-size: 1.3rem;
	font-style: normal;
	letter-spacing: 0.05em;
	text-align: center;
	background-color: #F6F6F6;
}
#g_footer .page_top {
	position: absolute;
	right: -110px;
	bottom: -1px;
}
#g_footer .page_top a {
	padding-left: 5px;
	width: 80px;
	height: 78px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 3.6rem;
	font-weight: 300;
	letter-spacing: 0.15em;
	box-sizing: border-box;
	background-color: #2F5EE1;
}
#g_footer .page_top a i {
	transition: .3s;
}
@media all and (min-width: 897px) {
	#g_footer .page_top a:hover i {
		transform: translateY(-8px);
	}
	#g_footer .f_navi a:hover {
		opacity: 0.7;
	}
}
@media (min-width: 897px) and (max-width: 1200px) {
	#g_footer .page_top {
		right: 20px;
	}
}
@media all and (max-width: 896px) {
	#g_footer .f_box {
		max-width: inherit;
		padding: 40px 20px;
		display: block;
	}
	#g_footer .l_box {
		margin: 0;
		width: auto;
	}
	#g_footer .l_box .logo {
		margin: 0 auto 20px;
		width: 220px;
	}
	#g_footer .l_box p {
		text-align: center;
	}
	#g_footer .f_navi {
		display: none;
	}
	#g_footer .copyright {
		font-size: 1.2rem;
	}
	#g_footer .page_top {
		right: 0;
	}
	#g_footer .page_top a {
		width: 50px;
		height: 50px;
		font-size: 2.2rem;
	}
}
@media all and (max-width: 374px) {
	#g_footer .copyright {
		font-size: 1.1rem;
	}
	#g_footer .l_box {
		margin: 0 35px;
	}
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {content: "";display: block;clear: both;}
/* flex */
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.com_box {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1000px;
}
@media all and (max-width: 896px) {
	.com_box {
		max-width: inherit;
	}
}
/*------------------------------------------------------------
	page_title
------------------------------------------------------------*/
.page_title {
	margin-bottom: 80px;
	padding: 15px 0 10px;
	height: 310px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	background: url(img/common/page_bg.jpg) no-repeat center center / cover;
}
.page_title h2 {
	width: 100%;
	max-width: 1000px;
	padding: 0 20px;
	color: #fff;
	font-size: 5rem;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: 0.1em;
}
.page_title .btn {
	width: 80px;
	height: 250px;
	position: fixed;
	right: 0;
	top: 335px;
	z-index: 99;
}
.page_title .btn a {
	padding: 22px 5px 15px 12px;
	height: 78px;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
	background-color: #E02838;
}
.page_title .btn a i {
	font-size: 3.6rem;
	font-weight: 300;
	letter-spacing: 0.15em;
	transition: .6s;
}
.page_title .btn span {
	display: block;
	margin: 0 auto 0;
	height: 0;
	width: 20px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.17;
	letter-spacing: 0;
	transform: translateX(-2px);
	transition: .3s;
	overflow: hidden;
}
@media all and (min-width: 897px) {
	.page_title .btn a:hover {
		padding-bottom: 33px;
		height: 100%;
		background-color: #ff1c30;
	}
	.page_title .btn a:hover i {
		font-size: 2.6rem;
	}
	.page_title .btn a:hover span {
		margin-top: 15px;
		height: auto;
	}
}
@media all and (max-width: 896px) {
	.page_title {
		margin-bottom: 40px;
		height: 160px;
	}
	.page_title h2 {
		max-width: inherit;
		font-size: 2.5rem;
		font-weight: 700;
	}
	.page_title .btn {
		width: 50px;
		height: auto;
		top: 170px;
	}
	.page_title .btn a {
		padding: 12px 5px 15px 12px;
		width: 50px;
		height: 50px;
		position: relative;
	}
	.page_title .btn a i {
		font-size: 2.6rem;
	}
}
/*------------------------------------------------------------
	com_link_list
------------------------------------------------------------*/
.com_link_list {
	margin: -60px auto 60px;
	max-width: 1410px;
	padding: 0 30px 0 10px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.com_link_list li {
	margin-top: 60px;
	width: calc((100% - 69px) / 2);
	position: relative;
}
.com_link_list li .com_btn {
	margin: 0;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}
@media all and (max-width: 896px) {
	.com_link_list {
		margin: 0 auto 60px;
		max-width: inherit;
		padding: 0 20px;
		display: block;
	}
	.com_link_list li {
		margin: 0 0 30px;
		width: auto;
	}
	.com_link_list li:last-of-type {
		margin-bottom: 0;
	}
	.com_link_list li .com_btn {
		margin: 0;
		width: 200px;
		position: absolute;
		right: 4px;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
	}
}
/*------------------------------------------------------------
	com_btn
------------------------------------------------------------*/
.com_btn {
	margin: 0 auto;
	width: 285px;
}
.com_btn a {
	padding: 21px 10px 20px 12px;
	position: relative;
	display: block;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.1em;
	z-index: 2;
}
.com_btn a::after {
	width: calc(100% + 18px);
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	display: block;
	border: 1px solid #2F5EE1;
	background-color: #2F5EE1;
	box-sizing: border-box;
	transform: skewX(13deg) translateX(-50%);
	content: '';
	z-index: -1;
}
.com_btn a i {
	margin-left: 19px;
	font-size: 2.5rem;
	font-weight: 300;
	vertical-align: -2px;
	transition: transform .3s;
}
.com_btn.btn01 {
	width: 215px;
}
.com_btn.btn01 a {
	padding: 21px 25px;
	text-align: left;
}
.com_btn.btn01 a i {
	margin: 7px 0 0;
	float: right;
}
.com_btn.btn01 a::before {
	top: 0;
}
@media all and (min-width: 897px) {
	.com_btn a:hover {
		color: #2F5EE1;
	}
	.com_btn a:hover i {
		transform: translateX(8px);
	}
	.com_btn a:hover::after {
		background-color: #fff;
	}
}
@media all and (max-width: 896px) {
	.com_btn {
		width: calc(100% - 20px);
		max-width: 285px;
	}
	.com_btn a {
		padding: 10px;
		font-size: 1.4rem;
	}
	.com_btn a i {
		margin-left: 10px;
		font-size: 1.8rem;
	}
}
/*------------------------------------------------------------
	com_link
------------------------------------------------------------*/
.com_link {
	margin: 0 auto;
	width: 391px;
}
.com_link a {
	padding: 40px 10px;
	display: block;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.78;
	letter-spacing: 0.1em;
	text-align: center;
	background-color: #E02838;
}
.com_link i {
	margin-right: 14px;
	font-size: 3.5rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.15em;
	vertical-align: -5px;
}
@media all and (min-width: 897px) {
	.com_link a:hover {
		background-color: #ff1c30;
	}
}
@media all and (max-width: 896px) {
	.com_link {
		margin: 0 auto;
		width: auto;
		max-width: 450px;
	}
	.com_link a {
		padding: 20px 10px;
		font-size: 1.5rem;
	}
	.com_link i {
		font-size: 2.4rem;
		vertical-align: -3px;
	}
}
/*------------------------------------------------------------
	com_btm_box
------------------------------------------------------------*/
.com_btm_box {
	padding: 54px 0 56px;
	position: relative;
	background-color: #001E7F;
}
.com_btm_box .bg {
	width: calc(50% - 145px);
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background: url(img/common/bg05.png) no-repeat left center / 64px 100%,url(img/common/bg03.jpg) no-repeat center center / cover;
}
.com_btm_box .bg::before {
	width: 5px;
	height: calc(100% - 5px);
	position: absolute;
	left: -4px;
	top: 5px;
	background-color: #001E7F;
	content: '';
}
.com_btm_box .com_box {
	position: relative;
	z-index: 2;
}
.com_btm_box h2 {
	margin-bottom: 79px;
	color: #fff;
	font-size: 3rem;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.com_btm_box h2 span {
	margin-top: 25px;
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.com_btm_box .link_list {
	margin-top: -39px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.com_btm_box .link_list li {
	margin-top: 39px;
	width: 46.2%;
	display: flex;
}
.com_btm_box .link_list a {
	padding: 20px 20px 19px 34px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	box-sizing: border-box;
}
.com_btm_box .link_list .list01 a {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2.13;
	background-color: #fff;
}
.com_btm_box .link_list .list01 a span {
	margin-bottom: 2px;
	width: 100%;
	font-size: 4.5rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.05em;
}
.com_btm_box .link_list .list01 a small {
	font-size: 2.5rem;
	letter-spacing: 0.05em;
}
.com_btm_box .link_list .list02 {
	width: 49.9%;
}
.com_btm_box .link_list .list02 a {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	background-color: #E02838;
}
.com_btm_box .link_list .list02 i {
	margin-right: 18px;
	font-size: 3.5rem;
	line-height: 1;
}
@media all and (min-width: 897px) {
	.com_btm_box .link_list a:hover {
		background-color: #ff1c30;
	}
}
@media (min-width: 897px) and (max-width: 1050px) {
	.com_btm_box .link_list .list01 a span {
		font-size: 4rem;
	}
	.com_btm_box .link_list .list02 a {
		font-size: 1.5rem;
	}
}
@media all and (max-width: 896px) {
	.com_btm_box {
		padding: 30px 0;
	}
	.com_btm_box .bg {
		width: 65%;
		background-position: left center,left 65% center;
	}
	.com_btm_box h2 {
		margin-bottom: 30px;
		font-size: 2rem;
	}
	.com_btm_box h2 span {
		margin-top: 12px;
		font-size: 1.3rem;
	}
	.com_btm_box .link_list {
		margin-top: 0;
		display: block;
	}
	.com_btm_box .link_list li {
		margin: 0 0 20px;
		width: auto;
		display: block;
	}
	.com_btm_box .link_list li:last-of-type {
		margin-bottom: 0;
	}
	.com_btm_box .link_list a {
		padding: 20px 20px 19px;
		height: 121px;
		box-sizing: border-box;
	}
	.com_btm_box .link_list .list01 a {
		font-size: 1.3rem;
	}
	.com_btm_box .link_list .list01 a span {
		margin-bottom: 2px;
		font-size: 2.5rem;
	}
	.com_btm_box .link_list .list01 a small {
		font-size: 1.8rem;
	}
	.com_btm_box .link_list .list02 {
		width: auto;
	}
	.com_btm_box .link_list .list02 a {
		font-size: 1.4rem;
	}
	.com_btm_box .link_list .list02 i {
		margin-right: 10px;
		font-size: 2rem;
	}
}
/*------------------------------------------------------------
	head_line01
------------------------------------------------------------*/
.head_line01 {
	margin-bottom: 40px;
	color: #001E7F;
	font-size: 2.5rem;
	font-weight: 900;
	line-height: 1.28;
	letter-spacing: 0.05em;
	text-align: center;
}
.head_line01 span {
	display: block;
	color: #E02838;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2.13;
	letter-spacing: 0.05em;
}
.head_line01.head01 {
	text-align: left;
}
.head_line01.head01 span {
	margin-top: 1px;
}
.head_line01.head02 {
	color: #fff;
}
@media all and (max-width: 896px) {
	.head_line01 {
		margin-bottom: 20px;
		font-size: 1.8rem;
	}
	.head_line01 span {
		font-size: 1.3rem;
	}
}
/*------------------------------------------------------------
	com_table
------------------------------------------------------------*/
.com_table {
	width: 100%;
	border-collapse: collapse;
}
.com_table th,
.com_table td {
	padding: 18px 20px;
	width: 69%;
	color: #222;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.67;
	letter-spacing: 0.05em;
	text-align: left;
	box-sizing: border-box;
	background-color: #fff;
	vertical-align: top;
}
.com_table th {
	padding-left: 40px;
	width: 31%;
	font-weight: 700;
}
.com_table tr:nth-of-type(2n) th,
.com_table tr:nth-of-type(2n) td {
	background-color: #F2F2F2;
}
@media all and (max-width: 896px) {
	.com_table th,
	.com_table td {
		padding: 18px 10px;
		width: 70%;
		font-size: 1.3rem;
	}
	.com_table th {
		padding-left: 10px;
		width: 30%;
	}
}
@media all and (max-width: 374px) {
	.com_table th {
		padding-right: 5px;
	}
}
/*------------------------------------------------------------
	com-list
------------------------------------------------------------*/
.com-list {
	margin: -35px 0 0;
}
.com-list li {
	padding: 35px 20px 41px;
	border-bottom: 1px solid rgba(47,94,225,1);
}
.com-list li .q-txt {
	margin-bottom: 35px;
	position: relative;
	padding: 0 20px 0 52px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
.com-list li .q-txt .en {
	position: absolute;
	left: 0;
	top: -12px;
	color: #001E7F;
	font-size: 3.5rem;
	font-weight: 900;
	line-height: 46px;
}
.com-list li .a-box {
	padding: 0 30px 0 52px;
	position: relative;
}
.com-list li .a-box .en {
	position: absolute;
	left: 3px;
	top: -11px;
	color: rgba(0,30,127,0.52);
	font-size: 3.5rem;
	font-weight: 900;
	line-height: 46px;
}
.com-list li .a-box p {
	letter-spacing: 0.05em;
	line-height: 1.75;
}
.com-list li:nth-child(2n) {
	background: #F2F2F2;
}
@media all and (max-width: 896px) {
	.com-list {
		margin: -20px 0 0;
	}
	.com-list li {
		padding: 20px 10px;
	}
	.com-list li .q-txt {
		margin-bottom: 20px;
		padding: 0 0 0 40px;
	}
	.com-list li .q-txt .en {
		top: -10px;
		font-size: 3rem;
		line-height: 32px;
	}
	.com-list li .a-box {
		padding: 0 0 0 40px;
	}
	.com-list li .a-box .en {
		top: -5px;
		font-size: 3rem;
		line-height: 32px;
	}
}
/*------------------------------------------------------------
	mailForm
------------------------------------------------------------*/
.form-inner {
	margin: 0 auto 180px;
	width: 835px;
}
.form-table {
	margin-bottom: 10px;
	width: 100%;
	border-collapse: collapse;
}
.form-inner table th,
.form-inner table td {
	padding: 10px 0;
	width: 24.5%;
	position: relative;
	color: #222;
	font-size: 1.5rem;
	line-height: 2.13;
	letter-spacing: 0.05em;
	box-sizing: border-box;
	vertical-align: top;
}
.form-inner table th {
	padding: 22px 40px 10px 5px;
	font-weight: 700;
}
.form-inner table tr:first-of-type th,
.form-inner table tr:first-of-type td {
	padding: 10px 0 8px;
}
.form-inner table tr:first-of-type th {
	padding: 10px 40px 8px 5px;
}
.form-inner table th .type-required {
	padding: 1px 2px 2px;
	width: 35px;
	display: block;
	position: absolute;
	right: 10px;
	top: 27px;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.75;
	font-weight: 700;
	text-align: center;
	border-radius: 2px;
	box-sizing: border-box;
	background-color: #E02838;
}
.form-inner table tr:first-of-type th .type-required {
	top: 16px;
}
.form-inner table td {
	width: 75.5%;
	word-break: break-word;
}

.form-inner input[type="text"],
.form-inner input[type="email"],
.form-inner input[type="tel"],
.form-inner textarea,
.form-inner input[type="submit"] {
	padding: 5px 25px;
	width: 100%;
	height: 60px;
	color: #222;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	border: none;
	border-radius: 0;
	background-color: #F2F2F2;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
}
.form-inner textarea {
	padding: 10px 25px;
	height: 200px;
	resize: none;
	vertical-align: top;
}
.form-inner input::-webkit-input-placeholder,
.form-inner textarea::-webkit-input-placeholder {
	color: #BEBEBE;
}
.form-inner input:-moz-placeholder,
.form-inner textarea:-moz-placeholder {
	color: #BEBEBE;
}
.form-inner input::-moz-placeholder,
.form-inner textarea::-moz-placeholder {
	color: #BEBEBE;
}
.form-inner input:-ms-input-placeholder,
.form-inner textarea:-ms-input-placeholder {
	color: #BEBEBE;
}
.form-inner .radioList {
	margin: -5px 0 0 27px;
	display: flex;
	flex-wrap: wrap;
}
.form-inner .radioList li {
	margin: 5px 19px 0 0;
}
.form-inner .radioList li:last-of-type {
	margin-right: 0;
}
.form-inner .radioList input {
	display: none;
}
.form-inner .radioList input + span {
	padding-left: 23px;
	display: block;
	letter-spacing: 0.05em;
	background: url(img/common/icon05.png) no-repeat left top calc(50% + 1px) / 16px auto;
	cursor: pointer;
}
.form-inner .radioList input:checked + span {
	background-image: url(img/common/icon06.png);
}
.form-inner .unit-privacy {
	margin-bottom: 18px;
	padding: 33px 35px 47px;
	border: 1px solid #F2F2F2;
}
.form-inner .unit-privacy .privacy-title {
	margin-bottom: 11px;
	padding: 0 4px 6px;
	font-weight: 700;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #2F5EE1;
}
.form-inner .unit-privacy .privacy-contents::-webkit-scrollbar {
	width: 8px;
	height: 14px;
}

.form-inner .unit-privacy .privacy-contents::-webkit-scrollbar-track {
	background-color: #f1f1f1;
}

.form-inner .unit-privacy .privacy-contents::-webkit-scrollbar-thumb {
	background-color: #001E7F;
	width: 8px;
	height: 14px;
}


.form-inner .unit-privacy .privacy-contents {
	padding: 0 0 0 4px;
	height: 120px;
	overflow-y: scroll;
}

.form-inner .unit-privacy .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
	display: none;
	width: 10px;
	border-radius: 0;
	opacity: 1 !important;
	background-color: #001E7F;
}
.form-inner .unit-privacy .mCSB_scrollTools {
	width: 8px;
	opacity: 1;
	background-color: #F1F1F1;
}
.form-inner .unit-privacy .mCSB_scrollTools .mCSB_draggerRail {
	width: 8px;
	border-radius: 0;
	opacity: 1 !important;
	background-color: #001E7F;
}
.form-inner .unit-privacy .privacy-contents span {
	margin-bottom: 24px;
	font-size: 1.4rem;
	line-height: 1.71;
	letter-spacing: 0.05em;
	display: block;
	margin-right: 20px;
}
.form-inner .unit-privacy .privacy-contents span:last-of-type {
	margin-bottom: 0;
}

.form-inner .privacy-agree .type-required {
	margin: 5px 15px 0 0;
	padding: 1px 2px 2px;
	width: 35px;
	display: inline-block;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.75;
	font-weight: 700;
	text-align: center;
	border-radius: 2px;
	box-sizing: border-box;
	background-color: #E02838;
	vertical-align: top;
}

/*
.form-inner .privacy-agree input {
	display: none;
}
.form-inner .privacy-agree input + span {
	padding-left: 25px;
	position: relative;
	display: inline-block;
	font-weight: 700;
	letter-spacing: 0.05em;
	vertical-align: top;
}
.form-inner .privacy-agree input + span::before {
	width: 16px;
	height: 16px;
	position: absolute;
	left: 0;
	top: 8px;
	border: 1px solid #F2F2F2;
	box-sizing: border-box;
	background-color: #fff;
	content: '';
}
.form-inner .privacy-agree input + span::after {
	width: 14px;
	height: 10px;
	position: absolute;
	left: 1px;
	top: 50%;
	transform: translateY(-50%);
	background: url(img/common/icon07.svg) no-repeat center center / cover;
	content: '';
	opacity: 0;
	transition: .3s;
}
.form-inner .agree input:checked + span::after {
	opacity: 1;
}
.form-inner .submit {
	text-align: center;
}
.form-inner .submit li {
	margin: 0 auto 20px;
	width: 345px;
}
.form-inner .submit li:last-of-type {
	margin-bottom: 0;
}
.form-inner .submit li input {
	padding: 5px 55px 5px 10px;
	height: 66px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	background: url(img/common/icon09.svg) no-repeat right 79px top calc(50% + 1px) / 26px auto;
	background-color: #E02838;
	cursor: pointer;
	transition: .3s;
} */
.input[type=checkbox]+span {
	display: block;
	position: relative;
}

.input[type=checkbox]+span:before {
	background: #fff;
	border: 1px solid #707070;
	content: "";
	height: 24px;
	left: -12%;
	margin-top: -8px;
	position: absolute;
	top: 40%;
	-webkit-transition: all .2s;
	transition: all .2s;
	width: 24px;
}
.check_no-through {
  text-align: center;
  color: red;
  text-align: center;
  background: #fef3fa;
  border-radius: 50px;
  max-width: 290px;
  padding: 20px;
  margin: 35px auto 0;
}

.input[type=checkbox]+span::after {
	content: "";
	height: 10px;
	left: -10%;
	margin-top: -4px;
	opacity: 1;
	position: absolute;
	top: 40%;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 13px;
}

@media all and (min-width: 897px) {
	.form-inner .submit li input:hover {
		background-color: #ff1c30;
	}
	.form-inner .unit-privacy .privacy-contents span a:hover {
		text-decoration: underline;
	}
}
@media all and (max-width: 896px) {
	.form-inner {
		margin-bottom: 100px;
		width: auto;
	}
	.form-inner table {
		margin-bottom: 10px;
	}
	.form-inner table th,
	.form-inner table td {
		width: 100%;
		display: block;
		font-size: 1.3rem;
	}
	.form-inner table th {
		padding-left: 0;
		font-weight: 700;
	}
	.form-inner table tr:first-of-type th {
		padding: 10px 40px 0 0;
	}
	.form-inner table td {
		width: 100%;
	}
	.form-inner input[type="text"],
	.form-inner input[type="email"],
	.form-inner input[type="tel"],
	.form-inner textarea,
	.form-inner input[type="submit"] {
		padding: 5px 15px;
		height: 50px;
		font-size: 1.3rem;
	}
	.form-inner textarea {
		height: 150px;
	}
	.form-inner .agree input + span::before {
		top: 5px;
	}
	.form-inner .radioList {
		margin: -5px 0 0 15px;
	}
	.form-inner .radioList li {
		margin: 5px 10px 0 0;
	}
	.form-inner table th .type-required {
		right: 0;
	}
	.form-inner .agree input + span::after {
		top: calc(50% + 2px);
	}
	.form-inner .unit-privacy {
		padding: 20px 15px;
	}
	.form-inner .unit-privacy .privacy-contents span {
		font-size: 1.3rem;
	}
	.form-inner .agree {
		margin-bottom: 30px;
		padding-left: 0;
	}
	.form-inner .agree .type-required {
		margin: 2px 10px 0 0;
		padding: 1px 2px 2px;
	}
	.form-inner .submit li {
		width: auto;
		max-width: 450px;
	}
	.form-inner .submit li input {
		padding: 5px 55px 5px 10px;
		height: 56px;
		font-size: 1.5rem;
		background-size: 20px auto;
	}
}
@media all and (max-width: 374px) {
	.form-inner .submit li input {
		background-position: right 66px top calc(50% + 1px);
	}
}
/*------------------------------------------------------------
	fix_btn
------------------------------------------------------------*/
.fix_btn {
	width: 80px;
	height: 250px;
	position: fixed;
	right: 0;
	top: 335px;
	z-index: 99;
}
.fix_btn a {
	padding: 22px 5px 15px 12px;
	height: 78px;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
	background-color: #E02838;
}
.fix_btn a i {
	font-size: 3.6rem;
	font-weight: 300;
	letter-spacing: 0.15em;
	transition: .6s;
}
.fix_btn a span {
	display: block;
	margin: 0 auto 0;
	height: 0;
	width: 20px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.17;
	letter-spacing: 0;
	transform: translateX(-2px);
	transition: .3s;
	overflow: hidden;
}
.fix_btn.btn02 {
	top: auto;
	bottom: 0;
}
.fix_btn.on {
	position: absolute;
	bottom: auto;
	top: -39px;
}
.fix_btn.btn01 {
	top: 509px;
}
.fix_btn.btn01 a {
	padding: 30px 5px 31px 12px;
	height: 250px;
}
.fix_btn.btn01 a i {
	font-size: 2.6rem;
}
.fix_btn.btn01 a span {
	margin-top: 8px;
	height: auto;
}
@media all and (min-width: 897px) {
	.fix_btn a:hover {
		padding-bottom: 33px;
		height: 100%;
		background-color: #ff1c30;
	}
	.fix_btn a:hover i {
		font-size: 2.6rem;
	}
	.fix_btn a:hover span {
		margin-top: 15px;
		height: auto;
	}
	.fix_btn.btn01 a:hover {
		padding: 30px 5px 31px 12px;
	}
	.fix_btn.btn01 a:hover span {
		margin-top: 8px;
	}
}
@media all and (max-width: 896px) {
	.fix_btn {
		width: 50px;
		height: 50px;
		top: 170px;
	}
	.fix_btn.index_btn {
		height: auto;
	}
	.fix_btn a {
		padding: 12px 5px 15px 12px;
		width: 50px;
		height: 50px;
		position: relative;
	}
	.fix_btn a i {
		font-size: 2.6rem;
		transition: none;
	}
	.fix_btn.btn01 {
		top: 351px;
	}
	.fix_btn.btn01 a {
		padding: 20px 5px;
		height: 190px;
	}
	.fix_btn.btn01 a i {
		font-size: 1.8rem;
	}
	.fix_btn.btn01 a span {
		margin-top: 10px;
		height: auto;
		width: 20px;
		transform: translateX(0);
		font-size: 1.4rem;
	}
	.fix_btn.on {
		bottom: auto;
		top: -25px;
	}
}
@media all and (max-width: 896px) and (orientation:landscape) {
	.fix_btn.index_btn {
		top: auto;
		bottom: 0;
	}
	.fix_btn.index_btn.on {
		top: -25px;
		bottom: auto;
	}
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	faq
------------------------------------------------------------*/
#faq .com-list {
	margin-bottom: 180px;
}
@media all and (max-width: 896px) {
	#faq .com-list {
		margin-bottom: 100px;
	}
}
/*------------------------------------------------------------
	case
------------------------------------------------------------*/
#case .top_box {
	margin-bottom: 180px;
}
#case .case_dl dt {
	padding: 22px 40px;
	color: #fff;
	font-size: 2.5rem;
	font-weight: 900;
	line-height: 1.28;
	letter-spacing: 0.05em;
	background-color: #001E7F;
}
#case .case_dl dd:not(:last-of-type) {
	margin-bottom: 80px;
}
#case .case_dl .text_list li {
	padding: 18px 40px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.67;
	letter-spacing: 0.05em;
	background-color: #fff;
}
#case .case_dl .text_list li:nth-of-type(2n) {
	background-color: #F2F2F2;
}
@media all and (max-width: 896px) {
	#case .top_box {
		margin-bottom: 100px;
	}
	#case .case_dl dt {
		padding: 22px 20px;
		font-size: 1.8rem;
		font-weight: 700;
	}
	#case .case_dl dd:not(:last-of-type) {
		margin-bottom: 40px;
	}
	#case .case_dl .text_list li {
		padding: 18px 20px;
		font-size: 1.3rem;
	}
	#case .case_dl .text_list li:nth-of-type(2n) {
		background-color: #F2F2F2;
	}
}
/*------------------------------------------------------------
	top
------------------------------------------------------------*/
#top .main_visual {
	margin-top: 18px;
	padding: 90px 0 70px;
	position: relative;
}
#top .main_visual::before {
	width: calc(50% - 292px);
	height: calc(100% + 18px);
	position: absolute;
	left: 0;
	top: -18px;
	background-color: #001E7F;
	content: '';
	z-index: -1;
}
#top .main_visual .bg {
	width: calc(50% + 409px);
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background: url(img/index/main_bg.jpg) no-repeat center center / cover;
}
#top .main_visual .com_box {
	position: relative;
	z-index: 2;
}
#top .main_visual h2 {
	margin-bottom: 183px;
	color: #fff;
	font-size: 5.5rem;
	line-height: 1.45;
	letter-spacing: 0.15em;
	text-shadow: 0 0 6px rgba(97,93,93,0.95);
	font-family: 'Noto Serif JP', serif;
}
#top .main_visual h2 span {
	margin-bottom: 13px;
	display: block;
	font-size: 2.1rem;
	line-height: 2;
	letter-spacing: 0.1em;
	text-shadow: 0 0 3px rgba(35,34,34,0.85);
	font-family: 'Noto Sans JP', sans-serif;
}
#top .main_visual .link_list {
	margin: 0 20px;
	width: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#top .main_visual .link_list li {
	width: 286px;
}
#top .main_visual .link_list a {
	padding: 21px 37px;
	text-align: left;
}
#top .main_visual .link_list a::before {
	top: 0;
}
#top .main_visual .link_list a i {
	margin-top: 7px;
	float: right;
	vertical-align: 0;
}
#top .main_visual .btn {
	width: 80px;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 99;
	height: 250px;
}
#top .main_visual .btn a {
	height: 100%;
	padding: 30px 5px 31px 12px;
	display: block;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
	background-color: #E02838;
}
#top .main_visual .btn a i {
	margin-bottom: 15px;
	font-size: 2.6rem;
	font-weight: 300;
	letter-spacing: 0.15em;
	transition: .6s;
}
#top .main_visual .btn a span {
	margin: 0 auto;
	display: block;
	width: 30px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.17;
	text-align: center;
	transition: .3s;
}
#top .main_visual .btn.on {
	position: fixed;
}
#top .main_visual .btn.on a {
	padding: 22px 5px 15px 12px;
	height: 78px;
}
#top .main_visual .btn.on a i {
	margin-bottom: 0;
	font-size: 3.6rem;
}
#top .main_visual .btn.on a span {
	height: 0;
	overflow: hidden;
}
#top .about {
	margin-bottom: 82px;
	padding: 80px 0 86px;
	background: url(img/index/about_bg02.jpg) no-repeat center center / cover;
}
#top .about .white_box {
	padding: 63px 20px 56px;
	position: relative;
	background-color: #fff;
}
#top .about .white_box::before {
	width: 61px;
	height: 61px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/index/about_bg01.png) no-repeat center center / cover;
	content: '';
}
#top .about .white_box p {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: center;
}
#top .business {
	margin-bottom: 80px;
}
#top .business .head_line01 {
	margin-bottom: 22px;
}
#top .business .photo_list {
	display: flex;
	flex-wrap: wrap;
}
#top .business .photo_list li {
	width: 33.33%;
}
#top .business .photo_list .num {
	margin-bottom: -65px;
	padding-right: 3px;
	position: relative;
	color: rgba(0,30,127,0.52);
	font-size: 12.5rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: right;
}
#top .business .photo_list .com_btn {
	margin: -46px 20px 0 auto;
	width: 215px;
}
#top .business .photo_list .com_btn a {
	padding: 21px 24px 21px 27px;
	text-align: left;
}
#top .business .photo_list .com_btn a i {
	margin: 7px 0 0;
	float: right;
	vertical-align: 0;
}
#top .case {
	margin-bottom: 80px;
	padding: 82px 0 102px;
	position: relative;
}
#top .case::before {
	width: 50%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #001E7F;
	content: '';
	z-index: -1;
}
#top .case .head_line01 {
	margin-bottom: 88px;
}
#top .case .text_box {
	margin-left: -2px;
	width: 600px;
	position: relative;
	z-index: 2;
}
#top .case .white_box {
	padding: 35px 40px 34px;
	background-color: #fff;
}
#top .case .white_box p {
	letter-spacing: 0.05em;
}
#top .case .com_btn {
	margin-top: -19px;
}
#top .case .photo {
	width: calc(50% + 250px);
	height: 404px;
	position: absolute;
	right: 0;
	top: 139px;
	overflow: hidden;
}
#top .case .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#top .company::before {
	left: auto;
	right: 0;
}
#top .company .head_line01 {
	text-align: right;
}
#top .company .text_box {
	margin: 0 0 0 auto;
	width: 504px;
}
#top .company .photo {
	right: auto;
	left: 0;
}
#top .news {
	margin-bottom: 100px;
	padding: 80px 0;
	background-color: #F2F2F2;
}
#top .news .white_box {
	padding: 71px 20px 51px;
	position: relative;
	background: #fff;
}
#top .news .white_box::before {
	width: 61px;
	height: 61px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/common/bg04.png) no-repeat center center / 100% 100%;
	content: '';
}
#top .news .text_box {
	margin: 0 auto 57px;
	padding-right: 0;
	width: 785px;
	height: 183px;
	box-sizing: border-box;
}
#top .news .text_box .news_list li a {
	display: flex;
	transition: .3s;
}
#top .news .text_box .news_list .time {
	padding: 15px 10px 13px;
	width: 144px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #001E7F;
	font-size: 1.4rem;
	font-weight: 900;
	line-height: 1.43;
	text-align: center;
	box-sizing: border-box;
	border-bottom: 1px solid #2F5EE1;
}
#top .news .text_box .news_list .txt {
	padding: 14px 20px 14px 28px;
	width: calc(100% - 144px);
	min-height: 61px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #BBC2D6;
	transition: .3s;
}
#top .news .mCSB_inside > .mCSB_container {
	margin-right: 41px;
}
#top .news .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
	display: none;
	width: 10px;
	border-radius: 0;
	opacity: 1 !important;
	background-color: #001E7F;
}
#top .news .mCSB_scrollTools {
	width: 10px;
	opacity: 1;
	background-color: #F1F1F1;
}
#top .news .mCSB_scrollTools .mCSB_draggerRail {
	width: 10px;
	border-radius: 0;
	opacity: 1 !important;
	background-color: #001E7F;
}
@media all and (min-width: 897px) {
	#top .news .text_box .news_list li a:hover {
		color: #001E7F;
		background-color: #DFE8FF;
	}
	#top .news .text_box .news_list li a:hover .txt {
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	#top .main_visual .btn a:hover {
		padding-bottom: 33px;
		height: 100%;
		background-color: #ff1c30;
	}
	#top .main_visual .btn a:hover i {
		margin-bottom: 15px;
		font-size: 2.6rem;
	}
	#top .main_visual .btn a:hover span {
		height: auto;
	}
}
@media (min-width: 897px) and (max-width: 1360px) {
	#top .main_visual::before {
		width: 380px;
	}
}
@media (min-width: 897px) and (max-width: 1265px) {
	#top .main_visual::before {
		width: 310px;
	}
}
@media (min-width: 897px) and (max-width: 999px) {
	#top .main_visual::before {
		width: 250px;
	}
}
@media all and (max-width: 896px) {
	#top .main_visual {
		margin-top: 0;
		padding: 50px 0 40px;
	}
	#top .main_visual::before {
		width: 260px;
		height: 100%;
		top: 0;
	}
	#top .main_visual .bg {
		width: calc(100% - 50px);
	}
	#top .main_visual h2 {
		margin-bottom: 60px;
		font-size: 3rem;
	}
	#top .main_visual h2 span {
		margin-bottom: 6px;
		font-size: 1.6rem;
	}
	#top .main_visual .link_list {
		margin: 0 50px;
		width: auto;
		display: block;
	}
	#top .main_visual .link_list li {
		margin: 0 auto 20px;
		width: auto;
		max-width: 286px;
	}
	#top .main_visual .link_list li:last-of-type {
		margin-bottom: 0;
	}
	#top .main_visual .link_list a {
		padding: 10px 20px;
	}
	#top .main_visual .link_list a i {
		margin-top: 3px;
	}
	#top .main_visual .btn {
		width: 50px;
		height: 190px;
	}
	#top .main_visual .btn a {
		padding: 20px 5px;
	}
	#top .main_visual .btn a i {
		margin-bottom: 15px;
		font-size: 1.8rem;
	}
	#top .main_visual .btn.on a {
		padding: 12px 5px 15px 12px;
		height: 50px;
	}
	#top .main_visual .btn.on a i {
		font-size: 2.6rem;
	}
	#top .main_visual .btn a span {
		width: 20px;
		font-size: 1.4rem;
	}
	#top .about {
		margin-bottom: 40px;
		padding: 40px 0;
	}
	#top .about .white_box {
		padding: 30px 20px;
	}
	#top .about .white_box::before {
		width: 30px;
		height: 30px;
	}
	#top .about .white_box p {
		font-size: 1.4rem;
	}
	#top .business {
		margin-bottom: 40px;
	}
	#top .business .photo_list {
		display: block;
	}
	#top .business .photo_list li {
		margin-bottom: 40px;
		width: auto;
	}
	#top .business .photo_list li:last-of-type {
		margin-bottom: 0;
	}
	#top .business .photo_list li .photo img {
		width: 100%;
	}
	#top .business .photo_list .num {
		margin-bottom: -25px;
		font-size: 6rem;
	}
	#top .business .photo_list .com_btn {
		margin: -20px 5px 0 auto;
		width: 215px;
	}
	#top .business .photo_list .com_btn a {
		padding: 10px 24px;
	}
	#top .business .photo_list .com_btn a i {
		margin: 3px 0 0;
	}
	#top .case {
		margin-bottom: 40px;
		padding: 40px 0 50px;
	}
	#top .case::before {
		width: 100%;
	}
	#top .case .head_line01 {
		margin-bottom: 40px;
	}
	#top .case .text_box {
		margin-left: 0;
		width: auto;
	}
	#top .case .white_box {
		padding: 20px;
	}
	#top .case .com_btn {
		margin-top: -10px;
	}
	#top .case .photo {
		margin-top: 30px;
		width: auto;
		height: auto;
		position: relative;
		right: 0;
		top: 0;
	}
	#top .company .head_line01 {
		text-align: left;
	}
	#top .company .text_box {
		margin: 0 0 0 auto;
		width: auto;
	}
	#top .news {
		margin-bottom: 50px;
		padding: 40px 0;
	}
	#top .news .white_box {
		padding: 40px 20px 30px;
	}
	#top .news .white_box::before {
		width: 30px;
		height: 30px;
	}
	#top .news .text_box {
		margin-bottom: 30px;
		padding-right: 0;
		width: auto;
		height: 300px;
	}
	#top .news .mCSB_inside > .mCSB_container {
		margin-right: 20px;
	}
	#top .news .text_box .news_list .time {
		padding: 15px 5px 13px;
		width: 100px;
		font-size: 1.3rem;
	}
	#top .news .text_box .news_list .txt {
		padding: 14px 10px 14px;
		width: calc(100% - 100px);
		min-height: inherit;
		border-bottom: 1px solid #BBC2D6;
	}
}
/*------------------------------------------------------------
	business
------------------------------------------------------------*/
#business .page_title {
	margin-bottom: 82px;
}
#business .head_line01 {
	margin-bottom: 42px;
}
#business .com_top_box01 .head_line01 {
	margin-bottom: 0;
}
#business .area {
	margin-bottom: 80px;
}
#business .area.area02 {
	padding-top: 42px;
}
#business .area .img_box {
	margin-bottom: 40px;
	display: flex;
}
#business .area .img_box .photo_box {
	width: calc(50% - 96px);
	height: 404px;
	overflow: hidden;
}
#business .area .img_box .photo_box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-o-object-fit: cover;
}
#business .area .img_box .text_box {
	margin: 8px 20px 0 70px;
	max-width: 526px;
}
#business .area .img_box .text_box h3 {
	margin-bottom: 37px;
	color: #001E7F;
	font-size: 2.5rem;
	font-weight: 900;
	line-height: 1.28;
	letter-spacing: 0.05em;
}
#business .area .img_box .text_box h3 span {
	margin-right: 6px;
	color: rgba(0,30,127,0.52);
	font-size: 3.6rem;
	line-height: 1;
	letter-spacing: 0.05em;
	vertical-align: -5px;
}
#business .area .img_box .text_box p {
	font-weight: 700;
	letter-spacing: 0.05em;
}
#business .area .com_box {
	max-width: 954px;
}
#business .area .text_list {
	margin: -40px 0 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#business .area .text_list > li {
	margin-top: 40px;
	padding: 12px 58px 42px;
	width: calc((100% - 40px) / 2);
	position: relative;
	border: 3px solid #F2F2F2;
	box-sizing: border-box;
	background-color: #fff;
}
#business .area .text_list > li::before {
	width: 61px;
	height: 61px;
	position: absolute;
	left: -3px;
	top: -3px;
	background: url(img/common/bg04.png) no-repeat center center / cover;
	content: '';
}
#business .area .text_list h4 {
	margin-bottom: 22px;
	color: #001E7F;
	font-size: 1.8rem;
	line-height: 1.78;
	letter-spacing: 0.05em;
}
#business .area .text_list ul li {
	margin-bottom: 21px;
	padding-left: 20px;
	position: relative;
	font-weight: 700;
	line-height: 1.67;
	letter-spacing: 0.05em;
}
#business .area .text_list ul li:last-of-type {
	margin-bottom: 0;
}
#business .area .text_list ul li::before {
	width: 4px;
	height: 4px;
	position: absolute;
	left: 6px;
	top: 11px;
	border-radius: 50%;
	background-color: #222;
	content: '';
}
#business .area:nth-of-type(2n) {
	padding: 86px 0 80px;
	background-color: #F2F2F2;
}
#business .area:nth-of-type(2n) .img_box {
	flex-direction: row-reverse;
}
#business .area:nth-of-type(2n) .img_box .text_box {
	margin: 8px 70px 0 20px;
}
#business .area:nth-of-type(2n) .text_list > li {
	border-color: #fff;
}
#business .area03 {
	margin-bottom: 0;
}
#business .area01 {
	margin-bottom: 180px;
	padding-top: 80px;
}
@media all and (max-width: 896px) {
	#business .page_title {
		margin-bottom: 40px;
	}
	#business .head_line01 {
		margin-bottom: 20px;
	}
	#business .area {
		margin-bottom: 40px;
	}
	#business .area .img_box {
		margin: 0 20px 40px;
		display: block;
	}
	#business .area .img_box .photo_box {
		margin-bottom: 30px;
		width: auto;
		height: auto;
	}
	#business .area .img_box .photo_box img {
		width: 100%;
	}
	#business .area .img_box .text_box {
		margin: 8px 0 0;
		max-width: inherit;
	}
	#business .area .img_box .text_box h3 {
		margin-bottom: 25px;
		font-size: 1.8rem;
		font-weight: 700;
	}
	#business .area .img_box .text_box h3 span {
		font-size: 2.2rem;
		vertical-align: -2px;
	}
	#business .area .com_box {
		max-width: 954px;
	}
	#business .area .text_list {
		margin-top: 0;
		display: block;
	}
	#business .area .text_list > li {
		margin: 0 0 20px;
		padding: 12px 20px 42px;
		width: auto;
		border-width: 2px;
	}
	#business .area .text_list > li:last-of-type {
		margin-bottom: 0;
	}
	#business .area .text_list > li::before {
		width: 30px;
		height: 30px;
		left: -2px;
		top: -2px;
	}
	#business .area .text_list h4 {
		font-size: 1.5rem;
	}
	#business .area .text_list ul li {
		margin-bottom: 10px;
	}
	#business .area .text_list ul li::before {
		width: 3px;
		height: 3px;
	}
	#business .area:nth-of-type(2n) {
		padding: 40px 0;
	}
	#business .area:nth-of-type(2n) .img_box .text_box {
		margin: 0;
	}
	#business .area.area03 {
		margin-bottom: 0;
	}
	#business .area01 {
		margin-bottom: 90px;
		padding-top: 40px;
	}
}
@media all and (max-width: 374px) {
	#business .area .text_list ul li {
		padding-left: 16px;
	}
}
/*------------------------------------------------------------
	company
------------------------------------------------------------*/
#company .page_title {
	margin-bottom: 0;
}
#company .greeting {
	margin-bottom: 82px;
	padding: 80px 0;
	background: url(img/company/greeting_bg01.jpg) no-repeat center center / cover;
}
#company .greeting .white_box {
	padding: 62px 59px 64px;
	position: relative;
	background-color: #fff;
}
#company .greeting .white_box::before {
	width: 61px;
	height: 61px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/common/bg04.png) no-repeat center center / cover;
	content: '';
}
#company .greeting .head_line01 {
	margin-bottom: 26px;
}
#company .greeting .img_box {
	margin-right: 6px;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
#company .greeting .img_box .photo_box {
	width: 200px;
	text-align: right;
}
#company .greeting .img_box .photo_box img {
	width: 100%;
	max-width: 180px;
}
#company .greeting .img_box .photo_box p {
	margin: 12px -2px 0 0;
	font-weight: 700;
	line-height: 1.73;
	letter-spacing: 0.05em;
}
#company .greeting .img_box .text_box {
	margin-top: -5px;
	width: calc(100% - 225px);
}
#company .greeting .img_box .text_box p {
	margin-bottom: 35px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#company .greeting .img_box .text_box dl {
	display: flex;
	justify-content: space-between;
}
#company .greeting .img_box .text_box dt {
	margin-top: 3px;
	width: 80px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.44;
	letter-spacing: 0.05em;
}
#company .greeting .img_box .text_box dd {
	width: calc(100% - 107px);
}
#company .greeting .img_box .text_box dd li {
	margin-bottom: 10px;
	position: relative;
	font-weight: 700;
	line-height: 1.73;
	letter-spacing: 0.05em;
}
#company .greeting .img_box .text_box dd li:last-of-type {
	margin-bottom: 0;
}
#company .greeting .img_box .text_box dd li::before {
	width: 4px;
	height: 4px;
	position: absolute;
	left: -15px;
	top: 11px;
	border-radius: 50%;
	background-color: #222;
	content: '';
}
#company .career {
	margin-bottom: 80px;
}
#company .career .head_line01 {
	margin-bottom: 44px;
}
#company .career .text_dl {
	margin: 0 5px 0 35px;
	padding-top: 27px;
	position: relative;
}
#company .career .text_dl::before {
	width: 3px;
	height: 100%;
	position: absolute;
	left: -29px;
	top: 0;
	background-color: #001E7F;
	content: '';
}
#company .career .text_dl dt {
	margin-bottom: 19px;
	position: relative;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.44;
	letter-spacing: 0.05em;
}
#company .career .text_dl dt::before {
	width: 15px;
	height: 15px;
	position: absolute;
	left: -35px;
	top: 5px;
	background-color: #001E7F;
	content: '';
}
#company .career .text_dl dd {
	margin-bottom: 41px;
	padding: 15px 20px 22px;
	font-weight: 700;
	letter-spacing: 0.05em;
	background-color: #F2F2F2;
}
#company .career .text_dl dd:last-of-type {
	margin-bottom: 0;
}
#company .overview {
	margin-bottom: 82px;
	padding: 82px 0 80px;
	background-color: #F2F2F2;
}
#company .overview .head_line01 {
	margin-bottom: 44px;
}
#company .qualifictions {
	margin-bottom: 180px;
}
#company .qualifictions .head_line01 {
	margin-bottom: 44px;
}
#company .qualifictions .text_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#company .qualifictions .text_list li {
	width: calc((100% - 40px) / 2);
}
#company .qualifictions .text_list li:nth-of-type(4n - 2) th,
#company .qualifictions .text_list li:nth-of-type(4n - 2) td,
#company .qualifictions .text_list li:nth-of-type(4n - 3) th,
#company .qualifictions .text_list li:nth-of-type(4n - 3) td {
	background-color: #F2F2F2;
}
#company .qualifictions .text_list .com_table th {
	padding-left: 20px;
	width: 75%;
}
#company .qualifictions .text_list .com_table td {
	width: 25%;
}
@media all and (max-width: 896px) {
	#company .greeting {
		margin-bottom: 41px;
		padding: 40px 0;
	}
	#company .greeting .white_box {
		padding: 30px 20px;
	}
	#company .greeting .white_box::before {
		width: 30px;
		height: 30px;
	}
	#company .greeting .img_box {
		margin-right: 0;
		display: block;
	}
	#company .greeting .img_box .photo_box {
		margin-bottom: 40px;
		width: auto;
		text-align: center;
	}
	#company .greeting .img_box .photo_box img {
		width: auto;
		max-width: 100%;
	}
	#company .greeting .img_box .photo_box p {
		margin-right: 0;
	}
	#company .greeting .img_box .text_box {
		margin-top: 0;
		width: auto;
	}
	#company .greeting .img_box .text_box dt {
		margin-top: 0;
		width: 60px;
		font-size: 1.5rem;
	}
	#company .greeting .img_box .text_box dd {
		width: calc(100% - 80px);
	}
	#company .greeting .img_box .text_box dd li {
		margin-bottom: 10px;
	}
	#company .greeting .img_box .text_box dd li:last-of-type {
		margin-bottom: 0;
	}
	#company .greeting .img_box .text_box dd li::before {
		width: 3px;
		height: 3px;
		left: -12px;
		top: 10px;
	}
	#company .career {
		margin-bottom: 40px;
	}
	#company .career .head_line01 {
		margin-bottom: 30px;
	}
	#company .career .text_dl {
		margin: 0 0 0 35px;
	}
	#company .career .text_dl dt {
		font-size: 1.5rem;
	}
	#company .career .text_dl dt::before {
		top: 3px;
	}
	#company .overview {
		margin-bottom: 41px;
		padding: 40px 0;
	}
	#company .overview .head_line01 {
		margin-bottom: 22px;
	}
	#company .qualifictions {
		margin-bottom: 90px;
	}
	#company .qualifictions .head_line01 {
		margin-bottom: 22px;
	}
	#company .qualifictions .text_list {
		display: block;
	}
	#company .qualifictions .text_list li {
		width: auto;
	}
	#company .qualifictions .text_list li:nth-of-type(4n - 2) th,
	#company .qualifictions .text_list li:nth-of-type(4n - 2) td {
		background-color: #fff;
	}
	#company .qualifictions .text_list li:nth-of-type(4n - 1) th,
	#company .qualifictions .text_list li:nth-of-type(4n - 1) td {
		background-color: #F2F2F2;
	}
	#company .qualifictions .text_list .com_table th {
		padding-left: 10px;
		width: 70%;
	}
	#company .qualifictions .text_list .com_table td {
		width: 30%;
	}
}
/*------------------------------------------------------------
	news
------------------------------------------------------------*/
#news .head_line01 {
	margin-bottom: 45px;
	text-align: left;
}
#news .news-list li {
	position: relative;
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
#news .news-list li:last-child {
	margin-bottom: 0;
}
#news .news-list li:before {
	position: absolute;
	left: 0;
	top: 0;
	background: url("img/common/icon04.svg") no-repeat left top;
	background-size: 61px auto;
	width: 61px;
	height: 61px;
	content: "";
}
#news .news-list li .top-box {
	padding: 10px 0 45px 61px;
	display: flex;
	justify-content: space-between;
}
#news .news-list li .title {
	padding-top: 5px;
	width: calc(100% - 200px);
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.7;
}
#news .news-list li .time {
	color: #001E7F;
	font-weight: 900;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
}
#news .news-list li .time img {
	display: inline-block;
	vertical-align: middle;
	margin: -3px 8px 0 0;
}
#news .news-list li .time i {
	margin-right: 9px;
	font-size: 1.7rem;
}
#news .news-list li .inner {
	display: flex;
	padding-left: 61px;
}
#news .news-list li .photo-box {
	width: 450px;
	flex-shrink: 0;
	margin: 0 40px 0 -61px;
}
#news .news-list li .photo-box a {
	width: 450px;
	height: 278px;
	display: block;
	overflow: hidden;
}
#news .news-list li .photo-box a:hover {
	opacity: 0.7;
}
#news .news-list li .photo-box img {
	width: 100%;
	height: 100%;
	max-width: inherit;
	object-fit: cover;
}
#news .news-list li .text-box p {
	margin-bottom: 15px;
	letter-spacing: 0.05em;
}
#news .news-list li .text-box p:last-child {
	margin-bottom: 0;
}
#news .news-list li .text-box .link a {
	color: #048BC7;
	display: inline-block;
	font-size: 1.8rem;
	font-weight: 700;
	background-size: 18px auto;
	letter-spacing: 0.05em;
}
#news .news-list li .text-box .link a i {
	margin-left: 15px;
	font-size: 2rem;
}
#news .news-list li .text-box .link a:hover {
	opacity: 0.7;
}
#news .news-list {
	margin-bottom: 100px;
}
@media all and (max-width: 896px) {
	#news .headLine01 {
		margin-bottom: 30px;
	}
	#news .news-list li {
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	#news .news-list li:last-child {
		margin-bottom: 0;
	}
	#news .news-list li:before {
		background: url("img/common/icon04.svg") no-repeat left top;
		background-size: 30px auto;
		width: 30px;
		height: 30px;
	}
	#news .news-list li .top-box {
		padding: 5px 0 30px;
		display: block;
	}
	#news .news-list li .title {
		padding: 0 0 0 30px;
		width: 100%;
		margin-bottom: 16px;
		font-size: 1.6rem;
		box-sizing: border-box;
	}
	#news .news-list li .time {
		font-size: 1.6rem;
	}
	#news .news-list li .time i {
		font-size: 1.5rem;
	}
	#news .news-list li .inner {
		display: block;
		padding-left: 0;
	}
	#news .news-list li .photo-box {
		width: auto;
		margin: 0 0 20px;
	}
	#news .news-list li .photo-box a {
		width: 100%;
		height: auto;
		max-height: 210px;
	}
	#news .news-list li .text-box .link a {
		padding-right: 30px;
		font-size: 1.6rem;
	}
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#contact .tBox {
	margin-bottom: 80px;
	padding: 0 2px 0 61px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#contact .tBox::before {
	width: 61px;
	height: 61px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/common/bg04.png) no-repeat center center / 100% 100%;
	content: '';
}
#contact .tBox .btn {
	width: 462px;
}
#contact .tBox .btn a {
	padding: 35px 15px 19px 35px;
	display: block;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: left;
	background-color: #001E7F;
}
#contact .tBox .btn span {
	margin-bottom: 2px;
	display: block;
	font-size: 2.5rem;
	line-height: 1;
	letter-spacing: 0.05em;
}
#contact .tBox .btn span strong {
	font-size: 4.5rem;
	font-weight: 900;
	letter-spacing: 0.05em;
}
#contact .tBox .lBox p {
	color: #001E7F;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#contact .tBox .lBox .ttl {
	margin-bottom: 8px;
	font-size: 2.2rem;
	font-weight: 900;
	letter-spacing: 0.1em;
}
#contact .faq {
	margin: 0 20px 82px 0;
	padding: 68px 0 69px 47px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #001E7F;
}
#contact .faq::before {
	width: 55.1%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background: url(img/contact/bg02.png) no-repeat left center / 46px 100%,url(img/contact/bg01.jpg) no-repeat center center / cover;
	content: '';
}
#contact .faq::after {
	width: 5px;
	height: calc(100% - 4px);
	position: absolute;
	right: calc(55.1% - 1px);
	top: 4px;
	background-color: #001E7F;
	content: '';
}
#contact .faq .lBox {
	margin-top: -1px;
	position: relative;
	z-index: 2;
}
#contact .faq .lBox p {
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#contact .faq .lBox .ttl {
	margin-bottom: 4px;
	font-size: 3rem;
	font-weight: 900;
	letter-spacing: 0.1em;
}
#contact .faq .com_btn {
	margin: 0;
	position: relative;
	z-index: 2;
}
#contact .form .head_line01 {
	margin-bottom: 38px;
}
#contact .form .text {
	margin-bottom: 55px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
@media all and (max-width: 896px) {
	#contact .tBox {
		margin: 0 auto 50px;
		padding: 8px 0 0;
		display: block;
	}
	#contact .tBox::before {
		width: 30px;
		height: 30px;
	}
	#contact .tBox .btn {
		width: auto;
	}
	#contact .tBox .btn a {
		padding: 35px 15px 33px 20px;
		font-size: 1.3rem;
	}
	#contact .tBox .btn span {
		font-size: 1.8rem;
	}
	#contact .tBox .btn span strong {
		font-size: 2.4rem;
	}
	#contact .tBox .lBox {
		margin-bottom: 30px;
	}
	#contact .tBox .lBox .ttl {
		padding-left: 30px;
		font-size: 1.6rem;
	}
	#contact .faq {
		margin: 0 0 40px;
		padding: 35px 20px;
		display: block;
	}
	#contact .faq::before {
		width: 65%;
		background-position: left center,left center;
	}
	#contact .faq::after {
		right: calc(65% - 1px);
	}
	#contact .faq .lBox {
		margin: 0 0 20px;
		position: relative;
		z-index: 2;
	}
	#contact .faq .lBox .ttl {
		margin-bottom: 4px;
		font-size: 2rem;
	}
	#contact .faq .com_btn {
		margin: 0 auto;
	}
	#contact .form .head_line01 {
		margin-bottom: 30px;
	}
	#contact .form .text {
		margin-bottom: 30px;
	}
}
@media all and (max-width: 374px) {
	#contact .faq .com_btn {
		width: auto;
		max-width: 285px;
	}
}
/*------------------------------------------------------------
	recruit
------------------------------------------------------------*/
#recruit .page_title {
	margin-bottom: 0;
}
#recruit .top_box {
	margin-bottom: 82px;
	padding-top: 80px;
	position: relative;
}
#recruit .top_box::before {
	width: 100%;
	height: 496px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/recruit/top_bg.jpg) no-repeat center center / cover;
	content: '';
	z-index: -1;
}
#recruit .top_box .white_box {
	padding: 62px 20px 74px;
	position: relative;
	background-color: #fff;
}
#recruit .top_box .white_box::before {
	width: 61px;
	height: 61px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/common/bg04.png) no-repeat center center / 100% 100%;
	content: '';
}
#recruit .top_box .white_box h2 {
	margin-bottom: 37px;
	color: #001E7F;
	font-size: 2.5rem;
	font-weight: 900;
	line-height: 1.28;
	letter-spacing: 0.05em;
	text-align: center;
}
#recruit .top_box .white_box p {
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
}
#recruit .top_box .photo {
	margin: -37px auto 0;
	width: 654px;
	position: relative;
}
#recruit .voice {
	margin-bottom: 80px;
}
#recruit .voice .head_line01 {
	margin-bottom: 44px;
}
#recruit .voice .text_list {
	margin-top: -40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#recruit .voice .text_list li {
	margin-top: 40px;
	padding: 27px 37px 33px;
	width: calc((100% - 40px) / 2);
	position: relative;
	border: 3px solid #F2F2F2;
	box-sizing: border-box;
}
#recruit .voice .text_list li::before {
	width: 61px;
	height: 61px;
	position: absolute;
	left: -3px;
	top: -3px;
	background: url(img/common/bg04.png) no-repeat center center / 100% 100%;
	content: '';
}
#recruit .voice .text_list .pho {
	margin: 0 auto 16px;
	width: 180px;
}
#recruit .voice .text_list .pho a {
	display: block;
	width: 180px;
	height: 219px;
	overflow: hidden;
}
#recruit .voice .text_list .pho a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-o-object-fit: cover;
}
#recruit .voice .text_list .ttl {
	margin-bottom: 10px;
	color: #001E7F;
	font-weight: 900;
}
#recruit .voice .text_list p {
	letter-spacing: 0.05em;
}
#recruit .flow {
	margin-bottom: 82px;
	padding: 82px 0;
	background-color: #F2F2F2;
}
#recruit .flow .head_line01 {
	margin-bottom: 33px;
}
#recruit .flow .text_list {
	margin: -61px -25px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#recruit .flow .text_list li {
	margin: 61px 25px 0;
	width: calc((100% - 150px) / 3);
}
#recruit .flow .text_list .num {
	margin: 0 -3px -22px 0;
	position: relative;
	color: rgba(0,30,127,0.52);
	font-size: 5rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: right;
	z-index: 2;
}
#recruit .flow .text_list .pho {
	margin-bottom: 7px;
	position: relative;
}
#recruit .flow .text_list .pho::before {
	width: 61px;
	height: 61px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/common/bg04.png) no-repeat center center / 100% 100%;
	content: '';
}
#recruit .flow .text_list .txt_box .ttl {
	margin-bottom: 5px;
	color: #001E7F;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.78;
	letter-spacing: 0.1em;
}
#recruit .flow .text_list .txt_box p {
	line-height: 1.73;
	letter-spacing: 0.05em;
}
#recruit .faq {
	margin-bottom: 180px;
}
#recruit .faq .com-list {
	margin-bottom: 80px;
}
@media all and (min-width: 897px) {
	#recruit .voice .text_list .pho a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#recruit .top_box {
		margin-bottom: 60px;
		padding-top: 40px;
	}
	#recruit .top_box::before {
		height: 400px;
	}
	#recruit .top_box .white_box {
		padding: 40px 20px;
	}
	#recruit .top_box .white_box::before {
		width: 30px;
		height: 30px;
	}
	#recruit .top_box .white_box h2 {
		margin-bottom: 30px;
		font-size: 2rem;
	}
	#recruit .top_box .photo {
		margin: -15px auto 0;
		width: calc(100% - 40px);
	}
	#recruit .voice {
		margin-bottom: 60px;
	}
	#recruit .voice .head_line01 {
		margin-bottom: 30px;
	}
	#recruit .voice .text_list {
		margin-top: 0;
		display: block;
	}
	#recruit .voice .text_list li {
		margin: 0 0 30px;
		padding: 27px 20px;
		width: auto;
		border-width: 2px;
	}
	#recruit .voice .text_list li::before {
		width: 30px;
		height: 30px;
		left: -2px;
		top: -2px;
	}
	#recruit .flow {
		margin-bottom: 60px;
		padding: 60px 0;
	}
	#recruit .flow .head_line01 {
		margin-bottom: 30px;
	}
	#recruit .flow .text_list {
		margin: 0;
		display: block;
	}
	#recruit .flow .text_list li {
		margin: 0 0 40px;
		width: auto;
	}
	#recruit .flow .text_list li:last-of-type {
		margin-bottom: 0;
	}
	#recruit .flow .text_list .num {
		margin: 0 -3px -15px 0;
		font-size: 4rem;
	}
	#recruit .flow .text_list .pho::before {
		width: 30px;
		height: 30px;
	}
	#recruit .flow .text_list .pho img {
		width: 100%;
	}
	#recruit .flow .text_list .txt_box .ttl {
		font-size: 1.6rem;
	}
	#recruit .faq {
		margin-bottom: 100px;
	}
	#recruit .faq .com-list {
		margin-bottom: 60px;
	}
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}

/*------------------------------------------------------------
	お問い合わせフォーム
------------------------------------------------------------*/
.form-item_radio input {
	display: none;
}
.form-item_radio span {
	position: relative;
	margin-left: 45px;
	cursor: pointer;
}

input[type=radio]+span:before {
	background: #DCDCDC;
	/* border: 1px solid #9a9a9a; */
	border-radius: 100%;
	content: "";
	height: 20px;
	left: -25px;
	position: absolute;
	top: 58%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 20px;
}

input[type=radio]:checked + span::after {
	position: absolute;
	background: #001E7F;
	border: unset;
	border-radius: 100%;
	content: "";
	height: 12px;
	width: 12px;
	left: -21px;
	top: 6px;
}

/* チェックボックス */
.privacy-agree .form-item_checkbox {
	text-align: center;
	display: block;
	position: relative;
}

/*------------------------------------------------------------
	boxer
------------------------------------------------------------*/

.boxer-content > img {
	max-width: none;
}


/* .privacy-agree .form-item_checkbox::before {
	position: absolute;
	padding: 1px 2px 2px;
	width: 35px;
	display: block;
	top: 6px;
	left: 200px;
	content: "必須";
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.75;
	font-weight: 700;
	text-align: center;
	border-radius: 2px;
	box-sizing: border-box;
	background-color: #E02838;
} */

.privacy-agree .val-err {
	text-align: center;
}

.form-inner .privacy-agree {
	margin-bottom: 48px;
	text-align: center;
}

.form-item_checkbox span {
	position: relative;
	font-weight: 700;
	letter-spacing: 0.05em;
	vertical-align: top;
	cursor: pointer;
}

.form-item_checkbox span::before {
	position: absolute;
	content: '';
	top: 3px;
	left: -22px;
	width: 15px;
	height: 15px;
	border: 1px solid #222;
	background: #fff;
}

input[type=checkbox] {
	position: relative;
}

input[type=checkbox]::before {
	position: absolute;
	padding: 1px 2px 2px;
	width: 35px;
	display: block;
	top: -3px;
	left: -50px;
	content: "必須";
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.75;
	font-weight: 700;
	text-align: center;
	border-radius: 2px;
	box-sizing: border-box;
	background-color: #E02838;
}

input[type=checkbox]:checked + span::before {
	background: #fff;
	border: 1px solid #222;
}

input[type=checkbox]+span:after {
	content: "";
	height: 4px;
	left: -10%;
	margin-top: -4px;
	opacity: 1;
	position: absolute;
	top: 40%;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 9px;
}

input[type=checkbox]:checked + span::after {
	display: inline-block;
	opacity: 1;
	transform: rotate(-45deg) scale(1);
	border-left: 2px solid #001E7F;
	border-bottom: 2px solid #001E7F;
	left: -19px;
	top: 11px;
}

.contact_btn.is-confirm {
	display: block;
	padding: 5px 55px 5px 10px;
	height: 66px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	background: url(img/common/icon09.svg) no-repeat right 79px top calc(50% + 1px) / 26px auto;
	background-color: #E02838;
	cursor: pointer;
	transition: .3s;
	max-width: 345px;
	margin: 0 auto 20px;
}

.contact_btn.is-confirm:hover {
	background-color: #ff1c30;
}

.form_btn-area span {
	display: block;
	padding: 12px;
	text-align: center;
}


/*------------------------------------------------------------
	送信確認
------------------------------------------------------------*/
.phase-confirm .form-inner{
	margin: 0 auto 80px;
}

.phase-confirm .form_btn-area {
	margin: 0 auto 150px;
}

.phase-confirm .contact_btn {
	text-align: center;
	font-size: 1.8rem;
	max-width: 345px;
	margin: 0 auto;
	cursor: pointer;
}

.phase-confirm .contact_btn.is-back {
	margin-bottom: 20px;
	background: #fff;
	color: #221;
	border: 1px solid #222;
	display: block;
	cursor: pointer;
	transition: all 0.3s;
}

.phase-confirm .contact_btn.is-back:hover {
	background: #221;
	color: #fff;
}

.phase-confirm .contact_btn.is-send {
	background-color: #E02838;
	color: #fff;
	display: block;
	cursor: pointer;
	transition: all 0.3s;
}

.phase-confirm .contact_btn.is-send:hover {
	background-color: #ff1c30;
}

.phase-confirm .form-inner table td {
	padding: 22px 40px 10px 5px;
}

.thanks-messe {
	padding: 60px;
	text-align: center;
	margin-bottom: 80px;
}

.thanks-messe p {
	margin-bottom: 20px;
	color: #001E7F;
	font-size: 2.5rem;
	font-weight: 900;
	line-height: 1.28;
	letter-spacing: 0.05em;
	display: block;
}

.thanks-messe span {
	display: inline-block;
	font-size: 16px;
}

@media all and (max-width: 896px) {
	.form-item_radio span {
		margin-left: 35px;
	}

	input[type=radio]+span:before {
		left: -25px;
		top: 54%;
	}

	input[type=radio]:checked + span::after {
		left: -21px;
    top: 9px;
	}
	.form-inner table tr:first-of-type td span {
		display: flex;
    flex-direction: column;
	}
	.form-item_checkbox span::before {
		top: 1px;
		left: -23px;
	}
	input[type=checkbox]:checked + span::after {
		top: 9px;
	}
	.form_btn-area span {
		padding: 16px 12px;
	}
	.phase-confirm .form-inner {
		margin-bottom: 40px;
	}

	.phase-confirm .form-inner table th {
		padding: 22px 40px 0 0;
	}

	.phase-confirm .form-inner table td {
		padding: 0px 40px 10px 5px;
	}
	.phase-confirm .form-inner table tr:first-of-type td {
		padding-left: 5px;
	}

	.phase-confirm .contact_btn.is-send:hover,
	.phase-confirm .contact_btn.is-confirm:hover {
		background-color: #E02838;
	}

	.phase-confirm .contact_btn.is-back:hover {
		background: #fff;
		color: #221;
	}

	.thanks-messe {
		padding: 20px 0;
	}

	.thanks-messe p {
		font-size: 2rem;
	}

	.thanks-messe span {
		font-size: 14px;
	}
}