@charset "UTF-8";
.bg_sectionTitle::after {
  display: block;
  aspect-ratio: 713/71;
  width: 95.0666666667vw;
  height: 9.4666666667vw;
  margin: var(--size-30) auto 0 auto;
  background: url(../../images/hellokittyshowbox/common/mask_sectionTitle.svg) no-repeat center center/contain;
  /*
  background-blend-mode: multiply;
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-image: url(../../images/hellokittyshowbox/common/mask_sectionTitle.svg);
  -webkit-mask-image: url(../../images/hellokittyshowbox/common/mask_sectionTitle.svg);
  */
  content: "";
}

@media screen and (min-width: 992px) {
  .bg_sectionTitle::after {
    width: 100%;
    height: 80px;
  }
}
#indormation-banner {
  width: 100%;
  margin: 0 auto;
}

@media screen and (min-width: 992px) {
  #indormation-banner {
    width: 800px;
    margin-bottom: 20px;
  }
}
/**** ---- mv ----
===================================****/
#mv {
  position: relative;
  margin-bottom: 5px;
}

#mv .logo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80vw;
  transform: translate(-50%, -50%);
  z-index: 2;
}

#mv .banner {
  position: absolute;
  bottom: 5.3333333333vw;
  left: 50%;
  width: 47.7333333333vw;
  transform: translateX(-50%);
  z-index: 2;
}

#mv .slide-item {
  background-color: #000;
}

#mv .slide-item img {
  aspect-ratio: 750/563;
  object-fit: contain;
  object-position: center center;
}

@media screen and (min-width: 992px) {
  #mv .logo {
    width: 600px;
  }
  #mv .banner {
    bottom: 40px;
    width: auto;
  }
}
/**** ---- top ----
===================================****/
#top {
  padding: var(--size-130) var(--size-50) var(--size-40) var(--size-50);
  background: url(../../images/hellokittyshowbox/top/bg_intro.png) no-repeat;
  background-position: center 6.6666666667vw;
  background-size: 80.8vw auto;
}

#top .section-title {
  margin-bottom: var(--size-130);
  font-size: var(--fs-42);
  text-align: center;
}

#top .guinness {
  width: 100%;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  #top {
    background-position: center 5.0403225806vw;
    background-size: 61.0887096774vw auto;
  }
}
@media screen and (min-width: 992px) {
  #top {
    padding: var(--size-110) 0 var(--size-40) 0;
    background-position: center 40px;
    background-size: 452px auto;
  }
  #top .section-title {
    margin-bottom: var(--size-100);
  }
  #top .guinness {
    width: 600px;
  }
}
/**** ---- information ----
===================================****/
#information {
  position: relative;
  padding: var(--size-70) var(--size-30);
  background-color: var(--color-white);
}

#information .section-title::after {
  width: 100%;
}

/**** ---- news ----
===================================****/
#news {
  position: relative;
  padding: var(--size-70) var(--size-30);
  background-color: var(--color-paleShowbox);
}

#news .section-title::after {
  width: 100%;
}

#news.-radius {
  margin-top: 12vw;
  padding-top: 0;
}

#news.-radius::before {
  position: absolute;
  left: 0;
  bottom: 100%;
  aspect-ratio: 200/23;
  display: block;
  width: 100%;
  height: 11.3333333333vw;
  background-color: var(--color-paleShowbox);
  mask-image: url(../../images/hellokittyshowbox/common/mask_section-01.svg);
  -webkit-mask-image: url(../../images/hellokittyshowbox/common/mask_section-01.svg);
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center top;
  -webkit-mask-position: center top;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  content: "";
}

/**** ---- category-section ----
===================================****/
.category-section {
  position: relative;
  padding-bottom: var(--size-50);
  border: 1px solid;
  border-radius: var(--size-45);
  box-shadow: 0px 0px var(--size-20) 0px rgba(0, 0, 0, 0.4);
}

.category-section + .category-section {
  margin-top: var(--size-80);
}

.category-section::before {
  position: absolute;
  right: -1.3333333333vw;
  top: -6.6666666667vw;
  display: block;
  width: 24.6666666667vw;
  height: 19.3333333333vw;
  aspect-ratio: 185/145;
  background: no-repeat center center/contain;
  content: "";
}

.category-section .subsection-title {
  padding: var(--size-30) 0;
  color: #fff;
  font-size: var(--size-70);
  text-align: center;
  border-radius: var(--size-45) var(--size-45) 0 0;
}

.category-section .subsection-title span {
  display: inline-block;
  position: relative;
  padding-left: 17.3333333333vw;
  z-index: 1;
}

.category-section .subsection-title span::before {
  position: absolute;
  top: 50%;
  left: 7.4666666667vw;
  width: 12.2666666667vw;
  height: 8.8vw;
  transform: translate(-50%, -50%);
}

.category-section .subsection-title span::after {
  position: absolute;
  top: 50%;
  left: 0;
  width: 14.6666666667vw;
  height: 14.6666666667vw;
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
  z-index: -1;
  content: "";
}

.category-section .item .image {
  margin-bottom: var(--size-20);
}

.category-section .item .image img {
  aspect-ratio: 700/470;
  object-fit: cover;
  object-position: center center;
}

.category-section .item .name {
  margin: var(--size-20) 0;
  font-size: var(--fs-sectionTitle);
  text-align: center;
}

.category-section .item .description {
  margin-bottom: var(--size-20);
  padding: 0;
  color: #000;
  white-space: nowrap;
}

.category-section .description {
  padding: var(--size-40) 0;
  text-align: center;
}

.category-section.-show {
  border-color: var(--color-show);
}

.category-section.-show::before {
  background-image: url(../../images/hellokittyshowbox/common/bg_category-show.svg);
}

.category-section.-show .subsection-title span::before {
  background-color: var(--color-show);
}

.category-section.-restaurant {
  border-color: var(--color-restaurant);
}

.category-section.-restaurant::before {
  background-image: url(../../images/hellokittyshowbox/common/bg_category-restaurant.svg);
}

.category-section.-restaurant .subsection-title span::before {
  background-color: var(--color-restaurant);
}

.category-section.-shop {
  border-color: var(--color-shop);
}

.category-section.-shop::before {
  background-image: url(../../images/hellokittyshowbox/common/bg_category-shop.svg);
}

.category-section.-shop .subsection-title span::before {
  background-color: var(--color-shop);
}

.category-section.-play {
  border-color: var(--color-play);
}

.category-section.-play::before {
  background-image: url(../../images/hellokittyshowbox/common/bg_category-play.svg);
}

.category-section.-play .subsection-title span::before {
  background-color: var(--color-play);
}

.category-section.-play .comingsoon {
  position: relative;
  color: var(--color-applehouse);
  font-size: var(--fs-48);
  text-align: center;
}

.category-section.-play .comingsoon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10%;
  width: 80%;
  height: 2px;
  background-color: var(--color-applehouse);
  transform: translateY(-50%);
}

.category-section.-play .comingsoon span {
  position: relative;
  display: inline-block;
  padding: 0 0.5em;
  background-color: #fff;
}

.category-section.-play .name {
  color: var(--color-play);
  font-size: var(--fs-sectionTitle-large);
  line-height: 1.2;
}

