@charset "UTF-8";
/* modern-css-reset を採用*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@font-face {
  font-family: "FOT-Seurat Pro DB";
  src: url("/wp-content/themes/habakiri-child/dragonquestisland/font/FOT-SeuratProDB.otf");
}
html {
  font-size: 62.5%;
}

body {
  font-family: "FOT-Seurat Pro DB", sans-serif !important;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #42210B;
  background-color: #fff;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  cursor: pointer;
  color: inherit;
  display: inline-block;
}
a:hover {
  opacity: 0.7;
}

@media (min-width: 751px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
li,
dd {
  list-style-type: none;
}

h5,
h6 {
  margin: 0;
}

button {
  border: 0;
  padding: 0;
  margin: 0;
}

.is-pc {
  display: none;
}
@media (min-width: 751px) {
  .is-pc {
    display: block;
  }
}

.is-sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .is-sp {
    display: block;
  }
}

.l-inner {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 750px) {
  .l-inner {
    padding: 0 8vw;
  }
}

.c-section-title {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-section-title__img {
  width: 180px;
  margin-bottom: 14px;
}
@media screen and (max-width: 750px) {
  .c-section-title__img {
    width: 120px;
    height: 65px;
  }
}
.c-section-title__text {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .c-section-title__text {
    font-size: 24px;
  }
}

.p-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #000;
  box-sizing: border-box;
  z-index: 30;
}
@media screen and (max-width: 750px) {
  .p-header {
    display: block;
    position: relative;
  }
}
.p-header__inner {
  padding-top: 14px;
  padding-bottom: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .p-header__inner {
    padding: 2.666vw 4.3vw;
  }
}
.p-header__left {
  display: flex;
  align-items: center;
}
.p-header__logo {
  width: 100%;
  max-width: 208px;
  margin-left: 10px;
}
@media screen and (max-width: 750px) {
  .p-header__logo {
    width: 27.7vw;
    margin-left: 0;
  }
}
.p-header__logo a {
  vertical-align: bottom;
}
.p-header__logo img {
  height: auto;
  display: block;
}
@media screen and (max-width: 750px) {
  .p-header__logo img {
    width: 100%;
  }
}
.p-header__reserve-button {
  width: 308px;
  height: 41px;
}
@media screen and (max-width: 750px) {
  .p-header__reserve-button {
    right: 25px;
    width: 313px;
    height: 50px;
  }
  .p-header__reserve-button a img {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}

.p-nav {
  display: block;
  position: fixed;
  left: -100vw;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all 0.5s;
  z-index: 13;
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .p-nav {
    position: fixed;
    left: -100vw;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all 0.5s;
    z-index: 13;
    opacity: 0;
  }
}
.p-nav__list {
  max-width: 504px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
@media screen and (max-width: 750px) {
  .p-nav__list {
    max-width: 88vw;
    gap: 3.87vw;
  }
}
.p-nav__item {
  max-width: 237px;
  width: 100%;
  margin-right: 30px;
  height: 81px;
}
@media screen and (max-width: 750px) {
  .p-nav__item {
    max-width: 42vw;
    height: 12vw;
  }
}
.p-nav__item:nth-child(2n) {
  margin-right: 0;
}
.p-nav__menu-logo {
  width: 404px;
  margin: 0 auto 20px;
  padding-top: 116px;
}
@media screen and (max-width: 750px) {
  .p-nav__menu-logo {
    width: 61.87vw;
    padding-top: 19.6vw;
    margin: 0 auto 2.8vw;
  }
}
.p-nav__menu-logo img {
  width: 100%;
  height: auto;
  display: block;
}

.open .p-nav {
  left: 0;
  opacity: 1;
}

/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  width: 50px;
  height: 52px;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 40;
}
@media screen and (max-width: 750px) {
  .toggle_btn {
    display: block;
    position: fixed;
    top: 14.4vw;
    right: 4.26vw;
    width: 10.73vw;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 13;
  }
}

.toggle_btn span.on {
  display: none;
}

.toggle_btn span.off {
  display: block;
}

.open .toggle_btn span.on {
  display: block;
}

.open .toggle_btn span.off {
  display: none;
}

#mask {
  display: none;
  transition: all 0.5s;
}

.open #mask {
  background: rgba(0, 0, 0, 0.8);
  display: block;
  transition: all 0.5s;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 11;
}

/* MENU */
.p-mv {
  margin-top: 80px;
  position: relative;
}
@media screen and (max-width: 750px) {
  .p-mv {
    margin-top: 0;
  }
}
.p-mv__image {
  width: 100%;
}
.p-mv__scroll {
  position: absolute;
  bottom: 21.87%;
  right: 50%;
  transform: translateX(50%);
  max-width: 88px;
  width: 100%;
}
@media screen and (max-width: 750px) {
  .p-mv__scroll {
    bottom: 0.93vw;
    max-width: 17.6vw;
  }
}
.p-mv__scroll a {
  vertical-align: bottom;
}

.p-message {
  z-index: 2;
  position: relative;
  background-color: #000000;
  height: 181px;
  margin-top: -1px;
}
@media screen and (max-width: 750px) {
  .p-message {
    height: 40.8vw;
  }
}
.p-message__inner {
  width: 450px;
  position: absolute;
  top: -49px;
  right: 50%;
  transform: translateX(50%);
  padding: 20px 24px;
  border: 3px solid #fff;
  background-color: #000;
  border-radius: 10px;
}
@media screen and (max-width: 750px) {
  .p-message__inner {
    top: 8.8vw;
    width: 74.6vw;
    padding: 3.33vw 4vw;
  }
}
.p-message__text {
  color: #fff;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 750px) {
  .p-message__text {
    font-size: 3.33vw;
    line-height: 1.5;
  }
}

.p-prologue {
  background: url(../dragonquestisland/images/prologue-bg@2x.png) no-repeat center bottom/cover;
  padding: 112px 0 194px;
}
@media screen and (max-width: 750px) {
  .p-prologue {
    padding: 112px 0 141px;
  }
}

