@charset "UTF-8";
/*
Theme Name:
*/
@import url(reset.css);
@import url("https://fonts.googleapis.com/css?family=Montserrat:100,200,300,400");
/*--------------------------------------

共通設定

--------------------------------------*/
body {
  font-size: 12px;
  line-height: 20px;
  font-weight: 500;
  padding-top: 50px;
  font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"メイリオ","Meiryo","ＭＳ Ｐゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif; }
  @media screen and (min-width: 1140px) {
    body {
      padding-top: 120px;
      font-size: 14px;
      line-height: 22px; } }

.gf_1 {
  font-family: 'Montserrat', sans-serif; }

h1, h2, h3, h4 {
  font-weight: 300; }

.tac {
  text-align: center; }

em {
  font: inherit;
  font-weight: bold;
  font-size: 1.0em; }

img {
  width: 100%; }

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

a {
  text-decoration: none;
  color: #282828; }

ul {
  list-style: none; }

.wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0px 20px; }
  @media screen and (min-width: 1140px) {
    .wrap {
      padding: 0px; } }

.reset_form input {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

@media screen and (max-width: 1140px) {
  .pc {
    display: none !important; } }

@media screen and (min-width: 1140px) {
  .sp {
    display: none !important; } }

/*----------------------------------------------------------

ローディング

----------------------------------------------------------*/
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #FFF;
  z-index: 300; }

#loading {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  /* Safari用 */
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #3C3C3C; }
  #loading img {
    width: 40px;
    display: block;
    margin: 0 auto;
    margin-bottom: 10px; }

@-webkit-keyframes roll {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  25% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }
  75% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes roll {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  25% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }
  75% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/*----------------------------------------------------------

ヘッダー

----------------------------------------------------------*/
#over_ray {
  background-color: #005bac;
  width: 100%;
  height: 100%;
  position: fixed;
  top: -100%;
  left: 0;
  z-index: 200;
  opacity: 0.9;
  -webkit-transition: all 0.8s cubic-bezier(1, -0.02, 0.28, 1.02);
  -o-transition: all 0.8s cubic-bezier(1, -0.02, 0.28, 1.02);
  transition: all 0.8s cubic-bezier(1, -0.02, 0.28, 1.02); }
  #over_ray.active {
    top: 0; }

header {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 300;
  background-color: #fff; }

#head_bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 15px 0;
  position: relative;
  z-index: 201;
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6; }
  @media screen and (min-width: 1140px) {
    #head_bar {
      padding: 0; }
      #head_bar.small #head_logo {
        max-width: 180px; }
      #head_bar.small #option li {
        height: 80px; } }

#head_logo {
  max-width: 120px;
  margin-left: 10px;
  -webkit-transition: all 0.3s cubic-bezier(1, -0.02, 0.28, 1.02);
  -o-transition: all 0.3s cubic-bezier(1, -0.02, 0.28, 1.02);
  transition: all 0.3s cubic-bezier(1, -0.02, 0.28, 1.02); }
  #head_logo img {
    display: block; }
  #head_logo a #logo_r {
    height: auto; }
  @media screen and (min-width: 1140px) {
    #head_logo {
      max-width: inherit;
      width: 200px;
      margin-left: 40px; } }

@media screen and (max-width: 1140px) {
  #gnav {
    width: 100%;
    height: 100%;
    display: block;
    position: fixed;
    top: 0;
    left: -100%;
    padding-top: 8em;
    -webkit-transition: all 0.8s cubic-bezier(1, -0.02, 0.28, 1.02);
    -o-transition: all 0.8s cubic-bezier(1, -0.02, 0.28, 1.02);
    transition: all 0.8s cubic-bezier(1, -0.02, 0.28, 1.02); }
    #gnav li {
      text-align: center;
      margin-bottom: 28px;
      margin-left: -50px;
      -webkit-transition: all 0.4s;
      -o-transition: all 0.4s;
      transition: all 0.4s;
      opacity: 0; }
      #gnav li a {
        color: #FFF;
        font-weight: bold;
        font-size: 1.2em; }
      #gnav li:nth-child(1) {
        -webkit-transition-delay: .2s;
        -o-transition-delay: .2s;
        transition-delay: .2s; }
      #gnav li:nth-child(2) {
        -webkit-transition-delay: .4s;
        -o-transition-delay: .4s;
        transition-delay: .4s; }
      #gnav li:nth-child(3) {
        -webkit-transition-delay: .2s;
        -o-transition-delay: .2s;
        transition-delay: .2s; }
      #gnav li:nth-child(4) {
        -webkit-transition-delay: .4s;
        -o-transition-delay: .4s;
        transition-delay: .4s; }
      #gnav li:nth-child(5) {
        -webkit-transition-delay: .2s;
        -o-transition-delay: .2s;
        transition-delay: .2s; }
      #gnav li:nth-child(6) {
        -webkit-transition-delay: .4s;
        -o-transition-delay: .4s;
        transition-delay: .4s; }
      #gnav li:nth-child(7) {
        -webkit-transition-delay: .2s;
        -o-transition-delay: .2s;
        transition-delay: .2s; }
      #gnav li:nth-child(8) {
        -webkit-transition-delay: .4s;
        -o-transition-delay: .4s;
        transition-delay: .4s; }
    #gnav.active {
      left: 0; }
      #gnav.active li {
        opacity: 1;
        margin-left: 0; } }

@media screen and (min-width: 1140px) {
  #gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 49%;
    margin: 0 20px; }
    #gnav li {
      margin: 0 10px; }
    #gnav a {
      font-size: 1.08vw;
      font-weight: bold;
      padding-bottom: 15px;
      position: relative;
      white-space: nowrap; } }

@media screen and (min-width: 1366px) {
  #gnav {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 50%;
    margin: 0 30px; }
    #gnav a {
      font-size: 1.15em;
      white-space: nowrap; } }

@media screen and (max-width: 1140px) {
  #option {
    display: none; } }

@media screen and (min-width: 1140px) {
  #option {
    margin-left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #option li {
      -webkit-transition: all 0.3s cubic-bezier(1, -0.02, 0.28, 1.02);
      -o-transition: all 0.3s cubic-bezier(1, -0.02, 0.28, 1.02);
      transition: all 0.3s cubic-bezier(1, -0.02, 0.28, 1.02);
      border-left: 1px solid #f0f0f0;
      display: block;
      height: 120px; } }
    @media screen and (min-width: 1140px) and (min-width: 1366px) {
      #option li {
        height: 130px; } }

@media screen and (min-width: 1140px) {
    #option a {
      height: 100%;
      font-weight: bold;
      min-width: 120px;
      display: block;
      padding: 30px 10px;
      text-align: center;
      position: relative;
      overflow: hidden;
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s; }
      #option a:after {
        content: "";
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        background-color: #005bac;
        z-index: -1;
        left: 0;
        top: -100%;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s; }
      #option a:hover:after {
        top: 0; }
    #option #op_1 {
      background: url(../img/common/op_1_off.png) no-repeat center center;
      -webkit-background-size: 30px;
      -o-background-size: 30px;
      background-size: 30px; }
      #option #op_1:hover {
        background: url(../img/common/op_1_on.png) no-repeat center center;
        -webkit-background-size: 30px;
        -o-background-size: 30px;
        background-size: 30px; }
    #option #op_2 {
      background: url(../img/common/op_2_off.png) no-repeat center center;
      -webkit-background-size: 76.5px;
      -o-background-size: 76.5px;
      background-size: 76.5px; }
      #option #op_2:hover {
        background: url(../img/common/op_2_on.png) no-repeat center center;
        -webkit-background-size: 76.5px;
        -o-background-size: 76.5px;
        background-size: 76.5px; }
    #option #op_3 {
      background: url(../img/common/op_3_off.png) no-repeat center center;
      -webkit-background-size: 92.5px;
      -o-background-size: 92.5px;
      background-size: 92.5px; }
      #option #op_3:hover {
        background: url(../img/common/op_3_on.png) no-repeat center center;
        -webkit-background-size: 92.5px;
        -o-background-size: 92.5px;
        background-size: 92.5px; }
    #option .img_head_1 {
      width: 24px; }
    #option .img_head_2 {
      width: 26px; }
    #option .img_head_3 {
      width: 24px; } }

@media screen and (min-width: 1366px) {
  #option a {
    min-width: 150px;
    padding: 40px 20px; } }

.menu-trigger {
  margin-left: auto;
  margin-right: 10px; }

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  -webkit-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.menu-trigger {
  position: relative;
  width: 30px;
  height: 20px; }

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #005bac;
  border-radius: 4px; }

.menu-trigger span:nth-of-type(1) {
  top: 0; }

.menu-trigger span:nth-of-type(2) {
  top: 9px; }

.menu-trigger span:nth-of-type(3) {
  bottom: 0; }

.menu-trigger.active {
  -webkit-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  transform: rotate(360deg); }
  .menu-trigger.active > span {
    background-color: #e6002d; }

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
  -ms-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg); }

.menu-trigger.active span:nth-of-type(2) {
  -webkit-transform: translateY(0) rotate(45deg);
  -ms-transform: translateY(0) rotate(45deg);
  transform: translateY(0) rotate(45deg); }

.menu-trigger.active span:nth-of-type(3) {
  opacity: 0; }

@media screen and (min-width: 1140px) {
  .hov_bar {
    position: relative;
    overflow: hidden; }
    .hov_bar:after {
      content: "";
      position: absolute;
      left: 0%;
      bottom: 0;
      width: 0%;
      height: 2px;
      background-color: #005bac;
      -webkit-transition: all 0.2s cubic-bezier(1, -0.02, 0.28, 1.02);
      -o-transition: all 0.2s cubic-bezier(1, -0.02, 0.28, 1.02);
      transition: all 0.2s cubic-bezier(1, -0.02, 0.28, 1.02); }
    .hov_bar:hover:after {
      width: 100%; }
    .hov_bar.current:after {
      width: 100%; }
  .zoom img {
    -moz-transition: -moz-transform 0.2s;
    -webkit-transition: -webkit-transform 0.2s;
    -o-transition: -o-transform 0.2s;
    -ms-transition: -ms-transform 0.2s;
    transition: -webkit-transform 0.2s;
    -o-transition: transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s; }
  .zoom:hover img {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05); }
  .slide_in {
    display: inline-block;
    position: relative;
    overflow: hidden;
    -webkit-transition: all 1.8s;
    -o-transition: all 1.8s;
    transition: all 1.8s;
    opacity: 0; }
    .slide_in:after {
      -webkit-transition: all 1.5s;
      -o-transition: all 1.5s;
      transition: all 1.5s;
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      left: -100%;
      top: 0;
      background-color: #005bac; }
    .slide_in.view {
      opacity: 1;
      -webkit-transform: translate(0%, 0%);
      -ms-transform: translate(0%, 0%);
      transform: translate(0%, 0%); }
      .slide_in.view:after {
        left: 100%; }
    .slide_in .d_1 {
      -webkit-transition-delay: .5s;
      -o-transition-delay: .5s;
      transition-delay: .5s; }
      .slide_in .d_1:after {
        -webkit-transition-delay: .5s;
        -o-transition-delay: .5s;
        transition-delay: .5s; }
    .slide_in .d_2 {
      -webkit-transition-delay: .8s;
      -o-transition-delay: .8s;
      transition-delay: .8s; }
      .slide_in .d_2:after {
        -webkit-transition-delay: .8s;
        -o-transition-delay: .8s;
        transition-delay: .8s; }
    .slide_in .d_3 {
      -webkit-transition-delay: 1.2s;
      -o-transition-delay: 1.2s;
      transition-delay: 1.2s; }
      .slide_in .d_3:after {
        -webkit-transition-delay: 1.2s;
        -o-transition-delay: 1.2s;
        transition-delay: 1.2s; } }

/*----------------------------------------------------------

トップスライダー

----------------------------------------------------------*/
#top_slide {
  width: 100%;
  background-color: #eee; }
  #top_slide li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  #top_slide li .main_img {
    width: 69%; }
    #top_slide li .main_img img {
      display: block; }
  #top_slide li .img_info {
    position: relative;
    padding: 40px;
    width: 31%;
    background: url(../img/common/pt_2.png);
    -webkit-background-size: 45px;
    -o-background-size: 45px;
    background-size: 45px; }
  #top_slide li .hard {
    color: #005bac;
    font-size: 1.2vw;
    margin-top: 40%;
    margin-bottom: 30px; }
  #top_slide li .title {
    font-size: 1.45vw;
    line-height: 1.7;
    font-weight: bold;
    position: relative;
    z-index: 2; }
    @media screen and (max-width: 1140px) {
      #top_slide li .title {
        font-size: 1.0em; } }
  #top_slide li .bg_num {
    line-height: 1;
    position: absolute;
    right: 20px;
    bottom: 0;
    color: #fff;
    font-size: 12vw;
    font-weight: 200;
    opacity: 0.4;
    z-index: 1; }
  @media screen and (max-width: 1140px) {
    #top_slide li a {
      display: block; }
    #top_slide li .main_img {
      width: 100%; }
    #top_slide li .img_info {
      width: 100%;
      padding: 10px; }
    #top_slide li .hard {
      font-size: 12px;
      margin-top: 0;
      margin-bottom: 0px; }
    #top_slide li .title {
      font-size: 14px; }
    #top_slide li .bg_num {
      font-size: 50px;
      bottom: 10px; } }

