@charset "UTF-8";

/* *************************************************** */
/* ************ [キー:-] フリーエリア共通 ************ */
/* *************************************************** */
#d_grand_top .sgift2025 .h2 {
  background: url(/ec/shop/images/campaign/20250515_otyugen/bg-h2-01.png) left top no-repeat;
  border-bottom: 2px solid #013887;
  color: #111;
  font-size: 18px;
  font-weight: bold;
  height: 41px;
  line-height: 32px;
  margin: 0 0 20px;
  padding-left: 15px;
  text-align: left;
  margin: 0 0 20px;
}

.sgift2025 a img {
  -webkit-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

.sgift2025 a:hover,
.sgift2025 .link-hover:hover,
.sgift2025 a:hover img {
  opacity: 0.7;
}

.sgift2025 .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

/* *************************************************** */
/* ********サイドメニュー上 ********* */
/* *************************************************** */
.sgift2025 .seasonGiftside {
  margin-bottom: 15px;
}

.sgift2025 .seasonGiftside .bnr {
  margin-bottom: 32px;
  margin-top: -15px;
}

.sgift2025 .seasonGiftside .bnr:last-child {
  margin-bottom: 28px;
}

/* *************************************************** */
/* ********サイドメニュー下 ********* */
/* *************************************************** */
.sgift2025 .second {
  margin: 15px 0 10px;
}

.sgift2025 .second .sideMailmaga {
  margin-bottom: 20px;
}

.sgift2025 .second .catalogueS,
.sgift2025 .second .webAddress {
  background: #4EACD7;
}

.sgift2025 .second .catalogueS {
  padding: 14px 6px;
  margin-bottom: 6px;
}

.sgift2025 .second .catalogueS h3 {
  font-size: 19px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1.5;
  padding-bottom: 10px;
}

.sgift2025 .second .webAddress {
  padding: 14px 6px 0;
  margin-bottom: 10px;
}

.sgift2025 .second .webAddress h3 {
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  letter-spacing: -0.05em;
  line-height: 1.5;
  padding-bottom: 10px;
}

.sgift2025 .second .webAddress p {
  font-size: 13px;
  color: #fff;
  padding-bottom: 10px;
}

.sgift2025 .second .catalogueS .side-btn-area li,
.sgift2025 .second .webAddress .side-btn-area li {
  background: #fff;
  width: 172px;
  height: 39px;
  position: relative;
  margin-bottom: 2px;
}

.sgift2025 .second .catalogueS .side-btn-area li:last-of-type,
.sgift2025 .second .webAddress .side-btn-area li:last-of-type {
  margin-bottom: 0;
}

.sgift2025 .second .catalogueS .side-btn-area li a,
.sgift2025 .second .webAddress .side-btn-area li a {
  font-size: 12px;
  padding-left: 7px;
  color: #4EACD7;
  font-weight: bold;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.sgift2025 .second .catalogueS .side-btn-area li a:hover,
.sgift2025 .second .webAddress .side-btn-area li a:hover {
  text-decoration: none;
}

.sgift2025 .second .catalogueS .side-btn-area li::after,
.sgift2025 .second .webAddress .side-btn-area li::after {
  content: "";
  box-sizing: border-box;
  width: 5px;
  height: 5px;
  border: 5px solid transparent;
  border-left: 5px solid #013887;
  position: absolute;
  right: 0;
  top: 36%;
}

.sgift2025 .second .webAddress .side-address-date {
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  padding: 12px 0 10px;
}

#d_side .sgift2025 .second .sideContent01 {
  margin: 10px 0;
}

/* *************************************************** */
/* テンプレートにあるグローバルナビゲーションの非表示 **** */
/* *************************************************** */
#d_grand_top.wgift #wrapheaderCategory,
#d_grand_top.wgift #wrapheaderCategory {
  display: none;
}

/* *************************************************** */
/* *********** メインビジュアル *********** */
/* *************************************************** */
.sgift2025 {
  border-top: 1px solid #fff;
}

