@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0
}

img {
    vertical-align: top
}

a img {
    border: 0
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

fieldset,
img {
    border: 0
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
    font-weight: normal
}

ol,
ul {
    list-style: none
}

caption,
th {
    text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal
}

q:before,
q:after {
    content: ''
}

abbr,
acronym {
    border: 0
}

@media screen and (min-width: 1201px) {
    body {
        min-width: 1300px
    }
}

h1 {
    background: none;
    border: none
}

@media screen and (min-width: 1201px) {
    #cduWrap {
        background-color: #fff;
        width: 100%
    }
}

@media screen and (min-width: 1201px) {
    #snsBtn {
        margin: 0 auto
    }
}

@media screen and (min-width: 1201px) {
    #snsBtn iframe:nth-of-type(2) {
        margin-right: -10px !important
    }
}

@media screen and (min-width: 1201px) {
    #cduPanNavi {
        max-width: 1000px;
        margin: 0 auto
    }
}

.gasha_pan {
    background-color: #fff;
    position: relative;
    z-index: 100
}

@media screen and (min-width: 1201px) {
    #cduFooter {
        position: relative !important;
        z-index: 100 !important;
        background-color: #fff !important
    }
}

@media screen and (max-width: 750px) {
    #pbFooter {
        position: relative !important;
        z-index: 100 !important
    }
}

.pcOnly {
    display: block
}

@media screen and (max-width: 750px) {
    .pcOnly {
        display: none
    }
}

.spOnly {
    display: none
}

@media screen and (max-width: 750px) {
    .spOnly {
        display: block
    }
}

div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
time,
mark,
audio,
video,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary {
    font-family: "Noto Sans JP", serif;
    font-weight: 500;
    line-height: 1
}

img {
    max-width: 100%;
    height: auto
}

a {
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP", serif;
    text-decoration: none
}

@media (hover: hover) {

    a:hover,
    a:hover img {
        text-decoration: none
    }
}

.onepiece_nba {
    overflow-x: hidden;
    /* background: red; */
    background: url(/bc/images/shop_top_e-banpresto/202603_op_nba_bg.jpg);
    background-size: contain;
    background-position: center center;
}

.onepiece_nba .banner {
    margin: 40px auto 0;
    text-align: center;
    width: 66vw;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .banner {
    width: 80vw;
}
}

.onepiece_nba .mv {
    margin: 80px auto;
    text-align: center;
    width: 78vw;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .mv {
        margin: 10vw auto;
    }
}

.onepiece_nba .mv .mvLogo {
    width: 50%;
    margin: 100px auto;
    text-align: center
}

@media screen and (max-width: 750px) {
    .onepiece_nba .mv .mvLogo {
        margin: 70px auto 100px
    }
}

.onepiece_nba .mv .mvText {
    display: -webkit-flex;
    display: flex;
    position: relative;
    overflow: hidden
}

@media screen and (max-width: 750px) {
    .onepiece_nba .mv .mvText {
        -webkit-transform: scale(2) translateY(-2.35vw);
        transform: scale(2) translateY(-2.35vw)
    }
}

