@charset "UTF-8";
/* ------------------------------
button
------------------------------ */
.clearfix, header .header_main, .gnavi > ul {
  *zoom: 1; }
  .clearfix:after, header .header_main:after, .gnavi > ul:after {
    content: "";
    display: table;
    clear: both; }

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

ul, li {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: none; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

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; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

@font-face {
  font-family: 'fontello';
  src: url("/fonts/fontello.eot?16310482");
  src: url("/fonts/fontello.eot?16310482#iefix") format("embedded-opentype"), url("/fonts/fontello.woff2?16310482") format("woff2"), url("/fonts/fontello.woff?16310482") format("woff"), url("/fonts/fontello.ttf?16310482") format("truetype"), url("/fonts/fontello.svg?16310482#fontello") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?66616483#fontello') format('svg');
  }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

.icon-arrow_down:before {
  content: '\e800'; }

/* '' */
.icon-phone:before {
  content: '\e801'; }

/* '' */
.icon-attention:before {
  content: '\e802'; }

/* '' */
.icon-email:before {
  content: '\e803'; }

/* '' */
.icon-search:before {
  content: '\e804'; }

/* '' */
.icon-mail:before {
  content: '\e805'; }

/* '' */
.icon-cancel-squared:before {
  content: '\e806'; }

/* '' */
.icon-arrow_left:before {
  content: '\e807'; }

/* '' */
.icon-arrow_right:before {
  content: '\e808'; }

/* '' */
.icon-arrow_up:before {
  content: '\e809'; }

/* '' */
.icon-pencil:before {
  content: '\e80a'; }

/* '' */
.icon-calendar:before {
  content: '\e80b'; }

/* '' */
.icon-download:before {
  content: '\f02e'; }

/* '' */
.icon-location:before {
  content: '\f031'; }

/* '' */
.icon-doc-text:before {
  content: '\f0f6'; }

/* '' */
.icon-angle-double-left:before {
  content: '\f100'; }

/* '' */
.icon-angle-double-right:before {
  content: '\f101'; }

/* '' */
.icon-facebook-official:before {
  content: '\f230'; }

/* '' */
.icon-twitter-squared:before {
  content: '\f304'; }

/* '' */
.icon-linkedin-squared:before {
  content: '\f30c'; }

/* '' */
/*--------------------------
Tag Default
---------------------------*/
html {
  font-size: 62.5%; }

* {
  -webkit-appearance: none; }

body {
  font-family: 'Open Sans', Arial, sans-serif;
  font-weight: normal;
  font-size: 14px;
  font-size: 1.4rem;
  color: #fff;
  background-color: #000;
  word-break: break-word;
  word-wrap: break-word;
  overflow-x: hidden;
  overflow-y: scroll;
  line-height: 1;
  -webkit-text-size-adjust: 100%; }

body * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

img {
  width: 100%; }

a, a:link {
  color: #fff; }

.sp_none {
  display: block; }
  @media only screen and (max-width: 768px) {
    .sp_none {
      display: none; } }

.pc_none {
  display: none; }
  @media only screen and (max-width: 768px) {
    .pc_none {
      display: block; } }

#loading img {
  width: 64px;
  display: block;
  margin: 340px auto 0px; }
  @media only screen and (max-width: 768px) {
    #loading img {
      margin: 200px auto 0px; } }

#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  display: tabe;
  background: #fff;
  z-index: 1000000; }

/*--------------------------
共通デザイン
---------------------------*/
.wrap {
  width: 100%; }
  @media only screen and (max-width: 1040px) {
    .wrap {
      padding: 0 10px; } }

.btn_wrap .btn {
  display: block;
  width: 190px;
  border: 1px rgba(255, 255, 255, 0.8) solid;
  padding: 15px;
  margin: 0 auto;
  text-align: center;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s; }
  .btn_wrap .btn:after {
    display: inline-block;
    float: right;
    margin-right: 12px;
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "fontello";
    content: "\e808"; }
  .btn_wrap .btn:hover {
    color: #000;
    background: #fff; }

/*--------------------------
Layout
---------------------------*/
#contents {
  padding-top: 100px; }
  @media only screen and (max-width: 1040px) {
    #contents {
      padding-top: 58px; } }