.p-section-title {
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .p-section-title {
    margin-bottom: 4vw;
  }
}
.p-section-title img {
  margin: 0 auto;
  height: 73.5px;
  width: auto;
}
@media screen and (max-width: 750px) {
  .p-section-title img {
    height: 10.66vw;
  }
}

.p-news {
  padding-bottom: 97px;
}
@media screen and (max-width: 750px) {
  .p-news {
    padding-bottom: 11vw;
  }
}
.p-news .news_boxes {
  background: url(../dragonquestisland/images/news-frame@2x.png) no-repeat center center/contain;
  max-width: 590px;
  width: 100%;
  height: 145px;
  margin: 0 auto 40px;
}
@media screen and (max-width: 750px) {
  .p-news .news_boxes {
    background: url(../dragonquestisland/images/news-frame-sp@2x.png) no-repeat center center/contain;
    max-width: 84vw;
    height: 26.66vw;
    margin-bottom: 6.66vw;
  }
  .p-news .news_boxes:last-child {
    margin-bottom: 3.33vw;
  }
}
.p-news .news_box {
  display: flex;
  padding: 25px 38px;
  position: relative;
}
@media screen and (max-width: 750px) {
  .p-news .news_box {
    padding: 5.6vw 4.4vw;
  }
}
.p-news .news_box-img {
  max-width: 135px;
  width: 100%;
  margin-right: 18px;
}
@media screen and (max-width: 750px) {
  .p-news .news_box-img {
    max-width: 22.8vw;
  }
}
@media screen and (max-width: 750px) {
  .p-news .news_box-text {
    margin-top: -7px;
  }
}
.p-news .date {
  font-size: 12px;
  color: #42210B;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .p-news .date {
    font-size: 2.13vw;
    letter-spacing: 0.1em;
    margin-bottom: 0.26vw;
  }
}
.p-news .news_box_ttl {
  line-height: 1.5625;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
  font-size: 16px;
  margin-top: 0;
  color: #42210B;
}
@media screen and (max-width: 750px) {
  .p-news .news_box_ttl {
    font-size: 2.66vw;
    line-height: 1.375;
    margin-top: -4px;
  }
}
.p-news .more {
  position: absolute;
  bottom: 20px;
  right: 24px;
  color: #42210B;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .p-news .more {
    bottom: 5vw;
    right: 4.8vw;
  }
}
.p-news .link {
  font-size: 12px;
  text-align: right;
  padding-right: 18px;
  margin-right: 10px;
  position: relative;
  color: #42210B;
}
@media screen and (max-width: 750px) {
  .p-news .link {
    font-size: 2.13vw;
    letter-spacing: 0.1em;
    padding-right: 2.2vw;
    margin-right: 0;
  }
}
.p-news .link::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 4px;
  width: 6.4px;
  height: 9px;
  transform: translateY(-50%);
  background: url(../dragonquestisland/images/arrow-right@2x.png) no-repeat center center/cover;
}
@media screen and (max-width: 750px) {
  .p-news .link::after {
    width: 1.1vw;
    height: 1.6vw;
    right: 0;
  }
}
.p-news .p-more-btn__link {
  color: #42210B;
}

.p-more-btn {
  display: flex;
  justify-content: center;
}
.p-more-btn__link {
  border-bottom: 1px solid #42210B;
  display: flex;
  align-items: center;
}
.p-more-btn__text {
  font-size: 20px;
  margin-right: 10px;
  line-height: 1.3;
}
@media screen and (max-width: 750px) {
  .p-more-btn__text {
    font-size: 3vw;
  }
}
.p-more-btn img {
  width: 10px;
  height: 14.5px;
  margin-top: 2px;
}
@media screen and (max-width: 750px) {
  .p-more-btn img {
    width: 1.6vw;
    height: 2.26vw;
  }
}

.p-about {
  padding-bottom: 100px;
}
@media screen and (max-width: 750px) {
  .p-about {
    padding-bottom: 10vw;
  }
}
.p-about .p-section-title {
  margin-bottom: 22px;
}
.p-about__text {
  max-width: 720px;
  width: 100%;
  margin: 0 auto 30px;
  font-size: 20px;
  letter-spacing: 0.18em;
  text-align: justify;
  line-height: 1.75;
  font-feature-settings: "palt";
}
.abuot_img {
  max-width: 720px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .p-about__text {
    font-size: 2.666vw;
    line-height: 1.65;
  }
}
.p-about__gallery {
  background: url(../dragonquestisland/images/gallery-frame@2x.png) no-repeat center center/contain;
  padding: 65px;
  max-width: 975px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .p-about__gallery {
    background: url(../dragonquestisland/images/gallery-frame-sp@2x.png) no-repeat center center/contain;
    padding: 0;
  }
}
.p-about__photos {
  max-width: 845px;
  width: 100%;
  margin: 0 auto;
  justify-items: center;
}
@media (min-width: 751px) {
  .p-about__photos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 39px 39px;
  }
}
@media screen and (max-width: 750px) {
  .p-about__photos {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 72.2vw;
    padding: 7.2vw 0 7vw;
  }
}
.p-about__photo {
  cursor: pointer;
}
@media (min-width: 751px) {
  .p-about__photo:nth-child(2) {
    align-self: end;
  }
  .p-about__photo:nth-child(4) {
    align-self: center;
  }
  .p-about__photo:nth-child(6) {
    align-self: center;
  }
}
@media screen and (max-width: 750px) {
  .p-about__photo {
    width: 33.7vw;
    overflow: hidden;
    margin-bottom: 4.8vw;
    clip-path: polygon(0 0, 93% 0, 100% 12%, 100% 100%, 80% 100%, 20% 100%, 0 100%, 0% 20%);
  }
  .p-about__photo:nth-child(3n) {
    width: 100%;
    clip-path: polygon(0 0, 93% 0, 100% 19%, 100% 100%, 80% 100%, 20% 100%, 0 100%, 0% 20%);
  }
  .p-about__photo:nth-child(3n) img {
    height: 25.2vw;
  }
  .p-about__photo:last-child {
    margin-bottom: 0;
  }
  .p-about__photo img {
    height: 18.6vw;
    object-fit: cover;
    object-position: 50%;
  }
}
.p-about #grayDisplay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100% !important;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 100;
}
.p-about #grayDisplay img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 52.25vw;
  max-height: 90%;
  object-fit: contain;
}
@media screen and (max-width: 750px) {
  .p-about #grayDisplay img {
    max-width: 72.2vw;
    clip-path: polygon(0 0, 94% 0, 100% 9%, 100% 100%, 0 100%, 0% 50%);
    max-height: 44%;
    object-fit: cover;
  }
}

