/**********************************************************
*
* 共通スタイル
*
************************************************************/

.fs-trial-header {
  display: none !important;
}

.fs-l-page {
  padding-top: 30px;
}
body#fs_Top .fs-l-page,
body#fs_CustomPage .fs-l-page,
body#fs_CustomerDetails .fs-l-page,
body.fs-body-checkout .fs-l-page,
body#fs_Register .fs-l-page,
body#fs_RegisterSuccess .fs-l-page,
body#fs_ProductSearch .fs-l-page {
  padding-top: 0;
}

#p-list {
  scroll-margin-top: 100px;
}

/**********************************************************
* 変数定義
***********************************************************/
:root {
  /* 色 */
  --cl-orange: #F8734C;
  --cl-dark-orange: #D8481E;
  --cl-red: #FF3333;
  --cl-light-gray: #F1F5F9;
  --cl-dark-gray: #333E48;
  --cl-creem: #FFF6CD;
  --cl-beige: #EDE7C7;
  --cl-light-beige: #FAF9F5;
  --cl-brown: #6D5217;
  --cl-cream: #F4D962;
  --cl-slate: #f1f5f9;
  --cl-dark-slate: #475569;
  --cl-light-gray: #E5E5E5;
  --cl-black: #111;

  /* フォント */
  --fn-number: "Roboto", sans-serif;

  /* コンテンツ幅上限 */
  --max-contents-width: 1520px;
  --lower-page-contents-width: 1240px;
  --narrow-contents-width: 1000px;
}

/**********************************************************
* デフォルトセッティング
***********************************************************/
* {
  box-sizing: border-box;
  margin: 0;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
}
body {
  background: var(--cl-light-beige);
  padding-top: 80px;
}
body:has(#header.simple-header) {
  padding-top: 0;
}

p {
  font-size: 16px;
  line-height: 1.5em;
}

a {
  text-decoration: none;
  transition: .3s;
}
a:hover {
  opacity: .8;
}

iframe {
  border: 0;
}

.for-sp {
  display: none;
}

summary {
  list-style: none !important;
}
details summary::-webkit-details-marker,
details summary::marker {
  display: none !important;
}


/**********************************************************
* 文字装飾
***********************************************************/
/*** 白抜き見出し ***/
.hollow-text {
  color: white; /* テキストの色を白にする */
  text-shadow:
    -1px -1px 0 #000, /* 左上 */
    1px -1px 0 #000, /* 右上 */
    -1px 1px 0 #000, /* 左下 */
    1px 1px 0 #000; /* 右下 */
  /* 必要に応じて影の色（ここでは#000=黒）や太さを調整 */
}

/*** オレンジマーカー ***/
.orange-marker {
  position: relative;
  z-index: 5;
  line-height: 1.1em;
  margin-bottom: 5px;
}
.orange-marker:before {
  content: "";
  display: block;
  width: calc(100% + 10px);
  height: 10px;
  background: var(--cl-orange);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 -5px;
  z-index: -1;
}

/*** 吹き出し ***/
.fukidashi {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1px;
  border-top: 2px solid var(--cl-black);
  border-bottom: 2px solid var(--cl-black);
  padding: 10px;
  display: inline-block;
  position: relative;
  margin-bottom: 20px;
}
.fukidashi:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: #fff;
  border: 2px solid var(--cl-black);
  border-left: 0;
  border-top: 0;
  left: 0;
  right: 0;
  bottom: -7px;
  margin: auto;
  position: absolute;
  transform: rotate(45deg);
}

/**********************************************************
* ボタン
***********************************************************/
.button-link-wrapper.justify-center {
  display: flex;
  justify-content: center;
}

.link-button {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--cl-dark-gray);
  width: max-content;
}
.link-button a {
  display: flex;
  justify-content: center;
  padding: 15px 60px 15px 30px;
  font-size: 15px;
  font-weight: bold;
  text-decoration: none;
  color: var(--cl-dark-gray);
  letter-spacing: 1px;
  position: relative;
  z-index: 5;
  flex: 1;
}
.link-button a:after {
  content: "";
  background: url(https://taishodo.itembox.design/item/icons/circle-arrow-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
  display: block;
  width: 25px;
  height: 25px;
  transition: .3s;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto 10px auto 0;
}
.link-button:hover a:after {
  transform: translateX(5px);
}

.link-button.--small a {
  font-size: 14px;
}
.link-button.--small a:after {
  width: 20px;
  height: 20px;
}

.fs-c-button--confirmChange {
  display: flex;
  background: var(--cl-slate);
  border: 1px solid var(--cl-dark-gray);
  font-size: 14px;
  padding: 15px 15px 15px 19px;
  border-radius: 5px;
  width: 100%;
  max-width: 300px;
  font-weight: bold;
  color: var(--cl-dark-gray);
  letter-spacing: 4px;
  justify-content: center;
  margin: 0 auto;
  transition: .3s;
}
.fs-c-button--confirmChange:hover {
  background: var(--cl-light-gray);
}


/**********************************************************
* 余白
***********************************************************/
.cm-pa {
  padding: 50px;
}
.cm-py {
  padding-top: 50px;
  padding-bottom: 50px;
}
.cm-px {
  padding-left: 50px;
  padding-right: 50px;
}

/**********************************************************
* コンテンツ幅
***********************************************************/
.max-contents-width {
  max-width: var(--max-contents-width);
  margin: 0 auto;
}

.common-page-contents-width {
  max-width: var(--lower-page-contents-width);
  margin: 0 auto;
}

.narrow-contents-width {
  max-width: var(--narrow-contents-width);
  margin: 0 auto;
}

/**********************************************************
* 検索フォーム
***********************************************************/
.fs-p-searchForm .fs-p-searchForm__inputGroup {
  display: flex;
  align-items: center;
  border: 1px solid var(--cl-black);
  border-radius: 100px;
  overflow: hidden;
  padding: 5px 5px 5px 10px;
  gap: 5px;
}

.fs-p-searchForm .fs-p-searchForm__inputGroup .fs-p-searchForm__input {
  font-size: 16px;
  width: 250px;
}

.fs-p-searchForm .fs-p-searchForm__inputGroup .fs-p-searchForm__input,
.fs-p-searchForm .fs-p-searchForm__inputGroup .fs-p-searchForm__input:focus {
  border: none;
  box-shadow: none;
}

.fs-p-searchForm .fs-p-searchForm__inputGroup .fs-p-searchForm__button {
  background: var(--cl-black);
  border-radius: 100%;
  border: 0;
  aspect-ratio: 1 / 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  transition: .3s;
}
.fs-p-searchForm .fs-p-searchForm__inputGroup .fs-p-searchForm__button:hover {
  transform: scale(.9);
}
.fs-p-searchForm .fs-p-searchForm__inputGroup .fs-p-searchForm__button img {
  width: 14px;
}

/**********************************************************
* Carousel
***********************************************************/
.fs-pt-carousel img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/**********************************************************
* Swiper
***********************************************************/
.swiper-button-prev,
.swiper-button-next {
  background: rgba(30, 30, 30, 0.3);
  width: 30px !important;
  height: 40px !important;
}
.swiper-button-prev:after {
  content: "\e90b" !important;
  font-family: "fs-icon" !important;
  font-size: 30px !important;
  color: #fff;
  opacity: .75;
}
.swiper-button-next:after {
  content: "\e90c" !important;
  font-family: "fs-icon" !important;
  font-size: 30px !important;
  color: #fff;
  opacity: .75;
}
.swiper-button-prev:hover:after,
.swiper-button-next:hover:after {
  opacity: 1;
}

/**********************************************************
* Slick
***********************************************************/
.fs-c-slick .slick-dots {
  margin-top: 10px;
}
.fs-c-slick .slick-dots li,
.fs-c-slick .slick-dots li button {
  width: 12px;
  height: 12px;
}
.fs-c-slick .slick-dots li button:before {
  width: 9px;
  height: 9px;
  background: #aaa;
  border-radius: 100px;
}
.fs-c-slick .slick-prev,
.fs-c-slick .slick-next {
  width: 30px;
}
.fs-c-slick .slick-prev:before,
.fs-c-slick .slick-next:before {
  font-size: 30px;
}

/**********************************************************
* ヘッダー
***********************************************************/
#header {
  display: flex;
  align-items: center;
  padding: 5px 50px;
  gap: 20px;
  width: 100%;
  background: #fff;
  position: fixed;
  z-index: 9999;
  top: 0;
  transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}
#header.hidden:not(:has(.fs-p-ctrlDrawer:checked)) {
  transform: translateY(-100%);
}

#header .fs-l-header__logo {
  width: 210px;
  position: relative;
  z-index: 5000;
}
#header .fs-l-header__logo a {
  width: 100%;
  display: inline-flex;
}
#header .fs-l-header__logo a .fs-p-logo__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#header #gnav {
  display: flex;
  align-items: center;
  height: 70px;
  z-index: 5000;
}
#header #gnav .gnav-item {
  cursor: default;
}
#header #gnav .gnav-item:hover {
  background: var(--cl-light-beige);
}
#header #gnav .gnav-item .gnav-item-menu {
  font-size: 15px;
  padding: 20px;
  letter-spacing: 2px;
  color: var(--cl-dark-gray);
  font-weight: 500;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
}
#header #gnav .gnav-item .gnav-item-menu .ruby {
  font-size: 10px;
  font-weight: bold;
  display: none;
}
#header #gnav .gnav-item .gnav-megamenu {
  background: #fff;
  position: absolute;
  left: 0;
  top: calc(100% - 10px);
  width: 100%;
  padding: 30px 50px 40px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(0) translateY(-5px);
  transition: all .3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
#header #gnav .gnav-item:hover .gnav-megamenu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0) translateY(0);
}
#header #gnav .gnav-item .gnav-megamenu .gnav-megamenu-contents {
  max-width: 1420px;
  margin:0 auto;
}
#header #gnav .gnav-item .gnav-megamenu .gnav-megamenu-contents .gnav-megamenu-inner-menu {
  display: flex;
  gap: 30px;
}
#header #gnav .gnav-item .gnav-megamenu ul {
  padding: 0;
  list-style: none;
}
#header #gnav .gnav-item .gnav-megamenu .tabs {
  border-right: 1px solid var(--cl-dark-gray);
}
#header #gnav .gnav-item .gnav-megamenu .tabs ul li {
  font-size: 14px;
  font-weight: bold;
  color: var(--cl-dark-gray);
  padding: 10px 30px;
  cursor: pointer;
  width: 100%;
  border-left: 4px solid transparent;
}
#header #gnav .gnav-item .gnav-megamenu .tabs ul li a {
  color: var(--cl-dark-gray);
}
#header #gnav .gnav-item .gnav-megamenu .tabs ul li.active {
  text-decoration: underline;
  text-underline-offset: 5px;
  background: var(--cl-beige);
  color: var(--cl-brown);
  font-weight: 900;
  border-left: 4px solid var(--cl-brown);
}
#header #gnav .gnav-item .gnav-megamenu .tabs ul li.active a {
  color: var(--cl-brown);
}
#header #gnav .gnav-item .gnav-megamenu .contents {
  flex: 1;
}
#header #gnav .gnav-item .gnav-megamenu .contents > div {
  display: none;
}
#header #gnav .gnav-item .gnav-megamenu .contents .category-icon-list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 20px;
}
#header #gnav .gnav-item .gnav-megamenu .contents .category-icon-list .category-icon a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  color: var(--cl-dark-gray);
  font-size: 11px;
}
#header #gnav .gnav-item .gnav-megamenu .contents .category-icon-list .category-icon .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  aspect-ratio: 1 / 1;
}
#header #gnav .gnav-item .gnav-megamenu .contents .category-icon-list .category-icon .icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#header #gnav .gnav-item .gnav-megamenu .contents .category-icon-list .category-icon:hover .category-name {
  font-weight: 900;
  text-decoration: underline;
}

/* 商品メニュー */
#header #gnav .gnav-item .gnav-megamenu .slick-slide {
  width: 200px;
  margin: 0 20px;
}
#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListItem__imageContainer {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--cl-black);
}
#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListItem__imageContainer .fs-c-productListItem__image {
  width: 100%;
  height: 100%;
}
#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListItem__imageContainer .fs-c-productListItem__image a {
  display: inline-flex;
  width: 100%;
  height: 100%;
}
#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListItem__imageContainer .fs-c-productListItem__image a .fs-c-productListItem__image__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListCarousel__list__item .fs-c-productListItem__productName {
  margin-top: 5px;
  height: 35px;
  overflow: hidden;
}

#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListCarousel__list__item .fs-c-productName__name {
  font-size: 12px;
  color: var(--cl-black);
}

#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListCarousel__list__item .fs-c-productName__copy,
#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListCarousel__list__item .fs-c-productListItem__control {
  display: none;
}

#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListCarousel__list__item .fs-c-productListItem__prices {
  margin-top: 10px;
}

#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListCarousel__list__item .fs-c-productPrice {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  font-weight: bold;
}

#header #gnav .gnav-item .gnav-megamenu .slick-slide .fs-c-productListCarousel__list__item .fs-c-productPrice__main__price {
  display: inline-flex;
  font-size: 14px;
  gap: 2px;
}

.fs-c-button--carousel--prev,
.fs-c-button--carousel--next {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}
.fs-c-button--carousel--prev:before {
  font-family: "Font Awesome 5 Free";
  content:'\f053';
  font-weight: 900;
  font-size: 20px;
}
.fs-c-button--carousel--next:before {
  font-family: "Font Awesome 5 Free";
  content:'\f054';
  font-weight: 900;
  font-size: 20px;
}

/* 特集・キャンペーンメニュー */
#header #gnav .gnav-item.campaign .gnav-megamenu .campaign-banner-carousel .slick-slide {
  width: 300px;
}
#header #gnav .gnav-item.campaign .gnav-megamenu .campaign-banner-carousel .slick-slide img {
  border-radius: 10px;
  border: 1px solid var(--cl-dark-gray);
}
#header #gnav .gnav-item.campaign .gnav-megamenu .campaign-banner-carousel .slick-slide figcaption {
  font-size: 13px;
  font-weight: bold;
  margin-top: 3px;
  color: var(--cl-dark-gray);
}

/*** ランキング商品 ***/
.ranking-items .slick-list {
  counter-reset: list-counter;
}
.ranking-items .slick-slide .fs-c-productListItem__image {
  counter-increment: list-counter;
  position: relative;
}
.ranking-items .slick-slide .fs-c-productListItem__image:before {
  content: counter(list-counter);
  display: inline-flex;
  position: absolute;
  left: 10px;
  top: 10px;
  font-weight: bold;
  width: 30px;
  height: 30px;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  font-size: 14px;
  text-shadow: -1px -1px 0 #000, /* 左上 */
    1px -1px 0 #000, /* 右上 */
    -1px 1px 0 #000, /* 左下 */
    1px 1px 0 #000;
  z-index: 1000;
}
/* 1位～3位 */
.ranking-items .slick-slide:nth-of-type(-n+3) .fs-c-productListItem__image:before {
  background: var(--cl-cream);
  color: #fff;
  border: 1px solid var(--cl-black);
}
/* 4位～ */
.ranking-items .slick-slide:nth-of-type(n+4) .fs-c-productListItem__image:before {
  background: var(--cl-light-gray);
  color: #fff;
  border: 1px solid var(--cl-black);
}

/*** メニューアイコン ***/
.fs-p-menu-icons {
  display: flex !important;
  justify-content: flex-end;
  gap: 15px;
  flex: 1;
  position: relative;
  z-index: 5000;
}

.fs-p-icon a {
  text-decoration: none;
}
.fs-p-icon a figure {
  text-align: center;
  height: 25px;
  margin-bottom: 5px;
}
.fs-p-icon a figure img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  transition: .3s;
}
.fs-p-icon a:hover figure img {
  transform: scale(1.15);
}
.fs-p-icon a span {
  font-size: 11px;
  font-weight: bold;
  color: var(--cl-black);
}

.fs-p-icon.cart-icon {
  position: relative;
}
.fs-p-icon.cart-icon .fs-client-cart-count {
  font-family: var(--fn-number);
  background: var(--cl-dark-orange);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  width: 22px;
  font-size: 12px;
  border-radius: 100%;
  position: absolute;
  right: -5px;
  top: -10px;
  font-weight: 500;
  z-index: 9999;
  border: 2px solid #fff;
}
.fs-p-icon.cart-icon .fs-client-cart-count.fs-client-cart-count--0 {
  display: none;
}

