@charset "UTF-8";
/* =========================================================
reset
========================================================= */
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, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
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;
}

a {
  text-decoration: normal;
  cursor: pointer;
}

blockquote, q {
  quotes: none;
}

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

input, select {
  vertical-align: middle;
}

.bold {
  font-weight: bold;
}

.ta-c {
  text-align: center;
}

.ta-l {
  text-align: left;
}

.ta-r {
  text-align: right;
}

.d-ib {
  display: inline-block;
}

.d-b {
  display: block;
}

.d-i {
  display: inline;
}

.boxshadow-bl {
  -webkit-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}

.bg-gray {
  background-color: #F7F7F7;
}

.bg-blue {
  background-color: #EBF7FF;
}

/* =========================================================
base
========================================================= */
html, body {
  width: 100%;
  min-width: 1300px;
  height: auto;
}
@media screen and (max-width: 767px) {
  html, body {
    min-width: auto;
  }
}

body {
  letter-spacing: 0;
  background: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #000;
  font-weight: 400;
  min-width: 100%;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 3.7333333333vw;
  }
}

img {
  max-width: 100%;
  height: auto;
  font-size: 0;
  vertical-align: middle;
}

a {
  color: #333;
  display: block;
  text-decoration: none;
}

figure {
  line-height: 0;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
.pc-ui {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc-ui {
    display: none;
  }
}

.sp-ui {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-ui {
    display: block;
  }
}

.pc-in {
  display: inline;
}
@media screen and (max-width: 767px) {
  .pc-in {
    display: none;
  }
}

.sp-in {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-in {
    display: inline;
  }
}

/* clearfix
--------------------------------------------------------- */
.clearfix {
  *zoom: 1;
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

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

/* 看板LP土台 */
html,
body {
  min-width: 0;
}

body {
  overflow-x: hidden;
}

.signboard-layout {
  --signboard-width: 100vw;
  width: 100%;
  min-height: 100vh;
  background: #fff;
}

.main-contents {
  width: var(--signboard-width);
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
}

.signboard-placeholder {
  min-height: 100vh;
  text-align: center;
  font-size: calc(0.04 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.6;
}

.header {
  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;
  width: 100%;
  height: calc(0.1066666667 * var(--signboard-width));
  background-color: #fff;
}

.header-logo {
  width: calc(0.2666666667 * var(--signboard-width));
  height: calc(0.0506666667 * var(--signboard-width));
  margin: 0;
  line-height: 0;
}

.header-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.mv,
.cta,
.trouble,
.reason,
.styles,
.discount,
.step,
.faq,
.map {
  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;
  min-height: calc(0.8666666667 * var(--signboard-width));
  padding: calc(0.1066666667 * var(--signboard-width)) calc(0.0533333333 * var(--signboard-width));
}

.mv {
  position: relative;
  min-height: 0;
  aspect-ratio: 750/1000;
  padding: 0;
  overflow: hidden;
  line-height: 0;
  background: #fff;
}

.mv-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.cta {
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  min-height: calc(0.4706666667 * var(--signboard-width));
  padding: calc(0.064 * var(--signboard-width)) calc(0.1066666667 * var(--signboard-width)) 0;
  background: #e2f7ff;
}

.cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e2f7ff;
}

.cta-copy {
  position: relative;
  z-index: 1;
  width: calc(0.672 * var(--signboard-width));
  margin: 0 0 calc(0.0333333333 * var(--signboard-width));
  color: #f76077;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0373333333 * var(--signboard-width));
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
}

.cta-copy span {
  display: block;
}

.cta-copy::before,
.cta-copy::after {
  content: "";
  position: absolute;
  top: calc(0.0173333333 * var(--signboard-width));
  width: calc(0.004 * var(--signboard-width));
  height: calc(0.0826666667 * var(--signboard-width));
  border-radius: 999px;
  background: #f76077;
}

.cta-copy::before {
  left: calc(-0.0373333333 * var(--signboard-width));
  -webkit-transform: rotate(-18deg);
          transform: rotate(-18deg);
}

.cta-copy::after {
  right: calc(-0.0333333333 * var(--signboard-width));
  -webkit-transform: rotate(18deg);
          transform: rotate(18deg);
}

.cta-link {
  position: relative;
  z-index: 1;
  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;
  width: calc(0.7866666667 * var(--signboard-width));
  height: calc(0.1866666667 * var(--signboard-width));
  border-radius: 999px;
  background: #56d863;
  -webkit-box-shadow: 0 calc(0.0213333333 * var(--signboard-width)) 0 #137e1e;
          box-shadow: 0 calc(0.0213333333 * var(--signboard-width)) 0 #137e1e;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: calc(0.0426666667 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

.cta-link-text {
  display: block;
}

.cta-link-icon {
  position: absolute;
  top: 50%;
  right: calc(0.056 * var(--signboard-width));
  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;
  width: calc(0.0533333333 * var(--signboard-width));
  height: calc(0.0533333333 * var(--signboard-width));
  font-size: calc(0.0533333333 * var(--signboard-width));
  line-height: 1;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

@media screen and (min-width: 768px) {
  .cta-link,
  .info-box .shop-info-btn {
    -webkit-transition: -webkit-transform 0.18s ease, -webkit-box-shadow 0.18s ease;
    transition: -webkit-transform 0.18s ease, -webkit-box-shadow 0.18s ease;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    transition: transform 0.18s ease, box-shadow 0.18s ease, -webkit-transform 0.18s ease, -webkit-box-shadow 0.18s ease;
    will-change: transform, box-shadow;
  }
  .cta-link:hover,
  .info-box .shop-info-btn:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(calc(0.0213333333 * var(--signboard-width)));
            transform: translateY(calc(0.0213333333 * var(--signboard-width)));
  }
}
.floating {
  position: fixed;
  z-index: 100;
  bottom: 0;
  left: 50%;
  width: var(--signboard-width);
  max-width: 100%;
  height: calc(0.316 * var(--signboard-width));
  background: #e2f7ff;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.floating-link {
  position: absolute;
  top: calc(0.0533333333 * var(--signboard-width));
  left: 50%;
  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;
  width: calc(0.7866666667 * var(--signboard-width));
  height: calc(0.1866666667 * var(--signboard-width));
  border-radius: 999px;
  background: #56d863;
  -webkit-box-shadow: 0 calc(0.0213333333 * var(--signboard-width)) 0 #137e1e;
          box-shadow: 0 calc(0.0213333333 * var(--signboard-width)) 0 #137e1e;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: calc(0.0426666667 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.floating-link-text {
  display: block;
}

.floating-link-icon {
  position: absolute;
  top: 50%;
  right: calc(0.056 * var(--signboard-width));
  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;
  width: calc(0.0533333333 * var(--signboard-width));
  height: calc(0.0533333333 * var(--signboard-width));
  font-size: calc(0.0533333333 * var(--signboard-width));
  line-height: 1;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.trouble,
.styles,
.step,
.map {
  background: #fff;
}

.trouble {
  position: relative;
  display: block;
  min-height: 0;
  height: calc(2.956 * var(--signboard-width));
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.trouble-bg {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
}

.trouble-lead {
  position: relative;
  z-index: 2;
  height: calc(0.368 * var(--signboard-width));
}

.trouble-illust {
  position: absolute;
  top: calc(0.0706666667 * var(--signboard-width));
  left: calc(0.1253333333 * var(--signboard-width));
  width: calc(0.2826666667 * var(--signboard-width));
  height: calc(0.2973333333 * var(--signboard-width));
  margin: 0;
  overflow: hidden;
  line-height: 0;
}

.trouble-illust img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}

.trouble-ttl {
  position: absolute;
  top: calc(0.0773333333 * var(--signboard-width));
  left: calc(0.4213333333 * var(--signboard-width));
  width: calc(0.448 * var(--signboard-width));
  height: calc(0.248 * var(--signboard-width));
  margin: 0;
  line-height: 0;
}

.trouble-ttl img {
  display: block;
  width: 100%;
  height: auto;
}

.trouble-box {
  position: relative;
  z-index: 2;
  width: calc(0.8666666667 * var(--signboard-width));
  height: calc(1.1306666667 * var(--signboard-width));
  margin: 0 auto;
  background: #8d8d8d;
}

.trouble-list {
  padding: calc(0.064 * var(--signboard-width)) calc(0.076 * var(--signboard-width)) 0 calc(0.0773333333 * var(--signboard-width));
}

.trouble-list-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(0.0333333333 * var(--signboard-width)) calc(0.0146666667 * var(--signboard-width)) 1fr;
  grid-template-columns: calc(0.0333333333 * var(--signboard-width)) 1fr;
  -webkit-column-gap: calc(0.0146666667 * var(--signboard-width));
     -moz-column-gap: calc(0.0146666667 * var(--signboard-width));
          column-gap: calc(0.0146666667 * var(--signboard-width));
  min-height: calc(0.224 * var(--signboard-width));
  text-align: left;
}

.trouble-list-item:not(:last-child) {
  margin-bottom: calc(0.0533333333 * var(--signboard-width));
  border-bottom: calc(0.0026666667 * var(--signboard-width)) solid #fff;
}

.trouble-list-icon {
  display: block;
  width: calc(0.0333333333 * var(--signboard-width));
  height: calc(0.0373333333 * var(--signboard-width));
  margin-top: calc(0.0133333333 * var(--signboard-width));
}

.trouble-list-text {
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0426666667 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
}

.trouble-list-text span {
  display: block;
}

.trouble-cream {
  position: absolute;
  z-index: 0;
  top: calc(1.5706666667 * var(--signboard-width));
  left: 0;
  width: 100%;
  height: calc(1.3853333333 * var(--signboard-width));
  background: #fffbf1;
  pointer-events: none;
}

.trouble-bg02 {
  position: absolute;
  z-index: 0;
  top: calc(1.5466666667 * var(--signboard-width));
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
}

.trouble-badge {
  position: absolute;
  z-index: 4;
  top: calc(1.5413333333 * var(--signboard-width));
  left: 50%;
  width: calc(0.2226666667 * var(--signboard-width));
  height: calc(0.2133333333 * var(--signboard-width));
  margin: 0;
  line-height: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.trouble-badge img,
.trouble-bottom-ttl img,
.trouble-point-bg {
  display: block;
  width: 100%;
  height: auto;
}

.trouble-bottom-ttl {
  position: absolute;
  z-index: 4;
  top: calc(1.8106666667 * var(--signboard-width));
  left: 50%;
  width: calc(0.7586666667 * var(--signboard-width));
  height: calc(0.2413333333 * var(--signboard-width));
  margin: 0;
  line-height: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.trouble-point {
  position: absolute;
  z-index: 4;
  top: calc(2.1266666667 * var(--signboard-width));
  width: calc(0.2973333333 * var(--signboard-width));
  height: calc(0.3106666667 * var(--signboard-width));
}

.trouble-point-01 {
  left: calc(0.0426666667 * var(--signboard-width));
}

.trouble-point-02 {
  left: calc(0.364 * var(--signboard-width));
}

.trouble-point-03 {
  left: calc(0.6813333333 * var(--signboard-width));
}

.trouble-point-text {
  position: absolute;
  top: calc(0.0946666667 * var(--signboard-width));
  left: 50%;
  width: 100%;
  margin: 0;
  color: #f76077;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0346666667 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.trouble-point-03 .trouble-point-text {
  top: calc(0.1173333333 * var(--signboard-width));
}

.trouble-point-text span {
  display: block;
}

.trouble-catch {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
  width: 100%;
}

.trouble-catch-label {
  position: absolute;
  top: calc(2.5013333333 * var(--signboard-width));
  left: calc(0.136 * var(--signboard-width));
  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;
  width: calc(0.7293333333 * var(--signboard-width));
  height: calc(0.0866666667 * var(--signboard-width));
  margin: 0;
  border-radius: calc(0.4 * var(--signboard-width));
  background: #ffc3cb;
  color: #000;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0373333333 * var(--signboard-width));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.trouble-catch-label::after {
  content: "";
  position: absolute;
  top: calc(0.064 * var(--signboard-width));
  left: 50%;
  width: 0;
  height: 0;
  border-right: calc(0.0326666667 * var(--signboard-width)) solid transparent;
  border-left: calc(0.0326666667 * var(--signboard-width)) solid transparent;
  border-top: calc(0.0386666667 * var(--signboard-width)) solid #ffc3cb;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.trouble-catch-text {
  position: absolute;
  top: calc(2.6253333333 * var(--signboard-width));
  left: 50%;
  width: calc(0.804 * var(--signboard-width));
  margin: 0;
  color: #f76077;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0533333333 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.trouble-catch-text span {
  display: block;
}

.trouble-catch-text-small {
  color: #333;
  font-size: calc(0.0426666667 * var(--signboard-width));
}

.discount,
.faq {
  background: #f8f4f5;
}

.reason {
  position: relative;
  display: block;
  min-height: 0;
  height: calc(9.496 * var(--signboard-width));
  padding: 0;
  overflow: hidden;
  background: #fff7f8;
}

.reason::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(6.6386666667 * var(--signboard-width));
  left: 0;
  width: 100%;
  height: calc(2.8573333333 * var(--signboard-width));
  background: #fffbf1;
}

.reason::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(6.6386666667 * var(--signboard-width));
  left: 0;
  width: 0;
  height: 0;
  border-right: calc(0.5 * var(--signboard-width)) solid transparent;
  border-left: calc(0.5 * var(--signboard-width)) solid transparent;
  border-top: calc(0.0973333333 * var(--signboard-width)) solid #fff7f8;
  pointer-events: none;
}

.reason-ttl {
  position: absolute;
  z-index: 2;
  top: calc(0.0506666667 * var(--signboard-width));
  left: 0;
  width: 100%;
  margin: 0;
  line-height: 0;
}

.reason-ttl img,
.reason-point-img img,
.reason-plan-bg,
.reason-plan-img {
  display: block;
  width: 100%;
  height: auto;
}

.reason-point-list {
  position: relative;
  z-index: 2;
}

.reason-point-item {
  position: absolute;
  left: calc(0.0266666667 * var(--signboard-width));
  width: calc(0.9466666667 * var(--signboard-width));
  color: #333;
}

.reason-point-item-01 {
  --reason-point-body-height: calc(1153 / 750 * var(--signboard-width));
  --reason-check-top: calc(1184 / 750 * var(--signboard-width));
  top: calc(0.7666666667 * var(--signboard-width));
  height: calc(2.1826666667 * var(--signboard-width));
}

.reason-point-item-02 {
  --reason-point-body-height: calc(997 / 750 * var(--signboard-width));
  --reason-check-top: calc(1028 / 750 * var(--signboard-width));
  top: calc(3.0293333333 * var(--signboard-width));
  height: calc(1.9746666667 * var(--signboard-width));
}

.reason-point-item-03 {
  --reason-point-body-height: calc(609 / 750 * var(--signboard-width));
  top: calc(5.084 * var(--signboard-width));
  height: calc(1.4573333333 * var(--signboard-width));
}

.reason-point-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(0.6453333333 * var(--signboard-width));
  margin: 0;
  overflow: hidden;
  border-radius: calc(0.1333333333 * var(--signboard-width)) 0 0 0;
  line-height: 0;
}

.reason-point-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.reason-point-body {
  position: absolute;
  top: calc(0.6453333333 * var(--signboard-width));
  left: 0;
  width: 100%;
  height: var(--reason-point-body-height);
  background: #fff;
}

.reason-point-num {
  position: absolute;
  top: calc(0.5186666667 * var(--signboard-width));
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: calc(0.2533333333 * var(--signboard-width));
  height: calc(0.2533333333 * var(--signboard-width));
  margin: 0;
  padding-top: calc(0.004 * var(--signboard-width));
  border-radius: 50%;
  background: #fff;
  color: #f76077;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  line-height: 1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-point-label {
  display: block;
  font-size: calc(0.0373333333 * var(--signboard-width));
  line-height: 1.45;
}

.reason-point-count {
  display: block;
  font-size: calc(0.0746666667 * var(--signboard-width));
  line-height: 1;
}

.reason-point-ttl {
  position: absolute;
  top: calc(0.6946666667 * var(--signboard-width));
  left: 50%;
  width: calc(0.7866666667 * var(--signboard-width));
  margin: 0;
  color: #f76077;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(0.064 * var(--signboard-width));
  font-weight: 600;
  line-height: 1.48;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-point-ttl span {
  display: block;
}

.reason-point-ttl span::after,
.reason-plan-ttl span::after {
  content: "";
  display: block;
  width: 82%;
  height: calc(0.032 * var(--signboard-width));
  margin: calc(-0.0333333333 * var(--signboard-width)) auto 0;
  background: #ffedbf;
}

.reason-point-item-02 .reason-point-ttl span:first-child::after {
  width: 50%;
}

.reason-point-item-03 .reason-point-ttl span:first-child::after {
  width: 100%;
}

.reason-point-item-03 .reason-point-ttl span:last-child::after {
  width: 58%;
}

.reason-point-text {
  position: absolute;
  top: calc(0.96 * var(--signboard-width));
  left: calc(0.08 * var(--signboard-width));
  width: calc(0.7866666667 * var(--signboard-width));
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0346666667 * var(--signboard-width));
  font-weight: 400;
  line-height: 2;
  letter-spacing: calc(0.000832 * var(--signboard-width));
  text-align: left;
}

.reason-point-text p {
  margin: 0;
}

.reason-point-text p + p {
  margin-top: calc(0.0173333333 * var(--signboard-width));
}

.reason-point-text strong {
  color: #f76077;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: calc(0.0013333333 * var(--signboard-width));
  text-underline-offset: calc(0.0053333333 * var(--signboard-width));
}

.reason-check {
  position: absolute;
  top: var(--reason-check-top);
  left: calc(0.0266666667 * var(--signboard-width));
  width: calc(0.8933333333 * var(--signboard-width));
  height: calc(0.524 * var(--signboard-width));
}

.reason-check-head {
  position: relative;
  height: calc(0.1506666667 * var(--signboard-width));
  background: #f76077;
}

.reason-check-tag {
  position: absolute;
  top: calc(0.0213333333 * var(--signboard-width));
  left: 50%;
  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;
  width: calc(0.1746666667 * var(--signboard-width));
  height: calc(0.0466666667 * var(--signboard-width));
  margin: 0;
  border-radius: calc(0.2666666667 * var(--signboard-width));
  background: #ffe557;
  color: #f76077;
  font-family: "Poppins", sans-serif;
  font-size: calc(0.032 * var(--signboard-width));
  font-weight: 700;
  line-height: 1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-check-ttl {
  position: absolute;
  top: calc(0.0773333333 * var(--signboard-width));
  left: 0;
  width: 100%;
  margin: 0;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.04 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.reason-check-body {
  position: relative;
  height: calc(0.3733333333 * var(--signboard-width));
  background: #fffbf1;
}

.reason-check-img {
  position: absolute;
  top: calc(0.0653333333 * var(--signboard-width));
  left: calc(0.0453333333 * var(--signboard-width));
  display: block;
  width: calc(0.244 * var(--signboard-width));
  height: calc(0.2426666667 * var(--signboard-width));
}

.reason-check-text {
  position: absolute;
  top: calc(0.0666666667 * var(--signboard-width));
  left: calc(0.3266666667 * var(--signboard-width));
  width: calc(0.52 * var(--signboard-width));
  margin: 0;
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0346666667 * var(--signboard-width));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: left;
}

.reason-check-text span {
  display: block;
}

.reason-plan {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
}

.reason-plan-bg {
  position: absolute;
  top: calc(6.6093333333 * var(--signboard-width));
  left: 0;
  width: 100%;
  pointer-events: none;
}

.reason-plan-badge {
  position: absolute;
  top: calc(6.6293333333 * var(--signboard-width));
  left: 50%;
  width: calc(0.2226666667 * var(--signboard-width));
  height: calc(0.2133333333 * var(--signboard-width));
  margin: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-plan-badge img {
  display: block;
  width: 100%;
  height: auto;
}

.reason-plan-badge span {
  position: absolute;
  top: calc(0.0666666667 * var(--signboard-width));
  left: 0;
  width: 100%;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0533333333 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.reason-plan-lead,
.reason-plan-text {
  position: absolute;
  left: 50%;
  margin: 0;
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0426666667 * var(--signboard-width));
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: calc(0.001024 * var(--signboard-width));
  text-align: center;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-plan-lead {
  top: calc(6.8853333333 * var(--signboard-width));
}

.reason-plan-lead::after {
  content: "";
  position: absolute;
  top: calc(0.2 * var(--signboard-width));
  left: 50%;
  width: calc(0.0106666667 * var(--signboard-width));
  height: calc(0.0106666667 * var(--signboard-width));
  border-radius: 50%;
  background: #f76077;
  -webkit-box-shadow: 0 calc(0.0213333333 * var(--signboard-width)) 0 #f76077, 0 calc(0.0426666667 * var(--signboard-width)) 0 #f76077;
          box-shadow: 0 calc(0.0213333333 * var(--signboard-width)) 0 #f76077, 0 calc(0.0426666667 * var(--signboard-width)) 0 #f76077;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-plan-text {
  top: calc(7.9533333333 * var(--signboard-width));
}

.reason-plan-lead span,
.reason-plan-text span {
  display: block;
}

.reason-plan-ttl {
  position: absolute;
  top: calc(7.1706666667 * var(--signboard-width));
  left: 50%;
  margin: 0;
  color: #f76077;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(0.0533333333 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: calc(0.00128 * var(--signboard-width));
  text-align: center;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-plan-ttl span {
  display: block;
}

.reason-plan-ttl span::after {
  width: 100%;
  height: calc(0.0266666667 * var(--signboard-width));
  margin-top: calc(-0.0266666667 * var(--signboard-width));
}

.reason-plan-ttl span:last-child::after {
  width: 64%;
}

.reason-plan-img {
  position: absolute;
  top: calc(7.376 * var(--signboard-width));
  left: 50%;
  width: calc(0.7866666667 * var(--signboard-width));
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-price {
  position: absolute;
  top: calc(8.1853333333 * var(--signboard-width));
  left: 0;
  width: 100%;
}

.reason-price-lead {
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(0.568 * var(--signboard-width));
  height: calc(0.1373333333 * var(--signboard-width));
  margin: 0;
  padding-top: calc(0.0213333333 * var(--signboard-width));
  background: #f76077;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0373333333 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-price-lead::after {
  content: "";
  position: absolute;
  bottom: calc(-0.0413333333 * var(--signboard-width));
  left: 50%;
  width: 0;
  height: 0;
  border-right: calc(0.0426666667 * var(--signboard-width)) solid transparent;
  border-left: calc(0.0426666667 * var(--signboard-width)) solid transparent;
  border-top: calc(0.0413333333 * var(--signboard-width)) solid #f76077;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-price-lead span {
  display: block;
}

.reason-price-main {
  position: absolute;
  top: calc(0.1813333333 * var(--signboard-width));
  left: 50%;
  width: calc(0.6866666667 * var(--signboard-width));
  height: calc(0.2546666667 * var(--signboard-width));
  line-height: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reason-price-main img {
  display: block;
  width: 100%;
  height: auto;
}

.reason-price-normal {
  position: absolute;
  top: 0;
  left: calc(0.0506666667 * var(--signboard-width));
  margin: 0;
  color: #333;
  font-family: "Poppins", sans-serif;
  line-height: 1.3;
  text-align: left;
}

.reason-price-normal span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(0.1653333333 * var(--signboard-width));
  height: calc(0.0546666667 * var(--signboard-width));
  margin-right: calc(0.0106666667 * var(--signboard-width));
  background: #d9d9d9;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.036 * var(--signboard-width));
}

.reason-price-normal del {
  position: relative;
  font-size: calc(0.0613333333 * var(--signboard-width));
  text-decoration: none;
}

.reason-price-normal del::after {
  content: "";
  position: absolute;
  top: 48%;
  left: 0;
  width: 100%;
  height: calc(0.0053333333 * var(--signboard-width));
  background: #f76077;
  -webkit-transform: rotate(-9deg);
          transform: rotate(-9deg);
}

.reason-price-off {
  position: absolute;
  top: calc(0.108 * var(--signboard-width));
  left: calc(0.0506666667 * var(--signboard-width));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(0.1093333333 * var(--signboard-width));
  height: calc(0.1013333333 * var(--signboard-width));
  margin: 0;
  background: #f76077;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: calc(0.0386666667 * var(--signboard-width));
  font-weight: 700;
  line-height: 1;
}

.reason-price-off::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(-0.024 * var(--signboard-width));
  width: 0;
  height: 0;
  border-top: calc(0.0506666667 * var(--signboard-width)) solid transparent;
  border-bottom: calc(0.0506666667 * var(--signboard-width)) solid transparent;
  border-left: calc(0.024 * var(--signboard-width)) solid #f76077;
}

.reason-price-current {
  position: absolute;
  top: calc(0.0666666667 * var(--signboard-width));
  right: calc(0.064 * var(--signboard-width));
  width: calc(0.5093333333 * var(--signboard-width));
  height: calc(0.1573333333 * var(--signboard-width));
  margin: 0;
  color: #f76077;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.reason-price-current strong {
  position: absolute;
  top: 0;
  left: 0;
  font-size: calc(0.144 * var(--signboard-width));
  line-height: 1.3;
}

.reason-price-tax {
  position: absolute;
  top: calc(0.0266666667 * var(--signboard-width));
  right: 0;
  margin-left: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0293333333 * var(--signboard-width));
  line-height: 1.3;
}

.reason-price-yen {
  position: absolute;
  top: calc(0.0493333333 * var(--signboard-width));
  right: 0;
  font-size: calc(0.0866666667 * var(--signboard-width));
  line-height: 1.3;
}

.reason-included {
  position: absolute;
  top: calc(8.6853333333 * var(--signboard-width));
  left: calc(0.0533333333 * var(--signboard-width));
  width: calc(0.8933333333 * var(--signboard-width));
  height: calc(0.704 * var(--signboard-width));
  overflow: hidden;
  border-radius: calc(0.0213333333 * var(--signboard-width));
  background: #fff;
}

.reason-included-ttl {
  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;
  height: calc(0.1173333333 * var(--signboard-width));
  margin: 0;
  background: #ffe557;
  color: #f76077;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.048 * var(--signboard-width));
  font-weight: 700;
  line-height: 1;
}

.reason-included-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  row-gap: calc(0.0506666667 * var(--signboard-width));
  padding: calc(0.0533333333 * var(--signboard-width)) calc(0.0626666667 * var(--signboard-width)) 0;
}

.reason-included-item {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(0.1066666667 * var(--signboard-width)) calc(0.0213333333 * var(--signboard-width)) 1fr;
  grid-template-columns: calc(0.1066666667 * var(--signboard-width)) 1fr;
  -webkit-column-gap: calc(0.0213333333 * var(--signboard-width));
     -moz-column-gap: calc(0.0213333333 * var(--signboard-width));
          column-gap: calc(0.0213333333 * var(--signboard-width));
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: calc(0.1066666667 * var(--signboard-width));
  color: #000;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0373333333 * var(--signboard-width));
  font-weight: 400;
  line-height: 1.25;
  text-align: left;
}

.reason-included-item img {
  display: block;
  width: calc(0.1066666667 * var(--signboard-width));
  height: calc(0.1066666667 * var(--signboard-width));
}

.reason-included-item small {
  position: absolute;
  left: 0;
  top: calc(0.1146666667 * var(--signboard-width));
  color: #333;
  font-size: calc(0.0266666667 * var(--signboard-width));
  line-height: 1.3;
  white-space: nowrap;
}

.styles {
  position: relative;
  display: block;
  min-height: 0;
  height: calc(3.94 * var(--signboard-width));
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.styles-ttl {
  position: absolute;
  top: calc(0.1333333333 * var(--signboard-width));
  left: 50%;
  width: calc(0.4573333333 * var(--signboard-width));
  margin: 0;
  color: #f76077;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(0.064 * var(--signboard-width));
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: calc(0.001536 * var(--signboard-width));
  text-align: center;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.styles-ttl span,
.styles-lead span,
.styles-note span {
  display: block;
}

.styles-count {
  position: absolute;
  z-index: 1;
  top: calc(0.2986666667 * var(--signboard-width));
  left: 50%;
  width: calc(0.3533333333 * var(--signboard-width));
  margin: 0;
  color: #f76077;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: calc(0.002048 * var(--signboard-width));
  text-align: center;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.styles-count::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: calc(0.0773333333 * var(--signboard-width));
  left: 0;
  width: 100%;
  height: calc(0.0333333333 * var(--signboard-width));
  background: #ffedbf;
}

.styles-count-num,
.styles-count-label {
  font-size: calc(0.0853333333 * var(--signboard-width));
}

.styles-count-num {
  margin-right: calc(0.0106666667 * var(--signboard-width));
}

.styles-lead {
  position: absolute;
  top: calc(0.4733333333 * var(--signboard-width));
  left: 50%;
  width: calc(0.64 * var(--signboard-width));
  margin: 0;
  color: #000;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0426666667 * var(--signboard-width));
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.styles-slider {
  position: absolute;
  top: calc(0.6493333333 * var(--signboard-width));
  left: 50%;
  width: calc(0.9786666667 * var(--signboard-width));
  height: calc(1.432 * var(--signboard-width));
  overflow: visible;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.styles-slider .swiper-wrapper,
.styles-slide {
  height: 100%;
}

.styles-slider.is-fallback .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}

.styles-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 0;
}

.styles-slider.is-fallback .styles-slide {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  width: 100%;
}

.styles-slide-img {
  display: block;
  width: auto;
  max-width: none;
  height: 100%;
}

.styles-slider-btn {
  position: absolute;
  z-index: 5;
  top: calc(0.704 * var(--signboard-width));
  width: calc(0.1333333333 * var(--signboard-width));
  height: calc(0.1333333333 * var(--signboard-width));
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(217, 217, 217, 0.86);
  cursor: pointer;
  opacity: 0.9;
}

.styles-slider-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-top: calc(0.024 * var(--signboard-width)) solid transparent;
  border-bottom: calc(0.024 * var(--signboard-width)) solid transparent;
}

.styles-slider-btn-prev {
  left: 0;
}

.styles-slider-btn-prev::before {
  border-right: calc(0.032 * var(--signboard-width)) solid #fff;
  -webkit-transform: translate(-58%, -50%);
          transform: translate(-58%, -50%);
}

.styles-slider-btn-next {
  right: 0;
}

.styles-slider-btn-next::before {
  border-left: calc(0.032 * var(--signboard-width)) solid #fff;
  -webkit-transform: translate(-42%, -50%);
          transform: translate(-42%, -50%);
}

.styles-slider-btn:focus-visible {
  outline: calc(0.0053333333 * var(--signboard-width)) solid #f76077;
  outline-offset: calc(0.0053333333 * var(--signboard-width));
}

.styles-slider .styles-slider-pagination {
  position: absolute;
  z-index: 3;
  top: calc(100% + 0.032 * var(--signboard-width));
  bottom: auto;
  left: 50%;
  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;
  gap: calc(0.0266666667 * var(--signboard-width));
  width: calc(0.3573333333 * var(--signboard-width));
  height: calc(0.0213333333 * var(--signboard-width));
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.styles-slider-pagination .swiper-pagination-bullet {
  display: block;
  width: calc(0.0213333333 * var(--signboard-width));
  height: calc(0.0213333333 * var(--signboard-width));
  margin: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #d9d9d9;
  cursor: pointer;
  opacity: 1;
}

.styles-slider-pagination .swiper-pagination-bullet-active {
  background: #f76077;
}

.styles-note {
  position: absolute;
  top: calc(2.2306666667 * var(--signboard-width));
  left: calc(0.0546666667 * var(--signboard-width));
  width: calc(0.8933333333 * var(--signboard-width));
  margin: 0;
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.032 * var(--signboard-width));
  font-weight: 300;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: left;
}

.styles-items {
  position: absolute;
  top: calc(2.584 * var(--signboard-width));
  left: 50%;
  width: calc(0.7866666667 * var(--signboard-width));
  height: calc(1.2493333333 * var(--signboard-width));
  line-height: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.styles-items img {
  display: block;
  width: 100%;
  height: auto;
}

.discount {
  position: relative;
  display: block;
  min-height: 0;
  height: calc(3.0106666667 * var(--signboard-width));
  padding: 0;
  overflow: hidden;
  background: #fffbf1;
}

.discount-ttl {
  position: absolute;
  top: calc(0.1266666667 * var(--signboard-width));
  left: 50%;
  width: calc(0.448 * var(--signboard-width));
  margin: 0;
  color: #f76077;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(0.064 * var(--signboard-width));
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.discount-list {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.discount-item {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 0;
}

.discount-item-01 {
  top: calc(0.284 * var(--signboard-width));
  height: calc(1.204 * var(--signboard-width));
}

.discount-item-02 {
  top: calc(1.552 * var(--signboard-width));
  height: calc(1.4053333333 * var(--signboard-width));
}

.discount-img {
  position: absolute;
  top: calc(0.0413333333 * var(--signboard-width));
  left: calc(0.1066666667 * var(--signboard-width));
  z-index: 1;
  width: calc(0.7866666667 * var(--signboard-width));
  height: calc(0.4866666667 * var(--signboard-width));
  margin: 0;
  line-height: 0;
}

.discount-img img {
  display: block;
  width: 100%;
  height: auto;
}

.discount-badge {
  position: absolute;
  z-index: 3;
  top: 0;
  width: calc(0.1866666667 * var(--signboard-width));
  height: calc(0.1786666667 * var(--signboard-width));
  color: #fff;
  line-height: 1;
  text-align: center;
}

.discount-item-01 .discount-badge {
  left: calc(0.0533333333 * var(--signboard-width));
}

.discount-item-02 .discount-badge {
  right: calc(0.0693333333 * var(--signboard-width));
}

.discount-badge img {
  display: block;
  width: 100%;
  height: 100%;
}

.discount-badge-label,
.discount-badge-num {
  position: absolute;
  left: 50%;
  display: block;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.discount-badge-label {
  top: calc(0.0266666667 * var(--signboard-width));
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0346666667 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.4;
}

.discount-badge-num {
  top: calc(0.0533333333 * var(--signboard-width));
  font-family: "Poppins", sans-serif;
  font-size: calc(0.0853333333 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.4;
}

.discount-card {
  position: absolute;
  top: calc(0.528 * var(--signboard-width));
  left: calc(0.1066666667 * var(--signboard-width));
  width: calc(0.7866666667 * var(--signboard-width));
  background: #fff;
  border-radius: 0 0 0 calc(0.1333333333 * var(--signboard-width));
}

.discount-item-01 .discount-card {
  height: calc(0.676 * var(--signboard-width));
}

.discount-item-02 .discount-card {
  height: calc(0.824 * var(--signboard-width));
}

.discount-target-label {
  position: absolute;
  top: calc(0.0533333333 * var(--signboard-width));
  left: 50%;
  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;
  width: calc(0.18 * var(--signboard-width));
  height: calc(0.06 * var(--signboard-width));
  margin: 0;
  border-radius: 999px;
  background: #f76077;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0373333333 * var(--signboard-width));
  font-weight: 700;
  line-height: 1;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.discount-target-text {
  position: absolute;
  top: calc(0.1266666667 * var(--signboard-width));
  left: 50%;
  width: calc(0.6533333333 * var(--signboard-width));
  margin: 0;
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0373333333 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.46;
  letter-spacing: 0;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.discount-target-text span,
.discount-note span {
  display: block;
}

.discount-rental {
  position: absolute;
  left: 50%;
  margin: 0;
  color: #f76077;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.discount-rental::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(0.1413333333 * var(--signboard-width));
  left: 0;
  width: 100%;
  height: calc(0.04 * var(--signboard-width));
  background: #ffc3cb;
}

.discount-rental-img {
  line-height: 0;
}

.discount-rental-img::after {
  content: none;
}

.discount-rental-img img {
  display: block;
  width: 100%;
  height: auto;
}

.discount-item-01 .discount-rental {
  top: calc(0.2253333333 * var(--signboard-width));
  width: calc(0.72 * var(--signboard-width));
  height: calc(0.208 * var(--signboard-width));
}

.discount-item-02 .discount-rental {
  top: calc(0.28 * var(--signboard-width));
  width: calc(0.7333333333 * var(--signboard-width));
  height: calc(0.208 * var(--signboard-width));
}

.discount-rental-title {
  position: absolute;
  z-index: 1;
  top: 0;
  left: calc(0.1773333333 * var(--signboard-width));
  display: block;
  width: calc(0.3733333333 * var(--signboard-width));
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0533333333 * var(--signboard-width));
  line-height: normal;
  white-space: nowrap;
}

.discount-item-02 .discount-rental-title {
  left: calc(0.1906666667 * var(--signboard-width));
}

.discount-rental-line {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.discount-rental-percent {
  position: absolute;
  top: calc(0.0293333333 * var(--signboard-width));
  left: calc(0.0093333333 * var(--signboard-width));
  display: block;
  font-family: "Poppins", sans-serif;
  line-height: 1;
  white-space: nowrap;
}

.discount-item-02 .discount-rental-percent {
  left: calc(0.012 * var(--signboard-width));
}

.discount-rental-percent span {
  font-size: calc(0.1191106667 * var(--signboard-width));
}

.discount-rental-percent small {
  font-size: calc(0.0714666667 * var(--signboard-width));
}

.discount-rental-text {
  position: absolute;
  top: calc(0.0826666667 * var(--signboard-width));
  left: calc(0.336 * var(--signboard-width));
  display: block;
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.064 * var(--signboard-width));
  line-height: normal;
  white-space: nowrap;
}

.discount-item-02 .discount-rental-text {
  left: calc(0.3493333333 * var(--signboard-width));
}

.discount-note {
  position: absolute;
  left: 50%;
  margin: 0;
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0293333333 * var(--signboard-width));
  font-weight: 300;
  line-height: 1.45;
  letter-spacing: 0;
}

.discount-item-01 .discount-note {
  top: calc(0.476 * var(--signboard-width));
  width: calc(0.616 * var(--signboard-width));
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.discount-item-02 .discount-note {
  top: calc(0.5306666667 * var(--signboard-width));
  width: calc(0.6533333333 * var(--signboard-width));
  text-align: left;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.step {
  position: relative;
  display: block;
  height: calc(4.6986666667 * var(--signboard-width));
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.step-ttl {
  position: absolute;
  top: calc(0.1333333333 * var(--signboard-width));
  left: 50%;
  width: calc(0.384 * var(--signboard-width));
  margin: 0;
  color: #f76077;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(0.064 * var(--signboard-width));
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.step-list {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.step-item {
  position: absolute;
  left: calc(0.1066666667 * var(--signboard-width));
  width: calc(0.7866666667 * var(--signboard-width));
  margin: 0;
}

.step-item-01 {
  top: calc(0.3013333333 * var(--signboard-width));
  height: calc(0.9733333333 * var(--signboard-width));
}

.step-item-02 {
  top: calc(1.3813333333 * var(--signboard-width));
  height: calc(0.9733333333 * var(--signboard-width));
}

.step-item-03 {
  top: calc(2.4613333333 * var(--signboard-width));
  height: calc(0.876 * var(--signboard-width));
}

.step-item-04 {
  top: calc(3.444 * var(--signboard-width));
  height: calc(0.876 * var(--signboard-width));
}

.step-heading {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(0.38 * var(--signboard-width));
  height: calc(0.0773333333 * var(--signboard-width));
}

.step-label {
  position: absolute;
  top: calc(0.0066666667 * var(--signboard-width));
  left: 0;
  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;
  width: calc(0.2133333333 * var(--signboard-width));
  height: calc(0.0613333333 * var(--signboard-width));
  border-radius: 999px;
  background: #f76077;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: calc(0.0426666667 * var(--signboard-width));
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
}

.step-name {
  position: absolute;
  top: 0;
  left: calc(0.22 * var(--signboard-width));
  width: calc(0.16 * var(--signboard-width));
  margin: 0;
  color: #f76077;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0533333333 * var(--signboard-width));
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
}

.step-img {
  position: absolute;
  top: calc(0.1093333333 * var(--signboard-width));
  left: 0;
  width: calc(0.7866666667 * var(--signboard-width));
  height: calc(0.4933333333 * var(--signboard-width));
  margin: 0;
  overflow: hidden;
  line-height: 0;
}

.step-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.step-text {
  position: absolute;
  top: calc(0.6346666667 * var(--signboard-width));
  left: 0;
  width: calc(0.7866666667 * var(--signboard-width));
  margin: 0;
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0346666667 * var(--signboard-width));
  font-weight: 500;
  line-height: 1.46;
  letter-spacing: 0;
  text-align: left;
}

.step-text span {
  display: block;
}

.step-text-note {
  position: relative;
  top: calc(-0.0053333333 * var(--signboard-width));
  margin-left: calc(0.004 * var(--signboard-width));
  font-size: calc(0.0173333333 * var(--signboard-width));
  font-weight: 500;
  line-height: 1;
}

.step-point {
  position: absolute;
  top: calc(0.8186666667 * var(--signboard-width));
  left: 0;
  width: calc(0.7866666667 * var(--signboard-width));
  min-height: calc(0.1546666667 * var(--signboard-width));
  margin: 0;
  padding: calc(0.0293333333 * var(--signboard-width)) calc(0.0333333333 * var(--signboard-width));
  background: #fff4f4;
  color: #f76077;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0346666667 * var(--signboard-width));
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: left;
}

.step-item-03 .step-point,
.step-item-04 .step-point {
  top: calc(0.768 * var(--signboard-width));
  min-height: calc(0.108 * var(--signboard-width));
}

.step-point-label {
  font-weight: 500;
}

.step-notes {
  position: absolute;
  top: calc(4.352 * var(--signboard-width));
  left: calc(0.1066666667 * var(--signboard-width));
  width: calc(0.7866666667 * var(--signboard-width));
  margin: 0;
  padding: 0;
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0293333333 * var(--signboard-width));
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
  list-style: none;
  text-align: left;
}

.faq {
  display: block;
  min-height: 0;
  padding: 0 0 calc(0.08 * var(--signboard-width));
  overflow: visible;
  background: #fff;
}

.faq-ttl {
  width: calc(0.1346666667 * var(--signboard-width));
  margin: 0 auto;
  color: #f76077;
  font-family: "Zen Old Mincho", serif;
  font-size: calc(0.064 * var(--signboard-width));
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
}

.faq-list {
  width: calc(0.8933333333 * var(--signboard-width));
  margin: calc(0.0853333333 * var(--signboard-width)) auto 0;
  padding: 0;
  list-style: none;
}

.faq-item {
  margin: 0;
}

.faq-item + .faq-item {
  margin-top: calc(0.0853333333 * var(--signboard-width));
}

.faq-question {
  position: relative;
  display: block;
  width: 100%;
  height: calc(0.2066666667 * var(--signboard-width));
  margin: 0;
  padding: 0;
  border: 0;
  background: #f76077;
  color: #fff;
  cursor: pointer;
  font: inherit;
  text-align: left;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.faq-question:focus {
  outline: 0;
}

.faq-question:focus-visible {
  outline: 0;
}

.faq-item-02 .faq-question {
  height: calc(0.268 * var(--signboard-width));
}

.faq-question-label,
.faq-answer-label {
  position: absolute;
  left: calc(0.044 * var(--signboard-width));
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: calc(0.0746666667 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

.faq-question-label {
  top: calc(0.0533333333 * var(--signboard-width));
  color: #fff;
}

.faq-item-02 .faq-question-label {
  top: calc(0.084 * var(--signboard-width));
}

.faq-question-text {
  position: absolute;
  top: calc(0.0426666667 * var(--signboard-width));
  left: calc(0.128 * var(--signboard-width));
  display: block;
  width: calc(0.6546666667 * var(--signboard-width));
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0426666667 * var(--signboard-width));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: left;
}

.faq-arrow {
  position: absolute;
  top: 50%;
  right: calc(0.0266666667 * var(--signboard-width));
  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;
  width: calc(0.0533333333 * var(--signboard-width));
  height: calc(0.0533333333 * var(--signboard-width));
  color: #fff;
  font-size: calc(0.04 * var(--signboard-width));
  line-height: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.faq-item.is-open .faq-arrow {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.35s ease;
  transition: max-height 0.35s ease;
}

.faq-answer-inner {
  position: relative;
  padding-top: calc(0.0546666667 * var(--signboard-width));
}

.faq-answer-label {
  top: calc(0.044 * var(--signboard-width));
  color: #f76077;
}

.faq-answer-text {
  width: calc(0.7186666667 * var(--signboard-width));
  margin: 0 0 0 calc(0.128 * var(--signboard-width));
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0346666667 * var(--signboard-width));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: left;
}

.pc-nav,
.pc-right {
  display: none;
}

@media screen and (min-width: 768px) {
  .floating {
    display: none;
  }
  .signboard-layout {
    --signboard-width: 500px;
    --pc-side-scale: clamp(0.38, calc((100vw - 532px) / 1142px), 1);
    --pc-nav-gap: clamp(8px, calc((100vw - 1440px) * 0.28125 + 8px), 143px);
    --pc-nav-scale: clamp(0.38, calc(((100vw - 500px) / 2 - 24px) / 428px), 1);
    --pc-nav-width: calc(428px * var(--pc-nav-scale));
    --pc-right-width: calc(575px * var(--pc-side-scale));
    --pc-right-gap: calc(77px * var(--pc-side-scale));
    background: url("../img/pc_bg.jpg") center top/cover fixed no-repeat;
  }
  .pc-nav {
    display: block;
    position: fixed;
    z-index: 20;
    top: calc(304px * var(--pc-side-scale));
    left: calc(50% - 250px - var(--pc-nav-gap) - var(--pc-nav-width));
    width: var(--pc-nav-width);
    min-height: calc(411px * var(--pc-nav-scale));
    padding: calc(65px * var(--pc-nav-scale)) calc(44px * var(--pc-nav-scale)) calc(40px * var(--pc-nav-scale));
    background: #fff;
    border: 2px solid #f76077;
    border-radius: calc(80px * var(--pc-nav-scale)) 0 calc(80px * var(--pc-nav-scale)) 0;
  }
  .pc-nav-ttl {
    color: #f76077;
    font-family: "Poppins", sans-serif;
    font-size: calc(24px * var(--pc-nav-scale));
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
  }
  .pc-nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(10px * var(--pc-nav-scale));
    margin-top: calc(16px * var(--pc-nav-scale));
  }
  .pc-nav-link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: calc(6px * var(--pc-nav-scale));
    color: #333;
    font-size: calc(20px * var(--pc-nav-scale));
    line-height: 1.5;
    white-space: nowrap;
    -webkit-transition: opacity 0.2s ease, color 0.2s ease;
    transition: opacity 0.2s ease, color 0.2s ease;
  }
  .pc-nav-num {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
  }
  .pc-nav-txt {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
  }
  .pc-nav-link.is-active {
    color: #f76077;
  }
  .pc-nav-link.is-active .pc-nav-num {
    font-weight: 600;
  }
  .pc-nav-link.is-active .pc-nav-txt {
    font-weight: 700;
  }
  .pc-right {
    display: block;
    position: fixed;
    z-index: 10;
    top: calc(252px * var(--pc-side-scale));
    left: max(50% + 258px, min(50% + 250px + var(--pc-right-gap), 100vw - var(--pc-right-width) - 16px));
    width: var(--pc-right-width);
    pointer-events: none;
  }
  .pc-right-img {
    display: block;
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .pc-nav-link:hover {
    opacity: 0.7;
  }
}
.map {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.map-wrap {
  position: relative;
  width: 500px;
  height: 478.6666666667px;
}

@media screen and (max-width: 767px) {
  .map-wrap {
    width: 100vw;
    height: 95.7333333333vw;
  }
}
.map-item {
  background: #fff !important;
}

.map-ttl {
  width: 78%;
  margin: 4% auto 8%;
  padding-left: 4%;
}

.shop-ttl {
  width: 78%;
  margin: 12% auto 8%;
  padding-left: 4%;
}

.map-btn {
  width: 106.6666666667px;
  height: 53.3333333333px;
  border-radius: 4px;
  border: #de4273 1.3333333333px solid;
  background: #fff;
  color: #de4273;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  font-size: 18.6666666667px;
  position: absolute;
  line-height: 1.1;
}

@media screen and (max-width: 767px) {
  .map-btn {
    width: 21.3333333333vw;
    height: 10.6666666667vw;
    border-radius: 0.8vw;
    border: #de4273 0.2666666667vw solid;
    font-size: 3.7333333333vw;
  }
}
.map-btn.is-active,
.map-btn.is-acteive {
  background: #de4273;
  color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .map-btn:hover {
    background: #de4273;
    color: #fff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
.map-btn.hokkaido_tohoku {
  left: 260.6666666667px;
  top: 75.3333333333px;
}

@media screen and (max-width: 767px) {
  .map-btn.hokkaido_tohoku {
    left: 52.1333333333vw;
    top: 15.0666666667vw;
  }
}
.map-btn.kanto {
  left: 302px;
  top: 219.3333333333px;
}

@media screen and (max-width: 767px) {
  .map-btn.kanto {
    left: 60.4vw;
    top: 43.8666666667vw;
  }
}
.map-btn.chubu_toukai {
  left: 260.6666666667px;
  top: 292.6666666667px;
}

@media screen and (max-width: 767px) {
  .map-btn.chubu_toukai {
    left: 52.1333333333vw;
    top: 58.5333333333vw;
  }
}
.map-btn.chugoku_shikoku {
  left: 136.6666666667px;
  top: 322.6666666667px;
}

@media screen and (max-width: 767px) {
  .map-btn.chugoku_shikoku {
    left: 27.3333333333vw;
    top: 64.5333333333vw;
  }
}
.map-btn.kinki {
  left: 122px;
  top: 225.3333333333px;
}

@media screen and (max-width: 767px) {
  .map-btn.kinki {
    left: 24.4vw;
    top: 45.0666666667vw;
  }
}
.map-btn.kyushu {
  left: 52.6666666667px;
  top: 388.6666666667px;
}

@media screen and (max-width: 767px) {
  .map-btn.kyushu {
    left: 10.5333333333vw;
    top: 77.7333333333vw;
  }
}
.swiper-slide.map-item {
  height: 100%;
  padding: 0 !important;
  min-height: 100%;
  overflow: hidden;
}

.map-scroll {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 767px) {
  .map-scroll {
    padding-bottom: 8vw;
  }
}
.tab-container {
  width: 446.6666666667px;
  margin: 0 auto 21.3333333333px;
}

@media screen and (max-width: 767px) {
  .tab-container {
    width: 89.3333333333vw;
    margin: 0 auto 4.2666666667vw;
  }
}
.tab-container .shop-menu-ttl {
  margin-bottom: 8px;
  font-size: 17.3333333333px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .tab-container .shop-menu-ttl {
    font-size: 3.4666666667vw;
  }
}
.prefecture-select {
  width: 100%;
  padding: 8px 40px 8px 12px;
  font-size: 14px;
  border: 1px solid #999;
  border-radius: 4px;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6H0z' fill='%23666'/%3E%3C/svg%3E");
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.prefecture-select:focus {
  outline: none;
  border-color: #0072c6;
  -webkit-box-shadow: 0 0 0 2px rgba(0, 114, 198, 0.2);
  box-shadow: 0 0 0 2px rgba(0, 114, 198, 0.2);
}

.prefecture-select option {
  width: 446.6666666667px;
}

@media screen and (max-width: 767px) {
  .prefecture-select option {
    width: 89.3333333333vw;
  }
}
.prefecture-select-wrap {
  position: relative;
  width: 100%;
}

.prefecture-select-display {
  width: 100%;
  padding: 8px 40px 8px 12px;
  font-size: 14px;
  border: 1px solid #999;
  border-radius: 4px;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6H0z' fill='%23666'/%3E%3C/svg%3E");
  text-align: left;
  cursor: pointer;
}

/* プルダウンリスト本体 */
.prefecture-select-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  max-height: 240px;
  margin: 4px 0 0;
  padding: 4px 0;
  list-style: none;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #ccc;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 20;
  overflow-y: auto;
  display: none;
}

.prefecture-select-wrap.is-open .prefecture-select-dropdown {
  display: block;
}

.prefecture-select-dropdown li {
  padding: 8px 12px;
  font-size: 14px;
  cursor: pointer;
}

.prefecture-select-dropdown li:hover {
  background-color: #f0f8ff;
}

.prefecture-select-native {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

/* ==============================
   info-box スタイル（CSS1）
============================== */
.info-box .shop-info-detail {
  display: none;
}

.info-box .shop-info-detail.is-show {
  display: block;
}

.site-footer {
  width: 100%;
  padding-bottom: calc(0.316 * var(--signboard-width));
  background: #fff;
}

.footer-list {
  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;
  -webkit-column-gap: calc(0.06 * var(--signboard-width));
     -moz-column-gap: calc(0.06 * var(--signboard-width));
          column-gap: calc(0.06 * var(--signboard-width));
  height: calc(0.18 * var(--signboard-width));
}

.footer-list-item {
  position: relative;
  color: #757575;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.0293333333 * var(--signboard-width));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
}

.footer-list-item:first-child::after {
  position: absolute;
  top: 50%;
  right: calc(-0.0306666667 * var(--signboard-width));
  width: 1px;
  height: calc(0.0293333333 * var(--signboard-width));
  background: #bbb;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.footer {
  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;
  width: 100%;
  height: calc(0.0906666667 * var(--signboard-width));
  background: #dedede;
}

.footer p {
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(0.024 * var(--signboard-width));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .site-footer {
    padding-bottom: 0;
  }
}
.info-box .shop-info-detail + .shop-info-detail {
  margin-top: 16px;
  padding-top: 16px;
}

.info-box .shop-info-ttl {
  font-weight: bold;
  text-align: center;
  color: #de4273;
  font-size: 26.6666666667px;
}

@media screen and (max-width: 767px) {
  .info-box .shop-info-ttl {
    font-size: 5.3333333333vw;
  }
}
.info-box .shop-info-txt {
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 1em;
  font-size: 17.3333333333px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .info-box .shop-info-txt {
    font-size: 3.4666666667vw;
  }
}
.info-box .shop-info-btn {
  width: 65.3333333333vw;
  height: 16vw;
  font-size: 4.2666666667vw;
  border-radius: 60px;
  color: #fff;
  background: #ff4f86;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1.1;
  font-weight: 500;
  margin: 0 auto 2em;
  -webkit-box-shadow: 0px 2.1333333333vw 0px 0px #b4385f;
  box-shadow: 0px 2.1333333333vw 0px 0px #b4385f;
}

@media screen and (min-width: 768px) {
  .info-box .shop-info-btn {
    width: 326.6666666667px;
    height: 80px;
    font-size: 21.3333333333px;
    -webkit-box-shadow: 0px 10.6666666667px 0px 0px #b4385f;
    box-shadow: 0px 10.6666666667px 0px 0px #b4385f;
  }
}
.info-box .shop-info-btn p {
  margin: 0;
}

.info-box .shop-info-btn img {
  display: block;
  width: 4.1333333333vw;
  height: auto;
}

@media screen and (min-width: 768px) {
  .info-box .shop-info-btn img {
    width: 20.6666666667px;
  }
}
.info-box .shop-info-detail {
  display: none;
  width: 446.6666666667px;
  margin: 0 auto;
  border: #242424 1.3333333333px solid;
  border-radius: 4px;
  padding-top: 21.3333333333px;
}

@media screen and (max-width: 767px) {
  .info-box .shop-info-detail {
    width: 89.3333333333vw;
    border: #242424 0.2666666667vw solid;
    padding-top: 4.2666666667vw;
  }
}
.info-box .shop-info-detail.is-show {
  display: block;
}