.sgift2025 .mainvisual h2 {
  margin: 0 !important;
}

.sgift2025 .mainvisual {
  background-image: url(/ec/shop/images/campaign/20250515_otyugen/bg.png);
  background-repeat: repeat-x;
}

/**
* クーポン ***************************** */
.sgift2025 .couponWrap {
  margin: 20px auto 0;
  max-width: 990px;
}

.sgift2025 .couponWrap>.title {
  background-color: #013887;
  color: #FFF;
  font-size: 20px !important;
  font-weight: bold !important;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
}

.sgift2025 .couponWrap>.title b {
  font-size: 25px;
}

/**
* アンカーメニュー ***************************** */
.sgift2025 .anchor-menu {
  margin: 0 auto 5px;
  width: 100%;
  background: #DFF0F7;
}

.sgift2025 .anchor-menu-list {
  max-width: 990px;
  margin: 0 auto;
  padding: 11px 0;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px 13px;
}

/**
* ピックアップバナー *************************** */
.sgift2025 .pickup-bnr {
  margin-bottom: 40px;
}

.sgift2025 .pickup-bnr-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
  margin-bottom: 10px;
}

.sgift2025 .pickup-bnr-button a {
  height: 60px;
  display: block;
  background-color: #013887;
  font-size: 23px;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
  background-image: url(/ec/shop/images/campaign/20250515_otyugen/icon_arrow_white01.svg);
  background-repeat: no-repeat;
  background-position: right 10px center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 7px;
  box-sizing: border-box;
}

.sgift2025 .pickup-bnr-button a:hover,
.sgift2025 .pickup-bnr-button a:focus,
.sgift2025 .pickup-bnr-button a:active {
  text-decoration: none;
}

/**
* カード ************************************** */
.sgift2025 .card-bnr {
  margin-bottom: 40px;
}

.sgift2025 .card-bnr-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
}

/* *************************************************** */
/* ********* 600選 ********** */
/* *************************************************** */

/**
* 京王ご推奨ギフト 600選 共通 ****************** */
.sgift2025 .gift600 {
  background: #F5FBFE;
  clear: both;
  margin-bottom: 30px;
  overflow: hidden;
  padding: 20px 20px;
}

/**
* 京王ご推奨ギフト 600選 タイトル ************** */
#d_grand_top .ttl600 h2 {
  margin: 0;
}

/**
* 京王ご推奨ギフト 600選 人気商品ランキング ***** */
.sgift2025 .ranking600 .ttl {
  position: relative;
  background: #C1DFEF;
  color: #000;
  padding: 11px 0 0 10px;
  font-size: 18px;
  height: 52px;
  box-sizing: border-box;
}

.sgift2025 .ranking600 .ttl h3,
.sgift2025 .ranking600 .ttl-category h3 {
  background: url(/ec/shop/images/campaign/20250515_otyugen/icon-gift600-logo.png) center right 17px no-repeat;
  background-size: 38px 34px;
}

.sgift2025 .ranking600 .ttl .ttl_s {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  left: 0;
  top: 0;
}

.sgift2025 .ranking600 .ttl span {
  color: #000;
  font-size: 14px;
  font-weight: normal;
  left: 412px;
  position: absolute;
  top: 14px;
}

.sgift2025 .ranking_list {
  background: #fff;
  display: flex;
  margin-bottom: 21px;
  padding: 20px 10px 24px;
}

.sgift2025 .ranking_list li {
  padding-top: 36px;
  width: calc((100% - (11px * 4)) / 5);
  position: relative;
}

.sgift2025 .ranking_list li:not(:nth-child(5n)) {
  margin-right: 11px;
}

.sgift2025 .ranking_list li .ranking_img {
  margin-bottom: 12px;
  width: 133px;
}

.sgift2025 .ranking_list li img {
  width: 100%;
  border: solid 1px #cccccc;
}

.sgift2025 .ranking_list .ranking_01::before {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  width: 38px;
  height: 30px;
  left: 35%;
  top: 0;
  background: url(/ec/shop/images/campaign/20250515_otyugen/bg-gift650-rank01.png) no-repeat;
}