@media screen and (min-width: 992px) {
  .category-section {
    padding-bottom: 0;
    border-radius: 20px;
  }
  .category-section::before {
    top: -50px;
    right: -10px;
    width: 185px;
    height: 145px;
  }
  .category-section .subsection-title {
    padding: 20px 0;
    font-size: 6rem;
    border-radius: 18px 18px 0 0;
  }
  .category-section .subsection-title span {
    padding-left: 100px;
  }
  .category-section .subsection-title span::before {
    left: 40px;
    width: 65px;
    height: 46px;
  }
  .category-section .subsection-title span::after {
    width: 80px;
    height: 80px;
  }
  .category-section .item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 20px;
  }
  .category-section .item .image {
    width: 50%;
  }
  .category-section .item .text-box {
    width: 50%;
    padding-left: 20px;
  }
  .category-section.-play .comingsoon::before {
    left: 5%;
    width: 90%;
  }
}
/**** ---- about ----
===================================****/
#about {
  padding: var(--size-60) var(--size-30);
}

#about .copy {
  margin-bottom: var(--size-50);
  color: var(--color-showbox);
  font-size: var(--fs-32);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}

#about .copy em {
  font-style: normal;
  letter-spacing: -0.05em;
}

#about .copy span {
  position: relative;
  display: inline-block;
}

#about .copy span::before, #about .copy span::after {
  position: absolute;
  bottom: var(--size-10);
  display: inline-block;
  width: 10.5333333333vw;
  height: 18.8vw;
  aspect-ratio: 59/106;
  background: url(../../images/hellokittyshowbox/top/bg_sectionTitle.svg) no-repeat center center/contain;
  content: "";
}

#about .copy span::before {
  left: -8vw;
}

#about .copy span::after {
  right: -8vw;
  transform: scale(-1, 1);
}

@media screen and (min-width: 992px) {
  #about {
    padding: var(--size-70) 0;
  }
  #about .copy {
    font-size: 3.5rem;
    margin-bottom: 80px;
  }
  #about .copy span {
    position: relative;
  }
  #about .copy span::before, #about .copy span::after {
    width: 85px;
    height: 152px;
  }
  #about .copy span::before {
    left: -80px;
  }
  #about .copy span::after {
    right: -80px;
  }
  #about .gallery .image {
    width: 600px;
    margin: 0 20px 10px 20px;
  }
}
/**** ---- outline ----
===================================****/
#outline {
  padding: var(--size-30);
  color: #000;
}

#outline .section-title {
  margin: 0 0 -0.5em 0;
  color: var(--color-showbox);
  line-height: 1;
}

#outline .section-title span {
  padding: 0 var(--size-20);
  background-color: var(--color-white);
}

#outline .outline-list {
  padding: 0 var(--size-30);
  border-radius: var(--size-45);
  border: 1px solid var(--color-showbox);
}

#outline .outline-list .outline-item {
  padding: var(--size-20) 0;
}

#outline .outline-list .outline-item + .outline-item {
  border-top: 1px solid var(--color-showbox);
}

#outline .outline-list .outline-item .title {
  color: var(--color-showbox);
  font-size: var(--fs-36);
}

#outline .outline-list .outline-item .title:not(:first-child) {
  margin-top: var(--size-30);
}

#outline .outline-list .outline-item .text {
  font-size: var(--fs-small);
}

#outline .outline-list .outline-item .text strong {
  font-size: var(--fs-30);
}

#outline .outline-list .outline-item ul li {
  padding-left: 1em;
  font-size: var(--fs-small);
  text-indent: -1em;
}

#outline .outline-list .outline-item ul li::before {
  color: var(--color-showbox);
  content: "＊";
}

@media screen and (min-width: 992px) {
  #outline .outline-list .outline-item {
    display: flex;
    flex-wrap: wrap;
  }
  #outline .outline-list .outline-item .title {
    width: 20%;
    font-size: 2rem;
  }
  #outline .outline-list .outline-item .title:not(:first-child) {
    margin-top: 0;
  }
  #outline .outline-list .outline-item .text {
    width: 80%;
  }
  #outline .outline-list .outline-item .text:not(:last-child) {
    margin-bottom: 30px;
  }
  #outline .outline-list .outline-item .text strong {
    text-align: center;
  }
  #outline .outline-list .outline-item ul li {
    padding-left: 1em;
    font-size: var(--fs-small);
    text-indent: -1em;
  }
  #outline .outline-list .outline-item ul li::before {
    color: var(--color-smile);
    content: "＊";
  }
}
/**** ---- plan ----
===================================****/
#plan {
  padding: var(--size-140) 0;
  background: url(https://awaji-resort.com/d528mw5bifp6crd5/wp-content/themes/hello_kitty_apple_land/assets/images/top/bg_plan.png) no-repeat center top/100% auto;
}

#plan .section-title {
  margin-bottom: var(--size-100);
  font-size: 6vw;
  text-align: center;
}

#plan .plan-list {
  padding: 0 var(--size-25);
}

#plan .plan-list .item {
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  border-radius: var(--size-30);
}

#plan .plan-list .item + .item {
  margin-top: var(--size-25);
}

#plan .plan-list .item .text-box {
  width: 50%;
  padding: var(--size-20) var(--size-20);
  background-color: var(--color-white);
}

#plan .plan-list .item .text-box .title {
  margin-bottom: var(--size-10);
  color: var(--color-top);
  font-weight: 700;
  text-align: center;
}

#plan .plan-list .item .text-box .text {
  font-size: var(--fs-xsmall);
}

#plan .plan-list .item .image {
  width: 50%;
}

#plan .plan-list .item .image img {
  height: 100%;
  object-position: center center;
  object-fit: cover;
}

@media screen and (min-width: 992px) {
  #plan .section-title {
    margin-bottom: 50px;
    font-size: 3.5rem;
  }
  #plan .plan-list .item {
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    border-radius: var(--size-30);
  }
  #plan .plan-list .item + .item {
    margin-top: var(--size-25);
  }
  #plan .plan-list .item .text-box {
    width: 50%;
    padding: var(--size-20) var(--size-20);
    background-color: var(--color-white);
  }
  #plan .plan-list .item .text-box .title {
    font-size: 2.1rem;
  }
  #plan .plan-list .item .text-box .text {
    font-size: 1.6rem;
  }
  #plan .plan-list .item:hover .image img {
    transform: scale(1.2);
  }
}
/**** ---- instagram ----
===================================****/
#instagram {
  padding: var(--size-60) 0 0 0;
  background-color: #fff;
}

#instagram::before {
  background-color: #fff;
}

#instagram.-radius {
  position: relative;
  padding-top: 0;
}

#instagram.-radius::before {
  position: absolute;
  left: 0;
  bottom: 100%;
  aspect-ratio: 749/243;
  display: block;
  width: 100%;
  height: 32.4vw;
  background-color: var(--color-white);
  mask-image: url(../../images/hellokittyshowbox/common/mask_section-02.svg);
  -webkit-mask-image: url(../../images/hellokittyshowbox/common/mask_section-02.svg);
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center top;
  -webkit-mask-position: center top;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  content: "";
}

#instagram .instagram-item.-title a {
  background-color: #bac935 !important;
  background-image: url(../../images/common/icn_instagram-showbox.png);
}

@media screen and (min-width: 992px) {
  #instagram.-radius {
    padding-top: 60px;
  }
  #instagram.-radius::before {
    display: none;
  }
}
/**** ---- c_map ----
===================================****/
.c_map .address {
  margin: 0 var(--size-30);
  padding: var(--size-10) 0 var(--size-50) 0;
  border-top: 1px solid var(--color-showbox);
}

/**** ---- intro ----
===================================****/
#intro .mv {
  position: relative;
  mask-image: url(../../images/hellokittyshowbox/common/mask_mv.svg);
  -webkit-mask-image: url(../../images/hellokittyshowbox/common/mask_mv.svg);
  mask-size: cover;
  -webkit-mask-size: cover;
  mask-position: center bottom;
  -webkit-mask-position: center bottom;
  background-color: #a9bc03;
}

