html {
  scroll-behavior: smooth;
}

body {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho Pro", serif;
}

.bold {
  font-weight: 900;
}

.scroll-target {
  scroll-margin-top: 100px;
}

/*topビジュアル*/
#hero {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.hero-spa {
  background-image: linear-gradient(to bottom, rgba(10, 61, 83, 0.8) 0%, rgba(10, 61, 83, 0.3) 60%, rgba(10, 61, 83, 0) 80%), url("../img/spa/spa-heroimg.png");
}

.hero-copy {
  position: absolute;
  bottom: 15%;
  left: 8%;
  z-index: 1;
  color: white;
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.6);
  text-align: left;
  margin-bottom: 2em;
}

.hero-copy h2 {
  font-weight: 500;
  line-height: 1.2;
  font-size: 58px;
}

.hero-copy-logo{
  width: 100%;
  max-width: 450px;
}

.hero-copy p {
  font-size: 20px;
  margin: 0;
  padding: 0 0 0 0.5em;
}

/*コンセプト*/
.spa-concept {
  width: 100%;
  position: relative;
  overflow: hidden;
  background-image: linear-gradient(to top, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 100%), url("../img/spa/concept-bg.png");
  background-size: contain;
  background-position: bottom center;
  background-repeat: no-repeat;
  padding-bottom: 30em;
}

.spa-concept h3,
.spa-intro h3 {
  font-size: 36px;
  color: #04afcd;
  margin-bottom: 0;
  line-height: 55px;
  letter-spacing: 0.1em;
}

.spa-concept-span,
.spa-intro-span,
.spa-access-span {
  font-size: 16px;
}

.spa-concept-box {
  width: 95%;
  display: grid;
  grid-template-columns: 25% 1fr;
  grid-template-rows: 75% 1fr;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  margin: 0 auto;
  z-index: 10;
  margin-top: 4em;
  position: relative;
}

.spa-concept-title {
  grid-area: 1 / 1 / 3 / 2;
  font-size: 36px;
  line-height: 2em;
  writing-mode: vertical-rl;
  justify-self: start;
  font-weight: 500;
  letter-spacing: 0.2em;
}

.spa-concept-title span {
  font-size: 36px;
  font-weight: 500;
}

.highlight {
  color: #04afcd;
}

.shift-1 {
  padding-top: 1.5em;
}

.shift-2 {
  padding-top: 2.5em;
}

.spa-concept-img {
  grid-area: 1 / 2 / 2 / 3;
  z-index: 1;
}

.spa-concept-img img {
  width: 98%;
  max-width: 800px;
}

.spa-concept-item {
  justify-self: center;
  align-self: start;
}

.spa-concept-txt {
  grid-area: 2 / 2 / 3 / 3;
  padding: 0 0 0.5em 0;
  font-size: 20px;
  max-width: 780px;
  line-height: 1.8em;
  width: 98%;
  margin: 1em auto;
  color: #222;
}

.blur-layer {
  position: absolute;
  top: 48%;
  left: 50%;
  width: 100%;
  max-width: 1300px;
  height: 60%;
  max-height: 840px;
  background: rgba(4, 175, 205, 0.1);
  border-radius: 50% / 30%;
  filter: blur(50px);
  transform: translate(-50%, -60%);
  z-index: 0;
}

