@charset "utf-8";
.image_pc {display: block;}
.image_sp {display: none;}
@media screen and (max-width:768px) {
    .image_pc {display: none;}
    .image_sp {display: block;}
}
.original__container {
    background-color: #fdf9f6;
    background-image: linear-gradient(#fdf9f6cf, #fdf9f6cf),
        url(https://heilis.itembox.design/item/img/feature/noise.png);
    background-repeat: repeat;
    background-size: 100px;
    padding-bottom: calc(120/1280*100vw);
}
.mt120 {
    margin-top: calc(120/1280*100vw);
}
.fontDin {
    font-family: "din-2014", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.fontGill {
    font-family: gill-sans-nova, sans-serif;
    font-weight: 400;
    font-style: normal;
}
.cross {
    position: relative;
    width: calc(80/2560*100vw);
    height: calc(80/2560*100vw);
    display: block;
    margin: 0 auto;
    margin-bottom: calc(20/2560*100vw);
}

.cross::before,
.cross::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: calc(80/2560*100vw);
    height: 1px;
    background-color: #fff;
}

.cross::before {
    transform: rotate(45deg);
}
.cross::after {
    transform: rotate(-45deg);
}
.original__container {
    padding-bottom: calc(120/1280*100vw);
}
.original__container .mainVisual img {
    opacity: 0;
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.original__container .mainVisual .text {
    position: absolute;
    top: calc(820 / 2560* 100vw);
    transform: translateY(-50%);
    margin-left: calc(300/2560*100vw);
    text-align: center;
    line-height: 1;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-out 0.5s, transform 0.5s ease-out 0.5s;
}
.original__container .mainVisual .logo {
    display: block;
    font-size: calc(46/2560*100vw);
    letter-spacing: 0.02em;
    margin-bottom: calc(40/2560*100vw);
    color: #fff;
}
.original__container .mainVisual .mvTitle {
    display: block;
    font-size: calc(116/2560*100vw);
    letter-spacing: 0.02em;
    color: #fff;
}
.original__container .mvTitleSub {
    width: calc(248/2560*100vw);
    display: block;
    margin: 0 auto;
    margin: calc(24 / 2560* 100vw) auto 0;
}
.original__container .leadText {
    font-size: calc(12/1280*100vw);
    text-align: center;
    max-width: calc(600/1920*100vw);
    margin: 0 auto;
}
.original__container .info__wrapper {
    background-color: #fff;
    margin-top: calc(120/1280*100vw);
    padding: calc(60/1280*100vw) calc(40/1280*100vw);
}
.original__container .productInfo__contents h2 {
    font-size: calc(24/1280*100vw);
    text-align: center;
}
.original__container .productInfo__contents h2 span {
    font-size: calc(14/1280*100vw);
    display: block;
}
.original__container .productImg {
    width: calc(1480/2560*100vw);
    margin: calc(20 / 1280* 100vw) auto;
    position: relative;
}
.original__container .detail__contents {
    margin-top: calc(120/1280*100vw);
}
.original__container .detail__contents h3 {
    text-align: center;
    font-size: calc(24/1280*100vw);
}
.original__container .detailList {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(80/1280*100vw);
    padding: 0 calc(130 / 1280* 100vw);
    margin-top: calc(60 / 1280* 100vw);
}
.original__container .productText {
    text-align: center;
    font-size: calc(12/1280*100vw);
    max-width: calc(450/1280*100vw);
    margin: auto;
    position: absolute;
    right: 0;
    left: 0;
    bottom: calc(50/1280*100vw);
    color: #fff;
}
.original__container .detailText {
    font-size: calc(14/1280*100vw);
    max-width: calc(400 / 1280* 100vw);
}
.original__container .detailImg {
    width: calc(500 / 1280* 100vw);
}
/* カスタム矢印 */
.original__container .splide__arrow {
    width: 30px;
    height: 30px;
    background: none; /* 背景をなくす */
    border: none;
}

.original__container .splide__arrow svg {
    display: none; /* デフォルトの矢印を非表示 */
}

/* 左矢印 */
.original__container .splide__arrow--prev::before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    border: solid #000;
    border-width: 0 1px 1px 0;
    transform: rotate(135deg);
}

/* 右矢印 */
.original__container .splide__arrow--next::before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    border: solid #000;
    border-width: 0 1px 1px 0;
    transform: rotate(-45deg);
}
.original__container .splide__pagination {
    position: relative;
    bottom: 0;
    margin-top: calc(20/1280*100vw);
    z-index: 0;
}

/* ドットのカスタマイズ */
.original__container .splide__pagination__page {
    background: #ababab;
    width: 10px;
    height: 10px;
}

.original__container .splide__pagination__page.is-active {
    background: #231816;
}
.original__container .img_02 {
    margin: calc(120/1280*100vw) calc(1454/2560*100vw) 0 calc(307/2560*100vw);
}
.original__container .img_03 {
    margin: calc(-570/2560*100vw) calc(307/2560*100vw) 0 calc(1254/2560*100vw);
}
.original__container .img_04 {
    margin: calc(120/1280*100vw) calc(712/2560*100vw) 0 calc(712/2560*100vw);
}
.original__container .half {
    display: flex;
}
.original__container .img_05 {
    margin-top: calc(120/1280*100vw);
    margin-left: calc(260/2560*100vw);
}
.original__container .img_06 {
    margin-top: calc(120/1280*100vw);
}
.original__container .img_07 {
    margin: calc(120/1280*100vw) calc(1170/2560*100vw) 0 calc(237/2560*100vw);
}
.original__container .img_08 {
    margin: calc(200/1280*100vw) calc(240/2560*100vw) 0 calc(770/2560*100vw);
}
.original__container .img_09 {
    margin: calc(120/1280*100vw) calc(240/2560*100vw) 0 calc(1520/2560*100vw);
}
.original__container .img_10 {
    margin: calc(200/1280*100vw) calc(1180/2560*100vw) 0 calc(200/2560*100vw);
}
.original__container .img_11 {
    margin: calc(120/1280*100vw) calc(490/2560*100vw) 0 calc(490/2560*100vw);
}
.original__container .plofile__contents {
    margin: calc(120/1280*100vw) auto 0;
    text-align: center;
}
.original__container .plofile__contents img {
    max-width: 120px;
    display: block;
    margin: 0 auto;
    border-radius: 50%;
}
.original__container .plofile__contents a {
    font-size: calc(14/1280*100vw);
    display: inline-block;
    color: #231816;
}
/* ボタンのスタイル */
.original__container .scroll-button {
    position: fixed;
    bottom: -50px;
    text-align: center;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 16px 20px;
    font-size: 16px;
    backdrop-filter: blur(6px);
    border: none;
    cursor: pointer;
    transition: bottom 0.3s ease, opacity 0.3s ease;
    opacity: 0;
    max-width: 60%;
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1);
    color: #000;
    z-index: 2;
}
.original__container .viewMore {
    text-align: center;
    position: relative;
    z-index: 2;
    margin-top: 40px;
}
.original__container .viewMore a {
    position: relative;
    width: 480px;
    margin: 0 auto 0;
    padding: 15px;
    border-radius: 50px;
    color: #000;
    display: block;
    font-size: 1.3rem;
    background: #fff;
}
@media (max-width: 768px) {
    .mt120 {
        margin-top: calc(120 / 750* 100vw);
    }
    .cross {
        margin-bottom: calc(10/750*100vw);
    }
    .original__container {
        padding-bottom: calc(120 / 750* 100vw);
    }
    .original__container .mainVisual .text {
        position: absolute;
        top: calc(756/750*100vw);
        transform: translateY(0);
        transform: translateX(-50%);
        margin-left: auto;
        left: 0;
        right: 0;
    }
    .original__container .mainVisual .logo {
        font-size: calc(28/750*100vw);
        margin-bottom: calc(26/750*100vw);
    }
    .original__container .mainVisual .mvTitle {
        font-size: calc(72/750*100vw);
        white-space:nowrap;
    }
    .original__container .mvTitleSub {
        width: calc(152/750*100vw);
        margin: 0 auto;
    }
    .original__container .leadText {
        font-size: calc(24/750*100vw);
        max-width: calc(670/750*100vw);
    }
    .original__container .info__wrapper {
        margin-top: calc(120/750*100vw);
        margin-left: auto;
        margin-right: auto;
        padding: calc(80/750*100vw) 0;
        width: calc(670/750*100vw);
    }
    .original__container .productInfo__contents h2 {
        font-size: calc(34/750*100vw);
    }
    .original__container .productInfo__contents h2 span {
        font-size: calc(24/750*100vw);
    }
    .original__container .productImg {
        width: calc(540/750*100vw);
        margin: calc(20 / 750* 100vw) auto;
    }
    .original__container .productText {
        font-size: calc(20/750*100vw);
        max-width: calc(450/750*100vw);
        bottom: calc(50/750*100vw);
        text-align: left;
        margin: auto;
        position: absolute;
        right: 0;
        left: 0;
        bottom: calc(80/1280*100vw);
        color: #fff;
    }
    .original__container .detail__contents {
        margin-top: calc(120/750*100vw);
    }
    .original__container .detail__contents h3 {
        text-align: center;
        font-size: calc(24/750*100vw);
    }
    .original__container .detailList {
        flex-direction: column-reverse;
        justify-content: start;
        gap: calc(40/750*100vw);
        padding: 0 calc(80 / 670* 100vw);
        margin-top: calc(60 / 750* 100vw);
    }
    .original__container .detailText {
        font-size: calc(20/750*100vw);
        max-width: 100%;
    }
    .original__container .detailImg {
        width: calc(480 / 750* 100vw);
    }
    .original__container .splide__pagination {
        margin-top: calc(20 / 750* 100vw);
    }
    .original__container .splide__pagination__page {
        width: calc(14/750*100vw);
        height: calc(14/750*100vw);
    }
    .original__container .img_02 {
        margin: calc(200/750*100vw) calc(468/750*100vw) 0 0 ;
    }
    .original__container .img_03 {
        margin: calc(-180/750*100vw) 0 0 calc(325/750*100vw);
    }
    .original__container .img_04 {
        margin: calc(200/750*100vw) calc(98/750*100vw) 0 calc(98/750*100vw);
    }
    .original__container .img_05 {
        margin-top: calc(120/750*100vw);
        margin-left: calc(90/750*100vw);
    }
    .original__container .img_06 {
        margin-top: calc(120/750*100vw);
    }
    .original__container .img_07 {
        margin: calc(120/750*100vw) calc(336/750*100vw) 0 0;
    }
    .original__container .img_08 {
        margin: calc(200/750*100vw) 0 0 calc(186/750*100vw);
    }
    .original__container .img_09 {
        margin: calc(120/750*100vw) 0 0 calc(415/750*100vw);
    }
    .original__container .img_10 {
        margin: calc(200/750*100vw) calc(238/750*100vw) 0 0;
    }
    .original__container .img_11 {
        margin: calc(120/750*100vw) calc(93/750*100vw) 0 calc(93/750*100vw);
    }
    .original__container .plofile__contents img {
        max-width: 80px;
    }
    .original__container .plofile__contents a {
        font-size: calc(24 / 750* 100vw);
    }
    .original__container .viewMore a {
        width: 60%;
        padding: 13px;
        font-size: 1.1rem;
    }
}

