@charset "UTF-8";
/* 
  css設定 @charsetが消されるsass仕様へのハック用コメントです。削除しないでください。新規作成時も必須！
 */
/*==================================================================================
 default
==================================================================================*/
/* -------------------------------------------
 * initialize
 */
html {
  font-size: 10px;
}
@media (max-width: 2250px) {
  html {
    font-size: .44444444vw;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 1.33333333vw;
  }
}

article, aside, dialog, figure, footer, header, hgroup, nav, section, main {
  display: block;
}

main {
  font-family: YuGothic, Yu Gothic, "游ゴシック", sans-serif;
}
main sup {
  vertical-align: super;
}
main sub {
  vertical-align: sub;
}
main div,
main figure {
  line-height: 0;
}
main ul li, main ol li {
  list-style: none;
}
main input, main select {
  vertical-align: middle;
}
main .hide {
  display: none;
}
main img {
  ms-interpolation-mode: bicubic;
  max-width: 100%;
  height: auto;
}
main a {
  text-decoration: none;
}
@media (min-width: 1025px) {
  main a:hover {
    opacity: .7;
  }
}
main .clearfix {
  zoom: 1;
}
main .clearfix:before, main .clearfix:after {
  content: "";
  display: table;
}
main .clearfix:after {
  clear: both;
}
main iframe {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
}
main video {
  width: 100%;
  height: auto;
}
main .serif {
  font-family: YuMincho, Yu Mincho, "游明朝", serif;
}
main .sansSerif {
  font-family: YuGothic, Yu Gothic, "游ゴシック", sans-serif;
}
main .bold {
  font-weight: bold !important;
  font-size: 100%;
}
main .weightNormal {
  font-weight: normal !important;
  font-size: 100%;
}
main .colorBlack {
  color: #333 !important;
  font-size: 100%;
}
main .colorWhite {
  color: #fff !important;
  font-size: 100%;
}
main .colorRed {
  color: #ff0000 !important;
  font-size: 100%;
}
main .inlineBlock {
  display: inline-block;
  font-size: 100%;
}
main .noBreaks {
  word-break: keep-all;
}
main .alignCenter {
  text-align: center;
}
main .alignLeft {
  text-align: left;
}
main .alignRight {
  text-align: right;
}

.fontSize50 {
  font-size: 50%;
}

.fontSize55 {
  font-size: 55%;
}

.fontSize60 {
  font-size: 60%;
}

.fontSize65 {
  font-size: 65%;
}

.fontSize70 {
  font-size: 70%;
}

.fontSize75 {
  font-size: 75%;
}

.fontSize80 {
  font-size: 80%;
}

.fontSize85 {
  font-size: 85%;
}

.fontSize90 {
  font-size: 90%;
}

.fontSize95 {
  font-size: 95%;
}

.fontSize100 {
  font-size: 100%;
}

.fontSize105 {
  font-size: 105%;
}

.fontSize110 {
  font-size: 110%;
}

.fontSize115 {
  font-size: 115%;
}

.fontSize120 {
  font-size: 120%;
}

.fontSize125 {
  font-size: 125%;
}

.fontSize130 {
  font-size: 130%;
}

.fontSize135 {
  font-size: 135%;
}

.fontSize140 {
  font-size: 140%;
}

.fontSize145 {
  font-size: 145%;
}

.fontSize150 {
  font-size: 150%;
}

.fontSize155 {
  font-size: 155%;
}

.fontSize160 {
  font-size: 160%;
}

.fontSize165 {
  font-size: 165%;
}

.fontSize170 {
  font-size: 170%;
}

.fontSize175 {
  font-size: 175%;
}

.fontSize180 {
  font-size: 180%;
}

.fontSize185 {
  font-size: 185%;
}

.fontSize190 {
  font-size: 190%;
}

.fontSize195 {
  font-size: 195%;
}

.fontSize200 {
  font-size: 200%;
}

.fontSize205 {
  font-size: 205%;
}

.fontSize210 {
  font-size: 210%;
}

.fontSize215 {
  font-size: 215%;
}