/*introエリア*/
.spa-intro {
  width: 100%;
  background: radial-gradient(circle, #0a3d53 0%, #315868 100%);
  color: #fff;
  padding: 100px 0 140px;
}

.spa-intro h4 {
  font-size: 32px;
  margin: 0 auto;
}

.spa-intro-topimg {
  width: 100%;
  margin: 4em 0 2.5em;
}

.spa-intro-link-logo{
  width: 100%;
  max-width: 180px;
  margin: 8px 0 0;
}

.spa-intro-link-area {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.spa-intro-link-area p {
  margin: 0;
  padding: 0;
}

.spa-link-box-area {
  display: flex;
  justify-content: space-between;
  margin: 2em 0 3em;
  margin-bottom: 6em;
  align-items: center;
}

.spa-link-box-area p {
  margin: 0;
  padding: 0;
  font-size: 20px;
}

.spa-link-box-area img {
  width: 15%;
}

.spa-link-arrow {
  height: 100%;
  max-width: 25px;
}

.spa-link-box {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 5px;
  color: #fff;
  width: 32%;
}

.spa-link-box a {
  color: #fff;
  text-decoration: none;
}

.spa-linkbox-flex {
  display: flex;
  justify-content: space-between;
  padding: 1em;
  align-items: center;
  box-sizing: border-box;
}

.spa-facility-intro {
  width: 100%;
  margin-bottom: 3em;
}

.spa-facility-intro img{
  width: 100%;
  max-width: 150px;
  display: block;
  margin-bottom: 10px;
}

.spa-floor{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  padding-bottom: 0.2em;
}

.spa-floor::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
}


.heading-wrap-g,
.heading-wrap-s {
  position: relative;
  display: flex;
  align-items: baseline;
  padding-bottom: 0.3em;
}

.heading-wrap-g{
  width: 65%;
}

.heading-wrap-g span{
  font-size: 16px;
  margin-right: auto;
}

.heading-wrap-g::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #cc9137, #fad652 49%, #fefaaf);
}

.heading-wrap-s:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to bottom, #8a8a8a, #b1b0b1 49%, #efefef);
}

.spa-intro h5 {
  font-size: 24px;
  font-weight: 300;
  margin: 0;
}

.gold-heading,
.silver-heading {
  position: relative;
  padding: 0.5em 0.2em 0.2em .6em;
  color: #fff;
  background: transparent;
}

.gold-heading::before {
  content: "";
  position: absolute;
  top: 57%;
  left: 0;
  transform: translateY(-50%);
  width: 5px;
  height: 40%;
  background: linear-gradient(to bottom, #cc9137, #fad652 49%, #fefaaf);
}

.silver-heading::before {
  content: "";
  position: absolute;
  top: 57%;
  left: 0;
  transform: translateY(-50%);
  width: 5px;
  height: 40%;
  background: linear-gradient(to bottom, #8a8a8a, #b1b0b1 49%, #efefef);
}

.heading-button {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 5px;
  padding: 0.4em .6em;
  box-sizing: border-box;
  font-size: 15px;
  font-weight: 300;
  margin-bottom: 5px;
  margin-left: auto;
}

.heading-button a {
  display: flex;
  justify-content: space-between;
  color: #fff;
  text-decoration: none;
  align-items: center;
}

.heading-button img.pdf-icon {
  width: 100%;
  max-width: 24px;
  max-height: 24px;
  margin: .1em .5em;
}

.spa-explanation,
.mainspa-explanation {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 2.5em 0 5em;
}

.mainspa-explanation {
  margin-bottom: 5em;
}

.spa-explanation img {
  width: 65%;
}

.spa-explanation-txt {
  width: 32%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 2em;
  font-weight: 300;
}

.mainspa-explanation-box-right{
  width: 54%;
}

.mainspa-explanation img {
  width: 98%;
}

.mainspa-explanation-txt {
  width: 43%;
}

.mainspa-explanation-txt img {
  width: 100%;
  margin: 1em 0;
}

.mainspa-explanation-txt span {
  font-weight: 300;
}

.mainspa-explanation-txt p {
  margin: 0.5em 0;
  font-weight: 300;
  font-size: 16px;
}

.mainspa-title {
  display: flex;
  gap: 4%;
  align-items: end;
  margin-bottom: 10px;
}

.mainspa-explanation-txt h5 {
  font-size: 22px;
  line-height: 22px;
}

.equipment-title {
  font-size: 12px;
  padding-bottom: 5px;
  border-bottom: solid 1px #fff;
  display: block;
  margin-bottom: 5px;
}

.equipment-txt {
  font-size: 14px;
  text-align: right;
  margin: 5px;
}

/*注意事項エリア*/
.spa-attention-area {
  width: 100%;
  position: relative;
  background-image: url("../img/spa/attention-bg.png");
  background-size: cover;
  background-position: center;
  color: #fff;
  padding: 100px 0 140px;
}

.spa-attention-area::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(10, 61, 83, 0.7);
  backdrop-filter: blur(5px);
  z-index: 1;
  pointer-events: none;
}

.spa-attention-area > * {
  position: relative;
  z-index: 2;
}

.attention-top-txt {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: top;
  margin-top: 3em;
}

.attention-top-txt h5 {
  font-size: 24px;
  margin: 0;
  font-weight: 300;
  letter-spacing: 0.1em;
  width: 60%;
}

.attention-top-txt p {
  margin: 0;
  font-weight: 300;
  font-size: 16px;
  line-height: 2em;
  letter-spacing: 0.1em;
  width: 100%;
}

.attention-top-txt-l {
  width: 80%;
}

.spa-manner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 90%;
  margin-left: auto;
  margin-top: 4em;
}

