/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20240523
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

html {
  scroll-behavior: smooth;
  /* scroll-padding-top: 3.646vw; */
}
@media only screen and (max-width: 767px) {
  html {
    /* scroll-padding-top: 21.6vw; */
  }
}

main {
  width: 70%;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  main {
    width: 100%;
    margin: 0 auto;
  }
}

body {
  line-height: 1;
}
body.no-scroll {
  overflow: hidden;
}
body.d_flex,
body.d_flexh {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
body.d_flexh {
  height: 100vh;
}
a:focus-visible {
  outline: none;
}
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;
}
.img-fluid {
  max-width: 100%;
  height: auto;
}

.pc-only {
  display: none;
  margin-top: 45px;
}
.sp-only {
  display: flex;
}
@media only screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
  .pc-only {
    display: inline-block;
  }
}

@media only screen and (min-width: 992px) {
  .md-only {
    display: none;
  }
}

.container-lg {
  max-width: 66.667vw;
  padding: 0 0.833vw;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .container-lg {
    max-width: 100%;
    padding: 0 4.267vw;
  }
}
.container {
  max-width: 100%;
  padding: 0 4.267vw;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .container {
    max-width: 51.042vw;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #000;
  font-size: 3.2vw;
}
@media only screen and (min-width: 768px) {
  body {
    font-size: 0.833vw;
  }
}
a {
  text-decoration: none;
}

.hero {
  max-width: 100vw;
  margin: 0 auto;
}

.hero img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .hero {
    margin: 15.2vw auto 0;
  }
}

/* .typelist {
  padding-bottom: 0.729vw;
} */

.typelist img {
  width: 100%;
}

.featurewrp {
  display: flex;
}
.featurewrp .feature:last-child {
  margin-left: 1.563vw;
}
.typelist .feature {
  display: flex;
  align-items: flex-end;
  margin-top: 1.458vw;
}
.typelist .feature_img {
  margin-right: 0.677vw;
}
.typelist .feature_inn {
  display: flex;
  align-items: center;
}
.typelist .feature_inn:first-child.-single {
  margin-bottom: 1.042vw;
}
.typelist .feature_inn:first-child {
  margin-bottom: 0.365vw;
}
.typelist .feature_inn p {
  font-size: 0.781vw;
  color: #fff;
  background-color: #000;
  text-align: center;
  height: 1.185vw;
  line-height: 1.3;
}
.typelist .feature_inn p.fst {
  width: 2.775vw;
  margin-right: 0.208vw;
}
.typelist .feature_inn p.sec {
  min-width: 4.69vw;
  padding-inline: 0.26vw;
}
.pointer-none {
  pointer-events: none;
}

.white-bg {
  background: white;
  color: black;
  font-size: 0.833vw;
  font-weight: 700;
  letter-spacing: 0.104vw;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20.76vw;
  height: 1.101vw;
  margin: 3.438vw auto 0.625vw;
}
@media only screen and (max-width: 767px) {
  .white-bg {
    font-size: 3.2vw;
    width: 74.667vw;
    height: 5.6vw;
    margin-top: 10.667vw;
    margin-bottom: 2.933vw;
  }
}
.white-bg::after {
  content: "OLD and NEW";
  position: absolute;
  rotate: 344.46deg;
  font-family: "rollerscript-rough", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.938vw;
  color: #ff0000;
  top: 3.39vw;
  left: 15.85vw;
}
@media only screen and (max-width: 767px) {
  .white-bg::after {
    font-size: 4.8vw;
    top: 9.6vw;
    left: -3.467vw;
  }
}

.fs24 {
  font-size: 1.25vw;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .fs24 {
    font-size: 4.8vw;
  }
}
.attention li {
  font-size: 0.625vw;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .attention li {
    font-size: 2.4vw;
  }
}
.attention li::before {
  content: "※";
  font-size: 0.833vw;
}
@media only screen and (max-width: 767px) {
  .attention li::before {
    font-size: 3.2vw;
  }
}
.mt15 {
  margin-top: 0.781vw;
}

.honda_features {
  margin-top: 2.604vw;
}
@media only screen and (max-width: 767px) {
  .honda_features {
    margin: 8vw 0 4.8vw 0;
  }
  .mt15 {
    margin-top: 4vw;
  }
}

.features_list {
  display: grid;
  grid-template-rows: repeat(2, 10.096vw);
  grid-template-columns: repeat(5, 11.796vw);
  grid-template-areas:
    "   .   feature1 feature2 feature3"
    "   .   feature4 feature5 feature6";
  justify-content: center;
  gap: 0.521vw 1.042vw;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .features_list {
    grid-template-rows: repeat(3, 40vw);
    grid-template-columns: repeat(2, 40vw);
    grid-template-areas:
      "feature1 feature2"
      "feature4 feature3"
      "feature5 feature6";
    gap: 3.821vw 10.6vw;
  }
}
.feature1 {
  grid-area: feature1;
}
.feature1 img:first-child {
  margin-top: -0.99vw;
}
@media only screen and (max-width: 767px) {
  .feature1 img:first-child {
    margin-top: -3.933vw;
  }
}
.feature1 img {
  width: 5.052vw;
  height: 5.885vw;
}
@media only screen and (max-width: 767px) {
  .feature1 img {
    width: 19.421vw;
    height: 22.669vw;
  }
}
.feature2 img {
  width: 4.896vw;
  height: 4.896vw;
}
@media only screen and (max-width: 767px) {
  .feature2 img {
    width: 18.853vw;
    height: 18.853vw;
  }
}
.feature3 img {
  width: 4.896vw;
  height: 4.896vw;
}
@media only screen and (max-width: 767px) {
  .feature3 img {
    width: 18.853vw;
    height: 18.853vw;
  }
}
.feature4 img {
  width: 4.896vw;
  height: 4.896vw;
}
@media only screen and (max-width: 767px) {
  .feature4 img {
    width: 18.853vw;
    height: 18.853vw;
  }
}
.feature5 img {
  width: 4.896vw;
  height: 4.896vw;
}
@media only screen and (max-width: 767px) {
  .feature5 img {
    width: 18.853vw;
    height: 18.853vw;
  }
}
.feature6 img {
  width: 4.896vw;
  height: 4.896vw;
}
@media only screen and (max-width: 767px) {
  .feature6 img {
    width: 18.853vw;
    height: 18.853vw;
  }
}
.feature2 {
  grid-area: feature2;
}
.feature3 {
  grid-area: feature3;
}
.feature4 {
  grid-area: feature4;
}
.feature5 {
  grid-area: feature5;
}
.feature6 {
  grid-area: feature6;
}
.features_desc {
  margin-top: 0.417vw;
  min-width: 8.75vw;
  line-height: 1.4;
  font-size: 0.833vw;
  font-weight: 500;
  letter-spacing: 0.078vw;
}
@media only screen and (max-width: 767px) {
  .features_desc {
    font-size: 3.2vw;
    margin-top: 2.133vw;
    letter-spacing: 0.32vw;
  }
}
.honda_features_notes {
  width: 52.083vw;
  letter-spacing: 0.026vw;
}
@media only screen and (max-width: 767px) {
  .honda_features_notes {
    width: auto;
    letter-spacing: 0.187vw;
    padding: 0 3.2vw 0 4.267vw;
  }
}
.fs16 {
  font-size: 0.833vw;
}
.mb30 {
  margin-bottom: 1.563vw;
}

.img_desc {
  position: absolute;
  top: initial;
  left: 1.042vw;
  bottom: 0.998vw;
  letter-spacing: 0.036vw;
}
@media only screen and (max-width: 767px) {
  .img_desc {
    position: unset;
    font-size: 3.2vw;
    margin-top: 1.6vw;
    margin-bottom: 6.4vw;
    letter-spacing: 0.133vw;
  }
  .img_desc .box {
    margin-bottom: 1.067vw;
  }
}

.img_desc {
  line-height: 2;
}
.normal_border {
  border: 0.104vw solid #000000;
  padding: 0.104vw 0.313vw;
}

.normal_border-two {
  border: 0.104vw solid #000000;
  margin-left: 0.413vw;
  padding: 0 0.36vw;
}
@media only screen and (max-width: 767px) {
  .normal_border-two {
    margin-left: 2.313vw;
    padding: 0 1.16vw;
    border: 0.4vw solid #000000;
  }
}

.mb20 {
  margin-bottom: 1.042vw;
}
.condition_container {
  max-width: 54.688vw;
  margin: 3.2vw auto;
}
@media only screen and (max-width: 767px) {
  .condition_container {
    max-width: 90vw;
    padding: 0 3.2vw 0 4.267vw;
  }
  .normal-border {
    border: 0.4vw solid #000000;
    padding: 0.633vw;
  }
}
.box {
  display: flex;
  align-items: baseline;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.302vw 1.321vw;
  width: 100%;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .box {
    flex-direction: column;
    font-size: 3.2vw;
    gap: 3.302vw 0.521vw;
  }
}
.pl35 {
  padding-left: 1.823vw;
}
@media only screen and (max-width: 767px) {
  .pl35 {
    padding-left: 0;
  }
}
.box li {
  flex: 1 1 40%;
  flex-grow: 2;
  position: relative;
  padding-left: 1.042vw;
}
.box li:nth-child(6) {
  letter-spacing: 0.036vw;
}
.box li:nth-child(8) {
  letter-spacing: 0.042vw;
}
@media only screen and (max-width: 767px) {
  .box li {
    margin-left: 3.2vw;
    width: 100%;
  }
  .box li:nth-child(1) {
    order: 1;
  }
  .box li:nth-child(2) {
    order: 3;
  }
  .box li:nth-child(3) {
    order: 2;
  }
  .box li:nth-child(4) {
    order: 5;
  }
  .box li:nth-child(5) {
    order: 4;
  }
  .box li:nth-child(6) {
    order: 7;
    letter-spacing: -0.16vw;
  }
  .box li:nth-child(7) {
    order: 6;
  }
  .box li:nth-child(8) {
    order: 8;
    letter-spacing: 0.187vw;
  }
}
.box li::before {
  content: "";
  background-color: #3a5a77;
  width: 0.677vw;
  height: 0.677vw;
  position: absolute;
  top: 0.356vw;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .box li::before {
    margin-left: -3.2vw;
    width: 2.477vw;
    height: 2.477vw;
    top: 1.756vw;
  }
}
.other_feature {
  margin-bottom: 2.5vw;
}
.other_feature_ttl {
  color: #3a5a77;
  margin-top: 2.344vw;
  margin-bottom: 1.302vw;
  padding-left: 1.823vw;
}
@media only screen and (max-width: 767px) {
  .other_feature_ttl {
    margin-top: 5.333vw;
    margin-bottom: 2.667vw;
    padding-left: 0;
  }
}
.-red {
  color: #ff0000;
  font-size: 0.625vw;
  line-height: 1.6;
  font-weight: 500;
  margin-top: -0.417vw;
}
@media only screen and (max-width: 767px) {
  .-red {
    font-size: 2.4vw;
    margin-top: -0.8vw;
  }
}
.notes {
  margin-bottom: 1.563vw;
  width: 51.875vw;
  letter-spacing: 0.031vw;
  padding: 0 3.2vw 0 4.267vw;
}
@media only screen and (max-width: 767px) {
  .notes {
    width: auto;
    margin-bottom: 5.563vw;
    letter-spacing: 0.133vw;
  }
  .notes .attention li:before {
    font-size: 2.4vw;
  }
  .notes .attention {
    margin-bottom: 0;
  }
}
.ml22 {
  margin-left: 1.146vw;
}
@media only screen and (max-width: 767px) {
  .ml22 {
    margin-left: 5.867vw;
  }
}