/*--------------------------
Under IE8
---------------------------*/
.under_ie8 {
  width: 100%;
  height: 100%;
  background: #000;
  position: fixed;
  z-index: 1000;
  opacity: 0.9;
  filter: alpha(opacity=90);
  -ms-filter: "alpha(opacity=90)"; }
  .under_ie8 p {
    color: #fff;
    font-size: 24px;
    line-height: 175%;
    text-align: center;
    display: block;
    width: 800px;
    margin: 200px auto 0px;
    z-index: 10000;
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    position: relative;
    z-index: 1100; }
    .under_ie8 p img {
      display: block;
      margin: 0px auto 14px; }

/*--------------------------
header
---------------------------*/
header {
  position: fixed;
  z-index: 10000; }
  @media only screen and (max-width: 1040px) {
    header {
      padding: 5px;
      width: 100%;
      border-bottom: none; } }
  header .header_top {
    width: 100%;
    height: 70px;
    position: fixed;
    top: 0;
    left: 0;
    background: #000;
    padding: 10px 25px 0px;
    /*--------------------------
    hamburger menu
    ---------------------------*/ }
    @media only screen and (max-width: 1040px) {
      header .header_top {
        z-index: 10001;
        padding: 4px 8px 0px;
        height: 54px; } }
    header .header_top .logo {
      width: 315px;
      margin: 14px 0 0; }
      @media only screen and (max-width: 1040px) {
        header .header_top .logo {
          width: 182px;
          margin: 16px 0 0;
          float: left;
          height: auto;
          position: relative; } }
      header .header_top .logo img {
        width: 100%; }
    header .header_top .header_nav-sp {
      display: none; }
      @media only screen and (max-width: 1040px) {
        header .header_top .header_nav-sp {
          display: block;
          float: right;
          position: relative; }
          header .header_top .header_nav-sp li {
            display: inline-block;
            cursor: pointer;
            text-align: center;
            margin-right: 6px; }
            header .header_top .header_nav-sp li.is-open .btnSpMenu_content span {
              background-color: rgba(255, 255, 255, 0); }
            header .header_top .header_nav-sp li.is-open .btnSpMenu_content span:before {
              top: 0;
              -webkit-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
              transform: rotate(-45deg);
              -webkit-transition: -webkit-transform .3s;
              transition: -webkit-transform .3s;
              -o-transition: transform .3s;
              transition: transform .3s;
              transition: transform .3s, -webkit-transform .3s; }
            header .header_top .header_nav-sp li.is-open .btnSpMenu_content span:after {
              top: 0;
              -webkit-transform: rotate(45deg);
              -ms-transform: rotate(45deg);
              transform: rotate(45deg);
              -webkit-transition: -webkit-transform .3s;
              transition: -webkit-transform .3s;
              -o-transition: transform .3s;
              transition: transform .3s;
              transition: transform .3s, -webkit-transform .3s; }
            header .header_top .header_nav-sp li .btnSpMenu_content {
              font-size: 10px;
              padding: 0 5px 3px 5px;
              border: 1px solid #000;
              background-color: #333;
              height: 40px;
              -webkit-border-radius: 3px;
              border-radius: 3px; }
              header .header_top .header_nav-sp li .btnSpMenu_content .bar {
                display: block;
                width: 100%;
                text-align: center;
                position: relative;
                height: 25px;
                width: 25px;
                margin: 0 auto; }
              header .header_top .header_nav-sp li .btnSpMenu_content span {
                position: absolute;
                display: block;
                width: 100%;
                background-color: #777;
                top: 12px;
                height: 2px;
                -webkit-transition: .2s ease-in-out;
                -moz-transition: .2s ease-in-out;
                -o-transition: .2s ease-in-out;
                transition: .2s ease-in-out; }
                header .header_top .header_nav-sp li .btnSpMenu_content span:after, header .header_top .header_nav-sp li .btnSpMenu_content span:before {
                  content: "";
                  position: absolute;
                  left: 0;
                  display: block;
                  width: 100%;
                  height: 2px;
                  background-color: #777;
                  -webkit-transition: transform .35s;
                  -moz-transition: transform .35s;
                  -webkit-transition: -webkit-transform .35s;
                  transition: -webkit-transform .35s;
                  -o-transition: transform .35s;
                  transition: transform .35s;
                  transition: transform .35s, -webkit-transform .35s; }
                header .header_top .header_nav-sp li .btnSpMenu_content span:before {
                  -webkit-transform: translateY(-5px);
                  -moz-transform: translateY(-5px);
                  -ms-transform: translateY(-5px);
                  -o-transform: translateY(-5px);
                  transform: translateY(-5px); }
                header .header_top .header_nav-sp li .btnSpMenu_content span:after {
                  -webkit-transform: translateY(5px);
                  -moz-transform: translateY(5px);
                  -ms-transform: translateY(5px);
                  -o-transform: translateY(5px);
                  transform: translateY(5px); }
            header .header_top .header_nav-sp li .contact_btn {
              font-size: 24px;
              font-size: 2.4rem; }
            header .header_top .header_nav-sp li .contact_font {
              font-size: 10px;
              font-size: 1rem; } }
  header .header_nav {
    position: fixed;
    right: 0px;
    top: 0px; }
  @media only screen and (max-width: 1040px) {
    header .header_main {
      padding: 0; } }