#mv_wrap {
  position: relative;
  width: 100%; }
  #mv_wrap:hover .mv_arrow {
    opacity: 1 !important; }
  #mv_wrap .mv_arrow {
    text-align: center;
    opacity: 0;
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all; }
    #mv_wrap .mv_arrow i {
      color: #005bac;
      font-size: 1.8em;
      line-height: 1;
      vertical-align: -0.6em; }
  #mv_wrap #prev_mv {
    display: block;
    width: 50px;
    height: 50px;
    border: 1px solid #005bac;
    position: absolute;
    top: 50%;
    left: 30px;
    z-index: 10; }
  #mv_wrap #next_mv {
    display: block;
    width: 50px;
    height: 50px;
    border: 1px solid #005bac;
    position: absolute;
    top: 50%;
    right: 33.3%;
    z-index: 10; }
  #mv_wrap .slick-dots {
    z-index: 99;
    position: absolute;
    right: 25%;
    bottom: 20px; }
    @media screen and (max-width: 1140px) {
      #mv_wrap .slick-dots {
        right: 20px;
        bottom: -30px; } }
    #mv_wrap .slick-dots li {
      z-index: 99;
      display: inline-block;
      width: 20px;
      position: relative; }
      #mv_wrap .slick-dots li button {
        display: none; }
      #mv_wrap .slick-dots li:before {
        -webkit-transition: all .2s;
        -o-transition: all .2s;
        transition: all .2s;
        content: "";
        height: 12px;
        width: 12px;
        background-color: #fff;
        display: inline-block;
        -webkit-border-radius: 50%;
        border-radius: 50%; }
        @media screen and (max-width: 1140px) {
          #mv_wrap .slick-dots li:before {
            width: 8px;
            height: 8px;
            background-color: #ddd; } }
      #mv_wrap .slick-dots li:hover:before {
        background-color: #e6002d; }
      #mv_wrap .slick-dots li.slick-active:before {
        background-color: #005bac; }

/*----------------------------------------------------------

共通設定

----------------------------------------------------------*/
.lead {
  margin-top: 50px;
  font-size: 2.2em;
  font-weight: bold;
  line-height: 1.4;
  text-align: center; }

.sub_lead {
  color: #005bac;
  text-align: center;
  margin-bottom: 30px; }

.view_box {
  padding: 0 20px; }
  .view_box a {
    text-align: center;
    display: block;
    margin: 0 auto;
    padding: 5px;
    max-width: 400px;
    background-color: #005bac;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.05em; }
    .view_box a span {
      padding: 15px 5px;
      display: block;
      position: relative;
      border: 1px solid #80ADD6;
      -webkit-box-sizing: content-box;
      -moz-box-sizing: content-box;
      box-sizing: content-box; }
    .view_box a i {
      width: 6px;
      position: absolute;
      right: 20px;
      top: 40%; }
      .view_box a i.fa-angle-left {
        right: auto;
        left: 20px; }
    .view_box a:hover {
      opacity: 0.6; }
      .view_box a:hover i {
        right: 10px; }
        .view_box a:hover i.fa-angle-left {
          right: auto;
          left: 10px; }
  @media screen and (min-width: 680px) {
    .view_box {
      padding: 0; }
      .view_box a {
        -webkit-transition: all .2s;
        -o-transition: all .2s;
        transition: all .2s;
        font-size: 17px; }
        .view_box a span {
          padding: 25px 5px; }
        .view_box a i {
          width: 10px;
          -webkit-transition: all .2s;
          -o-transition: all .2s;
          transition: all .2s; } }

/*----------------------------------------------------------

トップ：トピックス

----------------------------------------------------------*/
#topic {
  margin-bottom: 60px; }
  #topic #topic_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 20px; }
    #topic #topic_wrap .topic_box {
      width: 300px;
      -webkit-transition: all .2s;
      -o-transition: all .2s;
      transition: all .2s;
      border: 1px solid #e6e6e6;
      margin: 0 auto;
      margin-bottom: 20px; }
      @media screen and (min-width: 680px) {
        #topic #topic_wrap .topic_box {
          width: 31%;
          margin: 1%; } }
      @media screen and (min-width: 1140px) {
        #topic #topic_wrap .topic_box {
          margin-bottom: 40px;
          width: 48%;
          max-width: 550px;
          height: 200px;
          overflow: hidden; }
          #topic #topic_wrap .topic_box:hover {
            border: 2px solid #005bac; }
          #topic #topic_wrap .topic_box:nth-child(even) {
            margin-left: auto; } }
    #topic #topic_wrap a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
    #topic #topic_wrap .tp_left {
      max-width: 300px;
      width: 45%;
      background-color: #eee;
      position: relative;
      overflow: hidden; }
      #topic #topic_wrap .tp_left img {
        width: 102%;
        height: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
      @media screen and (max-width: 1140px) {
        #topic #topic_wrap .tp_left {
          width: 100%;
          height: 23.4vw;
          max-width: 100%; } }
      @media screen and (max-width: 680px) {
        #topic #topic_wrap .tp_left {
          height: 220px; } }
    #topic #topic_wrap .tp_right {
      height: 200px;
      max-width: 300px;
      width: 55%;
      padding: 15px;
      position: relative; }
      @media screen and (max-width: 1140px) {
        #topic #topic_wrap .tp_right {
          height: auto;
          max-width: 100%;
          width: 100%;
          padding: 5px; } }
    #topic #topic_wrap .status {
      font-size: 0.8em;
      color: #005bac;
      margin-bottom: 12px; }
    #topic #topic_wrap .meta {
      border-top: 1px solid #e6e6e6;
      padding-top: 5px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 0.85em;
      margin-top: 10px; }
      #topic #topic_wrap .meta .update {
        width: 50%;
        padding-top: 5px;
        border-right: 1px solid #e6e6e6;
        color: #787878;
        font-weight: 300;
        letter-spacing: 0.1em; }
      #topic #topic_wrap .meta .link {
        color: #787878;
        width: 50%;
        font-weight: normal;
        padding: 5px 5px 5px 20px;
        margin-left: 20px;
        background: url(../img/common/right_c.png) no-repeat left center;
        -webkit-background-size: 12px;
        -o-background-size: 12px;
        background-size: 12px; }
      @media screen and (min-width: 1140px) {
        #topic #topic_wrap .meta {
          position: absolute;
          width: 85%;
          left: 20px;
          bottom: 10px;
          margin-top: 0; }
          #topic #topic_wrap .meta .update {
            padding-top: 10px; }
          #topic #topic_wrap .meta .link {
            padding: 10px 10px 10px 20px; } }

/*----------------------------------------------------------

トップ：プロダクト

----------------------------------------------------------*/
#product_list {
  border-top: 1px solid #e6e6e6;
  padding-bottom: 20px;
  position: relative; }
  @media screen and (min-width: 1140px) {
    #product_list {
      padding-bottom: 60px; } }
  #product_list .wrap {
    max-width: 1168px; }
  #product_list ul {
    width: 100%;
    position: relative;
    padding-bottom: 120px; }
    @media screen and (max-width: 1140px) {
      #product_list ul {
        padding-bottom: 50px; } }
  #product_list li {
    line-height: 1.4; }
    @media screen and (min-width: 480px) {
      #product_list li {
        margin: 0 10px; } }
    @media screen and (min-width: 1140px) {
      #product_list li {
        margin: 0; } }
    #product_list li a, #product_list li .p_box {
      width: 100%;
      display: block;
      padding: 20px;
      border: 1px solid #e6e6e6; }
      @media screen and (min-width: 1140px) {
        #product_list li a:hover, #product_list li .p_box:hover {
          border: 1px solid #005bac; } }
    #product_list li .head {
      border-bottom: 1px solid #e6e6e6;
      width: 100%; }
      @media screen and (max-width: 680px) {
        #product_list li .head img {
          max-width: 120px;
          display: block;
          margin: 0 auto;
          margin-bottom: 15px; } }
    #product_list li .foot {
      padding-top: 15px; }
    #product_list li .maker {
      color: #005bac;
      font-size: 0.85em; }
    @media screen and (min-width: 680px) {
      #product_list li .console_name {
        min-height: 2em; } }
    @media screen and (min-width: 1140px) {
      #product_list li {
        line-height: 1.4;
        margin: 0 14px; }
        #product_list li .console_name {
          min-height: 2.8em; }
        #product_list li a {
          height: 300px; }
        #product_list li .head {
          height: 180px; } }
  #product_list .slick-arrow {
    width: 80px;
    height: 80px;
    border: 1px solid #e6e6e6;
    position: absolute;
    bottom: 0;
    display: -webkit-flex;
    /* Safari用 */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    /* Safari用 */
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    /* Safari用 */
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #product_list .slick-arrow i {
      color: #005bac;
      font-size: 2.1em;
      display: block; }
    @media screen and (max-width: 1140px) {
      #product_list .slick-arrow {
        width: 40px;
        height: 40px;
        z-index: 100; } }
  #product_list #prev_bt {
    right: 120px;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s; }
    @media screen and (max-width: 1140px) {
      #product_list #prev_bt {
        right: auto;
        left: 10px; } }
    @media screen and (max-width: 480px) {
      #product_list #prev_bt {
        left: 0px; } }
  #product_list #next_bt {
    right: 18px;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s; }
    @media screen and (max-width: 1140px) {
      #product_list #next_bt {
        right: 10px; } }
    @media screen and (max-width: 480px) {
      #product_list #next_bt {
        right: 0; } }

.arrow_hov {
  position: relative;
  overflow: hidden;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }
  .arrow_hov i {
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    -webkit-transition-delay: .3s;
    -o-transition-delay: .3s;
    transition-delay: .3s; }
  .arrow_hov:after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #005bac;
    z-index: -1;
    left: 0;
    top: -100%;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s; }
  .arrow_hov:hover i {
    color: #fff !important; }
  .arrow_hov:hover:after {
    top: 0; }

/*----------------------------------------------------------

top:バナー

----------------------------------------------------------*/
#top_banner {
  padding: 20px 0;
  margin-bottom: 30px;
  background: url(../img/common/pt_1.png);
  -webkit-background-size: 28px;
  -o-background-size: 28px;
  background-size: 28px; }
  @media screen and (min-width: 1140px) {
    #top_banner {
      padding: 50px 0; } }
  #top_banner ul {
    position: relative; }
  #top_banner li {
    margin: 0 15px; }
  #top_banner .slick-list {
    max-width: 1000px;
    margin: 0 auto; }
  #top_banner .slick-arrow {
    width: 40px;
    height: 40px;
    position: absolute;
    z-index: 99;
    top: 36%; }
  #top_banner #prev_bt_2 {
    left: -15px;
    background: url(../img/common/left_cw2.png) no-repeat center center;
    -webkit-background-size: 40px;
    -o-background-size: 40px;
    background-size: 40px;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s; }
    @media screen and (min-width: 1140px) {
      #top_banner #prev_bt_2 {
        left: 0px; }
        #top_banner #prev_bt_2:hover {
          background: url(../img/common/left_cw2_on.png) no-repeat center center;
          -webkit-background-size: 40px;
          -o-background-size: 40px;
          background-size: 40px; } }
  #top_banner #next_bt_2 {
    right: -15px;
    background: url(../img/common/right_cw2.png) no-repeat center center;
    -webkit-background-size: 40px;
    -o-background-size: 40px;
    background-size: 40px;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s; }
    @media screen and (min-width: 1140px) {
      #top_banner #next_bt_2 {
        right: 0px; }
        #top_banner #next_bt_2:hover {
          background: url(../img/common/right_cw2_on.png) no-repeat center center;
          -webkit-background-size: 40px;
          -o-background-size: 40px;
          background-size: 40px; } }

/*----------------------------------------------------------

top:マップ

----------------------------------------------------------*/
#gmap {
  width: 100%;
  height: 280px;
  background-color: #eee; }
  @media screen and (min-width: 1140px) {
    #gmap {
      height: 450px; } }

