ul.goods_p_ {
  background: none;
}

header:has(.d-header.-top)~.wrapper_ .event_ ul.goods_p_,
.d-header.-top+div.wrapper_ .event_ ul.goods_p_ {
  width: 100vw;
  max-width: 100vw;
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 0 15px 0;
  margin: 15px -15px 0;
  gap: 20px 20px;
  border-radius: 0;
  box-sizing: border-box;
}

header:has(.d-header.-top)~.wrapper_ .event_ ul.goods_p_>li,
.d-header.-top+div.wrapper_ .event_ ul.goods_p_>li {
  width: 135px;
  padding: 0;
  flex-shrink: 0;
}

header:has(.d-header.-top)~.wrapper_ .event_ ul.goods_p_ .qty_,
.d-header.-top+div.wrapper_ .event_ ul.goods_p_ .qty_ {
  display: none;
}

header:has(.d-header.-top)~.wrapper_ .event_ ul.goods_p_ .goods_detail_>div:has(.btn_cart_),
.d-header.-top+div.wrapper_ .event_ ul.goods_p_ .goods_detail_>div:has(.btn_cart_) {
  display: none;
}

header:has(.d-header.-top)~.wrapper_ .event_ ul.goods_p_ .icon_,
.d-header.-top+div.wrapper_ .event_ ul.goods_p_ .icon_ {
  gap: 4px 4px;
}

header:has(.d-header.-top)~.wrapper_ .event_ ul.goods_p_ .icon_ img,
.d-header.-top+div.wrapper_ .event_ ul.goods_p_ .icon_ img {
  width: auto;
  max-width: 100%;
  height: 16px;
}

header:has(.d-header.-top)~.wrapper_ ul.goods_p_ li .block_ .goods_img_,
.d-header.-top+div.wrapper_ ul.goods_p_ li .block_ .goods_img_ {
  height: 135px;
  background: #fff;
}

header:has(.d-header.-top)~.wrapper_ ul.goods_p_ li .block_ .goods_img_ a,
.d-header.-top+div.wrapper_ ul.goods_p_ li .block_ .goods_img_ a {
  display: flex;
  justify-content: center;
  align-items: center;
}

header:has(.d-header.-top)~.wrapper_ .event_ ul.goods_p_ li .block_ div.name_,
.d-header.-top+div.wrapper_ .event_ ul.goods_p_ li .block_ div.name_ {
  margin: auto;
}
header:has(.d-header.-top)~.wrapper_ .event_ ul.goods_p_ li .block_ span.name_,
.d-header.-top+div.wrapper_ .event_ ul.goods_p_ li .block_ span.name_ {
  margin: 10px auto 0;
  color: #005AA7;
  font-size: 13px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}


header:has(.d-header.-top)~.wrapper_ #block_of_history ul.goods_p_,
.d-header.-top+div.wrapper_ #block_of_history>ul.goods_p_ {
  gap: 15px 15px;
}

header:has(.d-header.-top)~.wrapper_ #block_of_history ul.goods_p_>li,
.d-header.-top+div.wrapper_ #block_of_history>ul.goods_p_>li {
  width: 100px;
  padding: 0;
  flex-shrink: 0;
}

header:has(.d-header.-top)~.wrapper_ #block_of_history ul.goods_p_ li .block_ .goods_img_,
.d-header.-top+div.wrapper_ ul.goods_p_ li .block_ .goods_img_ {
  height: 90px;
}


/* =============================================== */

/* 一覧リスト(SP)
/* =============================================== */

div.goods_ {
  background: none;
}

ul.goods_l_ {
  background: none;
}

ul.goods_l_ .goods_l_item_ .block_ {
  padding: 0;
  border: 0;
}

