@charset "utf-8";

/**********************************************/
/**/
/**********************************************/
/*ヒーローエリア*/
#service {
    background:url("../img/theme_service.jpg") no-repeat center center;
    background-size: cover;
}

.read {
    width: 100%;
    max-width: 1020px;
    margin: 40px auto;
}

.section~.section {
    margin-top: 60px;
}

/*事業内容*/
.services {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
}

.services .service {
    width: 50%;
    padding: 0 20px;
}
.services .item {
    border-radius: 10px;
    padding: 20px;
    background-color: #edf3ff;
}
.services .item:hover {
    transition: all .5s;
    box-shadow: 0 0 30px rgba(190, 190, 190, 0.25);
}

.services .service-ttl {
    margin: 20px 0 0 0;
    font-size: 1.8rem;
}
.services .service-ttl::before {
    bottom: -5px;
}
.services .service-ttl span {
    margin-top: 0px;
    font-size: 1.0rem;
}

.services .item img {
    width: 100%;
    max-width: 300px;
    display: block;
    margin: 10px auto 20px;
}
.services .summary {
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 140%;
}

.services .item a {
    text-decoration: none;
    color:#000;
}

.link {
    margin: 30px 0 20px;
}


/*画像拡大用*/
.imgWrap {
	overflow: hidden;
	
}
.imgWrap img {
	display: block;
	transition-duration: 0.3s;
}
.imgWrap img:hover {
	transform: scale(1.1);
	transition-duration: 0.5s;
	opacity: 0.8;
}

/*カバー*/
.cover {
    width: 100%;
    min-height: 400px;
    margin: 0 auto;

    border-radius: 5px;
    margin-bottom: 40px;
}

.vision {
    width: 100%;
    max-width: 700px;
    padding-left: 40px;
    padding-top: 50px;
}
.vision h1 {
    margin: 0 0 10px 0;
    font-size: 1.6rem;
}
.vision .service-ttl {
    width: 100%;
    font-size: 1.2rem;
    font-weight: bold;
}
.vision h2 {
    width: 100%;
    margin: 0;
}
.vision p {
    width: 100%;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 200%;
}

.service-menu {
    width: 100%;
    margin: 30px 0 0 0;
    padding: 0;
    list-style: none;
    
    display: flex;
    flex-wrap: wrap;
}
.service-menu li a {
    display: inline-block;
    border-radius: 50px;
    padding: 10px 50px 10px 35px;
    line-height: 100%;
    font-size: 1.1rem;
    text-align: center;
    color:#fff;
    text-decoration: none;
}

.service-menu li~li {
    margin-left: 20px;
}

.service-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.service-txt {
    width: calc(100% - 400px - 30px);
}

.service-img {
    width: 400px;
    margin-left: 30px;
}
.service-img img {
    display: block;
    width: 100%;
}
.mess {
    font-size: 1.6rem;
    font-family: serif;
    font-weight: bold;
}


/*************************/
/*システム開発*/
/*************************/
#system-development .cover {
    background:url("../img/backimg_sys.png") no-repeat center top;
    background-color: #edf3ff;
}
#system-development .vision {
    max-width: 700px;
}
#system-development .vision h2 {
    color: #1ca1aa;
}
#system-development .service-menu li a {
    background:url("../img/icon_arrow_down.png") no-repeat 93% center;
    background-size: 18px;    
    background-color: #1ca1aa;
    box-shadow: 0 0 3px rgba(165, 207, 183, 0.25), 0 0 20px rgba(165, 207, 183, 0.3);
}
#system-development .service-menu li a:hover {
    background-color: #000;
    box-shadow: none;
}

#system-development h3 {
    line-height: 100%;
    border-left: 5px #1ca1aa solid;
    padding: 5px 10px 5px 15px;
}

.tbl-overview {
    width: 100%;
    border-collapse: collapse;
}
.tbl-overview th {
    width:180px;
    padding: 20px 10px;
    border-bottom: 1px #000 solid;
    text-align: left;
}
.tbl-overview td {
    width:calc(100% - 180px);
    padding: 20px 10px;
    border-bottom: 1px #000 solid;
}

.tbl-overview td dl {
    margin:0 0 10px;
}
.tbl-overview td dl:last-child {
    margin:0 0 0;
}

.tbl-overview td dt {
    font-weight: bold;
    margin-bottom: 5px;
}
.tbl-overview td dd {
    margin: 0;
}
.tbl-overview td ul {
    margin:0 0 0 40px;
    padding: 0;
    line-height: 140%;
}

.performance {
    padding: 20px;
    background-color: #f4f4f4;
}


/*************************/
/*アウトソーシング*/
/*************************/
#outsourcing .cover {
    background:url("../img/backimg_out.png") no-repeat center top;
    background-color: #edf3ff;
}
#outsourcing .vision {
    max-width: 700px;
}
#outsourcing .vision h2 {
    color: #f57545;
}
#outsourcing .service-menu li a {
    background:url("../img/icon_arrow_down.png") no-repeat 93% center;
    background-size: 18px;    
    background-color: #f57545;
    box-shadow: 0 0 3px rgba(245, 117, 69, 0.25), 0 0 20px rgba(245, 117, 69, 0.3);
}
#outsourcing .service-menu li a:hover {
    background-color: #000;
    box-shadow: none;
}

#outsourcing h3 {
    line-height: 100%;
    border-left: 5px #f57545 solid;
    padding: 5px 10px 5px 15px;
}

/*境界*/
#jmp02 {
    border-top: 1px #ddd solid;
    padding-top: 40px;
    margin-top: 80px;
}
/*業務委託リスト*/
.list-service {
    columns: 2;
}



