@charset "UTF-8";
/*------------------------------------------------------------------------------------------
*
*
    common.css
*
*
------------------------------------------------------------------------------------------ */
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/*HTML5display-roleresetforolderbrowsers*/
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

body {
  font-family: 'こぶりなゴシック W3 JIS2004','游ゴシック','YuGothic',Meiryo,メイリオ,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
  color: #000;
  font-size: 18px;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  position: relative;
  z-index: 1; }

body.sub {
  background-color: #D0FFEA;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  background-attachment: fixed; }

body, html {
  width: 100%;
  height: 100%; }

a, li, p, div, button {
  outline: none !important; }

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

.indent_half_top {
  position: relative;
  margin-left: -.5em !important; }

.indent_half {
  position: relative;
  margin-left: -.5em; }

.current,
.current a,
.disabled,
.disabled a,
.overlay,
#gnav {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

img {
  height: auto; }

.c_anim {
  opacity: 0; }

#wrap {
  font-family: 'Shuei KakuGo Gin L'; }

#wrap.home {
  opacity: 0; }

.cart .btn {
  position: relative;
  z-index: 10; }

.close {
  font-size: 80%;
  color: #e45f22; }

a[target="_blank"]::after {
  margin: 0 3px 0 1px;
  font-family: "Hobonichi-Icons" !important;
  content: "\e914";
  font-size: 85%;
  position: relative;
  top: -3px; }

a.ico_none[target="_blank"]::after {
  display: none; }

#header .top_bar a {
  color: #333; }

/* -------------------- font-face  --------------------*/
.ff_min {
  font-family: "游明朝","YuMincho","Palatino Linotype","Book Antiqua",Palatino,FreeSerif,serif !important; }

.ff_cinema {
  font-family: 'Cinema Letter'; }

/* cinema letter */
h2, h3, h4,
.report_nav,
.report_btm_nav {
  font-family: 'Cinema Letter'; }

/* --------------- */
@media screen and (min-width: 641px) {
  /*------------------------------------------------------------------------------------------
  *
  *
      min-width : 641px
  *
  *
  ------------------------------------------------------------------------------------------ */
  /* --------------------------------------------------
  *
      common settings
  *
  -------------------------------------------------- */
  body {
    overflow: auto !important; }

  #wrap {
    min-width: 1000px; }

  #contents {
    width: 1000px;
    min-width: 1000px;
    margin: 0 auto; }

  br {
    display: block; }

  br.sp {
    display: none; }

  img.pc {
    display: inline-block; }

  img.sp {
    display: none; }

  .btn_pagetop {
    width: 60px;
    height: 65px;
    margin: -5px auto 0 auto;
    background-image: url(../images/btn_pagetop.png);
    background-repeat: no-repeat;
    background-position: center 5px;
    transition: all .1s ease;
    cursor: pointer; }

  .is_pc .btn_pagetop:hover,
  .is_sp .btn_pagetop.touch {
    background-position: center 0; }

  .btn_backhome {
    margin: 40px 0 0 0;
    text-align: center;
    transition: opacity .1s ease; }

  .btn_backhome img {
    width: 156px;
    height: auto; }

  .is_pc .btn_backhome:hover,
  .is_sp .btn_backhome.touch {
    opacity: .7; }

  .btn_backhome.disabled {
    display: none; }

  /* --------------------------------------------------
  *
      #header
  *
  -------------------------------------------------- */
  #header .top_bar {
    height: 34px;
    text-align: center;
    background-color: #D0FFEA;
    color: #fff;
    font-size: 11px;
    line-height: 34px;
    letter-spacing: .6em;
    position: relative;
    z-index: 10; }

  .sub #header {
    width: 100% !important;
    min-width: 1000px !important;
    background: none !important;
    position: absolute;
    top: 34px;
    left: 0;
    z-index: 100;
    transition: opacity 1s ease; }

  .sub #header.fixed {
    position: fixed;
    top: 0;
    opacity: .95; }

  .sub #contents_area {
    padding: 146px 0 0 0; }

  #header_inner {
    width: 840px !important;
    height: 112px !important;
    margin: 0 auto;
    padding: 15px 0 0 20px;
    border-bottom: 1px solid #000;
    background-color: #fff;
    box-sizing: border-box;
    color: #000;
    font-size: 12px;
    letter-spacing: .1em;
    position: relative; }

  #header_inner h1 {
    padding: 0 0 0 0;
    transition: opacity .1s ease;
    position: absolute;
    top: 25px;
    left: 40px;
    z-index: 11; }

  #header_inner h1 img {
    width: 121px; }

  .is_pc #header_inner h1:hover,
  .is_sp #header_inner h1.touch {
    opacity: .7; }

  #gnav .home_br_sp {
    display: none; }

  #gnav {
    transform: none !important;
    -webkit-transform: none !important; }

  #gnav_inner {
    position: absolute;
    top: 15px;
    left: 215px; }

  #gnav_inner li {
    width: 200px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    position: absolute;
    text-indent: 30px; }

  #gnav_inner li .parents {
    position: relative; }

  #gnav_inner li a {
    height: 40px;
    display: block;
    position: relative;
    transition: color .1s ease; }

  .is_pc #gnav_inner li a:hover,
  .is_sp #gnav_inner li a.touch {
    color: #1b677e; }

  #gnav_inner li:before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background-repeat: no-repeat;
    background-size: 37px;
    background-position: left center;
    position: absolute;
    top: 0;
    left: 0; }

  #gnav_inner li.gnav_report {
    font-size: 14px;
    top: 0;
    left: 0;
    border-bottom: 1px solid #ccc; }

  #gnav_inner li.gnav_info {
    top: 0;
    left: 200px;
    border-bottom: 1px solid #ccc; }

  #gnav_inner li.gnav_cart {
    top: 0;
    left: 400px;
    border-bottom: 1px solid #ccc; }

  #gnav_inner li.gnav_lineup {
    font-size: 14px;
    top: 40px;
    left: 0; }

  #gnav_inner li.gnav_attention {
    top: 40px;
    left: 200px; }

  #gnav_inner li.gnav_change {
    top: 40px;
    left: 400px; }

  #gnav_inner li.gnav_report:before {
    background-image: url(../images/parts_gnav_ico_report.png);
    background-position: 10px center; }

  #gnav_inner li.gnav_info:before {
    background-image: url(../images/parts_gnav_ico_info.png);
    background-position: 25px center; }

  #gnav_inner li.gnav_cart:before {
    background-image: url(../images/parts_gnav_ico_cart.png);
    background-position: 30px center; }

  #gnav_inner li.gnav_lineup:before {
    background-image: url(../images/parts_gnav_ico_lineup.png);
    background-position: 28px center;
    background-size: 16px; }

  #gnav_inner li.gnav_attention:before {
    background-image: url(../images/parts_gnav_ico_attention.png);
    background-position: 10px center; }

  #gnav_inner li.gnav_change:before {
    background-image: url(../images/parts_gnav_ico_change.png);
    background-position: 30px center; }

  /* line */
  #gnav_inner li .parents:before,
  #gnav_inner li a:before {
    content: '';
    width: 1px;
    height: 10px;
    display: block;
    background-color: #ccc;
    position: absolute;
    top: 0;
    left: 0; }

  #gnav_inner li.gnav_report a:before {
    top: inherit;
    bottom: 0; }

  #gnav_inner li.gnav_cart a:before {
    top: inherit;
    bottom: 0; }

  #gnav_inner li.gnav_info a:before {
    top: inherit;
    bottom: 0; }

  #gnav_inner li.gnav_cart a:after,
  #gnav_inner li.gnav_change a:after {
    content: '';
    width: 1px;
    height: 10px;
    display: block;
    background-color: #ccc;
    position: absolute;
    top: 0;
    right: 0; }

  #gnav_inner li.gnav_cart a:after {
    top: inherit;
    bottom: 0; }

  #gnav_inner li.gnav_lineup ul {
    width: 370px;
    margin: 0 0 0 0;
    background-color: #fff;
    border: 1px solid #ccc;
    border-top: none;
    display: none;
    position: absolute;
    top: 40px;
    left: 0; }

  #gnav_inner li.gnav_lineup li {
    width: 370px;
    height: auto;
    padding: 0 0 0 20px;
    text-indent: 0;
    border-bottom: 1px dashed #ddd;
    box-sizing: border-box;
    position: relative;
    text-align: left; }

  #gnav_inner li.gnav_lineup li a {
    padding: 10px 0;
    height: auto;
    line-height: 1.6em; }

  #gnav_inner li.gnav_lineup li a .s {
    font-size: 13px;
    letter-spacing: 0;
    white-space: nowrap; }

  #gnav_inner li.gnav_lineup li:last-child {
    border: none; }

  #gnav_inner li.gnav_lineup li a:before {
    display: none; }

  #gnav_inner li.gnav_lineup li a:after {
    display: none; }

  /* --------------------------------------------------
  *
      #footer
  *
  -------------------------------------------------- */
  #footer {
    clear: both;
    overflow: hidden;
    text-align: center;
    position: relative;
    color: #333; }

  #footer.teaser {
    color: #000; }

  #footer .bg {
    line-height: 0; }

  #footer .bg img {
    width: 100%;
    height: auto;
    margin: 0 0 -2px 0; }

  .home #footer .bg img {
    margin-top: -180px; }

  .home.teaser #footer .bg img {
    margin-top: 0; }

  #footer_inner {
    width: 100%; }

  #foot_contact {
    width: 1000px;
    margin: 0 auto;
    padding: 80px 0 65px 0;
    letter-spacing: .1em;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

  .sub #foot_contact {
    padding: 0; }

  #foot_contact .btn_store_top {
    margin: 0 0 25px 0; }

  #foot_contact .btn_store_top a {
    transition: opacity .1s ease .0s; }

  .is_pc #foot_contact .btn_store_top a:hover,
  .is_sp #foot_contact .btn_store_top a.touch {
    opacity: .7;
    transition: opacity .15s ease .05s; }

  #foot_contact .btn_store_top img {
    width: 171px; }

  #foot_contact li {
    display: inline-block;
    vertical-align: top; }

  #foot_contact li a {
    color: #333; }

  .teaser #foot_contact li a {
    color: #000; }

  #foot_contact li img {
    width: auto;
    height: 26px;
    transition: opacity .1s ease; }

  .is_pc #foot_contact li:hover img,
  .is_sp #foot_contact li.touch img {
    opacity: .7; }

  #sns_share li {
    margin: 0 10px; }

  #foot_link {
    padding: 25px 0 40px 0;
    letter-spacing: -.40em; }

  #foot_link li {
    font-size: 12px;
    letter-spacing: normal; }

  #foot_link li:after {
    margin: 0 3px;
    content: '／'; }

  #foot_link li:last-child:after {
    display: none; }

  #foot_link li a {
    transition: opacity .15s ease .05s; }

  .is_pc #foot_link li a:hover,
  .is_sp #foot_link li a.touch {
    opacity: .7;
    transition: opacity .1s ease .0s; }

  #footer .credit {
    display: none; }

  #footer .copyright img {
    width: auto;
    height: 8px; }

  .home.teaser #footer .credit {
    clear: both;
    margin: 0 0 350px 0;
    line-height: 1.6em;
    letter-spacing: .2em;
    display: block; }

  #footer .copyright {
    clear: both;
    font-size: 10px;
    letter-spacing: .4em; }

  /* sub page */
  .sub #footer .bg {
    display: none; }

  .sub #footer_inner {
    position: relative;
    padding: 0 0 35px 0; }

  .sub #footer .credit {
    display: none; }

  .sub #foot_hobonichi {
    margin-bottom: 30px; } }