/*----------------------------------------------------------

footer

----------------------------------------------------------*/
footer {
  color: #fff; }
  footer .wrap {
    max-width: 1000px; }
  footer .bg {
    background-color: #005bac;
    padding: 30px 0; }
    @media screen and (min-width: 1140px) {
      footer .bg {
        padding: 60px 0; } }
  footer a {
    color: #fff;
    padding-bottom: 5px; }
  footer .hov_bar:after {
    background-color: #FFF;
    height: 1px; }
  footer .ft_lead {
    letter-spacing: 0.08em;
    border-bottom: 1px solid #447bac;
    position: relative; }
    footer .ft_lead a {
      display: block;
      padding: 15px 0; }
    footer .ft_lead:after {
      content: "";
      display: block;
      height: 1px;
      width: 30px;
      -webkit-transition: all .2s;
      -o-transition: all .2s;
      transition: all .2s;
      background-color: #fff;
      position: absolute;
      left: 0;
      bottom: -1px; }
    footer .ft_lead.hov:hover:after {
      width: 100%; }
  footer .mt {
    margin-top: 15px; }
  footer .p_fx {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  footer .left, footer .right, footer .fx_right, footer .fx_left {
    width: 100%; }
    @media screen and (min-width: 1140px) {
      footer .left, footer .right, footer .fx_right, footer .fx_left {
        width: 50%; } }
  @media screen and (min-width: 1140px) {
    footer .left {
      max-width: 420px; } }
  footer .right {
    margin-left: auto; }
  footer .fx_right.bb, footer .fx_left.bb {
    margin-bottom: 0; }
  @media screen and (min-width: 680px) {
    footer .fx_right, footer .fx_left {
      margin-bottom: 20px; } }
  @media screen and (min-width: 1140px) {
    footer .fx_right, footer .fx_left {
      max-width: 220px;
      margin-bottom: 0; } }
  @media screen and (min-width: 680px) {
    footer .fx_right {
      margin-left: 60px; } }
  footer .fx {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 680px) {
      footer .fx {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
  footer li {
    font-size: 0.9em;
    padding-left: 20px;
    margin-bottom: 10px;
    background: url(../img/common/right_cw.png) no-repeat left center;
    -webkit-background-size: 10px;
    -o-background-size: 10px;
    background-size: 10px; }
  footer #console_list {
    width: 100%; }
    @media screen and (min-width: 680px) {
      footer #console_list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        footer #console_list li {
          width: 50%;
          display: block; } }
  @media screen and (max-width: 680px) {
    footer .sp_hide {
      display: none; } }
  footer .sp_bt {
    padding: 15px 0;
    position: relative; }
    @media screen and (min-width: 680px) {
      footer .sp_bt {
        pointer-events: none; } }
    @media screen and (max-width: 680px) {
      footer .sp_bt:before {
        content: "";
        display: block;
        width: 15px;
        height: 15px;
        position: absolute;
        right: 10px;
        top: 35%;
        opacity: 0.6;
        background: url(../img/common/acbt_w.png) no-repeat;
        -webkit-background-size: 100%;
        -o-background-size: 100%;
        background-size: 100%;
        -webkit-transition: 0.3s all;
        -moz-transition: 0.3s all;
        -ms-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all; }
      footer .sp_bt.open:before {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); } }
  footer .bottom {
    background-color: #fff;
    color: #282828;
    padding: 30px 0; }
    @media screen and (max-width: 680px) {
      footer .bottom {
        margin-bottom: 10px;
        padding: 10px 0; } }
    footer .bottom a {
      display: inline-block;
      position: relative;
      font-size: 0.9em;
      color: #282828;
      padding-left: 15px;
      margin-right: 15px; }
      footer .bottom a.hov_bar:after {
        background-color: #005bac;
        height: 1px; }
      footer .bottom a.bgc {
        background: url(../img/common/right_cb.png) no-repeat left 6px;
        -webkit-background-size: 10px;
        -o-background-size: 10px;
        background-size: 10px; }
      footer .bottom a.tw {
        -webkit-transition: all .2s;
        -moz-transition: all .2s;
        -ms-transition: all .2s;
        -o-transition: all .2s;
        transition: all .2s;
        border: 1px solid #e6e6e6;
        padding: 5px 8px;
        color: #005bac;
        font-size: 1.3em;
        -webkit-border-radius: 50%;
        border-radius: 50%; }
        footer .bottom a.tw:hover {
          background-color: #005bac;
          color: #fff; }
        @media screen and (max-width: 680px) {
          footer .bottom a.tw {
            display: inline-block;
            margin-bottom: 10px; } }
    @media screen and (min-width: 680px) {
      footer .bottom .left {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: auto;
        max-width: 100%; } }
    footer .bottom .right {
      font-size: 0.8em; }
      @media screen and (min-width: 680px) {
        footer .bottom .right {
          text-align: right;
          width: auto;
          max-width: 100%; } }
    @media screen and (min-width: 820px) {
      footer .bottom .wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
      footer .bottom a {
        display: inline; } }

#main_lead {
  background: url(../img/common/pt_3.png);
  -webkit-background-size: 45px;
  -o-background-size: 45px;
  background-size: 45px;
  text-align: center;
  color: #fff;
  padding: 50px 0 50px 0; }
  #main_lead .pg_title {
    font-weight: bold;
    font-size: 2.0em;
    line-height: 1;
    margin-bottom: 15px; }
    #main_lead .pg_title i {
      font-size: 0.8em;
      margin-right: 10px;
      vertical-align: 0.15em; }
  #main_lead .sub_pg_title {
    font-size: 1.15em;
    line-height: 1; }
  @media screen and (min-width: 680px) {
    #main_lead {
      padding: 120px 0 120px 0; }
      #main_lead.company {
        padding-bottom: 150px; }
      #main_lead .pg_title {
        font-size: 2.9em;
        line-height: 1;
        margin-bottom: 15px; }
      #main_lead .sub_pg_title {
        font-size: 1.45em;
        line-height: 1; } }

#google_translate_element {
  margin-top: 10px;
  width: 160px;
  position: relative; }
  @media screen and (min-width: 680px) {
    #google_translate_element {
      margin-top: 30px; } }
  #google_translate_element span {
    display: inline-block;
    max-width: 20px;
    font-size: 0.9em; }
    #google_translate_element span:first-child {
      max-width: 120px; }

.goog-te-menu-value {
  width: 120px;
  position: relative; }

.goog-te-gadget-simple {
  display: block !important; }

/*----------------------------------------------------------

下層共通設定

----------------------------------------------------------*/
.page_content {
  background-color: #FFF;
  font-size: 13px;
  line-height: 21px; }
  .page_content .block {
    margin-bottom: 30px; }
    .page_content .block.first {
      margin-top: 20px; }
    @media screen and (min-width: 680px) {
      .page_content .block {
        margin-bottom: 70px; }
        .page_content .block.first {
          margin-top: 70px; } }
  @media screen and (min-width: 1140px) {
    .page_content {
      font-size: 15px;
      line-height: 26px; } }

.c_lead {
  font-size: 1.35em;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
  padding-bottom: 10px;
  color: #005bac;
  border-bottom: 2px solid #e6e6e6;
  position: relative; }
  .c_lead:after {
    position: absolute;
    content: "";
    display: block;
    background-color: #005bac;
    width: 50px;
    height: 2px;
    bottom: -2px;
    left: 0; }
  @media screen and (min-width: 1140px) {
    .c_lead {
      padding-bottom: 20px;
      margin-bottom: 20px;
      line-height: 1;
      margin-top: 50px;
      font-size: 1.75em;
      border-bottom: 4px solid #e6e6e6; }
      .c_lead:after {
        width: 150px;
        height: 4px;
        bottom: -4px; } }

.link_pt {
  display: -webkit-flex;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .link_pt a {
    width: 100%;
    margin-bottom: 10px;
    font-size: 1em;
    padding: 10px 15px;
    display: block;
    background-color: #fafafa;
    border: 4px solid #f0f0f0;
    text-align: center;
    position: relative; }
    @media screen and (min-width: 1140px) {
      .link_pt a {
        width: auto;
        margin-bottom: 0;
        font-size: 1.1em;
        padding: 20px 25px;
        -webkit-transition: 0.3s all;
        -moz-transition: 0.3s all;
        -ms-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all; }
        .link_pt a:hover {
          background-color: #005bac;
          color: #fff; } }
    .link_pt a:after {
      position: absolute;
      content: "";
      display: block;
      background: url(../img/common/link_r.png);
      background-size: 7px;
      width: 7px;
      height: 12px;
      right: 10px;
      top: 34%; }
      @media screen and (min-width: 1140px) {
        .link_pt a:after {
          right: 25px;
          top: 40%; } }
  .link_pt.half {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (min-width: 1140px) {
      .link_pt.half a {
        width: 50%;
        max-width: 485px; } }

#bread_crumb {
  background-color: #fff;
  border-top: 1px solid #e6e6e6;
  padding: 20px 0; }
  #bread_crumb .wrap {
    max-width: 1000px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  #bread_crumb #bread_1 {
    display: block;
    width: 20px; }
  #bread_crumb .bar {
    display: block;
    width: 5px;
    height: 1px;
    background-color: #282828;
    margin: 0 15px; }
    @media screen and (min-width: 1140px) {
      #bread_crumb .bar {
        width: 20px; } }
  @media screen and (max-width: 680px) {
    #bread_crumb a {
      line-height: 1.8; }
    #bread_crumb .full {
      margin-top: 10px;
      margin-bottom: 10px;
      width: 100%; } }

/*----------------------------------------------------------

会社概要

----------------------------------------------------------*/
.c_head, .c_bottom {
  padding: 15px 15px 15px 15px;
  background-color: #FFF;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: 0px;
  position: relative; }
  .c_head .catch, .c_bottom .catch {
    text-align: center;
    font-size: 1.4em;
    line-height: 1.8; }
    @media screen and (min-width: 680px) {
      .c_head .catch, .c_bottom .catch {
        font-size: 2.2em; } }
  .c_head .mini, .c_bottom .mini {
    font-size: 0.8em; }
  .c_head #c_logo, .c_bottom #c_logo {
    width: 120px;
    display: block;
    margin: 20px auto; }
    @media screen and (min-width: 680px) {
      .c_head #c_logo, .c_bottom #c_logo {
        margin: 0;
        width: 180px;
        position: absolute;
        right: 110px;
        bottom: 50px; } }
  @media screen and (min-width: 680px) {
    .c_head, .c_bottom {
      padding: 50px 50px 110px 50px;
      margin-top: -80px; } }

.c_bottom {
  border: 1px solid #e6e6e6;
  text-align: center;
  padding: 20px;
  margin: 20px; }
  @media screen and (min-width: 680px) {
    .c_bottom {
      padding: 50px;
      margin: 0 auto;
      margin-top: 50px;
      margin-bottom: 100px; } }
  .c_bottom p {
    font-size: 1.2em; }

#page_company .mtb {
  margin-top: 50px;
  margin-bottom: 100px; }

#page_company .wrap {
  max-width: 1000px; }

#page_company .cap {
  line-height: 2;
  margin-bottom: 20px; }
  @media screen and (min-width: 680px) {
    #page_company .cap {
      font-size: 1.15em;
      line-height: 2.0; } }

#page_company em {
  font-size: 1.4em; }

#page_company .name {
  text-align: right; }
  #page_company .name img {
    max-width: 161px; }
  @media screen and (min-width: 680px) {
    #page_company .name img {
      max-width: 271px; } }

.g_wrap {
  position: relative; }

#map_box {
  background-color: #FFF;
  border: 1px solid #e6e6e6;
  padding: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: 0;
  text-align: center; }
  #map_box img {
    max-width: 182px; }
  @media screen and (min-width: 1140px) {
    #map_box {
      width: 280px;
      padding: 40px 20px;
      margin-top: -38%;
      margin-bottom: 10%; } }

#company_info li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.9em;
  line-height: 1.7; }
  @media screen and (min-width: 680px) {
    #company_info li {
      font-size: 1.0em;
      line-height: 1.7; } }

#company_info .left {
  width: 20%;
  display: block;
  border-bottom: 1px solid #e6e6e6;
  max-width: 150px;
  padding: 20px 0;
  margin-right: 20px; }
  @media screen and (min-width: 680px) {
    #company_info .left {
      margin-right: 50px; } }

#company_info .right {
  display: block;
  border-bottom: 1px solid #e6e6e6;
  width: 80%;
  max-width: 800px;
  padding: 20px 0;
  margin-left: auto; }

/*----------------------------------------------------------

よくあるご質問

----------------------------------------------------------*/
#page_faq .wrap {
  max-width: 1000px; }

#page_faq .mb {
  margin-bottom: 30px; }