.header {
  background: #fff;
  position: relative;
  z-index: 5;
}

.header_logo {
  transition: 0.3s ease all;
  align-self: flex-start;
  /* padding-left: 1.333vw; */
}
.header_logo:hover {
  opacity: 0.8;
  transition: 0.3s ease all;
}

.header_inn {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .header {
    position: fixed;
    top: 0;
    width: 100%;
  }
  .header_inn {
    padding: 1.867vw 0;
  }
}

.nav_wrap {
  display: flex;
  font-size: 0.625vw;
  justify-content: space-between;
  align-items: center;
  gap: 1.813vw;
  /* padding: 0 1.172vw; */
  max-width: 100vw;

  /* margin-left: -2.892vw; */
  /* position: fixed;
    width: 100%;
    background: #FFF;
    z-index: 1000;
    top: 0; */

  /* box-shadow: 0.365vw 0.365vw 0.421vw rgba(0, 0, 0, 0.2); */
}

.nav_wrap .header_logo img {
  width: 100%;
  max-width: 17.078vw;
}

@media only screen and (max-width: 767px) {
  .nav_wrap {
    font-size: 3.2vw;
    gap: 4.133vw;
    margin-left: 0;
    padding-right: 16vw;
    /*justify-content: flex-start;*/
  }

  .nav_wrap .header_logo img {
    width: unset;
    max-width: 50.4vw;
  }
}

.nav_wrap .navi {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
}

@media only screen and (max-width: 767px) {
  .nav_wrap .navi {
    gap: 2.373vw;
  }
}

.nav_inn {
  display: flex;
  align-items: center;
}
.nav_txt {
  font-size: 1.25vw;
  color: #ff0000;
  font-weight: 900;
  padding-right: 0.5vw;
}

.navi_icon {
  padding: 0 0.391vw;
}
.navi_icon:last-child {
  padding: 0 0 0 0.391vw;
}
@media only screen and (max-width: 767px) {
  .nav_txt {
    display: none;
  }
  .navi_icon {
    padding: 0;
  }
}
.navi_link {
  transition: 0.25s ease all;
}
@media only screen and (max-width: 767px) {
  .navi_link img {
    width: 7.24vw;
    height: 7.24vw;
  }
}
.navi_link:hover {
  opacity: 0.8;
  transition: 0.25s ease all;
}
nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
}

nav .crossta {
  color: #005eb0;
  font-size: 0.833vw;
  text-align: center;
  letter-spacing: 0.104vw;
  font-weight: 500;
}

@media only screen and (max-width: 767px) {
  nav .crossta {
    font-size: 4.267vw;
  }
}

nav li a {
  color: #000000;
  text-decoration: none;
  padding: 0.729vw 0;
  display: block;
  transition: background-color 0.3s;
  margin: 0 0.742vw;
}

@media only screen and (max-width: 767px) {
  nav .navi li a {
    padding: 3.733vw 5.333vw;
  }
}

nav li a {
  display: inline-block;
  position: relative;
}

/* nav .crossta::after, */
nav li a::after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 0.104vw;
  left: 0;
  background-color: #005eb0;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}
nav li a::after {
  bottom: -0.26vw;
}
/* nav .crossta::after {
    bottom: 0.26vw;
  } */

nav li a:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 8.8vw;
  height: 8.8vw;
  cursor: pointer;
  z-index: 1001;
}

.hamburger .bar {
  width: 100%;
  height: 1.6vw;
  background-color: #cccccc;
  transition: all 0.3s ease;
}

nav.mobile-menu {
  display: none;
}

@media only screen and (max-width: 767px) {
  .hamburger {
    display: flex;
    position: absolute;
    top: 2.233vw;
    right: 4vw;
  }

  nav.mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    background-image: linear-gradient(white, #e6e6e6);
    flex-direction: column;
    align-items: center;
    justify-content: start;
    z-index: 1000;
  }

  nav.mobile-menu ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    text-align: center;
    margin-top: 10.667vw;
  }

  nav.mobile-menu ul li {
    margin: 2.667vw 0;
    width: 100%;
    padding: 0;
  }

  nav.mobile-menu ul li:first-child {
    margin-top: 6.733vw;
  }

  nav.mobile-menu ul li a {
    font-size: 4.8vw;
    color: #000;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.853vw;
  }

  nav.mobile-menu ul li .crossta {
    font-size: 4.267vw;
    color: #005eb0;
  }

  nav.mobile-menu ul li.bbtm {
    position: relative;
    /*margin-top: 9.333vw;*/
  }

  /*nav.mobile-menu ul li.bbtm::before {
    position: absolute;
    content: "";
    background-color: #000000;
    width: 0.433vw;
    height: 6.4vw;
    top: -8.067vw;
    left: 50%;
    transform: translateX(-50%);
  }*/

  nav.mobile-menu.active {
    display: flex;
  }
  nav.mobile-menu.active .header_logo {
    padding-top: 2vw;
    padding-left: 2.433vw;
  }
  .mt40 {
    margin-top: 10.667vw;
  }

  .active .bar:nth-child(1) {
    transform: rotate(45deg) translate(2.933vw, 2.633vw);
  }
  .active .bar:nth-child(2) {
    opacity: 0;
  }
  .active .bar:nth-child(3) {
    transform: rotate(-45deg) translate(1.333vw, -1.333vw);
  }
}

#ShopInformation {
  position: relative;
  overflow: hidden;
}
.shopinformation_wrapper {
  max-width: 70vw;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .shopinformation_wrapper {
    max-width: 100%;
  }
}
.shopinformation_ttl img {
  width: 100%;
}
.shopinformation_ttl.-btm {
  margin-top: 2.5vw;
}
@media screen and (max-width: 767px) {
  .shopinformation_ttl.-btm {
    margin-top: 6.4vw;
  }
  .sp-none {
    display: none;
  }
  .pc-none {
    display: flex;
  }
}
.pc-none {
  display: none;
}
.shopinformation_detail {
  font-family: "A-OTF Gothic MB101 Pro", sans-serif;
  font-size: 2.5vw;
  font-weight: 700;
  line-height: 1.4;
  max-width: 33.906vw;
  margin: 0 auto;
  letter-spacing: -0.057vw;
}
.shopinformation_detail span {
  font-size: 2.734vw;
}
@media screen and (max-width: 767px) {
  .shopinformation_detail {
    max-width: 87.467vw;
    font-size: 6.443vw;
    line-height: 1.8;
  }
  .shopinformation_detail span {
    font-size: 7.029vw;
  }
}

.shopinformation_desc {
  max-width: 100vw;
  margin: 0 auto;
  background-color: #f0f5f0;
  font-size: 2.5vw;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  padding: 1.25vw 0 1.45vw;
  margin-top: 1.042vw;
  margin-bottom: 1.302vw;
}
@media screen and (max-width: 767px) {
  .shopinformation_desc {
    max-width: 100%;
    font-size: 5.067vw;
    padding: 6.4vw 0;
    line-height: 1.6;
  }
}

.u-select_wrapper img {
  width: 100%;
}
.u-select_wrapper {
  max-width: 51.209vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.344vw;
}

@media screen and (max-width: 767px) {
  .u-select_wrapper {
    max-width: 80.997vw;
    margin-top: 2.667vw;
  }
}

.shop_image {
  margin-top: 20.313vw;
}
.shop_image img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .shop_image {
    margin-top: 50.667vw;
  }
  .shop_image img {
    width: 100%;
  }
}

