@charset "utf-8";
/*
|---------------------------------------------------------------
| クリスマスCSS 2026
|---------------------------------------------------------------
*/
.contents_ > .free_space5,
.wrapper_:not(:has(.mainframe_)) > .free_space5 {
  display: none;
}

/* --------------------------------------------------------------------
クリスマスCSS / .christmas
--------------------------------------------------------------------- */
/* ボタン 右矢印（＞） */
.christmas .btn_basic a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: #fff;
  width: 100%;
  max-width: 380px;
  height: 80px;
  margin: 0 auto;
  padding: 0 35px;
  background: #222;
  border-radius: 60px;
  box-shadow: 0px 2px 3px 0px rgba(61, 61, 61, 0.15);
  font-size: 1.6rem;
  line-height: 1.4;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0;
  font-weight: 700;
}

.christmas .btn_basic a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  transform: translateY(-50%) rotate(-45deg);
}

/* fill_cover */
.christmas .fill_cover_wrap {
  position: relative;
  overflow: hidden;
}
.christmas .fill_cover {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0, 0, 0, 0.6);
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
}
.christmas .fill_cover .fill_cover_tx {
  font-weight: bold;
  text-shadow: 0px 0px 10px rgb(0 0 0);
}
.christmas .fill_cover .fill_cover_tx_b {
  font-weight: bold;
}

/* 改行切り替え */
.mainframe_ .christmas .sp_only { display: none; }
.wrapper_:not(:has(.mainframe_)) .christmas .pc_only { display: none; }

/* 既存トピックス（非表示） */
.m-newslist2_ {
  display: none;
}

#event_wrapper_top {
  margin-bottom: 0;
}

/* 【JS】アクティブボタン用CSS（.js-change-active-area）※active=ON
================================================== */
#title_list.js-change-active-area p { display: none; }
#title_list.js-change-active-area p.active-item { display: block; }

/* ---------------------------PC----------------------------------- */
/* --------------------------------------------------------------------
トップ（.christmas）
--------------------------------------------------------------------- */
/* トピックス（#topic）
================================================== */
.mainframe_ .christmas #topic {
  padding: 40px 0;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.mainframe_ .christmas #topic a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
  padding: 20px 30px;
  background: #fff;
  border: 1px solid #fe0e11;
  border-radius: 3px;
}

.mainframe_ .christmas #topic a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  border-right: solid 1px #333;
  border-bottom: solid 1px #333;
  transform: translateY(-50%) rotate(-45deg);
}

.mainframe_ .christmas #topic a > div {
  padding: 0 0 0 54px;
  background: url("/contents/common/img/icon_attention.png") center left / 44px auto no-repeat;
}

.mainframe_ .christmas #topic .title {
  color: #fe0e11;
}

/* マウスオーバー */
.mainframe_ .christmas #topic a:hover {
  opacity: 1;
  background: #fff6cc;
}

/* コンテンツ
================================================== */
.mainframe_ #christmas_cont > .bg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 15px;
  background:
    url("../img/bg_cont.jpg") center bottom / contain no-repeat,
    #f3efee;
  margin-bottom: 40px;
  padding: 50px 40px 130px 40px;
}

/* 店頭お受取り */
.mainframe_ #christmas_cont .christmas_tento {
  grid-column: 1 / span 2; /* 1段目：2列分使う */
  border: 5px solid #D7B563;
  background: #fff;
}

.mainframe_ #christmas_cont .christmas_tento .img img {
  width: 100%;
  height: auto;
}

.mainframe_ #christmas_cont .christmas_tento .btn_list {
  display: flex;
  justify-content: center;
  gap: 20px;
  width: 100%;
  padding: 20px 40px;
}

.mainframe_ #christmas_cont .christmas_tento .btn_list > div {
  width: 100%;
}

/* ボタン：特設サイト */
.mainframe_ #christmas_cont .christmas_tento .btn_external {
  max-width: 380px;
  border-radius: 60px;
}

.mainframe_ #christmas_cont .christmas_tento .btn_external a {
  color: #B17B1C;
  text-align: center;
  background: #ffffff;
  border: 2px solid #B17B1C;
}

.mainframe_ #christmas_cont .christmas_tento .btn_external a::after {
  border-color: currentColor;
}

.mainframe_ #christmas_cont .christmas_tento .btn_external a small {
  font-size: 1.2rem;
}

/* マウスオーバー */
.mainframe_ #christmas_cont .christmas_tento .btn_external a:hover {
  opacity: 1;
  color: #ffffff;
  background: #B17B1C;
}