#page_faq .child_box {
  display: none; }
  #page_faq .child_box.active {
    display: block; }

#page_faq .hard_list {
  display: block;
  border: 1px solid #e6e6e6;
  max-width: 400px;
  margin: 0 auto;
  margin-bottom: 30px; }

#page_faq #select_har_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  #page_faq #select_har_box p {
    padding: 20px; }

#page_faq #hard_list_ul {
  display: none;
  padding: 20px; }
  #page_faq #hard_list_ul li {
    cursor: pointer;
    padding: 10px 0; }

#page_faq .q_list .q_box {
  border: 1px solid #e6e6e6;
  display: -webkit-flex;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px; }
  #page_faq .q_list .q_box .tx {
    padding: 10px 15px 10px 30px;
    background: url(../img/faq/icon_q.png) no-repeat 5px 10px;
    background-size: 18px; }
    @media screen and (min-width: 680px) {
      #page_faq .q_list .q_box .tx {
        padding: 20px 25px 20px 70px;
        background: url(../img/faq/icon_q.png) no-repeat 20px center;
        background-size: 40px; } }

#page_faq .q_list .a_box {
  display: none;
  border: 1px solid #e6e6e6;
  padding: 10px 15px 10px 30px;
  background: url(../img/faq/icon_a.png) no-repeat 5px 15px;
  background-size: 18px;
  margin-bottom: 10px; }
  @media screen and (min-width: 680px) {
    #page_faq .q_list .a_box {
      margin-left: 40px;
      padding: 20px 25px 20px 70px;
      background: url(../img/faq/icon_a.png) no-repeat 20px center;
      background-size: 40px;
      margin-bottom: 30px; } }

#page_faq .arrow {
  min-width: 20px;
  margin-left: auto;
  background-color: #f3f3f3;
  display: -webkit-flex;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  #page_faq .arrow img {
    width: 8px;
    display: block;
    margin: 0 auto;
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all; }
  #page_faq .arrow.open img {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg); }
  @media screen and (min-width: 680px) {
    #page_faq .arrow {
      min-width: 50px; }
      #page_faq .arrow img {
        width: 13px; } }

/*----------------------------------------------------------

プライバシー

----------------------------------------------------------*/
#page_privacy .wrap {
  max-width: 1000px; }

#page_privacy .mb {
  margin-bottom: 30px; }

/*----------------------------------------------------------

サポート

----------------------------------------------------------*/
#page_support .wrap {
  max-width: 1000px; }

#page_support .mb {
  margin-bottom: 30px; }

#page_support .mb_2 {
  margin-bottom: 20px; }

#page_support .c_sublead {
  border-left: 4px solid #282828;
  padding-left: 10px;
  margin-bottom: 25px; }

#page_support .fz_1 {
  font-size: 0.9em; }

#page_support .mini_list {
  padding-left: 3em;
  text-indent: -1em; }

#page_support .coution {
  font-size: 1.1em;
  padding: 20px 20px;
  position: relative;
  border-bottom: 1px solid #e6e6e6; }
  #page_support .coution:after {
    display: block;
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    left: 0;
    top: 42%;
    background: url(../img/common/dot_bk.png);
    background-size: 10px; }

#page_support .mini {
  font-size: 0.85em; }

#page_support #mini_img {
  max-width: 177px; }

#support_end {
  margin-bottom: 40px; }
  #support_end .end_b {
    border: 1px solid #e6e6e6;
    padding: 20px 25px;
    margin-bottom: 15px; }
    @media screen and (max-width: 680px) {
      #support_end .end_b {
        padding: 10px 15px; } }
    #support_end .end_b .name {
      width: 100%;
      position: relative;
      font-size: 1.1em; }
      #support_end .end_b .name:after {
        content: '';
        display: block;
        width: 20px;
        height: 20px;
        position: absolute;
        top: 5px;
        right: 0;
        background: url(../img/common/acbt.png);
        background-size: 20px;
        -webkit-transition: 0.3s all;
        -moz-transition: 0.3s all;
        -ms-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all; }
        @media screen and (max-width: 680px) {
          #support_end .end_b .name:after {
            width: 12px;
            height: 12px;
            background: url(../img/common/acbt.png);
            background-size: 12px; } }
      #support_end .end_b .name.open:after {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg); }
    #support_end .end_b ul {
      display: none;
      margin-top: 20px;
      opacity: 0.8; }

/*----------------------------------------------------------

修理について

----------------------------------------------------------*/
#page_repair .wrap {
  max-width: 1000px; }

#page_repair .mb {
  margin-bottom: 30px; }

#page_repair .mini {
  font-size: 0.6em; }

#page_repair .pc_list {
  width: 100%; }
  #page_repair .pc_list th {
    font-size: 1.1em;
    text-align: center;
    background-color: #005bac;
    color: #fff;
    padding: 25px 0;
    font-weight: normal; }
    @media screen and (max-width: 680px) {
      #page_repair .pc_list th {
        font-size: 0.9em; } }
  #page_repair .pc_list td {
    text-align: center;
    width: 25%;
    border: 1px solid #e6e6e6;
    padding: 15px 0;
    vertical-align: middle; }
    #page_repair .pc_list td.title {
      width: 50%;
      padding: 25px 0; }
    @media screen and (max-width: 680px) {
      #page_repair .pc_list td {
        padding: 5px 5px;
        font-size: 0.9em; } }

#page_repair .option {
  margin-top: 50px;
  font-size: 0.9em;
  line-height: 28px; }
  @media screen and (max-width: 680px) {
    #page_repair .option {
      margin-top: 20px; } }

/*----------------------------------------------------------

修理について

----------------------------------------------------------*/
#page_quality .wrap {
  max-width: 1000px; }

#page_quality .mb {
  margin-bottom: 30px; }

#page_quality .mini {
  font-size: 0.8em; }

#page_quality #img_1 {
  max-width: 165px; }

#page_quality table {
  width: 100%;
  text-align: center; }
  #page_quality table th {
    border: 1px solid #e6e6e6;
    padding: 5px;
    font-weight: normal; }
  #page_quality table td {
    color: #fff;
    padding: 25px 0; }
  #page_quality table .bg_1 {
    background-color: #4687c2; }
  #page_quality table .bg_2 {
    background-color: #357dbd; }
  #page_quality table .bg_3 {
    background-color: #2371b7; }
  #page_quality table .bg_4 {
    background-color: #1266b2; }
  #page_quality table .bg_5 {
    background-color: #005bac; }

/*----------------------------------------------------------

トッピクス　一覧

----------------------------------------------------------*/
#page_topics .wrap {
  max-width: 1140px; }

#page_topics .mb {
  margin-bottom: 30px; }

#page_topics .mini {
  font-size: 0.8em; }

#page_topics .bg_g {
  background-color: #f0f0f0;
  padding: 15px 0; }
  @media screen and (min-width: 680px) {
    #page_topics .bg_g {
      padding: 30px 0; } }

@media screen and (min-width: 680px) {
  #page_topics .fx {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }

#page_topics .fbox div {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

#page_topics .screen-reader-text {
  display: none; }

@media screen and (min-width: 680px) {
  #page_topics .sl_name {
    font-size: 0.85em; }
  #page_topics .col_cat {
    width: 30%;
    max-width: 300px; }
  #page_topics .col_arc {
    width: 30%;
    max-width: 300px; }
  #page_topics .col_seh {
    width: 40%;
    max-width: 460px; } }

#page_topics .add_arrow {
  position: relative; }
  #page_topics .add_arrow:after {
    content: "";
    display: block;
    width: 13px;
    height: 7px;
    background: url(../img/common/under.png) no-repeat;
    position: absolute;
    right: 25px;
    bottom: 28%; }
    @media screen and (min-width: 680px) {
      #page_topics .add_arrow:after {
        bottom: 35%; } }

#page_topics input, #page_topics select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  display: block;
  border: 1px solid #e6e6e6;
  padding: 10px;
  font-size: 1em;
  background-color: #fff;
  margin-bottom: 10px; }
  @media screen and (min-width: 680px) {
    #page_topics input, #page_topics select {
      padding: 25px;
      margin-bottom: 0; } }

#page_topics input {
  width: 100%;
  max-width: 300px; }

#page_topics input[type="submit"] {
  margin-left: auto;
  max-width: 120px; }
  #page_topics input[type="submit"]:hover {
    color: #fff;
    background-color: #005bac; }
  @media screen and (max-width: 680px) {
    #page_topics input[type="submit"] {
      max-width: 120px;
      background-color: #005bac;
      color: #FFF; } }

#page_topics .pagenation {
  width: 100%; }
  #page_topics .pagenation ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #page_topics .pagenation ul li {
      display: block;
      border: 1px solid #e6e6e6;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin: 0 10px;
      color: #005bac; }
      #page_topics .pagenation ul li a {
        display: block;
        text-align: center;
        padding: 27px 35px;
        width: 100%;
        height: 100%;
        color: #005bac; }
        #page_topics .pagenation ul li a:hover {
          background-color: #f8f8f8; }
      #page_topics .pagenation ul li.active {
        padding: 27px 35px;
        background-color: #f8f8f8; }

/*----------------------------------------------------------

トッピクス　詳細

----------------------------------------------------------*/
#topic_bg {
  width: 100%;
  height: 50vw;
  max-height: 600px;
  position: relative;
  z-index: 9;
  overflow: hidden; }
  #topic_bg .b_ray {
    width: 100%;
    height: 100%;
    background: #005bac;
    mix-blend-mode: multiply;
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    opacity: 0.4; }
  #topic_bg .main_img {
    width: 100%;
    max-height: 600px; }
    #topic_bg .main_img img {
      width: 102%;
      height: auto;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

#page_topic {
  position: relative;
  z-index: 10;
  background: none; }
  #page_topic .wrap {
    max-width: 1000px;
    padding: 0 20px;
    background-color: #fff;
    margin-top: 20px; }
    @media screen and (min-width: 1140px) {
      #page_topic .wrap {
        margin-top: 0;
        padding: 50px; } }
  @media screen and (min-width: 1140px) {
    #page_topic.mt_minus .wrap {
      margin-top: -500px; } }
  #page_topic .view_box {
    margin-bottom: 50px; }
  #page_topic #topic_head img {
    height: auto; }
  #page_topic #topic_content {
    margin-bottom: 50px; }
    #page_topic #topic_content img {
      margin-top: 10px;
      width: auto;
      max-width: 100%;
      height: auto; }
    #page_topic #topic_content h2 {
      font-size: 1.25em;
      line-height: 1.4;
      margin-bottom: 10px;
      margin-top: 30px;
      padding-bottom: 10px;
      color: #005bac;
      border-bottom: 2px solid #e6e6e6;
      position: relative;
      font-weight: normal; }
      #page_topic #topic_content h2:after {
        position: absolute;
        content: "";
        display: block;
        background-color: #005bac;
        width: 50px;
        height: 2px;
        bottom: -2px;
        left: 0; }
      @media screen and (min-width: 1140px) {
        #page_topic #topic_content h2 {
          padding-bottom: 20px;
          margin-bottom: 20px;
          line-height: 1;
          margin-top: 50px;
          font-size: 1.4em;
          border-bottom: 2px solid #e6e6e6; }
          #page_topic #topic_content h2:after {
            width: 150px;
            height: 2px;
            bottom: -2px; } }
    #page_topic #topic_content h3 {
      padding-left: 10px;
      border-left: 2px solid #005bac;
      margin-top: 10px;
      margin-bottom: 10px;
      font-size: 1.1em;
      color: #005bac;
      font-weight: normal; }
      @media screen and (min-width: 1140px) {
        #page_topic #topic_content h3 {
          font-size: 1.2em;
          border-left: 2px solid #005bac; } }
    #page_topic #topic_content ul li {
      padding-left: 1em;
      line-height: 2.2;
      background: url(../img/common/dot.png) no-repeat left center;
      -webkit-background-size: 4px;
      -o-background-size: 4px;
      background-size: 4px; }
    #page_topic #topic_content ol li {
      margin-left: 1em; }
  #page_topic .meta {
    padding: 15px 0;
    font-size: 0.9em; }
    @media screen and (min-width: 680px) {
      #page_topic .meta {
        padding: 25px 0;
        font-size: 1.2em; } }
    #page_topic .meta .cat {
      color: #005bac; }
    #page_topic .meta .date {
      font-weight: 200;
      margin-right: 30px; }
  #page_topic .topic_title {
    font-size: 1.2em;
    line-height: 1.5;
    margin-bottom: 40px; }
    @media screen and (min-width: 680px) {
      #page_topic .topic_title {
        margin-bottom: 50px;
        font-size: 2.0em; } }
  #page_topic #page_select {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    @media screen and (max-width: 680px) {
      #page_topic #page_select {
        margin-bottom: 40px; } }
    #page_topic #page_select a {
      text-align: center;
      width: 100%;
      max-width: 160px;
      display: block;
      border: 1px solid #e6e6e6;
      padding: 20px 0px;
      margin: 0 20px; }
      #page_topic #page_select a:hover {
        background-color: #f8f8f8; }
    #page_topic #page_select .page_prev {
      background: url(../img/common/left_g.png) no-repeat 12% center;
      -webkit-background-size: 7px;
      -o-background-size: 7px;
      background-size: 7px; }
    #page_topic #page_select .page_next {
      background: url(../img/common/right_g.png) no-repeat 88% center;
      -webkit-background-size: 7px;
      -o-background-size: 7px;
      background-size: 7px; }

