@charset "UTF-8";
/*--------------------------------------------------
 変数
--------------------------------------------------*/
:root {
  /* 色 */
  --color-bg: #e13831;
  --color-yellow-primary: #ffe100;
  --color-blue-primary: #0A84C3;
  --color-green-primary: #4da535;
  --color-red-primary: #e60020;
  --color-gray-primary: #b4b4b5;
  --color-port-master: #0068B7;
  --color-terrace-master: #DE0073;
  --color-bargain-primary: #E13831;
  --color-bargain-secondary: #ffe100;
  --color-ladies-mens: #B896C5;
  --color-ladies: #F3A9C1;
  --color-mens: #96B3DE;
  --color-kids: #F9C78E;
  --color-gofuku: #e1afa7;
  --color-fashion-goods: #A9D499;
  --color-household: #D2E49E;
  --color-interior: #C9AF84;
  --color-fashion: #A1D1DB;
  --color-gourmet: #FBCA5A;
  --color-service: #71C3CC;
  --color-amusement: #E95E61;
  --color-householdgoods-interior: #A5DDB4;
  --color-top-btn: #8c8c8c;
  /* フォントサイズ */
  --font-size-h2-sp: min(4dvw, 34px);
  --font-size-h3-heading-facility-sp: min(3.5dvw, 24px);
  --font-size-h3-other-events-sp: min(5.4dvw, 37px);
  --font-size-h4-heading-sp: min(4.5dvw, 24px);
  --font-size-h4-category-sp: min(3.6dvw, 22px);
  --font-size-h4-other-events-inner-sp: min(4.6dvw, 28px);
  --font-size-red-bg-box-sp: min(3.2dvw, 20px);
  --font-size-heading-01-sp: min(5.7dvw, 36px);
  --font-size-heading-02-sp: min(7.5dvw, 45px);
  --font-size-acccordion-label-sp: min(3dvw, 16px);
  --font-size-other-events-banner-sp: min(3.2dvw, 13px);
}

/*--------------------------------------------------
 ブレイクポイント定義
--------------------------------------------------*/
/*--------------------------------------------------
 リセット
--------------------------------------------------*/
*, ::before, ::after {
  box-sizing: border-box;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
  color: #000;
  margin: 0;
  padding: 0;
}

ul, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4 {
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

button {
  padding: 0;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  background: none;
}

a {
  text-decoration: none;
  cursor: pointer;
}

address {
  font-style: normal;
}

/*--------------------------------------------------
 メディアクエリ（表示切替クラス）
--------------------------------------------------*/
/* width <= 768px */
@media screen and (width <= 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-only {
  display: none !important;
}

@media screen and (width <= 768px) {
  .sp-only {
    display: block !important;
  }
}
/* width <= 1280px */
.tab-only {
  display: none !important;
}

@media screen and (width <= 1280px) {
  .tab-only {
    display: block !important;
  }
}
/* width <= 960px */
.tab-small-only {
  display: none !important;
}

@media screen and (width <= 960px) {
  .tab-small-only {
    display: grid !important;
  }
}
/* width <= 626px */
.sp-middle-only {
  display: none !important;
}

@media screen and (width <= 626px) {
  .sp-middle-only {
    display: block !important;
  }
}
/* width <= 500px */
.sp-small-only {
  display: none !important;
}

@media screen and (width <= 500px) {
  .sp-small-only {
    display: block !important;
  }
}
/*--------------------------------------------------
 共通
--------------------------------------------------*/
/* フォントサイズ */
.text_enlarge {
  font-size: 1.5em;
}

.text_shrink {
  font-size: 0.8em;
}

.text_size_heading_01 {
  text-align: center;
  font-size: 36px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.3;
}

.text_size_heading_02 {
  text-align: center;
  font-size: 45px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.3;
}

@media only screen and (max-width: 626px) {
  .text_size_heading_01 {
    font-size: var(--font-size-heading-01-sp);
  }
  .text_size_heading_02 {
    font-size: var(--font-size-heading-02-sp);
  }
}
.hover_opacity {
  transition: all 0.3s;
}
.hover_opacity:hover {
  opacity: 0.7;
}

@media screen and (width <= 768px) {
  .main_category_wrap ~ .main_category_wrap {
    margin-top: 6vw;
  }
}
@media screen and (width <= 768px) {
  .accordion ~ .accordion {
    margin-top: 6vw;
  }
}
/*--------------------------------------------------
 アコーディオンパーツ
--------------------------------------------------*/
.accordion {
  /* &.not_btn-more {
      margin-bottom: 60px;
  } */
}
.accordion .btn-more {
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  color: #FFF;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: center;
  width: 60%;
  padding: 23px;
  margin-top: 20px;
  margin-bottom: 60px;
  margin-inline: auto;
  background-color: var(--color-bg);
  border: 1px solid var(--color-bg);
  border-radius: 9999px;
  transition: background-color 0.2s;
  user-select: none;
  flex-shrink: 0;
}
.accordion .btn-more::before, .accordion .btn-more::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2.5px;
  height: 10px;
  background-color: #FFF;
  transition: 0.3s;
}
.accordion .btn-more::before {
  transform: translateY(-50%) rotate(-45deg);
  right: 35px;
}
.accordion .btn-more::after {
  transform: translateY(-50%) rotate(45deg);
  right: 30px;
}
.accordion .btn-more.close::before {
  transform: translateY(-50%) rotate(-135deg);
  transition: 0.3s;
}
.accordion .btn-more.close::after {
  transform: translateY(-50%) rotate(135deg);
  transition: 0.3s;
}
.accordion .btn-more {
  /* ホバー時の処理（マウス操作デバイスのみ。スマホのタップ後に色が残るのを防ぐ） */
}
@media (hover: hover) {
  .accordion .btn-more:hover {
    color: var(--color-bg);
    background-color: #fff;
  }
  .accordion .btn-more:hover::before, .accordion .btn-more:hover::after {
    background-color: var(--color-bg);
  }
}
.accordion .btn-more.last_btn {
  margin-bottom: 0;
}
@media only screen and (max-width: 626px) {
  .accordion .btn-more {
    font-size: var(--font-size-acccordion-label-sp);
  }
}
.accordion .dropdown {
  display: none;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}
.accordion .trigger {
  position: relative;
  z-index: 100;
}

/*--------------------------------------------------
 ハンバーガーメニュー
--------------------------------------------------*/
/* ボタン */
.hamburger-menu_wrap {
  position: fixed;
  top: clamp(170px, 135px + 6vw, 200px);
  right: min(2vw, 20px);
  width: 80px;
  height: 80px;
  background-color: var(--color-bargain-secondary);
  border-radius: 99999px;
  border: 1px solid #fff;
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  align-items: center;
  z-index: 11000;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  transition: top 0.5s;
}
.hamburger-menu_wrap.hamburger-menu_wrap--banner-hidden {
  top: calc(47px + 6vw + min(3vw, 30px));
}
.hamburger-menu_wrap.hamburger-menu_wrap--open {
  top: 4vw;
  /* 画面サイズ960より大きくされても閉じるボタンを表示させるため */
  display: grid !important;
}
.hamburger-menu_wrap .hamburger-menu_inner {
  display: grid;
  align-self: stretch;
  align-items: center;
}

@media screen and (width <= 626px) {
  .hamburger-menu_wrap {
    width: 50px;
    height: 50px;
    top: clamp(110px, 62px + 17vw, 170px);
    right: 2vw;
  }
}
.hamburger_menu_text_container {
  color: var(--color-yellow-primary);
  text-align: center;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

@media screen and (width <= 626px) {
  .hamburger_menu_text_container {
    font-size: 10px;
    letter-spacing: -0.01em;
  }
}
.hamburger-menu {
  width: 100%;
  aspect-ratio: 40/36;
  position: relative;
  appearance: none;
  padding: 0;
  cursor: pointer;
}
.hamburger-menu.hamburger-menu--open {
  background-color: transparent;
  border: 2px solid transparent;
}
.hamburger-menu.hamburger-menu--open .hamburger_menu_bar {
  background-color: var(--color-bargain-primary);
  top: 50%;
}
.hamburger-menu.hamburger-menu--open .hamburger_menu_bar:first-child {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  top: 50%;
}
.hamburger-menu.hamburger-menu--open .hamburger_menu_bar:nth-child(2) {
  display: none;
}
.hamburger-menu.hamburger-menu--open .hamburger_menu_bar:last-child {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  top: 50%;
}
.hamburger-menu .hamburger_menu_bar {
  display: inline-block;
  width: 60%;
  height: min(0.6dvw, 3px);
  background-color: var(--color-bargain-primary);
  border-radius: 9999px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.5s;
}
.hamburger-menu .hamburger_menu_bar:first-child {
  top: 25%;
}
.hamburger-menu .hamburger_menu_bar:nth-child(2) {
  top: 50%;
}
.hamburger-menu .hamburger_menu_bar:last-child {
  top: 75%;
}

/* メニュー */
.navigation_wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  max-width: 100dvw;
  height: 0;
  z-index: 9000;
  margin-inline: 0;
}
.navigation_wrapper .navigation {
  display: none;
  background-color: var(--color-bg);
  position: absolute;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100vh;
  z-index: 8000;
}
.navigation_wrapper .navigation_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  overflow-y: auto;
  margin-inline: 0;
}
.navigation_wrapper .navigation_inner_box {
  margin-inline: 5%;
  display: flex;
  flex-direction: column;
  width: fit-content;
}
.navigation_wrapper .navigation_title_box {
  margin-inline: 0;
  margin-bottom: 25px;
}
.navigation_wrapper .navigation_title_box .navigation_title {
  width: 80px;
  margin-inline: 0;
}
.navigation_wrapper .navigation_list {
  list-style: none;
  padding: 0 20px;
  margin: 0;
  display: grid;
  row-gap: 60px;
}
.navigation_wrapper .list_item {
  position: relative;
}
.navigation_wrapper .list_item:not(:last-of-type):before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: -30px;
  left: 0;
}
.navigation_wrapper .navigation_link {
  color: #fff;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  transition: 0.5s;
  display: flex;
  flex-direction: column;
}
.navigation_wrapper .navigation_link:hover {
  color: var(--color-yellow-primary);
}