.p-story .p-section-title {
  margin-bottom: 30px;
}
.p-story__content {
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  padding: 15px 24px;
  border: 3px solid #fff;
  background-color: #000;
  border-radius: 10px;
  position: relative;
}
.p-story__text {
  color: #fff;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.13em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 750px) {
  .p-story__text {
    font-size: 2.66vw;
    line-height: 1.6;
  }
  .p-story__text p {
    margin: 0;
  }
}
.p-story__image {
  position: absolute;
  bottom: -54px;
  right: -78px;
  max-width: 318px;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .p-story__image {
    right: -3vw;
    bottom: -8vw;
  }
}
@media screen and (max-width: 750px) {
  .p-story__image {
    width: 34.6vw;
  }
}
.p-story .sp-mb {
  margin-bottom: 14px;
}
@media screen and (max-width: 750px) {
  .p-story .sp-mb {
    margin-bottom: 2vw;
  }
}

.p-game {
  background: url(../dragonquestisland/images/game-bg@2x.png) no-repeat center top/cover;
  padding: 197px 0 252px;
}
@media screen and (max-width: 750px) {
  .p-game {
    padding: 160px 0 178px;
    background: url(../dragonquestisland/images/game-bg-sp@2x.png) no-repeat center top/cover;
  }
}

.p-how-to__inner .p-section-title {
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  .p-how-to__inner .p-section-title {
    margin-bottom: 3vw;
  }
}
.p-how-to__text {
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  font-size: 20px;
  letter-spacing: 0.15em;
  line-height: 1.75;
  margin-bottom: 30px;
  font-feature-settings: "palt";
  text-align: justify;
}
@media screen and (max-width: 750px) {
  .p-how-to__text {
    font-size: 2.666vw;
    line-height: 1.75;
    margin-bottom: 3vw;
  }
}
.p-how-to__item-image {
  max-width: 590px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .p-how-to__item-image {
    max-width: 100%;
  }
}
.p-how-to__annotation {
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  text-align: right;
  font-size: 16px;
  letter-spacing: 0.2em;
  margin-top: -30px;
  margin-bottom: 25px;
}
@media screen and (max-width: 750px) {
  .p-how-to__annotation {
    margin-top: -3.33vw;
    margin-bottom: 5.8vw;
  }
}
@media screen and (max-width: 750px) and (max-width: 750px) {
  .p-how-to__annotation {
    font-size: 2.13vw;
  }
}
.p-how-to__job-image {
  max-width: 890px;
  width: 100%;
  margin: 0 auto 63px;
}
@media screen and (max-width: 750px) {
  .p-how-to__job-image {
    max-width: 76.9vw;
    margin: 0 auto 10.1vw;
  }
}