#intro .mv .item {
  padding-bottom: 10px;
  mask-image: url(../../images/hellokittyshowbox/common/mask_mv.svg);
  -webkit-mask-image: url(../../images/hellokittyshowbox/common/mask_mv.svg);
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center bottom;
  -webkit-mask-position: center calc(100% - 10px);
}

#intro .mv .item img {
  aspect-ratio: 81/50;
  object-fit: cover;
  object-position: center center;
}

#intro .mv.-movie {
  mask: none;
  -webkit-mask: none;
}

#intro .mv.-movie .item {
  mask: none;
  -webkit-mask: none;
}

#intro .mv .title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

#intro .mv .title.-text {
  padding: var(--size-10) var(--size-20);
  color: #fff;
  font-size: var(--fs-40);
  background-color: rgba(169, 188, 3, 0.8);
  border-radius: var(--size-25);
  white-space: nowrap;
}

#intro .text-box {
  padding: var(--size-60) var(--size-35);
  font-size: var(--fs-28);
  text-align: center;
  line-height: 1.6;
}

#intro .section-title {
  margin-bottom: var(--size-50);
}

#intro .section-title::after {
  margin: 0 calc(-1 * var(--size-25));
}

#intro .news {
  margin-bottom: var(--size-50);
  font-size: var(--fs-38);
}

#intro .guinness {
  width: 93.3333333333vw;
  margin: 0 auto;
  padding-bottom: 6.6666666667vw;
}

@media screen and (min-width: 992px) {
  #intro .section-title::after {
    width: 800px;
    margin: 30px auto 0 auto;
  }
  #intro .guinness {
    width: 600px;
    padding-bottom: 40px;
  }
}
/**** ---- show-list ----
===================================****/
#show-list {
  color: #000;
  background-color: #fff;
}

#show-list .show {
  padding: var(--size-50) 0 0 0;
}

#show-list .show .section-title {
  margin-bottom: var(--size-50);
}

#show-list .show .section-title span {
  padding: 0 var(--size-100);
  background: url(../../images/hellokittyshowbox/show/icn_musicalnote-01.svg) no-repeat left center/var(--size-50) auto, url(../../images/hellokittyshowbox/show/icn_musicalnote-01.svg) no-repeat right center/var(--size-50) auto;
}

#show-list .show .show-image {
  border-bottom: 5px solid #bac935;
}

#show-list .show .text-box {
  padding: var(--size-50);
  background-color: #fff;
}

#show-list .show .text-box > p,
#show-list .show .text-box ul {
  margin-bottom: var(--size-30);
  font-size: var(--fs-28);
}

#show-list .show .text-box :not(.button) a {
  color: #ff6289;
  text-decoration: underline;
}

#show-list .show .show-title {
  margin-bottom: var(--size-30);
  padding-left: var(--size-10);
  font-size: var(--fs-36);
  line-height: 1.2;
  border-left: 3px solid var(--color-showbox);
}

#show-list .show .subtitle {
  margin-bottom: var(--size-10);
  padding-bottom: var(--size-5);
  font-size: var(--fs-34);
  font-weight: 700;
  border-bottom: 1px solid var(--color-showbox);
}

#show-list .show .subtitle:not(:first-of-type) {
  margin-top: var(--size-50);
}

@media screen and (min-width: 992px) {
  #show-list {
    padding-bottom: var(--size-60);
  }
  #show-list .show .section-title span {
    padding: 0 var(--size-70);
    background-size: 35px auto, 35px auto;
  }
}
/**** ---- archive ----
===================================****/
#archive {
  position: relative;
  margin-top: -5.3333333333vw;
  padding-bottom: 40vw;
  background: #bac935;
}

#archive::before {
  display: block;
  height: 27.7333333333vw;
  background-color: #fff;
  content: "";
}

#archive::after {
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 300/84;
  display: block;
  width: 100%;
  height: 28vw;
  background-color: #bac935;
  mask-image: url(../../images/hellokittyshowbox/common/mask_section-03.svg);
  -webkit-mask-image: url(../../images/hellokittyshowbox/common/mask_section-03.svg);
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center top;
  -webkit-mask-position: center top;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  content: "";
}

#archive .section-title {
  margin: var(--size-50) 0;
}

#archive .section-title span {
  padding: 0 var(--size-100);
  background: url(../../images/hellokittyshowbox/show/icn_musicalnote-01.svg) no-repeat left center/var(--size-50) auto, url(../../images/hellokittyshowbox/show/icn_musicalnote-01.svg) no-repeat right center/var(--size-50) auto;
}

#archive .archive-box {
  margin: 0 var(--size-50);
  border: 1px solid var(--color-showbox);
  background-color: #fff;
}

#archive .archive-box + .archive-box {
  border-top: none;
}

#archive .archive-box .year {
  padding: var(--size-10) var(--size-50);
  color: var(--color-showbox);
  font-size: var(--fs-48);
  font-weight: 500;
}

#archive .archive-box .year::before, #archive .archive-box .year::after {
  position: absolute;
  top: 50%;
  right: var(--size-25);
  width: var(--size-30);
  height: 2px;
  margin-top: -1px;
  background-color: var(--color-showbox);
  content: "";
}

#archive .archive-box .year::after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}

#archive .archive-box.-open .year::after {
  transform: rotate(0);
}

#archive .archive-box .js-accordionContent {
  display: none;
  padding: var(--size-20);
  border-top: 1px solid var(--color-showbox);
}

#archive .archive-box .item + .item {
  margin-top: var(--size-50);
}

#archive .archive-box .item .image {
  aspect-ratio: 16/9;
  margin-bottom: var(--size-20);
}

#archive .archive-box .item .title {
  color: var(--color-showbox);
  font-size: var(--fs-32);
  line-height: 1.2;
}

#archive .archive-box .item iframe {
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 992px) {
  #archive {
    margin: 0;
    padding: var(--size-60) 0;
  }
  #archive::before, #archive::after {
    display: none;
  }
  #archive .section-title {
    margin: 0 0 50px 0;
  }
  #archive .section-title span {
    padding: 0 var(--size-70);
    background-size: 35px auto, 35px auto;
  }
  #archive .archive-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #archive .archive-list .item {
    width: 48%;
  }
  #archive .archive-list .item:nth-child(2) {
    margin-top: 0;
  }
}
/**** ---- vegan ----
===================================****/
#vegan {
  padding: var(--size-60) var(--size-50);
}

#vegan .section-title {
  margin-bottom: 0;
  padding: 0 var(--size-50);
  background-color: var(--color-showbox);
}

#vegan .section-title::before, #vegan .section-title::after {
  position: absolute;
  top: 50%;
  right: var(--size-25);
  width: var(--size-30);
  height: 2px;
  margin-top: -1px;
  background-color: var(--color-white);
  content: "";
}

#vegan .section-title::after {
  transform: rotate(90deg);
  transition: transform 0.3s;
}

#vegan .section-title span {
  display: flex;
  align-items: center;
  height: 15.4666666667vw;
  margin: 0 auto;
  color: #fff;
  font-size: var(--fs-40);
}

#vegan .section-title span::before {
  display: block;
  aspect-ratio: 79/66;
  width: 10.5333333333vw;
  height: 8.8vw;
  margin-right: var(--size-20);
  background: url(../../images/hellokittyshowbox/restaurant/bg_vegan-01.png) no-repeat center center/contain;
  content: "";
}

#vegan .text-box {
  display: none;
  padding: var(--size-30);
  font-size: var(--fs-28);
  background-color: #fff;
  border: 1px solid var(--color-showbox);
}