/* ----- min-width : 641px ----- */
/* --------------------------------------------------------------------------------------------------------------
*
    max-width: 640px
*
-------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 640px) {
  /* --------------------------------------------------
  *
      common settings
  *
  -------------------------------------------------- */
  body {
    z-index: 10;
    overflow-x: hidden;
    font-size: 16px; }

  body.sub {
    min-height: 100vh;
    background-color: #D0FFEA;
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 100%;
    background-attachment: fixed; }

  body, html {
    width: 100%;
    min-width: 100%; }

  br {
    display: none; }

  br.sp {
    display: inherit; }

  img.pc {
    display: none; }

  img.sp {
    display: inline-block; }

  .btn_pagetop {
    width: 30px;
    height: 35px;
    margin: -5px auto 0 auto;
    background-image: url(../images/btn_pagetop.png);
    background-repeat: no-repeat;
    background-position: center 5px;
    background-size: 30px;
    transition: all .1s ease;
    cursor: pointer; }

  .is_pc .btn_pagetop:hover,
  .is_sp .btn_pagetop.touch {
    background-position: center 0; }

  .btn_backhome {
    margin: 40px 0 0 0;
    text-align: center;
    transition: opacity .1s ease; }

  .btn_backhome img {
    width: 156px;
    height: auto; }

  .is_pc .btn_backhome:hover,
  .is_sp .btn_backhome.touch {
    opacity: .7; }

  .btn_backhome.disabled {
    display: none; }

  /* --------------------------------------------------
  *
      #header
  *
  -------------------------------------------------- */
  #header .top_bar {
    height: 17px;
    text-align: center;
    background-color: #D0FFEA;
    color: #333;
    font-size: 9px;
    line-height: 17px;
    letter-spacing: .2em; }

  .sub #header {
    width: 100%;
    height: 55px;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100; }

  .sub #contents_area {
    padding: 55px 0 0 0; }

  #header_inner h1 {
    width: 100%;
    height: 55px;
    padding: 6px 0 0 10px;
    display: inline-block;
    box-sizing: border-box;
    background-color: #fff;
    border-bottom: 1px solid #000;
    position: relative;
    z-index: 100; }

  #header_inner h1 img {
    width: 76px;
    height: auto;
    transition: opacity .1s ease; }

  #gnav .home_br_sp {
    display: none; }

  #gnav {
    width: 85%;
    height: 100%;
    min-height: 100%;
    margin: 0 auto;
    opacity: 0;
    background-color: #fff;
    border-left: 1px solid #000;
    box-sizing: border-box;
    color: #000;
    font-size: 12px;
    letter-spacing: .1em;
    position: fixed;
    top: 0;
    right: 0;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 10; }

  #gnav_inner {
    height: auto !important;
    min-height: 100%;
    padding: 55px 0 40px 0;
    box-sizing: border-box;
    background-color: #fff;
    position: relative;
    z-index: 100; }

  #gnav_inner ul {
    border-bottom: 1px solid #000; }

  #gnav_inner li {
    position: relative;
    font-size: 13px; }

  #gnav_inner li .parents,
  #gnav_inner li a {
    height: 40px;
    line-height: 40px;
    padding: 0 10px 0 45px;
    display: block;
    position: relative;
    border-bottom: 1px solid #ccc;
    transition: color .1s ease; }

  #gnav_inner li:last-child a {
    border: none; }

  .is_pc #gnav_inner li a:hover,
  .is_sp #gnav_inner li a.touch {
    color: #1b677e; }

  #gnav_inner li .parents {
    height: 35px;
    line-height: 35px;
    margin: 0;
    padding: 0 0 0 25px;
    background-color: #fafafa;
    text-align: center;
    border-bottom: 1px dotted #ccc;
    font-size: 12px; }

  #gnav_inner li .parents:before,
  #gnav_inner li:before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background-repeat: no-repeat;
    background-size: 37px;
    background-position: 5px center;
    position: absolute;
    top: 0;
    left: 0; }

  #gnav_inner li a:after {
    content: '';
    width: 6px;
    height: 100%;
    display: block;
    background-image: url(../images/parts_gnav_arrow_right.png);
    background-repeat: no-repeat;
    background-size: 5px;
    background-position: right center;
    position: absolute;
    top: 0;
    right: 15px;
    transition: right .1s ease; }

  .is_pc #gnav_inner li a:hover:after,
  .is_sp #gnav_inner li a.touch:after {
    right: 10px; }

  #gnav_inner li.gnav_report:before {
    background-image: url(../images/parts_gnav_ico_report.png); }

  #gnav_inner li.gnav_info:before {
    background-image: url(../images/parts_gnav_ico_info.png); }

  #gnav_inner li.gnav_cart:before {
    background-image: url(../images/parts_gnav_ico_cart.png); }

  #gnav_inner li.gnav_lineup .parents:before {
    background-image: url(../images/parts_gnav_ico_lineup.png);
    background-position: center 7px;
    left: -60px;
    background-size: 16px; }

  #gnav_inner li.gnav_attention:before {
    background-image: url(../images/parts_gnav_ico_attention.png); }

  #gnav_inner li.gnav_change:before {
    background-image: url(../images/parts_gnav_ico_change.png); }

  /* sub_nav */
  #gnav_inner li ul {
    height: 100% !important;
    display: block !important;
    border-bottom: 1px double #000; }

  #gnav_inner li li a {
    padding-left: 15px;
    border: none; }

  #gnav_inner li li a .s {
    font-size: 90%; }

  #gnav_inner li li:after {
    content: '';
    width: 94%;
    height: 1px;
    display: block;
    border-bottom: 1px dashed #ccc;
    position: absolute;
    bottom: 0;
    left: 3%; }

  #gnav_inner li li:last-child:after {
    display: none; }

  /*
      .gnav_ico
  */
  #header .gnav_ico {
    width: 80px;
    height: 50px;
    position: absolute;
    text-align: right;
    display: block;
    top: 0;
    right: 0;
    cursor: pointer;
    z-index: 100; }

  #header .gnav_ico span {
    border-radius: 2px; }

  #header .gnav_ico span.top {
    width: 22px;
    border-top: 2px solid #000;
    position: absolute;
    top: 17px;
    right: 14px; }

  #header .gnav_ico span.mid {
    content: '';
    display: block;
    width: 22px;
    border-top: 2px solid #000;
    position: absolute;
    top: 24px;
    right: 14px; }

  #header .gnav_ico span.btm {
    content: '';
    display: block;
    width: 22px;
    border-top: 2px solid #000;
    position: absolute;
    top: 31px;
    right: 14px; }

  #header .gnav_ico.on span {
    border-color: #000; }

  /* open */
  #header .gnav_ico.on span.top {
    top: 24px;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transition: top .17s ease, -webkit-transform .13s ease-out .17s, transform .13s ease-out .17s; }

  #header .gnav_ico.on span.btm {
    top: 24px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: top .17s ease, -webkit-transform .13s ease-out .17s, transform .13s ease-out .17s; }

  #header .gnav_ico.on span.mid {
    opacity: 0;
    -ms-filter: "alpha(opacity=0)";
    transition: opacity 0s ease .17s; }

  /* close */
  #header .gnav_ico span.top {
    transform: rotate(0);
    -webkit-transform: rotate(0);
    transition: top .17s ease .13s, -webkit-transform .13s ease-in, transform .13s ease-in; }

  #header .gnav_ico span.btm {
    transform: rotate(0);
    -webkit-transform: rotate(0);
    transition: top .17s ease .13s, -webkit-transform .13s ease-in, transform .13s ease-in; }

  #header .gnav_ico span.mid {
    opacity: 1;
    -ms-filter: "alpha(opacity=100)";
    transition: opacity 0s ease .13s; }

  #header .overlay {
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: #000;
    opacity: .2;
    display: none;
    top: 0;
    left: 0;
    z-index: 1; }

  /* --------------------------------------------------
  *
      #footer
  *
  -------------------------------------------------- */
  #footer {
    clear: both;
    overflow: hidden;
    text-align: center;
    position: relative;
    color: #333; }

  #footer.teaser {
    color: #000; }

  #footer .bg {
    line-height: 0; }

  #footer .bg img {
    width: 100%;
    height: auto;
    margin: 0 0 -2px 0; }

  .home #footer .bg img {
    margin-top: -180px; }

  .home.teaser #footer .bg img {
    margin-top: 0; }

  #footer_inner {
    width: 100%; }

  #foot_contact {
    margin: 0 auto;
    padding: 40px 0 30px 0;
    letter-spacing: .1em;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

  #foot_contact .btn_store_top {
    margin: 0 0 25px 0; }

  #foot_contact .btn_store_top a {
    transition: opacity .1s ease .0s; }

  .is_pc #foot_contact .btn_store_top a:hover,
  .is_sp #foot_contact .btn_store_top a.touch {
    opacity: .7;
    transition: opacity .15s ease .05s; }

  #foot_contact .btn_store_top img {
    width: 171px; }

  #foot_contact li {
    display: inline-block;
    vertical-align: top; }

  #foot_contact li a {
    color: #333; }

  .teaser #foot_contact li a {
    color: #000; }

  #foot_contact li img {
    width: auto;
    height: 21px;
    transition: opacity .1s ease; }

  .is_pc #foot_contact li:hover img,
  .is_sp #foot_contact li.touch img {
    opacity: .7; }

  #sns_share ul {
    max-width: 420px;
    margin: 0 auto; }

  #sns_share li {
    margin: 0 10px 20px 10px; }

  #foot_link {
    padding: 15px 10px 25px 10px;
    letter-spacing: -.40em; }

  #foot_link ul {
    max-width: 360px;
    margin: 0 auto; }

  #foot_link li {
    margin: 0 0 20px 0;
    font-size: 12px;
    letter-spacing: normal; }

  #foot_link li:after {
    margin: 0 3px;
    content: '／'; }

  #foot_link li:last-child:after {
    display: none; }

  #foot_link li a {
    transition: opacity .15s ease .05s; }

  .is_pc #foot_link li a:hover,
  .is_sp #foot_link li a.touch {
    opacity: .7;
    transition: opacity .1s ease .0s; }

  #footer .credit {
    display: none; }

  #footer .copyright img {
    width: auto;
    height: 8px; }

  .home.teaser #footer .credit {
    clear: both;
    margin: 0 0 350px 0;
    line-height: 1.6em;
    letter-spacing: .2em;
    display: block; }

  #footer .copyright {
    clear: both;
    font-size: 10px;
    letter-spacing: .4em; }

  /* sub page */
  .sub #footer .bg {
    display: none; }

  .sub #footer_inner {
    position: relative;
    padding: 0 0 35px 0; }

  .sub #footer .credit {
    display: none; }

  .sub #foot_hobonichi {
    margin-bottom: 30px; } }
