@charset "Shift_JIS";
/* --------------------------------------------------------------------
おせちCSS（PC） / .osch
--------------------------------------------------------------------- */
/* ボタン 右矢印（＞） */
.osch .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;
  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;
}

.osch .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 */
.osch .fill_cover_wrap {
  position: relative;
  overflow: hidden;
}
.osch .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;
}
.osch .fill_cover .fill_cover_tx {
  font-weight: bold;
  text-shadow: 0px 0px 10px rgb(0 0 0);
}
.osch .fill_cover .fill_cover_tx_b {
  font-weight: bold;
}

/* 改行切り替え */
.osch .sp_only { display: none; }

/* 既存トピックス（非表示） */
.m-newslist2_ {
  display: none;
}

#event_wrapper_top {
  margin-bottom: 0;
}

/* 上部パーツ
================================================== */
/* キャッチコピー */
.osch .catch_copy {
  color: #000;
  text-align: center;
  padding: 15px 0;
}

.osch .catch_copy .bold {
  font-weight: bold;
}

/* ナビメニュー（#navi_menu）
================================================== */
.osch #navi_menu ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: calc(200px * 4);
  margin: 0 auto;
}

.osch #navi_menu ul li {
  padding: 5px;
  width: 100%;
  max-width: 200px;
}

.osch #navi_menu ul li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  height: 70px;
  padding: 10px 0 15px 0;
  background: #333;
  border: 1px solid #333;
  border-radius: 3px;
  box-shadow: 0px 2px 3px 0px rgba(61, 61, 61, 0.15);
}

.osch #navi_menu ul li a span.txt_sub {
  font-size: 1.2rem;
  font-weight: normal;
  letter-spacing: normal;
}

.osch #navi_menu ul li a::after {
  content: '';
  position: absolute;
  bottom: 8px;
  width: 8px;
  height: 8px;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  transform: rotate(45deg);
}

/* マウスオーバー */
.osch #navi_menu ul li a:hover {
  opacity: 1;
  color: #000;
  background: #fff;
  border-color: #333;
}
.osch #navi_menu ul li a:hover::after {
  border-color: #333;
}

/* トピックス（#topic）
================================================== */
.osch #topic {
  padding: 40px 0;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.osch #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;
}

.osch #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);
}

.osch #topic a > div {
  padding: 0 0 0 54px;
  background: url("/contents/common/img/icon_attention.png") center left / 44px auto no-repeat;
}

.osch #topic .title {
  color: #fe0e11;
}

/* マウスオーバー */
.osch #topic a:hover {
  opacity: 1;
  background: #fff6cc;
}

/* 共通：コンテンツタイトル（.title_box）
================================================== */
.osch .title_box {
  text-align: center;
  margin: 0 0 30px 0;
}

.osch .title_box .title {
  color: #000;
  font-family: '游明朝', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'ＭＳ 明朝', serif;
  font-weight: 500; /* 機種による文字のかすれ防止 */
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.25rem;
}

.osch .title_box .lead_txt {
  color: #333;
  margin: 10px 0 0 0;
}

/* ピックアップおせち（#osch_pickup）
================================================== */
#osch_pickup > .bg {
  padding: 50px 40px;
  background:
    url("/contents/siblings/osch/2026/img/pickup_bg_img.png") 0 0 / 100px auto no-repeat,
    url("/contents/siblings/osch/2026/img/pickup_bg_img.png") 0 0 / 100px auto no-repeat,
    url("/contents/siblings/osch/2026/img/pickup_bg.jpg") top left / auto repeat;
}

#osch_pickup ul.list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

#osch_pickup ul.list li {
  width: calc((100% - (20px * 1)) / 2);
  background: #fff;
  box-shadow: 0px 2px 3px 0px rgba(61, 61, 61, 0.15);
}

#osch_pickup ul.list li a {
  display: block;
  padding: 10px;
}

#osch_pickup ul.list li .img {
  position: relative;
  width: 100%;
}

#osch_pickup ul.list li .img img:not(.icon_new) {
  width: 100%;
  height: auto;
}

/*新登場アイコン*/
#osch_pickup ul.list li .img img.icon_new {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 100%;
  max-width: 80px;
}

#osch_pickup ul.list li .txt {
  margin: 0 0 20px 0;
}

/* アイコン */
#osch_pickup ul.list li .txt .icon {
  margin: 10px 0 0 0;
}

