@charset "UTF-8";
/**
 * html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
 * Richard Clark (http://richclarkdesign.com)
 * http://cssreset.com
 */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

li {
  list-style: none; }

/* Hides from IE Mac \ */
/* End Hack */
.slope {
  position: relative;
  z-index: 200;
  width: 1251px;
  max-height: 999999px; }
  .slope-brick {
    box-sizing: border-box; }
    .slope-brick-left {
      clear: left;
      float: left; }
    .slope-brick-right {
      clear: right;
      float: right; }
  .slope-border {
    position: relative;
    left: 0;
    top: 0;
    height: 1px;
    margin-bottom: 20px;
    background-color: #dddddd; }
  .slope span {
    display: inline-block; }

.addef .slope p {
  display: inline; }

.slope.sentence p {
  margin: 0px; }
.slope.sentence a {
  text-decoration: underline;
  color: #444444; }
.slope.sentence a:hover {
  text-decoration: underline;
  color: #444444; }
.slope.sentence a[target="_blank"] img {
  width: 12px;
  height: 12px;
  padding: 0px 3px; }

.ad .slope {
  background-color: rgba(255, 255, 255, 0.01); }
  .ad .slope-brick-left {
    background-color: rgba(255, 255, 255, 0.01); }
  .ad .slope-brick-right {
    background-color: rgba(255, 255, 255, 0.01); }

.hori .slope {
  width: 980px; }

.slope-dummy {
  position: absolute;
  left: 0;
  top: 0;
  width: 300px;
  height: 300px;
  background-color: #cccccc;
  z-index: -1; }

#mihon {
  display: none;
  margin-left: -569px;
  position: absolute;
  left: 50%;
  top: 25px;
  z-index: 1000;
  opacity: 0.5; }

.fw-m-m {
  font-family: "A+mfCv-AXIS Font ベーシック M ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif; }

.en .fw-m-m, .en.fw-m-m {
  font-family: "HelveticaNeueW01-65Medi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif; }

.fw-l-l {
  font-family: "A+mfCv-AXIS Font ベーシック L ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif; }
  .fw-l-l strong {
    font-family: "A+mfCv-AXIS Font ベーシック M ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif; }

.en .fw-l-l {
  font-family: "HelveticaNeueW01-45Ligh", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif; }
  .en .fw-l-l strong {
    font-family: "HelveticaNeueW01-65Medi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif; }

.fw-r-m {
  font-family: "A+mfCv-AXIS Font ベーシック R ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif; }

.en.fw-r-m {
  font-family: "HelveticaNeueW01-65Medi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif; }

.fw-hlro {
  font-family: "HelveticaNeueW01-55Roma", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif; }

body {
  font-family: HelveticaNeueW01-65Medi, HelveticaNeueW01-45Ligh, HelveticaNeueW01-55Roma, "A+mfCv-AXIS Font ベーシック L ProN", "A+mfCv-AXIS Font ベーシック R ProN", "A+mfCv-AXIS Font ベーシック M ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif !important;
  text-rendering: optimizeSpeed; }

body.ff {
  -moz-font-feature-settings: "liga" 0;
  font-feature-settings: "liga" 0; }

.sp {
  display: none; }

@-webkit-keyframes gradient {
  0% {
    background-position: 0 0; }

  100% {
    background-position: 1136px 0; } }
@-moz-keyframes gradient {
  0% {
    background-position: 0 0; }

  100% {
    background-position: 1136px 0; } }
@keyframes gradient {
  0% {
    background-position: 0 0; }

  100% {
    background-position: 1136px 0; } }
.notfound {
  padding: 220px 0px;
  text-align: center;
  font-size: 20px; }

#loader {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 9999;
  font-size: 60px; }
  #loader #loader-logo {
    display: none;
    width: 223px;
    height: 110px;
    margin-left: -111px;
    margin-top: -55px;
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 20000;
    overflow: hidden; }
    #loader #loader-logo img {
      width: 1024px;
      height: 2048px;
      -webkit-transform: translate(0px, 0px);
      -moz-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
      transform: translate(0px, 0px); }
  #loader #loader-layout {
    display: none;
    margin-left: -568px;
    position: absolute;
    left: 50%;
    top: 0px;
    z-index: 1; }
    #loader #loader-layout img {
      vertical-align: bottom; }
  #loader #loader-layout.anime {
    background: -webkit-gradient(linear, left top, right top, color-stop(0, #c7c7c7), color-stop(0, #c7c7c7), color-stop(0.5, #f6f6f6), color-stop(1, #c7c7c7));
    background: gradient(linear, left top, right top, color-stop(0, #c7c7c7), color-stop(0, #c7c7c7), color-stop(0.5, #f6f6f6), color-stop(1, #c7c7c7));
    -webkit-animation: gradient 1s linear infinite;
    animation: gradient 1s linear infinite; }
  #loader #loader-bg {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0px;
    top: 0px;
    z-index: 0;
    background-color: white; }

.iph #loader #loader-layout, .ad #loader #loader-layout {
  margin-left: 0px;
  left: 0px; }

.ff #loader #loader-layout.anime {
  background: -moz-linear-gradient(to right, #c7c7c7 0%, white 25%, #c7c7c7 50%, white 75%, #c7c7c7 100%);
  background: linear-gradient(to right, #c7c7c7 0%, #ffffff 25%, #c7c7c7 50%, #ffffff 75%, #c7c7c7 100%);
  -moz-animation: gradient 1s linear infinite;
  animation: gradient 1s linear infinite; }

#title > .title .title-text {
  width: 1255px;
  margin-top: -24px;
  float: left;
  font-size: 60px;
  line-height: 90px;
  letter-spacing: 0.07em;
  color: black; }
#title > .title .title-text2 {
  width: 769px;
  font-size: 35px;
  line-height: 52px;
  letter-spacing: 0.07em; }

.hori #title > .title .title-text {
  margin-top: -13px;
  font-size: 50px;
  line-height: 65px;
  letter-spacing: 0.055em; }
  .hori #title > .title .title-text span {
    margin-left: 25px; }

.subtitle {
  position: relative;
  line-height: 22px; }
  .subtitle .text {
    margin-bottom: 38px;
    float: left; }
    .subtitle .text img {
      float: left; }
    .subtitle .text p {
      margin-left: 17px;
      float: left;
      font-size: 13px;
      letter-spacing: 0.05em; }
  .subtitle .detail {
    padding-top: 8px;
    float: right; }
    .subtitle .detail p {
      font-size: 12px;
      letter-spacing: 0.04em; }
      .subtitle .detail p img {
        padding-left: 14px;
        vertical-align: top !important;
        float: right; }

.subtitle:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden; }

.hori .subtitle .detail {
  margin-right: 0px; }

.wrap-col3.full .text-col3 {
  width: 423px;
  float: left; }

.border {
  clear: both; }

hr {
  margin: 0px;
  padding: 0px;
  background-color: #eaeaea;
  border: none;
  clear: both; }

.line {
  width: 1px;
  height: 225px;
  background-color: white;
  position: absolute;
  left: 423px;
  top: 0px;
  z-index: 100;
  -webkit-transform: rotate(-26.57deg);
  -moz-transform: rotate(-26.57deg);
  -ms-transform: rotate(-26.57deg);
  transform: rotate(-26.57deg);
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0; }

.line.horizontal {
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg); }

