@font-face {
  font-family: 'Noto Sans';
  font-weight: 700;
  font-style: normal;
  src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format("woff2"), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format("woff"), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format("opentype");
}
@font-face {
  font-family: 'Noto Sans';
  font-weight: 300;
  font-style: normal;
  src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format("woff2"), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format("woff"), url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format("opentype");
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 200;
  src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),
       url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),
       url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
}


.spbr {
  display: none;
}
@media screen and (max-width: 640px) {
  html .spbr {
    display: block;
  }
}

.text-animation span {
  opacity: 0;
  transition: opacity .2s ease;
  display: inline-block;
}
.text-animation.is-show span {
  opacity: 1;
}

body {
  -webkit-text-size-adjust: 100%;
  min-width: 1100px;
  color: #333;
  line-height: 1.8;
  font-family: "Noto Sans", sans-serif;
}
@media screen and (max-width: 640px) {
  html body {
    min-width: 320px;
    font-size: 12px;
    overflow-x: hidden;
  }
}

html#id-top {
  overflow: hidden;
  height: 100vh;
}
html#id-top body {
  overflow: hidden;
  height: 100vh;
}
html#id-top.is-show {
  overflow: visible;
  height: unset;
}
html#id-top.is-show body {
  overflow: visible;
  height: unset;
}

a {
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
}

strong.term {
  text-transform: uppercase;
  font-weight: normal;
}

.contentInner {
  z-index: 8;
  position: relative;
  width: 1080px;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  html .contentInner {
    width: auto;
    padding: 0 15px;
  }
}

.sections section {
  position: relative;
}

#page-container {
  z-index: 0;
  position: relative;
}
#page-container #ext-lines {
  z-index: 4;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 1080px;
  margin: auto;
  pointer-events: none;
}
#page-container #ext-lines.is-show div {
  height: 100%;
  border-left: 1px solid rgba(128, 128, 128, 0.14);
}
@media screen and (max-width: 640px) {
  html #page-container #ext-lines {
    display: none;
  }
}
#page-container #ext-lines > div {
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid #00416b;
  transition: all 1s ease-in;
  height: 0px;
}
#page-container #ext-lines .line-1 {
  left: 0px;
  transition: height 1s ease-in 0.2s, border 0.7s ease-in 0.1s;
}
#page-container #ext-lines .line-2 {
  left: 216px;
  transition: height 1s ease-in 0.3s, border 0.7s ease-in 0.15s;
}
#page-container #ext-lines .line-3 {
  left: 432px;
  transition: height 1s ease-in 0.4s, border 0.7s ease-in 0.2s;
}
#page-container #ext-lines .line-4 {
  left: 648px;
  transition: height 1s ease-in 0.5s, border 0.7s ease-in 0.25s;
}
#page-container #ext-lines .line-5 {
  left: 864px;
  transition: height 1s ease-in 0.6s, border 0.7s ease-in 0.3s;
}
#page-container #ext-lines .line-6 {
  left: 1080px;
  transition: height 1s ease-in 0.7s, border 0.7s ease-in 0.35s;
}
#page-container #ext-lines .line-7 {
  right: 0;
}

html#id-top #page-header {
  opacity: 0;
  transition: opacity .7s ease;
  display: block;
  position: relative;
  z-index: 15;
}
html#id-top #page-header.is-show {
  opacity: 1;
}
#page-header .headerNav .navList > li {
  z-index: 32;
  position: fixed;
  right: 0;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList > li {
    right: auto;
  }
}
#page-header .headerNav .navList > li a {
  display: block;
  position: relative;
}
#page-header .headerNav .navList{
  font-family: 'Noto Sans JP';
}
#page-header .headerNav .navList .ledge {
  top: 0px;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .ledge {
    top: 0;
    left: 0;
  }
}
#page-header .headerNav .navList .ledge a {
  overflow: hidden;
  width: 100px;
  height: 100px;
  background: url('../img/common/ledge.png') no-repeat 50% 50%;
  text-indent: -9999px;
  font-size: 0;
}
#page-header .headerNav .navList .ledge a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.3);
  opacity: 0;
  transition: all 0.2s ease;
}
#page-header .headerNav .navList .ledge a:hover::before {
  opacity: 1;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .ledge a {
    width: 60px;
    height: 60px;
    background-image: url('../img/sp/common/ledge.png');
    background-size: 60px 60px;
  }
}
#page-header .headerNav .navList .contact {
  top: 400px;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .contact {
    top: 0;
    right: 0px;
  }
}
#page-header .headerNav .navList .contact a {
  overflow: hidden;
  width: 100px;
  height: 100px;
  background: white;
  text-decoration: none;
  text-align: center;
  line-height: 100px;
  border-left: solid 0.1px #e6e6e6;
  border-bottom: solid 0.1px #e6e6e6;
  font-size: 14px;
  color: #01416b;
  font-weight: bold;
}
#page-header .headerNav .navList .contact a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 65, 107, 0.2);
  opacity: 0;
  transition: all 0.2s ease;
}
@media screen and (max-width: 640px) {
  #page-header .headerNav .navList .contact a {
    overflow: hidden;
    width: 100px;
    height: 100px;
    background: white;
    text-decoration: none;
    text-align: center;
    line-height: 60px;
    border-left: solid 0.1px #e6e6e6;
    border-bottom: solid 0.1px #e6e6e6;
    font-size: 8px;
    color: #01416b;
    font-weight: bold;
  }
}
#page-header .headerNav .navList .contact a:hover::before {
  opacity: 1;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .contact a {
    width: 60px;
    height: 60px;
    background-size: 60px 60px;
  }
}
#page-header .headerNav .navList .document {
  top: 300px;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .document {
    top: 0;
    right: 60px;
  }
}
#page-header .headerNav .navList .document a {
  overflow: hidden;
  width: 100px;
  height: 100px;
  background: white;
  text-decoration: none;
  text-align: center;
  line-height: 100px;
  border-left: solid 0.1px #e6e6e6;
  border-bottom: solid 0.1px #e6e6e6;
  font-size: 14px;
  color: #01416b;
  font-weight: bold;
}
#page-header .headerNav .navList .document a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 65, 107, 0.2);
  opacity: 0;
  transition: all 0.2s ease;
}
@media screen and (max-width: 640px) {
  #page-header .headerNav .navList .document a {
    overflow: hidden;
    width: 100px;
    height: 100px;
    background: white;
    text-decoration: none;
    text-align: center;
    line-height: 60px;
    border-left: solid 0.1px #e6e6e6;
    border-bottom: solid 0.1px #e6e6e6;
    font-size: 8px;
    color: #01416b;
    font-weight: bold;
  }
}
#page-header .headerNav .navList .document a:hover::before {
  opacity: 1;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .document a {
    width: 60px;
    height: 60px;
    background-size: 60px 60px;
  }
}
#page-header .headerNav .navList .case {
  top: 200px;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .case {
    top: 0;
    right: 120px;
  }
}
#page-header .headerNav .navList .case a {
  overflow: hidden;
  width: 100px;
  height: 100px;
  background: white;
  text-decoration: none;
  text-align: center;
  line-height: 100px;
  border-left: solid 0.1px #e6e6e6;
  border-bottom: solid 0.1px #e6e6e6;
  font-size: 14px;
  color: #01416b;
  font-weight: bold;
}
#page-header .headerNav .navList .case a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 65, 107, 0.2);
  opacity: 0;
  transition: all 0.2s ease;
}
@media screen and (max-width: 640px) {
  #page-header .headerNav .navList .case a {
    overflow: hidden;
    width: 100px;
    height: 100px;
    background: white;
    text-decoration: none;
    text-align: center;
    line-height: 60px;
    border-left: solid 0.1px #e6e6e6;
    border-bottom: solid 0.1px #e6e6e6;
    font-size: 8px;
    color: #01416b;
    font-weight: bold;
  }
}
#page-header .headerNav .navList .case a:hover::before {
  opacity: 1;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .case a {
    width: 60px;
    height: 60px;
    background-size: 60px 60px;
  }
}

#page-header .headerNav .navList .company {
  top:100px;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .company {
    top: 0;
    right: 180px;
  }
}
#page-header .headerNav .navList .company a {
  overflow: hidden;
  width: 100px;
  height: 100px;
  background: white;
  text-decoration: none;
  text-align: center;
  line-height: 100px;
  border-left: solid 0.1px #e6e6e6;
  border-bottom: solid 0.1px #e6e6e6;
  font-size: 14px;
  color: #01416b;
  font-weight: bold;
}
#page-header .headerNav .navList .company a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 65, 107, 0.2);
  opacity: 0;
  transition: all 0.2s ease;
}
@media screen and (max-width: 640px) {
  #page-header .headerNav .navList .company a {
    overflow: hidden;
    width: 100px;
    height: 100px;
    background: white;
    text-decoration: none;
    text-align: center;
    line-height: 60px;
    border-left: solid 0.1px #e6e6e6;
    border-bottom: solid 0.1px #e6e6e6;
    font-size: 8px;
    color: #01416b;
    font-weight: bold;
  }
}
#page-header .headerNav .navList .company a:hover::before {
  opacity: 1;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .company a {
    width: 60px;
    height: 60px;
    background-size: 60px 60px;
  }
}
#page-header .headerNav .navList .back {
  bottom: 100px;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .back {
    display: none;
  }
}
#page-header .headerNav .navList .back a {
  overflow: hidden;
  width: 101px;
  height: 100px;
  background: url('../img/common/back.png') no-repeat 50% 50%;
  text-indent: -9999px;
  font-size: 0;
}
#page-header .headerNav .navList .back a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 65, 107, 0.2);
  opacity: 0;
  transition: all 0.2s ease;
}
#page-header .headerNav .navList .back a:hover::before {
  opacity: 1;
}
#page-header .headerNav .navList .backToTop {
  bottom: 0;
}
@media screen and (max-width: 640px) {
  html #page-header .headerNav .navList .backToTop {
    display: none;
  }
}
#page-header .headerNav .navList .backToTop a {
  overflow: hidden;
  width: 100px;
  height: 100px;
  background: url('../img/common/back_to_top.png') no-repeat 50% 50%;
  text-indent: -9999px;
  font-size: 0;
}
#page-header .headerNav .navList .backToTop a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.3);
  opacity: 0;
  transition: all 0.2s ease;
}
#page-header .headerNav .navList .backToTop a:hover::before {
  opacity: 1;
}