.shop_detail {
  margin-top: 4.013vw;
  margin-bottom: 9.008vw;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .shop_detail {
    margin-top: 3.4vw;
    margin-bottom: 11.533vw;
  }
}
.shop_detail_inner {
  position: relative;
  max-width: 89.063vw;
  height: 46.113vw;
  margin-bottom: 4.725vw;
}
@media screen and (max-width: 767px) {
  .shop_detail_inner {
    max-width: 100vw;
    height: 156.5vw;
    margin-bottom: 20.333vw;
  }
}
.shop_ttl {
  max-width: 100vw;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 1.402vw;
  font-size: 1.875vw;
  font-weight: 700;
  letter-spacing: 0.193vw;
  /* margin-left: 9.703vw; */
}
@media screen and (max-width: 767px) {
  .shop_ttl {
    font-size: 5.333vw;
    margin-left: auto;
    max-width: 96vw;
  }
}
.shop_detail_info {
  position: absolute;
  max-width: 18.963vw;
  width: 100%;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 1.33vw;
  letter-spacing: 0.096vw;
  font-size: 1.15vw;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .shop_detail_info {
    position: unset;
    max-width: 80vw;
    font-size: 3.733vw;
    letter-spacing: 0.8vw;
    margin: 5.333vw 0 5.333vw 13.52vw;
    gap: 4.8vw;
  }
  .shop_detail_inner.-reverse .shop_detail_info {
    position: unset;
    max-width: 80vw;
    font-size: 3.733vw;
    letter-spacing: 0.8vw;
    margin: 5.333vw 0 5.333vw 8vw;
    gap: 4.8vw;
  }
  .shop_detail_inner .-reverse .shop_detail_info {
    position: unset;
    max-width: 80vw;
    font-size: 3.733vw;
    letter-spacing: 0.8vw;
    margin: 5.333vw 0 5.333vw 8vw;
    gap: 4.8vw;
  }
}
.shop_detail_info a {
  color: #000;
}
.shop_detail_inner.-reverse {
  right: -5.88vw;
}
.shop_detail_inner.-reverse .shop_ttl {
  margin-left: -11.5vw;
  margin-top: 0.781vw;
}
@media screen and (max-width: 767px) {
  .shop_detail_inner.-reverse {
    right: -2.8vw;
  }
  .shop_detail_inner.-reverse .shop_ttl {
    margin-left: 0;
    margin-top: 0.781vw;
  }
  .shop_detail_inner.-reverse .shop_ttl.sp_top-margin {
    margin-top: 30.781vw;
  }
}
.shop_detail_inner.-reverse .shop_detail_info {
  margin-top: 0.781vw;
  left: 2.422vw;
}
@media screen and (max-width: 767px) {
  .shop_detail_inner.-reverse .shop_detail_info {
    margin-top: 5.333vw;
    left: 2.422vw;
  }
}

.location_img .img-fluid.pc-only {
  margin-top: 0;
  width: 40.282vw;
}

.location_map .img-fluid.pc-only {
  width: 40.282vw;
}

.shop_detail_inner.-reverse .shop_detail_location {
  position: absolute;
  top: 3.344vw;
  right: 0;
}
.shop_detail_inner.-reverse .shop_detail_location .location_map {
  left: -28.22vw;
  bottom: -18vw;
}
@media screen and (max-width: 767px) {
  .shop_detail_inner.-reverse .shop_detail_location {
    top: 44.844vw;
    margin-left: -3.667vw;
  }
  .shop_detail_inner.-reverse .shop_detail_location .location_map {
    left: -11.642vw;
    bottom: -60.927vw;
  }
  .shop_detail_inner.-reverse:last-child .shop_detail_location {
    margin-left: -1.667vw;
  }
}
.shop_detail_location {
  width: 46.282vw;
  height: 29.083vw;
}
.shop_detail_location img {
  width: 40.375vw;
  height: 26.823vw;
}
@media screen and (max-width: 767px) {
  .shop_detail_location {
    width: 93.333vw;
    height: 58.667vw;
    margin-left: -3.667vw;
  }
  .shop_detail_location img {
    width: 93.333vw;
    height: 58.667vw;
  }
}
.swiper-pagination-bullet {
  width: 1.163vw !important;
  height: 1.163vw !important;
  background: #be1a21 !important;
}
.swiper-pagination {
  position: relative !important;
  margin-top: 1.25vw !important;
  /* margin-left: 3.125vw !important; */
  text-align: left !important;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet {
  margin: 0 0.375vw !important;
}
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 0.625vw !important;
}
@media screen and (max-width: 767px) {
  .swiper-wrapper {
    padding-top: 8.76vw;
  }
  .swiper-pagination-bullet {
    width: 2.995vw !important;
    height: 2.995vw !important;
  }
  .swiper-pagination {
    position: absolute !important;
    text-align: center !important;
    top: 0 !important;
    left: 18px !important;
  }
  .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets
    .swiper-pagination-bullet {
    margin: 0 1.573vw !important;
  }
  .swiper-horizontal > .swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom,
  .swiper-pagination-fraction {
    height: 3.2vw !important;
  }
}

.shop_detail_inner.-reverse .swiper-pagination {
  margin-left: -6.083vw !important;
  text-align: right !important;
}
.location_map {
  position: absolute;
  bottom: -1.483vw;
  right: -0.134vw;
  z-index: -1;
}
.location_map.adj {
  bottom: -4.283vw;
  right: -0.034vw;
}
@media screen and (min-width: 767px) {
  .mt100 {
    margin-top: 7.813vw;
  }
}
@media screen and (max-width: 767px) {
  .shop_detail_inner.-reverse .swiper-pagination {
    margin-left: -8.117vw !important;
    text-align: center !important;
  }
  .location_map {
    bottom: -12.033vw;
  }
  .location_map.adj {
    bottom: -19.283vw;
    right: -0.034vw;
  }
}
.share_info {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  margin-top: 0;
  margin-bottom: 1.406vw;
  font-size: 1.667vw;
  text-align: center;
  line-height: 1.4;
}
.store_info_social {
  /*max-width: 18.708vw;
  display: flex;
  justify-content: space-between;*/
  /* height: 6.172vw; */
  margin-top: 1.823vw;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .share_info {
    font-size: 6.4vw;
    margin-top: 0;
    margin-bottom: 5.083vw;
  }

  .store_info_social {
    max-width: 66.667vw;
  }
}
.store_info_social img {
  width: 6vw;
  height: 6vw;
}
@media screen and (max-width: 767px) {
  .store_info_social img {
    width: 16vw;
    height: 16vw;
  }
}

.cta img {
  width: 100%;
}