.line.left {
  left: -1px; }

h1, h2, h3 {
  font-weight: normal; }

a {
  color: #333333; }
  a:link {
    text-decoration: none; }
    a:link p {
      text-decoration: none; }
  a:hover {
    color: #888888;
    text-decoration: underline; }
    a:hover p {
      color: #888888;
      text-decoration: underline; }

a.activate {
  color: #888888;
  text-decoration: underline; }
  a.activate p {
    color: #888888;
    text-decoration: underline; }

a.active {
  color: #888888;
  text-decoration: none; }
  a.active p {
    color: #888888;
    text-decoration: none; }
  a.active:hover {
    text-decoration: none;
    cursor: default; }
    a.active:hover p {
      text-decoration: none;
      cursor: default; }

.over:hover img {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=55);
  opacity: 0.55; }

.nav a,
nav a {
  text-decoration: none; }
  .nav a:hover,
  nav a:hover {
    text-decoration: underline; }

html {
  overflow-y: scroll; }

body {
  min-width: 1200px;
  color: #444444;
  font-size: 14px;
  overflow: hidden;
  background-color: white;
  word-wrap: break-word; }

body.hori {
  min-width: 980px; }

.tilt-mode #tilter {
  -webkit-transform: rotate(26.57deg);
  -moz-transform: rotate(26.57deg);
  -ms-transform: rotate(26.57deg);
  transform: rotate(26.57deg);
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0; }
.tilt-mode .bg-brick {
  position: relative; }
.tilt-mode #btn .t {
  display: none; }

.horizontal-mode #btn .n {
  display: none; }

