@charset "UTF-8";
/*----------------------------------------
	RESET
-----------------------------------------*/
/* =====================
  各商業施設カラー
===================== */
/* ====================
 SIZE SET
==================== */
/* ====================
 MIXIN
==================== */
.iv,
.ivo {
  visibility: hidden;
  will-change: transform, opacity;
}

picture {
  display: block;
}

/*===================================
オリジナル
===================================*/
@keyframes animate-bgToLft {
  from {
    background-position: 0 center;
  }
  to {
    background-position: -100% center;
  }
}
@keyframes animate-bgToBtm {
  from {
    background-position: 0 0;
  }
  10%, 30%, 50%, 70%, 90% {
    background-position-x: 2px;
  }
  20%, 40%, 60%, 80% {
    background-position-x: -2px;
  }
  to {
    background-position: 0 46.6666666vw;
  }
}
@media screen and (max-width: 959px) {
  @keyframes animate-bgToLft {
    from {
      background-position: 0 center;
    }
    to {
      background-position: -85.3333333333vw center;
    }
  }
}
@keyframes animate-tektek {
  from {
    transform: rotate(5deg);
  }
  49% {
    transform: rotate(5deg);
  }
  50% {
    transform: rotate(-5deg);
  }
  to {
    transform: rotate(-5deg);
  }
}
@keyframes animate-urouro {
  from {
    transform: translate(20px, 0);
  }
  45% {
    transform: translate(-20px, 0);
  }
  50% {
    transform: translate(-20px, 0) rotate3d(0, 1, 0, 180deg);
  }
  95% {
    transform: translate(20px, 0) rotate3d(0, 1, 0, 180deg);
  }
  to {
    transform: translate(20px, 0) rotate3d(0, 0, 0, 0);
  }
}
@keyframes animate-fwafwa {
  0% {
    opacity: 1;
    transform: translate(0, 0) rotate(0);
    transform-origin: center center;
  }
  50% {
    opacity: 1;
    transform: translate(0, 35px) rotate(0.5deg);
  }
  to {
    opacity: 1;
    transform: translate(0, 0) rotate(0);
  }
}
@keyframes animate-yrayura {
  0% {
    transform: rotate(5deg);
  }
  50% {
    transform: rotate(-5deg);
  }
  to {
    transform: rotate(5deg);
  }
}
@keyframes animate-norinori {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.05, 0.95);
  }
  50% {
    transform: scale(0.95, 1.05);
  }
  to {
    transform: scale(1);
  }
}
.animated-uekara {
  animation: 0.5s animate-uekara linear forwards;
}
@keyframes animate-uekara {
  0% {
    opacity: 0;
    transform: translateY(-50vw);
  }
  10% {
    opacity: 1;
  }
  80% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  90% {
    opacity: 1;
    transform: translateY(0) scale(1.05, 0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.animate-sitakara {
  animation: 0.5s animate-sitakara linear forwards;
}
@keyframes animate-sitakara {
  0% {
    opacity: 0;
    transform: translateY(105%);
  }
  10% {
    opacity: 1;
  }
  80% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  90% {
    opacity: 1;
    transform: translateY(0) scale(1.05, 0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.animate-hyokkori {
  animation: 0.5s animate-hyokkori linear forwards;
}
@keyframes animate-hyokkori {
  0% {
    opacity: 0;
    transform: translate(20px, 0) rotate(70deg);
  }
  10% {
    opacity: 1;
  }
  to {
    opacity: 1;
    transform: translate(0) rotate(0);
  }
}
.animate-hyokkoriL {
  animation: 0.5s animate-hyokkoriL linear forwards;
}
@keyframes animate-hyokkoriL {
  0% {
    opacity: 0;
    transform: translate(100%, 0);
  }
  10% {
    opacity: 1;
  }
  to {
    opacity: 1;
    transform: translate(0) rotate(0);
  }
}
.animate-hyokkoriR {
  animation: 0.5s animate-hyokkoriR linear forwards;
}
@keyframes animate-hyokkoriR {
  0% {
    opacity: 0;
    transform: translate(-20px, 0) rotate(-70deg);
  }
  10% {
    opacity: 1;
  }
  to {
    opacity: 1;
    transform: translate(0) rotate(0);
  }
}
.animate-hyokkoriLsp {
  animation: 0.5s animate-hyokkoriLsp 1s linear forwards;
}
@keyframes animate-hyokkoriLsp {
  0% {
    opacity: 0;
    transform: translate(-100%, 0) rotate(23deg);
  }
  10% {
    opacity: 1;
  }
  to {
    opacity: 1;
    transform: translate(0) rotate(23deg);
  }
}
.animate-hyokkoriSP {
  animation: 0.5s animate-hyokkoriSP linear forwards;
}
@keyframes animate-hyokkoriSP {
  0% {
    opacity: 0;
    transform: translate(0, -100%) rotate(180deg);
  }
  10% {
    opacity: 1;
  }
  to {
    opacity: 1;
    transform: translate(0) rotate(180deg);
  }
}
/*===================================
ふわっ
===================================*/
.fadeIn {
  opacity: 0;
  animation: 0.5s animate-fadeIn 0.2s forwards;
}

.fadeUp {
  opacity: 0;
  animation: 0.5s animate-fadeInUp forwards;
}

.fadeDown {
  opacity: 0;
  animation: 0.5s animate-fadeInDown 0.2s forwards;
}

.fadeInLft {
  opacity: 0;
  animation: 0.5s animate-fadeInLft 0.2s forwards;
}

.fadeInRgt {
  opacity: 0;
  animation: 0.5s animate-fadeInRgt 0.2s forwards;
}
@keyframes animate-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes animate-fadeInUp {
  from {
    opacity: 0;
    transform: translateY(25px);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes animate-fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-25px);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes animate-fadeInLft {
  from {
    opacity: 0;
    transform: translate(-25px, 0);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    transform: translate(0);
  }
}
@keyframes animate-fadeInRgt {
  from {
    opacity: 0;
    transform: translate(25px, 0);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 1;
    transform: translate(0);
  }
}
/*----------------------------------------
初期設定
-----------------------------------------*/
.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.noto {
  font-family: "Noto Sans JP", sans-serif;
}

.shippori {
  font-family: "Shippori Mincho", serif;
}

.tukusi {
  font-family: "FOT-筑紫オールド明朝 Pro R", "TsukuOldMinPro-R", serif;
}

.hlv {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.lato {
  font-family: "Lato", sans-serif;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.minimunWidth {
  width: 720px;
  margin-right: auto;
  margin-left: auto;
}

.inrWidth {
  width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.outerWidth {
  width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.fullWidth {
  margin-right: auto;
  margin-left: auto;
}

@media print, screen and (min-width: 1400px) {
  .fullWidth {
    width: 1400px;
  }
  .inrWidth {
    width: 1000px;
  }
  .minimumWidth {
    width: 720px;
  }
}
@media print, screen and (min-width: 1200px) and (max-width: 1400px) {
  .fullWidth {
    width: 100%;
  }
  .outerWidth {
    width: 1200px;
  }
  .inrWidth {
    width: 1000px;
  }
  .minimumWidth {
    width: 720px;
  }
}
@media print, screen and (min-width: 959px) and (max-width: 1400px) {
  .fullWidth {
    width: 90% !important;
  }
}
@media print, screen and (min-width: 959px) and (max-width: 1200px) {
  .outerWidth {
    width: 95% !important;
  }
  .minimumWidth {
    width: 720px;
  }
}
@media print, screen and (min-width: 959px) and (max-width: 1000px) {
  .inrWidth {
    width: 95% !important;
  }
}
@media screen and (max-width: 959px) {
  .minimumWidth {
    width: 90%;
  }
  .inrWidth {
    width: 90%;
  }
  .outerWidth {
    width: 90% !important;
  }
  .fullWidth {
    width: 90% !important;
  }
}
/*----------------------------------------
BODY
-----------------------------------------*/
@media print, screen and (min-width: 901px) {
  .tab {
    display: none !important;
  }
}
@media screen and (min-width: 960px) and (max-width: 900px) {
  .tab {
    display: block;
  }
}
@media screen and (max-width: 959px) {
  .tab {
    display: none !important;
  }
}
@media print, screen and (min-width: 960px) {
  .spbr {
    display: none;
  }
  .sp {
    display: none !important;
  }
  .tab {
    display: none !important;
  }
  .pc {
    display: block;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
  a {
    text-decoration: none;
  }
  a:hover {
    transition: 0.3s ease-in-out;
    text-decoration: none;
  }
  a img {
    transition: 0.3s;
    opacity: 1;
  }
  a[href^="tel:"] {
    pointer-events: none !important;
    text-decoration: none !important;
  }
}
@media screen and (max-width: 959px) {
  .pcbr {
    display: none;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none !important;
  }
  a:hover {
    color: #403D3C;
    text-decoration: none;
  }
}
/*----------------------------------------
HEADER
-----------------------------------------*/
@keyframes loopAnime {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(var(--var), 0, 0);
  }
}
@media print and (max-width: 1200px), screen and (min-width: 960px) and (max-width: 1200px) {
  #header.l-hd .l-hd__brand ul {
    max-width: 580px;
  }
}
@media print, screen and (min-width: 960px) {
  #header.l-hd .l-hd__brand ul li::before {
    content: none;
  }
  #header.l-hd .l-hd__brand ul li::after {
    content: none !important;
  }
  #header.l-hd .l-hd__btn {
    position: absolute;
    bottom: 14px;
    left: 14px;
  }
  #header.l-hd .l-hd__btn__a {
    display: block;
    background: url(../img/common/hd_pc_btn.png) no-repeat;
    background-size: contain;
    width: 180px;
    height: 40px;
    padding-right: 30px;
    overflow: hidden;
  }
  #header.l-hd .l-hd__btn__a__div {
    width: 140px;
    height: 100%;
    overflow: hidden;
    margin-left: 10px;
  }
  #header.l-hd .l-hd__btn__a__div div {
    display: flex;
    align-items: center;
    height: 100%;
    animation: loopAnime 5s linear 0s infinite;
    --var: -166px;
    width: 100%;
    white-space: nowrap;
  }
  #header.l-hd .l-hd__btn__a__div p {
    color: #307257;
    font-size: 1.2rem;
    font-weight: bold;
    margin-right: 20px;
  }
  #header.l-hd .l-hd__menu {
    left: auto;
    right: 0;
  }
  #header.l-hd .l-hd__menu__btn {
    padding: 15px !important;
  }
  #header.l-hd .l-hd__menu__btn::before,
  #header.l-hd .l-hd__menu__btn::after {
    width: 15px !important;
    left: 50% !important;
    transform: translateX(-50%);
  }
  #header.l-hd .l-hd__menu__btn::before {
    margin-top: -2px !important;
  }
  #header.l-hd .l-hd__menu__btn::after {
    margin-top: 12px !important;
  }
  #header.l-hd .l-hd__menu__btn__inr {
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid #403D3C;
    border-radius: 10px;
  }
  #header.l-hd .l-hd__menu__btn__inr span {
    top: 35px !important;
    width: 15px !important;
    left: 50% !important;
    transform: translateX(-50%);
  }
  .menu-active #header.l-hd #menu.l-hd__nav {
    right: 0;
  }
  .header-fixed #header.l-hd .l-hd__btn {
    position: fixed;
    top: 14px;
    bottom: auto;
  }
}
@media screen and (max-width: 959px) {
  #header.l-hd .l-hd__brand {
    padding-left: 0;
    padding-right: 50px;
  }
  #header.l-hd .l-hd__brand ul li::before {
    content: none;
  }
  #header.l-hd .l-hd__brand ul li::after {
    content: none !important;
  }
  #header.l-hd .l-hd__menu {
    left: auto;
    right: 0;
  }
  #header.l-hd .l-hd__menu__btn {
    padding: 8px !important;
  }
  #header.l-hd .l-hd__menu__btn::before,
  #header.l-hd .l-hd__menu__btn::after {
    width: 12px !important;
    left: 50% !important;
    transform: translateX(-50%);
  }
  #header.l-hd .l-hd__menu__btn::before {
    margin-top: -4px !important;
  }
  #header.l-hd .l-hd__menu__btn::after {
    margin-top: 10px !important;
  }
  #header.l-hd .l-hd__menu__btn__inr {
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid #403D3C;
    border-radius: 5px;
  }
  #header.l-hd .l-hd__menu__btn__inr span {
    top: 25px !important;
    width: 12px !important;
    left: 50% !important;
    transform: translateX(-50%);
  }
  #header.l-hd .l-hd__search__inr__ttl {
    text-align: center;
    font-size: 19px;
    font-weight: bold;
  }
  #header.l-hd .l-hd__search__inr__ttl img {
    width: 22px;
    margin-right: 15px;
    margin-top: 16px;
  }
  #header.l-hd .l-hd__search__inr__cols {
    border-bottom: 1px solid #fff !important;
  }
}
.l-hd2025 {
  position: sticky !important;
  top: 0;
  left: 0;
  background: #a89a3e;
  padding-right: 80px;
  height: 70px;
  z-index: 1000;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  overflow: hidden;
}

.l-hd2025-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l-hd2025-main__logo {
  width: 150px;
  height: 100%;
}

.l-hd2025-main__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.l-hd2025-main__nav {
  display: flex;
  flex-wrap: wrap;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: bold;
}

.l-hd2025-main__nav a {
  display: inline-block;
  margin: 0 10px;
}

.l-hd2025-main__btn__a {
  display: block;
  background: url(/cp/christmas/assets/img/ecute/2024/hd_limited_bg.svg) no-repeat;
  background-size: contain;
  background-position: center;
  width: 130px;
  height: 30px;
  overflow: hidden;
}

.l-hd2025-main__btn__a__div {
  width: 130px;
  height: 100%;
  overflow: hidden;
  margin-left: 10px;
}

.l-hd2025-main__btn__a__div div {
  display: flex;
  align-items: center;
  height: 100%;
  animation: loopAnime 5s linear 0s infinite;
  --var: -166px;
  width: 100%;
  white-space: nowrap;
}

.l-hd2025-main__btn__a__div p {
  color: #a89a3e;
  font-size: 1.2rem;
  font-weight: bold;
  margin-right: 20px;
}

