/*仮*/
.ydp h1 {
    border-width: 0;
    margin-bottom: 0;
}

.sp-only {
    display: none;
}

.pc-only {
    display: block;
}

.w60 {
    width: 60%;
}

.w85 {
    width: 85%;
}

.w100 {
    width: 100%;
}

.min-h50 {
    min-height: 50px;
}

.over390-only {
    display: block;
}

h4.title-box {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    border-radius: 25px;
    vertical-align: middle;
    padding: 7px 20px;
    line-height: 24px;
    width: 100%;
}

.p10 {
    padding: 10px !important;
}

.text-left {
    text-align: left;
}

.title-box.red {
    color: #ffffff;
    background: #e80013;
}

.title-box.gray {
    color: #ffffff;
    background-color: #666666;
}

.title-box.lightgray {
    color: #ffffff;
    background-color: #cccccc;
}

.vertical-align {
    vertical-align: middle;
}

.result {
    text-align: center;
    font-weight: 900;
    font-size: 50px;
    margin-bottom: 20px;
}

#error .text-red,
.text-red .text-red {
    color: #B60014 !important;
}

.winning {}

.lost {
    color: #1b6d85;
}

.radius {
    border-radius: 10px;
}

.campaign-detail-row {
    display: flex;
    justify-content: space-between;
    /*align-items: center;*/
}

.campaign-list-btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
    pointer-events: none;
    width: 160px;
}

.campaign-detail-title {
    font-weight: bold;
    vertical-align: middle;
}

.campaign img {
    width: 100%;
    max-width: 800px;
}

.campaign .small-img {
    width: auto;
    max-width: 800px;
}

.campaign .banner-img {
    border-radius: 20px;
}

.campaign .flex-center .small-img {
    margin-left: 15px;
    margin-right: 15px;
}

.img-items {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 90%;
    text-align: center;
    margin: auto;
}

.img-item {
    width: 33%;
    height: auto;
    max-height: 250px;
    padding: 5px;
    margin-bottom: 15px;
}

.img-item img {
    width: 62%;
    height: auto;
    max-width: 250px;
    padding-top: 2px;
}

.img-item .team {
    background-color: #ffffff;
    border: 3px solid #ccc;
    border-radius: 20px;
    filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.10));
}


/*公開後削除*/
.open {
    display: table;
    height: 200px;
    text-align: center;
    margin: 0 auto;
}

.open p {
    display: table-cell;
    font-weight: bold;
    vertical-align: middle;
    font-size: 18px;
}

.m15 {
    margin: 0 15px 30px 15px !important;
}

input[type="text"],
input[type="url"] {
    display: block;
    padding: 10px;
    text-align: center;
    font-size: 20px;
    letter-spacing: 1px;
    width: 80%;
    margin: 0 auto;
    font-weight: bold;
    background-color: #eee;
    border: none;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.ydp-form-row .code {
    display: inline-block;
    width: 30%;
}

.ydp-form-row .long-code {
    font-size: 18px;
    padding: 10px;
    width: 50%;
    border-style: solid;
    border-width: 2px;
    border-radius: 5px;
    border-color: #B60014 !important;
    color: #B60014 !important;
    background-color: #F0F0F0 !important;
    letter-spacing: 1px;
}

.ydp-form-row .long-code.disabled {
    pointer-events: none;
}

.ydp-form-row .short-code {
    display: inline-block;
    width: 15%;
}

.ydp-form-row .short-code.disabled {
    background-color: #F0F0F0;
    pointer-events: none;
}

.ydp-form-row .serial {
    display: block;
    width: 45%;
}

.ydp-form-row .invalid {
    background-color: #ddd !important;
}

.ydp-form-row .disabled {
    background-color: #eeeeee !important;
    opacity: 0.5;
    pointer-events: none;
}

.pointer-events {
    pointer-events: none;
}

th,
td {
    border: solid 2px #777777;
    display: table-cell;
    vertical-align: middle;
    line-height: 56px;
}

table {
    border-collapse: collapse;
    width: 65%;
    text-align: center;
    margin: 0 auto;
    font-weight: bold;
}

.table-sp {
    display: none;
}

th {
    width: 50%;
    padding: 8px;
}

th img {
    width: 56px;
    height: 56px;
}

td {
    line-height: 2;
    font-size: 15px;
}

.connect th {
    background: #F0F0F0;
    width: 40%;
    border: solid 2px #bbbbbb;
}

.connect td {
    text-align: left;
    border: solid 2px #bbbbbb;
    padding: 6px;
}

.flex-box {
    padding: 10px;
    display: flex;
}

.flex-item {
    margin: 10px;
    font-weight: bold;
    border-radius: 10px;
    width: 20%;
    align-self: stretch;
    border-width: 2px;
    border-style: solid;
    border-color: #777777;
}

.flex-item:first-child {
    padding-top: 4px;
    width: 30%;
    border-width: 0;
    text-align: left;
}

.flex-item div {
    padding: 15px 10px;
}

.flex-item div:first-child {
    height: 82px;
    display: flex;
    justify-content: center;
    align-items: center;
}


.flex-item .border {
    border-bottom: solid 2px #bbbbbb;
}

.flex-item.now {
    border-color: #B60014;
    position: relative;
}

.flex-item.now div:first-child {
    background-color: #B60014;
    border-radius: 8px 8px 0 0;
    color: #fff;
}

.flex-item.before {
    background-color: #eee;
    color: #ddd;
    position: relative;
}

.flex-item.before div:first-child {
    background-color: #ccc;
    color: #111;
    border-radius: 8px 8px 0 0;
}

.flex-item .child-item {
    font-weight: normal;
    padding-left: 15px;
}

.before::before {
    position: absolute;
    content: "";
    top: -30px;
    left: -25px;
    padding: 30px 30px;
    background: url(/assets/img/campaign/stamp.png) no-repeat;
    background-size: contain;
}

.now::before {
    position: absolute;
    content: "";
    top: -30px;
    left: -25px;
    padding: 30px 30px;
    background: url(/assets/img/campaign/stamp.png) no-repeat;
    background-size: contain;
}

/*-----------------------------*/
/*----------- モーダル----------*/
/*-----------------------------*/

.modal {
    max-width: 736px;
    font-size: 20px;
    overflow: scroll;
    padding: 18px;
    -ms-overflow-style: none;
    /* IE, Edge 対応 */
    scrollbar-width: none;
    /* Firefox 対応 */
}

.modal::-webkit-scrollbar {
    /* Chrome, Safari 対応 */
    display: none;
}

.modal .modal-box {
    padding: 8px;
    margin-bottom: 5px;
}

.modal .modal-img {
    width: 100%;
}

.flex {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: normal;
}

.flex-center {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: normal;
}

.flex-img {
    width: 30%;
    text-align: center;
}

.flex-img img {
    max-height: 200px;
    max-width: 100%;
}

.flex-img p {
    text-align: left;
}

.point-detail-row {
    display: flex;
    justify-content: space-between;
}

.point-detail-title {
    font-weight: bold;
    vertical-align: middle;
}

.campaign-icon {
    width: 30vw;
    max-width: 340px;
    border-radius: 10px 0 0 10px;
    background-size: contain;
    background-color: #666666;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}

.campaign-icon img {
    width: 100%;
    max-height: 100%;
    border-radius: 10px 0 0 10px;
}

.campaign-box {
    border-radius: 10px;
    background-color: #ffffff;
    filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.35));
}

