@charset "UTF-8";

/*==============================================
 共通 ここから
================================================*/

#campaign-mission img {
    width: 100%;
    height: auto;
    display: block;
}

#campaign-mission a {
    display: block;
}
#campaign-mission a:hover {
    opacity: .7;
    color: #222 !important;
}

/* マーカー */
span.marker {
    background: linear-gradient(transparent 60%, #fbab3b99 40%);
    font-weight: bold;
    line-height: 1;
}
/* テキスト下線 */
#campaign-mission span.text-border {
    position: relative;
    line-height: 1;
}
#campaign-mission span.text-border::after {
    content: '';
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #222;
}
/* SVG共通 */
#campaign-mission svg {
    width: 100%;
    height: auto;
    display: block;
}
/* 価格プロリセット */
.buy_price>ol .spesicalprice, .buy_price>ul .spesicalprice {
    display: none;
}
.buy_price>ul .intax {
    display: none !important;
}
.buy_price>ol .price, .buy_price>ul .price {
    color: #eb0012;
    font-size: 30px;
}

#campaign-mission .price-wrap .price {
    color: #eb0012;
    font-size: 1.3rem;
    letter-spacing: -0.01em;
}

/* ヘッダー画像削除 */
.header-info-red a{
    display: none;
}
/* フッター調整 */
footer {
    position: relative;
    z-index: 1;
}
footer,
footer .bottom {
    margin-top: 0 !important;
    margin: 0 auto;
}
article#contents {
    padding-bottom: 0 !important;
}
/* キーフレーム：縦無限コンテンツスクロール */
@keyframes infinity-scroll-vertical {
    from {
        transform: translateY(0);
    }
        to {
        transform: translateY(-100%);
    }
}
/* キーフレーム：ザブロウアイコンアニメ */
@keyframes decoSwing {
    0% {
      transform: rotate(0deg);
    }
  
    100% {
      transform: rotate(20deg);
    }
}
/* キーフレーム：クローズボタンフェードイン */
@keyframes fadein {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
}
/* キーフレーム：ザブレオンフェードイン */
@keyframes zabu-fadein {
	0% {
		animation-timing-function: ease-in;
		transform: translate(150%,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	}  25% {
		animation-timing-function: ease-in-out;
		transform: translate(3%,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 75% {
		animation-timing-function: ease-in-out;
		transform: translate(0%,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 100% {
        animation-timing-function: ease-in-out;
		transform: translate(0%,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	}
}
/* キーフレーム：ザブレオン背景フェードアウト */
@keyframes anime-background-fadeout {
    from {
      opacity: 0.5;
      display: block;
    }
    to {
      opacity: 0;
      display: none;
    }
}
/* キーフレーム：ザブレオンフェードアウト */
@keyframes zabu-fadeout {
	0% {
        animation-timing-function: ease-in;
		transform: translate(0%,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 25% {
        animation-timing-function: ease-in-out;
		transform: translate(-150%,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	} 100% {
        animation-timing-function: ease-in-out;
		transform: translate(-150%,0px) scale(1,1) rotate(0deg) skew(0deg,0deg);
		opacity: 1.0;
	}
}
/* キーフレーム：横無限テキストスクロール */
@keyframes loop {
    0%{
        transform: translateX(100%);
    }
    100%{
        transform: translateX(-100%);
    }
}
/* キーフレーム：タイトルロゴアニメーション */
@keyframes scale-up-center {
    0% {
      -webkit-transform: scale(0.5);
              transform: scale(0.5);
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
    }
}
/* ナビゲーション ザブロウ */
@keyframes hyoko {
    from {
        transform: translate(100%, 3%);
    } 
    to {
        transform: translate(33%, 3%);
    }
}

/*==============================================
 共通 ここまで
================================================*/
/* 変数指定 */
:root {
    /* 共通フォントサイズ */
    --font-size-text: 2cqw;

    /* 横の余白 上書き */
    --margin-space-beside: 3.5em;

    /* 縦の余白 上書き */
    --margin-space-vertical: 2em;
}


/*==============================================
#campaign-mission 共通 ここから
================================================*/

/* フォント */
#campaign-mission{
    font-family: "Zen Kaku Gothic New",'Noto Sans JP','Yu Gothic black',sans-serif,'メイリオ';
    font-weight: 500;
    font-style: normal;
    margin: 1em auto;
}
#campaign-mission p{
    font-family: "Zen Kaku Gothic New",'Noto Sans JP','Yu Gothic black',sans-serif,'メイリオ';
    font-weight: 500;
    font-style: normal;
    font-size: 1rem;
}
#campaign-mission h1{
    font-family: "Zen Kaku Gothic New",'Noto Sans JP','Yu Gothic black',sans-serif,'メイリオ';
    font-weight: 600;
    font-style: normal;
}
#campaign-mission h3{
    font-family: "Zen Kaku Gothic New",'Noto Sans JP','Yu Gothic black',sans-serif,'メイリオ';
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
}
#campaign-mission h3 span{
    font-family: "Lato";
    font-weight: 700;
    font-style: normal;
    font-size: 1.1em;
}
#campaign-mission h5{
    font-family: "Zen Kaku Gothic New",'Noto Sans JP','Yu Gothic black',sans-serif,'メイリオ';
    font-weight: 700;
    font-style: normal;
    font-size: 1.1rem;
}
#campaign-mission  span{
    font-family: "Zen Kaku Gothic New",'Noto Sans JP','Yu Gothic black',sans-serif,'メイリオ';
    font-weight: 700;
    font-style: normal;
}

/* 斜線 */
#campaign-mission p.text-line {
    text-decoration: line-through;
}

/* 背景 */
#campaign-mission .back {
    position: relative;
    z-index: 1;
    /* background-color: #fbffe3; */
    background: linear-gradient(135deg, #f0f8d4 10%, #c9eef0 90%);
}
#campaign-mission .back-inner {
    width: 100%;
    margin: 0 auto;
    max-width: 750px;
    /* box-shadow: 0px 0px 7px 3px #e1d2c6; */
}

/* セクション共通 */
#campaign-mission .section {
    position: relative;
}
#campaign-mission .section .flag-svg {
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 1;
}

/* 見出し */
#campaign-mission .section-title {
    width: 100%;
    text-align: center;
    margin-bottom: 2%;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    margin-top: 2%;
}
#campaign-mission .section-title .svg {
    width: 11%;
    margin: 0 auto;
}
/*==============================================
#campaign-mission 共通 ここまで
================================================*/

/*==============================================
 看板 ここから
================================================*/
/* 看板：枠 */
#campaign-mission .kanban {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    width: 100%;
}
/* 看板：タイトルロゴ */
#campaign-mission .kanban h1{
    width: 100%;
    margin: 0 auto;
    z-index: 1;
    position: relative;
}
/*==============================================
 看板 ここまで
================================================*/

/*==============================================
コンテンツ ここから
================================================*/
/* コンテンツ：枠 */
#campaign-mission .contents { 
    width: 100%;
    position: relative;
    z-index: 1;
    margin: 0 auto;
}
/* ==============================================
サマリー（キャンペーン紹介・絞り込み・アンカー） ここから
================================================*/

/* サマリー */
#campaign-mission #summary {
    position: relative;
    width: 85%;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 2% 0% 3%;
    background-color: #ffe9ca;
    border: 3px solid #3b1d05;
}
/* サマリー：タイトル */
#campaign-mission .summary-title {
    position: relative;
}
/* サマリー：TOPキャンペーンの詳細用アンカー */
#campaign-mission #summary .summary-content__aunker {
    position: relative;
    width: 94.5%;
    margin: 0 auto;
    border-radius: 5px;
    background-color: #FFF;
    color: #6c3c14;
    font-size: 1rem;
    border: 1px solid #6c3c14;
    padding: .4em 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
}
#campaign-mission #summary .summary-content__aunker::after {
    position: absolute;
    right: 5%;
    transform: translateY(-25%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-bottom: 3px solid #6c3c14;
    border-right: 3px solid #6c3c14;
    content: '';
}
/* ホバー時 */
#campaign-mission #summary .summary-content__aunker:hover {
    color: #FFF !important;
    background-color: #6c3c14;
    opacity: 1;
}
#campaign-mission #summary .summary-content__aunker:hover::after {
    border-bottom: 3px solid #FFF;
    border-right: 3px solid #FFF;
}

/* サマリー：共通装飾 */
#campaign-mission #summary .deco {
    position: absolute;
    top: -10%;
    width: 14%;
}
#campaign-mission #summary .deco_right {
    right: 0;
}
#campaign-mission #summary .deco_left {
    left: 0;
}

