
.topVisual { width: 100%; background: #FFF; text-align: center; position: relative; margin: 90px 0 0; }
.topVisual .inner { width: 100%; position: relative; }
.topVisual li.top1 { background: url(../img/top/top1.jpg); }
.topVisual li.top2 { background: url(../img/top/top2.jpg); }
.topVisual li.top3 { background: url(../img/top/top3.jpg); }
.topVisual li.top4 { background: url(../img/top/top4.jpg); }
.topVisual li.top5 { background: url(../img/top/top5.jpg); }
.topVisual li.top { height: 640px; position: relative; background-size: 2000px; background-position: center; }
.topVisual h2 { position: absolute; top: 80px; left: 50%; margin: 0 0 0 200px; writing-mode: vertical-rl; font-size: 55px; font-weight: 900; line-height: 75px; text-align: left; text-shadow: 1px 1px 0 #FFF; }

.slick-dots li { width: 60px !important; }
.slick-dots li button:before{ color: #0168AB !important; content: "─	" !important; font-size: 40px !important; }
.slick-dots li.slick-active button:before { color: #0168AB !important; }

.topAbout { width: 100%; margin: 0; padding: 0 0 160px; background: #005BAB; }
.topAbout figure { text-align: center; }

.topAbout h3 { font-size: 36px; font-weight: 900; line-height: 60px; text-align: center; width: 900px; margin: -80px auto 0; padding: 40px 0; background: #FFF; border-radius: 40px; position: relative; }
.topAbout h3 span { font-size: 48px; font-weight: 900; }
.topAbout h3 span b { font-weight: 900; color: #005BAB; }

.topAbout p { font-size: 24px; font-weight: 600; line-height: 40px; margin: 40px 0 0; text-align: center; color: #FFF; }
.topAbout ul { display: flex; justify-content: center; margin: 80px 0 0; }
.topAbout ul li { margin: 0 20px; }
.topAbout ul li figure { position: relative; }
.topAbout ul li figure figcaption { position: absolute; top: 90px; width: 100%; text-align: center; font-size: 40px; font-weight: 900; line-height: 60px; text-shadow: 0px 2px 0px #FFF; }

.topAbout h4 { font-size: 60px; font-weight: 900; line-height: 60px; text-align: center; margin: 40px 0 0; color: #FFF; }

.topReason { width: 100%; margin: 0; padding: 160px 0 0; }
.topReason h3 { font-size: 40px; font-weight: 900; line-height: 60px; text-align: center; }
.topReason h3 span { display: block; color: #005BAB; font-size: 20px; line-height: 30px; }
.topReason ul li:nth-child(odd) { margin-right: calc((100vw - 1100px) / 2); margin-top: 160px; background: #005BAB; position: relative; padding: 80px 340px 80px calc((100vw - 1100px) / 2); }
.topReason ul li:nth-child(odd) figure { position: absolute; top: -80px; right: -80px; }
.topReason ul li:nth-child(even) { margin-left: calc((100vw - 1100px) / 2); margin-top: 160px; background: #005BAB; position: relative; padding: 80px calc((100vw - 1100px) / 2) 80px 340px; }
.topReason ul li:nth-child(even) figure { position: absolute; top: -80px; left: -80px; }

.topReason ul li h4 { font-size: 40px; font-weight: 900; line-height: 40px; color: #FFF; }
.topReason ul li h4 span { display: block; color: #EBF2F7; font-size: 20px; font-weight: 900; }
.topReason ul li h4 span b { font-size: 36px; font-weight: 900; }
.topReason ul li p { font-size: 18px; line-height: 30px; color: #FFF; margin: 20px 0 0; }

.topMenu { width: 100%; margin: 0; padding: 160px 0; }
.topMenu h3 { font-size: 40px; font-weight: 900; line-height: 60px; text-align: center; }
.topMenu h3 span { display: block; color: #005BAB; font-size: 20px; line-height: 30px; }
.topMenu ul { }
.topMenu ul li { display: flex; justify-content: center; margin: 80px 0 0; }
.topMenu ul li div { margin: 0 0 0 80px; }
.topMenu ul li div h4 { font-size: 32px; font-weight: 900; line-height: 40px; }
.topMenu ul li div h4 span { display: block; color: #005BAB; font-size: 16px; line-height: 20px; }
.topMenu ul li div ul { margin: 20px 0 0; }
.topMenu ul li div li { display: list-item; margin: 0; font-size: 18px; line-height: 30px; }
.topMenu ul li div li i { color: #005BAB; }
.topMenu ul li div p { font-size: 16px; line-height: 25px; margin: 20px 0 0; }
.topMenu ul li div a { margin: 40px 0 0; width: 460px; height: 60px; display: inline-block; color: #FFF; border-radius: 30px; text-align: center; line-height: 60px; font-size: 16px; padding: 0 20px; box-sizing: border-box; background: linear-gradient(to right, #005BAB, #002073); }
.topMenu ul li div a i { float: right; line-height: 60px; }

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

.topService ul { display: flex; justify-content: center; margin: 40px 0 0; justify-content: space-around; flex-wrap: wrap; }
.topService ul li { width: 300px; margin: 40px 15px 0; }
.topService ul li h4 { font-size: 20px; line-height: 30px; text-align: center; margin: 20px 0 0; }
.topService ul li h4 span { font-weight: normal; display: block; color: #005BAB; font-size: 12px; line-height: 20px; }
.topService ul li p { font-size: 14px; line-height: 25px; margin: 10px 0 0; text-align: left; }

.topCase { width: 100%; margin: 0; padding: 160px 0 0; }
.topCase h3 { font-size: 40px; font-weight: 900; line-height: 60px; text-align: center; }
.topCase h3 span { display: block; color: #005BAB; font-size: 20px; line-height: 30px; }
.topCase ul { margin: 80px 0 0; padding: 0 0 80px; }
.topCase ul li a { display: block; width: 450px; border-radius: 20px; background: #EBF2F7; margin: 0 40px; color: #1A1A1A; }
.topCase ul li a h4 { font-size: 20px; line-height: 30px; padding: 20px 20px 0; }
.topCase ul li a p { font-size: 14px; line-height: 25px; padding: 10px 20px 20px; text-align: left; }
.topCase .case-prev { position: absolute; bottom: 20px; left: 50%; margin-left: -50px; display: block; width: 40px; font-size: 20px; line-height: 40px; color: #FFF; background: #005BAB; text-align: center; border-radius: 20px; cursor: pointer; transition: .3s; }
.topCase .case-next { position: absolute; bottom: 20px; right: 50%; margin-right: -50px; display: block; width: 40px; font-size: 20px; line-height: 40px; color: #FFF; background: #005BAB; text-align: center; border-radius: 20px; cursor: pointer; transition: .3s; }
.topCase .case-prev:hover,
.topCase .case-next:hover { opacity: 0.6; }
.topCase p { text-align: center; }
.topCase p a { width: 460px; height: 60px; display: inline-block; color: #FFF; border-radius: 30px; text-align: center; line-height: 60px; font-size: 16px; padding: 0 20px; box-sizing: border-box; background: linear-gradient(to right, #005BAB, #002073); }
.topCase p a i { float: right; line-height: 60px; }

.topArea { width: 100%; margin: 0; padding: 200px 0 0; color: #FFF; }
.topArea h3 { font-size: 40px; font-weight: 900; line-height: 60px; }
.topArea h3 span { display: block; color: #EBF2F7; font-size: 20px; line-height: 30px; }
.topArea section { margin-right: calc((100vw - 1100px) / 2); background: #005BAB; position: relative; padding: 80px 0 80px calc((100vw - 1100px) / 2); }
.topArea section figure { position: absolute; top: -40px; right: -80px; }
.topArea p { margin: 40px 0 0; font-size: 20px; line-height: 30px; }


.topNews { width: 100%; margin: 0; padding: 160px 0 0; }
.topNews .inner { position: relative; }
.topNews h3 { font-size: 40px; font-weight: 900; line-height: 60px; text-align: center; }
.topNews h3 span { display: block; color: #005BAB; font-size: 20px; line-height: 30px; }
.topNews ul { width: 1000px; margin: 80px auto; border-top: solid 1px #D6D6D6; }
.topNews li { padding: 20px 0; border-bottom: solid 1px #D6D6D6; line-height: 30px; }
.topNews li a { color: #1A1A1A; font-size: 16px; display: flex; justify-content: left; align-items: center; }
.topNews li a time { width: 120px; color: #005BAB; padding: 0 0 0 20px; }
.topNews li a h4 { width: 820px; font-size: 20px; }
.topNews li a i { float: right; color: #005BAB; }
.topNews p { text-align: center; }
.topNews p a { width: 460px; height: 60px; display: inline-block; color: #FFF; border-radius: 30px; text-align: center; line-height: 60px; font-size: 16px; padding: 0 20px; box-sizing: border-box; background: linear-gradient(to right, #005BAB, #002073); }
.topNews p a i { float: right; line-height: 60px; }

.topCampany { width: 100%; margin: 0; padding: 240px 0 0; color: #FFF; }
.topCampany section { margin-left: calc((100vw - 1100px) / 2); background: #005BAB; position: relative; padding: 80px calc((100vw - 1100px) / 2) 80px 480px; }
.topCampany section figure { position: absolute; top: -80px; left: -160px; }
.topCampany h3 { font-size: 40px; font-weight: 900; line-height: 60px; margin: 0 0 0 80px; }
.topCampany h3 span { display: block; color: #EBF2F7; font-size: 20px; line-height: 30px; }
.topCampany table { margin: 40px 0 0 80px; font-size: 16px; border-collapse: collapse; }
.topCampany th { text-align: left; line-height: 30px; border-top: solid 1px #FFF; padding: 5px 0; }
.topCampany td { line-height: 30px; border-top: solid 1px #FFF; padding: 5px 0 5px 20px; }

.topAccess { width: 100%; margin: 0; padding: 160px 0 0; }
.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; }


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

@media only screen and (max-width: 1260px) {
	.topVisual { width: 100%; background: #FFF; text-align: center; position: relative; margin: 70px 0 0; }
	.topVisual .inner { width: 100%; position: relative; }
	.topVisual li.top { height: 40vw; position: relative; }
	.topVisual li.top { background-size: cover; }
	.topVisual h2 { top: 2vw; left: 50%; margin: 0 0 0 20vw; font-size: 4vw; line-height: 1.5em; }

	.topAbout { width: 100%; margin: 0; padding: 0 0 80px; background: #005BAB; }
	.topAbout figure { text-align: center; }

	.topAbout h3 { font-size: 24px; line-height: 50px; width: 600px; margin: -30px auto 0; padding: 30px 0; background: #FFF; border-radius: 20px; }
	.topAbout h3 span { font-size: 36px; }
	.topAbout h3 span b { }

	.topAbout p { font-size: 20px; line-height: 30px; margin: 20px 0 0; }
	.topAbout ul { display: flex; justify-content: center; margin: 40px 30px 0; }
	.topAbout ul li { margin: 0 10px; }
	.topAbout ul li figure { position: relative; }
	.topAbout ul li figure figcaption { position: absolute; top: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; font-size: 28px; line-height: 40px; }
	.topAbout h4 { font-size: 36px; line-height: 60px; margin:20px 0 0; } 


	.topReason { width: 100%; margin: 0; padding: 80px 0 0; }
	.topReason h3 { }
	.topReason h3 span { }
	.topReason ul li:nth-child(odd) { margin-right: 80px; margin-top: 80px; padding: 40px 255px 40px 40px; }
	.topReason ul li:nth-child(odd) figure { position: absolute; top: -40px; right: -40px; width: 255px; }
	.topReason ul li:nth-child(even) { margin-left: 80px; margin-top: 80px; padding: 40px 40px 40px 255px; }
	.topReason ul li:nth-child(even) figure { position: absolute; top: -40px; left: -40px; }
	.topReason ul li figure { width: 255px; }
	.topReason ul li h4 { font-size: 24px; line-height: 30px; }
	.topReason ul li h4 span { font-size: 16px; }
	.topReason ul li h4 span b { font-size: 24px; }
	.topReason ul li p { font-size: 16px; line-height: 25px; margin: 10px 0 0; }


	.topMenu { padding: 80px 20px; box-sizing: border-box; }
	.topMenu h3 { }
	.topMenu h3 span { }
	.topMenu ul { }
	.topMenu ul li { }
	.topMenu ul li div { margin: 0 0 0 40px; }
	.topMenu ul li div h4 { }
	.topMenu ul li div h4 span { }
	.topMenu ul li div ul { }
	.topMenu ul li div li { }
	.topMenu ul li div li i { }
	.topMenu ul li div p { }
	.topMenu ul li div a { width: 360px; }
	.topMenu ul li div a i { }


	.topService { padding: 80px 0; }
	.topService h3 { }
	.topService h3 span { }
	.topService ul { justify-content: center; }
	.topService ul li { margin: 40px 10px 0; }
	.topService ul li h4 { }
	.topService ul li h4 span { }
	.topService ul li p { }

	.topCase { padding: 80px 0 0; }
	.topCase h3 { }
	.topCase h3 span { }
	.topCase ul { }
	.topCase ul li a { width: 400px; margin: 0 20px; }
	.topCase ul li a h4 { font-size: 20px; line-height: 30px; padding: 20px 20px 0; }
	.topCase ul li a p { font-size: 14px; line-height: 25px; padding: 10px 20px 20px; text-align: left; }
	.topCase .case-prev { }
	.topCase .case-next { }
	.topCase .case-prev:hover,
	.topCase .case-next:hover { }
	.topCase p { }
	.topCase p a { }
	.topCase p a i { }


	.topArea { padding: 120px 0 0; }
	.topArea h3 { font-size: 40px; line-height: 60px; }
	.topArea h3 span { font-size: 20px; line-height: 30px; }
	.topArea section { margin-right: 80px; padding: 40px 0 40px 40px; }
	.topArea section figure { width: 330px; top: -40px; right: -40px; }
	.topArea p { margin: 20px 0 0; font-size: 16px; line-height: 25px; }


	.topNews { padding: 80px 40px 0; box-sizing: border-box; }
	.topNews .inner { }
	.topNews h3 { }
	.topNews h3 span { }
	.topNews ul { width: 100%; }
	.topNews li { }
	.topNews li a { }
	.topNews li a time { }
	.topNews li a h4 { width: auto; }
	.topNews li a i { }
	.topNews p { }
	.topNews p a { }
	.topNews p a i { }

	.topCampany { padding: 120px 0 0; }
	.topCampany section { margin-left: 80px; padding: 40px 40px 40px 240px; }
	.topCampany section figure { top: -40px; left: -40px; width: 240px; }
	.topCampany h3 { margin: 0; }
	.topCampany h3 span { }
	.topCampany table { margin: 40px 0 0; }
	.topCampany th { }
	.topCampany td { }

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

}


@media only screen and (max-width: 520px) {
	.topVisual { width: 100%; background: #FFF; text-align: center; position: }
	.topVisual .inner { width: 100%; position: relative; }
	.topVisual li.top { height: 330px; position: relative; }
	.topVisual li.top { background-size: cover; }
	.topVisual h2 { top: 40px; left: auto; right: 40px; margin: 0; font-size: 30px; line-height: 45px; text-shadow: 1px 1px #FFF; }

	.topAbout { padding: 40px 20px; box-sizing: border-box; }
	.topAbout figure { text-align: center; }
	.topAbout h3 { width: 100%; margin: 0; font-size: 16px; line-height: 25px; padding: 20px 0; border-radius: 40px; }
	.topAbout h3 span { font-size: 32px; line-height: 40px; }
	.topAbout h3 span b { display: block; }
	.topAbout p { font-size: 16px; line-height: 25px; margin: 20px 0 0; text-align: left; }
	.topAbout p br { display: none; }
	.topAbout ul { margin: 20px -10px 0; }
	.topAbout ul li { margin: 0 5px; }
	.topAbout ul li figure { position: relative; }
	.topAbout ul li figure figcaption { font-size: 16px; line-height: 25px; }
	.topAbout h4 { font-size: 32px; line-height: 40px; margin:20px 0 0; } 
	.topAbout h4 span { display: block; }


	.topReason { width: 100%; margin: 0; padding: 40px 0 0; }
	.topReason h3 { font-size: 32px; line-height: 40px; }
	.topReason h3 span { font-size: 16px; line-height: 25px; }

	.topReason ul li:nth-child(odd) { margin-right: 40px; margin-top: 60px; padding: 20px 20px 40px; }
	.topReason ul li:nth-child(odd) figure { position: static; width: 100%; text-align: right; margin: -40px 0 20px 40px; }
	.topReason ul li:nth-child(even) { margin-left: 40px; margin-top: 60px; padding: 20px 20px 40px; }
	.topReason ul li:nth-child(even) figure { position: static; width: 100%; margin: -40px 0 20px -40px; }

	.topReason ul li figure img { width: 340px; }
	.topReason ul li h4 { font-size: 24px; line-height: 30px; }
	.topReason ul li h4 span { font-size: 16px; }
	.topReason ul li h4 span b { font-size: 24px; }
	.topReason ul li p { font-size: 16px; line-height: 25px; margin: 10px 0 0; }


	.topMenu { padding: 40px 20px; }
	.topMenu h3 { font-size: 32px; line-height: 40px; }
	.topMenu h3 span { font-size: 16px; line-height: 25px; }

	.topMenu ul { }
	.topMenu ul li { display: block; margin: 40px 0 0; }
	.topMenu ul li div { margin: 20px 0 0; }
	.topMenu ul li div h4 { font-size: 24px; line-height: 30px; }
	.topMenu ul li div h4 span { font-size: 12px; line-height: 15px; }
	.topMenu ul li div ul { }
	.topMenu ul li div li { font-size: 16px; line-height: 25px; margin-left: 1em; text-indent: -1em; }
	.topMenu ul li div li i { display: inline; }
	.topMenu ul li div p { font-size: 14px; line-height: 25px; margin: 20px 0 0; }
	.topMenu ul li div a { margin: 20px auto 0; width: 300px; display: block; }
	.topMenu ul li div a i { }

	.topService { padding: 40px 0; }
	.topService h3 { font-size: 32px; line-height: 40px; }
	.topService h3 span { font-size: 16px; line-height: 25px; }

	.topService ul { margin: 40px 10px 0; }
	.topService ul li { width: calc(50% - 20px); margin: 20px 10px 0; }
	.topService ul li h4 { text-align: left; margin: 10px 0 0; }
	.topService ul li h4 span { font-size: 11px; line-height: 15px; }
	.topService ul li p { font-size: 14px; line-height: 25px; margin: 10px 0 0; text-align: left; }

	.topCase { padding: 40px 0 0; }
	.topCase h3 { font-size: 32px; line-height: 40px; }
	.topCase h3 span { font-size: 16px; line-height: 25px; }

	.topCase ul { margin: 40px 0 0; padding: 0 0 80px; }
	.topCase ul li a { width: calc(100vw - 80px); margin: 0 10px; }
	.topCase ul li a h4 { }
	.topCase ul li a p { }
	.topCase .case-prev { }
	.topCase .case-next { }
	.topCase .case-prev:hover,
	.topCase .case-next:hover { }
	.topCase p { }
	.topCase p a { width: 300px; }
	.topCase p a i { }

	.topArea { padding: 40px 0 0; text-align: center; }
	.topArea h3 { font-size: 32px; line-height: 40px; }
	.topArea h3 span { font-size: 16px; line-height: 25px; }

	.topArea section { margin: 0; padding: 20px; }
	.topArea section figure { position: static; width: 100%; }
	.topArea p { margin: 20px 0; font-size: 16px; line-height: 25px; }


	.topNews { padding: 40px 0 0; }
	.topNews .inner { }
	.topNews h3 { font-size: 32px; line-height: 40px; }
	.topNews h3 span { font-size: 16px; line-height: 25px; }

	.topNews ul { margin: 40px auto; }
	.topNews li { padding: 20px; }
	.topNews li a { display: block; }
	.topNews li a time { padding: 0; }
	.topNews li a h4 { font-size: 16px; }
	.topNews li a i { display: none; }
	.topNews p { text-align: center; }
	.topNews p a { width: 300px; }
	.topNews p a i { }

	.topCampany { padding: 40px 0 0; }

	.topCampany section { margin-left: 40px; margin-top: 60px; padding: 20px 20px 40px; }
	.topCampany section figure { position: static; width: 100%; margin: -40px 0 20px -40px; }

	.topCampany h3 { font-size: 32px; line-height: 40px; }
	.topCampany h3 span { font-size: 16px; line-height: 25px; }

	.topCampany table { margin: 40px 0 0; font-size: 16px; border-collapse: collapse; }
	.topCampany th { text-align: left; line-height: 30px; border-top: solid 1px #FFF; padding: 5px 0; }
	.topCampany td { line-height: 30px; border-top: solid 1px #FFF; padding: 5px 0 5px 20px; }

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