@charset "UTF-8";
/* -------------------------------------------------------
 base
---------------------------------------------------------- */
#lp_main {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#lp_main img {
  vertical-align: top;
}
#lp_main a {
  color: #c6b8ae;
}
#lp_main a:hover {
  text-decoration: underline;
}
#lp_main h1, #lp_main h2, #lp_main h3 {
  margin: 0;
}
#lp_main h2 {
  font-size: 1em;
  line-height: 1;
}
#lp_main .ff_dskozka .en {
  font-size: 1.13em;
}
#lp_main .sp_disp {
  display: none !important;
}
#lp_main *[ruby] {
  line-height: 1;
  display: inline-block;
  position: relative;
}
#lp_main *[ruby]::before {
  content: attr(ruby);
  font-size: 0.5em;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  top: -1.2em;
  left: 0;
  right: 0;
  margin: auto;
}
#lp_main sup {
  vertical-align: text-top;
}
@media screen and (min-width: 768px) {
  #lp_main img.nofit {
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  #lp_main .sp_disp {
    display: initial !important;
  }
  #lp_main .sp_disp.sp-block {
    display: block !important;
  }
  #lp_main .pc_disp {
    display: none;
  }
  #lp_main sup {
    font-size: 8px;
  }
  #lp_main div, #lp_main h1, #lp_main h2, #lp_main h3, #lp_main h4, #lp_main p, #lp_main li, #lp_main span, #lp_main a, #lp_main i, #lp_main b {
    max-height: 100%;
  }
}

.swiper-container {
  width: 100%;
  vertical-align: bottom;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  margin: 0 auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-size: 0;
}

/* ------------------------------------------------
 rayout
------------------------------------------------ */
#wrapper {
  padding-bottom: 92px;
}
@media screen and (max-width: 767px) {
  #wrapper {
    padding-bottom: 30.6666666667%;
  }
}

#lp_main {
  margin-top: 140px;
  display: block;
}
@media screen and (max-width: 767px) {
  #lp_main {
    margin-top: 78px;
  }
}

.section {
  font-size: 13px;
  margin: 0 auto;
}
.section > .inner {
  margin-left: auto;
  margin-right: auto;
  padding-left: 3.8461538462em;
  padding-right: 3.8461538462em;
  max-width: 1200px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.section.basic_style {
  margin-top: 50px;
}
.section.basic_style > .inner > .title {
  font-size: 2.1538461538em;
  text-align: center;
  line-height: 1;
}
.section.basic_style > .inner .body .summary {
  font-size: 1.6923076923em;
  line-height: 1.7;
}
@media screen and (min-width: 1600px) {
  .section.superwide {
    font-size: 0.8125vw;
  }
  .section.superwide > .inner {
    max-width: 75%;
    width: 100%;
  }
}
@media screen and (max-width: 1200px) {
  .section {
    font-size: 1.0833333333vw;
  }
}
@media screen and (max-width: 767px) {
  .section {
    font-size: 3.7333333333vw;
    width: auto;
  }
  .section > .inner {
    margin-left: 4%;
    margin-right: 4%;
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
  .section.fluid > .inner {
    margin-left: 0;
    margin-right: 0;
  }
  .section.basic_style > .inner > .title {
    font-size: 1.4285714286em;
  }
  .section.basic_style > .inner .body .summary {
    font-size: 1.0714285714em;
  }
}

/*----- TOP -----*/
/* ------------------------------------------------
 調整
------------------------------------------------ */
ul#floating-sp {
  background-color: #1A1B1B;
  margin-bottom: 22.6666666667%;
}

/* ------------------------------------------------
 kv
------------------------------------------------ */
#lp_kv {
  color: #fff;
  background-color: #000;
  overflow: hidden;
}
#lp_kv > .inner {
  height: 602px;
  position: relative;
}
#lp_kv .txt {
  width: 100%;
  position: absolute;
  left: 3.8461538462em;
  top: 4.0769230769em;
}
#lp_kv .txt .copy {
  font-size: 5.1538461538em;
  font-weight: bold;
  line-height: 1.3;
}
#lp_kv .img img {
  width: 1600px;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 1600px) {
  #lp_kv > .inner {
    height: 37.625vw;
  }
  #lp_kv .img img {
    width: 100vw;
  }
}
@media screen and (max-width: 1200px) {
  #lp_kv > .inner {
    height: 50.1666666667vw;
  }
  #lp_kv .img img {
    width: 100%;
    width: 133.3333333333%;
  }
}
@media screen and (max-width: 767px) {
  #lp_kv > .inner {
    margin: 0;
    height: auto;
  }
  #lp_kv .txt {
    margin-top: 9.3333333333%;
    width: 100%;
    left: 0;
    top: 0;
  }
  #lp_kv .txt .copy {
    font-size: 2.25em;
    margin: 0 auto;
    display: table;
  }
  #lp_kv .img img {
    position: static;
    -webkit-transform: none;
            transform: none;
  }
}