.sgift2025 .ranking_list .ranking_02::before {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  width: 38px;
  height: 30px;
  left: 35%;
  top: 0;
  background: url(/ec/shop/images/campaign/20250515_otyugen/bg-gift650-rank02.png) no-repeat;
}

.sgift2025 .ranking_list .ranking_03::before {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  width: 38px;
  height: 30px;
  left: 35%;
  top: 0;
  background: url(/ec/shop/images/campaign/20250515_otyugen/bg-gift650-rank03.png) no-repeat;
}

.sgift2025 .ranking_list .ranking_04::before {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  width: 38px;
  height: 30px;
  left: 35%;
  top: 0;
  background: url(/ec/shop/images/campaign/20250515_otyugen/bg-gift650-rank04.png) no-repeat;
}

.sgift2025 .ranking_list .ranking_05::before {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  width: 38px;
  height: 30px;
  left: 35%;
  top: 0;
  background: url(/ec/shop/images/campaign/20250515_otyugen/bg-gift650-rank05.png) no-repeat;
}

.sgift2025 .ranking_list .txt {
  color: #000;
  text-align: center;
  font-size: 13px;
  line-height: 1.5;
}

.sgift2025 .flex-ranking a:hover dd {
  text-decoration: underline;
}

/**
* 京王ご推奨ギフト 600選 人気商品カテゴリー ***** */
.sgift2025 .flex-favorite {
  margin-top: 20px;
  margin-bottom: 20px;
}

.sgift2025 .flex-favorite li {
  margin-bottom: 9px;
}

.sgift2025 .flex-favorite li:not(:nth-child(3n)) {
  margin-right: 10px;
}

.sgift2025 .flex-favorite li:nth-child(n + 4) {
  margin-bottom: 0;
}

/**
* 京王ご推奨ギフト 600選 その他のカテゴリー ***** */
.sgift2025 .flex-cate {
  margin: 15px 0;
}

.sgift2025 .ranking600 .ttl-category {
  color: #013887;
  border-bottom: solid 2px #013887;
  font-size: 18px;
  padding: 10px 0;
}

.sgift2025 .ranking600 .ttl-category h4 {
  background: url(/ec/shop/images/campaign/20250515_otyugen/icon-gift600-logo.png) center right 12px no-repeat;
  background-size: 38px 34px;
}

.sgift2025 .ranking600 .ttl-category .ttl_s {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  left: 0;
  top: 0;
}

.sgift2025 .flex-cate li {
  margin-bottom: 3px;
  width: 179px;
  height: 50px;
}

.sgift2025 .flex-cate li:not(:nth-child(4n)) {
  margin-right: 3px;
}

.sgift2025 .flex-cate li a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  font-size: 13px;
  width: 100%;
  height: 100%;
  padding-left: 10px;
  color: #000;
  background-color: #fff;
  background-image: url(/ec/shop/images/campaign/20250515_otyugen/icon_arrow01.svg);
  background-position: center right 6px;
  background-repeat: no-repeat;
  background-size: 7px 15px;
}

.sgift2025 .flex-cate li a:hover {
  color: #000;
  text-decoration: none;
}

/**
* カタログ掲載の特集 *************************** */
.sgift2025 .catalog {
  margin-bottom: 30px;
}

.sgift2025 .catalog-list {
  display: grid;
  padding: 0 20px;
}

.sgift2025 .catalog-list:not(:last-child) {
  margin-bottom: 10px;
}

.sgift2025 .catalog-list:last-child {
  margin-top: 20px;
}

.sgift2025 .catalog-list2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 9px;
}

.sgift2025 .catalog-list3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

/**
* お得な特典 ********************************** */
.sgift2025 .net-only-benefits-list {
  box-sizing: border-box;
  padding: 0 20px;
  margin: 0 0 30px 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}

.sgift2025 .stl600 {
  cursor: pointer;
  /* margin: 20px auto; */
  transition: opacity 0.3s ease 0s;
}