@media screen and (max-width: 959px) {
  .l-hd2025 {
    padding-right: 5%;
    height: 40px;
  }
  .l-hd2025-main {
    height: 100%;
  }
  .l-hd2025-main__logo {
    width: 75px;
    height: 100%;
  }
  .l-hd2025-main__logo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
  }
  .l-hd2025-main__btn {
    width: calc(100% - (95px + 5%));
    text-align: right;
    padding-right: 5%;
  }
  .l-hd2025-main__btn__a {
    display: inline-block;
  }
  .l-hd2025-menu {
    position: relative;
  }
  .l-hd2025-menu__btn {
    width: 20px;
    height: 17px;
    position: relative;
  }
  .l-hd2025-menu__btn::before,
  .l-hd2025-menu__btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transform: translateY(-50%);
  }
  .l-hd2025-menu__btn::before {
    margin-top: -8px !important;
  }
  .l-hd2025-menu__btn::after {
    margin-top: 8px !important;
  }
  .l-hd2025-menu__btn__inr {
    display: block;
    width: 100%;
    height: 100%;
  }
  .l-hd2025-menu__btn__inr span {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transform: translateY(-50%);
  }
  .l-hd2025__nav__btn button {
    border: none !important;
    background: transparent !important;
  }
  .l-hd2025__nav__btn button::before,
  .l-hd2025__nav__btn button::after {
    width: 18px !important;
    background-color: #fff !important;
  }
  .l-hd2025__nav__inr {
    font-weight: bold;
  }
}
/*----------------------------------------
FOOTER
-----------------------------------------*/
/*----------------------------------------
MAIN
-----------------------------------------*/
@media print, screen and (min-width: 960px) {
  .l-main > * {
    position: relative;
  }
  .l-main-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    will-change: transform, opacity;
  }
  .l-main-line {
    width: 100%;
    height: 40px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    animation: animate-bgToLft 30s linear infinite;
    will-change: transform, opacity;
  }
  .l-main-sec__wrap {
    display: flex;
    justify-content: space-between;
    width: 1000px;
    margin: 0 auto;
  }
  .l-main-sec__wrap--inr {
    width: 850px;
  }
  .l-main-sec__ttl {
    flex-shrink: 0;
    width: 76px;
  }
  .l-main-fv img {
    width: 100%;
    max-width: none;
  }
  .l-main-shop {
    margin-top: 160px;
  }
  .l-main-shop__wrap {
    flex-direction: row-reverse;
  }
  .l-main-shop__cnt {
    position: relative;
  }
  .l-main-shop__cnt--list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 610px;
    margin-left: auto;
  }
  .l-main-shop__cnt--list--link {
    width: 290px;
    height: 40px;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 4.17;
    font-feature-settings: "palt";
  }
  .l-main-shop__cnt--list--link:nth-of-type(n+3) {
    margin-top: 30px;
  }
  .l-main-shop__cnt--deco01 {
    position: absolute;
    bottom: 60px;
    left: 85px;
    width: 120px;
    animation: 2s animate-tektek ease infinite;
    transform-origin: bottom center;
  }
  .l-main-shop__cnt--deco02 {
    position: absolute;
    bottom: -15px;
    left: -14px;
    width: 88px;
    animation: 4s animate-urouro ease infinite;
  }
  .l-main-recommend {
    margin-top: 160px;
  }
  .l-main-recommend__cnt {
    position: relative;
    pointer-events: none;
  }
  .l-main-recommend__cnt--list {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 4;
  }
  .l-main-recommend__cnt--list:nth-of-type(2) {
    z-index: 3;
  }
  .l-main-recommend__cnt--list:nth-of-type(3) {
    z-index: 2;
  }
  .l-main-recommend__cnt--list:nth-of-type(4) {
    z-index: 1;
  }
  .l-main-recommend__cnt--list--inr {
    display: none;
    flex-wrap: wrap;
    align-items: stretch;
    padding: 0 54.5px 50px;
    background: #fff;
    border: 1px solid #403D3C;
    border-top: none;
    border-radius: 0 0 30px 30px;
    pointer-events: visible;
  }
  .l-main-recommend__cnt--list--inr .l-list-blk:not(:nth-of-type(3n)) {
    margin-right: 39px;
  }
  .l-main-recommend__cnt--list--ttl {
    cursor: pointer;
    pointer-events: visible;
    width: 212px;
    overflow: visible;
    pointer-events: visible;
  }
  .l-main-recommend__cnt--list--ttl img {
    width: 850px;
    max-width: none;
    pointer-events: none;
  }
  .l-main-recommend__cnt--list--ttl.-sec2 {
    margin-left: 212px;
  }
  .l-main-recommend__cnt--list--ttl.-sec2 img {
    margin-left: -212px;
  }
  .l-main-recommend__cnt--list--ttl.-sec3 {
    margin-left: 404px;
  }
  .l-main-recommend__cnt--list--ttl.-sec3 img {
    margin-left: -404px;
  }
  .l-main-recommend__cnt--list--ttl.-sec4 {
    margin-left: 584px;
  }
  .l-main-recommend__cnt--list--ttl.-sec4 img {
    margin-left: -584px;
  }
  .l-main-recommend__cnt--list--link {
    width: 100%;
    margin-top: 50px;
  }
  .l-main-recommend__cnt--list--link--btn {
    width: 350px;
    height: 50px;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 4.17;
    margin: 0 auto;
  }
  .l-main-recommend__cnt--list.current {
    position: relative;
    z-index: 5;
  }
  .l-main-recommend__cnt--list.current .l-main-recommend__cnt--list--inr {
    display: flex;
  }
  .l-main-access {
    margin-top: 160px;
  }
  .l-main-access__wrap {
    flex-direction: row-reverse;
  }
  .l-main-access__cnt {
    position: relative;
  }
  .l-main-access__cnt--list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 610px;
    margin-left: auto;
  }
  .l-main-access__cnt--list--link {
    width: 290px;
    height: 40px;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 4.17;
    font-feature-settings: "palt";
  }
  .l-main-access__cnt--list--link:nth-of-type(n+3) {
    margin-top: 30px;
  }
  .l-main-links {
    padding-top: 160px;
    padding-bottom: 100px;
  }
  .l-main-links__banner {
    width: 300px;
    margin: 100px auto 0;
  }
}
@media screen and (max-width: 959px) {
  .l-main > * {
    position: relative;
  }
  .l-main-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .l-main-line {
    width: 100%;
    height: 8.8vw;
    border-top: 0.5333333333vw solid #fff;
    border-bottom: 0.5333333333vw solid #fff;
    will-change: transform, opacity;
    animation: animate-bgToLft 10s linear infinite;
  }
  .l-main-sec__wrap {
    width: 100%;
    margin: 0 auto;
  }
  .l-main-sec__wrap--inr {
    width: 88vw;
    margin: 0 auto;
  }
  .l-main-sec__ttl {
    text-align: center;
    margin-bottom: 6.6666666667vw;
  }
  .l-main-sec__ttl img {
    width: auto;
    height: 15.3333333333vw;
  }
  .l-main-shop,
  .l-main-access {
    margin-top: 13.3333333333vw;
  }
  .l-main-shop__wrap,
  .l-main-access__wrap {
    flex-direction: row-reverse;
  }
  .l-main-shop__cnt,
  .l-main-access__cnt {
    position: relative;
  }
  .l-main-shop__cnt--list,
  .l-main-access__cnt--list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .l-main-shop__cnt--list--link,
  .l-main-access__cnt--list--link {
    width: 42.6666666667vw;
    height: 10.6666666667vw;
    font-size: 2.9333333333vw;
    letter-spacing: 0.06em;
    line-height: 1.18;
    text-align: center;
    font-feature-settings: "palt";
  }
  .l-main-shop__cnt--list--link:nth-of-type(n+3),
  .l-main-access__cnt--list--link:nth-of-type(n+3) {
    margin-top: 5.3333333333vw;
  }
  .l-main-shop__cnt--list--link a {
    padding-right: 5.3333333333vw;
  }
  .l-main-recommend {
    margin-top: 13.3333333333vw;
  }
  .l-main-recommend__cnt {
    position: relative;
  }
  .l-main-recommend__cnt--list {
    width: 100%;
  }
  .l-main-recommend__cnt--list:nth-of-type(n+2) {
    margin-top: 6.6666666667vw;
  }
  .l-main-recommend__cnt--list--inr {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 4vw 6vw;
    background: #fff;
    border: 1px solid #403D3C;
    border-top: none;
    border-radius: 0 0 4vw 4vw;
  }
  .l-main-recommend__cnt--list--link {
    width: 100%;
    margin-top: 9.3333333333vw;
  }
  .l-main-recommend__cnt--list--link--btn {
    width: 66.6666666667vw;
    height: 10vw;
    font-size: 3.2vw;
    letter-spacing: 0.1em;
    line-height: 1;
    margin: 0 auto;
  }
  .l-main-links {
    padding-top: 6.6666666667vw;
    padding-bottom: 13.3333333333vw;
  }
  .l-main-links__wrap {
    margin: 13.3333333333vw auto 0;
  }
  .l-main-links__banner {
    width: 66.6666666667vw;
    margin: 13.3333333333vw auto 0;
  }
}
.l-main2025-link {
  margin-top: 50px;
  margin-bottom: 80px;
}

.l-main2025-link__btn male a {
  border-radius: 0;
  border: 2px solid #403D3C;
  font-size: 1.4rem;
  font-weight: bold;
}

@media screen and (max-width: 959px) {
  .l-main2025-link {
    margin-top: 10px;
    margin-bottom: 40px;
  }
}
main#items > .body > .container nav.pagination {
  width: 100%;
}

/*----------------------------------------
ボタン共通パーツ
-----------------------------------------*/
@media print, screen and (min-width: 960px) {
  .c-btn-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: bold;
    background: #fff;
    border: 1px solid #403D3C;
    border-radius: 100vw;
    position: relative;
  }
  .c-btn-link::before,
  .c-btn-link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    width: 26px;
    height: 26px;
    margin-top: -13px;
    transition: 0.4s;
  }
  .c-btn-link::before {
    border-radius: 100vw;
  }
  .c-btn-link::after {
    background-image: url(../img/common/icon_link_line.svg);
  }
  .c-btn-ping {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: bold;
    background: #fff;
    border: 1px solid #403D3C;
    border-radius: 100vw;
    position: relative;
  }
  .c-btn-ping::before,
  .c-btn-ping::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    display: block;
    width: 16px;
    height: 22px;
    margin-top: -11px;
    transition: 0.4s;
    background-size: contain;
    background-position: center;
  }
  .c-btn-ping::before {
    width: 18px;
    height: 18px;
    left: 9px;
    border-radius: 40% 60% 0% 100%/40% 100% 0% 60%;
    box-sizing: content-box;
    transform: rotate(45deg);
  }
  .c-btn-ping::after {
    background-image: url(../img/common/icon_ping_line.svg);
  }
  .c-btn-tokyo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: bold;
    background: #fff;
    position: relative;
  }
  .c-btn-tokyo::before,
  .c-btn-tokyo::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 30px;
    height: 40px;
    transition: 0.4s;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
  }
}
@media screen and (max-width: 959px) {
  .c-btn-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: bold;
    background: #fff;
    border: 1px solid #403D3C;
    border-radius: 100vw;
    position: relative;
  }
  .c-btn-link::before,
  .c-btn-link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2.6666666667vw;
    display: block;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-top: -2.6666666667vw;
    transition: 0.4s;
  }
  .c-btn-link::before {
    border-radius: 100vw;
  }
  .c-btn-link::after {
    background-image: url(../img/common/icon_link_line.svg);
  }
  .c-btn-ping {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: bold;
    background: #fff;
    padding-left: 4.8vw;
    border: 1px solid #403D3C;
    border-radius: 100vw;
    position: relative;
  }
  .c-btn-ping::before,
  .c-btn-ping::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 2.6666666667vw;
    display: block;
    width: 3.5vw;
    height: 4.6666666667vw;
    margin-top: -2.3333333333vw;
    transition: 0.4s;
    background-size: contain;
    background-position: center;
  }
  .c-btn-ping::before {
    width: 3.6vw;
    height: 3.6vw;
    border-radius: 40% 60% 0% 100%/40% 100% 0% 60%;
    box-sizing: content-box;
    transform: rotate(45deg);
  }
  .c-btn-ping::after {
    background-image: url(../img/common/icon_ping_line.svg);
  }
  .c-btn-tokyo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: bold;
    background: #fff;
    position: relative;
  }
  .c-btn-tokyo::before,
  .c-btn-tokyo::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 7.5vw;
    height: 10vw;
    transition: 0.4s;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
  }
}
/*----------------------------------------
カラー設定
-----------------------------------------*/
.-icon_omo::before {
  background-color: #569065;
}

.-icon_aka::before {
  background-color: #c09b0f;
}

.-icon_nip::before {
  background-color: #dd5f66;
}

.-icon_uen::before {
  background-color: #d6809a;
}

.-icon_sin::before {
  background-color: #6aa9c0;
}

.-icon_tat::before {
  background-color: #f5960a;
}

.-icon_sib::before {
  background-color: #f49178;
}

.-icon_iid::before {
  background-color: #edde7b;
}

.-icon_del::before {
  background-color: #a4c3d0;
}

.-icon_gra::before {
  background-color: #bf9d5a;
}

.-icon_tok::before {
  background-color: #777da3;
}

.-icon_lie::before {
  background-color: #298046;
}

.-bg_red {
  color: #fff;
  background: #ff1617;
  border-color: #ff1617;
}

.-bg_red::after {
  border-color: #fff !important;
}

.-bg_grn {
  color: #fff;
  background: #009990;
  border-color: #009990;
}

.-bg_grn::after {
  border-color: #fff !important;
}

.-bg_mos {
  color: #fff;
  background: #307257;
  border-color: #307257;
}

.-bg_mos::after {
  border-color: #fff !important;
}

.-bg_deli {
  color: #fff;
  background: #0f8b58;
  border-color: #0f8b58;
}

.-bg_deli::after {
  border-color: #fff !important;
}