/* ボタン：お持ち帰りケーキ　すべての商品を見る */
.mainframe_ #christmas_cont .christmas_tento .btn_item_all a {
  color: #ffffff;
  text-align: center;
  background: #B17B1C;
  border: 2px solid #B17B1C;
}

.mainframe_ #christmas_cont .christmas_tento .btn_item_all a::after {
  border-color: currentColor;
}

/* マウスオーバー */
.mainframe_ #christmas_cont .christmas_tento .btn_item_all a:hover {
  opacity: 1;
  color: #B17B1C;
  background: #fff;
}


/* 広域配送ケーキ・お菓子 */
.mainframe_ #christmas_cont .christmas_kouiki,
.mainframe_ #christmas_cont .christmas_food {
  width: 100%;
  background: #fff;
}

.mainframe_ #christmas_cont .christmas_kouiki img,
.mainframe_ #christmas_cont .christmas_food img {
  width: 100%;
  height: auto;
}

/* --------------------------------------------------------------------
商品一覧ページ（.christmas_itemlist） 
--------------------------------------------------------------------- */
/* ヘッダー */
.mainframe_ .christmas_itemlist .head .title {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 70px;
  margin-bottom: 10px;
  background:
    url("/contents/siblings/christmas/2025/img/bg_tree_mini.png") 0 bottom / 90px auto no-repeat,
    url("/contents/siblings/christmas/2025/img/img_santa01.png") 120px bottom / 60px auto no-repeat,
    url("/contents/siblings/christmas/2025/img/bg_star02.png") 100% -20px / 120px auto no-repeat,
    url("/contents/siblings/christmas/2025/img/bg.jpg") 0 -10px / 120px auto repeat;
}

.mainframe_ .christmas_itemlist .head .title {
  color: #fff;
  font-size: 2.0rem;
  font-weight: bold;
}

.mainframe_ .christmas_itemlist .head .title > span {
  font-size: 2.4rem;
  padding: 0 0 0 10px;
}

/* 装飾：【JS】アクティブ表示の見出し
================================================== */
.mainframe_ .christmas_itemlist #title_list {
  padding: 10px 3%;
  border-top: 3px solid #0C6835;
}
.mainframe_ .christmas_itemlist #title_list p {
  color: #0C6835;
  font-weight: bold;
  font-size: 2.0rem;
  text-align: center;
}

.christmas_itemlist #title_list {
  padding: 10px 3%;
  border-top: 3px solid #0C6835;
}
.christmas_itemlist #title_list p {
  color: #0C6835;
  font-weight: bold;
  font-size: 2.0rem;
  text-align: center;
}

/* ボタン：トップに戻る
================================================== */
.mainframe_ .christmas_itemlist #around_button_wrap .btn_top a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: center;
  width: 100%;
  max-width: 400px;
  height: 80px;
  margin: 0 auto;
  background: #E54A5A;
  border: 1px solid #E54A5A;
  border-radius: 60px;
  box-shadow: 0px 2px 3px 0px rgba(61, 61, 61, 0.15);
}

.mainframe_ .christmas_itemlist #around_button_wrap .btn_top a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  transform: translateY(-50%) rotate(-45deg);
}

.mainframe_ .christmas_itemlist #around_button_wrap .btn_top a > span > span {
  font-weight: bold;
}

/* マウスオーバー */
.mainframe_ .christmas_itemlist #around_button_wrap .btn_top a:hover {
  opacity: 1;
  color: #000;
  background: #fff !important;
}
.mainframe_ .christmas_itemlist #around_button_wrap .btn_top a:hover::after {
  border-color: #000;
}

/* ----------------------------SP----------------------------------- */
/* --------------------------------------------------------------------
トップ（.christmas）
--------------------------------------------------------------------- */
/* トピックス（#topic）
================================================== */
.wrapper_:not(:has(.mainframe_)) .christmas #topic {
  padding: 30px 3%;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

.wrapper_:not(:has(.mainframe_)) .christmas #topic a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
  padding: 10px;
  background: #fff;
  border: 1px solid #fe0e11;
  border-radius: 3px;
}

.wrapper_:not(:has(.mainframe_)) .christmas #topic a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 10px;
  width: 10px;
  height: 10px;
  border-right: solid 1px #333;
  border-bottom: solid 1px #333;
  transform: translateY(-50%) rotate(-45deg);
}

