* {
  margin: 0;
  padding: 0;
}

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

/*snsBtn
-----------------------------------------------------*/
#sns_button {
  width: 90%;
  max-width: 636px;
  height: 25px;
  margin: 20px auto 10px;
  overflow: hidden;
  _zoom: 1;
}
#sns_button li {
  margin-right: 10px;
  float: right;
}

/*--- clearfix ---*/
.cf:after,
#wrap ul.tab:after {
  content: "";
  display: block;
  clear: both;
}

#wrap *,
#wrap *:before,
#wrap *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#wrap {
  width: 100%;
  overflow: hidden;
  font-family: "Noto Sans Japanese", "Hiragino Kaku Gothic Std",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka,
    "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.6px;
  color: #313131;
  background-color: #d1c7be;
  padding-top: 1.5%;
}

#wrap a {
  display: block;
  text-decoration: none;
}

/*common//////////////////////////////////////////////////*/
.main {
  width: 96%;
  margin: 0 auto;
}

.top_inner {
  position: relative;
}

.flower {
  width: 7.7%;
}

.top_red_rt {
  position: absolute;
  left: 1%;
  top: 7%;
}

.top_yellow_lt {
  position: absolute;
  right: 1%;
  top: 12%;
}

.top_yellow_lt_2 {
  position: absolute;
  left: 1%;
  bottom: 13%;
}

.top_red_rt_2 {
  position: absolute;
  right: 1%;
  bottom: 5%;
}



.gift_red_rt {
  position: absolute;
  left: 1%;
  top: 3%;
}

.gift_yellow_lt {
  position: absolute;
  right: 1%;
  top: 3%;
}

.gift_yellow_lt_2 {
  position: absolute;
  left: 1%;
  bottom: 5%;
}

.gift_red_rt_2 {
  position: absolute;
  right: 1%;
  bottom: 0;
}


.main_img {
  width: 100%;
}

.main .lead_1 {
  margin: 5.4% 0;
}

.main .lead_1 p {
  text-align: center;
  color: #fff;
  line-height: 1.7em;
  font-size: 3.5cqw;
  font-weight: 500;
}

.white {
  color: #fff;
}

.beige {
  color: #a69a8f;
}

.gift {
  position: relative;
  padding: 5% 0;
  width: 96%;
  margin: 0 auto;
}

.gift_flex {
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  background-color: #fff;
  border-radius: 10px;
  padding: 2%;
}

.gift_flex li {
  width: 49%;
}

.gift_flex li img {
  border-radius: 10px;
}

.btn {
  position: relative;
  width: 60%;
  margin: 5% auto 0;
}

.btn a {
  color: #a2978e;
  font-size: 3.8cqw;
  font-weight: 600;
  letter-spacing: 0.04em;
  display: inline-block;
  padding: 6% 3% 6.2% 5%;
  background-color: #fff;
  border-radius: 10px;
  text-align: center;
  border: 1px solid #a2978e;
}

.sankaku_bt {
  position: absolute;
  width: 20px;
  left: 4%;
  top: 54%;
  transform: translateY(-50%);
}


/*タブ切り替え//////////////////////////////////////////////////*/
/* タブ全体を囲むコンテナの設定 */
.tab-switch {
  display: flex; /* タブを横並びに */
  flex-wrap: wrap; /* 幅に応じて折り返し */
  margin: auto;/* コンテナの中央寄せ */
  justify-content: center;/* タブの中央寄せ */
  gap: 5px;/* タブ間の余白 */
}

/* 各タブボタンの設定 */
.tab-switch > label {
  flex: 1 1 auto; /* タブが均等に幅をとるが、幅を超えると折り返す */
  order: -1; /* 上部に表示する */
  position: relative; /* 絶対位置指定用の基準 */
  padding: .7em 1em; /* 上下左右の内側余白 */
  background-color: #f2f3f4; /* 背景色 */
  color: #999; /* 文字色 */
  text-align: center; /* 文字を中央揃え */
  cursor: pointer; /* ポインターを指アイコンに変更 */
  transition:.3s all;
  line-height: 1.7em;
  font-size: 3.7cqw;
  font-weight: 600;
  border-radius: 7px;
}