#id-top #mainVisual {
  z-index: 8;
  height: 100vh;
  min-height: 400px;
  background: url('../img/top/main_visual/bg.jpg') no-repeat 50% 50%;
  background-size: cover;
  opacity: 0;
  transform: translate3d(0px, 0px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #mainVisual h1 {
  display: none;
}
#id-top #mainVisual.is-show {
  opacity: 1;
}
#id-top #mainVisual.is-show .heading {
  opacity: 1;
}
#id-top #mainVisual .contentInner {
  z-index: 2;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
#id-top #mainVisual .heading {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0;
  transform: translate3d(0px, 0px, 0px);
  transition: opacity .7s ease, transform .7s ease;
  transition-delay: .2s;
  overflow: hidden;
  width: 1074px;
  height: 162px;
  background: url('../img/top/main_visual/heading.png') no-repeat 50% 50%;
  text-indent: -9999px;
  font-size: 0;
}
@media screen and (max-width: 640px) {
  html#id-top #mainVisual .heading {
    width: 400px;
    height: 69px;
    background-image: url('../img/sp/top/main_visual/heading.png');
    background-size: 400px 69px;
  }
}
#id-top #mainVisual .videoBlock {
  overflow: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
#id-top #mainVisual .videoBlock video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
}
#id-top #aboutUs {
  padding-bottom: 50px;
}
@media screen and (max-width: 640px) {
  html#id-top #aboutUs {
    padding-bottom: 50px;
  }
}
#id-top #aboutUs .contentInner {
  padding-top: 350px;
}
@media screen and (max-width: 640px) {
  html#id-top #aboutUs .contentInner {
    display: flex;
    flex-direction: column;
    padding-top: 0;
  }
}
#id-top #aboutUs .heading {
  position: absolute;
  top: 350px;
  left: 0px;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #aboutUs .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #aboutUs .heading {
    position: static;
    margin-top: 20px;
  }
  html#id-top #aboutUs .heading img {
    max-width: 25%;
  }
}
#id-top #aboutUs .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #aboutUs .lead {
  margin-left: 215px;
  font-size: 54px;
  line-height: 68px;
  letter-spacing: 0.06em;
  color: #003b6c;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #aboutUs .lead {
    font-size: 30px;
    line-height: 34px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #aboutUs .lead {
    position: static;
    margin-top: 20px;
    margin-left: 0;
  }
  html#id-top #aboutUs .lead img {
    max-width: 88%;
  }
}
#id-top #aboutUs .lead.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #aboutUs .desc {
  margin-top: 28px;
  margin-left: 215px;
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.03em;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #aboutUs .desc {
    margin-left: 0;
    font-size: 12px;
    line-height: 20px;
  }
  html#id-top #aboutUs .desc br {
    display: none;
  }
}
#id-top #aboutUs .desc.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #aboutUs .link {
  margin-top: 39px;
  margin-left: 215px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #aboutUs .link {
    margin-top: 20px;
    margin-left: 0;
    text-align: center;
  }
}
#id-top #aboutUs .link a {
  display: inline-block;
  position: relative;
  width: 215px;
  height: 52px;
  border: 1px solid #00416b;
  color: #00416b;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html#id-top #aboutUs .link a {
    width: 142px;
  }
}
#id-top #aboutUs .link a, #id-top #aboutUs .link a::before, #id-top #aboutUs .link a::after {
  transition: all 0.3s ease;
}
#id-top #aboutUs .link a::before, #id-top #aboutUs .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #fff;
}
#id-top #aboutUs .link a::before {
  top: -1px;
  right: 15px;
}
#id-top #aboutUs .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #id-top #aboutUs .link a:hover {
    color: #fff;
    background: rgba(0, 65, 107, 0.9);
  }
  #id-top #aboutUs .link a:hover::before, #id-top #aboutUs .link a:hover::after {
    opacity: 0;
  }
}
#id-top #aboutUs .link.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #aboutUs .image {
  z-index: -1;
  position: absolute;
  top: 48px;
  right: 62px;
  opacity: 0;
  transform: translate3d(0px, 5px, 0px);
  transition: opacity .4s ease, transform .4s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #aboutUs .image {
    order: -1;
    position: static;
    margin-top: 30px;
    text-align: center;
  }
}
#id-top #aboutUs.is-show .image {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #service01 {
  padding-bottom: 80px;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 {
    padding-bottom: 40px;
    overflow: hidden;
  }
  html#id-top #service01::after {
    content: '';
    width: 43%;
    height: 0;
    padding-top: 43%;
    position: absolute;
    bottom: 50px;
    right: -30px;
    background: url(/img/top/service_01/roop.png) no-repeat 0 0;
    background-size: contain;
  }
}
#id-top #service01 .headingheading {
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 .headingheading {
    font-size: 20px;
    line-height: 20px;
  }
}
#id-top #service01 .apexBlock, #id-top #service01 .subBlock {
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #service01 .apexBlock .heading, #id-top #service01 .subBlock .heading {
  font-size: 28px;
  line-height: 35.7px;
  letter-spacing: 0.04em;
  color: #003b6c;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 .apexBlock .heading, html#id-top #service01 .subBlock .heading {
    font-size: 24px;
    line-height: 27px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #service01 .apexBlock img, html#id-top #service01 .subBlock img {
    max-width: 25%;
  }
}
#id-top #service01 .apexBlock.is-show, #id-top #service01 .subBlock.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #service01 .apexBlock {
  padding-top: 255px;
  position: relative;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #service01 .apexBlock.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service01 .apexBlock {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    padding-top: 0;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #service01 .apexBlock .heading {
    position: static;
    margin: -20px -5px -5px auto;
  }
}
#id-top #service01 .apexBlock .lead {
  position: relative;
  margin-left: 360px;
  right: -68px;
  font-size: 54px;
  line-height: 68px;
  letter-spacing: 0.06em;
  color: #003b6c;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 .apexBlock .lead {
    font-size: 30px;
    line-height: 34px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #service01 .apexBlock .lead {
    margin-top: 20px;
    margin-left: 0;
    right: unset;
  }
  html#id-top #service01 .apexBlock .lead img {
    max-width: 92%;
  }
}
#id-top #service01 .apexBlock .desc {
  margin-top: 26px;
  margin-left: 430px;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 .apexBlock .desc {
    margin-left: 0;
    font-size: 12px;
    line-height: 20px;
  }
  html#id-top #service01 .apexBlock .desc br {
    display: none;
  }
}
#id-top #service01 .apexBlock .image {
  z-index: -2;
  position: absolute;
  top: 19px;
  left: 0px;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 .apexBlock .image {
    order: -1;
    position: static;
  }
  html#id-top #service01 .apexBlock .image img {
    max-width: 100%;
  }
}
#id-top #service01 .subBlock {
  margin-left: 216px;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 .subBlock {
    margin-left: 0;
  }
}
#id-top #service01 #service01-flow {
  margin-top: 69px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #service01 #service01-flow.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service01 #service01-flow {
    margin-top: 30px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #service01 #service01-flow .heading img {
    max-width: 78%;
  }
}
#id-top #service01 #service01-flow .desc {
  margin-top: 23px;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 #service01-flow .desc {
    font-size: 12px;
    line-height: 20px;
  }
  html#id-top #service01 #service01-flow .desc br {
    display: none;
  }
}
#id-top #service01 #service01-flow .object {
  margin-top: 28px;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 #service01-flow .object {
    text-align: center;
  }
  html#id-top #service01 #service01-flow .object img {
    max-width: 70%;
  }
}
#id-top #service01 #service01-poc {
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
  box-sizing: border-box;
  padding-top: 27px;
  margin-top: 21px;
  position: relative;
  letter-spacing: 0.03em;
}
#id-top #service01 #service01-poc.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #service01 #service01-poc::after {
  content: '';
  width: 215px;
  height: 215px;
  position: absolute;
  top: 0px;
  right: 217px;
  background: url(/img/top/service_01/roop.png) no-repeat 0 0;
  background-size: contain;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 #service01-poc {
    min-height: 0;
    margin-top: 30px;
    padding-top: 0;
  }
  html#id-top #service01 #service01-poc::after {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #service01 #service01-poc .heading img {
    max-width: 56%;
  }
}
#id-top #service01 #service01-poc .desc {
  margin-top: 34px;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 #service01-poc .desc {
    margin-top: 20px;
  }
  html#id-top #service01 #service01-poc .desc br {
    display: none;
  }
}
#id-top #service01 #service01-poc .link {
  margin-top: 39px;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 #service01-poc .link {
    margin-top: 20px;
    margin-left: 0;
    text-align: center;
  }
}
#id-top #service01 #service01-poc .link a {
  display: inline-block;
  position: relative;
  width: 215px;
  height: 52px;
  border: 1px solid #fff;
  background: #00416b;
  color: #fff;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
  width: unset;
  padding: 0px 67px;
  width: unset;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 #service01-poc .link a {
    font-size: 14.5px;
    line-height: 14.5px;
    line-height: 52px;
    padding: 0px 10px;
    display: block;
  }
}
@media screen and (min-width: 641px) {
  #id-top #service01 #service01-poc .link a {
    transition: all 0.3s ease;
  }
  #id-top #service01 #service01-poc .link a:hover {
    background: #fff;
    border: 1px solid #00416b;
    color: #00416b;
  }
}
#id-top #service01 #service01-poc .image {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 216px;
}
@media screen and (max-width: 640px) {
  html#id-top #service01 #service01-poc .image {
    position: relative;
    right: auto;
    width: 216px;
    margin: -40px 0 0 auto;
  }
}
#id-top #service02 {
  margin-top: 334px;
  padding-bottom: 50px;
  background: #00416b;
  color: #fff;
}
@media screen and (max-width: 640px) {
  html#id-top #service02 {
    margin-top: 60px;
    padding-bottom: 50px;
  }
}
#id-top #service02::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1100px;
  background: radial-gradient(1000px 1000px at 65% 100px, rgba(255, 255, 255, 0.3), #00416b);
}
@media screen and (max-width: 640px) {
  html#id-top #service02::before {
    display: none;
  }
}
#id-top #service02 .contentInner {
  padding-top: 306px;
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .contentInner {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding-top: 0;
  }
}
#id-top #service02 .contentInner.is-show .images span {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #service02 .contentInner.is-show .logo,
#id-top #service02 .contentInner.is-show .link {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #service02 .heading {
  position: absolute;
  top: 461px;
  left: 0;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #fff;
  font-family: 'Barlow Semi Condensed', sans-serif;
}
#id-top #service02 .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .heading {
    position: static;
    margin-top: 20px;
  }
  html#id-top #service02 .heading img {
    max-width: 25%;
  }
}
#id-top #service02 .lead {
  margin-left: 216px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
  font-size: 54px;
  line-height: 68px;
  letter-spacing: 0.06em;
  color: #fff;
}
#id-top #service02 .lead.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .lead {
    font-size: 30px;
    line-height: 34px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .lead {
    margin-top: 20px;
    margin-left: 0;
  }
  html#id-top #service02 .lead img {
    max-width: 88%;
  }
}
#id-top #service02 .desc {
  margin-top: 30px;
  margin-left: 216px;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .desc {
    margin-left: 0;
    font-size: 12px;
    line-height: 20px;
  }
  html#id-top #service02 .desc br {
    display: none;
  }
}
#id-top #service02 .logo {
  position: absolute;
  top: 421px;
  right: 0;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #service02 .logo.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .logo {
    position: relative;
    top: unset;
    right: unset;
    width: 90px;
    margin: 20px 0 0 auto;
  }
}
#id-top #service02 .link {
  margin-top: 28px;
  margin-left: 216px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #service02 .link.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .link {
    margin-top: -54px;
    margin-left: 0;
  }
}
#id-top #service02 .link a {
  display: inline-block;
  position: relative;
  width: 215px;
  height: 52px;
  border: 1px solid #fff;
  color: #fff;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .link a {
    width: 142px;
  }
}
#id-top #service02 .link a, #id-top #service02 .link a::before, #id-top #service02 .link a::after {
  transition: all 0.3s ease;
}
#id-top #service02 .link a::before, #id-top #service02 .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #00416b;
}
#id-top #service02 .link a::before {
  top: -1px;
  right: 15px;
}
#id-top #service02 .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #id-top #service02 .link a:hover {
    color: #00416b;
    background: rgba(255, 255, 255, 0.9);
  }
  #id-top #service02 .link a:hover::before, #id-top #service02 .link a:hover::after {
    opacity: 0;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .link a {
    width: auto;
    padding: 0px 20px;
    display: inline-block;
  }
}
#id-top #service02 .images {
  order: -1;
  z-index: -1;
  position: absolute;
  top: -315px;
  left: 0;
  right: 0;
  font-size: 0;
  letter-spacing: 0;
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .images {
    position: static;
    margin-top: -60px;
  }
}
#id-top #service02 .images > span {
  display: inline-block;
  margin-left: 1px;
  vertical-align: top;
  opacity: 0;
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .images > span {
    margin-left: 0;
  }
}
#id-top #service02 .images .img_1 {
  margin-top: 75px;
  transform: translate3d(0px, 15px, 0px);
}
#id-top #service02 .images .img_2 {
  margin-top: 115px;
  transform: translate3d(0px, -15px, 0px);
  transition-delay: .1s;
}
#id-top #service02 .images .img_3 {
  margin-top: 50px;
  transform: translate3d(0px, 15px, 0px);
  transition-delay: .2s;
}
#id-top #service02 .images .img_4 {
  margin-top: 155px;
  transform: translate3d(0px, -15px, 0px);
  transition-delay: .3s;
}
#id-top #service02 .images .img_5 {
  margin-top: 91px;
  transform: translate3d(0px, 15px, 0px);
  transition-delay: .4s;
}
@media screen and (max-width: 640px) {
  html#id-top #service02 .images > span {
    width: 33%;
  }
  html#id-top #service02 .images > span:nth-child(n + 4) {
    display: none;
  }
  html#id-top #service02 .images .img_1 {
    margin-top: 0;
  }
  html#id-top #service02 .images .img_2 {
    margin-top: 30px;
  }
  html#id-top #service02 .images .img_3 {
    margin-top: 15px;
  }
}
#id-top #service03 {
  padding-bottom: 150px;
  background: #00416b;
  color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  html#id-top #service03 {
    padding-bottom: 0px;
  }
}
#id-top #service03 .contentInner {
  padding-top: 105px;
  padding-bottom: 56px;
}
@media screen and (max-width: 640px) {
  html#id-top #service03 .contentInner {
    display: flex;
    flex-direction: column;
    padding-top: 0;
  }
}
#id-top #service03 .contentInner.is-show .image {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #service03 .heading {
  text-align: left;
  margin-left: 648px;
  margin-top: 55px;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #fff;
  font-family: 'Barlow Semi Condensed', sans-serif;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #service03 .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
