@charset "UTF-8";
/*-----PC記述-----*/
.main a {
  color: #e60012;
  text-decoration: underline;
}

.main a:hover {
  text-decoration: none;
}

.main .block {
  margin: auto;
  padding-bottom: 50px;
  max-width: 1060px;
}

.main p.text {
  padding: 1em;
}

.main img.-pc {
  display: block;
}

.main img.-sp {
  display: none;
}

.sp_header {
  margin: auto;
  padding-top: 50px;
  padding-bottom: 50px;
  max-width: 1060px;
}

.sp_header .intro p {
  padding: 1em;
  text-align: center;
  font-size: 1.8rem;
}

.sp_nav {
  margin: auto;
  padding-bottom: 50px;
  max-width: 1060px;
}

.sp_nav ul {
  background: #e60012;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.sp_nav ul li a {
  line-height: 3em;
  text-decoration: none;
  color: #fff;
}

.sp_movie {
  margin: auto;
  padding: 0 30px;
  max-width: 800px;
}

.sp_movie .player {
  padding-top: 56.25%;
  position: relative;
}

.sp_movie .player iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.sp_item2 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.sp_item2 ul li {
  width: 50%;
}

.sp_item2 ul li a {
  display: block;
}

.sp_item2 ul li img {
  width: 100%;
}

.sp_item3 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.sp_item3 ul li {
  width: 33.33%;
}

.sp_item3 ul li a {
  display: block;
}

.sp_item3 ul li img {
  width: 100%;
}

.text_more {
  padding: 1em;
  text-align: center;
  font-size: 1.3rem;
  color: #f00;
}

.sp_footer {
  margin: auto;
  padding-bottom: 100px;
  max-width: 1060px;
}

.sp_note {
  padding: 1em;
  font-size: 1.3rem;
  line-height: 1.4em;
  color: #666;
}

.sp_note strong {
  font-size: 110%;
  color: #f00;
}

ul.sp_notes li {
  margin-left: 1em;
  font-size: 1.3rem;
  line-height: 1.4em;
  color: #666;
}

ul.sp_notes li:before {
  content: "※";
  text-indent: -1em;
}

/*-----TABLET記述（1059以下）-----*/
@media screen and (max-width: 1059px) {
  .main .block {
    padding-bottom: 5%;
  }
  .sp_header {
    padding-top: 5%;
    padding-bottom: 5%;
  }
  .sp_nav {
    padding-bottom: 5%;
  }
  .sp_movie {
    padding: 0 3%;
  }
  .sp_footer {
    padding-bottom: 10%;
  }
}
/*-----SP記述（767以下）-----*/
@media screen and (max-width: 767px) {
  .main img.-pc {
    display: none;
  }
  .main img.-sp {
    display: block;
  }
  .sp_header .intro p {
    font-size: 1.6rem;
  }
}
/*-----SP記述（480以下）-----*/
@media screen and (max-width: 480px) {
  .main p.text {
    font-size: calc(0.75rem + (1vw - 0.2rem) * 2.5);
    min-height: 0vw;
  }
  .sp_nav ul li {
    font-size: calc(0.75rem + (1vw - 0.2rem) * 2.5);
    min-height: 0vw;
  }
  .sp_header .intro p {
    font-size: calc(0.75rem + (1vw - 0.2rem) * 2.5);
    min-height: 0vw;
  }
  .sp_note {
    font-size: calc(0.625rem + (1vw - 0.2rem) * 1.875);
    min-height: 0vw;
  }
  .text_more {
    font-size: calc(0.625rem + (1vw - 0.2rem) * 1.875);
    min-height: 0vw;
  }
  ul.sp_notes li {
    font-size: calc(0.625rem + (1vw - 0.2rem) * 1.875);
    min-height: 0vw;
  }
}
/* =============================================
オリジナルCSS記述
============================================= */
:root {
  --color-text: #731e00;
  --color-orn: #ffa92b;
  --color-grn: #77aa62;
  --color-blu: #8297ae;
  --color-red: #e28576;
  --color-sky: #78adb4;
  --color-gry: #595959;
}