/* タブボタンのホバーおよび選択状態のスタイル */
.tab-switch > .mother_tab:hover,
.tab-switch .mother_tab:has(:checked) {
  background-color: #eb6e7b; /* ホバー/選択時の背景色 */
  color: #fff; /* ホバー/選択時の文字色 */
  line-height: 1.7em;
  font-size: 3.8cqw;
  font-weight: 600;
  border-radius: 7px;
}

.tab-switch > .father_tab:hover,
.tab-switch .father_tab:has(:checked) {
  background-color: #49679e; /* ホバー/選択時の背景色 */
  color: #fff; /* ホバー/選択時の文字色 */
  line-height: 1.7em;
  font-size: 3.8cqw;
  font-weight: 600;
  border-radius: 7px;
}

/* ラジオボタン自体は非表示 */
.tab-switch input {
  display: none; /* 見た目に表示されないようにする */
}

/* タブコンテンツのスタイル */
.tab-switch > div {
  display: none; /* 初期状態では非表示 */
  width: 100%; /* コンテンツ幅を全体に */
   /* 内側余白 */
  margin: 1% 0 0;
}

/* 選択されたタブのコンテンツを表示 */
.tab-switch .mother_tab:has(:checked) + div {
  display: block; /* 選択されたタブに対応するコンテンツを表示 */
}

.tab-switch .father_tab:has(:checked) + div {
  display: block; /* 選択されたタブに対応するコンテンツを表示 */
}



/* 母の日・父の日 共通 */
.lead_2 {
  width: 80%;
  margin: 0 auto 3%;
  background-color: #fff;
  border-radius: 10px;
  padding: 2.7% 3% 2.8%;
  text-align: center;
}

.lead_tx {
  line-height: 1.7em;
  font-size: 3.5cqw;
  font-weight: 400;
}

.date {
  font-size: 3.6cqw;
}

.mincho {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
}

h2 {
  line-height: 1.1em;
  font-size: 7.7cqw;
  font-weight: bold;
  text-align: center;
}

.h2_sub {
  font-size: 3.3cqw;
  font-weight: 500;
}

.lead_agri {
  position: relative;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 6.8% 0 3.5%;
  text-align: center;
  margin: 9.3% 0 6.5%;
}

.lead_agri_tx {
  line-height: 1.7em;
  font-size: 3.5cqw;
  font-weight: 400;
}

.note {
  padding-top: 3%;
  line-height: 1.7em;
  font-size: 2.8cqw;
}

.lead_h3 {
  position: absolute;
  font-size: 3.7cqw;
  font-weight: 500;
  background-color: #fff;
  padding: 0.6% 2%;
  width: 50%;
  top: -8%;
  left: 50%;
  transform: translateX(-50%);
  margin: auto;
}



/* 母の日エリア */
.mother {
  background-color: #fce8e8;
  padding: 5% 3% 0;
}

.mother_lead {
  position: relative;
}

.mother_lead_red_rt {
  position: absolute;
  top: 14%;
  left: -1%;
}

.mother_lead_red_lt {
  position: absolute;
  bottom: 5%;
  right: -1%;
}

.pink {
  color: #eb6e7b;
}

.lead_big {
  position: relative;
  line-height: 1.7em;
  font-size: 4.5cqw;
  font-weight: 500;
  padding-bottom: 2.8%;
}

.lead_big::after {
	content: '';
  position: absolute;
  display: inline-block;
  width: 15px;
  height: 15px;
  background-image: url(https://cdn.lumine.jp/contents/design/2025/250417_mothers_day/img/chon_ladies.png);
  background-size: contain;
  vertical-align: sub;
  background-repeat: no-repeat;
  top: 0;
}

.partition {
  width: 100%;
  border-bottom: 2px dotted #eb6e7b;
}

.agri,.category,.budget,.recommend,.shop {
  padding: 5% 0;
}

.category {
  position: relative;
}

.category_red_lt {
  position: absolute;
  top: 4%;
  right: -1%;
}

.category_red_rt {
  position: absolute;
  top: 10%;
  left: -1%;
}


.budget {
  position: relative;
}

.budget_red_lt {
  position: absolute;
  top: 8%;
  right: -1%;
}

.budget_red_rt {
  position: absolute;
  top: 3%;
  left: -1%;
}


.recommend {
  position: relative;
}

.recommend_red_lt {
  position: absolute;
  top: 0.7%;
  right: -1%;
}

.recommend_red_rt {
  position: absolute;
  top: 1.2%;
  left: -1%;
}


.shop {
  position: relative;
}

.shop_red_lt {
  position: absolute;
  top: 8%;
  right: -1%;
}

.shop_red_rt {
  position: absolute;
  top: 4%;
  left: -1%;
}


.category_flex,.shop_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 5%;
}

