@charset "UTF-8";
/* Utility
========================================================================================
======================================================================================== */
/* Font Color
============================================ */
.mc-fc__main {
  color: #FCC8BD !important;
}

.mc-fc__sub {
  color: #097689 !important;
}

.mc-fc__base {
  color: #FFFBFA !important;
}

.mc-fc__black {
  color: #313131 !important;
}

.mc-fc__white {
  color: #fff !important;
}

.mc-fc__gray {
  color: #6e6e6e !important;
}

/* Background color
============================================ */
.mc-bgc__main {
  background-color: #FCC8BD !important;
}

.mc-bgc__sub {
  background-color: #097689 !important;
}

.mc-bgc__base {
  background-color: #FFFBFA !important;
}

.mc-bgc__em {
  background-color: #FFF4F2 !important;
}

.mc-bgc__black {
  background-color: #313131 !important;
}

.mc-bgc__white {
  background-color: #fff !important;
}

.mc-bgc__gray {
  background-color: #d5d5d5 !important;
}

.mc-bgc__none {
  background-color: transparent !important;
}

.l-block:not(.mc-bgc__base) + .l-block.mc-bgc__base,
.l-block.mc-bgc__base + .l-block:not(.mc-bgc__base),
.l-block:not(.mc-bgc__induction) + .l-block.mc-bgc__induction,
.l-block.mc-bgc__induction + .l-block:not(.mc-bgc__induction) {
  padding-top: 30px;
}

.l-block.u-bgc__base + .l-block.mc-bgc__base,
.l-block.mc-bgc__base + .l-block.u-bgc__base,
.l-block.u-bgc__lightgreen + .l-block.mc-bgc__base,
.l-block.mc-bgc__base + .l-block.u-bgc__lightgreen {
  padding-top: 0;
}

.p-productwrap .-large .l-block.mc-bgc__base {
  padding-right: 20px;
  padding-left: 20px;
}

@media screen and (max-width: 1080px) {
  .p-productwrap .-large .l-block.mc-bgc__base {
    width: calc(100% + 60px);
    padding-right: 30px;
    padding-left: 30px;
    margin-left: -30px;
  }
}
@media screen and (max-width: 768px) {
  .p-productwrap .-large .l-block.mc-bgc__base {
    width: calc(100% + 20px);
    padding-right: 10px;
    padding-left: 10px;
    margin-left: -10px;
  }
}
.l-block.u-bgc__lightgreen,
.l-block.u-bgc__base,
.l-block[data-value=MOD_JP_00080] [class*=__arrow],
.l-block[data-value=MOD_JP_00016] [class*=__arrow] {
  background-color: #FFFBFA;
}

.c-accordion__title * {
  cursor: pointer;
}

.c-accordion__title[class*=mc-fc__main] > .c-accordion__icon::before,
.c-accordion__title[class*=mc-fc__main] > .c-accordion__icon::after {
  background-color: #FCC8BD !important;
}

.c-accordion__title[class*=mc-fc__sub] > .c-accordion__icon::before,
.c-accordion__title[class*=mc-fc__sub] > .c-accordion__icon::after {
  background-color: #097689 !important;
}

.c-accordion__title[class*=mc-fc__white] > .c-accordion__icon::before,
.c-accordion__title[class*=mc-fc__white] > .c-accordion__icon::after {
  background-color: #fff !important;
}

.c-accordion__title[class*=mc-fc__gray] > .c-accordion__icon::before,
.c-accordion__title[class*=mc-fc__gray] > .c-accordion__icon::after {
  background-color: #d5d5d5 !important;
}

/* Border
============================================ */
.mc-border__main {
  border: 1px solid #FCC8BD;
}

.mc-border__sub {
  border: 1px solid #097689;
}

.mc-border__black {
  border: 1px solid #313131;
}

.mc-border__white {
  border: 1px solid #fff;
}

.mc-border__none {
  border: none !important;
}

.mc-berc__main {
  border-color: #FCC8BD !important;
}