.p-scroll {
  margin-bottom: 62px;
}
@media screen and (max-width: 750px) {
  .p-scroll {
    margin-bottom: 14.26vw;
  }
}
.p-scroll__inner {
  width: 1040px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 750px) {
  .p-scroll__inner {
    padding: 0 3.33vw;
  }
}
.p-scroll .p-section-title {
  margin-top: 0;
  margin-bottom: 42px;
}
@media screen and (max-width: 750px) {
  .p-scroll .p-section-title {
    margin-bottom: 7.6vw;
  }
}
.p-scroll__head {
  position: relative;
  cursor: pointer;
}
.p-scroll__head.is-open .p-scroll__btn {
  display: none;
}
.p-scroll__btn {
  border-bottom: 1px solid #42210B;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}
.p-scroll__btn img {
  width: 14.5px;
  height: 10px;
  margin-top: 2px;
}
@media screen and (max-width: 750px) {
  .p-scroll__btn img {
    width: 1.8vw;
    height: 1.3vw;
    margin-top: 0;
  }
}
.p-scroll__text {
  font-size: 20px;
  margin-right: 8px;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .p-scroll__text {
    font-size: 3vw;
    margin-right: 4px;
    letter-spacing: 0.09em;
  }
}
.p-scroll__body {
  margin-top: -2px;
  display: none;
  background: url(../dragonquestisland/images/scroll-body-2@2x.png) no-repeat bottom center/cover;
}
@media screen and (max-width: 750px) {
  .p-scroll__body {
    background: url(../dragonquestisland/images/scroll-body-sp@2x.png) no-repeat top center/cover;
  }
}
.p-scroll__contents {
  max-width: 720px;
  width: 60vw;
  margin: 0 auto;
  padding: 58px 0 145px;
}
@media screen and (max-width: 750px) {
  .p-scroll__contents {
    padding: 14.6vw 0 15vw;
    max-width: 73.3vw;
  }
}
.p-scroll__message {
  font-size: 20px;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 750px) {
  .p-scroll__message {
    max-width: 66.6vw;
    margin: 0 auto;
    font-size: 2.66vw;
    letter-spacing: 0.15em;
    line-height: 1.75;
  }
}

.p-register {
  margin-bottom: 100px;
}
@media screen and (max-width: 750px) {
  .p-register {
    margin-bottom: 13.3vw;
  }
}
.p-register__item {
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .p-register__item {
    margin-bottom: 7.3vw;
  }
}
.p-register__item:nth-child(4) .p-register__image {
  max-width: 660px;
  margin-top: 16px;
}
@media screen and (max-width: 750px) {
  .p-register__item:nth-child(4) .p-register__image {
    max-width: 59vw;
    margin-top: 3.46vw;
  }
}
.p-register__item:last-child .p-register__image {
  margin-bottom: 0;
}
.p-register__heading {
  text-align: center;
  font-size: 20px;
  letter-spacing: 0.16em;
  font-feature-settings: "palt";
  margin-bottom: 10px;
  margin-top: 0;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .p-register__heading {
    font-size: 2.66vw;
    margin-bottom: 0.5vw;
  }
}
.p-register__image {
  max-width: 596px;
  width: 100%;
  margin: 0 auto;
}

.p-procedure .p-section-title {
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  .p-procedure .p-section-title {
    margin-bottom: 7vw;
  }
}
.p-procedure__item {
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .p-procedure__item {
    margin-bottom: 7vw;
  }
}
.p-procedure__item:nth-child(4) .p-register__image {
  max-width: 660px;
  margin-top: 20px;
}
.p-procedure__heading {
  font-size: 20px;
  margin-bottom: 10px;
  letter-spacing: 0.16em;
  font-feature-settings: "palt";
  margin-top: 0;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .p-procedure__heading {
    max-width: 66.6vw;
    margin: 0 auto 1.6vw;
    letter-spacing: 0.15em;
    line-height: 1.75;
    font-size: 2.66vw;
  }
}
.p-procedure__image {
  max-width: 650px;
  width: 100%;
  margin: 0 auto;
}

.p-original {
  margin-bottom: 90px;
}
@media screen and (max-width: 750px) {
  .p-original {
    margin-bottom: 10vw;
  }
}
@media (min-width: 751px) {
  .p-original .p-section-title {
    margin-bottom: 20px;
  }
  .p-original .p-section-title img {
    height: 6.12vw;
    max-height: 73.5px;
  }
}
@media screen and (max-width: 750px) {
  .p-original .p-section-title {
    margin-top: 0;
    margin-bottom: 3vw;
  }
  .p-original .p-section-title img {
    height: 14.6vw;
  }
}
.p-original__inner {
  background: url(../dragonquestisland/images/original-bg@2x.png) no-repeat center center/contain;
  padding-top: 5.2vw;
  padding-bottom: 41px;
}
@media screen and (max-width: 750px) {
  .p-original__inner {
    background: url(../dragonquestisland/images/original-bg-sp@2x.png) no-repeat center center/contain;
    padding-right: 3.33vw;
    padding-left: 3.33vw;
    padding-top: 9vw;
    padding-bottom: 2.2vw;
  }
}
.p-original__intro {
  max-width: 76%;
  width: 100%;
  margin: 0 auto;
  font-size: clamp(1.6rem, 0.931rem + 1.43vw, 2rem);
  letter-spacing: 0.1em;
  line-height: 1.75;
  margin-bottom: 30px;
  font-feature-settings: "palt";
  text-align: justify;
}
@media screen and (max-width: 750px) {
  .p-original__intro {
    font-size: 2.66vw;
    max-width: 84vw;
    letter-spacing: 0.17em;
  }
}
.p-original__main {
  max-width: 76.4%;
  width: 100%;
  margin: 0 auto;
  padding-right: 20px;
}
@media screen and (max-width: 750px) {
  .p-original__main {
    max-width: 73.3vw;
    margin-top: -9vw;
    padding-right: 0;
  }
}
.p-original__text {
  text-align: center;
  font-size: clamp(1.6rem, 0.095rem + 3.21vw, 2.5rem);
  letter-spacing: 0.1em;
  margin-top: 35px;
  margin-bottom: 10px;
}
@media screen and (max-width: 750px) {
  .p-original__text {
    margin-top: 7.6vw;
    letter-spacing: 0;
    margin-bottom: 0;
  }
}
.p-original__sub {
  max-width: 57.7%;
  width: 100%;
  margin: 0 auto 80px;
}
@media screen and (max-width: 750px) {
  .p-original__sub {
    max-width: 76.8vw;
    margin: 2.9vw auto 10.6vw;
  }
}

.p-quest-map {
  margin-bottom: 90px;
}
@media screen and (max-width: 750px) {
  .p-quest-map {
    margin-bottom: 11vw;
  }
}
@media (min-width: 751px) {
  .p-quest-map .p-section-title {
    margin-bottom: 30px;
  }
  .p-quest-map .p-section-title img {
    height: 6.12vw;
    max-height: 73.5px;
  }
}
@media screen and (max-width: 750px) {
  .p-quest-map .p-section-title {
    margin-top: 0;
  }
}
.p-quest-map__inner {
  background: url(../dragonquestisland/images/map-bg@2x.png) no-repeat center center/contain;
  padding-top: 50px;
  padding-bottom: 60px;
}
@media screen and (max-width: 750px) {
  .p-quest-map__inner {
    background: url(../dragonquestisland/images/map-bg-sp@2x.png) no-repeat center center/contain;
    padding-right: 3.33vw;
    padding-left: 3.33vw;
    padding-top: 12vw;
    padding-bottom: 10vw;
  }
}
.p-quest-map__intro {
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.75;
  margin-bottom: 30px;
  font-feature-settings: "palt";
  text-align: justify;
}
.p-quest-map__image {
  max-width: 80.5%;
  width: 100%;
  margin: 0 auto 26px;
}
@media screen and (max-width: 750px) {
  .p-quest-map__image {
    max-width: 88vw;
  }
}
.p-quest-map__text {
  max-width: 720px;
  width: 100%;
  margin: 0 auto 20px;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  text-align: justify;
  padding-left: 20px;
  position: relative;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .p-quest-map__text {
    font-size: 2.13vw;
    line-height: 1.5625;
    max-width: 84vw;
    letter-spacing: 0.07em;
    padding-left: 2.13vw;
  }
}
.p-quest-map__text span {
  letter-spacing: 0.14em;
}
@media screen and (max-width: 750px) {
  .p-quest-map__text span {
    letter-spacing: 0.07em;
  }
}
.p-quest-map__text::before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
}

