@charset "utf-8";
/*
font-family: "Noto Serif JP";
font-weight: 700;
sans:400=Regular,700=Bold
*/

.br_sp{
  display: none
}
#keyview{
  width: 100%;
  position: relative;
  height: 434px;
}
.bg_keyview{
  width: 100%;
  height: 434px;
  position: relative;
  overflow: hidden;
}
.bg_keyview img{
  width: 100%;
  height: auto;
  min-width: 1366px;
  position: absolute;
  top:0;
  left: 0;
  z-index: -1;
}
#keyview h2{
  position: absolute;
  top: 184px;
  left:30px;
  width: 300px;
  background-color: #00008B;
  font-size: 48px;
  line-height: 90px;
  color: #FFF;
  font-weight: 700;
  text-align: center;
  z-index: 11;
}
#keyview p{
  position: absolute;
  top: 284px;
  left:30px;
  width: 171px;
  background-color: #00008B;
  font-size: 22px;
  line-height: 52px;
  color: #FFF;
  font-weight: 700;
  text-align: center;
  z-index: 11;
}
/*cont_power*/
#cont_power{
  position: relative;
  width: 1200px;
  height: 480px;
  margin: 120px auto 160px;
}
.power_txt{
  width: 540px;
}
.power_txt h3{
  position: relative;
  padding-left: 46px;
  padding-top: 45px;
  text-align: left;
  font-weight: 700;
  font-size:36px;
  line-height: 1em;
  color: #2F3A8F;
}
.power_txt h3::before{
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform:translateY(-50%);
  background-color: #2F3A8F;
  width: 36px;
  height: 2px;
}
.power_txt h3::after{
  content: '';
  position: absolute;
  top: 0px;
  left: 0;
  background: url(../images/powerline.png)no-repeat;
  width: 237px;
  height: 40px;
}
.power_txt p{
  margin: 60px 0 0 0px;
  font-size: 18px;
  line-height: 1.5em;
  color: #222222;
}
.power_img{
  position: absolute;
  top:0;
  left: 50%;
  width: 683px;
}
.power_img img{
  width: 100%;
}

/*cont_work*/
#cont_work{
  width: 100%;
  padding: 200px 0 160px 0;
  background: url(../images/top_business_bg.png)repeat;
}
.work_wrap{
  width: 1200px;
  margin: 0 auto 0;
}
.work_head{
  margin-bottom: 60px;
}
.work_head h3{
  position: relative;
  padding-left: 46px;
  text-align: left;
  font-weight: 700;
  font-size:36px;
  line-height: 1em;
  color: #2F3A8F;
}
.work_head h3::before{
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform:translateY(-50%);
  background-color: #2F3A8F;
  width: 36px;
  height: 2px;
}
.work_head h3::after{
  content: '';
  position: absolute;
  top: -45px;
  left: 0;
  background: url(../images/linework.png)no-repeat;
  width: 195px;
  height: 40px;
}
.work_head p{
  margin: 60px 0 0 0px;
  font-size: 18px;
  line-height: 1.5em;
  color: #222222;
}
#work_01 {
    width: 100%;
    scroll-margin-top:100px;
  }
  #work_02 {
    width: 100%;
    scroll-margin-top:100px;
  }
  #work_03 {
    width: 100%;
    scroll-margin-top:100px;
  }
  #work_04 {
    width: 100%;
    scroll-margin-top:100px;
  }
  #work_05 {
    width: 100%;
    scroll-margin-top:100px;
  }