/* サマリー：TOPキャンペーン用 */
#campaign-mission .summaryTop-title {
    position: relative;
    z-index: 1;
    display: flex;
    margin-bottom: -3.5%;
    box-sizing: border-box;
}
#campaign-mission .revo-camp .summaryTop-title {
    justify-content: start;
    margin-bottom: -6.5%;
}

#campaign-mission  .summaryTop-inner {
    padding: 0 3.5%;
}
#campaign-mission .revo-camp .summaryTop-title .img {
    width: 21%;
    margin-top: -3%;
}

#campaign-mission .summaryTop-camp {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: 4%;
    background-color: #004597;
    border-radius: 5px;
    margin-bottom: 1%;  
}

#campaign-mission .summaryTop-camp--item {
    display: flex;
    box-sizing: border-box;
    padding: 0;
    width: 100%;
    gap: 1%;
    transform: rotate(-3deg);
}
#campaign-mission .summaryTop-camp--item .text {
    display: flex;
    flex-direction: column;
}
#campaign-mission .summaryTop-camp--item p {
    color: #FFF;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .03px;
    white-space: nowrap;
}
#campaign-mission .summaryTop-camp--item .min {
    font-size: .8em;
}
#campaign-mission .summaryTop-camp--item .white-back{
    background: #FFF;
    display: inline-flex;
    align-items: baseline;
    line-height: 1;
    color: #c5121d;
    padding: 0 .15em .08em .08em;
    white-space: nowrap;
    font-weight: 800;
    letter-spacing: 1px;
    font-size: 0.9em;
}
#campaign-mission .summaryTop-camp--item .white-back span {
    color: #c5121d;
    line-height: 1;
}
#campaign-mission .summaryTop-camp--item .num {
    font-size: 3rem;
    font-family: 'Lato',"Zen Kaku Gothic New",'Noto Sans JP','Yu Gothic black',sans-serif,'メイリオ';
    font-weight: bold;
    letter-spacing: .01px;
    margin-right: .08em;
}
#campaign-mission .summaryTop-camp--item .normal {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: 0.05px;
}
#campaign-mission .summaryTop-camp .kome {
    margin-top: 2%;
    font-size: .85rem;
    color: #FFF;
    line-height: 1.4;
}

/* TOPキャンペーン用：モーダル */
#campaign-mission .summaryTop-camp--modal.early {
    margin-top: 2%;
}
#campaign-mission .summaryTop-camp--modal input {
    display: none;
}

#campaign-mission .modal__open-label,
#campaign-mission .modal__close-label {
    cursor: pointer;
}
#campaign-mission .modal__open-label {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: .5em 0em;
    border: none;
    border-radius: 5px;
    background-color: #222;
    color: #ffffff;
    box-sizing: border-box;
    border: 1px solid #FFF;
    font-weight: 600;
    font-size: 1.1em;
}
#campaign-mission .modal__open-label i {
    position: absolute;
    right: 5%;
    font-size: 1.5em;
}
#campaign-mission .modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: none;
}
#campaign-mission .modal__open-input:checked + label + input + .modal {
    display: block;
    animation: fadein .6s;
}
#campaign-mission .modal__content-wrap {
    position: absolute;
    left: 50%;
    top: 58%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 550px;
    background-color: #fefefe;
    z-index: 2;
    border-radius: 5px;
}

#campaign-mission .modal__close-label {
    background-color: #777;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 100vw;
    width: 3rem;
    height: 3rem;
    line-height: 0;
    position: fixed;
    top: -4%;
    right: -2%;
    z-index: 99;
    font-size: 1.1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding-bottom: 0%;
}

#campaign-mission .modal__content {
    overflow-y: auto;
    padding: 4%;
    max-height: 70vh;
}
#campaign-mission .modal__content--box {
    margin-bottom: 2%;
}
#campaign-mission .modal__content--title {
    text-align: center;
    color: #FFF;
    background-color: #004597;
    margin-bottom: 2%;
}
#campaign-mission .summaryTop-camp--modal.early .modal__content--title {
    background-color: #e11b8d;
}
#campaign-mission .info__contents .text-box__item h5,
#campaign-mission .modal__content h5 {
    font-size: 1.2rem;
}
#campaign-mission .modal__content h5::before {
    content: '■';
    font-size: .8em;
    margin-right: 1%;
}
#campaign-mission .modal__content--title p {
    font-size: 1.2rem;
    font-weight: 600;
}
#campaign-mission .modal__content--flex {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 3%;
    justify-content: center;
    margin-bottom: 1%;
    background: #faf0e3;
    box-sizing: border-box;
    padding: 2%;
}
#campaign-mission .modal__content--flex  .sword-icon {
    width: 8%;
    font-size: 2em;
}
#campaign-mission .modal__content--flex .img {
    position: relative;
    width: 42%;
}
#campaign-mission .modal__content--flex .img i {
    position: absolute;
    right: 3%;
    bottom: 3%;
    color: #FFF;
    background-color: #eb0012;
    font-size: 2em;
    padding: .2em;
    border-radius: 100vw;
}
#campaign-mission .modal__content p {
    letter-spacing: -.2px;
    font-weight: 500;
}
#campaign-mission .modal__content p.kome {
    color: #222;
    margin-top: 1%;
}
#campaign-mission .modal__content p span {
    font-size: 1.1em;
}

#campaign-mission .modal__background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .45);
    z-index: 1;
}

/* 5000円ギフトカード */
#campaign-mission .summaryTop-camp--item.gift5000 .img {
    width: 24%;
}
#campaign-mission .summaryTop-camp--item.gift5000 {
    transform: rotate(-3deg);
    margin-bottom: 2%;
}
/* 取り置き */
#campaign-mission .summaryTop-camp--item.keep .img {
    width: 16%;
    transform: translateY(-16%);
    margin-right: 1%;
}
#campaign-mission .summaryTop-camp--item.keep {
    transform: rotate(-3deg);
    margin-bottom: -3%;
}
#campaign-mission .summaryTop-camp--item.keep .text {
    margin-top: -1%;
}
#campaign-mission .summaryTop-camp--item.keep .p-1{
    font-size: 2.2rem;
}
#campaign-mission .summaryTop-camp--item.keep .p-2{
    font-size: 2.5rem;
    letter-spacing: 2px;
}
/* アイリスバスケット */
#campaign-mission .summaryTop-camp--item.basket .img {
    width: 20%;
    margin-top: -1%;
    margin-left: 1%;
}
#campaign-mission .summaryTop-camp--item.basket {
    transform: rotate(2deg);
    justify-content: end;
}
#campaign-mission .summaryTop-camp--item.basket .text {
    align-items: end;
}
#campaign-mission .summaryTop-camp--item.basket .text p {
    font-size: 2.3rem;
}
/* ギフトカード1000 */
#campaign-mission .summaryTop-camp--item.gift1000 .img {
    width: 26%;
}
#campaign-mission .summaryTop-camp--item.gift1000 {
    transform: rotate(2deg);
    justify-content: end;
}
#campaign-mission .summaryTop-camp--item.gift1000 .text {
    align-items: end;
    margin-right: 1%;
}
#campaign-mission .summaryTop-camp--item.gift1000 .text .p-1 {
    font-size: 2.1rem;
}
#campaign-mission .summaryTop-camp--item.gift1000 .text .p-2 .normal {
    font-size: 2.2rem;
}

/* 5%OFF */
#campaign-mission .summaryTop-camp--item.sale .img {
    width: 21%;
    margin-top: -3%;
}
#campaign-mission .summaryTop-camp--item.sale {
    transform: rotate(-3deg);
    margin-top: -2%;
    margin-bottom: 3%;
}
#campaign-mission .summaryTop-camp--item.sale .text p {
    font-size: 2.4rem;
}

/* 四角形装飾 */
#campaign-mission .summaryTop-square  {
    position: absolute;
    bottom: 19%;
    right: 0rem;
    display: flex;
}
#campaign-mission .summaryTop-square > span  {
    width: 1.3rem;
    height: 1.3rem;
    background-color: #FFF;
    margin-right: 1rem;
}
#campaign-mission .summaryTop-square > span:nth-child(even) {
    background-color: #c5121d;
}
/* 四角形装飾 早割 */
#campaign-mission .early-camp .summaryTop-square  {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
}
#campaign-mission .early-camp .summaryTop-square > span  {
    background-color: #004597;
    margin-top: 1rem;
}
#campaign-mission .early-camp .summaryTop-square > span:nth-child(2n) {
    background-color: #FFF;
}

/* 早期特典 */
#campaign-mission #summary .early-camp .summaryTop-title {
    justify-content: center;
    align-items: center;
    margin-bottom: -1%;
}