/* ------------------------------------------------
 lp_offer
------------------------------------------------ */
#lp_offer {
  color: #fff;
  text-align: center;
  background-color: #1a1b1b;
  padding-top: 5.3846153846em;
  padding-bottom: 6.9230769231em;
}
#lp_offer p {
  color: #fff;
}
#lp_offer header .title {
  font-size: 2.1538461538em;
  font-weight: normal;
  margin-bottom: 1.6071428571em;
}
#lp_offer header .title::after {
  bottom: -0.7142857143em;
}
#lp_offer header .summary {
  font-size: 3.2307692308em;
}
#lp_offer header .summary span:first-child {
  margin-right: 0;
}
#lp_offer header .summary .name {
  font-weight: bold;
}
#lp_offer .body {
  margin-top: 4.0909090909%;
}
#lp_offer .body p {
  font-size: 1.8461538462em;
  line-height: 1.75;
}
#lp_offer .body .img {
  margin-top: 5%;
  margin-bottom: 5.9090909091%;
}
#lp_offer .body .note {
  font-size: 1.3846153846em;
  line-height: 1.5;
  margin-top: 4.8181818182%;
}
@media screen and (max-width: 767px) {
  #lp_offer {
    padding-top: 10.6666666667%;
    padding-bottom: 10.6666666667%;
  }
  #lp_offer header .title {
    font-size: 1.2142857143em;
    margin-bottom: 1.8235294118em;
  }
  #lp_offer header .title::after {
    bottom: -0.8823529412em;
  }
  #lp_offer header .summary {
    font-size: 1.7857142857em;
  }
  #lp_offer .body {
    margin-top: 7.2463768116%;
  }
  #lp_offer .body p {
    font-size: 1em;
  }
  #lp_offer .body .lead {
    margin-right: -1em;
    margin-left: -0.5em;
  }
  #lp_offer .body .img {
    margin: 10.1449275362% auto;
    width: 100%;
  }
  #lp_offer .body .note {
    font-size: 0.9285714286em;
    margin-top: 10.1449275362%;
  }
}

