@charset "UTF-8";
/*reset*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url("https://fonts.googleapis.com/css?family=Droid+Serif");
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: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }

html {
  font-size: 14px;
  line-height: 1.6; }

body {
  font-family: Helvetica,Arial, 'Noto Sans Japanese', '游ゴシック', 'Yu Gothic',YuGothic, 'ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro', 'メイリオ','Meiryo', 'ＭＳ Ｐゴシック', sans-serif;
  -webkit-text-size-adjust: 100%; }

.serif {
  font-family: 'Droid Serif', serif; }

p.center a.btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 512px;
  max-width: 85.9375vw;
  height: 60px;
  font-size: 20px;
  font-weight: bold;
  line-height: 2.5;
  color: #e40000;
  border: #e40000 1px solid;
  border-radius: 6px;
  position: relative;
  margin: 0 auto; }
  p.center a.btn.bk {
    background-color: #000;
    color: #fff;
    border: none; }
    p.center a.btn.bk:after {
      background-image: url(../images/icon_arrow_w.svg); }
  p.center a.btn em {
    font-size: 15px;
    font-weight: normal;
    display: inline-block;
    margin-left: 0.5em; }
  p.center a.btn img {
    width: 30px;
    height: 22px;
    margin: 0;
    margin-right: 0.5em; }
  p.center a.btn:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -5px;
    right: 10px;
    display: block;
    width: 5px;
    height: 10px;
    background-image: url(../images/icon_arrow.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain; }

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  a:hover {
    opacity: .7; }
  a.cs, a[href="#"] {
    opacity: 1;
    cursor: default; }

img {
  display: block;
  margin: 0 auto;
  max-width: 100%; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.no-touch .zoomer > img {
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s; }

.no-touch .zoomer:hover > img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05); }

#navi {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0; }
  #navi a.trigger {
    position: fixed;
    z-index: 2;
    top: 15px;
    right: 20px;
    display: block;
    width: 46px;
    height: 46px;
    padding: 10px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    background-color: #b4b5b9; }
    #navi a.trigger em {
      position: absolute;
      top: 10px;
      left: 10px;
      width: 46px;
      height: 46px; }
      #navi a.trigger em i, #navi a.trigger em:before, #navi a.trigger em:after {
        display: block;
        width: 100%;
        height: 5px;
        background-color: #E8E8E8;
        position: absolute;
        left: 0;
        -webkit-transition: all 0.4s ease-in-out;
        -moz-transition: all 0.4s ease-in-out;
        -o-transition: all 0.4s ease-in-out;
        transition: all 0.4s ease-in-out; }
      #navi a.trigger em:before, #navi a.trigger em:after {
        content: ""; }
      #navi a.trigger em:before {
        top: 5.5px; }
      #navi a.trigger em i {
        top: 50%;
        margin-top: -2.5px; }
      #navi a.trigger em:after {
        bottom: 5.5px; }
  #navi .navInner {
    padding-top: 94px;
    width: 400px;
    height: 100vh;
    background-color: #f0f3f5;
    position: absolute;
    z-index: 1;
    top: 0;
    right: -400px;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out; }
    #navi .navInner ul {
      position: absolute;
      width: 100%;
      height: 100%;
      padding-bottom: 144px;
      border-top: #bdc0c3 1px solid;
      overflow: hidden; }
      #navi .navInner ul li {
        font-size: 20px;
        line-height: 1.2;
        font-weight: bold;
        border-bottom: #bdc0c3 1px solid; }
        #navi .navInner ul li a {
          display: block;
          padding: 10px 40px; }
          #navi .navInner ul li a.cs {
            background-color: #ccc;
            opacity: .4; }
        #navi .navInner ul li em {
          font-size: 0.75em;
          line-height: 1.33333;
          font-family: 'Droid Serif', serif;
          font-weight: normal;
          display: block; }
  #navi.open a.trigger em:before {
    top: 50%;
    margin-top: -2.5px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  #navi.open a.trigger em i {
    opacity: 0;
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
    margin-top: -2.5px; }
  #navi.open a.trigger em:after {
    bottom: 50%;
    margin-bottom: -2.5px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  #navi.open .navInner {
    -webkit-transform: translateX(-400px);
    -ms-transform: translateX(-400px);
    transform: translateX(-400px); }

a span.btn {
  display: inline-block;
  background-color: #000;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 0 0.6em;
  margin-left: 0.5em;
  line-height: 1.8;
  font-size: 0.75em;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

a:hover span.btn {
  opacity: 0.5; }

.data {
  font-size: 12px;
  line-height: 1.66667; }
  .data .name {
    font-size: 15px;
    line-height: 1.66667;
    font-weight: bold;
    display: inline-block; }
    .data .name a {
      color: #231815;
      display: inline-block;
      border-bottom: #231815 1px solid; }
      .data .name a:hover {
        color: #e40000;
        border-bottom: #e40000 1px solid;
        opacity: 1; }
      .data .name a.cs {
        color: #231815;
        border-bottom: #231815 1px solid; }
  .data .id {
    margin-bottom: 0.4em; }
  .data .spec {
    display: table; }
    .data .spec dl {
      display: table-row; }
      .data .spec dl dt {
        display: table-cell;
        font-weight: bold;
        padding-right: 1em;
        vertical-align: top; }
      .data .spec dl dd {
        display: table-cell;
        vertical-align: top; }
        .data .spec dl dd span {
          display: inline-block;
          text-align: center;
          margin-left: 2px; }
          .data .spec dl dd span:first-child {
            margin-left: 0; }
          .data .spec dl dd span i {
            display: block;
            width: 2em;
            height: 1em;
            background-color: #000;
            position: relative; }
            .data .spec dl dd span i[data-color="white"] {
              border: #1c1c1b 1px solid;
              background-color: #fff !important; }
            .data .spec dl dd span i i {
              position: absolute;
              top: 0;
              right: 0;
              width: 50%;
              height: 100%; }
              .data .spec dl dd span i i[data-color="white"] {
                border: #1c1c1b 1px solid;
                background-color: #fff !important; }
          .data .spec dl dd span em {
            display: inline-block;
            position: relative; }
            .data .spec dl dd span em sup {
              position: absolute;
              left: 100%; }
        .data .spec dl dd a.btn {
          display: inline-block;
          background-color: #000;
          color: #fff;
          font-weight: bold;
          letter-spacing: 0.05em;
          padding: 0 0.6em;
          margin-left: 0.5em;
          line-height: 1.8;
          font-size: 0.75em; }
    .data .spec .color dd {
      padding-top: 0.41667em; }
  .data .note {
    margin-top: 0.4em; }

sup {
  font-size: 0.66667em;
  vertical-align: top; }

ol.decimal {
  padding-left: 1.75em; }
  ol.decimal li {
    position: relative; }
    ol.decimal li:before {
      font-weight: bold; }
    ol.decimal li:nth-child(1):before {
      content: "01.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(2):before {
      content: "02.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(3):before {
      content: "03.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(4):before {
      content: "04.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(5):before {
      content: "05.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(6):before {
      content: "06.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(7):before {
      content: "07.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(8):before {
      content: "08.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(9):before {
      content: "09.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(10):before {
      content: "10.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(11):before {
      content: "11.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(12):before {
      content: "12.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(13):before {
      content: "13.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(14):before {
      content: "14.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(15):before {
      content: "15.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(16):before {
      content: "16.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(17):before {
      content: "17.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(18):before {
      content: "18.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(19):before {
      content: "19.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }
    ol.decimal li:nth-child(20):before {
      content: "20.";
      position: absolute;
      left: -1.75em;
      vertical-align: middle; }

ol.latin li {
  list-style: upper-latin; }

footer {
  background-color: #fff; }
  footer .copyright {
    padding: 22px;
    font-size: 12px;
    text-align: center; }

.pagetop {
  display: block;
  position: fixed;
  z-index: 50;
  width: 48px;
  height: 38px;
  bottom: 30px;
  right: -48px;
  background-color: #b4b5b9;
  border-radius: 4px;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out; }
  .pagetop img {
    width: 100%; }
  .pagetop.active {
    -webkit-transform: translateX(-78px);
    -ms-transform: translateX(-78px);
    transform: translateX(-78px); }

@media screen and (min-width: 769px) {
  .forSP {
    display: none; }
  img[src*="_sp."] {
    display: none; } }

@media screen and (max-width: 768px) {
  html {
    font-size: 3.75vw; }
  body {
    min-width: 0; }
  a:hover span.btn {
    opacity: 1; }
  p.center a.btn {
    width: 88.125vw;
    height: 14.0625vw;
    font-size: 1rem;
    line-height: 1.75; }
    p.center a.btn em {
      font-size: 0.80769em; }
    p.center a.btn img {
      width: 1.38462em;
      height: auto; }
    p.center a.btn:after {
      margin-top: -0.41667rem;
      right: 0.625rem;
      width: 0.41667rem;
      height: 0.83333rem; }
  a {
    -webkit-transition: all 0s ease-in-out;
    -moz-transition: all 0s ease-in-out;
    -o-transition: all 0s ease-in-out;
    transition: all 0s ease-in-out; }
    a:hover {
      opacity: 1; }
  .forPC {
    display: none; }
  img[src*="_pc."] {
    display: none; }
  #navi a.trigger {
    top: 0.78125vw;
    right: 1.5625vw;
    width: 7.1875vw;
    height: 7.1875vw;
    padding: 1.5625vw; }
    #navi a.trigger em {
      top: 1.5625vw;
      left: 1.5625vw;
      width: 7.1875vw;
      height: 7.1875vw; }
      #navi a.trigger em i, #navi a.trigger em:before, #navi a.trigger em:after {
        width: 100%;
        height: 0.625vw; }
      #navi a.trigger em:before {
        top: 0.78125vw; }
      #navi a.trigger em i {
        margin-top: -0.3125vw; }
      #navi a.trigger em:after {
        bottom: 0.78125vw; }
  #navi .navInner {
    padding-top: 12.34375vw;
    width: 100vw;
    height: 100vh;
    right: -100vw; }
    #navi .navInner ul {
      padding-bottom: 20.15625vw; }
      #navi .navInner ul li {
        font-size: 1.16667rem;
        line-height: 1.21429; }
        #navi .navInner ul li a {
          padding: 0.71429em 3.21429em; }
        #navi .navInner ul li em {
          font-size: 0.71429em;
          line-height: 1.4; }
  #navi.open a.trigger em:before {
    margin-top: -0.3125vw;
    height: 0.625vw; }
  #navi.open a.trigger em i {
    -webkit-transform: translateX(-1.5625vw);
    -ms-transform: translateX(-1.5625vw);
    transform: translateX(-1.5625vw);
    height: 0.625vw;
    margin-top: -0.3125vw; }
  #navi.open a.trigger em:after {
    margin-bottom: -0.3125vw;
    height: 0.625vw; }
  #navi.open .navInner {
    -webkit-transform: translateX(-100vw);
    -ms-transform: translateX(-100vw);
    transform: translateX(-100vw); }
  .data {
    font-size: 1rem;
    line-height: 1.875; }
    .data .name {
      font-size: 1.5em;
      line-height: 1.38889; }
      .data .name a:hover {
        color: #231815;
        border-bottom: #231815 1px solid; }
    .data .id {
      margin-bottom: 0.4em; }
    .data .spec {
      display: block; }
      .data .spec dl {
        display: block;
        margin-bottom: 0; }
        .data .spec dl dt {
          display: block;
          padding-right: 0;
          font-size: 0.83333em;
          line-height: 1.3; }
        .data .spec dl dd {
          display: block; }
          .data .spec dl dd span i {
            display: block;
            width: 1.875em;
            height: 1.04167em; }
      .data .spec .color dd {
        padding-top: 0; }
    .data .note {
      font-size: 0.83333em;
      margin-top: 0.4em; }
  footer .copyright {
    padding: 1.66667rem;
    font-size: 0.83333rem; }
  .pagetop {
    width: 14.0625vw;
    height: 11.13281vw;
    bottom: 3.125vw;
    right: -14.0625vw;
    border-radius: 0.625vw; }
    .pagetop.active {
      -webkit-transform: translateX(-17.1875vw);
      -ms-transform: translateX(-17.1875vw);
      transform: translateX(-17.1875vw); } }