@media (min-width: 751px) {
  .p-sub-quest .p-section-title {
    margin-bottom: 20px;
  }
  .p-sub-quest .p-section-title img {
    height: 6.12vw;
    max-height: 73.5px;
  }
}
@media screen and (max-width: 750px) {
  .p-sub-quest .p-section-title {
    margin-top: 0;
    margin-bottom: 2.8vw;
  }
  .p-sub-quest .p-section-title img {
    height: 14.6vw;
  }
}
.p-sub-quest__inner {
  background: url(../dragonquestisland/images/map-bg@2x.png) no-repeat center center/contain;
  padding-top: 99px;
  padding-bottom: 115px;
}
@media screen and (max-width: 750px) {
  .p-sub-quest__inner {
    background: url(../dragonquestisland/images/sub-quest-bg-sp@2x.png) no-repeat center center/contain;
    padding-right: 3.33vw;
    padding-left: 3.33vw;
    padding-top: 13.7vw;
    padding-bottom: 12.2vw;
  }
}
.p-sub-quest__image {
  max-width: 800px;
  width: 100%;
  margin: 0 auto 26px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 750px) {
  .p-sub-quest__image {
    max-width: 88vw;
    padding-left: 0;
    display: block;
  }
}
.p-sub-quest__text {
  max-width: 76%;
  width: 100%;
  margin: 0 auto 16px;
  font-feature-settings: "palt";
  letter-spacing: 0.14em;
  text-align: justify;
  line-height: 1.75;
  font-size: 20px;
}
@media screen and (max-width: 900px) {
  .p-sub-quest__text,
  .p-original__intro {
    max-width: 92%;
  }
  .p-sub-quest__image {
    width: 90%;
  }
}
@media screen and (max-width: 750px) {
  .p-sub-quest__text {
    font-size: 2.66vw;
    max-width: 84vw;
    letter-spacing: 0.18em;
    line-height: 1.68;
    margin: 0 auto 2.66vw;
  }
}

.p-ticket {
  background: url(../dragonquestisland/images/bg-ticket@2x.png) no-repeat center center/cover;
  padding: 152px 0 112px;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .p-ticket {
    padding: 13.8vw 0 4.8vw;
    background: url(../dragonquestisland/images/bg-ticket-sp@2x.png) no-repeat center center/cover;
    position: relative;
    overflow: hidden;
  }
  .p-ticket::after {
    position: absolute;
    content: "";
    top: -0.8vw;
    right: -3.1vw;
    width: 37vw;
    max-width: 271px;
    height: 217px;
    background: url(../dragonquestisland/images/metal-slime@2x.png) no-repeat center center/contain;
  }
}
@media screen and (max-width: 450px) {
  .p-ticket::after {
    position: absolute;
    content: "";
    top: -11vw;
    right: -3.1vw;
    width: 37vw;
  }
}
.p-ticket .p-section-title {
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  .p-ticket .p-section-title {
    margin-bottom: 5.3vw;
  }
}
.p-ticket__items {
  max-width: 670px;
  width: 100%;
  margin: 0 auto;
}
.p-ticket__item {
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  .p-ticket__item {
    margin-bottom: 8.53vw;
  }
}
.p-ticket__item:nth-child(2) .p-ticket__card {
  padding: 14px 16px 20px;
}
.p-ticket__item:nth-child(2) .p-ticket__heading {
  line-height: 1.2;
  margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .p-ticket__item:nth-child(3) {
    margin-bottom: 40px;
  }
}
.p-ticket__item:nth-child(3) .p-ticket__card {
  padding: 22px 16px 16px;
}
@media screen and (max-width: 750px) {
  .p-ticket__item:nth-child(3) .p-ticket__card {
    padding: 22px 16px 3px;
    padding: 22px 16px 16px;
  }
}
.p-ticket__item:nth-child(3) .p-ticket__heading {
  line-height: 1.2;
  margin-bottom: 16px;
}
.p-ticket__card {
  border: 2px solid #fff;
  padding: 26px 16px 32px;
}
@media screen and (max-width: 750px) {
  .p-ticket__card {
    padding: 3.46vw 2.13vw 3.8vw;
  }
}
.p-ticket__heading {
  text-align: center;
  font-size: 25px;
  line-height: 1.12;
  letter-spacing: 0.075em;
  margin-bottom: 27px;
  margin-top: 0;
}
@media screen and (max-width: 750px) {
  .p-ticket__heading {
    font-size: 3.33vw;
  }
}
.p-ticket__heading span {
  font-size: 20px;
}
@media screen and (max-width: 750px) {
  .p-ticket__heading span {
    font-size: 2.66vw;
  }
}
.p-ticket__note {
  letter-spacing: 0.14em;
  font-feature-settings: "palt";
  margin-top: 30px;
  margin-bottom: 13px;
  font-size: 16px;
  text-align: center;
}
.p-ticket__note P:first-child {
  font-size: 1.125em;
}
@media screen and (max-width: 750px) {
  .p-ticket__note {
    text-align: center;
    margin-bottom: 0.6vw;
    font-size: 2.13vw;
  }
}
.p-ticket__image {
  max-width: 100%;
  width: 100%;
  margin-top: 10px;
  text-align: center;
}
.p-ticket__image img {
  width: 80%;
  aspect-ratio: 2 / 1;
  object-fit: contain;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .p-ticket__image {
    max-width: 100%;
  }
  .p-ticket__image img {
    width: 100%;
  }
}
.p-ticket__message {
  max-width: 760px;
  width: 100%;
  padding-left: 20px;
  margin: 45px auto;
  line-height: 1.5625;
  letter-spacing: 0.07em;
  position: relative;
  font-size: 16px;
}
@media screen and (max-width: 840px) {
  .p-ticket__message {
    overflow: hidden;
  }
}
@media screen and (max-width: 750px) {
  .p-ticket__message {
    padding-left: 0;
    margin: 6.6vw auto;
  }
}
.p-ticket__message::after {
  position: absolute;
  content: "";
  top: -13vw;
  right: -110px;
  width: 27vw;
  max-width: 324px;
  height: 217px;
  background: url(../dragonquestisland/images/metal-slime@2x.png) no-repeat center center/contain;
}
@media screen and (max-width: 900px) {
  .p-ticket__message::after {
    max-width: 220px;
    right: -62px;
  }
}
@media screen and (max-width: 840px) {
  .p-ticket__message::after {
    content: none;
  }
}
.p-ticket__text {
  position: relative;
  padding-left: calc(1em + 2px);
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .p-ticket__text {
    letter-spacing: 0.1em;
    font-size: 2.13vw;
    line-height: 1.58;
  }
}
.p-ticket__text::before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
}
.p-ticket__text a {
  text-decoration: underline;
  color: #fff;
}
.p-ticket__text a:hover, .p-ticket__text a:active {
  color: #fff;
}