.spa-manner-left {
  flex: 0 0 300px;
  position: sticky;
  top: 3em;
  align-self: start;
}

.spa-manner-left h5 {
  font-size: 20px;
  font-weight: 300;
  margin: 0 0 5px 0;
  letter-spacing: 0.1em;
}

.spa-manner-right {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 0.5%;
  justify-content: space-between;
  flex: 1;
}

.spa-manner-box {
  background-color: rgba(255, 255, 255, 0.301);
  border-radius: 5px;
  padding: 1em;
  width: 49%;
  display: grid;
  grid-template-columns: 65% 35%;
  grid-template-rows: 50% 50%;
  box-sizing: border-box;
  min-height: 180px;
}

.spa-manner-txt-JN {
  grid-area: 1 / 1 / 2 / 2;
  font-size: 15px;
  font-weight: 300;
  margin: 0;
}

.spa-manner-txt-EN {
  grid-area: 2 / 1 / 3 / 2;
  font-size: 12px;
  font-weight: 300;
  margin: 1em 0 0 0;
}

.spa-manner-img {
  grid-area: 1 / 2 / 3 / 3;
  width: 100%;
  max-width: 85px;
  margin-left: auto;
  align-self: center;
}

/*店舗一覧エリア*/
.spa-store-area {
  width: 100%;
  background: radial-gradient(circle, rgba(10, 61, 83, 0.1) 0%, rgba(49, 88, 104, 0.1) 100%);
  padding: 140px 0 140px;
}

.spa-store-area h4 {
  font-size: 32px;
  margin: 0 0 1.25em;
  color: #222;
}

.spa-store-box,
.spa-store-box02 {
  width: 100%;
  background-color: #fff;
  border-radius: 10px;
  padding: 1em;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr 75%;
  grid-template-rows: 15% 25% 60%;
  justify-content: space-between;
  margin-bottom: 2em;
  align-items: self-start;
}


.spa-store-box03 {
  width: 100%;
  background-color: #fff;
  border-radius: 10px;
  padding: 1em;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr 75%;
  grid-template-rows: 20% 20% 60%;
  justify-content: space-between;
  margin-bottom: 2em;
  align-items: self-start;
}

.spa-store-box img,
.spa-store-box02 img,
.spa-store-box03 img {
  height: 328px;
  max-width: 275px;
  width: 100%;
  object-fit: cover;
  grid-area: 1 / 1 / 4 / 2;
}

.store-txt-title {
  display: flex;
  border-bottom: solid 1px #dcdcdc;
  padding: 0;
  box-sizing: border-box;
  justify-content: space-between;
  width: 95%;
  margin: 0 auto;
  margin-bottom: 0.5em;
  align-items: center;
  grid-area: 1 / 2 / 2 / 3;
}

.store-txt-title h5 {
  font-size: 24px;
  font-weight: 500;
  margin: 0.1em 0 0.3em;
  letter-spacing: 0.1em;
}

.spa-store-box03 img.store-txt-title-img {
  width: 100%;
  max-width: 200px;
  margin-bottom: 18px;
  height: auto;
  object-fit: unset;
}

.store-txt-title-btn {
  background-color: #04afcd;
  display: flex;
  align-items: self-end;
  padding: 5px 15px;
  border-radius: 5px;
  color: #fff;
  font-size: 18px;
  line-height: 18px;
}

.store-txt-title-btn span {
  font-size: 12px;
  margin-right: 0.5em;
}

.store-txt-p {
  width: 95%;
  margin: 1em auto;
  grid-area: 2 / 2 / 3 / 3;
}

.store-facility-infobox {
  grid-area: 3 / 2 / 4 / 3;
  align-self: self-end;
}