/*--------------------------
gnavi
---------------------------*/
.gnavi {
  float: right; }
  @media only screen and (max-width: 1040px) {
    .gnavi {
      float: none;
      width: 100%;
      position: fixed;
      z-index: 100;
      top: -100vh;
      left: 0;
      height: 100%;
      overflow: auto;
      -webkit-transition: top .5s;
      -moz-transition: top .5s;
      -ms-transition: top .5s;
      -o-transition: top .5s;
      transition: top .5s;
      -webkit-overflow-scrolling: touch; }
      .gnavi.is-open {
        top: 54px; } }
  .gnavi > ul {
    padding: 4px 80px 0px 0px; }
    @media only screen and (max-width: 1040px) {
      .gnavi > ul {
        padding: 0px;
        height: 100%; } }
    .gnavi > ul > li {
      position: relative;
      padding: 0px 8px; }
      @media only screen and (max-width: 1040px) {
        .gnavi > ul > li {
          padding: 0px 4px; } }
      .gnavi > ul > li.current::before {
        content: "";
        width: 100%;
        height: 4px;
        position: absolute;
        top: 0;
        left: 0; }
        @media only screen and (max-width: 1040px) {
          .gnavi > ul > li.current::before {
            display: none; } }
      .gnavi > ul > li:nth-child(3) .accordion_menu li {
        width: 300px; }
      .gnavi > ul > li:nth-child(4) .accordion_menu li {
        width: 300px; }
    .gnavi > ul li {
      text-align: center;
      float: left;
      margin-right: 20px; }
      @media only screen and (max-width: 1040px) {
        .gnavi > ul li {
          text-align: left;
          float: none;
          display: block;
          margin: 0;
          border-bottom: 1px solid #ccc;
          background-color: #333;
          border-bottom: 1px solid #444; } }
      .gnavi > ul li a {
        font-size: 16px;
        color: #fff;
        padding: 22px 0px 32px;
        display: block; }
        @media only screen and (max-width: 1040px) {
          .gnavi > ul li a {
            width: 100%;
            height: auto;
            padding: 15px 18px;
            position: relative; } }
        @media only screen and (max-width: 768px) {
          .gnavi > ul li a {
            font-size: 14px; } }
      .gnavi > ul li .has-child.is-open ~ ul {
        max-height: 100vh;
        padding: 0px;
        -webkit-transition: all .8s;
        -o-transition: all .8s;
        transition: all .8s; }
        @media only screen and (max-width: 1040px) {
          .gnavi > ul li .has-child.is-open ~ ul {
            padding: 0; } }
      .gnavi > ul li .accordion_menu {
        position: absolute;
        left: 0;
        top: 66px;
        width: 100%;
        padding: 0px;
        overflow: hidden;
        max-height: 0;
        text-align: center; }
        @media only screen and (max-width: 1040px) {
          .gnavi > ul li .accordion_menu {
            width: 100%; } }
        .gnavi > ul li .accordion_menu:nth-child(1) {
          width: 220px; }
          @media only screen and (max-width: 1040px) {
            .gnavi > ul li .accordion_menu:nth-child(1) {
              width: 100%; } }
        .gnavi > ul li .accordion_menu:nth-child(2) {
          width: 300px; }
          @media only screen and (max-width: 1040px) {
            .gnavi > ul li .accordion_menu:nth-child(2) {
              width: 100%; } }
        .gnavi > ul li .accordion_menu li {
          float: none;
          text-align: left;
          margin: 0px auto;
          padding: 0px;
          border: none; }
          @media only screen and (max-width: 1040px) {
            .gnavi > ul li .accordion_menu li {
              width: 100% !important;
              background: #dedede; } }
          @media only screen and (max-width: 1040px) {
            .gnavi > ul li .accordion_menu li:not(:last-child) {
              border-bottom: 1px solid #ccc; } }
          .gnavi > ul li .accordion_menu li a {
            width: 100%;
            color: #333;
            height: auto;
            padding: 14px;
            display: inline-block;
            background-color: rgba(255, 255, 255, 0.8);
            -webkit-transition: all 0.5s;
            -o-transition: all 0.5s;
            transition: all 0.5s;
            border-bottom: solid 1px #fff; }
            @media only screen and (max-width: 1040px) {
              .gnavi > ul li .accordion_menu li a {
                background-color: rgba(255, 255, 255, 0.8);
                padding: 14px 14px 14px 20px;
                display: block;
                border-top: 1px solid #222; } }
            .gnavi > ul li .accordion_menu li a:after {
              content: '\e808';
              font-size: 16px;
              font-family: "fontello";
              float: right; }
            .gnavi > ul li .accordion_menu li a:hover {
              background-color: white; }
  @media only screen and (max-width: 1040px) {
    .gnavi .has-child + .accordion_menu {
      max-height: 0;
      overflow: hidden; }
    .gnavi li .has-child.is-open + ul {
      max-height: 100vh;
      position: relative;
      top: inherit;
      left: inherit;
      padding: 0; }
    .gnavi .has-child:after {
      content: '\e800';
      font-size: 20px;
      font-family: "fontello";
      position: absolute;
      top: 50%;
      right: 10px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
    .gnavi .has-child.is-open:after {
      content: '\e809';
      font-size: 20px;
      font-family: "fontello";
      position: absolute;
      top: 50%;
      right: 10px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); } }
  .gnavi .contact_icon {
    position: absolute;
    top: 8px;
    right: 25px; }
    @media only screen and (max-width: 1040px) {
      .gnavi .contact_icon {
        display: none; } }
    .gnavi .contact_icon .search_btn {
      z-index: 99999;
      display: block;
      width: 40px;
      height: 40px;
      margin: 0px auto 2px;
      border-radius: 20px;
      background-color: #fff;
      text-align: center;
      vertical-align: middle;
      -webkit-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
      @media only screen and (max-width: 1040px) {
        .gnavi .contact_icon .search_btn {
          display: none; } }
      .gnavi .contact_icon .search_btn:hover {
        background-color: #ccc; }
      .gnavi .contact_icon .search_btn i {
        font-size: 24px;
        font-size: 2.4rem;
        position: relative;
        top: 6px;
        color: #333; }
    .gnavi .contact_icon span {
      font-size: 10px;
      font-size: 1rem; }

/*--------------------------
main_bg
---------------------------*/
.main_bg {
  background: #1a1a1a; }
  .main_bg .bg_skew01 {
    background: #000;
    -webkit-transform: skewX(-60deg);
    -ms-transform: skewX(-60deg);
    transform: skewX(-60deg); }
    @media only screen and (max-width: 768px) {
      .main_bg .bg_skew01 {
        -webkit-transform: skewX(0deg);
        -ms-transform: skewX(0deg);
        transform: skewX(0deg); } }
    .main_bg .bg_skew01 .bg_skew02 {
      -webkit-transform: skewX(60deg);
      -ms-transform: skewX(60deg);
      transform: skewX(60deg); }
      @media only screen and (max-width: 768px) {
        .main_bg .bg_skew01 .bg_skew02 {
          width: 100%;
          -webkit-transform: skewX(0deg);
          -ms-transform: skewX(0deg);
          transform: skewX(0deg); } }

/*--------------------------
footer
---------------------------*/
#footer .footer_top {
  color: #333;
  background-color: #fff;
  padding: 70px 0 0; }
  @media only screen and (max-width: 1040px) {
    #footer .footer_top {
      padding: 50px 0; } }
  @media only screen and (max-width: 768px) {
    #footer .footer_top {
      padding: 30px 0 20px; } }

#footer .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px; }
  #footer .inner:after {
    content: "";
    display: table;
    clear: both; }
  @media only screen and (max-width: 768px) {
    #footer .inner {
      padding: 0 10px; } }
  #footer .inner .left_contents {
    width: 35%;
    float: left; }
    @media only screen and (max-width: 1040px) {
      #footer .inner .left_contents {
        width: 100%;
        margin-bottom: 30px;
        float: none; }
        #footer .inner .left_contents:after {
          content: "";
          display: table;
          clear: both; } }
    @media only screen and (max-width: 768px) {
      #footer .inner .left_contents {
        text-align: center;
        margin-bottom: 0px; } }
    #footer .inner .left_contents .foot_logo {
      margin-bottom: 40px; }
      @media only screen and (max-width: 1040px) {
        #footer .inner .left_contents .foot_logo {
          float: left; } }
      @media only screen and (max-width: 768px) {
        #footer .inner .left_contents .foot_logo {
          float: none;
          margin-bottom: 20px; } }
      #footer .inner .left_contents .foot_logo img {
        max-width: 315px; }
        @media only screen and (max-width: 768px) {
          #footer .inner .left_contents .foot_logo img {
            max-width: 280px; } }
    #footer .inner .left_contents .foot_bnr {
      width: 100%;
      clear: both; }
      @media only screen and (max-width: 768px) {
        #footer .inner .left_contents .foot_bnr {
          margin: 0px auto 20px; } }
      #footer .inner .left_contents .foot_bnr ul {
        width: 100%; }
        #footer .inner .left_contents .foot_bnr ul:after {
          content: "";
          display: table;
          clear: both; }
        #footer .inner .left_contents .foot_bnr ul li {
          float: left;
          width: 50%; }
          #footer .inner .left_contents .foot_bnr ul li figure img {
            display: block;
            width: 179px;
            margin: 0px auto;
            -webkit-transition: all 0.5s;
            -o-transition: all 0.5s;
            transition: all 0.5s; }
            @media only screen and (max-width: 768px) {
              #footer .inner .left_contents .foot_bnr ul li figure img {
                width: 140px; } }
            #footer .inner .left_contents .foot_bnr ul li figure img:hover {
              opacity: 0.7;
              filter: alpha(opacity=70);
              -ms-filter: "alpha(opacity=70)"; }
          #footer .inner .left_contents .foot_bnr ul li figure figcaption {
            color: #666;
            font-size: 12px;
            font-size: 1.2rem;
            text-align: center;
            line-height: 135%;
            padding: 8px 8px 0px; }
  #footer .inner .right_contents {
    width: 65%;
    padding-left: 30px;
    float: right; }
    @media only screen and (max-width: 1040px) {
      #footer .inner .right_contents {
        width: 100%;
        padding-left: 0;
        float: none; } }
    #footer .inner .right_contents .foot_nav:after {
      content: "";
      display: table;
      clear: both; }
    #footer .inner .right_contents .foot_nav .nav {
      font-size: 14px;
      font-size: 1.4rem;
      border-left: 1px #ccc solid;
      width: 33.3333333333%;
      padding-left: 15px;
      float: left; }
      @media only screen and (max-width: 768px) {
        #footer .inner .right_contents .foot_nav .nav {
          border: none;
          width: 100%;
          padding-left: 0;
          float: none; } }
      #footer .inner .right_contents .foot_nav .nav a {
        color: #333; }
      #footer .inner .right_contents .foot_nav .nav .head {
        font-weight: bold; }
      #footer .inner .right_contents .foot_nav .nav .link_box {
        margin-top: 10px; }
        #footer .inner .right_contents .foot_nav .nav .link_box a {
          color: #333; }
          @media only screen and (max-width: 768px) {
            #footer .inner .right_contents .foot_nav .nav .link_box a {
              padding-bottom: 10px;
              border-bottom: 1px #444 solid; } }
      #footer .inner .right_contents .foot_nav .nav a {
        display: block;
        margin-bottom: 12px; }
        #footer .inner .right_contents .foot_nav .nav a::before {
          font-size: 18px;
          font-size: 1.8rem;
          font-family: "fontello";
          content: "\e808";
          padding-right: 5px; }
        #footer .inner .right_contents .foot_nav .nav a.head {
          margin: 0 0 18px; }
          @media only screen and (max-width: 768px) {
            #footer .inner .right_contents .foot_nav .nav a.head {
              margin: 18px 0; } }
        #footer .inner .right_contents .foot_nav .nav a.catalog {
          display: block;
          margin-top: 12px;
          padding: 8px 0px;
          color: #fff;
          text-align: center;
          line-height: 135%;
          background: #333;
          border-radius: 5px;
          -webkit-transition: all .5s;
          -o-transition: all .5s;
          transition: all .5s; }
          #footer .inner .right_contents .foot_nav .nav a.catalog::before {
            font-size: 18px;
            font-size: 1.8rem;
            color: #fff;
            font-family: "fontello";
            content: "\f02e";
            padding-right: 12px; }
          #footer .inner .right_contents .foot_nav .nav a.catalog:hover {
            background: #666; }
      #footer .inner .right_contents .foot_nav .nav .social_box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        #footer .inner .right_contents .foot_nav .nav .social_box li {
          text-align: center; }
          #footer .inner .right_contents .foot_nav .nav .social_box li:nth-child(1) a {
            margin-bottom: 0px; }
            #footer .inner .right_contents .foot_nav .nav .social_box li:nth-child(1) a:before {
              -webkit-transition: all .5s;
              -o-transition: all .5s;
              transition: all .5s;
              color: #3B5998;
              display: block;
              font-family: "fontello";
              content: '\f230';
              font-size: 40px;
              margin-right: 6px; }
            #footer .inner .right_contents .foot_nav .nav .social_box li:nth-child(1) a:hover:before {
              color: #25375d; }
          #footer .inner .right_contents .foot_nav .nav .social_box li:nth-child(2) a {
            margin-bottom: 0px; }
            #footer .inner .right_contents .foot_nav .nav .social_box li:nth-child(2) a:before {
              -webkit-transition: all .5s;
              -o-transition: all .5s;
              transition: all .5s;
              color: #1DA1F2;
              font-family: "fontello";
              content: '\f304';
              font-size: 40px;
              margin-right: 6px; }
            #footer .inner .right_contents .foot_nav .nav .social_box li:nth-child(2) a:hover:before {
              color: #1875ae; }
          #footer .inner .right_contents .foot_nav .nav .social_box li:nth-child(3) a {
            margin-bottom: 0px; }
            #footer .inner .right_contents .foot_nav .nav .social_box li:nth-child(3) a:before {
              -webkit-transition: all .5s;
              -o-transition: all .5s;
              transition: all .5s;
              color: #0077B5;
              font-family: "fontello";
              content: '\f30c';
              font-size: 40px; }
            #footer .inner .right_contents .foot_nav .nav .social_box li:nth-child(3) a:hover:before {
              color: #004c74; }
          #footer .inner .right_contents .foot_nav .nav .social_box li span {
            display: none; }
  #footer .inner .our_partners {
    clear: both;
    width: 100%;
    padding: 40px 0px; }
    @media only screen and (max-width: 768px) {
      #footer .inner .our_partners {
        padding: 0px;
        margin-bottom: 10px; } }
    #footer .inner .our_partners h3 {
      font-size: 30px;
      font-size: 3rem;
      font-weight: normal;
      text-align: center;
      padding-bottom: 10px;
      border-bottom: solid 1px #ccc; }
      @media only screen and (max-width: 768px) {
        #footer .inner .our_partners h3 {
          font-size: 18px;
          font-size: 1.8rem;
          margin-bottom: 10px; } }
    #footer .inner .our_partners ul {
      list-style-type: none;
      padding-left: 0;
      display: table;
      margin: auto; }
      #footer .inner .our_partners ul li {
        display: table-cell;
        width: 150px;
        height: 150px;
        padding: 0px 20px;
        text-align: center;
        vertical-align: middle; }
        @media only screen and (max-width: 768px) {
          #footer .inner .our_partners ul li {
            width: 80px;
            height: 80px;
            padding: 0px 10px; } }
        #footer .inner .our_partners ul li a {
          padding: 10px; }
          #footer .inner .our_partners ul li a img {
            display: inline;
            -webkit-transition: all .5s;
            -o-transition: all .5s;
            transition: all .5s;
            width: auto; }
            @media only screen and (max-width: 768px) {
              #footer .inner .our_partners ul li a img {
                width: 100%; } }
            #footer .inner .our_partners ul li a img:hover {
              opacity: 0.5;
              filter: alpha(opacity=50);
              -moz-opacity: 0.5; }