/* サブメニュー */
.fs-p-icon {
  position: relative;
  margin-top: 10px;
  padding-bottom: 10px;
}
.fs-p-icon:has(.submenu):after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  display: block;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-bottom-color: var(--cl-dark-gray);
  opacity: 0;
}
.fs-p-icon:has(.submenu):hover:after {
  opacity: 1;
}
.fs-p-icon .submenu {
  height: 0;
  width: 300px;
  overflow: hidden;
  position: absolute;
  top: 100%;
  right: -50px;
  background: #fff;
  opacity: 0;
  padding: 15px 15px 13px;
  border: 1px solid var(--cl-dark-gray);
  border-radius: 8px;
  visibility: hidden;
}
.fs-p-icon:hover .submenu {
  height: max-content;
  opacity: 1;
  visibility: unset; 
}
.fs-p-icon.mypage-icon .submenu .login-user {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}
.fs-p-icon.mypage-icon .submenu .login-user-name {
  font-size: 12px;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 5px;
}
.fs-p-icon.mypage-icon .submenu .login-user-name .user-icon {
  background: var(--cl-dark-gray);
  display: inline-block;
  border-radius: 5px;
  aspect-ratio: 1 / 1;
  padding: 5px;
}
.fs-p-icon.mypage-icon .submenu .held-point {
  background: var(--cl-creem);
  color: var(--cl-dark-gray);
  border: 1px solid var(--cl-beige);
  padding: 10px 15px;
  border-radius: 5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.fs-p-icon.mypage-icon .submenu .held-point .heading {
  font-size: 12px;
  display: block;
  font-weight: bold;
}
.fs-p-icon.mypage-icon .submenu .held-point .disp-point {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}
.fs-p-icon.mypage-icon .submenu .held-point .disp-point .unit {
  font-size: 12px;
  margin-left: 3px;
}
.fs-p-icon.mypage-icon .submenu .menu-link ul {
  padding: 0;
  list-style: none;
  font-size: 12px;
}

.fs-p-icon.mypage-icon .submenu .menu-link h5 {
  font-size: 12px;
  font-weight: 900;
  color: var(--cl-dark-gray);
  border-bottom: 1px solid var(--cl-dark-gray);
  padding: 0 0 5px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.fs-p-icon.mypage-icon .submenu .menu-link h5 .menu-list-icon {
  background: var(--cl-dark-gray);
  display: inline-block;
  border-radius: 5px;
  aspect-ratio: 1 / 1;
  padding: 5px;
}
.fs-p-icon.mypage-icon .submenu .menu-link ul li {
  margin: 0 0 5px;
  display: flex;
  align-items: center;
  gap: 2px;
}
.fs-p-icon.mypage-icon .submenu .menu-link ul li:before {
  content: "-";
  font-size: 10px;
  font-weight: bold;
}
.fs-p-icon.mypage-icon .submenu .menu-link ul li:last-child {
  margin: 0;
}
.fs-p-icon.mypage-icon .submenu .menu-link ul li a {
  font-weight: bold;
  color: var(--cl-dark-gray);
}
.fs-p-icon.mypage-icon .submenu a.logout-button {
  display: inline-flex;
  gap: 2px;
  align-items: center;
  font-size: 10px;
  font-weight: 800;
  color: var(--cl-dark-gray);
  background: var(--cl-slate);
  padding: 3px 6px;
  border-radius: 5px;
  border: 1px solid #ccc;
  transition: .3s;
}
.fs-p-icon.mypage-icon .submenu a.logout-button:hover {
  background: var(--cl-light-gray);
}
.fs-p-icon.mypage-icon .submenu a.logout-button .logout-icon {
  margin-top: 4px;
}

/* ログイン / 非ログインでの切り替え */
.login-icon.login-status-true {
  display: none;
}
.mypage-icon.login-status-false {
  display: none;
}

/* シンプルヘッダー */
#header.simple-header {
  justify-content: center;
  position: static;
  margin-bottom: 30px;
}

/**********************************************************
* フッター
***********************************************************/
/*** ご利用ガイド ***/
.footer-guide-area {
  background: var(--cl-beige);
}

.footer-guide-area .guide-link-buttons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-guide-area .guide-link-buttons .guide-link {
  width: 100%;
}
.footer-guide-area .guide-link-buttons .guide-link a {
  padding: 20px 50px 20px 40px;
}

.footer-guide-area .furniture-services {
  margin-top: 30px;
  border-top: 1px solid var(--cl-dark-gray);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.footer-guide-area .furniture-services .service-item:nth-of-type(1) {
  border-right: 1px solid var(--cl-dark-gray);
  padding: 20px 20px 0 0;
}
.footer-guide-area .furniture-services .service-item:nth-of-type(2) {
  padding: 20px 0 0 20px;
}

.footer-guide-area .furniture-services .service-item .service-title {
  font-size: 20px;
  font-weight: bold;
  margin-left: 5px;
  margin-bottom: 10px;
  display: inline-block;
  width: max-content;
  line-height: 1.4em;
  letter-spacing: 1px;
  text-shadow: 1px 1px #fff;
}
.footer-guide-area .furniture-services .service-item .description {
  margin-bottom: 10px;
}
.footer-guide-area .furniture-services .service-item .description p {
  margin: 0;
  font-weight: 500;
}
.footer-guide-area .furniture-services .service-item .description .note {
  margin-top: 5px;
  font-size: 14px;
}

/*** 会社情報 ***/
.footer-corporate-area {
  display: flex;
  padding-left: 50px;
  background: #fff;
}
.footer-corporate-area .section-contents {
  max-width: 570px;
  flex: 1;
  margin-left: auto;
  padding: 50px 30px 50px 0;
  align-content: center;
}
.footer-corporate-area .section-contents .heading {
  margin-bottom: 20px;
}
.footer-corporate-area .section-contents .heading .copy {
  font-weight: bold;
  color: var(--cl-dark-gray);
  margin: 0 0 5px;
}
.footer-corporate-area .section-contents .heading h3 {
  font-size: 24px;
  font-weight: bold;
  color: var(--cl-dark-orange);
  letter-spacing: 1px;
}
.footer-corporate-area .section-contents .text {
  margin-bottom: 40px;
}
.footer-corporate-area .shop-image {
  width: calc(50% + 25px);
}
.footer-corporate-area .shop-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/*** バナーエリア ***/
.footer-banner-area .reform-banner-link a {
  display: flex;
  align-items: center;
  gap: 30px;
  border-radius: 15px;
  padding: 30px;
  border: 1px solid var(--cl-dark-gray);
  color: var(--cl-dark-gray);
  text-decoration: none;
  background: #fff;
}
.footer-banner-area .reform-banner-link a .text p {
  font-weight: bold;
  font-size: 15px;
}

.footer-banner-area .reform-banner-link a .arrow-icon {
  transition: .3s;
}
.footer-banner-area .reform-banner-link a:hover .arrow-icon {
  transform: translateX(5px);
}

/*** フッターメイン ***/
#footer {
  padding: 50px 50px 20px;
}

#footer ul {
  list-style: none;
  padding: 0;
}

#footer .top-area {
  margin-bottom: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
}
#footer .top-area .menu-links-block {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 30px;
  flex: 1;
  width: 100%;
  max-width: 700px;
}
#footer .top-area .menu-links-block h4 {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 5px;
  color: var(--cl-dark-gray);
}
#footer .top-area .menu-links-block ul li {
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  gap: 5px;
}
#footer .top-area .menu-links-block ul li:before {
  content: "-";
  display: block;
  color: var(--cl-dark-gray);
  margin-top: 1px;
}
#footer .top-area .menu-links-block ul.footer-menu-other li:before {
  display: none;
}
#footer .top-area .menu-links-block ul li:nth-last-of-type(1) {
  margin: 0;
}
#footer .top-area .menu-links-block ul li a {
  font-size: 11px;
  color: var(--cl-dark-gray);
  text-decoration: none;
  font-weight: 600;
}
#footer .top-area .menu-links-block ul.footer-menu-other li span,
#footer .top-area .menu-links-block ul.footer-menu-other li a {
  font-size: 14px;
  font-weight: 600;
  color: var(--cl-dark-gray);
}

#footer .top-area .contact-block {
  border: 1px solid var(--cl-dark-gray);
  border-radius: 15px;
  padding: 20px;
  background: #fff;
  display: flex;
  align-items: flex-start;
  gap: 30px;
}
#footer .top-area .contact-block h5 {
  font-size: 14px;
  font-weight: 600;
  color: var(--cl-dark-gray);
  margin-bottom: 10px;
}

#footer .top-area .contact-block .tel-number {
  display: flex;
  align-items: center;
  gap: 10px;
}
#footer .top-area .contact-block .tel-number a {
  font-size: 24px;
  font-weight: 900;
  color: var(--cl-black);
}
#footer .top-area .contact-block .by-tel-block .supplement {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  margin-top: 5px;
}
#footer .top-area .contact-block .by-form-block .form-icon {
  display: inline-flex;
}
#footer .top-area .contact-block .by-form-block .form-link {
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 5px;
  padding: 15px;
  background: var(--cl-dark-orange);
  transition: .3s;
}
#footer .top-area .contact-block .by-form-block .form-link:hover {
  opacity: .8;
}
#footer .top-area .contact-block .by-form-block .form-link a {
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

#footer .bottom-area {
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
}
#footer .bottom-area .company-info-block {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}
#footer .bottom-area .company-info-block .company-info {
  font-size: 15px;
  line-height: 1.5em;
  color: var(--cl-dark-gray);
}
#footer .bottom-area .company-info-block .company-info .company-name {
  font-weight: bold;
}
#footer .bottom-area .company-info-block .company-info .address {
  font-size: 14px;
}

#footer .bottom-area .sns-block {
  display: flex;
  align-items: flex-end;
  gap: 15px;
  color: var(--cl-dark-gray);
}
#footer .bottom-area .sns-block .text h5 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 5px;
}
#footer .bottom-area .sns-block .text p {
  margin: 0;
  font-size: 14px;
}
#footer .bottom-area .sns-block .icon-links {
  display: flex;
  gap: 15px;
}
#footer .bottom-area .sns-block .icon-link figure img {
  width: 40px;
  height: 40px;
}

#footer .copyright-area {
  display: flex;
  justify-content: space-between;
}
#footer .copyright-area .terms-link ul {
  list-style: none;
  display: inline-flex;
  align-items: center;
  padding: 0;
  gap: 10px;
}
#footer .copyright-area .terms-link ul li a {
  font-size: 12px;
  color: var(--cl-dark-gray);
  text-decoration: underline;
  text-underline-offset: 5px;
}
#footer .copyright-area .fs-p-footerCopyright__text {
  font-size: 12px;
  color: var(--cl-dark-gray);
  letter-spacing: 1px;
  font-weight: 600;
}

.checkout-footer #footer .top-area {
  display: none;
}

/**********************************************************
* セクション
***********************************************************/
/* セクションタイトル */
.section-title {
  margin-bottom: 30px;
}
.section-title .heading-text {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 38px;
  font-weight: 900;
  width: max-content;
  max-width: 100%;
  letter-spacing: 4px;
}
.section-title .ruby {
  font-weight: bold;
  color: var(--cl-dark-gray);
  font-size: 18px;
  letter-spacing: 2px;
}
.section-title .lead-text {
  font-size: 15px;
}

.section-title.horizontal {
  display: flex;
  align-items: flex-end;
  gap: 30px;
}

.justify-center .section-title {
  text-align: center;
  width: max-content;
  margin: 0 auto 50px;
  width: 100%;
}
.justify-center .section-title .heading-text {
  margin-left: auto;
  margin-right: auto;
  width: max-content;
}

.fill-contents {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
}

.narrow-contents {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}

/* セクションヘッダー付 */
.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 30px;
}
.section-header .section-title {
  margin: 0;
}

/* シンプルセクションタイトル */
.justify-center .simple-section-title {
  text-align: center;
}
.simple-section-title {
  margin-bottom: 15px;
}
.simple-section-title h2 {
  font-size: 24px;
  font-weight: bold;
  color: var(--cl-dark-gray);
}

/**********************************************************
* 背景付ラッパー
***********************************************************/
.bg-wrapper.beige {
  background: var(--cl-beige);
}

/**********************************************************
* パンくず
***********************************************************/
.fs-c-breadcrumb {
  padding: 15px 0;
  margin-bottom: 30px;
  background: var(--cl-dark-slate);

  /* 一旦全体で非表示 */
  display: none !important;
}
.fs-c-breadcrumb__list {
  overflow: hidden;
  height: 20px;
  max-width: var(--lower-page-contents-width);
  margin: 0 auto;
  padding: 0 50px;
  position: relative;
}
.fs-c-breadcrumb__list:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 100%;
  background: linear-gradient(90deg,rgba(71, 85, 105, 0) 0%, rgba(71, 85, 105, 1) 30%, rgba(71, 85, 105, 1) 100%);
}
.fs-c-breadcrumb__list > li {
  font-size: 12px;
  display: inline;
}
.fs-c-breadcrumb__list > li,
.fs-c-breadcrumb__list > li a {
  color: #fff;
  opacity: .9;
}
.fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem::before {
  content: "/";
}

/**********************************************************
* ページコンテンツラッパー
***********************************************************/
.page-contents-wrapper {
  padding: 0 50px 50px;
  max-width: var(--lower-page-contents-width);
  margin: 0 auto;
}

/* 2カラム */
.page-contents-wrapper.column-2 {
  display: flex;
  gap: 50px;
}

/**********************************************************
* メインコンテンツ
***********************************************************/
.main-contents-wrapper {
  flex: 1;
}

/**********************************************************
* サイドメニュー
***********************************************************/
.sidemenu-contents-wrapper {
  width: 250px;
}
.sidemenu-contents-wrapper ul {
  padding: 0;
  list-style: none;
}
.sidemenu-contents-wrapper .fs-pt-menu__heading--lv1 {
  font-size: 14px;
  font-weight: bold;
}
.sidemenu-contents-wrapper .fs-pt-menu__submenu {
  display: none;
}


/**********************************************************
* フォーム
***********************************************************/
/* フォーム本体 */
.input-form-wrapper #fs_form {
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
}
.fs-c-inputTable {
  width: 100%;
}
.fs-c-inputTable__headerCell {
  font-size: 14px;
  display: block;
  padding: 0 0 10px;
  text-align: left;
  position: relative;
  color: var(--cl-dark-gray);
}
.fs-c-inputTable tr:not(:first-child) .fs-c-inputTable__headerCell {
  padding-top: 30px;
}
.fs-c-inputTable__dataCell {
  display: block;
  padding: 0;
}
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
select,
textarea {
  font-size: 16px;
  padding: 8px 10px;
  border-radius: 5px;
  border: 1px solid #aaa;
}

[type=hidden], [type=text], [type=search], [type=tel], [type=url], [type=email], [type=password], [type=datetime], [type=date], [type=month], [type=week], [type=time], [type=datetime-local], [type=number], select, textarea {
  max-width: 100%;
}

.fs-c-inputGroup,
.fs-c-inputGroup--inline,
.fs-c-inputGroup--vertical {
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid #aaa;
}
.fs-c-requiredMark::before {
  content: "必須";
  font-size: 10px;
  color: #fff;
  position: absolute;
  background: var(--cl-red);
  border-radius: 100px;
  padding: 2px 10px;
  font-weight: 500;
  letter-spacing: 2px;
  margin-left: 10px;
  bottom: 10px;
}

.fs-c-inputInformation__button {
  margin-top: 30px;
}

/* input */
.fs-c-inputInformation__button .fs-c-button--login,
.fs-c-inputInformation__button .fs-c-button--send,
.fs-c-inputInformation__button .fs-c-button--register,
.fs-c-inputInformation__button .fs-c-button--confirmRegister,
.fs-c-button--confirmChange,
.fs-c-inputInformation__button .fs-c-button--change,
.fs-c-inputInformation__button .fs-c-button--confirmLeave {
  width: 300px;
  max-width: 100%;
  padding: 15px;
  display: block;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 2px;
  border-radius: 10px;
  border: 1px solid var(--cl-dark-gray);
  color: var(--cl-dark-gray);
  background: var(--cl-slate);
  transition: .3s;
  position: relative;
  text-align: center;
}
.fs-c-inputInformation__button .fs-c-button--login:hover,
.fs-c-inputInformation__button .fs-c-button--send:hover,
.fs-c-inputInformation__button .fs-c-button--register:hover,
.fs-c-inputInformation__button .fs-c-button--confirmRegister:hover,
.fs-c-button--confirmChange:hover,
.fs-c-inputInformation__button .fs-c-button--change:hover,
.fs-c-inputInformation__button .fs-c-button--confirmLeave:hover {
  background: var(--cl-light-gray);
}
.fs-c-inputInformation__button .fs-c-button--login:after,
.fs-c-inputInformation__button .fs-c-button--send:after,
.fs-c-inputInformation__button .fs-c-button--register:after,
.fs-c-inputInformation__button .fs-c-button--confirmRegister:after,
.fs-c-button--confirmChange:after,
.fs-c-inputInformation__button .fs-c-button--change:after,
.fs-c-inputInformation__button .fs-c-button--confirmLeave:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto 0;
  background: url(https://taishodo.itembox.design/item/icons/circle-arrow-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
  width: 25px;
  height: 25px;
  display: block;
  transition: .3s;
}
.fs-c-inputInformation__button .fs-c-button--login:hover:after
.fs-c-inputInformation__button .fs-c-button--send:hover:after,
.fs-c-inputInformation__button .fs-c-button--register:hover:after,
.fs-c-inputInformation__button .fs-c-button--confirmRegister:hover:after,
.fs-c-button--confirmChange:hover:after,
.fs-c-inputInformation__button .fs-c-button--change:hover:after,
.fs-c-inputInformation__button .fs-c-button--confirmLeave:hover:after {
  right: 10px;
}

/* radio */
.fs-c-radio__label {
  border: 1px solid #aaa;
  border-radius: 5px;
  padding: 10px 15px;
  background: #fff;
}
input[type="radio"]:checked + .fs-c-radio__label {
  border: 2px solid var(--cl-dark-gray);
  background: var(--cl-slate);
}
.fs-c-inputField .fs-c-radio {
  font-size: 14px;
}
.fs-c-radio__radioMark {
  margin-right: 10px;
}

.fs-c-inputField__explanation {
  margin-top: 5px;
  font-size: 12px;
}

/* select */
.fs-c-dropdown__menu {
  color: var(--cl-black);
  font-size: 14px;
  border-radius: 5px;
  border: 1px solid #aaa;
  padding: 8px 10px;
}
.fs-c-dropdown__menu > option {
  font-weight: 400;
}

/* 年月日 */
.fs-c-inputDate__year {
  width: 130px;
}
.fs-c-inputDate__month,
.fs-c-inputDate__date {
  width: 110px;
}

/* 住所サジェスト */
.fs-c-suggestedAddress__list {
  padding: 10px;
  list-style: none;
}
.fs-c-suggestedAddress__list .fs-c-suggestedAddress__listItem {
  font-size: 12px;
  padding: 5px 0;
}
.fs-c-suggestedAddress__list .fs-c-suggestedAddress__listItem:before {
  content: "〒";
}

/* パスワードアイコン */
.fs-c-button--displayPassword,
.fs-c-button--hidePassword {
  background: var(--cl-slate);
  border: 0;
  padding: 0 15px !important;
  transition: .3s;
}
.fs-c-button--displayPassword:hover,
.fs-c-button--hidePassword:hover {
  background: var(--cl-light-gray);
}
.fs-c-button--displayPassword:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(https://taishodo.itembox.design/item/icons/invisible-password-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
}
.fs-c-button--hidePassword:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(https://taishodo.itembox.design/item/icons/visible-password-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
}

/* メッセージ共通 */
.fs-c-panel {
  max-width: 500px;
  width: 100%;
  margin: 0 auto 30px;
  border-radius: 100px;
}
.fs-c-panel::before {
  font-size: 22px;
  top: 0;
  bottom: 0;
  margin: auto;
  align-self: center;
}

/* 成功メッセージ */
.fs-c-panel--info {
  font-size: 14px;
  font-weight: bold;
}

/* エラーメッセージ */
.fs-c-panel__contentList__content {
  font-weight: bold;
  font-size: 14px;
}
.fs-c-assist.is-error {
  font-size: 12px;
  font-weight: bold;
}
.fs-c-assist.is-error .fs-c-assist__message::before {
  margin-top: 2px;
  font-weight: bold;
}

/* 同意チェック */
.fs-c-additionalCheckField {
  margin-top: 10px;
  font-size: 14px;
}

/**********************************************************
* クーポン
***********************************************************/
/* クーポン一覧 */
.fs-c-couponList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
}

