@charset "UTF-8";

/*==============================================================
共通
==============================================================*/
.section_title {
	margin-bottom: 36px;
}

.section_title>span {
	margin-right: 6px;
	font-size: 24px;
	vertical-align: middle;
	letter-spacing: 0;
	display: inline-block;
}

.section_title>h2 {
	font-size: 14px;
	font-weight: 400;
	vertical-align: middle;
	color: rgb(120, 120, 120);
	display: inline-block;
}

.section_title>h2:before {
	content: "/";
	margin-right: 9px;
}

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

	.section_title {
		margin-bottom: 50px;
	}

	.section_title>span {
		margin-right: 12px;
		font-size: 21px;
	}

}

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

	.section_title {
		margin-bottom: 40px;
	}

}

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

	.section_title>span {
		margin-right: 5px;
		font-size: 21px;
	}

	.section_title>h2 {
		font-size: 12px;
	}

}

/*==============================================================
ご挨拶
==============================================================*/
#greeting {
	padding: 145px 0;
	margin-bottom: 90px;
}

#greeting>.content {
	width: 86%;
	max-width: 1280px;
	margin: 0 auto;
}

#greeting>.content>.copy {
	margin-bottom: 50px;
	font-size: 47px;
	line-height: 1.6;
	text-align: center;
	color: rgb(31, 81, 142);
}

#greeting>.content>.text {
	width: 100%;
	max-width: 850px;
	margin: 0 auto 45px;
	line-height: 2;
	text-align: justify;
}

#greeting>.content>.text .image {
	width: 295px;
	padding-left: 30px;
	padding-bottom: 30px;
	float: right;
	display: block;
}

#greeting>.content>.name {
	width: 100%;
	max-width: 850px;
	margin: 0 auto 90px;
	text-align: right;
}

#greeting>.content>.profile {
	width: 100%;
	max-width: 1080px;
	padding: 35px 0;
	border: 1px solid rgb(90, 90, 90);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}

#greeting>.content>.profile>dl {
	width: 50%;
	padding: 0 35px;
	box-sizing: border-box;
	float: left;
}

#greeting>.content>.profile>dl:first-child {
	border-right: 1px solid rgb(90, 90, 90);
}

#greeting>.content>.profile>dl>dt {
	margin-bottom: 9px;
	font-size: 24px;
	line-height: 1;
	color: rgb(31, 81, 142);
}

#greeting>.content>.profile>dl>dd {
	margin-bottom: 18px;
	font-size: 19px;
}

#greeting>.content>.profile>dl>dd:last-child {
	margin-bottom: 0;
}

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

	#greeting {
		padding: 90px 0;
		margin-bottom: 0;
	}

	#greeting>.content>.copy {
		margin-bottom: 60px;
		font-size: 30px;
		line-height: 2.4;
	}

	#greeting>.content>.text {
		max-width: 100%;
		margin: 0 auto 60px;
		font-size: 15px;
	}

	#greeting>.content>.text .image {
		padding-left: 45px;
		padding-bottom: 45px;
	}

	#greeting>.content>.name {
		max-width: 100%;
		margin: 0 auto 108px;
		font-size: 15px;
	}

	#greeting>.content>.profile>dl>dt {
		margin-bottom: 12px;
	}

	#greeting>.content>.profile>dl>dd {
		font-size: 15px;
		text-align: justify;
	}

}

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

	#greeting {
		padding: 90px 0;
		margin-bottom: 0;
	}

	#greeting>.content>.copy {
		margin-bottom: 45px;
		font-size: 25px;
		line-height: 2.1;
	}

	#greeting>.content>.text .image {
		width: 210px;
	}

	#greeting>.content>.name {
		margin: 0 auto 72px;
	}

	#greeting>.content>.profile>dl {
		padding: 0 30px;
	}

	#greeting>.content>.profile>dl>dt {
		margin-bottom: 12px;
		font-size: 18px;
	}

}

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

	#greeting>.content>.copy {
		font-size: 24px;
		text-align: justify;
		letter-spacing: 0.01em;
	}

	#greeting>.content>.copy>br {
		display: none;
	}

	#greeting>.content>.text {
		margin: 0 auto 36px;
	}

	#greeting>.content>.text .image {
		width: 150px;
		padding-left: 18px;
		padding-bottom: 18px;
	}

	#greeting>.content>.profile>dl {
		width: 100%;
		padding: 0 35px;
	}

	#greeting>.content>.profile>dl:first-child {
		border-right: none;
		margin-bottom: 18px;
	}

}

/*==============================================================
特徴
==============================================================*/
#features {
	margin-bottom: 205px;
	overflow: hidden;
}

#features>.content {
	width: 86%;
	max-width: 1280px;
	margin: 0 auto;
}

#features>.content .section_title {
	margin-bottom: 0;
}

#features>.content>.content {
	position: relative;
}

#features>.content>.content>.copy {
	width: 55%;
	margin-top: -12px;
	position: absolute;
	top: 90px;
	left: 0;
	z-index: 500;
}

#features>.content>.content>.copy>.text {
	margin-bottom: 45px;
	font-size: 36px;
	font-weight: 400;
}

#features>.content>.content>.copy>.link {
	text-align: left;
}