/* バーガーメニューOPEN時にスクロールを禁止する */
body.navigation--open {
  overflow-y: hidden;
}

/* バーガーメニュー内の右カラム相当スタイル */
.navigation_inner_box .right_menu_list_box {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 220px;
  margin-inline: auto;
  overflow-x: hidden;
}
.navigation_inner_box .right_menu_list_box .right_menu_item {
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  padding-block: 10px;
}
.navigation_inner_box .right_menu_list_box .right_menu_item a {
  color: #fff;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.3;
  display: block;
  text-decoration: none;
}
.navigation_inner_box .right_menu_list_box .right_menu_item--top {
  border-top: none;
}
.navigation_inner_box .right_menu_list_box .right_menu_item--top a {
  font-size: 20px;
}
.navigation_inner_box .right_menu_list_box .right_menu_item--logo {
  border-top: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  padding-bottom: 16px;
  margin-bottom: 16px;
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge {
  border-top: none;
  padding-block: 0;
  display: flex;
  justify-content: center;
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge + .right_menu_item--badge {
  margin-top: 16px;
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  padding: 0.8rem 10px;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  line-height: 1;
  text-align: center;
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge-ladies a {
  background: var(--color-ladies);
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge-mens a {
  background: var(--color-mens);
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge-ladies-mens a {
  background: var(--color-ladies-mens);
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge-kids a {
  background: var(--color-kids);
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge-gofuku a {
  background: var(--color-gofuku);
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge-fashion-goods a {
  background: var(--color-fashion-goods);
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge-household a {
  background: var(--color-household);
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge-gourmet a {
  background: var(--color-gourmet);
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge-service a {
  background: var(--color-service);
}
.navigation_inner_box .right_menu_list_box .right_menu_item--badge-terrace a {
  background: var(--color-terrace-master);
  color: #fff;
  white-space: nowrap;
}
.navigation_inner_box .right_menu_point_up_day {
  width: 100%;
  max-width: 220px;
  margin-inline: auto;
  padding-top: 16px;
}
.navigation_inner_box .right_menu_point_up_day a {
  display: block;
}
.navigation_inner_box .right_menu_point_up_day a .right_menu_pu_box {
  background: var(--color-port-master);
  border-radius: 10px;
  box-shadow: 0 4px 2px rgba(0, 0, 0, 0.25);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
}
.navigation_inner_box .right_menu_point_up_day a .right_menu_pu_box img {
  width: 100%;
  height: auto;
}
.navigation_inner_box .right_menu_point_up_day a .right_menu_pu_box .right_menu_pu_text {
  font-size: 9px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.2;
  margin-top: 0.2rem;
}
.navigation_inner_box .right_menu_bargain_logo {
  width: 85%;
}

/*--------------------------------------------------
 紙吹雪
--------------------------------------------------*/
.ribbon_box {
  position: absolute;
  width: 83px;
  height: 143px;
  /* 天地の位置 */
  /* ららぽーとTOKYO-BAY */
}
.ribbon_box.port_ribbon_01 {
  top: 16%;
}
.ribbon_box.port_ribbon_02 {
  top: 35%;
}
.ribbon_box.port_ribbon_03 {
  top: 46%;
}
.ribbon_box.port_ribbon_04 {
  top: 58%;
}
.ribbon_box.port_ribbon_05 {
  top: 68%;
}
.ribbon_box.port_ribbon_06 {
  top: 97%;
}
.ribbon_box {
  /* ららテラスTOKYO-BAY */
}
.ribbon_box.terrace_ribbon_01 {
  top: 26%;
}
.ribbon_box.terrace_ribbon_02 {
  top: 75%;
}
.ribbon_box {
  /* vivit */
}
.ribbon_box.vivit_ribbon_01 {
  top: 16%;
}
.ribbon_box.vivit_ribbon_02 {
  top: 85%;
}
.ribbon_box {
  /* 左右の位置 */
}
.ribbon_box.ribbon_left {
  left: -8%;
}
.ribbon_box.ribbon_right {
  right: -8%;
}
.ribbon_box {
  /* カラー */
}
.ribbon_box .ribbon_orange {
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(20px, 45%, 30px);
}
.ribbon_box .ribbon_pink {
  position: absolute;
  top: 40%;
  left: 52%;
  width: clamp(9px, 22%, 16px);
}
.ribbon_box .ribbon_blue {
  position: absolute;
  top: 65%;
  left: 0;
  width: clamp(22px, 48%, 32px);
}
.ribbon_box .ribbon_green {
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(14px, 30%, 20px);
}

@media only screen and (max-width: 960px) {
  .ribbon_box.ribbon_left {
    left: -8%;
  }
  .ribbon_box.ribbon_right {
    right: -8%;
  }
}
@media only screen and (max-width: 768px) {
  .ribbon_box {
    width: 8vw;
    height: 30vw;
  }
  .ribbon_box.ribbon_left {
    left: -3.5%;
    transform-origin: top left;
  }
  .ribbon_box.ribbon_right {
    right: -3%;
    transform-origin: top right;
  }
}
@media only screen and (max-width: 626px) {
  .ribbon_box {
    width: 7.5vw;
  }
  .ribbon_box.ribbon_left {
    left: -3%;
  }
  .ribbon_box.ribbon_right {
    right: -3%;
  }
}
@media only screen and (max-width: 400px) {
  .ribbon_box {
    width: 9.5vw;
    height: 35vw;
  }
  .ribbon_box.ribbon_left {
    left: -5.5%;
  }
  .ribbon_box.ribbon_right {
    right: -5.5%;
  }
}
/* 初期状態：非表示＆少し下げる */
.fade-in-ribbon {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s cubic-bezier(0.22, 0.68, 0.52, 1.01), transform 0.8s cubic-bezier(0.22, 0.68, 0.52, 1.01);
  will-change: opacity, transform;
}

/* 中央に来たら class を付けてフェードイン */
.fade-in-ribbon.visible {
  opacity: 1;
  transform: translateY(0);
}

/*--------------------------------------------------
 左カラムの冬バーゲン2025のロゴ
--------------------------------------------------*/
/* 最初は非表示（ふわっと出したいので display:none; は使わない） */
.countdown-sale_left_img_wrap {
  opacity: 0;
  transform: translate(-50%, 36px);
  transition: opacity 1.5s ease-out, transform 1.5s ease-out;
  position: fixed;
  width: calc((100% - 576px) / 2);
  max-width: 480px;
  top: 80px;
  left: calc((100% - 576px) / 2 / 2);
  padding-inline: 40px;
}

/* 表示：フェードイン＋上に戻す */
.countdown-sale_left_img_wrap.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* KVエリアが再表示されたとき：下げながらフェードアウト */
.countdown-sale_left_img_wrap.is-hiding {
  opacity: 0;
  transform: translate(-50%, 36px);
  transition: opacity 0.8s ease-in, transform 0.8s ease-in;
}

/*--------------------------------------------------
 ローディング画面(Lottie)
--------------------------------------------------*/
#lottie-loader {
  transition: 1.5s ease;
  position: relative;
  z-index: 15000;
  /* ローディング画面を隠す */
}
#lottie-loader.loaded {
  opacity: 0;
  visibility: hidden;
}
#lottie-loader .lottie-loader_inner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  background: var(--color-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
/*--------------------------------------------------
 ポイントアップデー
--------------------------------------------------*/
#main_container_area .container_center .center_inner.pu-day-section {
  background-color: #0068B7;
  overflow: hidden;
  /* 黄色帯ヘッダー */
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-header {
  background-color: var(--color-yellow-primary);
  padding: 18px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px 20px 0 0;
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-header .pu-day-header__text {
  color: var(--color-port-master);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.1em;
  display: inline-flex;
  align-items: center;
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-header .pu-day-header__text::before, #main_container_area .container_center .center_inner.pu-day-section .pu-day-header .pu-day-header__text::after {
  content: "";
  flex-shrink: 0;
  width: 0.7343283582em; /* 画像アスペクト比 41:67、フォントサイズの1.2倍 */
  height: 1.2em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-header .pu-day-header__text::before {
  background-image: url(../img/point-up-kazari-left.png);
  margin-right: 0.5em;
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-header .pu-day-header__text::after {
  background-image: url(../img/point-up-kazari-right.png);
  margin-left: 0.5em;
}
@media screen and (width <= 626px) {
  #main_container_area .container_center .center_inner.pu-day-section .pu-day-header .pu-day-header__text {
    font-size: min(4.5vw, 22px);
  }
}
#main_container_area .container_center .center_inner.pu-day-section {
  /* 青背景エリア */
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 0;
}
#main_container_area .container_center .center_inner.pu-day-section {
  /* ロゴ・日程画像 */
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-logo-img {
  display: block;
  width: calc(100% - 60px);
  margin-top: 20px;
}
@media screen and (width <= 768px) {
  #main_container_area .container_center .center_inner.pu-day-section .pu-day-logo-img {
    width: calc(100% - 10vw);
  }
}
#main_container_area .container_center .center_inner.pu-day-section {
  /* 注意書き */
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-note {
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.05em;
  margin-top: 6px;
  margin-bottom: 14px;
}
#main_container_area .container_center .center_inner.pu-day-section {
  /* カード説明画像 */
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-cards-img {
  display: block;
  width: calc(100% - 60px);
}
@media screen and (width <= 768px) {
  #main_container_area .container_center .center_inner.pu-day-section .pu-day-cards-img {
    width: calc(100% - 10vw);
  }
}
#main_container_area .container_center .center_inner.pu-day-section {
  /* ボトムコンテンツ */
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 10px min(7vw, 40px) 10px;
  width: 100%;
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-bottom__inner {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-bottom__text {
  color: #fff;
  font-size: clamp(14px, 4vw, 28px);
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.03em;
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-bottom__large {
  font-size: 1.8em;
  line-height: 1;
}
#main_container_area .container_center .center_inner.pu-day-section {
  /* バッジ（最大14ポイント） */
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-badge {
  flex-shrink: 0;
  width: clamp(58px, 14vw, 82px);
  height: auto;
}
#main_container_area .container_center .center_inner.pu-day-section {
  /* 参加店舗ボタン */
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.05em;
}
#main_container_area .container_center .center_inner.pu-day-section .pu-day-btn::after {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border: 2px solid #fff;
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpolygon fill='white' points='3%2C1 8%2C5 3%2C9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 9px;
}
@media screen and (width <= 626px) {
  #main_container_area .container_center .center_inner.pu-day-section .pu-day-btn {
    font-size: min(3.5vw, 15px);
  }
}

/*--------------------------------------------------
 バーゲン参加ショップ ヘッダー
--------------------------------------------------*/
#main_container_area .container_center .center_inner .bargain-header {
  background-color: var(--color-yellow-primary);
  padding: 18px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px 20px 0 0;
}
#main_container_area .container_center .center_inner .bargain-header .bargain-header__text {
  color: var(--color-bargain-primary);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.1em;
  display: inline-flex;
  align-items: center;
}
#main_container_area .container_center .center_inner .bargain-header .bargain-header__text::before, #main_container_area .container_center .center_inner .bargain-header .bargain-header__text::after {
  content: "";
  flex-shrink: 0;
  width: 0.7343283582em;
  height: 1.2em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
#main_container_area .container_center .center_inner .bargain-header .bargain-header__text::before {
  background-image: url(../img/bargain-kazari-left.png);
  margin-right: 0.5em;
}
#main_container_area .container_center .center_inner .bargain-header .bargain-header__text::after {
  background-image: url(../img/bargain-kazari-right.png);
  margin-left: 0.5em;
}

@media screen and (width <= 626px) {
  #main_container_area .container_center .center_inner .bargain-header .bargain-header__text {
    font-size: min(4.5vw, 22px);
  }
}
/*--------------------------------------------------
 header
--------------------------------------------------*/
header {
  width: 100%;
  padding-inline: 30px;
  padding-block: 20px;
  background-color: #fff;
  align-items: center;
  position: relative;
  z-index: 30;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.25);
}
header div.header_inner {
  margin-inline: auto;
  max-width: 1440px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (width <= 960px) {
  header div.header_inner {
    height: 47px;
  }
}

@media screen and (width <= 960px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    padding-inline: 5vw;
    padding-block: 3vw;
  }
}
#top .logo_wrap {
  display: grid;
  grid-template-columns: auto 1fr auto;
  column-gap: min(5vw, 30px);
}