#btn {
  position: fixed;
  right: 0;
  top: 0;
  width: 90px;
  padding: 10px;
  background: #666666;
  color: white;
  text-align: center;
  cursor: pointer;
  z-index: 1000; }

#bg {
  width: 1136px;
  height: 0px;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -1;
  background-color: white; }

#wrapper {
  position: relative;
  width: 1136px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  background-color: white; }

.hori #wrapper {
  width: 980px; }

#tilter {
  position: relative; }

#contents {
  position: relative;
  padding-top: 18px; }

.index #contents {
  padding-top: 154px; }
.index .header-minimal.kotei {
  display: none; }
  .index .header-minimal.kotei.pc {
    display: none !important; }

.hori #contents {
  padding-top: 154px; }
.hori .header-minimal.kotei {
  display: none; }

.tilt-mode #header #header-normal {
  -webkit-transform: rotate(26.57deg);
  -moz-transform: rotate(26.57deg);
  -ms-transform: rotate(26.57deg);
  transform: rotate(26.57deg);
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0; }
.tilt-mode #header .header-minimal-trigger.fix {
  -webkit-transform: rotate(26.57deg);
  -moz-transform: rotate(26.57deg);
  -ms-transform: rotate(26.57deg);
  transform: rotate(26.57deg);
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0; }
.tilt-mode #header .header-minimal {
  -webkit-transform: rotate(26.57deg);
  -moz-transform: rotate(26.57deg);
  -ms-transform: rotate(26.57deg);
  transform: rotate(26.57deg);
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0; }

#header {
  position: relative;
  z-index: 1000; }
  #header #header-normal {
    width: 1270px;
    padding-top: 39px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100; }
    #header #header-normal img {
      float: left; }
    #header #header-normal #logo {
      margin-bottom: 38px; }
    #header #header-normal #logo:after {
      content: ".";
      display: block;
      clear: both;
      height: 0;
      visibility: hidden; }
    #header #header-normal #gnav {
      height: 10px;
      line-height: 10px;
      padding-bottom: 38px; }
      #header #header-normal #gnav ul.left {
        margin-left: 5px;
        float: left; }
        #header #header-normal #gnav ul.left li {
          float: left;
          margin-right: 28px;
          font-size: 13px;
          letter-spacing: 0.06em; }
      #header #header-normal #gnav ul.right {
        margin-right: -5px;
        margin-top: -13px;
        float: right; }
        #header #header-normal #gnav ul.right li {
          float: left;
          margin-left: 29px;
          cursor: pointer; }
  #header .header-minimal-trigger.fix {
    margin-top: -120px;
    position: fixed;
    left: 50%;
    top: -90px;
    z-index: 101;
    transition: top 500ms cubic-bezier(0.42, 0, 0.58, 1); }
    #header .header-minimal-trigger.fix.open {
      top: 30px; }
    #header .header-minimal-trigger.fix .btn {
      position: absolute;
      left: 195px;
      top: 40px;
      z-index: 0;
      cursor: pointer; }
  #header .header-minimal {
    margin-top: -450px;
    margin-left: 26px;
    position: fixed;
    left: 50%;
    top: -275px;
    z-index: 102;
    transition: top 500ms cubic-bezier(0.42, 0, 0.58, 1); }
    #header .header-minimal.open {
      top: 175px; }
    #header .header-minimal.kotei {
      margin-left: 20px;
      top: 175px;
      position: absolute; }
    #header .header-minimal .logo {
      position: absolute;
      left: 499px;
      top: 183px;
      z-index: 1; }
    #header .header-minimal nav {
      width: 500px;
      margin-left: -500px;
      position: absolute;
      left: 740px;
      top: 250px;
      z-index: 0; }
      #header .header-minimal nav ul {
        float: right;
        margin-right: 3px; }
        #header .header-minimal nav ul li {
          margin-left: 18px;
          float: left; }
    #header .header-minimal .bg {
      margin-left: 0px;
      width: 760px;
      height: 296px;
      background-color: white; }
  #header .header-minimal.abs {
    display: none;
    margin-top: 0px;
    position: absolute;
    top: -189px;
    z-index: 100; }
    #header .header-minimal.abs hr {
      display: block;
      width: 758px;
      margin-left: -105px; }

.news #header #header-normal, .about #header #header-normal, .work #header #header-normal, .clients #header #header-normal, .careers #header #header-normal, .quantum #header #header-normal, .terms #header #header-normal, .privacy #header #header-normal, .stories #header #header-normal {
  display: none; }

