
.topVisual { width: 100%; height: 340px; text-align: center; position: relative; margin: 90px 0 0; background: url(../img/work/top.jpg); background-size: cover; display: flex; align-items: center; justify-content: center; }
.topVisual h2 { background: #005BAB; width: 540px; height: 140px; color: #FFF; font-size: 50px; line-height: 50px; box-sizing: border-box; padding: 25px; }
.topVisual h2 span { display: block; font-size: 20px; }

.topWork { width: 100%; margin: 0; padding: 120px 0 0; float: left; }
.topWork .inner { width: 1000px; }
.topWork h3 { font-size: 16px; font-weight: 300; line-height: 20px; position: relative; border-bottom: solid 2px #D6D6D6; color: #005BAB; padding: 0 0 10px; }
.topWork h3:after { content: ""; border-bottom: solid 2px #005BAB; width: 120px; position: absolute; bottom: -2px; }
.topWork h3 span { display: block; color: #005BAB; font-size: 32px; font-weight: 900; line-height: 50px; color: #000; }
.topWork section { display: flex; justify-content: space-between; margin: 80px 0 0; }
.topWork section p { font-size: 18px; line-height: 30px; }
.topWork figure { }

.topSchedule { width: 100%; margin: 0; padding: 120px 0; float: left; }
.topSchedule .inner { width: 1000px; }
.topSchedule h3 { font-size: 16px; font-weight: 300; line-height: 20px; position: relative; border-bottom: solid 2px #D6D6D6; color: #005BAB; padding: 0 0 10px; }
.topSchedule h3:after { content: ""; border-bottom: solid 2px #005BAB; width: 120px; position: absolute; bottom: -2px; }
.topSchedule h3 span { display: block; color: #005BAB; font-size: 32px; font-weight: 900; line-height: 50px; color: #000; }
.topSchedule ul { width: 800px; margin: 80px auto 0; position: relative; }
.topSchedule ul:after { content: ""; border-top: 0; border-left: solid 10px #005BAB; position: absolute; top: 0; left: 14px; height: 100%; }
.topSchedule ul li { margin: 40px 0 0; padding: 0 0 0 60px; background: #FFF; position: relative; box-sizing: border-box; }
.topSchedule ul li h4 { font-size: 24px; font-weight: 900; line-height: 30px; color: #005BAB; }
.topSchedule ul li p { font-size: 18px; line-height: 30px; margin: 10px 0 0; }
.topSchedule ul li i { position: absolute; top: 0; left: 4px; width: 30px; font-size: 30px; color: #FFF; z-index: 1; }
.topSchedule ul li i.line { position: absolute; top: -4px; left: 0; width: 38px; font-size: 38px; color: #005BAB; z-index: 1; }

.topReason { width: 100%; margin: 0; padding: 120px 0; float: left; background: #EBF2F7; }
.topReason .inner { width: 1000px; }
.topReason h3 { font-size: 16px; font-weight: 300; line-height: 20px; position: relative; border-bottom: solid 2px #D6D6D6; color: #005BAB; padding: 0 0 10px; }
.topReason h3:after { content: ""; border-bottom: solid 2px #005BAB; width: 120px; position: absolute; bottom: -2px; }
.topReason h3 span { display: block; color: #005BAB; font-size: 32px; font-weight: 900; line-height: 50px; color: #000; }
.topReason ul { margin: 80px 0 0; }
.topReason ul li { width: 1000px; display: flex; justify-content: center; margin: 40px auto 0; background: #FFF; }
.topReason ul li div { width: 700px; padding: 20px; box-sizing: border-box; }
.topReason ul li div h4 { font-size: 24px; font-weight: 900; line-height: 35px; color: #005BAB; }
.topReason ul li div p { font-size: 18px; line-height: 30px; margin: 20px 0 0; }

.topQa { width: 100%; margin: 0; padding: 120px 0 0; float: left; }
.topQa .inner { width: 1000px; }
.topQa h3 { font-size: 16px; font-weight: 300; line-height: 20px; position: relative; border-bottom: solid 2px #D6D6D6; color: #005BAB; padding: 0 0 10px; }
.topQa h3:after { content: ""; border-bottom: solid 2px #005BAB; width: 120px; position: absolute; bottom: -2px; }
.topQa h3 span { display: block; color: #005BAB; font-size: 32px; font-weight: 900; line-height: 50px; color: #000; }
.topQa ul { margin: 80px 0 0; }
.topQa ul li { width: 1000px; margin: 80px auto 0; background: #FFF; }
.topQa ul li h4 { font-size: 24px; font-weight: 900; line-height: 35px; color: #005BAB; }
.topQa ul li p { font-size: 18px; line-height: 30px; margin: 10px 0 0; }

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

@media only screen and (max-width: 1260px) {
	.topVisual { width: 100%; margin: 70px 0 0; }
	.topVisual h2 { }

	.topWork { padding: 80px 20px 0; box-sizing: border-box; }
	.topWork .inner { width: 100%; }
	.topWork section { margin: 40px 0 0; display: block; position: relative; }
	.topWork section p { font-size: 18px; line-height: 35px; }
	.topWork figure { width: 240px; position: absolute; top: 0; right: 0; }

	.topSchedule { padding: 80px 20px; box-sizing: border-box; }
	.topSchedule .inner { width: 100%; }
	.topSchedule ul { width: 100%; margin: 40px auto 0; }
	.topSchedule ul li { }
	.topSchedule ul li p { font-size: 18px; line-height: 35px; margin: 10px 0 0; }

	.topReason { padding: 80px 20px; box-sizing: border-box; }
	.topReason .inner { width: 100%; }
	.topReason ul { margin: 40px 0 0; }
	.topReason ul li { width: 100%; margin: 40px auto 0; }
	.topReason ul li figure{ width: 200px; }
	.topReason ul li div { width: calc(100% - 200px); }
	.topReason ul li div p { font-size: 18px; line-height: 35px; margin: 10px 0 0; }

	.topQa { padding: 80px 20px 0; box-sizing: border-box; }
	.topQa .inner { width: 100%; }
	.topQa ul { margin: 40px 0 0; }
	.topQa ul li { width: 100%; margin: 40px auto 0; }
	.topQa ul li p { font-size: 18px; line-height: 35px; margin: 10px 0 0; }

}


@media only screen and (max-width: 520px) {
	.topVisual { padding: 0 20px; box-sizing: border-box; }

	.topVisual { width: 100%; height: 230px; margin: 70px 0 0; padding: 0 40px; }
	.topVisual h2 { width: 100%; height: 110px; color: #FFF; font-size: 32px; line-height: 30px; padding: 30px; }
	.topVisual h2 span { font-size: 12px; }


	.topWork { padding: 40px 20px 0; }
	.topWork figure { width: 100%; position: static; margin: 40px 0 0; }

	.topSchedule { padding: 40px 20px; }

	.topReason { padding: 40px 20px; }
	.topReason .inner { width: 100%; }
	.topReason ul li { display: block; }
	.topReason ul li figure { width: 100%; }
	.topReason ul li figure img { width: 100%; }
	.topReason ul li div { width: 100%; }

	.topQa { padding: 40px 20px 0; }

}