ul.goods_l_ .goods_l_item_ .block_ .comment_ {
  width: 100%;
  margin: 10px auto 0;
  font-size: 12px;
  text-align: left;
  /* ...既存のスタイル... */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  /* 3行で省略 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;
}

ul.goods_l_ .goods_l_item_ .block_ .comment_>.small_ {
  font-size: inherit;
}

ul.goods_l_ .goods_l_item_ .block_ .qty_,
ul.goods_l_ .goods_l_item_ .block_ .cart_ {
  float: none;
}

.goods_l_item_ {
  padding: 20px 0 20px;
}

.item_frame_ {
  display: flex;
  width: 100%;
  gap: 10px 10px;
}

.item_frame_>.goods_img_ {
  width: 90px;
  flex-shrink: 0;
}

.goods_img_ {}

div.desc_frame_>.icon_ {
  display: flex;
  gap: 4px 4px;
}

div.desc_frame_>.icon_ img {
  width: auto;
  max-width: 100%;
  height: 16px;
}

div.desc_frame_ .name_ {
  font-size: 13px;
  color: #005AA7;
  font-weight: bold;
}

div.desc_frame_ .price_ {
  color: var(--color-main);
}
/*
div.desc_frame_ .price_::after {
  content: "（税込）";
  font-size: 10px;
  font-weight: normal;
  color: var(--color-main);
}
*/
div.desc_frame_ .tax_comment_ {
  font-size: 10px;
  font-weight: normal;
  color: var(--color-main);
}

div.desc_frame_>.g_price_ {
  margin-top: 5px;
}

.desc_frame_.-frame01 {}

.desc_frame_.-frame02 {
  margin: 10px auto 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px 10px;
}

.desc_frame_.-frame02 div.qty_ {
  font-size: 12px;
}

.desc_frame_.-frame02 div.qty_>input {
  width: 67px;
  text-align: center;
}

.desc_frame_.-frame02 .btn_cart_.cart_s_button_,
.desc_frame_.-frame02 .btn_cart_.cart_m_button_ {
  max-width: 131px;
}

div.goods_detail_.item_table_ {
  margin: 10px auto 0;
  display: flex;
  flex-wrap: wrap;
  border-left: 1px solid #D5DADE;

}

div.goods_detail_.item_table_>dl {
  display: flex;
  width: 50%;
  line-height: 1;
}

div.goods_detail_.item_table_>dl>dt {
  display: flex;
  align-items: center;
  width: 60px;
  padding: 5px 5px 5px;
  font-size: 10px;
  font-weight: bold;
  background: #E8EAED;
  flex-shrink: 0;
  border-bottom: 1px solid #D5DADE;
  min-height: 31px;
  box-sizing: border-box;
}

div.goods_detail_.item_table_>dl>dd {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding: 5px 5px 5px;
  font-size: 12px;
  border: 1px solid #D5DADE;
  border-top: 0;
  min-height: 31px;
  box-sizing: border-box;
  background: #fff;
}

div.goods_detail_.item_table_>dl:nth-of-type(-n+2)>dt,
div.goods_detail_.item_table_>dl:nth-of-type(-n+2)>dd {
  border-top: 1px solid #D5DADE;
}

ul.goods_l_ {}

/* ================================================ */

/* 詳細検索フォーム */

/* ================================================ */

form {
  padding: 20px 0 20px;
  position: relative;
}

div.autopagerize_page_element_ form{
  padding-top: 10px;
}

form[name="frm"]::before,
form[name="frm"]::after {
  content: '';
  width: 150vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #E8EAED;
  z-index: 1;
}

dl.goodssearch_ {
  padding: 0;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 1px 0;
  z-index: 2;
}

dl.goodssearch_>dt {
  width: 88px;
  padding: 5px 5px 5px 10px;
  margin: 0;
  box-sizing: border-box;
  white-space: normal;
  word-break: break-all;
  background: #D4E5F5;
  font-weight: bold;
  min-height: 44px;
}

dl.goodssearch_>dd {
  padding: 0;
  margin: 0;
  width: calc(100% - 88px);
  box-sizing: border-box;
  background: #fff;
  min-height: 44px;
}

dl.goodssearch_>dd:has(input[name="min_price"]),
dl.goodssearch_>dd:has(input[name="max_price"]) {
  /* background: #E8EAED; */
}

dl.goodssearch_>dd input {
  width: 100%;
  max-width: 100%;
  height: 100%;
  border: 0;
  box-sizing: border-box;
}

dl.goodssearch_>dd input[name="min_price"],
dl.goodssearch_>dd input[name="max_price"] {
  text-align: center;
  width: calc(50% - 30px);
  position: relative;
  white-space: normal;
}

dl.goodssearch_>dd input[name="last_sdt"] {
  width: calc(100% - 50px);
}

dl.goodssearch_>dd select {
  width: 100%;
  height: 100%;
  border: 0;
}

dl.goodssearch_ .search_gerne_ {
  padding: 10px 10px 10px;
  display: flex;
  gap: 12px 12px;
  flex-direction: column;

}

dl.goodssearch_ .search_gerne_>br {
  display: none;
}

dl.goodssearch_ .search_gerne_>input {
  display: none;
}

dl.goodssearch_ .search_gerne_>input+label {
  display: flex;
  align-items: center;
  gap: 0 5px;
  font-size: 14px;
}

dl.goodssearch_ .search_gerne_>input+label::before {
  content: '';
  display: block;
  position: relative;
  width: 18px;
  height: 18px;
  background: url(../../img/usr/common/icon_check02.png) no-repeat center center / contain;
  top: 1px;
}

dl.goodssearch_ .search_gerne_>input:checked+label {
  font-weight: bold;
  color: #08AAFF;
}

dl.goodssearch_ .search_gerne_>input:checked+label::before {
  background-image: url(../../img/usr/common/icon_check02_on.png);
}

dl.goodssearch_+input {
  position: relative;
  z-index: 2;
  background: #FFBA00;
  border-radius: 0;
  border: 0;
  margin-top: 15px;
  color: #282D31;
  font-size: 14px;
  font-weight: bold;
}

.cartbox_.floating-cart-container {
  display: flex;
  align-items: center;
  margin: 0;
  gap: 15px 15px;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  background: rgba(65, 81, 96, 0.8);
  border: 0;
  border-radius: 0;
  padding: 15px 30px 15px;
  z-index: 1000;
  min-width: 200px;
  width: 100%;
  box-sizing: border-box;
  color: #fff;
  min-height: 78px;
}

.cartbox_.floating-cart-container .qty {
  flex-shrink: 0;
  font-size: 14px;
}

.cartbox_.floating-cart-container .order_qty_ {
  width: 68px;
}

.cartbox_.floating-cart-container .floating-cart {
  width: 100%;
}

div.CategoryStyleG_ {
  border: 0;
  background: #fff;
}

div.CategoryStyleG_ div.category_list_block0_>div.category-list-content {
  padding: 10px 0 10px;
  border: 0;
  border-bottom: 1px solid #E8EAED;
  width: 50%;
  position: relative;
  color: #005AA7;
  line-height: 1.4;
}

div.CategoryStyleG_ div.category_list_block0_>div.category-list-content>.img_,
div.CategoryStyleG_ div.category_list_block0_>div.category-list-content .parent_ {
  display: none !important;
}

div.CategoryStyleG_ div.category_list_block0_>div.category-list-content::after {
  content: '';
  width: 1px;
  height: calc(100% - 20px);
  background: #E8EAED;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

div.CategoryStyleG_ div.category_list_block0_>div.category-list-content:nth-child(2n)::after {
  display: none;
}

div.CategoryStyleG_ div.category_list_block0_>div.category-list-content:nth-child(2n+1):nth-last-child(-n+2),
div.CategoryStyleG_ div.category_list_block0_>div.category-list-content:nth-child(2n+1):nth-last-child(-n+2)~div {}

div.CategoryStyleG_ .category_list_block0_ {
  display: flex;
  flex-wrap: wrap;
}

div.CategoryStyleG_ .category_list_block1_,
div.CategoryStyleG_ .category_list_block2_,
div.CategoryStyleG_ .category_list_block3_,
div.CategoryStyleG_ .category_list_block4_,
div.CategoryStyleG_ .category_list_block5_ {
  display: none !important;
}

div.CategoryStyleG_ .category-name {
  margin: 0;
  width: 100%;
}

.CategoryStyleG_title_ {
  display: flex;
  align-items: center;
  padding: 0 10px 0 10px;
  margin: 40px 0 0;
  background: var(--color-blue) !important;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  min-height: 47px;
  box-sizing: border-box;
  gap: 10px;
}

.CategoryStyleG_title_::before {
  width: 16px;
  height: 16px;
  content: '';
  display: block;
  background: var(--color-blue02);
  position: relative;
}

/*# sourceMappingURL=sb_theme.css.map */


/** add start **/

div.goodsproductdetail_ dl.goodsspec_ dt {
  display: inline-block!important;
  width: 120px;
}
div.goodsproductdetail_ dl.goodsspec_ dd {
  background: #fff;
  font-size: 14px!important;
  width: calc(100% - 120px);
  display: flex;
  align-items: center;
}
div.goodsproductdetail_ .goodsspec_ > .cartbox_ {
  min-height: 30px;
}
div.goodsproductdetail_ .goodsspec_ > .cartbox_ input[type="text"] {
  width: 6rem;
  margin: 6px 10px 20px 10px;
  justify-content: center;
  align-items: center;
  min-height: 30px;
  padding: 3px 5px 3px;
  border-radius: 15px;
  border: 0;
  background: #fff;
  text-align: right !important;
  box-sizing: border-box;
}
.option_buttons_ li a {
  background: #fff;
}

.common_headline2_ {
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-label-txt .option-help-icon {
    margin-right: 20px;
  }
}

@media (max-width: 768px) {
  .option-help-icon-balloon {
    max-width: calc(100vw - 20px);
  }
}

body:has(.cartbox_.floating-cart-container) .fixbtn-area {
  bottom: 84px;
}

body:has(.floating-bottom-section-container) .fixbtn-area {
  bottom: 84px;
}

body:has(.floating-bottom-section-container.is-hidden) .fixbtn-area {
  bottom: 16px;
}

@media screen and (max-width: 768px) {
  .em-bottom-section .cart-btn {
    min-height: 35px;
  }
}

.wrapper_.is-goods-detail-endmill .navitopicpath_ .current_category_ {
  color: #005AA7;
  font-weight: normal;
}
.wrapper_.is-goods-detail-endmill .navitopicpath_>ul>li:last-of-type a {
  font-weight: normal;
  text-decoration: none;
}
.wrapper_.is-goods-detail-endmill .navitopicpath_ .current_goods_ {
  font-weight: bold;
  color: #474C50;
}

.wrapper_.is-goods-detail-endmill .goodsspec_ .cartbox_ .qty_ span {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
}
.wrapper_.is-goods-detail-endmill .goodsspec_ .cartbox_ .qty_ span::after {
  content: ':';
  display: inline-flex;
  margin: 0 5px;
}

.wrapper_.is-goods-detail-endmill .goodsspec_ > .cartbox_ input[type="text"] {
  margin: 0;
}

.wrapper_.is-goods-detail-endmill .goodsimg_ .swiper-slider-thumbnail.-endmill {
  overflow: auto;
}

.wrapper_.is-goods-detail-endmill .goodsproductdetail_ .-wrap02 td.spec_goods_image figure {
  max-width: 120px;
}

.wrapper_.is-goods-detail-endmill .goodsproductdetail_ .-wrap02 td.spec_goods_image figure img {
  max-height: 45px;
}

.wrapper_.is-goods-detail-endmill div.goodsgoodsspec_wrapper_ {
  height:  52px;
  margin-bottom: 30px;
}

.wrapper_.is-goods-detail-endmill div.goodsgoodsspec_ {
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  z-index: 1000;
}

.wrapper_.is-goods-detail-endmill div.goodsgoodsspec_.fixed {
  position: fixed;
  top: 48px;
}

.goodsspec-movie-items.-col05 .swiper-button-next,
.goodsspec-movie-items.-col05 .swiper-button-prev {
  margin: 0;
  position: absolute;
  top: 50%;
  bottom: auto;
}

@media (max-width: 768px) {

  .goodsspec-movie-items.-col05 .swiper-button-next,
  .goodsspec-movie-items.-col05 .swiper-button-prev {
    width: min(calc(42 * (100vw / 375)), 42px);
    width: min(calc(42 * (100vw / var(--base-width-sp-value))), 42px);
    height: min(calc(42 * (100vw / 375)), 42px);
    height: min(calc(42 * (100vw / var(--base-width-sp-value))), 42px);
    top: min(calc(80 * (100vw / 375)), 80px);
    top: min(calc(80 * (100vw / var(--base-width-sp-value))), 80px);
    z-index: 2;
  }
}

.goodsspec-movie-items.-col05 .swiper-button-next {
  left: auto;
  right: -21px;
  transform: translate(100%, -50%);
}

@media (max-width: 768px) {
  .goodsspec-movie-items.-col05 .swiper-button-next {
    right: min(calc(-21 * (100vw / 375)), -36px);
    right: min(calc(-21 * (100vw / var(--base-width-sp-value))), -36px);
    transform: none;
  }

  .goodsspec-movie-items.-col05 .swiper-button-next::before {
    width: 5px;
    height: 5px;
    left: 45%;
  }
}

.goodsspec-movie-items.-col05 .swiper-button-prev {
  right: auto;
  left: -21px;
  transform: translate(-100%, -50%);
}

@media (max-width: 768px) {
  .goodsspec-movie-items.-col05 .swiper-button-prev {
    left: min(calc(-21 * (100vw / 375)), -36px);
    left: min(calc(-21 * (100vw / var(--base-width-sp-value))), -36px);
    transform: none;
  }

  .goodsspec-movie-items.-col05 .swiper-button-prev::before {
    width: 5px;
    height: 5px;
    left: 55%;
  }
}


@media (max-width: 768px) {
  .filtered-search-area {
    max-width: none;
    width: 100vw;
    z-index: 1000;
  }

  .filtered-search-area.fixed {
    position: fixed;
    top: 52px;
  }
}

/** add end **/
/**
.goods_p_ li div.block_ div.goods_detail_ div.icon_ {
  height: 16px;
}
**/
header:has(.d-header.-top)~.wrapper_ .event_ #block_of_history ul.goods_p_ .g_price_,
header:has(.d-header.-top)~.wrapper_ .event_ #block_of_history ul.goods_p_ .icon_ {
  display:none;
}

div.search-form-wrapper.-em-form #goodsList div.navipage_.top_{
  margin: 5px
}