.hori #header #header-normal {
  display: block;
  width: 980px; }
  .hori #header #header-normal #gnav ul.left {
    margin-left: 0px; }
  .hori #header #header-normal #gnav ul.right {
    margin-right: 0px;
    margin-top: -14px; }
.hori #header .header-minimal-trigger.fix {
  display: none; }
.hori #header .header-minimal.fix {
  display: none; }

footer {
  font-size: 13px; }
  footer .inborder1 {
    margin-bottom: 0px;
    clear: both; }
  footer .inborder2 {
    margin-bottom: 38px; }
  footer .inborder4 {
    margin-bottom: 55px; }
  footer ul li {
    float: left;
    margin-right: 34px; }
  footer ul li.last {
    margin-right: 0px; }
  footer ul:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden; }
  footer #sns-bottom {
    height: 136px;
    padding-top: 80px; }
    footer #sns-bottom ul {
      width: 154px;
      margin-left: auto;
      margin-right: auto;
      text-align: center; }
      footer #sns-bottom ul li {
        margin-right: 40px;
        cursor: pointer; }
      footer #sns-bottom ul li.last {
        margin-right: 0px; }
  footer #footernav {
    width: 1280px;
    margin-bottom: 18px;
    position: relative; }
    footer #footernav ul {
      margin-left: 4px;
      float: left; }
    footer #footernav #pagetop-btn {
      margin-top: -8px;
      float: right;
      cursor: pointer; }
      footer #footernav #pagetop-btn img {
        margin-right: 3px;
        float: right; }
      footer #footernav #pagetop-btn p {
        margin-top: 9px;
        margin-right: 8px;
        font-size: 13px;
        float: right; }
    footer #footernav:after {
      content: ".";
      display: block;
      clear: both;
      height: 0;
      visibility: hidden; }
  footer #lang-copy #shift-btn {
    width: 112px;
    height: 40px;
    float: left;
    cursor: pointer; }
    footer #lang-copy #shift-btn .line.top {
      width: 1px;
      height: 90px;
      position: absolute;
      left: 0px;
      top: 0px;
      z-index: 10;
      -webkit-transform: rotate(-90deg);
      -moz-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
      transform: rotate(-90deg);
      background-color: #eaeaea; }
    footer #lang-copy #shift-btn .line.bottom {
      width: 1px;
      height: 90px;
      position: absolute;
      left: 21px;
      top: 40px;
      z-index: 10;
      -webkit-transform: rotate(-90deg);
      -moz-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
      transform: rotate(-90deg);
      background-color: #eaeaea; }
    footer #lang-copy #shift-btn .line.left {
      width: 1px;
      height: 45px;
      position: absolute;
      left: 1px;
      top: 0px;
      z-index: 10;
      background-color: #eaeaea; }
    footer #lang-copy #shift-btn .line.right {
      width: 1px;
      height: 45px;
      position: absolute;
      left: 90px;
      top: 0px;
      z-index: 10;
      background-color: #eaeaea; }
    footer #lang-copy #shift-btn .img {
      margin-left: 20px;
      margin-top: 6px; }
  footer #lang-copy #lang-btn {
    margin-top: 14px;
    margin-left: 14px;
    float: left;
    cursor: pointer; }
  footer #lang-copy #copyright {
    margin-top: 12px;
    margin-right: -10px;
    float: right;
    letter-spacing: 0.02em; }
  footer #lang-copy:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden; }

.hori footer {
  padding-bottom: 20px; }
  .hori footer #footernav {
    width: 980px !important;
    margin-bottom: 11px; }
    .hori footer #footernav #pagetop-btn {
      margin-top: -10px; }
  .hori footer #lang-copy #shift-btn {
    width: 80px; }
    .hori footer #lang-copy #shift-btn .line.top {
      width: 80px;
      height: 1px;
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg); }
    .hori footer #lang-copy #shift-btn .line.bottom {
      width: 80px;
      height: 1px;
      left: 0px;
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg); }
    .hori footer #lang-copy #shift-btn .line.left {
      height: 40px;
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg); }
    .hori footer #lang-copy #shift-btn .line.right {
      height: 40px;
      left: 80px;
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg); }
    .hori footer #lang-copy #shift-btn .img {
      margin-left: 10px;
      margin-top: 5px; }
  .hori footer #lang-copy #lang-btn {
    margin-left: 18px;
    font-size: 12px; }
  .hori footer #lang-copy #copyright {
    margin-right: 0px; }
