.fl {
	float: left;
}

.cf::after {
	display: block;
	content: '';
	clear: both;
}
.un_gFromBtn {
	display: none;
}

.hp_ptHeader {
	padding-top: 85px !important;
}

/* ローディングアニメーション */
.an_pageTransitionRight {
	position: relative;
}

.an_pageTransitionRight::before {
	content: '';
	display: block;
	width: 100%;
	height: 100vh;
	background-color: #144da0;
	position: fixed;
	top: 0;
	left: 0;
	-webkit-animation-name: pageTransitionRight;
	animation-name: pageTransitionRight;
	-webkit-animation-duration: 0.7s;
	animation-duration: 0.7s;
	-webkit-animation-timing-function: ease-out;
	animation-timing-function: ease-out;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	z-index: 99999;
}

.an_pageTransitionLeft {
	-webkit-animation-name: pageTransitionLeft;
	animation-name: pageTransitionLeft;
	-webkit-animation-delay: 0.4s;
	animation-delay: 0.4s;
	-webkit-animation-duration: 0.5s;
	animation-duration: 0.5s;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	opacity: 0;
}

.an_pageTransitionTop {
	position: relative;
}

.an_pageTransitionTop::before {
	content: '';
	display: block;
	width: 100%;
	height: 100vh;
	background-color: #144da0;
	position: fixed;
	top: 0;
	right: 0;
	-webkit-animation-name: pageTransitionTop;
	animation-name: pageTransitionTop;
	-webkit-animation-duration: 0.35s;
	animation-duration: 0.35s;
	-webkit-animation-timing-function: ease-out;
	animation-timing-function: ease-out;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	z-index: 99999;
}

@-webkit-keyframes pageTransitionRight {
	0% {
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		-webkit-transform-origin: right;
		transform-origin: right;
	}

	100% {
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		-webkit-transform-origin: right;
		transform-origin: right;
	}
}

@keyframes pageTransitionRight {
	0% {
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		-webkit-transform-origin: right;
		transform-origin: right;
	}

	100% {
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		-webkit-transform-origin: right;
		transform-origin: right;
	}
}

@-webkit-keyframes pageTransitionLeft {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes pageTransitionLeft {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@-webkit-keyframes pageTransitionTop {
	0% {
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		-webkit-transform-origin: left;
		transform-origin: left;
	}

	100% {
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		-webkit-transform-origin: left;
		transform-origin: left;
	}
}

@keyframes pageTransitionTop {
	0% {
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		-webkit-transform-origin: left;
		transform-origin: left;
	}

	100% {
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		-webkit-transform-origin: left;
		transform-origin: left;
	}
}

.ly_header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 85px;
	background-color: #fefefe;
	border-bottom: 1px solid #e2e2e2;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-left: 10px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 500;
	-webkit-box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.3);
	box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.3);
}

.ly_firstView {
	width: 100%;
	height: 310px;
	padding: 85px 15px 0;
	background-color: #e2e2e2;
	margin-bottom: 25px;
}

.ly_mainCont{
	max-width: 750px;
	margin: 0 auto;
	padding: 50px 20px 0px;
}