/*----------------------------------------
タイトル 共通パーツ
-----------------------------------------*/
/*----------------------------------------
タイトル 共通パーツ
-----------------------------------------*/
@keyframes scroll {
  0% {
    transform-origin: top;
    transform: scaleY(0);
  }
  45% {
    transform-origin: top;
    transform: scaleY(1);
  }
  55% {
    transform-origin: bottom;
    transform: scaleY(1);
  }
  100% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
}
@media screen and (max-width: 959px) {
  .c-cts__scroll {
    font-size: 1.2rem;
    writing-mode: vertical-rl;
    color: #fff !important;
    position: relative;
  }
  .c-cts__scroll::before {
    content: "";
    background: #fff;
    width: 1px;
    height: 100px;
    display: block;
    position: absolute;
    top: 0;
    left: -3px;
    animation: scroll 2s ease-in-out infinite;
  }
}
/*----------------------------------------
MAIN
-----------------------------------------*/
@media print, screen and (min-width: 960px) {
  .l-list header {
    position: relative;
    border: none;
    margin: 50px 0 0 !important;
    padding: 0 !important;
  }
  .l-list header h1 {
    width: 100%;
  }
  .l-list header .count {
    position: absolute;
    bottom: 25px;
    right: 0;
  }
  .l-list .container {
    max-width: 1110px !important;
  }
  .l-list-item {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 0 55px 50px;
    background: #fff;
    border: 1px solid #403D3C;
    border-top: none;
    border-radius: 0 0 30px 30px;
    pointer-events: visible;
  }
  .l-list-item .l-list-blk:not(:nth-of-type(4n)) {
    margin-right: 3%;
  }
  .l-list-item.gransta,
  .l-list-item.delivery {
    border: none;
    border-radius: 0;
  }
  .l-list-blk {
    position: relative;
    width: 29.8%;
    height: auto;
    margin-top: 70px;
    padding-bottom: 10px;
    font-feature-settings: "palt";
    margin-right: 5.3%;
  }
  .l-list-blk:nth-of-type(3n) {
    margin-right: 0;
  }
  .l-list-blk__a {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .l-list-blk__img {
    position: relative;
    margin-bottom: 14px;
  }
  .l-list-blk__img--badge {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.03rem;
    text-align: center;
    color: #fff;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transform: translate(25%, -40%);
    z-index: 10;
  }
  .l-list-blk__img--badge small {
    font-size: 1rem;
  }
  .l-list-blk__img--badge span {
    font-size: 1.2rem;
  }
  .l-list-blk__store {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: 500;
    margin-bottom: 14px;
  }
  .l-list-blk__store::before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    border-radius: 100vw;
    transform: scale(0.92);
  }
  .l-list-blk__shop,
  .l-list-blk__size {
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 3px;
  }
  .l-list-blk__size {
    margin-bottom: 12px;
  }
  .l-list-blk__name,
  .l-list-blk__price {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.29;
    font-weight: bold;
  }
  .l-list-blk__price {
    margin-bottom: 12px;
  }
  .l-list-blk__price--tax {
    font-size: 10px;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
  .l-list-blk__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    color: #fff;
    background: #403D3C;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 1;
    font-weight: bold;
    border-radius: 5px;
    margin-top: auto;
  }
  .l-list-search__ttl {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 80px;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 1.3;
    font-weight: bold;
    color: #fff;
    background-size: 100%;
  }
  .l-list-search__ttl--inr {
    width: 550px;
    padding: 0 40px;
  }
  .l-list-search__blk {
    background: #fff;
    display: flex;
    flex-wrap: wrap;
    padding: 0 5% 5%;
    position: relative;
    border-radius: 0 0 30px 30px;
  }
  .l-list-item .l-list-blk {
    width: 22.5%;
  }
  main#items > .body > .container nav.pagination {
    width: 100%;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    font-family: "Noto Serif JP";
  }
  main#items > .body > .container nav.pagination ol li {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
  }
  main#items > .body > .container nav.pagination ol li:not(:last-child):after {
    display: block;
    content: "";
    margin: 0 16px;
    width: 11px;
    height: 10px;
    background: center/100% auto no-repeat url("/cp/christmas/assets/img/items/2025/icon-pager.svg");
  }
  main#items > .body > .container nav.pagination ol li a {
    font-size: 24px !important;
    width: 26px !important;
    line-height: 26px !important;
    color: #FFF;
    background: none !important;
  }
  main#items > .body > .container nav.pagination ol li.current a {
    pointer-events: none;
    color: #A6852C !important;
    text-decoration: underline;
  }
  main#items > .body > .container nav.pagination ol li:not(.current) a:hover {
    color: #A6852C !important;
  }
}
@media screen and (max-width: 959px) {
  .l-list header {
    position: relative;
    border: none;
    margin: 6.6666666667vw 0 0 !important;
    padding: 0 !important;
  }
  .l-list header h1 {
    width: 100%;
  }
  .l-list header .count {
    position: absolute;
    bottom: 5.3333333333vw;
    right: 0;
    text-align: right;
  }
  .l-list .container {
    max-width: calc(100% - 10.6666666667vw) !important;
  }
  .l-list-item {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 4vw 6vw;
    background: #fff;
    border: 1px solid #403D3C;
    border-top: none;
    border-radius: 0 0 4vw 4vw;
  }
  .l-list-blk {
    position: relative;
    width: 37.6vw;
    height: auto;
    margin-top: 5.3333333333vw;
    padding-bottom: 1.3333333333vw;
    font-feature-settings: "palt";
  }
  .l-list-blk__a {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .l-list-blk__img {
    position: relative;
  }
  .l-list-blk__img--badge {
    position: absolute;
    top: 0;
    right: 0;
    width: 10.6666666667vw;
    height: 8.8vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 3.2vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.03rem;
    text-align: center;
    color: #fff;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transform: translate(25%, -40%);
  }
  .l-list-blk__img--badge small {
    font-size: 1.7333333333vw;
  }
  .l-list-blk__img--badge span {
    font-size: 2.1333333333vw;
  }
  .l-list-blk__store {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 2.6666666667vw;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: 500;
    margin-bottom: 2.4vw;
  }
  .l-list-blk__store::before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    border-radius: 100vw;
    transform: scale(0.92);
  }
  .l-list-blk__shop,
  .l-list-blk__size {
    font-size: 2.6666666667vw;
    letter-spacing: 0.05em;
    line-height: 1;
  }
  .l-list-blk__size {
    margin-bottom: 1.3333333333vw;
  }
  .l-list-blk__name,
  .l-list-blk__price {
    font-size: 3.2vw;
    letter-spacing: 0.05em;
    line-height: 1.17;
    font-weight: bold;
    margin-bottom: 1.3333333333vw;
  }
  .l-list-blk__price {
    margin-bottom: 1.3333333333vw;
  }
  .l-list-blk__price--tax {
    font-size: 2.4vw;
    letter-spacing: 0.05em;
    line-height: 1.56;
  }
  .l-list-blk__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 10vw;
    color: #fff;
    background: #403D3C;
    font-size: 2.9333333333vw;
    letter-spacing: 0.1em;
    line-height: 1;
    font-weight: bold;
    border-radius: 0.6666666667vw;
    margin-top: auto;
  }
  .l-list-search__ttl {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 16vw;
    font-size: 3.2vw !important;
    line-height: 1.25;
    font-weight: bold;
    color: #fff;
    background-size: 100%;
  }
  .l-list-search__ttl--inr {
    width: 75%;
    text-align: left;
    padding: 0 3.3333333333vw;
  }
  .l-list-search__blk {
    background: #fff;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 5% 5%;
    position: relative;
    border-radius: 0 0 4vw 4vw;
  }
  main#items > .body > .container nav.pagination {
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
  }
  main#items > .body > .container nav.pagination ol li {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
  }
  main#items > .body > .container nav.pagination ol li:not(:last-child):after {
    display: block;
    content: "";
    margin: 0 4.267vw;
    width: 2.933vw;
    height: 2.667vw;
    background: center/100% auto no-repeat url("/cp/christmas/assets/img/items/2025/icon-pager.svg");
  }
  main#items > .body > .container nav.pagination ol li a {
    font-size: 6.4vw;
    width: 6.9333333333vw !important;
    line-height: 6.9333333333vw !important;
    color: #FFF;
    background: none !important;
  }
  main#items > .body > .container nav.pagination ol li.current a {
    color: var(--a-6852-c, #A6852C);
    font-size: 6.4vw;
    text-decoration: underline;
  }
}
/*----------------------------------------
MAIN
-----------------------------------------*/
@media print, screen and (min-width: 960px) {
  .p-top-fv {
    position: relative;
    overflow: hidden;
  }
  .p-top-fv__mv {
    position: relative;
    width: 854px;
    margin: 0 auto 45px;
    overflow: visible;
  }
  .p-top-fv__mv::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 50vw;
    height: 100%;
    background: #fff;
    transform: translateX(-100%);
    z-index: 10;
    pointer-events: none;
  }
  .p-top-fv__nav {
    position: absolute;
    top: 0;
    right: calc(50% + 427px);
    width: 175px;
    height: 100%;
    background: #fff;
    z-index: 11;
  }
  .p-top-fv__nav--inr {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  .p-top-fv .swiper {
    position: relative;
  }
  .p-top-fv .swiper-slide-duplicate-prev {
    opacity: 0.5;
  }
  .p-top-fv .swiper-slide-duplicate-next {
    transition: 0 !important;
    opacity: 0;
  }
  .p-top-fv .swiper-button-next {
    width: 60px;
    height: 60px;
    background: url(../img/common/arw_next.svg) no-repeat center/contain;
    right: -80px;
    margin-top: -30px;
  }
  .p-top-fv .swiper-button-next::after {
    display: none;
  }
  .p-top-fv .swiper-pagination {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 0;
  }
  .p-top-fv .swiper-pagination span {
    font-size: 12px;
    letter-spacing: 0.2em;
    line-height: 1.83;
  }
  .p-top-fv .swiper-pagination span::before {
    content: "0";
  }
  .p-top-fv .swiper-pagination span:first-of-type {
    margin-bottom: 100px;
  }
  .p-top-fv .swiper-progress {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 80px;
    background: #e6e6e6;
    transform: translate(-50%, -50%);
    overflow: hidden;
  }
  .p-top-fv .swiper-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: #403d3c;
    transform: translateY(-100%);
  }
  .p-top-fv .swiper-progress.load span {
    transition: 3s linear;
    transform: translateY(0);
  }
  .p-top .l-main-links {
    padding-top: 0;
    background: #f7f8f8;
  }
  .p-top .l-main-links__wrap {
    margin-top: 0;
  }
  .p-top .l-main-links .l-main-line {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  .p-top-fv {
    position: relative;
    overflow: hidden;
  }
  .p-top-fv__mv {
    position: relative;
    width: calc(100% - 90px);
    margin: 0 auto 45px;
    overflow: visible;
  }
  .p-top-fv__mv::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 50vw;
    height: 100%;
    background: #fff;
    transform: translateX(-100%);
    z-index: 10;
    pointer-events: none;
  }
  .p-top-fv__nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 13vw;
    height: 100%;
    background: #fff;
    z-index: 11;
  }
  .p-top-fv__nav--inr {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  .p-top-fv .swiper {
    position: relative;
  }
  .p-top-fv .swiper-slide {
    width: 100%;
    transition: 0.3s;
    transform-origin: center left;
    margin-left: 0.5%;
  }
}
@media screen and (max-width: 959px) and (min-width: 500px) {
  .p-top-fv .swiper-slide {
    margin-left: 4%;
  }
}
@media screen and (max-width: 959px) {
  .p-top-fv .swiper-slide-active {
    transform-origin: center right;
  }
  .p-top-fv .swiper-slide-duplicate-prev {
    opacity: 0.5;
    transform: scale(0.7);
  }
  .p-top-fv .swiper-slide-duplicate-next {
    transition: 0 !important;
    opacity: 0;
  }
  .p-top-fv .swiper-button-next {
    width: 12vw;
    height: 12vw;
    background: url(../img/common/arw_next.svg) no-repeat center/contain;
    right: -6vw;
    margin-top: -6vw;
  }
  .p-top-fv .swiper-button-next::after {
    display: none;
  }
  .p-top-fv .swiper-pagination {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 0;
  }
  .p-top-fv .swiper-pagination span {
    font-size: 1.6vw;
    letter-spacing: 0.2em;
    line-height: 1.83;
  }
  .p-top-fv .swiper-pagination span::before {
    content: "0";
  }
  .p-top-fv .swiper-pagination span:first-of-type {
    margin-bottom: 21.3333333333vw;
  }
  .p-top-fv .swiper-progress {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 16vw;
    background: #e6e6e6;
    transform: translate(-50%, -50%);
    overflow: hidden;
  }
  .p-top-fv .swiper-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: #403d3c;
    transform: translateY(-100%);
  }
  .p-top-fv .swiper-progress.load span {
    transition: 3s linear;
    transform: translateY(0);
  }
  .p-top .l-main-links {
    padding-top: 2.6666666667vw;
    background: #f7f8f8;
  }
  .p-top .l-main-links__wrap {
    margin-top: 0;
  }
  .p-top .l-main-links .l-main-line {
    display: none;
  }
  .p-top .l-main-links__banner {
    display: none;
  }
}
/*----------------------------------------
MAIN
-----------------------------------------*/
@media print, screen and (min-width: 960px) {
  .p-ecute .l-list-blk__img--badge {
    background-image: url(../img/ecute/icon_badge.svg);
  }
  .p-ecute .l-list-search__ttl {
    background-image: url(../img/ecute/tab_seach_pc.svg);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .p-ecute-bg {
    background: #ffdcdc;
  }
  .p-ecute-bg .snowfall-flakes {
    border-radius: 100vw;
    background: #fff !important;
  }
  .p-ecute-fv__lead {
    text-align: center;
  }
  .p-ecute-fv__lead--txt {
    margin: 0 auto;
  }
  .p-ecute-fv__lead--txt.txt01 {
    width: 323px;
    margin-top: 92px;
    transform: translate(-7px, 0);
  }
  .p-ecute-fv__lead--txt.txt02 {
    width: 567.6px;
    margin-top: -4px;
    transform: translate(-14px, 0);
  }
  .p-ecute-fv__lead--txt.txt03 {
    width: 685px;
    margin-top: -4px;
    transform: translate(-1px, 0);
  }
  .p-ecute-fv__lead--txt.txt04 {
    width: 370px;
    margin-top: 17px;
    transform: translate(-156px, 0);
  }
  .p-ecute-fv__lead--txt.txt05 {
    width: 443px;
    margin-top: 3px;
    transform: translate(48px, 0);
  }
  .p-ecute-feature {
    margin-top: 115px;
    font-family: "Zen Maru Gothic", serif;
  }
  .p-ecute .l-main-line {
    background: url(../img/ecute/line_txt.svg) repeat-x center/auto 16px, #009990;
  }
  .p-ecute .l-main-shop__cnt--deco01 {
    position: absolute;
    bottom: 60px;
    left: 85px;
    width: 120px;
    animation: 2s animate-tektek ease infinite;
    transform-origin: bottom center;
  }
  .p-ecute .l-main-shop__cnt--deco02 {
    position: absolute;
    bottom: -15px;
    left: -14px;
    width: 88px;
    animation: 4s animate-urouro ease infinite;
  }
  .p-ecute .l-main-recommend__cnt--deco01 {
    position: absolute;
    bottom: -85px;
    right: -47px;
    width: 155.4px;
    z-index: 10;
    pointer-events: none;
    animation: animate-tektek 2s linear infinite;
  }
  .p-ecute .l-main-access__cnt--deco01 {
    position: absolute;
    bottom: 30px;
    left: 69px;
    width: 114px;
    animation: 4s animate-urouro ease infinite;
  }
  .p-ecute .l-main-access__cnt--deco02 {
    position: absolute;
    bottom: -70px;
    left: -24px;
    width: 93px;
    animation: 4s animate-yrayura ease-in-out infinite;
    transform-origin: center;
  }
}
@media screen and (max-width: 959px) {
  .p-ecute .l-list-blk__img--badge {
    background-image: url(../img/ecute/icon_badge.svg);
  }
  .p-ecute .l-list-search__ttl {
    background-image: url(../img/ecute/tab_seach_sp.svg);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .p-ecute-bg {
    background: #ffdcdc;
  }
  .p-ecute-bg .snowfall-flakes {
    border-radius: 100vw;
    background: #fff !important;
  }
  .p-ecute-fv__lead {
    text-align: center;
  }
  .p-ecute-fv__lead--txt {
    margin: 0 auto;
  }
  .p-ecute-fv__lead--txt.txt01 {
    width: 43.0666666667vw;
    margin-top: 12.9333333333vw;
    transform: translate(-0.6666666667vw, 0);
  }
  .p-ecute-fv__lead--txt.txt02 {
    width: 75.68vw;
    margin-top: -0.5333333333vw;
    transform: translate(-1.7333333333vw, 0);
  }
  .p-ecute-fv__lead--txt.txt03 {
    width: 91.3333333333vw;
    margin-top: -0.5333333333vw;
    transform: translate(-1px, 0);
  }
  .p-ecute-fv__lead--txt.txt04 {
    width: 49.3333333333vw;
    margin-top: 2.2666666667vw;
    transform: translate(-20.6666666667vw, 0);
  }
  .p-ecute-fv__lead--txt.txt05 {
    width: 59.0666666667vw;
    margin-top: 0.4vw;
    transform: translate(6.4vw, 0);
  }
  .p-ecute-feature {
    margin-top: 16vw;
    font-family: "Zen Maru Gothic", serif;
  }
  .p-ecute-feature img {
    width: 100%;
    max-width: none;
  }
  .p-ecute .l-main-line {
    background: url(../img/ecute/line_txt.svg) repeat-x left/90.6666666667vw auto, #009990;
  }
  .p-ecute .l-main-shop__cnt--deco01 {
    width: 18.4533333333vw;
    margin: -2vw auto 0 48vw;
    animation: 2s animate-tektek ease infinite;
    transform-origin: bottom center;
  }
  .p-ecute .l-main-shop__cnt--deco02 {
    width: 13.9112vw;
    margin: -12.6666666667vw auto 0 25.3333333333vw;
    animation: 4s animate-urouro ease infinite;
  }
  .p-ecute .l-main-recommend__cnt--deco01 {
    position: absolute;
    bottom: -23.0666666667vw;
    right: -4.6666666667vw;
    width: 24.8533333333vw;
    z-index: 10;
    pointer-events: none;
    animation: animate-tektek 2s linear infinite;
  }
  .p-ecute .l-main-access__cnt--deco01 {
    width: 18.08vw;
    margin: 6.6666666667vw auto 0 46.6666666667vw;
    animation: 4s animate-urouro ease infinite;
  }
  .p-ecute .l-main-access__cnt--deco02 {
    width: 14.8533333333vw;
    margin: -8vw auto 0 24.6666666667vw;
    animation: 4s animate-yrayura ease-in-out infinite;
    transform-origin: center;
  }
}
@keyframes look_loop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes look_loop_rev {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
.p-ecute2025 {
  max-width: 1400px;
  margin: 0 auto;
}

.p-ecute2025-fv {
  background: url(../img/ecute/2024/MainBG_green.png) repeat center;
  padding-bottom: 50px;
}

.p-ecute2025-fv__mv {
  position: relative;
  width: 815px;
  margin: -30px auto 0 80px;
  overflow: visible;
}

.p-ecute2025-fv__mv::before {
  content: none;
}

.p-ecute2025-fv__nav {
  position: absolute;
  top: 0;
  right: calc(50% + 427px);
  width: 175px;
  height: 100%;
  background: #fff;
  z-index: 11;
}

.p-ecute2025-fv__nav--inr {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.p-ecute2025-fv .swiper {
  position: relative;
}

.p-ecute2025-fv .swiper-slide-duplicate-prev {
  opacity: 0.5;
}

.p-ecute2025-fv .swiper-slide-duplicate-next {
  transition: 0 !important;
  opacity: 0;
}

.p-ecute2025-fv .swiper-button-next {
  width: 60px;
  height: 60px;
  background: url(../img/common/arw_next.svg) no-repeat center/contain;
  right: -80px;
  margin-top: -30px;
}

.p-ecute2025-fv .swiper-button-next::after {
  display: none;
}

.p-ecute2025-fv .swiper-pagination {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 0;
}

.p-ecute2025-fv .swiper-pagination span {
  font-size: 12px;
  letter-spacing: 0.2em;
  line-height: 1.83;
}

.p-ecute2025-fv .swiper-pagination span::before {
  content: "0";
}

.p-ecute2025-fv .swiper-pagination span:first-of-type {
  margin-bottom: 100px;
}

.p-ecute2025-fv .swiper-progress {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 80px;
  background: #e6e6e6;
  transform: translate(-50%, -50%);
  overflow: hidden;
}

.p-ecute2025-fv .swiper-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: #403d3c;
  transform: translateY(-100%);
}

.p-ecute2025-fv .swiper-progress.load span {
  transition: 3s linear;
  transform: translateY(0);
}

.p-ecute2025-fv__loop-wrap {
  display: flex;
  overflow: hidden;
  margin-top: -10%;
  position: relative;
  z-index: 5;
}

.p-ecute2025-fv__loop-wrap p {
  display: flex;
  list-style: none;
  padding: 0;
  animation: look_loop 80s infinite linear 0.5s both;
}

.p-ecute2025-fv__loop-wrap img {
  width: 2500px;
}

.p-ecute2025-fv__loop-wrap.--rev {
  margin-top: -50px;
}

.p-ecute2025-fv__loop-wrap.--rev p {
  animation: look_loop_rev 80s infinite linear 0.5s both;
}

.p-ecute2025-sec {
  padding: 60px 0;
}

.p-ecute2025-sec__wrap {
  max-width: 850px;
  width: 95%;
  margin: 0 auto;
}

.p-ecute2025-shop {
  background: #f0d5ca;
  overflow: hidden;
}

.p-ecute2025-shop__wrap {
  padding-top: 30px;
}

.p-ecute2025-shop__ttl {
  display: flex;
  align-items: center;
}

.p-ecute2025-shop__deco {
  max-width: 270px;
  animation: 4s animate-yrayura ease-in-out infinite;
}

.p-ecute2025-shop__ttlimg {
  max-width: 410px;
  margin-left: 20px;
  width: 130%;
}

.p-ecute2025-shop__main {
  position: relative;
}

.p-ecute2025-shop__sidedeco {
  position: absolute;
  bottom: 0;
  right: -140px;
  width: 280px;
  animation: 2s animate-tektek ease infinite;
}

.p-ecute2025-shop__main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
}

.p-ecute2025-shop__main a {
  display: block;
  width: 32%;
  margin-bottom: 15px;
}

.p-ecute2025-shop__main a:nth-child(2) img {
  margin-top: -5px;
  margin-left: -5px;
}

.p-ecute2025-shop__main a:nth-child(4) img {
  margin-left: -10px;
}

.p-ecute2025-shop__main a:nth-child(6) img {
  margin-left: -5px;
}

.p-ecute2025-shop__main a:nth-child(7) img {
  margin-top: 5px;
}

.p-ecute2025-shop__main a:nth-child(8) img {
  margin-left: -5px;
}

.p-ecute2025-access {
  background: #f0d5ca;
  overflow: hidden;
  padding-bottom: 130px;
}

.p-ecute2025-access__ttl {
  width: 240px;
  margin: 0 auto;
}

.p-ecute2025-access__deco {
  width: 370px;
  position: absolute;
  bottom: -70px;
  left: calc(50% - 195px);
}

.p-ecute2025-access__ttlimg {
  margin-left: 20px;
  width: 100%;
}

.p-ecute2025-access__main {
  position: relative;
}

.p-ecute2025-access__main {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
}

.p-ecute2025-access__main a {
  display: block;
  width: 32%;
  margin: 0 0.6666666667% 15px;
}

.p-ecute2025-access__main a:nth-child(2) img {
  margin-top: -3px;
  margin-left: -3px;
}

.p-ecute2025-access__main a:nth-child(4) img {
  margin-left: -10px;
}

.p-ecute2025-access__main a:nth-child(6) img {
  margin-left: -5px;
}

.p-ecute2025-access__main a:nth-child(7) img {
  margin-top: 5px;
}

.p-ecute2025-access__main a:nth-child(8) img {
  margin-left: -5px;
}

@media screen and (max-width: 959px) {
  .p-ecute2025-fv {
    background: #a89a3e;
    padding-bottom: 30px;
  }
  .p-ecute2025-fv__mv {
    position: relative;
    width: 100%;
    margin: 0 auto;
  }
  .p-ecute2025-fv__nav {
    position: absolute;
    top: 0;
    right: calc(50% + 427px);
    width: 175px;
    height: 100%;
    background: #fff;
    z-index: 11;
  }
  .p-ecute2025-fv__nav--inr {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  .p-ecute2025-fv .swiper {
    position: relative;
  }
  .p-ecute2025-fv .swiper-slide {
    margin-left: 0;
  }
  .p-ecute2025-fv .swiper-slide-duplicate-prev {
    opacity: 0.5;
  }
  .p-ecute2025-fv .swiper-slide-duplicate-next {
    transition: 0 !important;
    opacity: 0;
  }
  .p-ecute2025-fv__loop-wrap {
    margin-top: 5vw;
    margin-bottom: -5vw;
  }
  .p-ecute2025-fv__loop-wrap p {
    display: flex;
    list-style: none;
    padding: 0;
    animation: look_loop 80s infinite linear 0.5s both;
  }
  .p-ecute2025-fv__loop-wrap img {
    width: 220vw;
    max-width: unset;
  }
  .p-ecute2025-fv__loop-wrap.--rev {
    display: none;
  }
  .p-ecute2025-sec {
    padding: 30px 0;
  }
  .p-ecute2025-sec__wrap {
    width: 90%;
  }
  .p-ecute2025-shop {
    background: #f0d5ca;
    overflow: hidden;
  }
  .p-ecute2025-shop__wrap {
    padding-top: 30px;
  }
  .p-ecute2025-shop__ttl {
    margin-left: -12%;
    align-items: flex-start;
    justify-content: center;
  }
  .p-ecute2025-shop__deco {
    max-width: 200px;
  }
  .p-ecute2025-shop__ttlimg {
    width: 220px;
    margin-left: -60px;
  }
  .p-ecute2025-shop__sidedeco {
    bottom: -80px;
    right: 5%;
    width: 150px;
  }
  .p-ecute2025-shop__main {
    margin-top: 15px;
  }
  .p-ecute2025-shop__main a {
    width: 49%;
    margin-bottom: 10px;
  }
  .p-ecute2025-shop__main a:nth-child(2) img {
    margin-top: -5px;
    margin-left: -5px;
  }
  .p-ecute2025-shop__main a:nth-child(3) img {
    margin-bottom: 0;
    margin-left: -10px;
  }
  .p-ecute2025-shop__main a:nth-child(4) img {
    margin-top: -5px;
    margin-left: -10px;
  }
  .p-ecute2025-shop__main a:nth-child(5) img {
    margin-top: -5px;
    margin-left: -5px;
  }
  .p-ecute2025-shop__main a:nth-child(6) img {
    margin-left: -5px;
  }
  .p-ecute2025-shop__main a:nth-child(7) img {
    margin-top: -10px;
    margin-left: -2px;
  }
  .p-ecute2025-shop__main a:nth-child(8) img {
    margin-top: 0;
    margin-left: -5px;
  }
  .p-ecute2025-shop__main a:nth-child(9) img {
    margin-top: -10px;
    margin-left: -10px;
  }
  .p-ecute2025-access {
    padding-bottom: 100px;
  }
  .p-ecute2025-access__ttl {
    width: 200px;
  }
  .p-ecute2025-access__deco {
    width: 280px;
    bottom: -50px;
    left: calc(50% - 140px);
  }
  .p-ecute2025-access__main {
    justify-content: space-between;
    margin-top: 15px;
  }
  .p-ecute2025-access__main a {
    width: 48%;
    margin-bottom: 10px;
  }
  .p-ecute2025-access__main a:nth-child(2) img {
    margin-top: -5px;
    margin-left: -5px;
  }
  .p-ecute2025-access__main a:nth-child(3) img {
    margin-bottom: 0;
    margin-left: -10px;
  }
  .p-ecute2025-access__main a:nth-child(4) img {
    margin-top: -5px;
    margin-left: -10px;
  }
  .p-ecute2025-access__main a:nth-child(5) img {
    margin-top: -5px;
    margin-left: -5px;
  }
  .p-ecute2025-access__main a:nth-child(6) img {
    margin-left: -5px;
  }
  .p-ecute2025-access__main a:nth-child(7) img {
    margin-top: -10px;
    margin-left: -2px;
  }
  .p-ecute2025-access__main a:nth-child(8) img {
    margin-top: 0;
    margin-left: -5px;
  }
}
.p-ecute2025-recom {
  background: #fee59e;
  padding: 68px 0;
  overflow-x: hidden;
}

.p-ecute2025-recom__ttl {
  width: 605px;
  margin: 0 auto;
  transform: translateX(-109px);
}

.p-ecute2025-recom__list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 880px;
  margin: 30px auto 0;
}

.p-ecute2025-recom__item {
  position: relative;
  z-index: 1;
}

.p-ecute2025-recom__item--num01 {
  top: -12px;
  left: -5px;
}

.p-ecute2025-recom__item--num02 {
  top: -22px;
  left: -15px;
}

.p-ecute2025-recom__item--num03 {
  top: -12px;
  left: -11px;
}

.p-ecute2025-recom__item--num04 {
  top: -38px;
  left: 10px;
}

.p-ecute2025-recom__item--num05 {
  top: -18px;
  left: 14px;
}

.p-ecute2025-recom__item--num06 {
  top: -28px;
  left: 3px;
}

.p-ecute2025-recom__figure {
  position: absolute;
}

.p-ecute2025-recom__figure--num01 {
  width: 245px;
  top: -160px;
  right: 6px;
  opacity: 0;
  transform: translateY(-40vw);
  transform-origin: center bottom;
}

.p-ecute2025-recom__figure--num02 {
  width: 229px;
  top: 121px;
  left: -156px;
  opacity: 0;
  transform: translate(20px, 0) rotate(70deg);
  transform-origin: center bottom;
}

.p-ecute2025-recom__figure--num03 {
  width: 269px;
  bottom: 46px;
  left: -158px;
  transform: translate(20px, 0) rotate(70deg);
  transform-origin: center bottom;
}

.p-ecute2025-recom__figure--num04 {
  width: 295px;
  bottom: 249px;
  right: -172px;
  transform: translate(-20px, 0) rotate(-70deg);
  transform-origin: center bottom;
}

.p-ecute2025-recom__more {
  display: block;
  width: 230px;
  margin: 45px auto 0;
}

.p-ecute2025-state {
  position: relative;
  background: #00ab97;
  padding: 90px 0 210px;
}

.p-ecute2025-state__ttl {
  width: 500px;
  margin: 0 auto;
  transform: translateX(-17px);
}

.p-ecute2025-state__txt--num01 {
  width: 726px;
  margin: 48px auto 0;
  transform: translate(14px, 0);
}

.p-ecute2025-state__txt--num02 {
  width: 673px;
  margin: 41px auto 0;
  transform: translate(66px, 0);
}

.p-ecute2025-state__txt--num03 {
  width: 566px;
  margin: 50px auto 0;
  transform: translate(-20px, 0);
}

.p-ecute2025-state__over {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.p-ecute2025-state__figure {
  position: absolute;
}

.p-ecute2025-state__figure--num01 {
  position: relative;
  width: 198px;
  margin: 3px auto 0;
}

.p-ecute2025-state__figure--num02 {
  width: 180px;
  top: 422px;
  right: calc(50% + 352px);
  animation: 1.4s animate-tektek ease infinite;
}

.p-ecute2025-state__figure--num03 {
  width: 180px;
  bottom: 79px;
  right: calc(50% + 276px);
  animation: 3s animate-fwafwa ease infinite;
}

.p-ecute2025-state__figure--num04 {
  width: 198px;
  bottom: -88px;
  left: calc(50% + 60px);
  z-index: 1;
  transform-origin: center;
  animation: 2s animate-norinori ease infinite;
}

.p-ecute2025-state__figure--num05 {
  width: 131px;
  top: 574px;
  left: calc(50% + 405px);
  animation: 4s animate-urouro ease infinite;
}

.p-ecute2025-chara {
  padding: 40px 0;
  background: #feded4;
  overflow: hidden;
}

.p-ecute2025-chara__ttl {
  width: 538px;
  margin: 0 auto;
  transform: translateX(-30px);
}

.p-ecute2025-chara__list {
  margin: 45px 0;
  overflow: visible;
}

.p-ecute2025-chara__list .swiper-wrapper {
  transition-timing-function: linear;
  overflow: visible;
}

.p-ecute2025-chara__slide {
  position: relative;
  width: 180px;
  height: 180px;
  overflow: visible;
  cursor: pointer;
}

.p-ecute2025-chara__slide--num01 {
  transform: translate(0, 5px);
}

.p-ecute2025-chara__slide--num02 {
  transform: translate(0, -5px);
}

.p-ecute2025-chara__slide--num03 {
  transform: translate(0, 5px);
}

.p-ecute2025-chara__slide--num04 {
  transform: translate(-2px, 2px);
}

.p-ecute2025-chara__slide--num05 {
  transform: translate(2px, 0);
}

.p-ecute2025-chara__slide--num06 {
  transform: translate(0, 5px);
}

.p-ecute2025-chara__slide--num07 {
  transform: translate(0, -5px);
}

.p-ecute2025-chara__txt {
  position: absolute;
  z-index: 1;
}

.p-ecute2025-chara__txt--num01 {
  width: 102px;
  bottom: -5px;
  right: calc(50% - 51px);
}

.p-ecute2025-chara__txt--num02 {
  width: 85px;
  top: -10px;
  right: 10px;
}

.p-ecute2025-chara__txt--num03 {
  width: 65px;
  bottom: 10px;
  right: 20px;
}

.p-ecute2025-chara__txt--num04 {
  width: 10px;
  bottom: -10px;
  left: 10px;
}

.p-ecute2025-chara__txt--num05 {
  width: 78px;
  top: -10px;
  left: -10px;
}

.p-ecute2025-chara__txt--num06 {
  width: 61px;
  bottom: -10px;
  right: -10px;
}

.p-ecute2025-chara__txt--num07 {
  width: 131px;
  top: 30px;
  right: calc(50% - 65px);
  z-index: 1;
}

.p-ecute2025-chara__comment {
  width: 233px;
  margin: 0 auto;
  transform: translate(310px, -25px);
}

.p-ecute2025-chara__modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1001;
}

.p-ecute2025-chara__window {
  position: relative;
  display: none;
  width: 700px;
  height: 450px;
}

.p-ecute2025-chara__close {
  position: absolute;
  top: 40px;
  right: 50px;
  width: 38px;
  cursor: pointer;
  pointer-events: visible;
}

.p-ecute2025-chara__screen {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 142, 93, 0.95);
  z-index: 1000;
}

@media screen and (max-width: 959px) {
  .p-ecute2025-recom {
    padding: 35px 0;
  }
  .p-ecute2025-recom__ttl {
    width: 90%;
    margin: 0 auto;
    transform: translateX(0);
  }
  .p-ecute2025-recom__list {
    width: 90%;
    margin: 100px auto 150px;
  }
  .p-ecute2025-recom__item {
    position: relative;
    z-index: 1;
  }
  .p-ecute2025-recom__item--num01 {
    top: 0;
    left: 0;
  }
  .p-ecute2025-recom__item--num02 {
    top: 25px;
    left: 0;
  }
  .p-ecute2025-recom__item--num03 {
    top: 80px;
    left: -7px;
  }
  .p-ecute2025-recom__item--num04 {
    top: 25px;
    left: 0;
  }
  .p-ecute2025-recom__item--num05 {
    top: 80px;
    left: 10px;
  }
  .p-ecute2025-recom__item--num06 {
    top: 25px;
    left: 10px;
  }
  .p-ecute2025-recom__figure {
    position: absolute;
  }
  .p-ecute2025-recom__figure--num01 {
    opacity: 0;
    width: 184px;
    top: -139px;
    left: -14px;
    right: auto;
  }
  .p-ecute2025-recom__figure--num02 {
    opacity: 0;
    width: 170px;
    top: -101px;
    right: -3px;
    left: auto;
  }
  .p-ecute2025-recom__figure--num03 {
    opacity: 0;
    width: 204px;
    bottom: 49%;
    left: -21px;
    transform: translate(-100%, 0) rotate(23deg);
    transform-origin: center;
  }
  .p-ecute2025-recom__figure--num04 {
    opacity: 0;
    width: 220px;
    bottom: -137px;
    right: -25px;
    transform: translate(0, -100%) rotate(180deg);
    transform-origin: center;
  }
  .p-ecute2025-recom__more {
    display: block;
    width: 190px;
    margin: 0 auto 0;
  }
  .p-ecute2025-state {
    padding: 40px 0 96px;
  }
  .p-ecute2025-state__ttl {
    width: 88%;
    margin: 0 auto;
    transform: translateX(0);
  }
  .p-ecute2025-state__txt--num01 {
    width: 76%;
    margin: 10px 5% 0 auto;
    transform: translate(0);
  }
  .p-ecute2025-state__txt--num02 {
    width: 71.8%;
    margin: 36px auto 0 10.5%;
    transform: translate(0);
  }
  .p-ecute2025-state__txt--num03 {
    width: 58.9%;
    margin: 29px 10% 0 auto;
    transform: translate(0);
  }
  .p-ecute2025-state__figure--num01 {
    width: 150px;
  }
  .p-ecute2025-state__figure--num02 {
    width: 114px;
    top: 352px;
    right: auto;
    left: -30px;
    transform: rotate(17deg);
  }
  .p-ecute2025-state__figure--num03 {
    width: 131px;
    bottom: 0;
    right: auto;
    left: 17px;
  }
  .p-ecute2025-state__figure--num04 {
    width: 121px;
    bottom: -62px;
    right: 18px;
    left: auto;
  }
  .p-ecute2025-state__figure--num05 {
    width: 94px;
    top: 484px;
    right: -26px;
    left: auto;
    transform: rotate(-20deg);
  }
  .p-ecute2025-chara {
    padding: 40px 0;
  }
  .p-ecute2025-chara__ttl {
    width: 88%;
    margin: 0 auto;
    transform: translateX(0);
  }
  .p-ecute2025-chara__list {
    margin: 25px 0;
  }
  .p-ecute2025-chara__slide {
    width: 135px;
    height: 135px;
  }
  .p-ecute2025-chara__comment {
    width: 170px;
    margin: 0 15% 0 auto;
    transform: translate(0);
  }
  .p-ecute2025-chara__window {
    width: 100%;
  }
  .p-ecute2025-chara__close {
    top: 10px;
    right: 10px;
    width: 24px;
  }
}
.l-list-ecute2025 {
  background: #fee59e;
}

.l-list-ecute2025 h1 {
  text-align: center;
  margin-bottom: -50px;
}

.l-list-ecute2025 .l-list-search__blk {
  background: none;
}

.l-list-ecute2025 .l-list-blk {
  width: 31.5%;
  margin-top: 40px;
  margin-right: 0;
}

@media screen and (min-width: 960px) {
  .l-list-ecute2025 .l-list-blk:not(:nth-of-type(3n)) {
    margin-right: 2.75%;
  }
}
.l-list-ecute2025 .l-list-blk__img--badge {
  width: 51px;
  height: 51px;
  transform: translate(35%, -35%);
  background-image: url(/cp/christmas/assets/img/ecute/2024/badge_bg.svg);
}

.l-list-ecute2025 .l-list-blk__a {
  padding: 30px;
  background: #fff;
}

.l-list-ecute2025 .l-list-blk__a:hover {
  opacity: 1;
  transform: translate(0, -5px);
}

.l-list-ecute2025 .l-list-blk__btn {
  font-size: 1.6rem;
  font-weight: bold;
  background: #fee59e;
  border-radius: 0;
}

@media screen and (max-width: 959px) {
  .l-list-ecute2025 h1 {
    width: 90%;
    text-align: center;
    margin: 0 auto -25vw;
  }
  .l-list-ecute2025 .l-list-blk {
    width: 48%;
    margin-top: 15px;
  }
  .l-list-ecute2025 .l-list-blk:not(:nth-of-type(2n)) {
    margin-right: 4%;
  }
  .l-list-ecute2025 .l-list-blk__img--badge {
    width: 33px;
    height: 33px;
  }
  .l-list-ecute2025 .l-list-blk__a {
    padding: 15px;
  }
  .l-list-ecute2025 .l-list-blk__btn {
    font-size: 1.4rem;
  }
}
/*----------------------------------------
MAIN
-----------------------------------------*/
@media print, screen and (min-width: 960px) {
  .p-gransta .l-list-blk__img--badge {
    background-image: url(../img/gransta/icon_badge.svg);
  }
  .p-gransta .l-list-search__ttl {
    background-image: url(../img/gransta/tab_seach_pc.svg);
    background-size: cover;
  }
  .p-gransta-bg {
    background: url(../img/gransta/bg_snow_pc.png) repeat-y center 0/100% auto, #000;
  }
  .p-gransta .l-main-line {
    background: url(../img/gransta/line_txt.svg) repeat-x center/auto 16px, #bf9d5a;
  }
  .p-gransta .l-main-recommend__cnt--list--inr {
    border-color: #fff;
    border-radius: 0;
  }
  .p-gransta .l-main-recommend__cnt--list--link--btn a {
    border-radius: 0;
  }
  .p-gransta .l-main-shop__cnt,
  .p-gransta .l-main-access__cnt {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}
@media screen and (max-width: 959px) {
  .p-gransta .l-list-blk__img--badge {
    background-image: url(../img/gransta/icon_badge.svg);
  }
  .p-gransta .l-list-search__ttl {
    background-image: url(../img/gransta/tab_seach_sp.svg);
  }
  .p-gransta-bg {
    background: url(../img/gransta/bg_snow_sp.png) repeat-y center 0/100vw auto, #ffdcdc;
  }
  .p-gransta .l-main-line {
    animation-duration: 12s;
    background: url(../img/gransta/line_txt.svg) repeat-x left/90.6666666667vw auto, #bf9d5a;
  }
  .p-gransta .l-main-recommend__cnt--list--inr {
    border-color: #fff;
    border-radius: 0;
  }
  .p-gransta .l-main-recommend__cnt--list--link--btn a {
    border-radius: 0;
  }
  .p-gransta .l-main-shop__cnt--list--link,
  .p-gransta .l-main-access__cnt--list--link {
    width: 62.6666666667vw;
    height: 10vw;
    margin-left: auto;
    margin-right: auto;
  }
  .p-gransta .l-main-shop__cnt--list--link:nth-of-type(n+2),
  .p-gransta .l-main-access__cnt--list--link:nth-of-type(n+2) {
    margin-top: 5.3333333333vw;
  }
  .p-gransta .l-main-shop__cnt--list--link a,
  .p-gransta .l-main-access__cnt--list--link a {
    padding: 0;
  }
}
/*----------------------------------------
MAIN
-----------------------------------------*/
/*----------------------------------------
MAIN
-----------------------------------------*/
@media print, screen and (min-width: 960px) {
  .p-delivery .l-list-blk__img--badge {
    background-image: url(../img/delivery/icon_badge.svg);
  }
  .p-delivery-bg {
    background: #f2f2e8;
  }
  .p-delivery .l-main-line {
    background: url(../img/delivery/line_txt.svg) repeat-x center/auto 16px, #dd6b66;
  }
  .p-delivery .l-main-recommend {
    margin-top: 100px;
  }
  .p-delivery .l-main-recommend__cnt--list--inr {
    border-color: #fff;
  }
  .p-delivery-links .l-main-line {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  .p-delivery .l-list-blk__img--badge {
    background-image: url(../img/delivery/icon_badge.svg);
  }
  .p-delivery > * {
    position: relative;
  }
  .p-delivery-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f2f2e8;
  }
  .p-delivery .l-main-line {
    background: url(../img/delivery/line_txt.svg) repeat-x left/90.6666666667vw auto, #dd6b66;
  }
  .p-delivery .l-main-recommend {
    margin-top: 13.3333333333vw;
  }
  .p-delivery .l-main-recommend__cnt--list--inr {
    border-color: #fff;
  }
}
/*----------------------------------------
MAIN
-----------------------------------------*/
@media print, screen and (min-width: 960px) {
  .p-lierre .l-list-blk__img--badge {
    background-image: url(../img/lierre/icon_badge.svg);
  }
  .p-lierre-bg {
    background: #f9f0d2;
  }
  .p-lierre .l-main-line {
    background: url(../img/lierre/line_txt.svg) repeat-x center/auto 16px, #298046;
  }
  .p-lierre .l-main-recommend {
    margin-top: 100px;
  }
  .p-lierre .l-main-recommend__cnt--list--inr {
    border: none;
  }
  .p-lierre .l-main-access__wrap {
    display: block;
  }
  .p-lierre .l-main-access__ttl {
    width: 175px;
    margin: 0 auto;
  }
  .p-lierre .l-main-access__cnt {
    position: relative;
    margin: 25px auto 0;
  }
  .p-lierre .l-main-access__cnt--list {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
@media screen and (max-width: 959px) {
  .p-lierre .l-list-blk__img--badge {
    background-image: url(../img/lierre/icon_badge.svg);
  }
  .p-lierre .l-main-line {
    background: url(../img/lierre/line_txt.svg) repeat-x left/90.6666666667vw auto, #298046;
  }
  .p-lierre-bg {
    background: #f9f0d2;
  }
  .p-lierre .l-main-recommend__cnt--list--inr {
    border: none;
  }
  .p-lierre .l-main-access {
    margin-top: 13.3333333333vw;
  }
  .p-lierre .l-main-access__wrap {
    flex-direction: row-reverse;
  }
  .p-lierre .l-main-access__ttl {
    text-align: center;
    margin-bottom: 6.6666666667vw;
  }
  .p-lierre .l-main-access__ttl img {
    width: auto;
    height: 15.3333333333vw;
  }
  .p-lierre .l-main-access__cnt {
    position: relative;
  }
  .p-lierre .l-main-access__cnt--list {
    display: block;
    flex-wrap: wrap;
  }
  .p-lierre .l-main-access__cnt--list--link {
    width: 62.6666666667vw;
    height: 10vw;
    margin-left: auto;
    margin-right: auto;
  }
}
#header {
  padding-bottom: 0;
}

/*----------------------------------------
MAIN
-----------------------------------------*/
.p-gransta2025 {
  max-width: 1400px;
  margin: 0 auto;
}

@media print, screen and (min-width: 960px) {
  .p-gransta2025 .l-main-line {
    background: url(../img/gransta/2024/line_txt.svg) repeat-x center/auto 40px, #a89a3e;
  }
  .p-gransta2025-recommend {
    margin: 95px auto 0;
  }
  .p-gransta2025-recommend__title {
    width: 100%;
  }
  .p-gransta2025-recommend__more {
    width: 240px;
    margin: 0 auto;
  }
  .p-gransta2025-recommend__more img {
    width: 100%;
  }
  .p-gransta2025-access {
    margin-top: 120px;
  }
  .p-gransta2025-access__title {
    margin: 0 auto;
  }
  .p-gransta2025-access__btn {
    display: block;
    width: 260px;
    height: 40px;
    margin: 60px auto 100px;
  }
  .p-gransta2025-access__btn img {
    width: 100%;
  }
  .p-gransta2025 .l-main-recommend__cnt--list--inr {
    background: none !important;
    padding: 0;
  }
  .p-gransta2025 .l-list-search__blk {
    background: none;
  }
  .p-gransta2025 .l-list-blk {
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 960px) {
  .p-gransta2025 .l-list-blk__store {
    display: none !important;
  }
  .p-gransta2025 .l-list-blk__img--badge {
    width: 50px;
    height: 58px;
    transform: translate(35%, -35%);
    background-image: url(/cp/christmas/assets/img/gransta/2024/badge_bg.svg);
  }
  .p-gransta2025 .l-list-blk__a {
    padding: 30px;
  }
  .p-gransta2025 .l-list-blk__a:hover {
    opacity: 1;
  }
  .p-gransta2025 .l-list-blk__btn {
    font-size: 1.6rem;
    font-weight: bold;
    background: #a89a3e;
    border-radius: 0;
  }
  .p-gransta2025.l-list-search h1 {
    width: 900px;
    margin: 0 auto;
    padding-top: 35px;
  }
}
main#faq > .body .container dl {
  background: #fff;
}

@media screen and (max-width: 959px) {
  .p-gransta2025 .l-main-line {
    background: url(../img/gransta/2024/line_txt.svg) repeat-x center/auto 33px, #a89a3e;
  }
  .p-gransta2025-recommend {
    width: 94%;
    margin: 45px auto 0;
  }
  .p-gransta2025-recommend__title {
    width: 100%;
  }
  .p-gransta2025-recommend__more {
    margin: 40px auto 0;
  }
  .p-gransta2025-recommend__more img {
    width: 100%;
  }
  .p-gransta2025-access {
    margin-top: 85px;
  }
  .p-gransta2025-access__title {
    width: 94%;
    margin: 0 auto;
  }
  .p-gransta2025-access__btn {
    display: block;
    width: 260px;
    height: 40px;
    margin: 30px auto 60px;
  }
  .p-gransta2025-access__btn img {
    width: 100%;
  }
  .p-gransta2025 .l-main-recommend__cnt--list--inr {
    background: none !important;
    padding: 0;
  }
  .p-gransta2025 .l-list-search__blk {
    background: none;
  }
  .p-gransta2025 .l-list-blk {
    width: 48%;
    margin-top: 15px;
    margin-right: 0;
  }
  .p-gransta2025 .l-list-blk:not(:nth-of-type(2n)) {
    margin-right: 4%;
  }
  .p-gransta2025 .l-list-blk__store {
    display: none !important;
  }
  .p-gransta2025 .l-list-blk__img--badge {
    width: 33px;
    height: 44px;
    transform: translate(35%, -35%);
    background-image: url(/cp/christmas/assets/img/gransta/2024/badge_bg.svg);
  }
  .p-gransta2025 .l-list-blk__a {
    padding: 15px;
    background: #fff;
  }
  .p-gransta2025 .l-list-blk__btn {
    font-size: 1.4rem;
    font-weight: bold;
    background: #a89a3e;
    border-radius: 0;
  }
  .p-gransta2025.l-list-search h1 {
    width: 94%;
    margin: 0 auto;
    padding-top: 35px;
  }
  .p-gransta2025 .l-list-search__blk {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
#header .announcement {
  position: relative;
  z-index: 100;
  background-color: #fff;
  text-align: center;
  font-size: 13px;
  color: #fff;
}
#header .l-hd__announcement a {
  max-width: 1400px;
  margin: 0 auto;
  background-color: #063809;
  padding: 13px 0 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 19px;
}
@media screen and (max-width: 959px) {
  #header .l-hd__announcement a {
    gap: 1.6vw;
    padding: 2.533vw 0;
    width: 100%;
  }
}
#header .l-hd__announcement a img {
  width: 105px;
}
@media screen and (max-width: 959px) {
  #header .l-hd__announcement a img {
    width: 24.533vw;
    width: 12vw;
  }
}
#header .l-hd__announcement a p {
  font-size: 18px;
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  #header .l-hd__announcement a p {
    line-height: 1.4em;
    text-align: left;
    font-size: 3.2vw;
  }
}
#header .l-hd .l-hd__announcement {
  background: #FFFFFF;
}
@media screen and (max-width: 959px) {
  #header .l-hd .l-hd__announcement img {
    width: 100%;
    padding: 5px;
  }
}