.sgift2025 .stl600:hover {
  opacity: .7;
}

.sgift2025 .passport-card {
  cursor: pointer;
  transition: opacity 0.3s ease 0s;
}

.sgift2025 .passport-card:hover {
  opacity: .7;
}

/**
* ネット限定の特集 ***************************** */
.sgift2025 .net-only {
  margin: 0 0 30px 0;
}

#d_grand_top .sgift2025 .net-only .h2 {
  margin: 0;
}

.sgift2025 .net-only-list {
  /* display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px; */
  box-sizing: border-box;
  padding: 20px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
  background-color: #F5FBFE;
}

/* *************************************************** */
/* ******* [キー:-] カタログの商品番号から探す ******** */
/* *************************************************** */
.sgift #catalogue {
  margin-top: 0;
  padding: 20px 60px;
}

#d_grand_top.sgift #catalogue h2 {
  background: none;
  font-size: 22px;
  font-weight: bold;
  height: auto;
  margin-bottom: 20px;
  padding: 0;
  text-align: center;
}

.sgift #catalogue .ttmText {
  color: #000 !important;
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 9px;
  padding: 0;
}

.sgift #catalogue .ttmText:last-child {
  margin-bottom: 0;
}

.sgift #catalogue .inputCatalog {
  margin: 0 0 6px;
  padding: 0;
}

.sgift #catalogue .inputCatalog li {
  box-shadow: 1px 1px 0px #cdcdcd;
  width: 86.16px;
}

.sgift #catalogue .inputCatalog li:last-child {
  margin: 0;
  width: 68px;
}

.sgift #catalogue .inputCatalog li:not(:last-child) {
  margin: 0 10px 0 0;
}

.sgift #catalogue .inputCatalog li .w2 {
  width: 64px;
}

/* *************************************************** */
/* ********* [キー:sg_contents2] コンテンツ2 ********** */
/* *************************************************** */
/**
* 人気ランキング・人気キーワード **************** */
.sgift2025 .ninki-rank {
  margin: 30px 0 26px;
}

.sgift2025 .flex-ninki-rank {
  margin-bottom: 27px;
  padding: 0 20px;
  box-sizing: border-box;
  justify-content: space-between;
  width: 100%;
}

.sgift2025 .flex-ninki-rank li {
  width: calc((100% - 13px) / 2);
}

.sgift2025 .flex-ninki-rank li:not(:nth-child(2n)) {
  margin-right: 13px;
}

/**
* 【キーワード】 ******************************* */
.sgift2025 .ninki-rank .key-ttl {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
  padding: 0 20px;
}

.sgift2025 .ninki-rank .keyword {
  padding: 0 20px;
}

.sgift2025 .ninki-rank .keyword li {
  float: left;
  font-size: 15px;
  line-height: 28px;
  margin: 0px 28px 0 0;
}

.sgift2025 .ninki-rank .keyword li:nth-of-type(6),
.sgift2025 .ninki-rank .keyword li:nth-of-type(13) {
  margin-right: 0;
}

.sgift2025 .ninki-rank .keyword li a {
  color: #000;
  transition: all 0.3s ease 0s;
  text-decoration: underline;
}

.sgift2025 .ninki-rank .keyword li a:hover {
  opacity: 0.5;
}

/**
* お中元カテゴリーから探す ********************* */
.sgift2025 .category-search {
  margin-bottom: 29px;
}

.sgift2025 .flex-category-search,
.sgift2025 .flex-category-search2 {
  padding: 0 20px;
}

.sgift2025 .flex-category-search {
  margin-bottom: 1px;
}

.sgift2025 .flex-category-search li {
  margin-bottom: 9px;
}

.sgift2025 .flex-category-search li:not(:nth-child(3n)) {
  margin-right: 9px;
}

.sgift2025 .flex-category-search2 {
  margin: 0;
}

.sgift2025 .flex-category-search2 li {
  margin-bottom: 3px;
  width: 177px;
  height: 48px;
  border: solid 1px #d9d9d9;
  position: relative;
}