.honda_chuo {
  position: relative;
  z-index: 1;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  padding: 0.469vw 0.779vw 0 1.313vw;
  max-width: 26.194vw;
}
.honda_chuo::before {
  content: "";
  position: absolute;
  background-image: url(../img/storeinfo/honda_chuo.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 45.157vw;
  height: 21.205vw;
  margin-top: -8.39vw;
  z-index: -1;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .honda_chuo {
    font-size: 3.2vw;
    max-width: 66.967vw;
    padding: 1.333vw 0 0 2.667vw;
  }
  .honda_chuo::before {
    width: 116.267vw;
    height: 54.667vw;
    top: -14.333vw;
  }
}
.-red {
  color: #ff0000;
}
.b {
  font-weight: 700;
}

.shop_location,
.shop_contact,
.shop_time {
  position: relative;
}
.shop_location a::before,
.shop_contact a::before,
.shop_time::before {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
}
.shop_location a::before {
  background-image: url(../img/location/pin.png);
  width: 0.887vw;
  height: 1.225vw;
  left: -2.063vw;
}
@media screen and (max-width: 767px) {
  .shop_location a::before {
    width: 2.667vw;
    height: 3.733vw;
    left: -6.633vw;
  }
}
.shop_contact a::before {
  background-image: url(../img/location/tel.png);
  width: 1.25vw;
  height: 1.25vw;
  left: -2.063vw;
}
@media screen and (max-width: 767px) {
  .shop_contact a::before {
    width: 4vw;
    height: 4vw;
    left: -6.633vw;
  }
}
.shop_time::before {
  background-image: url(../img/location/time.png);
  width: 1.25vw;
  height: 1.25vw;
  left: -2.063vw;
}
@media screen and (max-width: 767px) {
  .shop_time::before {
    width: 4vw;
    height: 4vw;
    left: -6.633vw;
  }
}
.shop_caution {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.609vw;
  max-width: 84.441vw;
  margin-left: -2.044vw;
}
.shop_caution img {
  width: 10.078vw;
  height: 2.422vw;
}
@media screen and (max-width: 767px) {
  .shop_caution {
    margin-left: -6.667vw;
    gap: 1.573vw;
  }
  .shop_caution img {
    width: 25.955vw;
    height: 6.147vw;
  }
}

/* .sub_container {
  margin-left: -2.604vw;
}
@media screen and (max-width: 767px) {
  .sub_container {
    padding: 0 4.267vw;
  }
} */
form {
  /* margin-top: 4.453vw; */
  margin-bottom: 2.083vw;
}

ul.formFlow {
  display: flex;
  height: 40px;
  align-items: center;
  justify-content: space-between;
  margin: 45px 0 45px;
  padding: 0;
  display: flex;
}
ul.formFlow li {
  display: inline-flex;
  justify-content: center;
  width: 28%;
  background: #ffffff;
  color: #c61633;
  list-style: none;
  padding: 6px;
  margin: 0 !important;
  height: 100%;
  font-size: 14px;
  font-weight: bold;
  align-items: center;
  position: relative;
  border-radius: 8px;
  display: block;
  text-align: center;
  border: #c61633 solid 2px;
}
ul.formFlow li:before {
  display: block;
  position: absolute;
  content: "";
  top: 45%;
  z-index: 3;
  width: 32px;
  height: 2px;
  border: 2px solid #c61633;
  right: -32px;
}
ul.formFlow li.visited {
  background: #999;
  color: #fff;
}
ul.formFlow li.active {
  background: #c61633;
  color: #ffffff;
  position: relative;
  font-size: 14px;
  font-weight: bold;
  height: 40px;
  display: block;
  text-align: center;
  padding-top: 6px;
}
ul.formFlow li.second {
  border: #c61633 solid 2px;
  border-radius: 8px;
  height: 40px;
  display: block;
  padding-top: 6px;
}
ul.formFlow li.second:before {
  display: block;
  position: absolute;
  content: "";
  top: 45%;
  z-index: 3;
  width: 32px;
  height: 2px;
  border: 2px solid #c61633;
  right: -32px;
}
ul.formFlow li.second.active {
  padding-top: 6px;
}
ul.formFlow li.third {
  border: #c61633 solid 2px;
  border-radius: 8px;
  height: 40px;
  display: block;
  padding-top: 6px;
}
ul.formFlow li.third:before {
  display: none;
}
ul.formFlow li.third.active {
  background: #c61633 !important;
  color: #ffffff;
  padding-top: 6px;
}

table.confirm .triangle::after {
  display: none;
}
table tbody tr {
  display: block;
  margin-bottom: 1.667vw;
}
table tbody tr th,
table tbody tr td {
  width: 100%;
  display: block;
  text-align: left;
}
table tbody tr th {
  font-size: 0.938vw;
  font-weight: 500;
  /* margin-bottom: 0.833vw; */
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  table tbody tr {
    margin-bottom: 7vw;
  }
  table tbody tr th {
    font-size: 4.8vw;
    margin-bottom: 3.52vw;
  }
}
table tbody tr td {
  font-weight: 400;
}

label {
  font-size: 0.833vw;
  margin-right: 0.521vw;
}
/* .form-table label:first-child {
    margin-right: 10.988vw;
  } */
@media screen and (max-width: 767px) {
  label {
    font-size: 4.267vw;
    margin-right: 2.667vw;
  }
  /* .form-table label:first-child {
      margin-right: 23.688vw;
    } */
}

/* pc */

input[type="text"] {
  width: 17.969vw;
  height: 2.083vw;
  border-radius: 0.208vw;
  border: #cbcbcb solid 0.052vw;
  padding: 0.469vw 0.521vw;
  font-size: 0.833vw;
  color: #222222;
  letter-spacing: 0.094vw;
}
input[type="text"] placeholder {
  color: #999999;
}

input[type="radio"] {
  width: 1.042vw;
  height: 1.042vw;
  margin-bottom: 0.677vw;
  vertical-align: -0.156vw;
  font-size: 0.938vw;
  margin-right: 0.26vw;
}

input[type="radio"]:checked {
  accent-color: #c61633;
}

textarea {
  width: 17.969vw;
  height: 7.292vw;
  border-radius: 0.208vw;
  border: #cbcbcb solid 0.052vw;
  padding: 0.469vw 0.521vw;
  font-size: 0.833vw;
  color: #222222;
}

input[type="submit"] {
  background: #c8102e;
  border-radius: 1.406vw;
  text-align: center;
  color: #ffffff;
  font-size: 1.042vw;
  font-weight: bold;
  max-width: 17.969vw;
  height: 2.76vw;
  padding: 0.625vw 2.083vw 0.521vw;
  margin: 0 auto 1.042vw;
  border: #c8102e solid 0.052vw;
  display: block;
  width: 17.969vw;
  letter-spacing: 0.104vw;
}

select {
  width: 19.069vw;
  height: 2.083vw;
  border: #cbcbcb solid 0.052vw;
  background: #ffffff;
  border-radius: 0.208vw;
  appearance: none;
  position: relative;
  padding: 0.469vw 0.521vw;
  font-size: 0.833vw;
  color: #222222;
}
select placeholder {
  color: #cbcbcb;
}

.triangle {
  position: relative;
}
.triangle::after {
  content: "▼";
  position: absolute;
  width: 0.625vw;
  height: 0.521vw;
  font-size: 0.625vw;
  color: #222222;
  top: 0.725vw;
  right: 0.981vw;
  display: block;
}

.att {
  background: #c61633;
  color: #ffffff;
  font-size: 0.729vw;
  width: 2.708vw;
  height: 1.042vw;
  border-radius: 0.208vw;
  font-weight: 400;
  padding: 0px 0.625vw;
  margin-left: 0.677vw;
}

.att2 {
  background: #cbcbcb;
  color: #ffffff;
  font-size: 0.729vw;
  width: 2.708vw;
  height: 1.042vw;
  border-radius: 0.208vw;
  font-weight: 400;
  padding: 0px 0.625vw;
  margin-left: 0.677vw;
}

.top_btn {
  max-width: 17.969vw;
  height: 2.76vw;
  border: #c8102e solid 0.104vw;
  font-size: 1.042vw;
  font-weight: bold;
  text-align: center;
  margin: 0 auto 3.385vw;
  padding: 0.417vw 4.948vw 0.521vw;
  border-radius: 1.406vw;
  color: #c8102e;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}

.textCenter {
  text-align: center;
}

.fw400 {
  font-weight: 400;
  font-size: 0.729vw;
}

.pp_box {
  border: #959595 solid 0.052vw;
  padding: 1.094vw 1.198vw;
}

.pph2 {
  font-size: 0.833vw;
  font-weight: 400;
  border-bottom: #c8102e solid 0.052vw;
  padding-bottom: 0.677vw;
  line-height: 1.7;
}

.pph3 {
  font-size: 0.729vw;
  color: #c8102e;
  font-weight: 400;
}

.b_link {
  color: #0071bc;
  font-size: 0.833vw;
}

.b_link2 {
  color: #0071bc;
  font-size: 0.729vw;
  text-decoration: underline;
  margin-bottom: 0.938vw;
}

.privacy_policy {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.privacy_policy .privacycol {
  margin-bottom: 0.938vw;
}
.privacy_policy .privacycol2 {
  margin-bottom: 3.906vw;
}
.privacy_policy .privacycol2 input[type="checkbox"] {
  transform: scale(1.4);
  border: #959595 solid 0.052vw;
  margin-right: 0.521vw;
}
.privacycol2 label {
  margin-right: 0;
}
input[type="checkbox"]:checked {
  accent-color: #c8102e;
}

.mt45 {
  margin-top: 2.344vw;
}

/* @media screen and (max-width: 767px) {
    #reservation {
      max-width: 100%; }
  
    ul.formFlow li {
      width: 27%;
      font-size: 12px !important;
      padding-top: 7px !important; }
      ul.formFlow li:before {
        width: 37px;
        right: -37px; }
      ul.formFlow li.active {
        font-size: 12px; }
      ul.formFlow li.second:before {
        width: 37px;
        right: -37px; }
      ul.formFlow li.second.active {
        font-size: 12px; }
      ul.formFlow li.third.active {
        font-size: 12px; } } */
.mcbtn2 {
  width: 100%;
  max-width: 17.969vw;
  height: 3.333vw;
  border-radius: 1.406vw;
  margin: 0 auto;
  display: block;
  background: #fff url("../images/reservation_icon.svg") no-repeat;
  background-size: 1.146vw;
  background-position: top 0.99vw left 2.604vw;
  font-size: 1.146vw;
  font-weight: bold;
  color: #c8102e;
  padding: 0.677vw 1.302vw 0.677vw 3.646vw;
  border-radius: 1.667vw;
  border: #c8102e solid 0.104vw;
  text-align: center;
}
.mcbtn2:hover {
  background: #c8102e url("../images/reservation_icon_hober.svg") no-repeat;
  background-size: 0.104vw;
  background-position: top 0.99vw left 2.604vw;
  color: #fff;
}

.mcbtn3 {
  width: 100%;
  max-width: 17.969vw;
  height: 2.76vw;
  border-radius: 1.406vw;
  margin: 0 auto;
  display: block;
  background: #06c755 url("../images/fx_line.svg") no-repeat;
  background-size: 1.302vw;
  background-position: top 0.677vw left 3.385vw;
  font-size: 1.042vw;
  font-weight: bold;
  color: #fff;
  padding: 0.469vw 3.125vw 0.469vw 5.208vw;
  border-radius: 1.667vw;
  border: #06c755 solid 0.104vw;
}
.mcbtn3:hover {
  background: #fff url("../images/line_2.svg") no-repeat;
  background-size: 1.302vw;
  background-position: top 0.677vw left 3.385vw;
  color: #06c755;
}

#kobayashi01,
#ootsukahigashi01,
#sadowawa01 {
  height: 0.052vw;
  display: block;
  padding-top: 0.26vw;
  margin-top: -0.26vw;
}
.form-table {
  margin: 0 auto;
}
.footer {
  max-width: 100%;
  height: 3.125vw;
  margin: 0 auto;
  text-align: center;
  font-size: 1.667vw;
  font-weight: 700;
  background-color: #000;
}
.privacycol2 .att,
.privacycol2 .att2 {
  padding-bottom: 0.078vw;
}

@media screen and (max-width: 767px) {
  .footer {
    height: 34vw;
  }
  input[type="submit"] {
    border-radius: 7.2vw;
    font-size: 5.333vw;
    max-width: 92vw;
    height: 14.133vw;
    padding: 3.2vw 10.667vw 2.667vw;
    margin: 0 auto 5.333vw;
    border: #c8102e solid 0.267vw;
    width: 92vw;
    letter-spacing: 0.533vw;
  }

  select {
    width: 90.969vw;
    height: 10.083vw;
    font-size: 4.267vw;
    border-radius: 1.208vw;
    padding: 1.469vw 2.521vw;
  }
  textarea {
    width: 84.969vw;
    height: 42.667vw;
    font-size: 4.267vw;
    border-radius: 1.208vw;
    padding: 2.2vw 2.521vw;
  }
  input[type="text"] {
    width: 86.2vw;
    height: 5.433vw;
    border: #000 solid 0.267vw;
    padding: 2.4vw 2.667vw;
    font-size: 4.267vw;
    border-radius: 1.208vw;
  }
  input[type="radio"] {
    width: 5.333vw;
    height: 5.333vw;
    margin-bottom: 3.467vw;
    vertical-align: -0.8vw;
    font-size: 4.8vw;
    margin-right: 1.333vw;
  }

  .triangle {
    position: relative;
  }
  .triangle::after {
    content: "▼";
    position: absolute;
    width: 3.2vw;
    height: 2.667vw;
    font-size: 3.2vw;
    color: #222222;
    top: 3.2vw;
    right: 4vw;
    display: block;
  }

  .att {
    background: #ed1c24;
    color: #ffffff;
    font-size: 3.2vw;
    border-radius: 1.067vw;
    font-weight: 400;
    padding: 0;
    margin-left: 3.7vw;
    display: inline-flex;
    width: 9.499vw;
    height: 4.765vw;
    align-items: end;
    justify-content: center;
  }

  .att2 {
    background: #cbcbcb;
    color: #ffffff;
    font-size: 3.2vw;
    border-radius: 1.067vw;
    font-weight: 400;
    padding: 0;
    margin-left: 3.7vw;
    display: inline-flex;
    width: 9.499vw;
    height: 4.765vw;
    align-items: end;
    justify-content: center;
  }
  .privacycol2 .att,
  .privacycol2 .att2 {
    align-items: center;
  }
  .top_btn {
    max-width: 92vw;
    height: 14.133vw;
    border: #c8102e solid 0.533vw;
    font-size: 5.333vw;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 17.333vw;
    padding: 2.133vw 25.333vw 2.667vw;
    border-radius: 7.2vw;
    color: #c8102e;
    display: flex;
    align-items: center;
  }

  .fw400 {
    font-weight: 400;
    font-size: 3.733vw;
  }

  .pp_box {
    border: #959595 solid 0.267vw;
    padding: 5.6vw 6.133vw;
  }

  .pph2 {
    font-size: 4.267vw;
    font-weight: 400;
    border-bottom: #c8102e solid 0.267vw;
    padding-bottom: 3.467vw;
    line-height: 1.7;
  }

  .pph3 {
    font-size: 3.733vw;
    color: #c8102e;
    font-weight: 400;
  }

  .b_link {
    color: #0071bc;
    font-size: 4.267vw;
    margin-bottom: 4.8vw;
  }

  .b_link2 {
    color: #0071bc;
    font-size: 3.733vw;
    margin-bottom: 4.8vw;
  }

  .privacy_policy {
    display: block;
    margin: 0 auto;
    text-align: center;
  }
  .privacy_policy .privacycol {
    margin-bottom: 7.467vw;
  }
  .privacy_policy .privacycol2 {
    margin-bottom: 13.333vw;
  }
  .privacy_policy .privacycol2 input[type="checkbox"] {
    transform: scale(1.4);
    border: #959595 solid 0.267vw;
    width: 3.467vw;
    height: 3.467vw;
    margin-right: 2.667vw;
  }

  input[type="checkbox"]:checked {
    accent-color: #c8102e;
  }

  .mt45 {
    margin-top: 12vw;
  }

  #reservation {
    max-width: 100%;
  }

  ul.formFlow li {
    width: 27%;
    font-size: 3.2vw !important;
    padding-top: 1.867vw !important;
  }
  ul.formFlow li:before {
    width: 9.867vw;
    right: -9.867vw;
  }
  ul.formFlow li.active {
    font-size: 12px;
  }
  ul.formFlow li.second:before {
    width: 9.867vw;
    right: -9.867vw;
  }
  ul.formFlow li.second.active {
    font-size: 3.2vw;
  }
  ul.formFlow li.third.active {
    font-size: 3.2vw;
  }
  .mcbtn2 {
    width: 100%;
    max-width: 92vw;
    height: 17.067vw;
    border-radius: 7.2vw;
    margin: 0 auto;
    display: block;
    background: #fff url("../images/reservation_icon.svg") no-repeat;
    background-size: 5.867vw;
    background-position: top 5.067vw left 13.333vw;
    font-size: 5.867vw;
    font-weight: bold;
    color: #c8102e;
    padding: 3.467vw 6.667vw 3.467vw 18.667vw;
    border-radius: 8.533vw;
    border: #c8102e solid 0.533vw;
    text-align: center;
  }
  .mcbtn2:hover {
    background: #c8102e url("../images/reservation_icon_hober.svg") no-repeat;
    background-size: 5.867vw;
    background-position: top 5.067vw left 13.333vw;
    color: #fff;
  }

  .mcbtn3 {
    width: 100%;
    max-width: 345px;
    height: 53px;
    border-radius: 27px;
    margin: 0 auto;
    display: block;
    background: #06c755 url("../images/fx_line.svg") no-repeat;
    background-size: 25px;
    background-position: top 13px left 65px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    padding: 9px 60px 9px 100px;
    border-radius: 32px;
    border: #06c755 solid 2px;
  }
  .mcbtn3:hover {
    background: #fff url("../images/line_2.svg") no-repeat;
    background-size: 6.667vw;
    background-position: top 3.467vw left 17.333vw;
    color: #06c755;
  }

  #kobayashi01,
  #ootsukahigashi01,
  #sadowawa01 {
    height: 0.267vw;
    display: block;
    padding-top: 1.333vw;
    margin-top: -1.333vw;
  }
  .form-table {
    margin: 0 auto;
  }
}