#header #menu {
  position: fixed;
  left: -578px;
  top: 0;
  bottom: 0;
  width: 578px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all ease 0.3s;
  z-index: 301;
}
@media only screen and (max-width: 959px) {
  #header #menu {
    left: -72vw;
    width: 72vw;
  }
}
#header #menu .close {
  position: absolute;
  top: 0;
  right: 0;
}
#header #menu .close button {
  display: block;
  width: 70px;
  height: 70px;
}
@media screen and (max-width: 959px) {
  #header #menu .close button {
    width: 50px;
    height: 50px;
  }
}
#header #menu .close button:before,
#header #menu .close button:after,
#header #menu .close button span:nth-child(1) {
  content: "";
  display: block;
  position: absolute;
  top: 34px;
  left: calc(50% - 16px);
  width: 32px;
  height: 2px;
  background-color: #fff;
}
@media screen and (max-width: 959px) {
  #header #menu .close button:before,
  #header #menu .close button:after,
  #header #menu .close button span:nth-child(1) {
    top: 24px;
    width: 24px;
    left: calc(50% - 12px);
  }
}
#header #menu .close button span:nth-child(1) {
  display: none;
}
#header #menu .close button:before {
  transform: rotate(45deg);
}
#header #menu .close button:after {
  transform: rotate(-45deg);
}
#header #menu .close button span:nth-child(2) {
  display: none;
}
#header #menu .content {
  text-align: center;
  color: #fff;
}
#header #menu .content .logo {
  width: 240px;
  margin: 0 auto;
  margin-bottom: 40px;
}
@media screen and (max-width: 959px) {
  #header #menu .content .logo {
    width: 200px;
    margin-bottom: 20px;
  }
}
#header .menu-active #menu {
  left: 0;
}