#id-top #service03 .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service03 .heading {
    margin-left: 0px;
    margin-top: 50px;
    text-align: left;
    order: 1;
  }
  html#id-top #service03 .heading img {
    max-width: 25%;
  }
}
#id-top #service03 .lead {
  margin-top: 30px;
  margin-left: 432px;
  position: relative;
  right: -216px;
  font-size: 54px;
  line-height: 80px;
  letter-spacing: 0.06em;
  color: #fff;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #service03 .lead {
    font-size: 30px;
    line-height: 34px;
  }
}
#id-top #service03 .lead.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service03 .lead {
    margin-top: 20px;
    margin-left: 0;
    text-align: left;
    right: unset;
    order: 3;
  }
  html#id-top #service03 .lead img {
    max-width: 67%;
  }
}
#id-top #service03 .desc {
  margin-top: 30px;
  margin-left: 432px;
  width: 431px;
  position: relative;
  right: -216px;
  font-size: 16px;
  line-height: 32px;
}
@media screen and (max-width: 640px) {
  html#id-top #service03 .desc {
    order: 4;
    margin-top: 20px;
    margin-left: 0px;
    width: auto;
    right: 0;
    position: static;
    font-size: 12px;
    line-height: 20px;
  }
  html#id-top #service03 .desc br {
    display: none;
  }
}
#id-top #service03 .logo {
  display: flex;
  margin-top: 49px;
  margin-left: 648px;
}
@media screen and (max-width: 640px) {
  html#id-top #service03 .logo {
    display: flex;
    margin: 30px auto 0;
    width: 257px;
    height: 32px;
    order: 5;
  }
}
#id-top #service03 .logo .img01 {
  margin-right: 30px;
  width: 160px;
}
#id-top #service03 .logo .img02 {
  margin-left: 30px;
  width: 60px;
}