/* form 2024/01/11 */
#reservation .sub_container {
  margin-top: 2.5px;
}
#reservation {
  margin: 0 auto;
  display: block;
  width: 100%;
  /* box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.2); */
  margin-top: -25px;
  background: #ffffff;
}

.sub_container {
  max-width: 20.313vw;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 0.781vw;
  padding-right: 0.781vw;
  transition: ease-in 0.1s;
  background: #ffffff;
}

#reservation .sub_container h2 {
  margin: 1.042vw;
  line-height: 1.6;
  font-weight: 700;
  font-size: 1.25vw;
}
#reservation .sub_container p {
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #reservation {
    margin-top: 13.333vw;
  }
  #reservation .sub_container {
    margin-top: 13.333vw;
  }
  .sub_container {
    max-width: 100%;
    /* padding: 0 4vw; */
  }
  .sub_container.-pl0 {
    padding-left: 0;
  }
  #reservation .sub_container h2 {
    margin: 5.333vw;
    line-height: 1.6;
    font-weight: 700;
    font-size: 5.6vw;
  }
  #reservation .sub_container p {
    font-weight: 500;
    line-height: 1.6;
    font-size: 3.733vw;
  }
}

#reservation img {
  width: 100%;
}

#reservation .reservation_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 9.375vw;
  font-size: 2.604vw;
  letter-spacing: 0.573vw;
  font-weight: 700;
  color: #fff;
  background-color: #000;
}
@media screen and (max-width: 767px) {
  #reservation .reservation_ttl {
    height: 24vw;
    font-size: 6.933vw;
    letter-spacing: 1.2vw;
  }
}
.footer2 {
  margin: 0 auto;
  box-sizing: border-box;
  overflow: hidden;
  width: 70vw;
  height: 3.281vw;
  background-color: #000;
}
@media screen and (max-width: 767px) {
  .footer2 {
    width: 100%;
  }
  .footer2 img {
    width: 100%;
  }
}
.mb50 {
  margin-bottom: 2.604vw !important;
}
.mb60 {
  margin-bottom: 3.125vw !important;
}
@media screen and (max-width: 767px) {
  .mb50 {
    margin-bottom: 13.333vw !important;
  }
  .mb60 {
    margin-bottom: 16vw !important;
  }
}
@media screen and (max-width: 767px) {
  .lmargin {
    margin-left: 0;
  }
}
@media screen and (min-width: 767px) {
  .lmargin {
    margin-left: 1.5rem;
  }
}

/* Rijan */
.container {
  max-width: 66.667vw;
}
@media only screen and (max-width: 767px) {
  .container {
    max-width: 100vw;
    margin: 0;
    padding: 0;
  }
}
.heading_prim,
.heading_seco {
  padding: 0.781vw 0;
  text-align: center;
  font-size: 2.5vw;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.234vw;
}
.heading_prim {
  background-color: #5b7f9b;
  color: #ffffff;
}
.heading_seco {
  font-family: "A-OTF Gothic MB101 Pro";
}
.heading_seco .lrg {
  font-size: 2.735vw;
}
@media only screen and (max-width: 767px) {
  .heading_prim,
  .heading_seco {
    padding: 6.667vw 0 7.467vw 0;
    font-size: 8.533vw;
    line-height: 2.604vw;
    font-weight: 700;
    letter-spacing: 0.156vw;
  }
  .heading_prim {
    font-size: 6.4vw;
    line-height: 1.5;
    padding: 2.667vw 0 !important;
  }
  .heading_seco {
    font-size: 6.4vw;
  }
  .heading_seco .lrg {
    font-size: 6.933vw;
  }
}
.container {
  max-width: 66.667vw;
}
@media only screen and (max-width: 767px) {
  .container {
    max-width: 100vw;
    margin: 0;
    padding: 0;
  }
}
.heading_prim,
.heading_seco {
  padding: 0.781vw 0;
  text-align: center;
  font-size: 2.5vw;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.234vw;
}
.heading_prim {
  background-color: #5b7f9b;
  color: #ffffff;
}
.heading_seco {
  font-family: "A-OTF Gothic MB101 Pro";
}
.heading_seco .lrg {
  font-size: 2.735vw;
}
@media only screen and (max-width: 767px) {
  .heading_prim,
  .heading_seco {
    padding: 6.667vw 0 7.467vw 0;
    font-size: 8.533vw;
    line-height: 2.604vw;
    font-weight: 700;
    letter-spacing: 0.156vw;
  }
  .heading_prim {
    font-size: 6.4vw;
    line-height: 1.5;
  }
  .heading_seco {
    font-size: 6.4vw;
  }
  .heading_seco .lrg {
    font-size: 6.933vw;
  }
}

.advance .desc {
  font-size: 4.267vw;
  text-align: center;
  font-weight: 700;
  padding: 1.797vw 0 2.031vw 0;
  line-height: 1.6;
}
.advance_btn {
  text-align: center;
  padding-bottom: 2.5vw;
  display: flex;
  justify-content: center;
  gap: 2.5vw;
}

.advance_btn img {
  width: 100%;
  height: auto;
  max-width: 100%;
  align-items: center;
}
.advance_img img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .advance_btn {
    flex-direction: column;
    max-width: 80.8vw;
    margin: 0 auto;
  }
  .advance_btn_img {
    max-width: 80.8vw;
    z-index: 2;
    position: relative;
  }
  .advance_img {
    /* padding-top: 15.938vw; */
    max-width: 100vw;
  }
}

.advance_btn .btn {
  background-color: #000;
  color: #fff;
  max-width: 31.563vw;
  width: 100%;
  display: inline-block;
  border-radius: 2.345vw;
  padding: 0.781vw;
  font-size: 2.187vw;
  font-weight: 700;
  letter-spacing: 0.312vw;
  line-height: 1.5;
  transition: 0.3s ease all;
}
.advance_btn .btn.-red {
  background-color: #be1a21;
  margin-left: 2.5vw;
}