.ly_contCenter {
	max-width: 1230px;
	padding: 0 15px;
	margin: 0 auto 75px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.ly_contCenter_innerBorder .bl_toggleMenu_dd {
	margin-bottom: 50px;
	padding-top: 75px;
}

.bl_logo {
	position: relative;
}

.bl_logo span {
	display: inline-block;
	color: #101010;
	font-size: 10px;
	font-weight: normal;
	position: absolute;
}

.bl_logo_ttl {
	-webkit-transform: translate(76px, -10px);
	transform: translate(76px, -10px);
}

.bl_logo_company {
	-webkit-transform: translate(90px, -3px);
	transform: translate(90px, -3px);
}

.bl_gnav .bl_telBox {
	height: 82px;
}

.bl_telBox {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	padding: 20px 15px 0;
}

.bl_telBox_ttl {
	font-size: 0.875rem;
	font-weight: bold;
	font-style: normal;
}

.bl_telBox_subTtl {
	font-size: 0.75rem;
}

.bl_telBox.bl_telBox__contact {
	background-color: #fefefe;
	padding: 25px 15px;
	margin: 0 auto;
}

.bl_telBoxWrap.bl_telBoxWrap__2col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.bl_telBoxWrap__2col .bl_telBox {
	width: 40%;
	background-color: #e2e2e2;
	margin: 0 5px;
	padding: 10px 0 15px;
}

.bl_gnav_ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.bl_gnav_li {
	border-left: 1px solid #e2e2e2;
}

.bl_gnav_li .lg_current {
	border-bottom: 3px solid #144da0;
}

.bl_gnav_li span {
	display: block;
	font-size: 0.6875rem;
	font-weight: normal;
	text-align: center;
}

.bl_gnav_li:last-child {
	border-left: none;
}

.bl_gnav_li:last-child a:focus {
	border-bottom: 3px solid #2cb0e0;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

.bl_gnav_li a {
	display: block;
	color: #101010;
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-align: center;
	padding: 20px 35px 17px;
	border-bottom: 3px solid transparent;
}

.bl_gnav_li a span {
	font-weight: normal;
	letter-spacing: 0;
}

.bl_gnav_btnEff {
	width: 189px;
	height: 85px;
	left: -189px;
	background: #2cb0e0;
	position: absolute;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	z-index: 1;
}

.bl_gnav_li.bl_gnav_li__btn span{
	color: #fefefe;
}

.bl_gnav_btn {
	display: none;
	cursor: pointer;
}

.bl_gnav_li.bl_gnav_li__btn {
	background-color: #144da0;
	text-align: center;
	cursor: pointer;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
}

.bl_gnav_li__btn a {
	height: 84px;
	color: #fefefe;
	font-size: 1.125rem;
	text-shadow: 1px 1px rgba(0, 0, 0, 0.1);
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	z-index: 2;
	position: relative;
}

.bl_gnav_li__btn a span {
	font-size: 0.75rem;
	letter-spacing: 0.1em;
}

.bl_gnav_li.bl_gnav_li__btn:hover .bl_gnav_btnEff {
	left: 0;
}

.bl_telBox_ttl {
	font-size: 0.875rem;
	font-weight: bold;
	font-style: normal;
}

.bl_telBox_subTtl {
	font-size: 0.75rem;
}

.bl_telBox.bl_telBox__contact {
	background-color: #fefefe;
	padding: 25px 15px;
	margin: 0 auto;
}

.bl_contBox {
	height: 370px;
	background-color: #fefefe;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-box-shadow: 0 0 2px #ccc;
	box-shadow: 0 0 2px #ccc;
}

.bl_contBox_ttl {
	color: #144da0;
	font-size: 1.5rem;
	text-align: center;
	margin: 35px 0 28px;
	letter-spacing: 0.15em;
}

.bl_contBox_ttl .fa-building {
	font-size: 1.5625rem;
	-webkit-transform: translate(-8px, -2px);
	transform: translate(-8px, -2px);
}

.bl_contBox_beforeIcon::before {
	display: inline-block;
	content: '';
}

.bl_contBox_desc {
	width: 338px;
	font-size: 1rem;
	letter-spacing: 0.1em;
	margin: 20px auto 35px;
	text-align: justify;
}

.bl_contBox_beforeIcon.bl_contBox_beforeIcon__office::before {
	width: 25px;
	height: 25px;
	background: url(../img/icon_office.svg) no-repeat top left/contain;
	-webkit-transform: translate(-2px, 2px);
	transform: translate(-2px, 2px);
}

.bl_contBox_beforeIcon.bl_contBox_beforeIcon__home::before {
	width: 30px;
	height: 30px;
	background: url(../img/icon_home.svg) no-repeat top left/contain;
	-webkit-transform: translate(-7px, 11px);
	transform: translate(-7px, 11px);
}

.bl_contBoxList {
	font-size: 1rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	height: 150px;
}

.bl_contBoxList_ttl {
	display: block;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 8px;
}

.bl_company {
	width: 485px;
	font-size: 0.875rem;
	margin-bottom: 20px;
}

.bl_toggleMenu {
	margin-bottom: 1em;
}

.bl_toggleMenu_btn {
	width: 100%;
	color: #fcfcfc;
	font-size: 1.15rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.1em;
	background-color: #5188b1;
	border: 2px solid transparent;
	padding: 1em;
	position: relative;
	cursor: pointer;
}

.bl_toggleMenu_btn:focus,
.bl_toggleMenu_btn:hover {
	opacity: 0.8;
}

.bl_toggleMenu_btn::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	border-top: 16px solid #fcfcfc;
	border-bottom: 0;
	font-size: 1rem;
	position: absolute;
	top: 1.5em;
	right: .5em;
	pointer-events: none;
}

.bl_toggleMenu_btn:focus,
.bl_toggleMenu_btn:hover {
	background-color: #5188b1;
	opacity: 1;
}

.bl_toggleMenu_foot {
	max-height: 0;
	border-right: 2px solid #5188b1;
	border-bottom: 2px solid #5188b1;
	border-left: 2px solid #5188b1;
	padding: 1em;
	overflow: hidden;
	transition: max-height 0.3s ease, opacity 0.3s ease;
	opacity: 0;
}

.bl_toggleMenu_foot p {
	max-width: 600px;
	color: #101010;
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 2;
	text-align: justify;
	margin: 0 auto 1em;
}

.bl_toggleMenu_foot.is_open {
	max-height: 1000px;
	/* 実際の高さより少し余裕を持たせる */
	opacity: 1;
}

.bl_toggleMenu_dtBtn {
	color: #101010;
	font-size: 1rem;
	letter-spacing: 0.1em;
	width: 100%;
	background-color: #efefef;
	border: none;
	margin-bottom: 5px;
	padding: 15px;
	position: relative;
	cursor: pointer;
}

.bl_toggleMenu_dtBtn::after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 8px 0 8px;
	border-color: #007bff transparent transparent transparent;
	top: 50%;
	right: 15px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.bl_toggleMenu_dtBtn:focus {
	background-color: #8fd0e9;
	outline: none;
}

.bl_toggleMenu_dtBtn:hover {
	background-color: #8fd0e9;
}

.bl_toggleMenu_dd {
	display: none;
}

.bl_toggleMenu.is_active::after {
	-webkit-transform: translate(0px, -50%) rotate(180deg);
	transform: translate(0px, -50%) rotate(180deg);
}

.bl_toggleMenu_dtBtn::after{
		content: '';
		display: inline-block;
		position: absolute;
}

.el_beforeTriangleBtn.el_beforeTriangleBtn__centerd {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 300px;
	margin: 0 auto 25px;
}

.el_beforeTriangleBtn {
	display: inline-block;
	font-size: 1rem;
	background: #70ACCE;
	border: 2px solid transparent;
	padding: 1.25em 1.875em 1.25em 1.5625em;
	cursor: pointer;
}

.el_beforeTriangleBtn_ttl {
	color: #fefefe;
	font-size: 1rem;
	text-align: center;
}

.el_beforeTriangleBtn_ttl .fas {
	color: #fefefe;
	margin-right: 5px;
}

.el_logoImg {
	display: block;
	width: 290px;
}

.el_telIcon {
	max-width: 24px;
	height: auto;
	display: inline-block;
	-webkit-transform: translate(-5px, -3px);
	transform: translate(-5px, -3px);
}

.el_firstViewTtl {
	max-width: 1200px;
	font-size: 3.125rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: right;
	margin: 0 0 0 auto;
	padding-top: 95px;
}

.el_firstViewTtl.el_firstViewTtl__mdFs {
	font-size: 2rem;
}

.el_fvSubTtl {
	display: block;
	color: #144da0;
	font-size: 16px;
	letter-spacing: 0;
}

.el_pagePath {
	padding: 0 15px;
}

.el_pagePath_li {
	font-size: 0.875rem;
	padding-right: 10px;
}

.el_pagePath_li:last-child::after {
	content: '';
}

.el_pagePath_li a {
	color: #101010;
	text-decoration: underline;
}

.el_pagePath_li::after {
	content: '>';
	padding-left: 5px;
}

.el_pagePath.el_pagePath__contact {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0 15px !important;
	-webkit-box-sizing: border-box !important;
	box-sizing: border-box !important;
}

.el_underLineLink {
	color: #101010;
	text-decoration: underline;
}

.el_lv3Heading {
	color: #fefefe;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	text-align: center;
	background-color: #144da0;
	margin-bottom: 15px;
	padding: 7px 0px 3px;
}

@media screen and (max-width: 1240px) {
	.bl_gnav_li a {
		font-size: 0.75rem;
		padding: 25px 20px 21px;
	}

	.bl_gnav_li__btn a {
		-webkit-transform: translateY(-4px);
		transform: translateY(-4px);
	}

	.bl_gnav .bl_telBox {
		height: 44px;
	}

	.bl_gnav {
		height: 60px;
		background-color: #fefefe;
		z-index: 100;
	}

	.bl_gnav_ul {
		display: block;
		width: 100%;
		height: 100%;
		overflow: auto;
		padding-bottom: 75px;
		position: fixed;
		top: 70px;
		right: 0;
		background-color: #fefefe;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: 0.4s;
		transition: 0.4s;
		z-index: 5;
	}

	.bl_gnav_ul.is_active {
		-webkit-transform: translate(0%);
		transform: translate(0%);
		-webkit-transition: 0.4s;
		transition: 0.4s;
	}

	.bl_gnav_li {
		width: 100%;
		border-left: 0;
		border-bottom: 1px dotted #e2e2e2;
	}

	.bl_gnav_li:last-child {
		letter-spacing: 0.1em;
		border-bottom: 0;
	}

	.bl_gnav_li span {
		letter-spacing: 0;
		font-size: 0.6875rem;
	}

	.bl_gnav_li a {
		text-align: center;
		font-size: 0.9375rem;
		letter-spacing: 0.1em;
	}

	.bl_gnav_li a:hover {
		border-bottom: 3px solid rgba(44, 176, 224, 0);
	}

	.bl_gnav_li .lg_current {
		border-bottom: 3px solid transparent;
	}

	.bl_gnav_btn {
		display: block;
		position: fixed;
		top: 12px;
		right: 15px;
		z-index: 1000;
	}

	.bl_gnav_btn>span {
		display: block;
		width: 36px;
		height: 2px;
		background-color: #101010;
		margin-bottom: 10px;
		-webkit-transition: 0.2s;
		transition: 0.2s;
	}

	.bl_gnav_btn>span:nth-child(3) {
		margin-bottom: 5px;
	}

	.bl_gnav_btn>span:last-child {
		margin-bottom: 0;
	}

	.bl_gnav_btnTxt {
		font-size: 0.75rem;
	}

	.bl_gnav_btn.is_active>span:nth-child(1) {
		-webkit-transform: translate(2px, 12px) rotate(45deg);
		transform: translate(2px, 12px) rotate(45deg);
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}

	.bl_gnav_btn.is_active>span:nth-child(2) {
		-webkit-transform: translate(2px, 0) rotate(-45deg);
		transform: translate(2px, 0) rotate(-45deg);
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}

	.bl_gnav_btn.is_active>span:nth-child(3) {
		opacity: 0;
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}

	.bl_gnav_btn .bl_gnav_btnTxt:nth-child(1) {
		display: block;
	}

	.bl_gnav_btn .bl_gnav_btnTxt:nth-child(2) {
		display: none;
	}

	.bl_gnav_btn.is_active .bl_gnav_btnTxt:nth-child(1) {
		display: none;
	}

	.bl_gnav_btn.is_active .bl_gnav_btnTxt:nth-child(2) {
		display: block;
	}
}

@media screen and (max-width:1024px) {
	.ly_header {
			height: 70px;
	}

	.ly_firstView+.el_pagePath {
		padding: 0 15px 50px;
	}

	.bl_logo {
		background-color: #fefefe;
		z-index: 1000;
	}
	.bl_logo_ttl {
		-webkit-transform: translate(63px, -8px);
		transform: translate(63px, -8px);
	}

	.bl_logo_company {
		-webkit-transform: translate(86px, -4px);
		transform: translate(86px, -4px);
	}

	.bl_telBox {
		height: auto;
		background-color: #e2e2e2;
		padding: 20px 0;
		-webkit-box-sizing: content-box;
		box-sizing: content-box;
		margin: 15px;
	}

	.el_logoImg {
		width: 270px;
	}

	.el_pagePath {
		padding: 0;
	}

	.md_diNone {
		display: none;
	}

	.hp_ptHeader {
		padding-top: 70px !important;
	}
}

@media screen and (max-width:800px) {
	.un_gFromBtn {
			width: 100%;
			border-left: 0;
			border-bottom: 1px dotted #e2e2e2;
			display: block;
			padding: 15px;
		}

		.un_gFromBtn a {
			display: block;
			color: #101010;
			font-size: 0.9375rem;
			font-weight: bold;
			text-align: center;
			letter-spacing: 0.1em;
			margin: 0 auto;
			padding-left: 2em;
		}

		.un_gFromBtn a span {
			position: relative;
		}

		.un_gFromBtn a span::before {
			display: block;
			content: '';
			width: 14px;
			height: 14px;
			background-color: #144da0;
			border-radius: 50%;
			position: absolute;
			top: 4px;
			left: -18px;
			z-index: 100;
		}

		.un_gFromBtn a span::after {
			display: block;
			content: '';
			width: 4px;
			height: 4px;
			border: 2px solid #fff;
			border-bottom: 0;
			border-left: 0;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			-webkit-transition: 0.12s;
			transition: 0.12s;
			position: absolute;
			top: 8px;
			left: -15px;
			z-index: 100;
		}

		.ly_firstView {
			height: 250px;
		}

		.ly_contCenter_innerBorder .bl_toggleMenu_dd {
			margin-bottom: 25px;
			padding-top: 0;
		}

		.ly_contCenter_innerBorder .bl_toggleMenu_dtBtn {
			width: calc(100% - 15px);
		}

		.el_firstViewTtl {
			font-size: 2.5rem;
			padding-top: 5px;
		}

		.el_lv3Heading {
			font-size: 1.25rem;
		}
}

@media screen and (max-width: 500px) {
	.sm_br {
		display: block !important;
	}

	.ly_firstView {
		height: 235px;
	}

	.bl_toggleMenu_btn {
		font-size: 1.05rem;
		padding-right: 2em;
		text-align: justify;
	}

	.el_logoImg {
		width: 240px;
	}
	.el_firstViewTtl {
		font-size: 1.7rem;
	}

	.el_firstViewTtl.el_firstViewTtl__mdFs {
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 375px) {
	.bl_gnav_li.bl_gnav_li__btn {
		padding-top: 5px;
	}

	.bl_gnav_li a {
		font-size: 0.875rem;
		padding: 12px 0 10px;
	}

	.bl_gnav_li span {
		font-size: 0.625rem;
	}

	.bl_telBox {
		margin: 10px;
		padding: 12px 0;
	}

	_::-webkit-full-page-media,
	_:future,
	:root .bl_slider_li {
		height: 64svh;
	}
}

@media screen and (max-width: 360px) {

	.el_logoImg {
		width: 240px;
	}

	.bl_logo_ttl {
		-webkit-transform: translate(48px, -9px);
		transform: translate(48px, -9px);
	}

	.bl_logo_company {
		-webkit-transform: translate(68px, -4px);
		transform: translate(68px, -4px);
	}
}
