@charset "UTF-8";
/*/////////////////////////////////////////
スタイルリセット
/////////////////////////////////////////*/
html,
body,
div,
span,
applet,
object,
iframe,
input,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
button {
  border: 0 none;
  font-size: 100%;
  font-weight: normal;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

ol,
ul {
  list-style: none outside none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

/*transformを使うと Chromeで部分的に antialiasedが効かない*/
html {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

*,
:before,
:after {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

img {
  border: none;
  -ms-interpolation-mode: bicubic;
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

button,
input,
textarea,
select {
  background: none;
  border: none;
  border-radius: 0;
}

button {
  cursor: pointer;
  -webkit-appearance: none;
}

input {
  -webkit-appearance: none;
}

input::-moz-focus-inner,
button::-moz-focus-inner {
  border: none;
}

textarea {
  -webkit-appearance: none;
}

a,
a.hover {
  text-decoration: none;
}

br {
  line-height: 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* フォーカス状態のスタイル - キーボードアクセシビリティのため */
:focus {
  outline: none;
}

/* マウスユーザーのみoutlineを非表示にする（オプション） */
:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  outline: none;
}

/* インタラクティブ要素のタブ操作を確保 */
a[href]:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:not([tabindex="-1"]):focus {
  outline: none;
}

/* IE11 コンテンツ領域とスクロールバーの重なりを回避 */
@-ms-viewport {
  width: auto !important;
}
html {
  -ms-overflow-style: scrollbar !important;
}

html {
  font-size: 16px;
  overscroll-behavior-y: none;
}

body {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #433D2A;
  background-color: #D4DEE0;
  font-size: 16px;
}

a,
div,
span {
  color: #174c76;
}
a.hover,
div.hover,
span.hover {
  transition: opacity 0.3s;
}
a.hover:hover,
div.hover:hover,
span.hover:hover {
  opacity: 0.7;
}

.txt-hidden {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
}

.f-serif {
  font-optical-sizing: auto;
  font-style: normal;
}

.f-joti-one-regular {
  font-family: "Joti One", serif;
  font-weight: 400;
  font-style: normal;
}

.f-yusei-magic-regular {
  font-family: "Yusei Magic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.f-nanum-gothic-regular {
  font-family: "Nanum Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.f-noto-sans-sc {
  font-family: "Noto Sans SC", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

@media screen and (min-width: 1025px) {
  .inner {
    max-width: 960px;
    padding: 0 40px;
  }
}
@media screen and (max-width: 1024px) {
  .inner {
    max-width: 960px;
    padding: 0 40px;
  }
}
.inner {
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) and (min-width: 394px) {
  .inner {
    padding-left: clamp(1rem, -1.6336898396rem + 10.6951871658vw, 3.5rem);
    padding-right: clamp(1rem, -1.6336898396rem + 10.6951871658vw, 3.5rem);
  }
}
@media screen and (max-width: 393px) {
  .inner {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.inner.inner-w {
  max-width: inherit;
  padding: 0 0;
}
@media screen and (max-width: 768px) {
  .inner.inner-w {
    padding: 0 0;
  }
}

@media screen and (min-width: 769px) {
  .ifSp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .ifPc {
    display: none !important;
  }
}
/*スクロールバー*/
.simplebar-track.simplebar-vertical {
  top: 0;
  width: 8px;
}

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: 8px;
  background: var(--gray, #cfd3d7);
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 0;
  bottom: 0;
}

.simplebar-scrollbar.simplebar-visible:before {
  opacity: 1;
  transition: opacity 0s linear;
}

.simplebar-scrollbar:before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  border-radius: 8px;
  background: var(--navy, #174c76);
}

/*共通セクションスタイル*/
.contents {
  position: relative;
  z-index: 2;
}

.column {
  display: flex;
  align-items: center;
  gap: 0 64px;
}
@media screen and (min-width: 769px) {
  .column {
    gap: 0 clamp(2rem, 0.1492178099rem + 3.8507821901vw, 4rem);
  }
}
@media screen and (max-width: 768px) {
  .column {
    flex-direction: column;
  }
}
.column .column-text {
  width: calc(100% - 432px - 64px);
  padding: 0 0 0 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .column .column-text {
    width: calc(100% - clamp(20.3125rem, 14.1239470517rem + 12.8760529483vw, 27rem) - clamp(2rem, 0.1492178099rem + 3.8507821901vw, 4rem));
    padding: 0 0 0 clamp(0rem, -2.7761732852rem + 5.7761732852vw, 3rem);
  }
}
@media screen and (max-width: 768px) {
  .column .column-text {
    width: 100%;
    padding: 0;
  }
}
.column .column-text h3 {
  color: #174c76;
  text-align: center;
  font-feature-settings: "palt" on;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 38.4px */
}
@media screen and (max-width: 768px) {
  .column .column-text h3 {
    width: 100%;
    font-size: clamp(1.625rem, 0.0000001347rem + 6.5989842246vw, 3.1675125625rem);
    margin-top: clamp(0.5rem, 0.0000000414rem + 2.0304566845vw, 0.97461925rem);
  }
}
.column .column-text p {
  color: var(--bk, #433D2A);
  font-feature-settings: "palt" on;
  font-style: normal;
  font-weight: 700;
  line-height: 180%; /* 28.8px */
  letter-spacing: 0.07em;
  font-size: 16px;
  margin-top: 14px;
  max-width: 320px;
}
@media screen and (max-width: 768px) {
  .column .column-text p {
    max-width: inherit;
    font-size: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
    margin-top: clamp(0.5rem, 0.0000000414rem + 2.0304566845vw, 0.97461925rem);
  }
}
.column .column-img {
  width: 432px;
}
@media screen and (min-width: 769px) {
  .column .column-img {
    width: clamp(20.3125rem, 14.1239470517rem + 12.8760529483vw, 27rem);
  }
}
@media screen and (max-width: 768px) {
  .column .column-img {
    width: 100%;
    margin-top: clamp(1.0625rem, 0.0000000881rem + 4.3147204545vw, 2.0710659063rem);
  }
}

nav ul {
  display: flex;
  list-style: none;
}
nav ul li {
  margin-right: 20px;
}

.hamburger {
  display: none;
  position: fixed;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  cursor: pointer;
}
.hamburger span {
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 7px;
  background-color: #174c76;
  transition: 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 21px;
}
.hamburger span:nth-child(3) {
  top: 32px;
}

.nav-open .hamburger span:nth-child(1) {
  top: 21px;
  transform: rotate(-45deg);
}
.nav-open .hamburger span:nth-child(2) {
  opacity: 0;
}
.nav-open .hamburger span:nth-child(3) {
  top: 21px;
  transform: rotate(45deg);
}
.nav-open nav {
  right: 0;
}

@media screen and (max-width: 768px) {
  .hamburger {
    display: block;
  }
  nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 300px;
    height: 100vh;
    background-color: #433D2A;
    transition: 0.3s ease-in-out;
    box-shadow: -2px 0 4px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) and (min-width: 1025px) {
  nav {
    min-height: 870px;
  }
}
@media screen and (max-width: 768px) {
  nav ul {
    flex-direction: column;
    margin-top: 80px;
  }
  nav ul li {
    margin: 0;
    border-bottom: 1px solid #eee;
  }
  nav ul li a {
    display: block;
    padding: 20px;
  }
}
/* 四隅にSVGを配置したボーダーボックス（ボーダーとSVGが被らないバージョン） */
.page_top {
  margin-top: 49px;
}
@media screen and (max-width: 1279px) {
  .page_top {
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .page_top {
    margin-top: 28px;
  }
}
.page_top a {
  display: block;
  width: 257px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page_top a {
    width: 50%;
    max-width: 196px;
  }
}

.share {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
}
.share li {
  margin: 0 4px;
}
@media screen and (max-width: 1279px) {
  .share li {
    margin: 0 3px;
  }
}
.share li a {
  display: block;
}
.share li a img {
  width: 38px;
  height: 38px;
}

.bg1 {
  background-image: url(../../images/pattern1.png);
  background-repeat: repeat;
  background-position: center top;
  background-size: 54px auto;
}

.bg2 {
  background-image: url(../../images/pattern2.png);
  background-repeat: repeat;
  background-position: center top;
  background-size: 306px auto;
  padding-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .bg2 {
    padding-bottom: 36px;
  }
}

h2 {
  text-align: center;
}
.wrapper {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

/*ボーダー付きボックス*/
.contents-box {
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(12px);
}

/*上下ライン付きボックス*/
.line-box {
  position: relative;
}
.line-box::before, .line-box::after {
  content: "";
  width: 100%;
  max-width: 880px;
  height: 9px;
  position: absolute;
  background-image: url(../../images/line.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: 9px 0;
}
@media screen and (max-width: 768px) {
  .line-box::before, .line-box::after {
    height: 9px;
    background-image: url(../../images/line_sp.png);
  }
}
.line-box::before {
  top: 0;
}
.line-box::after {
  bottom: 0;
}

/*上下ライン付きボックス2*/
.line-box2 {
  position: relative;
}
.line-box2::before, .line-box2::after {
  content: "";
  width: 100%;
  height: 3px;
  position: absolute;
  background-image: url(../../images/line2.png);
  background-size: auto 100%;
  background-repeat: repeat-x;
  padding: 3px 0;
}
.line-box2::before {
  top: 0;
}
.line-box2::after {
  bottom: 0;
}

/*共通swiper*/
.general-swiper-wrap {
  max-width: 768px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.general-swiper-wrap .swiper-wrapper {
  width: 100%;
}
.general-swiper-wrap .general-swiper {
  margin: 23px auto 0;
  max-width: 656px;
}
@media screen and (max-width: 768px) {
  .general-swiper-wrap .general-swiper {
    max-width: inherit;
    margin: 15px auto 0;
  }
}
.general-swiper-wrap .general-swiper .virtual-slide-wide .swiper-button-prev,
.general-swiper-wrap .general-swiper .virtual-slide-wide .swiper-button-next {
  background-image: url(../../images/arrow_bg.png);
  background-size: 100%;
  color: inherit;
  width: 74px;
  height: 100%;
  transition: opacity 0.3s ease;
  top: 0;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .general-swiper-wrap .general-swiper .virtual-slide-wide .swiper-button-prev,
  .general-swiper-wrap .general-swiper .virtual-slide-wide .swiper-button-next {
    background-size: 100%;
    width: 17px;
    height: 32px;
    margin-top: -13px;
    width: clamp(1.0625rem, 0.0000000881rem + 4.3147204545vw, 2.0710659063rem);
    height: clamp(2rem, 0.0000001658rem + 8.121826738vw, 3.898477rem);
    margin-top: calc(0vw - clamp(0.8125rem, 0.0000000673rem + 3.2994921123vw, 1.5837562813rem));
  }
}
.general-swiper-wrap .general-swiper .virtual-slide-wide .swiper-button-prev {
  background-image: url(../../images/arrow_l.png);
  margin-left: 7px;
}
@media screen and (max-width: 768px) {
  .general-swiper-wrap .general-swiper .virtual-slide-wide .swiper-button-prev {
    margin-left: 4px;
  }
}
.general-swiper-wrap .general-swiper .virtual-slide-wide .swiper-button-next {
  background-image: url(../../images/arrow_r.png);
  margin-right: 7px;
}
@media screen and (max-width: 768px) {
  .general-swiper-wrap .general-swiper .virtual-slide-wide .swiper-button-next {
    margin-right: 4px;
  }
}
/*共通swiper内の情報ボックス*/
@media screen and (max-width: 768px) {
  .general-sub-swiper {
    max-width: inherit;
  }
}
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  top: 0;
}

.swiper-pagination {
  position: relative;
  bottom: inherit;
  margin-top: 21px;
}
@media screen and (max-width: 768px) {
  .swiper-pagination {
    margin-top: clamp(0.75rem, 0.0000000622rem + 3.0456850267vw, 1.461928875rem);
  }
}

.swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background-color: #fff;
  opacity: 1;
  margin: 0 8px;
}
@media screen and (max-width: 768px) {
  .swiper-pagination-bullet {
    width: clamp(0.75rem, 0.0000000622rem + 3.0456850267vw, 1.461928875rem);
    height: clamp(0.75rem, 0.0000000622rem + 3.0456850267vw, 1.461928875rem);
    margin-top: clamp(0.5rem, 0.0000000414rem + 2.0304566845vw, 0.97461925rem);
    margin-left: clamp(0.25rem, -0.5133689425rem + 3.0999754011vw, 0.97461925rem);
    margin-right: clamp(0.25rem, -0.5133689425rem + 3.0999754011vw, 0.97461925rem);
  }
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 8px;
}

.swiper-pagination-bullet-active {
  background-color: #e5a752;
}

.title-box {
  text-align: center;
}
.title-box h2 {
  margin-top: 3px;
  color: #174c76;
}
#characters .title-box h2 {
  color: #fff;
}
#characters .title-box h2::before {
  background-image: url(../../images/mark2.png);
}

.title-box h2 {
  display: inline-block;
  position: relative;
  text-align: center;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 48px */
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .title-box h2 {
    font-size: clamp(2.125rem, 0.0000001761rem + 8.6294409091vw, 4.1421318125rem);
  }
}
.title-box h2::before {
  content: "";
  width: 39px;
  height: 48px;
  background-image: url(../../images/mark1.png);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  top: -24px;
  right: -47px;
}
@media screen and (max-width: 768px) {
  .title-box h2::before {
    width: clamp(1.625rem, 0.0000001347rem + 6.5989842246vw, 3.1675125625rem);
    height: clamp(2rem, 0.0000001658rem + 8.121826738vw, 3.898477rem);
    top: calc(0vw - clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem));
    right: calc(0vw - clamp(2rem, 0.0000001658rem + 8.121826738vw, 3.898477rem));
  }
}
.title-box .catch {
  color: #174c76;
  display: block;
}
#characters .title-box .catch {
  color: #fff;
}

.title-box .catch {
  text-align: center;
  font-feature-settings: "palt" on;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 55.2px */
  letter-spacing: 0.03em;
  font-size: 46px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .title-box .catch {
    font-size: clamp(2.125rem, 0.0000001761rem + 8.6294409091vw, 4.1421318125rem);
    margin-top: clamp(0.4375rem, 0.0000000363rem + 1.7766495989vw, 0.8527918438rem);
  }
}

.title-notice {
  text-align: center;
}
.title-notice.title-notice_l {
  width: 768px;
  margin: 47px auto 0;
}
@media screen and (max-width: 768px) {
  .title-notice.title-notice_l {
    margin: 22px auto 0;
    width: 100%;
  }
}
.title-notice.title-notice_l div {
  color: var(--bk, #433D2A);
  text-align: center;
  font-feature-settings: "palt" on;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 180%; /* 32.4px */
  letter-spacing: 0.07em;
}
@media screen and (max-width: 768px) {
  .title-notice.title-notice_l div {
    font-size: clamp(1.125rem, 0.0000000932rem + 4.5685275401vw, 2.1928933125rem);
  }
}
.title-notice.title-notice_m {
  width: 768px;
  height: 60px;
  background-image: url("../../images/title-notice_m.png");
  background-size: 100%;
  background-repeat: no-repeat;
  margin: 47px auto 0;
}
@media screen and (max-width: 768px) {
  .title-notice.title-notice_m {
    width: 100%;
    height: 14.9vw;
    background-image: url("../../images/title-notice_m_sp.png");
    margin: 22px auto 0;
  }
}
.title-notice.title-notice_m div {
  color: var(--wh, #433D2A);
  text-align: center;
  /* shadow */
  text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.4);
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px; /* 36.4px */
}
@media screen and (max-width: 768px) {
  .title-notice.title-notice_m div {
    color: var(--wh, #433D2A);
    text-align: center;
    /* shadow */
    text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.4);
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 60px; /* 36.4px */
    font-size: clamp(1.375rem, 0.000000114rem + 5.5837558824vw, 2.6802029375rem);
    line-height: clamp(3.75rem, 0.0000003108rem + 15.2284251337vw, 7.309644375rem);
  }
}

#MV-wrap {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #MV-wrap {
    height: 100dvh;
    background-image: url(../../images/mv_sp.png);
    background-size: cover;
    background-position: center top;
  }
  .webp #MV-wrap {
    background-image: url(../../images/mv_sp.webp);
  }
}
#MV-wrap {
  /*ボタン*/
}
#MV-wrap .btn-reservation {
  display: inline-block;
  background-image: url(../../images/btn1.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 270px;
  height: 73px;
  position: fixed;
  z-index: 10;
  right: 48px;
  bottom: 48px;
  color: var(--wh, #fff);
  text-align: center;
  font-feature-settings: "palt" on;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 2.2;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  #MV-wrap .btn-reservation {
    background-image: url(../../images/btn2.svg);
    width: 100%;
    height: 89px;
    right: inherit;
    bottom: 24px;
    margin: 0 auto;
    max-width: 330px;
    height: 81px;
    left: 50%;
    margin-left: -165px;
  }
}
#MV-wrap .btn-buy {
  width: 270px;
  position: fixed;
  z-index: 10;
  right: 48px;
  bottom: 48px;
}
@media screen and (max-width: 768px) {
  #MV-wrap .btn-buy {
    width: 100%;
    right: inherit;
    bottom: 24px;
    margin: 0 auto;
    max-width: 361px;
    left: 50%;
    margin-left: -181px;
    opacity: 0;
  }
}
#MV-wrap {
  /* メインビジュアル - 背景として設定 */
}
#MV-wrap #mv {
  width: 100%;
  height: 100%;
}
#MV-wrap #mv {
  position: relative;
}
#MV-wrap #mv > picture,
#MV-wrap #mv > img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1279px) and (min-width: 769px) {
  #MV-wrap #mv > picture,
  #MV-wrap #mv > img {
    width: 130%;
    position: relative;
    left: -15%;
  }
}
#MV-wrap #mv .mv-bg.ifTb {
  display: none !important;
}
@media screen and (max-width: 1279px) and (min-width: 769px) {
  #MV-wrap #mv .mv-bg.ifPc {
    display: none !important;
  }
  #MV-wrap #mv .mv-bg.ifSp {
    display: none !important;
  }
  #MV-wrap #mv .mv-bg.ifTb {
    display: block !important;
  }
}
#MV-wrap #mv .switch-logo {
  position: absolute;
  top: 64px;
  left: 0;
  width: 100px;
  height: 100px;
}
@media screen and (max-width: 750px) {
  #MV-wrap #mv .switch-logo {
    width: 64px;
    height: 64px;
    top: 75px;
  }
}
#MV-wrap #mv .ps5-logo {
  position: absolute;
  top: 64px;
  left: 100px;
  width: 169px;
  height: 62px;
}
@media screen and (max-width: 750px) {
  #MV-wrap #mv .ps5-logo {
    width: 108.16px;
    height: 39.68px;
    top: 75px;
    left: 64px;
  }
}
#MV-wrap #mv {
  /*SP用MVSNS*/
}
#MV-wrap #mv .sns-content {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 40px;
  margin-top: -9999px;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  #MV-wrap #mv .sns-content {
    opacity: 1;
    margin-top: -60px;
  }
}
#MV-wrap #mv .sns-content .sns-list li {
  margin-top: 8px;
}
#MV-wrap #mv .area-wrap .mv-title-area {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: 0 366px;
}
@media screen and (max-width: 1280px) {
  #MV-wrap #mv .area-wrap .mv-title-area {
    padding: 0 0;
  }
}
@media screen and (max-width: 1024px) {
  #MV-wrap #mv .area-wrap .mv-title-area {
    order: 2;
    width: 100%;
    height: inherit;
  }
}
.mvvh #MV-wrap #mv .area-wrap .mv-title-area {
  height: 100vh;
  bottom: inherit;
  top: 0;
}