.logo_left_box {
  display: grid;
  place-items: center;
}
.logo_left_box.box_02 {
  justify-self: flex-start;
}
.logo_left_box .logo_left {
  height: min(6.5vw, 47px);
  width: auto;
}

.logo_right_box {
  display: grid;
  place-items: center;
}
.logo_right_box .logo_right {
  float: right;
  height: min(5.5vw, 32px);
  width: auto;
}

/*--------------------------------------------------
 footer（footerタグから外に出した）
--------------------------------------------------*/
#footer {
  width: 100%;
}
#footer .footer_wrapper {
  width: 100%;
}
#footer .footer_container .footer_container_center .footer_center_inner {
  background-color: #fff;
  padding: 38px min(4.5vw, 38px);
}
#footer .footer_container .sns_link_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 15px;
  padding-block: 30px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
#footer .footer_container .sns_link_box .title {
  width: 100%;
  max-width: 253px;
}
#footer .footer_container .sns_link_box .followUs_box {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#footer .footer_container .sns_link_box .flollowUs_title {
  width: 100%;
  max-width: 176px;
  margin-bottom: 15px;
}
#footer .footer_container .sns_link_box .sns_link_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 27px;
}
#footer .footer_container .sns_link_box .sns_link a {
  display: flex;
  align-items: center;
  column-gap: 13px;
  color: #000;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
}
#footer .footer_container .sns_link_box .sns_link a .sns_icon {
  width: 43px;
}
#footer .footer_container .detail {
  padding-block: 22px 59px;
  border-bottom: 1px solid #000;
  color: #000;
  font-size: 11px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: justify;
}
#footer .footer_container .footer_nav_container {
  padding-block: 27px;
}
#footer .footer_container .footer_nav_container .footer_nav li:not(:last-of-type) {
  margin-bottom: 15px;
}
#footer .footer_container .footer_nav_container a {
  color: #000;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
  transition: 0.3s;
  display: inline-block;
}
#footer .footer_container .footer_nav_container a:hover {
  color: #777;
}
#footer .footer_container .footer_facility_logo_container {
  display: grid;
  place-items: center;
  margin-bottom: 37px;
}
#footer .footer_container .footer_facility_logo_container .footer_facility_logo_inner.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 60px;
}
#footer .footer_container .footer_logo_container {
  width: 250px;
  margin-inline: auto;
  margin-bottom: 22px;
}
@media only screen and (max-width: 626px) {
  #footer .footer_container .footer_logo_container {
    width: 100%;
    max-width: 250px;
  }
}
#footer .footer_container .copyright_container {
  color: #9E9D9D;
  text-align: center;
  font-size: 9px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
}

