@charset "UTF-8";
/*!
 *  Variables | 2015.11.02 by yk
 */
/* 汎用設定
   ========================================================================== */
.mt5 {
  margin-top: 5px; }

.mt10 {
  margin-top: 10px; }

.mt15 {
  margin-top: 15px; }

.mt20 {
  margin-top: 20px; }

.mb5 {
  margin-bottom: 5px; }

.mb10 {
  margin-bottom: 10px; }

.mb15 {
  margin-bottom: 15px; }

.mb20 {
  margin-bottom: 20px; }

.mtb5 {
  margin-top: 5px;
  margin-bottom: 5px; }

.mtb10 {
  margin-top: 10px;
  margin-bottom: 10px; }

.mtb15 {
  margin-top: 15px;
  margin-bottom: 15px; }

.mtb20 {
  margin-top: 20px;
  margin-bottom: 20px; }

.pt5 {
  padding-top: 5px; }

.pt10 {
  padding-top: 10px; }

.pt15 {
  padding-top: 15px; }

.pt20 {
  padding-top: 20px; }

.pb5 {
  padding-bottom: 5px; }

.pb10 {
  padding-bottom: 10px; }

.pb15 {
  padding-bottom: 15px; }

.pb20 {
  padding-bottom: 20px; }

.ptb5 {
  padding-top: 5px;
  padding-bottom: 5px; }

.ptb10 {
  padding-top: 10px;
  padding-bottom: 10px; }

.ptb15 {
  padding-top: 15px;
  padding-bottom: 15px; }

.ptb20 {
  padding-top: 20px;
  padding-bottom: 20px; }

.left {
  float: left; }

.right {
  float: right !important; }

#mv {
  position: relative; }
  #mv img {
    display: block;
    width: 100%; }
  #mv .mv_link {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    #mv .mv_link .svg_link {
      cursor: pointer; }

.br_pc {
  display: none; }

#bg {
  font-family: "Noto Sans", sans-serif;
  position: relative;
  background: #FFF9DB; }
  #bg h2 {
    background: none;
    margin: 0;
    padding: 0;
    overflow: visible; }
  #bg img {
    display: block;
    width: 100%; }
  #bg .inner {
    width: 89.33%;
    max-width: 960px;
    margin: 0 auto; }
  #bg > * {
    position: relative;
    z-index: 2; }
  #bg::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100%;
    height: 100%;
    background: url("/lp/newopen/2504/img/2506/bg_sp.svg") center top/cover no-repeat;
    pointer-events: none;
    content: ''; }

#shop {
  padding-top: clamp(30px, 5.8vw, 60px);
  margin-bottom: clamp(50px, 7.14vw, 80px); }
  #shop .ttl {
    position: relative;
    margin-bottom: clamp(30px, 6.5vw, 70px);
    color: #F87402;
    font-weight: 800;
    font-size: clamp(25px, 4.54vw, 45px);
    line-height: 1.5;
    letter-spacing: .06em;
    text-align: center; }
    #shop .ttl b {
      position: relative;
      z-index: 2;
      font-weight: 800; }
      #shop .ttl b::before {
        position: absolute;
        top: 1em;
        left: 0;
        z-index: -1;
        width: 100%;
        height: .4em;
        background: #FFE8B4;
        content: ''; }

.shop_cont {
  display: grid;
  gap: 50px; }

.shop_open {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 25px;
  color: #72AF10;
  font-weight: 900;
  font-size: clamp(27px, 4.5vw, 40px);
  letter-spacing: .06em;
  line-height: 1.2;
  text-align: center; }
  .shop_open::before, .shop_open::after {
    position: absolute;
    bottom: 0;
    width: 4px;
    height: 1em;
    background: #72AF10;
    content: ''; }
  .shop_open::before {
    left: -.8em;
    transform: rotate(-15deg); }
  .shop_open::after {
    right: -.8em;
    transform: rotate(15deg); }
  .shop_open .day {
    font-size: clamp(30px, 5vw, 45px);
    vertical-align: baseline; }
  .shop_open .week {
    font-size: clamp(16px, 3vw, 30px);
    vertical-align: baseline; }

.shop_list {
  display: grid;
  gap: 40px; }