.fs-c-couponList__item {
  font-size: 12px;
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  border: 1px solid var(--cl-light-gray);
}
.fs-c-coupon__name {
  margin-bottom: 20px;
}
.fs-c-coupon__name .fs-c-couponName__explain {
  font-size: 11px;
}
.fs-c-coupon__name .fs-c-couponName__name {
  color: var(--cl-dark-gray);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 2px;
  border-bottom: 2px solid var(--cl-dark-gray);
  padding-bottom: 5px;
  margin-bottom: 15px;
}

.fs-c-coupon__name .fs-c-couponName__discount {
  font-size: 18px;
  display: inline-block;
  background: var(--cl-orange);
  color: #fff;
  padding: 5px 10px;
  letter-spacing: 2px;
  box-shadow: 3px 3px 0 var(--cl-dark-orange);
  font-weight: 700;
}
.fs-c-coupon__name .fs-c-couponName__discount:before {
  content: "お値引き：";
  font-size: 14px;
}

.fs-c-coupon__description__expiration .fs-c-couponExpiration__title,
.fs-c-coupon__description__appliedCondition .fs-c-couponAppliedCondition__title {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-bottom: 7px;
}
.fs-c-coupon__description {
  padding: 20px;
  border-radius: 10px;
  background: var(--cl-slate);
  border: 1px solid var(--cl-light-gray);
  display: flex;
  flex-direction: column;
  gap: 15px;
  font-size: 13px;
  margin-bottom: 15px;
}

.fs-c-couponExpiration__list {
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.fs-c-couponExpiration__list .fs-c-couponExpiration__list__item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.fs-c-couponExpiration__list .fs-c-couponExpiration__list__item .fs-c-couponExpiration__list__item__title {
  background: var(--cl-dark-gray);
  color: #fff;
  display: inline-block;
  padding: 5px 10px;
  border-radius: 5px;
  letter-spacing: 1px;
  font-size: 11px;
  font-weight: 500;
}
.fs-c-couponExpiration__list .fs-c-couponExpiration__list__item .fs-c-couponExpiration__list__item__body {
  font-size: 14px;
}

.fs-c-couponAppliedCondition__list {
  padding-left: 20px;
  font-size: 13px;
}

/* 会員登録時の獲得クーポン表示 */
.fs-c-couponMessage__list {
  display: flex !important;
  justify-content: flex-start !important;
  flex-wrap: wrap;
}
.fs-c-couponMessage__listItem {
  border-radius: 0;
  padding: 0;
  position: relative;
  width: 300px;
  overflow: hidden;
  background: var(--cl-creem);
  border: 2px solid var(--cl-dark-orange);
}
.fs-c-couponMessage__listItem:before {
  content: "COUPON";
  font-weight: 700;
  color: #fff;
  font-size: 12px;
  letter-spacing: 2px;
  background: var(--cl-dark-orange);
  padding: 5px 0;
  display: block;
  width: 100%;
  text-align: center;
}
.fs-c-couponMessage__listItem__name {
  text-align: center;
  display: block;
  padding: 20px 0 20px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 1px;
  color: var(--cl-dark-gray);
}
.fs-c-couponMessage__listItem__discount {
  display: none;
}
.fs-c-couponMessage__listItem__expiration {
  background: var(--cl-dark-orange);
  color: #fff;
  padding: 5px;
  font-size: 11px;
}

/**********************************************************
* スイッチタブ
***********************************************************/
.switch-tabs {
  overflow: auto;
  margin-bottom: 30px;
  border-radius: 100px;
  border: 2px solid var(--cl-black);
  scrollbar-width: none;
  width: max-content;
  max-width: 100%;
}
.switch-tabs:-webkit-scrollbar {
  display: none;
}
.switch-tabs .switch-tab-list {
  display: inline-flex;
  background: #fff;
  padding: 10px 20px;
  gap: 15px;
  width: max-content;
}
.switch-tabs .tab {
  font-size: 14px;
  border-radius: 100px;
  padding: 5px 15px;
  cursor: pointer;
  font-weight: bold;
}
.switch-tabs .tab:hover {
  opacity: .8;
}
.switch-tabs .tab.active {
  background: var(--cl-orange);
  color: #fff;
}

.relation-item-list > div {
  display: none;
}
.relation-item-list > div.active {
  display: block;
}

/***********************************************************
* 商品レイアウト
************************************************************/
/*** 通常商品一覧レイアウト ***/
.common-item-list .slick-slide {
  width: 250px;
  margin: 0 20px;
}

.common-item-list .slick-slide .fs-c-productListItem__imageContainer {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--cl-black);
}
.common-item-list .slick-slide .fs-c-productListItem__productName {
  margin-top: 10px;
  font-size: 14px;
  display: flex;
  align-items: center;
}
.common-item-list .slick-slide .fs-c-productListItem__productName:after {
  content: "...";
}
.common-item-list .slick-slide .fs-c-productListItem__productName .fs-c-productName__copy {
  display: none;
}
.common-item-list .slick-slide .fs-c-productListItem__productName .fs-c-productName__name {
  display: block;
  width: 100%;
  height: 23px;
  overflow: hidden;
  color: #111;
  position: relative;
}
.common-item-list .slick-slide .fs-c-productListItem__control {
  display: none;
}
.common-item-list .slick-slide .fs-c-productListItem__prices {
  margin-top: 5px;
}
.common-item-list .slick-slide .fs-c-productPrice__main .fs-c-productPrice__main__price {
  display: inline-flex;
  font-size: 18px;
  gap: 2px;
  font-weight: bold;
}
.common-item-list .slick-slide .fs-c-productPrice .fs-c-productPrice__addon {
  font-weight: bold;
  margin-left: 2px;
}


/**********************************************************
* トップページ
***********************************************************/
/*** メインビジュアル ***/
.top-page-carousel {
  padding: 30px 0 0;
}
.top-page-carousel .slick-slide {
  padding: 0 15px;
  max-width: 800px;
}
.top-page-carousel .slick-slide .fs-pt-carousel__slide {
  border-radius: 15px;
  overflow: hidden;
  max-width: 800px;
  height: 100%;
  border: 1px solid var(--cl-beige);
}

/*** メニューアイコンパネル ***/
.menu-icons-panel-wrapper {
  padding: 20px 0px 30px;
  border-bottom: 10px solid var(--cl-slate);
  position: relative;
  overflow: hidden;
}
.menu-icons-panel-wrapper .menu-icons-panel {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  justify-content: center;
  gap: 15px;
  scroll-behavior: smooth;
  padding: 0 25px;
}
.menu-icons-panel-wrapper .menu-icons-panel.scrollable {
  justify-content: flex-start;
}
.menu-icons-panel-wrapper .menu-icons-panel::-webkit-scrollbar {
  display: none;
}
.menu-icons-panel-wrapper .menu-icons-panel .menu-icon {
  flex: 0 0 auto;
  width: 90px;
}
.menu-icons-panel-wrapper .menu-icons-panel a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
.menu-icons-panel-wrapper .menu-icons-panel .icon {
  display: flex;
  background: var(--cl-dark-slate);
  border-radius: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  padding: 5px;
}
.menu-icons-panel-wrapper .menu-icons-panel a .menu-title {
  font-size: 12px;
  font-weight: bold;
  color: var(--cl-dark-gray);
  text-align: center;
}

.menu-icons-panel-wrapper .scroll-btn {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  transition: all 0.3s;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
}

.menu-icons-panel-wrapper .scroll-btn.visible {
  opacity: 1;
  pointer-events: auto;
}

.menu-icons-panel-wrapper .scroll-btn:hover {
  background: #f8f9fa;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.menu-icons-panel-wrapper .scroll-btn:active {
  transform: translateY(-50%) scale(0.95);
}

.menu-icons-panel-wrapper .scroll-btn.left {
  left: -12px;
}

.menu-icons-panel-wrapper .scroll-btn.right {
  right: -12px;
}

.menu-icons-panel-wrapper .scroll-btn svg {
  width: 20px;
  height: 20px;
  fill: #495057;
}

/*** カテゴリ ***/
.category-area .category-icon-list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.category-area .category-icon-list .category-icon a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 15px;
  padding: 15px 0;
  gap: 10px;
  transition: .3s;
  border-radius: 10px;
  position: relative;
  border: 1px solid transparent;
}
.category-area .category-icon-list .category-icon a:hover {
  background: #fff;
  border: 1px solid var(--cl-beige);
}

.category-area .category-icon-list .category-icon .icon {
  max-width: 75px;
  height: 60px;
}
.category-area .category-icon-list .category-icon .icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.category-area .category-icon-list .category-icon a .category-name {
  color: var(--cl-dark-gray);
  font-size: 14px;
  font-weight: bold;
}
.category-area .category-icon-list .category-icon a:hover .category-name {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.category-area .category-icon-list .category-icon:nth-child(-n + 7) {
  border-bottom: 1px solid var(--cl-dark-gray);
}
.category-area .category-icon-list .category-icon:nth-child(-n + 7) {
  border-bottom: 1px solid var(--cl-dark-gray);
}
.category-area .category-icon-list .category-icon a:after {
  content: "";
  display: block;
  position: absolute;
  right: -15px;
  height: 100%;
  width: 1px;
  border-right: 1px solid var(--cl-dark-gray);
}
.category-area .category-icon-list .category-icon:nth-child(7n) a:after {
  display: none;
}

/*** 特集・キャンペーン ***/
.campaign-area {
  background: var(--cl-beige);
  border-radius: 15px;
}
.campaign-banners .campaign-banner-carousel .slick-slide {
  padding: 0 15px;
  width: 400px;
}
.campaign-banners .campaign-banner-carousel .slick-slide > div {
}
.campaign-banners .campaign-banner-carousel .slick-slide .fs-pt-carousel__slide img {
  padding: 10px;
  background: #fff;
  border-radius: 10px;
  max-width: 370px;
}
.campaign-banners .campaign-banner-carousel .slick-slide .fs-pt-carousel__slide .fs-pt-carousel__slide__caption {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1px;
  color: var(--cl-dark-gray);
  display: block;
  margin-top: 5px;
}
.campaign-banners .campaign-banner-carousel .slick-dots {
  display: none !important;
}

/*** セレクション ***/
.selection-area {

}

.selection-area .selection-banners .fs-pt-column {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.selection-area .selection-banners .fs-pt-column .fs-pt-column__item {
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 10px;
  border-radius: 10px;
}
.selection-area .selection-banners .fs-pt-column .fs-pt-column__item .fs-pt-column__image {
  display: inline-block;
  border-radius: 7px;
  overflow: hidden;
}
.selection-area .selection-banners .fs-pt-column .fs-pt-column__item .fs-pt-column__heading {
  font-size: 14px;
  margin-top: 5px;
  font-weight: bold;
  color: var(--cl-black);
}
.selection-area .selection-banners .fs-pt-column .fs-pt-column__item .fs-pt-column__description {
  font-weight: bold;
  color: var(--cl-black);
}

/*** お部屋から探す ***/
.room-area .room-banners {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
.room-area .room-banners .room-banner-item {
  position: relative;
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
  display: flex;
  border-radius: 10px;
  border: 10px solid #fff;
}
.room-area .room-banners .room-banner-item .room-image {
  border-radius: 7px;
  overflow: hidden;
}
.room-area .room-banners .room-banner-item .room-image img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
.room-area .room-banners .room-banner-item .room-title {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #00000030;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 7px;
  overflow: hidden;
}
.room-area .room-banners .room-banner-item .room-title h4 {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 2px;
}
.room-area .room-banners .room-banner-item .room-title span {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 2px;
}

/*** ブランドから探す ***/
.brand-area .brand-banners .fs-pt-column {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.brand-area .brand-banners .fs-pt-column .fs-pt-column__item {
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 10px;
  border-radius: 10px;
}
.brand-area .brand-banners .fs-pt-column .fs-pt-column__item .fs-pt-column__image {
  display: inline-block;
  border-radius: 7px;
  overflow: hidden;
}
.brand-area .brand-banners .fs-pt-column .fs-pt-column__item .fs-pt-column__heading {
  font-size: 14px;
  margin-top: 5px;
  font-weight: bold;
  color: var(--cl-black);
}
.brand-area .brand-banners .fs-pt-column .fs-pt-column__item .fs-pt-column__description {
  font-weight: bold;
  color: var(--cl-black);
}

/*** Room's Style（一覧） ***/
#rooms-style-top-page .page-header {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 2px solid var(--cl-black);
}
#rooms-style-top-page .page-header .lead-text {
  flex: 1;
}
#rooms-style-top-page .style-list-wrapper .style-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
#rooms-style-top-page .style-list-wrapper .style-list .style-banner {
  display: flex;
  border-radius: 10px;
  overflow: hidden;
}


/*** Room's Style（個別） ***/
.rooms-style-area .section-title {
  position: relative;
  display: flex;
  gap: 30px;
  align-items: center;
}
.rooms-style-area .section-title .rooms-style-logo {
  width: 250px;
  height: 90px;
}
.rooms-style-area .section-title .rooms-style-logo img {
  position: absolute;
  z-index: 999;
  left: 0;
  top: 0;
}
.rooms-style-area .section-title .lead-text {
  font-size: 16px;
  font-weight: 600;
  margin-top: 40px;
}

.rooms-style-area .fs-c-slick .slick-slide {
  padding: 0 15px;
  max-width: 800px;
}
.rooms-style-area .fs-c-slick .slick-slide > div {
  display: flex;
}
.rooms-style-area .fs-c-slick .slick-slide .fs-pt-carousel__slide {
  border-radius: 10px;
  overflow: hidden;
  padding: 20px;
  border: 1px solid var(--cl-black);
}
.rooms-style-area .fs-c-slick .slick-slide .fs-pt-carousel__slide a {
  border-radius: 8px;
  display: flex;
  overflow: hidden;
}

/*** コラムエリア ***/
.column-area .contents-column {
  display: flex;
  align-items: center;
  gap: 50px;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--cl-black);
  border-radius: 20px;
}

.column-area .left-contents {
  flex: 1;
  margin-left: 50px;
}
.column-area .left-contents .link-button {
  margin-top: 30px;
}
.column-area .right-contents {
  max-width: 600px;
}
.column-area .column-banners {
  width: 100%;
}
.column-area .column-banners .slick-slide {
  max-width: 600px;
  border-radius: 10px;
  overflow: hidden;
}
.column-area .column-banners .slick-slide > div {
  display: flex;
}
.column-area .column-banners .slick-slide a {
  position: relative;
  display: flex;
}
.column-area .column-banners .slick-slide .fs-pt-carousel__slide__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  background: #00000050;
  width: 100%;
  padding: 15px;
  letter-spacig: 1px;
}

/*** インスタグラム投稿 ***/
.instagram-area {
  background: var(--cl-beige);
}
.instagram-area .instagram-posts-wrapper .instagram-posts .post-block {
  width: 50%;
  position: relative;
}
.instagram-area .instagram-posts-wrapper .instagram-posts .post-block:before {
  content: "";
  position: absolute;
  right: 10px;
  top: 10px;
  display: block;
  width: 30px;
  height: 30px;
  background: url(https://taishodo.itembox.design/item/icons/play-white.svg?t=20251031182147) no-repeat center;
  background-size: 30px 30px;
  z-index: 100;
  transition: .3s;
}
.instagram-area .instagram-posts-wrapper .instagram-posts .post-block:has(video.is-play):before {
  background-image: url(https://taishodo.itembox.design/item/icons/pause-white.svg?t=20251031182147);
}


.instagram-area .instagram-posts-wrapper .instagram-posts .post-block figure {
  width: 100%;
  border-radius: 10px;
  cursor: pointer;
  margin-bottom: 5px;
  border: 1px solid var(--cl-dark-gray);
  display: flex;
  overflow: hidden;
}

.instagram-area .instagram-posts-wrapper .instagram-posts .post-block .modal-contents-wrapper {
  display: none;
}

#instaModalWrapper {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0;
  transition: .3s;
}
#instaModalWrapper.is-open {
  opacity: 1;
  z-index: 999999;
}

#instaModalWrapper .modal-cover {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #00000070;
  z-index: 0;
}
#instaModalWrapper .modal-cover:before {
  content: "×";
  font-size: 25px;
  font-weight: 400;
  position: absolute;
  top: 50px;
  right: 50px;
  color: #fff;
  font-weight: bold;
  text-shadow: 0 0 1px #000;
  display: block;
  border: 2px solid #fff;
  width: 25px;
  height: 25px;
  border-radius: 100%;
  aspect-ratio: 1 / 1;
  line-height: 1em;
  text-align: center;
  cursor: pointer;
}

#instaModalWrapper .modal-contents-wrapper {
  background: #fff;
  width: 100%;
  max-width: 768px;
  max-height: 600px;
  margin: auto;
  position: absolute;
  z-index: 5;
  display: flex;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 0 5px #00000040;
}

#instaModalWrapper .modal-contents-wrapper video {
  height: 100%;
  max-height: 600px;
  background: #000;
}

#instaModalWrapper .modal-contents-wrapper .post-detail {
  flex: 1;
  padding: 20px;
  overflow: auto;
}
#instaModalWrapper .modal-contents-wrapper .post-detail .post-caption {
  white-space: pre-line;
  font-size: 13px;
}

.instagram-area .instagram-posts-wrapper .instagram-posts .post-block .like-count {
  font-size: 14px;
  display: flex;
  gap: 5px;
  align-items: center;
}
.instagram-area .button-link-wrapper {
  margin-top: 30px;
}