.work_left{
  position: relative;
  width: 100%;
  padding: 60px 0 0;
  z-index: 5;
}
.work_left::before{
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  background-color: #FFF;
  width: 999%;
  height: 917px;
  z-index: 0;
}
.work_left_top{
  position: relative;
  width: 100%;
  z-index: 1;
}
.work_left_top h4{
  float: left;
  width: 50px;
  padding-right: 90px;
  display: block;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  font-size: 78px;
  font-weight: 700;
  color: #00008B;
  text-align: left;
}
.work_left_top_img{
  float: right;
  width: 1000px;
  margin-right: 60px;
}
.work_left_top_img img{
  width: 100%;
}
.work_left_bottom{
  position: relative;
  clear: both;
  width: 100%;
  padding-top: 60px;
}
.work_left_bottom h5{
  font-size: 36px;
  line-height: 43px;
  font-weight: 700;
  color: #FF8C00;
  text-decoration: underline;
  text-underline-offset:0.3em;
}
.work_left_bottom p{
  width: 614px;
  margin-top: 60px;
  font-size: 18px;
  line-height: 1.5em;
  color: #222222;
}
.work_left_bottom_img{
  position: absolute;
  top: -200px;
  right: 115px;
  width: 390px;
  z-index: 5
}
.work_left_bottom_img img{
  border: 10px solid #FFF;
  box-sizing: border-box;
  width: 100%;
}
.work_right{
  position: relative;
  width: 100%;
  z-index: 5;
  margin: 220px 0 160px;
}
.work_right::before{
  content: '';
  position: absolute;
  top: -60px;
  left: 0px;
  background-color: #FFF;
  width: 999%;
  height: 917px;
  z-index: 0;
}
.work_right_top{
  position: relative;
  width: 100%;
  z-index: 1;
}
.work_right_top h4{
  float: right;
  width: 30px;
  padding-left: 90px;
  display: block;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  font-size: 78px;
  font-weight: 700;
  color: #00008B;
  text-align: right;
}
.work_right_top_img{
  float: left;
  width: 1000px;
  margin-left: 80px;
}
.work_right_top_img img{
  width: 100%;
}
.work_right_bottom{
  position: relative;
  clear: both;
  width: 100%;
  padding-top: 60px;
}
.work_right_bottom h5{
  margin-left: 609px;
  font-size: 36px;
  line-height: 43px;
  font-weight: 700;
  color: #FF8C00;
  text-decoration: underline;
  text-underline-offset:0.3em;
}
.work_right_bottom p{
  width: 614px;
  margin-left: 609px;
  margin-top: 60px;
  font-size: 18px;
  line-height: 1.5em;
  color: #222222;
}
.work_right_bottom_img{
  position: absolute;
  top: -200px;
  left: 142px;
  width: 390px;
  border: 0px solid #FFF;
  z-index: 5
}
.work_right_bottom_img img{
  border: 10px solid #FFF;
  box-sizing: border-box;
  width: 100%;
}

/*cont_motto*/
#cont_motto{
  position: relative;
  background: url(../images/business_img_bg.jpg)no-repeat;
  background-size: cover;
  width: 100%;
  height: 600px;
  overflow: hidden;
}
#cont_motto p{
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translateX(-50%) translateY(-50%);
  font-size: 28px;
  line-height: 34px;
  color: #FFF;
  white-space: nowrap;
}
/* banner */
#top_banner{
  position: relative;
  width: 1200px;
  height: 280px;
  margin: 160px auto 160px;
}
#top_banner h4{
  position: absolute;
  top: 0;
  left: 50%;
  transform:translateX(-50%);
  background: url(../images/bannerPC.jpg) no-repeat;
  background-size: 1200px 256px;
  width: 1200px;
  height: 280px;
  text-indent: -9999px; /* テキストを画面外に追い出す */
  overflow: hidden;
}
#top_banner a{
  display: block;
  width: 100%;
  height: 100%;
}
#top_banner h4:hover{
  opacity: 0.6;
}

