

.topVisual { width: 100%; height: 340px; text-align: center; position: relative; margin: 90px 0 0; background: url(../img/company/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; }


.topMessage { width: 100%; margin: 0; padding: 160px 0; }
.topMessage h3 { font-size: 40px; font-weight: 900; line-height: 60px; text-align: center; }
.topMessage h3 span { display: block; color: #005BAB; font-size: 20px; line-height: 30px; }
.topMessage section { width: 1100px; margin: 80px auto 0; display: flex; justify-content: space-between; }
.topMessage p { width: 540px; font-size: 20px; line-height: 40px; text-align: left; }
.topMessage figure { width: 480px; font-size: 16px; line-height: 30px; text-align: right; font-family: 'Noto Serif JP'; }
.topMessage figure figcaption { font-family: 'Noto Serif JP'; }
.topMessage figure figcaption b { font-family: 'Noto Serif JP'; font-size: 20px; margin: 0 0 0 1em; }
.topMessage figure img { width: 100%; }


.topCampany { width: 100%; margin: 0; padding: 160px 0; background: #EBF2F7; }
.topCampany h3 { font-size: 40px; font-weight: 900; line-height: 60px; text-align: center; }
.topCampany h3 span { display: block; color: #005BAB; font-size: 20px; line-height: 30px; }
.topCampany table { width: 800px; max-width: 100%; margin: 80px auto 0; font-size: 16px; border-collapse: collapse; background: #FFF; }
.topCampany th { text-align: left; line-height: 30px; border-bottom: solid 1px #D6D6D6; padding: 20px; color: #005BAB; }
.topCampany td { line-height: 30px; border-bottom: solid 1px #D6D6D6; padding: 20px; }

.topPolicy { width: 100%; margin: 0; padding: 160px 0; }
.topPolicy h3 { font-size: 40px; font-weight: 900; line-height: 60px; text-align: center; }
.topPolicy h3 span { display: block; color: #005BAB; font-size: 20px; line-height: 30px; }
.topPolicy figure { text-align: center; margin: 80px 0 40px; }
.topPolicy p { font-size: 20px; line-height: 40px; text-align: center; }

.topAccess { width: 100%; margin: 0; padding: 160px 0 0; background: #EBF2F7; }
.topAccess h3 { font-size: 40px; font-weight: 900; line-height: 60px; text-align: center; margin: 0 0 80px; }
.topAccess h3 span { display: block; color: #005BAB; font-size: 20px; line-height: 30px; }
.topAccess h4 { font-size: 24px; line-height: 40px; text-align: center; }
.topAccess p { font-size: 16px; line-height: 25px; text-align: center; margin: 40px 0; }


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

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

	.topMessage { padding: 80px 20px; box-sizing: border-box; }
	.topMessage h3 { }
	.topMessage h3 span { }
	.topMessage section { width: 100%; margin: 80px auto 0; display: flex; justify-content: space-between; }
	.topMessage figure { width: 320px; }
	.topMessage p { width: calc(100% - 360px); }

	.topCampany { padding: 80px 20px; box-sizing: border-box; }
	.topCampany h3 { }
	.topCampany h3 span { }

	.topPolicy { padding: 80px 20px; box-sizing: border-box; }
	.topPolicy h3 { }
	.topPolicy h3 span { }
	.topPolicy figure { }
	.topPolicy p { }

	.topAccess { padding: 80px 0 0; }
	.topAccess h3 { }
	.topAccess h3 span { }

}


@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 20px; }
	.topVisual h2 { width: 100%; height: 110px; color: #FFF; font-size: 32px; line-height: 30px; padding: 30px; }
	.topVisual h2 span { font-size: 12px; }

	.topVisual { padding: 0 20px; box-sizing: border-box; }

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


	.topMessage { padding: 40px 20px; box-sizing: border-box; }
	.topMessage h3 { font-size: 32px; line-height: 40px; }
	.topMessage h3 span { font-size: 16px; line-height: 25px; }

	.topMessage section { width: 100%; margin: 80px 0 0; display: block; }
	.topMessage figure { width: 100%; margin: 40px 0 0; }

	.topMessage p { width: 100%; font-size: 18px; line-height: 35px; text-align: left; }


	.topCampany { padding: 40px 20px; box-sizing: border-box; }
	.topCampany h3 { font-size: 32px; line-height: 40px; }
	.topCampany h3 span { font-size: 16px; line-height: 25px; }

	.topCampany table { width: 100%; margin: 40px 0 0; }
	.topCampany th { padding: 10px; white-space: nowrap; }
	.topCampany td { padding: 10px; }


	.topPolicy { padding: 40px 20px; box-sizing: border-box; }
	.topPolicy h3 { font-size: 32px; line-height: 40px; }
	.topPolicy h3 span { font-size: 16px; line-height: 25px; }
	.topPolicy figure { width: 100%; margin: 40px 0 20px; }

	.topPolicy p { width: 100%; font-size: 18px; line-height: 35px; text-align: left; }

	.topAccess { padding: 40px 0 0; }
	.topAccess h3 { font-size: 32px; line-height: 40px; }
	.topAccess h3 span { font-size: 16px; line-height: 25px; }
	.topAccess p { font-size: 16px; line-height: 25px; text-align: left; padding: 0 20px; }
}