/*--------------------------------------------------
  = ly_sogo
--------------------------------------------------*/
.ly_sogo__ctr {
	display: flex;
}
/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.ly_sogo {
		padding-bottom: 60px;
	}
	.ly_sogo__ctr {
		justify-content: flex-end;
	}
	.ly_sogo__l {
        max-width: 500px;
        margin: 0 60px 0 20px;
		padding-top: 23px;
	}
	.ly_sogo__r {
		width: calc(50% + 50px);
	}
	.ly_sogo .bl_guideList {
		margin-bottom: 60px;
	}
	.ly_sogo .bl_motto {
		margin-bottom: 45px;
	}
}
@media print, screen and (max-width: 1100px) and (min-width: 768px) {
	.ly_sogo__l {
		max-width: unset;
		width: 50%;
		margin-right: 20px;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.ly_sogo {
		padding-bottom: 70px;
	}
	.ly_sogo__ctr {
		flex-direction: column-reverse;
	}
	.ly_sogo__r {
		padding-left: 18px;
	}
	.ly_sogo__l {
		padding: 37px 18px 0;
	}
	.ly_sogo .bl_motto {
		margin-bottom: 20px;
	}
}
/*--------------------------------------------------
  = bl_sogoLogo
--------------------------------------------------*/
/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.bl_sogoLogo {
		display: block;
		max-width: 440px;
		margin-bottom: 34px;
	}
	.bl_sogoLogo img {
		width: 100%;
	}
}
/*--------------------------------------------------
  = bl_guide
--------------------------------------------------*/
.bl_guideList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.bl_guide {
	position: relative;
	display: flex;
	align-items: center;
	line-height: 1.5;
	text-align: center;
	transition: .2s ease-in;
}
.bl_guide:last-child::after {
	content: none;
}
.bl_guide::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 1px;
	height: calc(100% - 4px);
	background: #d4d6e3;
	transform: translateY(-50%);
}
.bl_guide::after {
	right: 0;
}
.bl_guide::before {
	content: "";
	display: inline-block;
	background: no-repeat center/100%;
	margin-right: 12px;
}
.bl_guide.__request::before {
	width: 12px;
	height: 16px;
	background-image: url(../img/sogo/icon-document.svg);
}
.bl_guide.__contact::before {
	width: 17px;
	height: 12px;
	background-image: url(../img/sogo/icon-mail.svg);
}
.bl_guide.__access::before {
	width: 12px;
	height: 18px;
	background-image: url(../img/sogo/icon-access.svg);
}
.bl_guide {
	padding: 0 28px 0 23px;
    font-size: 16px;
}
.bl_guide.__request {
	padding-left: 0;
}
/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	/* hover */
	.bl_guide:hover {
		color: #0189a5;
	}
}
@media print, screen and (max-width: 1000px) and (min-width: 768px) {
	.bl_guide {
		padding: 0 13px 0 10px;
		font-size: 14px;
	}
	.bl_guide::before {
		margin-right: 8px;
	}
}
/*--------------------------------------------------
  = bl_motto
--------------------------------------------------*/
.bl_motto {
	font-family: var(--font-mincho);
}
.bl_motto__ttl {
	border-bottom: 1px solid #d4d6e3;
	position: relative;
	color: #283075;
    font-family: var(--font-english);
	letter-spacing: .15em;
}
.bl_motto__ttl::before {
	content: "";
	display: block;
	position: absolute;
    bottom: -1px;
	left: 0;
	height: 1px;
	background: #b62a32;
}
/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.bl_motto {
		line-height: 1.571;
	}
	.bl_motto__ttl {
		margin-bottom: 20px;
		padding: 0 5px 10px;
		line-height: 1.385;
		font-size: 26px;
	}
	.bl_motto__ttl::before {
		width: 21px;
	}
	.bl_motto__message {
		font-size: 28px;
	}
	.bl_motto__source {
		margin-top: 8px;
		font-size: 16px;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_motto {
		line-height: 1.571;
	}
	.bl_motto__ttl {
		margin-bottom: 15px;
		padding: 0 2px 10px;
		line-height: 1.385;
		font-size: 18px;
	}
	.bl_motto__ttl::before {
		width: 16px;
	}
	.bl_motto__message {
		line-height: 1.579;
		font-size: 19px;
	}
	.bl_motto__source {
		margin-top: 5px;
		font-size: 13px;
	}
}
/*--------------------------------------------------
  = bl_sogoNav
--------------------------------------------------*/
.bl_sogoNav li > a {
	position: relative;
	border-bottom: 1px solid #e9eaf1;
	display: block;
	color: #283075;
	font-family: var(--font-mincho);
    line-height: 1.5;
	transition: .2s ease-in;
}
.bl_sogoNav li > a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	background: url(../img/sogo/icon-arrow_sogoNav.svg) no-repeat center/100%;
	transform: translateY(-50%);
}
/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.bl_sogoNav li > a {
		padding: 16px 47px 16px 17px;
		font-size: 18px;
	}
	.bl_sogoNav li > a::before {
		right: 20px;
		width: 9px;
		height: 14px;
	}
	/* hover */
	.bl_sogoNav li > a:hover {
		background: #f4f4f8;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_sogoNav li + li {
		margin-top: 6px;
	}
	.bl_sogoNav li > a {
		padding: 15px 30px 15px 5px;
		font-size: 16px;
	}
	.bl_sogoNav li > a::before {
		right: 14px;
		width: 6px;
		height: 10px;
	}
}
/*--------------------------------------------------
  = bl_sogoImgArea
--------------------------------------------------*/
.bl_sogoImg {
	display: block;
	position: relative;
}
.bl_sogoImg__imgWpr {
	overflow: hidden;
}
.bl_sogoImg__imgWpr img {
	width: 100%;
	object-fit: cover;
	transition: .2s ease-in;
}
.bl_sogoImg__txtWpr {
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #fff;
	line-height: 1;
	font-family: var(--font-mincho);
	transition: .2s ease-in;
	box-sizing: border-box;
}
.bl_sogoImg.__zennichi .bl_sogoImg__txtWpr {
	background-image: linear-gradient( 90deg, rgba(58, 35, 115, 0.9) 0%, rgba(55, 159, 180, 0.9) 50%, rgba(55, 159, 180, 0.9) 51%, rgba(58, 35, 115, 0.9) 100%);
}
.bl_sogoImg.__tsushin .bl_sogoImg__txtWpr {
	background-image: linear-gradient( 90deg, rgba(201, 82, 108, 0.9) 0%, rgba(216, 163, 49, 0.9) 50%, rgba(216, 163, 49, 0.9) 51%, rgba(201, 82, 108, 0.9) 100%);
}
.bl_sogoImg__ttl {
	flex: 1;
	text-align: center;
}
.bl_sogoImg__ttl span {
	display: block;
}
.bl_sogoImg__more {
	position: relative;
	border-bottom: 1px solid #fff;
}
.bl_sogoImg__more::after {
	content: "";
	display: block;
	position: absolute;
	clip-path: polygon(100% 50%, 0 0, 0 100%);
	background: #fff;
	transform: translateY(-50%);
}
/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.bl_sogoImg__imgWpr img {
		height: 440px;
		height: calc(100vh / 2);
		object-position: top;
	}
	.bl_sogoImg__txtWpr {
		width: 450px;
		min-height: 120px;
		padding: 10px 25px 10px 5px;
		background-position: 1% 50%;
		background-size: 200% auto;
	}
	.bl_sogoImg__ttl {
		font-size: 40px;
	}
	.bl_sogoImg__ttl span {
		margin-top: 12px;
		font-size: 18px;
	}
	.bl_sogoImg__more {
		padding: 0 40px 15px 13px;
		font-size: 18px;
	}
	.bl_sogoImg__more::after {
		top: calc(50% - 7.5px);
		right: 10px;
		width: 13px;
		height: 15px;
	}
	/* hover */
	.bl_sogoImg:hover .bl_sogoImg__txtWpr {
		background-position-x: 100%;
	}
	.bl_sogoImg:hover .bl_sogoImg__imgWpr img {
		transform: scale(1.05);
	}
}
@media print, screen and (max-width: 1100px) and (min-width: 768px) {
	.bl_sogoImg__txtWpr {
		justify-content: center;
		flex-direction: column;
        width: 70%;
		padding: 10px 20px;
	}
	.bl_sogoImg__ttl {
		flex: none;
		margin-bottom: 15px;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_sogoImg__imgWpr img {
		height: 225px;
	}
	.bl_sogoImg__txtWpr {
		width: 250px;
        min-height: 60px;
		padding: 10px 15px 10px 5px;
		background-position: 1% 50%;
		background-size: 200% auto;
	}
	.bl_sogoImg__ttl {
		font-size: 25px;
	}
	.bl_sogoImg__ttl span {
        margin-top: 6px;
		font-size: 10px;
	}
	.bl_sogoImg__more {
		padding: 0 18px 8px 5px;
		font-size: 13px;
	}
	.bl_sogoImg__more::after {
		top: calc(50% - 4px);
		right: 5px;
		width: 7px;
		height: 9px;
	}
}