#header.l-hd #menu.l-hd__nav {
  left: auto;
  right: -578px;
  overflow-y: scroll;
  background-color: #9C1C1C;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 959px) {
  #header.l-hd #menu.l-hd__nav {
    right: -72vw;
  }
}
#header.l-hd #menu.l-hd__nav.open {
  right: 0;
}
#header.l-hd #menu.l-hd__nav .l-hd2025__btn {
  position: fixed;
  max-width: 1400px;
  width: 100%;
  top: 80px;
  left: 49.5%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 10px;
  transform: translate(-50%, 0);
  pointer-events: none;
}
@media only screen and (max-width: 959px) {
  #header.l-hd #menu.l-hd__nav .l-hd2025__btn {
    top: 17.067vw;
  }
}
#header.l-hd #menu.l-hd__nav .l-hd2025__btn button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 53px;
  background: url("/cp/christmas/assets/img/common/hd_menu_open.png") no-repeat left top;
  background-size: contain;
  pointer-events: visible;
  z-index: 300;
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.7));
}
@media only screen and (max-width: 959px) {
  #header.l-hd #menu.l-hd__nav .l-hd2025__btn button {
    width: 8.533vw;
    height: 10.4vw;
    filter: drop-shadow(0 0 0.533vw rgba(0, 0, 0, 0.7));
  }
}
#header.l-hd #menu.l-hd__nav .l-hd2025__close {
  position: absolute;
  top: 80px;
  right: 20px;
}
@media only screen and (max-width: 959px) {
  #header.l-hd #menu.l-hd__nav .l-hd2025__close {
    top: 17.067vw;
    right: 2.667vw;
  }
}
#header.l-hd #menu.l-hd__nav .l-hd2025__close button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 53px;
  background: url("/cp/christmas/assets/img/common/hd_menu_close.png") no-repeat left top;
  background-size: contain;
  pointer-events: visible;
  filter: drop-shadow(0 0 2px rgb(0, 0, 0));
}
@media only screen and (max-width: 959px) {
  #header.l-hd #menu.l-hd__nav .l-hd2025__close button {
    filter: drop-shadow(0 0 0.533vw rgb(0, 0, 0));
    width: 9.333vw;
    height: 10.933vw;
  }
}
#header.l-hd #menu.l-hd__nav .content ul li {
  font-size: 24px;
  margin-bottom: 48px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-family: "Shippori Mincho", serif;
}
@media only screen and (max-width: 959px) {
  #header.l-hd #menu.l-hd__nav .content ul li {
    font-size: 5.333vw;
    line-height: 50px;
    margin-bottom: 12.8vw;
  }
}
#header.l-hd #menu.l-hd__nav .l-hd__nav__inr__btn__a {
  display: block;
  background: url(../img/common/hd_menu_btn.png) no-repeat;
  background-size: contain;
  width: 180px;
  height: 40px;
  padding-right: 30px;
  overflow: hidden;
}
#header.l-hd #menu.l-hd__nav .l-hd__nav__inr__btn__a__div {
  width: 140px;
  height: 100%;
  overflow: hidden;
  margin-left: 10px;
}
#header.l-hd #menu.l-hd__nav .l-hd__nav__inr__btn__a__div div {
  display: flex;
  align-items: center;
  height: 100%;
  animation: loopAnime 5s linear 0s infinite;
  --var: -166px;
  width: 100%;
  white-space: nowrap;
}
#header.l-hd #menu.l-hd__nav .l-hd__nav__inr__btn__a__div p {
  color: #307257;
  font-size: 1.2rem;
  font-weight: bold;
  margin-right: 20px;
}
#header.l-hd #menu.l-hd__nav .l-hd__nav__inr__sns {
  margin-top: 120px;
}
@media only screen and (max-width: 959px) {
  #header.l-hd #menu.l-hd__nav .l-hd__nav__inr__sns {
    margin-top: 34.667vw;
  }
}
#header.l-hd #menu.l-hd__nav .l-hd__nav__inr__sns__ttl {
  width: 170px;
  margin: 0 auto;
}
@media only screen and (max-width: 959px) {
  #header.l-hd #menu.l-hd__nav .l-hd__nav__inr__sns__ttl {
    width: 45.333vw;
  }
  #header.l-hd #menu.l-hd__nav .l-hd__nav__inr__sns__ttl img {
    width: 100%;
  }
}
#header.l-hd #menu.l-hd__nav .l-hd__nav__inr__sns__df {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 959px) {
  #header.l-hd #menu.l-hd__nav .l-hd__nav__inr__sns__df {
    margin-top: 8vw;
  }
}
#header.l-hd #menu.l-hd__nav .l-hd__nav__inr__sns__df a {
  display: block;
  width: 60px;
  margin: 0 10px;
}
@media only screen and (max-width: 959px) {
  #header.l-hd #menu.l-hd__nav .l-hd__nav__inr__sns__df a {
    width: 16vw;
  }
}

#header.l-hd .l-hd__sidebtn {
  position: fixed;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  left: auto;
  right: 0;
  bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 20px;
  transition: 0.4s;
}
#header.l-hd .l-hd__sidebtn img {
  width: 100%;
}
@media only screen and (max-width: 959px) {
  #header.l-hd .l-hd__sidebtn {
    right: 0;
    left: auto;
    bottom: 20px;
  }
}

#header.l-hd .l-hd__sidebtn button {
  background: none;
  background-image: none;
  width: 130px;
  height: 150px;
  border-radius: 0;
  box-shadow: none;
  padding-top: 0 !important;
  filter: drop-shadow(0 0 16px rgba(0, 0, 0, 0.4));
}
@media only screen and (max-width: 959px) {
  #header.l-hd .l-hd__sidebtn button {
    filter: drop-shadow(0 0 4.267vw rgba(0, 0, 0, 0.4));
    background: none;
    background-image: none;
    width: 25.6vw;
    height: 30.133vw;
  }
}

#header.l-hd .l-hd__sidebtn button::after {
  content: none;
}

#header.l-hd .l-hd__sidebtn button:hover {
  opacity: 0.7;
  filter: drop-shadow(0 0 16px rgba(0, 0, 0, 0.7));
  transition: 0.4s;
}
@media only screen and (max-width: 959px) {
  #header.l-hd .l-hd__sidebtn button:hover {
    filter: drop-shadow(0 0 4.267vw rgba(0, 0, 0, 0.7));
  }
}