.mc-berc__sub {
  border-color: #097689 !important;
}

.mc-berc__black {
  border-color: #313131 !important;
}

.mc-berc__white {
  border-color: #fff !important;
}

.mc-berr__none {
  border-radius: 0 !important;
}

.mc-berr__corner {
  overflow: hidden;
  border-radius: 6px;
}

.mc-berr__full {
  overflow: hidden;
  border-radius: 50%;
}

.mc-berw__1 {
  border-width: 1px !important;
}

.mc-berw__2 {
  border-width: 2px !important;
}

.mc-berw__3 {
  border-width: 3px !important;
}

/* Button
============================================ */
.mc-designbtn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  max-width: 470px;
  padding: 25px 16px;
  margin: 0 auto;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  color: #464C4D;
  background-color: #FCC8BD;
  border: 2px solid #FCC8BD;
  border-radius: 6px;
  -webkit-transition: 0.175s;
  transition: 0.175s;
}

.mc-designbtn > span {
  max-width: 100%;
  /* ((12px + 2px) * 1.4142) / 2 */
  padding: 0 9.8994px;
}

.mc-designbtn::after {
  position: absolute;
  top: 50%;
  /* right: calc(16px + 2px); */
  right: 18px;
  display: block;
  width: 12px;
  height: 12px;
  content: "";
  border-top: 2px solid #464C4D;
  border-right: 2px solid #464C4D;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.mc-designbtn.-reverse {
  color: #313131;
  background-color: #fff;
  border-color: #F2AD9D;
}

.mc-designbtn.-reverse::after {
  border-color: #313131;
}

.mc-designbtn.-small {
  padding: 14px;
  font-size: 16px;
}

.mc-designbtn.-small::after {
  /* right: calc(14px + 2px); */
  right: 16px;
}

.mc-designbtn.-noArrow > span {
  padding: 0;
}

.mc-designbtn.-noArrow::after {
  display: none;
}

@media screen and (max-width: 768px) {
  .mc-designbtn {
    padding: 14px;
    font-size: 16px;
  }
  .mc-designbtn::after {
    /* right: calc(16px + 2px); */
    right: 16px;
  }
}
/* ------------------------------------- mv  */
/* mvblock */
.p-mvblock {
  position: relative;
  z-index: 0;
  display: block;
  max-width: 2000px;
  overflow: hidden;
  padding: 30px 0 0;
  margin: 0 auto;
  background-color: #FFF4F2;
}

.p-mvblock__inner {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
}

.p-mvblock__title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-mvblock__title::before,
.p-mvblock__title::after {
  position: absolute;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  top: 50%;
  width: calc((100% - 330px) / 2);
  height: 100%;
  max-height: 155px;
  content: "";
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-mvblock__title::before {
  left: 0;
  background-image: url("/include/shopping/gift/kekkoniwai/image/599_mv_left_250806.png");
  background-position: right 50px center;
  background-size: auto 123px;
}

.p-mvblock__title::after {
  right: 0;
  background-image: url("/include/shopping/gift/kekkoniwai/image/599_mv_right_250806.png");
  background-position: left 50px center;
  background-size: auto 110px;
}

.p-mvblock__title .-main,
.p-mvblock__title .-sub {
  z-index: 5;
  display: block;
}

.p-mvblock__title .-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 50px;
  font-weight: bold;
  line-height: 1.3;
  color: #6E6E6E;
}

.p-mvblock__title .-sub {
  font-size: 20px;
  font-weight: normal;
  line-height: 1.6;
  color: #6E6E6E;
  text-align: center;
  font-weight: 700;
}

.p-mvblock__title .-sub + .-main {
  margin-top: 5px;
}

.p-mvblock__title {
  z-index: 5;
  display: block;
}

.p-mvblock__slider {
  position: relative;
  z-index: 5;
  margin-top: 48px;
  border-top: 1px solid #6E6E6E;
}