#campaign-mission #summary .early-camp .summaryTop-title .img {
    width: 42%;
}
#campaign-mission #summary .early-camp .summaryTop-camp {
    background-color: #e11b8d;
    padding: 4% 4% 2%;
    margin-bottom: 3%;
}

/* サマリー：スタンダードセットページ用 */
#standard-page .flex {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 2%;
    box-sizing: border-box;
}
#standard-page .flex-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #e4c08e;
    border-radius: 5px;
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid #8d532a;
    box-shadow: 3px 3px 0px 0px #8d532a;
    padding-top: 1%;
}
#standard-page .flex-item.cal3 {
    width: 32%;
    margin-bottom: 2%;
}
#standard-page .flex-item.cal2 {
    width: 49%;
}
#standard-page .flex-item h3 {
    font-size: 16px;
    color: #5b371d;
}
#standard-page .flex-item .flex-item__num {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0 3%;
    color: #FFF;
    background-color: #8d532a;
    font-size: 20px;
    border-radius: 0 0 5px 0;
}
#standard-page .flex-item .flex-item__num .point {
    font-size: 0.8em;
}

/*==============================================
キャンペーン解説 ここまで
================================================*/

/*==============================================
 看板下 ここまで
================================================*/

/*PC 非表示*/
#campaign-mission .pc_none,#campaign-mission .smp-none{
    display: none;
}
/*キャンペーン詳細*/
#campaign-mission .text-box__item h5.top,
#campaign-mission .modal h5.top{
    margin-top: 4%;
}


#campaign-mission .item-section .item-list.eleven {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap:1%
}
#campaign-mission .item-section .item-list.eleven li {
        width: 42%;
}

#campaign-mission .item-section .item-list.eleven .sword-icon {
        font-size: 2.2rem;
    }

/* キャンペーン */
#campaign-mission .campaign {
    width: 100%;
    box-sizing: border-box;
    padding: 0% 0 0;
    position: relative;
    z-index: 1;
}
#campaign-mission .campaign-contents__item {
    position: relative;
    width: 93%;
    margin: 0 auto 4%;
    border-radius: 5px;
    overflow: hidden;
}
/* キャンペーン：見出し */
#campaign-mission .campaign-contents__item--title {
    width: 100%;
    text-align: center;
    margin-bottom: 2%;
}
/* キャンペーン：セット革命条件図解 */
#campaign-mission .campaign-contents__item .condition-img {
    width: 97%;
    margin: 0 auto 3%;
    display: flex;
    justify-content: center;
}
#campaign-mission .campaign-contents__item .condition-img__box {
    width: 48%;
    display: grid;
    grid-template-columns: auto auto auto;
}
#campaign-mission .campaign-contents__item .condition-img__box .img {
    position: relative;
}
#campaign-mission .campaign-contents__item .condition-img__box .img:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    border: 1px solid #ffffff;
    box-sizing: border-box;
}
#campaign-mission .campaign-contents__item .condition-img__box.kaden .img-1 {
    grid-column: 1 / 2;
    grid-row   : 1 / 2;
}
#campaign-mission .campaign-contents__item .condition-img__box.kaden .img-2 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
#campaign-mission .campaign-contents__item .condition-img__box.kaden .img-3 {
    grid-column: 2 / 4;
    grid-row: 1 / 4;
}
#campaign-mission .campaign-contents__item .condition-img__box.kagu .img-1 {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}
#campaign-mission .campaign-contents__item .condition-img__box.kagu .img-2 {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}
#campaign-mission .campaign-contents__item .condition-img__box.kagu .img-3 {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}
#campaign-mission .campaign-contents__item .condition-img .closs {
    display: flex;
    align-items: center;
    font-size: 2.5rem;
}

/* キャンペーン：テキスト */
#campaign-mission .campaign-contents__item--text {
    text-align: center;
    margin-bottom: 1%;
    box-sizing: border-box;
}

/* キャンペーン：コンテンツ 見出し */
#campaign-mission .campaign-contents__item p{
    line-height: 1.5;
    font-weight: 600;
    font-size: 1.3rem;
}
#campaign-mission .campaign-contents__item p span{
    line-height: 1;
}
#campaign-mission .campaign-contents__item p .yellow{
    color: #fcff00;
    font-size: 1em;
}
#campaign-mission .campaign-contents__item p .big{
    font-size: 1.3em;
}
#campaign-mission .campaign-contents__item p .num{
    font-size: 1.5em;
}
#campaign-mission .campaign-contents__item p .letter{
    font-size: 1em;
    letter-spacing: -1.1vw;
}
#campaign-mission .campaign-contents__item p .dot{
    position: relative;
    font-size: 1em;
}
#campaign-mission .campaign-contents__item p .dot::after{
    position: absolute;
    z-index: 10;
    left: 50%;
    bottom: 88%;
    transform: translateX(-50%);
    content: '●';
    font-size: .7rem;
}


/* キャンペーン：コンテンツ 新生活ミッション */
#campaign-mission .campaign-contents__item.mission {
    color: #FFF;
    border: 1px solid #FFF;
    box-shadow: 0 .8px 0px 3px #2c2c2c;
    background: #2ec3a5;
    position: relative;
    z-index: 2;
    padding: 2% 0 0;
    margin-top: 3%;
}
#campaign-mission .campaign-contents__item.mission:hover {
    color: #FFF !important;
    opacity: .9;
}
#campaign-mission .campaign-contents__item.mission::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(../../IMAGE/newlife2026/cir.svg);
    background-position: center;
    background-size: 2.1rem;
    opacity: .15;
}
#campaign-mission .campaign-contents__item.mission .campaign-contents__item--title .sub-title {
    padding-left: 5%;
}
#campaign-mission .campaign-contents__item.mission .campaign-contents__item--chara {
    position: absolute;
    left: -1%;
    top: 0;
    width: 8.5rem;
}
#campaign-mission .campaign-contents__item.mission .campaign-contents__item--btn {
    text-align: center;
}
#campaign-mission .campaign-contents__item.mission .campaign-contents__item--btn p{
    position: relative;
    background-color: #FFF;
    color: #2ec3a5;
    font-size: 1.2rem;
    padding: .1em 0;
}
#campaign-mission .campaign-contents__item.mission .campaign-contents__item--btn p::after {
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    content: "";
    width: .4em;
    height: .4em;
    border-top: 2px solid #2ec3a5;
    border-right: 2px solid #2ec3a5;
    top: -7%;
    bottom: 0;
    right: 5%;
    margin: auto;
    transform: rotate(135deg);
    transition: all 0.3s ease 0s;
}

/* キャンペーン：コンテンツ セット革命 */
#campaign-mission .campaign-contents__item.revo {
    color: #FFF;
    border: 1px solid #FFF;
    box-shadow: 0 .8px 0px 3px #2c2c2c;
    background-color: #0bc0cb;
    position: relative;
    z-index: 2;
}
#campaign-mission .campaign-contents__item.revo::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(../../IMAGE/newlife2026/cir.svg);
    background-position: center;
    background-size: 2.1rem;
    opacity: .15;
}
#campaign-mission .campaign-contents__item.revo .sub-title {
    font-size: 1.5rem;
}
#campaign-mission .campaign-contents__item.revo .campaign-contents__item--text p{
    font-size: 1.8rem;
}
#campaign-mission .campaign-contents__item.revo .campaign-contents__item--text span.text-box__white {
    position: relative;
    font-size: 2.0rem;
    background: #FFF;
    color: #0bc0cb;
    padding: 0 .2em 0 .3em;
    margin: 0 .1em;
}
/* キャンペーン：コンテンツ アプリ特典 */
#campaign-mission .campaign-contents__item.app {
    background-color: #ff4074;
    color: #FFF;
    border: 1px solid #FFF;
    box-shadow: 0 .8px 0px 3px #2c2c2c;
    position: relative;
    z-index: 2;
}
#campaign-mission .campaign-contents__item.app::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(../../IMAGE/newlife2026/cir.svg);
    background-position: center;
    background-size: 2.1rem;
    opacity: .15;
}

#campaign-mission .campaign-contents__item.app .main-text{
    color: #ffffff;
    text-align: center;
    font-size: 2.5rem;
    font-weight: 800;
}
#campaign-mission .campaign-contents__item.app .link-btn{
    margin-bottom: 3%;
}
/* アプリ特典用日付 */
#campaign-mission .campaign-contents__item.app .campaign-contents__item--appday {
    display: flex;
    justify-content: center;
    gap: 4%;
    margin-bottom: 2%;
}
#campaign-mission .campaign-contents__item.app .campaign-contents__item--appday p {
    background-color: #FFF;
    color: #ff4074;
    font-weight: 700;
    font-size: 1.5rem;
    padding: 0 .3em;
    border-radius: 2px;
}
#campaign-mission .campaign-contents__item.app .campaign-contents__item--text.gold p {
    font-size: 1.4rem;
}


/* キャンペーン：新生活ミッション*/
#campaign-mission .campaign-contents--main {
    width: 100%;
    background-image: linear-gradient(135deg, rgba(227, 244, 241, 1), rgba(215, 232, 150, 1));
}
/* キャンペーン：新生活ミッション 見出し */
#campaign-mission .campaign-contents--main .title{
    position: relative;
    z-index: 2;
    background: #2ec3a5;
    padding: 1% 0 1%;
    text-align: center;
}
#campaign-mission .campaign-contents--main .title::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(../../IMAGE/newlife2026/cir.svg);
    background-position: center;
    background-size: 2.1rem;
    opacity: .15;
}
#campaign-mission .campaign-contents--main .title .sub-title{
    color: #FFF;
    font-size: 1.1rem;
    font-weight: 700;
    margin-top: 1%;
}

/* 新生活応援キャンペーン 動画 */
#campaign-mission .campaign-contents--main .video-title {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3%;
    margin-bottom: 1%;
}
#campaign-mission .campaign-contents--main .video-title .img {
    width: 10%;
}
#campaign-mission .campaign-contents--main .video-title p {
    color: var(--font-color-zabu);
}

#campaign-mission .campaign-contents--main .video-youtube {
    width: 90%;
    margin: 0 auto 2%;
}

#campaign-mission .campaign-contents--main .video-youtube iframe {
    aspect-ratio: 560 / 315;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    overflow: hidden;
}

/* 未ログイン */
#campaign-mission .campaign-contents--main .registr-btn {
    width: 95%;
    padding-top: 1%;
    margin: 0 auto;
}
#campaign-mission .campaign-contents--main .registr-btn .btn {
    position: relative;
    z-index: 2;
    width: 95%;
    border-radius: 5px;
    margin: 2% auto 1%;
    background-color: #d30f0f;
    box-sizing: border-box;
    border: 1px solid #FFF;
    box-shadow: 0 .8px 0px 2px #670f0f;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 5%;
}
#campaign-mission .campaign-contents--main .registr-btn .btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: url(../../IMAGE/newlife2026/cir.svg);
    background-position: center;
    background-size: 1.8rem;
    opacity: .13;
}
#campaign-mission .campaign-contents--main .registr-btn .btn .img {
    position: absolute;
    z-index: 5;
    width: 30%;
    bottom: -9%;
    left: -2%;
    transform: rotate(-6deg);
}
#campaign-mission .campaign-contents--main .registr-btn .btn .click {
    position: absolute;
    top: 50%;
    right: 2.5%;
    transform: translateY(-50%);
    display: block;
    width: 3rem;
    height: 3rem;
    background-color: #FFF;
    border-radius: 100vw;
    margin-right: 2%;
    margin-left: 1%;
}
#campaign-mission .campaign-contents--main .registr-btn .btn .click::after {
    position: absolute;
    z-index: 3;
    display: inline-block;
    vertical-align: middle;
    content: "";
    width: .5em;
    height: .5em;
    border-top: 3px solid #d30f0f;
    border-right: 3px solid #d30f0f;
    top: 0;
    bottom: 0;
    right: 45%;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: all 0.3s ease 0s;
}
#campaign-mission .campaign-contents--main .registr-btn .btn p {
    color: #FFF;
    padding: .3em 0 .3em;
    box-sizing: border-box;
    text-align: start;
    font-weight: bold;
    line-height: 1.5;
    font-size: 1.4rem;
}
#campaign-mission .campaign-contents--main .registr-btn .btn p .big {
    font-size: 1.06em;
}
#campaign-mission .campaign-contents--main .registr-btn .kome {
    font-size: .9em;
    box-sizing: border-box;
    padding: 0 4%;
    margin-bottom: 3%;
}
/* 社販用 */
#campaign-mission .campaign-contents--main .staff{
    margin-bottom: 1%;
    text-align: center;
}

/* キャンペーン：新生活ミッション 特典山盛りサンプル */
#campaign-mission .campaign-contents.sample {
    width: 100%;
    display: flex;
    flex-direction: column;
    max-width: 650px;
    margin: 0 auto;
}
#campaign-mission .campaign-contents.sample .item-section {
    position: relative;
    z-index: 2;
    padding: 3% 0;
    background:linear-gradient(135deg, #afeaee 10%, #daf2e5 90%);
    margin: 0 auto;
    width: 100%;
}
#campaign-mission .campaign-contents.sample .item-section::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(../../IMAGE/newlife2026/cir.svg);
    background-position: center;
    background-size: 2.1rem;
    opacity: .15;
}
#campaign-mission .campaign-contents.sample .item-section .item-list.cal2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#campaign-mission .campaign-contents.sample .item-section .item-list.cal2.back-none {
    background-color: transparent;
}
#campaign-mission .campaign-contents.sample .item-section .item-list.cal2 > li {
    border: none;
}
#campaign-mission .campaign-contents.sample .item-section .item-list.cal2 > li .flex-right{
    padding: 0;
}
#campaign-mission .campaign-contents.sample .item-section .item-list.cal2 > li.sample-1 {
    width: 59%;
}
#campaign-mission .campaign-contents.sample .item-section .item-list.cal2 > li.sample-2 {
    width: 31%;
}
#campaign-mission .campaign-contents.sample .item-section .item-list.cal2 > li.price-list {
    width: 100%;
    text-align: center;
    padding: 0;
}
#campaign-mission .campaign-contents.sample .item-section .item-list.cal2 > li.price-list p {
    font-size: 1.2rem;
}
#campaign-mission .campaign-contents.sample .item-section .item-list.cal2 > li.price-list .num {
    color: #eb0012;
    font-family: Lato;
    font-weight: 700;
    font-size: 1.5em;
    flex-flow: column;
    display: inline-flex;
    align-items: start;
    margin-left: 1%;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit{
    width: 95%;
    margin: 0 auto;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit__top-item {
    width: 100%;
    margin: 0 auto;
    max-width: 500px;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit__text {
    text-align: center;
    margin: 0 auto 2%;
    font-weight: bold;
    font-size: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit__text.flex-none {
    display: block;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit__text span.text-border{
    font-size: 1.5rem;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit .item-benefit__table{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background: #ffffffdb;
    border-radius: 5px;
    width: 95%;
    padding: 2% 0 2% 0;
    margin: 3% auto 2%;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit .item-benefit__table .camp{
    width: 22%;
    text-align: center;
    display: flex;
    margin-bottom: 2%;
    justify-content: center;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit .item-benefit__table .camp.revo .img {
    width: 40%;
    margin: 0 auto;
    padding: 5% 10% 4%;
    background-color: #0bc0cb;
    border-radius: 3px;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit .item-benefit__table .camp.app .plazaicon-irismark {
    font-size: 3rem;
    background: #FFF;
    border-radius: 5px;
    box-sizing: border-box;
    padding: .9% 0 0 1.2%;
    box-shadow: 2px 1px 3px #818181;
    color: #e00000;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit .item-benefit__table .camp.mission .mission-text {
    background-image: linear-gradient(135deg, rgba(46, 195, 165, 1), rgba(184, 212, 80, 1));
    font-size: 1.2rem;
    white-space: nowrap;
    text-align: center;
    padding: .1em .5em;
    justify-content: center;
    font-weight: bold;
    color: #FFF;
}
#campaign-mission .campaign-contents.sample .item-section .item-benefit .item-benefit__table .text{
    width: 78%;
    font-weight: bold;
    font-size: 1.1rem;
}

/* 例えばこんな組み合わせ */
#campaign-mission .item-benefit .totalamount{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border-bottom: #000 solid 1px;
    }
#campaign-mission .item-benefit .totalamount .price-wrap{
    font-size: 2rem;

}




/* モーダル用CSS */
#campaign-mission .modal-input {
    opacity: 0;
    display: none;
}

#campaign-mission .modal {
    position: fixed;
    left: 0;
    top: 115px;
    width: 100%;
    height: calc(100dvh - 141px);
    z-index: 9999;
    display: none;
}
#campaign-mission .text-content {
    position: relative;
    display: none;
    max-height: 70dvh;
    overflow-y: scroll;
    box-sizing: border-box;
    padding: 0% 4% 4%;
    margin-top: 4%;
}
#campaign-mission .text-content.block {
    display: block;
    overflow-y: auto;
    max-height: none;
}

/* モーダル表示切替 */
/* セット革命説明用 */
#campaign-mission:has(#modal-trigger-revo:checked) .modal, /* モーダル自体を表示 */
#campaign-mission:has(#modal-trigger-revo:checked) .text-content.revo { /* 個別のコンテンツを表示 */
    display: block;
    animation: fadein .3s;
}
/* アプリ特典説明用 */
#campaign-mission:has(#modal-trigger-app:checked) .modal,
#campaign-mission:has(#modal-trigger-app:checked) .text-content.app {
    display: block;
    animation: fadein .3s;
}
/* 新生活ミッション特典説明用 */
#campaign-mission:has(#modal-trigger-present_1:checked) .modal,
#campaign-mission:has(#modal-trigger-present_1:checked) .text-content.present_1 {
    display: block;
    animation: fadein .3s;
}
#campaign-mission:has(#modal-trigger-present_2:checked) .modal,
#campaign-mission:has(#modal-trigger-present_2:checked) .text-content.present_2 {
    display: block;
    animation: fadein .3s;
}
#campaign-mission:has(#modal-trigger-present_3:checked) .modal,
#campaign-mission:has(#modal-trigger-present_3:checked) .text-content.present_3 {
    display: block;
    animation: fadein .3s;
}
#campaign-mission:has(#modal-trigger-present_4:checked) .modal,
#campaign-mission:has(#modal-trigger-present_4:checked) .text-content.present_4 {
    display: block;
    animation: fadein .3s;
}
#campaign-mission:has(#modal-trigger-present_5:checked) .modal,
#campaign-mission:has(#modal-trigger-present_5:checked) .text-content.present_5 {
    display: block;
    animation: fadein .3s;
}
/* 特典マップ用 */
#campaign-mission:has(#modal-trigger-present_map:checked) .modal,
#campaign-mission:has(#modal-trigger-present_map:checked) .text-content.present_map {
    display: block;
    animation: fadein .3s;
}
/* アンカー01 */
#campaign-mission:has(#modal-trigger-anchor_1:checked) .modal, 
#campaign-mission:has(#modal-trigger-anchor_1:checked) .text-content.anchor_1 { 
    display: block;
    animation: fadein .3s;
}
/* アンカー02 */
#campaign-mission:has(#modal-trigger-anchor_2:checked) .modal, 
#campaign-mission:has(#modal-trigger-anchor_2:checked) .text-content.anchor_2 { 
    display: block;
    animation: fadein .3s;
}
/* アンカー03 */
#campaign-mission:has(#modal-trigger-anchor_3:checked) .modal, 
#campaign-mission:has(#modal-trigger-anchor_3:checked) .text-content.anchor_3 { 
    display: block;
    animation: fadein .3s;
}


/* モーダル テキスト */
#campaign-mission .text-content p{
    margin-bottom: .3em;
}
#campaign-mission .text-content p.kome{
    font-size: .9em;
}
#campaign-mission .text-content p .text-link{
    color: #1b5ce0;
    text-decoration: underline;
    display: inline-block;
}
/* モーダル 枠 */
#campaign-mission .modal-inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 500px;
    background-color: #fefefe;
    z-index: 2;
    border-radius: 5px;
}
/* モーダル 背景 */
.modal-background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(100vh - 136.97px);
    background-color: rgba(0, 0, 0, .45);
    z-index: 1;
    cursor: pointer;
}
/* モーダル クローズボタン */
.modal-close {
    background-color: #3b3b3b;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 100vw;
    width: 2em;
    height: 2em;
    line-height: 0;
    position: fixed;
    top: -4%;
    right: -2%;
    z-index: 99;
    font-size: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding-bottom: 0%;
    box-sizing: border-box;
    padding-left: .05em;
    cursor: pointer;
}
/* モーダル タイトル */
.text-content--title {
    text-align: center;
    color: #FFF;
    margin-bottom: 4%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .3em 0;
}
.text-content--title .img {
    width: 4rem;
    margin-right: 3%;
}
.text-content--title .plazaicon-irismark {
    margin-right: 2%;
    font-size: 2.5rem;
    background: #FFF;
    border-radius: 5px;
    box-sizing: border-box;
    padding: .6% 0 0 .6%;
    color: #e00000;
}

#campaign-mission .anchor .text-content--title{
    background-color: #009688;
    font-size: 1.2rem;
}


/* モーダル テキスト共通 */
.text-section {
    width: 100%;
    margin-bottom: 5%;
    text-align: start;
}
#campaign-mission .text-section__title .text-h3 {
    position: relative;
    z-index: 2;
    font-size: 1.5rem;
    text-align: center;
    display: inline-block;
    background: #FFF;
    padding: 0 5%;
}
.text-section__title {
    position: relative;
    margin-bottom: 3%;
    text-align: center;
}
.text-section__title:before, .text-section__title:after {
    content: '';
    position: absolute;
    z-index: 1;
    top: 58%;
    display: inline-block;
    width: 50%;
    height: 1px;
    background-color: black;
}
.text-section__title::before {
    left: 0;
}
.text-section__title::after {
    right: 0;
}

.text-h5 {
    font-size: 4.0vw;
    margin-top: 5%;
}
.text-h5::before {
    content: '■';
    font-size: .8em;
    margin-right: 1%;
}
.text__section--box {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 3%;
    justify-content: center;
    box-sizing: border-box;
     background: linear-gradient(135deg, #f0f8d4 10%, #c9eef0 90%);
     padding: 2%;
}
.text__section--box .img {
    position: relative;
    width: 42%;
}
.text__section--box .img .plazaicon-cart {
    position: absolute;
    right: 3%;
    bottom: 3%;
    color: #FFF;
    background-color: #eb0012;
    font-size: 1.8rem;
    padding: .4em;
    border-radius: 100vw;
}
.text__section--box .sword-icon {
    width: 8%;
}
.text__section--box .img.icon {
    width: 22%;
    border: 2px solid #1b5ce0;
    box-sizing: border-box;
    border-radius: 5px;
    background-color: #FFF;
}
.text__section--box .plazaicon-irismark {
    font-size: 6rem;
    background: #FFF;
    border-radius: 5px;
    box-sizing: border-box;
    padding: .9% 0 0 1.2%;
    box-shadow: 2px 1px 3px #818181;
    color: #e00000;
}

.text__section--gray {
    margin: 5% 0 0;
    box-sizing: border-box;
    padding: 3% 4%;
    background-color: #ededed;
}
.text__section--gray .modal-h6{
    font-size: 3.3vw;
}

#campaign-mission .text-section .text-link {
    font-size: 1em;
    color: #1b5ce0;
    display: flex;
    align-items: center;
    text-decoration: underline;
}

#campaign-mission .text-section .text-h6 {
    font-size: 1rem;
}

/* セット革命 色替え */
.text-content.revo .text-content--title {
    background-color: #0bc0cb;
}

/* アプリ特典 色替え */
.text-content.app .text-content--title {
    background-color: #ff4074;
}

/* 新生活ミッション特典 変更点 */
#campaign-mission .text-content.present .text-content--title {
    background-color: #17937a;
    font-size: 1.5rem;
}
#campaign-mission .text-content.present .text__section--present {
    width: 70%;
    max-width: 270px;
    margin: 0 auto;
}
#campaign-mission .text-content.present .text__section--presentMap {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}
#campaign-mission .text-content.present .present-itemName {
    font-size: 1.3rem;
    text-align: center;
    margin-bottom: 3%;
}

#campaign-mission .text-content.present .present-itemWrap {
    width: 95%;
    box-sizing: border-box;
    border: 1px solid #222;
    padding: 1% 3%;
}

/* 続きを読む */
#campaign-mission .text-content.more .text-section {
    position: relative;
    max-height: 15rem;
    overflow: hidden;
}
#campaign-mission .text-content.more .text-section::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .9) 50%, hsla(0, 0%, 100%, .9) 0, #fff);
    content: '';
}
#campaign-mission .text-content.more:has(:checked) .text-section::after {
    content: none;
}
#campaign-mission .text-content.more:has(:checked) .text-section {
    max-height: none;
}
#campaign-mission .read-more {
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 15%;
    left: 50%;
    transform: translateX(-50%);
    padding: .5em 3em;
    border-radius: 1px;
    background-color: #222;
    color: #fff;
    font-size: 1rem;
    border-radius: 5px;
    z-index: 100;
}
#campaign-mission .text-content.more:has(:checked) .read-more {
    display: none;
}
#campaign-mission .read-more input {
    display: none;
}

/* キャンペーン：新生活ミッション アンカー用 */
#campaign-mission .campaign-contents.anchor {
    background-color: #FFF;
}
#campaign-mission .campaign-contents.anchor .flex {
    width: 94%;
}
#campaign-mission .campaign-contents.anchor .flex li {
    width: 48.5%;
}
#campaign-mission .campaign-contents.anchor .flex h3 {
    color: var(--font-color-zabu);
}
#campaign-mission .campaign-contents.anchor .flex p {
    color: var(--font-color-zabu);
}

/* ゲーム部分 */
#campaign-mission #game {
    /* アンカー高さ合わせ */
    width: 100%;
}

#campaign-mission .game-title {
    width: 100%;
    margin-bottom: 2%;
    text-align: center;
}
#campaign-mission .game-title h3 {
    font-size: 1rem;
    color: #FFF;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 2%;
    background: #63340feb;
    border-radius: 100vw;
    padding: 1% 3%;
}
#campaign-mission .game-title h3 .img{
    width: 8%;
    margin-top: -1%;
}
#campaign-mission .game-title p {
    color: var(--font-color-zabu);
    font-weight: 600;
}

#campaign-mission .game-contents{
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    background: transparent;
    z-index: 2;
    box-sizing: border-box;
    padding: 0;
    background: linear-gradient(135deg, rgb(119 231 168) 0%, rgb(227 253 142) 100%);
}
#campaign-mission .game-contents::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(../../IMAGE/newlife2026/cir.svg);
    background-position: center;
    background-size: 1rem;
    opacity: .2;
}

#campaign-mission .game-contents #game-slider {
    overflow: visible;
    padding-bottom: 1%;
    z-index: 2;
    container-type: inline-size;
}

/* 新生活ミッション：プログレスバー */
#campaign-mission .game-contents .game-mater {
    width: 100%;
    box-sizing: border-box;
    padding: 5.5rem 0 4rem 0;
}
#campaign-mission .game-contents .game-mater__border {
    position: relative;
    width: 70%;
    margin: 0 auto;
    height: .6rem;
    background-color: #ebe2da;
    border-radius: 100vw;
}
#campaign-mission .game-contents .game-mater__border--prm {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: #009688;
    border-radius: 100vw;
}
#campaign-mission .game-contents .game-mater__border--prm .now {
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translate(-50%, -50%);
    z-index: 10;
    display: block;
    width: 3rem;
}
/* 新生活ミッション：プログレスバー ザブロウアイコン */
#campaign-mission .game-contents .game-mater__border--prm .zabu {
    width: 100%;
    animation-name: decoSwing;
    animation-duration: 2400ms;
    animation-timing-function: steps(2, end);
    animation-iteration-count: infinite;
}
/* 新生活ミッション：プログレスバー 吹き出し */
#campaign-mission .game-contents .game-mater__border--prm .speechBubble {
    position: absolute;
    z-index: 1;
    top: 135%;
    right: -17%;
    background-color: #4e180d;
    text-align: center;
    font-size: 4vw;
    font-weight: 600;
    color: #ffffff;
    border-radius: 1px;
}
#campaign-mission .game-contents .game-mater__border--prm .speechBubble::before {
    content: "";
    position: absolute;
    bottom: 99%;
    left: 50%;
    border-style: solid;
    border-width: 0px 10px 7px 10px;
    border-color: transparent transparent #4e180d;
    translate: -46% 0%;
}
#campaign-mission .game-contents .game-mater__border--prm .speechBubble::after {
    content: none;
}
#campaign-mission .game-contents .game-mater__border--prm .speechBubble-text {
    white-space: nowrap;
    padding: .25em .25em .25em;
    line-height: 1;
    letter-spacing: -1px;
    font-size: 1.1rem;
}
#campaign-mission .game-contents .game-mater__border--item {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 5%;
    aspect-ratio: 1 / 1;
    background-color: #222;
    border-radius: 100vw;
    z-index: 1;
    box-sizing: border-box;
}
/* 新生活ミッション：プログレスバー 〇 */
#campaign-mission .game-contents .game-mater__border--item.cir-1 {
    left: 0;
    background-color: #17937a;
    border: 3px solid #17937a;
}
#campaign-mission .game-contents .game-mater__border--item.cir-2 {
    left: 30%;
    background-color: #FFF;
    border: 3px solid #ff4074;
}
#campaign-mission .game-contents .game-mater__border--item.cir-3 {
    left: 65%;
    background-color: #FFF;
    border: 3px solid #ff3249;
}
#campaign-mission .game-contents .game-mater__border--item.cir-4 {
    left: 100%;
    background-color: #FFF;
    border: 3px solid #a6bf03;
    z-index: 2;
}
#campaign-mission .game-contents .game-mater__border--item.cir-5 {
    left: 75%;
    background-color: #FFF;
    border: 3px solid #ff3249;
}
#campaign-mission .game-contents .game-mater__border--item.cir-6 {
    left: 100%;
    background-color: #FFF;
    border: 3px solid #a6bf03;
}
#campaign-mission .game-contents .game-mater__border--item.clear {
    background-color: #17937a;
    border: 3px solid #17937a;
}
#campaign-mission .game-contents .game-mater__border--item .present {
    position: absolute;
    bottom: 110%;
    left: 50%;
    width: 4.5rem;
    transform: translateX(-50%);
}
/* 新生活ミッション：プログレスバー モーダル呼び出し */
#campaign-mission .game-contents .game-mater__border--item .present label {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
/* 新生活ミッション：プログレスバー チェックマーク */
#campaign-mission .game-contents .game-mater__border--item .check{
    position: absolute;
    width: 70%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#campaign-mission .game-contents .game-mater__border--item .check img{
    display: block;
}
/* 新生活ミッション：プログレスバー 目標金額 */
#campaign-mission .game-contents .game-mater__border--item .buy-price{
    position: absolute;
    left: 50%;
    top: 97%;
    transform: translateX(-50%);
    font-size: .9rem;
    color: #4e180dde;
    white-space: nowrap;
}

/* add 0307 */
/* 新生活ミッションから探す */
#campaign-mission .newlife-search-form {
    width: 100%;
    margin-bottom: 1%;
}
#campaign-mission .newlife-search-form .input-box {
    width: 90%;
    margin: 0 auto 3%;
    position: relative;
    display: flex;
    align-items: center;
}
#campaign-mission .newlife-search-form .input-box input {
    width: 100%;
    padding: .8em .8em .8em 5em;
    margin: 0 auto;
    box-sizing: border-box;
    display: block;
    border-radius: 100vw;
    border: 2px solid #d30f0f;
    font-size: 1rem;
}
#campaign-mission .newlife-search-form .input-box input:focus {
    outline: none;
}
#campaign-mission .newlife-search-form .input-box i {
    position: absolute;
    left: 3vw;
    font-size: 1rem;
    color: #d30f0f;
    font-weight: bold;
}

/* 地図 クリック */
#campaign-mission .game-map {
    position: relative;
    margin-bottom: 3%;
    background: #b3d4c1;
}
#campaign-mission .game-map .game-title{
    background-color: #b3d4c1;
    padding-top: 2%;
    margin-bottom: 0;
}
#campaign-mission .game-map__content {
    position: relative;
    background: #b3d4c1;
    max-width: 500px;
    margin: 0 auto ;
}

#campaign-mission .game-map__content--click {
    position: absolute;
    transform: translate(-50%, -50%);
    z-index: 1;
    border-radius: 5vw;
}
#campaign-mission .game-map__content--click label {
    display: block;
    width: 100%;
    height: 100%;
    margin-bottom: 3%;
}
#campaign-mission .game-map__content--click.present-1 {
    top: 83.5%;
    left: 65%;
    width: 22%;
    height: 24%;
}

#campaign-mission .game-map__content--click.present-2 {
    top: 55.5%;
    left: 36.5%;
    width: 25%;
    height: 27%;
}

#campaign-mission .game-map__content--click.present-3 {
    top: 20%;
    left: 80%;
    width: 31%;
    height: 33%;
}

/* ミッション達成賞状 */
#campaign-mission .game-certificate {
    position: relative;
}
#campaign-mission .game-certificate__user {
    font-size: 1.4rem;
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    font-weight: 700;
    color: #0f0707;
}
#campaign-mission .game-certificate__user .min {
    font-size: .8em;
    font-weight: 700;
    color: #0f0707;
}

/* おすすめアイテム */
#campaign-mission .game-recommend {
    width: 100%;
}
#campaign-mission .game-recommend .game-recommend__title {
    text-align: center;
}
#campaign-mission .game-recommend .game-recommend__slider {
    width: 100%;
    display: flex;
    padding: 1% 0 3%;
    box-sizing: border-box;
    margin: 0 auto;
}
#campaign-mission .game-recommend .game-recommend__slider--item {
    margin-right: 3%;
    background: #FFF;
    border-radius: 5px;
    overflow: hidden;
    border: 2px solid #17937a;
    box-sizing: border-box;
}
#campaign-mission .game-recommend .game-recommend__slider--item:nth-child(1) {
    margin-left: 3%;
}
#campaign-mission .game-recommend .game-recommend__slider--item h5 {
    font-size: 1.2rem;
    text-align: center;
}
#campaign-mission .game-recommend .game-recommend__slider--item .buy_price>ul .price {
    font-size: 1.5rem;
    display: block;
    text-align: center;
}
#campaign-mission .game-recommend .game-recommend__slider--item .buy_price>ul {
    display: block;
}

/* swiper デフォルトCSS調整 */
#campaign-mission .swiper-wrapper {
    align-items: start;
}
#campaign-mission.swiper-container {
    padding-bottom: 5%;
}

.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
    display: block;
    visibility: hidden;
    justify-content: center;
}

/* swiper-slide */
#campaign-mission .swiper-slide {
    width: 32cqw;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
}
#campaign-mission .swiper-slide label{
    width: 100%;
}

#campaign-mission .swiper-slide .chara-box {
    position: relative;
    width: 100%;
    height: 27cqw;
    display: flex;
    flex-direction: column;
    justify-content: end;
}
#campaign-mission .swiper-slide .chara-box .present {
    width: 23cqw;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}
#campaign-mission .swiper-slide .chara-box .present.clear::after {
    content: '';
    background: url(../../IMAGE/newlife2026/2nd/present-clear.png) no-repeat;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    background-position: 50% 18%;
    background-size: 69%;
}


#campaign-mission .swiper-slide .chara-box .chara {
    display: none;
    position: absolute;
    width: 93%;
    aspect-ratio: 1 / 1;
    top: 5%;
    left: -0.5%;
    z-index: 1;
    animation-name: chara-change;
    animation-duration: 1000ms;
    animation-timing-function: steps(2, jump-none);
    animation-iteration-count: infinite;
    background-size: 84%;
    background-repeat: no-repeat;
    background-position: center center;
}
#campaign-mission .swiper-slide.active .chara-box .chara {
    display: block;
}
#campaign-mission .swiper-slide.active .chara-box .ellipse {
    width: 24cqw;
}
#campaign-mission .game-contents .swiper-slide.active .ellipse::after {
    width: 57%;
    height: 38%;
}

/* STARTの旗 */
#campaign-mission .swiper-slide .chara-box .img.frag{
    position: absolute;
    top: 0;
    left: 49%;
    transform: translateX(-50%);
    width: 67%;
    z-index: 1;
}

/* 目標 */
#campaign-mission .swiper-slide .chara-box .target{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-sizing: border-box;

}
#campaign-mission .swiper-slide .chara-box .target .img{
    width: 18cqw;
    margin-top: -12%;
}
#campaign-mission .swiper-slide .comment{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--font-color-zabu);
    font-weight: 600;
    font-size: 3cqw;
    background: #ffffff8a;
    line-height: 1.5;
    padding: 0 .2em;
    border-radius: 5px;
    width: max-content;
    margin-top: 3%;
}

#campaign-mission .game-contents .swiper-slide .ellipse{
    position: relative;
    display: block;
    width: 18cqw;
    margin: 0 auto;
    height: 16%;
    background-color: #b0b0b0;
    clip-path: ellipse(47% 50% at 50% 50%);
}
#campaign-mission .game-contents .swiper-slide .ellipse::after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 50%;
    margin: 0 auto;
    height: 33%;
    clip-path: ellipse(47% 50% at 50% 50%);
    background: #4545457a;
}


#campaign-mission .test-btn {
    display: flex;
    justify-content: center;
    gap: 2cqw;
}
#campaign-mission .test-btn input {
    width: 9cqw;
    height: 9cqw;
    display: block;
    text-align: center;
}

/* 吹き出し */
#campaign-mission .swiper-slide .speechBubble {
    position: relative;
    z-index: 2;
    width: 85%;
    height: 15cqw;
    margin: 0 auto 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .2em 0;
    border: 2px solid #222;
    background-color: #ffffff;
    text-align: center;
    font-size: 4vw;
    font-weight: 600;
    color: #222;
    box-shadow: 2px 2px 0px 0px #222;
    font-size: var(--font-size-base);
}
.speechBubble::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 12px 12px 0px 12px;
    border-color: #222 transparent transparent;
    translate: -46% 100%;
}
.speechBubble::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 7.5px 7.8px 0 7.8px;
    border-color: #ffe9ca transparent transparent;
    translate: -50% 100%;
}

/* 個別スライド調整 */
#campaign-mission #game .swiper-slide__0 .ellipse{
    background-color: #cf9686;
}
#campaign-mission #game .swiper-slide__1 .ellipse{
    background-color: #0cc0cb;
}
#campaign-mission #game .swiper-slide__2 .ellipse{
    background-color: #f0af13;
}
#campaign-mission #game .swiper-slide__3 .ellipse{
    background-color: #ff4074;
}
#campaign-mission #game .swiper-slide__4 .ellipse{
    background-color: #ff3249;
}
#campaign-mission #game .swiper-slide__5 .ellipse{
    background-color: #adc700;
}

/* 新生活ミッションのシステム部分 */
#campaign-mission #game .game-system {
    width: 100%;
    margin: 0 auto 0%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    background: #009688;
    box-sizing: border-box;
    padding: 2% 3% 0;
}
#campaign-mission #game .game-system .game-system__price {
    position: relative;
    width: 49%;
    background-color: #FFF;
    border: 3px solid #097962;
    padding: .8em 0 .5em;
    border-radius: 5px;
    box-sizing: border-box;
    text-align: center;
    margin-bottom: 2%;
    line-height: 1.1;
    font-size: 1.2rem;
}
#campaign-mission #game .game-system .game-system__price .num {
    font-size: 2rem;
    font-family: Lato;
    line-height: 1.2;
}
#campaign-mission #game .game-system .game-system__price.next-price {
    position: relative;
}
#campaign-mission #game .game-system .game-system__price.next-price::before {
    content: '';
    display: inline-block;
    width: 1rem;
    aspect-ratio: 1 / 1;
    background-color: #ffffff;
    border-radius: 100vw;
    box-sizing: border-box;
    vertical-align: baseline;
    margin-bottom: -.03em;
    margin-left: -6%;
    margin-right: 0%;
}
#campaign-mission #game .game-system .game-system__price.next-price .num {
    color: #eb0012;
}
#campaign-mission #game .game-system .game-system__price.next-price.price_FLG__0::before {
    border: 2px solid #0cc0cb;
}
#campaign-mission #game .game-system .game-system__price.next-price.price_FLG__1::before {
    border: 2px solid #ff4074;
}
#campaign-mission #game .game-system .game-system__price.next-price.price_FLG__2::before {
    border: 2px solid #ebb219;
}
#campaign-mission #game .game-system .game-system__price.next-price.price_FLG__3::before {
    border: 2px solid #ff3249;
}
#campaign-mission #game .game-system .game-system__price.next-price.price_FLG__4::before {
    border: 2px solid #a6bf03;
}

/* エントリーボタン */
#campaign-mission #game .game-system .game-system__entry {
    width: 90%;
    background-color: #818181;
    border: 2px solid #818181;
    border-radius: 5px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1%;
    font-size: 1.1rem;
    white-space: nowrap;
    padding: .6em 0;
    color: #FFF;
    font-weight: 600;
    text-align: start;
    line-height: 1.2;
    pointer-events: none;
}
#campaign-mission #game .game-system .game-system__entry:hover {
    color: #FFF !important;
    opacity: 1;
    transform: scale(1.05);
}
#campaign-mission #game .game-system .game-system__entry::after {
    white-space: pre;
    /* content: '家電セット・家具インテリアセットを\A購入した方のみ参加可能です。'; */
    content: '';
    text-align: center;
    line-height: 1.5;
}
#campaign-mission #game .game-system .game-system__entry.set_buy {
    background-color: #e30e1e;
    border: 2px solid #e30e1e;
    pointer-events: all;
}

#campaign-mission #game .game-system .game-system__entry.disabled {
    width: 90%;
    background-color: #818181;
    border: 2px solid #818181;
    pointer-events: none;
}

#campaign-mission #game .game-system .kome{
    font-size: .9rem;
    color: #222;
    line-height: 1.3;
}


/* 全体図ポップアップ */
#campaign-mission #game .game-system .game-system__map {
    position: relative;
    width: 29%;
    background-color: #17937a;
    border-radius: 5px;
}
#campaign-mission #game .game-system .game-system__map label {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    box-sizing: border-box;
    padding-right: 8%;
}
#campaign-mission #game .game-system .game-system__map .plazaicon-kakudai{
    position: absolute;
    right: 3%;
    font-size: 2rem;
}

/* エントリーボタン */
#campaign-mission .game-entry {
    width: 100%;
}
#campaign-mission #game .game-entry__btn {
    position: relative;
    z-index: 2;
    width: 90%;
    margin: 2% auto 0;
    background-color: #e30e1e;
    pointer-events: all;
    border-radius: 5px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1%;
    font-size: 1.3rem;
    white-space: nowrap;
    padding: .9em 0;
    color: #FFF;
    font-weight: 600;
    text-align: start;
    line-height: 1.2;
    border: 1px solid #FFF;
    box-shadow: 0 .6px 0px 2px #2c2c2c;
    cursor : pointer;
}
#campaign-mission #game .game-entry__btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(../../IMAGE/newlife2026/cir.svg);
    background-position: center;
    background-size: 2.1rem;
    opacity: .15;
}
#campaign-mission #game .game-entry__btn .click {
    width: 2.5rem;
    aspect-ratio: 45 / 44;
    transform: rotate(30deg);
    margin-bottom: -1%;
    position: absolute;
    right: 2%;
}
#campaign-mission #game .game-entry__btn.clear,
#campaign-mission #game .game-entry__btn.disabled {
    background-color: #818181;
    border: 2px solid #818181;
    pointer-events: none;
    font-size: 1.1rem;
    padding: .4em 0;
    border: none;
    box-shadow: none;
}
#campaign-mission #game .game-entry__btn.clear::after,
#campaign-mission #game .game-entry__btn.disabled::after {
    content: none;
}
#campaign-mission #game .game-system .kome{
    font-size: 3.3vw;
    color: #222;
    line-height: 1.3;
}
/* 未エントリー動作 */
#campaign-mission .game-contents .game-mater.gray > *:not(.entry-push),
#campaign-mission .game-contents .game-system.gray > *,
#campaign-mission .game-contents .game-title.gray {
    filter: brightness(0.5);
    pointer-events: none;
}
/* エントリー後の進捗確認 */
#campaign-mission .game-contents .entry-push.gray {
    display: block;
}
/* 獲得した特典を未エントリー時は非表示 */
#campaign-mission #game .game-section.get-present.gray {
    display: none;
}

#campaign-mission .game-contents .entry-push {
    display: none;
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    background-color: #FFF;
    width: 80%;
    padding: 3% 0;
    text-align: center;
    box-sizing: border-box;
    border: 2px solid #e30e1e;
    color: #e30e1e;
}

/* ゲーム：セクション */
#campaign-mission #game .game-section {
    width: 95%;
    margin: 0 auto 3%;
    border-radius: 5px;
    overflow: hidden;
    background: #FFF;
}
#campaign-mission #game .game-section__title {
    width: 100%;
    background-color: #17937a;
    margin-bottom: 3%;
}
#campaign-mission #game .game-section__title h3 {
    font-size: 1.5rem;
    text-align: center;
    color: #FFF;
    padding: 1% 0;
}
#campaign-mission #game .game-section__title h3 span.sub {
    font-size: .9em;
    font-family: "Zen Kaku Gothic New", 'Noto Sans JP', 'Yu Gothic black', sans-serif, 'メイリオ';
    font-weight: 700;
    font-style: normal;
}
#campaign-mission #game .game-section__content {
padding: 0 0 3%;
}
#campaign-mission #game .game-section__content .cap {
    width: 100%;
    margin-bottom: 3%;
    text-align: center;
}
#campaign-mission #game .game-section__content .cap .icon{
    display: inline-block;
    color: #FFF;
    font-size: 1.5rem;
    padding: 0 .8em;
    margin-right: 2%;
    background-image: linear-gradient(135deg, rgba(46, 195, 165, 1), rgba(184, 212, 80, 1));
}

/* ゲーム：獲得した特典 */
#campaign-mission #game .game-section.get-present {
    display: block;
}
#campaign-mission #game .game-section__content.present {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5%;
    box-sizing: border-box;
    padding: 0 5%;
}
#campaign-mission #game .game-section__content.present .game-section__content--present{
    width: 30%;
    margin-bottom: 3%;
}

/* ゲームヘッダー */
#campaign-mission .game-header {
    position: sticky;
    top: 141px;
    z-index: 100;
    background-color: #2ec3a5;
    height: 70px;
    overflow: hidden;
    display: flex;
    justify-content: space-around;
    align-items: center;
    box-sizing: border-box;
    padding: .8% 1% .5%;
    box-shadow: 0 2px 0px 0px #009688;
}
#campaign-mission .game-header:hover {
    opacity: 1;
    color: #222 !important;
}
#campaign-mission .game-header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: url(../../IMAGE/newlife2026/cir.svg);
    background-position: center;
    background-size: 2.1rem;
    opacity: .15;
}
#campaign-mission .game-header__logo {
    width: 17.5%;
}
#campaign-mission .game-header__content {
    width: 78%;
    height: 100%;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 2;
    background: #ffffff;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 0 0 0 1%;
}
#campaign-mission .game-header__content p {
    line-height: 1.4;
    margin-bottom: -.3%;
    font-size: 1rem;
    letter-spacing: 0.05px;
}
#campaign-mission .game-header__content .next-price {
    line-height: 1;
    font-size: 1.4em;
    color: #eb0012;
    letter-spacing: 1.5px;
}
#campaign-mission .game-header__content .next-present {
    width: 22%;
    margin-top: 5%;
    margin-right: -1%;
}

/* ページの並び替え */
#campaign-mission .contents {
    display: flex;
    flex-direction: column;
}

/* 通常時 */
#campaign-mission .contents #campaign-common {
    background: #f7f4f0;
}

/* 0307 新生活TOP回遊 */
#campaign-mission .newlife-top-excursion {
    width: 85%;
    margin: 0 auto 3%;
}
#campaign-mission .newlife-top-excursion .img {
    border-radius: 5px;
    overflow: hidden;
}
#campaign-mission .newlife-top-excursion__text {
    text-align: center;
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
}

/* 20250312 R.SUGAWARA ADD STA [メルマガ購読必須] */
#campaign-mission .game-entry label{
    display: flex;
    justify-content: center;
    gap: 5px;
    padding-top: 10px;
}
#campaign-mission .game-entry input[type=checkbox]{
    transform: scale(1.5);
}
#campaign-mission .game-entry .entry-attention{
    text-align: center;
}
/* 20250312 R.SUGAWARA ADD END [メルマガ購読必須] */

/* 20250313 単品合計価格削除 */
#campaign-mission .total-price {
    display: none;
}

/* 250418 カウントダウンタイマー追加 */
#counter_wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.5rem;
    background: #fa1c1b;
    
    #counter {
        width: 100%;
        line-height: 1;
        font-size: 1rem;
        display: flex;
        justify-content: center;
        align-items: baseline;
        color: #fff;

        & span {
            font-size: 1.8em;
            line-height: 1;
            color: #fff700;
            font-family: Lato;
        }
    }
}
#campaign-mission #game .game-system {
    margin-top: 0;
}

/* エントリーボタン */
#campaign-mission .btn-entry {
    width: 100%;
    margin-bottom: 2%;
}
#campaign-mission .btn-entry {
    position: relative;
    z-index: 2;
    width: 90%;
    margin: 2% auto 0;
    background-color: #e30e1e;
    pointer-events: all;
    border-radius: 5px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1%;
    font-size: 1.3rem;
    white-space: nowrap;
    padding: .9em 0;
    color: #FFF;
    font-weight: 600;
    line-height: 1.2;
    border: 1px solid #FFF;
    box-shadow: 0 .6px 0px 2px #2c2c2c;
    cursor : pointer;
}

#campaign-mission .btn-entry[value]::after{
    content: "";
}

#campaign-mission .btn-entry:disabled {
    background-color: #818181;
    border: 2px solid #818181;
    pointer-events: none;
    font-size: 3.5vw;
    padding: .4em 0;
    border: none;
    box-shadow: none;
}

/*==============================================
テキスト装飾
================================================*/
#campaign-mission span.red{color: #e50012;}
#campaign-mission span.blue{color: #014ad3;}
#campaign-mission span.yellowline{background-color: rgba(251, 255, 0, 0.5);}
#campaign-mission span.pinkline{background-color: rgba(255, 21, 130, 0.534);}
#campaign-mission span.greenline {
    background: linear-gradient(to right, #4dffdb 0%, #c8f637 100%);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 50%;
}

#campaign-mission a.text-link{
    color: #1b5ce0;
    text-decoration: underline;
    display: inline-block;
}