.sgift2025 .flex-category-search2 li:not(:nth-child(4n)) {
  margin-right: 3px;
}

.sgift2025 .flex-category-search2 li a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  font-size: 13px;
  height: 100%;
  padding-left: 10px;
  width: 100%;
  color: #535353;
  background: linear-gradient(to bottom, #f9f9f9, #f2f2f2);
}

.sgift2025 .flex-category-search2 li a::after {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(/ec/shop/images/campaign/20250515_otyugen/icon_arrow02.svg);
  background-repeat: no-repeat;
  width: 7px;
  height: 15px;
  background-size: cover;
  top: 36%;
  right: 6px;
}

.sgift2025 .flex-category-search2 li a:hover {
  text-decoration: none;
}

/**
* 予算から探す（金額） ************************* */
#d_grand_top .sgift2025 .top-menu {
  background: #efefef;
  margin-bottom: 28px;
}

#d_grand_top .sgift2025 .top-menu .flex-yosan {
  letter-spacing: -0.4em;
  padding: 21px 14px 7px;
}

#d_grand_top .sgift2025 .top-menu .flex-yosan .txtLink {
  background: #fff;
  box-shadow: 1px 1px 0px #cdcdcd;
  display: inline-block;
  letter-spacing: normal;
  margin: 0 0 14px;
  width: 239px;
}

#d_grand_top .sgift2025 .top-menu .flex-yosan .txtLink:not(:nth-child(3n)) {
  margin-right: 10px;
}

#d_grand_top .sgift2025 .top-menu .flex-yosan .txtLink a {
  display: block;
  font-size: 14px;
  padding: 10px 0;
  text-align: center;
  color: #013887;
}

/**
* おすすめ商品 ******************************** */
.sgift2025 .osusume-list {
  margin: 30px 0 27px;
}

.sgift2025 .osusume-item-list {
  padding: 0 18px;
  display: flex;
}

.sgift2025 .osusume-item-list li {
  width: calc((100% - (11px * 4)) / 5);
}

.sgift2025 .osusume-item-list li:not(:nth-child(5n)) {
  margin-right: 11px;
}

.sgift2025 .osusume-item-list li .ranking_img {
  width: 137px;
  margin-bottom: 12px;
}

.sgift2025 .osusume-item-list li .ranking_img img {
  width: 100%;
  border: solid 1px #cccccc;
}

.sgift2025 .osusume-item-list .txt {
  color: #000;
  font-size: 13px;
  line-height: 18px;
  text-align: center;
}

/* 商品券 */
.sgift2025 .gift-certificates {
  margin-bottom: 30px;
}

/* ご自宅用限定 お買い得品&人気グルメ */
.sgift2025 .gojitaku {
  margin: 0;
}

.sgift2025 .gojitaku a {
  display: block;
}

.sgift2025 .bnr-sale-item01 {
  margin-bottom: -1px;
  position: relative;
  z-index: -1;
}

/* お買い得品&人気グルメ / ネット限定 防災備蓄品特集 */
.sgift2025 .bnr-new {
  margin-bottom: 30px;
  overflow: hidden;
}

.sgift2025 .bnr-new img {
  float: left;
}

/**
* ページ下部のバナーエリア ********************* */
/* 夏の手みやげ / うなぎ / ネット限定ギフト */
.sgift2025 .bnr-list li,
.sgift2025 .bnr-bottom {
  margin-bottom: 30px;
}


.sgift2025 .flex-bnr-last a {
  width: calc((100% - (15px * 1)) / 2);
}

.sgift2025 .flex-bnr-last a:not(:nth-child(2n)) {
  margin-right: 15px;
}

/* *************************************************** */
/* **** [キー:sg_attention] ご注文前にこちらをご確認 **** */
/* *************************************************** */
.sgift2025 .attention {
  font-size: 14px;
  margin-bottom: 60px;
}

#d_grand_top .sgift2025 .attention-ttl {
  margin-top: 60px;
}

.sgift2025 .attention-list {
  margin-bottom: 20px;
  margin-left: 10px;
  text-align: left;
}