/*スマホ*/
@media (max-width: 767px){
  .br_pc{
    display: none;
  }
  .br_sp{
    display: block;
  }

  #keyview{
    width: 100%;
    height: 395px;
  }
  .bg_keyview{
    position: relative;
    width: 100%;
    height: 395px;
    overflow: hidden;
  }
  .bg_keyview img{
    width: 100%;
    height: auto;
    min-width: 1366px;
    position: absolute;
    top:-10%;
    left: -150%;
  }
  #keyview h2{
    position: absolute;
    top: 184px;
    left:10px;
    width: 150px;
    background-color: #00008B;
    font-size: 24px;
    line-height: 45px;
    color: #FFF;
    font-weight: 700;
    text-align: center;
    z-index: 11;
  }
  #keyview p{
    position: absolute;
    top: 234px;
    left:10px;
    width: 85px;
    background-color: #00008B;
    font-size: 14px;
    line-height: 26px;
    color: #FFF;
    font-weight: 700;
    text-align: center;
    z-index: 11;
  }
  /*cont_power*/
  #cont_power{
    position: static;
    width: calc(100% - 20px);
    height: auto;
    margin: 70px auto 80px;
  }
  .power_txt{
    width: 100%;
  }
  .power_txt h3{
    position: relative;
    padding-left: 23px;
    padding-top: 0px;
    text-align: left;
    font-weight: 700;
    font-size:22px;
    line-height: 1em;
    color: #2F3A8F;
  }
  .power_txt h3::before{
    content: '';
    position: absolute;
    top: 12px;
    left: 0;
    background-color: #2F3A8F;
    width: 18px;
    height: 2px;
  }
  .power_txt h3::after{
    content: '';
    position: absolute;
    top: -35px;
    left: 0;
    background: url(../images/powerline.png)no-repeat;
    background-size: cover;
    width: 118px;
    height: 20px;
  }
  .power_txt p{
    margin: 30px 0 0 0px;
    font-size: 16px;
    line-height: 1.5em;
    color: #222222;
  }
  .power_img{
    position: static;
    top:0;
    left: auto;
    width: 100%;
    margin-top: 30px;
  }
  .power_img img{
    width: 100%;
  }
  /*cont_work*/
  #cont_work{
    width: 100%;
    padding: 80px 0 30px 0;
    background: url(../images/top_business_bg.png)repeat;
  }
  .work_wrap{
    width: calc(100% - 20px);
    margin: 0 auto 0;
  }
  .work_head{
    margin-bottom: 60px;
  }
  .work_head h3{
    position: relative;
    padding-left: 23px;
    text-align: left;
    font-weight: 700;
    font-size:22px;
    line-height: 1em;
    color: #2F3A8F;
  }
  .work_head h3::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform:translateY(-50%);
    background-color: #2F3A8F;
    width: 18px;
    height: 2px;
  }
  .work_head h3::after{
    content: '';
    position: absolute;
    top: -25px;
    left: 0;
    background: url(../images/powerline.png)no-repeat;
    background-size: cover;
    width: 118px;
    height: 20px;
  }
  .work_head p{
    margin: 30px 0 0 0px;
    font-size: 16px;
    line-height: 1.5em;
    color: #222222;
  }
  .work_left{
    position: relative;
    width: calc(100% - 10px);
    margin-right:10px;
    padding: 30px 0 0;
    z-index: 5;
  }
  .work_left::before{
    content: '';
    position: absolute;
    top: 0px;
    right: -10px;
    background-color: #FFF;
    width: 999%;
    height: 100%;
    z-index: 0;
  }
  .work_left_top{
    position: relative;
    width: 100%;
    z-index: 1;
  }
  .work_left_top h4{
    float: left;
    width: 10%;
    padding-right: 5%;
    display: block;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 36px;
    line-height: 0.8em;
    font-weight: 700;
    color: #00008B;
    text-align: left;
  }
  .work_left_top_img{
    float: right;
    width: 85%;
    height: 180px;
    margin-right: 0px;
    overflow: hidden;
  }
  .work_left_top_img img{
    width: auto;
    height: 100%;
  }
  .work_left_bottom{
    position: relative;
    clear: both;
    margin-left: 0px;
    padding-top: 30px;
  }
  .work_left_bottom h5{
    font-size: 24px;
    line-height: 36px;
    font-weight: 700;
    color: #FF8C00;
    text-decoration: underline;
    text-underline-offset:0.1em;
  }
  .work_left_bottom p{
    width: 100%;
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.5em;
    color: #222222;
  }
  .work_left_bottom_img{
    position: static;
    top: auto;
    right: auto;
    width: 100%;
    margin: 30px auto 0;
    border: 0px solid #FFF;
    z-index: 5
  }
  .work_left_bottom_img img{
    width: 100%;
  }
  .work_right{
    position: relative;
    width: calc(100% - 10px);
    margin-left:10px;
    padding: 0px 0 0;
    margin: 90px 0 60px;
  }
  .work_right::before{
    content: '';
    position: absolute;
    top: -30px;
    left: 0px;
    background-color: #FFF;
    width: 999%;
    height: 103%;
    z-index: 0;
  }
  .work_right_top{
    position: relative;
    width: 100%;
    z-index: 1;
  }
  .work_right_top h4{
    float: right;
    width:12%;
    padding-left: 0px;
    display: block;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 36px;
    line-height: 0.8em;
    font-weight: 700;
    color: #00008B;
    text-align: right;
  }
  .work_right_top_img{
    float: left;
    width: 80%;
    padding-left: 5%;
    height: 180px;
    margin-left: 0px;
    overflow: hidden;
  }
  .work_right_top_img img{
    width: auto;
    height: 100%;
  }
  .work_right_bottom{
    position: relative;
    clear: both;
    width: 100%;
    margin-left: 15px;
    padding-top: 30px;
  }
  .work_right_bottom h5{
    margin-left: 0;
    font-size: 24px;
    line-height: 36px;
    font-weight: 700;
    color: #FF8C00;
    text-decoration: underline;
    text-underline-offset:0.1em;
  }
  .work_right_bottom p{
    width: 100%;
    margin-left: 0px;
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.5em;
    color: #222222;
  }
  .work_right_bottom_img{
    position: static;
    top: auto;
    right: auto;
    width: 100%;
    margin: 30px auto 0;
    border: 0px solid #FFF;
    z-index: 5
}
.work_right_bottom_img img{
  width: 100%;
}