#vegan .-open .section-title::after {
  transform: rotate(0);
}

@media screen and (min-width: 992px) {
  #vegan .section-title span {
    justify-content: center;
    height: 80px;
  }
  #vegan .section-title span::before {
    width: 50px;
    height: 41px;
  }
  #vegan .text-box {
    text-align: center;
  }
}
/**** ---- restaurant-list ----
===================================****/
#restaurant-list {
  background: url(../../images/hellokittyshowbox/restaurant/bg_content-02.png) #fff;
  background-size: 95px auto;
}

#restaurant-list .restaurant {
  padding: var(--size-50) var(--size-30);
}

#restaurant-list .restaurant .section-title {
  margin-bottom: var(--size-50);
  padding-bottom: var(--size-50);
  color: var(--color-showbox);
  background: url(../../images/hellokittyshowbox/restaurant/bg_title.png) no-repeat left bottom/contain;
}

#restaurant-list .restaurant .show-image {
  margin: 0 calc(-1 * var(--size-30)) var(--size-50) calc(-1 * var(--size-30));
  border-bottom: 5px solid #bac935;
}

#restaurant-list .restaurant .text-box > p,
#restaurant-list .restaurant .text-box ul,
#restaurant-list .restaurant .text-box .gallery {
  margin-bottom: var(--size-30);
  font-size: var(--fs-30);
}

#restaurant-list .restaurant .text-box small {
  font-size: var(--fs-28);
}

#restaurant-list .restaurant .text-box iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

#restaurant-list .restaurant .gallery {
  margin: 0 calc(-1 * var(--size-30));
}

#restaurant-list .restaurant .gallery .item {
  width: 85.4666666667vw;
  margin: 0 1.3333333333vw;
}

#restaurant-list .restaurant .gallery .slick-dots {
  display: none !important;
}

#restaurant-list .restaurant .show-title {
  margin-bottom: var(--size-30);
  padding-left: var(--size-10);
  font-size: var(--fs-36);
  line-height: 1.2;
  border-left: 3px solid var(--color-showbox);
}

#restaurant-list .restaurant .subtitle {
  margin-bottom: var(--size-10);
  padding-bottom: var(--size-5);
  font-size: var(--fs-34);
  font-weight: 700;
  border-bottom: 1px solid var(--color-showbox);
}

#restaurant-list .restaurant .subtitle:not(:first-of-type) {
  margin-top: var(--size-50);
}

#restaurant-list .restaurant .button {
  /*
  a {
    width: 70%;
    background-color: #a9bc03;
    border-color: #a9bc03;
    &::after {
      background-image: url(../../images/hellokittyshowbox/restaurant/icn_arrow.svg);
      background-color: initial;
      mask: none;
      -webkit-mask: none;
    }
  }
  */
}

#restaurant-list .restaurant .button a.-reserve {
  width: 80%;
  background: url(../../images/hellokittyshowbox/restaurant/icn_reserve.svg) no-repeat 6.6666666667vw center/7.2vw auto;
}

#restaurant-list .restaurant .button a.-reserve::after {
  background-image: url(../../images/hellokittyshowbox/restaurant/icn_arrow.svg);
  background-color: initial;
  mask: none;
  -webkit-mask: none;
}

@media screen and (min-width: 992px) {
  #restaurant-list .restaurant .gallery {
    margin: 0;
  }
  #restaurant-list .restaurant .gallery .item {
    width: 600px;
    margin: 0 10px;
  }
  #restaurant-list .restaurant .button a.-reserve {
    width: 300px;
    background-size: 35px auto;
    background-position: 30px center;
  }
}
/**** ---- cafemenu ----
===================================****/
#cafemenu {
  padding: 0 var(--size-45) var(--size-60) var(--size-45);
  font-size: var(--fs-28);
}

#cafemenu .menu {
  margin-bottom: var(--size-100);
}

#cafemenu .section-title {
  margin-bottom: var(--size-70);
  padding-bottom: var(--size-10);
  color: var(--color-showbox);
  font-size: var(--size-40);
  border-bottom: 1px solid var(--color-showbox);
}

#cafemenu .main-image {
  margin-bottom: var(--size-30);
}

#cafemenu .menu-name {
  margin-top: var(--size-10);
  padding: 0 var(--size-30);
  color: var(--color-showbox);
  font-size: var(--fs-34);
  font-weight: 700;
  line-height: 1.2;
}

#cafemenu .menu-name small {
  font-size: var(--fs-22);
}

#cafemenu .menu-name.-small {
  font-size: var(--fs-30);
  white-space: nowrap;
}

#cafemenu .menu-name.-large {
  margin-top: var(--size-30);
  font-size: var(--fs-sectionTitle);
  line-height: 1;
}

#cafemenu .menu-name.-large span {
  font-size: var(--fs-28);
}

#cafemenu .price {
  margin-bottom: var(--size-30);
  padding: 0 var(--size-30);
  font-size: var(--fs-28);
}

#cafemenu .set-box {
  position: relative;
  width: 80vw;
  margin: 0 auto var(--size-25) auto;
  padding: var(--size-20) var(--size-30);
  font-size: var(--fs-28);
  border: 2px solid var(--color-showbox);
  border-radius: var(--size-30);
  background-color: #e9eec0;
}

#cafemenu .set-box::before {
  display: block;
  position: absolute;
  top: -3.3333333333vw;
  right: -3.3333333333vw;
  width: 8.6666666667vw;
  height: 6.6666666667vw;
  background: url(../../images/hellokittyshowbox/restaurant/icn_ribbon.svg) no-repeat center center/contain;
  content: "";
}

#cafemenu .set-box.-center {
  margin: 0 auto var(--size-25) auto;
  text-align: center;
}

#cafemenu .set-box.-center .set-title {
  margin: 0;
  font-weight: 400;
}

#cafemenu .set-box.-center .set-title.-drink::before {
  vertical-align: bottom;
  width: 4.2666666667vw;
  height: 6.6666666667vw;
}

#cafemenu .set-box .set-title {
  font-size: var(--fs-34);
  font-weight: 700;
}

#cafemenu .set-box .set-title::before {
  display: inline-block;
  margin-right: 0.5em;
  background: no-repeat center center/contain;
  content: "";
}

#cafemenu .set-box .set-title.-sweets::before {
  aspect-ratio: 29/30;
  width: 4.9333333333vw;
  height: 5.0666666667vw;
  background-image: url(../../images/hellokittyshowbox/restaurant/icn_cake.svg);
}

#cafemenu .set-box .set-title.-drink::before {
  aspect-ratio: 19/30;
  width: 3.6vw;
  height: 5.6vw;
  background-image: url(../../images/hellokittyshowbox/restaurant/icn_drink.svg);
}

#cafemenu .set-box .set-text {
  margin-top: var(--size-10);
}

#cafemenu .set-box .set-list li::before {
  color: var(--color-showbox);
  content: "・";
}

#cafemenu .flex-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#cafemenu .flex-box .menu-item {
  width: 48%;
  margin-bottom: var(--size-50);
  font-size: var(--fs-28);
}

#cafemenu .flex-box .menu-item .menu-name {
  padding: 0;
}

#cafemenu .flex-box .item {
  width: 48%;
  margin-bottom: var(--size-50);
  text-align: center;
}

#cafemenu .flex-box .item .image {
  height: 30.6666666667vw;
  margin-bottom: var(--size-30);
  padding: 0 var(--size-60);
}

#cafemenu .flex-box .item .name {
  font-size: var(--fs-18);
}

#cafemenu .flex-box .item .name span {
  color: var(--color-showbox);
}