/*----------------------------------------------------------

プロダクト　一覧

----------------------------------------------------------*/
#product_lead {
  width: 100%;
  height: 210px;
  background: #FFF;
  background: url(../img/product/mv_pc.jpg) no-repeat right center;
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-size: cover; }
  @media screen and (min-width: 1140px) {
    #product_lead {
      height: 410px;
      background: url(../img/product/mv_pc.jpg) no-repeat right center;
      -webkit-background-size: cover;
      -o-background-size: cover;
      background-size: cover; } }
  #product_lead .wrap {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  #product_lead .pg_title {
    color: #005bac;
    font-weight: normal;
    font-size: 2.3em;
    line-height: 1;
    margin-bottom: 10px; }
  #product_lead .sub_pg_title {
    font-size: 1em; }
  @media screen and (min-width: 1140px) {
    #product_lead .pg_title {
      font-size: 4.3em;
      line-height: 1; }
    #product_lead .sub_pg_title {
      font-size: 1.4em; } }

#page_product .pro_lead {
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 1.4em;
  padding-left: 15px;
  font-weight: normal;
  border-left: 4px solid #005bac; }
  @media screen and (min-width: 1140px) {
    #page_product .pro_lead {
      margin-top: 50px;
      margin-bottom: 50px;
      font-size: 1.4em;
      padding-left: 15px; } }

#page_product .slick-current a, #page_product .slick-current .p_box {
  border: 1px solid #005bac; }

#pro_maker_cont {
  position: relative;
  height: 410px;
  padding: 0; }
  @media screen and (max-width: 1140px) {
    #pro_maker_cont {
      margin: 0 20px;
      height: 380px; } }
  @media screen and (max-width: 680px) {
    #pro_maker_cont {
      height: 250px; } }

.tab_child {
  width: 100%;
  position: absolute;
  opacity: 0.05;
  z-index: -1; }
  .tab_child.current {
    opacity: 1.0;
    z-index: 100;
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
    -ms-transform: matrix(1, 0, 0, 1, 0, 0);
    transform: matrix(1, 0, 0, 1, 0, 0); }

@media screen and (min-width: 1140px) {
  #list_head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; } }

#pro_maker, #pro_genre {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (min-width: 680px) {
    #pro_maker, #pro_genre {
      margin-bottom: 20px; } }
  @media screen and (min-width: 1140px) {
    #pro_maker, #pro_genre {
      margin-bottom: 0;
      max-height: 44px; } }
  #pro_maker p, #pro_genre p {
    border: 1px solid #e6e6e6;
    display: inline-block;
    font-size: 0.8em;
    padding: 5px 20px;
    position: relative;
    color: #005bac;
    margin-right: 5px;
    margin-bottom: 5px;
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all; }
    #pro_maker p:hover, #pro_maker p.select, #pro_genre p:hover, #pro_genre p.select {
      background-color: #005bac;
      color: #fff; }
    @media screen and (min-width: 1140px) {
      #pro_maker p, #pro_genre p {
        margin-right: 0;
        font-size: 1.0em;
        padding: 9px 50px;
        margin-left: 15px;
        margin-bottom: 0; } }
  #pro_maker i, #pro_genre i {
    font-size: 0.8em;
    position: absolute;
    top: 32%;
    right: 5px; }
    @media screen and (min-width: 1140px) {
      #pro_maker i, #pro_genre i {
        font-size: 1em;
        right: 15px; } }

#pro_genre {
  margin-bottom: 20px; }
  #pro_genre a {
    display: block;
    width: 50%;
    padding: 9px 20px;
    background-color: #005bac;
    text-align: center;
    color: #fff; }
    #pro_genre a:nth-of-type(2) {
      background-color: #0071ac; }
    @media screen and (min-width: 1140px) {
      #pro_genre a {
        width: 230px;
        padding: 9px 20px;
        text-align: left;
        margin-right: 10px; }
        #pro_genre a:hover {
          opacity: 0.8; } }

#product_all {
  border-top: 1px solid #e1e1e1;
  background-color: #f5f5f5;
  position: relative; }
  #product_all #option_tg {
    display: block;
    width: 20px;
    height: 20px;
    background-color: #fff;
    margin: 0 auto;
    margin-top: -11px;
    border-right: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
    @media screen and (min-width: 680px) {
      #product_all #option_tg {
        width: 40px;
        height: 40px;
        margin-top: -20px; } }
  #product_all .wide {
    max-width: 1168px;
    padding-bottom: 50px; }
    @media screen and (min-width: 680px) {
      #product_all .wide {
        padding-bottom: 100px; } }
  #product_all ul {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    #product_all ul li {
      display: none;
      background-color: #fff;
      padding: 10px;
      width: 300px;
      border: 1px solid #e6e6e6;
      margin: 0 auto;
      margin-bottom: 10px; }
      #product_all ul li.active {
        display: block; }
      @media screen and (min-width: 620px) {
        #product_all ul li {
          margin-bottom: 28px;
          width: 46%;
          margin: 10px; } }
      @media screen and (min-width: 980px) {
        #product_all ul li {
          width: 31%;
          margin: 10px; } }
      @media screen and (min-width: 1140px) {
        #product_all ul li {
          padding: 15px;
          width: 25%;
          max-width: 264px;
          margin: 0 14px;
          margin-bottom: 30px; }
          #product_all ul li:hover img {
            -webkit-transform: scale(1.05) translate(-48%, -48%);
            -ms-transform: scale(1.05) translate(-48%, -48%);
            transform: scale(1.05) translate(-48%, -48%); } }
  #product_all .pro_head {
    margin-bottom: 10px;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 230px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative; }
    #product_all .pro_head img {
      width: 102%;
      height: auto;
      position: absolute;
      padding-bottom: 10px;
      top: 50%;
      left: 50%;
      -webkit-transition: 0.3s all;
      -moz-transition: 0.3s all;
      -ms-transition: 0.3s all;
      -o-transition: 0.3s all;
      transition: 0.3s all;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
    @media screen and (min-width: 680px) {
      #product_all .pro_head {
        height: 30.5vw; } }
    @media screen and (min-width: 980px) {
      #product_all .pro_head {
        height: 19.6vw; } }
    @media screen and (min-width: 1140px) {
      #product_all .pro_head {
        height: 180px; } }
  #product_all .pro_bottom {
    padding-top: 10px;
    border-top: 1px solid #e6e6e6; }
    #product_all .pro_bottom .genre {
      font-size: 0.8em;
      color: #005bac; }
    #product_all .pro_bottom .pro_price {
      font-weight: bold;
      color: #e6002d;
      font-size: 1.4em; }
      #product_all .pro_bottom .pro_price .mini {
        font-size: 0.6em;
        color: #333;
        font-weight: 300; }
    #product_all .pro_bottom .tag {
      margin-top: 10px;
      display: block; }
      #product_all .pro_bottom .tag p {
        font-size: 0.8em;
        line-height: 1.1;
        padding: 2px 5px;
        display: inline-block;
        color: #787878;
        background-color: #f0f0f0; }
      @media screen and (min-width: 1140px) {
        #product_all .pro_bottom .tag {
          margin-top: 30px; } }

.mfp-bg {
  background: #005bac; }

#genre-wrap .simple_list, #tag-wrap .simple_list, #search-wrap .simple_list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-left: 1px solid #e6e6e6;
  border-top: 1px solid #e6e6e6; }
  #genre-wrap .simple_list li, #tag-wrap .simple_list li, #search-wrap .simple_list li {
    width: 50%;
    text-align: center;
    border-right: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    padding: 14px 0; }
    #genre-wrap .simple_list li:hover, #tag-wrap .simple_list li:hover, #search-wrap .simple_list li:hover {
      background-color: #005bac;
      color: #FFF; }
    @media screen and (min-width: 680px) {
      #genre-wrap .simple_list li, #tag-wrap .simple_list li, #search-wrap .simple_list li {
        width: 33.33333%;
        /* 未対応ブラウザ用フォールバック */
        width: -webkit-calc(100% / 3);
        width: calc(100% / 3); } }

#genre-wrap.modal_wrap, #tag-wrap.modal_wrap, #search-wrap.modal_wrap {
  position: relative;
  background-color: #fff;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 20px 10px; }
  @media screen and (min-width: 680px) {
    #genre-wrap.modal_wrap, #tag-wrap.modal_wrap, #search-wrap.modal_wrap {
      padding: 60px 50px; } }

.search_input {
  position: relative;
  margin-bottom: 20px;
  width: 100%;
  padding: 10px 5px 10px 25px;
  background-color: #e6e6e6;
  margin-top: 0; }
  @media screen and (min-width: 680px) {
    .search_input {
      padding: 20px 15px 20px 35px; } }
  .search_input #proSearch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .search_input input {
    width: 100%;
    font-size: 1.1em;
    letter-spacing: 0.1em;
    padding: 8px 20px; }
  .search_input input[type='submit'] {
    max-width: 80px;
    display: block;
    background-color: #333;
    color: #fff;
    padding: 4px 10px;
    margin-left: auto;
    -webkit-border-radius: 2px;
    border-radius: 2px; }
    @media screen and (min-width: 680px) {
      .search_input input[type='submit'] {
        padding: 8px 20px; }
        .search_input input[type='submit']:hover {
          background-color: #005bac; } }
  .search_input i {
    font-size: 1.4em;
    position: absolute;
    color: #b5b5b5;
    top: 35%;
    left: 10px; }
    @media screen and (min-width: 680px) {
      .search_input i {
        top: 40%;
        left: 20px; } }

.search_list {
  width: 100%; }
  .search_list span {
    color: #333;
    font-size: 0.9em;
    display: inline-block;
    margin-right: 10px;
    padding: 5px 10px;
    background-color: #e6e6e6;
    cursor: pointer; }
    .search_list span:hover {
      opacity: 0.8; }

/*----------------------------------------------------------

プロダクト　詳細

----------------------------------------------------------*/
#pro_slide {
  margin-bottom: 25px; }
  #pro_slide .thum {
    margin: 0 auto;
    width: 100%;
    max-width: 1200px; }
    #pro_slide .thum img {
      width: 100%;
      height: auto; }
  @media screen and (min-width: 680px) {
    #pro_slide {
      margin-bottom: 75px; }
      #pro_slide .thum {
        margin: 0 auto;
        width: 100%;
        max-width: 1200px; }
        #pro_slide .thum img {
          width: auto;
          max-width: 100%;
          margin: 0 auto;
          display: block; } }

#pro_main_slide {
  overflow: hidden;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto; }

#pro_thunm_slide.wrap {
  max-width: 1000px;
  padding-top: 20px; }

#pro_thunm_slide .slide_thum {
  overflow: hidden;
  width: 110px !important;
  height: 48px;
  margin-right: 20px; }
  #pro_thunm_slide .slide_thum.slick-current {
    border: 1px solid #005bac; }
  @media screen and (max-width: 680px) {
    #pro_thunm_slide .slide_thum {
      width: 60px !important;
      height: 30px;
      margin-bottom: 10px;
      margin-right: 5px; } }

#page_product_detail {
  margin-bottom: 80px; }
  #page_product_detail .wrap {
    max-width: 1000px; }
  #page_product_detail .view_box {
    margin-bottom: 10px; }
    @media screen and (min-width: 1140px) {
      #page_product_detail .view_box {
        margin-bottom: 20px; } }
  #page_product_detail .option img {
    width: auto; }
  @media screen and (max-width: 680px) {
    #page_product_detail .option {
      font-size: 0.8em; } }