/*cont_motto*/
#cont_motto{
  position: relative;
  background: url(../images/business_img_bg.jpg)no-repeat;
  background-size: cover;
  width: 100%;
  height: 600px;
  overflow: hidden;
}
#cont_motto p{
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translateX(-50%) translateY(-50%);
  font-size: 18px;
  line-height: 34px;
  color: #FFF;
  white-space: nowrap;
}

/* banner */
#top_banner{
  width: calc(100% - 20px);
  height: 600px;
  margin: 80px auto 80px;
}
#top_banner h4{
  position: absolute;
  top: 0;
  left: 50%;
  transform:translateX(-50%);
  background: url(../images/bannerSP.jpg) no-repeat;
  background-size: 355px 600px;
  width: 355px;
  height: 600px;
  text-indent: -9999px; /* テキストを画面外に追い出す */
  overflow: hidden;
}
#top_banner a{
  display: block;
  width: 100%;
  height: 100%;
}
#top_banner h4:hover{
  opacity: 0.6;
}

}

@media (max-width: 767px) and (orientation:landscape){
  #keyview{
    width: 100%;
    height: 316px;
  }
  #keyview .bg_keyview{
    position: relative;
    width: 100%;
    height: 316px;
    overflow: hidden;
  }
  #keyview .bg_keyview img{
    width: 100%;
    height: auto;
    min-width: 1366px;
    position: absolute;
    top: -10%;
    left: -60%;
  }
  #keyview h2{
    position: absolute;
    top: 154px;
    left:10px;
    width: 150px;
    background-color: #00008B;
    font-size: 24px;
    line-height: 45px;
    color: #FFF;
    font-weight: 700;
    text-align: center;
    z-index: 11;
  }
  #keyview p{
    position: absolute;
    top: 204px;
    left:10px;
    width: 85px;
    background-color: #00008B;
    font-size: 14px;
    line-height: 26px;
    color: #FFF;
    font-weight: 700;
    text-align: center;
    z-index: 11;
  }
  .work_left::before{
    content: '';
    position: absolute;
    top: 0px;
    right: -10px;
    background-color: #FFF;
    width: 999%;
    height: 100%;
    z-index: 0;
  }
  .work_right::before{
    content: '';
    position: absolute;
    top: -30px;
    left: 5px;
    background-color: #FFF;
    width: 999%;
    height: 102%;
    z-index: 0;
  }
  .work_left_top h4{
    float: left;
    width: 5%;
    padding-right: 10%;
    display: block;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 36px;
    line-height: 0.8em;
    font-weight: 700;
    color: #00008B;
    text-align: left;
  }
  .work_left_top_img{
    float: right;
    width: 85%;
    height: auto;
    overflow: hidden;
  }
  .work_left_top_img img{
    width: 100%;
    height: auto;
  }
  .work_right_top h4{
    float: right;
    width:12%;
    padding-left: 0px;
    display: block;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 36px;
    line-height: 0.8em;
    font-weight: 700;
    color: #00008B;
    text-align: right;
  }
  .work_right_top_img{
    float: left;
    width: 80%;
    padding-left: 5%;
    height: 180px;
    overflow: hidden;
  }
  .work_right_top_img img{
    width: 100%;
    height: auto;
  }

}
