@charset "UTF-8";
/* CSS Document */
/* 共用ここから */
.maxWidth1100 {
  max-width: 1100px;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  body {
      padding-top: 120px;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
.flexCancell {
  flex-wrap: wrap;
}
.centralNav a {
    color: #292929;
    text-decoration: none;
    font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
    font-size: 0.90rem;
}
.centralNav a:hover {
    color: #FF7F00;
}
.separateLine {
  width: 100%;
  border-bottom: 1px solid #707070;
  display: flex;
}
.separateLine-dot {
  width: 100%;
  border-bottom: 1px dotted #FF7F00;
  display: flex;
}
.bg-HeaderNav {
  background-color: rgba(255, 255, 255, 0.85);
}
.navbar-nav li {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}
/* nav-itemの文字色 */
.navbar .navbar-nav .nav-link {
  color: #000000;
}
/* nav-item activeの文字色 */
.navbar .navbar-nav .active > .nav-link {
  color: rgba(0, 0, 255, 1);
}
/* nav-item:focus、nav-item:hoverの文字色 */
.navbar .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
  color: #FF7F00;
}
/* ドロップダウンアイテムの文字色 */
.dropdown-item {
  color: rgba(255, 0, 0, 1);
}
.marginTop10 {
    margin-top: 10rem !important;
}
.marginBottom6 {
  margin-bottom: 6rem !important;
}
.marginBottom10 {
  margin-bottom: 10rem !important;
}

/* 共用ここまで */
/* TOPここから */
/* ______SNSタイトルアニメーションここから */
.zoomIn {
    animation: zoomIn 1.0s ease 0s 1 normal;
}
/* zoomIn */
@keyframes zoomIn {
    0% {
        opacity: 0;
        transform: scale3d(0.3, .3, 0.3)
    }
    50% {
        opacity: 1
    }
}
/* ______SNSタイトルアニメーションここまで */
.snsTitleBox p {
  font-size: 13vw;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #FF7F00;
}
.snsTitleBox marquee {
  font-size: 13vw;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #FF7F00;
}
.headline40 {
  font-size: 40px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #FF7F00;
    margin-bottom: 0px;
    padding-bottom: 0px;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .headline40 {
      font-size: 20px;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
.demoLinkTxt {
    font-size: 1.9rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .demoLinkTxt {
      font-size: 1.2rem;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
.demoLinkTxt a {
    text-decoration: none;
    color: #383838;
}
.demoLinkTxt a:hover {
    color: #FF7F00;
}
/* TOPここまで */
/* 代表挨拶ここから */
.messageHeadlineTxt {
  font-size: 2.5rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #383838;
    line-height: 170%;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .messageHeadlineTxt {
      font-size: 1.5rem;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
.messageTxt {
  font-size: 1.55rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #383838;
  line-height: 170%;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .messageTxt {
      font-size: 1.4rem;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
.separatorLine {
  border-bottom: 2px solid #FF7F00;
}
/* 代表挨拶ここまで */
/* 事業紹介ここから */
/* 事業紹介ナビゲーションのスタイルここから */
.serviceGnavBox {
    margin: 0px;
    padding: 0px;
}
.serviceGnavBox ul {
    padding: 0px;
    padding: 0px;
}
#serviceGnav li{
    list-style: none;
    float: left;
    width: calc(93.0%/3);
    height: auto;
    margin: 1% 0.50%;
    position: relative;
    text-decoration: none;
    font-size: 1.3rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 900;
    color: #FF7F00;
    display: block;
    line-height: 1.3;
    text-align: center;
    background: #383838;
    padding-top: 1.8rem;
    padding-bottom: 1.8rem;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  #serviceGnav li {
      font-size: 0.9rem;
      width: calc(96.8%/3);
      padding-top: 1.0rem;
    padding-bottom: 1.0rem;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
#serviceGnav li a{
    text-decoration: none;
    font-size: 1.3rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 900;
    color: #FF7F00;
    display: block;
    height: auto;
    line-height: 1.3;
    text-align: center;
    background: #383838;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  #serviceGnav li a {
      font-size: 0.9rem;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
#serviceGnav li a:hover{
    color: #fff;
    background: #FCD69E;
}

/* 子要素のみのスタイル */
#serviceGnav ul{
    display: none;
    position: absolute;
    top:100%;
    left: 0;
  right: 0;
  margin: auto;

}

#serviceGnav ul li{
    float: none;
    width: 100%;
    /*margin-top: 1%;
    margin-bottom: 1%;*/
    margin-left: 0;
    margin-right: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
#serviceGnav ul li a {
    font-size: 1.0rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-top: 0.0rem;
    padding-bottom: 0.0rem;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  #serviceGnav ul li a {
      font-size: 0.8rem;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
/* 事業紹介ナビゲーションのスタイルここまで */
#mission, #advantage, #visualization, #reverse, #analytics, #cg, #print3D, #facility, #contact {
  height: 165px;
}
.exampleTitle_yellow {
  font-size: 3.5rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #FFD10A;
}
.exampleTitle_orange {
  font-size: 3.5rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #FF7F00;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .exampleTitle_yellow,.exampleTitle_orange {
      font-size: 1.6rem;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
/*.carousel-indicators {
    top:79%;
}*/
.carousel-caption {
  background-color: rgba(255, 255, 255, 0.7);
  /*position: static;*/
  text-align: left;
  right: 10%;
  left: 10%;
  padding-bottom: 0.5rem;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .carousel-caption {
      right: 5%;
  left: 5%;
      padding-top: 0.4rem;
      padding-bottom: 0.3rem;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
.carousel-caption h5 {
  font-size: 1.50rem;
  margin-right: 20px;
  margin-left: 20px;
  line-height: 1.5;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .carousel-caption h5 {
      font-size: 0.8rem;
      margin-right: 15px;
  margin-left: 15px;
      line-height: 1.1;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
.carousel-caption p {
  font-size: 1.50rem;
  line-height: 1.5;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .carousel-caption p {
      font-size: 0.8rem;
      line-height: 1.1;
      margin-right: 15px;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
.headlineBox {
  padding: 0.7em 1em;
  margin: 2em 0;
  color: #FF7F00;
  background: #383838; /*背景色*/
}
.headlineBox h3 {
  font-size: 2.55rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  margin: 0;
  padding: 0;
}
.subHeadlineBox {
  padding: 0.5em 1em;
  margin: 2em 0;
  color: #FF7F00;
  background: white;
  border-top: solid 2px #FF7F00;
  border-bottom: solid 2px #FF7F00;
}
.subHeadlineBox h4 {
  font-size: 1.80rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  margin: 0;
  padding: 0;
}
.hardwareTitle {
  font-size: 2.00rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: #FF7F00;
  margin-bottom: 1.5rem;
  padding: 0;
}
.hardwareTxt {
  font-size: 1.30rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  margin: 0;
  padding: 0;
}
.hardwareInfoBox {
  padding: 0.7em 1em;
  margin: 2em 0;
  background: #F2F2F2; /*背景色*/
}
.hardwareInfoBox p {
  font-size: 1.00rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: #383838;
  margin: 0;
  padding: 0;
}
/* 事業紹介ここまで */
/* 3DF紹介ここから */
.captionTxt {
  font-size: 1.63rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #383838;
  margin: 0;
  padding: 0;
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .captionTxt {
      font-size: 0.91rem;
      line-height: 1.4;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
.teamMemberP {
    border: solid 1px #000000;
}
/* 3DF紹介ここまで */
/* アクセスここから */
.access-bg-Gray {
    background-color: #F2F2F2;
}
/* アクセスここまで */
/* footerここから */
/*========= ページトップリンク（タブレット〜PC用） ===============*/
/* 〜767px：スマホ　　PC用ボタン非表示
------------------------------ */
@media screen and (max-width:767px) {
  #page-top {
      display: none;
  }
}
/* 〜767px：スマホここまで
------------------------------ */
/*リンクの形状*/
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
   background:#000000;
  /*border-radius: 5px;*/
  width: 0px; /*60px*/
  height: 100px; /*60px*/
  /*color: #fff;*/
  /*text-align: center;*/
  text-transform: uppercase;
  text-decoration: none;
  /*font-size: 0.7rem;*/
  transition: all 0.3s;
}
#page-top a:hover {
  background: #777;
}
/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: -10px; /*10px*/
  bottom: 10px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateX(200px); /*100px*/
}
/*　左の動き　*/
#page-top.LeftMove {
  animation: LeftAnime 0.5s forwards;
}
@keyframes LeftAnime {
  from {
    opacity: 0;
    transform: translateX(-40px);
  }
  to {
    opacity: 1;
    transform: translateX(-40px);
  }
}
/*　右の動き　*/
#page-top.RightMove {
  animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(200px);
  }
}
/*========= ページトップリンク（タブレット〜PC用）ここまで =============*/

/*========= ページトップリンク（スマホ用） =============*/
/* 768px〜：タブレット〜PC
------------------------------ */
@media screen and (min-width:768px)  {
  #page-top-mobile {
      display: none;
  }
}
/*リンクの形状*/
#page-top-mobile a {
  display: flex;
  justify-content: center;
  align-items: center;
   background:#000000;
  /*border-radius: 5px;*/
  width: 0px; /*60px*/
  height: 100px; /*60px*/
  /*color: #fff;*/
  /*text-align: center;*/
  text-transform: uppercase;
  text-decoration: none;
  /*font-size: 0.7rem;*/
  transition: all 0.3s;
}
#page-top-mobile a:hover {
  background: #777;
}
/*リンクを右下に固定*/
#page-top-mobile {
  position: fixed;
  right: -10px; /*10px*/
  bottom: 10px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateX(200px); /*100px*/
}
/*　左の動き　*/
#page-top-mobile.LeftMove {
  animation: LeftAnime 0.5s forwards;
}
@keyframes LeftAnime {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(-10px);
  }
}
/*　右の動き　*/
#page-top-mobile.RightMove {
  animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(200px);
  }
}
/*========= ページトップリンク（スマホ用）ここまで =============*/
/* 992px〜：PC
------------------------------ */
@media screen and (min-width:992px) {
  .footerContact-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 900;
    color: #FF7F00;
    font-size: 65px;
    height: auto;
  }
}
.contact-bg {
  background-color: #383838;
}
/* 768px〜991px：タブレット
------------------------------ */
@media screen and (min-width:768px) and (max-width:991px) {
  .footerContact-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 900;
    color: #FF7F00;
    font-size: 7vmin;
  }
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .footerContact-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 900;
    color: #FF7F00;
    font-size: 8vmin;
  }
}
/* address-Txt リンクテキスト設定
------------------------------ */
.address-Txt a {
    color: #4D4D4D;
    text-decoration: none;
}
.address-Txt a:hover {
    color: #FF7F00;
}
/* 992px〜：PC
------------------------------ */
@media screen and (min-width:992px) {
  .address-Txt {
    font-family: 'Noto Sans JP', sans-serif;
    color: #383838;
    font-weight: 500;
    font-size: 19px;
    line-height: 1.2;
  }
}
/* 768px〜991px：タブレット
------------------------------ */
@media screen and (min-width:768px) and (max-width:991px) {
  .address-Txt {
    font-family: 'Noto Sans JP', sans-serif;
    color: #383838;
    font-weight: 500;
    font-size: 3vmin;
    line-height: 1.2;
  }
}
/* 〜767px：スマホ
------------------------------ */
@media screen and (max-width:767px) {
  .address-Txt {
    font-family: 'Noto Sans JP', sans-serif;
    color: #383838;
    font-weight: 500;
    font-size: 3.2vmin;
    line-height: 1.2;
  }
}
/* 〜767px：スマホ ここまで
------------------------------ */
.footerNav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-around;
}
.footerNav li {
  display: block;
}
.footerNav a {
    color: #292929;
    text-decoration: none;
    font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}
.footerNav a:hover {
    color: #FF7F00;
}
.footerSubNav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}
.footerSubNav a {
    color: #292929;
    text-decoration: none;
    font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}
.footerSubNav a:hover {
    color: #FF7F00;
}
.footerSubNav li {
  display: block;
    margin-left: 10px;
    margin-right: 10px;
}
/* footerここまで */