/* ------------------------------------------------
 lp_model
------------------------------------------------ */
#lp_model {
  color: #4d4d4d;
  padding: 4.6153846154em 0;
}
#lp_model header .title {
  color: #4d4d4d;
  font-weight: normal;
  text-align: center;
}
#lp_model header .title::after {
  content: "";
  background: transparent url(../images/arrow_bottom.svg) 0 0 no-repeat;
  width: 2.6153846154em;
  height: 1.3076923077em;
  bottom: -2.4615384615em;
}
#lp_model header .title .l {
  font-size: 2em;
}
#lp_model header .title .s {
  font-size: 1.5384615385em;
  margin-top: 0.4em;
}
#lp_model .body {
  margin-top: 6.3636363636%;
}
#lp_model .body .model_wrapper {
  display: flex;
  align-items: start;
  justify-content: space-between;
}
#lp_model .body .img {
  width: 52.7272727273%;
}
#lp_model .body .txt {
  width: 43.6363636364%;
}
#lp_model .body .txt .name {
  font-size: 1.5384615385em;
  font-weight: bold;
}
#lp_model .body .txt .name + .spec {
  margin-top: 0.3125em;
}
#lp_model .body .txt .spec {
  font-size: 1.2307692308em;
}
#lp_model .body .txt .spec + .spec {
  margin-top: 0.625em;
}
#lp_model .body .txt .prices {
  margin-top: 0.3846153846em;
  margin-bottom: 1.1538461538em;
  line-height: 1;
  display: flex;
  align-items: flex-end;
}
#lp_model .body .txt .prices .label {
  font-size: 1.2307692308em;
  font-weight: bold;
}
#lp_model .body .txt .prices .price {
  font-size: 2.6153846154em;
  font-weight: bold;
  margin-top: 0.1176470588em;
}
#lp_model .body .txt .prices .tag {
  font-size: 1.0769230769em;
  margin-top: 0.4285714286em;
}
#lp_model .body .txt .prices hr {
  background: transparent url(../images/arrow_price.svg) 0 0 no-repeat;
  border-width: 0;
  width: 2em;
  height: 2.3076923077em;
  display: block;
  -ms-grid-row-align: center;
      align-self: center;
}
#lp_model .body .txt .prices .support .price, #lp_model .body .txt .prices .support .label {
  color: #b51e41;
}
#lp_model .body .txt .note {
  font-size: 1.0769230769em;
  margin-top: 2.8125em;
}
#lp_model .body .txt .copy {
  font-size: 1.2307692308em;
  margin-top: 1.5625em;
}
#lp_model .body .txt .copy + .link {
  margin-top: 2.1875em;
}
#lp_model .body .txt .link {
  font-size: 1.2307692308em;
  margin-top: 1.5625em;
}
#lp_model aside {
  margin-top: 6.3636363636%;
}
#lp_model aside .note {
  font-size: 1.2307692308em;
  line-height: 1.6;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  display: table;
}
#lp_model aside .note li {
  list-style-type: none;
  text-indent: -1em;
  padding-left: 1em;
}
#lp_model aside .note li::before {
  content: "※";
  text-indent: 0;
  width: 1em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  #lp_model {
    padding-top: 10.6666666667%;
    padding-bottom: 10.6666666667%;
  }
  #lp_model header .title::after {
    background-size: contain;
    width: 2.8571428571em;
    height: 1.4285714286em;
    bottom: -2.3571428571em;
  }
  #lp_model header .title .l {
    font-size: 1.5em;
  }
  #lp_model header .title .s {
    font-size: 1.1428571429em;
  }
  #lp_model .body {
    margin-top: 15.9420289855%;
  }
  #lp_model .body .model_wrapper {
    display: block;
  }
  #lp_model .body .img {
    width: 100%;
  }
  #lp_model .body .txt {
    margin-top: 10.1449275362%;
    width: 100%;
  }
  #lp_model .body .txt .name {
    font-size: 1.3928571429em;
  }
  #lp_model .body .txt .spec {
    font-size: 1em;
  }
  #lp_model .body .txt .prices {
    margin-top: 0.7142857143em;
  }
  #lp_model .body .txt .prices .label {
    font-size: 0.8571428571em;
  }
  #lp_model .body .txt .prices .price {
    font-size: 1.7142857143em;
  }
  #lp_model .body .txt .prices .price .en {
    font-size: 1.2em;
    letter-spacing: -0.05em;
  }
  #lp_model .body .txt .prices .tag {
    font-size: 0.7142857143em;
  }
  #lp_model .body .txt .prices hr {
    background-size: contain;
    border-width: 0;
    width: 0.9285714286em;
    height: 1.0714285714em;
  }
  #lp_model .body .txt .note {
    font-size: 0.9285714286em;
  }
  #lp_model .body .txt .copy {
    font-size: 1em;
    margin-top: 2.8571428571em;
  }
  #lp_model .body .txt .link {
    font-size: 1em;
  }
  #lp_model aside {
    margin-top: 8.6956521739%;
  }
  #lp_model aside .note {
    font-size: 0.9285714286em;
    margin: 0;
    display: block;
  }
}

/* ------------------------------------------------
 #sticky_footer
------------------------------------------------ */
#sticky_footer {
  color: #fff;
  background-color: #000;
  padding: 1.5384615385em 0;
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  z-index: 100;
}
#sticky_footer > .inner {
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sticky_footer p {
  color: #fff;
}
#sticky_footer .txt {
  font-size: 2.1538461538em;
  line-height: 1;
  margin-right: 1.2857142857em;
}
#sticky_footer .link a {
  color: #fff;
  font-size: 1.5384615385em;
  line-height: 1;
  text-decoration: none !important;
  background: #b51e41;
  padding: 0.8em 3.25em;
  display: block;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
@media screen and (min-width: 768px) {
  #sticky_footer .link a:hover {
    opacity: 0.8;
  }
}
#sticky_footer.show {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 767px) {
  #sticky_footer {
    text-align: center;
    padding: 3.3333333333% 4%;
  }
  #sticky_footer > .inner {
    margin: 0;
    display: block;
  }
  #sticky_footer .txt {
    font-size: 1em;
    margin-bottom: 0.6428571429em;
    margin-right: 0;
  }
  #sticky_footer .link a {
    font-size: 1em;
    padding: 0.7857142857em 0;
  }
}