@charset "shift_jis";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,600;1,600&display=swap');




/*
===================
OPEN
日付設定
ここから
===================*/

.newopen2026 #contents .contents_inner .shop .open-date {
background: #fd4b51;
    color: #fff;
    display: inline-block;
    line-height: 1em;
    padding: 6px 30px 0;
    line-height: 44px;
    font-size: 22px;
    border-radius: 2px;
    position: absolute;
    top: -10px;
    left: -12px;
    font-family: "Josefin Sans", sans-serif;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

.newopen2026 #contents .contents_inner .shop .open-date small{
	font-size: 0.7em;
	padding-left: 4px;
}


.newopen2026 #contents .contents_inner .shop .open-date:after {
position: absolute;
    content: '';
    bottom: -7px;
    left: 0;
    border: none;
    border-bottom: solid 7px transparent;
    border-right: solid 11px #e02b38;

}
.newopen2026.sp #contents .contents_inner .shop .open-date {
    font-size: 18px;
    line-height: 34px;
	    padding: 4px 20px 0;
}


/*
===================
OPEN
日付設定
ここまで
===================*/
.newopen2026 #contents {
  width: 100%;
  min-height: 100vh;
  background:
    radial-gradient(circle at bottom, #fff, transparent 80%), linear-gradient(to top, #00aab7 0%, transparent 70%), linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.4) 70%), #1e90ff;
  overflow: hidden;
  background-attachment: fixed;
  background-size: cover;
  animation: bg 20s infinite;
  margin: 0 auto;
  padding: 0
}
@keyframes bg {
  0% {
    background-color: #ff4d73;
  }
  33.33% {
    background-color: #fef06a;
  }
  66.66% {
    background-color: #fb592b;
  }
  100% {
    background-color: #ff4d73;
  }
}
/* 星のスタイル */
.stars {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}
.star {
  position: absolute;
  background: #fff;
  border-radius: 50%;
  animation: twinkle 2s infinite ease-in-out;
}
@keyframes twinkle {
  0%, 100% {
    opacity: .2;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.5);
  }
}
.newopen2026 #contents-main > .inner {
  max-width: 600px;
  min-width: auto;
  border-left: 3px solid #fff;
  border-right: 3px solid #fff;
  overflow: hidden;
  opacity: 0;
  background: #FFC44B;
  background: linear-gradient(90deg, rgba(255, 196, 75, 1) 0%, rgba(253, 75, 81, 1) 100%);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.newopen2026.is-loaded #contents-main > .inner {
  opacity: 1;
}
.newopen2026 #contents-main h2 {
  padding: 0;
  img {
    width: 100%;
  }
}
.newopen2026.pc #contents .sp_only, .newopen2026.sp #contents .pc_only {
  display: none;
}
.newopen2026 div#footer {
  margin-top: 0;
}
.newopen2026 #contents #contents-main.all {
  padding: 0;
}
.newopen2026 #contents .lead {
  text-align: center;
  margin: 10px 0 30px;
  position: relative;
  z-index: 1;
  color: #fff;
  h3 {
    background: none;
    font-size: 28px;
    padding: 0 0 16px;
    line-height: 1.5em;
	  letter-spacing: 0.05em;
  }
  p {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.8em;
  }
}
.newopen2026 #contents .contents_inner {
  padding: 0 0 40px;
  position: relative;
  z-index: 1;
}
.newopen2026 #contents .contents_inner .shopnav {
  background: #fff;
  border-radius: 4px;
  width: 84%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 16px 0;
    li {
      width: calc(100% / 3);
      text-align: center;
      position: relative;
      &::before {
        content: "";
        width: 1px;
        height: 70%;
        position: absolute;
        top: 15%;
        right: 0;
        display: block;
        background: #333;
      }
      &:nth-of-type(3n)::before, &:last-of-type::before {
        display: none;
      }
      img {
        width: 60%;
      }
    }
  }
}
.newopen2026 #contents .contents_inner .shop {
  position: relative;
  background: #fff;
  max-width: 84%;
  margin: 50px auto 0;
  padding: 40px 40px 30px;
  box-sizing: border-box;
  border-radius: 4px;
  z-index: 2;
  dl {
    dt {
      border-bottom: 1px solid var(--color-base-text-dark);
      padding-bottom: 24px;
      margin-bottom: 24px;
      .logo {
        width: 50%;
        margin: 0 auto 6px;
        text-align: center;
      }
      .photo {
        width: 100%;
        aspect-ratio: 3 / 2;
        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          font-family: 'object-fit: cover;';
          border-radius: 0px;
        }
      }
      .ttl {
        width: 100%;
        margin: 20px auto 0;
        box-sizing: border-box;
        text-align: center;
        h4 {
          font-size: 30px;
          font-weight: bold;
          line-height: 1.3em;
          background: none;
          color: var(--color-base-text-dark);
          padding: 2px 0 12px;
        }
        .category {
          font-weight: bold;
          font-size: 16px;
          margin-bottom: 10px;
        }
        .floor {
          color: #fd4b51;
          font-size: 16px;
          font-weight: bold;
          &:before {
            content: "\e569";
            font-variation-settings: var(--iconfont-FILL1-set);
            font-family: var(--fontfamily-icon);
            font-size: 20px;
            top: 2px;
            position: relative;
            vertical-align: bottom;
            width: 30px;
            display: inline-block;
            text-align: center;
            color: #fd4b51;
          }
        }
      }
    }
    dd {
      .ttl {
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 14px;
      }
      pre {
        font-size: 14px;
        margin-bottom: 8px;
        line-height: 1.8em;
        font-weight: 500;
      }
    }
    dd.btn_area {
      text-align: center;
      a {
        font-weight: bold;
        color: #fd4b51;
        border: 2px solid #fd4b51;
        border-radius: 100px;
        margin-top: 20px;
        padding: 14px 20px 16px;
        display: inline-block;
        font-size: 20px;
        min-width: 50%;
        position: relative;
        transition: background 0.4s ease, color 0.4s ease;
        overflow: hidden;
        &::after {
          font-family: var(--fontfamily-icon);
          content: "\e5cc";
          margin: 0 0 0 4px;
          font-size: 24px;
          color: #fd4b51;
          vertical-align: middle;
          position: absolute;
          top: calc((100% - 24px) / 2);
          right: 10px;
        }
        &::before {
          content: "";
          position: absolute;
          inset: 0;
          background: #fff761;
          background: linear-gradient(90deg, rgba(255, 247, 97, 1) 0%, rgba(244, 157, 164, 1) 100%);
          opacity: 0;
          transition: opacity 0.4s ease;
          z-index: -1;
        }
        &:hover {
          opacity: 1;
        }
        &:hover::before {
          opacity: 0.5;
        }
        span {
          position: relative;
          z-index: 2;
        }
      }
    }
  }
}
.newopen2026 #contents .lead.bottom {
  margin-bottom: 80px;
	
  p {
    font-weight: bold;
    font-size: 28px;
    line-height: 1.7em;
	  letter-spacing: 0.07em;
  }
}
/*======================
SP
======================*/
.newopen2026.sp {
	#contents h2{
	    margin-bottom:10px;
	}
	
  #contents .lead {
    padding: 0 16px;
	          margin: 10px 0 20px;
    h3 {
      font-size: 22px;
    }
    p {
      font-size: 14px;
    }
  }
  #contents-main > .inner {
    padding: 0;
    border: none;
    .shopnav {
      width: 90%;
      ul {
        padding: 12px 10px;
        li {
          width: calc(100% / 2);
          &::before {
            display: none;
          }
          &:nth-of-type(2n)&::before {
            content: "";
            width: 1px;
            height: 70%;
            position: absolute;
            top: 15%;
            left: 0;
            display: block;
            background: #333;
          }
        }
      }
    }
    .shop {
      max-width: 90%;
      margin: 30px auto 0;
      padding: 30px 6% 30px;
      dl {
        dt {
          padding-bottom: 20px;
          margin-bottom: 20px;
          .logo {
            margin: 0 auto 2px;
          }
          .ttl {
            h4 {
              font-size: 22px;
              padding: 0 0 8px;
            }
            .category, .floor {
              font-size: 14px;
            }
            .category {
              margin-bottom: 4px;
            }
          }
        }
        dd {
          .ttl {
            font-size: 16px;
          }
          pre {
            font-size: 13px;
          }
        }
        dd.btn_area {
          a {
            width: 90%;
            font-size: 16px;
            box-sizing: border-box;
            margin-top: 10px;
            padding: 10px 20px 11px;
          }
        }
      }
    }
  }
  #contents .lead.bottom {
    margin-bottom: 70px;
    p {
      font-size: 20px;
      line-height: 1.8em;
    }
  }
}