.shop_item {
  display: flex;
  flex-direction: column;
  background: #FFF;
  padding: 30px clamp(20px, 3.9vw, 40px);
  border-radius: clamp(20px, 3.25vw, 30px);
  filter: drop-shadow(0px 0px 10px rgba(219, 181, 136, 0.16)); }
  .shop_item .info {
    display: grid;
    grid-template-columns: auto 1fr;
    margin-bottom: clamp(15px, 2.33vw, 20px); }
    .shop_item .info .floor {
      display: grid;
      place-content: center;
      width: 3em;
      aspect-ratio: 1;
      background: #72AF10;
      margin-right: clamp(10px, 2vw, 20px);
      color: #FFF;
      font-size: clamp(14px, 3vw, 16px);
      line-height: 1; }
    .shop_item .info .title .cate {
      font-weight: 400;
      font-size: clamp(12px, 1.7vw, 14px);
      line-height: 1.5;
      text-align: left; }
    .shop_item .info .title .name {
      font-weight: bold;
      font-size: clamp(20px, 3vw, 26px);
      line-height: 1.5;
      text-align: left; }
  .shop_item .logo {
    width: clamp(120px, 40%, 160px);
    margin: 0 auto clamp(15px, 2.33vw, 20px);
    border: 1px solid #E0E0E0;
    box-sizing: border-box; }
  .shop_item .copy {
    margin-bottom: clamp(5px, 1vw, 10px);
    color: #F87402;
    font-weight: bold;
    font-size: clamp(18px, 2.33vw, 20px);
    line-height: 1.5;
    text-align: left; }
  .shop_item .txt {
    margin-bottom: 20px;
    font-size: clamp(13px, 1.8vw, 15px);
    line-height: 1.8;
    text-align: left; }

.btn {
  margin: auto auto 0;
  width: 100%; }
  .btn a {
    display: block;
    position: relative;
    width: 100%;
    padding: 1em;
    background: #72AF10;
    border: 1px solid #72AF10;
    color: #FFF;
    font-size: 16px;
    text-align: center;
    line-height: 1;
    transition: .3s;
    text-decoration: none; }
    .btn a::after {
      position: absolute;
      top: 50%;
      right: 13px;
      transform: translate(0, -50%) rotate(45deg);
      width: 10px;
      height: 10px;
      border-top: 1px solid #FFF;
      border-right: 1px solid #FFF;
      transition: .3s;
      content: ''; }
    .btn a:hover {
      background: #FFF;
      color: #72AF10; }
      .btn a:hover::after {
        border-color: #72AF10; }

#map {
  padding-bottom: clamp(80px, 11vw, 100px); }
  #map .ttl {
    margin-bottom: 25px;
    color: #72AF10;
    font-weight: 900;
    font-size: clamp(25px, 4.54vw, 45px);
    letter-spacing: .06em;
    line-height: 1;
    text-align: center; }
  #map .btn {
    margin-top: 20px; }

.snsArea {
  position: relative;
  z-index: 3;
  margin: -3em 0 20px;
  padding: 10px 10px 0;
  background: #FFF; }

#footer #goTop {
  z-index: 101; }

@media screen and (min-width: 769px) {
  .link_top {
    width: 1024px;
    margin: 0 auto; }
    .link_top a {
      position: absolute;
      top: 0;
      width: 200px;
      padding: 15px 30px;
      background: #fff;
      border: #E7DBCE solid 2px;
      margin: 20px 0 0 60px;
      z-index: 100;
      transition: .3s; }
      .link_top a img {
        width: 100%; }
      .link_top a:hover {
        opacity: .9; }

  #mv .mv_link .svg_link rect {
    transition: .3s; }
  #mv .mv_link .svg_link:hover rect {
    opacity: .5; }

  .br_sp {
    display: none; }

  .br_pc {
    display: inherit; }

  #bg::before {
    background: url("/lp/newopen/2504/img/2506/bg_pc.svg") center top/cover no-repeat; }

  .shop_cont {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    align-items: start;
    gap: 80px 40px; }
    .shop_cont .shop_day {
      display: flex;
      flex-direction: column;
      height: 100%; }
      .shop_cont .shop_day .shop_item {
        flex-grow: 1; }
      .shop_cont .shop_day.wide {
        grid-column: span 2; }
        .shop_cont .shop_day.wide .shop_list {
          display: flex;
          flex-wrap: wrap;
          justify-content: center; }
          .shop_cont .shop_day.wide .shop_list > * {
            width: calc((100% - 40px) / 2);
            flex-grow: 0; }

  .btn {
    width: 100%;
    max-width: 280px; }

  #map {
    margin-bottom: -3em; }

  #footer {
    position: relative; } }