.flex-title {
    display: flex;
    justify-content: space-between;
}

.title-btn {
    height: 42px;
    margin: 0;
    pointer-events: none;
    line-height: 1;
    display: flex;
    align-items: center;
}

.campaign-text {
    padding: 20px;
    position: relative;
    width: calc(100vw - 30vw);
    min-height: 120px;
}

.about-img {
    width: 100%;
    text-align: center;
    margin: 32px 0;
}

.about-img img {
    width: 400px;
}

.about-img img.about-img-auto_height {
    max-width: 150px;
    height: auto;
}

/*数字_blue*/
ol.cp_clist_blue {
    counter-reset: cp_clist_blue;
    list-style-type: none;
    padding: 0.5em;
}

ol.cp_clist_blue li {
    position: relative;
    padding-left: 30px;
    padding: 0.5em 0.5em 0.5em 30px;
}

ol.cp_clist_blue li::before {
    position: absolute;
    display: inline-block;
    top: 1.25em;
    left: 0;
    /* カウントさせる */
    counter-increment: cp_clist_blue;
    content: counter(cp_clist_blue);
    /*装飾*/
    padding: 0 0.2em 0 0.2em;
    background: #5566D1;
    color: #fff;
    font-weight: bold;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    transform: translateY(-50%);
}

/*アコーディオン*/
.accordion-btn {
    position: absolute;
    top: 20px;
    text-align: center;
    margin: 0 auto;
    display: block;
    font-size: 18px;
    color: #333;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
}

.accordion-btn.on {
    display: none;
    transition: all 0.1s ease-out;
}

.accordion-container {
    margin: 50px auto 0;
    max-width: 300px;
    width: 100%;
}

.accordion-title {
    background: #DDD;
    cursor: pointer;
    font-size: 16px;
    padding: 10px 40px;
    position: relative;
}

.accordion-title:after {
    position: absolute;
    display: block;
    content: '';
    top: 35%;
    right: 22px;
    width: 15px;
    height: 15px;
    border-top: 4px solid white;
    border-right: 4px solid white;
    transform: rotate(135deg);
    transition: all .3s ease-in-out;
}

.accordion-title.accordion-open:after {
    transform: rotate(-45deg);
    top: 45%;
}

.accordion-text {
    border-left: 1px solid #DDD;
    border-right: 1px solid #DDD;
    border-bottom: 1px solid #DDD;
    display: none;
    padding: 10px;
}

.anchor-point {
    /* ヘッダーの高さ 134px */
    padding-top: 134px;
    margin-top: -134px;
}

.submenu {
    display: none;
    border-radius: 15px;
}

.submenu__item {
    color: #222;
    padding: 1rem;
}

.foot {
    padding-top: 20px;
    text-align: center;
    min-height: auto;
    color: #666666;
    font-size: 16px;
}

.available-point {
    min-height: auto;
    margin-bottom: 0;
    color: #e80013;
    font-weight: bold;
}


.download-button-box {
    text-align: center;
}

.item-button.item-button-lack {
    color: #999999;
    border-color: #999999;
    background-color: #F5F5F5;
}

