@charset "UTF-8";
/* !!------------------------------------ */
/* !! 共通css */
/* !!------------------------------------ */
html, body {
  height: 100%; }

body {
  width: 100%;
  padding: 0;
  margin: 0;
  font-family: Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3",'メイリオ','Meiryo',sans-serif;
  font-size: 15px;
  line-height: 26px;
  font-weight: 300;
  color: #3e3a39;
  word-break: break-all;
  -webkit-font-smoothing: subpixel-antialiased !important; }
  body.archive div#header,
  body.single-post div#header {
    border-bottom: 1px solid #3e3a39; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

a {
  color: inherit;
  text-decoration: none; }

ul, ol {
  list-style: none;
  font-size: 0; }

h1, h2, h3, h4, ul, dl, dd, p, hr, figure {
  margin: 0;
  padding: 0; }

a:hover {
  opacity: 0.5;
  transition: 0.5s; }

img {
  vertical-align: bottom;
  outline: none; }

::selection {
  color: #fff;
  background: #8f1d22; }

::-moz-selection {
  color: #fff;
  background: #8f1d22; }

#container {
  width: 100%;
  position: relative;
  min-height: 100%;
  height: auto !important;
  height: 100%; }

.inner {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  overflow: hidden; }

/* !!------------------------------------ */
/* !! header */
/* !!------------------------------------ */
div#header {
  width: 100%;
  height: 100px;
  background: rgba(255, 255, 255, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1; }
  div#header div.inner {
    height: 100px;
    overflow: visible; }
    div#header div.inner a#logo {
      width: 141px;
      height: 81px;
      display: block;
      position: absolute;
      top: 9px;
      left: 0; }
    div#header div.inner ul {
      height: 16px;
      position: absolute;
      top: 42px;
      right: 150px; }
      div#header div.inner ul li {
        font-size: 16px;
        line-height: 100%;
        display: inline-block;
        border-right: 1px solid #3e3a39; }
        div#header div.inner ul li.last {
          border-right: 0; }
        div#header div.inner ul li a {
          display: inline-block;
          padding: 0 1.5em; }
    div#header div.inner div.language {
      width: 150px;
      height: 100px;
      line-height: 100px;
      position: absolute;
      top: 0;
      right: 0;
      cursor: pointer; }
      div#header div.inner div.language:before {
        content: "";
        width: 21px;
        height: 13px;
        display: block;
        background: url(../images/select_arrow.png) no-repeat;
        -webkit-background-size: 21px 13px;
        background-size: 21px 13px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        right: 10px;
        margin: auto; }
      div#header div.inner div.language a {
        border-right: 1px solid #3e3a39;
        border-left: 1px solid #3e3a39;
        display: block;
        padding: 0 10px; }
        div#header div.inner div.language a:hover {
          opacity: 1; }
        div#header div.inner div.language a.jp {
          background: url(../images/japan_frag.jpg) no-repeat 10px center;
          -webkit-background-size: 23px 15px;
          background-size: 23px 15px;
          padding-left: 43px; }
      div#header div.inner div.language ul {
        width: 150px;
        height: auto;
        position: absolute;
        top: 100px;
        right: 0;
        z-index: 2;
        display: none; }
        div#header div.inner div.language ul li {
          background: rgba(255, 255, 255, 0.3);
          line-height: 50px;
          border: none;
          border-bottom: 1px solid #3e3a39;
          display: list-item; }
          div#header div.inner div.language ul li a.en {
            background: url(../images/america_frag.jpg) no-repeat 10px center;
            -webkit-background-size: 23px 15px;
            background-size: 23px 15px;
            padding-left: 43px; }
          div#header div.inner div.language ul li a.ta {
            background: url(../images/tai_frag.jpg) no-repeat 10px center;
            -webkit-background-size: 23px 15px;
            background-size: 23px 15px;
            padding-left: 43px; }
          div#header div.inner div.language ul li a:hover {
            color: #fff;
            background-color: rgba(143, 29, 34, 0.7); }
    div#header div.inner select {
      width: 150px;
      height: 100px;
      position: absolute;
      top: 0;
      right: 0;
      -moz-appearance: none;
      -webkit-appearance: none;
      appearance: none;
      border-radius: 0;
      border: 0;
      margin: 0;
      padding: 0 15px;
      border-right: 1px solid #3e3a39;
      border-left: 1px solid #3e3a39;
      font-size: 16px;
      background: url(../images/select_arrow.png) no-repeat 115px center;
      -webkit-background-size: 21px 13px;
      background-size: 21px 13px; }
      div#header div.inner select:focus {
        outline: none; }