#cafemenu .number-list {
  padding: 0 0 0 var(--size-150);
  margin: 0 auto;
  counter-reset: number;
}

#cafemenu .number-list li {
  margin-bottom: var(--size-10);
}

#cafemenu .number-list li::before {
  counter-increment: number;
  color: var(--color-showbox);
  content: counter(number) ".";
}

#cafemenu .price-list {
  margin-bottom: var(--size-50);
}

#cafemenu .price-list .label::after {
  color: var(--color-showbox);
  content: "……";
}

#cafemenu .note {
  margin: 0 calc(-1 * var(--size-20));
  font-size: var(--fs-28);
  text-align: center;
  white-space: nowrap;
}

#cafemenu .vegan-box {
  padding: var(--size-30);
  color: var(--color-showbox);
  border: 2px solid var(--color-showbox);
}

#cafemenu .vegan-box .title {
  margin-bottom: var(--size-15);
  font-size: var(--fs-40);
  font-weight: 700;
}

#cafemenu .vegan-box .text {
  font-size: var(--fs-26);
  line-height: 1.8;
}

#cafemenu .banner {
  padding: var(--size-50) 0;
}

#cafemenu #fruitdog .price-list {
  margin: var(--size-50) 0 var(--size-50) var(--size-150);
}

#cafemenu #fruitdog .main-image {
  margin: 0;
}

#cafemenu #drink {
  margin-bottom: var(--size-30);
}

#cafemenu #drink .section-title {
  padding-top: var(--size-30);
  border-top: 1px solid var(--color-showbox);
  border-bottom: 0;
}

#cafemenu #drink .menu-name,
#cafemenu #drink .price {
  padding: 0;
}

#cafemenu #drink .price-list li::before {
  color: var(--color-catSmile);
  content: "・";
}

@media screen and (min-width: 992px) {
  #cafemenu .set-box {
    width: 600px;
  }
  #cafemenu .set-box::before {
    top: -25px;
    right: -25px;
    width: 65px;
    height: 50px;
  }
  #cafemenu .set-box.-center .set-title.-drink::before {
    width: 32px;
    height: 50px;
  }
  #cafemenu .set-box .set-title {
    font-size: 2.4rem;
  }
  #cafemenu .set-box .set-title.-sweets::before {
    width: 26px;
    height: 27px;
  }
  #cafemenu .set-box .set-title.-drink::before {
    width: 20px;
    height: 31px;
  }
  #cafemenu .flex-box .item .image {
    height: 265px;
  }
  #cafemenu .flex-box .item .name {
    font-size: 1.6rem;
  }
  #cafemenu .banner {
    width: 800px;
    margin: 0 auto;
  }
  #cafemenu .vegan-box {
    width: 600px;
    margin: 0 auto;
  }
}
/**** ---- lunchmenu ----
===================================****/
#lunchmenu {
  padding: var(--size-60) var(--size-30);
  font-size: var(--fs-28);
}

#lunchmenu .section-title {
  margin-bottom: var(--size-70);
  padding-bottom: var(--size-20);
  color: var(--color-showbox);
  font-size: var(--fs-38);
  border-bottom: 1px solid var(--color-showbox);
}

#lunchmenu .menu + .menu {
  margin-top: var(--size-80);
}

#lunchmenu .main-image {
  margin: 0 calc(-1 * var(--size-30)) var(--size-30) calc(-1 * var(--size-30));
}

#lunchmenu .subtitle {
  margin-top: var(--size-50);
  color: var(--color-showbox);
  font-size: var(--fs-32);
  font-weight: 700;
}

#lunchmenu .text-box {
  font-size: var(--size-28);
}

#lunchmenu .set-box {
  position: relative;
  width: 80vw;
  margin: 0 auto var(--size-25) auto;
  padding: var(--size-20) var(--size-30);
  font-size: var(--fs-28);
  border: 2px solid var(--color-showbox);
  border-radius: var(--size-30);
}

#lunchmenu .set-box::before {
  display: block;
  position: absolute;
  top: -3.3333333333vw;
  right: -3.3333333333vw;
  width: 8.6666666667vw;
  height: 6.6666666667vw;
  background: url(../../images/hellokittyshowbox/restaurant/icn_ribbon.svg) no-repeat center center/contain;
  content: "";
}

#lunchmenu .set-box ul li {
  font-size: var(--size-28);
}

#lunchmenu .set-box ul li::before {
  margin-right: 0.5em;
  color: var(--color-showbox);
  font-size: var(--fs-22);
  content: "●";
}

@media screen and (min-width: 992px) {
  #lunchmenu .set-box {
    width: 600px;
  }
  #lunchmenu .set-box::before {
    top: -25px;
    right: -25px;
    width: 65px;
    height: 50px;
  }
}
/**** ---- shop-list ----
===================================****/
#shop-list {
  padding: var(--size-50) 0;
}

#shop-list .section-title {
  margin-bottom: var(--size-50);
  padding: var(--size-50) var(--size-30);
  color: var(--color-showbox);
  font-size: var(--fs-42);
  background-color: #fff;
}

#shop-list .note {
  margin-top: var(--size-30);
  color: var(--color-showbox);
  font-size: var(--fs-28);
  text-align: center;
}

#shop-list .lead {
  padding: var(--size-50);
  color: #fff;
  font-size: var(--fs-30);
}

#shop-list .subsection-title {
  margin: 0 var(--size-30) var(--size-15) var(--size-30);
}

#shop-list .item-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 var(--size-20);
}

#shop-list .item {
  width: 48%;
  margin-top: var(--size-40);
}

#shop-list .item .image {
  overflow: hidden;
  margin-bottom: var(--size-15);
  border-radius: var(--size-15);
}

#shop-list .item .text-box {
  padding: var(--size-10);
  background-color: #fff;
  border-radius: var(--size-15);
}

#shop-list .item .text-box.-simple {
  color: #fff;
  background-color: var(--color-showbox);
}

#shop-list .item .text-box.-simple .title {
  padding: 0;
  border: none;
}

#shop-list .item .text-box .title {
  min-height: var(--size-90);
  padding-left: var(--size-5);
  font-size: var(--fs-20);
  line-height: 1.2;
  border-left: 3px solid var(--color-showbox);
}

#shop-list .item .text-box .title small {
  display: block;
  color: var(--color-showbox);
  font-size: var(--fs-18);
}

#shop-list .item .text-box .description {
  margin-top: var(--size-10);
  font-size: var(--fs-30);
}

.banner {
  padding: var(--size-50) var(--size-55);
  background-color: #fff;
}

.banner .section-title {
  margin-bottom: var(--size-20);
  color: var(--color-showbox);
  font-size: var(--fs-36);
  font-weight: 500;
  text-align: center;
}

.banner .item {
  position: relative;
  display: block;
}

.banner .item .text {
  position: absolute;
  left: 0;
  bottom: 2vw;
  width: 100%;
  color: #fff;
  font-size: 3.7333333333vw;
  text-align: center;
  background: url(../../images/hellokittyshowbox/shop/icn_arrow-smile.png) no-repeat;
  background-size: var(--size-30) auto;
  background-position: 95% center;
}