.fontSize220 {
  font-size: 220%;
}

.fontSize225 {
  font-size: 225%;
}

.fontSize230 {
  font-size: 230%;
}

.fontSize235 {
  font-size: 235%;
}

.fontSize240 {
  font-size: 240%;
}

.fontSize245 {
  font-size: 245%;
}

.fontSize250 {
  font-size: 250%;
}

.fontSize255 {
  font-size: 255%;
}

.fontSize260 {
  font-size: 260%;
}

.fontSize265 {
  font-size: 265%;
}

.fontSize270 {
  font-size: 270%;
}

.fontSize275 {
  font-size: 275%;
}

.fontSize280 {
  font-size: 280%;
}

.fontSize285 {
  font-size: 285%;
}

.fontSize290 {
  font-size: 290%;
}

.fontSize295 {
  font-size: 295%;
}

.fontSize300 {
  font-size: 300%;
}

@media (min-width: 769px) {
  .siteHeader .menuArea {
    display: none;
  }
}

.commonNavi01 .siteBanners {
  display: flex;
  flex-direction: column;
  gap: 5rem 0;
  margin: 0 auto;
  padding-bottom: 4rem;
  width: 56rem;
}
.commonNavi01 .siteBanners li:nth-child(2) {
  margin: 0 -4rem;
}
.commonNavi01 .backToTop {
  margin: 0 auto;
  padding-bottom: 3.5rem;
  width: 24rem;
}
.commonNavi01 .externalBanners {
  display: flex;
  flex-direction: column;
  gap: 3rem 0;
  margin: 0 auto;
  width: 56rem;
}