.onepiece_nba .mv .mvText .loop {
    -webkit-animation: scroll 70s linear infinite;
    animation: scroll 70s linear infinite;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.onepiece_nba .mv .mvText .loop2 {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: scroll 70s -35s linear infinite;
    animation: scroll 70s -35s linear infinite;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@-webkit-keyframes scroll {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@keyframes scroll {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

.onepiece_nba .about {
    position: relative;
    padding: 100px 0;
    background: #000;
    color: #fff;
    text-align: center
}

@media screen and (max-width: 750px) {
    .onepiece_nba .about {
        z-index: 2;
        padding: 12vw 0 20vw
    }
}

.onepiece_nba .about .aboutText {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto 30px;
    font-size: clamp(16px, 4.25vw, 24px);
    line-height: 1.9;
    font-weight: 100
}

@media screen and (max-width: 750px) {
    .onepiece_nba .about .aboutText {
        margin: 0 auto 4vw
    }
}

.onepiece_nba .about .aboutText span {
    position: relative;
    z-index: 1;
    font-weight: 700
}

.onepiece_nba .about .aboutText span::after {
    content: '';
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 92.5%;
    height: 9px;
    background: #014099
}

.onepiece_nba .about .btn {
    display: inline-block;
    margin: 30px auto;
    box-sizing: border-box
}

@media screen and (max-width: 750px) {
    .onepiece_nba .about .btn {
        margin: 6vw auto 0
    }
}

.onepiece_nba .about .btn a {
    position: relative;
    background: #fff;
    border: 2px solid #fff;
    box-sizing: border-box;
    font-size: clamp(12px, 3.25vw, 20px);
    font-weight: 700;
    text-align: center;
    padding: 1.5rem 2.5rem;
    transition: 0.3s all
}

.onepiece_nba .about .btn a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    width: 30px;
    height: 1px;
    background: #fff;
    transition: 0.3s all
}

@media screen and (max-width: 750px) {
    .onepiece_nba .about .btn a::before {
        width: 20px;
        right: -20px
    }
}

.onepiece_nba .about .btn a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 30px;
    height: 1px;
    background: #000
}

@media screen and (max-width: 750px) {
    .onepiece_nba .about .btn a::after {
        width: 20px
    }
}

.onepiece_nba .about .btn a:visited {
    color: #000
}

.onepiece_nba .about .btn a:link {
    color: #000 !important
}

@media (hover: hover) {
    .onepiece_nba .about .btn a:hover {
        background: #000;
        color: #fff !important
    }

    .onepiece_nba .about .btn a:hover::before {
        content: "";
        position: absolute;
        width: 30px;
        height: 1px;
        top: 50%;
        right: -30px;
        transition: 0.3s all;
        -webkit-transform: scaleX(1.5);
        transform: scaleX(1.5)
    }

    .onepiece_nba .about .btn a:hover::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 30px;
        height: 1px;
        background: #fff
    }
}

.onepiece_nba .lineup {
    margin-top: 80px;
    margin-bottom: 80px
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lineup {
        margin-top: 10vw;
        margin-bottom: 10vw
    }
}

.onepiece_nba .lineup h2{
    border-top: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
}

.onepiece_nba .lineup h2 img{
    padding-top: 15px;
    padding-bottom: 15px;
    width: 20vw;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lineup h2 img {
    padding-top: 3vw;
    padding-bottom: 3vw;
    width: 30vw;
}
}



.onepiece_nba .lineup .lineupTitle {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 30px;
    border-bottom: 1px solid #000;
    margin-bottom: 50px
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lineup .lineupTitle {
        padding: 7vw;
        margin-bottom: 7vw
    }
}

.onepiece_nba .lineup .lineupTitle .lineupTitleMain {
    display: inline-block;
    font-family: "Oswald", serif;
    font-size: clamp(70px, 18vw, 120px);
    font-weight: 700;
    color: transparent;
    margin-right: 10px;
    letter-spacing: -0.05em
}

.onepiece_nba .lineup .lineupTitle .lineupTitleMain .wordBreak {
    display: inline-block;
    font-family: "Oswald", serif;
    font-weight: 700
}

.onepiece_nba .lineup .lineupTitle .lineupTitleSub {
    display: inline-block;
    font-size: clamp(16px, 3.5vw, 30px);
    font-weight: 400;
    color: transparent;
    margin-top: 20px
}

.onepiece_nba .lineup .lineupText {
    font-size: clamp(16px, 4.25vw, 24px);
    text-align: center;
    line-height: 1.9;
    font-weight: 200;
    color: #000;
    background: #000;
    margin-bottom: 50px
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lineup .lineupText {
        margin-bottom: 7vw
    }
}

.onepiece_nba .lineup .lineupText .bold {
    line-height: 1.9;
    font-weight: 700
}

.onepiece_nba .lineup .lineupText span {
    position: relative;
    z-index: 1;
    font-weight: 700
}

.onepiece_nba .lineup .lineupText span::after {
    content: '';
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    height: 9px;
    background: #014099;
    opacity: 0.25
}

.onepiece_nba .lineup .lineupList {
    display: -webkit-flex;
    display: flex;
    /* -webkit-justify-content: flex-start;
    justify-content: flex-start; */
    -webkit-justify-content: center;
    justify-content: center;
    gap: 50px 30px;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 80%;
    max-width: 1110px;
    margin: 0 auto 50px
}

.onepiece_nba .lineup .lineupList:last-child {
    margin: 0 auto
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lineup .lineupList {
        gap: 6vw 4vw;
        width: 90%;
        margin: 0 auto 6vw;
        justify-content: space-between;
    }
}

.onepiece_nba .lineup .lineupList .lineupListItem {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    text-align: center;
    width: 22%
}

@media screen and (max-width: 1200px) {
    .onepiece_nba .lineup .lineupList .lineupListItem {
        width: 40%
    }
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lineup .lineupList .lineupListItem {
        width: 47.75%
         /* width: 45%; */
    }
}

.onepiece_nba .lineup .lineupList .lineupListItem a {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    color: #000
}

.onepiece_nba .lineup .lineupList .lineupListItem a .thumb {
    margin-bottom: 10px;
    overflow: hidden;
    background: #000;
    transition: all .3s;
    border-style: solid; /* 線の種類（必須） */
    border-width: 2px;   /* 線の太さ（任意） */
    /* 上・右・下・左の順に色を指定 */
    border-color: #1D428A #C8102E #C8102E #1D428A; 
}

.onepiece_nba .lineup .lineupList .lineupListItem a .thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .3s
}

