@charset "utf-8";
/* CSS Document */
/*----------------------------------------
キッズページ　スタイルシート
PC/SP共通
----------------------------------------*/ :root {
  --color-kids-main: #f29603;
  --color-kids-base: #fff2e2;
  --color-kids-sub: #f95f5f;
  --color-kids-subbase: #feefef;
}
/*--------------------
各ページ共通（ただし主にindex.jsp）
--------------------*/
/**/
#contents.kids {
  padding: 0;
  overflow: hidden;
}
.more_btn a {
  display: block;
  width: 50%;
  max-width: 220px;
  margin: 30px auto 0;
  padding: 8px 0 12px;
  color: var(--color-kids-main);
  font-family: var(--fontfamily-english);
  font-size: 20px;
  text-align: center;
  line-height: 1em;
  border-top: 2px solid var(--color-kids-main);
  border-bottom: 2px solid var(--color-kids-main);
  position: relative;
}
.more_btn a:after {
  font-family: var(--fontfamily-icon);
  content: "\e5cc";
  font-size: 22px;
  line-height: 0;
  font-weight: 600;
  vertical-align: middle;
  position: absolute;
  top: calc(100% - 20px);
  right: 10px;
}
.pc .coverlink {
  display: none;
}
#contents-main.all {
  background: #fff;
  padding: 0;
}
.item .img_objfit img, .img_bg_css {
  border-radius: 0;
}
#contents h2.kids_ttl {
  background: url("icn_facility.svg") no-repeat center top;
  background-size: 48px 42px;
  padding-top: 48px;
  span {
    position: relative;
    display: inline-block;
    &:before, &:after {
      content: "";
      width: 58px;
      height: 16px;
      display: block;
      position: absolute;
      background: url(inc_bg-right.svg) no-repeat;
      background-size: contain;
      top: 5px;
      left: -80px;
    }
    &:after {
      background-image: url(inc_bg-left.svg);
      left: auto;
      right: -80px;
    }
  }
}
#contents #kidsmenu_goodslist h2.kids_ttl {
  background-image: url("icn_kidsmenu.svg");
}
#contents #shop h2.kids_ttl {
  background-image: url("icn_shop.svg");
}
#contents #playenjoy h2.kids_ttl {
  background-image: url("icn_playenjoy.svg");
}
/*
header
*/
.kids #header {
  position: relative;
  width: 100%;
  height: 326px;
  margin: 0;
  padding: 0;
  text-align: center;
  display: flex;
  align-items: center;
  background: url("bg.gif") repeat #fff;
  h1 {
    position: relative;
    z-index: 2;
    img {
      width: 630px;
      aspect-ratio: 150 / 61;
    }
  }
  &::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: url(./ttl_bg-right.png), url(./ttl_bg-left.png);
    background-position: right top, left top;
    background-repeat: no-repeat;
    background-size: contain;
    transition: all 0.4s ease;
  }
  .sp {
    display: none !important;
  }
}
/*ブラウザ幅微調整*/
@media screen and (max-width: 1820px) {
  .kids #header::before {
    background-position: calc(100% + 100px) top, -80px top;
  }
}
@media screen and (max-width: 1660px) {
  .kids #header::before {
    background-position: calc(100% + 160px) top, -140px top;
  }
}
@media screen and (max-width: 1540px) {
  .kids #header {
    height: 260px;
    & h1 {
      img {
        width: 560px;
      }
    }
    &::before {
      background-position: right top, left top;
    }
  }
}
@media screen and (max-width: 1460px) {
  .kids #header::before {
    background-position: calc(100% + 100px) top, -80px top;
  }
}
@media screen and (max-width: 1300px) {
  .kids #header::before {
    background-position: calc(100% + 160px) top, -150px top;
  }
}
@media screen and (max-width: 1160px) {
  .kids #header::before {
    background-position: calc(100% + 200px) top, -194px top;
  }
}
/*
header_navlist
*/
#header_navlist {
  background: var(--color-kids-main);
  ul {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    li {
      width: calc(100% / 6);
      box-sizing: border-box;
      border-right: 1px solid #fff;
      &:first-of-type {
        border-left: 1px solid #fff;
      }
      a {
        text-align: center;
        font-weight: bold;
        font-size: 16px;
        color: #fff;
        display: block;
        line-height: 80px;
        position: relative;
        &:after {
          content: "";
          display: block;
          position: absolute;
          width: 0;
          height: 0;
          bottom: -5px;
          right: -6px;
          border: 10px solid transparent;
          border-color: transparent transparent transparent #fff;
          transform: rotate(45deg);
        }
      }
    }
  }
}
/*下層ページheader*/
.kids_page #header {
  height: 260px;
  margin-bottom: 30px;
  h1 {
    img {
      width: 480px;
    }
  }
  &::before {
    background-position: calc(100% + 90px) top, -110px top;
  }
  .header_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    .image {
      width: 46%;
    }
    #header_navlist {
      width: 50%;
      z-index: 3;
      .inner {
        min-width: 100%;
      }
      ul {
        flex-wrap: wrap;
        li {
          width: calc(100% / 3);
          border-left: none;
          &:nth-of-type(3n) {
            border-right: none;
          }
          &:nth-of-type(-n+3) {
            border-bottom: 1px solid #fff;
          }
        }
      }
    }
  }
}
/*ブラウザ幅微調整*/
@media screen and (max-width: 1820px) {
  .kids_page #header {
    height: 220px;
    .inner {
      max-width: 1000px;
    }
    h1 {
      img {
        width: 435px;
      }
    }
  }
  .kids_page #header::before {
    background-position: calc(100% + 100px) top, -80px top;
  }
}
/*ブラウザ幅微調整*/
@media screen and (max-width: 1680px) {
  .kids_page #header::before {
    background-position: calc(100% + 210px) top, -80px top;
  }
}
@media screen and (max-width: 1380px) {
  .pc .kids_page #header .inner {
    min-width: 780px;
  }
  .pc .kids_page #header .header_flex .image {
    width: 48%;
  }
  .kids_page #header #header_navlist ul li a {
    font-size: 14px;
  }
  .kids_page #header::before {
    background-position: calc(100% + 210px) top, -210px top;
  }
}
@media screen and (max-width: 1120px) {
  .kids_page #header::before {
    background-position: calc(100% + 180px) top, -242px top;
  }
}
/*--------------------
キッズガイドTOP
--------------------*/
/**/
#contents-main > .section {
  padding: 40px 0 50px;
}
/*facility*/
#facility {
  ul {
    display: flex;
    column-gap: 30px;
    position: relative;
    &::before {
      content: "";
      width: 42px;
      height: 76px;
      background: url(fig_chara01.svg) no-repeat;
      background-size: contain;
      display: block;
      position: absolute;
      z-index: 1;
      left: -40px;
      bottom: 2px;
    }
    li {
      border: 4px solid var(--color-base-line-light);
      width: 100%;
      box-sizing: border-box;
      border-radius: var(--box-radius-medium);
      text-align: center;
      font-weight: bold;
      background: #fff;
      z-index: 2;
      a {
        padding: 16px 16px 12px;
        display: block;
        position: relative;
        line-height: 32px;
        img {
          display: block;
          width: 100%;
          margin-bottom: 12px;
          box-sizing: border-box;
          &.logo {
            width: auto;
            height: 32px;
            margin: 0 auto;
          }
        }
        &::after {
          content: "";
          display: block;
          position: absolute;
          width: 0;
          height: 0;
          bottom: -5px;
          right: -6px;
          border: 10px solid transparent;
          border-color: transparent transparent transparent var(--color-kids-main);
          transform: rotate(45deg);
        }
      }
    }
  }
}
/*kidsmenu_goodslist*/
#kidsmenu_goodslist {
  background: var(--color-kids-base);
  > .inner {
    display: flex;
    flex-wrap: wrap;
  }
  h2 {
    width: 100%;
  }
  .newsbox {
    width: calc((100% - 30px) / 2);
    background: #fff;
    border-radius: var(--box-radius-large);
    padding: 0 0 30px;
    text-align: center;
    position: relative;
    &.event {
      margin-right: 30px;
      position: relative;
    }
    &.mdcat::before {
      content: "";
      width: 63px;
      height: 54px;
      background: url(fig_chara02.svg) no-repeat;
      background-size: contain;
      display: block;
      position: absolute;
      z-index: 1;
      right: 30px;
      top: -45px;
    }
    h3 {
      background: var(--color-kids-main);
      display: inline-block;
      font-size: 18px;
      line-height: 46px;
      margin: 0 auto;
      padding: 0 40px 4px;
      border-bottom-left-radius: var(--box-radius-large);
      border-bottom-right-radius: var(--box-radius-large);
      &::after {
        content: "";
        display: block;
        position: absolute;
        width: 0;
        height: 0;
        border: 8px solid transparent;
        top: 50px;
        left: 36%;
        left: calc(50% - 8px);
        border-top: 8px solid var(--color-kids-main);
      }
    }
    .reco_mdcat_wrap {
      width: calc(100% - 80px);
      margin: 16px auto 0;
      display: flex;
      justify-content: center;
      column-gap: 30px;
      .item {
        width: calc((100% - 30px) / 2);
        text-align: left;
        &:nth-child(n+3) {
          display: none;
        }
        .image {
          aspect-ratio: 1 / 1;
          margin-bottom: 8px;
        }
        .eventcat {
          display: none;
        }
        .goodsname, .ev_text h4 {
          font-weight: bold;
          line-height: 1.6em;
          margin-bottom: 3px;
          overflow: hidden;
          display: -webkit-box;
          text-overflow: ellipsis;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
        }
        .shopname, .term {
          font-size: 14px;
          &::before {
            content: "\ea12";
            font-family: var(--fontfamily-icon);
            font-size: 18px;
            font-weight: 600;
            color: var(--color-kids-main);
            position: relative;
            top: 4px;
            margin-right: 5px;
          }
        }
        .term {
          white-space: nowrap;
          text-overflow: ellipsis;
          overflow: hidden;
          &::before {
            content: "\e935";
          }
        }
      }
    }
  }
  &.no-event {
    .newsbox {
      width: 100%;
      .reco_mdcat_wrap .item {
        width: calc((100% - 60px) / 4);
        &:nth-child(n+3) {
          display: block;
        }
      }
    }
  }
}
/*shop*/
#shop {
  .shop_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    position: relative;
    > div {
      overflow: hidden;
      background: var(--color-kids-base);
      padding: 30px 0;
      text-align: center;
      border-radius: var(--box-radius-large);
      h3 {
        font-size: 18px;
        color: var(--color-kids-main);
        background: none;
        text-align: center;
        line-height: 0;
        padding: 0 0 10px;
        display: inline-block;
        &::after {
          content: "";
          background: #fff;
          border-radius: 100px;
          width: 110%;
          height: 8px;
          position: relative;
          bottom: -6px;
          left: -5%;
          z-index: 0;
          display: inline-block;
        }
        span {
          position: relative;
          z-index: 1;
        }
      }
      .swiper-slide {
        text-align: left;
        .shopimg {
          position: relative;
          width: auto;
          height: 260px;
          margin: 0 auto;
          background: #fff; /* border色 */
          clip-path: polygon(50% 0%, 100% 35%, 100% 100%, 0% 100%, 0% 35%);
          img {
            width: calc(100% - 8px);
            height: calc(100% - 8px);
            object-fit: cover;
            display: block;
            margin: 4px;
            top: 4px;
            position: relative;
            clip-path: polygon(50% 0%, 100% 35%, 100% 100%, 0% 100%, 0% 35%);
          }
        }
        .name {
          margin-top: 6px;
          strong {
            font-size: 16px;
            line-height: 1.3em;
            display: block;
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
          }
          .floor {
            font-size: 14px;
            &::before {
              content: "[";
            }
            &::after {
              content: "]";
            }
          }
        }
        .detail {
          font-size: 14px;
          font-weight: bold;
          color: var(--color-kids-main);
          display: block;
          white-space: nowrap;
          text-overflow: ellipsis;
          overflow: hidden;
        }
      }
    }
    .swiper-button-prev, .swiper-button-next {
      top: 180px;
      color: #fff;
      background: var(--color-kids-main);
      width: 30px;
      height: 64px;
    }
    .swiper-button-next:after, .swiper-button-prev:after {
      font-size: 30px;
      font-family: var(--fontfamily-icon);
    }
    .swiper-button-prev {
      left: 0;
      border-radius: 0 100px 100px 0 / 0 100px 100px 0;
      &::after {
        content: "\e5cb";
        margin-right: 6px;
      }
    }
    .swiper-button-next {
      right: 0;
      border-radius: 100px 0 0 100px / 100px 0 0 100px;
      &::after {
        content: "\e5cc";
        margin-left: 6px;
      }
    }
    &::before {
      content: "";
      width: 65px;
      height: 78px;
      background: url(fig_chara03.svg) no-repeat;
      background-size: contain;
      display: block;
      position: absolute;
      z-index: 1;
      left: 10px;
      bottom: -60px;
    }
  }
}
/*playenjoy*/
#playenjoy {
  background: var(--color-kids-base);
  .shop_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 30px;
    .item {
      width: calc((100% - 60px) / 3);
      margin: 0 0 30px 0;
      padding: 30px;
      box-sizing: border-box;
      background: #fff;
      border-radius: var(--box-radius-large);
      position: relative;
      z-index: 2;
      &:nth-of-type(3)::before {
        content: "";
        width: 57px;
        height: 70px;
        background: url(fig_chara04.svg) no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        z-index: 3;
        right: 10px;
        top: -40px;
      }
      &:nth-of-type(4)::before {
        content: "";
        width: 46px;
        height: 56px;
        background: url(fig_chara05.svg) no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        z-index: 1;
        left: -46px;
        bottom: 20px;
      }
      &::after {
        content: "";
        display: block;
        position: absolute;
        width: 0;
        height: 0;
        bottom: 0px;
        right: -1px;
        border: 10px solid transparent;
        border-color: transparent transparent transparent var(--color-kids-main);
        transform: rotate(45deg);
      }
      dt {
        border-bottom: 2px solid var(--color-kids-main);
        margin-bottom: 10px;
        padding-bottom: 10px;
        position: relative;
        &::before {
          content: "";
          width: 80%;
          border-radius: 50%;
          aspect-ratio: 1 / 1;
          border: 4px solid var(--color-base-line-light);
          position: absolute;
          display: block;
          box-sizing: border-box;
          z-index: 2;
          left: 10%;
          top: -1px;
        }
        .fig {
          border-radius: 50%;
          object-fit: cover;
          aspect-ratio: 1 / 1;
          width: 79%;
          max-width: 260px;
          margin: 0 auto;
          display: block;
        }
        .logo {
          width: auto;
          height: 64px;
          margin: 10px auto 6px;
          display: block;
        }
        strong {
          font-size: 16px;
          line-height: 1.1em;
          display: block;
        }
        .floor {
          font-size: 14px;
          &::before {
            content: "[";
          }
          &::after {
            content: "]";
          }
        }
        .detail {
          font-size: 14px;
          font-weight: bold;
          color: var(--color-kids-main);
          display: block;
          white-space: nowrap;
          text-overflow: ellipsis;
          overflow: hidden;
        }
      }
    }
  }
}
/*--------------------
キッズ対応ショップ
shoplist01～04
--------------------*/
#contents.shoplist {
  overflow: hidden;
  .ttl_area {
    h2.kids_ttl {
      background-image: url(icn_shop.svg);
      padding-bottom: 10px;
    }
    > p {
      color: var(--color-kids-main);
      font-size: 16px;
      font-weight: bold;
      text-align: center;
    }
  }
  #tab {
    display: flex;
    column-gap: 20px;
    margin: 20px 0 24px;
    border-bottom: 3px solid var(--color-kids-main);
    li {
      width: calc((100% - 40px) / 3);
      text-align: center;
      a {
        display: block;
        font-weight: bold;
        font-size: 16px;
        line-height: 64px;
        background: var(--color-base-main-midlight);
        border-top-left-radius: var(--box-radius-small);
        border-top-right-radius: var(--box-radius-small);
      }
      &.active a {
        color: #fff;
        background: var(--color-kids-main);
      }
    }
  }
  #page_nav {
    display: flex;
    justify-content: center;
    column-gap: 20px;
    margin: 20px auto;
    .category {}
    .nav_btn {
      border: 2px solid var(--color-kids-main);
      border-radius: var(--box-radius-small);
      line-height: 50px;
      text-align: center;
      width: 260px;
      padding-right: 14px;
      font-weight: bold;
      box-sizing: border-box;
      position: relative;
      cursor: pointer;
      &::after {
        font-family: var(--fontfamily-icon);
        content: "\e5cf";
        vertical-align: middle;
        position: absolute;
        right: 0px;
        top: 0px;
        width: 40px;
        text-align: center;
        font-size: 24px;
        color: var(--color-kids-main);
      }
    }
    #kids_shop {
      position: relative;
      .category_wrap {
        display: none;
        position: absolute;
        top: 70px;
        right: -5%;
        box-sizing: border-box;
        width: 110%;
        border: 2px solid var(--color-kids-main);
        background: #fff;
        z-index: 3;
        box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1);
        box-sizing: border-box;
        &::before {
          content: "";
          display: block;
          position: absolute;
          top: -20px;
          width: 0;
          height: 0;
          border: 8px solid transparent;
          left: calc(50% - 8px);
          border-bottom: 12px solid var(--color-kids-main);
        }
        li {
          border-bottom: 1px solid var(--color-kids-main);
          &:last-of-type {
            border: none;
          }
          a {
            display: block;
            padding: 12px 30px 12px 14px;
            position: relative;
            &::after {
              font-family: var(--fontfamily-icon);
              content: "\e5cc";
              margin: 0 0 0 4px;
              font-size: 24px;
              font-weight: bold;
              color: var(--color-kids-main);
              vertical-align: middle;
              position: absolute;
              right: 0;
              top: calc(50% - 12px);
            }
          }
        }
      }
    }
  }
  #kidstable_box {
    background: var(--color-kids-base);
    text-align: center;
    padding: 30px 5% 40px;
    margin-bottom: 50px;
    position: relative;
    &::before {
      content: "";
      width: 57px;
      height: 70px;
      background: url(fig_chara04.svg) no-repeat;
      background-size: contain;
      display: block;
      position: absolute;
      z-index: 3;
      right: 30px;
      top: -50px;
    }
    h3 {
      font-size: 16px;
      color: var(--color-kids-main);
      background: #fff;
      border-radius: 100px;
      text-align: center;
      padding: 10px 40px 11px;
      margin-bottom: 16px;
      display: inline-block;
    }
    h4 {
      font-weight: bold;
      margin-bottom: 10px;
      font-size: 16px;
      display: inline-block;
      &::before {
        content: "\ef7b";
        font-family: var(--fontfamily-icon);
        margin: 0 5px 0 0;
        font-size: 22px;
        vertical-align: bottom;
        color: var(--color-kids-main);
        font-variation-settings: var(--iconfont-FILL1-set);
      }
    }
    .tablebox {
      border: 4px solid var(--color-base-line-light);
      border-radius: var(--box-radius-large);
      overflow: hidden;
      table {
        width: 100%;
        background: #fff;
        font-size: 14px;
        tr {
          position: relative;
          th {
            width: calc(100% - 600px);
            font-weight: bold;
            padding: 12px 20px 13px;
            box-sizing: border-box;
            word-break: break-all;
            a {
              text-decoration: underline;
            }
          }
          &:first-of-type {
            th, td {
              background: var(--color-kids-main);
              color: #fff;
            }
          }
          &:nth-of-type(odd) {
            background: #fff7d4;
          }
          &:not(:first-of-type) td::before {
            content: "－";
            color: var(--color-base-line-midlight);
            font-weight: bold;
          }
          td {
            width: 50px;
            padding: 12px 10px 13px;
            box-sizing: border-box;
            border-left: 2px solid var(--color-base-line-light);
            &.is-active {
              &::before {
                font-weight: bold;
                content: "〇";
                color: var(--color-kids-main);
              }
            }
          }
        }
      }
    }
    .shoes {
      margin-top: 24px;
      & h4 {
        &::before {
          content: "\f87d";
        }
      }
      .tablebox {
        table {
          tr {
            td {
              width: 600px;
            }
            &:not(:first-of-type) td::before {
              display: none;
            }
          }
        }
      }
    }
	  .attention{
		  font-size: 11px;
		  padding: 8px 0 0;
		  text-align: left;
	  }
  }
  #shoplist {
    .itemshop {
      border: 4px solid var(--color-base-line-light);
      border-radius: var(--box-radius-large);
      box-sizing: border-box;
      margin-bottom: 60px;
      .itemshop_header {
        padding: 40px 5% 14px;
        position: relative;
        .floor {
          color: #fff;
          font-weight: bold;
          padding: 4px 20px 5px;
          margin-left: -2px;
          background: var(--color-kids-main);
          border-radius: 100px;
          display: inline-block;
        }
        .name {
          margin-top: 16px;
          padding-right: 200px;
          a {
            font-weight: bold;
            font-size: 24px;
            display: block;
            text-decoration: underline;
          }
          .itemshop_categorydetail {
            font-size: 14px;
            margin-top: 10px;
            display: block;
          }
        }
        .logo {
          width: 160px;
          height: 100px;
          line-height: 0;
          position: absolute;
          top: 40px;
          right: 40px;
          text-align: right;
        }
      }
      .itemshop_shopcontent {
        padding: 0 5% 50px;
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-start;
        .image {
          width: 44%;
          aspect-ratio: 4 / 3;
          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            display: block;
          }
          .swiper-button-prev, .swiper-button-next {
            top: calc((100% - 32px) / 2);
            color: #fff;
            background: var(--color-kids-main);
            width: 30px;
            height: 64px;
          }
          .swiper-button-next:after, .swiper-button-prev:after {
            font-size: 30px;
            font-family: var(--fontfamily-icon);
          }
          .swiper-button-prev {
            left: 0;
            border-radius: 0 100px 100px 0 / 0 100px 100px 0;
            &::after {
              content: "\e5cb";
              margin-right: 6px;
            }
          }
          .swiper-button-next {
            right: 0;
            border-radius: 100px 0 0 100px / 100px 0 0 100px;
            &::after {
              content: "\e5cc";
              margin-left: 6px;
            }
          }
          .swiper-pagination-bullet-active {
            background: var(--color-kids-main);
          }
        }
        .info {
          width: 56%;
          padding-right: 40px;
          box-sizing: border-box;
          .shop_status {
            margin-bottom: 24px;
            border-bottom: 1px solid var(--color-base-line-midlight);
            dl {
              padding: 14px 0;
              border-top: 1px solid var(--color-base-line-midlight);
              display: flex;
              dt {
                width: 30px;
                &::before {
                  content: "\e8b5";
                  font-family: var(--fontfamily-icon);
                  margin: 0;
                  font-size: 22px;
                  vertical-align: bottom;
                  color: var(--color-kids-main);
                  font-variation-settings: var(--iconfont-FILL1-set);
                }
              }
              dd {
                width: calc(100% - 30px);
              }
              &.tel dt::before {
                content: "\e0b0";
              }
            }
          }
          .desc {
            .desc_title {
              font-weight: bold;
              font-size: 16px;
              margin-bottom: 10px;
            }
            .desc_contents {}
            .kids_service {
              margin-top: 20px;
              padding: 14px 20px 18px;
              background: var(--color-kids-base);
              span {
                font-weight: bold;
                color: var(--color-kids-main);
                display: block;
                margin-bottom: 2px;
                &::before {
                  content: "\e838";
                  font-family: var(--fontfamily-icon);
                  margin: 0 3px 0 0;
                  position: relative;
                  top: 2px;
                  font-size: 18px;
                  vertical-align: bottom;
                  color: var(--color-kids-main);
                  font-variation-settings: var(--iconfont-FILL1-set);
                }
              }
            }
          }
          .service {
            display: flex;
            flex-wrap: wrap;
            column-gap: 10px;
            margin-top: 16px;
            li {
              font-size: 14px;
              background: var(--color-kids-base);
              width: calc((100% - 10px) / 2);
              margin-bottom: 10px;
              border-radius: var(--box-radius-small);
              padding: 14px 10px 14px 16px;
              box-sizing: border-box;
              display: flex;
              align-items: center;
              &::before {
                font-family: var(--fontfamily-icon);
                font-size: 24px;
                font-weight: normal;
                margin: 0 4px 0 0;
                display: inline-block;
                line-height: 1.0em;
                color: var(--color-kids-main);
              }
              &.service1::before {
                content: "\eb41";
                font-variation-settings: var(--iconfont-FILL1-set);
              }
              &.service2::before {
                content: "\ef34";
                font-variation-settings: var(--iconfont-FILL1-set);
              }
              &.service3::before {
                content: "\efee";
                font-variation-settings: var(--iconfont-FILL1-set);
              }
              &.service4::before {
                content: "\fffa4";
                font-variation-settings: var(--iconfont-FILL1-set);
              }
              &.service5::before {
                content: "";
                background: url(icn_service5.svg) no-repeat;
                background-size: contain;
                width: 22px;
                height: 17px;
              }
              &.service6::before {
                content: "\f246";
                font-variation-settings: var(--iconfont-FILL1-set);
              }
            }
          }
          .seat {
            font-size: 14px;
            border: 1px solid var(--color-base-line-midlight);
            margin-top: 10px;
            padding: 14px 20px;
          }
        }
      }
      .itemshop_shopnews {
        position: relative;
        overflow: hidden;
        text-align: center;
        background: var(--color-kids-base);
        border-bottom-left-radius: var(--box-radius-medium);
        border-bottom-right-radius: var(--box-radius-medium);
        h3 {
          background: var(--color-kids-main);
          display: inline-block;
          font-size: 18px;
          line-height: 46px;
          margin: 0 auto;
          padding: 0 40px 4px;
          border-bottom-left-radius: var(--box-radius-large);
          border-bottom-right-radius: var(--box-radius-large);
          &::after {
            content: "";
            display: block;
            position: absolute;
            width: 0;
            height: 0;
            border: 8px solid transparent;
            top: 50px;
            left: 36%;
            left: calc(50% - 8px);
            border-top: 8px solid var(--color-kids-main);
          }
        }
        .itemlist {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          overflow: hidden;
          padding: 20px 5% 30px;
          position: relative;
          .item {
            width: calc((100% - 90px) / 4);
            padding: 0 0 10px;
            margin-right: 30px;
            text-align: left;
            box-sizing: border-box;
            position: relative;
            overflow: hidden;
            &:last-of-type {
              margin-right: 0;
            }
            .image {
              aspect-ratio: 1 / 1;
              margin-bottom: 8px;
              background: #fff;
            }
            .date {
              display: none;
            }
            h4 a {
              font-weight: bold;
              display: block;
              white-space: nowrap;
              text-overflow: ellipsis;
              overflow: hidden;
            }
            .morelink {
              display: none;
            }
          }
          /*スライダー作動時*/
          &.swp {
            display: block;
          }
          .swiper_btnbox {
            .swiper-button-next, .swiper-button-prev {
              top: 40%;
              color: #fff;
              background: var(--color-kids-main);
              width: 30px;
              height: 64px;
            }
            .swiper-button-next:after, .swiper-button-prev:after {
              font-size: 30px;
              font-family: var(--fontfamily-icon);
            }
            .swiper-button-next {
              right: 0;
              border-radius: 100px 0 0 100px / 100px 0 0 100px;
              &::after {
                content: "\e5cc";
                margin-left: 6px;
              }
            }
            .swiper-button-prev {
              left: 0;
              border-radius: 0 100px 100px 0 / 0 100px 100px 0;
              &::after {
                content: "\e5cb";
                margin-right: 6px;
              }
            }
            .swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
              opacity: 0;
            }
          }
        }
      }
      .point_box {
        min-width: auto;
        padding: 30px 5% 50px;
        margin: -10px auto 50px;
        background: var(--color-kids-subbase);
        border-radius: var(--box-radius-large);
        box-sizing: border-box;
        .point {
          &:not(:last-of-type) {
            margin-bottom: 40px;
            padding-bottom: 40px;
            border-bottom: 4px solid #fff;
          }
          > dt {
            text-align: center;
            margin-bottom: 10px;
            p {
              width: 260px;
              margin: 0 auto 6px;
            }
            h5 {
              font-weight: bold;
              color: #fff;
              border-radius: 100px;
              background: var(--color-kids-sub);
              font-size: 16px;
              display: inline-block;
              padding: 7px 40px 8px;
              border: 3px solid #fff;
            }
          }
          dd {
            text-align: center;
            &.plan {
              margin-top: 20px;
              ul {
                display: flex;
                column-gap: 30px;
                justify-content: space-between;
                li {
                  width: calc((100% - 30px) / 2);
                  background: #fff;
                  border-radius: var(--box-radius-medium);
                  padding: 24px;
                  box-sizing: border-box;
                  dt {
                    font-weight: bold;
                    font-size: 16px;
                    border-bottom: 4px solid var(--color-kids-subbase);
                    padding-bottom: 14px;
                    margin-bottom: 14px;
                    strong {
                      color: var(--color-kids-sub);
                      font-size: 20px;
                      padding-left: 4px;
                      em {
                        font-size: 12px;
                      }
                    }
                  }
                  dd.txt {
                    text-align: left;
                    a {
                      text-decoration: underline;
                    }
                    a[target="_blank"]::after {
                      content: "\e89e";
                      font-family: var(--fontfamily-icon);
                      font-size: 14px;
                      vertical-align: bottom;
                    }
                  }
                  dd.btn {
                    position: absolute;
                    left: 0;
                    bottom: 24px;
                    text-align: center;
                    width: 100%;
                    a {
                      text-align: center;
                      font-weight: bold;
                      color: var(--color-kids-sub);
                      display: inline-block;
                      border-bottom: 2px solid var(--color-kids-sub);
                      text-align: center;
                      padding: 0 30px 6px 12px;
                      font-weight: bold;
                      color: var(--color-kids-sub);
                      box-sizing: border-box;
                      position: relative;
                    }
                    a[target="_blank"]::after {
                      content: "\e89e";
                      font-family: var(--fontfamily-icon);
                      font-size: 14px;
                      vertical-align: bottom;
                      position: absolute;
                      right: 10px;
                      top: 2px;
                    }
                  }
                  &.in_btn {
                    position: relative;
                    padding-bottom: 64px;
                  }
                }
              }
              .linkbox {
                margin-top: 24px;
                text-align: center;
                a {
                  font-weight: bold;
                  color: var(--color-kids-sub);
                  display: inline-block;
                  border-bottom: 2px solid var(--color-kids-sub);
                  text-align: center;
                  padding: 0 20px 6px 10px;
                  font-weight: bold;
                  font-size: 16px;
                  box-sizing: border-box;
                  position: relative;
                  &::after {
                    font-family: var(--fontfamily-icon);
                    content: "\e89e";
                    vertical-align: middle;
                    position: absolute;
                    right: 0px;
                    top: 2px;
                    text-align: center;
                    font-size: 16px;
                  }
                  em {
                    font-size: 12px;
                  }
                }
              }
            }
            &.attraction {
              .attractionlist {
                display: flex;
                flex-wrap: wrap;
                column-gap: 30px;
                justify-content: center;
                margin-top: -10px;
                li {
                  width: calc((100% - 30px) / 2);
                  max-width: 320px;
                  padding: 24px;
                  margin-top: 30px;
                  box-sizing: border-box;
                  background: #fff;
                  border-radius: var(--box-radius-medium);
                  dt {
                    margin-bottom: 4px;
                    line-height: 1.3em;
                    img {
                      margin-bottom: 12px;
                      width: 100%;
                    }
                  }
                  dd {
                    text-align: left;
                  }
                }
              }
            }
            &.facility {
              .facilitylist {
                display: flex;
                column-gap: 30px;
                justify-content: center;
                margin-top: 20px;
                li {
                  padding: 24px 24px 18px;
                  box-sizing: border-box;
                  background: #fff;
                  border-radius: var(--box-radius-medium);
                  font-weight: bold;
                  img {
                    width: auto;
                    height: 250px;
                    margin-bottom: 12px;
                  }
                }
              }
            }
            &.price_table {
              border-radius: var(--box-radius-medium);
              overflow: hidden;
              table {
                width: 100%;
                background: #fff;
                tr:not(:last-of-type) {
                  border-bottom: 1px solid var(--color-base-line-light);
                }
                tr:first-of-type {
                  border: none;
                }
                th, td {
                  text-align: center;
                  padding: 10px;
                }
                th {
                  font-weight: bold;
                  color: #fff;
                  background: var(--color-kids-sub);
                }
                th:not(:first-of-type) {
                  border-left: 1px solid #fff;
                }
                td:not(:first-of-type) {
                  border-left: 1px solid var(--color-base-line-light);
                }
              }
            }
            &.note {
              margin-top: 30px;
              .bnr {
                display: inline-block;
                width: 460px;
                max-width: 100%;
                padding: 10px;
                background: #fff;
                border-radius: var(--box-radius-medium);
                border: 3px solid #e50012;
                box-sizing: border-box;
              }
              > ul {
                margin-top: 20px;
                text-align: left;
                li {
                  display: inline;
                  font-size: 12px;
                  line-height: 1.4em;
                  &::before {
                    content: "※";
                  }
                }
              }
            }
          }
        }
      }
      &#shop_22060 .point_box .point dd.plan ul li {
        width: 60%;
        margin: 0 auto;
      }
    }
  }
  #shoplist_service {
    background: var(--color-kids-base);
    margin-top: 80px;
    padding: 50px 0;
    h2.kids_ttl {
      background-image: url(icn_service.svg);
    }
    > .inner {
      background: #fff;
      padding: 30px 40px 10px;
      box-sizing: border-box;
      position: relative;
      &::before {
        content: "";
        width: 57px;
        height: 70px;
        background: url(fig_chara04.svg) no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        z-index: 3;
        right: 20px;
        top: -40px;
      }
    }
    .service_search {
      display: flex;
      margin: 20px auto 40px;
      padding: 20px 24px 12px 0;
      align-items: center;
      background: var(--color-base-bg-light);
      .settit {
        flex-basis: 180px;
        font-weight: bold;
        color: var(--color-kids-main);
        text-align: center;
        &::before {
          font-family: var(--fontfamily-icon);
          content: "\e8b6";
          vertical-align: middle;
          margin: 0 0 4px 0;
          font-size: 30px;
          display: block;
          font-variation-settings: 'wght'200;
        }
      }
      .shop_sel {
        flex-basis: calc(100% - 180px);
        margin: 0 auto;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        position: relative;
        li {
          width: calc((100% - 16px) / 3);
          position: relative;
          font-weight: bold;
          padding: 18px 7px 17px 14px;
          margin: 0 8px 8px 0;
          line-height: 1em;
          background: #fff;
          border-radius: var(--box-radius-small);
          box-sizing: border-box;
          box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
          cursor: pointer;
          &:hover {
            opacity: 0.8;
          }
          &:nth-child(3n) {
            margin-right: 0;
          }
          &::before {
            font-family: var(--fontfamily-icon);
            content: "\e835";
            vertical-align: middle;
            margin: 0 4px 0 0;
            font-size: 20px;
            position: relative;
            top: -1px;
            color: var(--color-base-line-light);
            font-variation-settings: 'wght'200;
          }
          &.sel {
            color: var(--color-kids-main);
            background: var(--color-kids-main);
            color: #fff;
          }
          &.sel::before {
            font-family: var(--fontfamily-icon);
            content: "\e834";
            color: #fff;
          }
        }
      }
    }
    .service_ttl.is-active {
      font-size: 18px;
      color: var(--color-kids-main);
      text-align: center;
      font-weight: bold;
      margin-bottom: 30px;
      padding-bottom: 20px;
      border-bottom: 2px solid var(--color-kids-main);
      &::before, &::after {
        font-family: var(--fontfamily-icon);
        content: "\e5c5";
        vertical-align: middle;
        margin: 0 2px 0 0;
        font-size: 30px;
      }
    }
    .shoplist_service {
      position: relative;
      &::after {
        content: "";
        width: 100%;
        height: 2px;
        position: absolute;
        bottom: 0;
        left: 0;
        background: #fff;
      }
      .item {
        display: flex;
        border-bottom: 1px solid var(--color-base-line-midlight);
        margin-bottom: 30px;
        padding-bottom: 30px;
        position: relative;
      }
      .shop_head {
        width: 230px;
        padding-right: 30px;
        box-sizing: border-box;
        .photo {
          width: 100%;
          height: auto;
          aspect-ratio: 1 / 1;
          position: relative;
        }
      }
      .detail_box {
        width: calc(100% - 230px);
        position: relative;
        .logo {
          position: absolute;
          top: 0;
          right: 0;
          width: 120px;
          height: auto;
        }
        .name {
          padding-right: 160px;
          .floor {
            color: #fff;
            font-weight: bold;
            padding: 4px 20px 5px;
            margin: 0 0 10px -2px;
            background: var(--color-kids-main);
            border-radius: 100px;
            display: inline-block;
          }
          strong {
            font-weight: bold;
            font-size: 18px;
            text-decoration: underline;
            display: inline-block;
            margin-right: 12px;
          }
        }
        .detail {
          .service {
            display: flex;
            flex-wrap: wrap;
            column-gap: 10px;
            margin-top: 16px;
            max-width: 800px;
            li {
              font-size: 14px;
              background: var(--color-kids-base);
              width: calc((100% - 20px) / 3);
              margin-bottom: 10px;
              border-radius: var(--box-radius-small);
              padding: 14px 10px 14px 20px;
              box-sizing: border-box;
              display: flex;
              align-items: center;
              &::before {
                font-family: var(--fontfamily-icon);
                font-size: 24px;
                font-weight: normal;
                margin: 0 4px 0 0;
                display: inline-block;
                line-height: 1.0em;
                color: var(--color-kids-main);
              }
              &.service1::before {
                content: "\eb41";
                font-variation-settings: var(--iconfont-FILL1-set);
              }
              &.service2::before {
                content: "\ef34";
                font-variation-settings: var(--iconfont-FILL1-set);
              }
              &.service3::before {
                content: "\efee";
                font-variation-settings: var(--iconfont-FILL1-set);
              }
              &.service4::before {
                content: "\fffa4";
                font-variation-settings: var(--iconfont-FILL1-set);
              }
              &.service5::before {
                content: "";
                background: url(icn_service5.svg) no-repeat;
                background-size: contain;
                width: 22px;
                height: 17px;
              }
              &.service6::before {
                content: "\f246";
                font-variation-settings: var(--iconfont-FILL1-set);
              }
            }
          }
        }
      }
      .wraplink {
        opacity: 0;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: #fff;
        transition-duration: .1s;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        z-index: 2;
        &:hover {
          opacity: 0.3;
        }
      }
    }
  }
  &.shoplist02 {
    #shoplist .itemshop:nth-of-type(3) {
      position: relative;
      &::before {
        content: "";
        width: 46px;
        height: 56px;
        background: url(fig_chara05.svg) no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        z-index: 1;
        left: -50px;
        bottom: 20px;
      }
    }
  }
  &.shoplist03 {
    #tab {
      position: relative;
      &::before {
        content: "";
        width: 65px;
        height: 78px;
        background: url(fig_chara03.svg) no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        z-index: 1;
        right: 10px;
        bottom: -74px;
      }
    }
  }
  &.gourmet {
    #shoplist .itemshop:first-of-type {
      position: relative;
      &::before {
        content: "";
        width: 42px;
        height: 76px;
        background: url(fig_chara01.svg) no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        z-index: 1;
        left: -46px;
        bottom: 10px;
      }
    }
    .ttl_area {
      h2.kids_ttl {
        background-image: url(icn_gourmet.svg);
      }
    }
  }
  &.playenjoy {
    #shoplist {
      position: relative;
      &::before {
        content: "";
        width: 63px;
        height: 54px;
        background: url(fig_chara02.svg) no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        z-index: 1;
        right: 30px;
        top: -45px;
      }
    }
  }
}
/*ブラウザ幅微調整*/
@media screen and (max-width: 1220px) {
  #contents.kids_page #shoplist .itemshop .itemshop_shopcontent .info .service li {
    font-size: 13px;
    padding: 14px 10px 14px 12px;
  }
  #contents.kids_page #shoplist_service .shoplist_service .detail_box .detail .service li {
    padding: 14px 10px 14px 12px;
  }
  #contents.kids_page #shoplist_service .shoplist_service .detail_box .detail .service li.service6 {
    font-size: 13px;
  }
}
@media screen and (max-width: 1200px) {
  #contents.shoplist #shoplist_service .service_search .shop_sel li#kids6 {
    font-size: 13px;
  }
}
@media screen and (max-width: 1130px) {
  #contents.kids_page #shoplist .itemshop .itemshop_shopcontent .info .service li.service6, #contents.kids_page #shoplist_service .shoplist_service .detail_box .detail .service li.service6 {
    letter-spacing: -0.05em;
  }
}
/*--------------------
新着ニュース
#goodslist_page
--------------------*/
#contents.kids_page #goodslist_page {
  
  #goodslist {
    margin-bottom: 60px;
  }
  #items .item:first-of-type::before {
    content: "";
    width: 46px;
    height: 56px;
    background: url(fig_chara05.svg) no-repeat;
    background-size: contain;
    display: block;
    position: absolute;
    z-index: 1;
    left: -26px;
    top: 80px;
  }
  h2.kids_ttl {
    padding-bottom: 0;
    background-image: url(icn_kidsmenu.svg);
  }
  .goodslist .price_date {
    margin-top: 60px;
  }
}
/*--------------------
キッズイベント
#eventlist_page
--------------------*/
#contents.kids_page #eventlist_page {
  .k_ex_box {
    border: 20px solid #00b8ee;
    background: #FFF;
    box-sizing: border-box;
    padding: 35px;
    display: flex;
    flex-wrap: wrap;
    column-gap: 40px;
    margin: 50px auto 0;
    position: relative;
    &::before {
      content: "";
      width: 65px;
      height: 78px;
      background: url(fig_chara03.svg) no-repeat;
      background-size: contain;
      display: block;
      position: absolute;
      z-index: 1;
      right: 20px;
      bottom: -90px;
    }
    .kex-summery {
      width: calc(54% - 20px);
      text-align: center;
    }
    .kex-card {
      width: calc(46% - 20px);
      text-align: center;
    }
    .image {
      margin-bottom: 15px;
    }
    .kex-summery .image {
      padding: 10px 0 40px;
      margin-bottom: 20px;
      background: url(./kex_line.png) no-repeat;
      background-position: bottom;
      background-size: contain;
      img {
        width: 90%;
        margin: 0 auto;
      }
    }
    h5 {
      margin-bottom: 15px;
      font-weight: bold;
      font-size: 110%;
    }
    p {
      color: #00B8EE;
      font-weight: bold;
      span {
        color: var(--color-base-text-dark);
        margin-top: 10px;
        font-weight: normal;
        font-size: 12px;
        line-height: 1.5em;
        display: block;
      }
    }
    .btn {
      margin-top: 20px;
      a {
        display: block;
        width: 60%;
        min-width: 300px;
        box-sizing: border-box;
        background: #e83e28;
        color: #FFF;
        border-radius: var(--box-radius-small);
        padding: 10px 20px 14px;
        margin: 0 auto;
        position: relative;
        &::after {
          font-family: var(--fontfamily-icon);
          content: "\e5cc";
          font-size: 20px;
          position: relative;
          top: 4px;
        }
      }
    }
  }
  #kids_eventnews {
    background: var(--color-kids-base);
    margin-top: 50px;
    padding: 50px 0;
    h2.kids_ttl {
      background-image: url(icn_kidsmenu.svg);
    }
    .event_list {
      .no_event {
        text-align: center;
        padding-top: 10px;
      }
      .events {
        border: 4px solid var(--color-base-line-light);
        border-radius: var(--box-radius-large);
        box-sizing: border-box;
        padding: 40px 5%;
        margin-bottom: 60px;
        background: #fff;
        display: flex;
        align-items: flex-start;
        flex-direction: row-reverse;
        .ev_text {
          width: calc(100% - 340px);
          .e_category {
            color: #fff;
            font-weight: bold;
            padding: 4px 20px 5px;
            margin: 2px 0 0 -2px;
            background: var(--color-kids-main);
            border-radius: 100px;
            display: inline-block;
            &::before {
              display: none;
            }
          }
          h4 {
            margin: 12px 0 16px 0;
            overflow: hidden;
            font-size: 1.2em;
            a {
              font-size: 22px;
              font-weight: bold;
              text-decoration: underline;
            }
          }
          .table01 {
            margin: 20px 0 0;
            border-collapse: collapse;
            border-spacing: 0;
          }
        }
        .photo {
          margin-left: 30px;
          width: 310px;
          aspect-ratio: 1 / 1;
          p.image {
            overflow: hidden;
            -moz-border-radius: 0px;
            border-radius: 0px;
            img {
              width: 100%;
            }
          }
        }
        .morebtn {
          display: none;
        }
        .ev_content {
          overflow: hidden;
          display: -webkit-box;
          text-overflow: ellipsis;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 3;
        }
        &.kex_event .e_category {
          background: #00b8ee !important;
        }
      }
    }
  }
}
/*--------------------
施設設備
#facility_page
--------------------*/
#contents.kids_page {
  #facility_page {
    .ttl_area {
      h2.kids_ttl {
        background-image: url(icn_facility.svg);
      }
    }
    .facilitylist {
      position: relative;
      &::before {
        content: "";
        width: 42px;
        height: 76px;
        background: url(fig_chara01.svg) no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        z-index: 1;
        left: -42px;
        bottom: 10px;
      }
      .facility_single {
        border: 4px solid var(--color-base-line-light);
        background: #fff;
        border-radius: var(--box-radius-large);
        box-sizing: border-box;
        padding: 0 5% 50px;
        margin-bottom: 60px;
        display: flex;
        flex-wrap: wrap;
        position: relative;
        dt {
          width: 100%;
          text-align: center;
          font-weight: bold;
          font-size: 18px;
          margin-bottom: 24px;
          p {
            background: var(--color-kids-main);
            color: #fff;
            display: inline-block;
            font-size: 18px;
            line-height: 46px;
            margin: 0 auto;
            padding: 0 40px 4px;
            border-bottom-left-radius: var(--box-radius-large);
            border-bottom-right-radius: var(--box-radius-large);
            position: relative;
            &::after {
              content: "";
              display: block;
              position: absolute;
              width: 0;
              height: 0;
              border: 8px solid transparent;
              top: 50px;
              left: 36%;
              left: calc(50% - 8px);
              border-top: 8px solid var(--color-kids-main);
            }
          }
        }
        dd {
          &.img {
            width: 46%;
            img {
              width: 100%;
            }
          }
          &.info {
            width: 54%;
            padding-left: 30px;
            box-sizing: border-box;
            p {}
            .logo {
              display: block;
              margin-bottom: 10px;
            }
            .map {
              margin-top: 20px;
              background: var(--color-kids-base);
              padding: 24px;
              .img {
                background: #fff;
                padding: 20px;
              }
            }
            ul.attention {
              margin-top: 10px;
              line-height: 1.4em;
              li {
                font-size: 12px;
                &::before {
                  content: "※";
                }
              }
            }
            p.attention {
              margin-top: 10px;
              font-size: 12px;
              &::before {
                content: "※";
              }
            }
          }
        }
        /*マップ表示のタブ*/
        .tabs {
          width: 100%;
          .tab_btn {
            display: flex;
            gap: 8px;
            li {
              width: calc((100% - 8px) / 2);
              text-align: center;
              list-style: none;
              padding: 12px 20px;
              background: var(--color-base-line-midlight);
              border-top-left-radius: var(--box-radius-small);
              border-top-right-radius: var(--box-radius-small);
              color: #fff;
              cursor: pointer;
              transition: 0.3s;
              &.active {
                background: #fff;
                border-bottom: none;
                font-weight: bold;
                font-size: 16px;
                color: var(--color-kids-main);
                position: relative;
                &::after {
                  font-family: var(--fontfamily-icon);
                  content: "\e5cf";
                  vertical-align: middle;
                  position: absolute;
                  right: 0px;
                  bottom: 2px;
                  width: 100%;
                  text-align: center;
                  font-size: 22px;
                  line-height: 0;
                  color: var(--color-kids-main);
                  z-index: 1;
                }
              }
            }
          }
          .tab_contents {
            position: relative;
            background: #fff;
            border-bottom-left-radius: var(--box-radius-small);
            border-bottom-right-radius: var(--box-radius-small);
            padding: 20px;
            .tab_content {
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              opacity: 0;
              visibility: hidden;
              pointer-events: none;
              transition: opacity 0.4s ease;
              &.active {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                position: relative; /* ←高さを持たせるため */
              }
            }
          }
        }
      }
    }
  }
  #qa {
    background: var(--color-kids-base);
    margin-top: 80px;
    position: relative;
    padding: 50px 0;
    h3 {
      color: var(--color-kids-main);
      text-align: center;
      background: none;
      padding: 0;
      margin: 10px 0 14px;
      text-decoration: underline;
    }
    .faqlist {
      padding: 10px 0;
      position: relative;
      &::before {
        content: "";
        width: 63px;
        height: 54px;
        background: url(fig_chara02.svg) no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        z-index: 1;
        right: 30px;
        bottom: -60px;
      }
      dl {
        padding: 30px 5%;
        margin-bottom: 30px;
        border-radius: var(--box-radius-large);
        background: #fff;
        &:last-of-type {
          border-bottom: none;
        }
        dt {
          border-bottom: 4px solid var(--color-base-line-light);
          position: relative;
          padding: 5px 0 14px 46px;
          margin-bottom: 14px;
          min-height: 34px;
          font-size: 16px;
          font-weight: bold;
          &::before {
            position: absolute;
            top: 0;
            left: 0;
            content: "Q";
            font-family: var(--fontfamily-english);
            font-size: 24px;
            text-align: center;
            line-height: 33px;
            font-weight: normal;
            color: #fff;
            background: #188cc6;
            display: block;
            width: 34px;
            height: 34px;
            border-radius: var(--box-radius-small);
          }
        }
        dd {
          position: relative;
          padding: 5px 0 0 44px;
          min-height: 34px;
          &::before {
            position: absolute;
            top: 0;
            left: 0;
            content: "A";
            font-family: var(--fontfamily-english);
            font-size: 24px;
            text-align: center;
            line-height: 33px;
            font-weight: normal;
            color: #fff;
            background: #f95f5f;
            display: block;
            width: 34px;
            height: 34px;
            border-radius: var(--box-radius-small);
          }
          a {
            text-decoration: underline;
          }
        }
      }
    }
  }
}
/*--------------------
各ページ共通-SP（ただし主にindex.jsp）
--------------------*/
/**/
body.sp {
  #contents-main > .section {
    padding: 20px 0 30px;
  }
  .more_btn a {
    font-size: 16px;
    margin-top: 20px;
    &:after {
      font-size: 18px;
      top: calc(100% - 19px);
    }
  }
  #contents h2.kids_ttl {
    background-size: auto 30px;
    padding: 34px 0 0;
    margin: 0 0 12px;
    span {
      &:before, &:after {
        width: 44px;
        height: 12px;
        top: 6px;
        left: -54px;
      }
      &:after {
        left: auto;
        right: -54px;
      }
    }
  }
  .kids #header {
    height: auto;
    .inner {
      padding: 0;
    }
    h1 {
      img {
        aspect-ratio: 75 / 44;
      }
    }
    .sp {
      display: block !important;
    }
    .pc {
      display: none !important;
    }
    &::before, &::after {
      display: none;
    }
  }
  /*
header_navlist
*/
  #header_navlist {
    overflow: hidden;
    .inner {
      padding: 0;
      ul {
        flex-wrap: wrap;
        li {
          width: calc(100% / 3);
          border-bottom: 1px solid #fff;
          &:first-of-type {
            border-left: none;
          }
          &:nth-of-type(3n) {
            border-right: none;
          }
          a {
            font-size: 12px;
            line-height: 60px;
            &:after {
              bottom: -2px;
              right: -3px;
              border-width: 6px;
            }
          }
        }
      }
    }
  }
  /*--------------------
キッズガイドTOP
--------------------*/
  /**/
  /*facility*/
  #facility {
    ul {
      column-gap: 14px;
      flex-wrap: wrap;
      position: relative;
      &::before {
        width: 29px;
        height: 53px;
        z-index: 3;
        left: auto;
        right: -17px;
        bottom: -53px;
      }
      li {
        border-width: 2px;
        width: calc((100% - 14px) / 2);
        margin-bottom: 14px;
        border-radius: var(--box-radius-small);
        background: #fff;
        &:nth-child(3), &:nth-child(4) {
          margin-bottom: 0;
        }
        a {
          padding: 10px 10px 12px;
          font-size: 12px;
          line-height: 22px;
          &::after {
            border-width: 6px;
            bottom: -2px;
            right: -1px;
          }
          img {
            margin-bottom: 10px;
            &.logo {
              width: auto;
              height: 20px;
              margin: 12px auto 0;
            }
          }
        }
      }
    }
  }
  /*kidsmenu_goodslist*/
  #kidsmenu_goodslist {
    .newsbox {
      width: 100%;
      margin: 0;
      &.mdcat::before {
        width: 42px;
        height: 36px;
        right: auto;
        left: 18px;
        top: -30px;
      }
      &.event {
        margin-bottom: 20px;
      }
      h3 {
        font-size: 14px;
        line-height: 30px;
        padding: 0 30px 3px;
        border-bottom-left-radius: var(--box-radius-medium);
        border-bottom-right-radius: var(--box-radius-medium);
        &::after {
          top: 32px;
        }
      }
      .reco_mdcat_wrap {
        width: calc(100% - 40px);
        margin-top: 12px;
        flex-wrap: wrap;
        column-gap: 20px;
        .item {
          width: calc((100% - 20px) / 2);
          &:nth-of-type(3), &:nth-of-type(4) {
            margin-bottom: 0;
          }
          .image {
            margin-bottom: 6px;
          }
          .goodsname, .ev_text h4 {
            line-height: 1.4em;
            font-size: 14px;
            margin-bottom: 2px;
          }
          .shopname, .term {
            font-size: 12px;
            line-height: 1.4em;
            &::before {
              font-size: 15px;
              top: 4px;
              margin-right: 3px;
            }
          }
        }
      }
    }
  }
  /*shop*/
  #shop {
    .shop_list {
      display: block;
      &::before {
        width: 43px;
        height: 52px;
        left: 0px;
        bottom: -44px;
      }
      & > div {
        padding: 24px 0;
        &:not(:last-of-type) {
          margin-bottom: 20px;
        }
        h3 {
          font-size: 16px;
          margin-bottom: -5px;
        }
        .swiper-slide {
          .shopimg {
            height: 160px;
          }
          .name {
            margin-top: 6px;
            strong {
              line-height: 1.1em;
              font-size: 14px;
            }
            .detail, .floor {
              font-size: 12px;
            }
          }
        }
      }
      .swiper-button-prev, .swiper-button-next {
        top: 100px;
        width: 26px;
        height: 50px;
      }
    }
  }
  /*playenjoy*/
  #playenjoy {
    & .shop_list {
      column-gap: 14px;
      .item {
        width: calc((100% - 14px) / 2);
        margin-bottom: 14px;
        padding: 20px 16px;
        border-radius: var(--box-radius-medium);
        &::after {
          border-width: 6px;
          bottom: -2px;
          right: -1px;
        }
        &:nth-of-type(2)::before {
          content: "";
          width: 38px;
          height: 45px;
          background: url(fig_chara04.svg) no-repeat;
          background-size: contain;
          display: block;
          position: absolute;
          z-index: 3;
          right: 10px;
          top: -28px;
        }
        &:nth-of-type(5)::before {
          content: "";
          width: 36px;
          height: 38px;
          background: url(fig_chara05.svg) no-repeat;
          background-size: contain;
          display: block;
          position: absolute;
          z-index: 1;
          left: -31px;
          bottom: 20px;
        }
        &:nth-of-type(3)::before, &:nth-of-type(4)::before {
          display: none;
        }
        dt {
          .fig {
            width: 99%;
          }
          &::before {
            width: 100%;
            left: 0;
          }
          .logo {
            width: 60%;
            height: auto;
            margin: 4px auto;
          }
          strong {
            line-height: 1.4em;
            font-size: 14px;
            margin-bottom: 2px;
            a
          }
          .floor, .detail {
            font-size: 12px;
            line-height: 1.4em;
            display: block;
          }
        }
        dd {
          font-size: 12px;
          line-height: 1.4em;
        }
      }
    }
  }
}
/*--------------------
SP共通
--------------------*/
body.sp {
  .kids_page #header {
    margin-bottom: 20px;
    h1 {
      img {
        aspect-ratio: 3 / 1;
      }
    }
    .header_flex {
      display: block;
      .image {
        width: 100%;
      }
      #header_navlist {
        width: 100%;
        li {
          a {
            font-size: 12px;
            line-height: 60px;
          }
        }
      }
    }
  }
}
/*--------------------
キッズ対応ショップ-SP
shoplist01～04
--------------------*/
body.sp {
  #contents.shoplist {
    padding-bottom: 40px;
    h2.kids_ttl {
      margin: 0;
    }
    .ttl_area {
      > p {
        font-size: 14px;
      }
    }
    #tab {
      margin: 10px 0 20px;
      column-gap: 6px;
      border-width: 2px;
      li {
        width: calc((100% - 12px) / 3);
        a {
          font-size: 12px;
          line-height: 50px;
        }
      }
    }
    #page_nav {
      column-gap: 10px;
      margin: 10px auto 20px;
      #kids_shop, .nav_btn {
        font-size: 13px;
        width: calc((100% - 10px) / 2);
      }
      #kids_shop.goods, #kids_shop.playenjoy {
        width: 60%;
      }
      #kids_shop .nav_btn {
        width: 100%;
      }
      .nav_btn {
        padding-right: 18px;
        &::after {
          width: 30px;
          font-size: 20px;
        }
      }
      #kids_shop .category_wrap li a::after {
        font-size: 20px;
      }
    }
    #kidstable_box {
      padding: 20px 16px;
      margin-bottom: 30px;
      &::before {
        width: 38px;
        height: 45px;
        right: 10px;
        top: -30px;
      }
      &::after {
        width: 43px;
        height: 52px;
        left: -13px;
        bottom: -47px;
      }
      h3 {
        font-size: 14px;
        padding: 10px 20px 11px;
        margin-bottom: 10px;
      }
      h4 {
        font-size: 14px;
        margin-bottom: 2px;
        &::before {
          margin: 0 4px 0 0;
          font-size: 18px;
        }
      }
      .scroll-hint-shadow-wrap {
        border-radius: var(--box-radius-large);
        overflow: hidden;
      }
      .scroll-hint-icon {
        padding: 14px 10px 6px 10px;
        &::before {
          width: 26px;
          height: 26px;
          margin-top: 6px;
        }
      }
      .scroll-hint-text {
        margin-top: 0;
      }
      #tableArea {
        overflow-x: auto;
        overflow-y: hidden;
        position: static !important;
      }
      & .tablebox {
        border-width: 3px;
        table {
          min-width: 780px;
          font-size: 13px;
          tr {
            th {
              width: 180px;
              padding: 8px 14px 12px;
            }
          }
        }
      }
      .shoes {
        margin-top: 20px;
        .tablebox table {
          min-width: 100%;
          tr {
            th {
              width: 180px;
            }
            td {
              width: calc(100% - 180px);
            }
          }
        }
      }
    }
    #shoplist {
      .itemshop {
        border-width: 3px;
        margin-bottom: 30px;
        &:last-of-type {
          margin-bottom: 0;
        }
        .itemshop_header {
          box-sizing: border-box;
          padding: 20px 5% 10px;
          .floor {
            padding: 1px 16px 2px;
            font-size: 12px;
          }
          .name {
            margin-top: 6px;
            padding-right: 90px;
            a {
              font-size: 16px;
              line-height: 1.3em;
            }
            .itemshop_categorydetail {
              font-size: 12px;
              margin-top: 2px;
            }
          }
          .logo {
            width: 80px;
            height: auto;
            top: 40px;
            right: 20px;
          }
        }
        .itemshop_shopcontent {
          display: block;
          padding: 0 16px 20px;
          .image, .info {
            width: 100%;
          }
          .image {
            aspect-ratio: 2 / 1;
            a {}
          }
          .info {
            padding: 0;
            margin-top: 14px;
            .shop_status {
              margin-bottom: 16px;
              dl {
                padding: 12px 0;
                dt {
                  font-size: 20px;
                }
                dd {
                  font-size: 0.9em;
                  line-height: 1.3em;
                  a.tel_sp {
                    padding: 4px 20px 6px;
                  }
                }
              }
            }
            .desc {
              .desc_contents {
                font-size: 0.9em;
                line-height: 1.6em;
              }
              .kids_service {
                font-size: 0.9em;
              }
              .desc_title {
                margin-bottom: 6px;
                font-size: 14px;
                line-height: 1.5em;
              }
            }
            .service {
              column-gap: 4px;
              li {
                width: calc((100% - 4px) / 2);
                font-size: 13px;
                padding: 10px 6px 10px 8px;
                margin-bottom: 4px;
                letter-spacing: -0.03em;
                &::before {
                  margin: 0 2px 0 0;
                  font-size: 18px;
                }
                &.service4, &.service6 {
                  width: 100%;
                }
                &.service5::before {
                  width: 18px;
                  height: 17px;
                }
              }
            }
            .seat {
              font-size: 13px;
              line-height: 1.5em;
              margin-top: 10px;
              padding: 9px 12px 8px;
            }
          }
        }
        .itemshop_shopnews {
          h3 {
            font-size: 14px;
            line-height: 30px;
            padding: 0 30px 3px;
            border-bottom-left-radius: var(--box-radius-medium);
            border-bottom-right-radius: var(--box-radius-medium);
            &::after {
              top: 32px;
            }
          }
          .itemlist {
            padding: 14px 15px 20px;
            .item {
              width: calc((100% - 15px) / 2);
              h4 a {
                line-height: 1.4em;
                font-size: 14px;
                margin-bottom: 2px;
              }
              .price {
                font-size: 12px;
                line-height: 1.3em;
              }
            }
          }
        }
      }
    }
    #shoplist_service {
      margin-top: 40px;
      padding: 30px 0;
      > .inner {
        width: calc(100% - 32px);
        margin: 10px 16px 0;
        padding: 20px 16px;
      }
      .service_search {
        margin: 0 auto 14px;
        padding: 14px 14px 12px;
        display: block;
        .settit {
          font-size: 13px;
          margin-bottom: 4px;
          display: block;
          text-align: left;
          &::before {
            display: inline-block;
            font-size: 20px;
            margin: 0 4px 0 0;
          }
        }
        .shop_sel {
          li {
            width: 100%;
            margin-right: 0;
            padding: 16px 9px 15px 12px;
            font-size: 12px;
            margin-bottom: 6px;
            &::before {
              font-size: 20px;
            }
          }
        }
      }
      .service_ttl.is-active {
        font-size: 16px;
        margin-bottom: 20px;
        padding-bottom: 10px;
        &::before {
          display: none;
        }
        &::after {
          display: block;
          text-align: center;
          line-height: 0;
          margin: 10px 0 4px;
        }
      }
      .shoplist_service {
        .item {
          position: relative;
          flex-wrap: wrap;
          flex-direction: column-reverse;
          margin-bottom: 20px;
          padding-bottom: 10px;
          .shop_head {
            width: 100%;
            padding: 0;
            margin-bottom: 14px;
            .photo {
              width: 50%;
              height: 100px;
            }
          }
          .detail_box {
            width: 100%;
            position: static;
            margin-bottom: 10px;
            .name {
              padding-right: 0;
              .floor {
                padding: 1px 16px 2px;
                margin: 0 0 8px -2px;
                font-size: 12px;
              }
              strong {
                font-size: 16px;
              }
            }
            .detail {
              font-size: 12px;
              margin-top: 2px;
              .service {
                column-gap: 4px;
                margin-top: 10px;
                li {
                  width: calc((100% - 4px) / 2);
                  font-size: 13px;
                  padding: 10px 6px 10px 8px;
                  margin-bottom: 4px;
                  letter-spacing: -0.03em;
                  &::before {
                    margin: 0 2px 0 0;
                    font-size: 18px;
                  }
                  &.service4, &.service6 {
                    width: 100%;
                  }
                  &.service5::before {
                    width: 18px;
                    height: 17px;
                  }
                }
              }
            }
            .logo {
              position: absolute;
              bottom: 24px;
              top: auto;
              right: 0;
              width: 50%;
              height: 100px;
              padding: 24px;
              box-sizing: border-box;
            }
          }
        }
      }
    }
    &.shoplist02 {
      #shoplist .itemshop:nth-of-type(3) {
        &::before {
          width: 31px;
          height: 38px;
          left: auto;
          right: -20px;
          bottom: -30px;
        }
      }
    }
    &.shoplist03 {
      #tab {
        &::before {
          width: 43px;
          height: 52px;
          right: 4px;
          bottom: -49px;
        }
      }
    }
    &.gourmet {
      & #shoplist .itemshop:first-of-type {
        &::before {
          width: 27px;
          height: 48px;
          z-index: 3;
          left: auto;
          right: -20px;
          bottom: -30px;
        }
      }
    }
    &.playenjoy {
      & #shoplist {
        &::before {
          width: 42px;
          height: 36px;
          right: 18px;
          top: -30px;
        }
      }
    }
  }
}
/*遊ぶ楽しむページ*/
body.sp #contents.shoplist.playenjoy #shoplist .itemshop {
  .point_box {
    width: calc(100% - 32px);
    padding: 20px 5% 30px;
    border-radius: var(--box-radius-medium);
    margin: 0 auto 20px;
    .point {
      > dt {
        p {
          width: 80%;
          max-width: 300px;
        }
        h5 {
          font-size: 100%;
          padding: 4px 30px 5px;
        }
      }
      dd {
        text-align: left;
        > p {
          font-size: 0.9em;
          line-height: 1.6em;
        }
        &.plan {
          ul {
            flex-wrap: wrap;
            li {
              width: 100%;
              padding: 16px;
              margin-bottom: 16px;
              border-radius: var(--box-radius-small);
              dt {
                text-align: center;
                font-size: 100%;
                padding-bottom: 10px;
                margin-bottom: 10px;
                strong {
                  font-size: 110%;
                  display: block;
                }
              }
              dd {
                font-size: 0.9em;
                line-height: 1.6em;
              }
              &.in_btn {
                padding-bottom: 56px;
              }
              dd.btn {
                bottom: 18px;
                a {
                  padding: 0 16px 4px 2px;
                  &[target="_blank"]::after {
                    right: 0;
                  }
                }
              }
            }
          }
          .linkbox {
            margin-top: 0;
            a {
              font-size: 100%;
              padding: 0 12px 6px 2px;
            }
          }
        }
        &.attraction {
          & .attractionlist {
            margin-top: -6px;
            li {
              width: 100%;
              margin-top: 16px;
              padding: 12px;
              border-radius: var(--box-radius-small);
              dt {
                text-align: center;
              }
              dd {
                font-size: 0.9em;
                line-height: 1.6em;
              }
            }
          }
        }
        &.facility {
          .facilitylist {
            column-gap: 8px;
            margin-top: 10px;
            li {
              padding: 8px 8px 6px;
              text-align: center;
              font-size: 11px;
              border-radius: var(--box-radius-small);
              img {
                margin-bottom: 4px;
                height: auto;
              }
            }
          }
        }
        &.price_table {
          border-radius: var(--box-radius-small);
          font-size: 12px;
          th, td {
            text-align: left;
            padding: 4px 8px;
          }
        }
        &.note {
          margin-top: 20px;
          .bnr {
            border-width: 2px;
          }
          > ul {
            margin-top: 10px;
          }
        }
      }
      &:not(:last-of-type) {
        margin-bottom: 30px;
        padding-bottom: 30px;
      }
    }
  }
  .itemshop_shopcontent .image {
    aspect-ratio: 4 / 3;
  }
  &#shop_22060 .point_box .point dd.plan ul li {
    width: 100%;
    dt strong {
      display: block;
    }
  }
}
/*--------------------
新着ニュース-SP
#goodslist_page
--------------------*/
body.sp {
  #contents.kids_page #goodslist_page {
	  overflow: hidden;
    h2.kids_ttl {
      margin-bottom: 0;
    }
    .NewsItemList .item {
      border-top: 3px solid var(--color-base-line-light);
      padding: 12px 0 10px;
      .news_box {
        padding: 0;
        margin: 0;
      }
      .date {
        margin: 0.5em 0 0;
      }
    }
    #items .item:first-of-type::before {
      width: 36px;
      height: 38px;
      left: auto;
      right: -22px;
      top: 7px;
    }
  }
}
/*--------------------
キッズイベント
#eventlist_page
--------------------*/
body.sp {
  #contents.kids_page #eventlist_page {
    .k_ex_box {
      border-width: 8px;
      padding: 14px 20px 0;
      margin: 0 auto;
      gap: 20px;
      font-size: 90%;
      width: calc(100% - 32px);
      box-sizing: border-box;
      &::before {
        width: 43px;
        height: 52px;
        right: 0px;
        bottom: -54px;
      }
      > div {
        width: 100%;
        text-align: left;
      }
      h5 {
        text-align: center;
      }
      .kex-card {
        .image {
          width: 90%;
          margin: 0 auto 10px;
        }
      }
      .kex-summery .image {
        margin-bottom: 15px;
        padding-bottom: 25px;
        img {
          width: 80%;
          margin: 0 auto;
          display: block;
        }
      }
      .btn {
        margin-top: 15px;
        a {
          width: 100%;
          min-width: 100%;
          text-align: center;
        }
      }
      p {
        br {
          display: none;
        }
        span {
          font-size: 11px;
          line-height: 1.5em;
          display: block;
          text-align: left;
          margin-top: 10px;
        }
      }
    }
    #kids_eventnews {
      margin-top: 30px;
      padding: 20px 0;
      .event_list {
        .events {
          display: block;
          padding: 20px 5%;
          margin-bottom: 30px;
          .ev_text {
            width: 100%;
            .pc_view {
              display: none !important;
            }
            .table01 {
              margin: 10px 0 0;
            }
          }
          .photo {
            margin: 10px auto;
            width: 80%;
          }
          .sp_view {
            padding: 0;
            .e_category {
              color: #fff;
              font-weight: bold;
              margin-left: -2px;
              background: var(--color-kids-main);
              border-radius: 100px;
              display: inline-block;
              padding: 1px 16px 2px;
              font-size: 12px;
              &::before {
                display: none;
              }
            }
            h4 {
              font-weight: bold;
              line-height: 1.6em;
              margin: 4px 0 3px;
              font-size: 18px;
              display: block;
            }
          }
          &.kex_event .e_category {
            background: #00b8ee !important;
          }
        }
      }
    }
  }
}
/*--------------------
施設設備-SP
#facility_page
--------------------*/
body.sp {
  #contents.kids_page {
    #facility_page {
      .facilitylist {
        &::before {
          width: 29px;
          height: 53px;
          z-index: 3;
          right: auto;
          left: auto;
          right: -1px;
          bottom: -23px;
        }
        .facility_single {
          border-width: 3px;
          padding: 0;
          margin-bottom: 30px;
          dt {
            margin-bottom: 14px;
            p {
              font-size: 14px;
              line-height: 30px;
              padding: 0 30px 3px;
              border-bottom-left-radius: var(--box-radius-medium);
              border-bottom-right-radius: var(--box-radius-medium);
              &::after {
                top: 32px;
              }
            }
          }
          dd {
            &.img {
              width: 90%;
              margin: 0 auto;
            }
            &.info {
              width: 100%;
              margin: 10px 0 0;
              padding: 0;
              > p {
                padding: 0 5%;
              }
              .map {
                margin-top: 14px;
                padding: 20px 5%;
                .img {
                  padding: 10px;
                }
              }
              ul.attention {
                padding: 0 5%;
              }
              .logo {
                margin: 4px auto 10px;
                width: 60%;
              }
            }
          }
          .tabs {
            .tab_btn {
              li {
                padding: 8px 16px;
                &.active {
                  font-size: 100%;
                }
              }
            }
            .tab_contents {
              padding: 10px;
            }
          }
        }
      }
    }
    #qa {
      margin: 0;
      padding: 20px 5%;
      position: relative;
      &::before {
        content: "";
        width: 42px;
        height: 36px;
        background: url(fig_chara02.svg) no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        z-index: 1;
        right: 30px;
        bottom: -6px;
      }
      .faqlist {
        &::before {
          display: none;
        }
        dl {
          padding: 14px 5%;
          margin-bottom: 14px;
          dt {
            font-size: 100%;
            border-width: 3px;
            padding: 0 0 10px 34px;
            margin-bottom: 6px;
            min-height: 24px;
            &::before {
              font-size: 18px;
              line-height: 23px;
              width: 24px;
              height: 24px;
              top: 3px;
            }
          }
          dd {
            padding: 3px 0 0 34px;
            min-height: 24px;
            &::before {
              font-size: 18px;
              line-height: 23px;
              width: 24px;
              height: 24px;
              top: 3px;
            }
          }
        }
      }
    }
  }
}