@charset "UTF-8";
/* *,*::after,*::before{outline: 1px solid red;} */
/* ============================================== */
/*                    共通設定                    */
/* ============================================== */
:root{
    /* 色 */
    --textColor: #888888;
    --mainGreen: #cae2ad;
    --mainPink: #e2adcd;
    --borderColor: #b8b8b8;
    /* グラデーション */
    --mainGradient: linear-gradient(to right, #93bedf 0%, var(--mainGreen) 50%, #f7c498 100%);
    /* フォント */
    --ff_zenKakuGoNew: "Zen Kaku Gothic New", sans-serif;
    --ff_shippori: "Shippori Mincho", serif;
    --ff_garamond: "Cormorant Garamond", serif;
    /* 影 */
    --shadowBlack:  drop-shadow(0 0 5px rgba(4, 0, 0, .1));
}

body{
    position: relative;
    z-index: 0;
    overflow-x: hidden;
    color: var(--textColor);
    font-family: var(--ff_zenKakuGoNew);
    line-height: 1.8;
    word-break: break-all;
}
figure,
img{
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}
a{transition: .3s;}
a:hover{opacity: 0.8;}
.inner{
    width: 100%;
    max-width: 1300px;
    padding: 0 50px;
    margin: 0 auto;
}
.flex{display: flex;}
.pc_cont{display: block !important;}
.sp_cont{display: none !important;}

/* ============================================== */
/*            スクロールアニメーション            */
/* ============================================== */
.scrollin {
    visibility: hidden;
    opacity: 0;
    transition: 1.2s;
}
.scrollin.bottom {transform: translateY(30px);}
.scrollin.left {transform: translateX(-30px);}
.scrollin.right {transform: translateX(30px);}
.scrollin.active,
.scrollin.bottom.active,
.scrollin.left.active,
.scrollin.right.active {
    visibility: visible;
    opacity: 1;
    transform: translate(0,0);
}

/* -----------------------------------------------------------
common_parts
----------------------------------------------------------- */
/* ボタン */
.cp_70th .btn{
    position: relative;
    z-index: 0;
    --w: 480px;
    --h: 100px;
    width: 100%;
    max-width: var(--w);
    margin: 0 auto 12px;
    -webkit-filter: var(--shadowBlack);
            filter: var(--shadowBlack);
}
.cp_70th .btn a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
    background: #fff;
    min-height: var(--h);
    padding: 25px 50px;
    border-radius: 50px;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.4;
    letter-spacing: -0.05em;
    color: var(--textColor);
}
.cp_70th .btn::before{
    position: absolute;
    z-index: -1;
    inset:-100%;
    margin: auto;
    content: '';
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    max-width: calc(var(--w) + 4px);
    min-height: calc(var(--h) + 4px);
    border-radius: 52px;
    background: var(--mainGradient);
}
.cp_70th .btn a:hover{
    opacity: 1;
    background: transparent;
    color: #fff;
}
.cp_70th .btn a::after{
    display: block;
    content: '';
    width: 20px;
    height: 20px;
    background: currentColor;
    -webkit-mask: url(../img/ico/btn_arw.svg) no-repeat center / contain;
            mask: url(../img/ico/btn_arw.svg) no-repeat center / contain;
}
/* グラデ付き見出し */
.cp_70th .h2_gradient span{
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}
.cp_70th .h2_gradient span:nth-of-type(1){
    font-family: var(--ff_garamond);
    font-weight: 300;
    font-size: 50px;
    letter-spacing: 0.05em;
}
.cp_70th .h2_gradient span:nth-of-type(2){
    font-family: var(--ff_shippori);
    font-weight: 500;
    font-size: 22px;
    line-height: 1.63;
    letter-spacing: 0.05em;
    color: #fff;
    background: var(--mainGradient);
    border-radius: 5px;
    padding: 0 0.4em;
}
/* -----------------------------------------------------------
KV
----------------------------------------------------------- */
.cp_70th .kv{
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 6.5%;
         column-gap: 6.5%;
    width: 100vw;
    height: calc(100svh - 80px);
    /* min-height: 1030px; */
    min-height: 620px;
    --trs_bg00: .8s;
    --trs_bg01: 1.4s;
    --trs_bg02_04: .5s;
    --trs_bg05_09: .75s;
}
.cp_70th .kv::before{
    position: absolute;
    z-index: -1;
    inset: auto -100% 0;
    margin: auto;
    content: '';
    width: 100vw;
    /* height: calc(45vh - 19vw); */
    /* height: calc(43.5vh - 19vw); */
    height: calc(41vh - 19vw);
    min-height: 130px;
    min-height: max(6vh, 60px);
    background: var(--mainGradient);
}
/* scroll down */
.cp_70th .kv .scrolldown{
    position: absolute;
    z-index: 10;
    inset: auto 0 1.85em;
    inset: auto 0 0;
    margin: auto;
    width: fit-content;
    font-family: var(--ff_shippori);
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.14em;
    opacity: 0;
    visibility: hidden;
    transition-property: opacity, visibility;
    transition-duration: 1s;
    transition-delay: calc(var(--trs_bg00) + var(--trs_bg01) * .8 + var(--trs_bg02_04) * 2 + var(--trs_bg05_09) * 2.52 + var(--trs_bg05_09) * 1.4);
}
.loaded .cp_70th .kv .scrolldown{
    opacity: 1;
    visibility: visible;
}
.cp_70th .kv .scrolldown a{
    position: relative;
    z-index: 0;
    padding: 0 0 1.4em;
    display: inline-block;
}
.cp_70th .kv .scrolldown a::before{
    position: absolute;
    z-index: 0;
    inset: auto -100% 0;
    margin: auto;
    content: '';
    display: block;
    width: 1px;
    height: 1.45em;
    background: #fff;
    -webkit-animation: scrollDown 2.5s infinite;
            animation: scrollDown 2.5s infinite;
}
.cp_70th .kv .scrolldown a span{
    display: inline-block;
    transition: .3s;
}
.cp_70th .kv .scrolldown a:hover{opacity: 1;}
.cp_70th .kv .scrolldown a:hover span{transform: translateY(5px);}
@-webkit-keyframes scrollDown {
    0%   {-webkit-clip-path: inset(0 0 100% 0);clip-path: inset(0 0 100% 0);}
    5%   {-webkit-clip-path: inset(0 0 100% 0);clip-path: inset(0 0 100% 0);}
    45%  {-webkit-clip-path: inset(0 0 0 0);clip-path: inset(0 0 0 0);}
    55%  {-webkit-clip-path: inset(0 0 0 0);clip-path: inset(0 0 0 0);}
    95%  {-webkit-clip-path: inset(100% 0 0 0);clip-path: inset(100% 0 0 0);}
    100% {-webkit-clip-path: inset(100% 0 0 0);clip-path: inset(100% 0 0 0);}
}
@keyframes scrollDown {
    0%   {-webkit-clip-path: inset(0 0 100% 0);clip-path: inset(0 0 100% 0);}
    5%   {-webkit-clip-path: inset(0 0 100% 0);clip-path: inset(0 0 100% 0);}
    45%  {-webkit-clip-path: inset(0 0 0 0);clip-path: inset(0 0 0 0);}
    55%  {-webkit-clip-path: inset(0 0 0 0);clip-path: inset(0 0 0 0);}
    95%  {-webkit-clip-path: inset(100% 0 0 0);clip-path: inset(100% 0 0 0);}
    100% {-webkit-clip-path: inset(100% 0 0 0);clip-path: inset(100% 0 0 0);}
}
/* KV画像 */
.cp_70th .kv h1{
    opacity: 0;
    font-family: var(--ff_shippori);
    font-weight: 500;
    line-height: 1.6;
    font-size: clamp(16px, min(1.527vw, 2.6vh), 22px);
    width: 22%;
    min-width: 230px;
    max-width: min(315px, 38vh);
}
.cp_70th .kv h1 > span{
    display: block;
    margin: 26px auto 0;
}
.cp_70th .kv h1 > span > span{
    display: inline-block;
    margin: 0 .5em 0 0;
}
.cp_70th .kv .kv_tree{
    position: relative;
    z-index: 0;
    width: min(53.5%, 80vh);
    min-width: 530px;
    max-width: 1040px;
    height: auto;
    aspect-ratio: 700 / 718;
}
.cp_70th .kv .kv_tree .bg{
    position: absolute;
    z-index: 0;
    inset: -100%;
    margin: auto;
    opacity: 0;
    max-height: 87svh;
    /* max-height: 77svh; */
    object-fit: contain;
    transition-property: filter, opacity;
}
/* bg_00 */
.cp_70th .kv h1{
    transform: translateY(30px);
    -webkit-filter: blur(2px);
            filter: blur(2px);
    transition: var(--trs_bg00);
}
.loaded .cp_70th .kv h1{
    transform: translateY(0);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
}
/* bg_01 */
.cp_70th .kv .bg_01{
    -webkit-filter: blur(1px);
            filter: blur(1px);
    transition: var(--trs_bg01) calc(var(--trs_bg00) * 1.03);
    transition-timing-function: ease-in-out;
    opacity: 0;
}
.loaded .cp_70th .kv .bg_01{
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
}
/* bg_02~04 */
.cp_70th .kv .bg_02,
.cp_70th .kv .bg_03,
.cp_70th .kv .bg_04{
    -webkit-filter: blur(2px);
            filter: blur(2px);
    transition-duration: var(--trs_bg02_04);
    transition-timing-function: cubic-bezier(.3,.76,.7,1);
}
.cp_70th .kv .bg_02{transition-delay: calc(var(--trs_bg00) + var(--trs_bg01) * .8);}
.cp_70th .kv .bg_03{transition-delay: calc(var(--trs_bg00) + var(--trs_bg01) * .8 + var(--trs_bg02_04) * 0.95);}
.cp_70th .kv .bg_04{transition-delay: calc(var(--trs_bg00) + var(--trs_bg01) * .8 + var(--trs_bg02_04) * 2);}
.loaded .cp_70th .kv .bg_02,
.loaded .cp_70th .kv .bg_03,
.loaded .cp_70th .kv .bg_04{
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
}
/* bg_05~09 */
.cp_70th .kv .bg_05,
.cp_70th .kv .bg_06{
    -webkit-filter: blur(2px);
            filter: blur(2px);
    transition-duration: var(--trs_bg05_09);
    transition-timing-function: cubic-bezier(.3,.76,.7,1);
}
.cp_70th .kv .bg_05{transition-delay: calc(var(--trs_bg00) + var(--trs_bg01) * .8 + var(--trs_bg02_04) * 2 + var(--trs_bg05_09) * 1.15);}
.cp_70th .kv .bg_06{transition-delay: calc(var(--trs_bg00) + var(--trs_bg01) * .8 + var(--trs_bg02_04) * 2 + var(--trs_bg05_09) * 2.52);}
.loaded .cp_70th .kv .bg_05,
.loaded .cp_70th .kv .bg_06{
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
}
/* KV画像位置調整 */
.cp_70th .kv h1,
.cp_70th .kv .kv_tree{
    position: relative;
    z-index: 0;
    left: min(calc(5vw + 40px), 140px);
    transition-property: transform, filter, opacity;
}
.cp_70th .kv .kv_tree{
    left: min(calc(5vw + 40px), 95px);
}
/* -----------------------------------------------------------
second_view
----------------------------------------------------------- */
.cp_70th .second_view{
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: max(810px, 125vh);
    padding: 90px 0 calc(120px + 25vh);

}
.cp_70th .second_view::before,
.cp_70th .second_view::after{
    position: absolute;
    z-index: -1;
    inset: auto -200vw;
    margin: auto;
    content: '';
    height: calc(100% - 50vh);
    /* width: max(100vw, 1600px); */
    width: 100vw;
}
.cp_70th .second_view::before{
    bottom: 0;
    /* height: 100%; */
    background: url(../img/bg/second.png) no-repeat center / 100% 100%;
}
.cp_70th .second_view::after{
    top: -1px;
    background: var(--mainGradient);

}
/* .cp_70th .second_view > div{margin-bottom: 10vw;} */
.cp_70th .second_view p:nth-of-type(1){
    font-family: var(--ff_shippori);
    font-weight: 500;
    font-size: 18px;
    color: #fff;
    line-height: 2.7;
    letter-spacing: 0.1em;
    margin: 0 auto 40px;
}
.cp_70th .second_view p:nth-of-type(2){
    width: 100%;
    max-width: 192px;
    margin: 0 auto;
}
.cp_70th .second_view p img{-o-object-fit: contain;object-fit: contain;}
/* -----------------------------------------------------------
アンカーリンク
----------------------------------------------------------- */
.cp_70th article > nav{
    margin: max(70px, 6vw) auto 70px;
}
.cp_70th article > nav ul{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.cp_70th article > nav .inner ul{
    flex-wrap: wrap;
}
.cp_70th article > nav .inner > ul li{width: 50%;}
.cp_70th article > nav ul li li{
    width: 25%;
    height: 60px;
}
.cp_70th article > nav ul li:not(:last-of-type){border-right: 1px solid var(--borderColor);}
.cp_70th article > nav ul a{
    position: relative;
    z-index: 0;
    display: block;
    height: 100%;
    font-family: var(--ff_shippori);
    font-weight: 500;
    font-size: 20px;
    color: var(--textColor);
    letter-spacing: 0.1em;
}
.cp_70th article > nav ul a:hover{opacity: 1;}
.cp_70th article > nav ul a::before{
    position: absolute;
    z-index: 0;
    inset: auto -100% 5px;
    margin: auto;
    content: '';
    width: 38px;
    height: 12px;
    background: url(../img/ico/nav_arw.svg) no-repeat center / contain;
    transition: 0.3s;
}
.cp_70th article > nav ul a:hover::before{transform: translateY(5px);}
/* -----------------------------------------------------------
セクション共通
----------------------------------------------------------- */
.cp_70th article > section{
    margin: 0 auto 70px;
    padding: 80px 0 0;
    overflow: hidden;
}
/* bg */
.cp_70th article > section .bg{padding: 70px 0;}
.cp_70th .bg .bg_cont{
    background: rgba(255, 255, 255, .9);
    border-radius: 40px;
    padding: 35px;
}
.cp_70th .bg .bg_cont h2{
    font-weight: 500;
    font-size: 28px;
    line-height: 1.1;
    margin: 0 auto 20px;
}
.cp_70th .bg .bg_cont dl{
    display: flex;
    justify-content: flex-start;
    -moz-column-gap: 25px;
         column-gap: 25px;
}
.cp_70th .bg .bg_cont dl:not(:last-of-type){margin: 0 0 30px;}
.cp_70th .bg .bg_cont dl dt{
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.1;
    border: 2px solid;
    -o-border-image: var(--mainGradient);
       border-image: var(--mainGradient);
    border-image-slice: 1;
    min-height: 45px;
}
.cp_70th .bg .bg_cont dl dd{
    align-self: center;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.66;
    text-align: left;
    align-self: center;
}
/* -----------------------------------------------------------
ブランドストーリー
----------------------------------------------------------- */

.cp_70th .sec_brand .slider_wrapper{
    max-width: 100%;
    margin: 100px auto 90px;
    padding: 0 30px;
}
/* スライダー共通 */
.cp_70th .sec_brand .slick-track{display: flex;}
.cp_70th .sec_brand .slick-track li{
    transition: .3s;
    width: min(33vw, 477px) !important;
}
/* 画像スライダー */
.cp_70th .sec_brand .sldr_pic .slick-track{
    padding: 30px 0;
    max-width: calc((500px + 20px) * 8.5);
}
.cp_70th .sec_brand .sldr_pic .slick-track li{
    opacity: .5;
    margin-inline: max(25px, .5%);
    aspect-ratio: 500 / 350;
}
.cp_70th .sec_brand .sldr_pic .slick-track li.slick-current{
    opacity: 1;
    transform: scale(1.05);
}
/* テキストスライダー */
.cp_70th .sec_brand .sldr_desc .slick-track li{
    margin: 40px auto 0;
    width: 34.7vw !important;
    max-width: 500px;
}
.cp_70th .sec_brand .sldr_desc .slick-track li p:nth-of-type(1){
    font-family: var(--ff_shippori);
    font-weight: 500;
    font-size: 38px;
    letter-spacing: 0.1em;
    line-height: 1;
    margin: 0 auto 50px;
}
.cp_70th .sec_brand .sldr_desc .slick-track li p:nth-of-type(2){
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.025em;
    text-align: left;
}
.cp_70th .sec_brand .sldr_desc .slick-arrow{display: none !important;}
/* 矢印 - 共通 */
.cp_70th .sec_brand .slick-arrow{
    --w: min(5.5vw, 85px);
    z-index: 1;
    width: var(--w);
    height: auto;
    aspect-ratio: 1 / 1;
}
.cp_70th .sec_brand .slick-arrow::before{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: #fff;
    font-size: min(1.3vw, 18px);
    color: var(--textColor);
    opacity: 1;
    border-radius: 50%;
    transition: .3s;
}
.cp_70th .sec_brand .slick-arrow:hover::before{
    background: transparent;
    color: #fff;
}
.cp_70th .sec_brand .slick-arrow::after{
    position: absolute;
    z-index: -1;
    inset: -100%;
    margin: auto;
    content: '';
    display: block;
    width: calc(var(--w) + 4px);
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: var(--mainGradient);
    -webkit-filter: var(--shadowBlack);
            filter: var(--shadowBlack);
}
.cp_70th .sec_brand .slick-arrow.slick-disabled{pointer-events: none;}
/* 矢印 - 右 */
.cp_70th .sec_brand .slick-next{
    right: -100%;
    left: -30%;
    margin: auto;
}
.cp_70th .sec_brand .slick-next::before{content: '＞';}
/* 矢印 - 左 */
.cp_70th .sec_brand .slick-prev{
    right: -30%;
    left: -100%;
    margin: auto;
}
.cp_70th .sec_brand .slick-prev::before{content: '＜';}
/* -----------------------------------------------------------
ステッカープレゼントキャンペーン
----------------------------------------------------------- */
.cp_70th .sec_campaign .bg{background: var(--mainGradient);}
.cp_70th .sec_campaign .bg h2{margin: 0 auto 30px;}
.cp_70th .sec_campaign .bg .flex{
    justify-content: center;
    align-items: center;
    -moz-column-gap: 8%;
         column-gap: 8%;
    margin: 0 auto 30px;
}
.cp_70th .sec_campaign .bg .bg_cont .flex > figure{
    max-width: 250px;
    -webkit-filter: var(--shadowBlack);
            filter: var(--shadowBlack);
}
.cp_70th .sec_campaign .bg .bg_cont .flex > div{max-width: 486px;}
.cp_70th .sec_campaign .bg .bg_cont dl dt{min-width: 95px;}
.cp_70th .sec_campaign .bg .bg_cont > p{
    font-weight: 500;
    font-size: 18px;
    line-height: 1.66;
}
/* -----------------------------------------------------------
数量限定70周年アイテム
----------------------------------------------------------- */
/* 各セクション共通 */
.cp_70th .sec_limited > section{
    position: relative;
    z-index: 0;
    padding: 0 0 100px;
}
.cp_70th .sec_limited > section::before{
    --offset: max(370px, 12vw);
    position: absolute;
    z-index: -1;
    inset: 150px -200vw calc(-475px - var(--offset));
    margin: auto;
    content: '';
    width: max(100vw, 1600px);
    height: calc(100% + var(--offset));
}
.cp_70th .sec_limited > section .item_ttl_box{
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 20px;
         column-gap: 20px;
}
.cp_70th .sec_limited > section .item_ttl_box::before{
    position: absolute;
    z-index: 0;
    margin: auto;
    content: '';
    height: auto;
}
.cp_70th .sec_limited > section:nth-of-type(2n-1) .item_ttl_box::before{left: -6%;}
.cp_70th .sec_limited > section:nth-of-type(2n) .item_ttl_box::before{right: -6%;}
.cp_70th .sec_limited > section:nth-of-type(2n) .item_ttl_box{flex-direction: row-reverse;}
.cp_70th .sec_limited > section .item_ttl_box figure{width: 50%;}
.cp_70th .sec_limited > section .item_ttl_box h3{
    position: relative;
    z-index: 0;
    width: 47%;
}
.cp_70th .sec_limited > section .item_ttl_box h3 span{
    display: block;
    font-family: var(--ff_garamond);
    font-weight: 300;
    font-size: 150px;
    letter-spacing: 0.05em;
}
.cp_70th .sec_limited > section .item_ttl_box h3 span:nth-of-type(1){text-align: left;}
.cp_70th .sec_limited > section .item_ttl_box h3 span:nth-of-type(2){
    color: #fff;
    text-align: right;
}
.btnList{
    justify-content: center;
    -moz-column-gap: 45px;
         column-gap: 45px;
}
.btnList .btn{margin-inline: 0;}
/* リスト共通 */
.itemList .item_ttl{
    font-weight: 500;
    font-size: 22px;
    line-height: 1.63;
    letter-spacing: 0.1em;
    margin: 0 auto 30px;
}
.itemList .item_ttl + p{
    font-size: 16px;
    text-align: left;
    margin: 0 auto 50px;
}
.itemList li .btn{
    --w: 230px;
    --h: 55px;
}
.itemList li .btn::before{
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    max-width: calc(var(--w) + 2px);
    min-height: calc(var(--h) + 2px);
}
.itemList li .btn a{
    padding: .5em 2em;
    font-size: 16px;
    letter-spacing: 0.1em;
}
.itemList li .btn a::after{
    width: 15px;
    height: 15px;
}
/* リストA */
.itemList_a{
    display: flex;
    -moz-column-gap: 40px;
         column-gap: 40px;
    max-width: 1000px;
    margin: 0 auto;
}
.itemList_a li{width: 50%;}
.itemList_a li figure{
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin: 0 auto 30px;
    min-height: 330px;
}
.itemList_a li:nth-of-type(2n-1) figure{max-width: 175px;}
.itemList_a li:nth-of-type(2n) figure{max-width: 198px;}
.itemList_a .item_ttl + p{min-height: 115px;min-height: 4lh;}
/* リストB */
.itemList_b{
    margin: 0 auto 150px;
}
.itemList_b li{
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.itemList_b li:nth-of-type(1){-moz-column-gap: 7%;column-gap: 7%;}
.itemList_b li:nth-of-type(2){-moz-column-gap: 5%;column-gap: 5%;}
.itemList_b li:nth-of-type(2n){flex-direction: row-reverse;}
.itemList_b li:not(:last-of-type){margin: 0 auto 70px;}
.itemList_b li:nth-of-type(1) > figure{max-width: 610px;}
.itemList_b li:nth-of-type(2) > figure{max-width: 630px;}
.itemList_b li > div{
    margin: 20px 0 0;
    max-width: 425px;
}
/* Green Yellow */
.cp_70th .sec_limited .grn_ylw{z-index: 1;}
.cp_70th .sec_limited .grn_ylw::before{background: url(../img/bg/gy.png) no-repeat center top / cover;}
.cp_70th .sec_limited .grn_ylw > picture{
    position: absolute;
    z-index: -1;
    inset: auto auto -26% 0;
    content: '';
    width: min(26.5vw, 424px);
    height: auto;
    aspect-ratio: 424 / 492;
    /* background: url(../img/70th_item/gy_tree.png) no-repeat center / contain; */
}
.cp_70th .sec_limited > .grn_ylw .item_ttl_box::before{
    bottom: min(6.3vw, 29%);
    bottom: 1.8vw;
    width: 30vw;
    max-width: 130px;
    aspect-ratio: 130 / 195;
    background: url(../img/70th_item/gy_01.png) no-repeat center / contain;
}
.cp_70th .sec_limited > .grn_ylw .item_ttl_box figure{max-width: 469px;}
.cp_70th .sec_limited > .grn_ylw .item_ttl_box h3{top: 64px;}
.cp_70th .sec_limited > .grn_ylw .item_ttl_box h3 span:nth-of-type(1){color: var(--mainGreen);}
.cp_70th .sec_limited > .grn_ylw .item_ttl_box h3 span{line-height: 0.85;}
/* Pink Purple */
.cp_70th .sec_limited .pnk_ppl{z-index: 2;}
.cp_70th .sec_limited .pnk_ppl::before{background: url(../img/bg/pp.png) no-repeat center top / cover;}
.cp_70th .sec_limited .pnk_ppl > picture{
    position: absolute;
    z-index: -1;
    inset: auto 0 -14% auto;
    content: '';
    width: min(30.875vw, 494px);
    height: auto;
    aspect-ratio: 494 / 456;
    /* background: url(../img/70th_item/pp_tree.png) no-repeat center / contain; */
}
.cp_70th .sec_limited > .pnk_ppl .item_ttl_box::before{
    bottom: min(8.3vw, 34%);
    bottom: 4.4vw;
    width: 30vw;
    max-width: 155px;
    aspect-ratio: 155 / 197;
    background: url(../img/70th_item/pp_01.png) no-repeat center / contain;
}
.cp_70th .sec_limited > .pnk_ppl .item_ttl_box figure{max-width: 473px;}
.cp_70th .sec_limited > .pnk_ppl .item_ttl_box h3{top: 64px;}
.cp_70th .sec_limited > .pnk_ppl .item_ttl_box h3 span:nth-of-type(1){color: var(--mainPink);}
.cp_70th .sec_limited > .pnk_ppl .item_ttl_box h3 span{line-height: 0.7;}
/* Special Goods */
.cp_70th .sec_limited .special{z-index: 3;}
.cp_70th .sec_limited .special::before{top: -100px;background: url(../img/bg/sg.png) no-repeat center top / cover;}
.cp_70th .sec_limited > .special .item_ttl_box{margin: 0 auto 125px;}
.cp_70th .sec_limited > .special .item_ttl_box::before{
    bottom: calc(2.5vw - 40px);
    bottom: 3.7vw;
    width: 30vw;
    max-width: 212px;
    aspect-ratio: 212 / 197;
    background: url(../img/70th_item/sg_01.png) no-repeat center / contain;
}
.cp_70th .sec_limited > .special .item_ttl_box figure{max-width: 404px;}
.cp_70th .sec_limited > .special .item_ttl_box h3{top: -20px;}
.cp_70th .sec_limited > .special .item_ttl_box h3 span:nth-of-type(1){color: #fff;}
.cp_70th .sec_limited > .special .item_ttl_box h3 span:nth-of-type(2){color: var(--textColor);}
.cp_70th .sec_limited > .special .item_ttl_box h3 span{line-height: 0.85;}
/* 木のアニメーション */
.cp_70th .sec_limited .grn_ylw > picture,
.cp_70th .sec_limited .pnk_ppl > picture{
    transition: 1.2s .2s;
    -webkit-filter: blur(2px);
            filter: blur(2px);
}
.cp_70th .sec_limited .grn_ylw > picture{
    transform-origin: left top;
    transform: translate(-100%,-8%) rotate(-25deg);
}
.cp_70th .sec_limited .pnk_ppl > picture{
    transform-origin: right top;
    transform: translate(105%,-8%) rotate(20deg);
}
.cp_70th .sec_limited .grn_ylw > picture.active,
.cp_70th .sec_limited .pnk_ppl > picture.active{
    transform: none;
    -webkit-filter: blur(0);
            filter: blur(0);
}
/* -----------------------------------------------------------
アロマ部文化祭
----------------------------------------------------------- */
.cp_70th .sec_aroma {
    position: relative;
    z-index: 4;
    margin-bottom: 0;
}
.cp_70th .sec_aroma .bg {background: url(../img/bg/aroma.jpg) no-repeat center / cover;}
.cp_70th .sec_aroma .bg .bg_cont dl dt{min-width: 180px;}
.cp_70th .sec_aroma .dl_wrapper{
    max-width: 640px;
    margin: 0 auto 40px;
}
/* -----------------------------------------------------------
これからも
----------------------------------------------------------- */
.cp_70th .sec_philo{
    position: relative;
    z-index: 0;
    min-height: min(70vw, 1400px);
    overflow: hidden;
}
.cp_70th .sec_philo::before{
    position: absolute;
    z-index: -2;
    inset: auto -200vw 0;
    margin: auto;
    content: '';
    width: max(100vw, 1600px);
    height: auto;
    aspect-ratio: 1600 / 295;
    background: url(../img/bg/second.png) no-repeat center bottom / cover;
    transform: rotate(180deg);
}
.cp_70th .sec_philo picture{
    position: absolute;
    z-index: -1;
    inset: auto -100% max(13%, 12vw);
    margin: auto;
    width: min(745px,75vw);
    height: auto;
    aspect-ratio: 745 / 805;
}
.cp_70th .sec_philo picture{
    transition: .8s;
    -webkit-filter: blur(2px);
            filter: blur(2px);
}
.cp_70th .sec_philo picture.active{-webkit-filter: blur(0);filter: blur(0);}
.cp_70th .sec_philo p{
    position: absolute;
    z-index: 0;
    inset: auto -100% max(7%, 6vw);
    margin: auto;
    font-family: var(--ff_shippori);
    font-weight: 500;
    font-size: 30px;
    line-height: 1.53;
    color: #fff;
    opacity: 0;
    transform: translateY(20px);
    -webkit-filter: blur(2px);
            filter: blur(2px);
    transition: 1s 1s;
    max-width: 100%;
}
.cp_70th .sec_philo .scrollin.active + p{
    opacity: 1;
    transform: translateY(0);
    -webkit-filter: blur(0);
            filter: blur(0);
}
.cp_70th .sec_philo p span{
    display: inline-block;
    margin-right: 0.3em;
}
/* -----------------------------------------------------------
slider
----------------------------------------------------------- */
.cp_70th .slider {
    position: relative;
    z-index: 0;
    top: -1px;
    width: 100vw;
    min-height: 100px;
    /* aspect-ratio: 6720 / 560; */
    overflow: hidden;
}
.cp_70th .slider .slider_track {
    display: flex;
    width: calc(100% * 2);
    height: 100%;
    -webkit-animation: slide 50s linear infinite;
            animation: slide 50s linear infinite;
}
.cp_70th .slider .slider_track img {
    width: auto;
    height: 100%;
    flex-shrink: 0;
    -o-object-fit: cover;
       object-fit: cover;
}
@-webkit-keyframes slide {
  0% {transform: translateX(0);}
  100% {transform: translateX(-100%);}
}
@keyframes slide {
  0% {transform: translateX(0);}
  100% {transform: translateX(-100%);}
}
/* -----------------------------------------------------------
aside
----------------------------------------------------------- */
.cp_70th aside{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 385px;
    padding: 0 5%;
    transform: none !important;
    opacity: 1 !important;
}
.cp_70th aside figure{
    width: 248px;
    filter: blur(2px);
    transform: translateY(30px);
    opacity: 0;
    transition-duration: 1.3s;
}
.cp_70th aside.active figure{
    filter: blur(0);
    transform: translateY(0);
    opacity: 1;
}