.advance_btn .btn:hover {
  opacity: 0.8;
  transition: 0.3s ease all;
}
@media only screen and (max-width: 767px) {
  .advance .heading_prim .lrg {
    font-size: 7.733vw;
  }
  .advance_btn {
    padding-bottom: 8.8vw;
  }
  .advance_btn .btn {
    max-width: 72vw;
    font-size: 4.8vw;
    padding: 2.133vw;
    border-radius: 10.563vw;
    letter-spacing: 0.908vw;
    z-index: 2;
  }
  .advance_btn .btn.-red {
    margin-left: 0;
    /* margin-top: 4.8vw; */
  }
}
.heading_prim.-red {
  background-color: #be1a21;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .heading_prim.-red .lrg {
    font-size: 5.6vw;
  }
}
.advance_btn .btn span.phone,
.advance_btn .btn span.mail {
  position: relative;
}
.advance_btn .btn span.mail:before,
.advance_btn .btn span.store:before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-left: -9.453vw;
}
.advance_btn .btn span.mail:before {
  background-image: url(../img/icons/mail.svg);
  max-width: 3.312vw;
  width: 100%;
  top: 0.39vw;
  height: 2.422vw;
}
.advance_btn .btn span.store:before {
  background-image: url(../img/icons/store.svg);
  max-width: 4.454vw;
  width: 100%;
  height: 2.89vw;
}
@media only screen and (max-width: 767px) {
  .advance_btn .btn span.phone:before,
  .advance_btn .btn span.mail:before,
  .advance_btn .btn span.store:before {
    margin-left: -21.453vw;
  }
  .advance_btn .btn span.phone:before {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url(../img/icons/phone.svg);
    max-width: 8.533vw;
    width: 100%;
    top: -0.61vw;
    height: 7.533vw;
  }
  .advance_btn .btn span.mail:before {
    background-image: url(../img/icons/mail.svg);
    max-width: 8.533vw;
    width: 100%;
    top: 0.39vw;
    height: 5.133vw;
  }
  .advance_btn .btn span.store:before {
    background-image: url(../img/icons/store.svg);
    max-width: 11.467vw;
    width: 100%;
    height: 6.733vw;
  }
}

.openess_img img {
  width: 100%;
  height: auto;
  max-width: 100%;
}
@media only screen and (max-width: 767px) {
  .openess_img {
    /* padding-top: 15.938vw; */
    max-width: 100vw;
  }
}

.mbt18 {
  position: relative;
}

/* Dropdown content (hidden by default) */
.advance_btn .dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 79.8vw;
  z-index: 1;
  top: 45%;
  left: 0;
  margin-top: 0.5vw;
  padding: 0.5vw;
}
/* Links inside the dropdown */
.advance_btn .dropdown-content a {
  color: black;
  /* padding: 8px 12px; */
  padding: 2.56vw 9vw 3.36vw 9vw;
  text-decoration: none;
  display: block;
  font-size: 3.8vw;
  font-weight: 700;
  line-height: 1.3;
  background-image: linear-gradient(
    to top,
    #f2f2eb,
    #e8e8e1,
    #dfdfd7,
    #d5d5cd,
    #ccccc3
  );
}
.advance_btn .dropdown-content a:first-child {
  padding: 8.533vw 9vw 3.36vw 9vw;
}
/* Show the dropdown when the button is clicked */
.advance_btn .show-dropdown {
  display: block;
}

.botm_nav {
  position: fixed;
  bottom: 0;
  max-width: 100vw;
  width: 100%;
  background-color: #000000;
  z-index: 1000;
}
.botm_nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
}
.botm_nav ul li a.icons {
  display: inline;
  justify-content: center;
  align-items: center;
  padding: 3.867vw 0 3.867vw 0;
  width: 100%;
  /* height: 100%; */
}
.botm_nav li {
  border: 0.267vw solid #ffffff;
  position: relative;
  width: 33.333vw;
  height: 100%;
  text-align: center;
  display: flex;
}
.botm_nav .phone_icon img {
  max-width: 8.533vw;
}
.botm_nav .mail_icon img {
  max-width: 8.533vw;
}
.botm_nav .store_icon img {
  max-width: 11.467vw;
}
.botm_nav img {
  width: 100%;
}
.botm_nav li.-redbg {
  background-color: #be1a21;
}
.botm_nav .dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  width: 100vw;
  z-index: 1000;
  bottom: 100%;
  left: 0;
  box-shadow: 0 0.533vw 2.133vw rgba(0, 0, 0, 0.2);
}
.botm_nav .dropdown-content a {
  color: black;
  text-decoration: none;
  display: block;
  padding: 2.24vw 18.6vw 3.36vw 18.6vw;
  font-size: 3.8vw;
  font-weight: 700;
  line-height: 1.3;
  background-image: linear-gradient(
    to top,
    #f2f2eb,
    #e8e8e1,
    #dfdfd7,
    #d5d5cd,
    #ccccc3
  );
  text-align: center;
  width: auto;
}
/* Show the dropdown when active */
.botm_nav .show-dropdown {
  display: block; /* Show the dropdown */
}

.queries {
  /* margin-bottom: 3.75vw; */
}

.queries_wrapper {
  max-width: 66.406vw;
  margin: 0 auto;
}

.queries_info img {
  width: 100%;
}

.accordion_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.accordion-item {
  max-width: 31.25vw;
  width: 100%;
  background-color: #fff;
  /* margin-bottom: 1.875vw; */
  overflow: hidden;
}
.accordion-item img {
  width: 100%;
}
.accordion-header {
  padding-bottom: 2.344vw;
}
.accordion-header.-open {
  display: none;
}
.accordion-header {
  display: block;
}
/* .accordion-header {
  height: 3.906vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #5B7F9B;
  color: #fff;
  cursor: pointer;
  padding: 1.172vw;
  border: none;
  width: 100%;
  text-align: left;
  font-size: 1.406vw;
  outline: none;
  transition: background-color 0.3s;
} */
.accordion-content {
  padding-right: 1.406vw;
  background-color: #fff;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, padding 0.3s ease-out;
}
.accord_desc {
  font-size: 1.25vw;
  font-weight: 500;
  margin-bottom: 2.578vw;
  letter-spacing: 0.016vw;
  line-height: 1.953vw;
}
.icon {
  position: relative;
  display: inline-block;
  width: 0.953vw;
  height: 0.953vw;
}
.icon::before,
.icon::after {
  content: "";
  position: absolute;
  background-color: white;
  width: 100%;
  height: 0.195vw;
  top: 50%;
  left: 0;
  transform: translateY(-11%);
  transition: transform 0.3s ease, opacity 0.4s ease;
}
.icon::before {
  transform: rotate(90deg);
}
.accordion-item.active .accordion-header.-open {
  display: block;
}
.accordion-item.active .accordion-header {
  display: none;
}
.accordion-item.active .icon::before {
  transform: rotate(180deg);
}
.accordion-item.active .icon::after {
  opacity: 0;
}

.step_num {
  font-size: 1.406vw;
  font-weight: 900;
  color: #3a5a77;
}
.step_txt {
  font-size: 1.406vw;
  font-weight: 500;
  color: #3a5a77;
}
.circle::before {
  content: "";
  height: 1.172vw;
  width: 1.172vw;
  border-radius: 50%;
  background-color: #5b7f9b;
  display: inline-block;
  margin-right: 0.391vw;
}
.bold {
  font-size: 2.734vw;
}
.center {
  text-align: center;
}
.red {
  color: #ff0000;
  font-weight: 900;
}
.p35 {
  padding-top: 2.188vw;
}
@media screen and (max-width: 767px) {
  .queries_info {
    padding-bottom: 3vw;
  }
  .accordion-header {
    padding-bottom: 4vw;
  }
  /* .queries{
    margin-bottom: 5.867vw;
  } */

  .queries_wrapper {
    max-width: 91.2vw;
  }

  .accordion_wrap {
    flex-wrap: wrap;
    flex-direction: column;
  }
  .accordion-item {
    max-width: 91.2vw;
    width: 100%;
    /* margin-bottom: 4.533vw; */
  }
  /* .accordion-header {
    height: 13.333vw;
    padding: 4.267vw;
    font-size: 4.267vw;
  } */
  .accordion-content {
    padding-right: 0;
  }
  .accord_desc {
    font-size: 3.2vw;
    margin-bottom: 5.6vw;
    letter-spacing: -0.03vw;
    line-height: 6.667vw;
  }
  .step_num {
    font-size: 4.267vw;
  }
  .step_txt {
    font-size: 4.267vw;
  }
  .circle::before {
    height: 3vw;
    width: 3vw;
    margin-right: 1.391vw;
  }
  .red {
    font-size: 4.267vw;
  }
  .bold {
    font-size: 6.933vw;
  }
  .icon {
    width: 3.253vw;
    height: 3.253vw;
  }
  .icon::before {
    height: 0.495vw;
  }
  .icon::after {
    height: 0.495vw;
  }
  .p35 {
    padding-top: 6.667vw;
  }
}

.sp-br {
  display: none;
}

.pc-br {
  display: inline;
}

/* For smaller screens, show the line break */
@media only screen and (max-width: 768px) {
  .sp-br {
    display: inline;
  }

  .pc-br {
    display: none;
  }
}

.reserve_ban h2 {
  background-color: #5b7f9b;
  padding: 0.938vw;
  color: #ffffff;
  text-align: center;
  font-size: 2.5vw;
  line-height: 2.604vw;
  font-weight: 700;
  letter-spacing: 0.156vw;
  margin: 0 auto;
}

.reserve_ban h2.hGreen {
  background-color: #f0f5f0;
  color: black;
  line-height: 2.604vw;
  font-weight: 700;
  letter-spacing: 0;
  font-family: "a-otf-gothic-mb101-pro-u", sans-serif;
  font-style: normal;
  border-top: 1.25vw solid #6895ab;
  padding: 1.738vw;
}