/*** お知らせ ***/
.information-area .information-list .fs-pt-list__item {
  background: #fff;
  padding: 20px;
  border: 2px solid var(--cl-black);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  gap: 30px;
  align-items: center;
  margin-top: 15px;
  color: var(--cl-black);
}
.information-area .information-list .fs-pt-list__item:first-child {
  margin: 0;
}
.information-area .information-list .fs-pt-list__link {
  display: flex;
  gap: 30px;
  padding-right: 60px;
  align-items: center;
  position: relative;
  width: 100%;
  color: var(--cl-black);
}
.information-area .information-list .fs-pt-list__link:after {
  content: "";
  background: url(https://cctest25240204.itembox.design/item/icons/circle-arrow-black.svg?t=20250718043621) no-repeat center;
  background-size: contain;
  display: block;
  width: 25px;
  height: 25px;
  margin: auto 10px auto 0;
  transition: .3s;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
}
.information-area .information-list .fs-pt-list__link:hover:after {
  right: -5px;
}

/*** 会員登録メリット ***/
.member-merit-area.login-status-true {
  display: none !important;
}
.member-merit-area .lead-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 22px;
  gap: 5px;
  margin-bottom: 20px;
}
.member-merit-area .lead-text > div {
  display: inline-flex;
  font-weight: bold;
  color: var(--cl-dark-gray);
}
.member-merit-area .lead-text .primary {
  color: var(--cl-dark-orange);
  letter-spacing: 2px;
  display: flex;
  gap: 15px;
}
.member-merit-area .lead-text .primary br {
  display: none;
}
.member-merit-area .lead-text .primary:before {
  content: "";
  display: block;
  width: 5px;
  transform: rotate(-20deg);
  background: var(--cl-dark-orange);
  clip-path: polygon(
    0% 0%,     /* 左上 */
    100% 0%,    /* 右上 */
    70% 100%,   /* 右下 (右から70%の位置) */
    30% 100%    /* 左下 (左から30%の位置) */
  );
}
.member-merit-area .lead-text .primary:after {
  content: "";
  display: block;
  width: 5px;
  transform: rotate(20deg);
  background: var(--cl-dark-orange);
  clip-path: polygon(
    0% 0%,     /* 左上 */
    100% 0%,    /* 右上 */
    70% 100%,   /* 右下 (右から70%の位置) */
    30% 100%    /* 左下 (左から30%の位置) */
  );
  transform: slace(1,-1);
}
.member-merit-area .lead-text .secondary {
  font-size: 20px;
}

.member-merit-area .member-merit-banner {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 30px;
}

/**********************************************************
* 商品グループ
***********************************************************/
/* グループ説明セクション */
.group-description {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 2px solid var(--cl-black);
  display: flex;
  align-items: center;
  gap: 30px;
}
.group-description > div {
  flex: 1;
}
.group-description .group-title {
  font-size: 3rem;
  font-weight: 800;
  color: var(--cl-black);
  margin-bottom: 10px;
}
.group-description .group-eyecatch {
  width: 300px;
  border-radius: 10px;
  display: flex;
  overflow: hidden;
}
.group-description .group-eyecatch[data-image-url=""] {
  display: none;
}
.group-description .description-text {
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 1.5;
  white-space: pre-wrap;
}

.category-item-list-title h3 {
  font-size: 2rem;
  font-weight: bold;
  color: var(--cl-dark-gray);
}

/* シリーズ紹介 */
.series-indtroduction {
  margin-bottom: 50px;
}
.series-indtroduction .series-blocks-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.series-indtroduction .series-blocks-wrapper.column-3 {
  grid-template-columns: repeat(3, 1fr);
}
.series-indtroduction .series-blocks-wrapper .series-block a {
  display: flex;
  flex-direction: column;
  color: var(--cl-dark-gray);
  gap: 10px;
  height: 100%;
}
.series-indtroduction .series-blocks-wrapper .series-block .thumbnail {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  display: inline-flex;
  border: 1px solid var(--cl-dark-gray);
}
.series-indtroduction .series-blocks-wrapper .series-block .thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .3s;
}
.series-indtroduction .series-blocks-wrapper .series-block:hover .thumbnail img {
  transform: scale(1.05);
}
.series-indtroduction .series-blocks-wrapper .series-block .detail {
  flex: 1;
  padding: 0 0 35px;
  position: relative;
}
.series-indtroduction .series-blocks-wrapper .series-block .detail:before {
  content: "商品一覧を見る";
  font-size: 13px;
  font-weight: 600;
  display: inline-block;
  color: var(--cl-dark-gray);
  border-bottom: 1px solid var(--cl-dark-gray);
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 5px 20px 5px 5px;
}
.series-indtroduction .series-blocks-wrapper .series-block.type-item .detail:before {
  content: "この商品を見る";
}
.series-indtroduction .series-blocks-wrapper .series-block .detail:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-right: 2px solid var(--cl-dark-gray);
  border-top: 2px solid var(--cl-dark-gray);
  position: absolute;
  right: 7px;
  bottom: 11px;
  transform: rotate(45deg);
  transition: .3s;
}
.series-indtroduction .series-blocks-wrapper .series-block:hover .detail:after {
  right: 4px;
}
.series-indtroduction .series-blocks-wrapper .series-block .detail .title {
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 5px;
  letter-spacing: 1px;
}
.series-indtroduction .series-blocks-wrapper .series-block .detail .description {
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: 500;
}

.after-item-list .series-indtroduction {
  margin-top: 50px;
  padding-top: 50px;
  border-top: 2px solid var(--cl-dark-gray);
}

/* サブカテゴリ */
.fs-c-subgroup {
  margin-bottom: 10px;
  background: var(--cl-slate);
  padding: 30px;
  border-radius: 10px;
  border: 1px solid var(--cl-light-gray);
}
.fs-c-subgroup:before {
  content: "カテゴリで絞り込む";
  font-size: 14px;
  font-weight: bold;
  display: block;
  letter-spacing: 1px;
  color: var(--cl-dark-gray);
  flex: 1;
  order: 1;
}

.fs-c-subgroup .fs-c-listControl__status {
  display: none;
}
.fs-c-subgroup .fs-c-subgroupList {
  margin-top: 10px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  order: 3;
  width: 100%;
}
.fs-c-subgroupList__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--cl-dark-gray);
  background: #fff;
  border-radius: 100px;
  overflow: hidden;
  transition: .3s;
}
.fs-c-subgroupList__item a:hover {
  background: var(--cl-light-gray);
}
.fs-c-subgroupList__item a .fs-c-subgroupList__image {
  display: none;
}
.fs-c-subgroupList__item a .fs-c-subgroupList__label {
  font-size: 12px;
  color: var(--cl-dark-gray);
  letter-spacing: 1px;
  font-weight: 700;
  padding: 7px 12px;
}
.fs-c-subgroupList__item a .fs-c-subgroupList__label:before {
  content: "#";
  font-size: 14px;
  margin-right: 3px;
}
.fs-c-subgroupList__item a .fs-c-subgroupList__comment {
  display: none;
}
.fs-c-subgroup .fs-c-listControl:nth-of-type(1) {
  display: none;
}
.fs-c-subgroup .fs-c-listControl .fs-c-pagination {
  justify-content: center;
  margin-top: 15px;
}
.fs-c-subgroup .fs-c-listControl .fs-c-pagination .fs-c-pagination__item {
  flex: unset;
  width: 35px;
  height: 35px;
  font-size: 14px;
}

/* 商品一覧表示 */
.category-item-list-title {
  margin-bottom: 15px;
  padding: 0 0 5px;
}
.fs-c-productList__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px;
}
.fs-c-productList__controller {
  display: flex;
  gap: 15px;
  justify-content: space-between;
  align-items: center;
}

.fs-c-listControl .fs-c-listControl__status {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--cl-dark-gray);
}
.fs-c-sortItems {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  order: 2;
}
.fs-c-sortItems .fs-c-sortItems__label {
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  letter-spacing: 1px;
  cursor: pointer;
  color: var(--cl-dark-gray);
  border: 1px solid var(--cl-dark-gray);
  padding: 5px 10px;
  border-radius: 5px;
  background: var(--cl-slate);
  transition: .3s;
}
.fs-c-sortItems:hover .fs-c-sortItems__label {
  background: var(--cl-light-gray);
}
.fs-c-sortItems .fs-c-sortItems__label:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(https://taishodo.itembox.design/item/icons/sort-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
}
.fs-c-sortItems__list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-end;
  height: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 100%;
  width: max-content;
  transition: .3s;
  opacity: 0;
  background: #fff;
  border-radius: 5px;
  border: 1px solid var(--cl-dark-gray);
}
.fs-c-sortItems:hover .fs-c-sortItems__list {
  opacity: 1;
  height: max-content;
  z-index: 9999;
}
.fs-c-sortItems__list .fs-c-sortItems__list__item {
  width: 100%;
  border-bottom: 1px solid var(--cl-black);
}
.fs-c-sortItems__list .fs-c-sortItems__list__item:last-child {
  border-bottom: 0;
}
.fs-c-sortItems__list .fs-c-sortItems__list__item.is-active {
  position: relative;
}
.fs-c-sortItems__list .fs-c-sortItems__list__item.is-active:before {
  content: "";
  position: absolute;
  left: 5px;
  top: 0;
  bottom: -3px;
  margin: auto 0;
  display: block;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-right-color: #000;
  border-bottom: none;
  transform: rotate(-45deg);
}
.fs-c-sortItems__list .fs-c-sortItems__list__item a,
.fs-c-sortItems__list .fs-c-sortItems__list__item span {
  display: block;
  padding: 10px 20px 10px 25px;
  width: 100%;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
}
.fs-c-productList__controller .fs-c-listControl {
  display: flex;
  align-items: center;
  justify-content: center;
  order: 1;
  margin-top: 20px;
}
.fs-c-pagination {
  gap: 10px;
  align-items: center
}
.fs-c-pagination .fs-c-pagination__item {
  color: var(--cl-dark-gray);
  background: #fff;
  border-radius: 100%;
  border: 3px solid var(--cl-dark-gray);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight:bold;
  font-size: 14px;
  transition: .3s;
}
.fs-c-pagination a.fs-c-pagination__item {
  cursor: pointer;
}
.fs-c-pagination .fs-c-pagination__item:not(.is-active):hover {
  background: var(--cl-light-gray);
}
.fs-c-pagination .fs-c-pagination__item.is-active {
  background: var(--cl-dark-slate);
  color: #fff;
  border: 1px solid var(--cl-dark-slate);
  font-weight: bold;
  font-size: 14px;
}
.fs-c-pagination .fs-c-pagination__item.fs-c-pagination__item--prev,
.fs-c-pagination .fs-c-pagination__item.fs-c-pagination__item--next {
  background: none;
  border: none;
  width: 20px;
}
.fs-c-pagination .fs-c-pagination__item.fs-c-pagination__item--prev:hover,
.fs-c-pagination .fs-c-pagination__item.fs-c-pagination__item--next:hover {
  background: none;
}
.fs-c-pagination .fs-c-pagination__item.fs-c-pagination__item--prev {
  margin-left: -20px;
}
.fs-c-pagination .fs-c-pagination__item.fs-c-pagination__item--next {
  margin-right: -20px;
}
.fs-c-pagination .fs-c-pagination__item.fs-c-pagination__item--prev::before,
.fs-c-pagination .fs-c-pagination__item.fs-c-pagination__item--next::before {
  font-size: 20px;
}

.before-list-controller-panel .fs-c-productList__controller .fs-c-pagination {
  display: none;
}

.after-list-controller-panel .fs-c-listControl__status,
.after-list-controller-panel .fs-c-sortItems {
  display: none;
}

.after-list-controller-panel .fs-c-productList__controller {
  justify-content: center;
}


.fs-c-productList__list {
  margin: 15px 0;
}
.fs-c-productList__list__item {
  position: relative;
}
.fs-c-productList__list__item .fs-c-productListItem__imageContainer {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 10px;
  border: 1px solid var(--cl-dark-gray);
}
.fs-c-productList__list__item .fs-c-productListItem__viewMoreImageButton {
  display: none;
}
.fs-c-productList__list__item .fs-c-productName__copy {
  display: none;
}
.fs-c-productList__list__item .fs-c-productName__name {
  line-height: 1.4;
  font-weight: bold;
  font-size: 14px;
  display: block;
  max-height: 2.8em;
  overflow: hidden;
  position: relative;
  color: var(--cl-dark-gray);
}
.fs-c-productList__list__item .fs-c-productListItem__prices {
  margin-top: 5px;
}
.fs-c-productListItem__outOfStock {
  color: var(--cl-red);
  display: flex;
  align-items: center;
  gap: 2px;
  font-size: 12px;
  font-weight: bold;
  margin-top: 3px;
}
.fs-c-productListItem__outOfStock:before {
  content: "";
  display: block;
  background: url("https://taishodo.itembox.design/item/icons/circle-cross-red.svg?t=20251031182147") no-repeat center;
  background-size: contain;
  width: 18px;
  height: 18px;
  margin-top: 2px;
}
.fs-c-productList__list__item .fs-c-productName__variation {
  display: flex;
  margin-top: 4px;
}
.fs-c-productList__list__item .fs-c-productName__variation__y {
  font-size: 9px;
  background: #fff;
  display: inline-flex;
  color: var(--cl-dark-gray);
  border: 1px solid;
  border-radius: 100px;
  padding: 2px 8px;
  font-weight: bold;
}
.fs-c-productList__list__item .fs-c-productPrice__main .fs-c-productPrice__main__price {
  display: inline-flex;
  font-size: 18px;
  gap: 2px;
  font-weight: bold;
}
.fs-c-productList__list__item .fs-c-productPrice .fs-c-productPrice__addon,
.fs-c-productList__list__item .fs-c-productPrice .fs-c-productPrice__main__addon,
.fs-c-productList__list__item .fs-c-productPrice .fs-c-productPrice__main__joint {
  font-weight: bold;
  margin-left: 2px;
}
.fs-c-productList__list__item .fs-c-button--addToCart--list,
.fs-c-productList__list__item .fs-c-button--viewProductDetail {
  display: none;
}

/* お気に入りに追加ボタン */
.fs-c-button--addToWishList--icon {
  position: absolute;
  right: 10px;
  top: 10px;
  background: #00000070;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  transition: .3s;
}
.fs-c-button--addToWishList--icon:hover {
  background: var(--cl-black);
}
.fs-c-button--addToWishList--icon:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(https://taishodo.itembox.design/item/icons/add-favorite.svg?t=20251031182147) no-repeat center;
  background-size: contain;
  margin: 8px 7px 7px 8px;
  transition: .3s;
}

/* お気に入りから削除ボタン */
.fs-c-button--removeFromWishList--icon {
  position: absolute;
  right: 10px;
  top: 10px;
  background: #ffffff90;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  transition: .3s;
}
.fs-c-button--removeFromWishList--icon:hover {
  background: #fff;
}
.fs-c-button--removeFromWishList--icon:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(https://taishodo.itembox.design/item/icons/favorite-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
  margin: 8px 7px 7px 8px;
  transition: .3s;
}

.fs-c-button--particular:hover:before {
  transform: scale(1.05);
}
.fs-c-button--particular .fs-c-button__label {
  display: none;
}

/* 商品が見つからないとき */
.fs-c-noResultMessage__title {
  font-size: 14px;
}

.to-parent-category-link {
  margin: 20px 0 30px;
}
.to-parent-category-link a {
  font-size: 14px;
  letter-spacing: 1px;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.to-parent-category-link a:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-right-color: var(--cl-dark-gray);
  margin-top: 1px;
}

/**********************************************************
* 商品検索結果
***********************************************************/
#search-page .search-result-heading h3 {
  font-size: 2rem;
  font-weight: bold;
}

/**********************************************************
* 商品詳細
***********************************************************/
#product-page .fs-l-productLayout {
  display: flex;
  gap: 30px;
}
#product-page.cm-pa {
  padding-top: 25px;
}
/* 商品メインパネル */
#product-page .product-main-panel {
  width: 100%;
  max-width: 500px;
}
#product-page .product-main-panel .item-images.for-sp {
  display: none;
}
#product-page .product-main-panel .item-images .fs-c-productPlainImage {
  margin-bottom: 10px;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
}
#product-page .product-main-panel .item-images .fs-c-productPlainImage:last-child {
  margin: 0;
}

/* 購入パネル */
#product-page .product-buy-controller-panel {
  flex: 1;
  height: max-content;
  position: sticky;
  top: 30px;
/*
  max-height: calc(100svh - 30px);
  overflow: auto;
*/
}
#product-page .product-buy-controller-panel .fs-c-productNameHeading {
  margin-top: 0;
}
#product-page .product-buy-controller-panel .fs-c-productNameHeading__copy {
  display: block;
  font-size: 13px;
}
#product-page .product-buy-controller-panel .fs-c-productNameHeading__name {
  display: block;
  font-size: 20px;
  font-weight: bold;
}

#product-page .product-buy-controller-panel .fs-c-productPrices {
  margin-top: 20px;
}
#product-page .product-buy-controller-panel .fs-c-productPrice {
  display: flex;
  align-items: center;
  gap: 5px;
}
#product-page .product-buy-controller-panel .fs-c-productPrice__main__price {
  font-size: 24px;
  font-weight: bold;
}
#product-page .product-buy-controller-panel .fs-c-productPrice__addon {
  display: flex;
  align-items: center;
  gap: 1px;
  margin-top: 5px;
}
#product-page .product-buy-controller-panel .fs-c-productNumber {
  font-size: 12px;
  color: var(--cl-dark-gray);
  display: inline-flex;
  align-items: flex-end;
  font-weight: bold;
  gap: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid;
}
#product-page .product-buy-controller-panel .fs-c-productPrice__addon {
  font-weight: bold;
}

.fs-c-productPointDisplay {
  color: var(--cl-dark-orange);
  font-weight: bold;
  font-size: 13px;
  position: relative;
  display: flex;
  align-items: center;
  margin-top: 10px;
}
.fs-c-productPointDisplay:before {
  content: "P";
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  width: 21px;
  height: 20px;
  border-radius: 100px;
  background: var(--cl-dark-orange);
  color: #fff;
  padding-left: 2px;
  padding-top: 1px;
  box-sizing: border-box;
  margin-right: 5px;
}
.fs-c-productPointDisplay .fs-c-productPointDisplay__quantity {
  letter-spacing: 1px;
  border-bottom: 1px solid var(--cl-dark-orange);
}
.fs-c-productPointDisplay .fs-c-productPointDisplay__quantity:before {
  content: "ログイン購入で";
}
.fs-c-productPointDisplay .fs-c-productPointDisplay__quantity:after {
  content: "ポイントもらえる";
}
.fs-c-productPointDisplay .fs-c-productPointDisplay__label,
.fs-c-productPointDisplay .fs-c-productPointDisplay__unit {
  display: none;
}

.fs-c-productSelection__name {
  position: relative;
}

.fs-c-quantity {
  display: flex;
  align-items: center;
  gap: 5px;
  max-width: unset;
}
.fs-c-quantity:before {
  content: "数 量";
  font-size: 14px;
  font-weight: bold;
  width: 3.5em;
  color: var(--cl-dark-gray);
}
.fs-c-quantity .fs-c-quantity__select,
.fs-c-quantity .fs-c-quantity__number {
  padding: 8px 10px;
  border-radius: 5px;
  font-size: 16px;
  cursor: pointer;
  transition: .3s;
  width: 5em;
  background: #fff;
  color: var(--cl-black);
  box-shadow: unset;
}
.fs-c-quantity .fs-c-quantity__select:hover {
  background: var(--cl-slate);
}
.fs-c-quantity .fs-c-quantity__message {
  background: none !important;
  border: none !important;
  color: var(--cl-dark-gray);
  font-weight: bold;
}