#header p.search button:after {
  display: block;
  content: "SEARCH";
  font-family: "Cantarell", sans-serif;
  margin-top: 5px;
  font-size: 10px;
}

@media screen and (max-width: 959px) {
  #header p.search button:after {
    transform: scale(0.6);
    margin-top: 2px;
  }
}
@media screen and (max-width: 959px) {
  #header p.search button {
    width: 80px;
    height: 80px;
  }
}
#header.l-hd .l-hd__search {
  background: #063809;
  color: #fff;
  font-family: "Shippori Mincho", serif;
}

#header nav.search .container .cols {
  display: flex;
  justify-content: space-between;
  margin-bottom: 109px;
}
@media only screen and (max-width: 959px) {
  #header nav.search .container .cols {
    display: block;
  }
}

#header.l-hd .l-hd__search__inr__ttl {
  text-align: center;
  font-weight: bold;
  font-size: 32px;
  margin-bottom: 109px;
}

@media screen and (max-width: 959px) {
  #header nav.search .container .title {
    line-height: 50px;
    padding: 9.067vw 15px 6.4vw;
    margin-bottom: 0;
    font-size: 6.4vw;
    text-align: center;
  }
}
@media screen and (max-width: 959px) {
  #header nav.search .container .cols .col .condition > p {
    padding-left: 15px;
    font-size: 5.333vw;
    line-height: 42px;
    margin-bottom: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    cursor: pointer;
    padding: 6.4vw 4.267vw;
  }
}
@media only screen and (max-width: 959px) {
  #header.l-hd .l-hd__search__inr__cols__col__ttl {
    font-weight: bold;
    border-top: 1px solid #fff !important;
    color: #ffffff;
  }
  #header.l-hd .l-hd__search__inr__cols__col__ttl::before,
  #header.l-hd .l-hd__search__inr__cols__col__ttl::after {
    background-color: #ffffff !important;
  }
}
@media screen and (max-width: 959px) {
  #header nav.search .container .cols .col .condition ul li label {
    font-size: 3.733vw;
    padding: 1.333vw 0 2.133vw 6.933vw;
    line-height: 1;
  }
}
#header.l-hd .l-hd__search__inr__ttl img {
  width: 22px;
  margin-right: 15px;
  margin-top: 2px;
}

#header.l-hd .l-hd__search__inr__close button::before,
#header.l-hd .l-hd__search__inr__close button::after {
  background-color: #fff !important;
}

#header.l-hd .l-hd__search__inr__cols__col__ttl {
  font-size: 16px;
  font-weight: bold;
  color: #fff;
}

#header.l-hd .l-hd__search__inr__cols__col__ttl img {
  width: 16px;
  margin-right: 5px;
  margin-top: 2px;
}

#header.l-hd .l-hd__search__inr__action {
  display: flex;
  text-align: center;
  gap: 43px;
}
@media only screen and (max-width: 959px) {
  #header.l-hd .l-hd__search__inr__action {
    gap: 11.467vw;
  }
}

#header.l-hd .l-hd__search__inr__action__submit {
  background: #9C1C1C;
  color: #fff !important;
}

#header.l-hd .l-hd__search__inr__action__clear {
  background: #fff !important;
  color: #9C1C1C;
}

#header nav.search .container .action {
  display: flex;
  justify-content: center;
  background-color: #063809;
}
@media only screen and (max-width: 959px) {
  #header nav.search .container .action {
    padding-bottom: 13.867vw;
    height: 26.667vw;
  }
}
#header nav.search .container .action button {
  font-size: 14px;
  margin: 0 5px;
  width: 150px;
  font-weight: bold;
  height: 38px;
  text-align: center;
}
@media only screen and (max-width: 959px) {
  #header nav.search .container .action button {
    width: 40vw;
    height: 10.133vw;
    font-size: 3.733vw;
  }
}

#header nav.search .container .cols .col .condition ul li label input[type=checkbox] + span:before {
  position: absolute;
  top: 50%;
  margin-top: -8px;
  left: 0;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-color: #fff;
}
@media only screen and (max-width: 959px) {
  #header nav.search .container .cols .col .condition ul li label input[type=checkbox] + span:before {
    width: 4.267vw;
    height: 4.267vw;
    top: 1.333vw;
    margin-top: 0;
  }
}

#footer {
  background-color: #063809;
  padding: 182px 0 60px;
  text-align: center;
}
#footer img {
  width: 100%;
}
@media only screen and (max-width: 959px) {
  #footer {
    padding: 14.933vw 0 5.333vw;
  }
}

#footer .container nav.sns p {
  font-size: 16px;
  text-align: center;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 15px;
  letter-spacing: 0.2em;
  font-family: "Cantarell", sans-serif;
  font-weight: 500;
}

#footer.l-ft {
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
  background: #063809;
}

.l-main-links__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 880px;
  margin: 0 auto 56px;
}
@media only screen and (max-width: 959px) {
  .l-main-links__wrap {
    display: block;
    margin-bottom: 10.667vw;
  }
}

.l-main-links__btn {
  width: 400px;
  height: 64px;
}
@media only screen and (max-width: 959px) {
  .l-main-links__btn {
    width: 91.467vw;
    height: 17.067vw;
    margin: 0 auto 10.667vw;
  }
}

.c-btn-arw {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 20px;
  letter-spacing: 0.1em;
  gap: 74px;
  line-height: 1;
  padding-left: 134px;
  font-weight: bold;
  position: relative;
  background: #fff;
  color: #063809;
  transition: 0.4s;
}
@media only screen and (max-width: 959px) {
  .c-btn-arw {
    font-size: 5.333vw;
    gap: 12.8vw;
    font-size: 5.333vw;
    padding-left: 27.467vw;
    letter-spacing: -0.01em;
  }
}
.c-btn-arw::after {
  content: "";
  display: block;
  width: 41.5px;
  height: 7.5px;
  background: url("/cp/christmas/assets/img/common/ft_arw.svg") no-repeat left top;
  background-size: contain;
  transition: 0.4s;
}
@media only screen and (max-width: 959px) {
  .c-btn-arw::after {
    width: 11.067vw;
    height: 2vw;
  }
}
.c-btn-arw:hover {
  opacity: 0.7;
  transition: 0.4s;
}

.l-main-links__btn:last-of-type {
  margin-bottom: 0;
}
.l-main-links__btn:last-of-type .c-btn-arw {
  gap: 64px;
  padding-left: 124px;
}
@media only screen and (max-width: 959px) {
  .l-main-links__btn:last-of-type .c-btn-arw {
    gap: 9.867vw;
    padding-left: 25.067vw;
  }
}

#footer.l-ft .l-ft__inr {
  width: -moz-fit-content;
  width: 880px;
  margin: 0 auto;
  text-align: left;
}
@media only screen and (max-width: 959px) {
  #footer.l-ft .l-ft__inr {
    width: 91.467vw;
    margin-bottom: 0;
    text-align: justify;
  }
}
#footer.l-ft .l-ft__inr .l-ft__inr__note {
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  display: block;
  text-align: left;
  font-size: 14px;
}
@media only screen and (max-width: 959px) {
  #footer.l-ft .l-ft__inr .l-ft__inr__note {
    font-size: 3.467vw;
    line-height: 1.6;
    text-indent: 0;
    padding-left: 0;
  }
}

#footer .container nav.sns {
  padding-top: 56px;
}
@media only screen and (max-width: 959px) {
  #footer .container nav.sns {
    padding-top: 13.333vw;
  }
}

.l-ft__inr__sns__ttl {
  width: 170px;
  margin: 0 auto 24px;
}
@media only screen and (max-width: 959px) {
  .l-ft__inr__sns__ttl {
    width: 45.333vw;
    margin-bottom: 9.6vw;
  }
}

.l-ft__inr nav.l-ft__inr__sns ul li {
  width: 60px;
  margin: 0 auto 56px;
}
@media only screen and (max-width: 959px) {
  .l-ft__inr nav.l-ft__inr__sns ul li {
    width: 16vw;
    margin-bottom: 10.667vw;
  }
}

.l-ft__inr__cp {
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  margin-top: 35px;
  text-align: center;
  line-height: 1.5;
}
@media only screen and (max-width: 959px) {
  .l-ft__inr__cp {
    margin-top: 10.667vw;
    font-size: 2.933vw;
  }
}

@media only screen and (max-width: 959px) {
  .br-pc {
    display: none;
  }
}

.br-sp {
  display: none;
}
@media only screen and (max-width: 959px) {
  .br-sp {
    display: inline;
  }
}

footer::before {
  position: absolute;
  top: -48px;
  right: 0;
  left: 0;
  content: "";
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 96px;
  background-position: center center;
  background-size: auto 96px;
  background-repeat: repeat-x;
  background-image: url("/cp/christmas/assets/img/top/2025/animation_logo.svg");
  animation: animate-logo-2025 30s linear infinite;
}
@media only screen and (max-width: 959px) {
  footer::before {
    top: -6.4vw;
    height: 12.8vw;
    background-size: auto 12.8vw;
    animation: animate-logo-2025-sp 30s linear infinite;
  }
}

#gransta {
  padding-bottom: 190px;
  background: var(--8-f-0000, #9C1C1C);
}
@media only screen and (max-width: 959px) {
  #gransta {
    padding-bottom: 30.4vw;
  }
}
#gransta .btn-01, #gransta .btn-02, #gransta .btn-03 {
  display: flex;
  justify-content: center;
  align-items: center;
}
#gransta .btn-01 {
  background: var(--063-d-0-a, #063809);
}
@media print, screen and (min-width: 960px) {
  #gransta .btn-01:hover {
    background: var(--a-6852-c, #A6852C);
  }
}
#gransta .btn-02 {
  background: var(--063-d-0-a, #A6852C);
}
@media print, screen and (min-width: 960px) {
  #gransta .btn-02:hover {
    opacity: 0.7;
  }
}
#gransta .btn-03 {
  background: var(--8-f-0000, #9C1C1C);
}
@media print, screen and (min-width: 960px) {
  #gransta .btn-03:hover {
    opacity: 0.7;
  }
}
#gransta .fv {
  padding: min(6.786vw, 95px) min(5.714vw, 80px) 0 0;
  height: min(72.714vw, 1018px);
  background: center bottom/cover no-repeat url("/cp/christmas/assets/img/top/2025/keyvisual.jpg");
}
@media only screen and (max-width: 959px) {
  #gransta .fv {
    padding: 53.333vw 0 0 4.267vw;
    height: 153.867vw;
    background: center/cover no-repeat url("/cp/christmas/assets/img/top/2025/keyvisual-sp.jpg");
  }
}
#gransta .fv .l-main-fv__mv {
  display: none;
  text-align: right;
}
@media only screen and (max-width: 959px) {
  #gransta .fv .l-main-fv__mv {
    text-align: left;
  }
}
#gransta .fv .site_title {
  width: min(41.571vw, 582px);
  opacity: 0;
}
@media only screen and (max-width: 959px) {
  #gransta .fv .site_title {
    width: 76.533vw;
  }
}
#gransta .fv .l-main-line {
  position: absolute;
  bottom: 0;
}
#gransta .secret_merry_cake {
  position: relative;
  padding: 125px 0 0;
  height: 786px;
  text-align: center;
  background: left top/100% auto no-repeat url("/cp/christmas/assets/img/top/2025/bg-secret_merry_cake.png");
  background-color: var(--063-d-0-a, #063809);
}
@media only screen and (max-width: 959px) {
  #gransta .secret_merry_cake {
    padding: 12.8vw 0 20.267vw;
    height: 197.867vw;
    background-image: url("/cp/christmas/assets/img/top/2025/bg-secret_merry_cake-sp.png");
  }
}
#gransta .secret_merry_cake .image01 {
  margin-bottom: 120px;
}
@media only screen and (max-width: 959px) {
  #gransta .secret_merry_cake .image01 {
    margin-bottom: 18.667vw;
  }
}
#gransta .secret_merry_cake .image01 img {
  width: 880px;
}
@media only screen and (max-width: 959px) {
  #gransta .secret_merry_cake .image01 img {
    width: 91.467vw;
  }
}
@media only screen and (max-width: 959px) {
  #gransta .secret_merry_cake .image02 img {
    width: 91.467vw;
  }
}
#gransta .secret_merry_cake .btn_more {
  position: absolute;
  margin: 0 auto;
  width: 240px;
  height: 64px;
}
@media only screen and (max-width: 959px) {
  #gransta .secret_merry_cake .btn_more {
    left: 0;
    right: 0;
    width: 64vw;
    height: 14.933vw;
  }
}
#gransta .secret_merry_cake .btn_more.more01 {
  top: 350px;
  left: calc(50% - 290px);
}
@media only screen and (max-width: 959px) {
  #gransta .secret_merry_cake .btn_more.more01 {
    top: 132.533vw;
    right: 0;
    left: 0;
  }
}
#gransta .secret_merry_cake .btn_more.more02 {
  top: 1025px;
  right: 0;
  left: 0;
}
@media only screen and (max-width: 959px) {
  #gransta .secret_merry_cake .btn_more.more02 {
    top: 273.333vw;
  }
}
@media only screen and (max-width: 959px) {
  #gransta .secret_merry_cake .btn_more img {
    width: 28.533vw;
  }
}
#gransta .recommend {
  margin: 0 auto 120px;
  padding: 160px 0 0;
}
@media only screen and (max-width: 959px) {
  #gransta .recommend {
    margin-bottom: 21.333vw;
    padding-top: 18.667vw;
    width: auto;
  }
}
#gransta .recommend::before {
  position: absolute;
  top: -48px;
  right: 0;
  left: 0;
  content: "";
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 96px;
  background-position: center center;
  background-size: auto 96px;
  background-repeat: repeat-x;
  background-image: url("/cp/christmas/assets/img/top/2025/animation_logo.svg");
  animation: animate-logo-2025 30s linear infinite;
}
@media only screen and (max-width: 959px) {
  #gransta .recommend::before {
    top: -6.4vw;
    height: 12.8vw;
    background-size: auto 12.8vw;
    animation: animate-logo-2025-sp 30s linear infinite;
  }
}
#gransta .recommend .p-gransta2025-rcommend__title {
  padding-top: 56px;
  margin-bottom: 56px;
  text-align: center;
}
@media only screen and (max-width: 959px) {
  #gransta .recommend .p-gransta2025-rcommend__title {
    padding-top: 6.4vw;
    margin-bottom: 10.667vw;
  }
}
#gransta .recommend .p-gransta2025-rcommend__title::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  content: "";
  display: block;
  margin: 0 auto;
  width: 34px;
  height: 32px;
  background: left top/100% auto no-repeat url("/cp/christmas/assets/img/top/2025/recommend-symbol.svg");
  animation: spin 10s linear infinite;
}
@media only screen and (max-width: 959px) {
  #gransta .recommend .p-gransta2025-rcommend__title::before {
    width: 4.533vw;
    height: 4.267vw;
  }
}
@media only screen and (max-width: 959px) {
  #gransta .recommend .p-gransta2025-rcommend__title .title img {
    width: 91.2vw;
  }
}
#gransta .recommend .p-gransta2025-recommend__more {
  margin-top: 0;
  width: auto;
}
#gransta .recommend .p-gransta2025-recommend__more a {
  margin: 0 auto min(1.143vw, 16px);
  width: 240px;
  height: 64px;
}
@media only screen and (max-width: 959px) {
  #gransta .recommend .p-gransta2025-recommend__more a {
    margin: 0 auto 2.133vw;
    width: 64vw;
    height: 14.933vw;
  }
}
#gransta .recommend .p-gransta2025-recommend__more a img {
  width: 107px;
}
@media only screen and (max-width: 959px) {
  #gransta .recommend .p-gransta2025-recommend__more a img {
    width: 28.533vw;
  }
}
#gransta .recommend .speech-bubble {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 min(0.714vw, 10px);
  color: #FFF;
  text-align: center;
  font-size: min(1.143vw, 16px);
  font-weight: 700;
  line-height: 1.5; /* 150% */
}
@media only screen and (max-width: 959px) {
  #gransta .recommend .speech-bubble {
    gap: 0 2.667vw;
    font-size: 3.733vw;
  }
}
#gransta .recommend .speech-bubble::before, #gransta .recommend .speech-bubble::after {
  display: block;
  content: "";
  width: min(1.143vw, 16px);
  height: min(4.286vw, 60px);
  background: left center/100% auto no-repeat url("/cp/christmas/assets/img/top/2025/icon-speech_bubble.svg");
}
@media only screen and (max-width: 959px) {
  #gransta .recommend .speech-bubble::before, #gransta .recommend .speech-bubble::after {
    width: 3.733vw;
    height: 14.4vw;
  }
}
#gransta .recommend .speech-bubble::after {
  transform: scale(-1, 1);
}
#gransta .visual {
  width: 100%;
  height: min(50.857vw, 712px);
  background: center/cover no-repeat url("/cp/christmas/assets/img/top/2025/visual.jpg");
}
@media only screen and (max-width: 959px) {
  #gransta .visual {
    height: 65.733vw;
    background: center/cover no-repeat url("/cp/christmas/assets/img/top/2025/visual-sp.jpg");
  }
}
@media only screen and (max-width: 959px) {
  #gransta .p-gransta2025-access {
    margin: 0;
  }
}
#gransta .p-gransta2025-access::before {
  position: absolute;
  top: -248px;
  right: 0;
  left: 0;
  content: "";
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 96px;
  background-position: center center;
  background-size: auto 96px;
  background-repeat: repeat-x;
  background-image: url("/cp/christmas/assets/img/top/2025/animation_logo.svg");
  animation: animate-logo-2025 30s linear infinite;
}
@media only screen and (max-width: 959px) {
  #gransta .p-gransta2025-access::before {
    top: -37.333vw;
    height: 12.8vw;
    background-size: auto 12.8vw;
    animation: animate-logo-2025-sp 30s linear infinite;
  }
}
#gransta .p-gransta2025-access .access_inner {
  margin: 200px auto 0;
  padding-top: 21px;
  width: 881px;
  height: 394px;
  background: left top/100% auto no-repeat url("/cp/christmas/assets/img/top/2025/bg-access.svg");
}
@media only screen and (max-width: 959px) {
  #gransta .p-gransta2025-access .access_inner {
    margin-top: 30.4vw;
    padding-top: 5.6vw;
    width: 91.467vw;
    height: 73.067vw;
    background: left top/100% auto no-repeat url("/cp/christmas/assets/img/top/2025/bg-access-sp.svg");
  }
}
#gransta .p-gransta2025-access .access_inner .p-gransta2025-access__title {
  margin: 73px 0 40px;
}
@media only screen and (max-width: 959px) {
  #gransta .p-gransta2025-access .access_inner .p-gransta2025-access__title {
    margin: 10.667vw auto 8.533vw;
  }
}
#gransta .p-gransta2025-access .access_inner .p-gransta2025-access__title picture {
  text-align: center;
}
@media only screen and (max-width: 959px) {
  #gransta .p-gransta2025-access .access_inner .p-gransta2025-access__title picture img {
    width: 90.933vw;
  }
}
#gransta .p-gransta2025-access .access_inner .p-gransta2025-access__btn {
  margin: 0 auto;
  width: 360px;
  height: 81px;
}
@media only screen and (max-width: 959px) {
  #gransta .p-gransta2025-access .access_inner .p-gransta2025-access__btn {
    width: 64.8vw;
    height: 19.2vw;
  }
}
#gransta .p-gransta2025-access .access_inner .p-gransta2025-access__btn img {
  width: 180px;
}
@media only screen and (max-width: 959px) {
  #gransta .p-gransta2025-access .access_inner .p-gransta2025-access__btn img {
    width: 37.333vw;
  }
}