#id-top #service03 .link {
  margin-top: 40px;
  margin-left: 648px;
}
@media screen and (max-width: 640px) {
  html#id-top #service03 .link {
    margin: 30px auto 0;
    order: 6;
  }
}
#id-top #service03 .link a {
  display: inline-block;
  position: relative;
  width: 215px;
  height: 52px;
  border: 1px solid #fff;
  color: #fff;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html#id-top #service03 .link a {
    width: 142px;
  }
}
#id-top #service03 .link a, #id-top #service03 .link a::before, #id-top #service03 .link a::after {
  transition: all 0.3s ease;
}
#id-top #service03 .link a::before, #id-top #service03 .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #00416b;
}
#id-top #service03 .link a::before {
  top: -1px;
  right: 15px;
}
#id-top #service03 .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #id-top #service03 .link a:hover {
    color: #00416b;
    background: rgba(255, 255, 255, 0.9);
  }
  #id-top #service03 .link a:hover::before, #id-top #service03 .link a:hover::after {
    opacity: 0;
  }
}
#id-top #service03 .image {
  z-index: -1;
  position: absolute;
  top: 210px;
  right: 50%;
  width: 933px;
  margin-right: -109px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #service03 .image {
    order: 2;
    position: static;
    width: auto;
    margin-right: 0;
    margin-top: 20px;
  }
  html#id-top #service03 .image img {
    margin-left: -18%;
  }
}
#id-top #service04 {
  padding-bottom: 200px;
}
@media screen and (max-width: 640px) {
  html#id-top #service04 {
    padding-bottom: 50px;
  }
}
#id-top #service04 .contentInner {
  padding-top: 184px;
}
#id-top #service04 .contentInner.is-show .image {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service04 .contentInner {
    display: flex;
    flex-direction: column;
    padding-top: 0;
  }
}
#id-top #service04 .heading {
  position: absolute;
  top: 189px;
  left: 0;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
}
#id-top #service04 .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service04 .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #service04 .heading {
    position: static;
    margin-top: 20px;
    order: 1;
  }
  html#id-top #service04 .heading img {
    max-width: 25%;
  }
}
#id-top #service04 .lead {
  margin-left: 216px;
  font-size: 54px;
  line-height: 68px;
  letter-spacing: 0.06em;
  color: #003b6c;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #service04 .lead {
    font-size: 30px;
    line-height: 34px;
  }
}
#id-top #service04 .lead.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service04 .lead {
    margin-left: 0;
    margin-top: 20px;
    order: 3;
  }
  html#id-top #service04 .lead img {
    max-width: 93%;
  }
}
#id-top #service04 .desc {
  margin-top: 26px;
  margin-left: 216px;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 640px) {
  html#id-top #service04 .desc {
    margin-left: 0;
    order: 4;
  }
  html#id-top #service04 .desc br {
    display: none;
  }
}
#id-top #service04 .logo {
  position: absolute;
  top: 415px;
  left: 864px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #service04 .logo.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service04 .logo {
    position: static;
    width: 80px;
    margin-top: 30px;
    margin-left: auto;
  }
}
#id-top #service04 .link {
  margin-top: 18px;
  margin-left: 216px;
  order: 5;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #service04 .link.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #service04 .link {
    margin: 20px auto 0px auto;
  }
}
#id-top #service04 .link a {
  display: inline-block;
  position: relative;
  width: 215px;
  height: 52px;
  border: 1px solid #00416b;
  color: #00416b;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html#id-top #service04 .link a {
    width: 142px;
  }
}
#id-top #service04 .link a, #id-top #service04 .link a::before, #id-top #service04 .link a::after {
  transition: all 0.3s ease;
}
#id-top #service04 .link a::before, #id-top #service04 .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #fff;
}
#id-top #service04 .link a::before {
  top: -1px;
  right: 15px;
}
#id-top #service04 .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #id-top #service04 .link a:hover {
    color: #fff;
    background: rgba(0, 65, 107, 0.9);
  }
  #id-top #service04 .link a:hover::before, #id-top #service04 .link a:hover::after {
    opacity: 0;
  }
}
#id-top #service04 .image {
  z-index: -1;
  position: absolute;
  top: -145px;
  right: 0;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #service04 .image {
    order: 2;
    position: static;
    margin-top: 15px;
  }
}
#id-top #caseStudy {
  padding-bottom: 145px;
  padding-top: 100px;
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy {
    padding-bottom: 50px;
  }
}
#id-top #caseStudy .apexBlock .heading {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy .apexBlock .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
#id-top #caseStudy .apexBlock .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy .apexBlock .heading {
    position: static;
  }
}
#id-top #caseStudy .caseList {
  margin-left: 216px;
  border-top: 1px solid rgba(128, 128, 128, 0.14);
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy .caseList {
    margin-top: 20px;
    margin-left: 0;
  }
}
#id-top #caseStudy .caseList .case {
  display: flex;
  border-bottom: 1px solid rgba(128, 128, 128, 0.14);
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #caseStudy .caseList .case.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy .caseList .case {
    display: block;
  }
}
#id-top #caseStudy .caseList .case .image {
  flex: 0 0 432px;
}
#id-top #caseStudy .caseList .case .block {
  padding: 20px 20px 20px 30px;
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy .caseList .case .block {
    padding: 10px 0 20px;
  }
}
#id-top #caseStudy .caseList .case .block .heading {
  line-height: 1.3;
  font-size: 24px;
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy .caseList .case .block .heading {
    font-size: 18px;
  }
}
#id-top #caseStudy .caseList .case .block .sub {
  margin-top: 4px;
  line-height: 1.3;
  font-size: 12px;
}
#id-top #caseStudy .caseList .case .block .desc {
  margin-top: 16px;
  font-size: 12px;
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy .caseList .case .block .desc {
    margin-top: 8px;
  }
}
#id-top #caseStudy .caseList a {
  text-decoration: none;
}
#id-top #caseStudy .link {
  margin-top: 40px;
  margin-left: 648px;
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy .link {
    margin: 30px auto 0;
    order: 6;
  }
}
#id-top #caseStudy .link a {
  display: block;
  position: relative;
  width: 215px;
  height: 52px;
  border: 1px solid #00416b;
  color: #00416b;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy .link a {
    width: 142px;
  }
}
#id-top #caseStudy .link a, #id-top #caseStudy .link a::before, #id-top #caseStudy .link a::after {
  transition: all 0.3s ease;
}
#id-top #caseStudy .link a::before, #id-top #caseStudy .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #fff;
}
#id-top #caseStudy .link a::before {
  top: -1px;
  right: 15px;
}
#id-top #caseStudy .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #id-top #caseStudy .link a:hover {
    color: #fff;
    background: rgba(0, 65, 107, 0.9);
  }
  #id-top #caseStudy .link a:hover::before, #id-top #caseStudy .link a:hover::after {
    opacity: 0;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #caseStudy .link a {
    margin: 30px auto 0;
    order: 6;
  }
}
#id-top #news {
  padding-top: 150px;
  padding-bottom: 50px;
}
@media screen and (max-width: 640px) {
  html#id-top #news {
    padding-top: 50px;
    padding-bottom: 0px;
  }
}
#id-top #news .heading {
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #news .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
#id-top #news .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #news .heading {
    position: static;
  }
}
#id-top #news .newsList {
  margin-left: 216px;
}
@media screen and (max-width: 640px) {
  html#id-top #news .newsList {
    margin-top: 20px;
    margin-left: 0;
    border-top: 1px solid #c2c2c2;
  }
}
#id-top #news .newsList > li {
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #news .newsList > li.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #news .newsList > li a {
  display: table;
  width: 100%;
  border-bottom: 1px solid #c2c2c2;
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #news .newsList > li a {
    display: block;
    padding: 8px 0;
  }
}
#id-top #news .newsList > li a > span {
  display: table-cell;
  padding: 8px 0;
}
@media screen and (max-width: 640px) {
  html#id-top #news .newsList > li a > span {
    display: block;
    padding: 0;
  }
}
#id-top #news .newsList > li a .date {
  width: 110px;
  padding-left: 4px;
}
@media screen and (max-width: 640px) {
  html#id-top #news .newsList > li a .date {
    width: auto;
    padding: 0;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #news .newsList > li a .text {
    margin-top: 4px;
    line-height: 1.5;
  }
}
#id-top #news .newsList > li a:hover {
  border-color: #00416b;
  color: #00416b;
}
#id-top #news .link {
  top: 0px;
  margin-left: 216px;
}
@media screen and (max-width: 640px) {
  html#id-top #news .link {
    position: static;
    margin-top: 20px;
    margin-left: 0px;
    text-align: center;
  }
}
#id-top #news .link a {
  display: inline-block;
  position: relative;
  top: 50px;
  width: 215px;
  height: 52px;
  border: 1px solid #00416b;
  color: #00416b;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html#id-top #news .link a {
    top: 0px;
    width: 142px;
  }
}
#id-top #news .link a, #id-top #news .link a::before, #id-top #news .link a::after {
  transition: all 0.3s ease;
}
#id-top #news .link a::before, #id-top #news .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #fff;
}
#id-top #news .link a::before {
  top: -1px;
  right: 15px;
}
#id-top #news .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #id-top #news .link a:hover {
    color: #fff;
    background: rgba(0, 65, 107, 0.9);
  }
  #id-top #news .link a:hover::before, #id-top #news .link a:hover::after {
    opacity: 0;
  }
}

#id-top #data {
  padding-top: 150px;
  padding-bottom: 150px;
}
@media screen and (max-width: 640px) {
  html#id-top #data {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #data .contentInner {
    display: flex;
    flex-direction: column;
    padding-top: 0;
  }
}
#id-top #data .contentInner.is-show .image {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-top #data .heading {
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  position: relative;
  top: 0;
  left: 0;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #data .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
#id-top #data .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #data .heading {
    position: static;
    order: 1;
  }
}
#id-top #data .lead {
  position: relative;
  font-size: 54px;
  line-height: 80px;
  letter-spacing: 0.03em;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #data .lead {
    font-size: 30px;
    line-height: 34px;
  }
}
#id-top #data .lead.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #data .lead {
    margin-top: 20px;
    text-align: left;
    right: unset;
    order: 2;
  }
}
#id-top #data .desc {
  margin-top: 30px;
  position: relative;
  width: 863px;
  font-size: 16px;
  line-height: 32px;
}
@media screen and (max-width: 640px) {
  html#id-top #data .desc {
    order: 3;
    margin-top: 20px;
    position: static;
    font-size: 12px;
    line-height: 20px;
  }
  html#id-top #data .desc br {
    display: none;
  }
}
#id-top #data .link {
  top: 0px;
  margin-top: 50px;
}
@media screen and (max-width: 640px) {
  html#id-top #data .link {
    order: 5;
    position: static;
    margin-top: 20px;
    text-align: center;
  }
}
#id-top #data .link02 {
  margin-top: 30px;
}

#id-top #data .link a {
  display: inline-block;
  top: 19.5px;
  width: 215px;
  height: 52px;
  border: 1px solid #00416b;
  color: #00416b;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html#id-top #data .link a {
    top: 0px;
    width: 142px;
  }
}
#id-top #data .link a, #id-top #data .link a::before, #id-top #data .link a::after {
  transition: all 0.3s ease;
}
#id-top #data .link a::before, #id-top #data .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #fff;
}
#id-top #data .link a::before {
  top: -1px;
  right: 15px;
}
#id-top #data .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #id-top #data .link a:hover {
    color: #fff;
    background: rgba(0, 65, 107, 0.9);
  }
  #id-top #data .link a:hover::before, #id-top #data .link a:hover::after {
    opacity: 0;
  }
}
#id-top #data .image {
  width: 863px;
  margin-top: -136px;
  margin-left: 540px;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-top #data .image {
    order: 4;
    position: static;
    width: auto;
    margin-left: 0;
    margin-top: 20px;
    margin-bottom: 30px;
  }
  html#id-top #data .image img {
    margin-right: -18%;
  }
}

#id-top #techblog {
  min-height: 54px;
  padding-top: 100px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #techblog.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #techblog {
    padding-top: 50px;
    min-height: 0;
  }
}
#id-top #techblog .heading {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
}
@media screen and (max-width: 640px) {
  html#id-top #techblog .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #techblog .heading {
    position: static;
  }
}
#id-top #techblog .desc {
  margin-left: 216px;
}
@media screen and (max-width: 640px) {
  html#id-top #techblog .desc {
    margin-top: 20px;
    margin-left: 0;
  }
}
#id-top #techblog .link {
  top: 0px;
  margin-left: 650px;
}
@media screen and (max-width: 640px) {
  html#id-top #techblog .link {
    position: static;
    margin-top: 20px;
    margin-left: 0px;
    text-align: center;
  }
}
#id-top #techblog .link a {
  display: inline-block;
  position: relative;
  top: 19.5px;
  width: 215px;
  height: 52px;
  border: 1px solid #00416b;
  color: #00416b;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html#id-top #techblog .link a {
    top: 0px;
    width: 142px;
  }
}
#id-top #techblog .link a, #id-top #techblog .link a::before, #id-top #techblog .link a::after {
  transition: all 0.3s ease;
}
#id-top #techblog .link a::before, #id-top #techblog .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #fff;
}
#id-top #techblog .link a::before {
  top: -1px;
  right: 15px;
}
#id-top #techblog .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #id-top #techblog .link a:hover {
    color: #fff;
    background: rgba(0, 65, 107, 0.9);
  }
  #id-top #techblog .link a:hover::before, #id-top #techblog .link a:hover::after {
    opacity: 0;
  }
}

#id-top #recruit {
  min-height: 54px;
  padding-top: 100px;
  padding-bottom: 150px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-top #recruit.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-top #recruit {
    min-height: 0;
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
#id-top #recruit .heading {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
}
@media screen and (max-width: 640px) {
  html#id-top #recruit .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
@media screen and (max-width: 640px) {
  html#id-top #recruit .heading {
    position: static;
  }
}
#id-top #recruit .desc {
  margin-left: 216px;
}
@media screen and (max-width: 640px) {
  html#id-top #recruit .desc {
    margin-top: 20px;
    margin-left: 0;
  }
}
#id-top #recruit .link {
  top: 0px;
  margin-left: 650px;
}
@media screen and (max-width: 640px) {
  html#id-top #recruit .link {
    position: static;
    margin-top: 20px;
    margin-left: 0px;
    text-align: center;
  }
}
#id-top #recruit .link a {
  display: inline-block;
  position: relative;
  top: 19.5px;
  width: 215px;
  height: 52px;
  border: 1px solid #00416b;
  color: #00416b;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html#id-top #recruit .link a {
    top: 0px;
    width: 142px;
  }
}
#id-top #recruit .link a, #id-top #recruit .link a::before, #id-top #recruit .link a::after {
  transition: all 0.3s ease;
}
#id-top #recruit .link a::before, #id-top #recruit .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #fff;
}
#id-top #recruit .link a::before {
  top: -1px;
  right: 15px;
}
#id-top #recruit .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #id-top #recruit .link a:hover {
    color: #fff;
    background: rgba(0, 65, 107, 0.9);
  }
  #id-top #recruit .link a:hover::before, #id-top #recruit .link a:hover::after {
    opacity: 0;
  }
}