.reserve_ban h2.hGreen span.h1 {
  font-size: 2.734vw;
  font-weight: 900;
}

.reserve_ban h2.hWhite {
  background-color: #ffffff;
  color: black;
  line-height: 2.604vw;
  letter-spacing: 0;
  font-family: "a-otf-gothic-mb101-pro-u", sans-serif;
  font-style: normal;
}

.reserve_ban h2.hWhite span.h1 {
  font-size: 2.734vw;
  font-weight: 900;
}

.reserve_ban h2.hRed {
  background-color: #be1a21;
  color: rgb(255, 255, 255);
  line-height: 4.004vw;
  letter-spacing: 0.156vw;
  font-family: "a-otf-gothic-mb101-pro-u", sans-serif;
  font-style: normal;
}

.reserve_ban h2.hRed span.h1 {
  font-size: 2.734vw;
  font-weight: 900;
}

@media only screen and (max-width: 767px) {
  .reserve_ban h2 {
    padding: 0.067vw 0;
    font-size: 6.443vw;
    line-height: 13.333vw;
    font-size: 6.443vw;
  }

  .reserve_ban h2.hGreen {
    background-color: #f0f5f0;
    color: black;
    padding: 0.067vw 0;
    line-height: 13.333vw;
    border-top: 4vw solid #6895ab;
  }

  .reserve_ban h2.hWhite {
    background-color: #ffffff;
    color: black;
    padding: 0.067vw 0;
    line-height: 13.333vw;
  }

  .reserve_ban h2.hRed {
    background-color: #be1a21;
    color: rgb(255, 255, 255);
    padding: 0.067vw 0;
    line-height: 13.333vw;
  }

  .reserve_ban h2.hWhite span.h1 {
    font-size: 7.029vw;
  }

  .reserve_ban h2.hGreen span.h1 {
    font-size: 7.029vw;
    font-weight: 900;
  }

  .reserve_ban h2.hRed span.h1 {
    font-size: 7.029vw;
    font-weight: 900;
  }
}

@media only screen and (max-width: 767px) {
  .reserv .desc:before {
    background-image: url("../img/reserv/reserv_sp.png");
    max-width: 100vw;
    height: 289.067vw;
    top: 0.267vw;
  }

  .reserve_ban:after {
    content: none;
  }

  .reserve_ban-img {
    max-width: 92vw;
    padding-top: 4vw;
    padding-bottom: 5.333vw;
  }

  .reserve_ban_btns .btn {
    max-width: 72vw;
    font-size: 4.8vw;
    padding: 2.133vw;
    border-radius: 10.563vw;
    letter-spacing: 0.908vw;
  }

  .reserve_ban_btns .btn.-red {
    margin-left: 0;
    margin-top: 4.8vw;
  }
}

.reserve_ban p {
  font-size: 1.875vw;
}

.text--center {
  text-align: center !important;
}

.mt20 {
  margin-top: 1.563vw !important;
}

.b300 {
  font-weight: 300 !important;
}

.b500 {
  font-weight: 500 !important;
}

.b600 {
  font-weight: 700 !important;
}

.b700 {
  font-weight: 700 !important;
}

.b800 {
  font-weight: 700 !important;
}

.b900 {
  font-weight: 900 !important;
}

.ls00 {
  letter-spacing: 0vw !important;
}

.ls01 {
  letter-spacing: 0.078vw !important;
}

.ls02 {
  letter-spacing: 0.156vw !important;
}

.ls05 {
  letter-spacing: 0.391vw !important;
}

.ls08 {
  letter-spacing: 0.625vw !important;
}

.ls10 {
  letter-spacing: 0.781vw !important;
}

.ls20 {
  letter-spacing: 2.422vw !important;
}

.ls50 {
  letter-spacing: 3.906vw !important;
}

.w776 {
  width: 60.625vw;
}

.mAuto {
  margin: 0 auto;
}

.reserve_ban .image-container {
  position: relative;
  width: 100%;
  height: 16.328vw;
  overflow: hidden;
}
.reserve_ban .image-container.active {
  height: 29.375vw;
}
.reserve_ban .image {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
}

.reserve_ban .overlay {
  position: absolute;
  top: 0.781vw;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.2) 30%,
    rgba(255, 255, 255, 0.3) 45%,
    rgba(255, 255, 255, 0.8) 60%,
    rgba(255, 255, 255, 1) 75%,
    rgba(255, 255, 255, 1) 100%
  );
  transition: opacity 0.5s ease;
  opacity: 1; /* Start fully visible */
}

.reserve_ban .overlay.hidden {
  opacity: 0; /* Hidden state */
}
.al-center {
  display: flex;
  justify-content: center;
}

.benefit-info div.lineRed {
  background-color: #ff0000;
  height: 0.234vw;
  width: 100%;
  margin-bottom: 0.625vw;
}

@media only screen and (max-width: 767px) {
  .reserve_ban .image-container {
    height: 43.328vw;
  }

  .reserve_ban .image-container.active {
    height: 193.375vw;
  }
}

.hidden {
  display: none;
}

.buttonMore {
  margin: 0 auto;
  text-align: center;
  color: red;
  font-size: 1.875vw;
  position: relative;
  bottom: 5.5vw;
  z-index: 2;
  font-weight: 600;
}

.bMore {
  display: block;
  pointer-events: none;
}

.bMore.active {
  display: block;
  color: red;
  font-size: 2.188vw;
  position: relative;
  top: 6.391vw;
  padding-bottom: 3.906vw;
}

/* Default state - arrow down */
.bMore::after {
  content: "";
  position: absolute;
  background-image: url(../img/benefit/arrow_down.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 5.469vw;
  height: 3.734vw;
  top: 4.481vw;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
  pointer-events: visible;
  cursor: pointer;
  border-radius: 0 0 200px 200px;
}

/* When the class 'active' is added to the button, change the arrow to up */
.bMore.active::after {
  transform: rotate(180deg);
  top: 3.481vw;
  left: 47.4%;
  transition: all 0.3s ease;
}

p.text {
  font-size: 1.875vw;
  line-height: 4vw;
  max-width: 60.625vw;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .buttonMore {
    margin: 0 auto;
    text-align: center;
  }

  .bMore {
    font-size: 4.267vw;
    position: relative;
    bottom: 8vw !important;
  }

  .bMore.active {
    color: red;
    font-size: 4.267vw;
    position: relative;
    top: 0.391vw;
    padding-bottom: 10.906vw;
  }

  /* Default state - arrow down */
  .bMore::after {
    width: 14.133vw;
    height: 6.933vw;
    top: 10.281vw;
  }

  /* When the class 'active' is added to the button, change the arrow to up */
  .bMore.active::after {
    transform: rotate(180deg);
    top: 6.281vw;
    left: 43%;
  }

  p.text {
    font-size: 3.2vw;
    text-align: left;
    margin-top: 3.563vw !important;
    margin-left: 4.267vw;
    line-height: 6.938vw;
    max-width: 100%;
    margin-bottom: 8vw;
    margin-top: 5vw !important;
  }

  br.sp {
    display: block;
  }

  .benefit-info div.lineRed {
    background-color: #ff0000;
    height: 0.533vw;
    width: 100%;
    margin-bottom: 0.625vw;
  }
}

@media only screen and (max-width: 767px) {
  .sp-hidden {
    display: none;
  }
}

/* #campaign */
#campaign {
  text-align: center;
}
#campaign img {
  margin: 20px auto;
}
#campaign ul {
  list-style: "※";
  padding: 10px;
  font-size: 1.2em;
  width: 90%;
  margin: 0 auto;
}
#campaign ul li {
  padding: 5px 0 5px 3px;
  line-height: 1.3;
}

@media only screen and (max-width: 767px) {
  .icon-text {
    display: block;
    padding-top: 7px;
    font-size: 12px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 3px;
  }
}

/*カラーマップ*/
.typelist {
  position: relative;
  /*background: #f7f7f7;
  z-index: -1;*/
  background: linear-gradient(
    0deg,
    rgba(153, 153, 153, 1) 0%,
    rgba(193, 193, 193, 1) 4%,
    rgba(255, 255, 255, 1) 13%,
    rgba(255, 255, 255, 1) 77%,
    rgb(193 193 193) 91%,
    rgb(153 153 153) 100%
  );
}
/*.typelist::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 9%;
  background-image: linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.3),
    rgba(206, 206, 206, 1)
  );
  position: absolute;
  z-index: -1;
}
.typelist::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 4%;
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.05),
    rgba(203, 203, 203, 1)
  );
  position: absolute;
  bottom: -7px;
  z-index: -1;
}*/
.typelist .typelist_inn h2 {
  font-size: 29px;
  font-weight: bold;
  text-shadow: 0 0 1px BLACK;
  letter-spacing: 0.2em;
  padding: 38px;
  text-align: center;
}
.typelist_inn {
  max-width: 52.083vw;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .typelist .heading_sec {
    padding-left: 2.267vw;
    padding-top: 5.333vw;
  }
}