#items {
  margin: 0 auto;
  padding: 90px 0 140px;
  max-width: 1400px;
  background: var(--8-f-0000, #9C1C1C);
}
@media only screen and (max-width: 959px) {
  #items {
    padding: 10.667vw 0 18.667vw;
  }
}
#items h1 {
  position: relative;
  margin: 0 0 90px;
  padding: 0;
  width: auto;
  text-align: center;
}
@media only screen and (max-width: 959px) {
  #items h1 {
    margin-bottom: 10.667vw;
  }
}
@media only screen and (max-width: 959px) {
  #items h1 img {
    width: 91.733vw;
  }
}

.p-top-guide {
  padding: 92px 16px 131px;
  background-image: none;
  background-color: #9C1C1C;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 959px) {
  .p-top-guide {
    padding: 10.667vw 4.267vw 21.333vw;
  }
}
.p-top-guide img {
  width: 100%;
}
.p-top-guide__ttl {
  width: 623px;
  margin: 0 auto 80px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__ttl {
    width: 91.733vw;
    margin-bottom: 10.667vw;
  }
}
.p-top-guide__wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 75px 0 80px;
  background: #fff;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__wrap {
    padding: 10.667vw 0 12.8vw;
  }
}
.p-top-guide__lead {
  font-weight: bold;
  text-align: center;
}
.p-top-guide__lead--main {
  font-size: 40px;
  letter-spacing: 0.06em;
  color: #9C1C1C;
  margin-bottom: 80px;
  line-height: 1.2;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__lead--main {
    font-size: 6.4vw;
    margin-bottom: 10.667vw;
    line-height: 1.3;
  }
}
.p-top-guide__lead--txt {
  font-size: 20px;
  line-height: 1.875;
  text-align: center;
  letter-spacing: 0.08em;
  margin-bottom: 36px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__lead--txt {
    font-size: 4.267vw;
    margin-bottom: 5.333vw;
  }
}
.p-top-guide__subttl {
  width: 462px;
  margin: 0 auto 60px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__subttl {
    width: 76.533vw;
    margin-bottom: 8.533vw;
  }
}
.p-top-guide__pct {
  width: 468px;
  margin: 0 auto 64px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__pct {
    width: 76.533vw;
    margin-bottom: 14.933vw;
  }
}
.p-top-guide__cnt {
  overflow: hidden;
}
.p-top-guide__cnt {
  width: 860px;
  margin: 0 auto;
  overflow: hidden;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt {
    width: 100%;
    padding: 0 4.267vw;
  }
}
.p-top-guide__cnt--ttl {
  display: grid;
  place-content: center;
  width: 580px;
  height: 84px;
  font-size: 40px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  background: #80E5D2;
  border: 3px solid #000;
  margin: 0 auto 64px;
  border-radius: 40px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--ttl {
    font-size: 6.4vw;
    width: 100%;
    height: 13.333vw;
    border: 0.533vw solid #000;
    margin-bottom: 8.533vw;
  }
}
.p-top-guide__cnt .tbl {
  padding: 52px 0 0;
  margin-bottom: 64px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl {
    padding-top: 2.667vw;
    margin-bottom: 14.4vw;
  }
}
.p-top-guide__cnt .tbl__ttl {
  width: 314px;
  margin: 0 auto 15px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl__ttl {
    width: 100%;
    margin-bottom: 2.133vw;
  }
}
.p-top-guide__cnt .tbl__sub {
  font-size: 14px;
  padding-top: 8px;
  font-weight: 500;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl__sub {
    font-size: 3.2vw;
    padding-top: 2.133vw;
  }
}
.p-top-guide__cnt .tbl table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  border: 1.5px solid #000;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl table {
    border: 1.5px solid #000;
  }
}
.p-top-guide__cnt .tbl table th,
.p-top-guide__cnt .tbl table td {
  padding: 0.5em 0;
  width: 33.3333%;
  position: relative;
}
.p-top-guide__cnt .tbl table th {
  font-weight: bold;
  padding: 0.4em 0;
  letter-spacing: 0.1em;
  background-color: #000;
  color: #fff;
}
.p-top-guide__cnt .tbl table th:first-child {
  border-right: 1px solid #fff;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl table th:first-child {
    border-right: 1.5px solid #fff;
  }
}
.p-top-guide__cnt .tbl table th:nth-child(2) {
  border-right: 1px solid #fff;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl table th {
    padding: 0.2em 0;
    font-size: 3.733vw;
  }
}
.p-top-guide__cnt .tbl table td {
  background-color: #fff;
  color: #000;
  border: 1.5px solid #000;
  font-weight: bold;
  vertical-align: middle;
  padding: 0.6em 0;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl table td {
    font-size: 3.2vw;
    border: 1.5px solid #000;
    height: 20.8vw;
  }
}
.p-top-guide__cnt .tbl table td strong {
  font-size: 1.5em;
  /* 数字を少し大きく */
  font-weight: 900;
}
.p-top-guide__cnt .tbl table td img {
  position: absolute;
  top: -33px;
  right: 10px;
  width: 74px;
  height: auto;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl table td img {
    width: 9.6vw;
    right: 0.533vw;
    top: 0.533vw;
    z-index: 9;
  }
}
.p-top-guide__cnt .tbl table td:nth-of-type(2) {
  text-align: center !important;
  padding-left: 0;
}
.p-top-guide__cnt .tbl table td span {
  text-align: left;
  display: inline-block;
}
.p-top-guide__cnt .tbl table tr:nth-of-type(n+2) td:first-of-type span {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-left: 40px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl table tr:nth-of-type(n+2) td:first-of-type span {
    display: block;
    margin-left: 2.133vw;
  }
}
.p-top-guide__cnt .tbl table tr:nth-of-type(2) td:first-of-type span::before {
  width: 42px;
  height: 42px;
  display: block;
  content: "";
  background: url("/cp/christmas/assets/img/guide/2025/table_benefit01.png") no-repeat left top;
  background-size: contain;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl table tr:nth-of-type(2) td:first-of-type span::before {
    width: 10.133vw;
    height: 4.267vw;
    background: url("/cp/christmas/assets/img/guide/2025/table_benefit01_sp.svg") no-repeat left top;
    background-size: contain;
  }
}
.p-top-guide__cnt .tbl table tr:nth-of-type(3) td:first-of-type span::before {
  width: 42px;
  height: 42px;
  display: block;
  content: "";
  background: url("/cp/christmas/assets/img/guide/2025/table_benefit02.png") no-repeat left top;
  background-size: contain;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl table tr:nth-of-type(3) td:first-of-type span::before {
    width: 10.133vw;
    height: 4.267vw;
    background: url("/cp/christmas/assets/img/guide/2025/table_benefit02_sp.svg") no-repeat left top;
    background-size: contain;
  }
}
.p-top-guide__cnt .tbl table tr:nth-of-type(4) td:first-of-type span::before {
  width: 42px;
  height: 42px;
  display: block;
  content: "";
  background: url("/cp/christmas/assets/img/guide/2025/table_benefit03.png") no-repeat left top;
  background-size: contain;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl table tr:nth-of-type(4) td:first-of-type span::before {
    width: 10.133vw;
    height: 4.267vw;
    background: url("/cp/christmas/assets/img/guide/2025/table_benefit03_sp.svg") no-repeat left top;
    background-size: contain;
  }
}
.p-top-guide__cnt .tbl .balloon {
  margin: 0 auto;
  margin-top: 27px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl .balloon {
    margin-top: 8vw;
    font-size: 4.8vw;
    letter-spacing: 0;
  }
}
.p-top-guide__cnt .tbl .balloon small {
  display: block;
  font-size: 18px;
  text-align: center;
  padding-top: 0.6em;
  font-weight: bold;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl .balloon small {
    font-size: 3.733vw;
  }
}
.p-top-guide__cnt .tbl .balloon .balloon_bold {
  background-color: transparent;
  display: inline-block;
  color: #000000;
  line-height: 1;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl .balloon .balloon_bold {
    font-size: 6.4vw;
    display: block;
    margin-bottom: 4vw;
  }
}
.p-top-guide__cnt .tbl .line {
  background-color: #A6852C;
  display: inline-block;
  padding: 0.1em 2em 0.5em 1em;
  color: #fff;
  margin: 0 0 0 0.5em;
  text-align: center;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl .line {
    line-height: 2;
    padding: 0.5em;
    margin: 0 auto;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
  }
}
.p-top-guide__cnt .tbl .line strong {
  font-size: 40px;
  line-height: 1;
  color: #fff;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl .line strong {
    font-size: 8.533vw;
  }
}
.p-top-guide__cnt .tbl .line strong strong {
  font-size: 64px;
  line-height: 1;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt .tbl .line strong strong {
    font-size: 10.667vw;
  }
}
.p-top-guide__cnt--wrap--box:nth-of-type(n+2) {
  padding-top: 64px;
  margin: 64px 0 12px;
  border-top: 1px solid #A6852C;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap--box:nth-of-type(n+2) {
    padding-top: 8.533vw;
    margin: 8.533vw 0 7.733vw;
    border-top: 1px solid #A6852C;
  }
}
.p-top-guide__cnt--wrap--box:last-of-type {
  margin-bottom: 84px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap--box:last-of-type {
    margin-bottom: 12.8vw;
  }
}
.p-top-guide__cnt--wrap .ttl {
  display: flex;
  margin-bottom: 38px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .ttl {
    align-items: center;
    flex-direction: column;
    margin-bottom: 8vw;
  }
}
.p-top-guide__cnt--wrap .ttl__icon {
  width: 79px;
  flex-shrink: 0;
  margin-right: 45px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .ttl__icon {
    width: 16.8vw;
    margin: 0 auto 2.133vw;
  }
}
.p-top-guide__cnt--wrap .ttl__text {
  font-size: 40px;
  font-weight: bold;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .ttl__text {
    font-size: 6.4vw;
    padding-top: 0;
    text-align: center;
    line-height: 1.65;
    letter-spacing: -0.02em;
  }
}
.p-top-guide__cnt--wrap .ttl__text span.bd {
  position: relative;
}
.p-top-guide__cnt--wrap .ttl__text span.bd:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.2em;
  left: 0;
  width: 100%;
  height: 0.2em;
  background-color: #A6852C;
  z-index: 1;
}
.p-top-guide__cnt--wrap .ttl__text span.bd strong {
  position: relative;
  z-index: 2;
  font-size: 48px;
  line-height: 1;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .ttl__text span.bd strong {
    font-size: 8.533vw;
  }
}
.p-top-guide__cnt--wrap .ttl__text span.bd strong strong {
  font-size: 64px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .ttl__text span.bd strong strong {
    font-size: 8.533vw;
  }
}
.p-top-guide__cnt--wrap .ttl__text span.img {
  display: block;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .ttl__text span.img {
    margin: 0 auto;
  }
}
.p-top-guide__cnt--wrap .ttl__text span.img--01 {
  width: 140px;
}
@media print, screen and (min-width: 960px) {
  .p-top-guide__cnt--wrap .ttl__text span.img--01 {
    margin-bottom: -22px;
  }
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .ttl__text span.img--01 {
    width: 36.267vw;
  }
}
.p-top-guide__cnt--wrap .ttl__text span.img--02 {
  width: 140px;
}
@media print, screen and (min-width: 960px) {
  .p-top-guide__cnt--wrap .ttl__text span.img--02 {
    margin-bottom: -22px;
  }
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .ttl__text span.img--02 {
    width: 36.267vw;
  }
}
.p-top-guide__cnt--wrap .ttl__text span.img--03 {
  width: 140px;
}
@media print, screen and (min-width: 960px) {
  .p-top-guide__cnt--wrap .ttl__text span.img--03 {
    margin-bottom: -22px;
  }
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .ttl__text span.img--03 {
    width: 36.267vw;
  }
}
.p-top-guide__cnt--wrap .ttl__text span.img--04 {
  width: 350px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .ttl__text span.img--04 {
    width: 61.333vw;
  }
}
.p-top-guide__cnt--wrap .main {
  color: #000;
  padding-left: 120px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main {
    margin-top: 0;
    padding-left: 0;
  }
}
.p-top-guide__cnt--wrap .main__period {
  display: flex;
  align-items: center;
  font-size: 32px;
  font-weight: 700;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__period {
    font-size: 5.867vw;
    display: block;
    text-align: center;
    line-height: 1.5;
    letter-spacing: -0.05em;
  }
}
.p-top-guide__cnt--wrap .main__period span {
  font-size: 22px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 7px 14px 7px 15px;
  color: #fff;
  background-color: #9C1C1C;
  letter-spacing: 0.1em;
  border-radius: 22px;
  margin-right: 16px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__period span {
    font-size: 4.8vw;
    margin-right: 0;
    margin-bottom: 1.6vw;
    border-radius: 4.267vw;
    padding: 0 0.65em;
    display: block;
    text-align: center;
  }
}
.p-top-guide__cnt--wrap .main__txt {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  padding-top: 34px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt {
    font-size: 6.4vw;
    padding-top: 9.6vw;
  }
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt.spCenter {
    text-align: center;
  }
}
.p-top-guide__cnt--wrap .main__txt span {
  background-color: #A6852C;
  display: inline-block;
  padding: 0.1em 0.5em;
  color: #fff;
  margin: 0 0.3em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt span {
    line-height: 2;
    padding: 0.5em;
  }
}
.p-top-guide__cnt--wrap .main__txt span.line {
  margin-top: 0.5em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt span.line {
    margin-top: 0.5em;
  }
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt span.line--02 {
    margin-top: 0.3em;
  }
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt span.spMod {
    display: inline;
    padding: 0.1em 0.5em;
    margin: 0;
  }
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt span.spMod--02 {
    display: inline;
    background: none;
    padding: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .p-top-guide__cnt--wrap .main__txt span.spMod--02 strong {
    background-color: #A6852C;
    padding: 0 0.2em;
    display: inline-block;
    line-height: 1.5;
    margin-top: 1.6vw;
  }
  .p-top-guide__cnt--wrap .main__txt span.spMod--02 strong strong {
    padding: 0;
    margin: 0;
  }
}
.p-top-guide__cnt--wrap .main__txt.balloon {
  margin-top: 57px;
  display: inline-block;
  padding: 36px 37px 30px;
  border: 4px solid #A6852C;
  position: relative;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt.balloon {
    padding: 8vw 0.533vw 3.2vw;
    border: 1.067vw solid #A6852C;
    margin-right: 1.333vw;
    margin-top: 14.933vw;
    font-size: 4.8vw;
    letter-spacing: 0;
  }
}
.p-top-guide__cnt--wrap .main__txt.balloon img {
  position: absolute;
  top: -20px;
  left: 37px;
  width: 90px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt.balloon img {
    width: 24vw;
    top: -6.933vw;
    left: 50%;
    transform: translateX(-50%);
  }
}
.p-top-guide__cnt--wrap .main__txt.balloon small {
  display: block;
  font-size: 18px;
  text-align: center;
  padding-top: 0.6em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt.balloon small {
    font-size: 3.733vw;
  }
}
.p-top-guide__cnt--wrap .main__txt strong {
  font-size: 40px;
  line-height: 1;
  color: #fff;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt strong {
    font-size: 8.533vw;
  }
}
.p-top-guide__cnt--wrap .main__txt strong strong {
  font-size: 64px;
  line-height: 1;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt strong strong {
    font-size: 10.667vw;
  }
}
.p-top-guide__cnt--wrap .main__txt--02 {
  font-size: 24px;
  padding-top: 0;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt--02 {
    font-size: 4.8vw;
  }
}
.p-top-guide__cnt--wrap .main__txt--02 span strong {
  font-size: 32px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt--02 span strong {
    font-size: 6.4vw;
  }
}
.p-top-guide__cnt--wrap .main__txt--02 span strong strong {
  font-size: 48px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt--02 span strong strong {
    font-size: 10.667vw;
  }
}
.p-top-guide__cnt--wrap .main__txt .balloon_bold {
  background-color: transparent;
  display: inline-block;
  color: #000000;
  line-height: 1;
  font-size: 32px;
  font-weight: bold;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__txt .balloon_bold {
    font-size: 6.4vw;
  }
}
.p-top-guide__cnt--wrap .main__img {
  background: url(/cp/christmas/assets/img/guide/2025/gift_balloon01.png) no-repeat center left/contain;
  height: 45px;
  margin: 40px 0 0;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__img {
    height: 12vw;
    margin: 4.267vw 0 2.133vw;
  }
}
.p-top-guide__cnt--wrap .main__note {
  font-size: 14px;
  line-height: 1.6;
  padding-top: 16px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__note {
    font-size: 3.2vw;
    padding-top: 6.667vw;
  }
}
.p-top-guide__cnt--wrap .main__note li {
  text-indent: -1em;
  margin-left: 1em;
}
.p-top-guide__cnt--wrap .main__note li::first-letter {
  font-feature-settings: normal;
}
.p-top-guide__cnt--wrap .main__note .c-red {
  color: #FE1A0D;
}
.p-top-guide__cnt--wrap .main__02 {
  padding-left: 0;
  display: flex;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__02 {
    display: block;
  }
}
.p-top-guide__cnt--wrap .main__02 .main__txt {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 32px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__02 .main__txt {
    font-size: 4.267vw;
    line-height: 1.8;
  }
}
.p-top-guide__cnt--wrap .main__02 .main__txt span.line {
  padding: 0.65em 0.5em 0;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__02 .main__txt span.spMode {
    padding: 0 0.1em;
    display: inline;
  }
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__02 .main__txt span.spMode.display_txt {
    display: inline-block;
    margin-bottom: 4vw;
  }
}
.p-top-guide__cnt--wrap .main__02 .main__txt span.spMode--02 {
  padding: 1.2em 0.3em 0.5em 0;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__02 .main__txt span.spMode--02 {
    display: inline;
    line-height: 3;
    padding: 0.8em 0.3em 0.3em 0.2em;
  }
}
.p-top-guide__cnt--wrap .main__02 .main__txt span.spMode--02 strong strong {
  line-height: 0;
}
.p-top-guide__cnt--wrap .main__02 .main__txt span strong {
  font-size: 24px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__02 .main__txt span strong {
    font-size: 4.267vw;
  }
}
.p-top-guide__cnt--wrap .main__02 .main__txt span strong strong {
  font-size: 40px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__02 .main__txt span strong strong {
    font-size: 8.533vw;
  }
}
.p-top-guide__cnt--wrap .notes {
  padding-top: 20px;
  margin-bottom: 86px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .notes {
    padding-top: 5.333vw;
    margin-bottom: 15.467vw;
  }
}
.p-top-guide__cnt--wrap .caution {
  margin-top: 56px;
  padding-bottom: 24px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .caution {
    margin-top: 10.667vw;
    padding-bottom: 5.333vw;
  }
}
.p-top-guide__cnt--wrap .caution h3 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 0.2em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .caution h3 {
    font-size: 3.2vw;
  }
}
.p-top-guide__cnt--wrap .caution .main__note {
  margin-top: 0;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .caution .main__note {
    font-weight: 500;
    line-height: 1.5;
  }
}
.p-top-guide__cnt--wrap h4 {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  color: #9C1C1C;
  padding: 24px 0 56px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap h4 {
    padding: 0 0 3.467vw;
    font-size: 6.4vw;
    line-height: 1.3;
  }
}
.p-top-guide__cnt--wrap .link {
  width: 160px;
  height: 28px;
  font-size: 1.2rem;
  color: #fff;
  background: #063809;
  margin: 25px auto 0;
}
.p-top-guide__cnt--wrap .l-main-links__wrap {
  margin-top: 80px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .l-main-links__wrap {
    margin: 0;
    padding: 10.667vw 0 18.667vw;
  }
}
.p-top-guide__cnt--wrap .l-main-links__wrap .l-main-links__btn.btnShadow {
  width: 310px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .l-main-links__wrap .l-main-links__btn.btnShadow {
    margin-top: 0;
    width: 54.667vw;
    height: 13.333vw;
    margin: 0 auto;
  }
}
.p-top-guide__cnt--wrap .l-main-links__wrap .l-main-links__btn.btnShadow:before {
  background-color: #9C1C1C;
}
.p-top-guide__cnt--wrap .l-main-links__wrap .l-main-links__btn.btnShadow a {
  width: 100%;
  color: #9C1C1C;
  background-color: #fff;
  display: flex;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .l-main-links__wrap .l-main-links__btn.btnShadow a {
    font-size: 4.8vw;
    height: 13.333vw;
  }
}
.p-top-guide__cnt--wrap .l-main-links__wrap .l-main-links__btn.btnShadow a:after {
  display: none;
}
.p-top-guide__cnt--wrap .l-main-links__wrap .l-main-links__btn.btnShadow a svg {
  position: absolute;
  top: 51%;
  transform: translateY(-50%);
  right: 24px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .l-main-links__wrap .l-main-links__btn.btnShadow a svg {
    right: 4.8vw;
    width: 0.8em;
    height: auto;
  }
}
.p-top-guide__cnt--ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80px;
  font-family: "Shippori Mincho", serif;
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 60px;
  color: #fff !important;
  background: #A6852C !important;
  margin-bottom: 64px;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--ttl {
    height: 16vw;
    font-size: 6.4vw;
    line-height: 16vw;
    margin-bottom: 10.667vw;
  }
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap--box {
    margin-bottom: 8.533vw;
  }
}
.p-top-guide__cnt--wrap .main__txt u {
  position: relative;
  text-decoration: none;
  color: #fff;
  background-color: #A6852C;
  padding: 2px 5px;
}
.p-top-guide__cnt--wrap .main__note li {
  text-indent: -1em;
  margin-left: 1em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__note li {
    text-indent: 0;
    margin-left: 0;
  }
}
.p-top-guide__cnt--wrap .main__note li::first-letter {
  font-feature-settings: normal;
}
.p-top-guide__cnt--wrap .main__note .c-red {
  font-size: 14px;
  color: #9C1C1C;
}
@media only screen and (max-width: 959px) {
  .p-top-guide__cnt--wrap .main__note .c-red {
    font-size: 3.2vw;
  }
}
.p-top-guide__cnt--wrap .main__note span {
  border-bottom: 2px solid #000;
}
.p-top-guide__cnt--wrap .link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 28px;
  font-size: 1.2rem;
  color: #fff;
  background: #063809;
  margin: 25px auto 0;
}
.p-top-guide .l-main-links__btn {
  width: 100%;
  height: auto;
}
.p-top-guide .l-main-links__btn .c-btn-arw {
  font-family: "Noto Sans JP", sans-serif !important;
  width: 243px;
  margin: 0 auto;
  gap: 10px;
  background-color: #063809;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  border-radius: 0;
  padding: 17px 20px 17px 50px;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 959px) {
  .p-top-guide .l-main-links__btn .c-btn-arw {
    width: 64.8vw;
    gap: 2.667vw;
    font-size: 5.333vw;
    padding: 4.533vw 5.333vw 4.533vw 11.2vw;
  }
}
.p-top-guide .l-main-links__btn .c-btn-arw::after {
  content: "";
  position: static;
  display: block;
  width: 9px;
  height: 12px;
  margin-top: 1px;
  background: url("/cp/christmas/assets/img/guide/2025/icon-arw.svg") no-repeat left top;
  background-size: contain;
  border: none;
  transform: translate(0, 0) rotate(0);
  transition: 0.4s;
}
@media only screen and (max-width: 959px) {
  .p-top-guide .l-main-links__btn .c-btn-arw::after {
    margin-top: 1.333vw;
    width: 2.533vw;
    height: 3.867vw;
  }
}

