/*!
 * 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; }

.clearfix, #company .company_content .company_message, #related li {
  *zoom: 1; }
  .clearfix:after, #company .company_content .company_message:after, #related li:after {
    content: "";
    display: table;
    clear: both; }

html, body, div, h1, h2, h3, h4, h5, h6, p, img, i, ul, li, header, nav, aside, section, footer {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  vertical-align: baseline; }

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

a {
  color: #000;
  display: block;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s; }

a:link, a:visited {
  color: #000; }

a:hover, a:active {
  color: #000; }

a img {
  border: none; }

img {
  vertical-align: middle;
  border: 0;
  width: 100%; }

iframe {
  width: 100%; }

body {
  color: #707070;
  background-color: #fff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: normal;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%; }

@font-face {
  font-family: 'Demonized';
  src: url("fonts/Demonized.eot");
  src: url("fonts/Demonized.eot?#iefix") format("embedded-opentype"), url("fonts/Demonized.woff") format("woff"), url("fonts/Demonized.ttf") format("truetype"); }
/*===============================================
common
===============================================*/
section {
  padding: 96px 0; }

.inner {
  max-width: 1024px;
  margin: 0 auto; }

.list {
  padding: 0 16px;
  margin-bottom: 32px;
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box; }

.pc {
  display: block; }

.tb, .sp {
  display: none; }

.heading {
  margin: 0 auto 64px;
  text-align: center; }
  .heading h2 {
    font-size: 32px;
    position: relative; }
    .heading h2:before {
      background-color: #707070;
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      height: 2px; }
    .heading h2 span {
      background-color: #fff;
      position: relative;
      padding: 0 64px;
      display: inline-block; }

.sub_heading {
  margin: 0 auto 64px;
  text-align: center; }
  .sub_heading h3 {
    font-size: 32px;
    position: relative;
    display: inline-block; }
    .sub_heading h3:before {
      background-color: #707070;
      content: '';
      position: absolute;
      bottom: -8px;
      left: 0;
      width: 100%;
      height: 2px; }

table {
  font-size: 20px;
  width: 100%;
  margin-bottom: 64px; }
  table.first_table caption {
    border: none; }
  table caption {
    border-top: 1px solid #707070;
    padding-top: 64px;
    padding-bottom: 16px;
    text-align: center; }
  table tr th, table tr td {
    padding: 16px 0;
    text-align: left;
    line-height: 1.6; }
  table tr th {
    width: 160px;
    vertical-align: top; }

/*===============================================
first_view
===============================================*/
#first_view {
  color: #707070;
  position: relative;
  padding: 0; }
  #first_view p, #first_view .fv_logo {
    position: absolute; }
  #first_view p {
    color: #000;
    font-family: Arial;
    font-size: 48px;
    bottom: 10%;
    right: 32px;
    text-align: right; }
  #first_view .fv_logo {
    top: 64px;
    left: 64px;
    width: 316px; }

/*===============================================
nav
===============================================*/
#nav {
  background-color: #E5030C;
  padding: 0; }
  #nav li {
    font-size: 16px;
    width: 14.2857%;
    padding: 0;
    margin: 0;
    text-align: center; }
    #nav li a {
      color: #fff;
      padding: 32px 0; }
      #nav li a:hover {
        color: #E5030C;
        background-color: #fff; }
        #nav li a:hover p:after {
          background-color: #E5030C; }
      #nav li a p {
        font-weight: bold;
        position: relative;
        display: inline-block; }
        #nav li a p:after {
          content: '';
          background-color: #fff;
          position: absolute;
          bottom: -4px;
          left: 0;
          width: 100%;
          height: 1px; }

/*===============================================
business
===============================================*/
#business .business_img {
  position: relative;
  margin-bottom: 48px; }
  #business .business_img p {
    color: #fff;
    background-color: rgba(112, 112, 112, 0.8);
    font-size: 24px;
    font-weight: bold;
    position: absolute;
    bottom: 64px;
    width: 100%;
    line-height: 2.4;
    padding: 32px 0;
    text-align: center; }
#business .business_content {
  text-align: center; }
  #business .business_content .business_inner {
    border-bottom: 1px solid #707070;
    padding-bottom: 48px;
    margin-bottom: 48px; }
    #business .business_content .business_inner p {
      font-size: 20px;
      line-height: 2; }

/*===============================================
careers
===============================================*/
#careers .heading {
  margin-bottom: 0; }

/*===============================================
company
===============================================*/
#company .company_content {
  padding-top: 64px; }
  #company .company_content .company_idea li {
    font-size: 20px;
    padding-bottom: 48px;
    line-height: 2;
    text-align: center; }
    #company .company_content .company_idea li p span {
      font-family: 'Demonized';
      font-size: 24px; }
  #company .company_content .philosophy_img {
    margin: 32px 0 96px; }
  #company .company_content .company_message img {
    vertical-align: top; }
  #company .company_content .company_message .logo_img {
    width: 40%; }
  #company .company_content .company_message .message_img {
    float: right;
    width: 30%; }
  #company .company_content .company_message p {
    font-size: 20px;
    width: 100%;
    padding-bottom: 48px;
    line-height: 2.4;
    display: block; }
    #company .company_content .company_message p span {
      font-family: 'Demonized';
      font-size: 24px; }

/*===============================================
related
===============================================*/
#related li {
  font-size: 16px;
  width: 50%;
  padding: 0; }
  #related li:nth-child(odd) {
    padding-right: 48px; }
  #related li:nth-child(even) {
    padding-left: 48px; }
  #related li a {
    width: 76%;
    display: inline-block; }
  #related li .modal_img {
    float: right;
    width: 20%;
    display: inline-block; }
    #related li .modal_img a {
      width: 100%; }
  #related li img {
    border: 1px solid #707070;
    margin-bottom: 8px;
    cursor: pointer;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s; }
    #related li img:hover {
      opacity: .7; }
  #related li p {
    line-height: 1.6; }
    #related li p a {
      color: #707070;
      width: 100%;
      text-decoration: underline; }
    #related li p img {
      border: none;
      width: 16px;
      vertical-align: top; }