#osch_pickup ul.list li .txt .icon > img {
  width: 42px;
}

#osch_pickup ul.list li .txt .icon > img + img {
  margin-left: 5px;
}

/* 商品名 */
#osch_pickup ul.list li .txt .name {
  color: #000;
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: bold;
  margin: 20px 0 0 0;
}

/* 価格 */
#osch_pickup ul.list li .txt .price {
  color: #000;
  font-size: 2.4rem;
  font-weight: bold;
}

#osch_pickup ul.list li .txt .price > span {
  font-size: 1.2rem;
  font-weight: normal;
  padding: 0 0 0 2px;
}

/* 説明文 */
#osch_pickup ul.list li .txt .detail {
  color: #333;
  font-size: 1.5rem;
  margin: 10px 0 0 0;
}

/* 詳細はこちら */
#osch_pickup ul.list li .link {
  color: #000;
  text-align: right;
}

/* ボタンの高さを合わせる */
#osch_pickup ul.list li .inner {
  display: flex;
  flex-flow: column;
  min-height: 650px;
}

#osch_pickup ul.list li .inner .link {
  margin-top: auto;
}

/* マウスオーバー */
#osch_pickup ul.list li a {
  border: 2px solid #fff;
}

#osch_pickup ul.list li a:hover {
  opacity: 1;
  border-color: #000;
}

#osch_pickup ul.list li a:hover .link {
  color: #000;
  text-decoration: underline;
}

/* おすすめ特集（#osch_feature）
================================================== */
#osch_feature > .bg {
  padding: 50px 40px;
  background:
    url("/contents/siblings/osch/2026/img/feature_bg_flower01.png") 0 0 / 100px auto no-repeat,
    url("/contents/siblings/osch/2026/img/feature_bg_flower02.png") 0 100% / 100px auto no-repeat,
    url("/contents/siblings/osch/2026/img/feature_bg.jpg") top center / 100% auto repeat;
}

#osch_feature ul.list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

#osch_feature ul.list li {
  width: calc((100% - (15px * 3)) / 4);
}

#osch_feature ul.list li a {
  display: block;
}

#osch_feature ul.list li .img {
  width: 100%;
}

#osch_feature ul.list li .img img {
  width: 100%;
  height: auto;
}

#osch_feature ul.list li .txt {
  color: #000;
  font-size: 1.4rem;
  font-weight: bold;
  margin: 5px 0 0 0;
}

/* マウスオーバー */
#osch_feature ul.list li a:hover .txt {
  text-decoration: underline;
}

/* おせちを探す（#osch_search）
================================================== */
#osch_search {
  margin-top: 60px;
}

#osch_search > .bg {
  padding: 50px 40px;
  border: 2px solid #f5d670;
}

#osch_search > .bg > div + div {
  margin: 50px 0 0 0;
}

/* サブ：見出し */
#osch_search .title_sub {
  color: #000;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

#osch_search .title_sub .fc {
  color: #c70015;
}

/* サブ：リード文 */
#osch_search .lead_txt_sub {
  color: #555;
  font-size: 1.4rem;
  text-align: center;
}

/* ボタンリスト */
#osch_search ul.list_btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 5px;
}

#osch_search ul.list_btn li {
  width: calc((100% - (10px * 4)) / 5);
}

#osch_search ul.list_btn li a {
  position: relative;
  display: flex;
  align-items: center;
  color: #111;
  font-size: 1.5rem;
  line-height: 1.2;
  width: 100%;
  height: 70px;
  padding: 0 0 0 10px;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #ccc;
  box-shadow: 0px 2px 3px 0px rgba(61, 61, 61, 0.15);
  overflow: hidden;
}

#osch_search ul.list_btn li a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 10px;
  width: 10px;
  height: 10px;
  border-right: solid 1px #111;
  border-bottom: solid 1px #111;
  transform: translateY(-50%) rotate(-45deg);
}

/* マウスオーバー */
#osch_search ul.list_btn li a:hover {
  opacity: 1;
  border-color: #c70015;
}

#osch_search ul.list_btn li a:hover::after {
  border-color: #c70015;
}

/* お届けエリア・方法から探す（#osch_search #osch_search_delivery）
================================================== */
#osch_search #osch_search_delivery ul.list_btn li {
  width: auto;
}

#osch_search #osch_search_delivery ul.list_btn li a {
  padding: 0 40px 0 10px;
}

