@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisaul {
	margin-bottom: 39px;
}
.mainVisaul .imgBox {
	margin-top: -29px;
	align-items: center;
	overflow: hidden;
}
.mainVisaul .textBox {
	margin: -70px 0 0 0;
	width: calc(50% - 218px);
	position: relative;
}
.mainVisaul .textBox .textInner {
	margin-right: -159px;
	margin-left: auto;
	max-width: 420px;
}
.mainVisaul .textBox .ttl {
	margin-bottom: 16px;
	color: #0074BD;
	font-weight: 400;
	font-size: 3.5rem;
	letter-spacing: 0.08em;
	line-height: 1.66;
}
.mainVisaul .textBox .text {
	line-height: 2.9;
	font-size: 1.5rem;
	max-width: 380px;
}
.mainVisaul .photoBox {
	margin-top: -11px;
	width: calc(50% + 172px);
	order: 1;
}
.mainVisaul .photoBox img {
	width: 1095px;
	max-width: inherit;
	display: block;
}
#main .concept {
	margin-bottom: 83px;
}
#main .merit .content {
	padding-top: 21px;
	position: relative;
}
#main .merit .ico {
	position: absolute;
	left: -138px;
	top: 0;
	width: 241px;
}
#main .merit h2 {
	margin: 0 0 28px 74px;
}
#main .merit .meritUl {
	margin-top: -52px;
}
#main .merit .meritUl::after {
	content: '';
	width: calc((100% - 100px)/3);
}
#main .merit .meritUl li {
	margin-top: 51px;
	text-align: center;
	width: calc((100% - 100px)/3);
}
#main .merit .meritUl .border {
	margin-right: 0;
	padding-bottom: 1px;
	color: #0074BD;
	font-size: 2.5rem;
	letter-spacing: 0.12em;
	line-height: 2.12;
	font-weight: 400;
	text-align: center;
	background: url(../img/index/bg01.png) repeat left top/6px;
}
#main .merit .meritUl h3 {
	margin: 0 -34px 10px 0;
	color: #0074BD;
	font-size: 2rem;
	font-weight: 400;
}
#main .merit .meritUl .pho {
	margin: 0 auto 26px;
	width: 211px;
}
#main .merit .meritUl p {
	margin-right: -14px;
	line-height: 2.14;
}
#main .merit {
	margin-bottom: 144px;
}
#main .place .comImgBox .photoBox .pho img {
	border-radius: 50px;
}
#main .place .comImgBox .photoBox {
	order: 1;
	margin-top: 13px;
	width: calc(50% - 14px);
}
#main .place .comImgBox .textBox {
	padding: 0 30px 0 0;
}
#main .place .comImgBox .photoBox h2 {
	top: -64px;
    right: 94px;
}
#main .place .comImgBox .photoBox .ico {
	width: 301px;
	right: auto;
    left: -174px;
    top: -89px;
	mix-blend-mode: multiply;
}
#main .place .comImgBox .textBox .hTtl {
	margin-bottom: 16px;
}
#main .place .comImgBox .textBox p {
	line-height: 2.43;
	font-size: 1.4rem;
}
#main .place .comImgBox .textBox p .line {
	padding-top: 20px;
	display: inline-block;
	background: url(../img/index/bg01.png) repeat-x left top /6px;
}
#main .place .comBtn {
	margin: 13px 30px 0 0;
	text-align: right;
}
#main {
	margin-bottom: 175px;
}
@media all and (max-width: 896px) {
	.mainVisaul {
		margin-bottom: 80px;
	}
	.mainVisaul .imgBox {
		margin-top: 0;
		display: block;
	}
	.mainVisaul .photoBox {
		width: auto;
		margin: 0 0 -35px;
		height: calc(100vh - 275px);
		min-height: 240px;
	}
	.mainVisaul .photoBox img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: left top;
	}
	.mainVisaul .textBox {
		margin: 0 20px 0;
		width: auto;
	}
	.mainVisaul .textBox .textInner {
		margin-left: auto;
		max-width: inherit;
		margin-right: 0;
	}
	.mainVisaul .textBox .ttl {
		margin-bottom: 10px;
		font-size: 2.6rem;
		letter-spacing: 0;
		line-height: 1.6;
	}
	.mainVisaul .textBox .text {
		margin-right: -5px;
		line-height: 2;
		font-size: 1.3rem;
		max-width: inherit;
	}
	#main .concept {
		margin-bottom: 70px;
	}
	#main .merit .content {
		padding-top: 26px;
	}
	#main .merit .ico {
		left: -38px;
		width: 200px;
	}
	#main .merit h2 {
		margin: 0 10px 30px;
		text-align: center;
	}
	#main .merit .meritUl {
		margin-top: 0;
		display: block;
	}
	#main .merit .meritUl::after {
		width: auto;
	}
	#main .merit .meritUl li {
		margin-top: 30px;
		width: auto;
	}
	#main .merit .meritUl .border {
		margin-right: 0;
		font-size: 2rem;
		letter-spacing: 0.1em;
		line-height: 1.8;
		background-size: 4px;
	}
	#main .merit .meritUl h3 {
		margin: 0 0 10px;
		font-size: 1.8rem;
	}
	#main .merit .meritUl .pho {
		margin-bottom: 15px;
		width: 60%;
		text-align: center;
	}
	#main .merit .meritUl .pho img {
		width: 100%;
	}
	#main .merit .meritUl p {
		margin-right: 0;
		line-height: 2;
	}
	#main .merit {
		margin-bottom: 120px;
	}
	#main .place .comImgBox .photoBox .pho img {
		border-radius: 30px;
	}
	#main .place .comImgBox .photoBox {
		margin: 0 0 15px;
		width: auto
	}
	#main .place .comImgBox .textBox {
		padding: 0;
	}
	#main .place .comImgBox .photoBox h2 {
		top: -66px;
		right: 50%;
		transform: translateX(50%);
		text-align: center;
	}
	#main .place .comImgBox .photoBox .ico {
		width: 200px;
		left: -70px;
		top: -80px;
	}
	#main .place .comBtn {
		margin: 20px 0 0;
		text-align: center;
	}
	#main .place .comImgBox .textBox p {
		line-height: 2;
		font-size: 1.4rem;
	}
	#main {
		margin-bottom: 120px;
	}
}
@media (min-width: 550px) and (max-width: 896px) and (max-height: 500px) {
	.mainVisaul .imgBox {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	.mainVisaul .photoBox {
		width: calc(50% + 90px);
		margin: 0 -20px 0 -70px;
		height: auto;
		min-height: auto;
	}	
	.mainVisaul .photoBox img {
		object-fit: contain;
		object-position: left top;
	}
	.mainVisaul .textBox {
		min-width: 250px;
		margin: -6px -50px 0 0;
		width: calc(50% + 50px);
		padding: 0 15px;
		box-sizing: border-box;
	}
	.mainVisaul .textBox .ttl {
		margin-bottom: 5px;
	}
}