/* カート追加ボタン（セレクトボックスのみ） */
.product-buy-controller-panel .cart-button-wrapper .fs-c-productActionButton {
  width: 100%;
}
.fs-c-button--addToCart--detail {
  width: 100%;
  display: block;
  background: var(--cl-red);
  border: 0;
  color: #fff;
  padding: 18px;
  font-size: 15px;
  border-radius: 5px;
  letter-spacing: 1px;
  font-weight: 600;
  transition: .3s;
}
.fs-c-button--addToCart--detail:hover {
  opacity: .8;
}
.fs-c-button--addToCart--detail .fs-c-button__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.fs-c-button--addToCart--detail .fs-c-button__label:before {
  content: "";
  display: inline-flex;
  width: 25px;
  height: 25px;
  background: url(https://taishodo.itembox.design/item/icons/cart-white.svg?t=20251031182147) no-repeat center;
  background-size: contain;
}

.fs-c-variationAndActions__variationLabel,
.fs-c-productSelection__label,
.fs-c-variationPanelList__label
 {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--cl-dark-gray);
  margin-bottom: 5px;
}

.fs-c-productSelection__label .fs-c-requiredMark::before {
  bottom: 5px;
}

.product-buy-controller-panel .fs-c-variationSelect__select,
.product-buy-controller-panel .fs-c-dropdown {
  width: max-content;
}
.product-buy-controller-panel .fs-c-dropdown__menu {
  width: max-content;
  padding-right: 50px;
  background: #fff;
  cursor: pointer;
  display: flex;
}
.product-buy-controller-panel .fs-c-dropdown__menu:hover {
  background: var(--cl-slate);
}
.product-buy-controller-panel .fs-c-dropdown__menu:after {
  border-radius: 0 5px 5px 0;
}

.product-buy-controller-panel .cart-button-wrapper {
  display: flex;
  flex-direction: column;
  margin-top: 30px;
  gap: 15px;
  max-width: 500px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-productQuantity {
  border-top: 1px solid #ccc;
  padding: 20px 0 0;
  width: 100%;
}
.fs-c-productQuantityAndWishlist {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 10px;
  padding-top: 20px;
}
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__quantity {
  order: 1;
}
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist {
  order: 2;
}
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist .fs-c-button--particular .fs-c-button__label {
  display: inline-flex;
}
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist .fs-c-button--addToWishList--detail,
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist .fs-c-button--removeFromWishList--detail {
  position: relative;
  padding: 8px 10px;
  background: var(--cl-slate);
  border: 1px solid #ccc;
  border-radius: 5px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--cl-dark-gray);
}
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist .fs-c-button--addToWishList--detail.is-disabled {
  cursor: default;
  color: #aaa;
}
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist .fs-c-button--addToWishList--detail:before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: url(https://taishodo.itembox.design/item/icons/add-favorite-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
  z-index: 5;
  opacity: .8;
}
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist .fs-c-button--removeFromWishList--detail:before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: url(https://taishodo.itembox.design/item/icons/favorite-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
  z-index: 5;
  opacity: .8;
}
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist .fs-c-button--addToWishList--detail.is-disabled:before {
  opacity: .3;
}
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist .fs-c-button--addToWishList--detail .fs-c-button__label,
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist .fs-c-button--addToWishList--detail .fs-c-button__label {
  font-size: 12px;
}
.product-buy-controller-panel .fs-c-productNotice--outOfStock {
  max-width: 500px;
  width: 100%;
  background: #fff;
  border: 2px solid #f33;
  color: #f33;
  font-weight: bold;
  font-size: 16px;
  padding: 10px;
  border-radius: 5px;
  margin-top: 15px;
  display: flex;
  justify-content: center;
  gap: 5px;
  align-items: center;
}
.product-buy-controller-panel .fs-c-productNotice--outOfStock:before {
  content: "";
  display: block;
  background: url(https://taishodo.itembox.design/item/icons/circle-cross-red.svg?t=20251031182147) no-repeat center;
  background-size: contain;
  width: 20px;
  height: 20px;
}

/* カート追加ボタン（バリエーションごとのボタンパーツ） */
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationAndActions {
  width: 100%;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationAndActions .fs-c-variationCart__wishlist {
  margin-right: 10px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationAndActions .fs-c-variationList__item .fs-c-variationList__item__title {
  font-size: 13px;
  font-weight: 600;
  padding: 5px 10px;
  background: var(--cl-slate);
  letter-spacing: 1px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationAndActions .fs-c-variationCart {
  padding: 0;
  margin-bottom: 10px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationAndActions .fs-c-variationCart > li {
  grid-template-columns: 1fr 50px 144px;
  margin: 0;
  padding: 10px;
  border-bottom: 1px solid var(--cl-light-gray);
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationAndActions .fs-c-variationCart .fs-c-variationCart__variationName .fs-c-variationCart__variationName__name {
  font-size: 14px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationAndActions .fs-c-variationCart__wishlist .fs-c-button--addToWishList--icon {
  position: static;
  width: 35px;
  height: 35px;
  padding: 5px;
  border-radius: 5px;
  background: var(--cl-black);
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationAndActions .fs-c-variationCart__wishlist .fs-c-button--addToWishList--icon:before {
  margin: 0;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationAndActions .fs-c-variationCart__cartButton .fs-c-button--addToCart--variation {
  background: var(--cl-red);
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 5px;
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationAndActions .fs-c-variationCart__cartButton .fs-c-button--addToCart--variation:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(https://taishodo.itembox.design/item/icons/cart-white.svg?t=20251031182147) no-repeat center;
  background-size: contain;
}

/* カート追加ボタン（カートセレクトボックス＆ラジオパーツ） */
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationRadioList {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationRadioList .fs-c-variationRadioList__row {
  display: flex;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationRadioList .fs-c-variationRadioList__row .fs-c-radio__label {
  border-radius: 5px 0 0 5px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationRadioList .fs-c-variationRadioList__row .fs-c-variationRadioList__radio {
  flex: 1;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationRadioList .fs-c-variationRadioList__name {
  font-size: 14px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationRadioList .fs-c-button--addToWishList--icon {
  position: static;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationRadioList .fs-c-variationRadioList__row .fs-c-button--addToWishList--icon {
  background: var(--cl-black);
  border-radius: 0 5px 5px 0;
  height: 100%;
}

.product-buy-controller-panel .cart-button-wrapper .fs-c-productSelection__selection {
  margin-bottom: 15px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-productSelection__selection:last-child {
  margin: 0;
}


/* カート追加ボタン（カート・バリエーション選択スライダーパーツ） */
.product-buy-controller-panel .cart-button-wrapper .fs-c-productChooseVariation__variation:not(:last-child) {
  margin-bottom: 20px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationLabel__label:after {
  content: "：";
}

.product-buy-controller-panel .fs-c-productChooseVariation {
  width: 100%;
}

.product-buy-controller-panel .cart-button-wrapper .fs-c-variationPanelList__list {
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 16px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationPanelList__list .fs-c-variationPanelList__list__item {
  padding: 10px 15px;
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 5px;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationPanelList__list .fs-c-variationPanelList__list__item label {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-left: 5px;
  flex-wrap: wrap;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationPanelList__list .fs-c-variationPanelList__list__item label .fs-c-variationPanelList__panel__label {
  font-size: 16px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationPanelList__list .fs-c-variationPanelList__list__item label .fs-c-variationPanelList__panel__content {
  display: flex;
  align-items: center;
  gap: 5px;
  justify-content: space-between;
  flex-wrap: wrap;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationPanelList__list .fs-c-variationPanelList__list__item label .fs-c-variationPanelList__panel__content .fs-c-variationPanelList__panel__stock--outOfStock {
  color: #fff;
  display: inline-block;
  background: #f33;
  padding: 2px 5px 3px;
  border-radius: 3px;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationPanelList__list .fs-c-variationPanelList__list__item label .fs-c-productVariationPrice {
  display: flex;
  margin-top: 3px;
  align-items: flex-end;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationPanelList__list .fs-c-variationPanelList__list__item label .fs-c-productVariationPrice .fs-c-productVariationPrice__price {
  font-size: 15px;
  font-size: 600;
}
.product-buy-controller-panel .cart-button-wrapper .fs-c-variationPanelList__list .fs-c-variationPanelList__list__item label .fs-c-productVariationPrice .fs-c-productVariationPrice__addon {
  font-size: 10px;
  margin-left: 4px;
}

.iziToast-wrapper {
  top: unset;
  bottom: 0;
  text-align: center;
}
.iziToast-wrapper .iziToast-message {
  font-weight: bold;
}
.iziToast-wrapper .is-error .iziToast-message {
  color: #a00 !important;
}

.guide-panel {
  margin-top: 20px;
  max-width: 500px;
}
.fs-c-inquiryAboutProduct {
  margin-top: 20px;
}
.fs-c-inquiryAboutProduct .fs-c-button--inquiryAboutProduct {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background: var(--cl-slate);
  border: 1px solid #aaa;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 600;
  color: var(--cl-dark-gray);
  width: 100%;
  padding: 10px 15px;
}
.fs-c-inquiryAboutProduct .fs-c-button--inquiryAboutProduct:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(https://taishodo.itembox.design/item/icons/envelope-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
}

.shopping-guide {
  width: 100%;
}
.accordion-menu .accordion-item {
  border-top: 1px solid var(--cl-dark-gray);
}
.accordion-menu .accordion-item:last-child {
  border-bottom: 1px solid var(--cl-dark-gray);
}

.accordion-menu summary {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--cl-black);
  cursor: pointer;
  padding: 10px;
  border-top: 1px soild var(--cl-dark-gray);
  position: relative;
  font-weight: 600;
  letter-spacing: 1px;
}
.accordion-menu summary:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border: 2px solid var(--cl-dark-gray);
  border-left: 0;
  border-top: 0;
  transform: rotate(45deg);
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transition: .3s;
}
.accordion-menu details[open] summary:after {
  transform: rotate(-135deg);
}
.accordion-menu details .guide-content {
  padding: 0 10px 10px;
}
.accordion-menu details .guide-content p {
  font-size: 14px;
  margin: 0;
  color: var(--cl-black);
}
.accordion-menu details .guide-content p:not(:first-child) {
  margin-top: 10px;
}
.accordion-menu details .guide-content p.notice {
  font-size: 13px;
  font-weight: 600;
}
.accordion-menu details .guide-content a {
  display: inline-flex;
  font-size: 14px;
  font-weight: 600;
  margin-top: 10px;
  gap: 5px;
  align-items: center;
}
.accordion-menu details .guide-content a:after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background: url(https://taishodo.itembox.design/item/icons/circle-arrow-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
  margin-top: 2px;
}
.accordion-menu details .guide-content p a {
  margin: unset;
}
.accordion-menu details .guide-content p a:after {
  display: none;
}

.fs-c-productReview {
  margin-top: 15px;
}
.fs-c-productReview .fs-c-button--addReview--detail {
  font-size: 13px;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-bottom: 1px solid;
  padding: 0 5px 5px;
}
.fs-c-productReview .fs-c-button--addReview--detail:before {
  content: "";
  background: url(https://taishodo.itembox.design/item/icons/icon-pencil-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
  display: block;
  width: 20px;
  height: 20px;
}

.fs-p-snsArea {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

/* 下部エリア */
.product-bottom-area {
  margin-top: 30px;
}
.product-bottom-area .prodcut-detail-spec-wrapper {
  width: 100%;
  border-top: 1px solid var(--cl-dark-gray);
  border-bottom: 1px solid var(--cl-dark-gray);
  padding: 10px 0;
  font-size: 13px;
}
.product-bottom-area .prodcut-detail-spec-wrapper[data-content=""] {
  padding: 0;
  border-bottom: 0;
}
.product-bottom-area .prodcut-detail-spec-wrapper table {
  width: 100%;
  font-size: 14px;
}
.product-bottom-area .prodcut-detail-spec-wrapper hr {
  display: none;
}

.product-bottom-area .group-add-content {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 20px;
}

/* iframeコンテンツなしパターン */
.product-bottom-area .group-add-content:has(.product-iframe-contents[style*="display: none;"]) {
  /* レイアウトパターン分ける場合は記述 */
}

/* iframeじゃなくて画像としてセットされてるパターン */
.product-bottom-area .product-iframe-contents:has(img) {
  display: block !important;
}

/* インスタグラムの埋め込みコンテンツなしパターン */
.product-bottom-area .group-add-content:has(.instagram-contents-area[style*="display: none"]) {
  .same-group-item-area {
    .item-list {
      grid-template-columns: repeat(4, 1fr);
    }
  }
}

.product-bottom-area .product-iframe-contents {
  flex: 1;
}

.product-bottom-area .instagram-contents-area {
  display: none;
}
.product-bottom-area .instagram-contents-area:has(.instagram-media.instagram-media-rendered) {
  display: flex;
  justify-content: center;
}
.product-bottom-area .instagram-contents-area .instagram-media {
  border-radius: 10px !important;
  position: sticky;
  top: calc((100% - 91svh) / 2);
  height: 91svh;
  width: 400px !important;
  display: none;
}

.product-bottom-area .same-group-item-area {
  margin-top: 20px;
}
.product-bottom-area .same-group-item-area:not(:has(.same-group-item)) {
  display: none;
}
.product-bottom-area .same-group-item-area > div .group-name {
  font-size: 22px;
  font-weight: bold;
  color: var(--cl-dark-gray);
  margin-bottom: 20px;
}
.product-bottom-area .same-group-item-area > div .item-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.product-bottom-area .same-group-item-area > div .item-list .same-group-item {
  min-height: 330px;
}
.product-bottom-area .same-group-item-area > div .item-list .same-group-item .item-image {
  border-radius: 5px;
  overflow: hidden;
  display: flex;
  margin-bottom: 5px;
  border: 1px solid var(--cl-dark-gray);
}
.product-bottom-area .same-group-item-area > div .item-list .same-group-item .item-name {
  font-size: 13px;
  height: 33px;
  line-height: 1.3;
  overflow: hidden;
  color: var(--cl-dark-gray);
}
.product-bottom-area .same-group-item-area > div .item-list .same-group-item .item-price {
  font-size: 16px;
  font-weight: 800;
  color: var(--cl-dark-gray);
}
.product-bottom-area .same-group-item-area > div .item-list .same-group-item .item-price .unit {
  font-size: 10px;
}

.product-bottom-area .same-group-item-area .controll-panel {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  margin-top: 20px;
}

.product-bottom-area .same-group-item-area .controll-panel .pagination-wrapper:not(:has(.fs-c-pagination__item)) {
  display: none;
}
.product-bottom-area .same-group-item-area .controll-panel:not(:has(.fs-c-pagination__item)) .to-parent-group-link {
  margin: 0 auto;
}

#product-page iframe {
  width: 100%;
  max-width: 700px;
}

/* おすすめ商品 */
.fs-c-featuredProduct {
  margin-top: 50px;
}
.fs-c-featuredProduct .fs-c-featuredProduct__header {
  margin-bottom: 20px;
}
.fs-c-featuredProduct .fs-c-featuredProduct__title {
  font-size: 22px;
  font-weight: bold;
  color: var(--cl-dark-gray);
  margin-bottom: 20px;
  display: flex;
  gap: 30px;
  align-items: center;
}
.fs-c-featuredProduct .fs-c-featuredProduct__title:after {
  content: "";
  display: block;
  flex: 1;
  width: 100%;
  height: 2px;
  background: var(--cl-dark-gray);
}
.fs-c-featuredProduct .fs-c-featuredProduct__list {
  margin-left: -50px;
  margin-right: -50px;
}

/* 特集・キャンペーンバナー */
#product-page .campaign-banner-area {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 30px;
}
#product-page .campaign-banner-area:before {
  content: "特集・キャンペーン";
  display: block;
  font-size: 22px;
  font-weight: bold;
  color: var(--cl-dark-gray);
  order: 1;
}
#product-page .campaign-banner-area:after {
  content: "";
  display: block;
  flex: 1;
  width: 100%;
  height: 2px;
  background: var(--cl-dark-gray);
  order: 2;
}
#product-page .campaign-banner-area .campaign-banner-carousel {
  width: 100%;
  order: 3;
}
#product-page .campaign-banner-area .slick-slide > div {
  width: 95%;
}
#product-page .campaign-banner-area .slick-slide .fs-pt-carousel__slide img {
  border-radius: 10px;
  margin-bottom: 5px;
  border: 1px solid var(--cl-dark-gray);
}
#product-page .campaign-banner-area .slick-slide .fs-pt-carousel__slide .fs-pt-carousel__slide__caption {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
} 

/* 問い合わせモーダル */
.fs-c-modal__inner {
  padding: 20px;
  max-width: 600px !important;
}
.fs-c-modal__close::before {
  font-size: 20px;
}
.fs-c-modal__inner .fs-c-modal__header {
  margin-bottom: 15px;
}
.fs-c-modal__inner .fs-c-modal__header .fs-c-modal__title {
  font-size: 18px;
  font-weight: bold;
}
.fs-c-modal__inner .fs-c-inquiryMessage {
  display: none;
}
.fs-c-modal__contents {
  padding: 0;
}
.fs-c-modal__contents .fs-c-inquiryProduct {
  display: flex;
  margin-bottom: 10px;
  background: var(--cl-slate);
  border-radius: 10px;
  overflow: hidden;
}
.fs-c-modal__contents .fs-c-inquiryProduct__productImage {
  width: 100px;
}
.fs-c-modal__contents .fs-c-inquiryProduct .fs-c-inquiryProduct__productName {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 10px 15px;
}
.fs-c-modal__contents .fs-c-inquiryProduct .fs-c-inquiryProduct__productName .fs-c-productName__copy {
  font-size: 12px;
}
.fs-c-modal__contents .fs-c-inquiryProduct .fs-c-inquiryProduct__productName .fs-c-productName__name {
  font-size: 14px;
  font-weight: bold;
}
.fs-c-modal__contents .fs-c-inputTable__headerCell {
  padding: 0 0 10px !important;
}
.fs-c-modal__contents .fs-c-inputTable--inModal > tbody > tr {
  padding: 5px 0 0;
}
.fs-c-modal__contents .fs-c-inputField__field {
  text-align: center;
}
.fs-c-modal__contents .fs-c-inputInformation__button {
  text-align: center;
  margin-top: 15px;
}
.fs-c-modal__contents .fs-c-inputInformation__button .fs-c-button--sendInquiry {
  max-width: 100%;
  width: 300px;
  background: var(--cl-slate);
  border: 1px solid #aaa;
  font-size: 14px;
  font-weight: bold;
  color: var(--cl-dark-gray);
  padding: 15px 20px;
  border-radius: 5px;
}

/**********************************************************
* 下層ページ共通
***********************************************************/
.lower-page.cm-pa {
  padding-top: 50px;
}

.under-contents-area .cm-pa {
  padding-top: 0 !important;
}

.lower-page .page-contents .page-contents-block:not(:last-child) {
  margin-bottom: 30px;
}

.lower-page .page-contents h3 {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-bottom: 20px;
  background: var(--cl-slate);
  padding: 10px 20px;
  color: var(--cl-dark-gray);
  border-bottom: 4px solid var(--cl-dark-gray);
}

.lower-page .page-contents h4 {
  font-size: 22px;
  font-weight: bold;
  padding-left: 35px;
  position: relative;
  line-height: 1.2;
  margin-bottom: 20px;
}
.lower-page .page-contents h4:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  display: block;
  width: 25px;
  height: 25px;
  border-radius: 100%;
  background: var(--cl-dark-orange);
}
.lower-page .page-contents h4:after {
  content: "";
  position: absolute;
  left: 11px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background: #fff;
}

.lower-page .page-header .page-title {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 30px;
  border-bottom: 2px solid var(--cl-black);
  padding-bottom: 20px;
  display: flex;
  flex-direction: column;
  color: var(--cl-black);
}

.lower-page .page-contents .page-image {
  overflow: hidden;
  margin-bottom: 30px;
  box-shadow: 0 0 3px #aaa;
  display: flex;
}
.lower-page .page-contents .page-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lower-page .page-contents .page-contents-block .term {
  display: flex;
  font-size: 16px;
  border: 1px solid #aaa;
  border-bottom: 0;
  border-top: 0;
}
.lower-page .page-contents .page-contents-block .term:first-child {
  border-top: 1px solid #aaa;
}
.lower-page .page-contents .page-contents-block .term dt {
  width: 200px;
  background: var(--cl-slate);
  border-bottom: 1px solid #aaa;
  padding: 15px;
  font-weight: bold;
  color: var(--cl-dark-gray);
}
.lower-page .page-contents .page-contents-block .term dd {
  flex: 1;
  border-bottom: 1px solid #aaa;
  padding: 15px;
  background: #fff;
}
.lower-page .page-contents .page-contents-block .term dd .annotation {
  font-size: 13px;
  margin-top: 5px;
}
.lower-page .page-contents .page-contents-block .term dd .area-block:not(:last-child) {
  margin-bottom: 10px;
}
.lower-page .page-contents .page-contents-block .term dd .area-block .pref-name {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 5px;
  color: var(--cl-dark-gray);
}
.lower-page .page-contents .page-contents-block .term dd .area-block .area-list {
  font-size: 14px;
}

.lower-page .page-contents .page-contents-block .service-price-list-link a {
  display: flex;
  gap: 5px;
  background: var(--cl-slate);
  width: max-content;
  padding: 15px 20px;
  font-size: 16px;
  font-weight: bold;
  color: var(--cl-dark-gray);
  border-radius: 5px;
  border: 1px solid #aaa;
  letter-spacing: 1px;
}

/**********************************************************
* ログインページ
***********************************************************/
#login-page .fs-c-subSection__title,
#cart-login-page .fs-c-subSection__title {
  font-size: 2rem;
  font-weight: bold;
  color: var(--cl-dark-gray);
  text-align: center;
  letter-spacing: 2px;
  margin-bottom: 30px;
}

#login-page .fs-c-fsLogin {
  margin: 0 auto 50px;
}

#login-page .fs-c-otherServiceLogin {
  display: flex;
  justify-content: center;
  margin: 0 0 30px;
}
#login-page .fs-c-otherServiceLogin .fs-c-linkedServiceLogin {
  width: 100%;
  max-width: 500px;
}

#login-page .fs-c-otherServiceLogin .fs-c-linkedServiceLogin .fs-c-linkedServiceLogin__title {
  margin-bottom: 10px;
  font-size: 16px;
  text-align: center;
  color: var(--cl-dark-gray);
  font-weight: bold;
}

.fs-c-inputInformation__link {
  margin-top: 20px;
  text-align: center;
  font-size: 14px;
  letter-spacing: 1px;
  text-decoration: underline;
  text-decoration-color: blue;
}
.fs-c-inputInformation__link a {
  text-decoration: underline;
}

.member-merit-banner {
  border-radius: 10px;
  overflow: hidden;
}

#login-page .fs-c-otherServiceLoginCompleted {
  max-width: 500px;
  margin: 0 auto 30px;
  font-size: 14px;
}


/* 会員登録誘導 */
.fs-c-newUsers {
  max-width: 800px;
  margin: 50px auto 30px;
}
.fs-c-newUsers__message {
  font-size: 14px;
  line-height: 1.5em;
  color: var(--cl-black);
  text-align: center;
}
.fs-c-newUsers__message figure {
  display: inline-flex;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
}
.fs-c-newUsers__message figure a {
  display: inline-flex;
}

.fs-c-buttonContainer--memberRegister {
  margin-top: 30px;
}
.fs-c-buttonContainer--memberRegister a {
  width: 300px;
  max-width: 100%;
  margin: 0 auto;
  background: var(--cl-slate);
  padding: 20px;
  display: block;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 2px;
  text-align: center;
  position: relative;
  border-radius: 10px;
  border: 1px solid var(--cl-dark-gray);
  color: var(--cl-dark-gray);
  transition: .3s;
}
.fs-c-buttonContainer--memberRegister a:hover {
  background: var(--cl-light-gray);
}
.fs-c-buttonContainer--memberRegister a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto 0;
  background: url(https://taishodo.itembox.design/item/icons/circle-arrow-black.svg?t=20251031182147) no-repeat center;
  background-size: contain;
  width: 25px;
  height: 25px;
  display: block;
  transition: .3s;
}
.fs-c-buttonContainer--memberRegister a:hover:after {
  right: 10px;
}


/**********************************************************
* 下層ページ共通
***********************************************************/
.lower-page .cm-pa {
  padding-top: 50px;
}
.lower-page .block {
  margin-top: 50px;
}
.lower-page .block:first-child {
  margin: 0;
}
.lower-page .block-title {
  font-size: 1.7rem;
  font-weight: bold;
  background: var(--cl-slate);
  color: var(--cl-dark-gray);
  padding: 15px 20px;
  border-radius: 5px;
  border: 1px solid var(--cl-dark-gray);
  border-bottom-width: 4px;
  margin-bottom: 20px;
  letter-spacing: 1px;
  position: relative;
}

.lower-page .block-contents {
  font-size: 14px;
}

.lower-page .block-contents figure {
  margin: 10px 0;
  max-width: 600px;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
}
.lower-page .block-contents figure img {
  width: 100%;
}
.lower-page .block-contents a {
  font-weight: bold;
  display: inline-block;
  margin: 0 2px;
  text-decoration: underline;
}
.lower-page .block-contents ul,
.lower-page .block-contents ol {
  padding-left: 1.5em;
  margin: 10px 0;
}
.lower-page .block-contents .supplement {
  font-size: 12px;
  padding: 0;
  list-style: none;
}
.lower-page .block-contents ul li,
.lower-page .block-contents ol li {
  padding: 2px 0;
}

.lower-page .block-contents h6 {
  font-size: 1.4rem;
  margin-bottom: 10px;
  color: var(--cl-dark-gray);
}
.lower-page .block-contents .group-list {
  margin-bottom: 15px;
}
.lower-page .block-contents .group-list p {
  font-size: 13px;
  padding: 15px;
  background: #eee;
  border-radius: 5px;
  line-height: 1.7;
  font-weight: 500;
  color: var(--cl-dark-gray);
}

.lower-page .block-contents .inner-block {
  margin-top: 15px;
}
.lower-page .block-contents .inner-block .inner-block-title {
  font-size: 1.5rem;
  margin-bottom: 10px;
  font-weight: bold;
  color: var(--cl-dark-gray);
  border-bottom: 1px solid var(--cl-black);
  padding-bottom: 5px;
  padding-left: 20px;
  position: relative;
}
.lower-page .block-contents .inner-block .inner-block-title:before {
  content: "";
  display: block;
  position: absolute;
  width: 12px;
  height: 12px;
  background: var(--cl-dark-gray);
  left: 2px;
  top: 0;
  bottom: 0;
  margin: auto;
  border-radius: 3px;
}

.enable-credit-card-icons {
  list-style: none;
  padding: 0 !important;
  display: flex;
  align-items: center;
  gap: 15px;
}
.enable-credit-card-icons li {
  width: 60px;
  background: #fff;
}

/* テーブル */
table.simple-table {
  border: 1px solid var(--cl-black);
  border-collapse: collapse;
  max-width: 100%;
}

table.simple-table th {
  color: var(--cl-dark-gray);
  background: var(--cl-slate);
  border: 1px solid var(--cl-black);
  padding: 10px 15px;
  width: 150px;
}

table.simple-table td {
  border: 1px solid var(--cl-black);
  padding: 10px 15px;
  background: #fff;
}

/**********************************************************
* 配送について
***********************************************************/
.shipping-fee-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.shipping-fee-list .inner-block {
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.shipping-fee-list .inner-block h6 {
  word-break: auto-phrase;
}

/**********************************************************
* Room's Style
***********************************************************/
#rooms-style-page .page-header .style-concept {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 5px;
}
#rooms-style-page .page-header .style-concept .style-number {
  padding: 5px 10px;
  color: var(--cl-black);
  border: 4px double;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1px;
}
#rooms-style-page .page-header .style-concept .style-catchword {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 1px;
  color: var(--cl-black);
}
#rooms-style-page .page-header .page-title {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 30px;
  border-bottom: 2px solid var(--cl-black);
  padding-bottom: 20px;
  display: flex;
  flex-direction: column;
  color: var(--cl-black);
}
#rooms-style-page .cordinate-contents {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
#rooms-style-page .cordinate-contents .cordinate-detail-wrapper {
  flex: 1;
}
#rooms-style-page .cordinate-contents .cordinate-image {
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  border: 1px solid var(--cl-dark-gray);
  margin-bottom: 30px;
}
#rooms-style-page .cordinate-contents .cordinate-image img {
  width: 100%;
  height: 100%;
}
#rooms-style-page .cordinate-contents .cordinate-detail-block:not(:last-child) {
  margin-bottom: 30px;
}

#rooms-style-page .cordinate-contents .cordinate-detail-block p {
  line-height: 1.7;
}

#rooms-style-page .cordinate-contents .cordinate-item-wrapper {
  width: 400px;
}
#rooms-style-page .cordinate-contents .cordinate-item-wrapper > div {
  position: sticky;
  top: 30px;
}
#rooms-style-page .cordinate-contents .cordinate-item-wrapper h3 {
  background: var(--cl-slate);
  font-size: 14px;
  font-weight: 900;
  text-align: center;
  padding: 10px;
  letter-spacing: 1px;
  margin-bottom: 20px;
  color: var(--cl-dark-gray);
  text-shadow: 1px 1px 0 #fff;
  border: 2px solid;
}
#rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}
#rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block a {
}
#rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block .item-image {
  width: 100%;
  display: flex;
  border-radius: 10px;
  border: 1px solid var(--cl-dark-gray);
  overflow: hidden;
  margin-bottom: 5px;
}
#rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block .item-datas {
  flex: 1;
}
#rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block .item-datas .item-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--cl-dark-gray);
  height: 35px;
  overflow: hidden;
}
#rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block .item-datas .item-price {
  font-size: 16px;
  font-weight: bold;
  color: var(--cl-dark-gray);
}
#rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block .item-datas .item-price .unit {
  font-size: 10px;
}