.typelist_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.typelist_card {
  max-width: 23.333vw;
  min-height: 27.048vw;
  padding: 1.042vw 0.833vw;
  background-color: #fff;
  border-radius: 0.833vw;
  box-shadow: 0.365vw 0.365vw 0.521vw rgba(0, 0, 0, 0.4);
  margin-bottom: 2.083vw;
  width: 100%;
}
.typelist_card hr {
  magin-top: 15px;
}
ul.typelist_nbox {
  margin-top: 20px;
}
ul.typelist_nbox li {
  font-size: 0.938vw;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  padding-left: 1.302vw;
}
ul.typelist_nbox li::before {
  content: "";
  position: absolute;
  top: 0.365vw;
  left: 0;
  width: 0.781vw;
  height: 0.781vw;
  background-color: #46575b;
}
.featurewrp {
  display: flex;
}
.featurewrp .feature:last-child {
  margin-left: 1.563vw;
}
.typelist .feature {
  display: flex;
  align-items: flex-end;
  margin-top: 1.458vw;
}
.typelist .feature_img {
  margin-right: 0.677vw;
}
.typelist .feature_inn {
  display: flex;
  align-items: center;
}
.typelist .feature_inn:first-child.-single {
  margin-bottom: 1.042vw;
}
.typelist .feature_inn:first-child {
  margin-bottom: 0.365vw;
}
.typelist .feature_inn p {
  font-size: 0.625vw;
  color: #fff;
  background-color: #000;
  text-align: center;
  height: 0.885vw;
  line-height: 1.3;
}
.typelist .feature_inn p.fst {
  width: 1.875vw;
  margin-right: 0.208vw;
}
.typelist .feature_inn p.sec {
  min-width: 3.49vw;
  padding-inline: 0.26vw;
}
.pointer-none {
  pointer-events: none;
}
.typelist_img {
  max-width: 18.229vw;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  min-height: 10.833vw;
}

.typelist_img img {
  transition: opacity 0.3s ease-in-out;
  opacity: 1;
  width: 100%;
}
.typelist .typelist_price {
  display: flex;
  justify-content: space-around;
  margin-top: 10px;
}
.engine {
  font-weight: bold;
  color: #bb0a10;
}
.price {
  font-size: 1.8em;
  font-weight: bold;
  margin-top: 0.2em;
}
.price_en {
  font-size: 0.7em;
  padding-left: 0.1em;
}
.typelist .color {
  margin-top: 1.51vw;
}
.typelist .color .ttl {
  font-size: 0.625vw;
  font-weight: 700;
  color: #3a5a77;
  margin-bottom: 0.729vw;
}

.typelist .color_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.typelist .color_inn {
  width: 7.188vw;
  text-align: center;
  margin-bottom: 0.677vw;
  margin-right: 0.729vw;
}
.typelist .color_txt {
  font-size: 0.55vw;
  font-weight: 500;
  color: #000;
}
.typelist .btn {
  border: 0.052vw solid #000;
  background-color: #fff;
  display: block;
  width: 7.188vw;
  height: 1.25vw;
  cursor: pointer;
  transition: 0.3s ease all;
}
.typelist .btn:hover {
  opacity: 0.8;
  transition: 0.3s ease all;
}

.typelist .color_btn1 {
  background-color: #ffffff;
}
.typelist .color_btn2 {
  background-color: #000000;
}
.typelist .color_btn3 {
  background: linear-gradient(
    to bottom,
    #000 0%,
    #000 50%,
    #909b9e 50%,
    #909b9e 100%
  );
}
.typelist .color_btn4 {
  background: linear-gradient(
    to bottom,
    #000 0%,
    #000 50%,
    #e9f8f7 50%,
    #e9f8f7 100%
  );
}
.typelist .color_btn5 {
  background: linear-gradient(
    to bottom,
    #000 0%,
    #000 50%,
    #dbbc54 50%,
    #dbbc54 100%
  );
}
.typelist .color_btn6 {
  background: linear-gradient(
    to bottom,
    #000 0%,
    #000 50%,
    #74806e 50%,
    #74806e 100%
  );
}
.typelist .color_btn7 {
  background: linear-gradient(
    to bottom,
    #000 0%,
    #000 50%,
    #b39f7c 50%,
    #b39f7c 100%
  );
}
.typelist .color_btn8 {
  background-color: #ecf6fd;
}
.typelist .color_btn9 {
  background-color: #d9d9d9;
}
.typelist .color_btn10 {
  background-color: #706f70;
}
.typelist .color_btn11 {
  background-color: #625f7a;
}
.typelist .color_btn12 {
  background-color: #dbbc54;
}
.typelist .color_btn13 {
  background-color: #e9f8f7;
}
.typelist .color_btn14 {
  background-color: #f3ecc0;
}
.typelist .color_btn15 {
  background-color: #043a5c;
}
.typelist .color_btn16 {
  background-color: #909b9e;
}
.typelist .color_btn17 {
  background-color: #c8101f;
}
.typelist .color_btn18 {
  background: linear-gradient(
    to bottom,
    #000 0%,
    #000 50%,
    #fff 50%,
    #fff 100%
  );
}
.typelist .color_btn19 {
  background: linear-gradient(
    to bottom,
    #000 0%,
    #000 50%,
    #ecf6fd 50%,
    #ecf6fd 100%
  );
}
.typelist .color_btn20 {
  background: linear-gradient(
    to bottom,
    #000 0%,
    #000 50%,
    #043a5c 50%,
    #043a5c 100%
  );
}
.typelist .color_btn21 {
  background: linear-gradient(
    to bottom,
    #000 0%,
    #000 50%,
    #c8101f 50%,
    #c8101f 100%
  );
}
.typelist .color_btn22 {
  background: linear-gradient(
    to bottom,
    #000 0%,
    #000 50%,
    #625f7a 50%,
    #625f7a 100%
  );
}

.typelist .btn:is(.selected) {
  /* border: 0.152vw solid #000;
  transition: all 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28); */
  position: relative;
}
.typelist .btn:is(.selected)::before {
  content: "";
  position: absolute;
  background-image: url(../img/check.svg);
  background-repeat: no-repeat;
  width: 1.25vw;
  height: 1.25vw;
  top: -3%;
  left: 42%;
}
@media only screen and (max-width: 767px) {
  .typelist .btn:is(.selected)::before {
    /* border: 0.667vw solid #000; */
    width: 5.333vw;
    height: 5.333vw;
  }
}

.typelist .color_inn.pos {
  position: relative;
}
.typelist .color_inn.pos .color_txt {
  position: absolute;
  left: -0.833vw;
  bottom: -0.104vw;
  white-space: nowrap;
}
.typelist_txt {
  font-size: 0.938vw;
  font-weight: 700;
  padding-top: 0.417vw;
}

.typelist .color_inn:nth-of-type(3),
.typelist .color_inn:nth-of-type(6),
.typelist .color_inn:nth-of-type(9),
.typelist .color_inn:nth-of-type(12) {
  margin-right: 0;
}

@media only screen and (max-width: 767px) {
  .typelist {
    /*border-top: 4vw solid #000;*/
  }
  .typelist_inn {
    max-width: 95.733vw;
  }
  .typelist_card {
    max-width: 95.733vw;
    margin-left: auto;
    margin-right: auto;
    padding: 4.042vw 3.2vw;
    margin-bottom: 5.083vw;
  }
  .typelist_img {
    max-width: 100%;
  }
  ul.typelist_nbox li {
    font-size: 3.9vw;
    padding-left: 6.302vw;
  }
  ul.typelist_nbox li::before {
    top: 1.365vw;
    left: 2.133vw;
    width: 2.781vw;
    height: 2.781vw;
  }
  .typelist .feature_inn:first-child {
    margin-bottom: 1.365vw;
  }
  .typelist .feature_inn p {
    font-size: 2.625vw;
    height: 3.985vw;
    line-height: 1.5;
  }
  .typelist .feature_inn p.fst {
    width: 6.875vw;
    margin-right: 1.208vw;
  }
  .typelist .feature_inn p.sec {
    width: 13.49vw;
  }
  .typelist .feature_img {
    max-width: 17vw;
    margin-right: 2.677vw;
  }
  .featurewrp {
    justify-content: space-between;
  }
  .typelist .color {
    margin-top: 5.458vw;
  }
  .typelist .color .ttl {
    font-size: 2.4vw;
    margin-bottom: 5.729vw;
  }
  .typelist .feature {
    margin-top: 5.146vw;
  }
  /* .typelist .color_wrap {
      justify-content: space-between;
    } */
  .typelist .color_txt {
    font-size: 2.1vw;
    display: block;
    padding-top: 1.6vw;
  }
  .typelist .color_inn {
    width: 29.688vw;
    margin-bottom: 2.677vw;
    margin-right: 0;
  }
  .typelist .btn {
    border: 0.267vw solid #000;
    display: block;
    width: 27.467vw;
    height: 4.8vw;
  }
  .typelist .color_inn.pos .color_txt {
    left: -2.833vw;
  }
  .typelist_card {
    border-radius: 3.833vw;
  }
  .typelist_txt {
    font-size: 3.9vw;
    padding-top: 2.133vw;
  }
}

.campaign_shadow {
  box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.2);
}

/*sticky banner*/
.fixedsp {
  opacity: 1 !important;
  transition: opacity 0.3s ease;
}
.campaign_banner {
  position: fixed;
  z-index: 99998;
  bottom: 15px;
  left: 10px;
}
.campaign_banner.sp-only {
  bottom: 79px;
  right: 0px;
}

.banner-close {
  font-weight: bold;
  font-size: 20px;
  padding-bottom: 0;
  position: absolute;
  top: -11px;
  right: 0px;
  z-index: 99999;
  border: none;
  color: #000 !important;
  background-color: #fff;
  border-radius: 25px;
  cursor: pointer;
  box-shadow: 1px 3px 7px 0px rgba(0, 0, 0, 0.4);
}
.campaign_banner.sp-only .banner-close {
  font-weight: bold;
  font-size: 15px;
  padding-bottom: 3px;
  top: 8px;
  right: 7px;
  box-shadow: none;
}

.campaign_banner a {
  position: relative;
  display: block;
  height: 140px;
  text-align: center;
}
.campaign_banner.sp-only a {
  height: 110px;
  text-align: left;
}

.campaign_back {
  position: absolute;
  top: -7px;
  left: 2px;
  width: 99%;
  height: 110%;
  background-color: #000;
  z-index: 1;
  opacity: 45%;
  border-radius: 5px;
}
.campaign_banner.sp-only .campaign_back {
  top: 0;
  left: -20%;
  height: 100%;
  border-radius: 0%;
  width: 200%;
}

.campaign_banner a img {
  position: relative;
  z-index: 2;
  width: 94%;
  height: 100%;
  object-fit: contain;
}
.campaign_banner.sp-only a img {
  width: 96.5%;
  height: 100%;
}