.wrapper_:not(:has(.mainframe_)) .christmas #topic a > div {
  padding: 0 10px 0 50px;
  background: url("/contents/common/img/icon_attention.png") left 10px / 40px auto no-repeat;
}

.wrapper_:not(:has(.mainframe_)) .christmas #topic .title {
  color: #fe0e11;
}

.wrapper_:not(:has(.mainframe_)) .christmas #topic a > div > p:nth-of-type(2) {
  font-size: 1.3rem;
}

/* コンテンツ
================================================== */
.wrapper_:not(:has(.mainframe_))  #christmas_cont > .bg {
  background:
    url("../img/bg_cont.jpg") center bottom / contain no-repeat,
    #f3efee;
  padding: 30px 3% 90px 3%;
}

.wrapper_:not(:has(.mainframe_)) #christmas_cont > .bg > div + div {
  margin-top: 10px;
}

/* 店頭お受取り */
.wrapper_:not(:has(.mainframe_)) #christmas_cont .christmas_tento {
  border: 5px solid #D7B563;
  background: #fff;
}

.wrapper_:not(:has(.mainframe_)) #christmas_cont .christmas_tento .img img {
  width: 100%;
  height: auto;
}

.wrapper_:not(:has(.mainframe_)) #christmas_cont .christmas_tento .btn_list {
  padding: 20px 3%;
}

.wrapper_:not(:has(.mainframe_)) #christmas_cont .christmas_tento .btn_list > div + div {
  margin-top: 10px;
}

/* ボタン：特設サイト */
.wrapper_:not(:has(.mainframe_)) #christmas_cont .christmas_tento .btn_external {
  max-width: 380px;
  border-radius: 60px;
  margin: 0 auto;
}

.wrapper_:not(:has(.mainframe_)) #christmas_cont .christmas_tento .btn_external a {
  color: #B17B1C;
  text-align: center;
  background: #ffffff;
  border: 2px solid #B17B1C;
}

.wrapper_:not(:has(.mainframe_)) #christmas_cont .christmas_tento .btn_external a::after {
  border-color: currentColor;
}

.wrapper_:not(:has(.mainframe_)) #christmas_cont .christmas_tento .btn_external a small {
  font-size: 1.2rem;
}

/* ボタン：お持ち帰りケーキ　すべての商品を見る */
.wrapper_:not(:has(.mainframe_)) #christmas_cont .christmas_tento .btn_item_all a {
  color: #ffffff;
  text-align: center;
  background: #B17B1C;
  border: 2px solid #B17B1C;
}

.wrapper_:not(:has(.mainframe_)) #christmas_cont .christmas_tento .btn_item_all a::after {
  border-color: currentColor;
}



/* --------------------------------------------------------------------
商品一覧ページ（.christmas_itemlist）
--------------------------------------------------------------------- */
/* ヘッダー */
.wrapper_:not(:has(.mainframe_)) .christmas_itemlist .head .title {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 40px;
  margin-bottom: 5px;
  background:
    url("/contents/siblings/christmas/2025/img/bg_tree_mini.png") 0 bottom / 40px auto no-repeat,
    url("/contents/siblings/christmas/2025/img/img_santa01.png") 40px bottom / 23px auto no-repeat,
    url("/contents/siblings/christmas/2025/img/bg_star02.png") 100% -4px / 44px auto no-repeat,
    url("/contents/siblings/christmas/2025/img/bg.jpg") 0 -10px / 50px auto repeat;
}

.wrapper_:not(:has(.mainframe_)) .christmas_itemlist .head .title {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
}

.wrapper_:not(:has(.mainframe_)) .christmas_itemlist .head .title > span {
  padding: 0 0 0 5px;
}

/* ボタン：トップに戻る
================================================== */
.wrapper_:not(:has(.mainframe_)) .christmas_itemlist #around_button_wrap .btn_top a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: center;
  width: 100%;
  max-width: 400px;
  height: 80px;
  margin: 0 auto;
  background: #E54A5A;
  border: 1px solid #E54A5A;
  border-radius: 60px;
  box-shadow: 0px 2px 3px 0px rgba(61, 61, 61, 0.15);
}

.wrapper_:not(:has(.mainframe_)) .christmas_itemlist #around_button_wrap .btn_top a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  transform: translateY(-50%) rotate(-45deg);
}

.wrapper_:not(:has(.mainframe_)) .christmas_itemlist #around_button_wrap .btn_top a > span > span {
  font-weight: bold;
}