main {
  display: flex;
  color: #fff;
  background: #ea687b;
}
main .contentsMain {
  margin: auto;
  padding-bottom: 7rem;
  width: 75rem;
  box-shadow: none;
  overflow: hidden;
}
main .sideContents {
  width: calc((100% - 75rem) / 2);
  font-family: YuGothic, Yu Gothic, "游ゴシック", sans-serif;
}
main .sideContents .wrapper {
  position: sticky;
  top: 0;
}
main .contentsLeft {
  left: 0;
}
main .contentsLeft .wrapper {
  padding-top: calc((100vh - 61rem - 100px) / 2);
}
main .contentsLeft .sideTitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem 0;
  margin: 0 auto;
  padding-bottom: 3rem;
  width: 48rem;
}
main .contentsLeft .sideTitle:after {
  content: '';
  display: block;
  position: relative;
  width: 38.3rem;
  height: 5.1rem;
  background: url(/base/pc/store/special/tastydays/2026/img/common/side-title-ornament.svg) no-repeat;
  background-size: 100% 100%;
}
main .contentsLeft .text {
  margin: 0 auto;
  width: 38.6rem;
  letter-spacing: .025em;
  text-align: justify;
  line-height: 4.8rem;
  font-size: 3rem;
  font-weight: bold;
}
main .contentsRight {
  right: 0;
}
main .contentsRight .wrapper {
  padding-top: calc((100vh - 90rem - 98px) / 2);
}
main .contentsRight .commonNavi01 .siteBanners,
main .contentsRight .commonNavi01 .externalBanners {
  width: 46rem;
}
main .contentsRight .commonNavi01 .siteBanners {
  gap: 3rem 0;
  padding: 2rem 0 4rem;
}
main .contentsRight .commonNavi01 .siteBanners li {
  margin: 0 auto;
  width: 40rem;
}
main .contentsRight .commonNavi01 .siteBanners li:nth-child(2) {
  width: 47rem;
}
main .contentsRight .commonNavi01 .siteBanners:before, main .contentsRight .commonNavi01 .siteBanners:after {
  content: '';
  display: block;
  position: relative;
  width: 100%;
  background: url(/base/pc/store/special/tastydays/2026/img/common/side-contents.svg) no-repeat;
  background-size: 100% 100%;
}
main .contentsRight .commonNavi01 .siteBanners:before {
  margin-bottom: -5.5rem;
  height: 9rem;
}
main .contentsRight .commonNavi01 .siteBanners:after {
  margin-top: -7rem;
  height: 8rem;
  background-image: url(/base/pc/store/special/tastydays/2026/img/common/side-contents-border.svg);
}
main .contentsRight .backToTop {
  padding-bottom: 4rem;
}
main .contentsRight .externalBanners {
  gap: 2rem 0;
  padding-bottom: 2rem;
}
main section header,
main div.contents header {
  background: none;
  z-index: 1;
}
main section .catch,
main div.contents .catch {
  padding-bottom: 1.8rem;
  line-height: 4.6rem;
  font-size: 3rem;
  font-weight: 600;
  color: #e8546b;
}
main section .lead,
main div.contents .lead {
  line-height: 4.6rem;
  font-size: 3rem;
  font-weight: 600;
}
main section .text,
main div.contents .text {
  line-height: 4.1rem;
  font-size: 3.2rem;
  font-weight: 600;
}
main section .text.small,
main div.contents .text.small {
  line-height: 3.8rem;
  font-size: 2.8rem;
  font-weight: 500;
}
main section .text + .text,
main div.contents .text + .text {
  padding-top: .3rem;
}
main .borderAnnotation {
  padding: 2rem 2.2rem;
  border: 2px solid #fff;
  line-height: 3.3rem;
  font-size: 2.7rem;
  font-weight: 600;
}
main .borderAnnotation.small {
  line-height: 3.2rem;
  font-size: 1.9rem;
  font-weight: 500;
}
main .borderAnnotation + .annotation {
  padding-top: 2.5rem;
}
main .borderAnnotation + .banners {
  padding-top: 3.7rem;
}
main .annotation {
  line-height: 3.2rem;
  font-size: 2.2rem;
  font-weight: 600;
}
main .annotation.small {
  line-height: 3.2rem;
  font-size: 1.9rem;
  font-weight: 500;
}
main .annotation + .annotation {
  padding-top: 1em;
}
main .commonAside01 {
  margin: 0 auto;
  padding-top: 7.5rem;
  width: 59.6rem;
}
main .commonAside01 .banners li:not(:last-child) {
  padding-bottom: 3.7rem;
}
main .commonAside01 .banners + .annotation {
  padding-top: 5rem;
}
main .commonAside01 .backToTop {
  margin: auto;
  padding-top: 7rem;
  width: 26rem;
}
main .commonAside01.color02 .borderAnnotation {
  border-color: #7b3139;
  color: #7b3139;
}
main .commonAside01.color02 .annotation {
  color: #7b3139;
}
main .commonAside01.color03 .borderAnnotation {
  border-color: #e63556;
  color: #e63556;
}
main .commonAside01.color03 .annotation {
  color: #e63556;
}