@media screen and (min-width: 992px) {
  #shop-list .section-title::after {
    width: 800px;
  }
  #shop-list .section-title {
    margin: 0 0 30px 0;
  }
  #shop-list .item .text-box .title {
    font-size: 2.2rem;
  }
  #shop-list .item .text-box .title small {
    font-size: 1.6rem;
  }
  #shop-list .item .text-box .description {
    font-size: 1.6rem;
  }
  .banner .item {
    width: 470px;
    margin: 0 auto;
  }
  .banner .item .text {
    bottom: 10px;
    font-size: 1.8rem;
  }
  .banner .item:hover .text {
    animation: bg_arrow 0.5s;
  }
}
@keyframes bg_arrow {
  50% {
    background-position: 97% center;
  }
  100% {
    background-position: 95% center;
  }
}
/**** ---- howto ----
===================================****/
#howto .page-title {
  margin: 0 var(--size-30);
  padding: var(--size-60) 0 var(--size-15) 0;
  font-size: var(--fs-42);
  border-bottom: 1px solid var(--color-showbox);
}

#howto .plan {
  padding: var(--size-60) var(--size-30);
}

#howto .plan .section-title {
  margin-bottom: var(--size-20);
  text-align: center;
}

#howto .plan .movie {
  border: 5px solid var(--color-showbox-02);
}

#howto .plan .plan-text {
  margin: var(--size-25) 0 var(--size-75) 0;
  padding: var(--size-20);
  color: #fff;
  font-size: var(--fs-28);
  background-color: #ee69aa;
  border-radius: var(--size-30);
}

#howto .plan .plan-list .item {
  position: relative;
  width: 73.3333333333vw;
  margin-top: 14.6666666667vw;
  background-color: #fff;
  border: 3px solid #fff;
  border-radius: var(--size-30);
  box-shadow: 0px 0px var(--size-20) 0px rgba(0, 0, 0, 0.4);
}

#howto .plan .plan-list .item:first-child {
  margin-top: 8vw;
}

#howto .plan .plan-list .item:last-child::after {
  display: none;
}

#howto .plan .plan-list .item::after {
  position: absolute;
  left: 40vw;
  top: 98%;
  width: 20vw;
  height: 20vw;
  aspect-ratio: 1;
  background: url(../../images/hellokittyshowbox/howto/icn_arrow.svg) no-repeat center center/contain;
  transform: scale(-1, 1);
  content: "";
}

#howto .plan .plan-list .item:nth-child(even) {
  margin-left: auto;
}

#howto .plan .plan-list .item:nth-child(even)::after {
  left: auto;
  right: 40vw;
  transform: scale(1);
}

#howto .plan .plan-list .item:nth-child(even) .category {
  right: auto;
  left: -9.3333333333vw;
}

#howto .plan .plan-list .item .image {
  position: relative;
  overflow: hidden;
  height: 41.3333333333vw;
  border-radius: var(--size-30) var(--size-30) 0 0;
}

#howto .plan .plan-list .item .image::after {
  position: absolute;
  right: var(--size-10);
  bottom: var(--size-10);
  content: "";
}

#howto .plan .plan-list .item .image.-showbox::after {
  width: 13.8666666667vw;
  height: 12.8vw;
  background: url(../../images/hellokittyshowbox/howto/icn_showbox.png) no-repeat center center/contain;
}

#howto .plan .plan-list .item .image.-smile::after {
  width: 13.8666666667vw;
  height: 14vw;
  background: url(../../images/hellokittyshowbox/howto/icn_smile.png) no-repeat center center/contain;
}

#howto .plan .plan-list .item .category {
  position: absolute;
  top: -6.6666666667vw;
  right: -9.3333333333vw;
  width: 17.3333333333vw;
  height: 17.3333333333vw;
  background-color: var(--color-showbox-02);
  border-radius: 50%;
  z-index: 2;
}

#howto .plan .plan-list .item .category span {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  color: #fff;
  font-size: var(--fs-36);
  font-weight: 700;
  text-align: center;
  text-shadow: 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02), 0 0 3px var(--color-showbox-02);
  line-height: 1.2;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  content: "";
}

#howto .plan .plan-list .item .category.-smile {
  right: auto;
  left: -2.6666666667vw;
  background-color: var(--color-catSmile);
}

#howto .plan .plan-list .item .category.-smile span {
  font-size: var(--fs-34);
  line-height: 1.2;
  text-shadow: 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile), 0 0 3px var(--color-catSmile);
}

#howto .plan .plan-list .item .text {
  padding: var(--size-20) var(--size-10);
  font-size: var(--fs-28);
  text-align: center;
  line-height: 1.2;
}

#howto .plan .plan-list .item .text small {
  display: inline-block;
  font-size: var(--fs-22);
  line-height: 1.2;
}

#howto .plan .plan-list .item .button {
  padding-bottom: var(--size-20);
}

#howto .plan .plan-list .item .button a {
  width: 46.6666666667vw;
  font-size: var(--fs-18);
}

#howto .plan.-plan-01 {
  position: relative;
  padding-bottom: var(--size-80);
}

#howto .plan.-plan-01:after {
  position: absolute;
  left: 50%;
  bottom: calc(-1 * var(--size-20));
  display: block;
  content: "";
  width: calc(100% - 2.6666666667vw);
  height: var(--size-40);
  margin-top: var(--size-10);
  background: url(../../images/hellokittyshowbox/howto/bg_section.svg) no-repeat center center/contain;
  transform: translateX(-50%);
}

#howto .plan.-plan-01 .section-title img {
  width: 68vw;
}

#howto .plan.-plan-01 .plan-list .item:nth-child(1)::before {
  position: absolute;
  right: -20vw;
  top: 5.3333333333vw;
  width: 13.3333333333vw;
  height: 57.0666666667vw;
  aspect-ratio: 7/30;
  background: url(../../images/hellokittyshowbox/howto/icn_music-01.svg) no-repeat center center/contain;
  content: "";
}

#howto .plan.-plan-01 .plan-list .item:nth-child(2)::before {
  position: absolute;
  left: -20vw;
  top: -4vw;
  width: 16.5333333333vw;
  height: 66.9333333333vw;
  aspect-ratio: 37/150;
  background: url(../../images/hellokittyshowbox/howto/icn_music-02.svg) no-repeat center center/contain;
  content: "";
}

#howto .plan.-plan-01 .plan-list .item:nth-child(3)::before {
  position: absolute;
  right: -20vw;
  top: -5.3333333333vw;
  width: 14.9333333333vw;
  height: 62.1333333333vw;
  aspect-ratio: 6/25;
  background: url(../../images/hellokittyshowbox/howto/icn_music-03.svg) no-repeat center center/contain;
  content: "";
}

#howto .plan.-plan-01 .plan-list .item:nth-child(4)::before {
  position: absolute;
  left: -21.3333333333vw;
  top: -1.3333333333vw;
  width: 13.2vw;
  height: 56.5333333333vw;
  aspect-ratio: 7/30;
  background: url(../../images/hellokittyshowbox/howto/icn_music-04.svg) no-repeat center center/contain;
  content: "";
}

#howto .plan.-plan-01 .plan-list .item:nth-child(5)::before, #howto .plan.-plan-01 .plan-list .item:nth-child(7)::before {
  position: absolute;
  right: -20vw;
  top: -2.6666666667vw;
  width: 14.6666666667vw;
  height: 56.4vw;
  aspect-ratio: 13/50;
  background: url(../../images/hellokittyshowbox/howto/icn_music-05.svg) no-repeat center center/contain;
  content: "";
}

#howto .plan.-plan-01 .plan-list .item:nth-child(6)::before {
  position: absolute;
  left: -21.3333333333vw;
  top: -6.6666666667vw;
  width: 16vw;
  height: 68.5333333333vw;
  aspect-ratio: 7/30;
  background: url(../../images/hellokittyshowbox/howto/icn_music-06.svg) no-repeat center center/contain;
  content: "";
}