.pro_con {
  font-size: 0.9em;
  line-height: 1.6;
  margin-bottom: 20px; }
  @media screen and (min-width: 1140px) {
    .pro_con {
      margin-bottom: 50px;
      font-size: 1.1em;
      line-height: 1.8; } }
  .pro_con h1, .pro_con h2 {
    margin-top: 20px;
    font-size: 1.35em;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 10px;
    padding-bottom: 10px;
    color: #005bac;
    border-bottom: 2px solid #e6e6e6;
    position: relative; }
    .pro_con h1:after, .pro_con h2:after {
      position: absolute;
      content: "";
      display: block;
      background-color: #005bac;
      width: 40px;
      height: 2px;
      bottom: -2px;
      left: 0; }
    @media screen and (min-width: 1140px) {
      .pro_con h1, .pro_con h2 {
        padding-bottom: 20px;
        padding-bottom: 20px;
        line-height: 1.4;
        margin-top: 50px;
        margin-bottom: 20px;
        ont-size: 1.75em;
        border-bottom: 4px solid #e6e6e6; }
        .pro_con h1:after, .pro_con h2:after {
          width: 150px;
          height: 4px;
          bottom: -4px; } }
  .pro_con img {
    margin-top: 20px;
    width: auto;
    max-width: 100%; }
  .pro_con ol li {
    margin-left: 1em; }
  .pro_con .half img {
    width: auto;
    max-width: 100%;
    display: block;
    margin: 0 auto;
    padding: 10px; }
  @media screen and (min-width: 680px) {
    .pro_con .fx {
      display: -webkit-flex;
      display: -ms-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .pro_con .fx .img_box {
        width: 50%;
        margin-left: 40px;
        max-width: 470px;
        margin-left: auto; }
    .pro_con .half {
      width: 50%; }
    .pro_con.two {
      margin-bottom: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .pro_con.two h2 {
        width: 100%; } }

#pro_dt_info {
  margin-top: 50px;
  margin-bottom: 20px; }
  #pro_dt_info .info_box {
    font-size: 0.8em;
    width: 100%;
    border-top: 1px solid #e6e6e6;
    padding: 10px 0px;
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center; }
    #pro_dt_info .info_box .left {
      max-height: 26px;
      width: 30%;
      padding-left: 5px;
      border-left: 4px solid #005bac;
      font-weight: bold; }
    #pro_dt_info .info_box .right {
      width: 70%; }
      #pro_dt_info .info_box .right .mini {
        font-size: 0.8em; }
  @media screen and (min-width: 680px) {
    #pro_dt_info {
      display: -webkit-flex;
      display: -ms-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      #pro_dt_info .info_box {
        font-size: 1em;
        width: 50%;
        max-width: 475px;
        padding: 20px 10px; }
        #pro_dt_info .info_box .left {
          padding-left: 15px; } }

@media screen and (min-width: 1140px) {
  .fx_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 800px;
    margin: 0 auto; }
    .fx_link .view_box {
      width: 45%;
      margin: 0 20px; }
      .fx_link .view_box a span {
        padding-right: 40px; } }

@media screen and (max-width: 680px) {
  .fx_link .view_box a span {
    padding-right: 20px; }
  .fx_link .view_box a i {
    right: 10px; } }

.link_root {
  margin-bottom: 40px; }
  .link_root a {
    display: block;
    margin: 0 auto;
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all; }
    .link_root a:hover {
      opacity: 0.6; }

#cp_area {
  width: 100%;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  padding: 20px;
  margin-bottom: 30px; }
  @media screen and (min-width: 1140px) {
    #cp_area {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }
  #cp_area .link_root {
    max-width: 320px;
    margin: 0 auto;
    margin-bottom: 10px; }
    @media screen and (min-width: 1140px) {
      #cp_area .link_root {
        margin: 0 20px; } }

#meta_area {
  margin-bottom: 40px; }
  @media screen and (min-width: 1140px) {
    #meta_area {
      margin-bottom: 80px; } }
  #meta_area .wrap div {
    margin-bottom: 20px; }
  @media screen and (min-width: 1140px) {
    #meta_area .wrap {
      max-width: 1000px;
      margin: 0 auto;
      display: -webkit-flex;
      display: -ms-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      #meta_area .wrap div {
        width: 50%;
        max-width: 475px;
        margin-bottom: 0; } }
  #meta_area li {
    color: #787878;
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 5px; }
    @media screen and (min-width: 1140px) {
      #meta_area li {
        margin-bottom: 10px; } }
    #meta_area li a {
      display: inline-block;
      padding: 5px 10px;
      border: 1px solid #e6e6e6;
      border-radius: 3px;
      -webkit-transition: 0.3s all;
      -moz-transition: 0.3s all;
      -ms-transition: 0.3s all;
      -o-transition: 0.3s all;
      transition: 0.3s all; }
      #meta_area li a:hover {
        background-color: #005bac;
        color: #fff; }

/*----------------------------------------------------------

お問い合わせ　共通

----------------------------------------------------------*/
#page_contact .wrap {
  max-width: 1000px; }

#page_contact .mt {
  margin-top: 40px; }

#page_contact .mb {
  margin-bottom: 30px; }

#page_contact .fa-circle {
  font-size: 7px;
  color: #e6002d;
  display: inline-block;
  vertical-align: 1px;
  margin-right: 5px; }

#page_contact .wide {
  margin-bottom: 40px; }
  #page_contact .wide a {
    max-width: 680px; }
    #page_contact .wide a .mini {
      font-size: 0.8em; }

#page_contact .memo {
  max-width: 680px;
  margin: 0 auto;
  font-size: 0.8em; }
  #page_contact .memo li {
    margin-bottom: 10px; }
  #page_contact .memo.mb {
    margin-bottom: 100px; }
  #page_contact .memo .mail_img {
    display: inline-block;
    vertical-align: -0.4em; }
  #page_contact .memo .mail_img_1 {
    width: 82px; }
  #page_contact .memo .mail_img_2 {
    width: 113px; }

#page_contact input[type=text], #page_contact input[type=submit], #page_contact input[type=email], #page_contact button, #page_contact textarea, #page_contact select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

#page_contact .form_type input[type=text], #page_contact .form_type input[type=email], #page_contact .form_type textarea, #page_contact .form_type select {
  font-size: 1em;
  width: 100%;
  padding: 10px 15px;
  display: block;
  background-color: #f5f5f5;
  border: 1px solid #F0F0F0; }
  @media screen and (min-width: 680px) {
    #page_contact .form_type input[type=text], #page_contact .form_type input[type=email], #page_contact .form_type textarea, #page_contact .form_type select {
      padding: 20px 30px; } }

#page_contact .form_type .tx_half textarea {
  height: 100px; }

#page_contact .form_type .full {
  width: 100%; }

#page_contact .form_type .half {
  max-width: 495px;
  width: 49%; }

#page_contact .form_type .mini_input {
  max-width: 120px;
  display: inline-block;
  margin: 0 15px; }
  #page_contact .form_type .mini_input input {
    display: block;
    margin-bottom: -28px;
    background-color: #FFF !important;
    padding: 10px !important; }

#page_contact .form_type .option_mini {
  font-size: 0.9em; }

#page_contact .form_type .mini_info {
  font-size: 0.8em;
  padding-left: 2em; }

#page_contact .form_type .tri {
  width: 100%; }
  #page_contact .form_type .tri input {
    display: block;
    max-width: 300px;
    width: 30% !important; }

#page_contact .form_type .mwform-tel-field, #page_contact .form_type .mwform-zip-field {
  display: block;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

#page_contact .form_type .mwform-zip-field {
  max-width: 400px; }
  #page_contact .form_type .mwform-zip-field input {
    margin-right: 15px;
    margin-left: 15px; }
    #page_contact .form_type .mwform-zip-field input:first-child {
      margin-left: 0; }

#page_contact .form_type .list_form {
  padding: 15px;
  border: 1px solid #eee; }
  #page_contact .form_type .list_form .full {
    margin-bottom: 10px; }

#page_contact .form_type dl {
  width: 100%; }

#page_contact .form_type dd {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* 各ベンダープレフィックスが取れた標準版！！(http://caniuse.com/#search=placeholder-shown) */
  /* Google Chrome, Safari, Opera 15+, Android, iOS */
  /* Firefox 18- */
  /* Firefox 19+ */
  /* IE 10+ */ }
  #page_contact .form_type dd :placeholder-shown {
    color: #c8c8c8; }
  #page_contact .form_type dd ::-webkit-input-placeholder {
    color: #c8c8c8; }
  #page_contact .form_type dd :-moz-placeholder {
    color: #c8c8c8;
    opacity: 1; }
  #page_contact .form_type dd ::-moz-placeholder {
    color: #c8c8c8;
    opacity: 1; }
  #page_contact .form_type dd :-ms-input-placeholder {
    color: #c8c8c8; }
  #page_contact .form_type dd textarea {
    height: 200px; }
  #page_contact .form_type dd input[type=radio] {
    margin-left: 20px;
    margin-right: 5px; }
    #page_contact .form_type dd input[type=radio]:first-child {
      margin-left: 0; }
  #page_contact .form_type dd .radio_bottom {
    margin-bottom: 20px; }
  #page_contact .form_type dd .input_block {
    width: 150px;
    display: inline-block;
    margin: 0 10px; }
    #page_contact .form_type dd .input_block input[type=text] {
      padding: 15px;
      background-color: #fff; }
  #page_contact .form_type dd .select_flag {
    position: relative; }
    #page_contact .form_type dd .select_flag:after {
      content: "";
      display: block;
      width: 13px;
      height: 7px;
      background: url(../img/common/under.png) no-repeat;
      position: absolute;
      right: 25px;
      bottom: 37%; }
  #page_contact .form_type dd .line {
    display: block;
    width: 1%;
    height: 1px;
    background-color: #282828; }
  #page_contact .form_type dd .kome {
    font-size: 0.7em;
    vertical-align: 1em; }
  #page_contact .form_type dd .mb {
    margin-bottom: 20px; }

#page_contact .form_type dt {
  width: 100%;
  margin-bottom: 10px; }
  #page_contact .form_type dt .fa-circle {
    margin-left: 5px;
    vertical-align: 1em; }
  #page_contact .form_type dt small {
    font-size: 0.9em; }
  #page_contact .form_type dt .ml {
    margin-left: 10px; }

#page_contact .form_type .option {
  margin-bottom: 30px;
  text-align: center; }

#page_contact .form_type .submit_box {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  margin-bottom: 100px;
  background-color: #005bac;
  text-align: center;
  padding: 5px;
  position: relative;
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all; }
  @media screen and (min-width: 1140px) {
    #page_contact .form_type .submit_box:hover {
      opacity: 0.6; }
      #page_contact .form_type .submit_box:hover i {
        right: 10px; } }
  #page_contact .form_type .submit_box span {
    display: block;
    border: 1px solid #80add6; }
  #page_contact .form_type .submit_box i {
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
    font-size: 1.4em;
    position: absolute;
    right: 20px;
    top: 40%;
    color: #fff; }
  #page_contact .form_type .submit_box input {
    width: 100%;
    color: #fff;
    font-size: 1.15em;
    display: block;
    padding: 25px;
    text-align: center; }
  #page_contact .form_type .submit_box img {
    width: 7px;
    display: block;
    position: absolute;
    right: 30px;
    top: 42%; }

#page_contact .form_type .back_form {
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  background-color: #e6e6e6;
  padding: 25px;
  font-size: 1.0em;
  margin-bottom: 20px;
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all; }
  #page_contact .form_type .back_form:hover {
    opacity: 0.6; }

#page_contact .q_list {
  margin-bottom: 30px; }
  #page_contact .q_list .red {
    color: #e6002d; }
  #page_contact .q_list .list {
    padding: 10px;
    padding-right: 20px;
    border: 1px solid #e6e6e6;
    margin-bottom: 15px; }
    @media screen and (min-width: 680px) {
      #page_contact .q_list .list {
        padding: 20px; } }
  #page_contact .q_list .q_box {
    position: relative; }
  #page_contact .q_list .arrow {
    position: absolute;
    right: -10px;
    top: 0px;
    width: 12px; }
    #page_contact .q_list .arrow img {
      -webkit-transition: 0.3s all;
      -moz-transition: 0.3s all;
      -ms-transition: 0.3s all;
      -o-transition: 0.3s all;
      transition: 0.3s all; }
    #page_contact .q_list .arrow.open img {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
    @media screen and (min-width: 680px) {
      #page_contact .q_list .arrow {
        right: 10px;
        top: 0px;
        width: 20px; } }
  #page_contact .q_list .a_box {
    margin-top: 15px;
    display: none; }
  #page_contact .q_list .num_p {
    margin-top: 10px;
    padding-left: 1em;
    text-indent: -1em; }
  #page_contact .q_list h3 {
    margin-top: 15px; }
  #page_contact .q_list h4 {
    margin-top: 5px;
    color: #005bac; }
  #page_contact .q_list li {
    font-size: 0.9em; }
    #page_contact .q_list li a {
      text-decoration: underline;
      color: #005bac; }
  #page_contact .q_list dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    #page_contact .q_list dl dt {
      display: block;
      width: 10%; }
    #page_contact .q_list dl dd {
      display: block;
      width: 90%; }