.sgift2025 .attention-list .list-item {
  font-size: 14px;
  letter-spacing: -.02em;
  line-height: 26px;
  text-indent: -1em;
}

.sgift2025 .attention-list .list-item::before {
  content: '・';
}

.sgift2025 .attention-list .list-item-emphasis {
  color: #ca0611;
}

.sgift2025 .attention-list .list-item-asterisk {
  padding-left: 1em;
  text-indent: -1em;
}

.sgift2025 .attention-list .list-item-asterisk::before {
  content: '※';
}

.sgift2025 .attention-list .list-item .link {
  color: #013887;
  text-decoration: underline;
}

.sgift2025 .attention .attention-inquiry {
  border: 2px solid #013887;
  border-radius: 10px;
  color: #013887;
  font-size: 18px;
  font-weight: bold;
  padding: 5px 10px;
  text-align: center;
}

.sgift2025 .attention .attention-inquiry .number {
  font-size: 22px;
}

/**
* お役立ちコラム ***************************** */
.sgift2025 .article-link {
  max-width: 990px;
  margin: 0 auto 20px;
  background: #f6f6f6;
  padding: 30px 20px;
  color: #000000;
}

.sgift2025 .article-link a img:hover {
  opacity: 0.7;
}

/* title */
.sgift2025 .article-link .title {
  font-size: 24px;
  line-height: 1.5;
  text-align: center;
  font-weight: 600;
  padding: 0;
}

.sgift2025 .article-link .title .sub {
  font-size: 16px;
  font-weight: normal;
  margin-bottom: 0px;
  display: block;
  clear: both;
}

/* articleArea */
.sgift2025 .article-link .linkArea {
  /*margin: 0px -2% 0 0;*/
  clear: both;
}

.sgift2025 .article-link .linkArea .aBox {
  display: table;
  float: left;
  border: solid 1px #cccccc;
  background-color: #ffffff;
  padding: 12px;
  width: 44%;
  margin-top: 14px;
  margin-left: 2%;
}

.sgift2025 .article-link .linkArea .aBox .img {
  float: left;
  display: table-cell;
  vertical-align: middle;
  padding: auto 0;
}

.sgift2025 .article-link .linkArea .aBox .img img {
  height: 80px;
}

.sgift2025 .article-link .linkArea .aBox .txt {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  font-size: 14px;
  padding: 0 0 0 12px;
}

.sgift2025 .article-link .linkArea .aBox .arrow {
  display: table-cell;
  vertical-align: middle;
  text-align: right;
  width: 30px;
}

.sgift2025 .article-link .linkArea .aBox .arrow img {
  width: 14px;
}

/*----------------------------*/
.sgift2025 .article-link .onlySP {
  display: none;
}

.sgift2025 .article-link .clear {
  clear: both
}

/* *************************************************** */
/* *************** [キー:-] お知らせ **************** */
/* *************************************************** */
#d_grand_top #d_news h2 {
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}


/**
* リンクラップ ************************* */
.sgift2025 .categoryLinkWrap {
  margin: 40px auto 0;
}

.sgift2025 .categoryLinkWrap .flex {
  flex-wrap: wrap;
  justify-content: center;
}

.sgift2025 .categoryLinkWrap .flex .btn {
  width: calc((100% - 10px) / 2);
  display: flex;
  justify-content: center;
}

.sgift2025 .categoryLinkWrap .flex .btn:first-child {
  margin-right: 10px;
}

.sgift2025 .categoryLinkWrap .flex .btn a {
  font-size: 18px;
  display: flex;
  color: #FFF;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 25px 0;
  position: relative;
}

.sgift2025 .categoryLinkWrap .flex .btn a::before {
  content: "";
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  color: #FFF;
  line-height: 1;
  width: 0.8em;
  height: 0.8em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  top: 40%;
  right: 20px;
  transform: rotate(45deg);
}

.sgift2025 .categoryLinkWrap .flex .btn a:hover {
  text-decoration: none;
}