#footer #copyright {
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
  text-align: center;
  background-color: #111;
  padding: 30px 0; }
  @media only screen and (max-width: 768px) {
    #footer #copyright {
      font-size: 12px;
      font-size: 1.2rem;
      padding: 30px 0; } }

/*--------------------------
subpage共通
---------------------------*/
.subpage_wrapper {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px; }
  @media only screen and (max-width: 768px) {
    .subpage_wrapper {
      padding: 0 10px; } }

.subpage_wrapper_narrow {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 20px; }
  @media only screen and (max-width: 768px) {
    .subpage_wrapper_narrow {
      padding: 0 10px; } }

.subpage {
  margin-top: 70px; }
  .subpage #main_visual {
    width: 100%;
    height: 260px;
    margin-top: 2px;
    display: table; }
    @media only screen and (max-width: 768px) {
      .subpage #main_visual {
        height: 100px; } }
    .subpage #main_visual .subpage_head {
      font-size: 52px;
      font-size: 5.2rem;
      font-weight: normal;
      text-align: center;
      display: table-cell;
      *display: inline;
      *zoom: 1;
      vertical-align: middle; }
      @media only screen and (max-width: 768px) {
        .subpage #main_visual .subpage_head {
          font-size: 30px;
          font-size: 3rem; } }