.store-info-title {
  width: 95%;
  margin: 0 auto;
  padding-top: 0.5em;
  font-size: 14px;
  font-weight: 900;
}

.store-inbox,
.store-inbox02 {
  padding: 0.5em 1em;
  width: 95%;
  margin: auto;
  background-color: #f7f7f7;
  color: #222;
  box-sizing: border-box;
}

.store-inbox02{
  display: flex;
  justify-content: space-between;
  align-items:flex-start;
  align-items: center;
}

.store-inbox table {
  width: 98%;
  margin: 0 auto;
}

.store-inbox02 table{
  width: 80%;
  margin: 0 auto;
}


.store-inbox th,
.store-inbox02 th {
  font-size: 12px;
  text-align: start;
  width: 60px;
  vertical-align: top;
  padding: 10px 0;
}

.store-inbox-img.store-inbox-img{
  width: 100%;
  max-width: 120px;
  height: 100%;
  margin: 10px;
}

.txt-normal {
  font-size: 16px;
  padding: 5px 0;
}

.txt-min {
  font-size: 12px;
  color: #777;
  padding: 0 0 10px;
}

.contact-inline {
  display: flex;
  font-size: 16px;
  width: 100%;
  align-items: center;
}

.span-min {
  font-size: 12px;
  width: 60px;
}

.span-normal {
  margin-right: 5em;
}

.span-normal2 {
  margin-right: 0;
}

/*自動スクロール*/
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}

.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
  width: 100%;
  height: auto;
  flex-direction: row;
}

.scroll-infinity {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 7em 0 1.25em;
}

.scroll-infinity ul {
  padding: 0;
  margin: 5px 0 0 0;
}

.scroll-infinity li {
  padding: 0 5px;
  border: none;
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}

.scroll-infinity__list--right {
  animation: infinity-scroll-right 85s infinite linear 0.5s both;
}

.scroll-infinity__item {
  width: calc(100vw / 5);
}

.scroll-infinity__item > img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
}

/*アクセス*/
.spa-access-area {
  width: 100%;
  background-color: #fff;
  padding: 6em 0 7em;
}

.spa-access-area h3 {
  font-size: 32px;
  margin: 0 auto;
  color: #04afcd;
}

.spa-access-flex {
  display: flex;
  width: 100%;
  margin: 3em auto;
  justify-content: space-between;
  align-items: start;
}

.spa-access-flex img {
  width: 42%;
}

.spa-info {
  width: 50%;
}

.spa-info h3 {
  color: #000;
  margin: 0;
}

.spa-access-flex table {
  text-align: start;
  padding: 0;
}

.spa-a-line {
  border-bottom: solid 1px #ddd;
}

.spa-info-table {
  width: 100%;
}

.spa-info-th {
  font-weight: bold;
  font-size: 12px;
  width: 20%;
  min-width: 55px;
  padding: 2em 0;
  text-align: start;
}

.spa-info-th01 {
  font-weight: bold;
  font-size: 12px;
  width: 20%;
  min-width: 55px;
  padding: 0 0 2em;
  text-align: start;
}

.spa-info-td {
  font-size: 16px;
  padding: 1em 0 0;
}

.spa-info-td01 {
  font-size: 16px;
  padding: 0 0 1em;
}

.spa-info-td02 {
  font-size: 16px;
  padding: 0 0 1.5em 0;
}

.note {
  font-size: 12px;
}

.add {
  font-size: 11px;
  color: #777;
}

.spanflex{
  display: flex;
  align-items: center;
}

.spanflex p {
  margin: 0;
}


/* @media (max-width: 768px) -----------------------------------------*/