#rooms-style-page .pickup-items {
  display: grid;
  gap: 20px;
}
#rooms-style-page .pickup-items.two-column {
  grid-template-columns: repeat(2, 1fr);
}
#rooms-style-page .pickup-items .item-block a {
  color: var(--cl-black);
  background: #fff;
  border-radius: 10px;
  padding: 15px;
  display: block;
  height: 100%;
}
#rooms-style-page .pickup-items .item-block a .item-image {
  margin-bottom: 10px;
  text-align: center;
}
#rooms-style-page .pickup-items .item-block a .item-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}
#rooms-style-page .pickup-items .item-block a .item-description p {
  font-size: 14px;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 5px;
}
#rooms-style-page .pickup-items .item-block a .item-description p:last-child {
  margin-bottom: 0;
}

#rooms-style-page .style-top-link-wrapper {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  margin-top: 30px;
}
#rooms-style-page .style-top-link-wrapper .explain {
  display: flex;
  align-items: center;
  gap: 15px;
  flex: 1;
}
#rooms-style-page .style-top-link-wrapper .explain .lead-text {
  flex: 1;
}
#rooms-style-page .style-top-link-wrapper .explain  .lead-text p {
  font-size: 14px;
}

/**********************************************************
* 問い合わせフォーム
***********************************************************/
#contact-form-page {
  margin-bottom: 50px;
}
#contact-form-page.input-form-wrapper form {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
}

#contact-form-page.input-form-wrapper form h1 {
  margin: 0 0 15px;
  font-weight: bold;
  font-size: 25px;
  color: var(--cl-dark-gray);
}
#contact-form-page.input-form-wrapper form .lead-text {
  font-size: 15px;
  margin: 0 0 20px;
}

#contact-form-page form input[name="field_50395_sei"],
#contact-form-page form input[name="field_50395_mei"] {
  width: 150px !important;
  margin-left: 5px;
}
#contact-form-page form .formRow {
  margin-bottom: 20px;
}
#contact-form-page form .formRow .formItem {
  color: var(--cl-dark-gray);
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}
#contact-form-page form .formRow.must .formItem:after {
  content: "必須";
  font-size: 10px;
  color: #fff;
  background: var(--cl-red);
  border-radius: 100px;
  padding: 2px 10px;
  font-weight: 500;
  letter-spacing: 2px;
  margin-left: 10px
}
#contact-form-page form .formRow .formInput {
  font-size: 14px;
}
#contact-form-page form .formRow.name .formInput {
  display: flex;
  gap: 30px;
  font-size: 14px;
}

#contact-form-page form .formRow.addr .formInput .zip-code {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
#contact-form-page form .formRow.addr .formInput .zip-code input[name="field_50399_zip1"] {
  width: 5em;
  margin:0 5px;
}
#contact-form-page form .formRow.addr .formInput .zip-code input[name="field_50399_zip2"] {
  width: 6em;
  margin:0 5px;
}
#contact-form-page form .formRow.addr .formInput .pref {
  margin-bottom: 10px;
}
#contact-form-page form .formRow .formInput select {
  width: max-content;
  margin-top: 5px;
  padding-left: 10px;
  padding-right: 10px;
  background: #fff;
}
#contact-form-page form .formRow.addr .formInput .city {
  margin-bottom: 10px;
}
#contact-form-page form .formRow.addr .formInput .city input {
  margin-top: 5px;
}
#contact-form-page form .formRow.addr .formInput .building input {
  margin-top: 5px;
}
#contact-form-page form .formRow.tel .formInput {
  display: flex;
  align-items: center;
  gap: 5px;
}
#contact-form-page form .formRow.tel .formInput input {
  width: 5em;
}
#contact-form-page form .formRow.purpose .formInput div {
  display: flex;
  gap: 15px;
  align-items: center;
}
#contact-form-page form .formRow.purpose .formInput div label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 15px;
}
#contact-form-page form .formRow.purpose .formInput div label input {
  margin-top: 3px;
}
#contact-form-page form .consent-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 30px;
  font-size: 15px;
}
#contact-form-page form .consent-wrapper a {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-weight: 600;
}
#contact-form-page form .consent-wrapper a .icon {
  display: inline-flex;
}
#contact-form-page form .consent-wrapper label {
  display: inline-flex;
  gap: 5px;
  align-items: center;
}
#contact-form-page form button[type="submit"] {
  width: 300px;
  max-width: 100%;
  padding: 15px;
  display: block;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 2px;
  border-radius: 10px;
  border: 1px solid var(--cl-dark-gray);
  color: var(--cl-dark-gray);
  background: var(--cl-slate);
  transition: .3s;
  position: relative;
  text-align: center;
}
#contact-form-page form button[type="submit"]:hover {
  background: var(--cl-light-gray);
}
#contact-form-page form button[type="submit"]:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto 0;
  background: url(https://taishodo.itembox.design/item/icons/circle-arrow-black.svg?t=20251019020147) no-repeat center;
  background-size: contain;
  width: 25px;
  height: 25px;
  display: block;
  transition: .3s;
}

/*** 1250px ↓ ***/
@media screen and (max-width: 1250px) {
  #footer .top-area .menu-links-block {
    grid-template-columns: repeat(3, 1fr);
  }

  .fs-p-searchForm .fs-p-searchForm__inputGroup .fs-p-searchForm__input {
    width: 200px;
  }

  .link-button a {
    font-size: 14px;
  }
  .fs-p-menu-icons .guide-icon {
    display: none;
  }

  .section-title {
    margin-bottom: 20px;
  }
  .category-area .category-icon-list .category-icon a {
    margin: 10px;
  }
  .category-area .category-icon-list .category-icon a::after {
    right: -10px;
  }

  .rooms-style-area .section-title .lead-text {
    width: 315px;
  }

  .column-area .left-contents {
    margin-left: 25px;
  }

  .shipping-fee-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/*** 1100px ↓ （スマホメニュー表示切替） ***/