#id-about #aboutUs {
  padding-bottom: 100px;
}
@media screen and (max-width: 640px) {
  html#id-about #aboutUs {
    padding-bottom: 50px;
  }
}
#id-about #aboutUs .contentInner {
  padding-top: 150px;
}
@media screen and (max-width: 640px) {
  html#id-about #aboutUs .contentInner {
    padding-top: 100px;
  }
}
#id-about #aboutUs .heading {
  font-size: 36px;
  line-height: 84px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-weight: bold;
  font-size: 60px;
  position: absolute;
  top: 150px;
  left: 0;
}
@media screen and (max-width: 640px) {
  html#id-about #aboutUs .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
#id-about #aboutUs .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-about #aboutUs .heading {
    position: static;
    opacity: 1 !important;
  }
}
#id-about #aboutUs .lead {
  margin-left: 432px;
  font-size: 46px;
  line-height: 68px;
  letter-spacing: 0.06em;
  color: #000;
  margin-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 640px) {
  html#id-about #aboutUs .lead {
    font-size: 30px;
    line-height: 34px;
  }
}
#id-about #aboutUs .lead.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-about #aboutUs .lead {
    margin-top: 30px;
    margin-left: 0;
  }
}
#id-about #aboutUs .desc {
  width: 541px;
  /* margin-top: 40px; */
  margin-left: 432px;
}
#id-about #aboutUs .desc.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-about #aboutUs .desc {
    width: auto;
    margin-top: 20px;
    margin-left: 0;
  }
}
#id-about #aboutUs .desc p {
  margin-top: 16px;
}
#id-about #member {
  padding-bottom: 160px;
}
@media screen and (max-width: 640px) {
  html#id-about #member {
    padding-bottom: 50px;
  }
}
#id-about #member .apexBlock .heading {
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  position: absolute;
  top: 400px;
  left: 0;
}
@media screen and (max-width: 640px) {
  html#id-about #member .apexBlock .heading {
    font-size: 20px;
    line-height: 20px;
  }
  html#id-about #member .apexBlock .heading br {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  html#id-about #member .apexBlock .heading {
    position: static;
  }
}
#id-about #member .memberList {
  display: block;
  margin-left: 216px;
  flex-wrap: wrap;
}
@media screen and (max-width: 640px) {
  html#id-about #member .memberList {
    display: block;
    margin-left: 0;
  }
}
#id-about #member .memberList .member {
  flex: 0 0 430px;
  margin-left: 1px;
}
@media screen and (max-width: 640px) {
  html#id-about #member .memberList .member {
    margin-top: 30px;
    margin-left: 0;
  }
}
#id-about #member .memberList .member .image {
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-about #member .memberList .member .image.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-about #member .memberList .member .name {
  margin-top: 20px;
  margin-left: 450px;
  position: relative;
  padding: 0 2px;
  line-height: 1.3;
  font-size: 24px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-about #member .memberList .member .name.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-about #member .memberList .member .name {
    margin-top: 12px;
    margin-left: 0px;
  }
}
#id-about #member .memberList .member .position {
  margin-top: 16px;
  margin-left: 450px;
  position: relative;
  padding: 0 2px;
  line-height: 1.3;
  font-size: 12px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-about #member .memberList .member .position.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-about #member .memberList .member .position {
    margin-top: 12px;
    margin-left: 0px;
    font-size: 12px;
  }
}
#id-about #member .memberList .member .desc {
  margin-top: 16px;
  margin-left: 450px;
  position: relative;
  padding: 0 20px 0 2px;
  font-size: 13px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-about #member .memberList .member .desc.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-about #member .memberList .member .desc {
    margin-top: 12px;
    margin-left: 0px;
    font-size: 12px;
  }
}
@media screen and (min-width: 641px) {
  #id-about #member .memberList #member-hashimoto {
    /*margin-top: 0;*/
    padding-bottom: 50px;
  }
  #id-about #member .memberList #member-kotaki {
    padding-bottom: 50px;
  }
  #id-about #member .memberList #member-yoshida {
    /*margin-top: 50px;*/
    padding-bottom: 73px;
  }
  #id-about #member .memberList #member-nakamura {
    margin-top: 30px;
  }
  #id-about #member .memberList #member-iino {
    margin-top: 80px;
  }
}
#id-about #member .image {
  z-index: -1;
  position: absolute;
  right: 50%;
  width: 430px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-about #member .image {
    position: static;
    width: auto;
    margin-top: 20px;
  }
}
#id-about #access {
  padding-bottom: 160px;
}
@media screen and (max-width: 640px) {
  html#id-about #access {
    padding-bottom: 50px;
  }
}
#id-about #access .heading {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-about #access .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
#id-about #access .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-about #access .heading {
    position: static;
  }
}
#id-about #access .address {
  margin-left: 216px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-about #access .address.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-about #access .address {
    margin-top: 20px;
    margin-left: 0;
  }
}
#id-about #access .mapBlock {
  margin-top: 50px;
  margin-left: 216px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-about #access .mapBlock.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-about #access .mapBlock {
    margin-top: 20px;
    margin-left: 0;
  }
}
#id-about #access .googleMapObject {
  height: 360px;
  border: 1px solid #eee;
}
@media screen and (max-width: 640px) {
  html#id-about #access .googleMapObject {
    height: 180px;
  }
}
#id-about #companyProfile {
  padding-bottom: 160px;
}
@media screen and (max-width: 640px) {
  html#id-about #companyProfile {
    padding-bottom: 50px;
  }
}
#id-about #companyProfile .heading {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-about #companyProfile .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
#id-about #companyProfile .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-about #companyProfile .heading {
    position: static;
  }
  html#id-about #companyProfile .heading br {
    display: none;
  }
}
#id-about #companyProfile .profileTable {
  table-layout: fixed;
  width: 864px;
  margin-left: 216px;
}
@media screen and (max-width: 640px) {
  html#id-about #companyProfile .profileTable {
    width: auto;
    margin-top: 30px;
    margin-left: 0;
  }
}
#id-about #companyProfile .profileTable tr {
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#id-about #companyProfile .profileTable tr.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
#id-about #companyProfile .profileTable th, #id-about #companyProfile .profileTable td {
  padding: 4px 2px 26px;
}
@media screen and (max-width: 640px) {
  html#id-about #companyProfile .profileTable th, html#id-about #companyProfile .profileTable td {
    padding: 0 0 10px;
  }
}
#id-about #companyProfile .profileTable th {
  width: 216px;
  vertical-align: top;
}
@media screen and (max-width: 640px) {
  html#id-about #companyProfile .profileTable th {
    width: 70px;
  }
}
#id-about #companyProfile .profileTable .memberList {
  display: table;
}
#id-about #companyProfile .profileTable .memberList > li {
  display: table-row;
}
#id-about #companyProfile .profileTable .memberList > li > span {
  display: table-cell;
}
#id-about #companyProfile .profileTable .memberList > li .position {
  padding-right: 20px;
  white-space: nowrap;
}
#id-about #companyProfile .profileTable .businessList {
  list-style: disc;
  margin-left: 20px;
}
#id-about #companyProfile .profileTable .businessList li > ul {
  margin-left: 40px;
  list-style-type: circle;
}
@media screen and (max-width: 640px) {
  html#id-about #companyProfile .profileTable .businessList {
    margin-left: 10px;
  }
  html#id-about #companyProfile .profileTable .businessList li > ul {
    margin-left: 20px;
  }
}

#page-container #contact {
  z-index: 8;
  padding-bottom: 100px;
  background: #00416b;
  color: #fff;
}
@media screen and (max-width: 640px) {
  html #page-container #contact {
    padding-bottom: 50px;
  }
}
#page-container #contact::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 600px;
  background: radial-gradient(600px 600px at 300px 0, rgba(255, 255, 255, 0.5), #00416b);
}
@media screen and (max-width: 640px) {
  html #page-container #contact::before {
    display: none;
  }
}
#page-container #contact .contentInner {
  width: 100%;
}
#page-container #contact .contentInner::before {
  content: "";
  display: block;
  width: 1px;
  height: 110px;
  background: #fff;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  html #page-container #contact .contentInner::before {
    height: 55px;
  }
}
@media screen and (max-width: 640px) {
  html #page-container #contact .contentInner {
    padding: 0px;
  }
}
#page-container #contact .heading {
  margin: 20px auto 0;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #fff;
  font-family: 'Barlow Semi Condensed', sans-serif;
  text-align: center;
}
#page-container #contact .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html #page-container #contact .heading {
    font-size: 20px;
    line-height: 20px;
  }
}
@media screen and (max-width: 640px) {
  html #page-container #contact .heading {
    margin-top: 10px;
  }
}
#page-container #contact .lead {
  margin: 30px auto 0;
  text-align: center;
  font-size: 54px;
  line-height: 68px;
  letter-spacing: 0.06em;
  color: #fff;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
@media screen and (max-width: 640px) {
  html #page-container #contact .lead {
    font-size: 30px;
    line-height: 34px;
  }
}
#page-container #contact .lead.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html #page-container #contact .lead {
    margin-top: 20px;
  }
}
#page-container #contact .desc {
  margin-top: 40px;
  text-align: center;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.06em;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#page-container #contact .desc.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html #page-container #contact .desc {
    margin: 20px 10px 0;
  }
  html #page-container #contact .desc br {
    display: none;
  }
}
#page-container #contact .links {
  margin-top: 40px;
  text-align: center;
  font-size: 0;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#page-container #contact .links.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html #page-container #contact .links {
    margin-top: 20px;
  }
}
#page-container #contact .links > li {
  display: inline-block;
  margin: 0 15px 15px;
  vertical-align: top;
}
#page-container #contact .links a {
  display: inline-block;
  position: relative;
  width: 215px;
  height: 52px;
  border: 1px solid #fff;
  color: #fff;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
  background: #fff;
  border: 1px solid #00416b;
  color: #00416b;
}
@media screen and (min-width: 641px) {
  #page-container #contact .links a {
    transition: all 0.3s ease;
  }
  #page-container #contact .links a:hover {
    border: 1px solid #fff;
    color: #fff;
    background: none;
  }
}
#page-container #contact .addressBlock {
  margin-top: 100px;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