@media (max-width: 768px) {
  #hero {
    height: 400px;
  }

  .hero-copy {
    bottom: 20%;
    left: 6%;
  }

  .hero-copy h2 {
    font-weight: 400;
    font-size: 32px;
  }

  .hero-copy p {
    font-size: 16px;
    padding: 0 0 0 0.2em;
  }

  .hero-copy-logo{
  width: 100%;
  max-width: 250px;
}

  /*コンセプト*/
  .spa-concept {
    width: 100%;
    position: relative;
    overflow: hidden;
    background-image: linear-gradient(to top, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 100%), url("../img/spa/concept-bg-sp.png");
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    padding-bottom: 20em;
    padding-top: 4em;
  }

  .spa-concept h3,
  .spa-intro h3 {
    font-size: 32px;
    letter-spacing: 0;
  }

  .spa-concept-box {
    width: 100%;
    grid-template-columns: 1fr;
    grid-template-rows: 17% 45% 1fr;
    margin-top: 0.5em;
  }

  .spa-concept-title {
    grid-area: 1 / 1 / 2 / 2;
    font-size: 28px;
    line-height: 1.4em;
    writing-mode: horizontal-tb;
    justify-self: start;
    font-weight: 400;
    letter-spacing: 0.08em;
  }

  .spa-concept-title span {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 0.08em;
  }

  .shift-1 {
    padding-top: 0;
    padding-left: 0.8em;
  }

  .shift-2 {
    padding-top: 0;
    padding-left: 1.5em;
  }

  .spa-concept-img {
    grid-area: 2 / 1 / 3 / 2;
    z-index: 1;
  }

  .spa-concept-img img {
    width: 98%;
    max-width: 800px;
  }

  .spa-concept-item {
    justify-self: center;
    align-self: start;
  }

  .spa-concept-txt {
    grid-area: 3 / 1 / 4 / 2;
    padding: 0 0 0.5em 0;
    font-size: 20px;
    max-width: 780px;
    line-height: 1.8em;
    width: 98%;
    margin: 1em auto;
    color: #222;
  }

  .blur-layer {
    position: absolute;
    top: 40%;
    left: 50%;
    width: 85%;
    max-width: 1300px;
    height: 70%;
    max-height: 700px;
    background: rgba(4, 175, 205, 0.1);
    border-radius: 50% / 30%;
    filter: blur(45px);
    transform: translate(-50%, -60%);
    z-index: 0;
  }

  /*intro*/
  .spa-intro {
    padding: 58px 0 44px;
  }

  .spa-intro h4 {
    font-size: 24px;
    font-weight: 300;
  }

  .spa-explanation,
  .mainspa-explanation,
  .mainspa-explanation2 {
    flex-direction: column;
    margin: 1.5em 0;
  }

  .spa-linkbox-flex {
    justify-content: center;
  }

  .spa-link-box a {
    padding: 15px 5px;
  }

  .spa-link-box-area {
    margin: 2em 0 3.5em;
  }

  .spa-link-box-area p {
    font-size: 14px;
    font-weight: 500;
  }

  .spa-explanation img,
  .mainspa-explanation img {
    width: 100%;
  }

  .spa-intro-topimg {
    width: 100%;
    margin: 2.3em 0;
  }

  .spa-explanation-txt,
  .mainspa-explanation-txt {
    width: 100%;
  }

  .spa-explanation-txt p {
    font-size: 16px;
    line-height: 1.8em;
    margin: 1em 0 2em;
  }

  .mainspa-explanation {
    margin-bottom: 2.5em;
  }

  .mainspa-explanation img {
    margin-top: 2em;
  }

  .spa-intro h5 {
    font-size: 20px;
  }

  .heading-button {
    font-size: 14px;
    padding: 0.8em 1.5em;
    margin-bottom: 4em;
  }

.spa-floor{
  flex-direction: column;
  gap: 5px;
  align-items: flex-start;
}



  .heading-wrap-g{
  width: 100%;
}