.p-table {
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
  text-align: left;
  font-size: 20px;
  font-feature-settings: "palt";
}
@media screen and (max-width: 750px) {
  .p-table {
    max-width: 66.6vw;
    font-size: 2.66vw;
  }
}
@media screen and (max-width: 400px) {
  .p-table {
    max-width: 73vw;
  }
}
.p-table span {
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .p-table span {
    font-size: 2.13vw;
  }
}
.p-table__top {
  border-collapse: collapse;
}
.p-table__top th,
.p-table__top td {
  border-bottom: 3px dotted #fff;
}
.p-table__left {
  border-right: 3px dotted #fff;
  padding: 11px 10px;
  width: 41%;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .p-table__left {
    padding: 1.46vw 1.3vw;
  }
}
@media screen and (max-width: 400px) {
  .p-table__left {
    width: 46%;
  }
}
.p-table__left span {
  line-height: 0.5;
}
.p-table__right {
  padding: 11px 10px 11px 25px;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .p-table__right {
    padding: 1.46vw 1.3vw 1.46vw 3.3vw;
  }
}

.p-caution {
  background-color: #000000;
  padding: 98px 0 40px;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .p-caution {
    padding: 88px 0 40px;
  }
}
.p-caution__heading {
  font-size: 25px;
  line-height: 1.12;
  letter-spacing: 0.07em;
  text-align: center;
  margin-bottom: 28px;
  margin-top: 0;
}
@media screen and (max-width: 750px) {
  .p-caution__heading {
    font-size: 4vw;
  }
}
.p-caution__content {
  max-width: 722px;
  width: 100%;
  margin: 0 auto;
}
.p-caution__content:first-child {
  margin-bottom: 43px;
}
@media screen and (max-width: 750px) {
  .p-caution__content:first-child {
    margin-bottom: 10vw;
  }
}
.p-caution__text {
  position: relative;
  padding-left: 20px;
  line-height: 1.5625;
  font-feature-settings: "palt";
  letter-spacing: 0.11em;
  margin: 0;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .p-caution__text {
    font-size: 2.13vw;
    padding-left: 0.9em;
    letter-spacing: 0.1em;
  }
}
.p-caution__text::before {
  position: absolute;
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background-color: #fff;
  border-radius: 50%;
  top: 0.4rem;
  left: 4px;
  transform: translateY(50%);
}
@media screen and (max-width: 750px) {
  .p-caution__text::before {
    width: 0.5rem;
    height: 0.5rem;
    top: 0.6rem;
    left: 0;
  }
}
@media screen and (max-width: 600px) {
  .p-caution__text::before {
    top: 0.4rem;
  }
}
@media screen and (max-width: 500px) {
  .p-caution__text::before {
    top: 0.3rem;
  }
}
@media screen and (max-width: 400px) {
  .p-caution__text::before {
    top: 0.2rem;
  }
}
.p-caution__text a {
  color: #fff;
  text-decoration: underline;
}
.p-caution__text a:hover, .p-caution__text a:active {
  color: #fff;
}
.p-caution__message {
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .p-caution__message {
    margin-bottom: 2.66vw;
    font-size: 2.13vw;
  }
}
.p-caution__note {
  margin-top: 23px;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .p-caution__note {
    margin-top: 3.6vw;
    font-size: 2.13vw;
  }
}

.p-shop {
  background: url(../dragonquestisland/images/bg-shop@2x.png) no-repeat center top/cover;
  padding: 162px 0 88px;
  margin-top: -2px;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .p-shop {
    padding: 24vw 0 17.5vw;
  }
}
.p-shop .p-section-title {
  margin-bottom: 30px;
}
.p-shop .p-more-btn__link {
  color: #fff;
  border-bottom: 1px solid #fff;
}

.p-menu {
  width: 90%;
  margin: 0 auto 45px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 14px;
  padding: 0;
}
@media screen and (max-width: 750px) {
  .p-menu {
    gap: 20px 14px;
    margin: 0 auto 4.1vw;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
  }
}
.p-menu__image {
  margin-bottom: 8px;
}
@media screen and (max-width: 750px) {
  .p-menu__image {
    margin-bottom: 0.26vw;
  }
}
.p-menu__text {
  line-height: 1.25;
  letter-spacing: 0.13em;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .p-menu__text {
    font-size: 2.13vw;
    line-height: 1.3;
    letter-spacing: 0.1em;
  }
}

.p-goods {
  margin-bottom: 140px;
}
@media screen and (max-width: 750px) {
  .p-goods {
    margin-bottom: 22.3vw;
  }
}
.p-goods__coming-soon {
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
}

.p-food__inner {
  position: relative;
}
.p-food__inner::before {
  position: absolute;
  content: "";
  top: -140px;
  left: 7px;
  width: 24.5vw;
  max-width: 294px;
  height: 20.8vw;
  background: url(../dragonquestisland/images/panther@2x.png) no-repeat center center/contain;
}
@media screen and (max-width: 750px) {
  .p-food__inner::before {
    width: 30.1vw;
    height: 25.6vw;
    left: 3.86vw;
    top: -18.6vw;
  }
}
.p-food .p-menu {
  margin-bottom: 48px;
}
@media screen and (max-width: 750px) {
  .p-food .p-menu {
    margin-bottom: 3.4vw;
  }
}
.p-food .p-menu__item:nth-child(3) .p-menu__text span {
  letter-spacing: 0.04em;
}

.p-info {
  background: url(../dragonquestisland/images/bg-info@2x.png) no-repeat center bottom/cover;
  padding: 78px 0 152px;
  color: #fff;
  margin-top: -2px;
}
@media screen and (max-width: 750px) {
  .p-info {
    padding: 13.2vw 0 36vw;
    background: url(../dragonquestisland/images/bg-info-sp@2x.png) no-repeat center bottom/cover;
  }
}
.p-info .p-section-title {
  margin-bottom: 30px;
}

