/* raffles detail
------------------------------------------------ */
.raffles-detail { position: relative; }

@media screen and (min-width: 769px) {
  .raffles-detail { padding-bottom: 45px; }
}

/* visual */
.raffles-detail-visual { position: relative; aspect-ratio: 1 / 1.7; overflow: hidden; }
.raffles-detail-visual picture { height: 100%; }
.raffles-detail-visual img { object-fit: cover; font-family: 'object-fit: cover;'; }

@media screen and (max-width: 768px) {
}

@media screen and (min-width: 769px) {
  .raffles-detail-visual { aspect-ratio: 1 / 0.5; }
}

/* name */
.raffles-detail-name { padding: 23px 0 42px; }
.raffles-detail-name__brand,
.raffles-detail-name__title { margin: 0; text-align: center; }
.raffles-detail-name__brand { margin-bottom: 1px; font-size: 2rem; font-weight: 400; line-height: 2; }
.raffles-detail-name__title { font-size: 2.4rem; font-weight: 500; line-height: 1.2916666666; }

@media screen and (max-width: 768px) {
  .raffles-detail-name > .l-wrap { padding: 0 5px; }
}

@media screen and (min-width: 769px) {
  .raffles-detail-name { padding: 80px 0 56px; }
  .raffles-detail-name__brand { margin-bottom: 12px; font-size: 2.6rem; line-height: 1.5384615384; }
  .raffles-detail-name__title { font-size: 3.2rem; line-height: 1.25; }
}

/* content */
.raffles-detail-content { font-size: 1.3rem; line-height: 1.5; }

@media screen and (max-width: 768px) {
}

@media screen and (min-width: 769px) {
  .raffles-detail-content { font-size: 1.4rem; line-height: 1.5; }
}