.onepiece_nba .lineup .lineupList .lineupListItem a .info {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    /* border: 1px solid #000; */
    border-top: none;
    /* padding: 1.75em; */
    font-size: clamp(12px, 2.75vw, 18px);
    transition: all .3s
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lineup .lineupList .lineupListItem a .info {
        padding: 1.25em 1em;
        font-size: 3vw;
    }
}

.onepiece_nba .lineup .lineupList .lineupListItem a .info .name {
    -webkit-flex-grow: 1;
    flex-grow: 1;
    margin-bottom: 14px;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
    color: #fff;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lineup .lineupList .lineupListItem a .info .name {
        margin-bottom: 10px
    }
}

.onepiece_nba .lineup .lineupList .lineupListItem a .info .price {
    font-weight: 400;
    padding: 12px 0;
    background: #fff;
    border-radius: 16px;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lineup .lineupList .lineupListItem a .info .price {
        line-height: 1.25
    }
}

.onepiece_nba .lineup .lineupList .lineupListItem a .info .price span {
    display: inline-block
}

@media (hover: hover) {
    .onepiece_nba .lineup .lineupList .lineupListItem a:hover .thumb {
        -webkit-filter: brightness(0.9);
        filter: brightness(0.9)
    }

    .onepiece_nba .lineup .lineupList .lineupListItem a:hover .thumb img {
        -webkit-transform: scale(1.04);
        transform: scale(1.04)
    }

    /* .onepiece_nba .lineup .lineupList .lineupListItem a:hover .info {
        color: #014099
    } */

    .onepiece_nba .lineup .lineupList .lineupListItem a:hover .info .name{
        color: #fff
    }

    .onepiece_nba .lineup .lineupList .lineupListItem a:hover .info .price{
        color: #000
    }
}

.onepiece_nba .line{
    border: solid 2px #fff;
}

.onepiece_nba .caution{
    width: 80%;
    max-width: 1110px;
    margin: 80px auto;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .caution {
    margin-top: 10vw;
    margin-bottom: 10vw;
}
}

.onepiece_nba .caution h2{
    font-size: 1.75vw;
    text-align: center;
    color: #fff;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .caution h2 {
    font-size: 4vw;
}
}

.onepiece_nba .caution a{
    color: #fff;
}