#page-container #contact .addressBlock.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html #page-container #contact .addressBlock {
    margin-top: 50px;
  }
}
#page-container #contact .addressBlock::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #fff;
  margin: 0 auto;
}
#page-container #contact .addressBlock .company {
  margin-top: 70px;
  line-height: 1.3;
  text-align: center;
  font-size: 24px;
  line-height: 30px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 640px) {
  html #page-container #contact .addressBlock .company {
    font-size: 18px;
    margin-top: 45px;
  }
}
#page-container #contact .addressBlock .address {
  margin-top: 16px;
  text-align: center;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 640px) {
  html #page-container #contact .addressBlock .address {
    font-size: 12px;
  }
  html #page-container #contact .addressBlock .address .zipCode {
    display: block;
  }
}
#page-container #contact .addressBlock .menuList {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}
#page-container #contact .addressBlock .menuList li {
  padding: 0px 20px;
  position: relative;
}
#page-container #contact .addressBlock .menuList li:first-child::after {
  display: none;
}
#page-container #contact .addressBlock .menuList li::after {
  content: '';
  width: 1px;
  height: 1em;
  position: absolute;
  top: 50%;
  left: 0px;
  background: #fff;
  transform: translate3d(0px, -50%, 0px);
}
#page-container #contact .addressBlock .menuList li a {
  font-size: 16px;
  line-height: 16px;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 641px) {
  #page-container #contact .addressBlock .menuList li a:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 640px) {
  html #page-container #contact .addressBlock .menuList {
    margin-top: 40px;
    display: block;
    text-align: center;
  }
  html #page-container #contact .addressBlock .menuList li {
    margin-top: 10px;
  }
  html #page-container #contact .addressBlock .menuList li::after {
    display: none;
  }
  html #page-container #contact .addressBlock .menuList li a {
    font-size: 14px;
    line-height: 14px;
  }
}
#page-container #contact .addressBlock .snsList {
  margin-top: 70px;
  display: flex;
  justify-content: center;
}
#page-container #contact .addressBlock .snsList li {
  margin: 0px 15px;
}
#page-container #contact .addressBlock .snsList li a {
  display: block;
}
@media screen and (min-width: 641px) {
  #page-container #contact .addressBlock .snsList li a {
    transition: all 0.3s ease;
  }
  #page-container #contact .addressBlock .snsList li a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 640px) {
  html #page-container #contact .addressBlock .snsList li {
    width: 40px;
  }
}
#page-container #contact .addressBlock .copyright {
  margin-top: 30px;
  text-align: center;
  font-size: 12px;
  line-height: 12px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 640px) {
  html #page-container #contact .addressBlock .copyright {
    margin-top: 30px;
  }
}

















/*
180910 underlayer
*/























#id-underlayer #underlayer {
  padding-bottom: 100px;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #underlayer {
    padding-bottom: 20px;
  }
}
#id-underlayer #underlayer .contentInner {
  padding-top: 150px;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #underlayer .contentInner {
    padding-top: 100px;
  }
}
#id-underlayer #underlayer .heading.is-show {
    opacity: 1;
    transform: translate3d(0px, 0px, 0px);
}
#id-underlayer #underlayer .heading {
  font-size: 36px;
  line-height: 84px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-weight: bold;
  font-size: 60px;
  position: absolute;
  top: 150px;
  left: 0;
}

@media screen and (max-width: 640px) {
  html#id-underlayer #underlayer .heading {
    font-size: 32px;
    line-height: 37px;
  }
}
.contentInner.is-show {
  opacity: 1!important;
  transform: translate3d(0px, 0px, 0px)!important;
}
#id-underlayer #underlayer .contentInner.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
.contentInner.is-appear {
    opacity: 0;
    transform: translate3d(0px, 15px, 0px);
    transition: opacity .7s ease, transform .7s ease;
}

@media screen and (max-width: 640px) {
  html#id-underlayer #underlayer .heading {
    position: static;
    opacity: 1 !important;
  }
}
#id-underlayer #underlayer .lead {
  margin-left: 432px;
  font-size: 54px;
  line-height: 68px;
  letter-spacing: 0.06em;
  color: #000;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
  margin-bottom: 40px;
  position: relative;
}
#id-underlayer #underlayer .lead.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-underlayer #underlayer .lead {
    font-size: 30px;
    line-height: 34px;
  }
}
#id-underlayer #underlayer .desc {
  width: 650px;
  margin-left: 432px;
  position: relative;
}
#id-underlayer #underlayer .desc.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-underlayer #underlayer .desc {
    width: auto;
    margin-top: 50px;
    margin-left: 0;
    font-size: 12px!important;
    line-height: 22px;
    display: none;
  }
}
#id-underlayer #underlayer .desc p {
  margin-top: 16px;
  font-size: 43px;
}
#id-underlayer #underlayer .contact_desc p {
  margin-top: 16px;
  font-size: 16px;
}
#id-underlayer #underlayer .description {
  width: 650px;
  margin-left: 432px;
  position: relative;
}
#id-underlayer #underlayer .description.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-underlayer #underlayer .description {
    width: auto;
    margin-top: 40px;
    margin-left: 0;
    font-size: 12px!important;
    line-height: 22px;
  }
}
#id-underlayer #underlayer .description p {
  font-size: 43px;
  margin-top: 20px;
}
@media screen and (max-width: 640px){
#id-underlayer #underlayer .description p {
  font-size: 20px;
}
}
#id-underlayer #underlayer .description .cliant{
  font-weight: 1000;
}

/* error-page */
#id-underlayer #underlayer .error-desc {
  width: 650px;
  margin-left: 432px;
  position: relative;
}
#id-underlayer #underlayer .error-desc.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-underlayer #underlayer .error-desc {
    width: auto;
    margin-top: 50px;
    margin-left: 0;
    font-size: 12px!important;
    line-height: 22px;
  }
}
#id-underlayer #underlayer .error-desc p {
  margin-top: 16px;
  font-size: 16px;
}



/*
180910 underLayer - download
*/



#id-underlayer #underlayer .download_desc p{
  font-size: 18px;
}
#download,#contact_form {
  padding-bottom: 60px;
}
@media screen and (max-width: 640px) {
#download,#contact_form {
    padding-bottom: 50px;
  }
}
#id-underlayer #download .heading,#id-underlayer #contact_form .heading {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease, transform .7s ease;
}
.jp-heading {
    font-family: "Noto Sans", sans-serif!important;
    font-size: 34px!important;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #download .heading,html#id-underlayer #contact_form .heading {
    font-size: 24px!important;
    line-height: 25px;
  }
}
#id-underlayer #download .heading.is-show,#id-underlayer #contact_form .heading.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
@media screen and (max-width: 640px) {
  html#id-underlayer #download .heading,html#id-underlayer #contact_form .heading {
    position: static;
    margin-bottom: 20px;
  }
}

#id-underlayer #download .donwloadList {
  display: block;
  margin-left: 216px;
  flex-wrap: wrap;
  padding-top: 100px;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #download .donwloadList {
    display: block;
    margin-left: 0;
    padding-top: 20px;
  }
}
#id-underlayer #download .donwloadList .donwload {
  width: 390px;
  margin-left: 39px;
  position:  relative;
  margin-bottom: 80px;
  display: inline-block;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease,   transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #download .donwloadList .donwload {
    margin-top: 30px;
    margin-left: 0!important;
    margin-bottom: 40px;
  }
}
#id-underlayer #download .donwloadList .donwload img {
  height: 260px;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #download .donwloadList .donwload img {
    height: auto;
  }
}
#id-underlayer #download .donwloadList .donwload .name {
  margin-top: 30px;
  padding: 0 2px;
  line-height: 1.3;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #download .donwloadList .donwload .name {
    margin-top: 20px;
  }
}
#id-underlayer #download .donwloadList .donwload .desc {
  margin-top: 12px;
  padding: 0 20px 0 2px;
  font-size: 14px;
  /* line-height: 20px; */
  font-weight: 200;
}
#id-underlayer #download .donwloadList .is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
  vertical-align: top;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #download .donwloadList .donwload .desc {
    margin-top: 12px;
    font-size: 12px;
  }
}
.donwload > a {
    text-decoration: none;
    cursor: pointer;
    display: block;
        -webkit-transition: all .1s ease-in-out;
    -moz-transition: all .1s ease-in-out;
    -ms-transition: all .1s ease-in-out;
    -o-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out;
}


.donwload > a:hover {
    opacity:0.7;
  }
/*.donwload > a:hover {
    -webkit-box-shadow: 0 0 4px 0 #11416b33, 0 0 12px 0 #11416b33, 5px 5px 4px 0 #11416b33;
    -moz-box-shadow: 0 0 4px 0 #11416b33, 0 0 12px 0 #11416b33, 5px 5px 4px 0 #11416b33;
    box-shadow: 0 0 4px 0 #11416b33, 0 0 12px 0 #11416b33, 5px 5px 4px 0 #11416b33;
    background:#fff;
}*/

.donwload .image img {
    width: 100%;
}
.donwloadList li:nth-child(2n-1) {
    margin-left: 0!important;
}
.donwloadList li:nth-child(1):before {
    content: "01";
}
.donwloadList li:nth-child(2):before {
    content: "02";
}
.donwloadList li:nth-child(3):before {
    content: "03";
}
.donwloadList li:nth-child(4):before {
    content: "04";
}
.donwloadList li:nth-child(5):before {
    content: "05";
}
.donwloadList li:nth-child(6):before {
    content: "06";
}
.donwloadList li:nth-child(7):before {
    content: "07";
}
.donwloadList li:nth-child(8):before {
    content: "08";
}
.donwloadList li:nth-child(9):before {
    content: "09";
}
.donwloadList li:nth-child(10):before {
    content: "10";
}
.donwloadList li:before {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: bold;
    font-size: 62px;
    text-stroke: 1px #8e8e8e;
    -webkit-text-stroke: 1px #8e8e8e;
    color: #fff0;
    position: absolute;
    top: -29px;
    z-index: 1;
    line-height: 40px;
    left: -1px;
}
.document_index {
    margin-top: 30px;
}
.document_overview h2 {
    top: 265px;
    z-index: 1;
    font-size: 16px;
}
.document_overview {
    width: 390px;
    position: absolute;
    height: 100%;
    top: 22px;
    opacity: 0;
    transform: translate3d(0px, 15px, 0px);
    transition: opacity .7s ease, transform .7s ease;
}
.document_overview.is-appear.is-show {
    opacity: 1;
    transform: translate3d(0px, 0px, 0px);
}
.document_overview_wrapper {
    position: -webkit-sticky;
    position: sticky;
    top: 40px;
    left: 0;
}
.document_overview_wrapper_case {
  top: 40px;
  left: 0;
}
.heading_jp {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 36px;
    line-height: 36px;
    letter-spacing: 0.06em;
    color: #888888;
}
.document_index dd {
    font-size: 14px;
    font-weight: 200;
}
.document_index dt {
    font-size: 16px;
    font-weight: 400;
}
.document_index dd {
    font-size: 14px;
    font-weight: 200;
    padding-left: 1px;
}
.document_index dt {
    font-size: 16px;
    font-weight: 400;
}