.item-button-able {
    color: #e80013 !important;
    border-color: #e80013;
    background: linear-gradient(180deg, #ffffff, #ebebeb);
}

.item-button.item-button-able:hover {
    cursor: pointer;
    background: rgba(0, 0, 0, 0.15);
    transition: 0.3s;
}

.item-button.item-button-replace {
    color: #ffffff;
    border-color: #888888;
    background-color: #999999;
}

.flex {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: normal;
}

.flex-center {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: normal;
}

.flex-img-la {
    width: 50%;
    text-align: center;
}

.flex-img {
    width: 30%;
    text-align: center;
}

.flex-img img {
    max-height: 200px;
    max-width: 100%;
}

.flex-img p {
    text-align: left;
}

.point-detail-row {
    display: flex;
    justify-content: space-between;
}

.point-detail-title {
    font-weight: bold;
    vertical-align: middle;
}

.doll {
    border-radius: 5px;
    margin: 0 10px;
}

.doll-box {
    display: inline;
    position: relative;
}


.plus {
    position: absolute;
    content: '';
    width: 30px;
    height: 30px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: 30px 30px;
    right: 10%;
}

.result_btns {
    display: flex;
    justify-content: space-between;
}

.result_btn span {
    display: block;
    align-items: center;
    text-align: center;
    margin: 0 5px;
    padding: 0.5em 1em;
    width: 100px;
    font-size: 18px;
    font-weight: bold;
    background-color: #bbbbbb;
    transition: 0.3s;
    color: #dddddd;
    border-radius: 10px;
}

.result_btn.red span {
    background-color: #B60014;
    color: #FFFFFF;
}

.result_btn.blue span {
    background-color: #336699;
    color: #FFFFFF;
}

.result_btn.gray span {
    background-color: #666666;
    color: #FFFFFF;
}

.doll-box img {
    /*margin: 10px;*/
}

.blue_button {
    margin: 30px 0 0 0;
    text-align: center;
}

.blue_button a {
    display: inline-block;
    align-items: center;
    margin: 0 auto 20px;
    padding: 1em 1em;
    width: 60%;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    background: rgb(0, 51, 102);
    background: linear-gradient(180deg, rgba(0, 51, 102, 1) 0%, rgba(51, 102, 153, 1) 100%);
    border-radius: 10px;
    transition: 0.3s;
    border: 2px solid #003366;
}


/*-------------------------*/

.footer {
    font-weight: bold;
    display: block;
    font-size: 18px;
    text-align: center;
    /*text-decoration: underline!important;*/
    word-break: break-all;
}

.detail-point {
    text-align: center;
    height: 48px;
    padding: 4px;
    margin: 0 auto;
    font-size: 24px;
    font-weight: bold;
    position: relative;
    color: #ffffff;
    background-color: #e80013;
    border-radius: 30px;
    width: 240px;
}

/*続きを読む*/
.cp_box *,
.cp_box *:before,
.cp_box *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cp_box {
    position: relative;
}

.cp_box label.label {
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: 100%;
    height: 140px;
    cursor: pointer;
    text-align: center;
    background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    font-weight: bold;
}

.cp_box input:checked+label.label {
    background: inherit;
}

.cp_box label.label:after {
    line-height: 2.5rem;
    position: absolute;
    z-index: 2;
    bottom: 20px;
    left: 50%;
    font-size: 18px;
    font-weight: bold;
    /* content: '＋ 続きを読む'; */
    transform: translate(-50%, 0);
    letter-spacing: 0.05em;
    color: #333333
}

.cp_box input {
    display: none;
}

.cp_box .cp_container {
    overflow: hidden;
    height: 550px;
    /* 開く前に見えている部分の高さ */
    /*transition: all 0.5s;*/
}

.cp_box input:checked+label.label {
    display: none;
}

.cp_box input:checked~.cp_container {
    height: auto;
    /*padding-bottom: 80px; */
    /*transition: all 0.5s;*/
}

.code-copy {
    white-space: nowrap;
    text-align: center;
}

.code-copy-button {
    margin-left: auto;
    width: auto;
}

.unique-code {
    display: inline-block !important;
    width: 50% !important;
    font-size: min(4.25vw, 20px) !important;
}

.unique-code-copy {
    margin-left: auto;
    width: 100px !important;
}

.url-copy {
    white-space: nowrap;
    text-align: right;
    margin-top: 10px;
}

.url-copy-button {
    margin-right: 3%;
}

.btn-blue {
    display: inline-block;
    font-size: 20px;
    padding: 2px 16px;
    border-radius: 25px;
    text-decoration: none;
    color: #FFF;
    background-color: #5566D1;
    width: 100%;
    margin: 18px 0 6px 0;
    text-align: left;
}

.inv-form {
    box-sizing: border-box;
    padding: 10px;
}

/*--------タブ----------*/

.ydp-link-group {
    text-align: center;
}

.ydp-link-group .tab {
    width: 30%;
    padding: 12px 8px;
}

.panel-group {
    border: solid 1px #CCC;
    border-top: none;
    background: #eee;
}

.panel {
    display: none;
}

.text-red a:default,
.text-red a:link,
.text-red a:active,
.text-red a:visited {
    color: #B60014;
}

.tab.active {
    color: #ffffff;
    transition: all 0.2s ease-out;
}

.ydp-link-group a.acvive {
    color: #ffffff !important;
}

.panel.is-show {
    display: block;
}

.ydp-link-group .tab2 {
    width: 30%;
    padding: 12px 8px;
}

.panel2 {
    display: none;
}


.tab2.active2 {
    color: #ffffff;
    transition: all 0.2s ease-out;
}

.ydp-link-group a.acvive2 {
    color: #ffffff !important;
}

.panel2.is-show2 {
    display: block;
}

.ydp-link-group a.acvive2 {
    color: #ffffff;
    pointer-events: none
}

.ydp-link-group.ydp-link-group-red a.acvive2 {
    background-color: #B60014;
}

.prize-table {
    width: 100%;
    text-align: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
}

.prize-table.w85 {
    width: 85%;
}

.prize-cell {
    display: flex;
    border: 2px solid #bbbbbb;
    margin: 0 0 -2px;
    font-size: 14px !important;
}

.prize-cell.head {
    width: 100%;
    display: flex;
    padding: 15px;
    background-color: #e80013;
    color: #ffffff
}

.prize-cell .prize-number {
    width: 5%;
    padding: 15px 0;
}

.prize-cell .head {
    width: 60%;
    padding: 15px 0;
    border-right: 2px solid #bbbbbb;
}

.prize-cell .head-2 {
    width: 45%;
    padding: 15px 0;
    border-right: 2px solid #bbbbbb;
    text-align: left;
    padding-left: 15px;
}

.prize-cell .head-2.pc-width65 {
    width: 65%;
}

.prize-cell .head-3 {
    width: 12.5%;
    padding: 15px 0;
    border-right: 2px solid #bbbbbb;
    text-align: center;
}

.prize-cell .head-4 {
    width: 65%;
    padding: 15px 0;
}

.prize-cell .body {
    display: flex;
    width: 40%;
    align-items: center;
}

.prize-cell .body-1 {
    display: flex;
    width: 25%;
    align-items: center;
}

.prize-cell .body-1.campaign02 {
    width: 35%;
}

.prize-cell .body-1.campaign02 p {
    width: 60%;
    text-align: left;
    margin-left: 12px;
}

.prize-cell .body-1 .number {
    width: 75px;
    height: 40px !important;
    margin-left: 25px;
}

.prize-cell .body-2 {
    display: flex;
    width: 17.5%;
    align-items: center;
}

.prize-cell .body-2.campaign02 {
    width: 20%;
}

.prize-cell .body-3 {
    display: flex;
    align-items: center;
    justify-content: center;
}

.prize-cell .modal-head {
    width: 75%;
    padding: 15px 0;
    border-right: 2px solid #bbbbbb;
}

.prize-cell .modal-head.campaign02 {
    width: 60%;
}

.prize-cell .modal-head.campaign02 p {
    padding: 0 12px;
}

.prize-cell .modal-head-1 {
    width: 75%;
    padding: 15px 0;
    border-right: 2px solid #bbbbbb;
}

.prize-cell .modal-head-1.campaign02 {
    width: 60%;
}

.prize-cell .modal-body {
    display: flex;
    width: 25%;
    align-items: center;
}

.prize-cell .modal-body.campaign02 {
    width: 40%;
}

.prize-cell .modal-body.campaign02 p {
    padding: 0 12px;
}

.main.prize-cell:first-child {
    border-radius: 10px 10px 0 0;
}

.main.prize-cell:last-child {
    border-radius: 0 0 10px 10px;
    ;
}

.prize-item {
    margin-right: 10px;
    word-break: keep-all;
}

.point-table {
    width: 55%;
    display: block;
    text-align: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
}

.point-cell {
    margin: 0 0 -2px;
    font-size: 14px !important;
    align-items: center;
    width: 50%;
}

.point-cell.head {
    width: 100%;
    display: flex;
    padding: 15px 0;
    background-color: #e80013;
    border-radius: 10px 10px 0 0;
    color: #ffffff;
}

.point-cell.body {
    width: 100%;
    border-radius: 0 0 10px 10px;
    border-left: 2px solid #bbbbbb;
    border-bottom: 2px solid #bbbbbb;
    border-right: 2px solid #bbbbbb;
    align-items: center;
    color: #B60014;
    padding: 20px;
}

.prize-img-pc {
    display: block;
}

.prize-img-pc-la {
    display: block;
}

.prize-img-sp {
    display: none;
}

.prize-img-sp-la {
    display: none;
}

.link-table {
    width: 85%;
    margin-left: auto;
    margin-right: auto;
}

.link-table .head {
    background-color: #e80013;
    color: #ffffff;
}

.link-table .row {
    display: flex;
}

.link-table .row {
    border: 2px solid #bbbbbb;
    border-bottom: 0;
    font-size: 14px;
}

.link-table .row:first-child {
    border-radius: 10px 10px 0 0;
}

.link-table .row:last-child {
    border: 2px solid #bbbbbb;
    border-radius: 0 0 10px 10px;
}

.link-table .row div {
    padding: 15px 0;
    border-right: 2px solid #bbbbbb;
}

.link-table .row div:last-child {
    border: 0;
}

.link-table .row div:nth-child(1) {
    width: 40%;
}

.link-table .row div:nth-child(2) {
    width: 20%;
}

.link-table .row div:nth-child(3) {
    width: 40%;
}

.rule {
    height: 240px;
    overflow-y: scroll;
    font-size: 14px !important;
    word-break: break-all;
}

.button_link {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 10px;
    border-width: 2px;
    border-style: solid;
    border-color: #bbbbbb;
    border-radius: 10px;
    background-color: #ffffff;
    justify-content: center;
}

.accordion-point {
    max-width: 500px;
}

.accordion-head {
    border-radius: 10px 10px 0 0;
    background-color: #e80013;
    color: white;
    font-size: min(4.5vw, 18px);
}

.accordion-body {
    border-right: 2px solid #e80013;
    border-left: 2px solid #e80013;
}

.accordion-footer {
    border-right: 2px solid #e80013;
    border-bottom: 2px solid #e80013;
    border-left: 2px solid #e80013;
    border-radius: 0 0 10px 10px;
}

.about-img img {
    width: 600px;
}

.about-img img.about-img-small {
    width: 400px;
}

.about-img img.about-img-auto {
    width: auto;
    max-height: 480px;
    border: 1px solid #666;
}

.cp_sirius_info img {
    /* キャンペーンフォーマット化 */
    width: auto;
    max-width: 800px;
}

/* つかえるポイントの上下 */
.cp_sirius_multi_text {
    margin-bottom: 20px;
    margin-top: 20px;
    text-align: left;
}

/* 遊戯王デュエリストポイント公式サイトをはじめよう! */

.letsstart__head {
    text-align: center;
    display: block !important;
    font-size: 24px !important;
    margin-bottom: 40px;
}

.letsstart__list {
    display: flex;
    justify-content: space-between;
}

.letsstart__list__item {
    width: 24.5vw;
    max-width: 256px;
    padding-bottom: 5px;
    margin: 0 5px;
}

.letsstart__list__item img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.letsstart__list__item p {
    font-size: 14px;
    line-height: 1.42857;
    font-weight: bold;
}

.letsstart__list__howto {
    height: 100%;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
    background-color: #ffffff;
}

.letsstart__list__regist {
    height: 100%;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
    background-image: url(/assets/img/common/bg_yellow.png);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.letsstart__list__regist img {
    margin-top: 20px;
}

.letsstart__list__regist p {
    margin-bottom: 15px;
}

.letsstart__list__regist a.btnmember {
    width: calc(100% - 3px*2);
    max-width: inherit;
    margin: 0 3px 5px;
}

.inline-height-20 {
    height: max(20%, 100px);
}

.inline-height-100 {
    height: max(100%, 100px);
}

@media only screen and (max-width: 981px) {

    .prize-cell .body-1.campaign02 p br .sp-only {
        display: block;
    }
}

@media only screen and (max-width: 920px) {

    h4.letsstart__head {
        margin-bottom: 20px;
    }

    .letsstart__list__item p {
        font-size: 13px !important;
    }

    .letsstart__list__regist img {
        margin-top: 10px;
    }

    .letsstart__list__regist p {
        margin-bottom: 5px;
    }

    .letsstart__list__regist a.btnmember {
        font-size: 2vw;
    }
}

@media only screen and (max-width: 560px) {

    h4.letsstart__head {
        font-size: 20px;
        line-height: 1.33333;
    }

    .letsstart__list__item {
        width: 220px;
        height: 280px;
    }

    .letsstart__list__regist a.btnmember {
        font-size: 18px;
    }

    .letsstart .slick-dots {
        bottom: -20px;
    }

    .title-btn {
        font-size: 13px;
        max-width: 200px;
    }
}

/* バナー：スライダー：インジケーター */
.slick-dots {
    bottom: -20px;
}

.slick-dots li {
    width: 30px;
    height: 8px;
    margin: 0 7px;
}

.slick-dots li button {
    width: 30px;
    height: 8px;
    padding: 0;
}

.slick-dots li button:before {
    width: 30px;
    height: 8px;
    content: "";
    color: #cccccc;
    opacity: 1;
    border-radius: 4px;
    background-color: #cccccc;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    background-color: #d4000d;
}

@media only screen and (max-width: 560px) {
    .slick-dots {
        bottom: -10px;
    }

    .slick-dots li {
        width: 20px;
        height: 6px;
        margin: 0 3px;
    }

    .slick-dots li button:before {
        width: 20px;
        height: 6px;
    }
}

a.btnmember {
    width: 100%;
    max-width: 200px;
    height: 60px;
    margin: 0 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
    font-size: 21px;
    line-height: 1;
    font-weight: bold;
    text-align: center;
}

a.btnmember--signup {
    border: solid 3px #d4000d;
    background: linear-gradient(180deg, white 0%, #e4e4e4 99.96%);
    color: #d4000d;
}

a.btnmember--signup span {
    background-color: #d4000d;
    color: #fff;
    font-size: 0.90476em;
    font-weight: bold;
    padding: 0.2381em 0.47619em;
    border-radius: 1em;
    margin-left: 0.28571em;
}

.cloudimage-360 {
    max-width: 640px;
    width: 100%;
}

.under320 {
    display: none;
}

.over920 {
    display: block;
}


/*--------相互対応-----------*/


/*-------------------------*/

@media (max-width: 1016px) {
    .text-center {
        text-align: center !important;
    }
}

/*-------------------------------------------------
〜 900px
-------------------------------------------------*/

@media (max-width: 900px) {
    .ydp-form-row .code {
        display: block;
    }

    .ydp-form-row .long-code {
        width: 90%;
        font-size: min(3.5vw, 18px) !important;
    }

    .ydp-form-row .short-code {
        width: 20%;
    }

    .campaign .banner-img {
        width: 100%;
        height: auto;
        border-radius: 15px;
    }

    .about-img img {
        width: 80%;
        height: auto;
    }
}

@media (max-width: 920px) {
    .campaign-list-btn {
        bottom: 4px;
    }

    .ydp-link-group a {
        display: inline-block;
        border-width: 2px 0 2px 2px;
    }

    .ydp-link-group a:nth-of-type(1) {
        border-radius: 8px 0 0 8px;
        border-width: 2px 0 2px 2px;
    }

    .ydp-link-group a:last-of-type {
        border-radius: 0 8px 8px 0;
        border-width: 2px 2px 2px 2px;
    }

    .campaign .small-img.schedule,
    .campaign .small-img.flex-img {
        max-width: 100%;
        height: auto;
    }


    .prize-table,
    .point-table {
        width: 85%;
    }

    .prize-cell {
        display: block;
    }

    .prize-cell .prize-number {
        display: inline-block;
        width: 8%;
    }

    .prize-cell .head {
        width: 100%;
        border: initial;
    }

    .prize-cell .head-2 {
        display: inline-block;
        width: 80%;
        border: initial;
        text-align: center;
        padding-left: initial;
    }

    .prize-cell .head-2.pc-width65 {
        width: 80%;
    }

    .prize-cell .head-3 {
        display: inline-block;
        width: 80%;
        border: initial;
        text-align: center;
        padding-left: initial;
        padding-top: 0;
    }

    .prize-cell .head-4 {
        display: inline-block;
        width: 80%;
        border: initial;
        text-align: center;
        padding-left: initial;
    }

    .prize-cell .body {
        width: 100%;
        border-left: initial;
        margin: 0 0 15px 0;
    }

    .prize-cell .body-1 {
        width: 100%;
        border-left: initial;
    }

    .prize-cell .body-1.campaign02 {
        width: 100%;
        padding-left: 12px;
    }

    .prize-cell .body-2 {
        width: 100%;
        margin: 15px 0;
    }

    .prize-cell .body-2.campaign02 {
        width: 100%;
    }

    .prize-cell .body-3 {
        width: 100%;
        margin-bottom: 15px;
    }

    .prize-cell .body-1 .number {
        margin: 0 15px 0 auto;
    }

    .prize-cell .modal-head {
        width: 100%;
        border: initial;
    }

    .prize-cell .modal-head.campaign02 {
        width: 100%;
    }

    .prize-cell .modal-body {
        width: 100%;
        margin-bottom: 15px;
    }

    .prize-cell .modal-body.campaign02 {
        width: 100%;
    }

    .point-cell.head {
        width: 100%;
        border-radius: 10px 10px 0 0;
    }

    .point-cell.body {
        width: 100%;
        border-radius: 0 0 10px 10px;
        border-left: 2px solid #bbbbbb;
        border-bottom: 2px solid #bbbbbb;
        border-right: 2px solid #bbbbbb;
    }

    .anchor-point {
        /* ヘッダーの高さ 50px */
        padding-top: 50px;
        margin-top: -50px;
    }

    .over920 {
        display: none;
    }

    .title-btn {
        width: inherit;
    }
}

/*-------------------------------------------------
〜 767px
-------------------------------------------------*/

@media (max-width: 767px) {
    .m767_w100 {
        width: 100%;
    }

    .cp_sirius_info img {
        /* キャンペーンフォーマット化 */
        width: 100%;
        height: auto;
        border-radius: 10px;
    }

    .campaign .small-img {
        width: 100%;
        height: auto;
        border-radius: 10px;
    }

    .campaign .flex-center {
        flex-direction: column;
    }

    .campaign .flex-center .small-img {
        margin: 15px auto;
    }

    .img-items {
        width: 95%;
        justify-content: center;
    }

    .img-item {
        width: 49%;
        max-width: 260px;
        max-height: none;
        font-size: 15px;
    }


    .img-item img {
        border-radius: 10px;
    }


    .sp-only {
        display: block;
    }

    .pc-only {
        display: none;
    }

    table {
        width: 90%;
    }

    th {
        line-height: 40px;
    }

    th,
    td {
        white-space: nowrap;
    }

    .table-sp {
        display: block;
    }

    .table-title {
        text-align: center;
        padding: 8px;
    }

    .table-title:before {
        position: static;
    }

    .ydp-form-row .code {
        width: 40%;
        min-width: 270px;
    }

    .flex-box {
        padding: 0;
        justify-content: center;
    }

    .flex-item {
        margin: 4px;
        width: 23%;
    }

    .flex-item:first-child {
        padding-top: 2px;
    }

    .flex-item div {
        padding: 15px 2px;
        height: 80px;
    }

    .now::before,
    .before::before {
        padding: 25px 25px;
    }

    .flex-item {
        margin: 0;
    }


    .flex-item:not(first-child) {
        border-right-width: 0;
    }

    .flex-item:last-child {
        border-right-width: 2px;
    }

    .now::before,
    .before::before {
        top: -38px;
    }

    .modal {
        max-width: 540px;
        width: 95%;
        margin: 0 auto;
    }

    .connect th {
        text-align: left;
        padding: 4px;
        font-size: 12px;
    }

    .connect td {
        font-size: 12px;
        padding: 4px;
    }

    .flex {
        display: block;
    }

    .campaign-list-btn {
        bottom: 4px;
    }

    .flex-img-la {
        width: 100%;
    }

    .flex-img {
        width: 100%;
    }

    .flex-img h4 {
        width: 100%;
    }

    .point-detail-row {
        display: block;
    }

    .point-detail-title {
        margin-bottom: 15px;
    }

    .point-detail-value {
        text-align: right;
    }

    .campaign .goods-img {
        max-width: 100%;
        width: auto;
        max-height: 330px;
    }

    .campaign-icon img {
        display: none;
    }

    .campaign-icon {
        min-width: 160px;
        height: 140px;
        background-size: contain;
        background-color: #666666;
        background-position: center center;
        border-radius: 10px 0 0 10px;
        background-repeat: no-repeat;
    }

    .campaign-list-btn {
        width: 140px;
        padding: 4px 8px;
        margin: 0;
        right: 4px;
        min-width: 140px;
    }

    .campaign-text {
        padding: 8px;
    }

    .players {
        display: block;
    }

    .player {
        width: 100%;
    }

    .result_btn span {
        width: 85px;
        font-size: 16px;
    }

    .doll-box img {
        margin: 0;
    }

    .blue_button a {
        padding: 0.5em 1em;
        width: 90%;
        color: #fff;
        font-size: 18px
    }

    .plus {
        width: 20px;
        height: 20px;
        right: 5%;
    }

    .ydp-form-row .short-code {
        width: 20%;
        max-height: 35px;
        font-size: 14px !important;
    }

    .ydp-link-group .tab {
        width: 45%;
    }

    .ydp-link-group #tab {
        width: 45%;
        font-size: 14px;
    }

    .ydp-link-group .tab2 {
        width: 45%;
    }

    .ydp-link-group #tab2 {
        width: 45%;
        font-size: 14px;
    }

    .prize-table,
    .point-table {
        width: 100% !important;
    }

    .prize-img-pc-la {
        display: none;
    }

    .prize-img-sp-la {
        display: block;
    }

    .flex img.about-img-auto {
        display: block;
        margin: 10px auto 20px;
    }

    .flex {
        display: block;
    }

    .unique-code {
        display: block !important;
        width: 100% !important;
        margin-bottom: 10px !important;
        vertical-align: baseline !important;
    }

    .unique-code-copy {
        margin-left: auto;
        width: auto;
    }

}

@media (max-width: 430px) {

    .ydp-form-row .code {
        width: 80%;
        min-width: initial;
    }

    .winning {
        font-size: 40px;
    }

    .img-items {
        width: 100%;
    }

    input[type="text"] {
        width: 100%;
        font-size: 18px;
    }

    .ydp p {
        font-size: 15px;
    }

    .prize-cell .body-1.campaign02 p {
        font-size: 14px;
    }

    .ydp-form-row .code {
        width: 90%;
    }

    .ydp-form-row .long-code {
        width: 100%;
        font-size: min(4.25vw, 16px) !important;
    }

    .ydp-form-row .short-code {
        width: auto;
        max-width: 58px;
        letter-spacing: 0;
        font-size: 12px !important;
        margin: 10px 0;
    }

    .img-item {
        width: 100%;
        margin-bottom: 5px;
    }

    table {
        width: 100%;
    }

    .table-title {
        font-size: 14px;
    }

    td {
        font-size: 13px;
        padding: 8px;
    }

    .flex-box {
        font-size: 12px;
        white-space: nowrap;
    }

    .flex-item div {
        padding: 15px 2px;
        height: 70px;
    }

    .flex-item .child-item {
        padding-left: 1px;
    }

    .flex-item:first-child {
        padding-top: 2px;
    }

    .now::before,
    .before::before {
        top: -25px;
        left: -20px;
        padding: 20px 20px;
    }

    .title-btn {
        font-size: 14px;
    }

    .campaign-icon {
        min-width: 120px;
        height: 130px;
    }

    .campaign-text {
        line-height: 1.5;
        font-size: 14px;
    }

    .campaign-list-btn {
        font-size: 15px;
        width: 120px;
        padding: 0;
        min-width: 120px;
    }

    .detail-point {
        width: auto;
    }

    .result_btn span {
        width: 75px;
        font-size: 14px;
        margin: 0;
    }

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

    .ydp-link-group .tab {
        width: 50%;
    }

    .ydp-link-group #tab {
        width: 50%;
        font-size: 14px;
    }

    .ydp-link-group .tab2 {
        width: 50%;
    }

    .ydp-link-group #tab2 {
        width: 50%;
        font-size: 14px;
    }

    .prize-img-pc {
        display: none;
    }

    .prize-img-sp {
        display: block;
    }

    .flex img.about-img-auto {
        display: block;
        margin: 10px auto;
    }

    .modal-campaign02 {
        width: 100%;
    }

    .over390-only {
        display: none;
    }
}