#osch_search #osch_search_delivery ul.list_btn li .txt_sub {
  display: inline-block;
  font-size: 1.2rem;
  padding: 0 0 4px 0;
}

/* こだわりから探す（#osch_search #osch_search_keyword）
================================================== */
#osch_search #osch_search_keyword ul.list_btn li {
  width: auto;
}

#osch_search #osch_search_keyword ul.list_btn li a {
  justify-content: center;
  min-width: 100px;
  height: 50px;
  padding: 0 15px;
  text-align: center;
  border-radius: 60px;
  box-shadow: none;
}

#osch_search #osch_search_keyword ul.list_btn li a::after {
  content: none;
}


/* カタログから探す（#osch_search #osch_search_catalog）
================================================== */
#osch_search #osch_search_catalog > .inner {
  display: flex;
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  padding: 20px 0 0 0;
}

#osch_search #osch_search_catalog .img_catalog {
  width: 300px;
  margin: 0 20px 0 0;
}

#osch_search #osch_search_catalog .img_catalog img {
  width: 100%;
  height: auto;
}

/* リスト */
#osch_search #osch_search_catalog ul.list {
  width: 100%;
}

#osch_search #osch_search_catalog ul.list > li {
  border-top: 1px solid #ccc;
}

#osch_search #osch_search_catalog ul.list > li:last-of-type {
    border-bottom: 1px solid #ccc;
}

#osch_search #osch_search_catalog ul.list > li > a {
  position: relative;
  display: flex;
  align-items: center;
  color: #111;
  font-size: 1.5rem;
  line-height: 1.2;
  width: 100%;
  height: 70px;
  padding: 15px;
  background: #fff;
}

#osch_search #osch_search_catalog ul.list > li > a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 34px;
  width: 10px;
  height: 10px;
  border-right: solid 1px #111;
  border-bottom: solid 1px #111;
  transform: translateY(-50%) rotate(-45deg);
}

/* アコーディオン */
.js-accordion .js-accordion_header {
  display: flex;
  align-items: center;
  height: 70px;
  padding: 15px;
}

.js-accordion .js-accordion_header span {
  position: relative;
  display: flex;
  align-items: center;
  color: #111;
  font-size: 1.5rem;
  line-height: 1.2;
  text-align: left;
  width: 100%;
  height: 100%;
  background: #fff;
}

.js-accordion .js-accordion_header i.icon {
  position: relative;
  display: block;
  width: auto;
  height: 100%;
  aspect-ratio: 1;
  background: #c70015;
}

.js-accordion .js-accordion_header i.icon::before,
.js-accordion .js-accordion_header i.icon::after {
  content: '';
  display: block;
  position: absolute;
  top:0; 
  right:0;
  bottom:0;
  left:0;
  margin: auto;
  width: 20px;
  height: 2px;
  background-color: #fff;
}
.js-accordion .js-accordion_header i.icon::before {
  transform: rotate(90deg);
}

/* ＋アイコン動作用 */
.js-accordion .js-accordion_header.opening-accordion i.icon::before {
  background-color: transparent;
}

/* 内容枠 */
.js-accordion_content_inner {
  padding: 15px;
}


/* ボタン：すべての商品を見る・近鉄限定おせちをもっと見る
================================================== */
.osch .btn_item_all {
  padding: 40px 0 0 0;
}

.osch .btn_item_all a {
  text-align: center;
  background: #96815c;
  border: 1px solid #96815c;
}

.osch .btn_item_all a > span > span {
  font-weight: bold;
}

/* マウスオーバー */
.osch .btn_item_all a:hover {
  opacity: 1;
  color: #000;
  background: #fff !important;
}
.osch .btn_item_all a:hover::after {
  border-color: #000;
}
















/* --------------------------------------------------------------------
商品一覧ページ（.osch_itemlist）
--------------------------------------------------------------------- */

/* ボタン：トップに戻る
================================================== */
.osch_itemlist #around_button_wrap .btn_top a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: #fff;
  width: 100%;
  max-width: 400px;
  height: 80px;
  margin: 0 auto;
  background: #d06963;
  border: 1px solid #d06963;
  border-radius: 60px;
  box-shadow: 0px 2px 3px 0px rgba(61, 61, 61, 0.15);
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: center;
}

.osch_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);
}

.osch_itemlist #around_button_wrap .btn_top a > span > span {
  font-weight: bold;
}