.font {
  font-family: "fot-udmarugo-large-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-family: "fot-udmarugo-large-pr6n", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-family: "fot-udmarugo-large-pr6n", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-family: "fot-udmarugo-large-pr6n", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.xmas2024 {
  /*-----PC記述-----*/
  /*-----TABLET記述（1000以下）-----*/
  /*-----SP記述（767以下）-----*/
  /*-----SP記述（480以下）-----*/
}
.xmas2024__inner {
  margin: 45px auto 0;
  max-width: 1000px;
}
.xmas2024__header {
  background: url(../images/header/bg.png) no-repeat center bottom;
  background-size: contain;
  padding-top: 44.6%;
  position: relative;
}
.xmas2024__header__item {
  position: absolute;
}
.xmas2024__header__mc {
  margin: auto;
  width: 78.1%;
  top: 7.1748878924%;
  left: 0;
  right: 0;
}
.xmas2024__header__title {
  width: 49.7%;
  top: 41.4798206278%;
  left: 28.5%;
  line-height: 1%;
}
.xmas2024__header__catch {
  width: 49.3%;
  top: 67.264573991%;
  left: 28.8%;
}
.xmas2024__header__illust01 {
  width: 25.3%;
  left: 3%;
  bottom: 8.9686098655%;
}
.xmas2024__header__illust02 {
  width: 18.3%;
  right: 3%;
  bottom: 8.5201793722%;
}
.xmas2024__content {
  background: url(../images/common/bg.png) repeat-y center top;
}
.xmas2024__nav {
  position: relative;
  z-index: 10;
}
.xmas2024__nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.xmas2024__nav ul li:nth-child(1) {
  margin-right: 0.5%;
  width: 18.2%;
  max-width: 182px;
}
.xmas2024__nav ul li:nth-child(2) {
  width: 14.6%;
  max-width: 146px;
}
.xmas2024__nav ul li:nth-child(3) {
  margin-left: 1.3%;
  margin-right: 2%;
  width: 13.9%;
  max-width: 139px;
}
.xmas2024__nav ul li:nth-child(4) {
  width: 15.1%;
  max-width: 151px;
}
.xmas2024__nav ul li:nth-child(5) {
  margin-left: 1.2%;
  width: 17.3%;
  max-width: 173px;
}
.xmas2024__nav ul li a {
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
}
.xmas2024__nav ul li a.active {
  -webkit-animation: yureDaruma 1s linear 0s 1 forwards;
          animation: yureDaruma 1s linear 0s 1 forwards;
}
.xmas2024__article {
  background-color: #fff;
  margin: -50px auto 0;
  width: 90%;
  border-radius: 30px;
  -webkit-box-shadow: 0 0 20px 25px rgba(255, 255, 255, 0.9);
          box-shadow: 0 0 20px 25px rgba(255, 255, 255, 0.9);
}
.xmas2024__article__inner {
  margin: auto;
  padding-top: 50px;
  padding-bottom: 50px;
  width: 86%;
}
.xmas2024__item {
  padding-top: 60px;
  padding-bottom: 60px;
  border-bottom: 2px solid #d1d1d1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.xmas2024__item:first-child {
  padding-top: 10px;
}
.xmas2024__item__info {
  width: 48%;
}
.xmas2024__item__name {
  font-family: "fot-udmarugo-large-pr6n", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4em;
}
.xmas2024__item__price {
  font-family: "fot-udmarugo-large-pr6n", sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4em;
}
.xmas2024__item__catch {
  margin-top: 40px;
  color: var(--color-text);
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.4em;
}
.xmas2024__item__text {
  margin-top: 10px;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.8em;
  letter-spacing: 0.05em;
}
.xmas2024__item__button {
  margin: 30px auto 0;
  width: 280px;
}
.xmas2024__item__button a {
  background-image: url(../images/common/shine.png);
  background-size: contain;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 60px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  border-radius: 30px;
  color: #fff;
  letter-spacing: 0.2em;
  position: relative;
}
.xmas2024__item__button a::after, .xmas2024__item__button a::before {
  content: "";
  background-color: #fff;
  display: inline-block;
  width: 12px;
  height: 4px;
  border-radius: 3px;
  position: absolute;
  right: 23px;
  -webkit-transform-origin: center right;
          transform-origin: center right;
  font-size: 16px;
  line-height: 1em;
}
.xmas2024__item__button a::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 26px;
}
.xmas2024__item__button a::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 28px;
}
.xmas2024__item__figure {
  width: 48%;
  position: relative;
}
.xmas2024__item__photo {
  border: 2px solid #000;
  border-radius: 20px;
}
.xmas2024__item__caption {
  margin-top: 1em;
  font-size: 10px;
  line-height: 1.4em;
  color: var(--color-gry);
}
.xmas2024__item__new {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateX(-30%) translateY(-30%);
          transform: translateX(-30%) translateY(-30%);
}
.xmas2024__age__title {
  margin-top: 30px;
}
.xmas2024__age__title:first-child {
  margin-top: 0;
}
.xmas2024__age01 .xmas2024__item__name {
  color: var(--color-orn);
}
.xmas2024__age01 .xmas2024__item__price {
  color: var(--color-orn);
}
.xmas2024__age01 .xmas2024__item__button a {
  background-color: var(--color-orn);
}
.xmas2024__age01 .xmas2024__item__photo {
  border-color: var(--color-orn);
}
.xmas2024__age02 .xmas2024__item__name {
  color: var(--color-grn);
}
.xmas2024__age02 .xmas2024__item__price {
  color: var(--color-grn);
}
.xmas2024__age02 .xmas2024__item__button a {
  background-color: var(--color-grn);
}
.xmas2024__age02 .xmas2024__item__photo {
  border-color: var(--color-grn);
}
.xmas2024__age03 .xmas2024__item__name {
  color: var(--color-blu);
}
.xmas2024__age03 .xmas2024__item__price {
  color: var(--color-blu);
}
.xmas2024__age03 .xmas2024__item__button a {
  background-color: var(--color-blu);
}
.xmas2024__age03 .xmas2024__item__photo {
  border-color: var(--color-blu);
}
.xmas2024__age04 .xmas2024__item__name {
  color: var(--color-red);
}
.xmas2024__age04 .xmas2024__item__price {
  color: var(--color-red);
}
.xmas2024__age04 .xmas2024__item__button a {
  background-color: var(--color-red);
}
.xmas2024__age04 .xmas2024__item__photo {
  border-color: var(--color-red);
}
.xmas2024__age05 .xmas2024__item__name {
  color: var(--color-sky);
}
.xmas2024__age05 .xmas2024__item__price {
  color: var(--color-sky);
}
.xmas2024__age05 .xmas2024__item__button a {
  background-color: var(--color-sky);
}
.xmas2024__age05 .xmas2024__item__photo {
  border-color: var(--color-sky);
}
@media screen and (max-width: 1000px) {
  .xmas2024__article {
    margin-top: -5vw;
  }
}
@media screen and (max-width: 767px) {
  .xmas2024__inner {
    margin-top: 4.5vw;
  }
  .xmas2024__article__inner {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
  .xmas2024__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
  }
  .xmas2024__item__info {
    margin-top: 30px;
    width: 100%;
  }
  .xmas2024__item__figure {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .xmas2024__item__info {
    margin-top: 15px;
  }
  .xmas2024__item__name {
    font-size: 24px;
  }
  .xmas2024__item__price {
    font-size: 16px;
  }
  .xmas2024__item__catch {
    margin-top: 10px;
    font-size: 18px;
  }
  .xmas2024__item__text {
    margin-top: 0.5em;
    font-size: 14px;
  }
  .xmas2024__item__button {
    margin-top: 20px;
  }
  .xmas2024__item__button a {
    height: 50px;
    border-radius: 25px;
  }
  .xmas2024__item__button a::after {
    top: 21px;
  }
  .xmas2024__item__button a::before {
    top: 23px;
  }
  .xmas2024__age__title {
    margin-top: 20px;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    -webkit-transform-origin: top left;
            transform-origin: top left;
  }
}

@-webkit-keyframes yureDaruma {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  5% {
    -webkit-transform: translate(0%, 1%) rotate(5deg);
            transform: translate(0%, 1%) rotate(5deg);
  }
  25% {
    -webkit-transform: translate(0%, 1%) rotate(8deg);
            transform: translate(0%, 1%) rotate(8deg);
  }
  30% {
    -webkit-transform: translate(0%, 2%) rotate(-5deg);
            transform: translate(0%, 2%) rotate(-5deg);
  }
  35% {
    -webkit-transform: translate(0%, 2%) rotate(-8deg);
            transform: translate(0%, 2%) rotate(-8deg);
  }
  45% {
    -webkit-transform: translate(0%, 3%) rotate(3deg);
            transform: translate(0%, 3%) rotate(3deg);
  }
  50% {
    -webkit-transform: translate(0%, 3%) rotate(6deg);
            transform: translate(0%, 3%) rotate(6deg);
  }
  60% {
    -webkit-transform: translate(0%, 4%) rotate(-2deg);
            transform: translate(0%, 4%) rotate(-2deg);
  }
  65% {
    -webkit-transform: translate(0%, 4%) rotate(-3deg);
            transform: translate(0%, 4%) rotate(-3deg);
  }
  75% {
    -webkit-transform: translate(0%, 5%) rotate(0deg);
            transform: translate(0%, 5%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0%, 5%) rotate(0deg);
            transform: translate(0%, 5%) rotate(0deg);
  }
}

@keyframes yureDaruma {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  5% {
    -webkit-transform: translate(0%, 1%) rotate(5deg);
            transform: translate(0%, 1%) rotate(5deg);
  }
  25% {
    -webkit-transform: translate(0%, 1%) rotate(8deg);
            transform: translate(0%, 1%) rotate(8deg);
  }
  30% {
    -webkit-transform: translate(0%, 2%) rotate(-5deg);
            transform: translate(0%, 2%) rotate(-5deg);
  }
  35% {
    -webkit-transform: translate(0%, 2%) rotate(-8deg);
            transform: translate(0%, 2%) rotate(-8deg);
  }
  45% {
    -webkit-transform: translate(0%, 3%) rotate(3deg);
            transform: translate(0%, 3%) rotate(3deg);
  }
  50% {
    -webkit-transform: translate(0%, 3%) rotate(6deg);
            transform: translate(0%, 3%) rotate(6deg);
  }
  60% {
    -webkit-transform: translate(0%, 4%) rotate(-2deg);
            transform: translate(0%, 4%) rotate(-2deg);
  }
  65% {
    -webkit-transform: translate(0%, 4%) rotate(-3deg);
            transform: translate(0%, 4%) rotate(-3deg);
  }
  75% {
    -webkit-transform: translate(0%, 5%) rotate(0deg);
            transform: translate(0%, 5%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0%, 5%) rotate(0deg);
            transform: translate(0%, 5%) rotate(0deg);
  }
}