/* ========================================
   Common
======================================== */
.product_page .nk-breadcrumb {
    margin: 90px auto 0;
}

.product_page .ec-productRole {
    max-width: 1240px;
    margin: 20px auto 0;
}

/* ========================================
   Simulation
======================================== */
#simulation-overlay {
    display: none;
}

#simulation-overlay.is-visible {
    display: block;
}

.simulation-container {
    display: none;
}

.simulation-container.is-visible {
    display: block;
}

#btn-zoom svg:last-of-type {
    width: 40px;
}

/* ========================================
   Profile
======================================== */
.product_page .ec-headingTitle {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px !important;
    font-weight: 700;
    line-height: normal;
    margin: 0;
}

.product_page .ec-productRole__description {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px !important;
    font-weight: 400;
    line-height: normal;
    margin: 8px 0 0 !important;
}

.product_page .nk-product-custom-link {
    margin: 15px 0 0;
}

.product_page .nk-product-custom-link__anchor {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ec-productRole .ec-productRole__actions .ec-select select {
    min-width: 0;
}

.product_page .ec-productRole .ec-productRole__actions {
    padding: 20px 0 0;
}

.product_page .ec-numberInput {
    margin: 15px 0 0;
}

.product_page .ec-numberInput span {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
    margin: 0 25px 0 0;
}

.product_page .ec-numberInput input {
    width: 74px;
    height: 53px;
    border-radius: 5px;
    border: 1px solid #D9D9D9;
    margin: 0;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
}

.product_page .ec-productRole .ec-productRole__price {
    padding: 0;
    border-bottom: none;
    margin: 15px 0 0;
}

.product_page .ec-price {
    padding: 0;
    margin: 0;
}

.product_page .ec-price .ec-price__price {
    padding: 0 !important;
    margin: 0 !important;
}

.product_page .ec-productRole .ec-productRole__price {
    color: #DE4848 !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 35px !important;
    font-weight: 700 !important;
    line-height: normal;
}

.product_page .ec-price .ec-price__tax {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    margin: 0;
}

.product_page .ec-productRole .ec-productRole__btn {
    margin: 30px 0 0;
}

.product_page .ec-blockBtn--action.add-cart,
.product_page .ec-blockBtn--action[disabled] {
    padding: 20px 0 !important;
    border-radius: 5px !important;
    background: #DE4848;
    color: #FFF !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: normal;
    text-align: center;
}

.product_page .row.d-flex.justify-content-between.pb-3 {
    margin: 13px 0 0;
    padding: 0 !important;
    gap: 15px;
}

.product_page .row.d-flex.justify-content-between.pb-3 .col-6 {
    margin: 0;
    padding: 0;
    flex: 1;
}

.product_page .row.d-flex.justify-content-between.pb-3 .col-6 button {
    padding: 15px !important;
    color: #FFF !important;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700 !important;
    line-height: normal;
}

.product_page .row.d-flex.justify-content-between {
    margin: 15px 0 0;
}

.product_page .row.d-flex.justify-content-between .col-12 {
    padding: 0 !important;
    flex: 1;
}

.product_page .row.d-flex.justify-content-between .col-12 button {
    padding: 15px !important;
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    border-radius: 5px;
    border: 1px solid #888;
}

.product_page .row.py-3 {
    margin: 15px 0 0;
    padding: 0 !important;
    display: block;
}

.product_page .row.py-3 .col-12 {
    margin: 0;
    padding: 0;
}

.product_page .row.py-3 .col-12 button {
    border-radius: 5px;
    background: #5AC2D8;
}

.product_page .row.py-3 .col-12 button .row.m-0.h-100.align-items-stretch.justify-content-end {
    justify-content: space-between !important;
    align-items: center !important;
}

.product_page .row.py-3 .col-12 button .col-8.col-sm-8.py-3.pl-3.pr-2.d-flex.flex-column.justify-content-center {
    width: calc(100% - 100px) !important;
    flex: initial !important;
    display: block !important;
    padding: 20px 0 20px 19px !important;
}

.product_page .row.py-3 .col-12 button .col-8.col-sm-8.py-3.pl-3.pr-2.d-flex.flex-column.justify-content-center span:first-of-type {
    color: #FFF !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px !important;
    font-weight: 700;
    line-height: normal;
    display: block;
    margin: 0 !important;
}

.product_page .row.py-3 .col-12 button .col-8.col-sm-8.py-3.pl-3.pr-2.d-flex.flex-column.justify-content-center span:nth-of-type(2) {
    color: #FFF !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: normal !important;
}

.product_page .row.py-3 .col-12 button .col-8.col-sm-8.py-3.pl-3.pr-2.d-flex.flex-column.justify-content-center span .nk-highlight {
    font-size: 20px !important;
    display: inline;
}

.product_page .col-4.col-sm-3.p-0.position-relative.d-flex.align-items-center.justify-content-center {
    width: 100px !important;
    height: 109px;
    flex: initial !important;
    display: block !important;
    padding: 0 20px 0 0 !important;
}

.product_page .col-4.col-sm-3.p-0.position-relative.d-flex.align-items-center.justify-content-center img {
    width: 100% !important;
    height: 100%;
}

/* ========================================
   Introduction
======================================== */
.nk-product-introduction {
    margin: 85px 0 0 calc(50% - 50vw);
    padding: 0 0 100px;
    width: 100vw;
}

.nk-product-introduction__head .nk-section-head__img {
    width: 237px;
}

.nk-product-introduction__head .nk-section-head__subtitle {
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 170%;
    margin: -10px 0 0;
}

.nk-product-introduction__body {
    width: 1240px;
    max-width: 100%;
    padding: 0 20px;
    margin: 0 auto;
}

.nk-product-introduction h1,
.nk-product-introduction h2,
.nk-product-introduction h3,
.nk-product-introduction h4,
.nk-product-introduction h5,
.nk-product-introduction h6 {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 170%;
    margin: 30px 0 0;
}

.nk-product-introduction p:not(.nk-section-head__subtitle) {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 170%;
    margin: 30px 0 0;
}

.nk-product-introduction p img {
    margin: 0 auto;
}

.nk-product-introduction a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ========================================
   Spec
======================================== */
.nk-product-spec {
    padding: 60px 0 30px;
    background: #F5F5F5;
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

.nk-product-spec__head .nk-section-head__img {
    width: 130px;
}

.nk-product-spec__head .nk-section-head__subtitle {
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 170%;
    margin: -10px 0 0;
}

.nk-product-spec__body {
    width: 1240px;
    max-width: 100%;
    padding: 0 20px;
    margin: 0 auto;
}

.nk-product-spec h1,
.nk-product-spec h2,
.nk-product-spec h3,
.nk-product-spec h4,
.nk-product-spec h5,
.nk-product-spec h6 {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 170%;
    margin: 30px 0 0;
}

.nk-product-spec p:not(.nk-section-head__subtitle) {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 170%;
    margin: 30px 0 0;
}

.nk-product-spec p img {
    margin: 0 auto;
}

.nk-product-spec a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.nk-product-spec table {
    margin: 30px 0 0;
    border-collapse: collapse;
}

.nk-product-spec table tr {
    border-top: 1px dashed #888;
}

.nk-product-spec table tr:first-of-type {
    border-top: 1px solid #888;
}

.nk-product-spec table tr:last-of-type {
    border-bottom: 1px solid #888;
}

.nk-product-spec table td:first-of-type {
    padding: 20px 15px;
}

.nk-product-spec table td:not(:first-of-type) {
    padding: 20px 30px;
    background: #F5F5F5;
}

/* ========================================
   Delivery Method
======================================== */
.nk-product-delivery {
    padding: 60px 0 30px;
    background: #F5F5F5;
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

.nk-product-delivery__head .nk-section-head__img {
    width: 291px;
}

.nk-product-delivery .nk-section-head__subtitle {
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 170%;
    margin: -10px 0 0;
}

.nk-product-delivery__body {
    width: 1240px;
    max-width: 100%;
    padding: 0 20px;
    margin: 0 auto;
}

.nk-product-delivery h1,
.nk-product-delivery h2,
.nk-product-delivery h3,
.nk-product-delivery h4,
.nk-product-delivery h5,
.nk-product-delivery h6 {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 170%;
    margin: 30px 0 0;
}

.nk-product-delivery p:not(.nk-section-head__subtitle) {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 170%;
    margin: 30px 0 0;
}

.nk-product-delivery p img {
    margin: 0 auto;
}

.nk-product-delivery a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.nk-product-delivery table {
    margin: 30px 0 0;
    border-collapse: collapse;
}

.nk-product-delivery table tr {
    border-top: 1px dashed #888;
}

.nk-product-delivery table tr:first-of-type {
    border-top: 1px solid #888;
}

.nk-product-delivery table tr:last-of-type {
    border-bottom: 1px solid #888;
}

.nk-product-delivery table td:first-of-type {
    padding: 20px 15px;
}

.nk-product-delivery table td:not(:first-of-type) {
    padding: 20px 30px;
    background: #F5F5F5;
}

/* ========================================
   Review
======================================== */
.nk-review {
    margin: 85px 0 0;
}

.nk-review__inner {
    width: 1240px;
    max-width: 100%;
    padding: 0 20px 75px;
    margin: 0 auto;
    border-bottom: 1px solid #D9D9D9;
    overflow: hidden;
}

.nk-review__head .nk-section-head__img {
    width: 130px;
}

.nk-review .nk-section-head__subtitle {
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 170%;
    margin: -10px 0 0;
}

.nk-review__swiper {
    overflow: visible;
    position: relative;
    margin: 45px 0 0;
}

.nk-review__item {
    border-radius: 5px;
    border: 1px solid #888;
    padding: 25px 20px 30px;
}

.nk-review__item-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
}

.nk-review__item-name {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 170%;
}

.nk-review__item-date {
    color: #888;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 170%;
}

.nk-review__item-title {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%;
    margin: 10px 0 0;
}

.nk-review__item-stars {
    color: #FFC300;
    margin: 7px 0 0;
}

.nk-review__item-comment {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #000;
    text-overflow: ellipsis;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    margin: 10px 0 0;
}

.nk-review__item-comment.is-open {
    display: block;
    -webkit-line-clamp: unset;
}

.nk-review__item-more {
    border: none;
    background: transparent;
    padding: 0;
    display: block;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
    text-decoration: underline;
    margin: 10px 0 0 auto;
}

.nk-review__prev,
.nk-review__next {
    width: 44px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.nk-review__prev {
    left: -20px;
}

.nk-review__next {
    right: -20px;
}

/* ========================================
   Calendar
======================================== */
.nk-calendar {
    margin: 65px 0 0;
}

.nk-calendar__inner {
    width: 1240px;
    max-width: 100%;
    padding: 0 20px 50px;
    margin: 0 auto;
    border-bottom: 1px solid #D9D9D9;
}

.nk-calendar__head .nk-section-head__img {
    width: 217px;
}

.nk-calendar .nk-section-head__subtitle {
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 170%;
    margin: -10px 0 0;
}

/* PC: Swiperを無効化して2カラム表示 */
.nk-calendar__swiper {
    overflow: visible;
    margin: 40px 0 0;
}

.nk-calendar__swiper .swiper-wrapper {
    display: flex;
    justify-content: center;
    gap: 10.4%;
}

.nk-calendar__swiper .swiper-slide {
    width: auto;
    flex-shrink: 0;
}

.nk-calendar__prev,
.nk-calendar__next {
    display: none;
}

.nk-calendar__table {
    width: 243px;
    max-width: 100%;
    border-collapse: separate;
    border-spacing: 0 9px;
}

.nk-calendar__month-head {
    padding: 0 0 10px;
    border-bottom: 1px solid #000;
}

.nk-calendar__month-head-inner {
    display: flex;
    align-items: flex-end;
    width: 100%;
}

.nk-calendar__month-head span {
    display: block;
}

.nk-calendar__month-num {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 41px;
    font-weight: 400;
    line-height: 170%;
    margin: 0 5px -13px 0;
}

.nk-calendar__month-en {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 170%;
}

.nk-calendar__month-year {
    color: #000;
    text-align: right;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 170%;
    margin-left: auto;
}

.nk-calendar__dow {
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 170%;
}

.nk-calendar__day {
    width: 29px;
    padding: 3.79px 0px;
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 170%;
}

.nk-calendar__day.nk-calendar__day--holiday {
    border-radius: 50%;
    background: #FFEE06;
}

.nk-calendar__legend {
    margin: 30px 0 0;
    text-align: center;
}

.nk-calendar__legend-item {
    display: inline-block;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 170%;
    padding: 0 0 0 23px;
    position: relative;
}

.nk-calendar__legend-item::before {
    content: '';
    width: 17px;
    height: 17px;
    background: #FFEE06;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

/* ========================================
   Related Items
======================================== */
.nk-related {
    margin: 60px 0 0;
}

.nk-related__inner {
    width: 1240px;
    max-width: 100%;
    padding: 0 20px 80px;
    margin: 0 auto;
    border-bottom: 1px solid #D9D9D9;
}

.nk-related__head .nk-section-head__img {
    width: 289px;
}

.nk-related__head .nk-section-head__subtitle {
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 170%;
    margin: -10px 0 0;
}

.nk-related__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 30px;
    margin: 30px 0 0;
}

.nk-related__item a {
    display: block;
}

.nk-related__img {
    overflow: hidden;
}

.nk-related__img img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.nk-related__name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    color: #000;
    text-overflow: ellipsis;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 170%;
    margin: 15px 0 0;
}

.nk-related__price {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 170%;
}

.nk-related__price-num {
    font-size: 18px;
}

/* ========================================
   Recommend Items
======================================== */
.nk-recommend {
    margin: 60px 0 0;
}

.nk-recommend__inner {
    width: 1240px;
    max-width: 100%;
    padding: 0 20px 95px;
    margin: 0 auto;
    border-bottom: 1px solid #D9D9D9;
    overflow: hidden;
    position: relative;
}

.nk-recommend__head .nk-section-head__img {
    width: 362px;
}

.nk-recommend__head .nk-section-head__subtitle {
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 170%;
    margin: -10px 0 0;
}

.nk-recommend__swiper {
    overflow: hidden;
    margin: 40px 0 0;
}

.nk-recommend__img {
    overflow: hidden;
}

.nk-recommend__img img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.nk-recommend__category {
    color: #888;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 170%;
    margin: 8px 0 0;
}

.nk-recommend__name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    color: #000;
    text-overflow: ellipsis;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 170%;
    margin: 4px 0 0;
}

.nk-recommend__price {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 170%;
}

.nk-recommend__price-num {
    font-size: 18px;
}

.nk-recommend__prev,
.nk-recommend__next {
    width: 44px;
    position: absolute;
    bottom: 55px;
    z-index: 10;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: block;
}

.nk-recommend__prev {
    left: 20px;
}

.nk-recommend__next {
    right: 20px;
}

/* ========================================
   Viewed Items
======================================== */
.nk-viewed {
    margin: 60px 0 0;
}

.nk-viewed__inner {
    width: 1240px;
    max-width: 100%;
    padding: 0 20px 95px;
    margin: 0 auto;
    border-bottom: 1px solid #D9D9D9;
    overflow: hidden;
    position: relative;
}

.nk-viewed__head .nk-section-head__img {
    width: 241px;
}

.nk-viewed__head .nk-section-head__subtitle {
    color: #000;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 170%;
    margin: -10px 0 0;
}

.nk-viewed__swiper {
    overflow: hidden;
    margin: 40px 0 0;
}

.nk-viewed__img {
    overflow: hidden;
}

.nk-viewed__img img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.nk-viewed__category {
    color: #888;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 170%;
    margin: 8px 0 0;
}

.nk-viewed__name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    color: #000;
    text-overflow: ellipsis;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 170%;
    margin: 4px 0 0;
}