@media (max-width: 320px) {

    .under320 {
        display: block;
    }

}

/* ミッションリスト */
.campaign-missions {
    padding: 40px 0 0;
    line-height: 84px;
}

.campaign-missions .inner {
    padding-bottom: 10px;
}

.campaign-missions_head {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6;
    padding: 10px;
    margin: 0 auto;
    width: 100%;
    background-color: #e80013;
    color: #ffffff;
    border-right: 2px solid #e80013;
    border-top: 2px solid #e80013;
    border-left: 2px solid #e80013;
    border-radius: 10px 10px 0 0;
}

.campaign-missions_content {
    border-right: 2px solid #e80013;
    border-bottom: 2px solid #e80013;
    border-left: 2px solid #e80013;
    border-radius: 0 0 10px 10px;
    margin-top: -2px;
}

.campaign-missions_list {
    max-width: 1010px;
    padding: clamp(15px, calc(15 / 375 * 100vw), 20px) 10px 0 10px;
    display: grid;
    column-gap: 20px;
    grid-template-columns: repeat(2, 1fr);
}

.campaign-missions_list__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 0;
    margin-bottom: 20px;
}

@media only screen and (max-width: 1024px) {
    .campaign-missions_list {
        display: block;
        max-width: 640px;
        margin: 0 auto;
    }

    .campaign-missions_list__item {
        display: block;
    }

    .campaign-missions_list__item>.mission-box {
        display: block;
    }
}