/* ----- max-width: 640px ----- */
/* --------------------------------------------------------------------------------------------------------------
*
    max-width: 480px
*
-------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 480px) {
  /* --------------------------------------------------
  *
      common settings
  *
  -------------------------------------------------- */
  body {
    z-index: 10;
    overflow-x: hidden;
    font-size: 14px; }

  body, html {
    width: 100%;
    min-width: 100%; }

  br {
    display: none; }

  br.sp {
    display: block; } }
/* ----- max-width: 640px ----- */
/* ------------------------------------------------------------
*
    .img_slider
     -> Setting jQuery Plugin slick.min.js
*
------------------------------------------------------------ */
.slick-dots, .slick-next, .slick-prev {
  position: absolute;
  display: block;
  padding: 0; }

.slick-dots li button:before, .slick-next:before, .slick-prev:before {
  font-family: slick;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-loading .slick-slide, .slick-loading .slick-track {
  visibility: hidden; }

.slick-next, .slick-prev {
  font-size: 0;
  line-height: 0;
  top: 50%;
  width: 20px;
  height: 20px;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: 0;
  background: 0 0; }

.slick-next:focus, .slick-next:hover, .slick-prev:focus, .slick-prev:hover {
  color: transparent;
  outline: 0;
  background: 0 0; }

.slick-next:focus:before, .slick-next:hover:before, .slick-prev:focus:before, .slick-prev:hover:before {
  opacity: 1; }

.slick-next.slick-disabled:before, .slick-prev.slick-disabled:before {
  opacity: .25; }

.slick-next:before, .slick-prev:before {
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: #fff; }

.slick-prev {
  left: -25px; }

[dir=rtl] .slick-prev {
  right: -25px;
  left: auto; }

.slick-prev:before {
  content: '竊�'; }

.slick-next:before, [dir=rtl] .slick-prev:before {
  content: '竊�'; }

.slick-next {
  right: -25px; }

[dir=rtl] .slick-next {
  right: auto;
  left: -25px; }

[dir=rtl] .slick-next:before {
  content: '竊�'; }

.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  bottom: -25px;
  width: 100%;
  margin: 0;
  list-style: none;
  text-align: center; }

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer; }

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: 0;
  background: 0 0; }