#MV-wrap #mv .area-wrap .mv-title-area .release-date {
  position: relative;
  margin-left: calc(0vw - clamp(4.84rem, -0.0131521739rem + 7.5756521739vw, 7.5625rem));
  margin-bottom: clamp(1.88rem, -0.0051086957rem + 2.9426086957vw, 2.9375rem);
}
@media screen and (max-width: 1600px) {
  #MV-wrap #mv .area-wrap .mv-title-area .release-date {
    margin-left: -121px;
    margin-bottom: 47px;
  }
}
@media screen and (max-width: 1280px) {
  #MV-wrap #mv .area-wrap .mv-title-area .release-date {
    margin-bottom: 129px;
    margin-bottom: clamp(4.8437989731rem, 0.000000363rem + 10.0781245462vw, 8.0625rem);
  }
}
@media screen and (max-width: 768px) {
  #MV-wrap #mv .area-wrap .mv-title-area .release-date {
    margin-bottom: inherit;
    bottom: 132px;
  }
}
#MV-wrap #mv .area-wrap .mv-title-area .release-date .top,
#MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom {
  text-align: center;
}
#MV-wrap #mv .area-wrap .mv-title-area .release-date .top span,
#MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span {
  font-feature-settings: "palt" on;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
}
#MV-wrap #mv .area-wrap .mv-title-area .release-date .top span.size1,
#MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span.size1 {
  font-size: 4vw;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1601px) {
  #MV-wrap #mv .area-wrap .mv-title-area .release-date .top span.size1,
  #MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span.size1 {
    font-size: 64px;
  }
}
@media screen and (max-width: 768px) {
  #MV-wrap #mv .area-wrap .mv-title-area .release-date .top span.size1,
  #MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span.size1 {
    font-size: clamp(2.6875rem, -0.0017063492rem + 10.9206349206vw, 6.9875rem);
  }
}
#MV-wrap #mv .area-wrap .mv-title-area .release-date .top span.size2,
#MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span.size2 {
  letter-spacing: 0.05em;
  font-size: 2.75vw;
}
@media screen and (max-width: 1601px) {
  #MV-wrap #mv .area-wrap .mv-title-area .release-date .top span.size2,
  #MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span.size2 {
    font-size: 44px;
  }
}
@media screen and (max-width: 768px) {
  #MV-wrap #mv .area-wrap .mv-title-area .release-date .top span.size2,
  #MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span.size2 {
    font-size: 28px;
    font-size: clamp(1.75rem, -0.0011111111rem + 7.1111111111vw, 4.55rem);
  }
}
#MV-wrap #mv .area-wrap .mv-title-area .release-date .top span.ls-s1,
#MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span.ls-s1 {
  letter-spacing: -0.5227272727em;
}
#MV-wrap #mv .area-wrap .mv-title-area .release-date .top span.ls-s2,
#MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span.ls-s2 {
  letter-spacing: -0.5227272727em;
}
#MV-wrap #mv .area-wrap .mv-title-area .release-date .top {
  position: relative;
  z-index: 2;
}
#MV-wrap #mv .area-wrap .mv-title-area .release-date .top span {
  color: var(--wh, #fff);
}
#MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
#MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span {
  color: var(--wh, #0e3a5d);
  -webkit-text-stroke-color: var(--navy, #174c76);
  text-shadow: clamp(0.16rem, -0.0004347826rem + 0.2504347826vw, 0.25rem) 4px 0 #0e3a5d;
  -webkit-text-stroke-width: clamp(0.2rem, -0.0005434783rem + 0.3130434783vw, 0.3125rem);
}
@media screen and (min-width: 1601px) {
  #MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span {
    text-shadow: 4px 4px 0 #0e3a5d;
    -webkit-text-stroke-width: 5px;
  }
}
@media screen and (min-width: 1025px) {
  #MV-wrap #mv .area-wrap .mv-title-area .release-date br {
    display: none;
  }
}
.mvvh #MV-wrap #mv .area-wrap .mv-title-area .release-date {
  bottom: 48px;
  margin-bottom: 0;
}