/*===============================================
footer
===============================================*/
footer {
  color: #fff;
  background-color: #333;
  font-size: 12px;
  padding: 24px 0;
  text-align: center; }

/*===============================================
page_top
===============================================*/
#page_top {
  position: fixed;
  bottom: 0;
  right: 0;
  margin: 0;
  text-align: center;
  z-index: 9999; }
  #page_top a {
    background-color: #E5030C;
    width: 60px;
    height: 60px;
    display: inline-block;
    line-height: 64px; }
    #page_top a:hover {
      opacity: .7; }
    #page_top a i {
      color: #fff;
      font-size: 24px; }

/*
=====================================================================
=====================================================================
1024px
=====================================================================
=====================================================================
*/
@media screen and (max-width: 1024px) {
  /*===============================================
  common
  ===============================================*/
  section {
    padding: 96px 16px; } }
/*
=====================================================================
=====================================================================
768px
=====================================================================
=====================================================================
*/
@media screen and (max-width: 768px) {
  /*===============================================
  common
  ===============================================*/
  section {
    padding: 64px 16px 0; }

  .tb {
    display: block; }

  .list {
    width: 100%;
    padding: 0;
    margin-bottom: 32px; }
    .list:last-child {
      margin-bottom: 0; }

  .heading {
    margin: 0 auto 48px; }
    .heading h2 {
      font-size: 24px; }
      .heading h2:before {
        height: 1px; }

  .sub_heading {
    margin: 0 auto 48px; }
    .sub_heading h3 {
      font-size: 22px; }
      .sub_heading h3:before {
        height: 1px; }

  table {
    font-size: 14px;
    margin-bottom: 48px; }
    table caption {
      font-size: 16px; }
    table tr th {
      width: 120px; }

  /*===============================================
  first_view
  ===============================================*/
  #first_view p {
    font-size: 28px;
    line-height: 1.6; }
  #first_view .fv_logo {
    top: 32px;
    left: 16px;
    width: 160px; }

  /*===============================================
  nav
  ===============================================*/
  #nav li {
    font-size: 12px; }

  /*===============================================
  business
  ===============================================*/
  #business .business_img p {
    font-size: 18px;
    bottom: 32px;
    line-height: 1.6;
    padding: 24px 16px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box; }
  #business .business_content .business_inner {
    padding-bottom: 32px;
    margin-bottom: 32px; }
    #business .business_content .business_inner p {
      font-size: 16px;
      line-height: 2; }

  /*===============================================
  company
  ===============================================*/
  #company img {
    margin-bottom: 64px; }
  #company .company_content .company_idea li {
    font-size: 16px;
    padding-bottom: 32px; }
    #company .company_content .company_idea li p span {
      font-size: 20px; }
  #company .company_content .philosophy_img {
    margin: 32px 0 96px; }
  #company .company_content .company_message .logo_img {
    width: 40%; }
  #company .company_content .company_message .message_img {
    float: right;
    width: 30%; }
  #company .company_content .company_message p {
    font-size: 16px;
    line-height: 2; }
    #company .company_content .company_message p span {
      font-family: 'Demonized';
      font-size: 20px; }

  /*===============================================
  related
  ===============================================*/
  #related {
    padding: 64px 16px; }
    #related li {
      font-size: 14px; }
      #related li:nth-child(odd) {
        padding-right: 8px; }
      #related li:nth-child(even) {
        padding-left: 8px; }
      #related li p a {
        width: auto;
        display: inline-block; }
      #related li p img {
        width: 12px; } }
/*
=====================================================================
=====================================================================
480px
=====================================================================
=====================================================================
*/
@media screen and (max-width: 480px) {
  /*===============================================
  common
  ===============================================*/
  .pc {
    display: none; }

  .sp {
    display: block; }

  .heading {
    margin: 0 auto 32px; }

  .sub_heading {
    margin: 0 auto 32px; }

  table {
    margin-bottom: 32px; }
    table caption {
      padding-top: 48px; }

  /*===============================================
  first_view
  ===============================================*/
  #first_view p {
    font-size: 18px;
    top: 55%;
    left: 50%;
    width: 100%;
    text-align: center;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%); }
  #first_view .fv_logo {
    top: 16px;
    width: 96px; }

  /*===============================================
  nav
  ===============================================*/
  #nav li {
    border-bottom: 1px solid #fff;
    font-size: 14px;
    width: 50%; }
    #nav li:nth-child(even) {
      border-left: 1px solid #fff; }
    #nav li a {
      padding: 20px 0; }

  /*===============================================
  business
  ===============================================*/
  #business .business_img p {
    font-size: 16px;
    top: 50%;
    bottom: inherit;
    left: 0;
    line-height: 1.6;
    padding: 16px;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%); }
  #business .business_content .business_inner p {
    font-size: 14px; }

  /*===============================================
  company
  ===============================================*/
  #company img {
    margin-bottom: 48px; }
  #company .company_content .company_idea li {
    font-size: 14px; }
    #company .company_content .company_idea li p span {
      font-size: 16px; }
  #company .company_content .company_message p {
    font-size: 14px; }
    #company .company_content .company_message p span {
      font-size: 16px; }

  /*===============================================
  related
  ===============================================*/
  #related li {
    width: 100%; }
    #related li:nth-child(odd) {
      padding-right: 0; }
    #related li:nth-child(even) {
      padding-left: 0; } }

/*# sourceMappingURL=style.css.map */