/* presentation */
.raffles-detail-presentation { position: relative; padding: 64px 0 57px; }
.raffles-detail-presentation__box { position: relative; margin: 0; padding: 15px 16px 0; border-top: 1px solid #ccc; }
.raffles-detail-presentation__box + .raffles-detail-presentation__box { margin-top: 64px; }
.raffles-detail-presentation__box::before { content: ''; position: absolute; top: -1px; left: 0; width: 90px; height: 1px; background-color: #333; }
.raffles-detail-presentation__box__title { font-size: 1.4rem; font-weight: 700; line-height: 2.1428571428; }
.raffles-detail-presentation__box__content { margin: 0; font-size: 1.3rem; line-height: 1.8461538461; }
.raffles-detail-presentation__box__content a,
.raffles-detail-presentation__box__content button { text-decoration: underline; }
.raffles-detail-presentation__box__content h2 { margin: 0 0 12px; font-size: 1.4rem; font-weight: 700; line-height: 1.7142857142; }
.raffles-detail-presentation__box__content table { width: 100%; border: none; border-collapse: collapse; border-spacing: 0; }
.raffles-detail-presentation__box__content table { margin-bottom: 12px; }
.raffles-detail-presentation__box__content table th,
.raffles-detail-presentation__box__content table td { text-align: center; font-size: 1.2rem; line-height: 1.5; }
.raffles-detail-presentation__box__content table thead th { padding: 0 0 9px; border-bottom: 1px solid #ccc; font-weight: 400; }
.raffles-detail-presentation__box__content table tbody th,
.raffles-detail-presentation__box__content table tbody td { padding: 7px 5px; border-bottom: 1px solid #eee; }
.raffles-detail-presentation__box__content table tbody th { font-weight: 700; }

@media screen and (max-width: 768px) {
  .raffles-detail-presentation__box__title { margin-bottom: 18px; }
}

@media screen and (min-width: 769px) {
  .raffles-detail-presentation { padding: 94px 0 136px; }
  .raffles-detail-presentation__box { display: grid; grid-template-columns: 300px calc(100% - 300px); padding: 30px 0 0; }
  .raffles-detail-presentation__box + .raffles-detail-presentation__box { margin-top: 90px; }
  .raffles-detail-presentation__box::before { width: 80px; }
  .raffles-detail-presentation__box__title { padding-right: 20px; font-size: 1.6rem; line-height: 1.875; }
  .raffles-detail-presentation__box__content { font-size: 1.3rem; line-height: 1.8461538461; }
  .raffles-detail-presentation__box__content h2 { margin-bottom: 7px; font-size: 1.6rem; line-height: 2; }
  .raffles-detail-presentation__box__content table { margin-bottom: 20px; max-width: 640px; }
  .raffles-detail-presentation__box__content table th,
  .raffles-detail-presentation__box__content table td { font-size: 1.2rem; line-height: 1.5; }
  .raffles-detail-presentation__box__content table thead th { padding-bottom: 8px; }
  .raffles-detail-presentation__box__content table tbody th,
  .raffles-detail-presentation__box__content table tbody td { padding: 7px 5px; }
}

/* winning */
.raffles-winning-above { position: relative; height: 68px; }
.raffles-winning-close { position: absolute; top: 50%; right: 16px; transform: translateY(-50%); width: 17px; height: 17px; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.raffles-winning-close::before,
.raffles-winning-close::after { content: ''; position: absolute; top: 50%; left: -3px; width: 22px; height: 1px; background-color: #000; }
.raffles-winning-close::before { transform: rotate(45deg); }
.raffles-winning-close::after { transform: rotate(-45deg); }
.raffles-winning-content { position: relative; }
.raffles-winning-info { position: relative; margin-bottom: 27px; }
.raffles-winning-title { margin: 0; font-size: 1.5rem; font-weight: 600; line-height: 1.5333333333; }
.raffles-winning-text { margin: 0; font-size: 1.3rem; line-height: 1.53846153846; }
.raffles-winning-text a { text-decoration: underline; color: #333; }
.raffles-winning-lists__item { position: relative; }
.raffles-winning-lists__item:not(:last-child)::after { content: ''; position: absolute; width: 15px; height: 10px; background: url(../img/raffles/winning_arrow.svg) no-repeat center center; background-size: 100%; }

@media screen and (max-width: 768px) {
  .raffles-winning-content { padding: 0 16px 50px; }
  .raffles-winning-title { margin: -4px 0 16px; }
  .raffles-winning-lists__item { margin: 0 auto; }
  .raffles-winning-lists__item:not(:last-child) { margin-bottom: 37px; }
  .raffles-winning-lists__item:not(:last-child)::after { bottom: -24px;left: 50%; transform: translateX(-50%) rotate(90deg); }
  .raffles-winning-lists__item:nth-of-type(1) { width: 55.8659217877%; }
  .raffles-winning-lists__item:nth-of-type(2) { width: 55.8659217877%; }
  .raffles-winning-lists__item:nth-of-type(3) { width: 77.6536312849%; }
}

@media screen and (min-width: 769px) {
  .raffles-winning-above { margin-bottom: 5px; height: 70px; }
  .raffles-winning-close { right: 24px; width: 23px; height: 23px; }
  .raffles-winning-close::before,
  .raffles-winning-close::after { width: 30px; height: 1.36px; }
  .raffles-winning-content { padding: 0 60px 80px; }
  .raffles-winning-info { display: flex; justify-content: center; align-items: center; gap: 35px; margin-bottom: 52px; }
  .raffles-winning-title { font-size: 1.6rem; line-height: 1.5; }
  .raffles-winning-text { font-size: 1.4rem; line-height: 1.4285714285; }
  .raffles-winning-lists { display: flex; justify-content: space-between; }
  .raffles-winning-lists__item:not(:last-child)::after { top: 50%; right: -34px; transform: translateY(-50%); width: 15px; height: 10px; }
  .raffles-winning-lists__item:nth-of-type(1) { width: 25.5102040816%; }
  .raffles-winning-lists__item:nth-of-type(2) { width: 25.5102040816%; }
  .raffles-winning-lists__item:nth-of-type(3) { width: 35.4591836734%; }
}

/* product */
.raffles-detail-product { position: relative; padding: 48px 0 64px; background-color: #FAFAFA; }
.raffles-detail-product__slide { position: relative; margin-bottom: 14px; overflow: hidden; }
.raffles-detail-product__slide__lists { position: relative; }
.raffles-detail-product__slide__lists__item { position: relative; aspect-ratio: 1 / 1.2; overflow: hidden; }
.raffles-detail-product__slide__pagination { display: flex; justify-content: center; align-items: center; position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); padding: 0 12px; height: 20px; background-color: rgba(255,255,255,0.5); font-size: 1rem; font-weight: 500; line-height: 1.3; z-index: 2; }
.raffles-detail-product__slide__pagination span { display: inline-block; padding: 0 0.2em; vertical-align: top; }
.raffles-detail-product__slide__navigation { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; background-color: rgba(204,204,204,0.5); border-radius: 50%; z-index: 2; cursor: pointer; }
.raffles-detail-product__slide__navigation::after { content: ''; position: absolute; top: 50%; width: 6px; height: 12px; background: url(../img/icon/arrow1.svg) no-repeat center center; background-size: 100%; }
.raffles-detail-product__slide__navigation__prev { left: 16px; }
.raffles-detail-product__slide__navigation__prev::after { left: 14px; transform: translateY(-50%) rotate(180deg); }
.raffles-detail-product__slide__navigation__next { right: 16px; }
.raffles-detail-product__slide__navigation__next::after { left: 16px; transform: translateY(-50%); }
.raffles-detail-product__brand,
.raffles-detail-product__title,
.raffles-detail-product__price { margin: 0; text-align: center; }
.raffles-detail-product__brand { margin-bottom: 1px; font-size: 1.8rem; font-weight: 400; line-height: 2.2222222222; }
.raffles-detail-product__title { font-size: 2.1rem; font-weight: 500; line-height: 1.2857142857; }
.raffles-detail-product__price { margin-top: 4px; font-size: 1.8rem; font-weight: 500; line-height: 2.2222222222; }
.raffles-detail-product__btn { margin: 20px 0 0; }
.raffles-detail-product__btn > button { display: flex; justify-content: center; align-items: center; background-color: #000; border: 1px solid #000; width: 100%; height: 56px; font-size: 1.6rem; font-weight: 700; line-height: 1.125; color: #fff; }

@media screen and (max-width: 768px) {
  .raffles-detail-product__info,
  .raffles-detail-product__btn { padding: 0 16px; }
}

@media screen and (min-width: 769px) {
  .raffles-detail-product { padding: 64px 0; }
  .raffles-detail-product__slide { margin: 0 auto 28px; max-width: 667px; }
  .raffles-detail-product__slide__pagination { bottom: 20px; font-size: 1.2rem; line-height: 1.3333333333; }
  .raffles-detail-product__brand { margin-bottom: 1px; font-size: 1.8rem; line-height: 2.2222222222; }
  .raffles-detail-product__title { font-size: 2.4rem; line-height: 1.2916666666; }
  .raffles-detail-product__price { margin-top: 12px; font-size: 1.8rem; line-height: 2.2222222222; }
  .raffles-detail-product__btn { margin-top: 28px; }
  .raffles-detail-product__btn > button { margin: 0 auto; height: 56px; max-width: 540px; font-size: 1.6rem; line-height: 1.125; }
}

/* raffles modal
------------------------------------------------ */
.raffles-modal { pointer-events: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; }
.raffles-modal-content { position: absolute; background-color: #fff; z-index: 2; }
.raffles-modal-iframe { position: relative; width: 100%; min-height: 100%; }
.raffles-modal-iframe iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.raffles-modal-overlay { position: absolute; top: 0; left: 0; transition: opacity 0.2s ease; backdrop-filter: blur(30px); width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); opacity: 0; z-index: 1; }

.raffles-modal[aria-hidden=false] { pointer-events: inherit; }
.raffles-modal[aria-hidden=false] .raffles-modal-overlay { opacity: 1; }

.body-raffles-open { overflow: hidden; }

@media screen and (max-width: 768px) {
  .raffles-modal-content { bottom: -100%; left: 0; transition: bottom 0.2s ease; width: 100%; height: calc(100% - 40px); }
  .raffles-modal[aria-hidden=false] .raffles-modal-content { bottom: 0; }
}

@media screen and (min-width: 769px) {
  .raffles-modal-content { top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: calc(100dvh - (14.8148148148vh * 2)); max-width: 574px; opacity: 0; }
  .raffles-modal[aria-hidden=false] .raffles-modal-content { transition: opacity 0.2s ease; opacity: 1; }
}

/* winning */
.raffles-modal-winning { pointer-events: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; }
.raffles-modal-winning__content { position: absolute; background-color: #fff; overflow-y: auto; overscroll-behavior-y: contain; z-index: 2; }
.raffles-modal-winning__overlay { position: absolute; top: 0; left: 0; transition: opacity 0.2s ease; backdrop-filter: blur(30px); width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); opacity: 0; z-index: 1; }

.raffles-modal-winning[aria-hidden=false] { pointer-events: inherit; }
.raffles-modal-winning[aria-hidden=false] .raffles-modal-winning__overlay { opacity: 1; }

@media screen and (max-width: 768px) {
  .raffles-modal-winning__content { bottom: -100%; left: 0; transition: bottom 0.2s ease; width: 100%; height: calc(100% - 40px); }
  .raffles-modal-winning[aria-hidden=false] .raffles-modal-winning__content { bottom: 0; }
}

@media screen and (min-width: 769px) {
  .raffles-modal-winning__content { top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; max-width: 904px; max-height: calc(100dvh - (14.8148148148vh * 2)); opacity: 0; }
  .raffles-modal-winning[aria-hidden=false] .raffles-modal-winning__content { transition: opacity 0.2s ease; opacity: 1; }
}

/* raffles order
------------------------------------------------ */
.raffles-order { position: relative; padding-bottom: 40px; }
.raffles-order-above { position: relative; height: 68px; }
.raffles-order-close { position: absolute; top: 50%; right: 16px; transform: translateY(-50%); width: 17px; height: 17px; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.raffles-order-close::before,
.raffles-order-close::after { content: ''; position: absolute; top: 50%; left: -3px; width: 22px; height: 1px; background-color: #000; }
.raffles-order-close::before { transform: rotate(45deg); }
.raffles-order-close::after { transform: rotate(-45deg); }
.raffles-order-title { margin: -4px 0 16px; font-size: 1.5rem; font-weight: 600; line-height: 1.5333333333; }
.raffles-order-text { margin: 0 0 14px; font-size: 1.3rem; line-height: 1.53846153846; }
.raffles-order-text a { text-decoration: underline; color: #333; }

@media screen and (max-width: 425px) {
  .raffles-order .u-d-mobile { display: inherit !important; }
  .raffles-order .u-d-desktop { display: none !important; }
  .raffles-order-content { padding: 0 16px; }
}

@media screen and (min-width: 426px) {
  .raffles-order { padding-bottom: 60px; }
  .raffles-order .u-d-mobile { display: none !important; }
  .raffles-order .u-d-desktop { display: inherit !important; }
  .raffles-order-above { margin-bottom: 5px; height: 70px; }
  .raffles-order-close { right: 24px; width: 23px; height: 23px; }
  .raffles-order-close::before,
  .raffles-order-close::after { width: 30px; height: 1.36px; }
  .raffles-order-content { padding: 0 25px; }
  .raffles-order-title { margin: 0 0 22px; font-size: 1.6rem; line-height: 1.5; }
  .raffles-order-text { margin-bottom: 16px; font-size: 1.4rem; line-height: 1.4285714285; }
}

/* btn */
.raffles-order-btn__1 { margin: 0; }
.raffles-order-btn__1 > a,
.raffles-order-btn__1 > button { display: flex; justify-content: center; align-items: center; width: 100%; height: 56px; background-color: #333; border: 1px solid #333; font-size: 1.4rem; font-weight: 700; letter-spacing: 1px; line-height: 1.5; color: #fff; }
.raffles-order-btn__1 > button:disabled { background-color: #ccc; border-color: #ccc; }
.raffles-order-btn__1 > a { text-decoration: none; }
.raffles-order-btn__2 { margin: 0; }
.raffles-order-btn__2 > a,
.raffles-order-btn__2 > button { display: flex; justify-content: center; align-items: center; width: 100%; height: 45px; background-color: #fff; border: 1px solid #333; font-size: 1.4rem; font-weight: 700; letter-spacing: 1px; line-height: 1.5; color: #333; }
.raffles-order-btn__2 > a { text-decoration: none; }
.raffles-order-btn__edit { margin: 0; }
.raffles-order-btn__edit > a { display: inline-block; padding: 3px 18px 0; height: 24px; min-width: 72px; background-color: #eee; text-align: center; text-decoration: none; vertical-align: top; font-size: 1.1rem; letter-spacing: 2px; line-height: 1.8181818181; color: #333; }
.raffles-order-btn__zip { margin: 0; }
.raffles-order-btn__zip > button { display: inline-flex; justify-content: center; align-items: center; width: 64px; height: 24px; background-color: #eee; text-decoration: none; vertical-align: top; font-size: 1.1rem; letter-spacing: 2px; color: #333; }
.raffles-order-btn__text { margin: 12px 0 0; text-align: center; font-size: 1.3rem; letter-spacing: 1px; line-height: 1.5384615384; }
.raffles-order-btn__text a { text-decoration: underline; color: #333; }
.raffles-order-btns { display: grid; gap: 32px; }

@media screen and (min-width: 426px) {
  .raffles-order-btn__1,
  .raffles-order-btn__2 { margin: 0 auto; width: 100%; max-width: 358px; }
  .raffles-order-btn__1 > a,
  .raffles-order-btn__1 > button { height: 56px; font-size: 1.4rem; line-height: 1.4285714285; }
  .raffles-order-btn__2 > a,
  .raffles-order-btn__2 > button { height: 48px; font-size: 1.4rem; line-height: 1.4285714285; }
  .raffles-order-btn__edit > a { padding: 3px 18px 0; height: 24px; min-width: 72px; font-size: 1.1rem; letter-spacing: 2px; }
  .raffles-order-btn__text { margin-top: 12px; font-size: 1.3rem; letter-spacing: 0; line-height: 1.5384615384; }
  .raffles-order-btns { gap: 32px; }
}

/* fieldset */
.raffles-order-fieldset { display: flex; flex-wrap: wrap; align-items: flex-start; row-gap: 12px; column-gap: 16px; margin: 0; padding: 0; border: none; }
.raffles-order-fieldset + .raffles-order-fieldset { margin-top: 8px; }
.raffles-order-fieldset__legend { display: block; margin-bottom: 2px; padding: 0; width: 100%; font-size: 1.2rem; font-weight: 400; line-height: 1.66666666667; }
.raffles-order-fieldset .is-w-mid { width: calc(50% - 8px); }
.raffles-order-fieldset .is-w-large { width: 100%; }
.raffles-order-field__label { display: none; pointer-events: none; position: absolute; top: 50%; left: 10px; transform: translateY(-50%); color: #aaa; }
.raffles-order-field__label .is-required { color: #f33; }
.raffles-order-field__input input:placeholder-shown + .raffles-order-field__label,
.raffles-order-field__select select:has(option:checked[value='']) + .raffles-order-field__label { display: block; }
.raffles-order-field__input,
.raffles-order-field__select { position: relative; background-color: #fff; border: 1px solid #ccc; font-size: 1.4rem; line-height: 1.5; }
.raffles-order-field__input input { padding: 0 10px; width: 100%; height: 46px; }
.raffles-order-field__input textarea { padding: 10px; width: 100%; height: 74px; }
.raffles-order-field__input.is-zip input { padding-right: 84px; }
.raffles-order-field__input.is-zip .raffles-order-btn__zip { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); }
.raffles-order-field__select select { padding: 0 10px; width: 100%; height: 46px; background: url(../img/icon/select1.svg) no-repeat right 10px center; background-size: 16px 8px; }
.raffles-order-field__check__label { display: inline-block; position: relative; }
.raffles-order-field__check__label > input { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: none; border: none; opacity: 0; }
.raffles-order-field__check__image { position: absolute; top: 50%; right: 0; transform: translateY(-50%); margin: 0; }
.raffles-order-field__check.is-type-checkbox > .raffles-order-field__check__label { padding-left: 28px; }
.raffles-order-field__check.is-type-checkbox > .raffles-order-field__check__label > i { position: absolute; top: 1px; left: 0; width: 18px; height: 18px; }
.raffles-order-field__check.is-type-checkbox > .raffles-order-field__check__label > i::before,
.raffles-order-field__check.is-type-checkbox > .raffles-order-field__check__label > i::after { content: ''; position: absolute; }
.raffles-order-field__check.is-type-checkbox > .raffles-order-field__check__label > i::before { top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; border: 1px solid #ccc; }
.raffles-order-field__check.is-type-checkbox > .raffles-order-field__check__label > i::after { top: 50%; left: 4px; transform: translateY(-50%); width: 10px; height: 7px; background: url(../img/icon/checked1-white.svg) no-repeat center center; background-size: 100%; opacity: 0; }
.raffles-order-field__check.is-type-checkbox > .raffles-order-field__check__label > input:checked + i::before { background-color: #333; border-color: #333; }
.raffles-order-field__check.is-type-checkbox > .raffles-order-field__check__label > input:checked + i::after { opacity: 1; }
.raffles-order-field__check.is-type-radio > .raffles-order-field__check__label { padding-left: 36px; }
.raffles-order-field__check.is-type-radio > .raffles-order-field__check__label > i { position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 20px; height: 20px; }
.raffles-order-field__check.is-type-radio > .raffles-order-field__check__label > i::before,
.raffles-order-field__check.is-type-radio > .raffles-order-field__check__label > i::after { content: ''; position: absolute; border-radius: 50%; }
.raffles-order-field__check.is-type-radio > .raffles-order-field__check__label > i::before { top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; border: 1px solid #ccc; }
.raffles-order-field__check.is-type-radio > .raffles-order-field__check__label > i::after { top: 50%; left: 5px; transform: translateY(-50%); width: 10px; height: 10px; background-color: #333; opacity: 0; }
.raffles-order-field__check.is-type-radio > .raffles-order-field__check__label > input:checked + i::after { opacity: 1; }
.raffles-order-field__check__text { font-size: 1.4rem; line-height: 1.4285714285; }
.raffles-order-field__check__text p { margin: 0; }
.raffles-order-field__check__text p + p { margin-top: 5px; }
.raffles-order-field__check__rakuten { margin: 0 0 12px; }
.raffles-order-field__check__rakuten > a { display: inline-block; vertical-align: top; }
.raffles-order-field__check__rakuten img { max-width: 256px; }
.raffles-order-field__lists.is-normal { display: grid; gap: 18px; }
.raffles-order-field__lists.is-vertical .raffles-order-field__lists__item { border-bottom: 1px solid #eee; }
.raffles-order-field__lists.is-vertical .raffles-order-field__lists__label { padding-top: 20px; padding-bottom: 20px; width: 100%; }
.raffles-order-field__check__content { display: none; padding-bottom: 20px; }
.raffles-order-field__note { margin: -4px 0 0; width: 100%; font-size: 1.3rem; line-height: 1.5384615384; }

@media screen and (min-width: 426px) {
  .raffles-order-fieldset + .raffles-order-fieldset { margin-top: 7px; }
  .raffles-order-fieldset__legend { margin-bottom: 3px; font-size: 1.2rem; line-height: 1.6666666666; }
  .raffles-order-field__check__text { font-size: 1.4rem; line-height: 1.4285714285; }
  .raffles-order-field__lists.is-horizontal { display: grid !important; gap: 20px; grid-template-columns: repeat(2,calc(50% - 10px)); }
  .raffles-order-field__note { margin-top: -2px; font-size: 1.3rem; line-height: 1.5384615384; }
}

/* toggle */
.raffles-order-toggle__input__target { display: none; padding-top: 20px; }
.raffles-order-toggle__input__target[aria-hidden=false] { display: block; }

/* block */
.raffles-order-block { position: relative; }
.raffles-order-block + .raffles-order-block { margin-top: 18px; padding-top: 24px; border-top: 1px solid #eee; }
.raffles-order-block__above { position: relative; margin-bottom: 14px; }
.raffles-order-block__title { margin: 0; font-size: 1.4rem; font-weight: 700; line-height: 1.5; }
.raffles-order-block__change { position: absolute; top: 0; right: 0; margin: 0; }
.raffles-order-block__text { margin: 0; font-size: 1.3rem; line-height: 1.53846153846; }
.raffles-order-block__required { margin: 2px 0 15px; font-size: 1.2rem; line-height: 1.66666666667; }
.raffles-order-block__required:first-child { margin-top: 0; }
.raffles-order-block__required:last-child { margin-bottom: 0; }
.raffles-order-block__required .is-required { color: #f33; }
.raffles-order-block__attentions { margin-top: 16px; }
.raffles-order-block__attentions__item { font-size: 1.3rem; line-height: 1.53846153846; }
.raffles-order-block__attentions__item a { color: #333; }
.raffles-order-block__content { font-size: 1.4rem; line-height: 1.4; }
.raffles-order-block__content p { margin: 0; }
.raffles-order-block__content p + p { margin-top: 5px; }
.raffles-order-block__content a { color: #333; }
.raffles-order-block__content .is-note { font-size: 1.3rem; line-height: 1.5384615384; }
.raffles-order-block__content .is-attention { font-size: 1.2rem; }
.raffles-order-block__content .is-info-creditcard { display: flex; flex-wrap: wrap; row-gap: 12px; column-gap: 40px; }
.raffles-order-block__content .is-info-creditcard:not(:first-child) { margin-top: 6px; }
.raffles-order-block__content .is-info-creditcard:not(:last-child) { margin-bottom: 8px; }
.raffles-order-block__content .is-info-creditcard p + p { margin-top: 0; }
.raffles-order-block__content .raffles-order-field__input:not(:last-child) { margin-bottom: 12px; }
.raffles-order-block__login__submit { margin-top: 24px; }
.raffles-order-block__login__forget { margin: 10px 0 0; text-align: center; font-size: 1.3rem; line-height: 1.53846153846; }
.raffles-order-block__login__forget a { color: #333; }
.raffles-order-block__addresses .raffles-order-field__lists.is-vertical { margin-bottom: 30px; border-top: none; border-bottom: 1px solid #ccc; }
.raffles-order-block__addresses .raffles-order-field__lists.is-vertical .raffles-order-field__lists__item:last-child { border-bottom: none; }
.raffles-order-block__shipping { margin-top: 30px; }
.raffles-order-block__delivery { margin-top: 30px; }
.raffles-order-block__delivery__text { margin: 12px 0 0; font-size: 1.3rem; line-height: 1.53846153846; }
.raffles-order-block__delivery__text a { color: #333; }
.raffles-order-block__coin { margin-top: 30px; }
.raffles-order-block__coin__text { margin-bottom: 18px; font-size: 1.4rem; }
.raffles-order-block__coupon { margin-top: 35px; }
.raffles-order-block__payment__cc { padding-left: 20px; }
.raffles-order-block__payment__cc__block + .raffles-order-block__payment__cc__block { margin-top: 30px; }
.raffles-order-block__payment__cc__block .raffles-order-field__check + .raffles-order-fieldset { margin-top: 20px; }
.raffles-order-block__payment__cc__note { margin: 0; font-size: 1.3rem; line-height: 1.53846153846; }
.raffles-order-block__payment__cc__note:not(:first-child) { margin-top: 8px; }
.raffles-order-block__payment__cc__note:not(:last-child) { margin-bottom: 14px; }
.raffles-order-block__payment__text { margin: 0; font-size: 1.4rem; line-height: 1.57142857143; }
.raffles-order-block__payment__gmo { margin: 10px 0; }
.raffles-order-block__payment__gmo img { max-width: 186px; }
.raffles-order-block__payment__amazon { margin-top: 12px; }
.raffles-order-block__optin { margin-top: 20px; }
.raffles-order-block__password { margin-top: 18px; }
.raffles-order-block__privacy { margin-top: 14px; }

@media screen and (min-width: 426px) {
  .raffles-order-block + .raffles-order-block { margin-top: 26px; padding-top: 32px; }
  .raffles-order-block__above { margin-bottom: 14px; }
  .raffles-order-block__title { font-size: 1.5rem; line-height: 1.5; }
  .raffles-order-block__text { font-size: 1.4rem; line-height: 1.42857142857; }
  .raffles-order-block__required { margin: 6px 0 16px; font-size: 1.3rem; line-height: 1.53846153846; }
  .raffles-order-block__attentions__item { font-size: 1.3rem; line-height: 1.53846153846; }
  .raffles-order-block__content { font-size: 1.4rem; line-height: 1.2857142857; }
  .raffles-order-block__content p + p { margin-top: 10px; }
  .raffles-order-block__content .is-note { font-size: 1.3rem; line-height: 1.5384615384; }
  .raffles-order-block__content .is-attention { font-size: 1.1rem; }
  .raffles-order-block__content .is-info-creditcard { row-gap: 12px; column-gap: 40px; }
  .raffles-order-block__content .is-info-creditcard:not(:first-child) { margin-top: 10px; }
  .raffles-order-block__content .is-info-creditcard:not(:last-child) { margin-bottom: 5px; }
  .raffles-order-block__content .raffles-order-field__input:not(:last-child) { margin-bottom: 12px; }
  .raffles-order-block__login__submit { margin-top: 20px; }
  .raffles-order-block__login__submit .raffles-order-btn__3 { margin: 0 auto; max-width: 358px; }
  .raffles-order-block__login__forget { margin-top: 10px; font-size: 1.3rem; line-height: 1.53846153846; }
  .raffles-order-block__login__forget a { color: #333; }
  .raffles-order-block__addresses .raffles-order-field__lists { margin-bottom: 30px; }
  .raffles-order-block__shipping { margin-top: 30px; }
  .raffles-order-block__delivery { margin-top: 30px; }
  .raffles-order-block__delivery__text { margin-top: 12px; font-size: 1.3rem; }
  .raffles-order-block__coin__text { margin-bottom: 18px; font-size: 1.4rem; line-height: 1.42857142857; }
  .raffles-order-block__coupon { margin-top: 35px; }
  .raffles-order-block__optin { margin-top: 20px; }
  .raffles-order-block__password { margin-top: 18px; }
  .raffles-order-block__privacy { margin-top: 16px; }
}

/* products */
.raffles-order-products__item { display: grid; align-items: flex-start; gap: 12px; grid-template-columns: 120px calc(100% - (120px + 12px)); }
.raffles-order-products__photo { position: relative; aspect-ratio: 1 / 1.2; }
.raffles-order-products__brand { margin: 0 0 2px; font-size: 1.4rem; font-weight: 400; line-height: 1.28571428571; }
.raffles-order-products__title { margin: 0; font-size: 1.4rem; font-weight: 500; line-height: 1.28571428571; }
.raffles-order-products__sku { margin: 3px 0 0; font-size: 1.2rem; font-weight: 400; line-height: 1.33333333333; color: #aaa; }
.raffles-order-products__subtotal { margin: 3px 0 0; font-size: 1.2rem; font-weight: 400; line-height: 1.5; }

@media screen and (min-width: 426px) {
  .raffles-order-products__item { gap: 12px; grid-template-columns: 120px calc(100% - (120px + 12px)); }
  .raffles-order-products__brand { margin-bottom: 3px; font-size: 1.4rem; }
  .raffles-order-products__title { font-size: 1.4rem; }
  .raffles-order-products__sku { margin-top: 5px; font-size: 1.2rem; }
  .raffles-order-products__subtotal { margin-top: 3px; font-size: 1.2rem; }
}

/* totals */
.raffles-order-totals { position: relative; margin-top: 24px; padding-top: 20px; border-top: 1px solid #eee; }
.raffles-order-totals__block { position: relative; }
.raffles-order-totals__block + .raffles-order-totals__block { margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee; }
.raffles-order-totals__box { display: flex; justify-content: space-between; align-items: center; margin: 0; }
.raffles-order-totals__box + .raffles-order-totals__box { margin-top: 10px; }
.raffles-order-totals__box__title { font-size: 1.4rem; line-height: 1.5; }
.raffles-order-totals__box__text { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 1px; line-height: 1.5; }
.raffles-order-totals__box__text.is-total { font-size: 1.8rem; font-weight: 500; }

@media screen and (min-width: 426px) {
  .raffles-order-totals { margin-top: 32px; padding-top: 20px; }
  .raffles-order-totals__block + .raffles-order-totals__block { margin-top: 20px; padding-top: 20px; }
  .raffles-order-totals__box + .raffles-order-totals__box { margin-top: 10px; }
  .raffles-order-totals__box__title { font-size: 1.4rem; }
  .raffles-order-totals__box__text { font-size: 1.4rem; }
  .raffles-order-totals__box__text.is-total { font-size: 1.8rem; }
}

/* toggle */
.raffles-order-toggle-input__target { display: none; padding-top: 20px; }
.raffles-order-toggle-input__target[aria-hidden=false] { display: block; }

@media screen and (min-width: 426px) {
}

/* login */
.raffles-order-login + .raffles-order-login { margin-top: 28px; padding-top: 28px; border-top: 1px solid #ccc; }
.raffles-order-login__submit { margin-top: 24px; }
.raffles-order-login__forget { margin: 10px 0 0; text-align: center; font-size: 1.3rem; line-height: 1.53846153846; }
.raffles-order-login__forget a { text-decoration: underline; color: #333; }
.raffles-order-login__registration { margin-top: 28px; }

@media screen and (min-width: 426px) {
  .raffles-order-login + .raffles-order-login { margin-top: 28px; padding-top: 28px; }
  .raffles-order-login__submit { margin-top: 32px; }
  .raffles-order-login__forget { margin-top: 8px; font-size: 1.3rem; line-height: 1.5384615384; }
  .raffles-order-login__registration { margin-top: 28px; }
}

/* registration */
.raffles-order-registration__password { margin-top: 15px; }
.raffles-order-registration__policy { margin-top: 42px; }
.raffles-order-registration__policy .raffles-order-text { margin-bottom: 20px; }
.raffles-order-registration__submit { margin-top: 30px; padding-top: 32px; border-top: 1px solid #ccc; }
.raffles-order-registration .raffles-order-btns { margin-top: 30px; padding-top: 32px; border-top: 1px solid #ccc; }

@media screen and (min-width: 426px) {
  .raffles-order-registration__password { margin-top: 11px; }
  .raffles-order-registration__policy { margin-top: 44px; }
  .raffles-order-registration__submit { margin-top: 32px; padding-top: 32px; }
  .raffles-order-registration .raffles-order-btns { margin-top: 30px; padding-top: 32px; }
}

/* size */
.raffles-order-size .raffles-order-text { margin-bottom: 21px; }
.raffles-order-size__lists { display: grid; row-gap: 12px; column-gap: 16px; grid-template-columns: repeat(2, calc(50% - 16px)); }
.raffles-order-size__lists__item .raffles-order-field__check.is-type-radio > .raffles-order-field__check__label { padding: 12px 10px 12px 40px; width: 100%; border: 1px solid #ccc; }
.raffles-order-size__lists__item .raffles-order-field__check.is-type-radio > .raffles-order-field__check__label > i { left: 10px; }
.raffles-order-size__submit { margin-top: 31px; }

@media screen and (min-width: 426px) {
  .raffles-order-size .raffles-order-text { margin-bottom: 21px; }
  .raffles-order-size__lists { row-gap: 12px; column-gap: 17px; grid-template-columns: repeat(2, calc(50% - 17px)); }
  .raffles-order-size__lists__item .raffles-order-field__check.is-type-radio > .raffles-order-field__check__label { padding: 12px 10px 12px 40px; }
  .raffles-order-size__lists__item .raffles-order-field__check.is-type-radio > .raffles-order-field__check__label > i { left: 10px; }
  .raffles-order-size__submit { margin-top: 32px; }
}

/* delivery */
.raffles-order-delivery .raffles-order-btns { margin-top: 32px; padding-top: 32px; border-top: 1px solid #ccc; }

@media screen and (min-width: 426px) {
  .raffles-order-delivery .raffles-order-btns { margin-top: 32px; padding-top: 32px; }
}

/* payment */
.raffles-order-payment .raffles-order-btns { margin-top: 32px; }

#payment_name_15 .raffles-order-field__check__image { width: 30px; }
#payment_name_7 .raffles-order-field__check__image { width: 76px; }
#payment_name_16 .raffles-order-field__check__image { width: 64px; }
#payment_name_4 .raffles-order-field__check__image { width: 56px; }
#payment_name_11 .raffles-order-field__check__image { width: 62px; }
#payment_name_14 .raffles-order-field__check__image { width: 64px; }
#payment_name_2 .raffles-order-field__check__image { width: 50px; }
#payment_name_17 .raffles-order-field__check__image { width: 85px; margin-right: -10px; }

@media screen and (min-width: 426px) {
  .raffles-order-payment .raffles-order-btns { margin-top: 34px; }
}

/* account */
.raffles-order-account .raffles-order-btns { margin-top: 32px; padding-top: 32px; border-top: 1px solid #ccc; }

@media screen and (min-width: 426px) {
  .raffles-order-account .raffles-order-btns { margin-top: 32px; padding-top: 32px; }
}

/* confirm */
.raffles-order-confirm__below { margin-top: 20px; padding-top: 24px; border-top: 1px solid #ccc; }
.raffles-order-confirm__below .raffles-order-btns { margin-top: 30px; }

@media screen and (min-width: 426px) {
  .raffles-order-confirm__below { margin-top: 20px; padding-top: 24px; }
  .raffles-order-confirm__below .raffles-order-btns { margin-top: 32px; }
}

/* complete */
.raffles-order-complete .raffles-order-text { margin: 0; }
.raffles-order-complete__back { margin-top: 92px; }

@media screen and (min-width: 426px) {
  .raffles-order-complete__back { margin-top: 60px; }
}