@media only screen and (max-width: 768px) {
  .page_tab .subpage_wrapper, .page_tab .subpage_wrapper_narrow {
    padding: 0; } }

/* ------------------------------
Fade Effect
------------------------------ */
.fadein {
  opacity: 0;
  -webkit-transform: translate(0px, 0px);
  -ms-transform: translate(0px, 0px);
  transform: translate(0px, 0px);
  -webkit-transition: all 2s;
  -o-transition: all 2s;
  transition: all 2s; }

.fadein.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0); }

.fadein_top {
  opacity: 0;
  -webkit-transform: translate(0px, 30px);
  -ms-transform: translate(0px, 30px);
  transform: translate(0px, 30px);
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s; }
  @media only screen and (max-width: 768px) {
    .fadein_top {
      -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
      transform: translate(0px, 0px); } }

.fadein_top.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0); }

.fadein_right {
  opacity: 0;
  -webkit-transform: translate(30px, 0px);
  -ms-transform: translate(30px, 0px);
  transform: translate(30px, 0px);
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s; }
  @media only screen and (max-width: 768px) {
    .fadein_right {
      -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
      transform: translate(0px, 0px); } }

.fadein_right.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0); }

.fadein_bottom {
  opacity: 0;
  -webkit-transform: translate(0px, -30px);
  -ms-transform: translate(0px, -30px);
  transform: translate(0px, -30px);
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s; }
  @media only screen and (max-width: 768px) {
    .fadein_bottom {
      -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
      transform: translate(0px, 0px); } }