.ydp-box.ydp-box-grad-v.campaign-no_mission {
    width: 100%;
    background: #ffffff;
    border: none;
    margin: 0 auto 25px;
    box-shadow: none;
}

.open.campaign-mission-open {
    height: 100%;
}

.campaign-missions .slick-dots {
    bottom: -12px;
}

.campaign-missions .slick-dots li {
    width: 12px;
}

.campaign-missions .slick-dots li button {
    width: 12px;
}

.campaign-missions .slick-dots li button:before {
    border-radius: 50%;
    width: 12px;
    height: 12px;
}

@media only screen and (max-width: 560px) {
    .campaign-missions .slick-dots li {
        width: 12px;
        height: 12px;
        margin: 0 3px;
    }

    .campaign-missions .slick-dots li button:before {
        width: 12px;
        height: 12px;
    }
}

@media only screen and (max-width: 920px) {
    .campaign-missions {
        padding: 30px 0 25px;
    }
}

@media only screen and (max-width: 767px) {
    .campaign-missions_head {
        font-size: 18px;
    }
}

@media only screen and (max-width: 560px) {
    .campaign-missions {
        padding: 20px 0 15px;
    }

    .campaign-missions .slick-dots {
        bottom: -15px;
    }
}

@media only screen and (max-width: 390px) {
    .campaign-missions_head {
        font-size: 14px;
    }

    .campaign-missions_list {
        margin-bottom: 10px !important;
    }

    .mission-box .mission-progress.campaign-mission-progress {
        width: 180px;
    }

    .mission-progress .mission-progress-value.campaign-mission-progress-value {
        width: 180px;
    }

    .mission-button.campaign-mission-button {
        width: 180px;
    }

    .campaign-missions .slick-dots {
        bottom: -5px;
    }

}

