@charset "utf-8";
/* CSS Document */

/* ≥769px：使用 475px 时的值 */
@media (min-width: 769px) {
  /* 
  :root{
    --fs-min: 24px;
    --fs-max: 48px;
    --w-min: 375px;
    --w-max: 750px;
  }
  @media (min-width: 769px) {
    .target {font-size: calc(var(--fs-min) + (var(--fs-max) - var(--fs-min)) * ((475px - var(--w-min)) / (var(--w-max) - var(--w-min))));}
  }
  */
  :root {
    --size-48: calc(48px + (56 - 48) * ((475px - 375px) / (750 - 375)));
    --size-40: calc(40px + (48 - 40) * ((475px - 375px) / (750 - 375)));
    --size-36: calc(36px + (44 - 36) * ((475px - 375px) / (750 - 375)));
    --size-32: calc(32px + (40 - 32) * ((475px - 375px) / (750 - 375)));
    --size-28: calc(28px + (36 - 28) * ((475px - 375px) / (750 - 375)));
    --size-24: calc(24px + (32 - 24) * ((475px - 375px) / (750 - 375)));
    --size-20: calc(20px + (28 - 20) * ((475px - 375px) / (750 - 375)));
    --size-16: calc(16px + (24 - 16) * ((475px - 375px) / (750 - 375)));
    --size-14: calc(14px + (20 - 14) * ((475px - 375px) / (750 - 375))); /* 原始值为14，最大值为20 */
  }
}

/* 定义滑入动画 */
.slide-up-box {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease-out;
}
.slide-up-box.visible {
    animation: slideUp 0.6s ease-out forwards;
}
@keyframes slideUp {
    from {
    transform: translateY(20px);
    opacity: 0.8;
    }
    to {
    transform: translateY(0);
    opacity: 1;
    }
}

header, footer, main{width: 475px;margin: 0 auto;}
@media (max-width: 768px) {header, footer, main{width: 100%;}}

main{
  background-color: #000;
  color: #fff;
}

/* ===== Fast View ===== */
.fv{position: relative;padding-bottom: var(--size-16);}
.flame{
    position: absolute;
    bottom: 0;
    left: 0;
}
.flame video{
    width: 100%;
    height: auto;
    opacity: 0.9;   /* ← 调这个数值即可 */
}

.fv__container{padding: 0;}

.fv__photo{position: relative;}
.fv_sp-bottom{position: relative;}

.music_btn {
    max-width: calc((200 / 375) * 100%);
    height: auto;
    position: absolute;
    bottom: var(--spacing-8);
    right: var(--spacing-16);
    z-index: 9;
    cursor: pointer;
}
.music_btn img { display:block; width:100%; height:auto; }

.main_mv {
    width: 100%;
    height: 100%; /* 高度始终占满屏幕 */
    position: fixed; /* 确保视频覆盖整个屏幕且随滚动保持不变 */
    top: 0;
    left: 0;
    z-index: -2;
    overflow: hidden;
}
/* 黑色半透明遮罩 */
.main_mv::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6); /* ← 调这里的透明度 */
    z-index: 1;
    pointer-events: none;
}
.main_mv video {
    min-width: 100%; /* 确保视频宽度覆盖整个屏幕 */
    min-height: 100%; /* 确保视频高度覆盖整个屏幕 */
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 居中对齐 */
    object-fit: cover; /* 让视频以cover方式填充 */
    filter: grayscale(100%);
}
@media only screen and (max-width: 768px) {
    .main_mv {
        display: none;
    }
}

/* ===== check ===== */
.check{
    position: relative;
}
.check__container{
    position: relative;
    z-index: 1;
    padding: 0;
}
.check-back{
    position: sticky;
    top: 0;
    height: 100vh;
    /* 关键：吃回它占用的那一屏空间 */
    margin-bottom: -100vh;
    background: url("../images-i-kyu-vol04/check-back.webp") no-repeat center top / cover;
    z-index: 0;
    pointer-events: none;
}
.check__title{
    background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    padding-bottom: var(--spacing-32);
}
.check__inner{
    display: grid;
    gap: var(--spacing-24);
}
.check-photo,
.check-article{
    width: calc((686 / 750) * 100%);
}
.check-photo{
    margin-right: auto;   
}
.check-article{
    margin-top: -24px;
    margin-left: auto;
    background-color: rgba(0, 0, 0, .8);
    padding: var(--spacing-24) var(--spacing-16) var(--spacing-16);
    position: relative;
    display: grid;
    gap: var(--size-16);
}
.check-photo-tag{
    width: calc((348 / 686) * 100%);
    position: absolute;
    top: -24px;
    right: 0;
    padding: 0 var(--spacing-16);
}
.check-title span{
    background-color: red;
}
.check-line{
    width: 100%;
    height: 1px;
    background-color: #fff;
}