div#contents.main {
  width: 100%;
  height: 900px;
  background: url(../images/main_img.jpg) no-repeat center -800px;
  position: relative; }

h1 {
  height: 40px;
  font-size: 36px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  line-height: 40px;
  text-align: center;
  color: #fff;
  font-weight: 300;
  letter-spacing: 10.8px;
  z-index: 1; }

div.flexslider h1 {
  height: 100px;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.75);
  letter-spacing: normal;
  font-size: 55px;
  text-align: center; }
  div.flexslider h1 span {
    font-size: 25px;
    display: block;
    margin-bottom: 10px; }

/* !!------------------------------------ */
/* !! main */
/* !!------------------------------------ */
div.flexslider {
  width: 100%;
  height: 900px;
  position: relative;
  margin: 0 0 30px 0;
  border: 0;
  background: none; }
  div.flexslider ul li {
    width: 100%;
    height: 900px;
    z-index: 0 !important; }
    div.flexslider ul li.slide01 {
      background: url(../images/main_img.jpg) no-repeat center -800px; }
    div.flexslider ul li.slide02 {
      background: url(../images/main_img02.jpg) no-repeat center center;
      -webkit-background-size: cover;
      background-size: cover; }

div#contents {
  padding: 70px 0;
  position: relative; }
  div#contents.top_technology,
  div#contents.top_company,
  div#contents.top_topics {
    padding-top: 0; }
  div#contents h2 {
    width: 1000px;
    height: 30px;
    margin: 0 auto 80px auto;
    font-size: 24px;
    line-height: 30px;
    letter-spacing: 7.2px;
    font-weight: 300;
    text-align: center;
    position: relative; }
    div#contents h2.style01 {
      letter-spacing: normal; }
    div#contents h2:before,
    div#contents h2:after {
      content: "";
      width: 400px;
      height: 5px;
      display: block;
      background: url(../images/tit_pt.gif) repeat-x;
      -webkit-background-size: 8px 5px;
      background-size: 8px 5px;
      position: absolute;
      margin: auto; }
    div#contents h2:before {
      left: 0;
      top: 0;
      bottom: 0; }
    div#contents h2:after {
      right: 0;
      top: 0;
      bottom: 0; }
    div#contents h2 span {
      font-size: 14px;
      line-height: 100%;
      font-family: Times;
      font-style: italic;
      display: block;
      letter-spacing: normal;
      margin-top: 20px; }
      div#contents h2 span:after {
        content: "";
        width: 80px;
        height: 2px;
        display: block;
        background: #8f1d22;
        margin: 10px auto 0 auto; }
  div#contents div.imgArea {
    width: 100%;
    height: 200px;
    line-height: 200px;
    font-size: 18px;
    letter-spacing: 9px;
    color: #fff;
    text-align: center;
    margin-bottom: 30px; }
    div#contents div.imgArea.business {
      background: url(../images/our_business_bg.jpg) no-repeat center center;
      -webkit-background-size: cover;
      background-size: cover; }
    div#contents div.imgArea.technology {
      background: url(../images/technology_bg.jpg) no-repeat center center;
      -webkit-background-size: cover;
      background-size: cover; }
  div#contents p {
    text-align: center; }
  div#contents a.bt {
    width: 200px;
    height: 50px;
    line-height: 50px;
    font-size: 12px;
    text-align: center;
    display: block;
    margin: 30px auto 0 auto;
    border: 1px solid #3e3a39;
    position: relative; }
    div#contents a.bt:after {
      content: "＞";
      color: #9fa0a0;
      display: inline-block;
      margin-left: 1em; }
    div#contents a.bt:hover {
      background: #3e3a39;
      color: #fff; }
  div#contents.top_topics {
    padding-bottom: 496px; }
    div#contents.top_topics ul {
      width: 1000px;
      border-top: 1px solid #3e3a39;
      margin: 0 auto; }
      div#contents.top_topics ul li {
        height: 50px;
        line-height: 50px;
        font-size: 15px;
        border-bottom: 1px solid #3e3a39;
        position: relative; }
        div#contents.top_topics ul li:hover {
          background: #eee;
          transition: 0.5s; }
        div#contents.top_topics ul li a {
          width: 100%;
          height: 50px;
          display: block;
          position: relative; }
          div#contents.top_topics ul li a:hover {
            opacity: 1; }
          div#contents.top_topics ul li a:before {
            content: "";
            width: 11px;
            height: 13px;
            display: block;
            background: url(../images/company_icon.png) no-repeat;
            -webkit-background-size: 11px 13px;
            background-size: 11px 13px;
            position: absolute;
            top: 0;
            bottom: 0;
            right: 20px;
            margin: auto; }
        div#contents.top_topics ul li span {
          width: 120px;
          margin-left: 20px;
          display: inline-block; }
  div#contents.copy {
    padding: 50px 0 0 0; }
  div#contents.our_business, div#contents.technology, div#contents.company, div#contents.contact {
    height: 500px;
    background: url(../images/our_business_bg.jpg) no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover; }
    div#contents.our_business h1, div#contents.technology h1, div#contents.company h1, div#contents.contact h1 {
      top: 100px; }
      div#contents.our_business h1 span, div#contents.technology h1 span, div#contents.company h1 span, div#contents.contact h1 span {
        font-size: 14px;
        line-height: 100%;
        font-family: Times;
        font-style: italic;
        display: block;
        letter-spacing: normal;
        margin-top: 20px;
        color: #231815; }
        div#contents.our_business h1 span:after, div#contents.technology h1 span:after, div#contents.company h1 span:after, div#contents.contact h1 span:after {
          content: "";
          width: 80px;
          height: 2px;
          display: block;
          background: #8f1d22;
          margin: 10px auto 0 auto; }
  div#contents.technology {
    background: url(../images/technology_bg.jpg) no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover; }
  div#contents.company {
    background: url(../images/company_bg.jpg) no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover; }
  div#contents.contact {
    background: url(../images/contact_bg.jpg) no-repeat center center;
    -webkit-background-size: cover;
    background-size: cover; }
  div#contents.area {
    padding-bottom: 0; }
    div#contents.area.rw {
      padding-bottom: 496px; }
    div#contents.area div.introduction {
      width: 100%;
      height: 350px;
      background: rgba(181, 181, 182, 0.15);
      position: relative;
      font-size: 0; }
      div#contents.area div.introduction div.bg {
        width: 50%;
        height: 350px;
        position: absolute;
        top: 0;
        left: 0;
        display: none; }
        div#contents.area div.introduction div.bg.mmt {
          background: url(../images/mmt_bg.jpg) center center;
          -webkit-background-size: cover;
          background-size: cover; }
        div#contents.area div.introduction div.bg.mi {
          background: url(../images/mi_bg.jpg) center center;
          -webkit-background-size: cover;
          background-size: cover;
          right: 0;
          left: auto; }
        div#contents.area div.introduction div.bg.ms {
          background: url(../images/ms_bg.jpg) center center;
          -webkit-background-size: cover;
          background-size: cover; }
        div#contents.area div.introduction div.bg.tb {
          background: url(../images/tb_bg.jpg) center center;
          -webkit-background-size: cover;
          background-size: cover;
          right: 0;
          left: auto; }
        div#contents.area div.introduction div.bg.rw {
          background: url(../images/rw_bg.jpg) center center;
          -webkit-background-size: cover;
          background-size: cover; }
      div#contents.area div.introduction.right.right div.inner,
      div#contents.area div.introduction.left.right div.inner {
        padding-left: 500px; }
        div#contents.area div.introduction.right.right div.inner div.topic,
        div#contents.area div.introduction.left.right div.inner div.topic {
          padding-left: 50px; }
      div#contents.area div.introduction.right.left div.inner div.topic,
      div#contents.area div.introduction.left.left div.inner div.topic {
        padding-right: 50px; }
      div#contents.area div.introduction.right.left div.inner a.link,
      div#contents.area div.introduction.left.left div.inner a.link {
        width: 140px;
        height: 40px;
        line-height: 40px;
        font-size: 12px;
        display: inline-block;
        margin-top: 50px;
        color: #2B87F5;
        border: 1px solid #2B87F5;
        text-align: center;
        position: relative; }
        div#contents.area div.introduction.right.left div.inner a.link:after,
        div#contents.area div.introduction.left.left div.inner a.link:after {
          content: "＞";
          font-size: 12px;
          margin-left: 0.5em; }
        div#contents.area div.introduction.right.left div.inner a.link:hover,
        div#contents.area div.introduction.left.left div.inner a.link:hover {
          color: #fff;
          background: #2B87F5;
          opacity: 1; }
        div#contents.area div.introduction.right.left div.inner a.link + a.link,
        div#contents.area div.introduction.left.left div.inner a.link + a.link {
          margin-left: 15px; }
      div#contents.area div.introduction.right div.topic,
      div#contents.area div.introduction.left div.topic {
        width: 500px;
        height: 350px;
        display: table-cell;
        vertical-align: middle; }
        div#contents.area div.introduction.right div.topic h3,
        div#contents.area div.introduction.left div.topic h3 {
          width: 200px;
          height: 50px;
          line-height: 50px;
          text-align: center;
          font-size: 14px;
          font-weight: 300;
          border: 1px solid #3E3A39; }
        div#contents.area div.introduction.right div.topic ul,
        div#contents.area div.introduction.left div.topic ul {
          margin: 30px 0 50px 0; }
          div#contents.area div.introduction.right div.topic ul li,
          div#contents.area div.introduction.left div.topic ul li {
            font-size: 16px;
            display: inline-block;
            margin-right: 1em;
            position: relative; }
            div#contents.area div.introduction.right div.topic ul li:before,
            div#contents.area div.introduction.left div.topic ul li:before {
              content: "・"; }
        div#contents.area div.introduction.right div.topic p,
        div#contents.area div.introduction.left div.topic p {
          text-align: left;
          font-size: 15px; }
  div#contents.profile {
    padding-bottom: 0; }
    div#contents.profile.co {
      padding-bottom: 496px; }
    div#contents.profile ul {
      width: 1000px;
      margin: 0 auto; }
      div#contents.profile ul li {
        font-size: 15px;
        background: rgba(62, 58, 57, 0.15);
        padding: 17px 0 17px 230px;
        position: relative; }
        div#contents.profile ul li.odd {
          background: rgba(181, 181, 182, 0.15); }
        div#contents.profile ul li span {
          height: 26px;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 30px;
          margin: auto;
          padding: 0; }
    div#contents.profile dl {
      width: 1000px;
      margin: 0 auto; }
      div#contents.profile dl dt, div#contents.profile dl dd {
        line-height: 26px;
        padding: 17px 0;
        display: inline-block;
        background: rgba(62, 58, 57, 0.15); }
        div#contents.profile dl dt.odd, div#contents.profile dl dd.odd {
          background: rgba(181, 181, 182, 0.15); }
      div#contents.profile dl dt {
        width: 230px;
        padding-left: 30px; }
      div#contents.profile dl dd {
        width: 770px; }
  div#contents.detail {
    padding: 100px 0 0 0;
    min-height: 1080px; }
    div#contents.detail h1 {
      height: auto;
      position: static;
      color: #3e3a39;
      margin: 50px auto; }
      div#contents.detail h1 span {
        font-size: 14px;
        line-height: 100%;
        font-family: Times;
        font-style: italic;
        display: block;
        letter-spacing: normal;
        margin-top: 20px;
        color: #231815; }
        div#contents.detail h1 span:after {
          content: "";
          width: 80px;
          height: 2px;
          display: block;
          background: #8f1d22;
          margin: 10px auto 0 auto; }
      div#contents.detail h1.style01 {
        letter-spacing: normal; }
    div#contents.detail ul.list {
      border-top: 1px solid #3e3a39; }
      div#contents.detail ul.list li {
        height: 50px;
        line-height: 50px;
        font-size: 15px;
        border-bottom: 1px solid #3e3a39;
        position: relative; }
        div#contents.detail ul.list li:hover {
          background: #eee;
          transition: 0.5s; }
        div#contents.detail ul.list li a {
          width: 100%;
          height: 50px;
          display: block;
          position: relative; }
          div#contents.detail ul.list li a:hover {
            opacity: 1; }
          div#contents.detail ul.list li a:before {
            content: "";
            width: 11px;
            height: 13px;
            display: block;
            background: url(../images/company_icon.png) no-repeat;
            -webkit-background-size: 11px 13px;
            background-size: 11px 13px;
            position: absolute;
            top: 0;
            bottom: 0;
            right: 20px;
            margin: auto; }
        div#contents.detail ul.list li span {
          width: 120px;
          margin-left: 20px;
          display: inline-block; }
    div#contents.detail ul.kiji {
      width: 1000px;
      height: 60px;
      margin: 50px auto 0 auto;
      border-top: none; }
      div#contents.detail ul.kiji li {
        width: 50%;
        font-size: 15px;
        word-break: break-word;
        border-bottom: none; }
        div#contents.detail ul.kiji li a {
          display: block;
          position: relative; }
        div#contents.detail ul.kiji li.prev {
          float: left; }
          div#contents.detail ul.kiji li.prev a {
            padding-left: 60px; }
            div#contents.detail ul.kiji li.prev a:before {
              content: "";
              width: 30px;
              height: 26px;
              display: block;
              background: url(../images/left_arrow.png) no-repeat;
              -webkit-background-size: 30px 26px;
              background-size: 30px 26px;
              position: absolute;
              top: 0;
              bottom: 0;
              right: auto;
              left: 20px; }
        div#contents.detail ul.kiji li.next {
          float: right;
          text-align: right; }
          div#contents.detail ul.kiji li.next a {
            padding-right: 60px; }
            div#contents.detail ul.kiji li.next a:after {
              content: "";
              width: 30px;
              height: 26px;
              display: block;
              background: url(../images/right_arrow.png) no-repeat;
              -webkit-background-size: 30px 26px;
              background-size: 30px 26px;
              position: absolute;
              top: 0;
              bottom: 0;
              left: auto;
              right: 20px; }
    div#contents.detail div.wp-pagenavi {
      margin: 200px auto 0 auto;
      text-align: center;
      padding-bottom: 496px; }
      div#contents.detail div.wp-pagenavi span {
        width: 40px;
        height: 40px;
        line-height: 40px;
        border: 2px solid #8f1d22;
        text-align: center;
        display: inline-block; }
        div#contents.detail div.wp-pagenavi span.current {
          color: #fff;
          background: #8f1d22;
          margin-right: 15px; }
        div#contents.detail div.wp-pagenavi span.last {
          margin-right: 0; }
      div#contents.detail div.wp-pagenavi a {
        width: 40px;
        height: 40px;
        line-height: 40px;
        display: inline-block;
        border: 2px solid #8f1d22;
        color: #8f1d22;
        margin-right: 15px; }
        div#contents.detail div.wp-pagenavi a:hover {
          opacity: 1;
          background: #8f1d22;
          color: #fff; }
        div#contents.detail div.wp-pagenavi a.last {
          margin-right: 0; }
    div#contents.detail div.contentsArea {
      border-top: 1px solid #3e3a39;
      border-bottom: 1px solid #3e3a39;
      padding: 30px 20px; }
      div#contents.detail div.contentsArea span {
        display: block;
        text-align: left;
        word-break: break-word; }
      div#contents.detail div.contentsArea h2 {
        width: 100%;
        font-size: 18px;
        text-align: left;
        font-weight: 300;
        letter-spacing: normal;
        margin-bottom: 50px; }
        div#contents.detail div.contentsArea h2:before,
        div#contents.detail div.contentsArea h2:after {
          content: none; }
      div#contents.detail div.contentsArea p {
        text-align: left;
        color: #727171; }
        div#contents.detail div.contentsArea p.edit {
          position: absolute;
          top: 30px;
          right: 0; }
  div#contents.technology_img {
    padding: 0;
    margin: 70px 0; }
    div#contents.technology_img div.inner {
      height: 450px;
      overflow: visible; }
    div#contents.technology_img a {
      width: 600px;
      height: 450px;
      display: block; }
      div#contents.technology_img a:before {
        content: "";
        width: 600px;
        height: 450px;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        margin: auto;
        background: url(../images/glass_icon.png) no-repeat;
        -webkit-background-size: 600px 450px;
        background-size: 600px 450px;
        transition: 0.5s;
        opacity: 0;
        z-index: 1; }
      div#contents.technology_img a:hover {
        width: 600px;
        height: 450px;
        opacity: 1; }
        div#contents.technology_img a:hover:before {
          opacity: 1 !important; }
        div#contents.technology_img a:hover img {
          opacity: 0.5;
          transition: 0.5s; }
    div#contents.technology_img h2 {
      width: 300px;
      height: 105px;
      position: absolute;
      top: 0;
      right: 50px;
      bottom: 0;
      margin: auto;
      letter-spacing: normal; }
      div#contents.technology_img h2 span {
        font-style: normal;
        font-family: Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3",'メイリオ','Meiryo',sans-serif;
        line-height: 24px; }
        div#contents.technology_img h2 span:after {
          content: none; }
      div#contents.technology_img h2:before,
      div#contents.technology_img h2:after {
        content: none; }
    div#contents.technology_img.odd {
      background: rgba(181, 181, 182, 0.15);
      padding: 70px 0; }
      div#contents.technology_img.odd a {
        position: absolute;
        top: 0;
        right: 0; }
      div#contents.technology_img.odd h2 {
        left: 50px;
        right: auto; }
      div#contents.technology_img.odd img {
        position: absolute;
        right: 0;
        top: 0; }
    div#contents.technology_img.last {
      padding-bottom: 466px; }