/* 共通：期間限定施策エリア
-------------------------------------*/
.limited__contents {
    border: 1px solid #de3131;
    background: rgba(255, 255, 255, 0.8);
    opacity: 0;
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.limited__contents p {
    text-align: center;
    color: #de3131;
    font-weight: 600;
}

/* nao-only
-------------------------------------*/
.original__container.nao {
    background-color: #e9e9e3;
    background-image: linear-gradient(#e9e9e3cf, #e9e9e3cf),
        url(https://heilis.itembox.design/item/img/feature/noise.png);
}
.original__container.nao .mainVisual .text {
    top: calc(960 / 2560* 100vw);
    margin: auto;
    left: 0;
    right: 0;
}
.original__container.nao .mainVisual .logo {
    font-size: calc(97 / 2560* 100vw);
    display: inline-block;
    margin: 0;
}
.nao .cross {
    width: calc(44 / 2560* 100vw);
    height: calc(44 / 2560* 100vw);
    margin: 0 calc(40 / 2560* 100vw);
    margin-bottom: calc(10 / 2560* 100vw);
    display: inline-block;
}
.nao .cross::before, .nao .cross::after {
    width: calc(44 / 2560* 100vw);
}
.original__container.nao .mainVisual .mvTitle {
    font-size: calc(160 / 2560* 100vw);
    display: inline-block;
}
/* 特集スライド用 */
.news-splide {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 16px;
}
.news-splide .splide__slide img {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
display: block;
border-radius: 4px;
}
.newsText {
font-size: 14px;
margin-top: 8px;
line-height: 1.4;
color: #111;
}
.newsText span {
font-weight: normal;
color: #777;
font-size: 13px;
}
@media (max-width: 768px) {
    .original__container.nao .mainVisual .text {
        top: calc(690 / 750* 100vw);
    }
    .original__container.nao .mainVisual .logo {
        font-size: calc(150 / 2560* 100vw);
        display: block;
        margin-bottom: calc(26 / 750* 100vw);
    }
    .nao .cross {
        width: calc(80 / 2560* 100vw);
        height: calc(80 / 2560* 100vw);
        margin: auto;
        margin-bottom: calc(10 / 2560* 100vw);
        display: block;
    }
    .nao .cross::before, .nao .cross::after {
        width: calc(80 / 2560* 100vw);
    }
    .original__container.nao .mainVisual .mvTitle {
        font-size: calc(67 / 750* 100vw);
        display: block;
    }
    .original__container.nao .mvTitleSub {
        width: calc(242 / 750* 100vw);
    }
    /* 特集スライド用 */
    .news-splide .splide__track {
        padding-left: 16px !important;
        padding-right: 0 !important;
        overflow: hidden !important;
    }

    .news-splide .splide__slide {
        width: 45vw !important;
        flex-shrink: 0 !important; /* ← チラ見せを防止・横幅保持 */
    }

    .news-splide .splide__list {
        display: flex !important; /* ← 明示的にflexで横並び */
    }

    .news-splide.splide {
        overflow: hidden !important;
    }
    .news-splide {
        padding: 0;
    }
}

/* 25ssHideka_02-only
-------------------------------------*/
.original__container.Hideka25ss_02 {
    background-color: #d0cfcf;
    background-image: linear-gradient(#d0cfcfcf, #d0cfcfcf),
        url(https://heilis.itembox.design/item/img/feature/noise.png);
}
.original__container.Hideka25ss_02 .mainVisual .text {
    margin-left: calc(500 / 2560 * 100vw);
    top: calc(750 / 2560 * 100vw);
}
.original__container.Hideka25ss_02 .mainVisual .mvTitle {
    font-size: calc(76 / 2560 * 100vw);
    letter-spacing: 0.1em;
}
.original__container.Hideka25ss_02 .mvTitleSub {
    width: calc(370 / 2560 * 100vw);
    margin: calc(24 / 2560 * 100vw) auto 0;
}
.original__container.Hideka25ss_02 .mainVisual .logo {
    font-size: calc(46 / 2560 * 100vw);
    letter-spacing: 0.06em;
}
@media (max-width: 768px) {
    .original__container.Hideka25ss_02 .mainVisual .text {
        margin-left: auto;
        top: calc(756 / 750 * 100vw);
    }
    .original__container.Hideka25ss_02 .mainVisual .mvTitle {
        font-size: calc(53 / 750 * 100vw);
    }
    .original__container.Hideka25ss_02 .mvTitleSub {
        width: calc(257 / 750 * 100vw);
        margin: 0 auto;
    }
    .original__container.Hideka25ss_02 .mainVisual .logo {
        font-size: calc(32 / 750 * 100vw);
    }
}