@charset "UTF-8";
.white {
  color: #fff;
}

.brown,
.c-gurume {
  color: #64543c;
}

.bg-gurume {
  background-color: #64543c;
}

.green,
.c-gurume {
  color: #2d6475;
}

.bg-service {
  background-color: #2d6475;
}

.pink,
.c-new {
  color: #e61673;
}

.bg-new {
  background-color: #e61673;
}

.wine,
.c-amusement {
  color: #aa2359;
}

.bg-amusement {
  background-color: #aa2359;
}

.blue {
  color: #004597;
}

.gold {
  color: #beb887;
}

.beige {
  color: #f5f1ed;
}

li {
  list-style-type: none;
}

/*- 文字サイズ自動変更--------------------*/
/*- 文字サイズ記述見本----------*/
/*
p {
  @include module.fs(36,36,24,20,18,18);
}
p {
  @include fs2(20,10);
    @include module.fs2(36, 20);
}
*/
/*- 表示非表示-------------------*/
/* visible-xx-ijo */
@media (max-width: 575px) {
  .visible-sm-ijo {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .visible-md-ijo {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .visible-lg-ijo {
    display: none !important;
  }
}
@media (max-width: 1199px) {
  .visible-xl-ijo {
    display: none !important;
  }
}
/* visible-xx-ika */
@media (min-width: 576px) {
  .visible-xs-ika {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .visible-sm-ika {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .visible-md-ika {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-ika {
    display: none !important;
  }
}
@media (min-width: 1400px) {
  .visible-xl-ika {
    display: none !important;
  }
}
/* hidden-xx-ijo */
@media (min-width: 576px) {
  .hidden-sm-ijo {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .hidden-md-ijo {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .hidden-lg-ijo {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-xl-ijo {
    display: none !important;
  }
}
/* hidden-xx-ika */
@media (max-width: 575px) {
  .hidden-xs-ika {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .hidden-sm-ika {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .hidden-md-ika {
    display: none !important;
  }
}
@media (max-width: 1199px) {
  .hidden-lg-ika {
    display: none !important;
  }
}
@media (max-width: 1399px) {
  .hidden-xl-ika {
    display: none !important;
  }
}
/*- 基本パーツ-------------------*/
.align-center {
  text-align: center;
}

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

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

.align-center-pc {
  text-align: center;
}

@media (max-width: 767px) {
  .align-center-pc {
    text-align: left;
  }
}
.flex-center {
  display: flex;
  justify-content: center;
}

.bold {
  font-weight: bold;
}

small {
  font-size: smaller !important;
}

.lh-2 {
  line-height: 2;
}
@media screen and (max-width: 991px) {
  .lh-2 {
    line-height: 1.8;
  }
}
@media screen and (max-width: 767px) {
  .lh-2 {
    line-height: 1.6;
  }
}

.img-responsive {
  display: inline-block;
  height: auto;
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

.cf::before, .cf::after {
  display: table;
  clear: both;
  content: "";
}

.alpha {
  transition: opacity 250ms;
}
.alpha:hover {
  opacity: 0.75;
}

.indent1 li,
p.indent1 {
  padding-left: 1em;
  text-indent: -1em;
}

.indent2 li,
p.indent2 {
  padding-left: 2em;
  text-indent: -2em;
}

.indent3 li,
p.indent3 {
  padding-left: 3em;
  text-indent: -3em;
}

/*-hover------------------*/
.hover a {
  -webkit-transition: 350ms;
  transition: 350ms;
}

.hover a:hover {
  opacity: 0.7;
}

a.hover {
  -webkit-transition: 350ms;
  transition: 350ms;
}

a.hover:hover {
  opacity: 0.7;
}

button.hover {
  -webkit-transition: 350ms;
  transition: 350ms;
}

button.hover:hover {
  opacity: 0.7;
}

input.hover {
  -webkit-transition: 350ms;
  transition: 350ms;
}

input.hover:hover {
  opacity: 0.7;
}

a.underline {
  text-decoration: underline;
}

a.underline:hover {
  text-decoration: none;
}

.box-shadow {
  transition: all 0.4s ease-in-out;
}

.box-shadow:hover {
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.3);
}

.mojikan {
  font-feature-settings: "palt";
  letter-spacing: 3px;
}

/*- カラム落ちメモ3----grid利用--------------------*/
/*- parts-width-----------------*/
.pc-w95 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w95 {
    width: 95%;
  }
}

.pc-w90 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w90 {
    width: 90%;
  }
}

.pc-w85 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w85 {
    width: 85%;
  }
}

.pc-w80 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w80 {
    width: 80%;
  }
}

.pc-w70 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w70 {
    width: 70%;
  }
}

.pc-w60 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w60 {
    width: 60%;
  }
}

/*- parts-grid-----------------*/
.grid-pcsp2 {
  width: 100%;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2rem;
  row-gap: 2rem;
}
@media screen and (min-width: 768px) {
  .grid-pcsp2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1rem;
    row-gap: 1rem;
  }
}

/*bghover-------------------------------------------*/
.bghover-link {
  display: block;
}

.bghover-warp {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.bghover {
  width: 100%;
  padding-top: 55%;
  margin: 0 auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all 0.8s;
}

a.bghover-link:hover .bghover-warp .bghover,
.bghover-warp:focus .bghover {
  -ms-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}

a.bghover-link:hover .bghover-warp .bghover:before,
.bghover-warp:focus .bghover:before {
  display: block;
}

.bghover:before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0;
  -webkit-transition: 0.35s ease;
  transition: 0.5s ease;
}

a.bghover-link:hover .bghover-warp .bghover:before {
  opacity: 0.3;
}

/*▼アニメーション ---------------- ▼*/
.scroll-anim {
  opacity: 0;
  transition: all 0.8s ease-in-out;
}

.scroll-anim-fadein.scrollin {
  opacity: 1;
}

.scroll-anim-slidein-left {
  transform: translateX(-100px);
}
.scroll-anim-slidein-left.scrollin {
  opacity: 1;
  transform: translateX(0);
}

.scroll-anim-slidein-right {
  transform: translateX(100px);
}
.scroll-anim-slidein-right.scrollin {
  opacity: 1;
  transform: translateX(0);
}

.scroll-anim-slidein-up {
  transform: translateY(100px);
}
.scroll-anim-slidein-up.scrollin {
  opacity: 1;
  transform: translateY(0);
}

.scroll-anim-slidein-down {
  transform: translateY(-100px);
}
.scroll-anim-slidein-down.scrollin {
  opacity: 1;
  transform: translateY(0);
}

.scroll-anim-zoomin {
  transform: scale(0.5);
  opacity: 0;
}
.scroll-anim-zoomin.scrollin {
  opacity: 1;
  transform: scale(1);
}

.scroll-anim-delay-1 {
  transition-delay: 0.3s;
}

.scroll-anim-delay-2 {
  transition-delay: 0.5s;
}

.scroll-anim-delay-3 {
  transition-delay: 0.7s;
}

.scroll-anim-fadein.fadein-left {
  transform: translate(-30px, 0);
}
.scroll-anim-fadein.fadein-right {
  transform: translate(30px, 0);
}
.scroll-anim-fadein.fadein-up {
  transform: translate(0, -30px);
}
.scroll-anim-fadein.fadein-bottom {
  transform: translate(0, 30px);
}
.scroll-anim-fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.anim-bg .bg-wrap {
  position: relative;
  display: inline-block;
  margin-top: 5px;
}

.anim-bg.is-animated .bg-wrap::before {
  animation: bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  background: linear-gradient(to right, #362ae0 0%, #3b79cc 50%, #42d3ed 100%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: left center;
}

.anim-bg .bg-wrap .inn {
  color: #fff;
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  padding: 5px 15px;
  position: relative;
  z-index: 1;
}

@keyframes anim-bg {
  0% {
    opacity: 0;
    transform: scaleX(0) translateX(-5%);
  }
  30% {
    transform: scaleX(1) translateX(0);
  }
  100% {
    transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}
.matrix .bg-wrap,
.matrix .bg-wrap .inn {
  display: block;
}

.matrix .bg-wrap {
  overflow: hidden;
  opacity: 0;
}

.matrix .bg-wrap + .bg-wrap {
  margin-top: 10px;
}

.matrix .bg-wrap .inn.large {
  font-size: 36px;
  font-weight: bold;
}

.matrix .bg-wrap .inn.small {
  font-size: 15px;
}

.matrix .bg-wrap .inn {
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.matrix.is-animated .bg-wrap {
  opacity: 1;
}

.matrix.is-animated .bg-wrap .inn {
  opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0);
}

.mask-bg {
  color: transparent;
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  overflow: hidden;
  position: relative;
  transition: color 0ms 450ms;
}

.mask-bg::after {
  background: linear-gradient(to right, #362ae0 0%, #3b79cc 50%, #42d3ed 100%);
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(0, 100%);
}

.mask-bg.is-animated {
  color: #362ae0;
}

.mask-bg.is-animated::after {
  animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.17, 1);
}

@keyframes mask-bg {
  0% {
    transform: translate(0, 101%);
  }
  40%, 60% {
    transform: translate(0, 0%);
  }
  100% {
    transform: translate(0, -100%);
  }
}
/*▲アニメーション----------------▲*/
@media screen and (max-width: 991px) {
  html.header-scrolled header {
    background-color: #fff;
  }
}
html body header {
  transition: 0.4s ease;
}
@media screen and (max-width: 991px) {
  html body header {
    background-color: transparent;
  }
}
@media screen and (max-width: 991px) {
  html body header .header-inner .logo-wrapper a {
    color: #fff;
    transition: 0.4s ease;
  }
}
html body main {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  html body main .mainvisual .mv-caption {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  html body main .mainvisual .mv-caption {
    background-image: url("../../images/index/mv-caption-bg-sp.webp");
    width: 100%;
    height: 61px;
    display: grid;
    place-content: center;
    color: #fff;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 17px;
    line-height: 1.4117647059;
  }
}
html body main {
  /*▼---#campaign---------------------------------------*/
}
html body main #campaign {
  background-image: url("../../images/index/campaign-bg.png");
  background-repeat: repeat-y;
  background-position: center top;
  padding-top: 40px;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  html body main #campaign {
    padding-top: 10px;
    padding-bottom: 30px;
  }
}
html body main #campaign h2 {
  text-align: center;
  color: #8D732B;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}
@media only screen and (min-width: 1200px) {
  html body main #campaign h2 {
    font-size: 3.2rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #campaign h2 {
    font-size: calc(2.94rem + (1vw - 0.992rem) * (1.2560386473));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #campaign h2 {
    font-size: calc(2.68rem + (1vw - 0.768rem) * (1.1659192825));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #campaign h2 {
    font-size: calc(2.42rem + (1vw - 0.576rem) * (1.3612565445));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #campaign h2 {
    font-size: calc(2.16rem + (1vw - 0.421rem) * (1.6883116883));
  }
}
@media only screen and (max-width: 420px) {
  html body main #campaign h2 {
    font-size: calc(1.9rem + (1vw - 0.32rem) * (2.6));
  }
}
html body main #campaign h2 {
  line-height: 1.625;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  html body main #campaign h2 {
    text-align: left;
    font-size: 19px;
    margin-bottom: 25px;
  }
  html body main #campaign h2 br {
    display: none;
  }
}
html body main #campaign h2 + p {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}
@media only screen and (min-width: 1200px) {
  html body main #campaign h2 + p {
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #campaign h2 + p {
    font-size: calc(2.08rem + (1vw - 0.992rem) * (0.5797101449));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #campaign h2 + p {
    font-size: calc(1.96rem + (1vw - 0.768rem) * (0.5381165919));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #campaign h2 + p {
    font-size: calc(1.84rem + (1vw - 0.576rem) * (0.6282722513));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #campaign h2 + p {
    font-size: calc(1.72rem + (1vw - 0.421rem) * (0.7792207792));
  }
}
@media only screen and (max-width: 420px) {
  html body main #campaign h2 + p {
    font-size: calc(1.6rem + (1vw - 0.32rem) * (1.2));
  }
}
html body main #campaign h2 + p {
  line-height: 1.7727272727;
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  html body main #campaign h2 + p {
    font-size: 16px;
    text-align: left;
    margin-bottom: 1rem;
  }
  html body main #campaign h2 + p br {
    display: none;
  }
}
html body main #campaign .contents-list-wrapper {
  display: grid;
  gap: 65px;
}
@media screen and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper {
    gap: 20px;
  }
}
html body main #campaign .contents-list-wrapper .contents-list:first-child {
  position: relative;
}
html body main #campaign .contents-list-wrapper .contents-list:first-child dl {
  position: absolute;
  visibility: hidden;
}
html body main #campaign .contents-list-wrapper .contents-list:first-child figure {
  max-width: 836px;
  width: 100%;
  margin: auto;
  position: relative;
  z-index: 0;
}
html body main #campaign .contents-list-wrapper .contents-list:first-child figure::before {
  content: "";
  position: absolute;
  background-image: url("../../images/index/campaign-img-2.webp");
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 288.5px;
  height: 253.5px;
  top: 0;
  bottom: 0;
  left: -215px;
  right: 0;
  margin: auto auto auto 0;
}
@media screen and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper .contents-list:first-child figure::before {
    content: none;
  }
}
html body main #campaign .contents-list-wrapper .contents-list:last-child {
  max-width: 696px;
  width: 100%;
  margin: auto;
  display: grid;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child {
    gap: 25px;
  }
}
html body main #campaign .contents-list-wrapper .contents-list:last-child dl dt,
html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}
html body main #campaign .contents-list-wrapper .contents-list:last-child dl dt {
  width: 180px;
  height: 45px;
  display: grid;
  place-content: center;
  font-size: 29px;
  border: 1px solid #2B2B2B;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dt {
    width: 90px;
    height: 22px;
    font-size: 15px;
    margin-bottom: 5px;
  }
}
html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd {
  font-size: 25px;
}
@media only screen and (min-width: 1200px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd {
    font-size: 2.5rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd {
    font-size: calc(2.3rem + (1vw - 0.992rem) * (0.9661835749));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd {
    font-size: calc(2.1rem + (1vw - 0.768rem) * (0.8968609865));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd {
    font-size: calc(1.9rem + (1vw - 0.576rem) * (1.0471204188));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd {
    font-size: calc(1.7rem + (1vw - 0.421rem) * (1.2987012987));
  }
}
@media only screen and (max-width: 420px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd {
    font-size: calc(1.5rem + (1vw - 0.32rem) * (2));
  }
}
html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd {
  line-height: 2.8;
}
@media screen and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd {
    font-size: 15px;
    line-height: 2;
  }
}
html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.large {
  font-size: 36px;
}
@media only screen and (min-width: 1200px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.large {
    font-size: 3.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.large {
    font-size: calc(3.18rem + (1vw - 0.992rem) * (2.0289855072));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.large {
    font-size: calc(2.76rem + (1vw - 0.768rem) * (1.8834080717));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.large {
    font-size: calc(2.34rem + (1vw - 0.576rem) * (2.1989528796));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.large {
    font-size: calc(1.92rem + (1vw - 0.421rem) * (2.7272727273));
  }
}
@media only screen and (max-width: 420px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.large {
    font-size: calc(1.5rem + (1vw - 0.32rem) * (4.2));
  }
}
html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.large {
  line-height: 1.9444444444;
}
@media screen and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.large {
    font-size: 15px;
    line-height: 2;
  }
}
html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.small {
  display: block;
  font-size: 16px;
}
@media only screen and (min-width: 1200px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.small {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.small {
    font-size: calc(1.52rem + (1vw - 0.992rem) * (0.38647343));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.small {
    font-size: calc(1.44rem + (1vw - 0.768rem) * (0.3587443946));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.small {
    font-size: calc(1.36rem + (1vw - 0.576rem) * (0.4188481675));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.small {
    font-size: calc(1.28rem + (1vw - 0.421rem) * (0.5194805195));
  }
}
@media only screen and (max-width: 420px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.small {
    font-size: calc(1.2rem + (1vw - 0.32rem) * (0.8));
  }
}
html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.small {
  margin-top: -20px;
}
@media screen and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.small {
    font-size: 12px;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  html body main #campaign .contents-list-wrapper .contents-list:last-child dl dd span.pc {
    display: none;
  }
}
html body main {
  /*▲---#campaign---------------------------------------*/
  /*▼--#shop----------------------------------------*/
}
html body main #shop {
  background-color: #f5f1ed;
  padding: 6rem 0;
}
@media screen and (max-width: 767px) {
  html body main #shop {
    padding: 4rem 0;
  }
}
html body main #shop .title-type01 h2 {
  font-weight: 500;
}
html body main #shop .shop-top {
  text-align: center;
  margin-top: -1rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  html body main #shop .shop-top {
    margin-top: 0rem;
  }
}
@media only screen and (min-width: 1200px) {
  html body main #shop .shop-top .text01 {
    font-size: 2.8rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #shop .shop-top .text01 {
    font-size: calc(2.53rem + (1vw - 0.992rem) * (1.3043478261));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #shop .shop-top .text01 {
    font-size: calc(2.26rem + (1vw - 0.768rem) * (1.2107623318));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #shop .shop-top .text01 {
    font-size: calc(1.99rem + (1vw - 0.576rem) * (1.4136125654));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #shop .shop-top .text01 {
    font-size: calc(1.72rem + (1vw - 0.421rem) * (1.7532467532));
  }
}
@media only screen and (max-width: 420px) {
  html body main #shop .shop-top .text01 {
    font-size: calc(1.45rem + (1vw - 0.32rem) * (2.7));
  }
}
html body main #shop .shop-top .text01 {
  font-weight: 500;
  letter-spacing: -0.05rem;
}
@media only screen and (min-width: 1200px) {
  html body main #shop .shop-top h3 {
    font-size: 3.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #shop .shop-top h3 {
    font-size: calc(3.22rem + (1vw - 0.992rem) * (1.8357487923));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #shop .shop-top h3 {
    font-size: calc(2.84rem + (1vw - 0.768rem) * (1.7040358744));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #shop .shop-top h3 {
    font-size: calc(2.46rem + (1vw - 0.576rem) * (1.9895287958));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #shop .shop-top h3 {
    font-size: calc(2.08rem + (1vw - 0.421rem) * (2.4675324675));
  }
}
@media only screen and (max-width: 420px) {
  html body main #shop .shop-top h3 {
    font-size: calc(1.7rem + (1vw - 0.32rem) * (3.8));
  }
}
html body main #shop .shop-top h3 {
  font-weight: 500;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  html body main #shop .shop-top h3 {
    margin-top: 0.3rem;
  }
}
html body main #shop .shop-top .shop-img {
  margin: 2rem auto;
}
@media only screen and (min-width: 1200px) {
  html body main #shop .shop-top .text02 {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #shop .shop-top .text02 {
    font-size: calc(1.72rem + (1vw - 0.992rem) * (0.38647343));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #shop .shop-top .text02 {
    font-size: calc(1.64rem + (1vw - 0.768rem) * (0.3587443946));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #shop .shop-top .text02 {
    font-size: calc(1.56rem + (1vw - 0.576rem) * (0.4188481675));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #shop .shop-top .text02 {
    font-size: calc(1.48rem + (1vw - 0.421rem) * (0.5194805195));
  }
}
@media only screen and (max-width: 420px) {
  html body main #shop .shop-top .text02 {
    font-size: calc(1.4rem + (1vw - 0.32rem) * (0.8));
  }
}
html body main #shop .shop-top .text02 {
  font-weight: 500;
  max-width: 640px;
  margin: 0 auto 0;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  html body main #shop .shop-top .text02 {
    text-align: left;
  }
  html body main #shop .shop-top .text02 br {
    display: none;
  }
}
html body main #shop .item-list02 {
  width: 100%;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 2rem;
  row-gap: 2rem;
}
@media screen and (max-width: 991px) {
  html body main #shop .item-list02 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 1.5rem;
    row-gap: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  html body main #shop .item-list02 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1rem;
    row-gap: 1.5rem;
  }
}
@media screen and (max-width: 575px) {
  html body main #shop .item-list02 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: 1rem;
    row-gap: 1rem;
  }
}
html body main #shop .item-list02 .item {
  background-color: #fff;
}
html body main #shop .item-list02 .item .item-tag {
  margin-top: 0.7rem;
}
html body main #shop .item-list02 .item .item-tag.shinki {
  position: relative;
  z-index: 0;
}
html body main #shop .item-list02 .item .item-tag.shinki::after {
  content: "新規オープン";
  position: absolute;
  background-color: #E61673;
  display: inline-block;
  padding: 1px 10px;
  line-height: 1.6;
  width: fit-content;
  color: #fff;
}
@media only screen and (min-width: 1200px) {
  html body main #shop .item-list02 .item .item-tag.shinki::after {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #shop .item-list02 .item .item-tag.shinki::after {
    font-size: calc(1.54rem + (1vw - 0.992rem) * (0.2898550725));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #shop .item-list02 .item .item-tag.shinki::after {
    font-size: calc(1.48rem + (1vw - 0.768rem) * (0.269058296));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #shop .item-list02 .item .item-tag.shinki::after {
    font-size: calc(1.42rem + (1vw - 0.576rem) * (0.3141361257));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #shop .item-list02 .item .item-tag.shinki::after {
    font-size: calc(1.36rem + (1vw - 0.421rem) * (0.3896103896));
  }
}
@media only screen and (max-width: 420px) {
  html body main #shop .item-list02 .item .item-tag.shinki::after {
    font-size: calc(1.3rem + (1vw - 0.32rem) * (0.6));
  }
}
html body main #shop .item-list02 .item .item-tag.shinki::after {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto 0 0.5rem auto;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  html body main #shop .item-list02 .item .item-tag.shinki::after {
    position: relative;
  }
}
html body main #shop .item-list02 .item .item-tag span {
  background-color: #64543c;
  color: #fff;
  font-weight: 500;
}
@media only screen and (min-width: 1200px) {
  html body main #shop .item-list02 .item .item-tag span {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #shop .item-list02 .item .item-tag span {
    font-size: calc(1.38rem + (1vw - 0.992rem) * (0.0966183575));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #shop .item-list02 .item .item-tag span {
    font-size: calc(1.36rem + (1vw - 0.768rem) * (0.0896860987));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #shop .item-list02 .item .item-tag span {
    font-size: calc(1.34rem + (1vw - 0.576rem) * (0.1047120419));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #shop .item-list02 .item .item-tag span {
    font-size: calc(1.32rem + (1vw - 0.421rem) * (0.1298701299));
  }
}
@media only screen and (max-width: 420px) {
  html body main #shop .item-list02 .item .item-tag span {
    font-size: calc(1.3rem + (1vw - 0.32rem) * (0.2));
  }
}
html body main #shop .item-list02 .item .item-tag span {
  display: inline-block;
  padding: 1px 10px;
  margin-right: 0.5rem;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  html body main #shop .item-list02 .item .item-tag span {
    line-height: 1.5;
  }
}
html body main #shop .item-list02 .item .item-tag span.tag02 {
  background-color: #e61673;
}
html body main #shop .item-list02 .item .item-type {
  line-height: 1.5;
}
@media only screen and (min-width: 1200px) {
  html body main #shop .item-list02 .item .item-type {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #shop .item-list02 .item .item-type {
    font-size: calc(1.4rem + (1vw - 0.992rem) * (0));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #shop .item-list02 .item .item-type {
    font-size: calc(1.4rem + (1vw - 0.768rem) * (0));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #shop .item-list02 .item .item-type {
    font-size: calc(1.4rem + (1vw - 0.576rem) * (0));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #shop .item-list02 .item .item-type {
    font-size: calc(1.4rem + (1vw - 0.421rem) * (0));
  }
}
@media only screen and (max-width: 420px) {
  html body main #shop .item-list02 .item .item-type {
    font-size: calc(1.4rem + (1vw - 0.32rem) * (0));
  }
}
html body main #shop .item-list02 .item .item-type {
  color: #64543c;
}
html body main #shop .item-list02 .item .item-name {
  margin-top: 0.8rem;
}
@media only screen and (min-width: 1200px) {
  html body main #shop .item-list02 .item .item-name {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #shop .item-list02 .item .item-name {
    font-size: calc(1.58rem + (1vw - 0.992rem) * (0.0966183575));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #shop .item-list02 .item .item-name {
    font-size: calc(1.56rem + (1vw - 0.768rem) * (0.0896860987));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #shop .item-list02 .item .item-name {
    font-size: calc(1.54rem + (1vw - 0.576rem) * (0.1047120419));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #shop .item-list02 .item .item-name {
    font-size: calc(1.52rem + (1vw - 0.421rem) * (0.1298701299));
  }
}
@media only screen and (max-width: 420px) {
  html body main #shop .item-list02 .item .item-name {
    font-size: calc(1.5rem + (1vw - 0.32rem) * (0.2));
  }
}
html body main #shop .item-list02 .item .item-name {
  line-height: 1.5;
}
html body main #shop .item-list02 .item.shop-service .tag01 {
  background-color: #2d6475;
}
html body main #shop .item-list02 .item.shop-service .item-type {
  color: #2d6475;
}
html body main #shop .item-list02 .item.shop-amusement .tag01 {
  background-color: #aa2359;
}
html body main #shop .item-list02 .item.shop-amusement .item-type {
  color: #aa2359;
}
html body main #shop .item-list02 .item a {
  display: block;
  position: relative;
  padding: 1rem 1rem 1.5rem;
}
html body main #shop .item-list02 .item a:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 36px;
  height: 36px;
  background-image: url(../../images/index/shop-1f.svg);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
  left: 3px;
  top: 3px;
}
@media screen and (max-width: 575px) {
  html body main #shop .item-list02 .item a:before {
    left: 0px;
    top: 0px;
  }
}
@media screen and (max-width: 575px) {
  html body main #shop .item-list02 .item a {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0.5rem 0.5rem 0.5rem;
  }
}
@media screen and (max-width: 575px) {
  html body main #shop .item-list02 .item a .item-img {
    width: 48%;
  }
}
@media screen and (max-width: 575px) {
  html body main #shop .item-list02 .item a .item-info {
    width: 48%;
  }
}
html body main #shop .floor-block-2f .item-list02 .item a:before {
  background-image: url(../../images/index/shop-2f.svg);
}
html body main #shop .floor-block-3f .item-list02 .item a:before {
  background-image: url(../../images/index/shop-3f.svg);
}
html body main #shop .floor-block-4f .item-list02 .item a:before {
  background-image: url(../../images/index/shop-4f.svg);
}
html body main #shop .floor-wrapper .floor-title {
  margin: 5rem auto 3rem;
}
@media screen and (max-width: 767px) {
  html body main #shop .floor-wrapper .floor-title {
    margin: 3rem auto 1.5rem;
  }
}
html body main #shop .floor-wrapper .floor-title img {
  width: 90px;
  height: auto;
}
@media screen and (max-width: 767px) {
  html body main #shop .floor-wrapper .floor-title img {
    width: 70px;
  }
}
@media screen and (max-width: 767px) {
  html body main #shop .floor-wrapper .floor-btn-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: space-around;
  }
  html body main #shop .floor-wrapper .floor-btn-list li {
    cursor: pointer;
    background-color: #2a344b;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    transition: background-color 0.3s ease;
  }
  html body main #shop .floor-wrapper .floor-btn-list li span {
    display: flex;
    justify-content: center;
    height: 100%;
  }
  html body main #shop .floor-wrapper .floor-btn-list li img {
    align-self: center;
  }
  html body main #shop .floor-wrapper .floor-btn-list li.active {
    background-color: #e61673;
  }
  html body main #shop .floor-wrapper .floor-list {
    margin-top: 20px;
    position: relative;
  }
  html body main #shop .floor-wrapper .floor-block {
    display: none;
    /* デフォルトは非表示 */
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  html body main #shop .floor-wrapper .floor-block.active {
    display: block;
    /* アクティブ時に表示 */
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  html body main #shop .floor-wrapper .floor-block {
    display: block;
    /* 全てのフロア情報を表示 */
    opacity: 1;
    /* スムーズな表示切替のために初期状態を設定 */
    transition: none;
    /* タブ切り替え用のアニメーションを無効化 */
  }
  html body main #shop .floor-wrapper .floor-btn-list {
    display: none;
    /* ボタンリストを非表示 */
  }
}
html body main {
  /*▲---#shop---------------------------------------*/
  /*▼---#access---------------------------------------*/
}
html body main #access {
  padding: 6rem 0;
}
@media screen and (max-width: 767px) {
  html body main #access {
    padding: 4rem 0;
  }
}
html body main #access .block {
  display: flex;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
  height: 100%;
}
html body main #access .block .block-info {
  width: 43%;
}
@media screen and (max-width: 767px) {
  html body main #access .block .block-info {
    width: 100%;
  }
}
html body main #access .block .block-info h3 {
  font-weight: 500;
}
@media only screen and (min-width: 1200px) {
  html body main #access .block .block-info h3 {
    font-size: 2.8rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #access .block .block-info h3 {
    font-size: calc(2.68rem + (1vw - 0.992rem) * (0.5797101449));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #access .block .block-info h3 {
    font-size: calc(2.56rem + (1vw - 0.768rem) * (0.5381165919));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #access .block .block-info h3 {
    font-size: calc(2.44rem + (1vw - 0.576rem) * (0.6282722513));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #access .block .block-info h3 {
    font-size: calc(2.32rem + (1vw - 0.421rem) * (0.7792207792));
  }
}
@media only screen and (max-width: 420px) {
  html body main #access .block .block-info h3 {
    font-size: calc(2.2rem + (1vw - 0.32rem) * (1.2));
  }
}
html body main #access .block .block-info .address {
  font-weight: 500;
}
@media only screen and (min-width: 1200px) {
  html body main #access .block .block-info .address {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #access .block .block-info .address {
    font-size: calc(1.76rem + (1vw - 0.992rem) * (0.193236715));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #access .block .block-info .address {
    font-size: calc(1.72rem + (1vw - 0.768rem) * (0.1793721973));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #access .block .block-info .address {
    font-size: calc(1.68rem + (1vw - 0.576rem) * (0.2094240838));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #access .block .block-info .address {
    font-size: calc(1.64rem + (1vw - 0.421rem) * (0.2597402597));
  }
}
@media only screen and (max-width: 420px) {
  html body main #access .block .block-info .address {
    font-size: calc(1.6rem + (1vw - 0.32rem) * (0.4));
  }
}
html body main #access .block .block-info .access {
  margin-top: 1.5rem;
}
html body main #access .block .block-map {
  width: 53%;
}
@media screen and (max-width: 767px) {
  html body main #access .block .block-map {
    width: 100%;
    order: -1;
    margin-bottom: 2rem;
  }
}
html body main #access .map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%;
}
@media screen and (max-width: 767px) {
  html body main #access .map {
    padding-top: 56.25%;
  }
}
html body main #access .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
html body main {
  /*▲---#access---------------------------------------*/
  /*▼---#step---------------------------------------*/
}
@media screen and (max-width: 767px) {
  html body main #step {
    background-image: url("../../images/index/step-bg.webp");
    background-repeat: repeat-y;
    background-position: center top;
    padding: 1rem 0 40px;
    margin-bottom: 30px;
  }
}
html body main #step h2 {
  background-image: url("../../images/index/step-ttl-bg-pc.webp");
  background-repeat: no-repeat;
  background-position: center top;
  height: 94px;
  display: grid;
  place-content: center;
  text-align: center;
  color: #fff;
}
@media only screen and (min-width: 1200px) {
  html body main #step h2 {
    font-size: 5.1rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #step h2 {
    font-size: calc(4.42rem + (1vw - 0.992rem) * (3.2850241546));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #step h2 {
    font-size: calc(3.74rem + (1vw - 0.768rem) * (3.0493273543));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #step h2 {
    font-size: calc(3.06rem + (1vw - 0.576rem) * (3.5602094241));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #step h2 {
    font-size: calc(2.38rem + (1vw - 0.421rem) * (4.4155844156));
  }
}
@media only screen and (max-width: 420px) {
  html body main #step h2 {
    font-size: calc(1.7rem + (1vw - 0.32rem) * (6.8));
  }
}
html body main #step h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-weight: 800;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  html body main #step h2 {
    background-image: url("../../images/index/step-ttl-bg-sp.webp");
    width: calc(100% - 2rem);
    height: 37px;
    font-size: 17px;
    font-size: 15px;
    font-size: 4.2857142857vw;
    font-weight: 700;
    margin: auto auto 0;
  }
}
html body main #step .contents-inner {
  padding-top: 10px;
  padding-bottom: 50px;
}
@media screen and (min-width: 768px) {
  html body main #step .contents-inner {
    background-image: url("../../images/index/step-bg.webp");
    background-repeat: repeat-y;
    background-position: center top;
    padding-top: 20px;
    padding-bottom: 90px;
  }
}
@media screen and (min-width: 768px) {
  html body main #step .contents-inner .wrapper {
    max-width: calc(1100px + 2rem);
  }
}
html body main #step .contents-inner .wrapper > p {
  text-align: center;
}
@media only screen and (min-width: 1200px) {
  html body main #step .contents-inner .wrapper > p {
    font-size: 3rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #step .contents-inner .wrapper > p {
    font-size: calc(2.74rem + (1vw - 0.992rem) * (1.2560386473));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #step .contents-inner .wrapper > p {
    font-size: calc(2.48rem + (1vw - 0.768rem) * (1.1659192825));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #step .contents-inner .wrapper > p {
    font-size: calc(2.22rem + (1vw - 0.576rem) * (1.3612565445));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #step .contents-inner .wrapper > p {
    font-size: calc(1.96rem + (1vw - 0.421rem) * (1.6883116883));
  }
}
@media only screen and (max-width: 420px) {
  html body main #step .contents-inner .wrapper > p {
    font-size: calc(1.7rem + (1vw - 0.32rem) * (2.6));
  }
}
html body main #step .contents-inner .wrapper > p {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  html body main #step .contents-inner .wrapper > p {
    margin-bottom: 1rem;
    font-size: 17px;
    text-align: left;
  }
}
html body main #step .contents-inner .wrapper > p span {
  display: block;
}
@media only screen and (min-width: 1200px) {
  html body main #step .contents-inner .wrapper > p span {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #step .contents-inner .wrapper > p span {
    font-size: calc(1.94rem + (1vw - 0.992rem) * (0.2898550725));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #step .contents-inner .wrapper > p span {
    font-size: calc(1.88rem + (1vw - 0.768rem) * (0.269058296));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #step .contents-inner .wrapper > p span {
    font-size: calc(1.82rem + (1vw - 0.576rem) * (0.3141361257));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #step .contents-inner .wrapper > p span {
    font-size: calc(1.76rem + (1vw - 0.421rem) * (0.3896103896));
  }
}
@media only screen and (max-width: 420px) {
  html body main #step .contents-inner .wrapper > p span {
    font-size: calc(1.7rem + (1vw - 0.32rem) * (0.6));
  }
}
@media screen and (max-width: 767px) {
  html body main #step .contents-inner .wrapper > p span {
    display: inline;
    font-size: 17px;
  }
}
html body main #step .contents-list-wrapper {
  display: grid;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  html body main #step .contents-list-wrapper {
    gap: 25px;
  }
}
html body main #step .contents-list-wrapper .contents-list:first-child {
  position: relative;
}
html body main #step .contents-list-wrapper .contents-list:first-child ul {
  position: absolute;
  visibility: hidden;
}
html body main #step dl {
  max-width: 1000px;
  width: 100%;
  margin: auto;
}
html body main #step dl dt,
html body main #step dl dd {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 17px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  html body main #step dl dt,
  html body main #step dl dd {
    font-size: 15px;
    font-weight: 400;
  }
}
html body main #step dl dd a {
  text-decoration: underline;
}
html body main #step dl dd a:hover {
  text-decoration: none;
}
html body main {
  /*▲---#step---------------------------------------*/
  /*▼---#use_shop---------------------------------------*/
}
html body main #use_shop h2 {
  background-image: url("../../images/index/use_shop-ttl-bg-pc.webp");
  background-repeat: no-repeat;
  background-position: center top;
  height: 94px;
  display: grid;
  place-content: center;
  text-align: center;
  color: #fff;
}
@media only screen and (min-width: 1200px) {
  html body main #use_shop h2 {
    font-size: 5.1rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #use_shop h2 {
    font-size: calc(4.42rem + (1vw - 0.992rem) * (3.2850241546));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #use_shop h2 {
    font-size: calc(3.74rem + (1vw - 0.768rem) * (3.0493273543));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #use_shop h2 {
    font-size: calc(3.06rem + (1vw - 0.576rem) * (3.5602094241));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #use_shop h2 {
    font-size: calc(2.38rem + (1vw - 0.421rem) * (4.4155844156));
  }
}
@media only screen and (max-width: 420px) {
  html body main #use_shop h2 {
    font-size: calc(1.7rem + (1vw - 0.32rem) * (6.8));
  }
}
html body main #use_shop h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-weight: 800;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  html body main #use_shop h2 {
    background-image: url("../../images/index/use_shop-ttl-bg-sp.webp");
    width: calc(100% - 2rem);
    height: 37px;
    font-size: 17px;
    font-size: 15px;
    font-size: 4.2857142857vw;
    font-weight: 700;
    margin: auto auto 0;
  }
}
html body main #use_shop .contents-inner {
  padding-top: 10px;
  padding-bottom: 50px;
}
@media screen and (min-width: 768px) {
  html body main #use_shop .contents-inner {
    background-image: url("../../images/index/use_shop-bg.webp");
    background-repeat: repeat-y;
    background-position: center top;
    padding-top: 20px;
    padding-bottom: 110px;
  }
}
@media screen and (min-width: 768px) {
  html body main #use_shop .contents-inner .wrapper {
    max-width: calc(1100px + 2rem);
  }
}
html body main #use_shop .contents-inner .wrapper > p {
  text-align: center;
}
@media only screen and (min-width: 1200px) {
  html body main #use_shop .contents-inner .wrapper > p {
    font-size: 3rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #use_shop .contents-inner .wrapper > p {
    font-size: calc(2.74rem + (1vw - 0.992rem) * (1.2560386473));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #use_shop .contents-inner .wrapper > p {
    font-size: calc(2.48rem + (1vw - 0.768rem) * (1.1659192825));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #use_shop .contents-inner .wrapper > p {
    font-size: calc(2.22rem + (1vw - 0.576rem) * (1.3612565445));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #use_shop .contents-inner .wrapper > p {
    font-size: calc(1.96rem + (1vw - 0.421rem) * (1.6883116883));
  }
}
@media only screen and (max-width: 420px) {
  html body main #use_shop .contents-inner .wrapper > p {
    font-size: calc(1.7rem + (1vw - 0.32rem) * (2.6));
  }
}
html body main #use_shop .contents-inner .wrapper > p {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  html body main #use_shop .contents-inner .wrapper > p {
    margin-bottom: 1rem;
    font-size: 17px;
    text-align: left;
  }
}
html body main #use_shop .contents-inner .wrapper > p span {
  display: block;
}
@media only screen and (min-width: 1200px) {
  html body main #use_shop .contents-inner .wrapper > p span {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #use_shop .contents-inner .wrapper > p span {
    font-size: calc(1.94rem + (1vw - 0.992rem) * (0.2898550725));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #use_shop .contents-inner .wrapper > p span {
    font-size: calc(1.88rem + (1vw - 0.768rem) * (0.269058296));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #use_shop .contents-inner .wrapper > p span {
    font-size: calc(1.82rem + (1vw - 0.576rem) * (0.3141361257));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #use_shop .contents-inner .wrapper > p span {
    font-size: calc(1.76rem + (1vw - 0.421rem) * (0.3896103896));
  }
}
@media only screen and (max-width: 420px) {
  html body main #use_shop .contents-inner .wrapper > p span {
    font-size: calc(1.7rem + (1vw - 0.32rem) * (0.6));
  }
}
@media screen and (max-width: 767px) {
  html body main #use_shop .contents-inner .wrapper > p span {
    display: inline;
    font-size: 17px;
  }
}
html body main #use_shop .contents-list-wrapper {
  display: grid;
  gap: 55px;
}
@media screen and (min-width: 768px) {
  html body main #use_shop .contents-list-wrapper .contents-list {
    background-color: #fff;
    border-radius: 20px;
    padding: 50px 1rem;
  }
  html body main #use_shop .contents-list-wrapper .contents-list .contents-list-inner {
    max-width: 1000px;
    width: 100%;
    margin: auto;
  }
}
@media screen and (max-width: 767px) {
  html body main #use_shop .contents-list-wrapper {
    gap: 35px;
  }
}
html body main #use_shop .contents-list-wrapper h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}
@media only screen and (min-width: 1200px) {
  html body main #use_shop .contents-list-wrapper h3 {
    font-size: 2.7rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body main #use_shop .contents-list-wrapper h3 {
    font-size: calc(2.5rem + (1vw - 0.992rem) * (0.9661835749));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body main #use_shop .contents-list-wrapper h3 {
    font-size: calc(2.3rem + (1vw - 0.768rem) * (0.8968609865));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body main #use_shop .contents-list-wrapper h3 {
    font-size: calc(2.1rem + (1vw - 0.576rem) * (1.0471204188));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body main #use_shop .contents-list-wrapper h3 {
    font-size: calc(1.9rem + (1vw - 0.421rem) * (1.2987012987));
  }
}
@media only screen and (max-width: 420px) {
  html body main #use_shop .contents-list-wrapper h3 {
    font-size: calc(1.7rem + (1vw - 0.32rem) * (2));
  }
}
html body main #use_shop .contents-list-wrapper h3 {
  margin-bottom: 1rem;
  display: grid;
  place-content: center;
}
@media screen and (min-width: 768px) {
  html body main #use_shop .contents-list-wrapper h3 {
    background-color: #086D3B;
    color: #fff;
    height: 40px;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  html body main #use_shop .contents-list-wrapper h3 {
    height: 30px;
    border: 1px solid #2B2B2B;
  }
}
html body main #use_shop .contents-list-wrapper .contents-list .box figure img {
  aspect-ratio: 1/1;
  width: 100%;
}
html body main #use_shop .contents-list-wrapper .contents-list .box .box-content dl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}
html body main #use_shop .contents-list-wrapper .contents-list .box .box-content dl dt {
  background-color: #086D3B;
  width: 70px;
  height: 25px;
  display: grid;
  place-content: center;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 10px;
}
html body main #use_shop .contents-list-wrapper .contents-list .box .box-content dl dd {
  font-size: 18px;
  line-height: 1.4444444444;
}
html body main #use_shop .contents-list-wrapper .contents-list:first-child .box-wrap {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 203px));
  gap: 50px 60px;
  justify-content: space-between;
  container-type: inline-size;
}
@media screen and (max-width: 1199px) {
  html body main #use_shop .contents-list-wrapper .contents-list:first-child .box-wrap {
    gap: 50px 1.5rem;
  }
}
@media screen and (max-width: 575px) {
  html body main #use_shop .contents-list-wrapper .contents-list:first-child .box-wrap {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
html body main #use_shop .contents-list-wrapper .contents-list:first-child .box-wrap .box {
  container-type: inline-size;
}
@media screen and (max-width: 575px) {
  html body main #use_shop .contents-list-wrapper .contents-list:first-child .box-wrap .box {
    display: grid;
    grid-template-columns: 157px 1fr;
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid #707070;
    padding-bottom: 1rem;
  }
  html body main #use_shop .contents-list-wrapper .contents-list:first-child .box-wrap .box:last-child {
    border-bottom: none;
  }
}
@media screen and (min-width: 576px) {
  html body main #use_shop .contents-list-wrapper .contents-list:first-child .box-wrap .box figure {
    margin-bottom: 14px;
  }
}
html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 150px 20px;
}
@media screen and (max-width: 991px) {
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap {
    gap: 80px 20px;
  }
}
@media screen and (max-width: 575px) {
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box {
  container-type: inline-size;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 575px) {
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box {
    border-bottom: 1px solid #707070;
    padding-bottom: 40px;
  }
}
html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box > figure {
  width: 203px;
}
@container (width<=489px) {
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box > figure {
    display: none;
  }
}
html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content {
  width: calc(100% - 10px - 203px);
}
@container (width<=489px) {
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content {
    width: 100%;
  }
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content .info-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content figure {
    width: 157px;
  }
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content dl {
    width: calc(100% - 10px - 157px);
    margin-bottom: 0;
    padding-top: 30px;
  }
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content .service-wrap {
    width: 100%;
  }
}
html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content .info-wrap {
  margin-bottom: 35px;
}
@container (width<=489px) {
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content .info-wrap {
    margin-bottom: 10px;
  }
}
html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content figure {
  display: none;
}
@container (width<=489px) {
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content figure {
    display: block;
  }
}
@container (width<=489px) {
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content .service-wrap {
    width: 100%;
  }
}
html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content .service-wrap h4,
html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content .service-wrap p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  line-height: 1.4444444444;
}
html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content .service-wrap h4 {
  color: #086D3B;
  margin-bottom: 10px;
}
@container (width<=489px) {
  html body main #use_shop .contents-list-wrapper .contents-list:last-child .box-wrap .box .box-content .service-wrap h4 {
    margin-bottom: 5px;
  }
}
html body main {
  /*▲---#use_shop---------------------------------------*/
}

/*# sourceMappingURL=index.css.map */