div.back {
  padding-bottom: 496px;
  margin: 0 auto; }
  div.back a {
    width: 200px;
    height: 50px;
    line-height: 50px;
    display: block;
    margin: 50px auto 0 auto;
    text-align: center;
    font-size: 12px;
    border: 1px solid #3e3a39;
    position: relative; }
    div.back a:after {
      content: "＞";
      color: #9fa0a0;
      display: inline-block;
      margin-left: 1em; }
    div.back a:hover {
      background: #3e3a39;
      color: #fff; }

ul.technology_img {
  margin: 50px 0 496px 0; }
  ul.technology_img li {
    width: 1000px;
    height: 450px;
    font-size: 15px;
    margin-bottom: 70px;
    position: relative; }
    ul.technology_img li p {
      width: 300px;
      height: 105px;
      font-size: 30px;
      font-weight: 300;
      line-height: 100%;
      text-align: center;
      position: absolute;
      top: 0;
      right: 50px;
      bottom: 0;
      margin: auto; }
      ul.technology_img li p span {
        display: block;
        font-size: 15px;
        margin-top: 1em; }
    ul.technology_img li.odd img {
      position: absolute;
      top: 0;
      right: 0; }
    ul.technology_img li.odd a {
      position: absolute;
      top: 0;
      right: 0; }
    ul.technology_img li.odd p {
      left: 50px;
      right: auto; }
    ul.technology_img li a {
      width: 600px;
      height: 450px;
      display: block;
      position: relative; }
      ul.technology_img li a:before {
        content: "";
        width: 600px;
        height: 450px;
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        background: url(../images/glass_icon.png) no-repeat;
        -webkit-background-size: 600px 450px;
        background-size: 600px 450px;
        transition: 0.5s;
        opacity: 0;
        z-index: 1; }
      ul.technology_img li a:hover {
        width: 600px;
        height: 450px;
        opacity: 1; }
        ul.technology_img li a:hover:before {
          opacity: 1 !important; }
        ul.technology_img li a:hover img {
          opacity: 0.5;
          transition: 0.5s; }

h2.contact {
  text-align: center;
  margin: 50px 0 70px 0;
  font-weight: 600;
  font-size: 25px;
  line-height: 100%; }

form {
  margin-bottom: 0; }

dl.contact {
  width: 750px;
  margin: 0 auto; }
  dl.contact dt {
    line-height: 100%;
    margin-bottom: 10px; }
    dl.contact dt span {
      display: inline-block;
      margin-left: 0.5em;
      color: #FF6464; }
  dl.contact dd {
    height: 50px;
    margin-bottom: 2.5em; }
    dl.contact dd.last {
      height: 300px; }
    dl.contact dd input {
      width: 100%;
      height: 50px;
      font-size: 15px;
      border: 1px solid #3E3A39;
      padding: 0 0 0 15px; }
      dl.contact dd input:focus {
        outline: 4px solid #8F1D22; }
    dl.contact dd div.mfp_err {
      font-size: 15px;
      color: #FF6464;
      line-height: 30px;
      padding-left: 25px;
      position: relative; }
      dl.contact dd div.mfp_err:before {
        content: "！";
        display: block;
        width: 20px;
        height: 20px;
        line-height: 20px;
        text-align: center;
        font-weight: 600;
        border-radius: 30px;
        color: #fff;
        background: #FF6464;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto; }
    dl.contact dd textarea {
      width: 100% !important;
      height: 300px !important;
      font-size: 15px;
      resize: none;
      border: 1px solid #3E3A39;
      padding: 15px; }
      dl.contact dd textarea:focus {
        outline: 4px solid #8F1D22; }

div.bt,
div.mfp_buttons {
  width: 750px;
  margin: 50px auto 100px auto;
  font-size: 0;
  padding: 0 0 496px 0; }
  div.bt button,
  div.mfp_buttons button {
    width: 365px;
    height: 50px;
    display: inline-block;
    border: none;
    font-size: 15px;
    cursor: pointer;
    padding: 0; }
    div.bt button.reset,
    div.mfp_buttons button.reset {
      background: #DCDDDD; }
    div.bt button.submit,
    div.mfp_buttons button.submit {
      color: #fff;
      background: #8F1D22;
      margin-left: 20px; }
    div.bt button#mfp_button_send,
    div.mfp_buttons button#mfp_button_send {
      color: #fff;
      background: #8F1D22; }
    div.bt button#mfp_button_cancel,
    div.mfp_buttons button#mfp_button_cancel {
      margin-left: 20px;
      background: #DCDDDD; }
    div.bt button:hover,
    div.mfp_buttons button:hover {
      opacity: 0.5;
      transition: 0.5s; }

div.complete {
  padding-bottom: 496px; }
  div.complete p {
    text-align: center;
    line-height: 40px; }
  div.complete a {
    width: 365px;
    height: 50px;
    line-height: 50px;
    display: block;
    margin: 50px auto 0 auto;
    text-align: center;
    color: #fff;
    background: #8F1D22; }

/* !!------------------------------------ */
/* !! form */
/* !!------------------------------------ */
div#contact_send {
  width: 750px;
  margin: 50px auto 0 auto;
  padding-bottom: 496px; }
  div#contact_send h2 {
    margin-bottom: 70px;
    font-weight: 600;
    font-size: 25px;
    line-height: 100%;
    text-align: center; }
  div#contact_send h3 {
    text-align: center;
    font-size: 18px;
    font-weight: normal;
    line-height: 100%;
    margin-bottom: 50px; }
  div#contact_send p {
    line-height: 50px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    padding: 0 10px; }
    div#contact_send p.ac {
      width: 365px;
      height: 50px;
      border: none;
      padding: 0;
      margin: 50px auto 0 auto; }
      div#contact_send p.ac input {
        width: 365px;
        height: 50px;
        font-size: 15px;
        background: #DCDDDD;
        border: none;
        padding: 0;
        cursor: pointer; }
        div#contact_send p.ac input:hover {
          opacity: 0.5;
          transition: 0.5s; }
  div#contact_send table {
    width: 750px;
    margin: 0 auto;
    border: none;
    border-spacing: 0; }
    div#contact_send table tr, div#contact_send table td {
      border: 0; }
    div#contact_send table tr {
      height: 80px;
      background: #f9f9f9; }
      div#contact_send table tr.odd {
        background: #f2f2f2; }
    div#contact_send table td {
      padding: 20px 20px 20px 0; }
      div#contact_send table td.l_Cel {
        width: 30%;
        text-align: center; }
  div#contact_send div.form_bt {
    margin: 50px auto 0 auto;
    font-size: 0; }
    div#contact_send div.form_bt input {
      width: 365px;
      height: 50px;
      font-size: 15px;
      border: 0;
      padding: 0;
      cursor: pointer; }
      div#contact_send div.form_bt input.submit {
        margin-right: 20px;
        background: #8F1D22;
        color: #fff; }
      div#contact_send div.form_bt input.back {
        background: #DCDDDD; }
      div#contact_send div.form_bt input:hover {
        opacity: 0.5;
        transition: 0.5s; }