#howto .plan.-plan-02 {
  background-color: #ffd8e1;
  background-image: radial-gradient(#ffffff 15%, rgba(255, 255, 255, 0) 15%), radial-gradient(#ffffff 15%, rgba(255, 255, 255, 0) 15%);
  background-size: 12px 12px;
  background-position: 0 0, 6px 6px;
}

#howto .plan.-plan-02 .section-title img {
  width: 66.8vw;
}

#howto .plan.-plan-02 .plan-list .item:nth-child(odd)::before {
  position: absolute;
  right: -20vw;
  top: -2.6666666667vw;
  width: 14.6666666667vw;
  height: 56.4vw;
  aspect-ratio: 13/50;
  background: url(../../images/hellokittyshowbox/howto/icn_music-05.svg) no-repeat center center/contain;
  content: "";
}

#howto .plan.-plan-02 .plan-list .item:nth-child(even)::before {
  position: absolute;
  left: -22.6666666667vw;
  top: -9.3333333333vw;
  width: 14.8vw;
  height: 82.1333333333vw;
  aspect-ratio: 9/50;
  background: url(../../images/hellokittyshowbox/howto/icn_music-07.svg) no-repeat center center/contain;
  content: "";
}

@media screen and (min-width: 992px) {
  #howto .page-title img {
    width: 653px;
  }
  #howto .plan .section-title {
    padding: 0;
    text-align: center;
  }
  #howto .plan .section-title::before {
    left: -20px;
    bottom: 50px;
    width: 132px;
  }
  #howto .plan .section-title::after {
    bottom: 10px;
    width: 150px;
  }
  #howto .plan .plan-text {
    text-align: center;
  }
  #howto .plan .plan-list .item {
    width: 450px;
    margin-top: 100px;
  }
  #howto .plan .plan-list .item:first-child {
    margin-top: 60px;
  }
  #howto .plan .plan-list .item::after {
    left: 100%;
    width: 120px;
    height: 120px;
  }
  #howto .plan .plan-list .item:nth-child(even)::after {
    right: 100%;
  }
  #howto .plan .plan-list .item:nth-child(even) .category {
    left: -70px;
  }
  #howto .plan .plan-list .item .category {
    top: -50px;
    right: -70px;
    width: 130px;
    height: 130px;
  }
  #howto .plan .plan-list .item .image {
    height: 250px;
  }
  #howto .plan .plan-list .item .image.-smile::after {
    width: 104px;
    height: 105px;
  }
  #howto .plan .plan-list .item .button a {
    width: 80%;
    font-size: var(--fs-24);
  }
  #howto .plan.-plan-01 .section-title img {
    width: 510px;
  }
  #howto .plan.-plan-01 .plan-list .item:nth-child(1)::before {
    right: -150px;
    top: 40px;
    width: 80px;
    height: 342px;
  }
  #howto .plan.-plan-01 .plan-list .item:nth-child(2)::before {
    left: -150px;
    top: -30px;
    width: 104px;
    height: 421px;
  }
  #howto .plan.-plan-01 .plan-list .item:nth-child(3)::before {
    right: -150px;
    top: -40px;
    width: 92px;
    height: 383px;
  }
  #howto .plan.-plan-01 .plan-list .item:nth-child(4)::before {
    left: -160px;
    top: -10px;
    width: 79px;
    height: 338px;
  }
  #howto .plan.-plan-01 .plan-list .item:nth-child(5)::before, #howto .plan.-plan-01 .plan-list .item:nth-child(7)::before {
    right: -150px;
    top: -20px;
    width: 90px;
    height: 346px;
  }
  #howto .plan.-plan-01 .plan-list .item:nth-child(6)::before {
    left: -160px;
    top: -50px;
    width: 100px;
    height: 428px;
  }
  #howto .plan.-plan-02 .section-title img {
    width: 501px;
  }
  #howto .plan.-plan-02 .plan-list .item:nth-child(odd)::before {
    right: -150px;
    top: -20px;
    width: 90px;
    height: 346px;
  }
  #howto .plan.-plan-02 .plan-list .item:nth-child(even)::before {
    left: -170px;
    top: -70px;
    width: 91px;
    height: 505px;
  }
}
/**** ---- map ----
===================================****/
#map {
  padding: 0 0 var(--size-40) 0;
}

#map .text {
  padding: 0 var(--size-30);
}

#map .section-title {
  padding: var(--size-40) var(--size-30);
}

#map .map-list {
  padding: var(--size-30) var(--size-30) 0 var(--size-30);
}

#map .map-list .list-item {
  position: relative;
  margin-bottom: var(--size-30);
  padding: var(--size-10) var(--size-25);
  color: #fff;
}

#map .map-list .list-item.-marche {
  background: url(https://awaji-resort.com/d528mw5bifp6crd5/wp-content/themes/hello_kitty_apple_land/assets/images/common/bg_pattern-marche.png);
}

#map .map-list .list-item.-bakery {
  background: url(https://awaji-resort.com/d528mw5bifp6crd5/wp-content/themes/hello_kitty_apple_land/assets/images/common/bg_pattern-bakery.png);
}

#map .map-list .list-item.-cafe {
  background: url(https://awaji-resort.com/d528mw5bifp6crd5/wp-content/themes/hello_kitty_apple_land/assets/images/common/bg_pattern-cafe.png);
}

#map .map-list .list-item.-zoo {
  background: url(https://awaji-resort.com/d528mw5bifp6crd5/wp-content/themes/hello_kitty_apple_land/assets/images/common/bg_pattern-zoo.png);
}

#map .map-list .list-item.-ristorante {
  background: url(https://awaji-resort.com/d528mw5bifp6crd5/wp-content/themes/hello_kitty_apple_land/assets/images/common/bg_pattern-ristorante.png);
}

#map .map-list .list-item.-bbq {
  background: url(https://awaji-resort.com/d528mw5bifp6crd5/wp-content/themes/hello_kitty_apple_land/assets/images/common/bg_pattern-bbq.png);
}

#map .map-list .list-item.-address {
  margin-bottom: var(--size-20);
  padding: var(--size-15) var(--size-20);
  color: var(--color-font);
  line-height: 1.7;
  border: 1px solid var(--color-font);
}

#map .map-list .list-item.-address::before {
  display: none;
}

#map .map-list .list-item::before {
  position: absolute;
  top: 0;
  left: 0;
  border-style: solid;
  border-color: #fff transparent transparent #fff;
  border-width: var(--size-60) 23.0666666667vw;
  opacity: 0.15;
  content: "";
}

#map .map-list .list-item .name {
  margin-bottom: var(--size-10);
  padding-bottom: var(--size-15);
  font-size: var(--fs-normal);
  font-weight: 400;
  letter-spacing: normal;
  border-bottom: 1px solid #fff;
}

#map .map-list .list-item .time {
  display: inline-block;
  white-space: nowrap;
}

#map .map-list .list-item .note {
  padding-left: 1em;
  font-size: var(--fs-xsmall);
  text-indent: -1em;
}

#map .map-list .list-item .note.-inline {
  display: inline-block;
}

#map .map-list .list-item .zip {
  font-size: var(--fs-small);
}

#map .link-button {
  margin-top: var(--size-50);
}