@media screen and (max-width: 1100px) {
  #header #gnav {
     display: none;
  }

  .fs-p-icon .submenu,
  .fs-p-icon:has(.submenu):after {
    display: none;
  }

  .fs-c-productList__list {
     grid-template-columns: repeat(4, 1fr);
   }

  /***********************************************************
  * ドロワーメニュー
  ************************************************************/
  #header .sp-menu-component {
    display: block;
    margin-top: 10px;
  }
  .fs-p-drawerButton {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .fs-p-drawerButton__icon {
    font-size: 22px;
    margin-bottom: 5px;
  }
  .fs-p-drawerButton--close .fs-p-drawerButton__icon {
    font-size: 25px;
  }
  .fs-p-drawerButton__label {
    font-weight: bold;
  }

  .fs-icon--navCtrl:before {
    color: var(--cl-dark-gray);
  }

  .fs-p-drawer {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    transform: translateX(-101%);
    z-index: 5000;
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: linear;
    transition-delay: 0s;
    opacity: 0;
    display: flex;
    flex-direction: column;
    width: 400px;
    max-width: 100%;
  }

  .fs-p-drawer .fs-p-drawer__buttonContainer {
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 10px 0 10px 50px;
  }

  aside .sidemenu-contents {
    background: #fff;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  /* Drawer Menu Header */
  aside .drawer-menu-header {
    padding: 20px;
    background: var(--cl-slate);
  }
  aside .drawer-menu-search-form {
    padding: 10px 15px;
    background: var(--cl-slate);
  }
  #header aside .fs-p-searchForm {
    display: block;
  }
  aside .fs-p-searchForm .fs-p-searchForm__inputGroup {
    background: #fff;
  }
  aside .drawer-menu-search-form .fs-p-searchForm .fs-p-searchForm__inputGroup .fs-p-searchForm__input {
    width: 100%;
  }

  /* Drawer Menu Main */
  aside .drawer-menu-main {
    flex: 1;
    height: 100%;
    overflow: auto;
  }
  aside .drawer-menu-contents .menu-heading {
    position: relative;
  }
  aside .drawer-menu-contents .menu-heading > * {
    padding: 15px 20px;
    font-size: 13px;
    font-weight: bold;
    display: block;
    color: var(--cl-dark-gray);
    cursor: pointer;
  }
  aside .drawer-menu-contents .inner-menu {
    height: 0;
    transition: .3s;
    overflow: hidden;
    opacity: 0;
  }
  aside .drawer-menu-contents.is-active .inner-menu {
    height: max-content;
    opacity: 1;
  }
  aside .drawer-menu-contents:has(.inner-menu) .menu-heading > h3 {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  aside .drawer-menu-contents:has(.inner-menu) .menu-heading > h3:after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    transform: rotate(45deg);
    border: 2px solid var(--cl-dark-gray);
    border-left: 0;
    border-top: 0;
    transition: .3s;
  }
  aside .drawer-menu-contents.is-active:has(.inner-menu) .menu-heading > h3:after {
    transform: rotate(-135deg);
  }

  .drawer-menu-block .menu-heading a:after {
    content: "";
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    display: block;
    width: 20px;
    height: 20px;
    background: url(https://taishodo.itembox.design/item/icons/circle-arrow-black.svg?t=20251031182147) no-repeat center;
    background-size: contain;
  }
  .drawer-menu-block .drawer-menu-contents {
    border-top: 1px solid var(--cl-dark-gray);
    position: relative;
  }
  .drawer-menu-block .drawer-menu-contents:last-child {
    border-bottom: 1px solid var(--cl-dark-gray);
  }

  /* Item List in Drawer Menu */
  .drawer-menu-block .inner-menu .item-list .fs-c-productListCarousel__ctrl {
    display: none !important;
  }
  .drawer-menu-block .inner-menu .item-list .slick-slide {
    width: 150px;
  }
  .drawer-menu-block .inner-menu .item-list .slick-slide .fs-c-productListItem__imageContainer {
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid var(--cl-black);
  }
  .drawer-menu-block .inner-menu .item-list .slick-slide .fs-c-productName__copy {
    display: none;
  }
  .drawer-menu-block .inner-menu .item-list .slick-slide .fs-c-productName__name {
    font-size: 12px;
    height: 20px;
    overflow: hidden;
    color: var(--cl-dark-gray);
    display: block;
  }
  .drawer-menu-block .inner-menu .item-list .slick-slide .fs-c-productPrice {
    display: flex;
    align-items: center;
    gap: 2px;
    font-weight: 600;
    color: var(--cl-dark-gray);
  }
  .drawer-menu-block .inner-menu .item-list .slick-slide .fs-c-productPrice .fs-c-productPrice__main {
    font-size: 12px;
  }
  .drawer-menu-block .inner-menu .item-list .slick-slide .fs-c-productPrice .fs-c-productPrice__main .fs-c-productPrice__addon__label {
    font-size: 8px;
  }

  .drawer-menu-block .inner-menu .show-more-link {
    padding: 0 10px;
    display: flex;
    justify-content: center;
    margin-top: 15px;
  }
  .drawer-menu-block .inner-menu .show-more-link a {
    display: inline-flex;
    padding:10px 20px;
    border: 1px solid var(--cl-dark-gray);
    border-radius: 100px;
    font-weight: bold;
    color: var(--cl-dark-gray);
    font-size: 12px;
  }

  /* Search Block */
  .drawer-menu-block.search {
    position: relative;
  }
  .drawer-menu-block.search:before {
    content: "商品を探す";
    display: block;
    width: 100%;
    background: var(--cl-dark-gray);
    padding: 10px 20px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    box-sizing: border-box;
  }

  .drawer-menu-search-by-category.is-active .inner-menu {
  }
  .drawer-menu-search-by-category .category-icon-list {
    padding: 0;
    list-style: none;
    font-size: 12px;
  }
  .drawer-menu-search-by-category .category-icon-list a {
    display: flex;
    gap: 10px;
    align-items: center;
    color: var(--cl-dark-gray);
    font-weight: 600;
    padding: 10px 20px;
    border-top: 1px solid var(--cl-light-gray);
  }
  .drawer-menu-search-by-category .category-icon-list .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 30px;
  }
  .drawer-menu-search-by-category .category-icon-list .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .drawer-menu-room-type .room-banners {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
  }
  .drawer-menu-room-type .room-banners .room-banner-item {
    position: relative;
  }
  .drawer-menu-room-type .room-banners .room-banner-item .room-image {
    display: flex;
  }
  .drawer-menu-room-type .room-banners .room-banner-item .room-title {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #00000040;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .drawer-menu-room-type .room-banners .room-banner-item .room-title h4 {
    font-size: 12px;
    letter-spacing: 2px;
  }
  .drawer-menu-room-type .room-banners .room-banner-item .room-title span {
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: bold;
  }

  /* Promotion Block */
  .drawer-menu-block.promotion {
    position: relative;
  }
  .drawer-menu-block.promotion:before {
    content: "特集・キャンペーン";
    display: block;
    width: 100%;
    background: var(--cl-dark-gray);
    padding: 10px 20px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    box-sizing: border-box;
  }

  .drawer-menu-block.promotion .drawer-menu-campaign-banner {
    padding: 15px 0;
  }
  .drawer-menu-block.promotion .drawer-menu-contents,
  .drawer-menu-block.promotion .drawer-menu-contents:last-child {
    border-bottom: 0;
  }

  .drawer-menu-block.promotion .slick-dots {
    display: none !important;
  }
  .drawer-menu-main .fs-c-slick .slick-slide {
    margin: 0 10px;
    width: 250px;
  }
  .drawer-menu-main .fs-c-slick .slick-slide figure img {
    border-radius: 5px;
  }
  .drawer-menu-main .fs-c-slick .slick-slide figure .fs-pt-carousel__slide__caption {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 600;
    color: var(--cl-dark-gray);
  }

  .drawer-menu-regist-banner {
    padding: 0 20px;
  }
  .drawer-menu-regist-banner a {
    display: flex;
    border-radius: 10px;
    overflow: hidden;
  }

  .drawer-menu-ranking.is-active .inner-menu {
    padding: 0 20px 20px;
  }

  /* Support Block */
  .drawer-menu-block.support:before {
    content: "ご利用ガイド";
    display: block;
    width: 100%;
    background: var(--cl-dark-gray);
    padding: 10px 20px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    box-sizing: border-box;
  }

  .drawer-menu-sns-icons .icon-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: var(--cl-slate);
  }
  .drawer-menu-sns-icons .icon-list:before {
    content: "ルームズ大正堂 公式SNS";
    font-size: 14px;
    font-weight: bold;
    display: block;
    text-align: center;
    width: 100%;
    color: var(--cl-dark-gray);
    order: 1;
  }
  .drawer-menu-sns-icons .icon-list:after {
    content: "お得なセール情報や家具選びのお役立ち情報をお届け！";
    font-size: 12px;
    display: block;
    text-align: center;
    width: 100%;
    color: var(--cl-dark-gray);
    order: 2;
    margin-bottom: 10px;
  }

  .drawer-menu-sns-icons .icon-list a {
    display: flex;
    width: 40px;
    height: 40px;
    order: 5;
    margin: 0 10px;
  }
  .drawer-menu-sns-icons .icon-list a img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* Drawer Menu Footer */
  aside .drawer-menu-footer {
    background: var(--cl-slate);
    padding: 10px;
  }
  aside .drawer-menu-footer .logged-in-contents,
  aside .drawer-menu-footer .no-logged-in-contents {
    display: none;
  }

  aside .drawer-menu-footer .logged-in-contents.login-status-true {
    display: flex;
    gap: 10px;
  }

  aside .drawer-menu-footer .no-logged-in-contents.login-status-false {
    display: flex;
    gap: 10px;
  }

  aside .drawer-menu-footer .logged-in-contents a,
  aside .drawer-menu-footer .no-logged-in-contents a {
    flex: 1;
    font-size: 14px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border-radius: 5px;
  }

  aside .drawer-menu-footer .logged-in-contents a.logout-button,
  aside .drawer-menu-footer .no-logged-in-contents a.login-button {
    background: var(--cl-dark-gray);
    color: #fff;
    gap: 2px;
  }
  aside .drawer-menu-footer .logged-in-contents a.logout-button,
  aside .drawer-menu-footer .no-logged-in-contents a.login-button .login-icon {
    display: inline-flex;
  }
  aside .drawer-menu-footer .logged-in-contents a.mypage-button,
  aside .drawer-menu-footer .no-logged-in-contents a.regist-button {
    color: var(--cl-dark-gray);
    border: 2px solid var(--cl-dark-gray);
    background: #fff;
  }

  /* オープン時 */
  html:has(.fs-p-ctrlDrawer:checked),
  body:has(.fs-p-ctrlDrawer:checked) {
    overflow: hidden;
  }

  .fs-p-ctrlDrawer:checked + .fs-p-drawer {
    transform: translateX(0);
    opacity: 1;
  }
  header:has(#fs_p_ctrlDrawer:checked) .fs-l-header__drawerOpener {
    opacity: 0;
  }

  #header .fs-l-header__logo {
    width: 200px;
  }

  .link-button a:after {
    right: 10px;
  }

  .footer-guide-area .furniture-services {
    grid-template-columns: repeat(1, 1fr);
  }

  .footer-guide-area .guide-link-buttons .guide-link a {
    justify-content: flex-start;
    padding-left: 20px;
  }

  .footer-guide-area .furniture-services .service-item:nth-of-type(1) {
    padding: 20px 0;
    border-right: 0;
    border-bottom: 1px solid var(--cl-black);
  }
  .footer-guide-area .furniture-services .service-item:nth-of-type(2) {
    padding: 20px 0;
  }

  .menu-icons-panel-wrapper .menu-icons-panel {
    gap: 5px;
  }

  .category-area .category-icon-list .category-icon:nth-child(-n+7) {
    border: none !important;
  }
  .category-area .category-icon-list .category-icon a {
    padding: 15px;
    margin: 0;
  }
  .category-area .category-icon-list .category-icon a::after {
    display: none;
  }
  .category-area .category-icon-list .category-icon a .category-name {
    font-size: 12px;
  }

  .footer-guide-area .guide-link-buttons {
    grid-template-columns: repeat(3, 1fr);
  }

  #footer .top-area {
    flex-direction: column;
    align-items: center;
  }

  #footer .top-area .menu-links-block {
    max-width: unset;
    grid-template-columns: repeat(4, 1fr);
  }

  #footer .bottom-area .sns-block {
    flex-direction: column;
    gap: 15px;
    align-items: center;
  }

  #footer .bottom-area .company-info-block {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
  }

  .selection-area .selection-banners .fs-pt-column {
    grid-template-columns: repeat(2, 1fr);
  }

  .rooms-style-area .section-header .link-button {
    display: none;
  }

  .column-area .left-contents {
    margin-left: 10px;
  }
  .column-area .right-contents {
    max-width: 450px;
  }
  .column-area .column-banners .slick-slide {
    max-width: 450px;
  }
  .column-area .column-banners .slick-slide .fs-pt-carousel__slide__caption {
    font-size: 14px;
  }

  #product-page .product-main-panel {
    max-width: 400px;
  }

  .product-buy-controller-panel .cart-button-wrapper {
    max-width: 700px;
  }

  .product-bottom-area .group-add-content:has(.product-iframe-contents[style*="display: none;"]) {
    .same-group-item-area {
      .item-list {
        grid-template-columns: repeat(2, 1fr);
      }
    }
  }

  .series-indtroduction .series-blocks-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 30px;
  }

  .product-bottom-area .instagram-contents-area .instagram-media {
    width: 350px !important;
  }

  #rooms-style-page .cordinate-contents .cordinate-item-wrapper {
    width: 300px;
    padding: 0;
    background: none;
  }
  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list {
    grid-template-columns: repeat(1, 1fr);
  }
  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block a {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block .item-image {
    width: 100px;
    margin: 0;
  }
  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block .item-datas .item-name {
    height: 50px;
    margin-bottom: 5px;
  }

  #rooms-style-page .pickup-items.two-column {
    grid-template-columns: repeat(1, 1fr);
  }

}

@media screen and (max-width: 900px) {
  #header .fs-p-searchForm {
    display: none;
  }
  #header aside .drawer-menu-header .drawer-menu-search-form .fs-p-searchForm {
    display: block;
  }

  .category-area .category-icon-list {
    grid-template-columns: repeat(5, 1fr);
  }

  .column-area .section-title {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .column-area .contents-column {
    flex-direction: column;
  }
  .column-area .right-contents {
    width: 100%;
    max-width: unset;
  }
  .column-area .column-banners .slick-slide {
    max-width: 500px;
    margin: 0 15px;
  }

  #product-page .fs-l-productLayout {
    flex-direction: column;
  }

  #product-page .product-main-panel .item-images.for-pc {
    display: none;
  }

  #product-page .product-main-panel {
    max-width: unset;
  }
  #product-page .product-main-panel .item-images.for-sp {
    display: block;
    position: relative;
  }
  .fs-c-photoswipe .pswp__top-bar {
    top: unset;
    bottom: 0;
  }
  #product-page .product-main-panel .item-images .slick-slide {
    margin: 0 0 10px;
  }
  #product-page .product-main-panel .item-images .slick-slide > div {
    border-radius: 10px;
    overflow: hidden;
    display: flex;
  }

  #product-page .product-main-panel .item-images .fs-c-productCarouselMainImage__expandButton {
    position: absolute;
    top: 5px;
    right: 5px;
    background: #00000060;
    padding: 5px;
    border-radius: 5px;
  }
  #product-page .product-main-panel .item-images .fs-c-productCarouselMainImage__expandButton .fs-c-button--viewExtendedImage {
    background: url(https://taishodo.itembox.design/item/icons/zoom-up-white.svg?t=20251031182147) no-repeat center;
    background-size: contain;
    display: block;
    width: 25px;
    height: 25px;
    border: none;
  }
  #product-page .product-main-panel .item-images .fs-c-productCarouselMainImage__expandButton .fs-c-button--viewExtendedImage .fs-c-button__label {
    display: none;
  }

  #product-page .product-main-panel .item-images .fs-c-productCarouselMainImage__thumbnailList > li figure {
    border-radius: 3px;
    overflow: hidden;
    display: flex;
  }
    
  #product-page .product-buy-controller-panel {
    max-height: unset;
  }
  .product-buy-controller-panel .cart-button-wrapper {
    align-items: flex-start;
    max-width: 100%;
  }

  .fs-c-productSelection {
    width: 100%;
  }

  .fs-c-productQuantityAndWishlist {
    max-width: 100%;
    width: 100%;
    justify-content: space-between;
    margin-top: 20px;
  }
  .fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist {
    order: 1;
  }
  .fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__quantity {
    order: 2;
  }

  .product-buy-controller-panel .cart-button-wrapper .fs-c-productActionButton {
    width: 300px;
    margin-left: auto;
  }

  .follow-cart-add-button-panel {
    background: #00000070;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    position: fixed;
    left: 0;
    bottom: -200px;
    width: 100%;
    opacity: 0;
    padding: 15px 50px;
    transition: .3s;
  }
  .follow-cart-add-button-panel.is-visible {
    z-index: 6000;
    opacity: 1;
    bottom: 0;
  }
  .follow-cart-add-button-panel .item-detail {
    display: flex;
    gap: 10px;
    flex: 1;
  }
  .follow-cart-add-button-panel .item-image {
    width: 70px;
    height: 70px;
    display: flex;
    overflow: hidden;
    border-radius: 5px;
  }
  .follow-cart-add-button-panel .panel-detail {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .follow-cart-add-button-panel .item-name {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    flex: 1;
  }
  .follow-cart-add-button-panel .fs-c-productActionButton {
    width: 250px;
  }
  .follow-cart-add-button-panel .fs-c-productActionButton .fs-c-button--addToCart--detail {
    padding: 10px;
    font-size: 14px;
  }

  .guide-panel {
    max-width: 100%;
  }

  .fs-c-inquiryAboutProduct .fs-c-button--inquiryAboutProduct {
    max-width: 300px;
  }

  .product-bottom-area .product-iframe-contents {
    width: 100%;
    text-align: center;
  }
  .product-bottom-area .instagram-contents-area {
    width :100%;
  }
  .product-bottom-area .instagram-contents-area .instagram-media {
    width: 100% !important;
    height: 95svh;
    position: static;
  }
  .product-bottom-area .same-group-item-area {
    order: 3 !important;
  }
  .product-bottom-area .same-group-item-area > div .item-list {
    grid-template-columns: repeat(4, 1fr) !important;
  }

  #rooms-style-page .cordinate-contents {
    flex-direction: column;
    gap: 30px;
  }

  #rooms-style-page .cordinate-contents .cordinate-item-wrapper {
    width: 100%;
  }
  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list {
    grid-template-columns: repeat(2, 1fr);
  }
  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block .item-image {
    width: 150px;
  }

  #rooms-style-page .style-top-link-wrapper {
    flex-direction: column;
    gap: 15px;
  }
}