#complete {
  max-width: 680px;
  margin: 40px auto;
  text-align: center; }
  #complete h2 {
    font-weight: bold;
    font-size: 2.0em;
    margin-bottom: 30px; }
  #complete .cap {
    text-align: left;
    line-height: 1.8;
    margin-bottom: 40px; }
  @media screen and (min-width: 680px) {
    #complete {
      margin: 80px auto; } }

#message_confirm {
  overflow: hidden;
  max-width: 800px;
  margin: 40px auto; }
  #message_confirm dt {
    color: #828282; }
  #message_confirm .half {
    border-bottom: 1px solid #e6e6e6; }
  #message_confirm .full, #message_confirm .tri {
    border-bottom: 1px solid #e6e6e6; }
  #message_confirm .tx_half {
    border: none; }
  @media screen and (min-width: 680px) {
    #message_confirm {
      margin: 80px auto; } }

#contact_selecter {
  margin-top: 20px;
  margin-bottom: 20px; }
  @media screen and (min-width: 680px) {
    #contact_selecter {
      margin-top: 80px; } }
  #contact_selecter ul {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  #contact_selecter li {
    display: block;
    border: 1px solid #e6e6e6;
    width: 100%;
    text-align: center;
    margin-bottom: 10px; }
    @media screen and (min-width: 680px) {
      #contact_selecter li {
        margin-bottom: 20px;
        width: 32%;
        /* 未対応ブラウザ用フォールバック */
        width: -webkit-calc(100% / 3.1);
        width: calc(100% / 3.1); } }
    #contact_selecter li.current {
      background-color: #005bac; }
      #contact_selecter li.current a {
        color: #fff;
        background: url(../img/common/right_w.png) no-repeat 95% center;
        background-size: 5px 7px; }
        @media screen and (min-width: 680px) {
          #contact_selecter li.current a {
            background: url(../img/common/right_g.png) no-repeat 90% center;
            background-size: 7px; } }
    #contact_selecter li a {
      font-size: 0.9em;
      display: block;
      padding: 10px 30px 10px 10px;
      background: url(../img/common/right_g.png) no-repeat 95% center;
      background-size: 5px;
      width: 100%;
      height: 100%;
      -webkit-transition: 0.3s all;
      -moz-transition: 0.3s all;
      -ms-transition: 0.3s all;
      -o-transition: 0.3s all;
      transition: 0.3s all; }
      @media screen and (min-width: 680px) {
        #contact_selecter li a {
          background: url(../img/common/right_g.png) no-repeat 95% center;
          background-size: 7px; } }
      #contact_selecter li a:hover {
        color: #FFF;
        background: url(../img/common/right_w.png) no-repeat 95% center;
        background-size: 7px 13px;
        background-color: #005bac; }
      @media screen and (min-width: 680px) {
        #contact_selecter li a {
          font-size: 1.15em;
          padding: 0;
          width: 100%;
          height: 100px;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; } }

#modal_bt {
  text-align: center;
  margin-bottom: 40px; }
  #modal_bt a {
    text-decoration: underline;
    display: inline-block;
    position: relative; }
    #modal_bt a:after {
      content: "";
      display: block;
      position: absolute;
      right: -22px;
      top: 4px;
      width: 14px;
      height: 14px;
      background: url(../img/common/window.png) no-repeat center;
      -webkit-background-size: 14px;
      -o-background-size: 14px;
      background-size: 14px; }
  #modal_bt img {
    display: inline-block;
    width: 14px;
    margin-left: 10px; }

.page_link {
  margin-bottom: 30px; }
  .page_link a {
    position: relative;
    width: 100%;
    max-width: 680px;
    display: block;
    margin: 0 auto;
    margin-bottom: 10px;
    padding: 12px;
    text-align: center;
    background-color: #FAFAFA;
    border: 4px solid #F0F0F0;
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all; }
    @media screen and (min-width: 680px) {
      .page_link a {
        padding: 20px;
        margin-bottom: 20px; } }
    .page_link a:hover {
      background-color: #005bac;
      color: #fff; }
      .page_link a:hover i {
        color: #fff; }
    .page_link a i {
      color: #005bac;
      font-size: 1.2em;
      display: block;
      position: absolute;
      top: 33%;
      right: 10px; }
      @media screen and (min-width: 680px) {
        .page_link a i {
          top: 40%;
          right: 20px; } }

/*----------------------------------------------------------

リクルートページ

----------------------------------------------------------*/
@media screen and (max-width: 680px) {
  #recruit_page {
    background-color: #FFF; } }

#recruit_page .block {
  font-size: 1.1em;
  display: inline-block;
  letter-spacing: 0.05em;
  border: 1px solid #fff;
  text-align: center;
  padding: 10px 20px; }
  @media screen and (min-width: 680px) {
    #recruit_page .block {
      -webkit-transition: all .4s;
      -o-transition: all .4s;
      transition: all .4s;
      -webkit-transition-delay: .8s;
      -o-transition-delay: .8s;
      transition-delay: .8s;
      font-size: 1.3em;
      padding: 15px 60px; } }

.r_lead {
  color: #3C3C3C;
  text-align: center;
  font-size: 1.55em;
  padding: 20px 10px;
  font-style: italic;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6; }
  @media screen and (min-width: 680px) {
    .r_lead {
      font-size: 1.75em;
      padding: 40px 10px; } }

.tx_heading {
  font-weight: bold;
  padding-left: 15px;
  border-left: 4px solid #282828;
  font-size: 1.4em;
  margin-bottom: 20px; }

.head_lead {
  text-align: center;
  margin-bottom: 30px; }
  .head_lead span {
    font-size: 1.9em;
    color: #005bac;
    display: inline-block;
    padding: 20px 50px;
    border: 1px solid #005bac; }

#rec_head {
  background-color: #004078;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #FFF;
  text-align: center;
  margin-bottom: 35px; }
  @media screen and (min-width: 680px) {
    #rec_head {
      height: 230px;
      margin-bottom: 75px; } }
  #rec_head .tx_box {
    margin: 0 auto; }
  #rec_head h1 {
    font-size: 2.2em;
    line-height: 1;
    font-style: italic;
    margin-bottom: 40px; }
    @media screen and (max-width: 680px) {
      #rec_head h1 {
        font-size: 1.8em;
        margin-top: 40px; } }
  #rec_head a {
    color: #fff;
    font-size: 1.1em;
    letter-spacing: 0.05em; }
    @media screen and (min-width: 680px) {
      #rec_head a {
        padding-bottom: 10px; }
        #rec_head a:hover {
          border-bottom: 1px solid #fff; } }
  #rec_head ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #rec_head ul li {
      margin: 0 15px; }
    @media screen and (max-width: 680px) {
      #rec_head ul {
        display: none; } }
  #rec_head.mb {
    margin-bottom: 0px; }
    @media screen and (min-width: 680px) {
      #rec_head.mb {
        margin-bottom: 100px; } }

#sp_menu_bt {
  text-align: center;
  font-size: 2em;
  padding: 12px 0;
  background: #e6e6e6; }
  #sp_menu_bt i {
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all; }
  #sp_menu_bt.open i {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); }

.sp_menu {
  margin-bottom: 50px;
  width: 100%;
  background-color: #e6e6e6; }
  .sp_menu nav {
    display: none; }
  .sp_menu ul {
    width: 100%;
    text-align: center; }
    .sp_menu ul a {
      display: block;
      width: 100%;
      padding: 12px 0;
      background-color: #fff;
      border-bottom: 1px solid #e6e6e6; }
  @media screen and (min-width: 680px) {
    .sp_menu {
      display: none; } }

/*----------------------------------------------------------

リクルートページ　TOP

----------------------------------------------------------*/
.recruit_top #rec_mv {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 450px;
  background: url(../img/recruit/top/mv.jpg) no-repeat;
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-size: cover; }
  @media screen and (min-width: 680px) {
    .recruit_top #rec_mv {
      height: 550px;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }
  .recruit_top #rec_mv .tx_box {
    color: #fff;
    text-align: center;
    margin: 0 auto; }
    .recruit_top #rec_mv .tx_box h1 {
      font-size: 30px;
      line-height: 1;
      margin-top: 100px;
      margin-bottom: 30px;
      font-style: italic;
      font-weight: 100; }
      @media screen and (min-width: 680px) {
        .recruit_top #rec_mv .tx_box h1 {
          margin-top: 0;
          font-size: 70px; } }
    .recruit_top #rec_mv .tx_box .sub {
      font-weight: 200;
      font-size: 14px;
      font-style: italic; }
      @media screen and (min-width: 680px) {
        .recruit_top #rec_mv .tx_box .sub {
          font-size: 30px; } }

.recruit_top #rec_nav {
  position: absolute;
  right: 60px;
  top: auto;
  bottom: 4%; }
  @media screen and (min-width: 680px) {
    .recruit_top #rec_nav {
      right: 60px;
      top: auto;
      bottom: 4%; } }
  @media screen and (min-width: 1140px) {
    .recruit_top #rec_nav {
      right: 80px;
      top: 35%; } }
  .recruit_top #rec_nav li {
    margin-bottom: 15px;
    text-align: right; }
  .recruit_top #rec_nav a {
    color: #fff;
    font-size: 0.9em;
    position: relative;
    display: block; }
    .recruit_top #rec_nav a:after {
      -webkit-transition: all .2s ease-in;
      -moz-transition: all .2s ease-in;
      -ms-transition: all .2s ease-in;
      -o-transition: all .2s ease-in;
      transition: all .2s ease-in;
      content: "";
      display: block;
      width: 14px;
      height: 14px;
      border: 1px solid #fff;
      position: absolute;
      right: -30px;
      top: 2px; }
    .recruit_top #rec_nav a:hover:after {
      background-color: #FFF;
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      transform: rotate(90deg); }

.recruit_top #sec_1 .wrap {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 30px; }
  @media screen and (min-width: 680px) {
    .recruit_top #sec_1 .wrap {
      margin-top: 100px;
      margin-bottom: 100px; } }

.recruit_top #sec_1 h3 {
  font-size: 1.3em;
  line-height: 1.8;
  margin-bottom: 10px;
  text-align: left; }
  @media screen and (min-width: 680px) {
    .recruit_top #sec_1 h3 {
      font-size: 1.9em;
      line-height: 1.8;
      margin-bottom: 50px;
      text-align: center; } }

#sec2_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%; }
  #sec2_list li {
    display: block;
    width: 50%;
    height: 40vw;
    overflow: hidden; }
    #sec2_list li a {
      display: block;
      width: 100%;
      height: 100%;
      -webkit-transition: all .2s ease-in;
      -o-transition: all .2s ease-in;
      transition: all .2s ease-in; }
      #sec2_list li a:hover {
        -webkit-transition: all .2s ease-in;
        -o-transition: all .2s ease-in;
        transition: all .2s ease-in;
        -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
        transform: scale(1.05); }
    @media screen and (min-width: 680px) {
      #sec2_list li {
        width: 33.33333%;
        /* 未対応ブラウザ用フォールバック */
        width: -webkit-calc(100% / 3);
        width: calc(100% / 3);
        height: 33vw; } }
  #sec2_list #staff_1 a {
    background: url(../img/recruit/top/voice_1.png) no-repeat center center;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover; }
  #sec2_list #staff_2 a {
    background: url(../img/recruit/top/voice_6.png) no-repeat center center;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover; }
  #sec2_list #staff_3 a {
    background: url(../img/recruit/top/voice_7.png) no-repeat center center;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover; }
  #sec2_list #staff_4 a {
    background: url(../img/recruit/top/voice_3.png) no-repeat center center;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover; }
  #sec2_list #staff_5 a {
    background: url(../img/recruit/top/voice_8.png) no-repeat center center;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover; }
  #sec2_list #staff_6 .bg_sliding {
    overflow: hidden; }
    #sec2_list #staff_6 .bg_sliding:before {
      position: absolute;
      left: 0;
      top: 0;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      z-index: -1;
      background-color: #6D8090; }
    #sec2_list #staff_6 .bg_sliding:after {
      z-index: -1; }
    #sec2_list #staff_6 .bg_sliding:hover h3, #sec2_list #staff_6 .bg_sliding:hover .sub {
      color: #282828; }
  #sec2_list #staff_6 div {
    margin: 0 auto; }
  #sec2_list #staff_6 a {
    color: #FFF;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #sec2_list #staff_6 a h3 {
      font-size: 2.0em;
      margin-bottom: 5px; }
      @media screen and (min-width: 680px) {
        #sec2_list #staff_6 a h3 {
          -webkit-transition: all .4s;
          -o-transition: all .4s;
          transition: all .4s;
          -webkit-transition-delay: .4s;
          -o-transition-delay: .4s;
          transition-delay: .4s;
          font-size: 2.9em;
          margin-bottom: 20px; } }
    #sec2_list #staff_6 a .sub {
      margin-bottom: 10px;
      letter-spacing: 0.05em; }
      @media screen and (min-width: 680px) {
        #sec2_list #staff_6 a .sub {
          -webkit-transition: all .4s;
          -o-transition: all .4s;
          transition: all .4s;
          -webkit-transition-delay: .4s;
          -o-transition-delay: .4s;
          transition-delay: .4s;
          margin-bottom: 20px; } }