#MV-wrap #mv .area-wrap .mv-img-area {
  width: 100%;
}
#MV-wrap #mv .area-wrap .mv-img-area .bnr-official {
  position: absolute;
  bottom: clamp(1.92rem, -0.0052173913rem + 3.0052173913vw, 3rem);
  right: clamp(20.8125rem, 18.6956521739rem + 3.3043478261vw, 22rem);
  width: clamp(10rem, -0.027173913rem + 15.652173913vw, 15.625rem);
}
@media screen and (min-width: 1601px) {
  #MV-wrap #mv .area-wrap .mv-img-area .bnr-official {
    bottom: 48px;
    right: 352px;
    width: 250px;
  }
}
@media screen and (max-width: 1024px) {
  #MV-wrap #mv .area-wrap .mv-img-area .bnr-official {
    position: absolute;
    bottom: 3.5%;
    right: 4.2%;
    width: 44.7%;
  }
}
@media screen and (max-width: 768px) {
  #MV-wrap #mv .area-wrap .mv-img-area .bnr-official {
    bottom: 28px;
    right: 16px;
    width: calc(100% - 32px);
  }
}

#main {
  position: relative;
  background-image: url(../../images/main_bg_loop.png);
  background-position: center top;
  background-size: 100% auto;
  background-repeat: repeat-y;
}
#main::before {
  width: 100%;
  height: 3500px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-image: url(../../images/main_bg.jpg);
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

#news {
  padding: 56px 0 0;
}
@media screen and (max-width: 1024px) {
  #news {
    padding: 11.1% 0 0;
  }
}
@media screen and (max-width: 768px) {
  #news {
    padding: 24px 0 0;
  }
}
@media screen and (max-width: 768px) {
  #news .inner {
    padding: 0 clamp(1.5rem, 0.0000001243rem + 6.0913700535vw, 2.92385775rem);
  }
}
#news .news-wrap {
  text-align: center;
  border-radius: 16px;
  border: 3px solid var(--navy, #174c76);
  background: var(--wh, #fff);
}
#news .box-normal {
  overflow: hidden;
}
#news .box-normal .box-body {
  display: flex;
  padding: 21px 12px 20px 34px;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #news .box-normal .box-body {
    flex-direction: column;
    padding: 15px 0px 21px;
  }
}
#news .box-normal .box-body h2 {
  width: 147px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  #news .box-normal .box-body h2 {
    width: inherit;
    margin: 0 auto;
  }
}
#news .box-normal .box-body h2 div {
  color: #174c76;
  text-transform: capitalize;
  width: 114px;
  text-align: center;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  #news .box-normal .box-body h2 div {
    margin-left: 0;
    font-size: 32px;
  }
}
#news .box-normal .box-body h2 div img {
  vertical-align: top;
}
#news .box-normal .box-body h2 span {
  color: #174c76;
  font-feature-settings: "palt" on;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 14px */
}
#news .box-normal .box-body .scroll-area {
  width: calc(100% - 147px);
  height: 44px;
}
@media screen and (max-width: 768px) {
  #news .box-normal .box-body .scroll-area {
    width: calc(100% - 13px);
    margin-right: 13px;
  }
}
#news .box-normal .box-body .scroll-area ul {
  padding: 9px 30px 9px 0;
  margin: 0;
}
@media screen and (max-width: 768px) {
  #news .box-normal .box-body .scroll-area ul {
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  #news .box-normal .box-body .scroll-area ul {
    padding: 0 13px 0 13px;
    margin: 5px 0 0;
  }
}
#news .box-normal .box-body .scroll-area ul li {
  display: flex;
}
@media screen and (max-width: 768px) {
  #news .box-normal .box-body .scroll-area ul li {
    flex-direction: column;
  }
}
#news .box-normal .box-body .scroll-area ul li:nth-child(n+2) {
  margin-top: 16px;
}
#news .box-normal .box-body .scroll-area ul li div,
#news .box-normal .box-body .scroll-area ul li p,
#news .box-normal .box-body .scroll-area ul li a,
#news .box-normal .box-body .scroll-area ul li span {
  color: #433D2A;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4; /* 2.293625.2px */
  text-align: left;
}
@media screen and (max-width: 768px) {
  #news .box-normal .box-body .scroll-area ul li div,
  #news .box-normal .box-body .scroll-area ul li p,
  #news .box-normal .box-body .scroll-area ul li a,
  #news .box-normal .box-body .scroll-area ul li span {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #news .box-normal .box-body .scroll-area ul li div {
    width: 100%;
  }
}
#news .box-normal .box-body .scroll-area ul li p,
#news .box-normal .box-body .scroll-area ul li a,
#news .box-normal .box-body .scroll-area ul li span {
  display: inline-block;
  margin-left: 16px;
}
@media screen and (max-width: 768px) {
  #news .box-normal .box-body .scroll-area ul li p,
  #news .box-normal .box-body .scroll-area ul li a,
  #news .box-normal .box-body .scroll-area ul li span {
    margin-left: 0;
    margin-top: 1px;
    width: 100%;
  }
}
#news .box-normal .box-body .scroll-area ul li a {
  text-decoration: underline;
}
#news .box-normal .box-body .scroll-area ul li a,
#news .box-normal .box-body .scroll-area ul li span {
  color: #433D2A;
}

#story {
  position: relative;
  z-index: 1;
  background-image: url(../../images/bg_story.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center top;
  margin: 113px 0 0;
  padding: 0 0 80px;
}
@media screen and (min-width: 1601px) {
  #story {
    background-size: 1600px auto;
  }
}
@media screen and (max-width: 768px) {
  #story {
    margin: 29px 0 0;
    background: none;
    padding: 0 0 32px;
  }
}
#story .movie-wrap {
  margin-top: 37px;
}
@media screen and (max-width: 768px) {
  #story .movie-wrap {
    margin: 24px auto 0;
  }
}
#story .movie-wrap .movie {
  width: 100%;
  aspect-ratio: 16/9;
}
#story .movie-wrap .movie iframe {
  width: 100%;
  height: 100%;
}
#story .title-box {
  padding: 0;
}
@media screen and (max-width: 768px) {
  #story .title-box {
    padding: 0;
  }
}
#story .img1 {
  width: clamp(13.125rem, 0.0000010879rem + 53.2994879679vw, 25.5837553125rem);
  margin: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem) auto 0;
}
#story .text {
  margin-top: 22px;
}
@media screen and (max-width: 768px) {
  #story .text {
    margin-top: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
  }
}
#story .text p {
  color: #433D2A;
  text-align: center;
  font-feature-settings: "palt" on;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 180%; /* 32.4px */
  letter-spacing: 0.07em;
}
@media screen and (max-width: 768px) {
  #story .text p {
    font-size: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
  }
}
#story .text p:nth-child(n+2) {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  #story .text p:nth-child(n+2) {
    margin-top: 18px;
  }
}
#story .column {
  margin-top: 34px;
}
@media screen and (max-width: 768px) {
  #story .column {
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(12px);
    margin-top: clamp(9.125rem, 0.0000007564rem + 37.055834492vw, 17.7868013125rem);
    padding: 0 clamp(1.5rem, 0.0000001243rem + 6.0913700535vw, 2.92385775rem) clamp(1.5rem, 0.0000001243rem + 6.0913700535vw, 2.92385775rem);
  }
}
#story .column .img2 {
  width: clamp(11.4375rem, 0.000000948rem + 46.4466966578vw, 22.2944153438rem);
  margin: calc(0vw - clamp(7.9375rem, 0.0000006579rem + 32.2334998663vw, 15.4720805938rem)) auto 0;
}
#characters {
  position: relative;
  z-index: 1;
  background-image: url(../../images/bg_characters.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 51px 0 75px;
}
@media screen and (max-width: 768px) {
  #characters {
    margin: 0 0 0;
    padding: 29px 0 27px;
    background-image: url(../../images/bg_characters_sp.jpg);
  }
}
#characters .title-box {
  padding-bottom: 0;
}
#characters h2 {
  text-align: center;
}
#characters h2 img {
  width: 100%;
  max-width: 336px;
}
#characters h2 + .catch img {
  width: 100%;
}
#characters .characters-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  background-size: 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
  margin: 38px auto 0;
  padding: 0px 0 0;
  position: relative;
  gap: 0 0;
  overflow: hidden;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap {
    padding-left: clamp(3.5rem, -7.8373493976rem + 19.2771084337vw, 4.5rem);
    padding-right: clamp(3.5rem, -7.8373493976rem + 19.2771084337vw, 4.5rem);
  }
}
@media screen and (max-width: 768px) and (min-width: 394px) {
  #characters .characters-wrap {
    padding-left: clamp(1rem, -1.6336898396rem + 10.6951871658vw, 3.5rem);
    padding-right: clamp(1rem, -1.6336898396rem + 10.6951871658vw, 3.5rem);
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap {
    margin: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem) auto 0;
  }
}
@media screen and (max-width: 393px) {
  #characters .characters-wrap {
    padding-left: 16px;
    padding-right: 16px;
  }
}
#characters .characters-wrap.characters-hero {
  margin-top: 55px;
  align-items: center;
  padding: 0 112px;
  gap: 0 72px;
  opacity: 1;
}
@media screen and (max-width: 1280px) {
  #characters .characters-wrap.characters-hero {
    margin-top: clamp(1.75rem, -2.9341814159rem + 7.9646017699vw, 3.4375rem);
    padding: 0 clamp(4.125rem, -3.8554572271rem + 13.5693215339vw, 7rem);
    gap: 0 clamp(2.25rem, -3.9955752212rem + 10.6194690265vw, 4.5rem);
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap.characters-hero {
    padding: clamp(2.5625rem, -0.1370320856rem + 10.9625668449vw, 5.125rem) clamp(1.875rem, -0.1002673797rem + 8.0213903743vw, 3.75rem) clamp(2.5625rem, -0.1370320856rem + 10.9625668449vw, 5.125rem);
    margin-top: 23px;
  }
}
#characters .characters-wrap.characters-hero .character-info::before {
  display: none;
}
#characters .characters-wrap.characters-hero .character-info .number {
  display: none;
}
#characters .characters-wrap.characters-hero .character-info .character-info-name {
  font-size: 40px;
  text-align: center;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap.characters-hero .character-info .character-info-name {
    font-size: 24px;
    font-size: clamp(1.5rem, 0.0000001243rem + 6.0913700535vw, 2.92385775rem);
    margin-top: 0;
  }
}
#characters .characters-wrap.characters-hero .character-info .character-info-description {
  margin-top: 38px;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap.characters-hero .character-info .character-info-description {
    margin-top: 11px;
    margin-top: clamp(0.6875rem, 0.000000057rem + 2.7918779412vw, 1.3401014688rem);
  }
}
#characters .characters-wrap .characters-swiper {
  width: 100%;
  margin: 0;
  overflow: visible;
  transition: none;
  position: relative;
  z-index: 2;
}
#characters .characters-wrap .characters-swiper .swiper-wrapper {
  transition-property: transform;
  will-change: transform;
}
#characters .characters-wrap .characters-swiper .swiper-slide {
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(12px);
  width: 100%;
  padding: 0 0;
  position: relative;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
