main section#topMainSct { background: url("../img/top_main.jpg") no-repeat center top; background-size: cover; padding-left: 3.5%; }
@media screen and (max-width: 800px) { main section#topMainSct { background: url("../img/top_main.jpg") no-repeat 70% top; background-size: cover; padding-left: 6%; } }
@media screen and (max-width: 428px) { main section#topMainSct { padding-left: 8%; } }
main section#topMainSct .copy { position: absolute; margin: auto; top: 50%; transform: translateY(-60%); background: url(../img/x.svg) no-repeat 46.5% 47.2%; background-size: 6.5vw; }
main section#topMainSct .copy .t1 { color: #fff; font-size: 8vw; letter-spacing: 0; line-height: 1.7; }
main section#topMainSct .copy .t2 { color: #005AAA; font-size: 1.6vw; letter-spacing: .22em; line-height: 2; padding-left: .8vw; }
main section#topMainSct .copy .t3 { color: #fff; font-size: 1.15vw; letter-spacing: 0; line-height: 1.5; padding-left: 1vw; }
main section#topMainSct .newsB { position: absolute; left: 0; bottom: 0; display: flex; align-items: center; background: #fff; width: auto; min-width: 50%; height: 90px; }
main section#topMainSct .newsB .ttl { color: #fff; font-size: 90%; background: #005AAA; width: 95px; height: 90px; line-height: 90px; text-align: center; }
@media screen and (max-width: 428px) { main section#topMainSct .newsB .ttl { font-size: 70%; } }
main section#topMainSct .newsB .post { position: relative; flex-grow: 2; padding-left: 2em; font-size: 80%; line-height: 1.6; }
@media screen and (max-width: 428px) { main section#topMainSct .newsB .post { padding-left: 1em; } }
main section#topMainSct .newsB .post a { position: relative; display: block; color: #141414; padding-right: 5em; }
@media screen and (max-width: 428px) { main section#topMainSct .newsB .post a { padding-right: 4em; } }
main section#topMainSct .newsB .post a::before { content: ""; position: absolute; top: 50%; transform: translateY(0.5em); right: 1.5em; width: 2.4em; height: 1px; background: #005AAA; }
@media screen and (max-width: 428px) { main section#topMainSct .newsB .post a::before { right: 1em; width: 2.2em; } }
main section#topMainSct .newsB .post a::after { position: absolute; top: 50%; transform: translateY(-60%); right: 2em; content: "More"; font-family: 'Montserrat'; color: #005AAA; font-size: 80%; font-weight: 500; letter-spacing: .05em; }
@media screen and (max-width: 428px) { main section#topMainSct .newsB .post a::after { right: 1.2em; } }
main section#topMainSct .newsB .post a span { display: block; }
main section#topMainSct .newsB .post a span.date { color: #999999; }
main section#topMainSct .newsB .post a span.txt { font-size: 90%; }
main section#topAbtSct { background: #005AAA; color: #fff; }
main section#topAbtSct .pal { width: 155px; margin-bottom: 7vw; }
@media screen and (max-width: 428px) { main section#topAbtSct .pal { width: 100px; margin-bottom: 12vw; } }
main section#topAbtSct .copy { font-size: 245%; }
@media screen and (max-width: 428px) { main section#topAbtSct .copy { font-size: 6vw; white-space: nowrap; } }
main section#topWrkSct { background: #ccc url("../img/top_works_bg.jpg") no-repeat center top; background-size: cover; color: #fff; }
@media screen and (max-width: 428px) { main section#topWrkSct h2, main section#topWrkSct p { text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); } }
main section#topPjtSct { background: #005AAA url("../img/top_project_bg.jpg") no-repeat center top; background-size: cover; color: #fff; }
main section#topCmpSct { background: #ccc url("../img/top_company_bg.jpg") no-repeat center center; background-size: cover; color: #fff; }
@media screen and (max-width: 428px) { main section#topCmpSct .copy { font-size: 5vw; } }
main section#topCmpSct .box { position: relative; display: flex; }
@media screen and (max-width: 428px) { main section#topCmpSct .box { display: block; } }
main section#topCmpSct .box p { font-size: 80%; line-height: 1.6; margin-bottom: 1.8vw; }
@media screen and (max-width: 800px) { main section#topCmpSct .box p { margin-bottom: 3vw; } }
@media screen and (max-width: 428px) { main section#topCmpSct .box p { white-space: nowrap; font-size: 60%; margin-bottom: 2vw; } }
main section#topCmpSct .box .btn4 { margin: 2.2em 0 0 1em; width: auto; padding: 11px 15px 11px 15px; }
@media screen and (max-width: 428px) { main section#topCmpSct .box .btn4 { margin: 0 0 4vw; } }
main section#topTpcSct { background: linear-gradient(180deg, #005AAA 0%, #005AAA 50%, #ccc 50%, #ccc 100%); color: #fff; }
main section#topTpcSct h2 { margin-bottom: 1vw; }
@media screen and (max-width: 428px) { main section#topTpcSct h2 { margin-bottom: 4vw; } }
main section#topTpcSct .txt { margin-bottom: 0; }
@media screen and (max-width: 428px) { main section#topTpcSct .txt { white-space: nowrap; margin-bottom: 6vw; } }
main section#topTpcSct .cnts { position: relative; display: flex; justify-content: space-between; height: 36vw; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts { display: block; height: auto; } }
main section#topTpcSct .cnts li { position: relative; width: 28%; height: 30vw; text-align: center; background: #666; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li { width: 80%; height: 26vw; margin-bottom: 4vw; } }
main section#topTpcSct .cnts li.news { align-self: flex-end; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li.news { margin-left: 20%; } }
main section#topTpcSct .cnts li.recruit { align-self: center; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li.recruit { margin-left: 10%; } }
main section#topTpcSct .cnts li.contact { align-self: flex-start; }
main section#topTpcSct .cnts li a { position: relative; display: block; height: 100%; color: #fff; padding-top: 9.5vw; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li a { padding-top: 3.5vw; } }
main section#topTpcSct .cnts li a h3 { font-size: 2.9vw; margin-bottom: .5vw; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li a h3 { font-size: 5.8vw; margin-bottom: 1vw; } }
main section#topTpcSct .cnts li a img { display: block; height: auto; margin: 0 auto 1.5vw; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li a img { margin: 0 auto 3vw; } }
main section#topTpcSct .cnts li a .jp { font-size: 1.2vw; margin-bottom: 5.5vw; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li a .jp { font-size: 2.4vw; margin-bottom: 0vw; } }
main section#topTpcSct .cnts li a .mr { display: inline-block; font-size: 70%; letter-spacing: .5px; border-bottom: 1px solid #fff; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li a .mr { display: none; } }
main section#topTpcSct .cnts li.news a { background: url("../img/top_topics_news_bg.jpg") no-repeat center center; background-size: cover; }
main section#topTpcSct .cnts li.news a img { width: 3vw; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li.news a img { width: 6vw; } }
main section#topTpcSct .cnts li.recruit a { background: url("../img/top_topics_recruit_bg.jpg") no-repeat center center; background-size: cover; }
main section#topTpcSct .cnts li.recruit a img { width: 1.4vw; margin-bottom: 1vw; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li.recruit a img { width: 2.8vw; margin-bottom: 2vw; } }
main section#topTpcSct .cnts li.contact a { background: url("../img/top_topics_contact_bg.jpg") no-repeat center center; background-size: cover; }
main section#topTpcSct .cnts li.contact a img { width: 3vw; }
@media screen and (max-width: 428px) { main section#topTpcSct .cnts li.contact a img { width: 6vw; } }
main section#topTpcSct #footer { margin-top: 2em !important; }
@media screen and (max-width: 428px) { main section#topTpcSct #footer { margin-top: 1.5em !important; } }