#rec_entry {
  text-align: center;
  overflow: hidden; }
  #rec_entry .lead_box a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 30px 0;
    background-color: #FFF; }
  @media screen and (min-width: 680px) {
    #rec_entry .lead_box a {
      background: none;
      padding: 90px 0; } }
  #rec_entry .lead_box .block {
    border: 1px solid #3c3c3c; }
  #rec_entry .sub {
    margin-bottom: 20px;
    font-size: 0.9em; }
    @media screen and (min-width: 680px) {
      #rec_entry .sub {
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
        -webkit-transition-delay: .4s;
        -o-transition-delay: .4s;
        transition-delay: .4s;
        font-size: 1.2em;
        margin-bottom: 35px; } }
  #rec_entry h2 {
    font-size: 1.4em;
    margin-bottom: 8px; }
    @media screen and (min-width: 680px) {
      #rec_entry h2 {
        -webkit-transition: all .6s;
        -o-transition: all .6s;
        transition: all .6s;
        -webkit-transition-delay: .4s;
        -o-transition-delay: .4s;
        transition-delay: .4s;
        font-size: 2.9em;
        margin-bottom: 25px; } }
  #rec_entry .fx a {
    display: block;
    color: #fff;
    padding: 30px 0; }
  @media screen and (min-width: 680px) {
    #rec_entry .fx {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      #rec_entry .fx a {
        padding: 90px 0; } }
  @media screen and (min-width: 680px) {
    #rec_entry .left, #rec_entry .right {
      width: 50%; } }
  #rec_entry .left {
    position: relative;
    overflow: hidden; }
    #rec_entry .left:before {
      position: absolute;
      left: 0;
      top: 0;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      z-index: -1;
      background-color: #004078; }
    #rec_entry .left:hover .r_lead_2, #rec_entry .left:hover .sub {
      color: #282828; }
  #rec_entry .right {
    position: relative;
    overflow: hidden; }
    #rec_entry .right:before {
      position: absolute;
      left: 0;
      top: 0;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      z-index: -1;
      background-color: #00325E; }
    #rec_entry .right:hover .r_lead_2, #rec_entry .right:hover .sub {
      color: #282828; }
  #rec_entry .block {
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    -webkit-transition-delay: .8s;
    -o-transition-delay: .8s;
    transition-delay: .8s;
    font-size: 1.1em;
    display: inline-block;
    letter-spacing: 0.05em;
    border: 1px solid #fff;
    text-align: center;
    padding: 10px 20px; }
    @media screen and (min-width: 680px) {
      #rec_entry .block {
        font-size: 1.3em;
        padding: 15px 60px; } }

@media screen and (min-width: 680px) {
  .bg_sliding {
    position: relative; }
    .bg_sliding:after {
      -webkit-transition: all 0.5s cubic-bezier(1, -0.02, 0.28, 1.02);
      -o-transition: all 0.5s cubic-bezier(1, -0.02, 0.28, 1.02);
      transition: all 0.5s cubic-bezier(1, -0.02, 0.28, 1.02);
      content: "";
      position: absolute;
      left: 0;
      top: -100%;
      width: 100%;
      height: 100%;
      background-color: #eee;
      z-index: -1; }
    .bg_sliding:hover .block {
      color: #fff;
      background-color: #3c3c3c; }
    .bg_sliding:hover:after {
      top: 0; } }

/*----------------------------------------------------------

リクルートページ　募集概要

----------------------------------------------------------*/
.recruit_info {
  margin-bottom: 100px; }
  .recruit_info .wrap {
    max-width: 1000px; }
  .recruit_info .c_lead {
    margin-top: 60px;
    margin-bottom: 40px; }
  .recruit_info .simple_table {
    font-size: 1.2em;
    line-height: 1.7;
    width: 100%;
    margin-bottom: 30px; }
    .recruit_info .simple_table th, .recruit_info .simple_table td {
      font-weight: normal;
      border: 1px solid #e6e6e6;
      padding: 18px 20px; }
    .recruit_info .simple_table th {
      vertical-align: middle;
      width: 20%; }
    .recruit_info .simple_table td {
      width: 80%; }
    .recruit_info .simple_table .mb {
      margin-bottom: 10px; }
    .recruit_info .simple_table .power {
      font-weight: bold; }

/*----------------------------------------------------------

リクルートページ　社員の声

----------------------------------------------------------*/
.voice_box {
  margin-bottom: 50px; }
  @media screen and (min-width: 680px) {
    .voice_box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      position: relative; } }
  @media screen and (min-width: 1140px) {
    .voice_box {
      padding-top: 130px; } }
  .voice_box .mb9 {
    margin-bottom: 20px; }
    @media screen and (min-width: 1140px) {
      .voice_box .mb9 {
        margin-bottom: 90px; } }
  .voice_box .bg {
    background-color: #f5f5f5;
    position: absolute;
    z-index: -1; }
    @media screen and (max-width: 1140px) {
      .voice_box .bg {
        display: none; } }
  @media screen and (max-width: 1140px) {
    .voice_box.re .name .alpha {
      margin-left: 15px !important; } }
  @media screen and (min-width: 680px) {
    .voice_box.re .name {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: start; }
      .voice_box.re .name .alpha {
        margin-left: 0;
        margin-right: 15px; } }
  @media screen and (min-width: 1140px) {
    .voice_box.re {
      -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      flex-direction: row-reverse;
      text-align: right; }
      .voice_box.re .meta {
        margin-right: 0px; }
      .voice_box.re .staff_photo {
        margin-right: 0;
        margin-left: auto; }
      .voice_box.re .comment_box {
        text-align: left;
        padding-right: 0;
        padding-left: 50px; } }

.staff_photo {
  display: block;
  width: 100%;
  margin-right: 20px; }
  @media screen and (min-width: 680px) {
    .staff_photo {
      width: 30%; } }
  @media screen and (min-width: 1140px) {
    .staff_photo {
      width: 300px;
      margin-right: 40px; } }

.tex_area {
  width: 100%; }
  @media screen and (min-width: 680px) {
    .tex_area {
      width: 70%; } }
  @media screen and (min-width: 1140px) {
    .tex_area {
      width: 660px; } }
  .tex_area .c_lead {
    margin-top: 0;
    margin-bottom: 20px; }
  .tex_area .rank {
    font-size: 1.2em;
    margin-bottom: 5px; }
    @media screen and (min-width: 1140px) {
      .tex_area .rank {
        font-size: 1.6em;
        margin-bottom: 10px; } }
  .tex_area .his {
    margin-bottom: 10px; }
  .tex_area .name {
    font-size: 1.65em;
    font-weight: bold; }
    .tex_area .name .alpha {
      margin-left: 15px;
      font-weight: 200;
      font-style: italic;
      font-size: 0.6em;
      color: #005bac; }
    @media screen and (min-width: 1140px) {
      .tex_area .name {
        -webkit-box-align: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 1.85em; }
        .tex_area .name .alpha {
          font-size: 0.8em; } }
  .tex_area .comment_box {
    padding-right: 0px; }
    .tex_area .comment_box .cap {
      font-size: 1em;
      line-height: 2; }
    @media screen and (min-width: 1140px) {
      .tex_area .comment_box {
        padding-right: 50px; }
        .tex_area .comment_box .cap {
          font-size: 1.25em;
          line-height: 2; } }

.recruit_voice .wrap {
  max-width: 1000px; }

.recruit_voice #sec_1 .bg {
  width: 770px;
  height: 380px;
  right: 0;
  top: 270px; }

@media screen and (min-width: 1140px) {
  .recruit_voice #sec_1 {
    margin-top: -100px; } }

.recruit_voice #sec_2 .bg {
  width: 770px;
  height: 380px;
  left: 0;
  top: 270px; }

.recruit_voice #sec_3 .bg {
  width: 770px;
  height: 380px;
  right: 0;
  top: 270px; }

.recruit_voice #sec_4 .bg {
  width: 770px;
  height: 410px;
  left: 0;
  top: 270px; }

.recruit_voice #sec_5 .bg {
  width: 770px;
  height: 380px;
  right: 0;
  top: 270px; }

@media screen and (min-width: 1140px) {
  .recruit_voice #sec_5 {
    margin-bottom: 200px; } }

/*----------------------------------------------------------

リクルートページ　エントリー

----------------------------------------------------------*/
#status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 60px;
  margin-bottom: 60px;
  position: relative; }
  #status:after {
    content: "";
    position: absolute;
    width: 80%;
    height: 3px;
    background-color: #e6e6e6;
    z-index: -1;
    left: 10%;
    top: 27%; }
  #status li {
    display: block;
    text-align: center;
    width: 20%;
    font-size: 1.2em; }
  #status .num {
    display: inline-block;
    background-color: #e6e6e6;
    color: #fff;
    padding: 20px;
    font-size: 1.2em;
    margin-bottom: 10px;
    -webkit-border-radius: 50%;
    border-radius: 50%; }
    #status .num.current {
      background-color: #005bac; }

/*----------------------------------------------------------

商品検索

----------------------------------------------------------*/
#page_search_product .wrap {
  max-width: 1000px; }

#page_search_product .search_input {
  margin-top: 40px; }

#page_search_product #product_all_list {
  padding: 40px 0; }
  @media screen and (min-width: 1140px) {
    #page_search_product #product_all_list {
      padding: 60px 0; } }
  #page_search_product #product_all_list li {
    display: block !important; }

/*----------------------------------------------------------

フリーページ

----------------------------------------------------------*/
@media screen and (max-width: 1140px) {
  #sns_fix {
    margin-bottom: 20px; }
    #sns_fix ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
    #sns_fix li {
      margin: 0 10px; } }

@media screen and (min-width: 1140px) {
  #sns_fix {
    display: block;
    position: fixed;
    bottom: 5%;
    right: 40px;
    z-index: 10;
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all; }
    #sns_fix li {
      -webkit-transition: 0.3s all;
      -moz-transition: 0.3s all;
      -ms-transition: 0.3s all;
      -o-transition: 0.3s all;
      transition: 0.3s all; }
      #sns_fix li:nth-of-type(2) {
        -webkit-transition-delay: 0.1s;
        -o-transition-delay: 0.1s;
        transition-delay: 0.1s; }
      #sns_fix li:nth-of-type(3) {
        -webkit-transition-delay: 0.2s;
        -o-transition-delay: 0.2s;
        transition-delay: 0.2s; } }

#sns_fix a {
  display: block;
  background-color: #eee;
  width: 50px;
  height: 50px;
  position: relative;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  margin-bottom: 15px;
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all; }
  @media screen and (min-width: 1140px) {
    #sns_fix a:hover {
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -o-transform: scale(1.1);
      -ms-transform: scale(1.1);
      transform: scale(1.1); }
    #sns_fix a:active {
      opacity: 0.5; } }

#sns_fix i, #sns_fix img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  /* Safari用 */
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

#sns_fix .icon_1 {
  background-color: #00c300; }

#sns_fix .icon_2 {
  background-color: #6AAAE8; }

#sns_fix .icon_3 {
  background-color: #40569A; }

#sns_fix #icon_line {
  width: 32px; }

#sns_fix i {
  font-size: 1.8em;
  color: #FFF; }

@media screen and (min-width: 1140px) {
  #sns_fix.bottom {
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all; }
    #sns_fix.bottom li {
      -webkit-transform: translate(100px, 0);
      -ms-transform: translate(100px, 0);
      transform: translate(100px, 0); } }

.remodal {
  background: none;
  max-width: 1000px;
  padding: 0; }
  .remodal .remodal-cancel {
    background-color: #005bac;
    display: block;
    margin: 12px auto 0 auto; }
    .remodal .remodal-cancel:hover {
      opacity: .6; }
  .remodal-remove {
    display: inline-block;
    text-align: center;
    color: #fff;
    margin: 2em 0 0 0; }
    .remodal-remove:hover {
      text-decoration: underline; }
    .remodal-remove svg {
      vertical-align: middle;
      display: inline-block;
      width: 13px;
      height: 13px; }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

.remodal-overlay {
  background: rgba(0, 0, 0, 0.8); }