/* ミッションリスト：スライダー：前後ボタン */
.campaign-missions .slick-prev,
.campaign-missions .slick-next {
    width: 120px;
    height: calc(100% - 10px);
    z-index: 100;
    top: 0;
    -webkit-transform: inherit;
    transform: inherit;
}

.campaign-missions .slick-prev:before,
.campaign-missions .slick-next:before {
    display: none;
}

.campaign-missions .slick-prev:after,
.campaign-missions .slick-next:after {
    content: "";
    width: 36px;
    height: 51px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 36px 51px;
}

.campaign-missions .slick-prev:after {
    left: 20px;
    background-image: url(/assets/img/top/arrow_left.svg);
}

.campaign-missions .slick-prev {
    left: 0px;
}

.campaign-missions .slick-prev:hover {
    left: 0px;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
}

.campaign-missions .slick-next {
    right: 0;
}

.campaign-missions .slick-next:hover {
    right: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
}

.campaign-missions .slick-next:after {
    right: 20px;
    background-image: url(/assets/img/top/arrow_right.svg);
}

@media only screen and (max-width: 920px) {

    .campaign-missions .slick-prev,
    .campaign-missions .slick-next {
        width: 70px;
    }

    .campaign-missions .slick-prev:after,
    .campaign-missions .slick-next:after {
        content: "";
        width: 28.8px;
        height: 40.8px;
        background-size: 28.8px 40.8px;
    }

    .campaign-missions .slick-prev:after {
        left: 5px;
    }

    .campaign-missions .slick-next:after {
        right: 5px;
    }
}