@media screen and (min-width: 992px) {
  #map {
    padding: 0;
  }
  #map::after {
    display: none;
  }
  #map .inner {
    padding-bottom: 0;
    background-color: initial;
  }
  #map .section-title {
    margin-bottom: 0;
    padding: 0;
    background: none;
  }
  #map .contents {
    padding: 30px 30px 50px 30px;
    background-color: #fff;
  }
  #map .contents .text {
    padding: 0;
  }
  #map .map-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
    margin-top: var(--size-20);
  }
  #map .map-list .list-item {
    width: 400px;
    margin-bottom: 20px;
    padding: 15px 20px;
  }
  #map .map-list .list-item.-address {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 0;
    padding: 17px;
    text-align: center;
  }
  #map .map-list .list-item.-bbq .note {
    display: inline;
    padding: 0;
    text-indent: 0;
  }
  #map .map-list .list-item::before {
    border-width: 46px 172px;
  }
  #map .map-list .list-item .name {
    margin-bottom: 10px;
    padding-bottom: 7px;
    font-size: 1.6rem;
  }
  #map .map-list .list-item .time {
    white-space: normal;
    width: 100%;
  }
  #map .map-list .list-item .time span {
    display: inline-block;
  }
  #map .map-list .list-item .zip {
    font-size: 1.4rem;
  }
  #map .map-list .list-item .address {
    padding: 0 1em;
  }
  #map .map-list .link-button {
    width: 100%;
    margin-top: 28px;
  }
}
/**** ---- 微調整用 ----
===================================****/
.main-content.-show {
  background: url(../../images/hellokittyshowbox/show/bg_intro-base.svg) center center/11.6vw auto #f6f8e6;
}

.main-content.-show #intro {
  color: #000;
  background: url(../../images/hellokittyshowbox/show/bg_intro-01.png) no-repeat 2.6666666667vw bottom/15.7333333333vw auto, url(../../images/hellokittyshowbox/show/bg_intro-02.png) no-repeat calc(100% - 2.6666666667vw) bottom/12.1333333333vw auto;
}

.main-content.-show #intro .section-title span::after {
  background-color: var(--color-showbox);
}

.main-content.-restaurant {
  background: url(../../images/hellokittyshowbox/restaurant/bg_content-03.png);
  background-size: 325px auto;
}

.main-content.-restaurant #intro .section-title span::after {
  background-color: var(--color-showbox);
}

.main-content.-shop #intro .section-title span::after {
  background-color: var(--color-showbox);
}

.main-content.-cafe #intro {
  background-image: linear-gradient(var(--color-paleShowbox) 65%, #fff 100%);
  background-image: -webkit-linear-gradient(var(--color-paleShowbox) 65%, #fff 100%);
}

.main-content.-lunch {
  background: url(../../images/hellokittyshowbox/restaurant/bg_content-03.png);
  background-size: 325px auto;
}

.main-content.-lunch #intro .text-box {
  padding-bottom: 0;
}

.main-content.-lunch #intro .section-title {
  margin-bottom: 0;
}

.main-content.-shop {
  background: url(../../images/hellokittyshowbox/shop/bg_content.png);
  background-size: 56px auto;
}

.main-content.-shop #intro .section-title {
  font-size: var(--fs-42);
}

.main-content.-howto {
  background-color: #fff7b2;
  background-image: radial-gradient(#ffffff 15%, rgba(255, 255, 255, 0) 15%), radial-gradient(#ffffff 15%, rgba(255, 255, 255, 0) 15%);
  background-size: 12px 12px;
  background-position: 0 0, 6px 6px;
}

@media screen and (min-width: 992px) {
  .main-content.-show #intro {
    background-position: calc(50% - 400px) bottom, calc(50% + 400px) bottom;
    background-size: 108px auto, 90px auto;
  }
}
.c_access-section {
  padding-top: var(--size-5);
}

.c_access-section .menu-navi {
  margin-top: var(--size-20);
}

.c_access-section .menu-navi .menu-list {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--size-20) var(--size-5) 0;
  border-bottom: 1px solid var(--color-showbox);
}

.c_access-section .menu-navi .menu-list li {
  width: var(--size-230);
  margin-bottom: -1px;
}

.c_access-section .menu-navi .menu-list li + li {
  margin-left: var(--size-10);
}

.c_access-section .menu-navi .menu-list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-showbox);
  text-align: center;
  font-size: var(--fs-28);
  padding: var(--size-15) 0;
  border-radius: var(--size-15) var(--size-15) 0 0;
  border: 1px solid var(--color-showbox);
}

.c_access-section .menu-navi .menu-list li a::before {
  content: "";
  width: 3.6vw;
  height: 4.1333333333vw;
  display: block;
  background-size: cover;
  margin-right: var(--size-10);
}

.c_access-section .menu-navi .menu-list li.car a:before {
  background-image: url(../../images/hellokittyshowbox/access/icn_car.png);
}

.c_access-section .menu-navi .menu-list li.bus a:before {
  background-image: url(../../images/hellokittyshowbox/access/icn_bus.png);
}

.c_access-section .menu-navi .menu-list li.train a:before {
  background-image: url(../../images/hellokittyshowbox/access/icn_train.png);
}

.c_access-section .map-contents .gMap {
  width: 100%;
  height: 70vw;
}

.c_access-section .map-contents iframe {
  width: 100%;
  height: 70vw;
}

.c_access-section .link-button {
  margin-top: var(--size-35);
}

.c_access-section .link-button a {
  width: 44.4vw;
}

.c_access-section .link-button a.type01 {
  border-color: #a9bc03;
  background-color: #a9bc03;
}

.c_access-section .link-button a.type01::after {
  background-image: url(../../images/hellokittyshowbox/access/icn_arrow-01.png);
}

.c_access-section .link-button a.type02::after {
  background-image: url(../../images/hellokittyshowbox/access/icn_arrow-02.png);
}

.c_access-section .access-subsection {
  padding: var(--size-60) var(--size-20) var(--size-70) var(--size-20);
}

.c_access-section .access-subsection + .access-subsection {
  padding-top: var(--size-30);
}

.c_access-section .access-subsection .section-title {
  margin: 0 var(--size-20) var(--size-30) var(--size-20);
  padding-bottom: var(--size-20);
  font-size: var(--fs-sectionTitle);
  text-align: center;
  border-bottom: 1px solid var(--color-showbox);
}

.c_access-section .access-subsection .section-title em {
  display: inline-block;
  letter-spacing: -0.3em;
  font-style: normal;
  text-indent: -0.3em;
}

.c_access-section .access-subsection .caption {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--size-30);
  text-align: center;
}

.c_access-section .access-subsection .caption::before {
  width: 4.6666666667vw;
  margin-right: var(--size-15);
  background-color: var(--color-showbox);
}

.c_access-section .access-subsection .box {
  margin-top: var(--size-15);
  padding: var(--size-30) var(--size-20) var(--size-30) var(--size-20);
  font-size: var(--fs-24);
  line-height: 2;
  border: 1px solid var(--color-showbox);
  border-radius: var(--size-15);
}

.c_access-section .access-subsection .box .subtitle {
  margin-bottom: var(--size-50);
  font-size: var(--fs-24);
}

.c_access-section .access-subsection .box .text a {
  color: #0000ff;
  text-decoration: underline;
}

@media screen and (min-width: 992px) {
  .c_access-section .menu-navi {
    margin-top: var(--size-10);
  }
  .c_access-section .menu-navi .menu-list {
    margin: 0 auto;
  }
  .c_access-section .menu-navi .menu-list li a::before {
    width: 27px;
    height: 31px;
  }
  .c_access-section .map-contents .gMap {
    width: 100%;
    height: 360px;
  }
  .c_access-section .map-contents iframe {
    width: 100%;
    height: 360px;
  }
  .c_access-section .link-button {
    margin-bottom: var(--size-50);
  }
  .c_access-section .link-button a {
    width: 250px;
  }
  .c_access-section .access-subsection .caption::before {
    width: 35px;
  }
}
/*# sourceMappingURL=hellokittyshowbox.css.map */