/************************************************************
 stage
*************************************************************/
#stage{
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    position: relative;
}
#stage .scroll{
    position: absolute;
    content: "";
    left: 8%;
    bottom: 0;
    width: 1px;
    height: 100px;
    background: rgba(255, 255, 255, .4);
    z-index: 888;
}
#stage .scroll:after{
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 1px;
    height: 15px;
    background: #fff;
    animation: sc-line 1s;
    animation-timing-function:ease-out;
    animation-iteration-count: infinite;
}
@keyframes sc-line{
  100% {
      transform:translateY(85px);
  }
}
#stage .scroll span{
        position: absolute;
    content: "";
    top: 0;
    left:-15px;
}
/************************************************************
 top-service
*************************************************************/
#top-service{
    width: 90%;
    max-width: 1240px;
    margin: 80px auto 60px auto;
}
#top-service .lead{
    margin: 55px 0 35px 0;
    font-weight: 600;
}
#top-service ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#top-service ul p{
    font-size: 14px;
}
#top-service ul > li{
    margin-bottom: 60px;
}
#top-service ul > li:nth-of-type(1),
#top-service ul > li:nth-of-type(2),
#top-service ul > li:nth-of-type(3){
    width: 31%;
}
#top-service ul > li:nth-of-type(1) .showcase,
#top-service ul > li:nth-of-type(2) .showcase,
#top-service ul > li:nth-of-type(3) .showcase{
    padding-top: 56%;
    position: relative;
}
#top-service ul > li:nth-of-type(1) .showcase:after,
#top-service ul > li:nth-of-type(2) .showcase:after,
#top-service ul > li:nth-of-type(3) .showcase:after{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(40,44,48,0.25);
    transition: all .3s;
}
#top-service ul  li a:hover .showcase:after {
    background-color: rgba(0,74,121,0.5);
}
#top-service ul > li:nth-of-type(1) .showcase h3,
#top-service ul > li:nth-of-type(2) .showcase h3,
#top-service ul > li:nth-of-type(3) .showcase h3{
    position: absolute;
    color: #fff;
    content: "";
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;
    z-index: 99;
    width: 90%;
    text-align: center;
    font-size: 22px;
}
#top-service ul > li:nth-of-type(1) .showcase{
    background: url(../images/top/service-1.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
}
#top-service ul > li:nth-of-type(2) .showcase{
    background: url(../images/top/service-2.jpg) no-repeat;
    background-size: cover;
    background-position: center bottom;
}
#top-service ul > li:nth-of-type(3) .showcase{
    background: url(../images/top/service-3.jpg) no-repeat;
    background-size: cover;
    background-position: center top;
}
/************************************************************
 top-concept
*************************************************************/
#top-concept .cover{
    background: url(../images/top/concept.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    padding-top: 35%;
}
#top-concept .cover:after{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0,74,121,0.45);
}
#top-concept .cover h2{
    position: absolute;
    content: "";
    width: 85%;
    max-width: 1240px;
    left: 0;
    right: 0;
    top: 20%;
    margin: auto;
    color: #fff;
    z-index: 5;
}
#top-concept .concept-txt{
    position: relative;
    max-width: 900px;
    width:  calc(90% - 60px);
    margin:-15% auto 0 auto;
    text-align: center;
    background: #fff;
    z-index: 5;
    padding: 30px 30px 10px 30px;
}
#top-concept .concept-txt .inner{
    max-width: 640px;
    padding: 40px 0;
    margin: 0 auto;
}
#top-concept .concept-txt .inner img{
    width: 100%;
    height: auto;
    max-width: 420px;
}
#top-concept .concept-txt .inner h3{
    font-size: 24px;
    font-weight: normal;
    position: relative;
    max-width: 320px;
    margin: 1em auto 0 auto;
}
#top-concept .concept-txt .inner h3:before {
	border-left: solid 1px #282c30;
	border-top: solid 1px #282c30;
	border-bottom: solid 1px #282c30;
	top: 0;
	left: 0;
}
#top-concept .concept-txt .inner h3:after {
	border-right: solid 1px #282c30;
	border-top: solid 1px #282c30;
	border-bottom: solid 1px #282c30;
	top: 0;
	right: 0;
}
#top-concept .concept-txt .inner p {
	line-height: 280%;
    padding-top: 1em;
}
#top-concept table{
    text-align: left;
    border-top: 1px solid #ddd;
    margin-bottom: 30px;
}
#top-concept table th{
    vertical-align: top;
    border-bottom: 1px solid #ddd;
    padding: 1em 0 ;
}
#top-concept table td{
    vertical-align: top;
    border-bottom: 1px solid #ddd;
    padding: 1em;
}
@media screen and (max-width: 992px) {
}
@media screen and (max-width: 920px) {
}
@media screen and (max-width: 768px) {
/************************************************************
 top-service
*************************************************************/
#top-service ul > li:nth-of-type(1),
#top-service ul > li:nth-of-type(2),
#top-service ul > li:nth-of-type(3){
    width: 100%;
}
/************************************************************
 top-concept
*************************************************************/
#top-concept .concept-txt .inner p{
    text-align: left;
}
}
@media screen and (max-width: 740px) {
}
@media screen and (max-width: 640px) {
/************************************************************
 top-concept
*************************************************************/
#top-concept .cover{
    padding-top: 50%;
}
#top-concept .concept-txt{
    width:  calc(80% - 60px);
}
#top-concept table th{
    width: 100%;
    display: block;
    border-bottom: none;
}
#top-concept table td{
    width: 100%;
    display: block;
    padding: 0 0 1em 0;
}
}
@media screen and (max-width: 460px) {
/************************************************************
 top-concept
*************************************************************/
#top-concept .concept-txt .inner p {
	line-height: 200%;
}
}
@media screen and (max-width: 400px) {
/************************************************************
 top-concept
*************************************************************/
#top-concept .cover{
    padding-top: 65%;
}
}
@media screen and (max-width: 350px) {
}