/* =============================================================
    TOP Page 
============================================================= */
body {
  font-family: var(--font-ja);
  font-size: var(--text-xl);
  color: var(--color-Txt-Primary);
  letter-spacing: 0.1rem;
  line-height: 1.5;
}

#Contents {
  margin: 0;
}
#Contents .contentArea__inner {
  position: relative;
}
@media only screen and (min-width: 769px), print {
  #Contents .contentArea__inner {
    width: 87.5%;
    max-width: 1400px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
#Contents .contentArea .carouselArea {
  position: relative;
}
@media only screen and (min-width: 769px), print {
  #Contents .contentArea .carouselArea {
    width: 84.3%;
    max-width: 1145px;
  }
}
#Contents .contentArea .carouselArea__slider {
  overflow: hidden;
  margin: 0 auto;
}
@media only screen and (min-width: 769px), print {
  #Contents .contentArea .carouselArea__slider {
    width: 97.14%;
  }
}
#Contents .contentArea .carouselArea__slider--wrapper {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  #Contents .contentArea .carouselArea__slider--wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4rem 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .contentArea .carouselArea__slider--wrapper .swiper-slide {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    opacity: 1;
    -webkit-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .contentArea .carouselArea__slider--wrapper .swiper-slide.is-hidden {
    opacity: 0;
    height: 0;
    margin: 0;
    display: none;
  }
}
#Contents .contentArea .carouselArea__slider a {
  -webkit-transition: var(--transition-default);
  transition: var(--transition-default);
}
#Contents .contentArea .carouselArea__slider a:hover {
  opacity: var(--hover-opacity);
}
#Contents .contentArea .carouselArea img {
  height: auto;
  width: 100%;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 769px), print {
  #Contents .contentArea .carouselArea img {
    margin-bottom: 3rem;
  }
}
#Contents .contentArea .carouselArea__item--name {
  text-align: center;
  font-size: var(--title-s);
  letter-spacing: 0.15em;
  margin-bottom: 1.2rem;
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  padding: 0 0.8rem;
}
#Contents .contentArea .carouselArea__item--price {
  text-align: center;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
  #Contents .contentArea .carouselArea__item--price {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .contentArea .carouselArea__item--price {
    font-size: var(--text-xxl);
    margin-bottom: 0.8rem;
  }
}
#Contents .contentArea .carouselArea__item--price .unit {
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 768px) {
  #Contents .contentArea .carouselArea__item--price .unit {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .contentArea .carouselArea__item--price .unit {
    font-size: var(--text-xl);
  }
}
#Contents .contentArea .carouselArea__item--price[data-priceBox=discount] .target-price {
  padding-right: 0.5em;
  color: var(--color-Highlight) !important;
}
#Contents .contentArea .carouselArea__item--price[data-priceBox=discount] .target-price .unit {
  color: var(--color-Highlight) !important;
}
#Contents .contentArea .carouselArea__item--price[data-priceBox=discount] .list-price {
  text-decoration: line-through;
}
@media only screen and (max-width: 768px) {
  #Contents .contentArea .carouselArea__item--price[data-priceBox=discount] .list-price {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .contentArea .carouselArea__item--price[data-priceBox=discount] .list-price {
    font-size: var(--text-l);
  }
}
#Contents .contentArea .carouselArea__item--price[data-priceBox=discount] .list-price .unit {
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 768px) {
  #Contents .contentArea .carouselArea__item--price[data-priceBox=discount] .list-price .unit {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .contentArea .carouselArea__item--price[data-priceBox=discount] .list-price .unit {
    font-size: var(--text-m);
  }
}
#Contents .contentArea .carouselArea__item--catch {
  text-align: center;
  color: var(--color-Txt-Secondary);
  letter-spacing: 0.08em;
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  #Contents .contentArea .carouselArea__item--catch {
    font-size: 1.3rem;
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .contentArea .carouselArea__item--catch {
    font-size: var(--text-l);
    margin-top: 1.5rem;
  }
}
#Contents .contentArea .carouselArea .slider__arrow {
  cursor: pointer;
  position: absolute;
  background-color: transparent;
  border: none;
  width: 4rem;
  height: 4rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  top: 26%;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  bottom: 0;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0;
  z-index: 5;
}
#Contents .contentArea .carouselArea .slider__arrow--prev {
  left: 0;
  background-image: url("../Contents/ImagesPkg/common/slider_arrow_01.svg");
}
#Contents .contentArea .carouselArea .slider__arrow--next {
  right: 0;
  background-image: url("../Contents/ImagesPkg/common/slider_arrow_02.svg");
}
#Contents .contentArea.dark {
  background-color: var(--color-Key-Primary);
  color: var(--color-white);
}
#Contents .contentArea.dark * {
  color: var(--color-white);
}
#Contents .contentArea.dark .btn__txt--link::before {
  content: "";
  background-image: url(../Contents/ImagesPkg/common/btn_arrow_03.svg);
}
#Contents .mainvisual {
  position: relative;
  overflow: hidden;
  background-color: var(--color-Bg-Primary);
}
@media only screen and (max-width: 768px) {
  #Contents .mainvisual__container {
    padding-bottom: 7rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .mainvisual__container {
    -webkit-transform: translateX(calc(-141 * 100vw / 1600));
            transform: translateX(calc(-141 * 100vw / 1600));
    padding-bottom: 5.5rem;
  }
}
#Contents .mainvisual__catch {
  position: absolute;
  z-index: 3;
  margin: auto;
  width: 17rem;
  height: 32rem;
  right: 0;
  bottom: 0;
  background-image: url(../Contents/ImagesPkg/top/mv_bg_sp.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 2rem;
  color: #555335;
  line-height: 2;
  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;
  letter-spacing: 0.2em;
  font-family: var(--font-ja);
}
@media only screen and (min-width: 769px), print {
  #Contents .mainvisual__catch {
    left: 0;
    bottom: auto;
    width: calc(360 * 100vw / 1600);
    height: calc(100% - 5.5rem);
    -webkit-transform: translateX(calc(381 * 100vw / 1600));
            transform: translateX(calc(381 * 100vw / 1600));
    background-image: url(../Contents/ImagesPkg/top/mv_bg_pc.png);
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .mainvisual__catch--txt {
    padding-bottom: 7rem;
    position: absolute;
    left: auto;
    right: 1.5rem;
    top: 3rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .mainvisual__catch--txt {
    margin-bottom: 4.8rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .mainvisual__item {
    width: calc(714 * 100vw / 1600) !important;
    height: calc(500 * 100vw / 1600) !important;
  }
}
#Contents .mainvisual__item img {
  width: 100%;
}
#Contents .mainvisual__controler {
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4rem;
  z-index: 3;
  display: block;
  width: 20rem;
  text-align: center;
  -webkit-transform: translateX(-25vw);
          transform: translateX(-25vw);
}
@media only screen and (min-width: 769px), print {
  #Contents .mainvisual__controler {
    -webkit-transform: translateX(calc(381 * 100vw / 1600));
            transform: translateX(calc(381 * 100vw / 1600));
    bottom: 10.5rem;
  }
}
#Contents .mainvisual__arrows {
  position: absolute;
  width: 21.4rem;
}
#Contents .mainvisual__arrows--button {
  cursor: pointer;
  position: absolute;
  background-color: transparent;
  border: none;
  width: 4rem;
  height: 4rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  top: 26%;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  bottom: 0;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0;
  z-index: 5;
}
#Contents .mainvisual__arrows--button.slider__arrow--prev {
  left: 0;
  background-image: url("../Contents/ImagesPkg/top/mv_arrow_01.svg");
}
#Contents .mainvisual__arrows--button.slider__arrow--next {
  right: 0;
  background-image: url("../Contents/ImagesPkg/top/mv_arrow_02.svg");
}
#Contents .mainvisual__dots {
  width: 21.4rem;
  position: relative;
  top: 1rem;
}
#Contents .recommended {
  /*border-top: 0.3rem solid var(--color-Key-Primary);*/
}
@media only screen and (max-width: 768px) {
  #Contents .recommended {
    padding: 7.2rem 0 10rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .recommended {
    padding: 11.3rem 0 10rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .recommended .contentArea__inner {
    margin: 0 auto;
    width: 34.5rem;
  }
}
#Contents .recommended .area_ttl .fs_ttlsub {
  margin-left: 2rem;
}
@media only screen and (max-width: 768px) {
  #Contents .recommended .area_ttl .fs_ttlmain {
    line-height: 1;
    margin-left: 2rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .recommended .carouselArea {
    right: -2rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .recommended .carouselArea .swiper-slide {
    width: 16.5rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .recommended .btn__txt {
    display: none;
  }
}
#Contents .recommended .btn__txt.is-btn-hidden {
  display: none;
}
#Contents .seasonal {
  background-color: var(--color-Key-Primary);
}
@media only screen and (max-width: 768px) {
  #Contents .seasonal {
    padding: 7.2rem 0 10rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .seasonal {
    padding: 11.3rem 0 10rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .seasonal .contentArea__inner {
    margin: 0 auto;
    width: 34.5rem;
    left: 0;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .seasonal .contentArea__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .seasonal .carouselArea {
    left: -2rem;
  }
}
#Contents .seasonal .carouselArea .list-price {
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
  #Contents .seasonal .carouselArea .list-price {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .seasonal .carouselArea .list-price {
    font-size: var(--text-xl);
  }
}
#Contents .seasonal .carouselArea .list-price .unit {
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 768px) {
  #Contents .seasonal .carouselArea .list-price .unit {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .seasonal .carouselArea .list-price .unit {
    font-size: var(--text-l);
  }
}
@media only screen and (max-width: 768px) {
  #Contents .seasonal .carouselArea .swiper-slide {
    width: 16.5rem;
  }
}
#Contents .seasonal .carouselArea .slider__arrow {
  top: 30%;
}
#Contents .seasonal .carouselArea .slider__arrow--prev {
  background-image: url("../Contents/ImagesPkg/common/slider_arrow_03.svg");
}
#Contents .seasonal .carouselArea .slider__arrow--next {
  background-image: url("../Contents/ImagesPkg/common/slider_arrow_04.svg");
}
@media only screen and (min-width: 769px), print {
  #Contents .seasonal .btn__txt {
    display: none;
  }
}
#Contents .seasonal .btn__txt.is-btn-hidden {
  display: none;
}
#Contents .aboutus {
  background-color: var(--color-Bg-Primary);
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus {
    overflow: hidden;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus .contentArea__inner {
    padding: 20rem 0;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus .contentArea__inner {
    height: 68.4rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus .contentArea__inner .area_ttl {
    margin: 0 auto 4rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus .contentArea__inner .area_ttl {
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    width: 18.8rem;
    max-width: 188px;
    top: 6rem;
  }
}
#Contents .aboutus .contentArea__inner .area_ttl .fs_ttlsub {
  margin-left: 1rem;
}
#Contents .aboutus .contentArea__inner .area_ttl .fs_ttlmain {
  line-height: 2;
  padding-left: 0;
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus .contentArea__inner .area_ttl .fs_ttlmain {
    line-height: 1.5;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus .contentArea__inner .area_ttl .fs_ttlmain .break {
    padding-right: 0.4em;
    padding-left: 0.8em;
    display: inline-block;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus .contentArea__inner .btn__txt {
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 11.5rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    position: absolute;
    margin: auto;
    left: 0;
    top: 7rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--wrap--right {
    bottom: 7rem;
    top: auto;
  }
}
#Contents .aboutus__sample {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample {
    position: absolute;
    margin: auto;
    row-gap: 1rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 42.5rem;
    top: 0;
    bottom: 0;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--l {
    -webkit-animation: rightToLeft 30s infinite linear 0.5s both;
            animation: rightToLeft 30s infinite linear 0.5s both;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--l {
    left: 0;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--r {
    -webkit-animation: leftToRight 30s infinite linear 0.5s both;
            animation: leftToRight 30s infinite linear 0.5s both;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--r {
    right: 0;
  }
}
#Contents .aboutus__sample--item {
  width: 9rem;
  height: 9rem;
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--item {
    width: 18rem;
    height: 18rem;
  }
}
#Contents .aboutus__sample--item img {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--01 {
    -webkit-animation: aboutL 2000ms step-end 50ms infinite;
            animation: aboutL 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--01 {
    -webkit-animation: aboutL 2000ms step-end 100ms infinite;
            animation: aboutL 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--02 {
    -webkit-animation: aboutR 2000ms step-end 50ms infinite;
            animation: aboutR 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--02 {
    -webkit-animation: aboutR 2000ms step-end 100ms infinite;
            animation: aboutR 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--03 {
    -webkit-animation: aboutL 2000ms step-end 50ms infinite;
            animation: aboutL 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--03 {
    -webkit-animation: aboutR 2000ms step-end 100ms infinite;
            animation: aboutR 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--04 {
    -webkit-animation: aboutR 2000ms step-end 50ms infinite;
            animation: aboutR 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--04 {
    -webkit-animation: aboutL 2000ms step-end 100ms infinite;
            animation: aboutL 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--05 {
    -webkit-animation: aboutL 2000ms step-end 50ms infinite;
            animation: aboutL 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--05 {
    -webkit-animation: aboutL 2000ms step-end 100ms infinite;
            animation: aboutL 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--06 {
    -webkit-animation: aboutR 2000ms step-end 50ms infinite;
            animation: aboutR 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--06 {
    -webkit-animation: aboutR 2000ms step-end 100ms infinite;
            animation: aboutR 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--07 {
    -webkit-animation: aboutR 2000ms step-end 50ms infinite;
            animation: aboutR 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--07 {
    -webkit-animation: aboutR 2000ms step-end 100ms infinite;
            animation: aboutR 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--08 {
    -webkit-animation: aboutL 2000ms step-end 50ms infinite;
            animation: aboutL 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--08 {
    -webkit-animation: aboutL 2000ms step-end 100ms infinite;
            animation: aboutL 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--09 {
    -webkit-animation: aboutR 2000ms step-end 50ms infinite;
            animation: aboutR 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--09 {
    -webkit-animation: aboutL 2000ms step-end 100ms infinite;
            animation: aboutL 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--10 {
    -webkit-animation: aboutL 2000ms step-end 50ms infinite;
            animation: aboutL 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--10 {
    -webkit-animation: aboutR 2000ms step-end 100ms infinite;
            animation: aboutR 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--11 {
    -webkit-animation: aboutR 2000ms step-end 50ms infinite;
            animation: aboutR 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--11 {
    -webkit-animation: aboutR 2000ms step-end 100ms infinite;
            animation: aboutR 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .aboutus__sample--12 {
    -webkit-animation: aboutL 2000ms step-end 50ms infinite;
            animation: aboutL 2000ms step-end 50ms infinite;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .aboutus__sample--12 {
    -webkit-animation: aboutL 2000ms step-end 100ms infinite;
            animation: aboutL 2000ms step-end 100ms infinite;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .ranking {
    padding: 10rem 0 0;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .ranking {
    padding: 10rem 0;
  }
}
#Contents .ranking .area_ttl--txt {
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  position: sticky;
  top: 10rem;
}
#Contents .rankingArea {
  position: relative;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea {
    width: 100%;
    padding-bottom: 7rem;
    min-height: 38.2rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea {
    width: 110rem;
    min-height: 77.2rem;
    max-width: 1100px;
  }
}
#Contents .rankingArea-jp {
  background-image: url(../Contents/ImagesPkg/top/ranking_deco_01_sp.svg), url(../Contents/ImagesPkg/top/ranking_deco_02_sp.svg), url(../Contents/ImagesPkg/top/ranking_deco_03_sp.svg), url(../Contents/ImagesPkg/common/bg_01_sp.jpg);
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
  background-size: auto, auto, auto, 100%;
  background-position: 0 0, right 0 top 34.2rem, left 0 bottom 2rem, 0 0;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea-jp {
    margin-bottom: 5.3rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea-jp {
    margin-bottom: 4rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    background-image: url(../Contents/ImagesPkg/top/ranking_deco_01.svg), url(../Contents/ImagesPkg/top/ranking_deco_02.svg), url(../Contents/ImagesPkg/common/bg_01.jpg);
    background-repeat: no-repeat, no-repeat, repeat;
    background-size: auto, auto, 100%;
    background-position: 0 0, right 19rem bottom 0, 0 0;
  }
}
#Contents .rankingArea-jp::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.8rem;
  border-top: 3px solid var(--color-Key-Primary);
  border-bottom: 1px solid var(--color-Key-Primary);
  top: 0;
}
#Contents .rankingArea-ws {
  background-image: url(../Contents/ImagesPkg/top/ranking_deco_04_sp.svg), url(../Contents/ImagesPkg/top/ranking_deco_05_sp.svg), url(../Contents/ImagesPkg/top/ranking_deco_06_sp.svg), url(../Contents/ImagesPkg/common/bg_01_sp.jpg);
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
  background-size: auto, auto, auto, 100%;
  background-position: right 0 top 0, left 0 bottom 25.3rem, right 0 bottom 9rem, 0 0;
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea-ws {
    background-image: url(../Contents/ImagesPkg/top/ranking_deco_04.svg), url(../Contents/ImagesPkg/top/ranking_deco_05.svg), url(../Contents/ImagesPkg/common/bg_01.jpg);
    background-repeat: no-repeat, no-repeat, repeat;
    background-size: auto, auto, 100%;
    background-position: right 0 top 3.7rem, left 33rem bottom 0, 0 0;
  }
}
#Contents .rankingArea-ws::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.8rem;
  border-top: 3px solid var(--color-Key-Secondary);
  border-bottom: 1px solid var(--color-Key-Secondary);
  top: 0;
}
#Contents .rankingArea__ttl {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.2em;
  color: var(--color-white);
  position: absolute;
  top: 0;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__ttl {
    padding-top: 6rem;
    width: 6rem;
    height: 27.8rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__ttl {
    padding-top: 8.3rem;
    width: 8rem;
    height: 37rem;
  }
}
#Contents .rankingArea__ttl--txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__ttl--txt {
    width: 6rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__ttl--txt {
    width: 8rem;
  }
}
#Contents .rankingArea__ttl--txt::before {
  content: "";
  position: absolute;
  width: 3.4rem;
  height: 0.4rem;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  top: -3rem;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__ttl--txt .fs_ttlmain {
    font-size: 2.2rem;
    margin-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__ttl--txt .fs_ttlmain {
    font-size: 3rem;
    margin-bottom: 3.5rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__ttl--txt .fs_ttlsub {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__ttl--txt .fs_ttlsub {
    font-size: 1.3rem;
  }
}
#Contents .rankingArea__contents {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 445px;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.5rem 2rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents {
    width: 53%;
    gap: 4rem 10.11%;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--wrap {
    width: 33rem;
    padding: 5rem 0 7rem;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--wrap {
    width: 76.36%;
    padding: 7.27% 0 7.27% 5.46%;
  }
}
#Contents .rankingArea__contents--item {
  width: 44.9%;
}
#Contents .rankingArea__contents--item a {
  -webkit-transition: var(--transition-default);
  transition: var(--transition-default);
}
#Contents .rankingArea__contents--item a:hover {
  opacity: var(--hover-opacity);
}
#Contents .rankingArea__contents--item img {
  width: 100%;
}
#Contents .rankingArea__contents--item-txt {
  position: relative;
  margin-top: 3rem;
}
#Contents .rankingArea__contents--item-no {
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: -5rem;
  width: 7rem;
}
#Contents .rankingArea__contents--item-no img {
  width: 100%;
}
#Contents .rankingArea__contents--item-name {
  line-height: 1.2941176471;
  margin-bottom: 1.4rem;
  text-align: center;
  letter-spacing: 0.15em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  padding: 0 0.8rem;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item-name {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item-name {
    font-size: var(--title-s);
  }
}
#Contents .rankingArea__contents--item-price {
  text-align: center;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item-price {
    font-size: 1.5rem;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item-price {
    font-size: var(--text-xl);
    margin-bottom: 0.8rem;
  }
}
#Contents .rankingArea__contents--item-price .unit {
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item-price .unit {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item-price .unit {
    font-size: var(--text-m);
  }
}
#Contents .rankingArea__contents--item-price[data-priceBox=discount] .target-price {
  padding-right: 0.5em;
  color: var(--color-Highlight) !important;
}
#Contents .rankingArea__contents--item-price[data-priceBox=discount] .target-price .unit {
  color: var(--color-Highlight) !important;
}
#Contents .rankingArea__contents--item-price[data-priceBox=discount] .list-price {
  text-decoration: line-through;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item-price[data-priceBox=discount] .list-price {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item-price[data-priceBox=discount] .list-price {
    font-size: var(--text-m);
  }
}
#Contents .rankingArea__contents--item-price[data-priceBox=discount] .list-price .unit {
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item-price[data-priceBox=discount] .list-price .unit {
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item-price[data-priceBox=discount] .list-price .unit {
    font-size: var(--text-s);
  }
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item:first-of-type {
    width: 24.5rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item:first-of-type {
    position: absolute;
    width: 78.6%;
    width: 88.6%;
  }
}
#Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-txt {
  margin-top: 2.4rem;
}
#Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-no {
  top: -5.5rem;
  width: 12rem;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-name {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-name {
    font-size: var(--title-m);
  }
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price {
    font-size: var(--title-s);
  }
}
#Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price .unit {
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price .unit {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price .unit {
    font-size: var(--title-xs);
  }
}
#Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price[data-priceBox=discount] .target-price {
  padding-right: 0.5em;
  color: var(--color-Highlight) !important;
}
#Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price[data-priceBox=discount] .target-price .unit {
  color: var(--color-Highlight) !important;
}
#Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price[data-priceBox=discount] .list-price {
  text-decoration: line-through;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price[data-priceBox=discount] .list-price {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price[data-priceBox=discount] .list-price {
    font-size: var(--text-xl);
  }
}
#Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price[data-priceBox=discount] .list-price .unit {
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price[data-priceBox=discount] .list-price .unit {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea__contents--item:first-of-type .rankingArea__contents--item-price[data-priceBox=discount] .list-price .unit {
    font-size: var(--text-m);
  }
}
#Contents .rankingArea-jp .rankingArea__ttl {
  background-image: url(../Contents/ImagesPkg/top/ranking_deco_09.svg);
  background-position: bottom 0 center;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea-jp .rankingArea__ttl {
    background-size: cover;
    right: 2.5rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea-jp .rankingArea__ttl {
    background-size: 100%;
    right: 6rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea-jp .rankingArea__contents--wrap {
    padding: 7.27% 0 7.27% 5.46%;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea-jp .rankingArea__contents--item:first-of-type {
    right: -99%;
  }
}
#Contents .rankingArea-ws .rankingArea__ttl {
  background-image: url(../Contents/ImagesPkg/top/ranking_deco_10.svg);
  background-position: bottom 0 center;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea-ws .rankingArea__ttl {
    background-size: cover;
    left: 2.5rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea-ws .rankingArea__ttl {
    background-size: 100%;
    left: 6rem;
  }
}
#Contents .rankingArea-ws .rankingArea__contents {
  margin-left: auto;
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea-ws .rankingArea__contents--wrap {
    padding: 7.27% 5.46% 7.27% 0;
    margin-left: auto;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea-ws .rankingArea__contents--item:first-of-type {
    left: -99%;
  }
}
#Contents .rankingArea .btn__txt {
  position: absolute;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea .btn__txt {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    bottom: 4rem;
    left: 0;
    right: 0;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea .btn__txt {
    top: 51rem;
    right: 8.6rem;
    width: 2.8rem;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
#Contents .rankingArea .btn__txt--link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea .btn__txt--link {
    padding-left: 4rem;
    padding-top: 0;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea .btn__txt--link {
    padding-left: 0;
    padding-top: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .rankingArea .btn__txt--link::before {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea .btn__txt--link::before {
    left: 0;
    right: 0;
    top: 0;
    bottom: auto;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea-jp .btn__txt {
    right: 8.6rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .rankingArea-ws .btn__txt {
    left: 8.6rem;
  }
}
#Contents .blog {
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 768px) {
  #Contents .blog {
    padding: 7rem 0 11rem;
    background-image: url(../Contents/ImagesPkg/top/blog_bg_sp.png);
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .blog {
    padding: 10rem 0 15rem;
    background-image: url(../Contents/ImagesPkg/top/blog_bg_pc.png);
  }
}
@media only screen and (max-width: 768px) {
  #Contents .blog__contents--wrap {
    width: 31.2rem;
    margin: 0 auto 5rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .blog__contents--wrap {
    width: 78.6%;
  }
}
#Contents .blog__contents--wrap img {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  #Contents .blog__contents--wrap .feature-page-parts-items {
    width: 31.2rem;
    margin: 0 auto 5rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .blog__contents--wrap .feature-page-parts-items {
    width: 78.6%;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .blog .btn__txt {
    position: absolute;
    top: 36rem;
    left: 3rem;
  }
}
#Contents .information {
  min-height: 50rem;
  background-color: var(--color-Bg-Primary);
}
@media only screen and (max-width: 768px) {
  #Contents .information {
    padding: 7rem 0 10rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .information {
    padding: 9.5rem 0 11rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .information__contents {
    width: 35rem;
    margin: 0 auto 5rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .information__contents {
    width: 73.2%;
    margin-right: 5.71%;
  }
}
#Contents .information__contents--list {
  cursor: pointer;
  background-color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.5;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #Contents .information__contents--list {
    padding: 2rem 6rem 2rem 2rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .information__contents--list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 2.44% 12.49% 2.44% 2.93%;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .information__contents--list:not(:nth-of-type(4)) {
    margin-bottom: 1rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .information__contents--list:not(:nth-of-type(4)) {
    margin-bottom: 0.2rem;
  }
}
#Contents .information__contents--list:nth-of-type(n+5) {
  display: none;
}
#Contents .information__contents--list::before {
  content: "";
  margin: auto 0;
  position: absolute;
  right: 3rem;
  top: 0;
  bottom: 0;
  width: 2.8rem;
  height: 2.8rem;
  background-image: url(../Contents/ImagesPkg/common/btn_arrow_01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: var(--transition-default);
  transition: var(--transition-default);
}
#Contents .information__contents--list:hover {
  color: var(--color-Txt-Tertiary);
}
#Contents .information__contents--list:hover::before {
  background-image: url(../Contents/ImagesPkg/common/btn_arrow_02.svg);
}
#Contents .information__contents--date {
  color: #B7B1AD;
  font-family: var(--font-en);
}
@media only screen and (max-width: 768px) {
  #Contents .information__contents--date {
    font-size: 1.4rem;
    display: block;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .information__contents--date {
    font-size: var(--text-l);
    width: 11.2rem;
    min-width: 64px;
  }
}
#Contents .information__contents--txt {
  -webkit-transition: var(--transition-default);
  transition: var(--transition-default);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media only screen and (max-width: 768px) {
  #Contents .information__contents--txt {
    font-size: 1.5rem;
    margin-bottom: 0.8rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .information__contents--txt {
    font-size: var(--text-xl);
    width: 75rem;
    -webkit-line-clamp: 2;
  }
}
#Contents .information__contents--txt:hover {
  color: var(--color-Txt-Tertiary);
}
#Contents .information__contents--txt dt {
  line-height: 1.5;
}
#Contents .information__contents--txt dd {
  display: none;
}
@media only screen and (min-width: 769px), print {
  #Contents .information .btn__txt {
    position: absolute;
    top: 24.6rem;
    left: 3rem;
  }
}
#Contents .shop {
  background-repeat: no-repeat;
}
@media only screen and (max-width: 768px) {
  #Contents .shop {
    background-image: url(../Contents/ImagesPkg/top/shop_bg_sp.png);
    padding: 7rem 0 8rem;
    background-size: 17rem;
    background-position: bottom 14rem right;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .shop {
    background-image: url(../Contents/ImagesPkg/top/shop_bg.png);
    padding: 10rem 0;
    background-size: 30rem;
    background-position: bottom 13.2rem right;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .shop .contentArea__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    height: 51.9rem;
  }
}
#Contents .shop .contentArea__inner .area_ttl {
  position: absolute;
  right: 0;
}
@media only screen and (max-width: 768px) {
  #Contents .shop .contentArea__inner .area_ttl {
    width: 11rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .shop__contents--wrap {
    width: 69rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .shop__contents--main {
    width: 70.67%;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .shop__contents--main {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50vw);
            transform: translate(-50vw);
    width: 70rem;
  }
}
#Contents .shop__contents--img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  #Contents .shop__contents--lead {
    padding: 3.3rem 2.5rem 2.8rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .shop__contents--lead {
    width: 45rem;
    margin-bottom: 4rem;
  }
}
#Contents .shop__contents--lead__txt {
  font-size: 1.5rem;
  line-height: 1.7;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}
#Contents .shop__contents--sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  #Contents .shop__contents--sub {
    gap: 1.5rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .shop__contents--sub {
    gap: 3rem;
    position: absolute;
    bottom: 0;
    left: auto;
  }
}
#Contents .shop__contents--sub-img {
  height: auto;
}
@media only screen and (max-width: 768px) {
  #Contents .shop__contents--sub-img {
    width: 21.9%;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .shop__contents--sub-img {
    width: 15rem;
  }
}
#Contents .shop .btn__txt {
  text-align: left;
}
@media only screen and (max-width: 768px) {
  #Contents .shop .btn__txt {
    padding: 0 2.5rem 5rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .shop .btn__txt {
    margin-bottom: 5rem;
  }
}
#Contents .iceCream {
  background-color: #FDFCF0;
}
@media only screen and (max-width: 768px) {
  #Contents .iceCream {
    padding: 7rem 0 10rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .iceCream {
    padding: 10rem 0;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .iceCream .contentArea__inner .area_ttl {
    width: 11rem;
    margin-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .iceCream__contents--wrap {
    position: absolute;
    top: 0;
    right: 1rem;
    width: 65.33%;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .iceCream__contents--wrap {
    width: 47.1rem;
  }
}
#Contents .iceCream__contents--wrap-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  #Contents .iceCream__contents--wrap-img {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .iceCream__contents--wrap-img {
    gap: 1rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .iceCream__contents--img {
    width: 48.98%;
    height: auto;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .iceCream__contents--img {
    width: 23rem;
    height: auto;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .iceCream__contents--lead {
    width: 45rem;
    margin-bottom: 4rem;
  }
}
#Contents .iceCream__contents--lead__ttl {
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  #Contents .iceCream__contents--lead__ttl {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .iceCream__contents--lead__ttl {
    font-size: 2.4rem;
  }
}
#Contents .iceCream__contents--lead__txt {
  font-size: 1.5rem;
  line-height: 1.7;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}
#Contents .iceCream__contents--calendar {
  background-color: #fff;
  border: 1px solid #B2A24D;
  background-image: linear-gradient(45deg, #B2A24D 0.5rem, transparent 0), linear-gradient(-45deg, #B2A24D 0.5rem, transparent 0), linear-gradient(135deg, #B2A24D 0.5rem, transparent 0), linear-gradient(-135deg, #B2A24D 0.5rem, transparent 0);
}
@media only screen and (max-width: 768px) {
  #Contents .iceCream__contents--calendar {
    width: 96%;
    min-height: 35.5rem;
    padding: 3rem 1.5rem 2rem;
    margin: 12.5rem auto 0;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .iceCream__contents--calendar {
    width: 62rem;
    min-height: 62rem;
    padding: 5rem 2.5rem 2.5rem;
  }
}
#Contents .iceCream__contents--calendar .calendar__ttl {
  text-align: center;
  letter-spacing: 0.1rem;
}
@media only screen and (max-width: 768px) {
  #Contents .iceCream__contents--calendar .calendar__ttl {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .iceCream__contents--calendar .calendar__ttl {
    font-size: 2rem;
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .iceCream__contents--calendar .calendar__wrap {
    width: 100%;
    height: 27.1rem;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .iceCream__contents--calendar .calendar__wrap {
    width: 57rem;
    height: 47.3rem;
  }
}
@media only screen and (max-width: 768px) {
  #Contents .iceCream__contents--calendar .calendar__wrap iframe {
    width: 100%;
    height: 100%;
  }
}
@media only screen and (min-width: 769px), print {
  #Contents .iceCream__contents--calendar .calendar__wrap iframe {
    width: 100%;
    height: 100%;
    max-width: 800px;
  }
}
#Contents .iceCream .btn__txt {
  text-align: left;
}
@-webkit-keyframes rightToLeft {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes rightToLeft {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes leftToRight {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes leftToRight {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes aboutL {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
  50% {
    -webkit-transform: rotate3d(0, 0, 1, 10deg);
            transform: rotate3d(0, 0, 1, 10deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes aboutL {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
  50% {
    -webkit-transform: rotate3d(0, 0, 1, 10deg);
            transform: rotate3d(0, 0, 1, 10deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
}
@-webkit-keyframes aboutR {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
  50% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
            transform: rotate3d(0, 0, 1, -10deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes aboutR {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
  50% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
            transform: rotate3d(0, 0, 1, -10deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
            transform: rotate3d(0, 0, 1, 0deg);
  }
}

/*TOP??????? */
div.top_attention {
	margin: 11.3rem 0 0;
	
}
div.top_attention div.attention_inner{
	border: 1px solid #b50006;
	background-color: #fff;
	width: 87.5%;
	max-width: calc(1400px - 6rem);
	padding: 5rem 3rem;
	margin: 0 auto;
	text-align: center;
}
div.top_attention h2 {
	font-size: 3rem;
	color:#b50006;
	margin-bottom: 1.5em;
	line-height: 1.3em;
}
div.top_attention p {
	text-align: center;
	line-height: 2em;
    font-size: 1.8rem;
}
div.top_attention p strong {
	color:#b50006;
	font-weight: bold;
	
}
@media only screen and (max-width: 768px) {
	div.top_attention {
		margin: 4rem 0 0;
	}
	div.top_attention div.attention_inner{
		padding: 3rem 2rem;
	}
	div.top_attention h2 {
		font-size: 2rem;
		color:#b50006;
		margin-bottom: 1.5em;
		line-height: 1.3em;
	}
	div.top_attention p {
		font-size: 1.3rem;
		text-align: left;
	}
	div.top_attention p strong {

	}	
}

/*TOP_pickup*/
div.top_pr {
    margin: 11.3rem auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border: 2px solid #9c9b80;
    background-color: #fdfcf0;
    width: 87.5%;
    max-width: calc(1400px - 6rem);
    padding: 5rem;
    position:relative;
}
div.top_pr:before {
    content: "PICK UP";
    display: block;
    width: 200px;
    line-height: 2em;
    position: absolute;
    top: -1em;
    background-color: #9c9b80;
    text-align: center;
    border-radius: 4em;
    color: #fff;
    left: calc(50% - 100px);
}
div.top_pr div.img {
    width:30%;
    margin-right:5rem;
}
div.top_pr div.img img {
    max-width:100%;
}
div.top_pr div.block {
    width:calc(100% - 30% - 5rem);
    display:flex;
    flex-direction: column;	
	justify-content:center; 
}
div.top_pr div.block h2 {
    font-size: 3rem;
	color:#555335;
	margin-bottom: 1.5em;
	line-height: 1.3em;
}
div.top_pr div.block p.txt {
	line-height: 2em;
    font-size: 1.8rem;
    margin-bottom:2em;
}
div.top_pr div.block p.btn1 {
    
}
div.top_pr div.block p.btn1 a {
    display:inline-block;
    width:100%;
    max-width:30rem;
    text-align:center;
    background-color:#b50006;
    color:#fff;
    line-height:3em;
    border: none;
    font-size:1.3em;
}
@media only screen and (max-width: 768px) {
    div.top_pr {
         padding:3rem;  
         padding-top:4rem;
         margin-top:8rem;
    }
    div.top_pr div.block h2 {
        font-size:2.4rem;
        margin-bottom:3rem;
    }
    div.top_pr div.block p.txt {
        font-size: 1.4rem;
    }
    div.top_pr div.img {
        width:100%;
        margin:0 0 3rem 0;
    }
    div.top_pr div.block {
        width:100%;
    }
}