.event_goods_list_ .goods_p_ li div.block_ div.goods_detail_ div.icon_ {
  max-height: 32px;
}

.event_goods_list_ .goods_p_ li div.block_ div.goods_detail_ div.icon_ img {
  height: 16px;
}

/*em*/
table.em-search-result-table tr th.th_.-product-link,
table.em-search-result-table tr td.td_.-product-link {
  width:150px;
}

table.em-search-result-table tr th.th_.-quantity,
table.em-search-result-table tr td.td_.-quantity {
  width: 50px;
}

  .is-dragging {
    cursor: grabbing !important;
    user-select: none !important;
  }
  td:nth-child(n+5):nth-last-child(n+4) {
    cursor: grab;
  }

/*商品一覧*/
div.goods_ ul.goods_l_.goods_list_wrapper_ li.goods_l_item_ div.qty_ input {
  width: 75px;
  padding-right: 8px;
}

div.goods_ ul.goods_p_.goods_list_wrapper_ li div.goods_detail_ div.qty_ input {
  width: 75px;
  padding-right: 12px;
}


div.autopagerize_page_element_ .goods_ ul.goods_p_>li {
}

div.autopagerize_page_element_ .goods_ ul.goods_p_ .qty_ {
}

div.autopagerize_page_element_ .goods_ ul.goods_p_ .goods_detail_>div:has(.btn_cart_),
div.accessory_list_ .goods_ ul.goods_p_ .goods_detail_>div:has(.btn_cart_),
div.togetherlist_ .goods_ ul.goods_p_ .goods_detail_>div:has(.btn_cart_) {
  padding-top: 2px;
}