/*casestudy*/

#id-underlayer #casestudy .casestudyList {
  display: block;
  margin-left: 216px;
  flex-wrap: wrap;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #casestudy .casestudyList {
    display: block;
    margin-left: 0;
  }
}
#id-underlayer #casestudy .casestudyList .casestudy {
  width: 390px;
  margin-left: 39px;
  position:  relative;
  margin-bottom: 80px;
  display: inline-block;
  opacity: 0;
  transform: translate3d(0px, 15px, 0px);
  transition: opacity .7s ease,   transform .7s ease;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #casestudy .casestudyList .casestudy {
    margin-top: 30px;
    margin-left: 0!important;
    margin-bottom: 40px;
  }
}
#id-underlayer #casestudy .casestudy .name {
  margin-top: 30px;
  padding: 0 2px;
  line-height: 1.3;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #casestudy .casestudyList .casestudy .name {
    margin-top: 20px;
  }
}
#id-underlayer #casestudy .casestudyList .casestudy .comp {
  margin-top: 12px;
  padding: 0 20px 0 2px;
  font-size: 14px;
  /* line-height: 20px; */
  font-weight: 200;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #casestudy .casestudyList .casestudy .comp {
    margin-top: 12px;
    font-size: 12px;
  }
}
#id-underlayer #casestudy .casestudyList .casestudy .desc {
  margin-top: 12px;
  padding: 0 20px 0 2px;
  font-size: 14px;
  /* line-height: 20px; */
  font-weight: 200;
}
#id-underlayer #casestudy .casestudyList .is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
  vertical-align: top;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #casestudy .casestudyList .casestudy .desc {
    margin-top: 12px;
    font-size: 12px;
  }
}
.casestudy > a {
    text-decoration: none;
    cursor: pointer;
    display: block;
        -webkit-transition: all .1s ease-in-out;
    -moz-transition: all .1s ease-in-out;
    -ms-transition: all .1s ease-in-out;
    -o-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out;
}


.casestudy > a:hover {
    opacity:0.7;
  }
/*.donwload > a:hover {
    -webkit-box-shadow: 0 0 4px 0 #11416b33, 0 0 12px 0 #11416b33, 5px 5px 4px 0 #11416b33;
    -moz-box-shadow: 0 0 4px 0 #11416b33, 0 0 12px 0 #11416b33, 5px 5px 4px 0 #11416b33;
    box-shadow: 0 0 4px 0 #11416b33, 0 0 12px 0 #11416b33, 5px 5px 4px 0 #11416b33;
    background:#fff;
}*/

.casestudy .image img {
    width: 100%;
}
.casestudyList li:nth-child(2n-1) {
    margin-left: 0!important;
}
.casestudyList li:nth-child(1):before {
    content: "01";
}
.casestudyList li:nth-child(2):before {
    content: "02";
}
.casestudyList li:nth-child(3):before {
    content: "03";
}
.casestudyList li:nth-child(4):before {
    content: "04";
}
.casestudyList li:nth-child(5):before {
    content: "05";
}
.casestudyList li:nth-child(6):before {
    content: "06";
}
.casestudyList li:nth-child(7):before {
    content: "07";
}
.casestudyList li:nth-child(8):before {
    content: "08";
}
.casestudyList li:nth-child(9):before {
    content: "09";
}
.casestudyList li:nth-child(10):before {
    content: "10";
}
.casestudyList li:before {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: bold;
    font-size: 62px;
    text-stroke: 1px #8e8e8e;
    -webkit-text-stroke: 1px #8e8e8e;
    color: #fff0;
    position: absolute;
    top: -29px;
    z-index: 1;
    line-height: 40px;
    left: -1px;
}
#id-underlayer #casestudy .link {
  top: 0px;
  margin-left: 40%;
  margin-bottom: 166px;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #casestudy .link {
    position: static;
    margin-top: 0px;
    margin-left: 0px;
    margin-bottom: 50px;
    text-align: center;
  }
}
#id-underlayer #casestudy .link a {
  display: inline-block;
  position: relative;
  width: 400px;
  height: 52px;
  border: 1px solid #00416b;
  color: #00416b;
  line-height: 52px;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  font-size: 24px;
}
@media screen and (max-width: 640px) {
  html#id-underlayer #casestudy .link a {
    top: 0px;
    font-size: 16px;
  }
}
#id-underlayer #casestudy .link a, #id-underlayer #casestudy .link a::before, #id-underlayer #casestudy .link a::after {
  transition: all 0.3s ease;
}
#id-underlayer #casestudy .link a::before, #id-underlayer #casestudy .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #fff;
}
#id-underlayer #casestudy .link a::before {
  top: -1px;
  right: 15px;
}
#id-underlayer #casestudy .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #id-underlayer #casestudy .link a:hover {
    color: #fff;
    background: rgba(0, 65, 107, 0.9);
  }
  #id-underlayer #casestudy .link a:hover::before, #id-underlayer #casestudy .link a:hover::after {
    opacity: 0;
  }
}

/*casestudyの個別ページ*/
.abstract{
  margin-bottom: 0px;
  clear: left;
  margin-left: 216px
}
@media screen and (max-width: 640px) {
.abstract {
    display: ;
    margin-left: 0;
  }
#casestudy .heading{
  display: none;
}
}
#casestudy .heading {
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-weight: bold;
  font-size: 36px;
  position: absolute;
  top: 0px;
  left: 0;
}
}
@media screen and (max-width: 640px) {
#casestudy .heading {
    font-size: 37px;
    line-height: 37px;
    display: none;
  }
}
.abstract > .consulting_flow{
  margin-bottom: 30px;
  font-size: 0px;
}
@media screen and (max-width: 640px){
.abstract > .consulting_flow{
    margin-bottom: 30px;
    font-size: 0px;
  }
}
.consulting_flow > .stepbox{
    display: inline-block;
    position: relative;
    width: 142px;
    height: 65px;
    border: 1px solid #fff;
    color: #fff;
    line-height: 65px;
    text-align: center;
    vertical-align: top;
    text-decoration: none;
    font-size: 18px;
    letter-spacing: -.1PX;
}

@media screen and (max-width: 640px){
.consulting_flow > .stepbox{
    display: inline-block;
    position: relative;
    width: 55px;
    height: 36px;
    border: 1px solid #fff;
    color: #fff;
    line-height: 36px;
    text-align: center;
    vertical-align: top;
    text-decoration: none;
    font-size: 11px;
    letter-spacing: -.1PX;
}
}
.consulting_flow > .off{
   background: #c0c0c0;
}
.consulting_flow > .on{
  background: #003b6c;
}
.details > .form_lead{
  margin-bottom: 50px;
}
@media screen and (max-width: 640px){
.details > .form_lead{
  margin-bottom: 0px;
  font-size: 14px;
}
}

#underlayer .description{
  width: auto;
  margin-left: 0;
  font-size: 12px;
  line-height: 60px;
  position:relative;
}
@media screen and (max-width: 640px)  {
#underlayer .description{
  width: auto;
  margin-top: 50px;
  margin-left: 0;
  font-size: 12px;
  line-height: 22px;
  position:relative;
  }
}
.abstract > .mainvisual {
  margin-left: 1px;
}
#casestudy .mainvisual img{
  padding-top: 30px;
  width: 100%;
}
@media screen and (max-width: 640px){
#casestudy .mainvisual img{
  padding-top: 0px;
  width: 100%;
  }
}

.abstract > .illustration{
  margin-left:1px
}

.abstract > .illustration img{
  margin-bottom: 150px;
  padding-top: 30px;
  width: 100%;
}
#casestudy .desc_title{
  font-size: 24px;
  margin-top: 30px;
  font-weight: bold;
}
@media screen and (max-width: 640px){
#casestudy .desc_title{
  font-size: 16px;
  margin-top: 20px;
  font-weight: bold;
}
.abstract > .illustration img{
  margin-bottom: 30px;
  padding-top: 30px;
  width: 100%;
}
}
#casestudy .elements{
  margin-top: 30px;
  margin-bottom: 50px;
}
@media screen and (max-width: 640px){
#casestudy .elements{
  margin-top: 20px;
  margin-bottom: 30px;
}
}
.document_overview_project{
    margin-bottom: 0px;
    clear: left;
}
#projecttimeline .heading {
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-weight: bold;
  font-size: 36px;
  position: absolute;
  top: 0px;
  left: 0;
}
#projecttimeline .flow{
  margin-left: 432px;
}
.seealso_desc{
    margin-bottom: 160px;
    clear: left;
    margin-left: 216px
}

#seealso .heading {
    letter-spacing: 0.06em;
    color: #888888;
    font-family: 'Barlow Semi Condensed', sans-serif;
    font-weight: bold;
    font-size: 36px;
    position: absolute;
    top: 0px;
    left: 0;
  }
.flowdescs{
  margin-bottom: 150px;
  padding-top: 1px;
}
.flow_desc{
  margin-bottom: 0px;
  clear: left;
  border-left: solid 5px #003b6c;
  padding-left: 18px;
  margin-top: 30px;
}