.sgift2025 .categoryLinkWrap .flex .allBtn a {
  background-color: #013887;
}

.sgift2025 .categoryLinkWrap .flex .gift600Btn a {
  background-color: #FBA35F;
}

/**
* 開催終了したキャンペーン ************************* */
#d_grand_top .sgift2025 .end-campaign {
  background-color: #FFF;
  padding: 0;
}

#d_grand_top .sgift2025 .end-campaign .h2 {
  background: url(/ec/shop/images/campaign/20250515_otyugen/bg-h2-02.png) left top no-repeat;
  border-bottom: 1px solid #000;
}

#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox dl .endCampaignDay {
  font-size: 16px;
  margin-bottom: 10px;
}

#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox {
  margin-bottom: 20px;
}

#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox dl .endCampaignBnr {
  position: relative;
}

#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox dl .endCampaignBnr:not(:last-child) {
  margin-bottom: 10px;
}


#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox dl .endCampaignBnr .endText {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFF;
  font-size: 25px;
  font-weight: bold;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.65;
}

#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox dl .endCampaignBnr .endText:hover {
  opacity: 0.5;
}

#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox dl .endCampaignBnr .BnrBox {
  width: 100%;
}

#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox dl .endCampaignBnr a:hover {
  opacity: 1;
}

#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox dl .endCampaignBnr .BnrBox img {
  width: 100%;
  transition: none !important;
  opacity: 1;
}

#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox dl .endCampaignBnr a:hover .BnrBox img {
  opacity: 0.3;
}

#d_grand_top .sgift2025 .end-campaign .endCampaignWrap .campaignBox dl .endCampaignBnr .BnrBox .pick-up-bnr:hover {
  cursor: pointer;
}

.sgift2025 .torikomiRireki .fixed {
  left: 0;
  right: 0;
  position: fixed;
  overflow: hidden;
  top: 0;
}

.sgift2025 .torikomiRireki .modal,
.sgift2025 .torikomiRireki .modal2 {
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 10000;
  overflow-y: scroll;
}

.sgift2025 .torikomiRireki .modal .modal__inner,
.sgift2025 .torikomiRireki .modal2 .modal__inner {
  box-sizing: border-box;
}

.sgift2025 .torikomiRireki .modalBG {
  padding: 20px;
  background-color: #FFF;
  position: absolute;
  width: fit-content;
  left: 0;
  right: 0;
  display: block;
  margin: 20px auto;
  width: fit-content;
  box-sizing: border-box;
}

.sgift2025 .torikomiRireki .modal .modal__close,
.sgift2025 .torikomiRireki .modal2 .modal__close {
  color: #000;
  font-size: 38px;
  line-height: 1;
  font-weight: normal;
  cursor: pointer;
  position: absolute;
  right: 30px;
  top: 30px;
}

.sgift2025 .torikomiRireki .modal .modal__img,
.sgift2025 .torikomiRireki .modal2 .modal__img {
  height: 100%;
  text-align: center;
}

.sgift2025 .torikomiRireki .modal .modal__img img,
.sgift2025 .torikomiRireki .modal2 .modal__img img {
  height: 100%;
}

.sgift2025 .torikomiRireki .modal__inner .btnMypage a {
  display: flex;
  max-width: 300px;
  justify-content: center;
  margin: 20px auto 0;
  height: 60px;
  align-items: center;
  background-color: #013887;
  font-size: 18px;
  font-weight: bold;
  color: #FFF;
}

.sgift2025 .torikomiRireki .modal__inner .btnMypage a:hover {
  text-decoration: none;
}

.sgift2025 .torikomiRireki .modalBtn {
  margin: 0 auto 10px;
}

.sgift2025 .torikomiRireki .modalBtn,
.sgift2025 .torikomiRireki .modalBtn2 {
  transition: .3s;
}

.sgift2025 .torikomiRireki .modalBtn:hover,
.sgift2025 .torikomiRireki .modalBtn2:hover {
  cursor: pointer;
  opacity: .5;
  transition: .3s;
}