@media screen and (min-width: 1025px) {
  #characters .characters-wrap .characters-swiper .swiper-slide {
    width: 878px !important;
    padding: 16px 0 16px 47px;
  }
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .swiper-slide {
    padding-top: clamp(2rem, 5.0156862745rem - 6.2745098039vw, 1rem);
    padding-bottom: clamp(2rem, 5.0156862745rem - 6.2745098039vw, 1rem);
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .swiper-slide {
    width: 100%;
  }
}
#characters .characters-wrap .characters-swiper .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}
#characters .characters-wrap .characters-swiper .swiper-slide .name-text {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  padding: 0 100px 105px 50px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .name-text {
    padding: 0 clamp(1.5625rem, -12.5735294118rem + 29.4117647059vw, 6.25rem) 105px clamp(1.5625rem, -3.1495098039rem + 9.8039215686vw, 3.125rem);
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .name-text {
    top: inherit;
    bottom: 0;
    width: 100%;
    justify-content: flex-start;
    height: inherit;
    margin-top: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
    padding: 0 clamp(2rem, 0.0000001658rem + 8.121826738vw, 3.898477rem) clamp(8rem, 0.0000006631rem + 32.4873069519vw, 15.593908rem);
    position: relative;
  }
}
@media screen and (max-width: 768px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .name-text.h22 {
    height: 155px;
    height: clamp(9.6875rem, 0.000000803rem + 39.340098262vw, 18.8832479688rem);
  }
}
#characters .characters-wrap .characters-swiper .swiper-slide .name-text .name {
  color: var(--navy, #174c76);
  text-align: center;
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 40px */
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .name-text .name {
    font-size: clamp(2rem, 0.0000001658rem + 8.121826738vw, 3.898477rem);
  }
}
#characters .characters-wrap .characters-swiper .swiper-slide .name-text .age {
  color: var(--navy, #174c76);
  text-align: center;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 24px */
  text-transform: uppercase;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .name-text .age {
    margin-top: clamp(0.625rem, 0.0000000518rem + 2.5380708556vw, 1.2182740625rem);
    font-size: clamp(1.25rem, 0.0000001036rem + 5.0761417112vw, 2.436548125rem);
  }
}
#characters .characters-wrap .characters-swiper .swiper-slide .name-text .text {
  color: var(--bk, #433D2A);
  font-feature-settings: "palt" on;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 180%; /* 28.8px */
  letter-spacing: 1.12px;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .name-text .text {
    color: #433D2A;
    font-feature-settings: "palt" on;
    font-style: normal;
    font-weight: 700;
    line-height: 180%; /* 25.2px */
    text-align: left;
    font-size: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
    margin-top: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
  }
}
#characters .characters-wrap .characters-swiper .swiper-slide .name-text .img-sub {
  position: absolute;
  bottom: 40px;
  right: 79px;
  display: flex;
  gap: 0 8px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .name-text .img-sub {
    right: clamp(2.1875rem, -6.1056372549rem + 17.2549019608vw, 4.9375rem);
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .name-text .img-sub {
    right: 0;
    bottom: 25px;
    width: 100%;
    justify-content: center;
    gap: 0 15px;
  }
}
#characters .characters-wrap .characters-swiper .swiper-slide .name-text .img-sub img {
  width: 104px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .name-text .img-sub img {
    width: clamp(5.0375rem, 0.6270588235rem + 9.1764705882vw, 6.5rem);
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .name-text .img-sub img {
    width: clamp(5.5625rem, 0.0000004611rem + 22.588830615vw, 10.8426391563rem);
  }
}
#characters .characters-wrap .characters-swiper .swiper-slide .img-main {
  width: 392px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .img-main {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .swiper-slide .img-main {
    width: 82%;
    margin: clamp(1.5rem, 0.0000001243rem + 6.0913700535vw, 2.92385775rem) auto 0;
  }
}
#characters .characters-wrap .characters-swiper {
  /*左右ナビゲーションのためのラッパー*/
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .navigations-wrap {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .navigations-wrap {
    position: absolute;
    top: 0;
    left: calc(0vw - clamp(1rem, -1.6336898396rem + 10.6951871658vw, 3.5rem));
    width: 100vw;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide {
    width: 100%;
    max-width: 880px;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -55px;
    margin-left: -440px;
    height: 64px;
  }
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide {
    top: 50%;
    left: 0;
    margin-top: -55px;
    margin-left: 0;
    height: clamp(3.6328125rem, 0.4522058824rem + 6.6176470588vw, 4.6875rem);
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide {
    position: relative;
    width: clamp(20.625rem, 0.0000017096rem + 83.7563382353vw, 40.2030440625rem);
    height: clamp(24.5625rem, 2.7687165775rem + 88.5026737968vw, 45.25rem);
    margin-bottom: clamp(2.25rem, -0.1203208556rem + 9.6256684492vw, 4.5rem);
  }
}
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev,
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next {
  background-image: url(../../images/arrow_bg.png);
  background-size: 100%;
  color: inherit;
  width: 66px;
  height: 66px;
  transition: opacity 0.3s ease;
  top: 0;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev,
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next {
    top: clamp(1.5625rem, 0.7065508021rem + 3.4759358289vw, 2.375rem);
    width: clamp(2.5rem, 0.0000002072rem + 10.1522834225vw, 4.87309625rem);
    height: clamp(2.5rem, 0.0000002072rem + 10.1522834225vw, 4.87309625rem);
    position: absolute;
  }
}
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev:hover,
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next:hover {
  opacity: 0.7;
}
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev::after,
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next::after {
  display: none;
}
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev::before,
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next::before {
  content: "";
  width: 20px;
  height: 29px;
  background-size: 100%;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev::before,
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next::before {
    width: clamp(0.96875rem, 0.1205882353rem + 1.7647058824vw, 1.25rem);
    height: clamp(1.4046875rem, 0.1748529412rem + 2.5588235294vw, 1.8125rem);
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev::before,
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next::before {
    width: clamp(0.8125rem, 0.0000000673rem + 3.2994921123vw, 1.5837562813rem);
    height: clamp(1.1875rem, 0.0000000984rem + 4.8223346257vw, 2.3147207188rem);
  }
}
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev {
  left: -32px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev {
    left: calc(0px - clamp(2.625rem, 4.5098039216rem - 3.9215686275vw, 2rem));
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev {
    left: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
  }
}
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev::before {
  background-image: url(../../images/arrow_l.png);
  background-size: 100% 100%;
  margin-left: -3px;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-prev::before {
    background-image: url(../../images/arrow_l_sp.png);
  }
}
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next {
  right: -32px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next {
    right: calc(0px - clamp(2.625rem, 4.5098039216rem - 3.9215686275vw, 2rem));
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next {
    right: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
  }
}
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next::before {
  background-image: url(../../images/arrow_r.png);
  background-size: 100% 100%;
  margin-right: -3px;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-button-next::before {
    background-image: url(../../images/arrow_r_sp.png);
  }
}
#characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-pagination {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .characters-swiper .virtual-slide-wide .swiper-pagination {
    margin-top: clamp(0.5rem, 0.0000000414rem + 2.0304566845vw, 0.97461925rem);
  }
}
#characters .characters-wrap .characters-swiper .virtual-slide-wide .text p {
  color: #433D2A;
  text-align: center;
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 180%; /* 32.4px */
  letter-spacing: 0.07em;
}
#characters .characters-wrap .character-info {
  width: calc(100% - 552px);
}
#characters .characters-wrap .character-info::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 81px;
  right: 42px;
  background-size: 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
  opacity: 0.3;
  width: 30%;
  height: 80%;
}
#characters .characters-wrap .character-info .character-info-name {
  color: #ed8b1b;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 16px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .character-info .character-info-name {
    font-size: 18px;
    margin-top: 9px;
  }
}
#characters .characters-wrap .character-info .character-info-description {
  color: #e5fae6;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 2.2;
  margin-top: 15px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .character-info .character-info-description {
    margin-top: 5px;
    font-size: 14px;
    line-height: 2;
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .character-info .character-info-description br {
    display: none;
  }
}
#characters .characters-wrap .character-info .slide_number {
  margin-top: 18px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .character-info .slide_number {
    text-align: center;
    margin-top: 11px;
  }
}
#characters .characters-wrap .character-info .slide_number span {
  color: #e5fae6;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}