.onepiece_nba .caution .line2{
    margin-top: 55px;
    border: solid 2px #1D42BA;
    border-image: linear-gradient(to right, #1D42BA 50%, #C8102E 50%) 2;

}

@media screen and (max-width: 750px) {
    .onepiece_nba .caution .line2 {
    margin-top: 5vw;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}
}

.onepiece_nba .caution .caution_box{
    margin-top: 55px;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .caution .caution_box{
    margin-top: 5vw;
}
}

.onepiece_nba .caution .caution_box p{
    color: #fff;
    font-size: 1vw;
    line-height: 1.5;
    margin-bottom: 10px;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .caution .caution_box p {
    font-size: 2.5vw;
}
}

.onepiece_nba .copyright {
    color: #fff;
    font-size: clamp(10px, 2.75vw, 14px);
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    padding: 12px 0;
    margin: 80px 0;
    /* background: #dcdcdc */
}

@media screen and (max-width: 750px) {
    .onepiece_nba .copyright {
        margin-top: 5vw;
        margin-bottom: 5vw;
}
}

.fade {
    opacity: 0
}

.fade.is-view {
    opacity: 1;
    -webkit-animation: fadein 0.6s cubic-bezier(0.02, 0.74, 0.5, 1) forwards;
    animation: fadein 0.6s cubic-bezier(0.02, 0.74, 0.5, 1) forwards
}

@-webkit-keyframes fadein {
    0% {
        opacity: 0;
        -webkit-transform: translateY(80px);
        transform: translateY(80px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes fadein {
    0% {
        opacity: 0;
        -webkit-transform: translateY(80px);
        transform: translateY(80px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.spanWhite {
    display: inline-block;
    position: relative
}

.spanWhite::before {
    content: '';
    display: inline-block;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
    height: 110%;
    background: #000
}

.txtslide.is-view .spanWhite {
    -webkit-animation: textAnimew forwards 0.8s 1 ease 0.5s normal;
    animation: textAnimew forwards 0.8s 1 ease 0.5s normal
}

.txtslide.is-view .spanWhite::before {
    -webkit-animation: barAnimew forwards 0.8s 1 ease 0.1s normal;
    animation: barAnimew forwards 0.8s 1 ease 0.1s normal
}

@-webkit-keyframes barAnimew {
    0% {
        left: 0;
        width: 0
    }

    50% {
        left: 0;
        width: 100%
    }

    51% {
        left: 0;
        width: 100%
    }

    68% {
        left: 0;
        width: 100%
    }

    100% {
        left: 100%;
        width: 0
    }
}

@keyframes barAnimew {
    0% {
        left: 0;
        width: 0
    }

    50% {
        left: 0;
        width: 100%
    }

    51% {
        left: 0;
        width: 100%
    }

    68% {
        left: 0;
        width: 100%
    }

    100% {
        left: 100%;
        width: 0
    }
}

@-webkit-keyframes textAnimew {
    0% {
        color: #fff
    }

    50% {
        color: #fff
    }

    100% {
        color: #000
    }
}

@keyframes textAnimew {
    0% {
        color: #fff
    }

    50% {
        color: #fff
    }

    100% {
        color: #000
    }
}

/* ボタン本体 */
.shiny-btn {
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 1; /* 重なりの土台（スマホで必須） */
  /* Safariでoverflow:hiddenを確実に効かせるおまじない */
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/* ボタン内の画像が光を隠さないようにする */
.shiny-btn img {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}

/* 光の筋 */
.shiny-btn::before {
  content: '';
  position: absolute;
  /* top: -180px をやめて中央配置に変更 */
  top: 50%;
  left: 50%;
  width: 30px;
  height: 500%; /* 高さを十分にとる */
  background-color: rgba(255, 255, 255, 0.6);
  
  /* 画像より手前に出す */
  z-index: 2;
  pointer-events: none;

  /* 初期状態（スマホ対応のプレフィックス付与） */
  -webkit-transform: translate(-50%, -50%) rotate(45deg) scale(0);
  transform: translate(-50%, -50%) rotate(45deg) scale(0);
  
  /* アニメーション */
  -webkit-animation: shiny 3s ease-in-out infinite;
  animation: shiny 3s ease-in-out infinite;
}

/* 標準のkeyframes */
@keyframes shiny {
  0% { transform: translate(-50%, -50%) rotate(45deg) scale(0); opacity: 0; }
  80% { transform: translate(-50%, -50%) rotate(45deg) scale(0); opacity: 0.5; }
  81% { transform: translate(-50%, -50%) rotate(45deg) scale(4); opacity: 1; }
  100% { transform: translate(-50%, -50%) rotate(45deg) scale(50); opacity: 0; }
}

/* スマホ(Safari)用のkeyframes */
@-webkit-keyframes shiny {
  0% { -webkit-transform: translate(-50%, -50%) rotate(45deg) scale(0); opacity: 0; }
  80% { -webkit-transform: translate(-50%, -50%) rotate(45deg) scale(0); opacity: 0.5; }
  81% { -webkit-transform: translate(-50%, -50%) rotate(45deg) scale(4); opacity: 1; }
  100% { -webkit-transform: translate(-50%, -50%) rotate(45deg) scale(50); opacity: 0; }
}


.onepiece_nba .lead_caution {
    width: 80%;
    max-width: 1110px;
    text-align: center;
    margin: 80px auto;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lead_caution {
       margin: 10vw auto;
}
}


.onepiece_nba .lead_caution p{
    background: #ff0;
    color: #f00;
    font-size: 1.8vw;
    line-height: 2;
    display: inline-block;
    padding: 0 10px;
}

@media screen and (max-width: 750px) {
    .onepiece_nba .lead_caution p{
           font-size: 4vw;
}
}