/*** 850px ↓ ***/
@media screen and (max-width: 850px) {
  body {
    padding-top: 68px;
  }

  .fs-p-drawer .fs-p-drawer__buttonContainer {
    height: 69px;
    padding-left: 18px;
  }

  .fs-p-menu-icons .favorite-icon,
  .fs-p-menu-icons .login-icon,
  .fs-p-menu-icons .mypage-icon {
    display: none;
  }
  .fs-p-icon {
    padding-bottom: 0;
    margin-top: 10px;
  }

  .fs-p-drawerButton__icon {
    margin: 0;
  }
  .fs-p-drawerButton .fs-p-drawerButton__label,
  .fs-p-icon a span {
    display: none;
  }
  .fs-p-icon a figure {
    margin: 0;
  }

  .top-page-carousel,
  .top-page-carousel .slick-slide {
    padding: 0;
  }
  .top-page-carousel .slick-slide .fs-pt-carousel__slide {
    border-radius: 0;
  }

  .footer-corporate-area {
    padding-left: 0;
    flex-direction: column;
  }
  .footer-corporate-area .section-contents {
    padding: 50px 25px;
    max-width: 100%;
  }
  .footer-corporate-area .section-contents .text {
    margin-bottom: 30px;
  }
  .footer-corporate-area .shop-image {
    width: 100%;
  }
  .footer-corporate-area .shop-image img {
    object-position: center;
  }
  #footer .copyright-area {
    flex-direction: column;
    gap: 15px;
    align-items: center;
  }

  .section-title.horizontal {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  #instaModalWrapper .modal-cover:before {
    top: 25px;
    right: 25px;
  }

  .lower-page.cm-pa,
  #common-free-page .cm-pa {
    padding-top: 25px;
  }

  .fs-c-productList__list {
    grid-template-columns: repeat(3, 1fr);
  }

  .fs-c-subgroup {
    padding: 20px;
  }

  .product-bottom-area .same-group-item-area > div .item-list {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  #rooms-style-page .page-header .page-title {
    font-size: 2.5rem;
    padding-bottom: 10px;
  }

  #rooms-style-top-page .style-list-wrapper .style-list {
    grid-template-columns: repeat(1, 1fr);
  }
  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*** 767px ↓ ***/
@media screen and (max-width: 767px) {
  #footer .top-area .menu-links-block {
    grid-template-columns: repeat(3, 1fr);
  }

  #fs_ProductDetails .fs-l-page {
    padding-top: 0 !important;
  }

  .cm-pa {
    padding: 50px 20px;
  }
  .cm-px {
    padding-left: 20px;
    padding-right: 20px;
  }

  #header {
    padding: 5px 20px;
    justify-content: space-between;
  }
  .fs-p-drawerButton {
    flex-direction: column;
  }
  .fs-p-drawerButton__label {
    font-size: 10px;
    letter-spacing: 1px;
  }
  .fs-p-menu-icons {
    flex: unset;
  }

  .section-title {
    text-align: center;
  }
  .section-title .heading-text {
    font-size: 25px;
    margin-left: auto;
    margin-right: auto;
  }
  .section-title .ruby {
    font-size: 16px;
    letter-spacing: 1px;
  }

  .section-header {
    justify-content: center;
  }

  .link-button {
    margin-left: auto;
    margin-right: auto;
  }

  .justify-center .section-title {
    margin-bottom: 30px;
  }

  .switch-tabs {
    margin-left: auto;
    margin-right: auto;
  }

  .footer-guide-area .guide-link-buttons {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-banner-area .reform-banner-link a {
    flex-wrap: wrap;
    gap: 15px;
  }
  .footer-banner-area .reform-banner-link a .reform-image {
    width: 100%;
    text-align: center;
  }
  .footer-banner-area .reform-banner-link a .reform-image img {
    width: 400px;
  }
  .footer-banner-area .reform-banner-link a .text {
    flex: 1;
  }

  .footer-corporate-area .text p {
    font-size: 14px;
  }

  #footer {
    padding: 50px 25px 25px;
  }

  #footer .top-area {
    flex-direction: column;
  }
  #footer .top-area .contact-block {
    flex-direction: row;
    margin: auto;
  }
  #footer .bottom-area {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  #footer .bottom-area .company-info-block {
    flex-direction: row;
    align-items: flex-end;
  }
  #footer .bottom-area .sns-block {
    align-items: center;
    width: 100%;
  }

  .category-area .category-icon-list .category-icon .icon {
    width: 50px;
  }
  .category-area .category-icon-list .category-icon a .category-name {
    font-size: 12px;
  }
  
  .simple-section-title h2 {
    font-size: 22px;
  }

  .section-header .link-button {
    display: none;
  }

  .fukidashi {
    font-size: 14px;
  }

  .ranking-area .button-wrapper,
  .recommend-area .button-wrapper {
    display: block;
    text-align: center;
    margin-top: 30px;
  }

  .information-area .information-list .fs-pt-list__link {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    padding-right: 50px;
  }
  .information-area .information-list .fs-pt-list__link:after {
    margin: auto 0;
  }

 .switch-tabs .switch-tab-list {
    gap: 10px;
  }
  .switch-tabs .tab {
    padding: 5px 10px;
  }
  .common-item-list .slick-slide {
    width: 130px;
    margin: 0 5px;
  }
  .common-item-list .slick-slide .fs-c-productPrice__main .fs-c-productPrice__main__price {
    font-size: 16px;
  }

  .selection-area .selection-banners .fs-pt-column {
    gap: 15px;
  }

  .room-area,
  .brand-area {
    padding-top: 25px;
  }
  .room-area .room-banners {
    gap: 15px;
  }

  .rooms-style-area {
    padding-top: 25px;
  }
  .rooms-style-area .section-header {
    margin-bottom: 15px;
  }
  .rooms-style-area .section-title .rooms-style-logo {
    width: 200px;
  }
  .rooms-style-area .section-title .rooms-style-logo img {
    width: 200px;
  }

  .member-merit-area .lead-text {
    font-size: 18px;
    word-break: auto-phrase;
  }
  .member-merit-area .lead-text .primary {
    align-items: center;
  }
  .member-merit-area .lead-text .primary:before,
  .member-merit-area .lead-text .primary:after {
    height: 30px;
  }
  .member-merit-area .lead-text .secondary {
    font-size: 16px;
  }
  .member-merit-area .member-merit-banner {
    margin-left: -20px;
    margin-right: -20px;
  }

  .page-contents-wrapper,
  .fs-c-breadcrumb__list {
    padding-left: 20px;
    padding-right: 20px;
  }

  .fs-c-productList__list {
    gap: 15px;
  }

  .rooms-style-area .section-title .lead-text {
    flex: 1;
    font-size: 14px;
    width: auto;
  }
  .rooms-style-area .fs-c-slick .slick-slide {
    padding: 0;
  }
  .rooms-style-area .fs-c-slick .slick-slide .fs-pt-carousel__slide {
    padding: 0;
    border-radius: 0;
    border: unset;
  }
  .rooms-style-area .fs-c-slick .slick-slide .fs-pt-carousel__slide a {
    border-radius: 0;
  }

  .column-area.cm-pa {
    padding-top: 0;
  }
  .column-area .contents-column {
    margin-left: -20px;
    margin-right: -20px;
    border-radius: 10px;
  }

  #product-page.cm-pa {
    padding: 0 0 25px;
  }
  .fs-body-product .fs-c-breadcrumb {
    margin: 0;
  }
  #product-page .fs-l-productLayout {
    gap: 15px;
  }
  #product-page .product-main-panel .item-images .slick-slide {
    margin-bottom: 0;
  }
  #product-page .product-main-panel .item-images .slick-slide > div {
    border-radius: 0;
  }
  #product-page .product-main-panel .fs-c-productCarouselMainImage__thumbnailList {
    padding: 10px 5px 0;
  }
  #product-page .product-buy-controller-panel {
    padding: 0 20px;
  }

  .product-buy-controller-panel .cart-button-wrapper .fs-c-variationRadioList {
    grid-template-columns: repeat(1, 1fr);
  }

  .follow-cart-add-button-panel {
    padding: 10px 20px;
  }

  .follow-cart-add-button-panel .fs-c-productActionButton {
    width: 200px;
  }

  .product-bottom-area,
  .fs-c-featuredProduct,
  #product-page .campaign-banner-area {
    padding-left: 20px;
    padding-right: 20px;
  }

  .product-bottom-area .same-group-item-area > div .group-name,
  .fs-c-featuredProduct .fs-c-featuredProduct__title,
  #product-page .campaign-banner-area:before {
    font-size: 18px;
  }

  .product-bottom-area .same-group-item-area .controll-panel {
    flex-direction: column;
  }

  .fs-c-featuredProduct .fs-c-featuredProduct__list {
    margin: 0;
  }

  .fs-c-modal__contents .fs-c-inquiryProduct .fs-c-inquiryProduct__productName .fs-c-productName__copy {
    display: none;
  }
  .fs-c-modal__contents .fs-c-inquiryProduct .fs-c-inquiryProduct__productName .fs-c-productName__name {
    line-height: 1.3;
  }

  #cart-login-page {
    padding-top: 0;
  }

  #rooms-style-page .page-header .style-concept .style-catchword {
    font-size: 18px;
  }

  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list {
    grid-template-columns: repeat(3, 1fr);
  }
  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block a {
    flex-direction: column;
    align-items: flex-start;
  }
  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block .item-image {
    width: 100%;
  }
  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list .item-block .item-datas .item-name {
    height: 30px;
    line-height: 1.3;
  }

  .lower-page .page-contents .page-image {
  }

  .lower-page .page-contents .page-image img.for-pc {
    display: none;
  }
  .lower-page .page-contents .page-image img.for-sp {
    display: block;
  }

  .lower-page .page-contents .page-contents-block .term {
    flex-direction: column;
  }
  .lower-page .page-contents .page-contents-block .term dt {
    width: 100%;
  }


  .fs-c-subgroup {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .fs-c-subgroup:after {
    content: "";
    display: block;
    background: url(https://taishodo.itembox.design/item/icons/zoom-up-black.svg?t=20251031182147) no-repeat center;
    background-size: contain;
    width: 25px;
    height: 25px;
    order: 2;
  }
  .fs-c-subgroup .fs-c-subgroupList {
    display: none;
  }

  .show-modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #00000070;
    z-index: 99999;
    padding: 20px;
  }
  .show-modal ..fs-c-subgroup {
    height: 100%;
  }
  .show-modal .fs-c-subgroup:after {
    background: url(https://taishodo.itembox.design/item/icons/cross-black.svg?t=20251031182147) no-repeat center;
    background-size: contain;
  }
  .show-modal .fs-c-subgroup .fs-c-subgroupList {
    display: flex;
  }

  .group-description {
    gap: 15px;
  }
  .group-description .group-eyecatch {
    width: 200px;
  }
  .group-description .group-title {
    font-size: 2.5rem;
  }
  .group-description .description-text {
    font-size: 13px;
    line-height: 1.4;
  }
}

/*** 680px ↓ ***/
@media screen and (max-width: 680px) {
  #footer .top-area .contact-block {
    flex-direction: column;
    gap: 15px;
  }

  .room-area .room-banners {
    grid-template-columns: repeat(1, 1fr);
  }

  .instagram-posts-wrapper {
    margin-left: -20px;
    margin-right: -20px;
  }

  #instaModalWrapper .modal-contents-wrapper {
    flex-direction: column;
    max-width: 100%;
    max-height: unset;
    margin-top: 80px;
    border-radius: 0;
    overflow: auto;
  }

  #instaModalWrapper .modal-contents-wrapper .post-detail {
    overflow: unset;
  }

  .ranking-items .slick-slide .fs-c-productListItem__image:before {
    width: 25px;
    height: 25px;
    left: 0;
    top: 0;
    border-radius: 0px 0px 5px 0px;
    font-size: 12px;
    border-left: 0 !important;
    border-top: 0 !important;
  }

  .fs-c-productList__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .rooms-style-area .section-title .rooms-style-logo {
    height: unset;
  }

  .rooms-style-area .section-title .rooms-style-logo,
  .rooms-style-area .section-title .rooms-style-logo img {
    width: 150px;
  }
  .rooms-style-area .section-title .lead-text {
    margin-top: 20px;
    font-size: 12px;
  }

  .member-merit-area .member-merit-banner .for-pc {
    display: none;
  }
  .member-merit-area .member-merit-banner .for-sp {
    display: flex;
  }

  .fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__wishlist {
    order: 2;
  }
  .fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__quantity {
    order: 1;
  }
  .product-buy-controller-panel .cart-button-wrapper .fs-c-productActionButton {
    margin: 0 auto;
  }

  .fs-c-inquiryAboutProduct .fs-c-button--inquiryAboutProduct {
    margin: 0 auto;
  }

  .series-indtroduction .series-blocks-wrapper {
    grid-template-columns: repeat(1, 1fr) !important;
  }

  .product-bottom-area .same-group-item-area > div .item-list .same-group-item {
    min-height: 150px;
  }

  .follow-cart-add-button-panel .panel-detail {
    flex-direction: column;
    align-items: flex-start;
  }
  .follow-cart-add-button-panel .item-name {
    flex: unset;
    height: 20px;
    overflow: hidden;
    font-weight: normal;
  }

  .shipping-fee-list {
    grid-template-columns: repeat(1, 1fr);
  }

  #rooms-style-top-page .page-header {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding-bottom: 15px;
    margin-bottom: 20px;
  }
  #rooms-style-top-page .style-list-wrapper .style-list {
    gap: 10px;
    margin-left: -20px;
    margin-right: -20px;
  }

  #rooms-style-page .page-header .style-concept {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
  #rooms-style-page .page-header .page-title {
    font-size: 2.2rem;
    letter-spacing: 1px;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
  #rooms-style-page .cordinate-contents .cordinate-image {
    margin-left: -20px;
    margin-right: -20px;
    border-radius: 0;
    border: 0;
  }

  .lower-page .page-header .page-title {
    font-size: 2.2rem;
    letter-spacing: 1px;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
  .lower-page .page-contents .page-image {
    margin-left: -20px;
    margin-right: -20px;
    box-shadow: unset;
    border-radius: 0;
  }

  #rooms-style-page .style-top-link-wrapper .explain {
    flex-direction: column;
  }
  #rooms-style-page .style-top-link-wrapper .explain figure img {
    width: 150px;
  }

  table.simple-table {
    width: 100%;
  }
  table.simple-table.sp-one-column tr {
    display: flex;
    flex-direction: column;
  }
  table.simple-table.sp-one-column th,
  table.simple-table.sp-one-column td {
    width: 100%;
    max-width: 100%;
    border: none;
    border-bottom: 1px solid;
    text-align: left;
  }
  table.simple-table.sp-one-column td {
    padding: 15px;
  }
  table.simple-table.sp-one-column tr:last-child td {
    border-bottom: none;
  }

  .fs-c-inputDate__year {
    width: 110px;
  }
  .fs-c-inputDate__month,
  .fs-c-inputDate__date {
    width: 90px;
    margin-left: 8px !important;
  }

  .group-description {
    flex-direction: column;
    margin-left: -20px;
    margin-right: -20px;
    align-items: flex-start;
  }
  .group-description .group-eyecatch {
    border-radius: 0;
    width: 100%;
    margin-top: -30px;
  }
  .group-description .group-eyecatch img {
    width: 100%;
  }
  .group-description > div {
    margin: 0 20px;
  }

  #contact-form-page form .formRow.purpose .formInput div {
    flex-direction: column;
    align-items: flex-start;
  }
}

/*** 500px ↓ ***/
@media screen and (max-width: 500px) {
  .footer-guide-area .guide-link-buttons {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }
  .footer-banner-area .reform-banner-link a .reform-image {
    width: unset;
    flex: 1;
    text-align: left;
  }
  .footer-banner-area .reform-banner-link a .reform-image img {
    width: 250px;
  }
  .footer-banner-area .reform-banner-link a .text {
    order: 3;
    flex: unset;
    width: 100%;
  }
  .footer-banner-area .reform-banner-link a .text p {
    font-size: 14px;
  }
  .footer-banner-area .reform-banner-link a .text p:first-child {
    margin-top: 0;
  }
  .footer-banner-area .reform-banner-link a .arrow-icon {
    order: 2;
    width: 40px;
  }

  #footer .top-area .menu-links-block {
    grid-template-columns: repeat(2, 1fr);
  }
  #footer .top-area .contact-block {
    flex-direction: column;
    width: 100%;
    align-items: center;
  }
  #footer .bottom-area .company-info-block {
    width: 100%;
    flex-direction: column;
    align-items: center;
  }

  .menu-icons-panel-wrapper {
    padding: 15px 0 25px;
  }
  .menu-icons-panel-wrapper .menu-icons-panel .menu-icon {
    width: 80px;
  }
  .menu-icons-panel-wrapper .menu-icons-panel .menu-icon .icon img {
    width: 30px;
  }
  .menu-icons-panel-wrapper .menu-icons-panel a .menu-title {
    font-size: 11px;
  }

  #product-page .campaign-banner-area .slick-slide {
    display: flex;
    justify-content: center;
  }
  #product-page .campaign-banner-area .slick-slide > div {
    width: 95%;
  }

  .category-area .category-icons {
    margin-left: -15px;
    margin-right: -15px;
  }
  .category-area .category-icon-list {
    grid-template-columns: repeat(3, 1fr);
  }
  .category-area .category-icon-list .category-icon a {
    padding: 10px;
  }
  .category-area .category-icon-list .category-icon a .category-name {
    word-break: auto-phrase;
  }

  .campaign-banners .campaign-banner-carousel .slick-slide {
    width: 350px;
  }

  .fs-c-productListCarousel__ctrl {
    display: none !important;
  }

  .selection-area .selection-banners .fs-pt-column {
    grid-template-columns: repeat(1, 1fr);
  }

  .rooms-style-area .section-title .lead-text {
    margin: 0;
  }

  .member-merit-area .lead-text .primary span {
    text-align: center;
  }
  .member-merit-area .lead-text .primary br {
    display: inline-block;
  }

  .column-area .contents-column {
    padding-left: 10px;
    padding-right: 10px;
  }
  .column-area .column-banners .slick-slide {
    max-width: 350px;
  }

  .product-buy-controller-panel .cart-button-wrapper .fs-c-variationPanelList__list .fs-c-variationPanelList__list__item label .fs-c-variationPanelList__panel__label {
    width: 100%;
    display: block;
  }

  .product-buy-controller-panel .cart-button-wrapper .fs-c-productActionButton,
  .fs-c-inquiryAboutProduct .fs-c-button--inquiryAboutProduct {
    width: 100%;
    max-width: 100%;
  }

  #rooms-style-page .cordinate-contents .cordinate-item-wrapper .item-list-wrapper .item-list {
    grid-template-columns: repeat(2, 1fr);
  }

  #contact-form-page form .formRow.name .formInput {
    flex-direction: column;
    gap: 10px;
  }

  #contact-form-page form .formRow.addr .formInput .zip-code input[name="field_50399_zip1"] {
    width: 4em;
  }
  #contact-form-page form .formRow.addr .formInput .zip-code input[name="field_50399_zip2"] {
    width: 5em;
  }
  #contact-form-page form .formRow.tel .formInput input {
    width: 4em;
  }
}


/**********************************************************
* 強制
***********************************************************/
.hidden {
  display: none !important;
}

.area_sp {
  display: none !important;
}