div.autopagerize_page_element_ .goods_ ul.goods_p_ .icon_,
div.accessory_list_ .goods_ ul.goods_p_ .icon_,
div.togetherlist_ .goods_ ul.goods_p_ .icon_ {
  height: auto;
  max-height: 32px;
}

div.autopagerize_page_element_ .goods_ ul.goods_p_ .icon_ img,
div.accessory_list_ .goods_ ul.goods_p_ .icon_ img,
div.togetherlist_ .goods_ ul.goods_p_ .icon_ img {
  width: auto;
  max-width: 100%;
  height: 16px;
}

div.autopagerize_page_element_ .goods_ ul.goods_p_ li .block_ .goods_img_,
div.accessory_list_ .goods_ ul.goods_p_ li .block_ .goods_img_,
div.togetherlist_ .goods_ ul.goods_p_ li .block_ .goods_img_ {
  height: 175px;
  width: 175px;
  background: #fff;
}

div.autopagerize_page_element_ .goods_ ul.goods_p_ li .block_ .goods_img_ img,
div.accessory_list_ .goods_ ul.goods_p_ li .block_ .goods_img_ img,
div.togetherlist_ .goods_ ul.goods_p_ li .block_ .goods_img_ img {
  max-height: 100%;
  background: #fff;
}