/*見出しアイコン*/
.icon_movie {
    background:url("../img/icon_video.png") no-repeat left center;
    background-size: 30px;
    padding: 1px 0 1px 40px;    
}
.icon_out {
    background:url("../img/icon_handshake.png") no-repeat left center;
    background-size: 34px;
    padding: 1px 0 1px 40px;    
}


/*動画実績*/
.work-box {
    /* background-color: rgb(202, 202, 202); */
    background-color: #000;
    color: #fff;
    padding: 30px 20px 10px;
}

.movie {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.movie .movie-item {
    width: calc((100% / 3) - 40px);
    margin: 0 20px 50px 20px;
}
.movie .movie-item .movie-img {
    margin-bottom: 20px;
    cursor: pointer;
}
.movie .movie-item .movie-img img {
    display: block;
    width: 100%;
}
.movie .movie-item .tag {
    margin-bottom: 15px;
}
.movie .movie-item .tag span {
    display: inline-block;
    padding:4px 10px;
    border-radius: 3px;
    color:#eee;
    border-radius: 50px;
    border: 1px #eee solid;
    font-size: 0.7rem;
    line-height: 100%;
}
.movie .movie-item .tag span~span {
    margin-left: 5px;
}
.movie .movie-item .customer {
    margin-bottom: 15px;
    font-size: 1.0rem;
    font-weight: bold;
    font-family: 游ゴシック体, 'Yu Gothic', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'ＭＳ Ｐゴシック', 'メイリオ', sans-serif;
}
.movie .movie-item .summary {
    margin: 0;
    font-size: 0.9rem;
    line-height: 140%;
}
.movie a {
    cursor: pointer;
}


/*ポップアップ*/
.remodal video {
    width: 100%;
}
.remodal h1 {
    font-size: 1.6rem;
}
.remodal .remodal-cancel {
    margin-top: 30px;
}
#stop-close {
    display: none;
}

#stop {
    margin-top: 20px;
    line-height: 100%;
    border-width: 0;
    padding: 10px 20px;
    background: #ef5350;
    color: #fff;
    cursor: pointer;
}

/*
.youtube-box {
    width:100%;
    max-width:560px;
    height:315px;
 }
 .youtube-box iframe {
    width: 100%;
    height: 100%;
 }
*/
 
 .youtube {
   width: 100%;
   aspect-ratio: 16 / 9;
 }
 .youtube iframe {
   width: 100%;
   height: 100%;
 }



/****************************/
/*レスポンシブ*/
/****************************/
@media screen and (max-width: 1280px) {
}
@media screen and (max-width: 1024px) {
    .read h2 br {
        display: none;
    }
}
@media screen and (max-width: 980px) {
    .services .service {
        padding: 0 10px;
    }
    .services .service-ttl {
        margin: 10px 0 0 0;
        font-size: 1.6rem;
    }
    .services .service-ttl span {
        font-size: 0.9rem;
    }
    .services .summary {
        font-size: 1.0rem;
    }

    .service-txt {
        width: calc(100% - 300px - 30px);
    }    
    .service-img {
        width: 300px;
        margin-left: 30px;
    }

    .movie .movie-item {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 0 20px;
        border-bottom: 1px #ddd dotted;
        padding-bottom: 10px;
    }
    
    .movie .movie-item .movie-img {
        width: 40%;
        margin-right: 20px;
        margin-bottom: 20px;
    }
    .movie .movie-item .movie-txt {
        width: calc(100% - 40% - 20px);
        margin-bottom: 0;
    }
    .movie .movie-item .tag {
        margin-top: 5px;
        margin-bottom: 15px;
    }

    .remodal {
        padding: 20px !important;
    }
    .remodal h1 {
        font-size: 1.1rem;
    }
}

@media screen and (max-width: 780px) {
    .services .service {
        width: 100%;
        padding: 0;
        margin-bottom: 20px;
    }
    .services .service-ttl {
        font-size: 1.8rem;
    }
    .services .service-ttl span {
        font-size: 1.1rem;
    }
    .services .summary {
        font-size: 1.2rem;
    }
    .service-link {
        margin: 30px 0 20px;
        text-align: center;
    }

    .list-service {
        columns: 1;
    }


    .movie .movie-item .tag span {
        padding: 3px 10px;
    }
    .movie .movie-item .customer {
        margin-bottom: 15px;
        font-size: 1.0rem;
        margin-bottom: 10px;
    }
    .movie .movie-item .summary {
        font-size: 0.9rem;
    }
}

@media screen and (max-width: 580px) {
    .services .service-ttl {
        margin: 10px 0 0 0;
        font-size: 1.6rem;
    }
    .services .service-ttl span {
        font-size: 0.9rem;
    }
    .services .summary {
        font-size: 1.0rem;
    }

    .service-txt {
        width: 100%;
        order: 2;
    }    
    .service-img {
        width: 100%;
        margin-left: 0;
        order: 1;
    }
    .service-img img {
        max-width: 580px;
    }

    .work-box {
        padding: 30px 10px 10px;
    }
    .movie .movie-item {
        margin: 0 0 30px;
        padding-bottom: 20px;
    }
    .movie .movie-item .movie-img {
        width: 100%;
        margin-right: 0;
    }
    .movie .movie-item .movie-txt {
        width: 100%;
        margin-bottom: 0;
    }

    .remodal {
        padding: 20px !important;
    }
    .remodal h1 {
        font-size: 1.0rem;
    }
}

@media screen and (max-width: 380px) {

}