.category_flex li,.shop_flex li {
  width: 31.2%;
  margin-bottom: 4%;
}

.category_tx {
  font-size: 3.2cqw;
  font-weight: 500;
  padding-top: 3%;
  text-align: center;
}

.budget_list {
  width: 95%;
  margin: 5% auto 0;
}

.budget_list li {
  margin-bottom: 5%;
}

.budget_list li img {
  border-radius: 8px;
  border: 1px solid #eb6e7b;
}

.logo img {
  border-radius: 8px;
}


/* 父の日エリア */
.father {
  background-color: #d5deed;
  padding: 5% 3% 0;
}

.father_lead {
  position: relative;
}

.father_lead_yellow_rt {
  position: absolute;
  top: 14%;
  left: -1%;
}

.father_lead_yellow_lt {
  position: absolute;
  bottom: 5%;
  right: -1%;
}

.blue {
  color: #49679e;
}

.lead_big_father {
  position: relative;
  line-height: 1.7em;
  font-size: 4.5cqw;
  font-weight: 500;
  padding-bottom: 2.8%;
}

.lead_big_father::after {
	content: '';
  position: absolute;
  display: inline-block;
  width: 15px;
  height: 15px;
  background-image: url(https://cdn.lumine.jp/contents/design/2025/250522_fathers_day/img/chon_mens.png);
  background-size: contain;
  vertical-align: sub;
  background-repeat: no-repeat;
  top: 0;
}

.partition_father {
  width: 100%;
  border-bottom: 2px dotted #49679e;
}


.category_yellow_lt {
  position: absolute;
  top: 10%;
  left: -1%;
}

.category_yellow_rt {
  position: absolute;
  top: 14%;
  right: -1%;
}


.budget_yellow_lt {
  position: absolute;
  top: 8%;
  left: -1%;
}

.budget_yellow_rt {
  position: absolute;
  top: 3%;
  right: -1%;
}


.recommend_yellow_lt {
  position: absolute;
  top: 0.7%;
  left: -1%;
}

.recommend_yellow_rt {
  position: absolute;
  top: 5.9%;
  right: -1%;
}


.shop_yellow_lt {
  position: absolute;
  top: 5%;
  left: -1%;
}

.shop_yellow_rt {
  position: absolute;
  top: 4%;
  right: -1%;
}


.budget_list,.budget_list_father {
  width: 95%;
  margin: 5% auto 0;
}

.budget_list li,.budget_list_father li {
  margin-bottom: 5%;
}

.budget_list li img {
  border-radius: 8px;
  border: 1px solid #eb6e7b;
}

.budget_list_father li img {
  border-radius: 8px;
  border: 1px solid #49679e;
}



/*スライダー//////////////////////////////////////////////////*/
#wrap .sliderBox_2 {
  width: 100%;
}

#wrap .sliderBox_2 .contents {
  overflow-x: scroll;
  overflow-y: hidden;
  margin: 0 0 7% 2%;
}

#wrap .sliderBox_2 #itemSlide {
  width: fit-content;
  display: inline-grid;
  /* grid-template-rows: repeat(2, auto); */
  grid-auto-flow: column;
  overflow: hidden;
  margin-bottom: 6%;
  position: relative;
}

#wrap .sliderBox_2 #itemSlide li {
  width: 190px;
  margin: 0 10px 0 0;
  padding: 4%;
  background-color: #fff;
  border-radius: 8px;
}

#wrap .sliderBox_2 a {
  text-decoration: none;
}

.detail p {
  font-size: 3.2cqw;
  font-weight: 400;
  line-height: 1.55em;
  padding-top: 3%;
}

.slider_tl {
  font-size: 3.5cqw;
  font-weight: 400;
  line-height: 1.55em;
  padding-bottom: 2.5%;
  margin-top: 7%;
}


/* 移行区分E：mobile_firstテンプレートのstyle */
.mobile_first_to_page_top {
  display: block;
}