.p-mvblock__sliderTitle {
  position: absolute;
  top: 0;
  left: 50%;
  padding: 0 20px;
  white-space: nowrap;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #FFF4F2), color-stop(50%, #FFFCF5));
  background: linear-gradient(180deg, #FFF4F2 50%, #FFFCF5 50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  /* add */
  z-index: 1;
}

.p-mvblock__sliderTitle .-main,
.p-mvblock__sliderTitle .-sub {
  display: inline-block;
  font-weight: bold;
  line-height: 1.6;
  color: #6E6E6E;
}

.p-mvblock__sliderTitle .-main {
  font-size: 32px;
}

.p-mvblock__sliderTitle .-sub {
  font-size: 20px;
}

@media screen and (min-width: 769px) and (max-width: 960px) {
  .p-mvblock__title::before,
  .p-mvblock__title::after {
    background-position: center;
    background-size: contain;
  }
}
@media screen and (max-width: 768px) {
  .p-mvblock__title::before,
  .p-mvblock__title::after {
    width: calc((100% - 180px) / 2);
    background-position: center;
    background-size: contain;
  }
  .p-mvblock__title .-main {
    font-size: 30px;
  }
  .p-mvblock__title .-sub {
    font-size: 12px;
  }
  .p-mvblock__slider {
    margin-top: 30px;
  }
  .p-mvblock__sliderTitle .-main {
    font-size: 20px;
  }
  .p-mvblock__sliderTitle .-sub {
    font-size: 16px;
  }
}
/* MV Slider
============================================ */
.p-mvslider.is-load {
  visibility: visible;
  opacity: 1;
}

.p-mvslider {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  max-width: 2000px;
  margin: 0 auto;
  /* add */
  padding: 0 30px;
  background-color: #FFFCF5;
  overflow: hidden;
}

.p-mvslider__inner {
  /* 画面幅1200px時, 高さ30px */
  /* 100vw * (30 / 1200) */
  display: block;
  width: 100%;
  max-width: 1200px;
  padding-top: clamp(0px, 2.5vw, 30px);
  padding-bottom: clamp(0px, 2.5vw, 30px);
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .p-mvslider__inner {
    /* 画面幅750px時, 高さ60px */
    /* 100vw * (60 / 750) */
    padding-top: 8vw;
    padding-bottom: 8vw;
  }
}
/* MV Slider - swiper item
============================================ */
.p-mvslider__swiper {
  /* 画面幅1200px時, 高さ30px */
  /* 100vw * (30 / 1200) */
  position: relative;
  z-index: 1;
  padding: 0;
  margin-top: clamp(0px, 2.5vw, 30px);
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  list-style: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.p-mvslider__swiperWrap {
  position: relative;
  z-index: 1;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.p-mvslider__swiperItem {
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border: solid 4px #FCC8BD;
  -webkit-transition: scale 0.75s;
  transition: scale 0.75s;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.p-mvslider__swiperItemBody {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
}

.p-mvslider__swiperName {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 10px;
  line-height: 1.5;
  color: #464C4D;
  background-color: #FCC8BD;
}

.p-mvslider__swiperName > .-main, .p-mvslider__swiperName > .-sub {
  display: inline-block;
  line-height: 1.3;
}

.p-mvslider__swiperName > .-sub {
  font-size: 14px;
  font-weight: normal;
}

.p-mvslider__swiperName > .-main {
  position: relative;
  font-size: 16px;
  font-weight: bold;
}

.p-mvslider__swiperName > .-main::after {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 1.3539810494px;
  content: "";
  border-top: 2px solid #464C4D;
  border-right: 2px solid #464C4D;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (min-width: 769px) {
  /* swiper */
  /* .p-mvslider {
    padding: 0 30px;
  } */
  .p-mvslider__swiperWrap {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
  }
  .p-mvslider__swiperItem img {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
  }
  .p-mvslider__swiperItem .p-mvslider__swiperName {
    cursor: pointer;
    -webkit-transition: background-color 300ms;
    transition: background-color 300ms;
  }
  .p-mvslider__swiperItem:has(*:hover) img {
    opacity: 0.5;
    background-color: #fff;
  }
  .p-mvslider__swiperItem:has(*:hover) .p-mvslider__swiperName {
    background-color: #ffcfc2;
  }
}
@media screen and (max-width: 768px) {
  .p-mvslider {
    visibility: hidden;
    opacity: 0;
    padding: 0;
  }
}
/* MV Slider - pagination pause
============================================ */
.p-mvslider__swiperPagination {
  display: none;
}

.p-mvslider .swiper-pagination-bullets {
  bottom: 0;
  left: 0;
  -webkit-transform: none;
  transform: none;
}

.p-mvslider .swiper-pagination-bullet {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: auto;
  height: auto;
  margin: 0 8px;
  cursor: pointer;
  background-color: transparent;
  border-radius: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-mvslider .swiper-pagination-bullet span {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #464C4D;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.p-mvslider .swiper-pagination-bullet svg {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.p-mvslider .swiper-pagination-bullet circle {
  fill: #fff;
  stroke: #FCC8BD;
  stroke-dasharray: 125.664px;
  stroke-dashoffset: 125.664px;
  stroke-linecap: round;
  stroke-width: 2;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

/* active */
.p-mvslider .swiper-pagination-bullet-active circle {
  fill: #FCC8BD;
  stroke: #fff;
  -webkit-animation: progress 5s;
  animation: progress 5s;
}

/* pause */
.p-mvslider .swiper-pagination-bullet-active.is-pause circle {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}

/* pause off */
.p-mvslider .swiper-pagination-bullet-active.is-animation circle {
  stroke: #fff;
  -webkit-animation: re-progress 5s;
  animation: re-progress 5s;
  stroke-dashoffset: 125.664px;
}

@-webkit-keyframes progress {
  0% {
    stroke-dashoffset: 125.664px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes progress {
  0% {
    stroke-dashoffset: 125.664px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes re-progress {
  0% {
    stroke-dashoffset: 125.664px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes re-progress {
  0% {
    stroke-dashoffset: 125.664px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@media screen and (min-width: 769px) {
  .p-mvslider__swiperBtn {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .p-mvslider__swiperBottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 4vw;
  }
  .p-mvslider__swiperPagination {
    /* 画面幅1200px時, 高さ30px */
    /* 100vw * (30 / 1200) */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    /* margin-top: 2.5vw; */
  }
  .p-mvslider__swiperBtn {
    cursor: pointer;
    display: block;
    position: relative;
    width: 24px;
    height: 24px;
    /* margin-top: 30px; */
    margin-left: 8px;
    border-radius: 50%;
    background-color: #FCC8BD;
    border: 2px solid #fff;
    border-radius: 50%;
  }
  .p-mvslider__swiperBtn img {
    width: 24px;
    height: 24px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-filter: brightness(0) saturate(100%) invert(27%) sepia(15%) saturate(188%) hue-rotate(141deg) brightness(96%) contrast(88%);
    filter: brightness(0) saturate(100%) invert(27%) sepia(15%) saturate(188%) hue-rotate(141deg) brightness(96%) contrast(88%);
  }
}
/* -------------------------------------ナビゲーション */
/* nav manners */
.p-nav__itemwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p-nav__itemwrap {
    margin-bottom: 10px;
  }
}
/* default */
.p-nav__item {
  width: calc((100% + 24px) * 2 / 4 - 24px);
}
/*4*/
.p-nav__item[data-navclmnum="4"] {
  width: calc(calc(100% + 24px) * calc(1 - calc(2 / 4)) - 24px);
}
/*5*/
.p-nav__item[data-navclmnum="5"] {
  width: calc(calc(100% + 24px) * calc(1 - calc(2 / 5)) - 24px);
}
/*6*/
.p-nav__item[data-navclmnum="6"] {
  width: calc(calc(100% + 24px) * calc(1 - calc(2 / 6)) - 24px);
}
@media screen and (max-width: 768px) {
  .p-nav__item,
  .p-nav__item[data-navclmnum] {
    width: 100%;
    max-width: unset;
  }
}
.p-nav__linkwrap {
  display: block;
  width: 100%;
  background-color: #FCC8BD;
  text-align: center;
  padding: 10px;
}
.p-nav__linktext {
  text-decoration: underline;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .p-nav__linktext {
    font-size: 14px;
  }
}
.p-nav__linktext::before {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 10px 0 0;
  content: "";
  border-top: 2px solid #313131;
  border-right: 2px solid #313131;
  -webkit-transform: rotate(135deg) translateY(25%);
          transform: rotate(135deg) translateY(25%);
}
.c-nav__linkwrap {
  /* overwrite */
  color: #FFFFFF;
  background-color: #6E6E6E;
  border-color: #6E6E6E;
}

@media screen and (max-width: 768px) {
  .c-nav__linkwrap {
    padding: 15px 10px 28px;
    font-size: 16px;
  }
}
@media screen and (max-width: 340px) {
  .c-nav__linkwrap {
    padding: 15px 2px 28px;
    font-size: 15px;
  }
}
.c-nav__linkwrap[data-arrow=down] span::after {
  border-color: #FFFFFF;
}

.c-nav__linkwrap[data-arrow=right] span::after {
  border-color: #FFFFFF;
}

/* manners
============================================ */
.mc-article__itemlinkwrap {
  display: block;
  width: 100%;
}

.mc-article__itemlinkwrap * {
  cursor: pointer;
}

.mc-article__img {
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
}

.mc-article__img:before {
  display: block;
  padding-top: 56%;
  content: "";
}

.mc-article__img > img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

@media screen and (max-width: 640px) {
  .mc-article__list {
    width: 100%;
    margin: 0;
  }
  .mc-article__cont {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-align-items: flex-start;
    -webkit-align-items: flex-start;
  }
  .mc-article__img {
    width: 30.985915493%;
    margin-bottom: 0;
  }
  .mc-article__info {
    width: 63.9436619718%;
    margin-top: -2px;
  }
}
/* gift search
============================================ */
.c-giftselectsearch[class] {
  margin-right: auto;
  margin-left: auto;
  padding-top: 60px;
  background-color: inherit;
}

@media screen and (max-width: 768px) {
  .c-giftselectsearch[class] {
    padding-top: 40px;
  }
}
[class].c-giftselectsearch__title::after {
  -webkit-filter: invert(92%) sepia(52%) saturate(5684%) hue-rotate(294deg) brightness(101%) contrast(89%);
  filter: invert(92%) sepia(52%) saturate(5684%) hue-rotate(294deg) brightness(101%) contrast(89%);
}
/* manners accordion
============================================ */
#anchor_manners .c-accordion__title {
  background-color: #FCC8BD;
  /* color: #894019; */
}

/* recipient pickup
============================================ */
/* box Title
============================================ */
.mc-boxtitle {
  position: relative;
  padding: 10px;
  margin-bottom: 20px;
  background-color: #ebf1f1;
}

.mc-boxtitle,
.mc-boxtitle__inner {
  display: block;
  width: 100%;
  line-height: 1;
  border: #bdd1cf solid 2px;
}

.mc-boxtitle__inner {
  height: 100%;
  padding: 16px 10px;
}

.mc-boxtitle__inner > * {
  line-height: 1.6;
  text-align: center;
}

.mc-boxtitle .-main {
  font-size: 32px;
}

.mc-boxtitle .-cap {
  font-size: 18px;
}

.mc-boxtitle::before,
.mc-boxtitle::after,
.mc-boxtitle__inner::before,
.mc-boxtitle__inner::after {
  position: absolute;
  z-index: 0;
  width: 14.2px;
  height: 1.5px;
  content: "";
  background-color: #bdd1cf;
}

.mc-boxtitle::before,
.mc-boxtitle::after {
  top: 4px;
}

.mc-boxtitle__inner::before,
.mc-boxtitle__inner::after {
  bottom: 4.5px;
}

.mc-boxtitle::before,
.mc-boxtitle__inner::before {
  left: -2px;
}

.mc-boxtitle::after,
.mc-boxtitle__inner::after {
  right: -2px;
}

.mc-boxtitle::before,
.mc-boxtitle__inner::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mc-boxtitle::after,
.mc-boxtitle__inner::before {
  right: -2px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* -type1 */
/* 背景色 */
.mc-boxtitle.-type1 {
  background-color: #FFFFFF;
}

/* ボーダー色 */
.mc-boxtitle.-type1,
.mc-boxtitle.-type1 .mc-boxtitle__inner {
  border-color: #FAE69D;
}

/* 装飾ライン色 */
.mc-boxtitle.-type1::before,
.mc-boxtitle.-type1::after,
.mc-boxtitle.-type1 .mc-boxtitle__inner::before,
.mc-boxtitle.-type1 .mc-boxtitle__inner::after {
  background-color: #FAE69D;
}

/* -type2 */
/* 背景色 */
.mc-boxtitle.-type2 {
  background-color: #FFFFFF;
}

/* ボーダー色 */
.mc-boxtitle.-type2,
.mc-boxtitle.-type2 .mc-boxtitle__inner {
  border-color: #E2D2F7;
}

/* 装飾ライン色 */
.mc-boxtitle.-type2::before,
.mc-boxtitle.-type2::after,
.mc-boxtitle.-type2 .mc-boxtitle__inner::before,
.mc-boxtitle.-type2 .mc-boxtitle__inner::after {
  background-color: #E2D2F7;
}

/* -type3 */
/* 背景色 */
.mc-boxtitle.-type3 {
  background-color: #FFFFFF;
}

/* ボーダー色 */
.mc-boxtitle.-type3,
.mc-boxtitle.-type3 .mc-boxtitle__inner {
  border-color: #F9D8C2;
}

/* 装飾ライン色 */
.mc-boxtitle.-type3::before,
.mc-boxtitle.-type3::after,
.mc-boxtitle.-type3 .mc-boxtitle__inner::before,
.mc-boxtitle.-type3 .mc-boxtitle__inner::after {
  background-color: #F9D8C2;
}

@media screen and (max-width: 768px) {
  .mc-boxtitle {
    margin-bottom: 10px;
  }
  .mc-boxtitle.-bottom {
    margin-bottom: 0;
    border-bottom: none;
  }
  .mc-boxtitle .-main {
    font-size: 20px;
  }
  .mc-boxtitle .-cap {
    font-size: 15px;
  }
  .mc-boxtitle__inner {
    padding: 18px 10px;
  }
}
/* recommend card
============================================ */
.p-recommendcard {
  display: block;
  width: 100%;
  height: 100%;
  padding: 24px;
  background-color: #fff;
  border: 1px solid #93adaa;
}

.p-recommendcard .p-icontext {
  font-weight: bold;
}

.p-recommendcard .c-link.-arrow {
  color: #616161;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
}

.p-recommendcard .c-link.-arrow:after {
  border-color: #616161;
}

.p-recommendcard__inner {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-recommendcard__prod > * + * {
  margin-top: 10px;
}

.p-recommendcard__taglist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}

.p-recommendcard__tag {
  background: #e7e7e7;
  padding: 4px 10px;
  font-size: 12px;
  line-height: 1.6;
  color: #575757;
  font-weight: bold;
}

.p-recommendcard__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 0;
  line-height: 0;
}

.p-recommendcard__title > .-icn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-size: 9px;
  font-weight: bold;
  color: #313131;
  background-color: #00ad99;
  border-radius: 50%;
  line-height: 1.6;
}

.p-recommendcard__title > .-icn > span {
  font-size: 16px;
  line-height: 1;
}

.p-recommendcard__title > .-icn + .-txt {
  max-width: calc(100% - 10px - 50px);
  margin-left: 10px;
}

.p-recommendcard__title > .-txt {
  font-size: 20px;
  line-height: 1.6;
}

.p-recommendcard__img {
  width: 100%;
  text-align: center;
  overflow: hidden;
}

.p-recommendcard__img * {
  display: inline-block;
}

/* -type1 */
.p-recommendcard.-type1 {
  border-color: #FAE69D;
}

.p-recommendcard.-type1 .p-recommendcard__title > .-icn {
  background-color: #FAE69D;
}

/* -type2 */
.p-recommendcard.-type2 {
  border-color: #E2D2F7;
}

.p-recommendcard.-type2 .p-recommendcard__title > .-icn {
  background-color: #E2D2F7;
}

/* -type3 */
.p-recommendcard.-type3 {
  border-color: #F9D8C2;
}

.p-recommendcard.-type3 .p-recommendcard__title > .-icn {
  background-color: #F9D8C2;
}

.p-recommendcard .mc-designbtn {
  color: #313131;
}

.p-recommendcard .mc-designbtn::after {
  border-color: #313131;
}

/* -type1 */
.p-recommendcard.-type1 .mc-designbtn {
  border-color: #FAE69D;
  background-color: #FAE69D;
}

/* -type2 */
.p-recommendcard.-type2 .mc-designbtn {
  border-color: #E2D2F7;
  background-color: #E2D2F7;
}

/* -type3 */
.p-recommendcard.-type3 .mc-designbtn {
  border-color: #F9D8C2;
  background-color: #F9D8C2;
}

a.p-recommendcard * {
  cursor: pointer;
}

/* category
============================================ */
/* overwrite */
.c-categoryNormalbox__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  min-height: 100%;
  border: 2px solid #FCC8BD;
}

.c-categoryNormalbox__name {
  color: #464C4D;
  background-color: #FCC8BD;
}

@media screen and (max-width: 768px) {
  .c-categoryNormalbox__name {
    font-size: 16px;
    padding: 6px 10px;
    /* add */
    /* font-size*2*line-height + padding-top+padding-bottom  */
    min-height: calc(2.6em + 4px);
  }
}
/* /overwrite */
.c-categoryNormalbox__name.mc-categoryIconText {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .mc-categoryIconText {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.mc-categoryIconText__txt {
  line-height: 1.6;
}
.mc-categoryIconText__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  padding: 3px 4px;
  margin-right: 10px;
  border-radius: 3px;
  background-color: #FFFFFF;
  color: #313131;
  font-size: 14px;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .mc-categoryIconText__icon {
    margin-right: 0px;
  }
}
.mc-categoryIconText__icon.-feature {
  color: #A83218;
}

.mc-categoryIconText__icon::before {
  display: block;
  content: "";
  margin-right: 5px;
  height: 14px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.mc-categoryIconText__icon.-feature::before {
  aspect-ratio: 26/26;
  background-image: url(/include/shopping/gift/kekkoniwai/image/icon_rank_star.png);
}

.mc-categoryIconText__icon.-first::before {
  aspect-ratio: 44/28;
  background-image: url(/include/shopping/gift/kekkoniwai/image/icon_rank_no1.png);
}

.mc-categoryIconText__icon.-second::before {
  aspect-ratio: 44/28;
  background-image: url(/include/shopping/gift/kekkoniwai/image/icon_rank_no2.png);
}

.mc-categoryIconText__icon.-third::before {
  aspect-ratio: 44/28;
  background-image: url(/include/shopping/gift/kekkoniwai/image/icon_rank_no3.png);
}

.mc-categoryLabel__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
}

.mc-categoryLabel__img {
  display: block;
  width: auto;
  min-width: 1em;
  height: 1em;
  margin-right: 10px;
}

@media screen and (max-width: 400px) {
  .mc-categoryLabel__img {
    margin-right: 4px;
  }
}
.mc-categoryLabel__text {
  font-size: clamp(16px, 2.4vw, 19px);
  font-weight: bold;
  color: #464C4D;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .mc-categoryLabel__text {
    font-size: clamp(0.875rem, 0.7391rem + 0.5435vw, 1rem);
  }
}
.-no1.mc-categoryLabel__label .mc-categoryLabel__img {
  -webkit-filter: invert(85%) sepia(47%) saturate(476%) hue-rotate(357deg) brightness(104%) contrast(105%);
  filter: invert(85%) sepia(47%) saturate(476%) hue-rotate(357deg) brightness(104%) contrast(105%);
  /* アイコンの色 */
}

.-no2.mc-categoryLabel__label .mc-categoryLabel__img {
  -webkit-filter: invert(98%) sepia(1%) saturate(7465%) hue-rotate(195deg) brightness(122%) contrast(76%);
  filter: invert(98%) sepia(1%) saturate(7465%) hue-rotate(195deg) brightness(122%) contrast(76%);
  /* アイコンの色 */
}

.-no3.mc-categoryLabel__label .mc-categoryLabel__img {
  -webkit-filter: invert(76%) sepia(71%) saturate(613%) hue-rotate(304deg) brightness(98%) contrast(94%);
  filter: invert(76%) sepia(71%) saturate(613%) hue-rotate(304deg) brightness(98%) contrast(94%);
  /* アイコンの色 */
}

/* -------------------------------------送料無料バナー */
.freebnr {
  display: block;
  margin: 0 auto;
  -webkit-transition: 0.175s;
  transition: 0.175s;
}

@media screen and (min-width: 769px) {
  .l-block a:hover .freebnr {
    opacity: 0.7;
  }
}
/* special buyers recommend */
.p-buyers-flag:has(+ .l-block[data-value=MOD_JP_00016]) {
  padding-bottom: 0px;
}

.p-buyers-flag:not(:has(+ .l-block[data-value=MOD_JP_00016])) {
  padding-bottom: 30px;
}

/* overwrite */
.p-buyers-flag + .u-bgc__base.l-block[data-value=MOD_JP_00016] {
  background-color: unset;
}

.p-buyers-flag + .l-block[data-value=MOD_JP_00016] h2 {
  display: block;
  width: 100%;
  padding: 7px 0;
  margin-bottom: 16px;
  font-size: 0;
  line-height: 0;
  text-align: center;
}

.p-buyers-flag + .l-block[data-value=MOD_JP_00016] .c-title__global.-underline {
  border-bottom: unset;
}

.p-buyers-flag + .l-block[data-value=MOD_JP_00016] h2 .-main {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3em;
}

@media screen and (max-width: 768px) {
  .p-buyers-flag + .l-block[data-value=MOD_JP_00016] h2 .-main {
    font-size: 17px;
  }
}
.p-msgcard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 692px;
  width: 100%;
  padding: 0;
  margin: 0 auto;
}

@media screen and (min-width: 769px) {
  .p-msgcard {
    --msgcard-cardwidth: 200;
    width: min(100%, calc(1px * (var(--msgcard-cardwidth) + 380 + 24)));
  }
  .p-msgcard__left {
    max-width: 288px;
    width: calc(100% * var(--msgcard-cardwidth) / (var(--msgcard-cardwidth) + 380 + 24));
  }
  .p-msgcard__right {
    width: calc(100% * 380 / (var(--msgcard-cardwidth) + 380 + 24));
    min-height: unset;
  }
}
@media screen and (max-width: 768px) and (min-width: 621px) {
  .p-msgcard {
    --msgcard-cardwidth: 200;
    width: min(100%, calc(1px * (var(--msgcard-cardwidth) + 380 + 24)));
  }
  .p-msgcard__left {
    max-width: 288px;
    width: calc(100% * var(--msgcard-cardwidth) / (var(--msgcard-cardwidth) + 380 + 24));
  }
  .p-msgcard__right {
    width: calc(100% * 380 / (var(--msgcard-cardwidth) + 380 + 24));
    min-height: unset;
  }
}
@media screen and (max-width: 620px) {
  .p-msgcard {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
  .p-msgcard__left {
    width: 34%;
  }
  .p-msgcard__right {
    width: 100%;
    margin-top: 24px;
  }
}
/* story article */
#story_flag + .l-block.l-block.u-bgc__base {
  background-color: transparent;
}