.nk-viewed__price {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 170%;
}

.nk-viewed__price-num {
    font-size: 18px;
}

.nk-viewed__prev,
.nk-viewed__next {
    width: 44px;
    position: absolute;
    bottom: 55px;
    z-index: 10;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: block;
}

.nk-viewed__prev {
    left: 20px;
}

.nk-viewed__next {
    right: 20px;
}

/* ========================================
   SP
======================================== */
@media (max-width: 768px) {
    /* Common */
    .product_page .nk-breadcrumb {
        margin: 0;
    }

    .product_page .ec-productRole {
        margin: 10px auto 0;
    }

    /* Profile */
    .product_page .ec-headingTitle {
        font-size: 20px !important;
    }

    .product_page .nk-product-custom-link {
        margin: 15px 0 0;
    }

    .product_page .nk-product-custom-link__anchor {
        font-size: 14px;
    }

    .product_page .sticky-simulation-area {
        margin: 17px 0;
        border-radius: 0 0 10px 10px;
    }

    .product_page .option_Label label {
        font-size: 14px;
    }

    .product_page .option_Label span {
        font-size: 14px;
    }

    .product_page .ec-productRole .ec-productRole__actions {
        padding: 0;
    }

    .product_page .ec-productRole .ec-productRole__price {
        margin: 3px 0 0;
    }

    .product_page .ec-price .ec-price__price {
        color: #DE4848 !important;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 35px !important;
        font-weight: 400 !important;
        line-height: normal;
    }

    .product_page .ec-productRole .ec-productRole__btn {
        margin: 15px 0 0;
    }

    .product_page .ec-blockBtn--action.add-cart,
    .product_page .ec-blockBtn--action[disabled] {
        padding: 20px 10px !important;
        font-size: 18px;
    }

    .product_page .bg-white.container.px-0 {
        max-width: 100%;
    }

    .product_page .row.d-flex.justify-content-between.pb-3 {
        margin: 0;
        display: block !important;
    }

    .product_page .row.d-flex.justify-content-between.pb-3 .col-6 {
        width: 100%;
        margin: 15px 0 0;
    }

    .product_page .row.d-flex.justify-content-between.pb-3 .col-6 button {
        font-size: 14px;
    }

    .product_page .row.d-flex.justify-content-between .col-12 button {
        font-size: 14px;
    }

    .product_page .row.py-3 .col-12 button .col-8.col-sm-8.py-3.pl-3.pr-2.d-flex.flex-column.justify-content-center {
        padding: 15px 0 15px 15px !important;
    }

    .product_page .row.py-3 .col-12 button .col-8.col-sm-8.py-3.pl-3.pr-2.d-flex.flex-column.justify-content-center span:first-of-type {
        font-size: 18px !important;
    }

    .product_page .row.py-3 .col-12 button .col-8.col-sm-8.py-3.pl-3.pr-2.d-flex.flex-column.justify-content-center span:nth-of-type(2) {
        font-size: 16px !important;
        margin: 7px 0 0;
    }

    .product_page .row.py-3 .col-12 button .col-8.col-sm-8.py-3.pl-3.pr-2.d-flex.flex-column.justify-content-center span .nk-highlight {
        display: none;
    }

    /* Introduction */
    .nk-product-introduction {
        margin: 40px 0 0 calc(50% - 50vw);
        padding: 0 0 45px;
    }

    .nk-product-introduction__head .nk-section-head__img {
        width: 189px;
    }

    .nk-product-introduction__head .nk-section-head__subtitle {
        font-size: 12px;
    }

    .nk-product-introduction__body {
        width: 100%;
    }

    .nk-product-introduction h1,
    .nk-product-introduction h2,
    .nk-product-introduction h3,
    .nk-product-introduction h4,
    .nk-product-introduction h5,
    .nk-product-introduction h6 {
        font-size: 18px;
        margin: 15px 0 0;
    }

    .nk-product-introduction p:not(.nk-section-head__subtitle) {
        font-size: 14px;
        margin: 10px 0 0;
    }

    .nk-product-introduction p img {
        margin: 20px auto 0;
    }

    /* Spec */
    .nk-product-spec {
        padding: 45px 0 15px;
    }

    .nk-product-spec__head .nk-section-head__img {
        width: 104px;
    }

    .nk-product-spec__head .nk-section-head__subtitle {
        font-size: 12px;
    }

    .nk-product-spec__body {
        width: 100%;
    }

    .nk-product-spec h1,
    .nk-product-spec h2,
    .nk-product-spec h3,
    .nk-product-spec h4,
    .nk-product-spec h5,
    .nk-product-spec h6 {
        font-size: 18px;
        margin: 15px 0 0;
    }

    .nk-product-spec p:not(.nk-section-head__subtitle) {
        font-size: 14px;
        margin: 10px 0 0;
    }

    .nk-product-spec p img {
        margin: 20px auto 0;
    }

    .nk-product-spec table {
        margin: 15px 0 0;
    }

    .nk-product-spec table td:first-of-type {
        width: 25%;
        padding: 25px 15px;
    }

    .nk-product-spec table td:not(:first-of-type) {
        padding: 25px 20px;
    }

    /* Delivery Method */
    .nk-product-delivery {
        padding: 45px 0 15px;
    }

    .nk-product-delivery__head .nk-section-head__img {
        width: 233px;
    }

    .nk-product-delivery .nk-section-head__subtitle {
        font-size: 12px;
    }

    .nk-product-delivery__body {
        width: 100%;
    }

    .nk-product-delivery h1,
    .nk-product-delivery h2,
    .nk-product-delivery h3,
    .nk-product-delivery h4,
    .nk-product-delivery h5,
    .nk-product-delivery h6 {
        font-size: 18px;
        margin: 15px 0 0;
    }

    .nk-product-delivery p:not(.nk-section-head__subtitle) {
        font-size: 14px;
        margin: 10px 0 0;
    }

    .nk-product-delivery p img {
        margin: 20px auto 0;
    }

    .nk-product-delivery table {
        margin: 15px 0 0;
    }

    .nk-product-delivery table td:first-of-type {
        width: 25%;
        padding: 25px 15px;
    }

    .nk-product-delivery table td:not(:first-of-type) {
        padding: 25px 20px;
    }

    /* Review */
    .nk-review {
        margin: 55px 0 0;
    }

    .nk-review__inner {
        width: 100%;
        padding: 0 45px 0;
        border-bottom: none;
    }

    .nk-review__head .nk-section-head__img {
        width: 103px;
    }

    .nk-review .nk-section-head__subtitle {
        font-size: 12px;
    }

    .nk-review__swiper {
        margin: 23px 0 0;
    }

    .nk-review__item-name {
        font-size: 14px;
    }

    .nk-review__item-date {
        font-size: 10px;
    }

    .nk-review__item-title {
        font-size: 14px;
        margin: 0;
    }

    .nk-review__item-stars {
        margin: 4px 0 0;
    }

    .nk-review__item-comment {
        font-size: 14px;
    }

    .nk-review__item-more {
        font-size: 12px;
        margin: 7px 0 0 auto;
    }

    /* Calendar */
    .nk-calendar__inner {
        width: 100%;
        padding: 0 20px 0;
        border-bottom: none;
    }

    .nk-calendar__head .nk-section-head__img {
        width: 169px;
    }

    .nk-calendar .nk-section-head__subtitle {
        font-size: 12px;
    }

    .nk-calendar__swiper {
        overflow: hidden;
        position: relative;
        margin: 0;
    }

    .nk-calendar__swiper .swiper-wrapper {
        display: flex;
        justify-content: flex-start;
        gap: 0;
    }

    .nk-calendar__swiper .swiper-slide {
        width: 100%;
        flex-shrink: 0;
        display: flex;
        justify-content: center;
    }

    .nk-calendar__prev,
    .nk-calendar__next {
        width: 30px;
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(50%);
        z-index: 10;
        background: #FFFFFF;
        border: none;
        border-radius: 50%;
        padding: 0;
        cursor: pointer;
    }

    .nk-calendar__prev {
        left: 0;
    }

    .nk-calendar__next {
        right: 0;
    }

    .nk-calendar__legend {
        margin: 20px 0 0;
    }

    /* Related Items */
    .nk-related {
        margin: 70px 0 0;
    }

    .nk-related__inner {
        width: 100%;
        padding: 0 20px 0;
        border-bottom: none;
    }

    .nk-related__head .nk-section-head__img {
        width: 227px;
    }

    .nk-related__head .nk-section-head__subtitle {
        font-size: 12px;
    }

    .nk-related__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 15px;
        margin: 15px 0 0;
    }

    .nk-related__name {
        font-size: 14px;
        margin: 10px 0 0;
    }

    .nk-related__price {
        font-size: 12px;
    }

    .nk-related__price-num {
        font-size: 16px;
    }

    /* Recommend Items */
    .nk-recommend__inner {
        width: 100%;
        padding: 0 20px 0;
        border-bottom: none;
    }

    .nk-recommend__head .nk-section-head__img {
        width: 280px;
    }

    .nk-recommend__head .nk-section-head__subtitle {
        font-size: 12px;
    }

    .nk-recommend__swiper {
        overflow: visible;
        margin: 15px 0 0;
    }

    .nk-recommend__category {
        font-size: 10px;
        margin: 10px 0 0;
    }

    .nk-recommend__name {
        font-size: 14px;
        margin: 0;
    }

    .nk-recommend__price {
        font-size: 12px;
    }

    .nk-recommend__price-num {
        font-size: 16px;
    }

    .nk-recommend__prev,
    .nk-recommend__next {
        width: 40px;
        bottom: auto;
        top: 50%;
        transform: translateY(-35%);
    }

    .nk-recommend__prev {
        left: 7px;
    }

    .nk-recommend__next {
        right: 7px;
    }

    /* Viewed Items */
    .nk-viewed__inner {
        width: 100%;
        padding: 0 20px 0;
        border-bottom: none;
    }

    .nk-viewed__head .nk-section-head__img {
        width: 194px;
    }

    .nk-viewed__head .nk-section-head__subtitle {
        font-size: 12px;
    }

    .nk-viewed__swiper {
        overflow: visible;
        margin: 15px 0 0;
    }

    .nk-viewed__category {
        font-size: 10px;
        margin: 10px 0 0;
    }

    .nk-viewed__name {
        font-size: 14px;
        margin: 0;
    }

    .nk-viewed__price {
        font-size: 12px;
    }

    .nk-viewed__price-num {
        font-size: 16px;
    }

    .nk-viewed__prev,
    .nk-viewed__next {
        width: 40px;
        bottom: auto;
        top: 50%;
        transform: translateY(-35%);
    }

    .nk-viewed__prev {
        left: 7px;
    }

    .nk-viewed__next {
        right: 7px;
    }
}