.p-twitter {
  text-align: center;
  margin-bottom: 70px;
}
@media screen and (max-width: 750px) {
  .p-twitter {
    margin-bottom: 10.2vw;
  }
}
@media (min-width: 751px) {
  .p-twitter__content {
    max-width: 526px;
    width: 100%;
    height: 337px;
    margin: 0 auto 23px;
  }
}
@media screen and (max-width: 750px) {
  .p-twitter__content {
    max-width: 100%;
    height: 400px;
    margin: 0 auto 3.8vw;
  }
}
.p-twitter .r-1q9bdsx {
  border-radius: 0px;
}
.p-twitter .r-adyw6z {
  font-size: 20px;
}
.p-twitter__btn {
  display: inline-block;
}
.p-twitter__link {
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid #fff;
  color: #fff;
}
.p-twitter__link:hover {
  color: #fff;
  text-decoration: none;
}
.p-twitter__link-text {
  margin: 0 8px;
  font-size: 20px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .p-twitter__link-text {
    font-size: 2.66vw;
    margin: 0 4px;
  }
}
.p-twitter__link-left {
  width: 20px;
  height: 17px;
  margin-top: 2px;
}
@media screen and (max-width: 750px) {
  .p-twitter__link-left {
    width: 2.66vw;
    height: 2.26vw;
  }
}
.p-twitter__link-right {
  width: 10px;
  height: 14.5px;
  margin-top: 2px;
}
@media screen and (max-width: 750px) {
  .p-twitter__link-right {
    width: 1.6vw;
    height: 2.26vw;
  }
}
.p-twitter__id {
  margin-top: 2px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .p-twitter__id {
    font-size: 2.13vw;
  }
}

.p-access {
  margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .p-access {
    margin-bottom: 10vw;
  }
}
.p-access__inner {
  position: relative;
}
.p-access__inner::before {
  position: absolute;
  content: "";
  top: -41px;
  right: 57px;
  max-width: 303px;
  width: 25vw;
  height: 254px;
  background: url(../dragonquestisland/images/monster@2x.png) no-repeat center center/contain;
}
@media screen and (max-width: 750px) {
  .p-access__inner::before {
    width: 31.3vw;
    top: 9.4vw;
    right: 4.5vw;
  }
}
@media screen and (max-width: 600px) {
  .p-access__inner::before {
    top: -6vw;
  }
}
.p-access dl {
  max-width: 572px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .p-access dl {
    max-width: fit-content;
  }
}
.p-access dt {
  font-size: 25px;
  line-height: 1.12;
  float: left;
}
@media screen and (max-width: 750px) {
  .p-access dt {
    line-height: 1.2;
    font-size: 3.33vw;
    float: none;
  }
}
.p-access dd {
  line-height: 1.48;
  margin-left: 170px;
  margin-bottom: 20px;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .p-access dd {
    margin-left: 0;
    font-size: 2.66vw;
    letter-spacing: 0.08em;
    margin-bottom: 3.46vw;
  }
}
.p-access__text {
  max-width: 730px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding-left: 20px;
  letter-spacing: 0.08em;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  .p-access__text {
    font-size: 2.13vw;
    padding-left: calc(1em + 2px);
  }
}
.p-access__text::before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
}

.p-nijigen .p-section-title {
  margin-bottom: 20px;
}
.p-nijigen__text {
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  font-size: 20px;
  line-height: 1.75;
  letter-spacing: 0.095em;
  text-align: justify;
  margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .p-nijigen__text {
    letter-spacing: 0.14em;
    margin-bottom: 2.9vw;
    font-size: 2.6vw;
  }
}
.p-nijigen__btn {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  .p-nijigen__btn {
    margin-bottom: 3.6vw;
  }
}
.p-nijigen__link {
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid #fff;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .p-nijigen__link {
    padding-bottom: 0.6vw;
  }
}
.p-nijigen__link:hover {
  color: #fff;
  text-decoration: none;
}
.p-nijigen__link-text {
  margin-right: 10px;
  font-size: 20px;
}
@media screen and (max-width: 750px) {
  .p-nijigen__link-text {
    font-size: 3.06vw;
  }
}
.p-nijigen__link-right {
  width: 10px;
  height: 14.5px;
  margin-top: 2px;
}
@media screen and (max-width: 750px) {
  .p-nijigen__link-right {
    width: 1.6vw;
    height: 2.26vw;
  }
}
.p-nijigen__map {
  max-width: 600px;
  width: 100%;
  margin: 0 auto 150px;
}
@media screen and (max-width: 750px) {
  .p-nijigen__map {
    margin-bottom: 68.8vw;
  }
}
.p-nijigen__map-wrapper {
  width: 100%;
  height: 0;
  padding-top: 66.66%;
  position: relative;
}
.p-nijigen__map-wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.p-nijigen__ticket-btn {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}
.p-nijigen__ticket-link {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 5px solid #fff;
  background: #000000;
  padding: 35px;
  border-radius: 14px;
  max-width: 350px;
  width: 100%;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .p-nijigen__ticket-link {
    padding: 5vw 3vw;
    border: 0.6vw solid #fff;
  }
}
.p-nijigen__ticket-link:hover {
  color: #fff;
  text-decoration: none;
}
.p-nijigen__ticket-text {
  margin-left: 20px;
  font-size: 33px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 750px) {
  .p-nijigen__ticket-text {
    margin-left: 2vw;
    font-size: 4.4vw;
  }
}
.p-nijigen__ticket-arrow {
  width: 20px;
  height: 29px;
  margin-top: 2px;
}
@media screen and (max-width: 750px) {
  .p-nijigen__ticket-arrow {
    width: 2.66vw;
    height: 3.86vw;
  }
}

.p-footer {
  background-color: #000;
  color: #fff;
  padding: 60px 0 52px;
}
.p-footer__inner {
  padding: 0 30px;
}
.p-footer__logo {
  max-width: 210px;
  width: 100%;
  margin: 0 auto 71px;
}
@media screen and (max-width: 750px) {
  .p-footer__logo {
    max-width: 41.6vw;
    margin: 0 auto 7.46vw;
  }
}
.p-footer__site-map {
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .p-footer__site-map {
    margin-bottom: 5.33vw;
  }
}