.mainspa-explanation-box-right {
    width: 100%;
}

  /*マナー*/
  .attention-top-txt h5 {
    width: 100%;
    margin-bottom: 1.65em;
  }

  .spa-attention-area {
    padding: 2.5em 0 5.6em;
  }

  .attention-top-txt {
    flex-direction: column;
    width: 100%;
    margin-top: 50px;
    margin-bottom: 2em;
  }

  .spa-manner {
    flex-direction: column;
    width: 100%;
  }

  .spa-manner-left {
    flex: 0 0 90px;
    position: static;
  }

  .spa-manner-right {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 0.5%;
    justify-content: space-between;
    flex: 1;
  }

  .spa-manner-box {
    width: 49%;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 50% 26% 24%;
    padding: 0.8em 1.2em;
  }

  .spa-manner-img {
    grid-area: 1 / 1 / 2 / 2;
    margin: 0.5em auto;
  }

  .spa-manner-txt-JN {
    grid-area: 2 / 1 / 3 / 2;
    text-align: center;
    font-size: 12px;
    align-self: center;
  }

  .spa-manner-txt-EN {
    grid-area: 3 / 1 / 4 / 2;
    text-align: center;
    font-size: 10px;
    align-self: center;
  }

  .scroll-infinity__item {
    width: calc(100vw / 1);
  }

  /*店舗一覧*/
  .spa-store-area {
    padding: 66px 0 60px;
  }
  .spa-store-area h4 {
    font-size: 24px;
    margin-top: 1em;
  }

  .spa-store-box,
  .spa-store-box03 {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 85px 215px 200px 1fr;
    justify-content: space-between;
    margin-bottom: 1.25em;
    align-items: self-start;
  }

  .spa-store-box02 {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 85px 215px 140px 1fr;
    justify-content: space-between;
    margin-bottom: 1.25em;
    align-items: self-start;
  }

  .spa-store-box img,
  .spa-store-box02 img,
  .spa-store-box03 img {
    height: 200px;
    width: 100%;
    object-fit: cover;
    align-self: end;
    grid-area: 2 / 1 / 3 / 2;
    max-width: none;
  }

  .store-txt-title {
    flex-direction: column;
    padding: 0;
    box-sizing: border-box;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 0.5em;
    align-items: start;
    grid-area: 1 / 1 / 2 / 2;
  }

  .store-txt-title-btn {
    order: 1;
    margin-bottom: 0.5em;
  }

  .store-txt-title h5 {
    font-size: 20px;
    font-weight: 500;
    margin: 0.1em 0 0.3em;
    letter-spacing: 0.1em;
    order: 2;
  }

  .spa-store-box03 img.store-txt-title-img {
  align-self: flex-start ;
  margin-top: 5px;
  order: 2;
}


  .store-txt-title-btn span {
    font-size: 12px;
    margin-right: 0.5em;
  }

  .store-txt-p {
    width: 100%;
    margin: 1em auto;
    grid-area: 3 / 1 / 4 / 2;
  }

  .store-facility-infobox {
    grid-area: 4 / 1 / 5 / 2;
    align-self: self-end;
  }


  .store-inbox02{
    flex-direction: column;
  }

.store-inbox02 table {
    width: 98%;
    margin: 0 auto;
}

.store-inbox-img.store-inbox-img {
    margin: 15px auto 5px;
}

  .store-inbox th,
  .store-inbox td,
  .store-inbox02 th,
  .store-inbox02 td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .store-info-title,
  .store-inbox,
  .store-inbox02 {
    width: 100%;
  }

  .store-inbox th,
  .store-inbox02 th {
    padding: 0.5em 0 0;
  }

  .contact-inline {
    flex-direction: column;
    align-items: flex-start;
  }

  .span-min {
    font-size: 11px;
    width: auto;
  }

  .span-normal {
    margin-right: 0;
    margin-bottom: 1em;
    font-size: 14px;
  }

  .scroll-infinity {
    margin: 5.9em 0 1.25em;
  }

  .spanflex {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .spanflex p {
    margin: 0;
  }

  /*アクセス*/

  .spa-access-area {
    padding: 6em 0 6em;
  }

  .spa-concept-span {
    font-size: 12px;
  }

  .spa-info-table th,
  .spa-info-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .spa-info-table td {
    padding: 0 0 1em 0;
  }

  .spa-info-table tr {
    display: block;
  }

  .spa-info-table th.spa-a-line {
    border-bottom: none;
  }

  .spa-info-th,
  .spa-info-th01 {
    padding: 1.8em 0 0.5em 0;
  }

  .spa-info-td {
    padding: 0 0 5px !important;
  }

  .spa-fee-td {
    padding: 0 0 5px !important;
  }

  .spa-fee-td2 {
    padding: 0 0 20px !important;
  }

  .spa-concept h3,
  .spa-access h3 {
    margin-top: 0;
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0;
  }

  .spa-access-flex {
    flex-direction: column;
    margin-top: 2.5em;
  }

  .spa-info {
    width: 100%;
    z-index: 1;
    padding-bottom: 1em;
  }

  .spa-access-flex img {
    width: 100%;
    padding-bottom: 0;
  }
}