/*--------------------------------------------------
 main
--------------------------------------------------*/
main {
  position: relative;
}

.sale-banner {
  display: flex;
  place-content: center;
  align-items: flex-end;
  column-gap: 0.5em;
  width: 100%;
  background: var(--color-yellow-primary);
  padding: 0.85em 0;
  position: relative;
  z-index: 20;
  color: var(--color-red-primary);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 22px;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.1em;
}
.sale-banner .sale-banner-highlight {
  font-size: 1.2em;
  font-weight: 900;
}
.sale-banner .sale-banner-highlight .sale-banner-highlight-percentage {
  font-size: 1.4em;
}

@media screen and (width <= 960px) {
  .sale-banner {
    margin-top: calc(47px + 6vw);
  }
}
@media screen and (width <= 626px) {
  .sale-banner {
    font-size: min(3.2vw, 22px);
  }
}
#kv_area {
  position: relative;
  z-index: 20;
}
#kv_area .kv_container {
  background-color: var(--color-bg);
}

#main_container_area .wrapper {
  width: 100%;
}
#main_container_area .container.grid {
  display: grid;
  grid-template-columns: 1fr minmax(100px, 576px) 1fr;
}
@media screen and (width <= 1280px) {
  #main_container_area .container.grid {
    display: grid;
    grid-template-columns: max(5%, 20px) minmax(100px, 576px) 1fr;
  }
}
@media screen and (width <= 960px) {
  #main_container_area .container.grid {
    display: grid;
    grid-template-columns: 1fr minmax(100px, 576px) 1fr;
  }
}
@media screen and (width <= 626px) {
  #main_container_area .container.grid {
    display: grid;
    grid-template-columns: 20px 1fr 20px;
  }
}
#main_container_area {
  /* 左カラム */
}
#main_container_area .container_left {
  background-color: var(--color-bg);
  overflow: hidden;
}
#main_container_area .container_left .left_inner {
  position: relative;
  width: 100%;
  height: 100%;
}
@media screen and (width <= 1280px) {
  #main_container_area .container_left .left_inner {
    display: none;
  }
}
#main_container_area {
  /* 中央カラム */
}
#main_container_area .container_center {
  background-color: var(--color-bg);
}
#main_container_area .container_center .heading_container {
  margin-bottom: 50px;
  padding-inline: 60px;
}
@media screen and (width <= 500px) {
  #main_container_area .container_center .heading_container {
    padding-inline: min(8%, 40px);
  }
}
#main_container_area .container_center .center_inner {
  width: 576px;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.25);
  position: relative;
  padding-top: 30px;
  margin-bottom: 50px;
  position: relative;
}
#main_container_area .container_center .center_inner:not(:first-of-type) {
  border-radius: 20px;
}
#main_container_area .container_center .center_inner:first-of-type {
  padding-top: 0;
}
#main_container_area .container_center .center_inner:nth-of-type(2) {
  padding-top: 0;
}
#main_container_area .container_center .center_inner:last-of-type {
  padding-top: 0;
  margin-bottom: 57px;
}
#main_container_area .container_center .center_inner {
  /* &.inner_top_paddingtop-0 {
      padding-top: 0;
  } */
}
#main_container_area .container_center .center_inner.lalaport_wrap {
  padding-bottom: 150px;
}
@media only screen and (width <= 626px) {
  #main_container_area .container_center .center_inner.lalaport_wrap {
    padding-bottom: 22vw;
  }
}
@media only screen and (width <= 500px) {
  #main_container_area .container_center .center_inner.lalaport_wrap {
    padding-bottom: 16vw;
  }
}
#main_container_area .container_center .center_inner .center_inner_padding {
  padding: min(9.5vw, 40px) min(4.5vw, 30px);
}
@media screen and (width <= 768px) {
  #main_container_area .container_center .center_inner .center_inner_padding {
    padding-bottom: 3vw;
  }
}
#main_container_area .container_center .center_inner .center_inner_padding.center_inner_paddingtop-0 {
  padding-top: 0;
}
@media screen and (width <= 768px) {
  #main_container_area .container_center .center_inner .center_inner_padding.center_inner_paddingtop-0 {
    padding-top: 3vw;
  }
}
#main_container_area .container_center .center_inner .center_inner_padding.center_inner_paddingtopbottom-0 {
  padding-top: 0;
  padding-bottom: 0;
}
#main_container_area .container_center .center_inner .center_inner_padding.center_inner_paddingbottom-6vw {
  /* padding-bottom: min(9.5vw, 40px); */
}
@media screen and (width <= 768px) {
  #main_container_area .container_center .center_inner .center_inner_padding.center_inner_paddingbottom-6vw {
    padding-bottom: min(9.5vw, 40px);
  }
}
@media screen and (width <= 626px) {
  #main_container_area .container_center .center_inner .center_inner_padding.center_inner_paddingbottom-6vw {
    padding-bottom: 10vw;
  }
}
@media only screen and (width <= 626px) {
  #main_container_area .container_center .center_inner {
    width: 100%;
  }
}
#main_container_area .container_center {
  /* 吹き出し */
}
#main_container_area .container_center .countdown-sale_center_inner {
  background-color: var(--color-bg);
  padding: 0.8rem;
  border-radius: 30px;
  position: relative;
}
#main_container_area .container_center .countdown-sale_center_inner::before {
  content: "";
  width: 3rem;
  height: 2rem;
  background-color: var(--color-bg);
  position: absolute;
  bottom: -1.9rem;
  left: 50%;
  translate: -50% 0;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