/* !!------------------------------------ */
/* !! footer */
/* !!------------------------------------ */
div#footer {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0; }
  div#footer div.up {
    width: 100%;
    height: 50px;
    padding: 15px 0;
    background: #140001; }
    div#footer div.up a {
      width: 38px;
      height: 21px;
      display: block;
      margin: 0 auto; }
  div#footer div.footer_menu {
    padding: 20px 0 30px 0;
    background: #22000b; }
    div#footer div.footer_menu ul li {
      font-size: 16px;
      text-align: center;
      color: #fff;
      display: inline-block; }
    div#footer div.footer_menu ul.main_menu li {
      width: 235px;
      height: 100px;
      background: #3e3a39;
      line-height: 100px;
      margin-right: 20px; }
      div#footer div.footer_menu ul.main_menu li.last {
        margin-right: 0; }
      div#footer div.footer_menu ul.main_menu li a {
        display: block; }
        div#footer div.footer_menu ul.main_menu li a.home {
          background: url(../images/ft_home.jpg) no-repeat center center;
          -webkit-background-size: 235px 100px;
          background-size: 235px 100px; }
        div#footer div.footer_menu ul.main_menu li a.business {
          background: url(../images/ft_business.jpg) no-repeat center center;
          -webkit-background-size: 235px 100px;
          background-size: 235px 100px; }
        div#footer div.footer_menu ul.main_menu li a.technology {
          background: url(../images/ft_technology.jpg) no-repeat center center;
          -webkit-background-size: 235px 100px;
          background-size: 235px 100px; }
        div#footer div.footer_menu ul.main_menu li a.company {
          background: url(../images/ft_company.jpg) no-repeat center center;
          -webkit-background-size: 235px 100px;
          background-size: 235px 100px; }
    div#footer div.footer_menu ul.sub_menu {
      text-align: center;
      margin: 30px 0 45px;
      line-height: 100%; }
      div#footer div.footer_menu ul.sub_menu li {
        font: 16px;
        line-height: 100%;
        background: none; }
        div#footer div.footer_menu ul.sub_menu li.start {
          border-right: 1px solid #fff;
          padding-right: 1.5em; }
        div#footer div.footer_menu ul.sub_menu li.last {
          padding-left: 1.5em; }
        div#footer div.footer_menu ul.sub_menu li a {
          display: inline-block; }
    div#footer div.footer_menu div.company {
      font-size: 12px;
      line-height: 18px;
      color: #fff; }
      div#footer div.footer_menu div.company h2 {
        font-size: 16px;
        font-weight: 600;
        display: inline-block; }
        div#footer div.footer_menu div.company h2 span {
          display: block;
          font-weight: normal;
          font-size: 12px;
          color: #7f6366; }
      div#footer div.footer_menu div.company p {
        display: inline-block;
        vertical-align: top; }
      div#footer div.footer_menu div.company a:hover {
        opacity: 1;
        transition: none; }
      div#footer div.footer_menu div.company.en {
        margin-bottom: 20px;
        display: block !important; }
      div#footer div.footer_menu div.company.en h2 {
        margin-right: 19px;
        vertical-align: top; }
      div#footer div.footer_menu div.company.jp h2 {
        margin-right: 15px; }
  div#footer p.copy {
    width: 100%;
    font-size: 12px;
    line-height: 30px;
    color: #7f6366;
    background: #140001;
    text-align: center; }

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }
