@charset "Shift_JIS";
/* CSS Document */
/*==============================================
共通 ここから
================================================*/

/* パンくず削除 */
#pankuzu {
    display: none;
}
.header-info-red {
    display: none !important;
}
a {
    display: block;
}

/* br用クラス */
.smp-none {
    display: none;
}

/* フッター余白削除 */
footer {
    margin-top: 0 !important;
}
footer .bottom {
    margin-top: 0 !important;
}

/* 価格プロ リセット */
.buy_price>ol, .buy_price>ul {
    margin: 0;
}
.buy_price>ol .spesicalprice, .buy_price>ul .spesicalprice,.buy_price>ul .intax {
    display: none;
}

/* 変数指定 */
:root {
    /* 共通フォントサイズ(ディスプレイが390px時に14pxとなる) ※.vpoint_campaign-innerの中の要素のみ */
    --font-size-text: 3.6cqw;

    /* 使用カラー */
    --color-orange: #db1d4e;

    /* アクティブ時のカラー */
    --color-active: #2589d0;

    /* テキストカラー */
    --color-main: #521e1e;

    /* 横の余白 */
    --margin-space-beside: 1em;

    /* 縦の余白 */
    --margin-space-vertical: 1em;
    /* 幅 */
    --margin-space-vertical: 1em;
}

.vpoint_campaign .smp_none {
    display: none;
}
/*==============================================
共通 ここまで
================================================*/

/*==============================================
vpoint_campaign 共通 STR
================================================*/

.vpoint_campaign {
    font-size: var(--font-size-text);
    background: #d22d1a;
    color: var(--color-main);
}

.vpoint_campaign * {
    box-sizing: border-box;

    /* 要素全てに同じフォントサイズを指定 */
    font-size: var(--font-size-text);
}
.vpoint_campaign a {
    display: block;
}
.vpoint_campaign span {
    font-size: 1em;
    line-height: 1;
}
.vpoint_campaign img {
    width: 100%;
    height: auto;
    display: block;
}
.vpoint_campaign svg {
    width: 100%;
}
.vpoint_campaign .vpoint_campaign_section {
    width: 100%;
    position: relative;
    overflow: hidden;
    padding:1em 0;
}

.vpoint_campaign .vpoint_campaign_section.anchor {
    padding:0 0 1em 0;
}
/* マーカー */
span.marker {
    background: linear-gradient(transparent 60%, #ffe4d2 40%);
    font-weight: bold;
    color: #ff3500;
    line-height: 1;
    font-size: 1em;
}
.vpoint_campaign .contents {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
    /* コンテナクエリを指定 */
    container-type: inline-size;  /* または size */

    background-size: 40px 40px;
    background-position: 0 0, 20px 20px;
    background-color: #004cb4;
}
.vpoint_campaign .vpoint_campaign-block {
    width: 100%;
    position: relative;
    overflow: hidden;
    padding: 0;
    margin-bottom: 1em;
}
.vpoint_campaign .vpoint_campaign-block.gyotensale-flex {
    display:flex;
    justify-content: center;
    background: #fff;
    padding: 1em;
    gap: .7em;
    padding: 0 1em;
}
/* 共通見出し */
.vpoint_campaign .vpoint_campaign_section .section-title {
    margin: 0 auto calc(var(--margin-space-vertical) / 2);
    text-align: center;
    display: flex;
    justify-content: center;
    color: #fff;
    line-height: 1;
    gap: .4em;
    justify-content: space-between;
    padding: 0 .5em;
    align-items: center;
}
.vpoint_campaign .vpoint_campaign_section .section-title .left{
    display: flex;
    align-items: center;
    gap: .5em;
}
.vpoint_campaign .vpoint_campaign_section .section-title.center {
    justify-content: center;
}
.vpoint_campaign .vpoint_campaign_section .section-title__text {
    position: relative;
    font-size: 1.5em;
    position: relative;
    z-index: 100;
    color: #2b2a12;
    text-align: center;
}
/* 商品見出し（見出し+もっと見るの形） */
.vpoint_campaign .section-title.left{
    justify-content: flex-start;
}
.vpoint_campaign .section-title h2{
    color: #fff;
    font-size: 1.5em;
    display: flex;
    flex-direction: column;
    /* align-items: baseline; */
    gap: .2em;
    line-height: 1.4em;
}
.vpoint_campaign .section-title h2 span.box{
    background: #fadfac;
    color: #d22d1a;
    padding: .2em .3em;
    font-size: .8em;
    width: 100%;
    text-align: center;
    margin-bottom: .2em;
}
.vpoint_campaign .section-title h2 span.big{
    font-size: 1.6em;
    display: contents;
}
.vpoint_campaign .section-title h2 span.small{
    font-size: .6em;
    color: #fadfac;
    font-weight: normal;
}
.vpoint_campaign .deco{
    width:4.7em;
}
/* 共通カテゴリ遷移ボタン */
.vpoint_campaign .section-catebtn {
    position: relative;
    width: 95%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100cqw;
    padding: 1em 0;
    color: #FFF;
    font-size: 1em;
    background-color: #1f0a07;
    gap: .3em;
    line-height: normal;
    text-align: center;
    border: .2em solid #1f0a07;
}

.vpoint_campaign .section-catebtn .plazaicon-sitamuki-2{
    display: inline-block;
    transform: rotate(-90deg);
    font-size: .8em;
}

.vpoint_campaign a.section-catebtn:hover {
    border: .2em solid #1f0a07;
    color: #1f0a07!important;
    background-color: #1f0a0700;
}

/*==============================================
contents 共通 END
================================================*/

/*==============================================
vpoint_campaign-contents 全体枠 STR
================================================*/
.vpoint_campaign .contents{
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.vpoint_campaign .contents-inner{
    padding:0 1em;
}
/*==============================================
vpoint_campaign-contents 全体枠 END
================================================*/

/*==============================================
vpoint_campaign-top 看板 STR
================================================*/
.vpoint_campaign .vpoint_campaign_section.top{
    padding: 0;
}
.vpoint_campaign .entry_inner{
    background-color: #fff;
    padding: var(--margin-space-beside);
}
/*==============================================
vpoint_campaign-contents 看板 END
================================================*/

/*==============================================
vpoint_campaign エントリーボタン STR
================================================*/
.vpoint_campaign form,
.vpoint_campaign .entry_btn.clear{
    position: relative;
    width: 100%;
    max-width: 20em;
    margin: 0 auto var(--margin-space-beside);
}
.vpoint_campaign .vpoint_campaign_section.step .entry_btn.clear{
    margin: auto;
}
.vpoint_campaign input[type="submit"],
.vpoint_campaign .entry_btn.clear p{
    color: #fff;
    background: #e21700;
    width: 100%;
    border-radius: 100vw;
    padding: .6em 2.2em .6em 1.2em; /* 右側に矢印分の余白 */
    display: inline-block;
    text-align: center;
    line-height: 1.2;
    font-size: 1.1em;
    border: 0;
    appearance: none;
    box-shadow: 0 5px 0 #931203;
    cursor: pointer;
}

/* 親要素に矢印を重ねる */
.vpoint_campaign form::after{
    font-family: 'fontPlazaIcon';
    content: '\e955';
    position: absolute;
    right: .8em;/* 右端から少し内側 */
    top: 50%;
    transform: translateY(-50%);
    color: #fff;/* テキスト色と合わせる */
    font-size: 1.2em;
    pointer-events: none; /* クリックの邪魔をしない */
}

/* ボタン(エントリー済み) */
.vpoint_campaign .entry_btn.clear p{
    background: #818181;
    box-shadow: none;
    border:none;
    color: #fff;
    line-height: unset;
    pointer-events: none;
}

/*==============================================
vpoint_campaign エントリーボタン END
================================================*/

/*==============================================
vpoint_campaign-top アコーディオン STR
================================================*/
.vpoint_campaign summary{
    text-align: center;
    color: var(--color-active);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    cursor:pointer;
    outline:none;
}
.vpoint_campaign .detail_accordion summary::before {
    font-family: 'fontPlazaIcon' !important;
    content: "\e909";
    font-size: 1.2em;
    margin-right: .1em;
}
.vpoint_campaign .detail_accordion dl{
    border: .1em solid #919191;
    padding: var(--margin-space-beside);
    margin-top: var(--margin-space-beside);
    color:#2f2f2f;
}
.vpoint_campaign .detail_accordion dl dt:not(:first-child){
    border-top: .1em solid #919191;
    margin-top: .5em;
    padding: .5em 0 0;
}
.vpoint_campaign .detail_accordion dl dd {
    letter-spacing: normal;
    font-weight: 300;
}
/*箇条書き*/
.vpoint_campaign .detail_accordion dl dd.list {
    position: relative;
    margin-left: 1.1em;
}
.vpoint_campaign .detail_accordion dl dd.list::before {
    content: "・";
    margin-left: -1.3em;
}
/*リンクテキスト*/
.vpoint_campaign .detail_accordion dl dd a {
    color: #e50012;
    text-decoration: underline;
    display: inline-block;
}

/*==============================================
vpoint_campaign-contents アコーディオン END
================================================*/

/*==============================================
vpoint_campaign-step 手順 STR
================================================*/
.vpoint_campaign .vpoint_campaign_section.step{
    padding: var(--margin-space-beside)
}

/* 左上タイトル付きボックス */
.vpoint_campaign .vpoint_campaign_section.step .cstm-box-title-top{
    margin: 2em auto; /* 外側余白 */
    position: relative; /* タイトル基準 */
    border-radius: 2em; /* 角丸 */
    max-width: 800px; /* 最大幅 */
    background-color: #fff;
}

.vpoint_campaign .vpoint_campaign_section.step .cstm-box-title-top:last-child{
    margin: 2em auto 0;
}

.vpoint_campaign .vpoint_campaign_section.step .cstm-box-title-top .box-title {
    background: #eda60c;
    color: #fff;
    padding: 0.2em 1.5em;
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
    display: inline-table;
    font-weight: bold;
    border-radius: 10em;
    max-width: calc(100% - 2em);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 auto;
}

.vpoint_campaign .vpoint_campaign_section.step .cstm-box-title-top .box-content {
    padding: 2.5em 2em 2em; /* タイトル分の余白 */
    text-align: center;
    color: #000f2b;
}

/* 段落の余白なし */
.vpoint_campaign .vpoint_campaign_section.step .cstm-box-title-top .box-text { 
    margin-bottom: .5em;
    font-size: 1.3em;
    font-weight: 800;
    line-height: normal;
}

.vpoint_campaign .vpoint_campaign_section.step .cstm-box-title-top .box-text.sub { 
    font-size: var(--margin-space-beside);
}

/* アンカーボタン */
.vpoint_campaign .vpoint_campaign_section.step .box-anchor {
    display: flex;
    justify-content: center;
    align-items: center;
    /* width: 250px; */
    margin: 0 auto;
    padding: .9em 2em;
    border: 1px solid var(--color-active);
    border-radius: 10em;
    background-color: #fff;
    color: #2589d0;
}

/* 画像 */
.vpoint_campaign .vpoint_campaign_section.step .box-img {
    width: 10em;
    margin: 0 auto 1em;
}

/* タブ切替 */
.vpoint_campaign .tab-2 {
    display: flex;
    flex-wrap: wrap;
    /* gap: 0 10px; */
    max-width: 22em;
}

.vpoint_campaign .tab-2 > label {
    flex: 1 1;
    order: -1;
    opacity: .5;
    min-width: 70px;
    padding: .6em 1em;
    border-radius: 5px 5px 0 0;
    background-color: #001948;
    color: #fff;
    font-size: .9em;
    text-align: center;
    cursor: pointer;
}

.vpoint_campaign .tab-2 > label:hover {
    opacity: .8;
}

.vpoint_campaign .tab-2 input {
    display: none;
}

.vpoint_campaign .tab-2 > div {
    display: none;
    width: 100%;
    padding: 1.5em .5em;
    background-color: #fff;
}

.vpoint_campaign .tab-2 label:has(:checked) {
    opacity: 1;
}

.vpoint_campaign .tab-2 label:has(:checked) + div {
    display: block;
    border: .1em solid #001948;
}

.vpoint_campaign .vpoint_campaign_section.step .cstm-box-title-top .rink a{
    font-size: .9em;
}

.vpoint_campaign .rink {
    color: var(--color-active);
}
/*==============================================
vpoint_campaign-step 手順 END
================================================*/

/*==============================================
vpoint_campaign タイトル STR
================================================*/
.vpoint_campaign .vpoint_campaign_section.banner{
    background-color: #ffffff;
}
/*==============================================
vpoint_campaign おすすめ商品 STR
================================================*/
.vpoint_campaign .vpoint_campaign_section.sale{
    background-color: #fbfae5;
}
/*==============================================
vpoint_campaign 商品 STR
================================================*/

/* 商品共通CSS */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item-wrap {
    position: relative;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item-inner {
    width: 100%;
    display: flex;
    /* スクロールバーの余白調節 */
    overflow-x: scroll;
    padding-left: var(--margin-space-beside);
    padding-right: var(--margin-space-beside);
    padding-bottom: .9em;
}

.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item {
    position: relative;
    width: 15em;
    min-width: 15em;
    background-color: #FFF;
    border-radius: 5px;
    overflow: hidden;
    margin-right: 1em;
    transition: .3s;
    flex-direction: column;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item:nth-last-of-type(1) {
    margin-right: 0;
}
/* 商品：キャッチコピー */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__copy {
    font-size: .9em;
    padding: .9em 0 .8em .8em;
    white-space: nowrap;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__copy span {
    font-size: 1.2em;
    padding-right: .1em;
}
/* 商品：サムネ */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__thum {
    width: 100%;
    overflow: hidden;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__thum img {
    transition: .3s;
}

/* 商品：サムネより下のインナー */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__inner {
    padding: .5em;
    display: flex;
    flex-direction: column;
    gap: .4em;
}

/* 商品：在庫数 */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__zaiko {
    line-height: 1;
    font-size: 1em;
    padding-bottom: .1em;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__zaiko .num {
    font-size: 1.3em;
    font-weight: 600;
    padding: 1em 0;
}

/* 商品：商品名 */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__name {
    color: #222;
    height: 3.7em;
    display: flex;
    padding: .3em .5em;
    background-color: #fbf8f8;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__name__h4 {
    color: #222;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
}

/* 商品：価格 */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__price {
    font-size: 1.5em;
    display: flex;
    align-items: baseline;
    gap: .3em;
    margin-bottom: 0;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__price .main-price,
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__price .sub-price {
    position: relative;
    line-height: 1;
    font-family: 'Lato', 'Noto Sans JP', 'Yu Gothic black', sans-serif, 'メイリオ';
    font-weight: 700;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__price .main-price {
    font-size: 1.1em;
    color: #eb0012;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__price .main-price::first-letter,
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__price .sub-price::first-letter {
    font-size: .8em;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__price .sub-price {
    font-size: .7em;
    color: #a1a1a1;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__price .sub-price::after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: #a1a1a1;
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
}
/* 販促アイコン */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__zaiko {
    display: flex;
    gap: .3em;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__promo .promo-icon {
    background-color: var(--color-orange);
    color: #FFF;
    line-height: 1.3em;
    padding: 0 .3em;
    display: flex;
    justify-content: center;
    align-items: center;
    /* 販促が空の場合でも高さが合うように */
    height: 3.2em;
    text-align: center;
}

.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__zaiko .outlet-icon {
    color: #d96702;
}

/* 詳細はこちら */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-item__link {
    color: var(--color-active);
    font-size: .9em;
    display: flex;
    align-items: center;
    line-height: 1;
    transition: .3s;
    line-height: 1;
}

/*==============================================
vpoint_campaign 商品 END
================================================*/

/*==============================================
vpoint_campaign もっとみる STR
================================================*/
.vpoint_campaign .vpoint_campaign_section .section-title .section-title__more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .3em;
}
.vpoint_campaign .vpoint_campaign_section .section-title .section-title__more a{
    font-size: .85em;
    line-height: 1;
    background: var(--color-orange);
    padding: .7em 1em;
    border-radius: 100em;
    color: #fff;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: .8em;
    border: .2em solid #fff;
    height: 3.5em;
    /* width: 9em; */
}
.vpoint_campaign .vpoint_campaign_section .section-title .section-title__more i {
    font-size: .9em;
    padding-top: .2em;
}
/*==============================================
vpoint_campaign もっとみる END
================================================*/

/*==============================================
vpoint_campaign-campaign エントリーボタン STR
================================================*/
.vpoint_campaign .entry-btn {
    color: #ffe39b;
    background: #e71940;
    width: 20em;
    min-width:80%;
    margin:1em auto .5em;
    border-radius: 100vw;
    padding: .6em 0;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: .3em;
    box-shadow: 0 5px 0 #a80000;
    font-size: 1.1em;
}
.vpoint_campaign .entry-btn i {
    font-weight: bold;
}
/* ボタン(エントリー済み) */
.vpoint_campaign .entry-btn.clear{
    background: #818181;
    box-shadow: none;
    border:none;
    color: #fff;
    line-height: unset;
    pointer-events: none;
}
/*==============================================
vpoint_campaign-campaign エントリーボタン END
================================================*/

/*==============================================
vpoint_campaign-campaign 詳細 アコーディオン STR
================================================*/
.vpoint_campaign .campaign-accordion {
    margin-top: .8em ;
    margin: 0 1em .5em 1em;
}

.vpoint_campaign .campaign-accordion summary.campaign-summary {
    display: flex;
    justify-content:center;
    align-items: baseline;
    position: relative;
    color: var(--color-active);
    cursor: pointer;
    gap: .2em;
    font-size: .9em;
}
.vpoint_campaign .campaign-accordion summary.campaign-summary::-webkit-details-marker {
    display: none;
}
/* アコーディオンが開いたとき縦線の変化 */
.vpoint_campaign .campaign-accordion[open] summary.campaign-summary::before {
    transform: rotate(180deg);
}
/* アコーディオンが開いたとき横線の変化 */
.vpoint_campaign .campaign-accordion[open]::after {
    opacity:0;
}

/* アコーディオンが開いたときの枠線 */
.vpoint_campaign .campaign-accordion[open] .app_detail {
    transform: none;
    opacity: 1;
    border: .1em solid #000;
    border-top: none;
    padding: .5em 1em 1em;
}
.vpoint_campaign .campaign-accordion .app_textbox p{
    margin-bottom: .5em;
}
.vpoint_campaign .campaign-accordion dl.campaign-accordion__inner {
    background: #fff;
    padding: .5em;
}
.vpoint_campaign .campaign-accordion dl.campaign-accordion__inner dt {
    font-size: .9em;
    color: #222;
    margin-bottom: .5rem;
    background: #eee;
    padding: .2rem .5rem;
}
.vpoint_campaign .campaign-accordion dl.campaign-accordion__inner dd {
    font-size: .8rem;
    margin-bottom: .5em;
}
.vpoint_campaign .campaign-accordion dl.campaign-accordion__inner dd a{
    color: #e50012;
    display: inline-block;
    text-decoration: underline;
    font-size: .8rem;
}


/*==============================================
vpoint_campaign-campaign 詳細 アコーディオン END
================================================*/

/*==============================================
vpoint_campaign_section banner ガイドバナー STR
================================================*/
.vpoint_campaign h2{
    color: #ffffff;
    text-align: center;
    font-size: 1.5em;
}
.vpoint_campaign h2.title_img{
    margin: .5em 1em 1em;
}

.vpoint_campaign h2.service__ttl {
    position: relative;
    text-align: center;
    display: block;
    width: fit-content;
    margin: 0 auto;
    padding: 0 1em;
    color: #004cb4;
    letter-spacing: normal;
    font-weight: 800;
}
.vpoint_campaign h2.service__ttl::before,
.vpoint_campaign h2.service__ttl::after{
    content: "";
    position: absolute;
    bottom: 0;
    width: .1em;
    height: 1.5em;
    background: rgb(0 76 180);
}
.vpoint_campaign h2.service__ttl::before {
    transform: rotate(-30deg);
    left: 0;
  }
.vpoint_campaign h2.service__ttl::after {
    transform: rotate(30deg);
    right: 0;
}

.vpoint_campaign .vpoint_campaign_section.banner p {
    color: #004cb4;
    text-align: center;
    font-weight: 800;
}

.vpoint_campaign .box_banner {
    margin: .5em 1em;
}

/*==============================================
vpoint_campaign_section banner ガイドバナー END
================================================*/


/*==============================================
vpoint_campaign .howto-inner 共通説明 STR
================================================*/
.vpoint_campaign .howto-inner {
    background: #faf4e7;
    padding: 1em;
    display: grid;
    justify-items: center;
    gap: .5em;
}
.vpoint_campaign .howto-inner__title{
    display: flex;
    justify-content: center;
    position: relative;
    text-align: center;
    background:var(--color-main);
    align-items: center;
    width: 35%;
    margin:0 auto;
    height: 1.75rem;
    gap: 1em;
}
.vpoint_campaign .howto-inner__p{
    font-weight: bold;
    width: 100%;
}
.vpoint_campaign .howto-inner__title p{
    color: #fff;
}
.vpoint_campaign .howto-inner__title::before,
.vpoint_campaign .howto-inner__title::after {
    position: absolute;
    top: 0;
    display: block;
    content: '';
    border: .9rem solid var(--color-main);
}
.vpoint_campaign .howto-inner__title::before {
    left: -1rem;
    border-left-width: 6px !important;
    border-left-color: transparent !important;
    
}
.vpoint_campaign .howto-inner__title::after {
    right: -1rem;
    border-right-width: 6px !important;
    border-right-color: transparent !important;
}
.vpoint_campaign .howto-inner__flex{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em;
}
.vpoint_campaign .howto-inner__flex img{
    width: 45%;
}
.vpoint_campaign .howto-inner__txt{
    display: flex;
    flex-wrap: wrap;
    gap:.8em;
    align-items: center;
    justify-content: space-between;
}
.vpoint_campaign .howto-inner__txt dt{
    line-height: 1.5em;
    font-weight: bold;
}
.vpoint_campaign .howto-inner__txt dt p{
    text-align: left;
    margin-top: .5em;
    font-size: .75em;
    line-height: 1.4em;
    font-weight: normal;
}
.vpoint_campaign .howto-inner__txt dd .deco_cart{
    width:8em;
    margin-bottom: -2em;
}
/*==============================================
vpoint_campaign .howto-inner 共通説明 END
================================================*/

/*==============================================
.vpoint_campaign 特集 STR
================================================*/
.vpoint_campaign .vpoint_campaign_section.event{
    background: var(--color-black)
}

/* 特集共通CSS */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-event-wrap {
    position: relative;
}

.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-event-inner {
    width: 100%;
    display: flex;
    margin-bottom: .8em;

    /* スクロールバーの余白調節 */
    overflow-x: scroll;
    padding-left: var(--margin-space-beside);
    padding-right: var(--margin-space-beside);
    padding-bottom: .9em;
}

.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-event {
    position: relative;
    width: 15em;
    min-width: 15em;
    background-color: #FFF;
    overflow: hidden;
    margin-right: 1em;
    transition: .3s;
    flex-direction: column;
    border: 3px solid #fff;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-event:nth-last-of-type(1) {
    margin-right: 0;
}


/* 商品：キャッチコピー */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-event__copy {
    font-size: .9em;
    padding: .9em 0 .8em .8em;
    white-space: nowrap;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-event__copy span {
    font-size: 1.2em;
    padding-right: .1em;
}
/* 商品：サムネ */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-event__thum {
    width: 100%;
    overflow: hidden;
}
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-event__thum img {
    transition: .3s;
}

/* 商品：サムネより下のインナー */
.vpoint_campaign .vpoint_campaign_section .vpoint_campaign-event__inner {
    padding: 0 .5em .5em;
    display: flex;
    flex-direction: column;
    gap: .4em;
}
/*==============================================
.vpoint_campaign 特集 END
================================================*/

/*==============================================
vpoint_campaign-list カテゴリ STR
================================================*/
.vpoint_campaign .vpoint_campaign_section.list .section-title__text {
    color: #000;
}

.vpoint_campaign .vpoint_campaign_section.list {
    background-color: #f7f7f7;
    padding: var(--margin-space-vertical) 0;
}

.vpoint_campaign .vpoint_campaign_section .list-category {
    display: flex;
    gap: 2%;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 var(--margin-space-beside);
    margin: 0 auto;
}
.vpoint_campaign .vpoint_campaign_section .list-category__item {
    position: relative;
    width: 49%;
    display: flex;
    justify-content: start;
    align-items: center;
    padding: 0 .2em;
    border: 1px solid #d3d3d3;
    border-radius: 5px;
    margin-top: .8em;
    background-color: #FFF;
    font-size: 1em;
    height: 5em;
    gap: .3em;
}
.vpoint_campaign .vpoint_campaign_section .list-category__item.other {
    padding-left: 4.5em;
}

.vpoint_campaign .vpoint_campaign_section .list-category__item:nth-of-type(1),
.vpoint_campaign .vpoint_campaign_section .list-category__item:nth-of-type(2) {
    margin-top: 0;
}
.vpoint_campaign .vpoint_campaign_section .list-category__item .img {
    width: 3.8em;
}
.vpoint_campaign .vpoint_campaign_section .list-category__item .new-icon {
    position: absolute;
    top: 0;
    right: 0;
    width: 3em;
}

/*==============================================
vpoint_campaign-list カテゴリ END
================================================*/

/*==============================================
vpoint_campaign-list 右下アンカー STR
================================================*/
.vpoint_campaign .fixed-anchor .update{
    position: absolute;
    top: -35px;
    left: -5%;
    z-index: 1;
    width: 85px;
}

.vpoint_campaign .fixed-anchor{
    position: fixed;
    right: 0.7em;
    width: 6em;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 49;
    bottom: 9.6em;
}
/*------------------------------------------*/
/*カテゴリ矢印*/
/*-----------------------------------------------*/
#category-list .col_4 a::after{
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    content: "";
    width: .5em;
    height: .5em;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    top: 0;
    bottom: 0;
    right: 8%;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: all .3s ease 0s;
}
#category_anchor .col_4 .text{
    font-size: 2.6vw;
}

/*-----------------------------------------------*/
/*ライトナビ*/
/*-----------------------------------------------*/
#vpoint_campaign .nav_wrap {
    position:fixed;
    z-index: 50;
	bottom: 0;
	right:-200%;
    width: 53%;
    height: 100vh;
    transition: 0.5s all;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
    background:rgb(176 29 16 / 97%);
}
#vpoint_campaign .nav_wrap .zaburou {
    position: absolute;
    width: 8em;
    transform: translate(4.8em, -12em);
}
#vpoint_campaign .nav_wrap::-webkit-scrollbar{display:none;}

#vpoint_campaign .nav_wrap.panelactive {
	right: 0;
}
#vpoint_campaign .nav_wrap.panelactive .nav_inner {
    position: fixed;
    z-index: 999;
    width: 53%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
	display: flex;
	justify-content: center;
	align-items: center;
    margin-top: 2em;
}
/*内容*/
#vpoint_campaign .nav_wrap ul {
    position: absolute;
    z-index: 999;
    width:94%;
}

/**********▼ PC・SMP共通 数値変更のみ▼**********/
#vpoint_campaign .nav_wrap ul li a {
    position: relative;
    display: flex;
    align-items: center;
    padding:1em;
    color: #fadfac;
    border-bottom: 1px dashed #fadfac;
    line-height: 1.3em;
    text-align: left;
    justify-content: flex-start;
    transition: all 0.3s;
}
/**********▲ PC・SMP共通 数値変更のみ▲**********/
/*丸ボタン*/
#vpoint_campaign .cate_nav_fixed {
    position: fixed;
    bottom: 17vw;
    right: 5vw;
    display: flex;
    border-radius: 90px;
    height: 16vw;
    width: 16vw;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #222222c7;
}
#vpoint_campaign .navigation{
    width: 100%;
    height: 100%;
}
#vpoint_campaign .toggle {
	position: relative;
	z-index: 9999;
	top: 0;
	right: 0;
    width: 100%;
    height: 100%;
	cursor: pointer;
	display: block;
}
#vpoint_campaign .toggle span,
#vpoint_campaign .toggle span:before,
#vpoint_campaign .toggle span:after {
    content: '';
    display: block;
    height: 0.3vw;
    width: 7vw;
    border-radius: 3px;
    background-color: #fff;
    position: absolute;
    transition: 0.5s all;
}
#vpoint_campaign .toggle span{
    top: 2.3em;
    left: calc(50% - 20%);
}
#vpoint_campaign .toggle span:before {bottom: 7px;}
#vpoint_campaign .toggle span::after {top: 7px;}
#vpoint_campaign .toggle.active span {background-color: rgba(255, 255, 255, 0);}
#vpoint_campaign .toggle.active span:before{
    bottom: 0;
    transform: rotate(45deg);
}
#vpoint_campaign .toggle.active span:after{
    top: 0;
    transform: rotate(-45deg);
}
#vpoint_campaign .navigation span.txt{
    font-size:2.9vw;
    color:#fff;
    top: 3.1vw;
    position: absolute;
    left: 0;
    right: 0;
}