.fadein_bottom.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0); }

.fadein_left {
  opacity: 0;
  -webkit-transform: translate(-30px, 0px);
  -ms-transform: translate(-30px, 0px);
  transform: translate(-30px, 0px);
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s; }
  @media only screen and (max-width: 768px) {
    .fadein_left {
      -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
      transform: translate(0px, 0px); } }

.fadein_left.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0); }

/*----------------------------------------
page top
----------------------------------------*/
#page-top {
  position: fixed;
  bottom: 30px;
  right: 3%;
  z-index: 10; }
  #page-top a {
    padding: 10px 14px;
    color: #fff;
    width: 40px;
    height: 38px;
    border: 2px solid #f1f1f1;
    background-color: #f1f1f1;
    border-radius: 50%;
    margin-top: 40px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    outline: none; }
    @media only screen and (max-width: 1040px) {
      #page-top a {
        padding: 10px 14px; } }
    #page-top a:before {
      color: #333;
      font-family: "fontello";
      content: '\e809';
      font-size: 24px;
      position: relative;
      left: 0px;
      top: 3px; }
    #page-top a:hover {
      background-color: #ccc;
      border: 2px solid #ccc; }
    #page-top a span {
      display: none; }

/*--------------------------
contact
---------------------------*/
#newsletter {
  background: #3d3d3d;
  width: 200px;
  height: 70px;
  display: block;
  position: fixed;
  top: 74px;
  right: 0px;
  -webkit-transform: translate(400px, 0);
  -ms-transform: translate(400px, 0);
  transform: translate(400px, 0);
  z-index: 1000;
  -webkit-box-shadow: -3px 11px 9px -13px #000000;
  box-shadow: -3px 11px 9px -13px #000000;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s; }
  #newsletter:hover {
    background: #303030; }
  @media only screen and (max-width: 768px) {
    #newsletter {
      width: 100%;
      height: 50px;
      position: fixed;
      top: auto;
      right: auto;
      bottom: 0; } }
  #newsletter.show {
    -webkit-transform: translate(0, 0) !important;
    -ms-transform: translate(0, 0) !important;
    transform: translate(0, 0) !important; }
  #newsletter .box {
    display: table;
    width: 100%;
    height: 100%; }
    #newsletter .box a {
      font-size: 16px;
      font-size: 1.6rem;
      text-align: center;
      line-height: 135%;
      display: table-cell;
      vertical-align: middle;
      width: 100%;
      height: 100%;
      text-indent: -30px; }
      #newsletter .box a:before {
        font-family: "fontello";
        content: '\f0f6';
        font-size: 20px;
        position: relative;
        margin-right: 10px; }
      #newsletter .box a br {
        display: block; }
        @media only screen and (max-width: 768px) {
          #newsletter .box a br {
            display: none; } }