div.autopagerize_page_element_ .goods_ ul.goods_p_ li .block_ .goods_img_ a,
div.accessory_list_ .goods_ ul.goods_p_ li .block_ .goods_img_ a,
div.togetherlist_ .goods_ ul.goods_p_ li .block_ .goods_img_ a {
  display: flex;
  justify-content: center;
  align-items: center;
}

div.autopagerize_page_element_ .goods_ ul.goods_p_ li .block_ div.name_,
div.accessory_list_ .goods_ ul.goods_p_ li .block_ div.name_,
div.togetherlist_ .goods_ ul.goods_p_ li .block_ div.name_ {
  margin: auto;
}
div.autopagerize_page_element_ .goods_ ul.goods_p_ li .block_ span.name_,
div.accessory_list_ .goods_ ul.goods_p_ li .block_ span.name_,
div.togetherlist_ .goods_ ul.goods_p_ li .block_ span.name_ {
  margin: 10px auto 0;
  color: #005AA7;
  font-size: 13px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

div.autopagerize_page_element_ .goods_ ul.goods_p_ li .btn_cart_.cart_s_button_,
div.accessory_list_ .goods_ ul.goods_p_ li .btn_cart_.cart_s_button_,
div.togetherlist_ .goods_ ul.goods_p_ li .btn_cart_.cart_s_button_ {
  margin-top: 3px;
  width: 100%;
}

/* 商品詳細 */
div.goodsproductdetail_ div.goodsspec_ div.cartbox_ input[name=qty] {
  padding-right: 13px;
}

/*em商品詳細*/
div.floating-cart-container.cartbox_ div.qty_.floating-qty input {
  width: 60px;
  padding-right: 10px;
}

.search-form-wrapper.-em-form .results-counter {
  margin-top: 20px;
}

div.is-goods-detail-endmill div.cartbox_ div.qty_ input {
  font-weight: bold;
}

div.goodsproductdetail_.-endmill dd#spec_price span.price_ span.large_ {
  font-size: 15px;
}