#characters .characters-wrap .character-info .slide_number span.number_of {
  margin-right: 0.3em;
}
#characters .characters-wrap .character-info .slide_number span.total {
  margin-left: 0.3em;
}
#characters .characters-wrap .character-info-name-eng {
  width: 100%;
  margin-top: 0px;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap .character-info-name-eng {
    margin-top: 19px;
    text-align: left;
  }
}
#characters .characters-wrap .character-info-name-eng img {
  height: 63px;
  width: auto;
}
@media screen and (max-width: 1200px) {
  #characters .characters-wrap .character-info-name-eng img {
    width: auto;
    height: 5.4vw;
  }
}
#characters .characters-wrap.characters-hero .characters-img {
  width: 480px;
}
@media screen and (max-width: 1280px) {
  #characters .characters-wrap.characters-hero .characters-img {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap.characters-hero .characters-img {
    width: 79%;
  }
}
#characters .characters-wrap.characters-hero .character-info {
  width: calc(100% - 480px - 72px);
}
@media screen and (max-width: 1280px) {
  #characters .characters-wrap.characters-hero .character-info {
    width: calc(50% - clamp(2.25rem, -3.9955752212rem + 10.6194690265vw, 4.5rem));
  }
}
@media screen and (max-width: 768px) {
  #characters .characters-wrap.characters-hero .character-info {
    width: 100%;
    margin-top: 19px;
  }
}
#characters .characters-wrap.characters-hero .character-info .character-info-description {
  padding-right: 0;
}
#characters .characters-wrap + .catch {
  margin-top: 46px;
}
#characters .characters-wrap + .catch + .text p {
  text-align: center;
}
#characters .characters-wrap.active .fade-transition {
  transition: opacity 0.15s ease;
}
#characters .characters-wrap.active .fade-out {
  opacity: 0;
}
#characters .characters-wrap.active .fade-in {
  opacity: 1;
}

#system .inner-wrap,
#location .inner-wrap {
  max-width: 1062px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
}
#system .inner-wrap::before,
#location .inner-wrap::before {
  content: "";
  position: absolute;
  z-index: 3;
  background-repeat: no-repeat;
  background-size: 100%;
}
#system .inner,
#location .inner {
  position: relative;
  z-index: 1;
}

#system {
  margin: 120px 0 0;
}
@media screen and (max-width: 1200px) {
  #system {
    margin: clamp(20.5888316563rem, 20.5888316563rem + 0vw, 20.5888316563rem) 0 0;
  }
}
@media screen and (max-width: 768px) {
  #system {
    margin: clamp(10.5625rem, 0.0000008755rem + 42.8933974599vw, 20.5888316563rem) 0 0;
  }
}
#system .inner-wrap::before {
  content: "";
  background-image: url(../../images/system_icon.png);
  width: 300px;
  height: 240px;
  top: -40px;
  left: -37px;
}
@media screen and (max-width: 1200px) and (min-width: 769px) {
  #system .inner-wrap::before {
    width: clamp(25.5837553125rem, 37.7766969258rem - 25.3689292343vw, 18.75rem);
    height: clamp(20.46700425rem, 30.2213575406rem - 20.2951433875vw, 15rem);
    top: calc(0vw - clamp(16.5625rem, 16.5625rem + 0vw, 16.5625rem));
    left: 50%;
    margin-left: calc(0vw - clamp(12.7918776563rem, 17.6616953306rem - 10.1322604408vw, 10.0625rem));
  }
}
@media screen and (max-width: 768px) {
  #system .inner-wrap::before {
    width: clamp(13.125rem, 0.0000010879rem + 53.2994879679vw, 25.5837553125rem);
    height: clamp(10.5rem, 0.0000008703rem + 42.6395903743vw, 20.46700425rem);
    top: calc(0vw - clamp(8.5rem, 0.0000007045rem + 34.5177636364vw, 16.56852725rem));
    left: clamp(5.6875rem, 0.0000004714rem + 23.0964447861vw, 11.0862939688rem);
  }
}
#system .inner-wrap .contents-box {
  position: relative;
  z-index: 1;
  padding-top: 53px;
  padding-bottom: 56px;
}
@media screen and (max-width: 1200px) and (min-width: 769px) {
  #system .inner-wrap .contents-box {
    padding-top: clamp(6.4568525313rem, 6.4568525313rem + 0vw, 6.4568525313rem);
  }
}
@media screen and (max-width: 768px) {
  #system .inner-wrap .contents-box {
    padding-top: clamp(3.3125rem, 0.0000002746rem + 13.4517755348vw, 6.4568525313rem);
    padding-bottom: clamp(1.4375rem, 0.0000001192rem + 5.8375629679vw, 2.8020303438rem);
  }
}
#system .inner-wrap .contents-box .title-notice {
  margin-top: 21px;
}
@media screen and (max-width: 768px) {
  #system .inner-wrap .contents-box .title-notice {
    margin-top: clamp(0.8125rem, 0.0000000673rem + 3.2994921123vw, 1.5837562813rem);
    padding: 0 clamp(1.25rem, 0.0000001036rem + 5.0761417112vw, 2.436548125rem);
  }
}
@media screen and (max-width: 768px) {
  #system .inner-wrap .contents-box .title-notice.title-notice_l div {
    font-size: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
  }
}
#system .inner-wrap .contents-box .movie-wrap {
  width: 100%;
  max-width: 880px;
  margin: 39px auto 0;
  border-radius: 16px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #system .inner-wrap .contents-box .movie-wrap {
    margin-top: clamp(1.5625rem, 0.0000001295rem + 6.345177139vw, 3.0456851563rem);
    padding: 0 clamp(0.25rem, 0.0000000207rem + 1.0152283422vw, 0.487309625rem);
  }
}
#system .inner-wrap .contents-box .movie-wrap .movie {
  width: 100%;
  height: 100%;
  max-width: 880px;
  aspect-ratio: 16/9;
}
#system .inner-wrap .contents-box .movie-wrap .movie video {
  width: 100%;
  height: 100%;
}
#system .inner-wrap .contents-box .column {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  #system .inner-wrap .contents-box .column {
    margin-top: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
  }
}
@media screen and (max-width: 768px) {
  #system .inner-wrap .contents-box .column .column-img {
    padding: 0 clamp(0.25rem, 0.0000000207rem + 1.0152283422vw, 0.487309625rem);
  }
}

#location {
  margin: 120px 0 0;
  margin-bottom: 149px;
}
@media screen and (max-width: 1200px) and (min-width: 769px) {
  #location {
    margin: clamp(20.7106590625rem, 20.7106590625rem + 0vw, 20.7106590625rem) 0 80px;
  }
}
@media screen and (max-width: 768px) {
  #location {
    margin: clamp(10.625rem, 0.0000008807rem + 43.1472045455vw, 20.7106590625rem) 0 clamp(2rem, 0.0000001658rem + 8.121826738vw, 3.898477rem);
  }
}
#location .inner-wrap::before {
  content: "";
  background-image: url(../../images/location_icon.png);
  width: 265px;
  height: 444px;
  top: -72px;
  left: -5px;
}
@media screen and (max-width: 1200px) {
  #location .inner-wrap::before {
    background-image: url(../../images/location_icon_sp.png);
  }
}
@media screen and (max-width: 1200px) and (min-width: 769px) {
  #location .inner-wrap::before {
    width: clamp(32.2842626563rem, 56.4324018271rem - 50.2432024362vw, 18.75rem);
    height: clamp(20.46700425rem, 30.2213575406rem - 20.2951433875vw, 15rem);
    top: calc(0vw - clamp(16.5625rem, 16.5625rem + 0vw, 16.5625rem));
    left: 50%;
    margin-left: calc(0vw - clamp(16.1421313281rem, 26.9895477813rem - 22.5693970418vw, 10.0625rem));
  }
}
@media screen and (max-width: 768px) {
  #location .inner-wrap::before {
    width: clamp(15.8125rem, 0.0000013107rem + 64.2131926471vw, 30.8223337813rem);
    height: clamp(10.625rem, 0.0000008807rem + 43.1472045455vw, 20.7106590625rem);
    top: calc(0vw - clamp(8.625rem, 0.0000007149rem + 35.0253778075vw, 16.8121820625rem));
    left: clamp(4.375rem, 0.0000003626rem + 17.7664959893vw, 8.5279184375rem);
  }
}
#location .inner-wrap .contents-box {
  position: relative;
  z-index: 1;
  padding-top: 53px;
  padding-bottom: 52px;
}
@media screen and (max-width: 1200px) and (min-width: 769px) {
  #location .inner-wrap .contents-box {
    padding-top: clamp(6.4568525313rem, 6.4568525313rem + 0vw, 6.4568525313rem);
  }
}
@media screen and (max-width: 768px) {
  #location .inner-wrap .contents-box {
    padding-top: clamp(3.3125rem, 0.0000002746rem + 13.4517755348vw, 6.4568525313rem);
    padding-bottom: clamp(3.25rem, 0.0000002694rem + 13.1979684492vw, 6.335025125rem);
  }
}
#location .inner-wrap .contents-box .title-notice {
  margin-top: 21px;
}
@media screen and (max-width: 768px) {
  #location .inner-wrap .contents-box .title-notice {
    margin-top: clamp(1.5625rem, 0.0000001295rem + 6.345177139vw, 3.0456851563rem);
  }
}
#location .inner-wrap .contents-box .location-swiper {
  margin-top: 38px;
}
@media screen and (max-width: 768px) {
  #location .inner-wrap .contents-box .location-swiper {
    margin-top: clamp(1.125rem, 0.0000000932rem + 4.5685275401vw, 2.1928933125rem);
  }
}
#location .inner-wrap .contents-box .location-swiper .general-swiper-wrap {
  max-width: 880px;
}
#location .inner-wrap .contents-box .location-swiper .general-swiper-wrap .general-swiper {
  max-width: inherit;
  margin-top: 0;
  border-radius: 15px;
}
#location .system-swiper {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  #location .system-swiper {
    margin-top: 24px;
  }
}
#location .system-swiper .general-swiper-wrap {
  padding-top: 5px;
}
#location .system-swiper .general-swiper-wrap .general-sub-swiper .swiper-pagination {
  margin-top: 24px;
}