.p-site-map {
  font-size: 14px;
  font-family: "Roboto Condensed", "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  letter-spacing: 0.02em;
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  padding: 0 24px;
}
@media screen and (max-width: 750px) {
  .p-site-map {
    padding: 0;
  }
}
.p-site-map ul {
  margin: 0;
  padding: 0;
}
.p-site-map li {
  margin: 0;
  padding: 3px 0;
}
@media screen and (max-width: 750px) {
  .p-site-map li {
    padding: 5.6px 0;
  }
}
.p-site-map__contents {
  display: flex;
}
@media screen and (max-width: 750px) {
  .p-site-map__contents {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 750px) {
  .p-site-map__list {
    width: 50%;
  }
}
.p-site-map__list:not(:last-child) {
  margin-right: 60px;
}
@media screen and (max-width: 750px) {
  .p-site-map__list:not(:last-child) {
    margin-right: 0;
  }
}
@media screen and (max-width: 750px) {
  .p-site-map__list:nth-child(even) {
    padding-left: 2.5vw;
  }
}
@media screen and (max-width: 750px) {
  .p-site-map__list li {
    font-size: 2.53vw;
    padding: 1.06vw 0;
  }
}
.p-site-map__list li a {
  color: #fff;
}

.p-sns ul {
  margin: 0;
  padding: 0;
}
.p-sns__list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-sns__item:not(:last-child) {
  margin-right: 46px;
}
@media screen and (max-width: 750px) {
  .p-sns__item:not(:last-child) {
    margin-right: 6.13vw;
  }
}
.p-sns__item img {
  height: 30px;
}
@media screen and (max-width: 750px) {
  .p-sns__item img {
    height: 6.4vw;
  }
}

.p-copy-right {
  background-color: #000;
  color: #fff;
  text-align: center;
  padding: 0 20px 78px 20px;
  font-size: 11px;
  letter-spacing: 0.04em;
  margin-top: -1px;
}
@media screen and (max-width: 750px) {
  .p-copy-right {
    font-size: 2.4vw;
    line-height: 1.7777777778;
    margin-bottom: 13.3vw;
  }
}

.p-footer-fixed-btn {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 12px 10px 60px;
  background: url(../dragonquestisland/images/floating-bg.png) no-repeat;
  background-size: 100% auto;
  text-align: center;
  z-index: 100;
  width: 100%;
  background-color: #000;
}

.footer-fixed-btn.sp img {
  max-height: 50px;
}

.u-separate {
  margin: 24px 0;
}
.switcher a img{
  width: 16px;
}

/* 202312 コラボルーム追加 */
.p-room{
  background: rgb(3,15,50);
  background: linear-gradient(180deg, rgba(3,15,50,1) 0%, rgba(3,15,50,1) 65%, rgba(0,0,0,1) 100%);
  position: relative;
  color: #fff;
  padding: 80px 0 90px;
  font-feature-settings: "palt";
  overflow: hidden;
}
.p-room__content{
  position: relative;
  z-index: 2;
}
.p-room__lead{
  font-size: 17px;
  text-align: center;
  letter-spacing: 0.1em;
}
.p-room__heading{
  font-size: 32px;
  text-align: center;
  color: #EFC74D;
  margin-top: 10px;
  letter-spacing: 0.07em;
}
.p-room__images{
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 820px;
  margin: 56px auto 0;
}
.p-room__image:first-child{
  margin-right: 38px;
}
.p-room__sub-heading{
  margin-top: 60px;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.18em;
}
.p-room__detail{
  font-size: 20px;
  line-height: 1.75;
  width: 100%;
  max-width: 720px;
  margin: -6px auto 0;
  letter-spacing: 0.18em;
  text-align: justify;
}
.p-room .p-more-btn{
  margin-top: 53px;
}
.p-room .p-more-btn__link{
  color: #fff;
  border-bottom: 1px solid #fff;
  letter-spacing: 0.1em;
}
.p-room__bg{
  position: absolute;
  top: 4px;
  right: -7px;
  width: 556px;
  height: 556px;
  z-index: 1;
}
@media screen and (max-width:750px){
  .p-room{
    padding: 12.53vw 0;
  }
  .p-room .l-inner{
    padding: 0 5.6vw;
  }
  .p-room__lead{
    font-size: 2.93vw;
    line-height: 1.7;
    margin-bottom: 0;
  }
  .p-room__heading{
    font-size: 5.33vw;
    margin-top: 1px;
    line-height: 1.5;
  }
  .p-room__sub-heading{
    font-size: 2.93vw;
    margin-top: 6.86vw;
    margin-bottom: 0;
    line-height: 1.65;
  }
  .p-room__detail{
    font-size: 2.66vw;
    max-width: 84vw;
    margin-top: 1px;
    line-height: 1.65;
  }
  .p-room__images{
    max-width: 84vw;
    margin-top: 8.8vw;
  }
  .p-room__image:first-child{
    margin-right: 4vw;
  }
  .p-room .p-more-btn{
    margin-top: 9.33vw;
  }
  .p-room__bg{
    top: 4px;
    right: -73px;
    width: 278px;
    height: 278px;
  }
}

#access dl a {
  color: #fff;
  text-decoration: underline;
}
#access dl a:hover {
  opacity: .8;
}

/* 202408 イベントバナー追加*/
.p-event-bnr{
  padding-bottom: 100px;
}
.p-event-bnr__link{
  display: block;
  max-width: 590px;
  margin: auto;
}
.p-event-bnr__link:hover{
  opacity: 0.9;
}
@media screen and (max-width:750px){
  .p-event-bnr{
    padding-bottom: 50px;
  }
}

/* Xボタン */
.twitter_btn {
  aspect-ratio: 100 / 27;
  background-image: url(/wp-content/themes/habakiri-child/dragonquestisland_b/images/bg_sns.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 300px;
  margin: 20px auto 0;
}
.twitter_btn a {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.twitter_btn a span {
  width: 100%;
  padding: 0 20px;
}
.twitter_btn a small {
  display: block;
  border-top: 1px solid #9f9f9f;
  padding-top: 2px;
  margin-top: 2px;
}
.twitter_btn a:hover {
  color: #fff;
  text-decoration: none;
}

img.wpml-ls-flag {
  width: auto;
}