#features>.content>.content>.copy>.link>a {
	width: 100%;
	max-width: 210px;
	padding: 12px 0;
	border: 2px solid rgb(31, 81, 142);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	color: rgb(31, 81, 142);
	display: block;
	transition-duration: 0.3s;
}

#features>.content>.content>.copy>.link>a:hover {
	color: #fff;
	background-color: rgb(31, 81, 142);
}

#features>.content>.content>.text {
	width: 60%;
	padding: 90px 0 90px 23%;
	background-color: rgb(249, 249, 249);
	float: right;
	box-sizing: border-box;
	position: relative;
}

#features>.content>.content>.text:after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgb(249, 249, 249);
	display: block;
	position: absolute;
	top: 0;
	left: 100%;
	z-index: -1;
}

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

	#features {
		margin-bottom: 90px;
	}

	#features>.content>.content>.copy>.text {
		margin-bottom: 36px;
		font-size: 30px;
		font-weight: 400;
		letter-spacing: 0.01em;
	}

	#features>.content>.content>.copy>.text>br {
		display: none;
	}

	#features>.content>.content>.text {
		width: 55%;
		padding: 90px 0 90px 12%;
		background-color: rgb(249, 249, 249);
		float: right;
		box-sizing: border-box;
		position: relative;
	}

}

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

	#features {
		margin-bottom: 90px;
	}

	#features>.content>.content>.copy {
		margin-top: -6px;
		top: 72px;
	}

	#features>.content>.content>.copy>.text {
		font-size: 27px;
	}

	#features>.content>.content>.text {
		padding: 72px 0 72px 12%;
		font-size: 15px;
	}

}

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

	#features>.content .section_title {
		margin-bottom: 45px;
	}

	#features>.content>.content>.copy {
		width: 100%;
		margin-top: 0;
		margin-bottom: 45px;
		position: static;
		top: 0;
	}

	#features>.content>.content>.copy>.text {
		margin-bottom: 27px;
	}

	#features>.content>.content>.copy>.link {
		text-align: right;
	}

	#features>.content>.content>.copy>.link>a {
		max-width: 100%;
		padding: 15px 0;
		display: inline-block;
		box-sizing: border-box;
	}

	#features>.content>.content>.text {
		width: 100%;
		padding: 36px;
	}

	#features>.content>.content>.text:after {
		display: none;
	}

}

/*==============================================================
業務内容
==============================================================*/
#services {
	margin-bottom: 140px;
}

#services>.content {
	width: 86%;
	max-width: 1280px;
	margin: 0 auto;
}

#services>.content .section_title {
	margin-bottom: 60px;
}

#services>.content>ul {
	margin-bottom: 45px;
	display: flex;
	flex-wrap: wrap;
}

#services>.content>ul>li {
	width: 29%;
	margin-right: 6.5%;
	float: left;
}

#services>.content>ul>li:nth-child(3n) {
	margin-right: 0;
}

#services>.content>ul>li>.image {
	margin-bottom: 18px;
}

#services>.content>ul>li>h3 {
	margin-bottom: 24px;
}

#services>.content>ul>li>h3>span {
	vertical-align: middle;
}

#services>.content>ul>li>h3>span.serif {
	margin-right: 15px;
	font-size: 24px;
	letter-spacing: 0.1em;
}

#services>.content>ul>li>h3>span.en {
	font-size: 14px;
	font-weight: 400;
	color: rgb(31, 81, 142);
}

#services>.content>ul>li>.text {
	font-size: 15px;
	line-height: 2.1;
}

#services>.content>.link {
	text-align: center;
}

#services>.content>.link>a {
	width: 100%;
	max-width: 630px;
	padding: 18px 0;
	border: 2px solid rgb(31, 81, 142);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	color: rgb(31, 81, 142);
	display: inline-block;
	transition-duration: 0.3s;
}

#services>.content>.link>a:hover {
	color: #fff;
	background-color: rgb(31, 81, 142);
}

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

	#services>.content>ul {
		margin-bottom: 60px;
	}

	#services>.content>ul>li>.image {
		margin-bottom: 15px;
	}

	#services>.content>ul>li>h3 {
		margin-bottom: 9px;
	}

	#services>.content>ul>li>h3>span.serif {
		margin-right: 6px;
		font-size: 21px;
	}

}

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

	#services {
		margin-bottom: 90px;
	}

	#services>.content>ul>li>h3>span.serif {
		font-size: 18px;
	}

	#services>.content>ul>li>h3>span.en {
		font-size: 10px;
	}

}

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

	#services>.content>ul>li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 60px;
		float: none;
	}

	#services>.content>ul>li:last-child {
		margin-bottom: 0;
	}

	#services>.content>ul>li>.image {
		margin-bottom: 27px;
	}

	#services>.content>ul>li>h3 {
		margin-bottom: 18px;
		line-height: 1;
	}

	#services>.content>ul>li>h3>span.serif {
		font-size: 22px;
	}

	#services>.content>.link>a {
		max-width: 100%;
		padding: 21px 0;
	}

}

/*==============================================================
地図
==============================================================*/
#map {
	margin-bottom: 105px;
}

#map>.content {
	width: 86%;
	max-width: 1280px;
	margin: 0 auto;
}

#map>.content .section_title {
	margin-bottom: 70px;
}

#map>.content iframe {
	width: 100%;
	height: 500px;
}

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

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

	#map>.content .section_title {
		margin-bottom: 35px;
	}

}

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