.flow_desc > .flow_action{
  font-size: 24px;
  font-weight: bold;
  padding-top: 20px;
}
.flow_desc > .flow_term{
  letter-spacing: 0.06em;
  color: #888888;
  font-weight: 900;
  font-size: 40px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.flow_desc > .flow_detail{
  font-size:16px;
  padding-bottom: 20px;
}
.projecttimeline{
  margin-bottom: 50px;
  clear: left;
  margin-left: 216px
}
.flowdescs> .flow_2, .flow_3, .flow_4{
  margin-top: 40px;
}
.seealso_desc{
  margin-bottom: 100px;
  clear: left;
  margin-left: 216px
}

#seealso .heading {
  letter-spacing: 0.06em;
  color: #888888;
  font-family: 'Barlow Semi Condensed', sans-serif;
  font-weight: bold;
  font-size: 36px;
  position: absolute;
  top: 0px;
  left: 0;
}
@media screen and (max-width: 640px) {
.seealso_desc{
    margin-bottom: 160px;
    clear: left;
    margin-left: 0px;
  }
#seealso .heading {
    font-size: 37px;
    line-height: 37px;
    position: relative
  }
}
#seealso .seealso_desc{
  color: #003b6c;
  padding-top:20px;
}
#seealso a{
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  #projecttimeline .heading {
      font-size: 28px;
      line-height: 37px;
      padding: 0 15px;
    }
  #projecttimeline .flow{
      margin-left: 0px;
      padding-top: 30px;
  }
  .flowdescs{
      margin-bottom: 50px;
  }
  .flow_desc{
      margin-bottom: 0px;
      clear: left;
      border-left: solid 5px #003b6c;
      padding-left: 18px;
  }
  .flow_desc > .flow_action{
      font-size: 16px;
      font-weight: bold;
      padding-top: 0px;
  }
  .flow_desc > .flow_term{
      letter-spacing: 0.06em;
      color: #888888;
      font-weight: 900;
      font-size: 20px;
      margin-top: 0px;
      margin-bottom: 0px;
  }
  .flow_desc > .flow_detail{
      font-size:16px;
      padding-bottom: 10px;
  }
  .projecttimeline{
      margin-bottom: 50px;
      clear: left;
      margin-left: 216px
  }
  .flowdescs> .flow_2, .flow_3, .flow_4{
      margin-top: 40px;
  }
  }
/*#seealso .contentInner .link {
  margin: 40px 432px 160px 215px;
}*/

@media screen and (max-width: 640px) {
  #seealso .contentInner .link {
    margin: 30px auto 0;
    order: 6;
    display:none;
  }
}
#seealso .contentInner .link {
  margin-bottom:160px;
  margin-left:215px;
}
#seealso .contentInner .link .to_contact {
  float:left;
  position: relative;
  width: 432px;
  height: 52px;
  border: 1px solid #00416b;
  color: #00416b;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 16px;
}
#seealso .contentInner .link .to_consulting {
  margin-top: 16px;
  float:left;
  position: relative;
  width: 432px;
  height: 52px;
  border: 1px solid #00416b;
  color: #00416b;
  line-height: 52px;
  text-align: center;
  vertical-align: top;
  text-decoration: none;
  font-size: 14px;
}
#seealso .contentInner .link .to_case{
  margin-left: 215px;
  margin-top: 16px;
  font-size: 16px;
  border-bottom: 1px solid #00416b;
  color:#00416b;
}
@media screen and (max-width: 640px) {
#seealso .contentInner .link a {
    width: 142px;
  }
}
#seealso .contentInner .link a, #seealso .contentInner .link a::before, #seealso .contentInner .link a::after {
  transition: all 0.3s ease;
}
#seealso .contentInner .link a::before, #seealso .contentInner .link a::after {
  content: "";
  position: absolute;
  width: 8px;
  border-top: 1px solid #fff;
}
#seealso .contentInner .link a::before {
  top: -1px;
  right: 15px;
}
#seealso .contentInner .link a::after {
  bottom: -1px;
  left: 15px;
}
@media screen and (min-width: 641px) {
  #seealso .contentInner .link a:hover {
    color: #fff;
    background: rgba(0, 65, 107, 0.9);
  }
  #seealso .contentInner .link a:hover::before, #seealso .contentInner .link a:hover::after {
    opacity: 0;
  }
}
@media screen and (max-width: 640px) {
  #seealso .contentInner .link a {
    margin: 30px auto 0;
    order: 6;
  }
}

.remodal dt {
    font-size: 36px;
    margin-top: 80px;
    margin-bottom: 30px;
    line-height: 54px;
}
.remodal dd {
    font-size: 14px;
    line-height: 28px;
}
.remodal dd span {
    display: block;
    font-size: 12px;
    color: #e3002b;
    margin-bottom: 30px;
}
.remodal-close {
    margin: 20px 80px;
}
.remodal-closed {
    padding: 20px 80px;
    font-size: 16px;
    background: none;
    border: 1px solid #00416b;
    line-height: 16px;
    color: #00416b;
    margin-bottom: 80px;
}

.footer_style_clear {
    display: none;
}

.footer_style_clear+footer {
    margin-top: 0!important;
}

.footer_style_clear+footer:before {
    display: none!important;
}

.cn_form_message.is-show {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
.cn_form_message {
    margin-top: 0px;
    margin-left: 216px;
    /* opacity: 0; */
    transform: translate3d(0px, 15px, 0px);
    transition: opacity .7s ease, transform .7s ease;
    width: calc(100% - 432px);
}


.cn_form_message_heading {
    font-size: 28px;
    margin-bottom: 30px;
    margin-top: 40px;
}

.cn_form_message_txt {
    font-size: 14px;
    line-height: 28px;
    margin-bottom: 60px;
}

.cn_form_message_btn {
    color: #11416b;
}
.cn_form_message_btn a:hover {
    background: #11416b;
    color: #fff;
}
.cn_form_message_btn a {
    border: 1px solid #11416b;
    text-decoration: none;
    padding: 20px 36px;
    font-size: 16px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    display: inline-block;
}

.privacy_cont.is-show {
    opacity: 1;
    transform: translate3d(0px, 0px, 0px);
}
.privacy_cont {
    margin-top: 95px;
    /* opacity: 0; */
    transform: translate3d(0px, 15px, 0px);
    transition: opacity .7s ease, transform .7s ease;
    width: 100%;
}


.privacy_cont > ul {
    font-size: 14px;
    line-height: 28px;
    margin-bottom: 60px;
    text-align: right;
}

.privacy_txt p {
    font-size: 14px;
    line-height: 28px;
    margin: 5px 0;
}

.privacy_txt h1 {
    font-size: 26px;
    margin: 35px 0 5px;
    font-weight: 700;
}

.privacy_txt h2 {
    font-size: 20px;
    margin: 35px 0 5px;
    font-weight: 700;
}

.privacy_txt ul,.privacy_txt ol {
    margin: 30px 0;
}

.privacy_txt li {
    font-size: 14px;
    line-height: 28px;
}

.privacy_txt .list-decimal {
  list-style: decimal;
  padding-left: 16px;
}

.privacy_left_txt dt,.privacy_left_txt dd {
    text-align: left;
    display: inline-block;
    width: 100%;
}

.privacy_txt dt,.privacy_txt dd {
    font-size: 14px;
    line-height: 28px;
}

.privacy_txt dl {
    margin:  30px 0;
}
.sp-heading {
    display: none;
}
.privacy_left_txt {display: inline-grid;text-align: left;}

@media screen and (max-width: 640px) {
.cn_form_message {
        width: 100%;
        margin: 0px 0 40px;
}

.cn_form_message_heading {
    margin-top: 0;
}

.cn_form_message_txt {
    margin-bottom: 30px;
}

.cn_form_message_btn {
    display: block;
}
.privacy_cont {
    margin-top: 50px;
}

.privacy_cont > ul {
    margin-bottom: 30px;
}

.privacy_txt {
    margin-bottom: 60px;
}
#id-underlayer #download .donwloadList .donwload {
    width: 100%;
}

.donwloadList li:last-child {
    margin-bottom: 70px!important;
}
#id-underlayer #casestudy .casestudyList .casestudy {
  width: 100%;
}

.remodal dt {
    margin-top: 60px;
    font-size: 23px;
    line-height: 38px;
    margin-bottom: 20px;
}

.remodal dd br {
    display: none;
}

.remodal dd {
    font-size: 12px!important;
}

.remodal dd span {
    margin-bottom: 20px;
}

.remodal-closed {
    margin-bottom: 60px;
    padding: 20px 100px;
}
.document_overview_wrapper {
    position: relative;
    top: 0;
}
.document_overview_wrapper_case {
  position: relative;
  top: 0;
}

.cp_form {
    width: 100%;
    margin: 30px 0 0;
}

.document_overview {
    width: 100%;
    margin: 0px 0 0;
    position: relative;
}

.document_index {
    margin-top: 20px;
    margin-bottom: 50px;
}
.sp-heading {
    display: block;
    margin: 30px 0 0;
}

.cp_form {
    margin: 30px 0 0!important;
    width: 100%!important;
}
}

/* the-ai-slides */
/* the-ai-slides-body */
#the-ai-slides-body {
  background: #F0F0F0;
}
/* the-ai-slides-header */
.the-ai-slides-header {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  background: #000000;
  width: auto;
  padding: 25px 0 25px 0;
}

.the-ai-slides-header-logo {
  padding: 0 0 0 50px;
}

@media screen and (max-width: 800px) {
  .the-ai-slides-header-logo {
    padding: 0 0 0 15px;
  }
}

/* the-ai-slides-overview */
#the-ai-slides-overview {
  text-align: center;
  padding: 50px 0 0 0;
}

.the-ai-slides-title {
  font-size: 40px;
  font-weight: bold;
  color: #003E6F;
  transform: scale(1, 0.9);
  font-family: 'Noto Sans JP', sans-serif;
}

.the-ai-slides-subtitle {
  font-size: 15px;
  padding: 0 0 60px 0;
  color: #6E8CA6;
}


@media screen and (max-width: 640px) {
  .the-ai-slides-subtitle {
    font-size: 15px;
    padding: 0 30px 60px 30px;
    color: #6E8CA6;
  }
}

/* the-ai-slides-block */
.the-ai-slides-dl-document-block {
  display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 70px;
}


@media screen and (max-width: 640px) {
  /* the-ai-slides-block */
  .the-ai-slides-dl-document-block {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 0px;
  }
}

.the-ai-slides-dl-document-block-li {
  margin: 0 30px 0 30px;
}

@media screen and (max-width: 640px) {
  .the-ai-slides-dl-document-block-li {
    margin: 0 30px 30px 30px;
  }
}

.the-ai-slides-dl-document-block-li a {
  text-decoration: none;
}

.the-ai-slides-dl-document-block-name {
  font-weight: bold;
  font-size: 17px;
  text-align: center;
  color: #51BEDE;
  padding: 5px 0 0 0;
  width: 340px;
}

.the-ai-slides-dl-document-block-name a {
  text-decoration: none;
}

.the-ai-slides-dl-document-block-name-co {
  font-size: 11px;
}


/* the-ai-slides-footer */
.the-ai-slides-footer {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  background: #000000;
  width: auto;
  padding: 25px 0 25px 0;
  bottom: 0px;
  width: 100%;
}

.the-ai-slides-footer-c {
  padding: 0 0 0 50px;
  color: #FFFFFF;
  font-size: 12px;
}


@media screen and (max-width: 640px) {
  .the-ai-slides-footer-c {
    padding: 0 0 0 0;
    color: #FFFFFF;
    font-size: 12px;
    width: 100%;
    text-align: center;
  }
}