.ydp-checkbox.disabled label {
    color: #aaaaaa;
}

.ydp-checkbox.disabled label::before {
    border-color: #bbbbbb;
    background-color: lightgray;
}

/* ミッションリスト縦並び */
.campaign-missions-vertical_list {
    margin: 8px 0 10px 0;
}

.campaign-missions_vertical__item {
    width: 100%;
    padding-bottom: 8px;
}

.campaign-mission-vertical-box {
    display: flex;
    margin: 0 10px;
    text-align: center;
    min-height: 4em;
}

.campaign-mission-vertical-box .campaign-mission-info {
    display: flex;
    align-items: center;
    border: #999999 solid 3px;
    border-left: 0;
    border-radius: 0 10px 10px 0;
    flex: 1;
    /* 残りの幅全部割り当て */
    padding-left: 8px;
    position: relative;
}

.campaign-mission-vertical-box .campaign-mission-info .mission-kind {
    width: 40px;
    height: 40px;
    border: 2px solid;
    border-radius: 20px;
    font-size: 14px;
    padding-top: 8px;
    text-align: center;
    font-weight: bold;
}

.campaign-mission-vertical-box .campaign-mission-way {
    width: 20px;
    right: 4px;
    top: 2px;
    position: absolute;
}

.campaign-mission-vertical-box .campaign-mission-way .mission-way {
    display: inline-block;
    width: 18px;
    height: 18px;
    font-size: 15px;
    font-weight: bold;
    line-height: 18px;
    background-color: #e80013;
    color: #ffffff;
    text-align: center;
    border-radius: 9px;
}