.slick-dots li button:focus, .slick-dots li button:hover {
  outline: 0; }

.slick-dots li button:focus:before, .slick-dots li button:hover:before {
  opacity: 1; }

.slick-dots li button:before {
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '繝ｻ';
  text-align: center;
  opacity: .25;
  color: #000; }

.slick-list, .slick-slider, .slick-track {
  position: relative;
  display: block; }

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: #000; }

.slick-slider {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: 0; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-list, .slick-slider .slick-track {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  top: 0;
  left: 0; }

.slick-track:after, .slick-track:before {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir=rtl] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.img_slider {
  opacity: 0; }

@media screen and (min-width: 641px) {
  .slick-dots {
    width: auto !important;
    display: block;
    position: fixed !important;
    right: 10px;
    top: 50%;
    z-index: 2; }

  .slick-dots li {
    width: 35px;
    height: 35px;
    display: block;
    float: none;
    margin: 0 0 -8px 0;
    text-align: center;
    vertical-align: top;
    position: relative; }

  .slick-dots li button {
    width: 35px;
    height: 35px;
    position: relative;
    border: 0;
    outline: none; }

  button::-moz-focus-inner {
    border: 0; }

  .slick-dots li button:before {
    content: '';
    width: 35px;
    height: 35px;
    background-image: url(../images/parts_img_slider_dots.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 35px;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0; }

  .is_sp .slick-dots li.touch button:before,
  .is_pc .slick-dots li:hover button:before,
  .slick-dots li.slick-active button:before {
    background-image: url(../images/parts_img_slider_dots_on.png);
    opacity: 1; } }
