/* =========================================================
consol log
========================================================= */
/* =========================================================
body
========================================================= */
body {
  background: #fff;
  color: #2B2B2B;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  word-break: break-word;
}

input, button, textarea, select {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  box-sizing: border-box;
  outline: none;
}

* {
  letter-spacing: 0.04em;
}

*:before, *:after {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

a[href*="tel:"] {
  text-decoration: underline;
}

@media (hover: hover) {
  a[href*="tel:"] {
    text-decoration: none;
    pointer-events: none;
  }
}
@media (width <= 768px) {
  .pc-br {
    display: none;
  }
}
@media (769px <= width) {
  .sp-br {
    display: none;
  }
}
@container (width <= 768px) {
  .cont-pc-br {
    display: none;
  }
}
@container (769px <= width) {
  .cont-sp-br {
    display: none;
  }
}
@media (width <= 768px) {
  .pc-disp {
    display: none !important;
  }
}
@media (769px <= width) {
  .sp-disp {
    display: none !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .opacity-link {
    transition: opacity 0.2s ease;
  }

  .opacity-link:hover {
    opacity: 0.4;
  }
}
.txt-link {
  text-decoration: underline;
}

@media (hover: hover) {
  .txt-link:hover {
    text-decoration: none;
  }
}
.external-link::after {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-left: 0.5em;
  background: #2B2B2B;
  -webkit-mask: url(../images/common/ico_external.svg) no-repeat center/contain;
          mask: url(../images/common/ico_external.svg) no-repeat center/contain;
  transform: translateY(0.1em);
}

.wrapper {
  min-width: 320px;
  overflow: clip;
}

.main-cont {
  position: relative;
}

@media (width <= 768px) {
  .main-cont {
    padding-bottom: 60px;
  }
}
@media (769px <= width) {
  .main-cont {
    padding-bottom: 120px;
  }
}
body.is-appview .c-page-hd,
body.is-appview .c-breadcrumb {
  display: none;
}

.safari-status-bars,
.safari-tab-bars {
  display: none;
}

body.is-safari .safari-status-bars {
  display: block;
  width: 100%;
  height: 5px;
  background: #000;
  mix-blend-mode: lighten;
  position: fixed;
  top: 0;
  pointer-events: none;
}

body.is-safari .safari-tab-bars {
  display: block;
  width: 100%;
  height: 4px;
  background: #000;
  mix-blend-mode: lighten;
  position: fixed;
  bottom: 0;
  pointer-events: none;
}

.wf-loading {
  opacity: 0;
}

.wf-loading:has(.splash.is-active) {
  opacity: 1;
}

/* =========================================================
common parts
========================================================= */
/*------------------------------------------
title
------------------------------------------*/
.c-ttl01 {
  text-align: center;
}

.c-ttl01__en {
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
}

@media (width <= 768px) {
  .c-ttl01__en {
    font-size: clamp(1px, 8vw, 30px);
  }
}
@media (769px <= width) {
  .c-ttl01__en {
    font-size: clamp(1px, 3.28vw, 42px);
  }
}
.c-ttl01__ja {
  margin: 15px auto 0;
  line-height: 1.2;
}

@media (width <= 768px) {
  .c-ttl01__ja {
    font-size: clamp(1px, 3.46vw, 13px);
  }
}
@media (769px <= width) {
  .c-ttl01__ja {
    font-size: clamp(1px, 1.17vw, 15px);
  }
}
.c-ttl02 {
  border-bottom: 1px solid #2B2B2B;
  line-height: 1.5;
  font-weight: 700;
}

@media (width <= 768px) {
  .c-ttl02 {
    padding: 0 0 10px;
    font-size: 15px;
  }
}
@media (769px <= width) {
  .c-ttl02 {
    padding: 0 0 15px;
    font-size: 18px;
  }
}
/*------------------------------------------
button
------------------------------------------*/
@media (width <= 768px) {
  .c-btn01 {
    width: 210px;
  }
}
@media (769px <= width) {
  .c-btn01 {
    width: 282px;
  }
}
.c-btn01 a,
.c-btn01 button {
  display: block;
  width: 100%;
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  border-bottom: 1px solid #2B2B2B;
  text-align: center;
  position: relative;
}

@media (width <= 768px) {
  .c-btn01 a,
.c-btn01 button {
    padding: 0 0 20px;
    font-size: 14px;
    line-height: 1.71;
  }
}
@media (769px <= width) {
  .c-btn01 a,
.c-btn01 button {
    padding: 0 0 25px;
    font-size: 17px;
    line-height: 1.41;
  }
}
.c-btn01 .arrow {
  display: block;
  aspect-ratio: 5/2;
  display: block;
  overflow: hidden;
  position: absolute;
  right: 15px;
  transform: translateY(-50%);
}

.c-btn01 .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
}

@media (width <= 768px) {
  .c-btn01 .arrow {
    width: 16px;
    top: calc(50% - 10px);
  }
}
@media (769px <= width) {
  .c-btn01 .arrow {
    width: 22px;
    top: calc(50% - 12px);
  }
}
.c-btn01 .arrow::before {
  background: #2B2B2B;
  transition: background 0.2s ease;
}

.c-btn01.white a,
.c-btn01.white button {
  border-color: #fff;
  color: #fff;
}

.c-btn01.white .arrow::before {
  background: #fff;
}

.c-btn01.down .arrow {
  transform: rotate(90deg) translateY(-50%);
}

@media (width <= 768px) {
  .c-btn01.down .arrow {
    top: calc(50% - 15px);
  }
}
@media (769px <= width) {
  .c-btn01.down .arrow {
    top: calc(50% - 18px);
  }
}
@media (hover: hover) {
  .c-btn01 a:hover .arrow::before,
.c-btn01 button:hover .arrow::before {
    background: #00FF64;
    animation: c-arrow-1st 0.2s linear, c-arrow-2nd 0.2s linear 0.2s;
  }
}
[class*=c-btn02] a,
[class*=c-btn02] button {
  width: 100%;
  display: block;
  border-bottom: 1px solid #E5E5E5;
  line-height: 1.3;
  text-align: center;
}

@media (width <= 768px) {
  [class*=c-btn02] a,
[class*=c-btn02] button {
    padding: 0 0 20px;
  }
}
@media (769px <= width) {
  [class*=c-btn02] a,
[class*=c-btn02] button {
    padding: 0 0 24px;
  }
}
@media (hover: hover) {
  [class*=c-btn02] a,
[class*=c-btn02] button {
    transition: border-color 0.2s ease;
  }

  [class*=c-btn02] a:hover,
[class*=c-btn02] button:hover {
    border-color: #2B2B2B;
  }
}
@media (width <= 768px) {
  .c-btn02--ja a {
    font-size: clamp(1px, 3.46vw, 13px);
  }
}
@media (769px <= width) {
  .c-btn02--ja a {
    font-size: 15px;
  }
}
[class*=c-btn03] a {
  border: 1px solid #2B2B2B;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

[class*=c-btn03] .arrow {
  display: block;
  aspect-ratio: 5/2;
  display: block;
  overflow: hidden;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}

[class*=c-btn03] .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
}

@media (width <= 768px) {
  [class*=c-btn03] .arrow {
    width: 15px;
    height: 6px;
  }
}
@media (769px <= width) {
  [class*=c-btn03] .arrow {
    width: 20px;
    height: 8px;
  }
}
[class*=c-btn03] .arrow::before {
  background: #2B2B2B;
}

[class*=c-btn03] .external {
  display: block;
  width: 12px;
  height: 12px;
  -webkit-mask: url(../images/common/ico_external.svg) no-repeat center/contain;
          mask: url(../images/common/ico_external.svg) no-repeat center/contain;
  background: #2B2B2B;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  transition: background 0.2s ease;
}

[class*=c-btn03].white a {
  border-color: #fff;
  color: #fff;
}

[class*=c-btn03].white .arrow::before {
  background: #fff;
}

[class*=c-btn03].white .external {
  background: #fff;
}

@media (hover: hover) {
  [class*=c-btn03] a:hover .arrow::before {
    animation: c-arrow-1st 0.2s linear, c-arrow-2nd 0.2s linear 0.2s;
  }

  [class*=c-btn03] a:hover .external {
    background: #00FF64;
  }
}
.c-btn03--en a {
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
}

@media (width <= 768px) {
  .c-btn03--en a {
    font-size: clamp(1px, 3.46vw, 13px);
  }
}
@media (769px <= width) {
  .c-btn03--en a {
    font-size: 16px;
  }
}
/*------------------------------------------
image
------------------------------------------*/
.c-img01 {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.c-img01__top {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.c-img01__bottom {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  filter: blur(30px);
}

.c-img02 {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.c-img02::before {
  content: "";
  width: 100%;
  height: 100%;
  backdrop-filter: blur(40px);
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.c-img02__top {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}

.c-img02__bottom {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/*------------------------------------------
tag
------------------------------------------*/
.c-tag01 {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
}

@media (width <= 768px) {
  .c-tag01 {
    padding: 3px;
    font-size: 10px;
  }
}
@media (769px <= width) {
  .c-tag01 {
    padding: 3px 6px;
    font-size: 13px;
  }
}
.c-tag01.green {
  background: #00FF64;
}

.c-tag01.gray {
  background: #606060;
  color: #fff;
}

.c-tag02 {
  width: -moz-fit-content;
  width: fit-content;
  background: #EAEAEA;
  color: #8C8C8C;
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
}

@media (width <= 768px) {
  .c-tag02 {
    padding: 4px;
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-tag02 {
    padding: 3px 6px;
    font-size: 14px;
  }
}
/*------------------------------------------
check box
------------------------------------------*/
.c-checkbox input[type=checkbox] {
  display: none;
}

.c-checkbox label {
  display: inline-flex;
  line-height: 1.6;
  gap: 5px;
  cursor: pointer;
}

@media (width <= 768px) {
  .c-checkbox label {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-checkbox label {
    font-size: 14px;
  }
}
.c-checkbox__ico {
  width: 1.3em;
  height: 1.3em;
  border: 1px solid #E5E5E5;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(0.15em);
}

.c-checkbox__ico::before {
  content: "";
  width: 55%;
  height: 55%;
  -webkit-mask: url(../images/common/ico_check.svg) no-repeat center/contain;
          mask: url(../images/common/ico_check.svg) no-repeat center/contain;
  background: #fff;
}

.c-checkbox__txt {
  flex: 1;
}

.c-checkbox input:checked + .c-checkbox__ico {
  background: #2B2B2B;
}

/*------------------------------------------
card
------------------------------------------*/
.c-card01 a {
  display: block;
}

.c-card01__img {
  aspect-ratio: 1/1;
  overflow: hidden;
}

.c-card01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (width <= 768px) {
  .c-card01__detail {
    margin: 13px auto 0;
    padding: 0 5px;
  }
}
@media (769px <= width) {
  .c-card01__detail {
    margin: 18px auto 0;
    padding: 0 8px;
  }
}
@media (width <= 768px) {
  .c-card01__txt01 {
    font-size: 14px;
    line-height: 1.42;
  }
}
@media (769px <= width) {
  .c-card01__txt01 {
    font-size: 15px;
    line-height: 1.33;
  }
}
@media (hover: hover) {
  .c-card01 .c-card01__img img {
    transition: transform 0.2s ease;
  }

  .c-card01 .c-card01__detail {
    transition: opacity 0.2s ease;
  }

  .c-card01:hover .c-card01__img img {
    transform: scale(1.05);
  }

  .c-card01:hover .c-card01__detail {
    opacity: 0.4;
  }
}
.c-card02 a {
  display: block;
}

.c-card02 .c-img01 {
  aspect-ratio: 1/1;
}

.c-card02__img {
  aspect-ratio: 1/1;
  overflow: hidden;
}

.c-card02__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (width <= 768px) {
  .c-card02__detail {
    margin: 14px auto 0;
    padding: 0 10px;
  }
}
@media (769px <= width) {
  .c-card02__detail {
    margin: 20px auto 0;
  }
}
@media (width <= 768px) {
  .c-card02__detail > * + * {
    margin: 14px auto 0;
  }
}
@media (769px <= width) {
  .c-card02__detail > * + * {
    margin: 18px auto 0;
  }
}
.c-card02__wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

@media (width <= 768px) {
  .c-card02__wrap {
    gap: 8px 6px;
  }
}
@media (769px <= width) {
  .c-card02__wrap {
    gap: 8px;
  }
}
.c-card02__date {
  color: #8C8C8C;
  line-height: 1;
  letter-spacing: 0.01em;
}

@media (width <= 768px) {
  .c-card02__date {
    font-size: 10px;
  }
}
@media (769px <= width) {
  .c-card02__date {
    font-size: 12px;
  }
}
@media (width <= 768px) {
  .c-card02__txt01 {
    font-size: 13px;
    line-height: 1.38;
  }
}
@media (769px <= width) {
  .c-card02__txt01 {
    font-size: 15px;
    line-height: 1.2;
  }
}
.c-card02__txt02 {
  color: #8C8C8C;
  line-height: 1.4;
}

@media (width <= 768px) {
  .c-card02__txt02 {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-card02__txt02 {
    font-size: 13px;
  }
}
.c-card02 .c-tag02 {
  margin: 14px 0 0;
}

@media (hover: hover) {
  .c-card02 .c-card02__img img {
    transition: transform 0.2s ease;
  }

  .c-card02 .c-card02__detail {
    transition: opacity 0.2s ease;
  }

  .c-card02:hover .c-card02__img img {
    transform: scale(1.05);
  }

  .c-card02:hover .c-card02__detail {
    opacity: 0.4;
  }
}
.c-card03 a {
  display: block;
}

.c-card03__img {
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative;
}

.c-card03__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-card03__tag {
  background: #606060;
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #fff;
  line-height: 1;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media (width <= 768px) {
  .c-card03__tag {
    padding: 4px 8px;
    font-size: 13px;
  }
}
@media (769px <= width) {
  .c-card03__tag {
    padding: 7px 16px;
    font-size: 16px;
  }
}
@media (width <= 768px) {
  .c-card03__detail {
    margin: 20px auto 0;
    padding: 0 15px;
  }
}
@media (769px <= width) {
  .c-card03__detail {
    margin: 20px auto 0;
  }
}
@media (width <= 768px) {
  .c-card03__detail > * + * {
    margin: 15px auto 0;
  }
}
@media (769px <= width) {
  .c-card03__detail > * + * {
    margin: 20px auto 0;
  }
}
.c-card03__txt01 {
  font-weight: 700;
}

@media (width <= 768px) {
  .c-card03__txt01 {
    font-size: 14px;
    line-height: 1.57;
  }
}
@media (769px <= width) {
  .c-card03__txt01 {
    font-size: 15px;
    line-height: 1.46;
  }
}
@media (width <= 768px) {
  .c-card03__txt01 + * {
    margin: 8px auto 0;
  }
}
@media (769px <= width) {
  .c-card03__txt01 + * {
    margin: 10px auto 0;
  }
}
.c-card03__txt02 {
  color: #8C8C8C;
  line-height: 1.57;
  font-size: 12px;
}

.c-card03__txt03 {
  color: #8C8C8C;
  line-height: 1.45;
}

@media (width <= 768px) {
  .c-card03__txt03 {
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-card03__txt03 {
    font-size: 12px;
  }
}
@media (hover: hover) {
  .c-card03 .c-card03__img img {
    transition: transform 0.2s ease;
  }

  .c-card03 .c-card03__detail {
    transition: opacity 0.2s ease;
  }

  .c-card03:hover .c-card03__img img {
    transform: scale(1.05);
  }

  .c-card03:hover .c-card03__detail {
    opacity: 0.4;
  }
}
.c-card04 a {
  height: 100%;
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid #E5E5E5;
}

@media (width <= 768px) {
  .c-card04 a {
    padding: 40px 20px;
    gap: 20px;
  }
}
@media (769px <= width) {
  .c-card04 a {
    padding: 50px 0;
    gap: 30px;
  }
}
@media (hover: hover) {
  .c-card04 a {
    transition: border-color 0.2s ease;
  }

  .c-card04 a:hover {
    border-color: #2B2B2B;
  }
}
.c-card04__img {
  aspect-ratio: 1/1;
  border: 1px solid #E5E5E5;
}

@media (width <= 768px) {
  .c-card04__img {
    width: 84px;
  }
}
@media (769px <= width) {
  .c-card04__img {
    width: 120px;
  }
}
.c-card04__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-card04__detail {
  flex: 1;
  position: relative;
}

.c-card04__wrap {
  display: flex;
  align-items: flex-start;
}

@media (width <= 768px) {
  .c-card04__wrap {
    gap: 23px;
  }
}
@media (769px <= width) {
  .c-card04__wrap {
    gap: 35px;
  }
}
.c-card04__wrap .c-card04__txt01 {
  flex: 1;
}

.c-card04__wrap + [class*=c-card04__txt] {
  margin: 5px auto 0;
}

.c-card04__label {
  background: #606060;
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  .c-card04__label {
    min-width: 40px;
    padding: 2px 5px;
    font-size: 13px;
  }
}
@media (769px <= width) {
  .c-card04__label {
    min-width: 45px;
    padding: 4px 5px;
    font-size: 16px;
  }
}
[class*=c-card04__txt] + [class*=c-card04__txt] {
  margin: 15px auto 0;
}

.c-card04__txt01 {
  line-height: 1.6;
  font-weight: 700;
}

@media (width <= 768px) {
  .c-card04__txt01 {
    font-size: 13px;
  }
}
@media (769px <= width) {
  .c-card04__txt01 {
    font-size: 15px;
  }
}
.c-card04__txt02 {
  color: #8C8C8C;
  line-height: 1.6;
}

@media (width <= 768px) {
  .c-card04__txt02 {
    font-size: 10px;
  }
}
@media (769px <= width) {
  .c-card04__txt02 {
    font-size: 12px;
  }
}
.c-card04__txt03 {
  color: #8C8C8C;
  line-height: 1.6;
}

@media (width <= 768px) {
  .c-card04__txt03 {
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-card04__txt03 {
    font-size: 12px;
  }
}
@media (width <= 768px) {
  .c-card05 > * + * {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .c-card05 > * + * {
    margin: 25px auto 0;
  }
}
.c-card05__img {
  aspect-ratio: 1/1;
  position: relative;
}

.c-card05__tag {
  background: #606060;
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: #fff;
  line-height: 1;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media (width <= 768px) {
  .c-card05__tag {
    min-width: 40px;
    padding: 3px;
    font-size: 13px;
  }
}
@media (769px <= width) {
  .c-card05__tag {
    min-width: 50px;
    padding: 5px;
    font-size: 16px;
  }
}
.c-card05__txt01 {
  font-weight: bold;
}

@media (width <= 768px) {
  .c-card05__txt01 {
    font-size: 13px;
    line-height: 1.92;
  }
}
@media (769px <= width) {
  .c-card05__txt01 {
    font-size: 15px;
    line-height: 1.73;
  }
}
.c-card05__box {
  border-top: 1px solid #E5E5E5;
}

@media (width <= 768px) {
  .c-card05__box {
    padding: 20px 0 0;
  }
}
@media (769px <= width) {
  .c-card05__box {
    padding: 25px 0 0;
  }
}
@media (width <= 768px) {
  .c-card05__box > * + * {
    margin: 12px auto 0;
  }
}
@media (769px <= width) {
  .c-card05__box > * + * {
    margin: 14px auto 0;
  }
}
.c-card05__box .txt01 {
  line-height: 1.57;
}

@media (width <= 768px) {
  .c-card05__box .txt01 {
    font-size: 14px;
  }
}
@media (769px <= width) {
  .c-card05__box .txt01 {
    font-size: 15px;
  }
}
.c-card05__box .txt02 {
  color: #8C8C8C;
  font-size: 12px;
  line-height: 1.57;
  letter-spacing: 0.01em;
}

@media (769px <= width) {
  .c-card05__box .txt02.fwB + .txt02 {
    margin: 24px auto 0;
  }
}
@media (1025px <= width) {
  .c-card06 {
    display: grid;
    grid-template-columns: 1fr 280px;
    grid-template-rows: max-content 1fr;
    grid-template-areas: "head head" "top bottom";
    gap: 35px clamp(1px, 5.46vw, 70px);
  }
}
@media (width <= 768px) {
  .c-card06__top {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .c-card06__top {
    margin: 30px auto 0;
  }
}
@media (1025px <= width) {
  .c-card06__top {
    grid-area: top;
  }
}
@media (1025px <= width) {
  .c-card06__bottom {
    grid-area: bottom;
  }
}
.c-card06__head {
  font-weight: 700;
}

@media (width <= 768px) {
  .c-card06__head {
    font-size: 14px;
    line-height: 1.78;
  }
}
@media (769px <= width) {
  .c-card06__head {
    font-size: 16px;
    line-height: 1.87;
  }
}
@media (1025px <= width) {
  .c-card06__head {
    grid-area: head;
  }
}
.c-card06__list {
  display: grid;
  gap: 25px 0;
}

@media (width <= 768px) {
  .c-card06__list {
    grid-template-columns: 85px 1fr;
  }
}
@media (769px <= width) {
  .c-card06__list {
    grid-template-columns: 140px 1fr;
  }
}
.c-card06__list > * {
  padding: 0 0 25px;
  border-bottom: 1px solid #E5E5E5;
}

.c-card06__list dt {
  padding-right: 1em;
  color: #8C8C8C;
  font-weight: 500;
}

@media (width <= 768px) {
  .c-card06__list dt {
    font-size: 12px;
    line-height: 1.83;
  }
}
@media (769px <= width) {
  .c-card06__list dt {
    font-size: 15px;
    line-height: 1.46;
  }
}
@media (width <= 768px) {
  .c-card06__list dd {
    font-size: 13px;
    line-height: 1.53;
  }
}
@media (769px <= width) {
  .c-card06__list dd {
    font-size: 15px;
    line-height: 1.46;
  }
}
.c-card06 [class*=c-btn03] {
  max-width: clamp(1px, 67.2vw, 280px) !important;
}

/*------------------------------------------
icon
------------------------------------------*/
.c-ico--floor {
  aspect-ratio: 24/20;
  -webkit-mask: url(../images/common/ico_floor.svg) no-repeat center/contain;
          mask: url(../images/common/ico_floor.svg) no-repeat center/contain;
}

.c-ico--restaurant {
  aspect-ratio: 14/22;
  -webkit-mask: url(../images/common/ico_restaurant.svg) no-repeat center/contain;
          mask: url(../images/common/ico_restaurant.svg) no-repeat center/contain;
}

.c-ico--hour {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ico_hour.svg) no-repeat center/contain;
          mask: url(../images/common/ico_hour.svg) no-repeat center/contain;
}

.c-ico--event {
  aspect-ratio: 21/20;
  -webkit-mask: url(../images/common/ico_event.svg) no-repeat center/contain;
          mask: url(../images/common/ico_event.svg) no-repeat center/contain;
}

.c-ico--info {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ico_info.svg) no-repeat center/contain;
          mask: url(../images/common/ico_info.svg) no-repeat center/contain;
}

.c-ico--access {
  aspect-ratio: 30/18;
  -webkit-mask: url(../images/common/ico_access.svg) no-repeat center/contain;
          mask: url(../images/common/ico_access.svg) no-repeat center/contain;
}

.c-ico--app {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ico_app.svg) no-repeat center/contain;
          mask: url(../images/common/ico_app.svg) no-repeat center/contain;
}

.c-ico--haera {
  aspect-ratio: 29/9;
  -webkit-mask: url(../images/common/logo.svg) no-repeat center/contain;
          mask: url(../images/common/logo.svg) no-repeat center/contain;
}

.c-ico--recruit {
  aspect-ratio: 21/23;
  -webkit-mask: url(../images/common/ico_recruit.svg) no-repeat center/contain;
          mask: url(../images/common/ico_recruit.svg) no-repeat center/contain;
}

.c-ico--ig {
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ico_ig.svg) no-repeat center/contain;
          mask: url(../images/common/ico_ig.svg) no-repeat center/contain;
}

/*------------------------------------------
animation
------------------------------------------*/
@keyframes c-arrow-1st {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes c-arrow-2nd {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
/* =========================================================
common layout
========================================================= */
/*------------------------------------------
section
------------------------------------------*/
@media (width <= 768px) {
  .c-sec01 {
    padding: 0 5.55%;
  }
}
@media (769px <= width) {
  .c-sec01 {
    padding: 0 6.25vw;
  }
}
@media (width <= 768px) {
  .c-sec02 {
    padding: 0 5.55%;
  }
}
@media (769px <= width) {
  .c-sec02 {
    padding: 0 11.71vw;
  }
}
@media (width <= 768px) {
  .c-sec03 {
    padding: 0 5.55%;
  }
}
@media (769px <= width) {
  .c-sec03 {
    padding: 0 17.18vw;
  }
}
@media (width <= 768px) {
  .c-sec04 {
    padding: 0 8vw;
  }
}
@media (769px <= width) {
  .c-sec04 {
    padding: 0 18.35vw;
  }
}
/*------------------------------------------
layout
------------------------------------------*/
@media (769px <= width) {
  .c-layout01 {
    display: grid;
    grid-template-columns: clamp(1px, 24.21vw, 310px) 1fr;
    gap: clamp(1px, 3.12vw, 40px);
  }
}
.c-layout01__list {
  padding: 50px 0 0;
  position: sticky;
  top: 90px;
}

@media (width <= 768px) {
  .c-layout01__list {
    display: none;
  }
}
.c-layout01__item + .c-layout01__item {
  margin: 20px auto 0;
}

.c-layout01__item a {
  font-size: 14px;
  line-height: 1.42;
  color: #8C8C8C;
}

.c-layout01__item.is-current a {
  color: #2B2B2B;
}

.c-layout01__main {
  container-type: inline-size;
}

/*------------------------------------------
head
------------------------------------------*/
.c-page-hd {
  background: #2B2B2B;
  color: #fff;
  text-align: center;
}

@media (width <= 768px) {
  .c-page-hd {
    padding: 15px 5.55% 13px;
  }
}
@media (769px <= width) {
  .c-page-hd {
    padding: 25px 6.25vw 22px;
  }
}
.c-page-hd__en {
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
}

@media (width <= 768px) {
  .c-page-hd__en {
    font-size: clamp(1px, 5.33vw, 20px);
  }
}
@media (769px <= width) {
  .c-page-hd__en {
    font-size: 24px;
  }
}
.c-page-hd__ja {
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-page-hd__ja {
    margin: 2px auto 0;
    font-size: clamp(1px, 2.93vw, 11px);
  }
}
@media (769px <= width) {
  .c-page-hd__ja {
    margin: 4px auto 0;
    font-size: 12px;
  }
}
/*------------------------------------------
column
------------------------------------------*/
.c-col2-4 {
  display: grid;
}

@media (width <= 768px) {
  .c-col2-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 20px;
  }
}
@media (769px <= width) {
  .c-col2-4 {
    gap: 50px clamp(1px, 2.18vw, 28px);
  }
}
@media (769px <= width <= 1024px) {
  .c-col2-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (1025px <= width) {
  .c-col2-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.c-col1-3 {
  display: grid;
}

@media (width <= 768px) {
  .c-col1-3 {
    gap: 50px;
  }
}
@media (769px <= width) {
  .c-col1-3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 60px clamp(1px, 4.84vw, 62px);
  }
}
.c-col2-3 {
  display: grid;
}

@media (width <= 768px) {
  .c-col2-3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 3px;
  }
}
@media (769px <= width) {
  .c-col2-3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 80px clamp(1px, 2.5vw, 32px);
  }
}
.c-col1-2 {
  display: grid;
}

@media (width <= 768px) {
  .c-col1-2 {
    gap: 50px;
  }
}
@media (769px <= width) {
  .c-col1-2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 80px clamp(1px, 8.59vw, 110px);
  }
}
/*------------------------------------------
list
------------------------------------------*/
.c-list01__bundle {
  display: flex;
  border-bottom: 1px solid #E5E5E5;
}

@media (width <= 768px) {
  .c-list01__bundle {
    padding: 25px 5.55%;
    gap: 15px;
  }
}
@media (769px <= width) {
  .c-list01__bundle {
    padding: 25px 0;
    gap: 20px;
  }
}
.c-list01 dt {
  color: #8C8C8C;
  line-height: 1.5;
}

@media (width <= 768px) {
  .c-list01 dt {
    width: 110px;
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-list01 dt {
    width: 190px;
    font-size: 15px;
  }
}
.c-list01 dd {
  flex: 1;
}

@media (width <= 768px) {
  .c-list01 dd {
    font-size: 13px;
    line-height: 1.53;
  }
}
@media (769px <= width) {
  .c-list01 dd {
    font-size: 15px;
    line-height: 1.46;
  }
}
.c-list01 dd > * + * {
  margin: 1em auto 0;
}

.c-list01 a:not([href*=tel]) {
  color: #8C8C8C;
  text-decoration: underline;
}

.c-list01 .small {
  color: #8C8C8C;
  font-size: 0.8em;
}

/*------------------------------------------
navigation
------------------------------------------*/
[class*=c-nav01__item] a,
[class*=c-nav01__item] span {
  aspect-ratio: 1/1;
  border: 1px solid #E5E5E5;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

[class*=c-nav01__item] a.is-current,
[class*=c-nav01__item] span.is-current {
  border-color: #2B2B2B;
}

[class*=c-nav01__item] span {
  color: #DBDBDB;
}

@media (hover: hover) {
  [class*=c-nav01__item] a {
    transition: border-color 0.2s ease;
  }

  [class*=c-nav01__item] a:hover {
    border-color: #2B2B2B;
  }
}
.c-nav01__item--en a {
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
}

/*------------------------------------------
telop
------------------------------------------*/
.c-telop {
  background: #2B2B2B;
  color: #fff;
}

@media (width <= 768px) {
  .c-telop {
    padding: 15px 5.06vw;
  }
}
@media (769px <= width) {
  .c-telop {
    padding: 20px 6.25vw;
  }
}
.c-telop__item + .c-telop__item {
  margin: 10px auto 0;
}

@media (769px <= width) {
  .c-telop__item {
    text-align: center;
  }
}
.c-telop a {
  position: relative;
}

@media (width <= 768px) {
  .c-telop a {
    display: block;
    padding: 0 20px 0 0;
  }
}
@media (769px <= width) {
  .c-telop a {
    text-decoration: underline;
  }
}
.c-telop a::after {
  width: 11px;
  height: 5px;
  -webkit-mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

@media (width <= 768px) {
  .c-telop a::after {
    content: "";
  }
}
@media (width <= 768px) {
  .c-telop span {
    display: inline-block;
    height: 1em;
    font-size: 10px;
    line-height: 1;
    overflow: hidden;
  }
}
@media (769px <= width) {
  .c-telop span {
    font-size: 12px;
    line-height: 1.2;
  }
}
/*------------------------------------------
language
------------------------------------------*/
.c-lang {
  position: relative;
  font-weight: 400;
}

.c-lang button {
  line-height: 1;
  display: flex;
  align-items: center;
}

@media (width <= 768px) {
  .c-lang button {
    font-size: 12px;
    gap: clamp(1px, 1.86vw, 7px);
  }
}
@media (769px <= width) {
  .c-lang button {
    font-size: 15px;
    gap: 10px;
  }
}
.c-lang button::after {
  content: "";
  aspect-ratio: 5/9;
  -webkit-mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
  background: #2B2B2B;
  transform: rotate(90deg);
}

@media (width <= 768px) {
  .c-lang button::after {
    width: 5px;
  }
}
@media (769px <= width) {
  .c-lang button::after {
    width: 6px;
  }
}
.c-lang button.is-open::after {
  transform: rotate(-90deg);
}

.c-lang__acc {
  position: absolute;
  right: 0;
}

@media (width <= 768px) {
  .c-lang__acc {
    top: calc(100% + 15px);
  }
}
@media (769px <= width) {
  .c-lang__acc {
    top: calc(100% + 18px);
  }
}
.c-lang__wrap {
  overflow: hidden;
}

@media (width <= 768px) {
  .c-lang__wrap {
    width: 100px;
  }
}
@media (769px <= width) {
  .c-lang__wrap {
    width: 120px;
  }
}
.c-lang__list {
  height: 100%;
  background: #333;
  color: #fff;
}

@media (width <= 768px) {
  .c-lang__list {
    padding: 2px 5px;
  }
}
@media (769px <= width) {
  .c-lang__list {
    padding: 2px 6px;
  }
}
.c-lang__item {
  border-bottom: 1px solid #4F4F4F;
}

.c-lang__item:last-child {
  border-bottom: none;
}

.c-lang__item a {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  .c-lang__item a {
    padding: 8px 0;
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-lang__item a {
    padding: 11px 0;
    font-size: 13px;
  }
}
/*------------------------------------------
breadcrumb
------------------------------------------*/
.c-breadcrumb {
  padding-top: 30px;
  padding-bottom: 30px;
}

.c-breadcrumb__item {
  display: inline;
  margin-right: 10px;
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-breadcrumb__item {
    font-size: 10px;
  }
}
@media (769px <= width) {
  .c-breadcrumb__item {
    font-size: 12px;
  }
}
.c-breadcrumb__item a {
  color: #8C8C8C;
}

.c-breadcrumb__item::after {
  content: "";
  display: inline-block;
  margin-left: 14px;
  background: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
  vertical-align: text-top;
}

@media (width <= 768px) {
  .c-breadcrumb__item::after {
    width: 5px;
    height: 9px;
  }
}
@media (769px <= width) {
  .c-breadcrumb__item::after {
    width: 6px;
    height: 12px;
  }
}
.c-breadcrumb__item:last-child {
  margin-right: 0;
}

.c-breadcrumb__item:last-child::after {
  content: none;
}

/*------------------------------------------
sns
------------------------------------------*/
.c-sns {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
}

.c-sns a {
  aspect-ratio: 1/1;
  display: block;
  width: 100%;
}

.c-sns__item--x a {
  -webkit-mask: url(../images/common/ico_x.svg) no-repeat center/80% 85%;
          mask: url(../images/common/ico_x.svg) no-repeat center/80% 85%;
}

.c-sns__item--ig a {
  -webkit-mask: url(../images/common/ico_ig.svg) no-repeat center/90% 90%;
          mask: url(../images/common/ico_ig.svg) no-repeat center/90% 90%;
}

.c-sns__item--line a {
  -webkit-mask: url(../images/common/ico_line.svg) no-repeat center/contain;
          mask: url(../images/common/ico_line.svg) no-repeat center/contain;
}

.c-sns__item--fb a {
  -webkit-mask: url(../images/common/ico_fb.svg) no-repeat center/contain;
          mask: url(../images/common/ico_fb.svg) no-repeat center/contain;
}

.c-sns__item--yt a {
  -webkit-mask: url(../images/common/ico_yt.svg) no-repeat center/contain;
          mask: url(../images/common/ico_yt.svg) no-repeat center/contain;
}

/*------------------------------------------
no item
------------------------------------------*/
.c-no-item {
  margin: 80px auto 0;
  line-height: 1.6;
  text-align: center;
}

@media (width <= 768px) {
  .c-no-item {
    font-size: 13px;
  }
}
@media (769px <= width) {
  .c-no-item {
    font-size: 15px;
  }
}
/*------------------------------------------
floor search
------------------------------------------*/
@media (width <= 768px) {
  .c-floor-search {
    padding-top: 40px;
  }
}
@media (769px <= width) {
  .c-floor-search {
    padding-top: 60px;
  }
}
.c-floor-search__input {
  max-width: 420px;
  height: 40px;
  margin: 0 auto;
  background: #F2F2F2;
  display: flex;
}

@media (width <= 768px) {
  .c-floor-search__input {
    font-size: 13px;
  }
}
@media (769px <= width) {
  .c-floor-search__input {
    font-size: 15px;
  }
}
.c-floor-search__input input[type=text] {
  padding: 0 15px;
  flex: 1;
}

.c-floor-search__input input[type=submit] {
  width: 40px;
  height: 40px;
  background: url(../images/common/ico_search.svg) no-repeat center/20px 20px;
}

@media (width <= 768px) {
  .c-floor-search__list {
    margin: 50px auto 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 18px;
  }
}
@media (769px <= width) {
  .c-floor-search__list {
    margin: 80px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
  }
}
@media (769px <= width) {
  .c-floor-search__list .c-btn02--ja {
    width: 255px;
  }
}
body.page-floor .c-floor-search__btn--floor a,
body.page-floor-detail .c-floor-search__btn--floor a,
body.page-shop-category .c-floor-search__btn--category a,
body.page-shop-alpha .c-floor-search__btn--alpha a,
body.page-shop-hiragana .c-floor-search__btn--hiragana a {
  border-color: #2B2B2B;
}

/*------------------------------------------
pict list
------------------------------------------*/
.c-pict {
  display: flex;
  flex-wrap: wrap;
}

@media (width <= 768px) {
  .c-pict {
    gap: 4px;
  }
}
@media (769px <= width) {
  .c-pict {
    gap: 10px;
  }
}
.c-pict__item {
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid #E5E5E5;
}

@media (width <= 768px) {
  .c-pict__item {
    height: 30px;
  }
}
@media (769px <= width) {
  .c-pict__item {
    height: 40px;
  }
}
.c-pict__item img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/*------------------------------------------
shop list
------------------------------------------*/
.c-shop-list {
  margin: 0 auto;
}

@media (769px <= width <= 1024px) {
  .c-shop-list {
    max-width: 680px;
  }
}
@media (1025px <= width) {
  .c-shop-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (1025px <= width) {
  .c-shop-list .c-card04:nth-child(odd) a {
    padding-right: 50px;
  }
}
@media (1025px <= width) {
  .c-shop-list .c-card04:nth-child(even) a {
    padding-left: 50px;
  }
}
/*------------------------------------------
article
------------------------------------------*/
@media (769px <= width <= 1024px) {
  .c-article01 {
    max-width: 630px;
    margin: 0 auto;
  }
}
@media (1025px <= width) {
  .c-article01 {
    display: grid;
    grid-template-columns: 1fr 49.21vw;
    gap: clamp(1px, 5.46vw, 70px);
  }
}
@media (width <= 768px) {
  .c-article01__head {
    padding: 0 5.55%;
  }
}
@media (1025px <= width) {
  .c-article01__head {
    height: -moz-fit-content;
    height: fit-content;
    padding: clamp(50px, 25vh, 200px) 0 0;
    position: sticky;
    top: 90px;
  }
}
@media (width <= 768px) {
  .c-article01__head + * {
    margin: 30px auto 0;
  }
}
@media (769px <= width <= 1024px) {
  .c-article01__head + * {
    margin: 50px auto 0;
  }
}
@media (width <= 768px) {
  .c-article01__head > * + * {
    margin: 10px auto 0;
  }
}
@media (769px <= width) {
  .c-article01__head > * + * {
    margin: 20px auto 0;
  }
}
.c-article01__tags {
  display: flex;
  flex-wrap: wrap;
}

@media (width <= 768px) {
  .c-article01__tags {
    gap: 4px;
  }
}
@media (769px <= width) {
  .c-article01__tags {
    gap: 10px;
  }
}
.c-article01__date {
  color: #8C8C8C;
  font-size: 12px;
  line-height: 1.66;
  letter-spacing: 0.01em;
}

.c-article01__ttl {
  font-weight: 700;
}

@media (width <= 768px) {
  .c-article01__ttl {
    margin: 20px auto 0;
    font-size: 15px;
    line-height: 1.46;
  }
}
@media (769px <= width) {
  .c-article01__ttl {
    margin: 30px auto 0;
    font-size: 22px;
    line-height: 1.36;
  }
}
@media (769px <= width) {
  .c-article01__ttl + * {
    margin: 30px auto 0;
  }
}
.c-article01__time, .c-article01__floor {
  color: #8C8C8C;
}

@media (width <= 768px) {
  .c-article01__time, .c-article01__floor {
    font-size: 12px;
    line-height: 1.66;
  }
}
@media (769px <= width) {
  .c-article01__time, .c-article01__floor {
    font-size: 14px;
    line-height: 1.57;
  }
}
.c-article01__img {
  aspect-ratio: 1/1;
}

@media (width <= 768px) {
  .c-article01__txt {
    margin: 40px auto 0;
    padding: 0 5.55%;
    font-size: 13px;
    line-height: 1.92;
  }
}
@media (769px <= width) {
  .c-article01__txt {
    margin: 60px auto 0;
    font-size: 15px;
    line-height: 2;
  }
}
.c-article01__txt h2 {
  display: block;
  border-bottom: 1px solid #2B2B2B;
  font-weight: 700;
  line-height: 1.6;
}

@media (width <= 768px) {
  .c-article01__txt h2 {
    padding: 0 0 5px;
    font-size: 15px !important;
  }
}
@media (769px <= width) {
  .c-article01__txt h2 {
    padding: 0 0 10px;
    font-size: 18px !important;
  }
}
.c-article01__txt h3 {
  line-height: 1.78;
  font-weight: 700;
}

@media (width <= 768px) {
  .c-article01__txt h3 {
    font-size: 14px !important;
  }
}
@media (769px <= width) {
  .c-article01__txt h3 {
    font-size: 16px !important;
  }
}
.c-article01__shop {
  border-top: 1px solid #E5E5E5;
}

@media (width <= 768px) {
  .c-article01__shop {
    margin: 20px auto 0;
    font-size: 15px;
    line-height: 1.46;
  }
}
@media (769px <= width) {
  .c-article01__shop {
    margin: 30px auto 0;
    font-size: 22px;
    line-height: 1.36;
  }
}
.c-article01__shop .c-card04 a {
  border-bottom: none;
}

@media (width <= 768px) {
  .c-article01__shop .c-card04 a {
    padding: 26px 20px;
  }
}
@media (769px <= width) {
  .c-article01__shop .c-card04 a {
    padding: 40px clamp(1px, 5.46vw, 70px);
  }
}
@media (width <= 768px) {
  .c-article01__shop .c-card04__img {
    width: 104px;
  }
}
@media (769px <= width) {
  .c-article01__shop .c-card04__img {
    width: 140px;
  }
}
.c-article01__shop .c-card04__wrap {
  flex-direction: column-reverse;
  gap: 15px;
}

.c-article01__shop .c-card04__wrap .c-card04__label {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 5px;
}

@media (769px <= width) {
  .c-article01__shop .c-card04__wrap .c-card04__label {
    font-size: 14px;
  }
}
.c-article01__shop .c-card04__wrap .c-card04__txt01 {
  width: 100%;
}

/*------------------------------------------
acc
------------------------------------------*/
.js-accarea {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s linear;
}

.js-accarea__in {
  overflow: hidden;
}

.js-accarea.is-open {
  grid-template-rows: 1fr;
}

/*------------------------------------------
animation
------------------------------------------*/
.c-anime01 {
  position: relative;
}

.c-anime01 [class*=circle0] {
  aspect-ratio: 1/1;
  width: 26.4%;
  position: absolute;
}

.c-anime01 [class*=circle0]::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/common/img_anime02.png) no-repeat center/contain;
  animation: rotate 15s linear infinite;
}

.c-anime01__circle01 {
  top: 8%;
  left: 21.1%;
  clip-path: inset(0 0 66% 0);
}

.c-anime01__circle02 {
  top: 7%;
  left: 49.3%;
  clip-path: inset(66% 0 0 0);
}

.c-anime01__circle02::before {
  animation-direction: reverse !important;
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.wysiwyg {
  word-break: break-all;
}

.wysiwyg *,
.wysiwyg ::before,
.wysiwyg ::after {
  box-sizing: content-box;
}

.wysiwyg h1 {
  font-size: 2em;
  font-weight: 600;
}

.wysiwyg h2 {
  font-size: 1.5em;
  font-weight: 600;
}

.wysiwyg h3 {
  font-size: 1.17em;
  font-weight: 600;
}

.wysiwyg h4 {
  font-weight: 600;
}

.wysiwyg h5 {
  font-size: 0.83em;
  font-weight: 600;
}

.wysiwyg h6 {
  font-size: 0.67em;
  font-weight: 600;
}

.wysiwyg hr {
  display: block;
}

.wysiwyg a {
  color: #8C8C8C;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .wysiwyg a:hover {
    opacity: 0.6;
  }
}
.wysiwyg strong,
.wysiwyg b {
  font-weight: 600;
}

.wysiwyg em {
  font-style: italic;
}

.wysiwyg ul,
.wysiwyg ol {
  padding-left: 1.5em;
}

.wysiwyg ul {
  list-style: disc;
}

.wysiwyg ol {
  list-style: decimal;
}

.wysiwyg table {
  border-collapse: separate;
}

/* =========================================================
header
========================================================= */
/*------------------------------------------
header
------------------------------------------*/
.c-hd {
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #ddd;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 10;
}

@media (width <= 1024px) {
  .c-hd {
    display: grid;
    grid-template-columns: 20px 1fr max-content;
    grid-template-rows: 88px 44px;
    grid-template-areas: "ig logo right" "list list list";
  }
}
@media (1025px <= width) {
  .c-hd {
    height: 90px;
    padding: 0 0 0 2.34vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.c-hd__logo {
  aspect-ratio: 98/34;
}

@media (width <= 1024px) {
  .c-hd__logo {
    width: clamp(1px, 26.13vw, 98px);
    position: absolute;
    top: calc(50% - 22px);
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media (769px <= width) {
  .c-hd__logo {
    width: 121px;
  }
}
.c-hd__logo a {
  display: block;
}

.c-hd__list {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 1024px) {
  .c-hd__list {
    grid-area: list;
    border-top: 1px solid #ddd;
    gap: clamp(1px, 4.26vw, 16px);
  }
}
@media (1025px <= width) {
  .c-hd__list {
    gap: clamp(1px, 2.18vw, 28px);
  }
}
.c-hd__item {
  padding: 0 0 0 9px;
  position: relative;
}

.c-hd__item::before {
  content: "";
  width: 5px;
  height: 5px;
  background: #00FF64;
  border-radius: 50%;
  position: absolute;
  top: 0.55em;
  left: 0;
}

.c-hd__item.pc-item {
  display: none;
}

@media (1025px <= width) {
  .c-hd__item.pc-item {
    display: block;
  }
}
.c-hd__item a {
  line-height: 1.2;
}

@media (width <= 768px) {
  .c-hd__item a {
    letter-spacing: 0.01em;
    font-size: clamp(1px, 2.93vw, 11px);
  }
}
@media (769px <= width <= 1024px) {
  .c-hd__item a {
    font-size: 14px;
  }
}
@media (1025px <= width) {
  .c-hd__item a {
    font-size: clamp(1px, 1.2vw, 14px);
  }
}
.c-hd__item .pc-txt {
  display: none;
}

@media (1025px <= width) {
  .c-hd__item .pc-txt {
    display: inline;
  }
}
.c-hd__right {
  display: flex;
  align-items: center;
}

@media (width <= 1024px) {
  .c-hd__right {
    grid-area: right;
  }
}
@media (width <= 768px) {
  .c-hd__right {
    padding: 0 clamp(1px, 4vw, 15px) 0 0;
    gap: clamp(1px, 4vw, 15px);
  }
}
@media (769px <= width) {
  .c-hd__right {
    padding: 0 10px 0 0;
  }
}
@media (width <= 1024px) {
  .c-hd__ig {
    position: absolute;
    top: calc(50% - 22px);
    left: 5.33vw;
    transform: translateY(-50%);
  }
}
@media (1025px <= width) {
  .c-hd__ig {
    margin-right: 20px;
  }
}
.c-hd__ig a {
  aspect-ratio: 1/1;
  display: block;
  -webkit-mask: url(../images/common/ico_ig.svg) no-repeat center/contain;
          mask: url(../images/common/ico_ig.svg) no-repeat center/contain;
  background: #2B2B2B;
}

@media (width <= 768px) {
  .c-hd__ig a {
    width: clamp(1px, 4.8vw, 18px);
  }
}
@media (769px <= width) {
  .c-hd__ig a {
    width: clamp(1px, 5.86vw, 22px);
  }
}
.c-hd__btn button {
  height: 88px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

@media (769px <= width) {
  .c-hd__btn button {
    width: 68px;
  }
}
.c-hd__btn span {
  display: block;
  width: clamp(1px, 7.46vw, 28px);
  height: 1px;
  background: #2B2B2B;
}

.c-hd.is-sticky {
  transform: translateY(-100%);
  transition: 0.3s ease;
}

.c-hd.is-show {
  transform: translateY(0);
}

/*------------------------------------------
navigation
------------------------------------------*/
.c-nav {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 20;
}

.c-nav__bg {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  right: 0;
  z-index: -1;
}

.c-nav__in {
  height: 100%;
  max-width: 360px;
  margin: 0 0 0 auto;
  background: #282828;
  color: #fff;
  overflow: auto;
}

@media (width <= 768px) {
  .c-nav__in {
    padding: 60px clamp(1px, 8vw, 30px) 80px;
  }
}
@media (769px <= width) {
  .c-nav__in {
    padding: 50px 40px 90px;
  }
}
.c-nav__close {
  position: absolute;
  top: 0;
  right: 0;
}

.c-nav__close button {
  display: block;
  aspect-ratio: 1/1;
  position: relative;
}

@media (width <= 768px) {
  .c-nav__close button {
    width: 78px;
  }
}
@media (769px <= width) {
  .c-nav__close button {
    width: 95px;
  }
}
.c-nav__close button::before, .c-nav__close button::after {
  content: "";
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
}

@media (width <= 768px) {
  .c-nav__close button::before, .c-nav__close button::after {
    width: 26px;
  }
}
@media (769px <= width) {
  .c-nav__close button::before, .c-nav__close button::after {
    width: 35px;
  }
}
.c-nav__close button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.c-nav__close button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-nav__logo {
  width: clamp(1px, 22.4vw, 100px);
  height: 29px;
  margin: 0 auto;
  -webkit-mask: url(../images/common/logo.svg) no-repeat center/contain;
          mask: url(../images/common/logo.svg) no-repeat center/contain;
  background: #fff;
}

.c-nav__list01 {
  margin: 28px auto 0;
}

.c-nav__list01 [class*=item] {
  border-bottom: 1px solid #4F4F4F;
}

.c-nav__list01 [class*=item]:last-child {
  border-bottom: none;
}

.c-nav__list01 a {
  display: block;
  padding: 20px 0 20px 52px;
  font-size: 14px;
  line-height: 1.28;
  position: relative;
}

.c-nav__list01 [class*=c-ico--] {
  width: 21px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}

.c-nav__list01 .item--ig a {
  padding-left: 35px;
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  font-size: 13px;
  letter-spacing: 0.045em;
}

.c-nav__list01 .c-ico--floor {
  width: 24px;
}

.c-nav__list01 .c-ico--restaurant {
  width: 14px;
}

.c-nav__list01 .c-ico--access {
  width: 30px;
}

.c-nav__list01 .c-ico--haera {
  width: 29px;
  left: 5px;
}

.c-nav__list01 .c-ico--ig {
  width: 18px;
}

.c-nav__list01 .arrow {
  width: 16px;
  aspect-ratio: 5/2;
  display: block;
  overflow: hidden;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.c-nav__list01 .arrow::before {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow02.svg) no-repeat center/contain;
}

.c-nav__list01 .arrow::before {
  background: #00FF64;
}

@media (hover: hover) {
  .c-nav__list01 a:hover .arrow::before {
    animation: c-arrow-1st 0.2s linear, c-arrow-2nd 0.2s linear 0.2s;
  }
}
.c-nav__list02 {
  margin: 30px auto 0;
  display: grid;
  grid-template-columns: 165px 1fr;
  gap: 17px 0;
}

.c-nav__list02 a {
  padding: 0 0 0 20px;
  font-size: 12px;
  line-height: 1.33;
  position: relative;
}

.c-nav__list02 a::before {
  content: "";
  width: 6px;
  height: 9px;
  -webkit-mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
  background: #fff;
  position: absolute;
  top: 1px;
  left: 8px;
}

.c-nav__copyright {
  margin: 50px auto 0;
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  font-size: clamp(1px, 2.6vw, 10px);
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.045em;
}

.c-nav {
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s 0.5s;
}

.c-nav .c-nav__bg {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.c-nav .c-nav__in {
  transform: translateX(100%);
  transition: transform 0.5s ease;
}

.c-nav.is-open {
  visibility: visible;
  pointer-events: all;
  transition: visibility 0s;
}

.c-nav.is-open .c-nav__bg {
  opacity: 1;
}

.c-nav.is-open .c-nav__in {
  transform: translateX(0);
}

/* =========================================================
footer
========================================================= */
.c-ft {
  background: #2B2B2B;
  color: #fff;
  position: relative;
}

@media (width <= 768px) {
  .c-ft {
    padding: 65px 0 0;
  }
}
@media (769px <= width) {
  .c-ft {
    padding: 90px 0 0;
  }
}
.c-ft::after {
  content: "";
  aspect-ratio: 308/100;
  -webkit-mask: url(../images/common/logo.svg) no-repeat center/contain;
          mask: url(../images/common/logo.svg) no-repeat center/contain;
  background: #E2E2E2;
}

@media (width <= 768px) {
  .c-ft::after {
    width: 100%;
    margin: 34px auto 0;
  }
}
@media (769px <= width) {
  .c-ft::after {
    width: clamp(1px, 76.56vw, 980px);
    margin: 60px auto 0;
  }
}
.c-ft__logo {
  width: clamp(1px, 22.4vw, 140px);
  margin: 0 auto;
}

.c-ft__logo a {
  display: block;
  aspect-ratio: 308/100;
  -webkit-mask: url(../images/common/logo.svg) no-repeat center/contain;
          mask: url(../images/common/logo.svg) no-repeat center/contain;
  background: #fff;
}

.c-ft__list01 {
  margin: 45px auto 0;
  display: flex;
  justify-content: center;
}

@media (width <= 768px) {
  .c-ft__list01 {
    gap: 21px;
  }
}
@media (769px <= width) {
  .c-ft__list01 {
    width: 370px;
  }
}
@media (769px <= width) {
  .c-ft__list01 .item {
    flex: 1;
  }
}
.c-ft__list01 a {
  display: block;
  text-align: center;
}

.c-ft__list01 .ico {
  margin: 0 auto;
  aspect-ratio: 1/1;
  border: 1px solid #4F4F4F;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  .c-ft__list01 .ico {
    width: 84px;
  }
}
@media (769px <= width) {
  .c-ft__list01 .ico {
    width: 80px;
  }
}
.c-ft__list01 [class*=c-ico--] {
  background: #fff;
}

.c-ft__list01 .c-ico--floor {
  width: 36px;
}

.c-ft__list01 .c-ico--hour {
  width: 32px;
}

.c-ft__list01 .c-ico--access {
  width: 48px;
}

.c-ft__list01 .txt {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.28;
}

@media (width <= 768px) {
  .c-ft__list01 .txt {
    margin: 14px auto 0;
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-ft__list01 .txt {
    margin: 24px auto 0;
    font-size: 14px;
  }
}
@media (hover: hover) {
  .c-ft__list01 .txt {
    position: relative;
  }

  .c-ft__list01 .txt::before {
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    bottom: -0.5em;
    left: 0;
    transform: scale(0, 1);
    transform-origin: right;
    transition: transform 0.3s linear;
  }
}
@media (hover: hover) and (hover: hover) {
  .c-ft__list01 a .ico {
    transition: background 0.2s ease;
  }

  .c-ft__list01 a .ico [class*=c-ico--] {
    transition: background 0.2s ease;
  }

  .c-ft__list01 a:hover .ico {
    background: #fff;
  }

  .c-ft__list01 a:hover .ico [class*=c-ico--] {
    background: #2B2B2B;
  }
}
.c-ft__list02 {
  max-width: 880px;
  margin: 45px auto 0;
  display: flex;
  flex-wrap: wrap;
}

@media (width <= 768px) {
  .c-ft__list02 {
    margin: 40px auto 0;
    border-top: 1px solid #fff;
  }
}
@media (769px <= width) {
  .c-ft__list02 {
    margin: 80px auto 0;
    justify-content: center;
    gap: 25px 50px;
  }
}
@media (width <= 768px) {
  .c-ft__list02 .item {
    width: 50%;
    border-bottom: 1px solid #fff;
  }
}
@media (769px <= width) {
  .c-ft__list02 .item {
    width: 260px;
  }
}
@media (width <= 768px) {
  .c-ft__list02 .item:nth-child(even) {
    border-left: 1px solid #fff;
  }
}
.c-ft__list02 a {
  position: relative;
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-ft__list02 a {
    height: 100%;
    padding: 23px 30px 23px 62px;
    font-size: 12px;
    display: flex;
    align-items: center;
  }
}
@media (769px <= width) {
  .c-ft__list02 a {
    display: block;
    padding: 0 1em 25px 60px;
    border-bottom: 1px solid #4F4F4F;
    font-size: 15px;
  }
}
.c-ft__list02 [class*=c-ico--] {
  width: 21px;
  background: #fff;
  position: absolute;
  left: 30px;
  transform: translate(-50%, -50%);
}

@media (width <= 768px) {
  .c-ft__list02 [class*=c-ico--] {
    top: 50%;
  }
}
@media (769px <= width) {
  .c-ft__list02 [class*=c-ico--] {
    top: calc(50% - 12px);
  }
}
.c-ft__list02 .c-ico--restaurant {
  width: 14px;
}

.c-ft__list02 .c-ico--haera {
  width: 29px;
}

@media (hover: hover) {
  .c-ft__list02 a {
    transition: border-color 0.2s ease;
  }

  .c-ft__list02 a:hover {
    border-color: #fff;
  }
}
@media (width <= 768px) {
  .c-ft__list03 {
    margin: 46px auto 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 0;
  }
}
@media (769px <= width) {
  .c-ft__list03 {
    margin: 90px auto 0;
    display: flex;
    justify-content: center;
    gap: 25px 40px;
  }
}
@media (width <= 768px) {
  .c-ft__list03 .item {
    padding: 0 0 0 20px;
  }
}
.c-ft__list03 a {
  padding: 0 0 0 15px;
  line-height: 1.3;
  position: relative;
}

@media (width <= 768px) {
  .c-ft__list03 a {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-ft__list03 a {
    font-size: 14px;
  }
}
.c-ft__list03 a::before {
  content: "";
  width: 6px;
  height: 9px;
  -webkit-mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
  background: #fff;
  position: absolute;
  left: 0;
}

@media (width <= 768px) {
  .c-ft__list03 a::before {
    top: 1px;
  }
}
@media (769px <= width) {
  .c-ft__list03 a::before {
    top: 3px;
  }
}
@media (hover: hover) {
  .c-ft__list03 a {
    transition: color 0.2s ease;
  }

  .c-ft__list03 a::before {
    transition: background 0.2s ease;
  }

  .c-ft__list03 a:hover {
    color: rgba(255, 255, 255, 0.4);
  }

  .c-ft__list03 a:hover::before {
    background: #00FF64;
  }
}
.c-ft__copyright {
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  font-size: clamp(1px, 2.66vw, 12px);
  line-height: 1;
  letter-spacing: 0.045em;
  text-align: center;
}

@media (width <= 768px) {
  .c-ft__copyright {
    margin: 42px auto 0;
  }
}
@media (769px <= width) {
  .c-ft__copyright {
    margin: 60px auto 0;
  }
}
@keyframes bg01-sp {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: 2151px;
  }
}
@keyframes bg01-pc {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: 2711px;
  }
}
@keyframes bg02-sp {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -1561px;
  }
}
@keyframes bg02-pc {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -1901px;
  }
}