@keyframes fadeAnimation {
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
@keyframes fadeIn {
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  100% {
    opacity: 0;
  }
}
@keyframes loopImages01 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-270rem);
  }
}
@media (max-width: 768px) {
  .siteHeader {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 11;
  }
  .siteHeader .tks-theme-com-simple-page__header {
    padding: 1.38rem 1.3rem;
    font-size: 0;
  }
  .siteHeader .tks-theme-com-simple-page__header .header-logo {
    width: 24.6rem;
  }
  .siteHeader .tks-theme-com-simple-page__header .header-nav {
    gap: 0 1.8rem;
    padding: 0 1.2rem 0 2rem;
  }
  .siteHeader .tks-theme-com-simple-page__header .header-lang .txt::after {
    top: .8rem;
    width: 1.3rem;
    height: .9rem;
  }
  .siteHeader .header-nav .icon {
    width: 3rem;
    max-width: none;
  }
  .siteHeader .header-nav .txt {
    padding-right: 1.8rem;
    font-size: 1.5rem !important;
  }
  .siteHeader .tks-theme-com-simple-page__header .header-lang-nav {
    top: 6rem;
  }
  .siteHeader .menuArea {
    position: absolute;
    top: 8rem;
    right: 0;
    left: 0;
    background: #ffeb9c;
    z-index: 100;
  }
}
@media (max-width: 768px) and (min-width: 769px) {
  .siteHeader .menuArea {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .siteHeader .menuArea .menuButton {
    cursor: pointer;
    position: absolute;
    top: -5.5rem;
    right: 8.5rem;
    padding: 0;
    width: 4.2rem;
    height: 3rem;
    border: 0;
    background: none;
    appearance: none;
    z-index: 3;
  }
  .siteHeader .menuArea .menuButton span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #000;
    height: .3rem;
  }
  .siteHeader .menuArea .menuButton span:nth-child(2) {
    top: 1.35rem;
  }
  .siteHeader .menuArea .menuButton span:nth-child(3) {
    top: 2.7rem;
  }
  .siteHeader .menuArea .menuButton.open span {
    background: #fff;
  }
  .siteHeader .menuArea .menuButton.open span:nth-child(1) {
    top: 1.3rem;
    transform: rotate(45deg);
  }
  .siteHeader .menuArea .menuButton.open span:nth-child(2) {
    display: none;
  }
  .siteHeader .menuArea .menuButton.open span:nth-child(3) {
    top: 1.3rem;
    transform: rotate(-45deg);
  }
  .siteHeader .menuArea .wrapper {
    display: none;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    position: relative;
    margin-top: -8rem;
    padding-top: 8rem;
    height: 100vh;
  }
  .siteHeader .menuArea .wrapper .text {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    height: 8rem;
    background: #ea687b;
  }
  .siteHeader .menuArea .wrapper .text img {
    margin: auto;
    width: 20rem;
  }
  .siteHeader .menuArea .wrapper .commonNavi01 {
    transform: scale(0.8);
  }

  main {
    padding-top: 8rem;
  }
}
/*==================================================================================
 lower
==================================================================================*/
.lower .commonSlider01 .slideItems {
  box-sizing: border-box;
}
.lower .commonSlider01 .swiper-button-prev,
.lower .commonSlider01 .swiper-button-next {
  cursor: pointer;
  top: 42rem;
  width: 2.5rem;
  height: 3.7rem;
  background: url("/base/pc/store/special/tastydays/2026/img/common/arrow02.svg") no-repeat;
  background-size: 100% 100%;
}
.lower .commonSlider01 .swiper-button-prev .swiper-navigation-icon,
.lower .commonSlider01 .swiper-button-next .swiper-navigation-icon {
  display: none;
}
.lower .commonSlider01 .swiper-button-prev {
  left: 1.8rem;
  transform: rotate(180deg);
}
.lower .commonSlider01 .swiper-button-next {
  right: 1.8rem;
}
.lower .commonSlider01 .swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  gap: 0 3rem;
  margin-top: 2.8rem;
}
.lower .commonSlider01 .swiper-pagination .swiper-pagination-bullet {
  box-sizing: border-box;
  margin: 0;
  width: 1.4rem;
  height: 1.4rem;
  border: .2rem solid #783038;
  border-radius: 50%;
  background: transparent;
  opacity: 1;
}
.lower .commonSlider01 .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #783038;
}
.lower section .catch,
.lower div.contents .catch {
  text-align: justify;
}
.lower section .commonButton01,
.lower div.contents .commonButton01 {
  padding-top: 2.8rem;
}
.lower section .commonButton01 a,
.lower div.contents .commonButton01 a {
  box-sizing: border-box;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 2.5rem;
  margin: auto;
  padding-right: 2.2rem;
  width: 26.8rem;
  height: 7.3rem;
  border-radius: 4rem;
  font-size: 2.9rem;
  color: #fff;
  background: #7b3139;
}
.lower section .commonButton01 a:after,
.lower div.contents .commonButton01 a:after {
  content: '';
  display: block;
  position: relative;
  width: 1.5rem;
  height: 2.5rem;
  background: url(/base/pc/store/special/tastydays/2026/img/common/arrow01.svg) no-repeat;
  background-size: 100% 100%;
}
.lower section .commonButton01.color02 a,
.lower div.contents .commonButton01.color02 a {
  background: #e50044;
}
.lower section .commonButton01.color03 a,
.lower div.contents .commonButton01.color03 a {
  background: #0075c1;
}
.lower section.introduction {
  padding-bottom: 8rem;
}
.lower section.introduction > header {
  position: relative;
  padding-bottom: 3rem;
}
.lower section.introduction > header h1 {
  position: absolute;
  opacity: 0;
  animation: fadeIn 1.5s ease 0s forwards;
}
.lower section.introduction .catch,
.lower section.introduction .text {
  margin: auto;
  width: 63.4rem;
}
.lower div.contents .itemArea {
  position: relative;
  margin: 0 auto 6.5rem;
  padding: 0 5.8rem 13rem;
}
.lower div.contents .itemArea:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 1.75rem;
  width: 71.5rem;
  height: 9.5rem;
  background: url(/base/pc/store/special/tastydays/2026/img/asia/ornament01.svg) no-repeat;
  background-size: 100% 100%;
}
.lower div.contents .itemArea .image {
  padding-bottom: 3rem;
}