#package {
  padding-top: 80px;
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  #package {
    padding-top: clamp(2.0625rem, 0.000000171rem + 8.3756338235vw, 4.0203044063rem);
    padding-bottom: 0;
  }
}
#package .inner {
  max-width: 1168px;
}
#package .inner .package-wrap .head-box {
  width: 100%;
  background-color: #6ba992;
  padding: 24px 0px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap .head-box {
    padding: 18px 0px 16px;
  }
}
#package .inner .package-wrap .head-box h3 {
  color: var(--wh, #fff);
  text-align: center;
  font-feature-settings: "palt" on;
  font-size: 44px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 44px */
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap .head-box h3 {
    font-size: clamp(2rem, 0.0000001658rem + 8.121826738vw, 3.898477rem);
  }
}
#package .inner .package-wrap > .box-normal {
  border-radius: 24px;
  max-width: 1024px;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal {
    border-radius: 16px;
  }
}
#package .inner .package-wrap > .box-normal .box-body {
  background-color: rgba(255, 255, 255, 0.7);
  /* Drop Shadow */
  backdrop-filter: blur(12px);
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body {
    padding-top: 16px;
  }
}
#package .inner .package-wrap > .box-normal .box-body h4 {
  color: var(--wh, #fff);
  text-align: center;
  font-feature-settings: "palt" on;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 24px */
  background-color: #e5a752;
  border-radius: 44px;
  position: relative;
  padding: 10px 0;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body h4 {
    font-size: clamp(1.5rem, 0.0000001243rem + 6.0913700535vw, 2.92385775rem);
    padding: clamp(0.625rem, 0.0000000518rem + 2.5380708556vw, 1.2182740625rem) 0 clamp(0.5625rem, 0.0000000466rem + 2.2842637701vw, 1.0964466563rem);
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head,
#package .inner .package-wrap > .box-normal .box-body .package-body-foot {
  padding-left: 56px;
  padding-right: 56px;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head,
  #package .inner .package-wrap > .box-normal .box-body .package-body-foot {
    padding-left: 56px;
    padding-right: 56px;
  }
}
@media screen and (max-width: 768px) and (min-width: 394px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head,
  #package .inner .package-wrap > .box-normal .box-body .package-body-foot {
    padding-left: clamp(1rem, -1.6336898396rem + 10.6951871658vw, 3.5rem);
    padding-right: clamp(1rem, -1.6336898396rem + 10.6951871658vw, 3.5rem);
  }
}
@media screen and (max-width: 393px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head,
  #package .inner .package-wrap > .box-normal .box-body .package-body-foot {
    padding-left: 16px;
    padding-right: 16px;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head {
  display: flex;
  margin-top: 0;
  gap: 0 48px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head {
    flex-direction: column;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-img,
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info {
  width: calc(50% - 24px);
  padding-bottom: 2px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-img,
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info {
    width: 100%;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-img p {
  color: #433D2A;
  font-feature-settings: "palt" on;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 7px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-img p {
    font-size: clamp(0.75rem, 0.0000000622rem + 3.0456850267vw, 1.461928875rem);
  }
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info {
    width: 100%;
    margin-top: 25px;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info {
    margin-top: clamp(1.3125rem, 0.0000001088rem + 5.3299487968vw, 2.5583755313rem);
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol {
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol {
    margin-top: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
    margin-left: clamp(0.6875rem, 0.000000057rem + 2.7918779412vw, 1.3401014688rem);
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li {
  color: #433D2A;
  font-feature-settings: "palt" on;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.3;
  text-indent: -1em;
  padding-left: 1em;
  position: relative;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li {
    font-size: clamp(1.125rem, 0.0000000932rem + 4.5685275401vw, 2.1928933125rem);
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li:nth-child(n+2) {
  margin-top: 9px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li:nth-child(n+2) {
    margin-top: 5px;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li.special {
  padding-top: 2em;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li.special {
    padding-top: 1.7em;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li.special div {
  display: inline-block;
  padding: 0 30px;
  position: absolute;
  top: 0;
  left: 0;
  text-indent: 0;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li.special div {
    padding: 0 clamp(1.875rem, 0.0000001554rem + 7.6142125668vw, 3.6548221875rem);
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li.special div span {
  color: var(--bk, #433D2A);
  font-feature-settings: "palt" on;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 25.6px */
  background-color: #fff;
  position: relative;
  z-index: 2;
  padding: 0 10px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li.special div span {
    font-size: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
    padding: 0 clamp(0.625rem, 0.0000000518rem + 2.5380708556vw, 1.2182740625rem);
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol li.special div::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #433D2A;
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol + div {
  display: inline-block;
  position: relative;
  padding: 0 33px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol + div {
    margin-left: 8px;
    margin-top: 6px;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol + div::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #433D2A;
  position: absolute;
  left: 0;
  top: 50%;
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol + div span {
  background-color: #e8e1c5;
  position: relative;
  z-index: 2;
  padding: 0 6px;
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol + div + ol {
  margin-top: 13px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info ol + div + ol {
    margin-top: 7px;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info p.f-serif {
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.8px;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-head .package-info p.f-serif {
    font-size: 14px;
    text-align: center;
    margin-top: 16px;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-foot {
  padding-top: 31px;
  padding-bottom: 49px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-foot {
    padding-top: 16px;
    padding-bottom: 24px;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-foot .reservation_target_selection dl {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-foot .reservation_target_selection dl {
    margin-top: 17px;
    gap: 8px;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-foot .reservation_target_selection dl dt {
  width: 100%;
  text-align: center;
  height: 80px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-foot .reservation_target_selection dl dt {
    width: 129px;
    height: auto;
    margin: 0 auto 16px;
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-foot .reservation_target_selection dl dt img {
  max-width: 201px;
}
#package .inner .package-wrap > .box-normal .box-body .package-body-foot .reservation_target_selection dl dd {
  width: calc(25% - 12px);
  text-align: center;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-foot .reservation_target_selection dl dd {
    width: calc(33% - clamp(0.25rem, -0.8166666667rem + 2.6666666667vw, 0.75rem));
  }
}
@media screen and (max-width: 640px) {
  #package .inner .package-wrap > .box-normal .box-body .package-body-foot .reservation_target_selection dl dd {
    width: calc(50% - 4px);
  }
}
#package .inner .package-wrap > .box-normal .box-body .package-body-foot .reservation_target_selection dl dd a {
  display: inline-block;
  transition: opacity 0.3s;
  text-align: center;
  padding: 16px;
}
#package .inner .package-wrap > .box-normal .box-body .package-body-foot .reservation_target_selection dl dd a:hover {
  opacity: 0.8;
}
#package .inner .package-wrap > .box-normal + .box-normal:nth-child(n+2) {
  margin-top: 48px;
}
#package .inner .package-wrap#shop_bonus .box-normal .box-body-wrap .head-box h3 {
  width: 100%;
  margin: 0 auto;
}
#package .inner .package-wrap#shop_bonus .box-normal .box-body-wrap .box-body {
  padding-top: 0;
}
#package .inner .package-wrap#shop_bonus .box-normal .box-body-wrap .box-body .package-body-foot {
  padding-bottom: 0;
  padding-top: 41px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .box-normal .box-body-wrap .box-body .package-body-foot {
    padding-top: 16px;
  }
}
#package .inner .package-wrap#shop_bonus .box-normal .box-body-wrap .box-body .shop_bonus-body-head {
  margin-top: 24px;
  padding: 0;
  gap: 0 24px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .box-normal .box-body-wrap .box-body .shop_bonus-body-head {
    margin-top: 17px;
    gap: 0;
    display: flex;
    flex-direction: column;
  }
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-head,
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot {
  padding-left: 80px;
  padding-right: 80px;
}
@media screen and (max-width: 1280px) {
  #package .inner .package-wrap#shop_bonus .shop_bonus-body-head,
  #package .inner .package-wrap#shop_bonus .shop_bonus-body-foot {
    padding-left: clamp(2.5rem, -4.4395280236rem + 11.7994100295vw, 5rem);
    padding-right: clamp(2.5rem, -4.4395280236rem + 11.7994100295vw, 5rem);
  }
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .shop_bonus-body-head,
  #package .inner .package-wrap#shop_bonus .shop_bonus-body-foot {
    padding-left: 20px;
    padding-right: 20px;
  }
}
#package .inner .package-wrap#shop_bonus .shop-swiper {
  width: 100%;
  max-width: 912px;
  overflow: inherit;
}
#package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head {
  margin-top: 24px;
}
#package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img {
  max-width: 328px;
  width: calc(33% - 12px);
  padding: 1px 16px 15px;
  border-radius: 16px;
  background-color: #fff;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 640px) {
  #package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img {
    width: calc(50% - 12px);
  }
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img {
    width: 100%;
    padding-bottom: clamp(0.6875rem, 0.000000057rem + 2.7918779412vw, 1.3401014688rem);
    max-width: inherit;
    padding-top: clamp(0.0625rem, 0.0000000052rem + 0.2538070856vw, 0.1218274063rem);
    padding-left: clamp(0.625rem, 0.0000000518rem + 2.5380708556vw, 1.2182740625rem);
    padding-right: clamp(0.625rem, 0.0000000518rem + 2.5380708556vw, 1.2182740625rem);
  }
}
#package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .shop_name {
  width: 100%;
  max-width: 258px;
  margin: 39px auto 0;
  text-align: center;
}
#package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .shop_logo {
  text-align: center;
  margin-top: 16px;
}
#package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .shop_logo img {
  width: 150px;
  margin: 0 auto;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .shop_logo img {
    width: clamp(9.375rem, 0.0000007771rem + 38.0710628342vw, 18.2741109375rem);
  }
}
#package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .bonus_name {
  width: 100%;
  margin-top: 16px;
  color: #433D2A;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .bonus_name {
    margin-top: clamp(0.4375rem, 0.0000000363rem + 1.7766495989vw, 0.8527918438rem);
    font-size: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
  }
}
#package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .shop_img {
  margin: 15px auto 0;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .shop_img {
    margin-top: 8px;
  }
}
#package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .shop_btn {
  margin: 16px auto 0;
  text-align: center;
}
#package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .shop_btn li a {
  display: inline-block;
  background-image: url(../../images/btn1.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  text-align: center;
  color: var(--wh, #fff);
  font-feature-settings: "palt" on;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 44px;
  font-size: 20px;
  width: 192px;
  height: 52px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img .shop_btn li a {
    line-height: clamp(2.75rem, 0.0000002279rem + 11.1675117647vw, 5.360405875rem);
    font-size: clamp(1.25rem, 0.0000001036rem + 5.0761417112vw, 2.436548125rem);
    width: clamp(12rem, 0.0000009947rem + 48.7309604278vw, 23.390862rem);
    height: clamp(3.25rem, 0.0000002694rem + 13.1979684492vw, 6.335025125rem);
  }
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .shop-swiper .shop_bonus-body-head .shop_bonus_img:nth-child(n+2) {
    margin-top: 15px;
  }
}
#package .inner .package-wrap#shop_bonus .shop-swiper .swiper-button-lock {
  display: inherit;
}
#package .inner .package-wrap#shop_bonus .shop-swiper .swiper-button-next {
  right: 16px;
  transform: scale(-1, 1);
}
#package .inner .package-wrap#shop_bonus .shop-swiper .swiper-button-prev {
  left: 16px;
}
@media screen and (min-width: 769px) {
  #package .inner .package-wrap#shop_bonus .shop-swiper .swiper-button-next,
  #package .inner .package-wrap#shop_bonus .shop-swiper .swiper-button-prev {
    display: none;
  }
}
#package .inner .package-wrap#shop_bonus .shop-swiper .swiper-button-next,
#package .inner .package-wrap#shop_bonus .shop-swiper .swiper-button-prev {
  top: 50%;
  margin-top: -16px;
  width: 32px;
  height: 33px;
}
#package .inner .package-wrap#shop_bonus .shop-swiper .swiper-button-next:after,
#package .inner .package-wrap#shop_bonus .shop-swiper .swiper-button-prev:after {
  content: "";
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMiAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMSIgeT0iMS40MjcyNSIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiBmaWxsPSIjMDgxODIwIi8+CjxyZWN0IHg9IjEiIHk9IjEuNDI3MjUiIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgc3Ryb2tlPSIjODhDMDcwIiBzdHJva2Utd2lkdGg9IjIiLz4KPHJlY3QgeD0iMTAiIHk9IjE0LjQyNzIiIHdpZHRoPSIzLjMzMzMzIiBoZWlnaHQ9IjMuMzMzMzMiIGZpbGw9IiM4OEMwNzAiLz4KPHJlY3QgeD0iMTMuMzM0IiB5PSIxMS4wOTM4IiB3aWR0aD0iMy4zMzMzMyIgaGVpZ2h0PSIzLjMzMzMzIiBmaWxsPSIjODhDMDcwIi8+CjxyZWN0IHg9IjEzLjMzNCIgeT0iMTcuNzYwNyIgd2lkdGg9IjMuMzMzMzMiIGhlaWdodD0iMy4zMzMzMyIgZmlsbD0iIzg4QzA3MCIvPgo8cmVjdCB4PSIxNi42NjYiIHk9IjcuNzYwNzQiIHdpZHRoPSIzLjMzMzMzIiBoZWlnaHQ9IjMuMzMzMzMiIGZpbGw9IiM4OEMwNzAiLz4KPHJlY3QgeD0iMTYuNjY2IiB5PSIyMS4wOTM4IiB3aWR0aD0iMy4zMzMzMyIgaGVpZ2h0PSIzLjMzMzMzIiBmaWxsPSIjODhDMDcwIi8+Cjwvc3ZnPgo=");
  background-size: 100%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}
#package .inner .package-wrap#shop_bonus .shop-banner-nav {
  display: none;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .shop-banner-nav {
    display: flex;
    gap: 0 22px;
    margin: 16px auto 0;
    max-width: 289px;
  }
}
#package .inner .package-wrap#shop_bonus .shop-banner-nav .banner-item {
  position: relative;
  cursor: pointer;
}
#package .inner .package-wrap#shop_bonus .shop-banner-nav .banner-item.active::before {
  content: "";
  position: absolute;
  left: 50%;
  margin-left: -4px;
  bottom: -16px;
  width: 8px;
  height: 8px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  border-radius: 20px;
  background-color: #ed8b1b;
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot {
  padding: 17px 0 47px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .shop_bonus-body-foot {
    padding: 15px 0 24px;
  }
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot p {
  color: #433D2A;
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6; /* 2.293622.4px */
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#shop_bonus .shop_bonus-body-foot p {
    color: var(--bk, #433D2A);
    font-feature-settings: "palt" on;
    font-family: "Noto Sans JP";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 19.2px */
  }
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot .reservation_target_selection {
  margin-top: 30px;
  margin-bottom: 30px;
  display: flex;
  gap: 0 56px;
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot .reservation_target_selection dl {
  width: calc(50% - 28px);
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot .reservation_target_selection dl dt {
  width: 100%;
  text-align: center;
  height: 80px;
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot .reservation_target_selection dl dt img {
  max-width: 201px;
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot .reservation_target_selection dl dd {
  text-align: center;
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot .reservation_target_selection dl dd a {
  display: inline-block;
  transition: opacity 0.3s;
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot .reservation_target_selection dl dd a:hover {
  opacity: 0.8;
}
#package .inner .package-wrap#shop_bonus .shop_bonus-body-foot .reservation_target_selection dl dd:nth-of-type(n + 2) {
  margin-top: 16px;
}
#package .inner .package-wrap#product_info .box-normal .box-body-wrap .head-box h3 {
  width: 100%;
  margin: 0 auto;
}
#package .inner .package-wrap#product_info .box-normal .box-body-wrap .box-body {
  padding-top: 0;
}
#package .inner .package-wrap#product_info .box-normal .box-body-wrap .box-body .package-body-foot {
  padding-bottom: 0;
  padding-top: 41px;
}
#package .inner .package-wrap#product_info .box-normal .box-body-wrap .box-body .shop_bonus-body-head {
  margin-top: 24px;
  padding: 0;
  gap: 0 24px;
}
#package .inner .package-wrap#product_info .product_info-body {
  display: flex;
  gap: 0 56px;
  padding-top: 39px;
  padding-bottom: 51px;
  padding-left: 56px;
  padding-right: 56px;
}
@media screen and (max-width: 768px) and (min-width: 394px) {
  #package .inner .package-wrap#product_info .product_info-body {
    padding-left: clamp(1rem, -1.6336898396rem + 10.6951871658vw, 3.5rem);
    padding-right: clamp(1rem, -1.6336898396rem + 10.6951871658vw, 3.5rem);
  }
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#product_info .product_info-body {
    flex-direction: column;
    padding-top: 16px;
    padding-bottom: 22px;
    gap: 0 28px;
  }
}
@media screen and (max-width: 393px) {
  #package .inner .package-wrap#product_info .product_info-body {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 14px;
    padding-bottom: 22px;
  }
}
#package .inner .package-wrap#product_info .product_info-body .product_info-img {
  width: 39.5%;
  max-width: 360px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#product_info .product_info-body .product_info-img {
    width: 100%;
    max-width: inherit;
  }
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info {
  width: calc(60.5% - 56px);
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#product_info .product_info-body .product_info-info {
    width: 100%;
    margin-top: 12px;
  }
  #package .inner .package-wrap#product_info .product_info-body .product_info-info .box-normal {
    padding: 0;
  }
  #package .inner .package-wrap#product_info .product_info-body .product_info-info *::before, #package .inner .package-wrap#product_info .product_info-body .product_info-info *::after, #package .inner .package-wrap#product_info .product_info-body .product_info-info .corner {
    display: none;
  }
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info .name-plate {
  color: var(--wh, #fff);
  text-align: center;
  font-feature-settings: "palt" on;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  border-radius: 44px;
  border-bottom: 2px solid var(--brown, #e5a752);
  background: var(--brown, #e5a752);
  display: inline-block;
  padding: 7px 12px 7px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#product_info .product_info-body .product_info-info .name-plate {
    font-size: 10px;
    padding: 5px 12px 5px;
  }
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info .name-label {
  width: 100%;
  margin-top: 13px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--brown, #174c76);
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#product_info .product_info-body .product_info-info .name-label {
    margin-top: 8px;
  }
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info .name-label span {
  color: var(--navy, #174c76);
  font-feature-settings: "palt" on;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info .name-label div.title1 {
  color: var(--brown, #174c76);
  font-feature-settings: "palt" on;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4; /* 39.2px */
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#product_info .product_info-body .product_info-info .name-label div.title1 {
    font-size: 26px;
  }
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info .name-label div.title2 {
  color: var(--brown, #174c76);
  font-feature-settings: "palt" on;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4; /* 22.4px */
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info ul {
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#product_info .product_info-body .product_info-info ul {
    margin-top: 15px;
  }
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info ul li {
  display: flex;
  gap: 0 10px;
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info ul li div,
#package .inner .package-wrap#product_info .product_info-body .product_info-info ul li span {
  display: inline-block;
  color: var(--bk, #433D2A);
  font-feature-settings: "palt" on;
  font-size: 16px;
  font-style: normal;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#product_info .product_info-body .product_info-info ul li div,
  #package .inner .package-wrap#product_info .product_info-body .product_info-info ul li span {
    font-size: 14px;
  }
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info ul li span {
  min-width: 124px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap#product_info .product_info-body .product_info-info ul li span {
    min-width: 111px;
  }
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info ul li div {
  font-weight: 400;
}
#package .inner .package-wrap#product_info .product_info-body .product_info-info ul li:nth-child(n+2) {
  margin-top: 8px;
}
#package .inner .package-wrap + .package-wrap:nth-child(n+2) {
  margin-top: 48px;
}
@media screen and (max-width: 768px) {
  #package .inner .package-wrap + .package-wrap:nth-child(n+2) {
    margin-top: 24px;
  }
}

#footer {
  padding: 64px 0 56px;
}
@media screen and (max-width: 768px) {
  #footer {
    padding: clamp(2rem, 0.0000001658rem + 8.121826738vw, 3.898477rem) 0 clamp(7.125rem, 0.0000005906rem + 28.934007754vw, 13.8883243125rem);
  }
}
#footer .inner {
  max-width: 1168px;
}
@media screen and (max-width: 768px) and (min-width: 394px) {
  #footer .inner {
    padding-left: clamp(2rem, 3.0534759358rem - 4.2780748663vw, 1rem);
    padding-right: clamp(2rem, 3.0534759358rem - 4.2780748663vw, 1rem);
  }
}
@media screen and (max-width: 393px) {
  #footer .inner {
    padding-left: 32px;
    padding-right: 32px;
  }
}
#footer .footer-link {
  display: flex;
  justify-content: center;
  gap: 0 26px;
}
#footer .footer-link .box-normal::before,
#footer .footer-link .box-normal::after,
#footer .footer-link .box-normal .box-body-wrap::before,
#footer .footer-link .box-normal .box-body-wrap::after {
  background-color: #fff;
}
#footer .footer-link .box-normal .corner {
  background-image: url(../images/corner3.svg);
}
@media screen and (max-width: 768px) {
  #footer .footer-link {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    gap: inherit;
    max-width: 393px;
    margin: 0 auto;
  }
}
#footer .footer-link a {
  display: inline-block;
  background-image: url(../../images/footer-link.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: calc(33% - 17.333px);
  max-width: 326px;
  height: 73px;
}
@media screen and (max-width: 1118px) and (min-width: 1025px) {
  #footer .footer-link a {
    height: clamp(3.75rem, -5.2049731183rem + 13.9784946237vw, 4.5625rem);
  }
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
  #footer .footer-link a {
    height: clamp(2.90625rem, 0.3617647059rem + 5.2941176471vw, 3.75rem);
  }
}
@media screen and (max-width: 768px) {
  #footer .footer-link a {
    background-image: url(../../images/footer-link_sp.png);
    width: 100%;
    max-width: 329px;
    height: 60px;
  }
  #footer .footer-link a:nth-child(n+2) {
    margin-top: 12px;
  }
}
#footer .footer-link a .box-normal {
  height: 100%;
  width: 100%;
}
#footer .footer-link a .box-normal .box-body-wrap {
  height: 100%;
  width: 100%;
}
#footer .footer-link a .box-normal .box-body-wrap .box-body {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}
#footer .footer-link a .box-normal .box-body-wrap .box-body span {
  color: var(--wh, #fff);
  text-align: center;
  font-feature-settings: "palt" on;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.48px;
  position: relative;
  top: -6px;
}
@media screen and (max-width: 768px) {
  #footer .footer-link a .box-normal .box-body-wrap .box-body span {
    letter-spacing: 1.8px;
    font-size: 18px;
    line-height: 1;
  }
}
#footer .footer-link a.icon_dl .box-body span {
  padding-right: 38px;
  position: relative;
}
#footer .footer-link a.icon_dl .box-body span::before {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../../images/icon_dl.svg);
  top: 0;
  right: 0;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 768px) {
  #footer .footer-link a.icon_dl .box-body span::before {
    top: calc(0vw - clamp(0.1875rem, 0.0000000155rem + 0.7614212567vw, 0.3654822188rem));
    right: 0;
    width: 24px;
    height: 24px;
  }
}
#footer .footer-txt {
  color: #433D2A;
  text-align: center;
  font-size: 29px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4; /* 40.6px */
  margin-top: 41px;
}
@media screen and (max-width: 768px) {
  #footer .footer-txt {
    font-size: 18px;
    margin-top: 20px;
  }
}
#footer .footer-banner {
  text-align: center;
  margin-top: 16px;
  display: flex;
  gap: 0 32px;
}
@media screen and (max-width: 768px) {
  #footer .footer-banner {
    margin-top: 7px;
    flex-direction: column;
    gap: 0;
  }
  #footer .footer-banner.sp-gap {
    margin-top: 32px;
  }
}
#footer .footer-banner a {
  width: calc(50% - 16px);
}
@media screen and (max-width: 768px) {
  #footer .footer-banner a {
    width: 100%;
  }
  #footer .footer-banner a:nth-child(n+2) {
    margin-top: 25px;
  }
}
#footer .footer-company {
  width: 100%;
  max-width: 736px;
  margin: 23px auto 0;
}
@media screen and (max-width: 768px) {
  #footer .footer-company {
    width: 100%;
    max-width: inherit;
    margin-top: 7px;
  }
}
#footer .footer-company span:nth-child(1) {
  width: 55%;
}
@media screen and (max-width: 768px) {
  #footer .footer-company span:nth-child(1) {
    width: 143px;
  }
}
#footer .footer-company span:nth-child(2) {
  width: 45%;
}
@media screen and (max-width: 768px) {
  #footer .footer-company span:nth-child(2) {
    width: 121px;
  }
}
#footer .footer-company + h4 {
  margin-top: 23px;
}
@media screen and (max-width: 768px) {
  #footer .footer-company + h4 {
    margin-top: 16px;
  }
}
#footer .footer-company2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 32px;
  margin-top: 48px;
}
@media screen and (max-width: 768px) {
  #footer .footer-company2 {
    gap: 0 10px;
    margin-top: 24px;
  }
}
#footer .footer-company2 a,
#footer .footer-company2 span {
  width: 177px;
}
@media screen and (max-width: 768px) {
  #footer .footer-company2 a,
  #footer .footer-company2 span {
    width: 33.333%;
  }
}
#footer .footer-company2 + h4 {
  margin-top: 24px;
}
#footer h4 {
  text-align: center;
  color: var(--wh, #433D2A);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1; /* 22.4px */
}
@media screen and (max-width: 768px) {
  #footer h4 {
    color: var(--wh, #433D2A);
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 19.6px */
    font-size: clamp(1rem, 0.0000000829rem + 4.060913369vw, 1.9492385rem);
  }
}
#footer .share {
  margin-top: 21px;
}
@media screen and (max-width: 768px) {
  #footer .share {
    margin-top: 7px;
  }
}
#footer .share li {
  margin: 0 6px;
}
#footer .share li a {
  border-radius: 48px;
  background: var(--gold02, #174c76);
  display: flex;
}
#footer .share li a img {
  width: 48px;
  height: 48px;
}
#footer .privacy-link {
  text-align: center;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  #footer .privacy-link {
    margin-top: 5px;
  }
}
#footer .privacy-link a {
  color: var(--wh, #433D2A);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 22.4px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media screen and (max-width: 768px) {
  #footer .privacy-link a {
    color: var(--wh, #433D2A);
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 19.6px */
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
    font-size: 14px;
    font-size: clamp(0.875rem, 0.0000000725rem + 3.5532991979vw, 1.7055836875rem);
  }
}
#footer .footer-copyright {
  text-align: center;
  margin-top: 21px;
}
@media screen and (max-width: 768px) {
  #footer .footer-copyright {
    margin-top: 23px;
  }
}
#footer .footer-copyright .inner {
  max-width: inherit;
}
#footer .footer-copyright .inner small {
  color: #433D2A;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  #footer .footer-copyright .inner small {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  #footer .footer-copyright .inner small {
    color: var(--wh, #433D2A);
    text-align: center;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
    display: block;
    font-size: 12px;
    font-size: clamp(0.75rem, 0.0000000622rem + 3.0456850267vw, 1.461928875rem);
  }
}
#footer .footer-copyright .inner ul {
  margin-top: 7px;
}
@media screen and (max-width: 768px) {
  #footer .footer-copyright .inner ul {
    margin-top: -1px;
  }
}
#footer .footer-copyright .inner ul li {
  color: #433D2A;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  #footer .footer-copyright .inner ul li {
    font-size: clamp(0.75rem, 0.0000000622rem + 3.0456850267vw, 1.461928875rem);
  }
}
#footer .footer-copyright .inner ul li:nth-child(n+2) {
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  #footer .footer-copyright .inner ul li:nth-child(n+2) {
    margin-top: clamp(0.1875rem, 0.0000000155rem + 0.7614212567vw, 0.3654822188rem);
  }
}