/* ===== cta ===== */
.cta{
    padding: 0;
    position: relative;
    z-index: 2;
}
.cta__container{
    padding: 0;
    display: grid;
    gap: var(--spacing-24);
    background-image: url("../images-i-kyu-vol04/cta-btn__container-back.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}
.book {
    padding-top: var(--spacing-40);
    background-image: url("../images-i-kyu-vol04/book-back.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}
.cta-btn__container{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 var(--spacing-16) var(--spacing-40);
}
.cta-btn{
    margin-top: -24px;
}
.lp-link{
    font-size: var(--size-20);
    font-weight: 800;
    display: grid;
    gap: var(--spacing-16);
    margin: var(--spacing-24) auto 0;
    color: #1549d8;
    text-decoration: underline;
}

/* ===== sns ===== */
.sns{
    padding-bottom: 0;
    padding-top: var(--spacing-40);
    background-image: url("../images-i-kyu-vol04/sns-back.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}
.sns__container{padding: 0;}
.sns-btn__container{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--spacing-16);
    gap: var(--spacing-24);
    margin-top: var(--spacing-24);
}
.sns-btn__container img{
    border-radius: var(--spacing-16);
}
.sns_photo{margin-top: -40px;}

/* ===== pick ===== */
.pick{
    background-image: url("../images-i-kyu-vol04/pick-back.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}
.pick__container{padding: 0;}

/* ===== shop ===== */
.shop{
    position: relative;
    padding: 0;
}
.shop__container{
    position: relative;
    z-index: 1;
    padding: var(--spacing-40) var(--spacing-16);
}
.shop-back{
    position: sticky;
    top: 0;
    height: 100vh;
    /* 关键：吃回它占用的那一屏空间 */
    margin-bottom: -100vh;
    background: url("../images-i-kyu-vol04/shop-back.webp") no-repeat center top / cover;
    z-index: 0;
    pointer-events: none;
}
.shop__container > h5{
    text-align: center !important;
    margin-bottom: var(--spacing-24);
}
.shop_item__container{
    display: grid;
    gap: var(--spacing-16);
    grid-template-columns: repeat(2, 1fr);
}
.shop_item {
    width: 100%;
    padding: var(--spacing-16);
    background-color: #000;
    color: #fff;
    text-align: center;
    /* display: grid;
    gap: var(--spacing-16); */
}
.shop_item h5{
    font-size: var(--size-20);
    color: #fa4812;
}
.shop_img{
    margin: var(--spacing-16) auto;
}
.shop_sns {
    display: flex; /* 使子项横向排列 */
    justify-content: space-between; /* 两端对齐 */
    align-items: center; /* 垂直方向居中 */
    list-style: none; /* 移除列表默认样式 */
    margin-top: var(--spacing-16);
}
.shop_sns li {
    flex: 1; /* 子项均匀分布 */
    text-align: center; /* 每个子项内容居中 */
}
.shop_sns li img {
    display: inline-block;
    width: var(--spacing-32);
    height: auto;
    border-radius: var(--spacing-8);
    border: 1px solid #bbbbbb;
}
.shop_item-br{
    display: none;
}
@media only screen and (min-width: 576px) {
    .shop_item h5{
        min-height: 64px;
        display: flex;
        align-items: center;
        justify-content: center;    
    }
    .shop_item-br{display: block;}
}
@media only screen and (max-width: 576px) {
    .shop_item__container{grid-template-columns: 1fr;}
    .shop_sns li img {
        width: var(--spacing-48);
    }
}

/* ===== produced ===== */
.produced{
    position: relative;
    z-index: 1;
    background-color: #ff4b4a;
    text-align: center;
}
.produced__container{
    display: grid;
    gap: var(--spacing-40);
}
.produced__item h3{
    margin-bottom: var(--spacing-24);
}
.produced__item ul{
    display: grid;
    gap: var(--spacing-16);
}
.produced table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-weight: 600;
    color: #000;
    background-color: #fff;
}
.produced tr{
    border-bottom: 1px solid #d3d3d3;
}
.produced tr:last-child{
    border-bottom: none;
}
.produced th,
.produced td{
    padding: var(--spacing-16);
}
.produced th{
    width: 40%;
    color: #ff4b4a;
}
.site-footer{
    background-color: #ff4b4a;
}