/*==================================================================================
 asia
==================================================================================*/
#asia .contentsMain {
  color: #000;
  background: #ffffdc;
}
#asia .commonSlider01 .slideItems {
  position: relative;
  margin: 0 5.7rem;
  padding: 3.4rem 4.6rem 0;
  width: 63.6rem !important;
  height: 112.3rem;
  background: url(/base/pc/store/special/tastydays/2026/img/asia/slide-frame.png) no-repeat;
  background-size: 100% 100%;
}
#asia .commonSlider01 .slideItems .image {
  padding-bottom: 2.8rem;
}
#asia .commonSlider01 .slideItems .commonButton01 {
  position: absolute;
  left: calc(50% - 13.4rem);
  bottom: 4.9rem;
  padding-top: 0;
}
#asia section.introduction > header h1 {
  top: 8.3rem;
  left: 1.1rem;
  width: 27.6rem;
}

/*==================================================================================
 yatai
==================================================================================*/
#yatai .contentsMain {
  color: #000;
  background: #f9d8cf;
}
#yatai .contentsMain .catch {
  color: #e50044;
}
#yatai .commonSlider01 .swiper-button-prev,
#yatai .commonSlider01 .swiper-button-next {
  background-image: url("/base/pc/store/special/tastydays/2026/img/common/arrow03.svg");
}
#yatai .commonSlider01 .swiper-pagination .swiper-pagination-bullet {
  border-color: #e63556;
}
#yatai .commonSlider01 .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #e63556;
}
#yatai .commonSlider01 .slideItems {
  position: relative;
  margin: 0 6.3rem;
  padding: 2.9rem 3.5rem 0;
  width: 62.3rem !important;
  height: 112.3rem;
  background: #fff57f;
  clip-path: polygon(5.5rem 0, calc(100% - 5.5rem) 0, 100% 5.5rem, 100% calc(100% - 5.5rem), calc(100% - 5.5rem) 100%, 5.5rem 100%, 0 calc(100% - 5.5rem), 0 5.5rem);
}
#yatai .commonSlider01 .slideItems .image {
  padding-bottom: 2.8rem;
}
#yatai .commonSlider01 .slideItems .catch.color02 {
  color: #0075c1;
}
#yatai .commonSlider01 .slideItems .commonButton01 {
  position: absolute;
  left: calc(50% - 13.4rem);
  bottom: 4.9rem;
  padding-top: 0;
}
#yatai section.introduction > header h1 {
  top: -3rem;
  left: -3rem;
  width: 35.7rem;
}
#yatai div.contents .itemArea {
  padding: 0 0 13rem;
}
#yatai div.contents .itemArea:after {
  background-image: url(/base/pc/store/special/tastydays/2026/img/yatai/ornament01.svg);
}
#yatai div.contents .itemArea .catch,
#yatai div.contents .itemArea .text {
  padding: 0 5.8rem;
}
#yatai div.contents .itemArea .image {
  margin-bottom: -10rem;
}

/*==================================================================================
 page
==================================================================================*/

/*# sourceMappingURL=lower.css.map */