div.goodsproductdetail_.-endmill dd#spec_price span.price_ span.large_ span.large_{
  font-size: 20px;
}

div.is-goods-detail-endmill div.goodsspec_ div.cartbox_ div.qty_ input {
  width: 60px;
  padding-right: 10px;
}

@media screen and (max-width: 768px) {
  div.goodscomment1_ {
    padding: 0;
  }
}

/* =========================================
   1. Toggle Button / Trigger Area
   ========================================= */
.fixbtn-area--btn.-ai-chat {
  transition: 0.3s ease-in-out;
  opacity: 0;
  animation: fadeInDelayed 0.3s ease-out 2.5s forwards;
  opacity: 0;
}

.fixbtn-area--btn.-ai-chat.is-hidden {
  opacity: 1;
  animation: fadeOut 0.3s ease-out 0.3s forwards;
  pointer-events: none;
}

@keyframes fadeInDelayed {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeOut{
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.fixbtn-area--btn-opener {
  border: 0;
  padding: 0;
  margin: 0;
  background: none;
}

.fixbtn-area--btn-hidden {
  width: 15px;
  height: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  z-index: 4;
  opacity: 0;
}

body .chatbot-toggle-btn {
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  position: absolute;
  bottom: 270px;
  right: 0;
}

body .chatbot-toggle-btn .openTxt {
  display: block !important;
  content: '';
  display: block;
  width: 48px;
  height: 117px;
  background: url(../../img/usr/common/btn_ai-chat.png) no-repeat center center / contain;
  position: relative;
  overflow: hidden;
  text-indent: -150vw;
}

body .is-open .chatbot-toggle-btn .openTxt {
  display: none !important;
}

body .chatbot-toggle-btn .closeTxt {
  display: none !important;
  content: '';
  display: block;
  width: 48px;
  height: 117px;
  background: url(../../img/usr/common/btn_ai-chat.png) no-repeat center center / contain;
  position: relative;
  overflow: hidden;
  text-indent: -150vw;
}

body .is-open .chatbot-toggle-btn .closeTxt {
  display: block !important;
}

/* =========================================
   2. Main Container & Wrappers
   ========================================= */
body .chatbot-frame-wrap {
  position: fixed;
  width: 100vw;
  height: 100dvh;
  transition: all 0.3s ease-in-out;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  pointer-events: none;
}

body .is-open .chatbot-frame-wrap {
  opacity: 1;
  pointer-events: all;
}

body .chatbot-container {
  display: flex !important;
  flex-direction: column;
  max-width: 100%;
  width: auto;
  position: unset;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  overflow: unset;
  transform: none;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: all 0.3s ease-in-out;
}

body .chatbot-container.is-open {
  pointer-events: all;
  opacity: 1;
}

body .chatbot-container,
body .chatbot-container.is-open {
  max-width: 100%;
  width: auto;
  z-index: 100000;
}

body .chatbot-container .chatbot-frame {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: calc(100dvh - 110px);
  z-index: 10000;
  transform: scale(1.0) !important;
}

/* Background Colors Shared */
body .chatbot-content,
body .chatbot-frame,
body .suggested-questions-container,
body .chatbot-footer {
  background: #F2F3F5;
}
body .chatbot-footer,
body .suggested-questions-container{
  flex-shrink: 0;
}

/* =========================================
   3. Header Area
   ========================================= */
body .chatbot-container > .chatbot-header,
body .chatbot-container.is-open > .chatbot-header {
  flex-shrink: 0;
  position: relative;
}

body .chatbot-container.is-open,
body .chatbot-container.is-open > .chatbot-header {
  width: 100%;
  padding: 0;
  margin: 0;
  text-align: center;
  background: #F2F3F5;
  font-size: 16px;
}

body .chatbot-header .chatbot-title,
body .is-open .chatbot-header .chatbot-title {
  width: 100%;
}

body .chatbot-container .chatbot-header .chatbot-title,
body .chatbot-container.is-open .chatbot-header .chatbot-title {
  display: flex;
  flex-direction: column;
}

body .chatbot-header .chatbot-title,
body .chatbot-header .chatbot-title * {
  font-size: 16px;
  color: var(--color-main);
  text-align: center;
}

/* Header Elements: PC/SP Switch */
body .chatbot-header .chatbot-pc-only {
  display: block !important;
  order: 2;
  padding: 0 20px;
  margin-top: 10px;
  font-weight: normal;
  line-height: 1.6;
  font-size: 14px !important;
}

body .chatbot-header .chatbot-title .chatbot-sp-only,
body .is-open .chatbot-header .chatbot-title .chatbot-sp-only {
  width: 100%;
  min-height: 56px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #E8EAED;
  order: 1;
}


body .fixbtn-area--btn-opener> .chatbot-header,
body .chatbot-header .chatbot-sp-only > .chatbot-header{
  content: '';
  display: block;
  width: 27px;
  height: 27px;
  padding: 0!important;
  border-radius: 0!important;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: unset;
  margin-right: 8px;
  overflow: hidden;
  text-indent: -150vw;
  position: relative;
  top: -2px;
  font-size: 0;
}
body .fixbtn-area--btn-opener> .chatbot-header{
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 15px;
}


/* Close Button */
body .chatbot-container .close-chatbot {
  width: 56px;
  height: 56px;
  background: url(../../img/usr/common/btn_ai-chat-close_sp.png) no-repeat center center / contain;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0;
  transform: rotate(0deg) !important;
}

/* =========================================
   4. Content Area (Messages)
   ========================================= */
body .chatbot-content {
  max-height: 100%;
  max-height: calc(100% - 75px);
}

body .chatbot-message-user {
  padding: 19px 20px;
  background: #2E7BBE;
  color: #fff;
  border-radius: 0;
  text-align: left;
  font-size: 14px;
  font-weight: normal;
}

body .chatbot-message-bot {
  padding: 19px 20px;
  background: #E8EAED;
  font-size: 14px;
  border-radius: 0;
  min-width: 110px;
  text-align: left;
}

body .chatbot-powered-by {
  display: none !important;
}

/* Disclaimer */
body .is-open .chatbot-disclaimer,
body .chatbot-disclaimer {
  display: block !important;
  width: 100%;
  padding: 10px 20px 10px;
  margin: 0 auto 0;
  max-height: 100%;
  text-align: center;
  color: var(--color-main);
  font-size: 12px;
}

body .chatbot-reference-ogp-title-mode-item::after{
  display: none;
}

/* =========================================
   5. Footer Area (Input)
   ========================================= */
body .chatbot-footer {
  width: 100%;
  padding: 15px 20px 15px;
  margin: auto auto 5px;
}

body .chatbot-footer .chat-input {
  width: 100%;
  min-height: 40px;
  border-radius: 20px;
  background: #fff;
  border: 0;
  transform: none !important;
}

body .chatbot-footer .mic-chat ,
body .chatbot-footer .send-chat {
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
}

body .chatbot-footer .mic-chat {
  width: 12px;
  position: absolute;
  top: 50%;
  left: auto;
  right: 66px;
  transform: translateY(-50%);
}

body .chatbot-footer .send-chat {
  width: 27px;
  height: 27px;
  flex: none;
  flex-shrink: 0;
  margin: 0;
}

/* 注文　背景色 */
div.wrapper_:has(div.order_process_) {
  background-color: #ffffff;
}

/* ハンバーガーメニュー */
nav.gnavi__sp-style.is-modal-active div.gnavi_inner div.CategoryStyleG_ div.category_list_block0_ {
  display:flex;
  flex-direction: column;
}

/* マイページ下 */
div.wrapper_ div.customer_ h1.common_headline1_ ,
div.wrapper_ div.contact_ h1.common_headline1_ ,
div.wrapper_ div.login_ h1.common_headline1_ ,
div.wrapper_ h1.common_headline1_.menu_title_ ,
div.wrapper_ div.topic_ h1.common_headline1_ {
  margin-top: 15px;
  margin-bottom: 10px;
}

/* 会員登録、会員情報変更、得意先会員登録、情報変更、一括登録 */
@media screen and (max-width: 768px) {
  div.navitopicpath_.customer_entry_,
  div.navitopicpath_.customer_edit_,
  div.navitopicpath_.customer_bizuserentry_,
  div.navitopicpath_.customer_bizuseredit_,
  div.navitopicpath_.customer_bizuserentry_list_
  {
    padding-top:24px;
  }
}

/* カレンダー */
div#calendar span.block-calendar-title {
  margin-top: 5px;
  margin-bottom: 10px;
}

div#calendar.block-calendar {
  padding:5px 20px 20px;
}

ul.calender_legend_ {
  margin-top: 10px;
}

#calendar.block-calendar .block-calendar-slide-area {
  padding:0px 0px;
}

#calendar.block-calendar table td {
  height:25px;
}

#calendar.block-calendar .block-calendar-title {
  margin-bottom: 8px;
}


table, th, td {
  -webkit-appearance: none; /* OS独自のスタイルを無効化 */
  box-shadow: none !important; /* 意図しない影を強制消去 */
  outline: none;
}


.event_goods_list_:has(.goods_detail_ .icon_ img) .goods_detail_ .icon_{
  min-height: 24px;   /* アイコン実寸に合わせて調整 */
  margin-bottom: 6px; /* 任意：下の要素との間隔を統一 */
  display: flex;
  align-items: center;
  gap: 4px;
}