/*共通ヘッダー*/
#common {
  /* header */
}
#common header {
  position: fixed;
  top: 0;
  display: flex;
  width: 100%;
  height: 80px;
  border-bottom: 1px solid #e6e6e6;
  padding: 16px;
  box-sizing: border-box;
  justify-content: space-between;
  background-color: #fff;
  z-index: 100;
}
#common header h1 img {
  width: 78px;
  height: 48px;
}
#common {
  /* lang-select */
}
#common .lang-select {
  font-size: 12px;
  font-family: "Noto Sans", "Noto Sans SC", "Noto Sans TC", "Noto Sans KR", sans-serif;
  text-align: center;
  cursor: pointer;
  z-index: 100;
  font-weight: 400;
  line-height: 36px;
}
#common .lang-on {
  position: relative;
  width: 110px;
  height: 36px;
  padding-left: 9px;
  line-height: 34px;
  color: #000000;
  background: rgb(255, 255, 255);
  border: 1px solid #e6e6e6;
  border-radius: 48px;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  box-sizing: border-box;
  margin-top: 6px;
}
#common .lang-on::before {
  position: absolute;
  content: "";
  width: 18px;
  height: 18px;
  top: 50%;
  left: 10px;
  background: url(../../common/images/logo/icon_world.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
}
#common .lang-on::after {
  position: absolute;
  content: "";
  width: 9px;
  height: 6px;
  top: 50%;
  right: 12px;
  background: url(../../common/images/logo/lang-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
}
#common .lang-list {
  display: none;
  width: 100px;
  height: auto;
  margin: 0 0 0 auto;
  background: rgba(36, 36, 36, 0.6);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  border-radius: 16px;
}
#common .lang-list li a {
  display: inline-block;
  padding: 10px 0;
  transition: all 0.3s;
  font-weight: 500;
  color: #fff;
}
#common .lang-list li a:hover {
  color: #fff;
}
#common .lang-list li {
  transition: all 0.3s;
}
#common .lang-list li:hover {
  background: rgba(19, 19, 19, 0.284);
}
#common {
  /* lang-select */
  /* sns */
}
#common .sns-content {
  width: 100%;
  margin: 0 auto 24px;
}
#common .sns-list {
  display: flex;
  width: 62%;
  max-width: 312px;
  justify-content: space-between;
  margin: 0 auto;
  column-gap: 10px;
}
#common .sns-list li {
  width: auto;
  height: auto;
  transition: all 0.3s ease-out;
}
#common .sns-list li:hover {
  transform: scale(1.2);
}
@media screen and (min-width: 751px) {
  #common header {
    height: 64px;
    padding: 12px 16px;
  }
  #common header h1 img {
    width: 65px;
    height: 40px;
  }
  #common {
    /* header sns */
  }
  #common .sns-content {
    margin: 0;
  }
  #common header .sns-list {
    width: 180px;
    margin: 0 0 0 auto;
  }
  #common header .sns-list li {
    width: 36px;
    height: 36px;
    margin-top: 2px;
  }
  #common .lang-on {
    margin: 2px 0 0 24px;
  }
}
@media screen and (max-width: 750px) {
  #common .sns-content {
    display: none;
  }
}

/* 各言語対応 */
.en #MV-wrap #mv .area-wrap .mv-title-area .release-date .top span.ls-s2,
.en #MV-wrap #mv .area-wrap .mv-title-area .release-date .bottom span.ls-s2 {
  letter-spacing: -0.2272727273em;
}
@media screen and (max-width: 768px) {
  .en #characters .characters-wrap .characters-swiper .virtual-slide-wide {
    height: clamp(29.6875rem, -1.9167780749rem + 128.3422459893vw, 59.6875rem);
  }
}

.zh-CN {
  font-family: "Noto Sans SC", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}/*# sourceMappingURL=style.css.map */