.campaign-mission-vertical-box.gave .campaign-mission-way .mission-way {
    background-color: #999999;
}

/* ミッションはありません表示エリア */
.ydp-box.campaign-no_mission_vertical {
    background: #ffffff;
    border: none;
}


/*-------------------------------------------------
〜 767px
-------------------------------------------------*/

@media (max-width: 767px) {
    .campaign-mission-vertical-box .campaign-mission-info {
        padding-left: 6px;
    }

    .campaign-mission-vertical-box .campaign-mission-info .mission-kind {
        width: 36px;
        height: 36px;
        border-radius: 18px;
        font-size: 12px;
        padding-top: 6px;
    }

    .campaign-mission-vertical-box .campaign-mission-way {
        width: 14px;
        right: 5px;
        top: 0;
    }

    .campaign-mission-vertical-box .campaign-mission-way .mission-way {
        width: 14px;
        height: 14px;
        font-size: 13px;
        line-height: 14px;
        border-radius: 7px;
    }
}

@media (max-width: 390px) {
    .campaign-mission-vertical-box .campaign-mission-info .mission-kind {
        width: 28px;
        height: 28px;
        border-radius: 14px;
        font-size: 10px;
        padding-top: 4px;
    }

    .ydp-box.campaign-no_mission_vertical p {
        font-size: 14px;
    }
}

/* 期間限定ミッションのアコーディオン */
.campaign-missions_list li:nth-child(n+5) {
    display: block;
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition-duration: .4s;
    margin-bottom: 0;
}

.campaign-missions_list li:nth-child(n+5).is-open {
    display: grid;
    height: auto;
    opacity: 1;
    visibility: visible;
    margin-bottom: 20px;
}

.campaign-missions_btn-open,
.campaign-missions_btn-close {
    text-align: center;
    display: block;
    font-size: 18px;
    color: #333;
    font-weight: bold;
    margin: 0 0 20px 0;
}