@charset "UTF-8";
.service_index .ttl_btm {
  font-weight: 400;
  font-size: 1.4rem;
  margin-bottom: 10rem;
}
.service_index .contents {
  background: url("../../images/service/service_c-1.png")no-repeat right top/80%, url("../../images/service/service_c-2.png")no-repeat left top 30%/60%, url("../../images/service/service_c-3.png")no-repeat left center/60%, url("../../images/service/service_c-4.png")no-repeat right bottom 15%/80%, url("../../images/service/service_c-5.png")no-repeat left bottom/60%;
}
.service_index .service_box {
  padding: 0 0 5rem;
  position: relative;
  z-index: 0;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10rem;
}
.service_index .service_box:last-child {
  margin-bottom: 0;
}
.service_index .service_box .cvsbtn a {
  background-image: linear-gradient(to right, #FF0000 0%, #FF0000 50%, #fff 50%, #fff 100%);
  color: #000;
}
.service_index .service_box .txt {
  color: #fff;
}
.service_index .service_box::after {
  width: 100%;
  height: 100%;
  content: "";
  left: 0;
  top: 0;
  border-radius: 10px;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.18);
}
.service_index .service_box.box01::after {
  background: url("../../images/index/service_bg.jpg")no-repeat center center/cover;
}
.service_index .service_box.box01-2::after {
  background: url("../../images/index/service_bg4.jpg")no-repeat center center/cover;
}
.service_index .service_box.box02::after {
  background: url("../../images/index/service_bg2.jpg")no-repeat center center/cover;
}
.service_index .service_box.box03::after {
  background: url("../../images/index/service_bg3.jpg")no-repeat center center/cover;
}
.service_index .service_box.box02 .service_box-left::before, .service_index .service_box.box02 .service_box-left::after {
  position: absolute;
  content: "";
  width: 10rem;
  height: 7rem;
}
.service_index .service_box.box02 .service_box-left::before {
  background: url("../../images/index/genchi_img_d1.png")no-repeat center center/contain;
  right: -18px;
  top: -90%;
}
.service_index .service_box.box02 .service_box-left::after {
  background: url("../../images/index/genchi_img_d2.png")no-repeat center center/contain;
}
.service_index .service_box.box01 .tr_logo {
  max-width: 32rem;
  margin: 0 auto 2rem;
}
.service_index .service_box.box01-2 .tr_logo {
  max-width: 28rem;
  margin: 0 auto 2rem;
}
.service_index .service_box .txt {
  max-width: 52rem;
  margin-bottom: 4rem;
  width: 100%;
}
.service_index .service_box .service_box-ttl {
  margin-bottom: 2rem;
  font-size: 2.8rem;
  line-height: 1.1;
  color: #fff;
}
.service_index .service_box .service_box-left {
  max-width: 53rem;
  width: 100%;
  position: relative;
}
.service_index .service-box {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 14rem;
}
.service_index .service-box:last-child {
  margin-bottom: 4rem;
}
.service_index .service-box .box-left {
  max-width: 55rem;
}
.service_index .service-box .service_box-ttl {
  font-size: 2.8rem;
}
.service_index .service-box .txt {
  margin-bottom: 4rem;
}
.service_index .service-box .cvsbtn {
  max-width: 32rem;
}
.service_index .service-box.box01 .box-left .tr_logo {
  max-width: 32rem;
  margin-bottom: 2.4rem;
  line-height: 1;
}
.service_index .service-box.box04 .box-left .tr_logo {
  max-width: 29rem;
  margin: 0 auto 2.4rem;
  line-height: 1;
}
@media only screen and (min-width: 769px) {
  .service_index .service_box .cvsbtn a:hover {
    color: #fff;
  }
  .service_index .contents {
    background: url("../../images/service/service_c-1.png")no-repeat right top/60%, url("../../images/service/service_c-2.png")no-repeat left top 30%/20%, url("../../images/service/service_c-3.png")no-repeat left center/50%, url("../../images/service/service_c-4.png")no-repeat right bottom 15%/50%, url("../../images/service/service_c-5.png")no-repeat left bottom/20%;
  }
  .service_index .service_box {
    padding: 10rem 6rem;
    margin-bottom: 14rem;
  }
  .service_index .service_box .service_box-left {
    width: 48%
  }
  .service_index .service_box .service_box-right {
    width: 46%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .service_index .service_box .service_box-ttl {
    margin-bottom: 2.5rem;
    font-size: 3.2rem;
  }
  .service_index .service_box.box01 .service_box-right, .service_index .service_box.box02 .service_box-right {
    right: -2rem;
  }
  .service_index .service_box.box01 .tr_logo {
    max-width: 38.5rem;
    margin-left: 0;
  }
  .service_index .service_box.box01-2, .service_index .service_box.box03 {
    justify-content: flex-end;
  }
  .service_index .service_box.box01-2 .tr_logo {
    max-width: 32rem;
    margin: 0 0 2rem;
  }
  .service_index .service_box.box02 .service_box-left::before, .service_index .service_box.box02 .service_box-left::after {
    width: 23rem;
    height: 14rem;
    right: -5rem;
  }
  .service_index .service_box.box02 .service_box-left::before {
    top: -15rem;
    right: -8rem;
  }
  .service_index .service_box.box02 .service_box-left::after {
    bottom: -14rem;
  }
  .service_index .service_box.box01-2 .service_box-right, .service_index .service_box.box03 .service_box-right {
    left: -2rem;
    width: 43%
  }
  .service_index .service-box {
    justify-content: space-between;
    align-items: center;
  }
  .service_index .service-box:last-child {
    margin-bottom: 2rem;
  }
  .service_index .service-box .service_box-ttl {
    font-size: 4rem;
    margin-bottom: 2.5rem;
  }
  .service_index .ttl_btm {
    font-size: 1.6rem;
  }
  .service_index .service-box .box-left {
    width: 50%;
  }
  .service_index .service-box .box-right {
    width: 45%;
  }
  .service_index .service-box.box01 .box-left .tr_logo, .service_index .service-box.box04 .box-left .tr_logo {
    max-width: 38rem;
  }
  .service_index .service-box.box04 .box-left .tr_logo {
    margin: 0 0 2.4rem;
  }
}
@media only screen and (min-width: 1367px) {
  .service_index .contents {
    background: url("../../images/service/service_c-1.png")no-repeat right top/20%, url("../../images/service/service_c-2.png")no-repeat left top 30%/20%, url("../../images/service/service_c-3.png")no-repeat left center/30%, url("../../images/service/service_c-4.png")no-repeat right bottom 15%/30%, url("../../images/service/service_c-5.png")no-repeat left bottom/20%;
  }
  .service_index .service_box {
    padding: 10rem 8rem;
  }
  .service_index .service_box .service_box-ttl {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .service_index .service-box {
    justify-content: center;
  }
  .service_index .box-right {
    max-width: 45rem;
    margin: 0 auto 3rem;
  }
  .service_index .service-box.box01 .box-left .tr_logo {
    margin: 0 auto 2.4rem;
  }
  .service_index .service-box .cvsbtn {
    margin: auto
  }
  .service_index .service_box {
    justify-content: center;
  }
  .service_index .service_box .service_box-ttl {
    text-align: center;
  }
  .service_index .service_box .cvsbtn {
    margin: auto;
  }
  .service_index .service_box .service_box-right {
    width: 90%;
    margin: -1.5rem auto 3rem;
    max-width: 40rem;
  }
  .service_index .service_box.box01 .service_box-right {
    margin: -2rem auto 3rem;
  }
  .service_index .service_box .service_box-left {
    padding: 0 2rem;
  }
  .service_index .service_box.box02 .service_box-left::after {
    left: 0;
    top: -35%;
  }
}
@media only screen and (max-width: 600px) {
  .service_index .service_box.box01 .service_box-right {
    margin: -2rem -2.5% 3rem;
    width: 105%;
  }
}
/*service_trancity*/
.service_trancity .trancity_inr {
  background: url("../../images/service/tr_bg_1.png")repeat-y top center/100%, url("../../images/service/tr_bg_2.png")no-repeat bottom center/contain, #000;
  color: #fff;
  position: relative;
  z-index: 10;
  padding: 3rem 3rem 16rem
}
.fix_bg {
  padding-top: 50rem;
  position: relative;
}
.service_trancity .contents::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 5rem;
  left: 0;
  top: -5rem;
  background: linear-gradient(transparent, #000)
}
.service_trancity .common_mv {
  background: url("../../images/service/p_trancity_bg.jpg")no-repeat center center/cover;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
}
.service_trancity .common_mv, .video .common_mv {
  min-height: 50rem;
  height: 70vh;
}
.service_trancity .cont_ttl {
  max-width: 66rem;
  width: 100%;
  margin: auto;
  line-height: 1;
}
.service_trancity .concept {
  text-align: center;
}
.trancity_inr .concept {
  margin-bottom: 12rem;
}
.service_trancity .concept .ttl {
  font-size: 2.8rem;
  font-weight: 600;
  margin-bottom: 2rem;
}
.service_trancity .movie {
  max-width: 100rem;
  margin: 0 auto 12rem;
}
.juxtapose_ttl {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 4rem;
}
.juxtapose_ttl .ttl {
  font-weight: 600;
}
.juxtapose_ttl .ttl, .juxtapose_ttl .txt {
  width: 100%;
}
.feature_list {
  max-width: 114rem;
  margin: 0 auto 12rem;
}
.feature_list-inr {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 8rem;
}
.trancity_inr .feature_list-inr .feature_txt {
  color: #54EFE3;
}
.trancity_inr .voice .movie_video {
  height: 240px;
}
.trancity_inr .movie_video video {
  width: 100%;
}
.feature_list-inr .feature_txt {
  font-size: 2.2rem;
  font-weight: 600;
}
.feature_list-inr .feature_img {
  width: 100%;
  max-width: 40rem;
}
.pdf, .voice, .comment {
  margin: 0 auto 12rem;
}
.pdf .juxtapose_ttl {
  max-width: 74rem;
  margin: 0 auto 4rem;
}
.pdf .pdf_wrap {
  margin: 0 auto 4rem;
  max-width: 114rem;
}
.pdf .cvsbtn {
  margin: auto;
}
.voice {
  max-width: 80rem;
}
.comment {
  max-width: 98rem;
  background: #262626;
  border: 1px solid #FFFFFF;
  border-radius: 10px;
  padding: 4rem 2rem;
}
.comment .ttl {
  font-size: 2.4rem;
  margin-bottom: 1.5rem;
}
.comment .txt {
  margin-bottom: 1.5rem;
}
.comment .name {
  max-width: 200px;
  margin-left: auto;
}
.que_contact .icon_ttl {
  padding-top: 5.5rem;
  text-align: center;
  font-weight: 600;
  margin-bottom: 4rem;
  font-size: 1.6rem;
  position: relative;
  line-height: 1.6;
}
.que_contact .icon_ttl small {
  display: block;
  margin-bottom: 1rem;
}
.que_contact .icon_ttl a {
  border-bottom: 1px solid #FF0000;
  color: #FF0000;
}
.que_contact .icon_ttl::after {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 3.2rem;
  height: 3.2rem;
  background: url("../../images/common/main_ttl.svg")no-repeat center center/contain;
}
.que_contact .mail_btn {
  max-width: 63rem;
  margin: 0 auto 10rem;
}
.que_contact .mail_btn a {
  background-image: linear-gradient(to right, #000 0%, #000 50%, #FF0000 50%, #FF0000 100%);
  font-size: 2.2rem;
  text-align: left;
  padding: 4rem 2rem;
  position: relative;
  border: 1px solid #FF0000;
}
.que_contact .mail_btn a::before {
  position: absolute;
  content: "";
  width: 15rem;
  height: 9rem;
  left: 0;
  bottom: 0;
  background: url("../../images/service/mail_btn.png")no-repeat left center/contain;
}
.que_contact .mail_btn a::after {
  font-size: 1.2rem;
}
.que_contact .link_wrap {
  display: flex;
  flex-wrap: wrap;
  max-width: 78rem;
  margin: auto;
  width: 90%;
}
.que_contact .link_wrap li {
  width: 100%;
}
.que_contact .link_wrap li .cvsbtn, .pdf .cvsbtn {
  max-width: 37rem;
}
.trancity_inr .que_contact .link_wrap li .cvsbtn a, .pdf .cvsbtn a {
  background-image: linear-gradient(to right, #000 0%, #000 50%, #fff 50%, #fff 100%);
  border: 1px solid #fff;
  color: #000;
}
.common_mv .cont_ttl .jp {
  font-size: 4rem;
}
@media only screen and (min-width: 769px) {
  .common_mv .cont_ttl .jp {
    font-size: 6rem;
  }
  .fix_bg {
    padding-top: 62vh;
  }
  .service_trancity .common_mv {
    height: 65vh;
  }
  .service_trancity .concept .ttl {
    font-size: 4.2rem;
    margin-bottom: 3rem;
  }
  .pdf .pdf_wrap embed {
    width: 100%;
    height: 100vh;
  }
  .juxtapose_ttl, .feature_list-inr, .que_contact .link_wrap {
    justify-content: space-between;
  }
  .juxtapose_ttl {
    align-items: center;
  }
  .juxtapose_ttl .ttl {
    width: 16rem;
    font-size: 2.4rem;
    line-height: 1.2;
  }
  .juxtapose_ttl .ttl.en {
    font-size: 4.2rem;
  }
  .juxtapose_ttl .txt {
    width: calc(100% - 20rem);
  }
  .feature_list-inr {
    align-items: center;
    margin-bottom: 12rem;
  }
  .feature_list-inr .feature_img {
    width: 50%;
    max-width: 60rem;
  }
  .feature_list-inr .feature_txt {
    font-size: 2.8rem;
    width: 45%;
  }
  .que_contact .mail_btn a {
    font-size: 3.6rem;
    padding: 5.4rem 13rem;
    text-align: center;
  }
  .que_contact .mail_btn a::after {
    font-size: 2rem;
  }
  .que_contact .link_wrap li {
    width: 48%;
  }
  .que_contact .link_wrap li .cvsbtn a:hover {
    color: #fff;
  }
  .que_contact .icon_ttl {
    padding-top: 5.5rem;
    margin-bottom: 4rem;
    font-size: 2rem;
  }
  .que_contact .mail_btn a::before {
    width: 15rem;
    height: 14rem;
  }
  .comment {
    padding: 5.5rem 6rem;
  }
  .trancity_inr .voice .movie_video {
    height: 400px;
  }
}
@media only screen and (min-width: 769px) {
  .pdf .cvsbtn a:hover {
    color: #fff;
  }
}
@media only screen and (min-width: 1000px) {
  .fix_bg {
    padding-top: 98vh;
  }
  .service_trancity .common_mv {
    height: 100vh;
  }
  .trancity_inr .voice .movie_video {
    height: 540px;
  }
}
@media only screen and (min-width: 1367px) {
  /*
  .fix_bg {
    padding-top: 90vh;
  }
  .service_trancity .common_mv {
    height: 95vh;
  }
*/
  .common_mv .cont_ttl .jp {
    font-size: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .juxtapose_ttl .ttl {
    margin-bottom: 1rem;
  }
  .feature_list-inr .feature_img {
    margin-bottom: 2rem;
  }
  .que_contact .link_wrap li {
    margin-bottom: 2rem;
  }
  .que_contact .link_wrap li .cvsbtn {
    margin: auto;
  }
}
/*video*/
.video .bg_blk {
  padding: 3rem 3rem 10rem;
  background-color: #000;
  color: #fff;
  position: relative;
}
.video .bg_blk::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 5rem;
  left: 0;
  top: -5rem;
  background: linear-gradient(transparent, #000)
}
.video .bg_wht {
  padding: 8rem 3rem 16rem;
  background: url("../../images/service/video_bg_1.png")no-repeat left top/60%, url("../../images/service/video_bg_2.png")no-repeat right top 12%/80%, url("../../images/service/video_bg_3.png")no-repeat left top 25%/80%, url("../../images/service/video_bg_4.png")no-repeat right top 43%/80%, url("../../images/service/video_bg_5.png")no-repeat left bottom 25%/80%, url("../../images/service/video_bg_6.png")no-repeat right bottom 5%/80%, #fff;
  color: #000;
}
.video .common_mv {
  background: url("../../images/service/p_video_bg.jpg")no-repeat center center/cover;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  position: fixed;
  width: 100%;
}
.video .common_mv .cont_inr, .video.service_trancity .cont_ttl {
  margin: 0;
  width: 100%;
}
.video.service_trancity .cont_ttl {
  max-width: inherit;
}
.video .common_mv .cont_inr .cont_ttl, .video .common_mv .cont_inr .cont_ttl .en, .develop .common_mv .cont_inr .cont_ttl, .develop .common_mv .cont_inr .cont_ttl .en {
  color: #fff;
}
.video .bg_wht .feature_list-inr .ttl {
  font-size: 2rem;
  margin-bottom: 2rem;
  line-height: 1.6;
}
.video .bg_wht .feature_list-inr li {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  font-weight: 400;
  line-height: 1.6;
  padding-left: 3.2rem;
  position: relative;
}
.video .bg_wht .feature_list-inr li::after {
  position: absolute;
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  left: 0;
  top: 0.2rem;
  background: url("../../images/service/check_icon.png")no-repeat center center/contain;
}
@media only screen and (min-width: 769px) {
  .video .bg_wht {
    background: url("../../images/service/video_bg_1.png")no-repeat left top/30%, url("../../images/service/video_bg_2.png")no-repeat right top 12%/40%, url("../../images/service/video_bg_3.png")no-repeat left top 25%/50%, url("../../images/service/video_bg_4.png")no-repeat right top 43%/45%, url("../../images/service/video_bg_5.png")no-repeat left bottom 25%/40%, url("../../images/service/video_bg_6.png")no-repeat right bottom 5%/30%, #fff;
  }
  .video .bg_wht .feature_list-inr .ttl {
    font-size: 2.8rem;
    margin-bottom: 4rem;
  }
  .video .bg_wht .feature_list-inr li {
    font-size: 1.6rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 1367px) {
  .video .bg_wht {
    background: url("../../images/service/video_bg_1.png")no-repeat left top/30%, url("../../images/service/video_bg_2.png")no-repeat right top 12%/20%, url("../../images/service/video_bg_3.png")no-repeat left top 25%/30%, url("../../images/service/video_bg_4.png")no-repeat right top 43%/20%, url("../../images/service/video_bg_5.png")no-repeat left bottom 25%/20%, url("../../images/service/video_bg_6.png")no-repeat right bottom 5%/15%, #fff;
  }
}
.develop .common_mv {
  background: url("../../images/service/p_develop_bg.jpg")no-repeat left 10% center/cover;
}
.develop .bg_wht {
  background: url("../../images/service/dev_bg_1.png")no-repeat left top/60%, url("../../images/service/dev_bg_2.png")no-repeat right center/80%, #fff;
  position: relative;
}
.develop .movie {
  max-width: 80rem;
  margin: 0 auto 8rem;
}
.develop .txt_cont {
  text-align: center;
  max-width: 86rem;
  margin: 0 auto 10rem;
}
.develop .txt_cont .ttl {
  margin-bottom: 3rem;
  font-size: 2.2rem;
  line-height: 1.5;
}
.develop .movie {
  height: 240px;
}
@media only screen and (min-width:500px) {
  .develop .movie {
    height: 300px;
  }
}
@media only screen and (min-width: 769px) {
  .develop .bg_wht {
    background: url("../../images/service/dev_bg_1.png")no-repeat left top/30%, url("../../images/service/dev_bg_2.png")no-repeat right center/50%, #fff;
    position: relative;
  }
  .develop .txt_cont .ttl {
    margin-bottom: 3rem;
    font-size: 2.8rem;
  }
  .develop .common_mv .cont_inr {
    margin: 0 0 0 auto;
    width: 50%;
  }
  .develop .movie {
    height: 400px;
  }
}
@media only screen and (min-width: 1367px) {
  .develop .movie {
    height: 500px;
  }
}
@media only screen and (max-width: 768px) {
  .develop .common_mv {
    align-items: flex-end;
    justify-content: flex-start;
    padding: 6rem 3rem 8rem;
  }
  .develop .common_mv .cont_inr {
    margin: 0
  }
}