@media only screen and (width <= 626px) {
  #main_container_area .container_center .countdown-sale_center_inner::before {
    width: 2rem;
    height: 1.2rem;
    bottom: -1.1rem;
  }
}
#main_container_area .container_center .countdown-sale_center_inner .countdown-sale_center_inner_box_text {
  color: #fff;
  text-align: center;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
#main_container_area .container_center .countdown-sale_center_inner .countdown-sale_center_inner_box_text .text-plus1p4em {
  font-size: 1.4em;
}
#main_container_area .container_center .countdown-sale_center_inner .countdown-sale_center_inner_box_text .text-plus1p5em {
  font-size: 1.5em;
}
@media only screen and (width <= 626px) {
  #main_container_area .container_center .countdown-sale_center_inner .countdown-sale_center_inner_box_text {
    font-size: min(4vw, 22px);
  }
}
#main_container_area .container_center {
  /* 見出し */
}
#main_container_area .container_center .heading_box {
  margin-top: 3rem;
  font-size: 36px;
  color: var(--color-bg);
}
#main_container_area .container_center {
  /* 館への遷移ボタン */
}
#main_container_area .container_center .btn_facility_container {
  margin-top: 2rem;
  border: 2px solid var(--color-gray-primary);
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner {
  /* マウスホバー */
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_port:hover {
  background-color: var(--color-port-master);
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_port:hover a {
  color: #fff;
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_port:hover a .btn_text::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_terrace:hover {
  background-color: var(--color-terrace-master);
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_terrace:hover a {
  color: #fff;
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_terrace:hover a .btn_text::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner {
  /* ボタン */
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_port {
  border-bottom: 2px solid var(--color-gray-primary);
  background-color: #fff;
  transition: background-color 0.5s;
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_port a {
  display: grid;
  padding-block: 1.5rem;
  width: 100%;
  height: 100%;
  place-content: center;
  text-align: center;
  font-weight: 600;
  color: var(--color-port-master);
  transition: color 0.5s;
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_port a .btn_text {
  position: relative;
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_port a .btn_text::before {
  content: "";
  width: 0.7em;
  height: 0.7em;
  border-top: 1px solid var(--color-port-master);
  border-right: 1px solid var(--color-port-master);
  position: absolute;
  top: 0.35em;
  right: -1.5em;
  rotate: 135deg;
  transition: border 0.5s;
}
@media only screen and (width <= 626px) {
  #main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_port a {
    font-size: min(3.5vw, 16px);
  }
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_terrace {
  background-color: #fff;
  transition: background-color 0.5s;
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_terrace a {
  display: grid;
  padding-block: 1.5rem;
  width: 100%;
  height: 100%;
  place-content: center;
  text-align: center;
  font-weight: 600;
  color: var(--color-terrace-master);
  transition: color 0.5s;
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_terrace a .btn_text {
  position: relative;
}
#main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_terrace a .btn_text::before {
  content: "";
  width: 0.7em;
  height: 0.7em;
  border-top: 1px solid var(--color-terrace-master);
  border-right: 1px solid var(--color-terrace-master);
  position: absolute;
  top: 0.35em;
  right: -1.5em;
  rotate: 135deg;
  transition: border 0.5s;
}
@media only screen and (width <= 626px) {
  #main_container_area .container_center .btn_facility_container .btn_facility_container_inner .btn_terrace a {
    font-size: min(3.5vw, 16px);
  }
}
#main_container_area .container_center .heading_facility_box.port_box {
  background-color: var(--color-port-master);
}
#main_container_area .container_center .heading_facility_box.terrace_box {
  background-color: var(--color-terrace-master);
}
#main_container_area .container_center .heading_facility_box .heading_facility_box_inner {
  padding-block: 1.5rem;
  width: fit-content;
  margin-inline: auto;
}
#main_container_area .container_center .heading_facility_box .heading_facility_box_inner.layout_grid {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  grid-template-areas: "item-01 item-02" "item-03 .";
  column-gap: 1rem;
  row-gap: 0.05rem;
}
#main_container_area .container_center .heading_facility_box .heading_facility_box_inner.layout_grid h3 {
  padding-block: 0;
}
#main_container_area .container_center .heading_facility_box .heading_facility_box_inner.layout_grid h3:first-of-type {
  grid-area: item-01;
  width: fit-content;
}
#main_container_area .container_center .heading_facility_box .heading_facility_box_inner.layout_grid h3:nth-of-type(2) {
  grid-area: item-02;
  width: fit-content;
}
#main_container_area .container_center .heading_facility_box .heading_facility_box_inner.layout_grid h3:last-of-type {
  grid-area: item-03;
  width: fit-content;
  justify-self: center;
  font-size: 13px;
  font-weight: 500;
}
#main_container_area .container_center .heading_facility_box h3 {
  color: #fff;
  text-align: center;
  padding-block: 1.5rem;
  font-size: 23px;
}
@media only screen and (width <= 626px) {
  #main_container_area .container_center .heading_facility_box h3 {
    font-size: min(4.5vw, 22px);
  }
}
#main_container_area .container_center .benefit_container .btn_category_container {
  margin-bottom: 40px;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_container_anno {
  color: #000;
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}
@media only screen and (max-width: 626px) {
  #main_container_area .container_center .benefit_container .btn_category_container .btn_category_container_anno {
    font-size: min(3.6dvw, 20px);
  }
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  column-gap: 36px;
  row-gap: 36px;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 {
  border-radius: 1em;
  border: 1px solid #B1B1B1;
  background: #FFF;
  position: relative;
  transition: background-color 0.3s;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01.grid {
  display: grid;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01.is-open {
  border-radius: 1em 1em 0 0;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01.item-01 {
  /* 隠れているボタンメニュー */
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01.item-01 .menu_hidden {
  border-radius: 0 0px 20px 20px;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .master_category {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  font-family: inherit;
  color: #000;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  padding: min(4dvw, 21px) 10px calc(21px + 0.3em);
  transition: all 0.3s;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .master_category::before {
  content: "";
  width: 1em;
  height: 0.5em;
  background-color: #000;
  position: absolute;
  bottom: 0.8em;
  left: 50%;
  translate: -50% 0;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transition: all 0.3s;
}
@media only screen and (max-width: 626px) {
  #main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .master_category {
    font-size: min(3dvw, 14px);
  }
  #main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 a {
    font-size: min(2.4dvw, 14px);
  }
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 {
  /* ドロップダウンメニュー */
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .menu_hidden {
  position: absolute;
  top: 100%;
  left: -1px;
  background: #fff;
  transition: opacity 0.3s;
  border: 1px solid #B1B1B1;
  padding: 0.5em 0.5em;
  display: none;
  row-gap: 0;
  width: 220px;
  z-index: 100;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .menu_hidden li {
  display: flex;
  justify-content: center;
  position: relative;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .menu_hidden li:not(:last-of-type)::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #b1b1b1;
  position: absolute;
  bottom: 0;
  left: 0%;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .menu_hidden li:hover .sub_category {
  color: #fff;
  background-color: #b1b1b1;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .menu_hidden li:hover .sub_category::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .menu_hidden li .sub_category {
  text-align: center;
  text-decoration: none;
  color: #000;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-block: 1em;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .menu_hidden li .sub_category::before {
  content: "";
  width: 0.6em;
  height: 0.6em;
  border: 0;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  rotate: 45deg;
  position: absolute;
  top: 50%;
  right: 2em;
  translate: 0 -50%;
}
@media screen and (max-width: 626px) {
  #main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .menu_hidden li .sub_category {
    line-height: 1.5;
    font-size: min(3dvw, 14px);
  }
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .menu_hidden.is-open {
  display: grid;
  width: calc(100% + 2px);
}
@media screen and (width < 520px) {
  #main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 .menu_hidden.is-open {
    width: 120%;
    border-radius: 0 20px 20px 20px;
  }
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01 {
  /* ホバー時の振る舞い */
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01:hover {
  position: relative;
  z-index: 1000;
  border: 1px solid #B1B1B1;
  background: #B1B1B1;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01:hover .master_category {
  color: #fff;
}
#main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid .btn_category_item_box-01:hover .master_category::before {
  background-color: #fff;
}
@media only screen and (max-width: 626px) {
  #main_container_area .container_center .benefit_container .btn_category_container .btn_category_box.grid {
    column-gap: 4dvw;
    row-gap: 4dvw;
  }
}
#main_container_area .container_center .benefit_container .category_box {
  display: flex;
  padding: 27px 8px;
  margin-top: 3vw;
  margin-bottom: 0;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  position: relative;
  z-index: 10;
}
#main_container_area .container_center .benefit_container .category_box.ladies-mens_box {
  background: var(--color-ladies-mens);
}
#main_container_area .container_center .benefit_container .category_box.ladies_box {
  background: var(--color-ladies);
}
#main_container_area .container_center .benefit_container .category_box.mens_box {
  background: var(--color-mens);
}
#main_container_area .container_center .benefit_container .category_box.kids_box {
  background: var(--color-kids);
}
#main_container_area .container_center .benefit_container .category_box.gofuku_box {
  background: var(--color-gofuku);
}
#main_container_area .container_center .benefit_container .category_box.fashion-goods_box {
  background: var(--color-fashion-goods);
}
#main_container_area .container_center .benefit_container .category_box.household_box {
  background: var(--color-household);
}
#main_container_area .container_center .benefit_container .category_box.gourmet_box {
  background: var(--color-gourmet);
}
#main_container_area .container_center .benefit_container .category_box.interior_box {
  background: var(--color-interior);
}
#main_container_area .container_center .benefit_container .category_box.service_box {
  background: var(--color-service);
}
#main_container_area .container_center .benefit_container .category_box.amusement_box {
  background: var(--color-amusement);
}
#main_container_area .container_center .benefit_container .category_box.fashion_box {
  background: var(--color-fashion);
}
#main_container_area .container_center .benefit_container .category_box h4 {
  color: #000;
  text-align: center;
  font-size: 22px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 626px) {
  #main_container_area .container_center .benefit_container .category_box {
    padding: min(5dvw, 27px) 8px;
  }
  #main_container_area .container_center .benefit_container .category_box h4 {
    font-size: var(--font-size-h4-category-sp);
  }
}
#main_container_area .container_center .sub_category_wrap {
  position: relative;
}
#main_container_area .container_center {
  /* 休館日ノート */
}
#main_container_area .container_center .note_wrap {
  margin-top: 1rem;
}
#main_container_area .container_center .note_wrap .note_text {
  text-align: center;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (width <= 626px) {
  #main_container_area .container_center .note_wrap .note_text {
    font-size: min(3vw, 16px);
  }
}
#main_container_area .container_center {
  /* アザーイベント */
}
#main_container_area .container_center .other_events_container .heading_balloon_box {
  width: 100%;
  border-radius: 9999px;
  background-color: #000;
  padding: 20px;
  margin-bottom: 20px;
  position: relative;
}
#main_container_area .container_center .other_events_container .heading_balloon_box::before {
  content: "";
  position: absolute;
  width: 26px;
  height: 20px;
  bottom: -19.5px;
  left: 50%;
  translate: -50% 0;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #000;
}
#main_container_area .container_center .other_events_container .heading_balloon_box h3 {
  color: #FFF;
  text-align: center;
  font-size: 37px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.14em;
}
@media only screen and (max-width: 626px) {
  #main_container_area .container_center .other_events_container .heading_balloon_box {
    padding: min(5dvw, 25px);
  }
  #main_container_area .container_center .other_events_container .heading_balloon_box::before {
    bottom: -15.5px;
    width: 24px;
    height: 16px;
  }
  #main_container_area .container_center .other_events_container .heading_balloon_box h3 {
    font-size: var(--font-size-h3-other-events-sp);
  }
}
#main_container_area .container_center .other_events_container .other_events_inner h4 {
  color: #000;
  text-align: center;
  font-size: 28px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin-top: 60px;
  margin-bottom: 30px;
}
@media only screen and (max-width: 626px) {
  #main_container_area .container_center .other_events_container .other_events_inner h4 {
    font-size: var(--font-size-h4-other-events-inner-sp);
  }
}
#main_container_area .container_center .other_events_container .other_events_inner .content_event_box,
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box {
  padding-inline: 30px;
}
#main_container_area .container_center .other_events_container .other_events_inner .content_event_box li,
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li {
  transition: 0.3s;
}
#main_container_area .container_center .other_events_container .other_events_inner .content_event_box li:not(:last-of-type),
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li:not(:last-of-type) {
  margin-bottom: 41px;
}
@media only screen and (max-width: 626px) {
  #main_container_area .container_center .other_events_container .other_events_inner .content_event_box,
  #main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box {
    padding-inline: min(4dvw, 30px);
  }
}
#main_container_area .container_center .other_events_container .other_events_inner .content_event_box {
  margin-top: 41px;
  margin-bottom: 41px;
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 28px;
  position: relative;
  max-height: 99px;
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li:first-of-type {
  background-color: var(--color-port-master);
  border: 1px solid var(--color-port-master);
  transition: all 0.3s;
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li:nth-of-type(2) {
  background-color: var(--color-terrace-master);
  border: 1px solid var(--color-terrace-master);
  transition: all 0.3s;
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li::before {
  content: "";
  width: 0.8em;
  height: 1em;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 20px;
  translate: 0 -50%;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transition: all 0.3s;
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li:hover:first-of-type {
  background-color: #fff;
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li:hover:first-of-type::before {
  background-color: var(--color-blue-primary);
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li:hover:first-of-type a {
  color: var(--color-blue-primary);
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li:hover:nth-of-type(2) {
  background-color: #fff;
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li:hover:nth-of-type(2)::before {
  background-color: var(--color-terrace-master);
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li:hover:nth-of-type(2) a {
  color: var(--color-terrace-master);
}
#main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li a {
  color: #FFF;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding-block: 33px;
  display: grid;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}
@media only screen and (max-width: 626px) {
  #main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li {
    border-radius: 20px;
    height: 70px;
  }
  #main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li::before {
    width: 0.6em;
    height: 0.8em;
    right: 2dvw;
  }
  #main_container_area .container_center .other_events_container .other_events_inner .content_facility_event_box li a {
    font-size: min(3.2dvw, 11px);
    padding-block: 0;
    padding-inline: calc(2dvw + 1.5em);
    display: grid;
    place-content: center;
  }
}
#main_container_area .container_center .content_box {
  margin-bottom: min(3dvw, 20px);
}
#main_container_area .container_center .content_box.content_box_padding-bottom {
  padding-bottom: 60px;
}
@media screen and (width <= 768px) {
  #main_container_area .container_center .content_box.content_box_padding-bottom {
    padding-bottom: 25px;
  }
}
#main_container_area .container_center .event_date_wrap {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
#main_container_area .container_center .event_date_wrap .event_date_box {
  font-size: 33px;
  font-weight: 700;
  text-align: center;
  color: var(--color-bg);
  letter-spacing: 0.05em;
  line-height: 1.2;
}
#main_container_area .container_center .event_date_wrap .event_date_box .event_date_text {
  width: fit-content;
  position: relative;
  margin-inline: auto;
}
#main_container_area .container_center .event_date_wrap .event_date_box .event_date_text::before, #main_container_area .container_center .event_date_wrap .event_date_box .event_date_text::after {
  content: "";
  width: 2em;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
}
#main_container_area .container_center .event_date_wrap .event_date_box .event_date_text::before {
  background-image: url(../img/event-open-left.png);
  left: -2em;
}
#main_container_area .container_center .event_date_wrap .event_date_box .event_date_text::after {
  background-image: url(../img/event-open-right.png);
  right: -2em;
}
@media only screen and (width <= 626px) {
  #main_container_area .container_center .event_date_wrap .event_date_box {
    font-size: min(7vw, 26px);
  }
}
#main_container_area {
  /* 右カラム */
}
#main_container_area .container_right {
  background-color: var(--color-bg);
}
#main_container_area .container_right > .pin-spacer {
  padding: 0 !important;
}
#main_container_area .container_right .right_inner {
  padding-top: 95px;
  width: fit-content;
  height: 100%;
  position: relative;
  margin-inline: auto;
}
#main_container_area .container_right .right_inner .right_menu_container {
  position: sticky;
  top: 75px;
  z-index: 10;
}
@media screen and (width <= 1280px) {
  #main_container_area .container_right .right_inner {
    padding-top: 70px;
    height: 100%;
  }
  #main_container_area .container_right .right_inner .right_menu_container {
    position: sticky;
    top: 70px;
    z-index: 10;
  }
}
@media screen and (width <= 960px) {
  #main_container_area .container_right .right_inner {
    display: none;
  }
}
#main_container_area .container_right {
  /* MENU タイトル（画像） */
}
#main_container_area .container_right .right_menu_title_box {
  width: 77px;
  position: absolute;
  top: -2rem;
  left: 0;
}
#main_container_area .container_right {
  /* ナビゲーションリスト */
}
#main_container_area .container_right .right_menu_list_box {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 220px;
  margin-inline: auto;
  overflow-x: hidden;
  /* 共通アイテムスタイル（solid 区切り線） */
}
#main_container_area .container_right .right_menu_list_box .right_menu_item {
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  padding-block: 10px;
}
#main_container_area .container_right .right_menu_list_box .right_menu_item a {
  color: #fff;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.3;
  display: block;
  text-decoration: none;
}
#main_container_area .container_right .right_menu_list_box {
  /* TOP（区切り線なし・テキスト大） */
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--top {
  border-top: none;
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--top a {
  font-size: 20px;
}
#main_container_area .container_right .right_menu_list_box {
  /* BARGAINロゴ（区切り線なし・下に区切り線） */
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--logo {
  border-top: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  padding-bottom: 16px;
  margin-bottom: 16px;
}
#main_container_area .container_right .right_menu_list_box {
  /* カテゴリバッジ（共通） */
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge {
  border-top: none;
  padding-block: 0;
  display: flex;
  justify-content: center;
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge + .right_menu_item--badge {
  margin-top: 16px;
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  padding: 0.8rem 10px;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  line-height: 1;
  text-align: center;
}
#main_container_area .container_right .right_menu_list_box {
  /* バッジカラーバリアント */
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge-ladies a {
  background: var(--color-ladies);
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge-mens a {
  background: var(--color-mens);
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge-ladies-mens a {
  background: var(--color-ladies-mens);
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge-kids a {
  background: var(--color-kids);
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge-gofuku a {
  background: var(--color-gofuku);
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge-fashion-goods a {
  background: var(--color-fashion-goods);
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge-household a {
  background: var(--color-household);
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge-gourmet a {
  background: var(--color-gourmet);
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge-service a {
  background: var(--color-service);
}
#main_container_area .container_right .right_menu_list_box .right_menu_item--badge-terrace a {
  background: var(--color-terrace-master);
  color: #fff;
  white-space: nowrap;
}
#main_container_area .container_right {
  /* ポイントアップデー（青背景ボックス） */
}
#main_container_area .container_right .right_menu_point_up_day {
  width: 100%;
  max-width: 220px;
  margin-inline: auto;
  padding-top: 16px;
}
#main_container_area .container_right .right_menu_point_up_day a {
  display: block;
}
#main_container_area .container_right .right_menu_point_up_day a .right_menu_pu_box {
  background: var(--color-port-master);
  border-radius: 10px;
  box-shadow: 0 4px 2px rgba(0, 0, 0, 0.25);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
}
#main_container_area .container_right .right_menu_point_up_day a .right_menu_pu_box img {
  width: 100%;
  height: auto;
}
#main_container_area .container_right .right_menu_point_up_day a .right_menu_pu_box .right_menu_pu_text {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.2;
  margin-top: 0.3rem;
}
#main_container_area .container_right {
  /* ならぽーとBARGAINロゴ（画像） */
}
#main_container_area .container_right .right_menu_bargain_logo {
  width: 85%;
}

/*--------------------------------------------------
 TOPへ戻るボタン
--------------------------------------------------*/
.top_btn_wrap {
  margin-top: 0;
  margin-bottom: 57px;
}
.top_btn_wrap .top_btn_container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60%;
  padding: 23px;
  margin-top: 20px;
  margin-bottom: 60px;
  margin-inline: auto;
  background-color: var(--color-top-btn);
  border: 1px solid var(--color-top-btn);
  border-radius: 9999px;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  cursor: pointer;
  position: relative;
  user-select: none;
  transition: background-color 0.2s;
}
.top_btn_wrap .top_btn_container::before, .top_btn_wrap .top_btn_container::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2.5px;
  height: 10px;
  background-color: #fff;
  transform: translateY(-50%);
  transition: 0.3s;
  pointer-events: none;
}
.top_btn_wrap .top_btn_container::before {
  transform: translateY(-50%) rotate(-45deg);
  right: 30px;
}
.top_btn_wrap .top_btn_container::after {
  transform: translateY(-50%) rotate(45deg);
  right: 35px;
}
.top_btn_wrap .top_btn_container .top_btn_text {
  color: #fff;
}
.top_btn_wrap .top_btn_container {
  /* マウスホバー時 */
}
.top_btn_wrap .top_btn_container:hover {
  background-color: #fff;
}
.top_btn_wrap .top_btn_container:hover::before, .top_btn_wrap .top_btn_container:hover::after {
  background-color: var(--color-top-btn);
}
.top_btn_wrap .top_btn_container:hover .top_btn_text {
  color: var(--color-top-btn);
}
@media (hover: hover) {
  .top_btn_wrap .top_btn_container:hover {
    background-color: #fff;
  }
  .top_btn_wrap .top_btn_container:hover::before,
  .top_btn_wrap .top_btn_container:hover::after {
    background-color: var(--color-top-btn);
  }
  .top_btn_wrap .top_btn_container:hover .top_btn_text {
    color: var(--color-top-btn);
  }
}

/*# sourceMappingURL=style.css.map */