#social {
  position: fixed;
  z-index: 100;
  right: -4px;
  top: 150px; }
  @media only screen and (max-width: 768px) {
    #social {
      display: none; } }
  #social ul {
    background: #fff;
    padding: 8px 0px 8px 6px;
    border-radius: 4px;
    -webkit-box-shadow: -3px 11px 9px -13px #000000;
    box-shadow: -3px 11px 9px -13px #000000; }
    #social ul li a {
      display: block; }
      #social ul li a span {
        display: none; }
    #social ul li:nth-child(1) a:before {
      -webkit-transition: all .5s;
      -o-transition: all .5s;
      transition: all .5s;
      color: #3B5998;
      display: block;
      font-family: "fontello";
      content: '\f230';
      font-size: 40px; }
    #social ul li:nth-child(1) a:hover:before {
      color: #25375d; }
    #social ul li:nth-child(2) a:before {
      -webkit-transition: all .5s;
      -o-transition: all .5s;
      transition: all .5s;
      color: #1DA1F2;
      font-family: "fontello";
      content: '\f304';
      font-size: 40px;
      position: relative;
      margin-right: 10px; }
    #social ul li:nth-child(2) a:hover:before {
      color: #1875ae; }
    #social ul li:nth-child(3) a:before {
      -webkit-transition: all .5s;
      -o-transition: all .5s;
      transition: all .5s;
      color: #0077B5;
      font-family: "fontello";
      content: '\f30c';
      font-size: 40px;
      position: relative;
      margin-right: 10px; }
    #social ul li:nth-child(3) a:hover:before {
      color: #004c74; }