#faq.p-faqguide {
  padding: 92px 16px 190px;
  background-color: #9C1C1C;
  max-width: 1400px;
  margin: 0 auto;
}
@media only screen and (max-width: 959px) {
  #faq.p-faqguide {
    padding: 10.667vw 4vw 30.4vw;
  }
}
#faq.p-faqguide picture {
  display: block;
  width: 100%;
}
#faq.p-faqguide picture img {
  display: block;
  width: 100%;
}
#faq.p-faqguide .p-faqguide__hd {
  width: 623px;
  margin: 0 auto 80px;
}
@media only screen and (max-width: 959px) {
  #faq.p-faqguide .p-faqguide__hd {
    width: 91.733vw;
  }
}
#faq.p-faqguide .container {
  max-width: 1000px;
  padding: 64px 71px;
  margin: 0 auto;
  background-color: #fff;
}
@media only screen and (max-width: 959px) {
  #faq.p-faqguide .container {
    padding: 8.533vw 4vw 10.667vw;
  }
}
#faq.p-faqguide .container dl {
  max-width: 859px;
  margin: 0 auto;
  border-bottom: 1px solid #A6852C;
}
#faq.p-faqguide .container dl dt {
  position: relative;
  padding: 42px 0 24px;
  border-top: 1px solid #A6852C;
  font-size: 20px;
  line-height: 2;
  padding-left: 77px;
  font-weight: 500;
  margin-top: 18px;
  cursor: pointer;
}
@media only screen and (max-width: 959px) {
  #faq.p-faqguide .container dl dt {
    font-size: 4.267vw;
    line-height: 1.8;
    padding: 6.4vw 0 5.333vw;
    padding-left: 9.067vw;
    margin-top: 0.533vw;
  }
}
#faq.p-faqguide .container dl dt:last-of-type {
  padding: 42px 0;
  padding-left: 77px;
}
@media only screen and (max-width: 959px) {
  #faq.p-faqguide .container dl dt:last-of-type {
    padding: 6.4vw 0 5.333vw;
    padding-left: 9.067vw;
  }
}
#faq.p-faqguide .container dl dt:before {
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  position: absolute;
  top: 48px;
  left: 15px;
  content: "Q";
  font-size: 32px;
  line-height: 1;
  color: #a89a3e;
}
@media only screen and (max-width: 959px) {
  #faq.p-faqguide .container dl dt:before {
    font-size: 6.4vw;
    top: 7.467vw;
    left: 1.333vw;
  }
}
#faq.p-faqguide .container dl dt > span {
  display: block;
  padding-right: 90px;
  position: relative;
}
@media only screen and (max-width: 959px) {
  #faq.p-faqguide .container dl dt > span {
    padding-right: 6.4vw;
  }
}
#faq.p-faqguide .container dl dt > span:before,
#faq.p-faqguide .container dl dt > span:after {
  content: "";
  width: 18px;
  height: 1px;
  background-color: #a89a3e;
  position: absolute;
  top: 50%;
  right: 20px;
}
@media only screen and (max-width: 959px) {
  #faq.p-faqguide .container dl dt > span:before,
  #faq.p-faqguide .container dl dt > span:after {
    width: 3.2vw;
    top: 25%;
    right: 0.533vw;
  }
}
#faq.p-faqguide .container dl dt > span:after {
  transform: rotate(90deg);
}
#faq.p-faqguide .container dl dt.active > span:after {
  transform: rotate(0deg);
}
#faq.p-faqguide .container dl dd {
  position: relative;
  padding: 0 0 28px;
  font-size: 20px;
  width: 760px;
  line-height: 1.6;
  padding-left: 77px;
  display: none;
}
@media only screen and (max-width: 959px) {
  #faq.p-faqguide .container dl dd {
    font-size: 4.267vw;
    line-height: 1.5;
    padding-left: 9.067vw;
    width: 100%;
  }
}
#faq.p-faqguide .container dl dd:before {
  content: "";
  height: 2px;
  display: block;
}
#faq.p-faqguide .container dl dd:after {
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 15px;
  content: "A";
  font-size: 32px;
  line-height: 1;
  color: #9C1C1C;
}
@media only screen and (max-width: 959px) {
  #faq.p-faqguide .container dl dd:after {
    font-size: 6.4vw;
    top: 0;
    left: 1.333vw;
  }
}
#faq.p-faqguide .container dl dd a {
  text-decoration: underline;
}
#faq.p-faqguide .container dl dd table th {
  padding: 0 20px 0 0;
  text-align: left;
}
#faq.p-faqguide .container dl dd table td {
  padding: 0 20px 0 0;
  text-align: left;
}
#faq.p-faqguide__hd.-access {
  background-color: #f7f8f8 !important;
}
#faq.p-faqguide.-access {
  background: #f7f8f8;
}
#faq.p-faqguide.-access #faq.p-faqguide__hd {
  background-color: #f7f8f8 !important;
}
#faq.p-faqguide__topblk {
  padding-top: 50px;
}
#faq.p-faqguide__btmblk {
  padding-bottom: 50px;
}
@media screen and (max-width: 959px) {
  #faq.p-faqguide__topblk {
    padding-top: 30px;
  }
  #faq.p-faqguide__btmblk {
    padding-bottom: 30px;
  }
  #faq.p-faqguide .l-main-line {
    display: none;
  }
  #faq.p-faqguide .l-main-links__wrap {
    margin-top: 0;
  }
}

#gransta .l-main-recommend__cnt--list--inr, #items .l-main-recommend__cnt--list--inr {
  display: flex;
  gap: 80px min(1.364vw, 15px);
  margin: 0 auto;
  padding: 40px 0 56px;
  border: 0;
  width: min(90.909vw, 1000px);
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr, #items .l-main-recommend__cnt--list--inr {
    padding: 5.6vw 0 10.667vw;
    gap: 10.667vw 4.267vw;
    width: 91.2vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk, #items .l-main-recommend__cnt--list--inr .l-list-blk {
  margin: 0 !important;
  padding: 11px;
  width: 32.3%;
  border: 1px solid #FFF;
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk, #items .l-main-recommend__cnt--list--inr .l-list-blk {
    padding: 1.333vw;
    width: 43.2vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk::before, #items .l-main-recommend__cnt--list--inr .l-list-blk::before {
  position: absolute;
  top: -43px;
  right: 0;
  left: 0;
  content: "";
  display: block;
  margin: 0 auto;
  width: 106px;
  height: 44px;
  background: left top/100% auto no-repeat url("/cp/christmas/assets/img/common/product_frame.svg");
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk::before, #items .l-main-recommend__cnt--list--inr .l-list-blk::before {
    top: -23px;
    width: 55px;
    height: 23px;
    background-image: url("/cp/christmas/assets/img/common/product_frame-sp.svg");
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a {
  position: relative;
  padding: 0;
  padding-bottom: 70px;
  background-color: #fff;
}
@media print, screen and (min-width: 960px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a:hover .l-list-blk__img img, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a:hover .l-list-blk__img img {
    opacity: 0.7;
  }
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a:hover .l-list-blk__btn, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a:hover .l-list-blk__btn {
    background-color: var(--a-6852-c, #A6852C);
  }
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a {
    padding-bottom: 10.133vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__img img, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__img img {
  width: 100%;
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__img--badge, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__img--badge {
  width: 56px;
  height: 56px;
  font-size: 20px;
  transform: translate(0, 0);
  background: var(--a-6852-c, #A6852C);
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__img--badge, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__img--badge {
    width: 9.867vw;
    height: 9.867vw;
    font-size: 3.733vw;
  }
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__img--badge small, #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__img--badge span, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__img--badge small, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__img--badge span {
    font-size: 2.667vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .text_wrapper, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .text_wrapper {
  margin: 0 16px;
  font-weight: 700;
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .text_wrapper, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .text_wrapper {
    margin: 1.6vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__shop, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__shop {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 150%;
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__shop, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__shop {
    margin-bottom: 2.133vw;
    font-size: 3.2vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__limited, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__limited {
  display: inline-block;
  margin-bottom: 8px;
  padding: 0 8px;
  color: var(--white, #FFF);
  font-size: 12px;
  line-height: 200%;
  background: var(--8-f-0000, #9C1C1C);
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__limited, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__limited {
    margin-bottom: 2.133vw;
    font-size: 3.2vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__name, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__name {
  margin-bottom: 8px;
  color: #000;
  font-size: 16px;
  line-height: 150%;
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__name, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__name {
    font-size: 3.733vw;
    margin-bottom: 2.133vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__size, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__size {
  margin-bottom: 16px;
  color: #000;
  font-size: 14px;
  line-height: 1.5;
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__size, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__size {
    margin-bottom: 2.133vw;
    font-size: 3.2vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__price, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__price {
  font-size: 20px;
  line-height: 150%;
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__price, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__price {
    font-size: 4.267vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__price--tax, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__price--tax {
  font-size: 14px;
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__price--tax, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__price--tax {
    font-size: 3.2vw;
  }
}
#gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__btn, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__btn {
  position: absolute;
  bottom: 16px;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: calc(100% - 30px);
  height: 54px;
  background: var(--063-d-0-a, #063809);
}
@media print, screen and (min-width: 960px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__btn, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__btn {
    transition: background-color 0.3s;
  }
}
@media only screen and (max-width: 959px) {
  #gransta .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__btn, #items .l-main-recommend__cnt--list--inr .l-list-blk .l-list-blk__a .l-list-blk__btn {
    bottom: 1.6vw;
    width: calc(100% - 3.2vw);
    height: 8.533vw;
    font-size: 3.733vw;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes animate-logo-2025 {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -1386px 0;
  }
}
@keyframes animate-logo-2025-sp {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -184.8vw 0;
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}/*# sourceMappingURL=style.css.map */