@charset "utf-8";


ul,ol {
    max-height: 100%;
    list-style: none;
}
.ul {
    margin: 0 0 1em 1.5em;
    list-style: disc outside;
}

.mb0 {
    margin-bottom: 0 !important;
}
.flex {
    max-width: 100%;
}

.visible-s {
    display: none !important;
}

.amazon_en {
    font-family: Verdana,Roboto,"Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.amazon_ja {
    font-family: "MS PGothic",Roboto,"Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

@media only screen and (max-width: 767px) and (min-width: 0) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }
}

/* ----------------------------------------------------------
    キャンペーン infoパネル
------------------------------------------------------------- */
.header .header_inner,
.mv_infoP .inner,
.inner {
    max-width: 970px;
    width: 100%;
    margin: 0 auto;
}

.header {
    border-bottom: 1px solid #ccc;
    padding: 20px 20px 15px;
    background: #fff;
}
.header h1 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 205px;
}
.header h1 a {
    display: block;
}
.header h1 a img {
    max-width: 100%;
}
.header_inner {
    position: relative;
}
.header_inner_btn {
    float: right;
    padding: 10px;
    font-size: 12px;
    font-weight: normal;
}

#contents_wrapper {
    max-width: 1015px;
}

.memberBox {
    width: 152px;
    margin: 0 auto;
    border: 1px solid #ccc;
}
.memberBox .memberBox_ttl {
    display: inline-block;
    padding: 5px;
    background: #1b63a7;
    color: #fff;
}
.memberBox .memberBox_id {
    display: inline-block;
    padding: 5px;
}

#form_campaign-banner {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}
.form_campaign-banner_wrap {
    border: 1px solid #caa533;
    position: relative;
}
.campaign-medal {
    position: absolute;
    top: 5px;
    left: 3px;
}
.form_campaign-banner_header {
    background: #caa533;
}
#form_campaign-banner h3 {
    color: white;
    padding: 5px 10px;
    margin-left: 70px;
    font-size: 15px;
}
.campaign-date {
    background: #ffce0a;
    font-size: 11px;
    padding: 5px;
    color: #333;
}
.form_campaign-banner_info {
    font-size: 12px;
    padding: 7px;
    margin: 0 0 0 68px;
}
.form_campaign-banner_info p {
    text-indent: -0.5em;
}
@media only screen and (max-width: 767px) and (min-width: 0) {
    #form_campaign-banner {
        margin-bottom: 20px;
    }
    .form_campaign-banner_wrap {
        max-width: 90%;
    }
    .campaign-medal {
        top: -25px;
        left: -30px;
    }
    #form_campaign-banner h3 {
        margin-left: 0;
        font-size: 14px;
        text-align: center;
    }
    .campaign-date {
        display: block;
        padding: 2px 3px;
        margin-top: 5px;
        text-align: center;
    }
    .form_campaign-banner_info {
        margin: 0;
    }
    .form_campaign-banner_info p {
        text-align: center;
    }
    .visible-s {
        display: block !important;
    }
}


/* ----------------------------------------------------------
    応募画面
------------------------------------------------------------- */

/* 賞品 */
.leadArea {
    text-align: center;
    font-size: 14px;
    margin-bottom: 20px;
}
.leadArea.bold {
    font-size: 18px;
    font-weight: bold;
}
.leadArea span {
    color: #ff6e16;
}
.prize {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 970px;
    margin: 0 auto 40px;
}

.selected {
    border: 3px solid #2ecc71 !important;
}

.prize_box input {
    display: block;
}

.prize_item {
    display: block;
    width: 31.27%;
    /*width: 222px;*/
    margin: 0 10px 20px 10px;
    padding: 10px 0 20px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    font-size: 12px;
    font-weight: bold;
    text-align: left;
    cursor: pointer;
    position: relative;
}
/*.prize_item:last-child {*/
/*    margin-right: 0;*/
/*}*/
.prize_item.selected{
    top: -3px;
}
.prize_item:nth-child(4).selected,
.prize_item:nth-child(8).selected{
    margin-top: 0;
}
.prize_item_img {
    display: block;
    width: 80%;
    margin: 20px auto;
    text-align: center;
}
.prize_item_img img {
    max-width: 100%;
}
.prize_item label {
    display: block;
    padding: 15px 0;
    text-align: left;
    cursor: pointer;
}
.prize_item label :hover {
    opacity: .8;
}
.input_wrap {
    padding: 5px;
    background: #eee;
    margin: 0 10px;
}
.prize_item input {
    display: block;
    margin: 0 auto;
}
.prize_item dl {
    padding: 0 10px;
}
.prize_item dl dt {
    padding-bottom: 5px;
    border-bottom: 1px dashed #ccc;
    font-size: 11px;
    color: #888;
}
.prize_item dl dd {
    padding-top: 10px;
    font-size: 14px;
    line-height: 1.6;
    word-break: break-all;
}
.prize_item dl .note {
    display: inline-block;
    font-size: 10px;
    font-weight: normal;
    vertical-align: top;
}

/* 規約・注意事項 */
.cp_agree_flag {
    display: block;
    width: 100%;
    max-width: 1015px;
    margin: 0 auto 50px;
    padding: 20px;
    text-align: center;
    border: 1px solid #ccc;
    box-sizing: border-box;
}
.cp_agree_flag_inner {
    margin: 0 auto;
    text-align: left;
}
.cp_agree_flag .ttl {
    display: block;
    margin-bottom: 20px;
    padding: 4px 0;
    background: #ae8e2a;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: #fff;
}
.cp_agree_flag textarea {
    display: block;
    margin: 0 auto 30px;
    max-width: 900px;
    width: 100%;
    height: 220px;
    box-sizing: border-box;
    padding: 15px;
}
.cp_agree_flag ul {
    padding-left: 1.5em;
    margin-bottom: 30px;
}
.cp_agree_flag ul li {
    margin-bottom: .25em;
    list-style-type: disc;
}
.cp_agree_flag ul li ol {
    margin: 0 0 1em 2em;
}
.cp_agree_flag ul li ol li {
    list-style: decimal outside;
}
.agreeLabel_wrap {
    text-align: center;
    margin: 20px auto 0;
    background: #eee;
}
.agreeLabel_wrap label {
    width: 100%;
    display: block;
    padding: 10px 0;
    cursor: pointer;
}
/* SP */
@media only screen and (min-width: 0) and (max-width: 767px){
    .agreeLabel_wrap label{
        width: auto;
        padding: 10px;
    }
}

/* エラーメッセージ */
ul.error {
    text-align: center;
    padding: 10px;
    margin: 0 auto;
    font-size: 18px;
    font-weight: bold;
}
.alert--errorMsg{
    background-color: #fff3f3;
    border: 1px solid #f5dfdf;
    color: #ff0000;
    text-align: center;
    padding: 1rem 1.6rem;
    margin-bottom: 20px;
}

/* 応募ボタン */

.cp_18th_note {
    font-size: 12px;
    margin: 20px 0 0;
}
.cp_btn_18th {
    display: block;
    max-width: 720px;
    width: 100%;
    margin: 0 auto 50px;
    background: linear-gradient(to bottom, #f9a155 0, #f88724 50%, #f7790b 51%, #f7790b 100%);
    text-align: center;
    transition: opacity .1s ease-out;
}
.cp_btn_18th:hover {
    opacity: .8;
}
.cp_btn_18th input {
    cursor: pointer;
    width: 100%;
    background: none;
    padding: 18px;
    border: none;
    font-size: 28px;
    color: #fff;
    line-height: 1.4;
    font-weight: bold;
    text-shadow: 0 -1px 0 #d67227;
}
.cp_btn_18th a {
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}
.btn_gray-l {
    padding: 18px;
    background: #e2e2e2;/* Old Browsers */
    background: -moz-linear-gradient(top, #f5f5f5 0, #f5f5f5 50%, #e2e2e2 51%, #e2e2e2 100%); /* FF3.6+ */
    background: -webkit-gradient(left top, left bottom, color-stop(0%, #f5f5f5), color-stop(50%, #f5f5f5), color-stop(51%, #e2e2e2), color-stop(100%, #e2e2e2));/* Chrome, Safari4+ */
    background: -webkit-linear-gradient(top, #f5f5f5 0, #f5f5f5 50%, #e2e2e2 51%, #e2e2e2 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #f5f5f5 0, #f5f5f5 50%, #e2e2e2 51%, #e2e2e2 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #f5f5f5 0, #f5f5f5 50%, #e2e2e2 51%, #e2e2e2 100%); /* IE 10+ */
    background: linear-gradient(to bottom, #f5f5f5 0, #f5f5f5 50%, #e2e2e2 51%, #e2e2e2 100%);/* W3C */
    border-radius: 3px;
    color: #222 !important;
    font-size: 18px;
    font-weight: bold;
    text-shadow: 0 1px 0 #fff;
    -webkit-box-shadow: inset 0 0 0 1px #ccc, inset 0 0 0 2px #fff, 0 1px 3px rgba(0,0,0,.3);
    -moz-box-shadow: inset 0 0 0 1px #ccc, inset 0 0 0 2px #fff, 0 1px 3px rgba(0,0,0,.3);
    box-shadow: inset 0 0 0 1px #ccc, inset 0 0 0 2px #fff, 0 1px 3px rgba(0,0,0,.3);
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#e2e2e2', GradientType=0 );/* IE6-9 */
}
.ie7 .btn_gray-l,
.ie8 .btn_gray-l { border-bottom: 2px solid #ccc; }
.btn_gray-l .ico { color: #1b63a7; }
.btn_gray-l:hover { color: #222; }


/* コピーライト */
.copyright {
    position: static;
    bottom: 0;
    background: #333;
    max-width: 100%;
    margin-bottom: 0 !important;
    padding: 10px 0;
    text-align: center;
    font-size: 14px;
    color: #fff;
    border: none;
}

@media only screen and (min-width: 768px) and (max-width: 969px) {
    #contents_wrapper {
        width: 90%;
        padding: 0 5%;
    }
    #contents {
        padding: 0 20px;
    }
    .prize{
        width: 100%;
    }
    .prize_item {
        width: 46%;
    }
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {

    .header .header_inner {
        padding: 0;
    }
    .header .header_inner,
    .mv_infoP .inner,
    .inner {
        width: auto;
    }
    .header h1 {
        width: 110px;
    }
    .header h1 a {
        width: 100%;
    }
    .header_inner_btn {
        font-size: 10px;
    }

    #contents_wrapper,
    .prize,
    .cp_btn_18th{
        width: 100%;
    }
    #contents {
        padding: 0 20px;
    }
    .prize_item {
        width: 48%;
        margin: 0 1% 20px;
    }
    .overview {
        padding: 0 20px;
    }
    .overview_table {
        margin: 20px auto 0;
        padding: 0 ;
    }
    .overview_table th {
        display: block;
        width: auto;
        padding: 0;
        text-align: center;
    }
    .cp_agree_flag {
        border: none;
        padding: 0;
    }
    .cp_btn_18th {
        width: 90%;
    }
    .cp_btn_18th input {
        font-size: 14px;
    }
    .cpBody #pagetop_btn {
        right: 40px;
    }
    .selected {
        border: 1px solid #2ecc71 !important;
    }
}


/* ----------------------------------------------------------
    確認画面
------------------------------------------------------------- */

.confBox {
    position: relative;
    margin: 0 auto;
    padding: 0 40px 40px 40px;
    background: #fff;
    box-sizing: border-box;
    /*box-shadow: 0px 0px 10px 0px #dbdbdb;*/
}
.confBox_ttl {
    background: #29517c;
    padding: 10px 0 10px 20px;
    font-size: 18px;
    color: #fff;
    font-weight: bold;
    text-align: left;
}
.confBox_ttl-gray {
    background: #eee;
    color: #333;
}
.confBox_table {
    margin-bottom: 30px;
    padding-left: 20px;
}
.confBox_table tr {
    display: block;
    margin-top: 30px;
}
.confBox_table tr:first-child {
    margin-top: 0;
}
.confBox_table tr th {
    width: 160px;
    padding-right: 15px;
    font-size: 14px;
    text-align: left;
}
.confBox span.cat {
    width: 100px;
}
.noteArea {
    border: none;
    margin: 30px 0;
    line-height: 1.7;
    padding-left: 20px;
}
.button_box {
    display: flex;
    padding: 0px 20% 0;
    margin-bottom: 50px;
    flex-flow: row-reverse;
}
.button_box .cp_btn_18th {
    width: 60%;
    display: block;
    margin-bottom: 0;
    background: #ff8400;
    text-align: center;
    transition: opacity .1s ease-out;
    box-shadow: 0 4px #e57700;
    border-radius: 6px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    border: none;
    padding: 15px;
    box-sizing: border-box;
}
.button_box .cp_btn_18th input {
    cursor: pointer;
    background: none;
    width: 100%;
    margin-bottom: 0;
    padding: 16px;
    border: none;
    font-size: 18px;
    color: #fff;
    line-height: 1.4;
    font-weight: bold;
    text-shadow: 0 -1px 0 #d67227;
}
.button_box .cp_btn_18th:first-child{
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    border: none;
}
.button_box .cp_btn_18th:last-child {
    width: 35%;
    margin-right: 5%;
    background: #bbb;
    box-shadow: 0 4px #a1a1a1;
}
.button_box .cp_btn_18th:last-child input {
    text-shadow: none;
}

.siteBg .noteArea .btn_condition,
.siteBg .condition .btn_condition{
    width: 100%;
    max-width: 320px;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
    .confBox {
        padding: 0 20px 0;
    }
    .confBox_table tr th,
    .confBox_table tr td {
        display: block;
        text-align: left;
    }
    .confBox_table tr th {
        margin-bottom: 10px;
    }
    .confBox td span.cat {
        width: auto;
    }
    .button_box {
        display: block;
        padding: 0;
    }
    .button_box .cp_btn_18th {
        width: 100%;
        margin-bottom: 30px;
    }
    .button_box .cp_btn_18th:last-child {
        width: 100%;
    }
}

/* ----------------------------------------------------------
   mv
------------------------------------------------------------- */

/* mv */
.mv_prize .mv_prize_img {
    position: relative;
    display: block;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    z-index: 1;
}
.mv_prize .mv_prize_img img{
    position: relative;
    z-index: 1;
}
.mv_prize .mv_prize_img::before,.mv_prize .mv_prize_img::after {
    content: "";
    width: 50%;
    height: 150px;
    background: #38baff url('../images/22ndcp/bg_mv.png') repeat right 342px center / 685px 150px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.mv_prize .mv_prize_img::after {
    background: #1187ff url('../images/22ndcp/bg_mv.png') repeat left 342px center / 685px 150px;
    left: auto;
    right: 0;
}
.mv_prize .mv_prize_txt {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #1f5682;
    height: 30px;
    text-align: center;
    font-weight: bold;
    color: #fff;
    font-size: 18px;
    line-height: 1;
}
.siteBg {
    background: #fff;
}
.siteBg .inner {
    position: relative;
    max-width: 970px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 0 35px;
}
.siteBg.mv_prize {
    background-color: #ffffff;
}
.siteBg.mv_prize .inner {
    padding: 0;
}
.siteBg.mv_prize .inner img {
    width: 60%;
}
.siteBg.conf {
    padding: 30px 0 0;
}
.siteBg.do {
    background: none;
    padding-top: 30px;
}
.siteBg.mv_login .inner {
    display: flex;
    flex-wrap: wrap;
    max-width: 870px;
    padding: 60px 0;
}
.siteBg.mv_login .inner_child {
    width: 415px;
    max-width: 48%;
    border: 1px solid #b9b9b9;
    padding: 25px 20px;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1.6;
}
.siteBg.mv_login .inner_child:last-of-type {
    margin-left: auto;
}
.siteBg.mv_login .inner_ttl {
    border-bottom: 1px solid #1b63a7;
    padding-bottom: 10px;
    text-align: center;
    font-weight: bold;
    color: #1b63a7;
    font-size: 18px;
    line-height: 1.3;
}
.siteBg.mv_login .register .inner_ttl {
    border-bottom-color: #f7931e;
    color: #f7931e;
}
.siteBg.mv_login .ssl_wrap {
    width: 100%;
    padding-top: 60px;
}
@media only screen and (min-width: 0) and (max-width: 767px) {
    .siteBg.mv_prize {
        background-size: 21px;
    }
    .siteBg.mv_login .inner {
        display: block;
        width: auto;
        padding: 40px 15px;
    }
    .siteBg.mv_login .inner_child {
        width: auto;
        max-width: none;
        padding: 20px 15px;
    }
    .siteBg.mv_login .inner_child:last-of-type {
        margin: 15px 0 0;
    }
    .siteBg.mv_login .ssl_wrap {
        padding-top: 40px;
    }
}

/* ログイン*/
.siteBg .header .inner {
    background: none;
    padding: 0;
}
.siteBg .header h1 {
    float: none;
}
.siteBg.mv_login .order {
    box-shadow: none;
    background: none;
}
.siteBg.mv_login .order_login {
    border: none;
    padding: 0;
    margin: 30px 0 0;
    text-align: left;
}
.order_login-ttl {
    margin-bottom: 20px;
    padding: 10px;
    font-size: 18px;
    text-align: center;
    color: #fff;
}
.siteBg.mv_login .order_login-ttl {
    margin-bottom: 6px;
    padding: 0;
    font-size: 14px;
    text-align: left;
    color: #000;
    background-color: transparent;
}
.siteBg.mv_login .order_login dd {
    text-align: right;
    font-size: 12px;
    line-height: 1.4;
}
.siteBg.mv_login .order_login dd:not(:last-of-type) {
    margin-bottom: 20px;
}
.siteBg.mv_login .order_login dd > input {
    width: 100%;
    height: 40px;
    margin-bottom: 9px;
    box-sizing: border-box;
}
.siteBg.mv_login .order_btn {
    padding-top: 20px;
}
.siteBg .btn_xinfo_login {
    background: #1b63a7 url("../images/newyear2025/btn_arrow.png") no-repeat right 20px center / 15px;
    width: 100%;
    height: 60px;
    margin: 10px 0 0;
    padding: 0;
    border-radius: 6px;
    box-shadow: 0 4px #16538c;
    border: none;
    color: #fff;
    line-height: 1.2;
}
.siteBg a.btn_xinfo_login {
    display: flex;
    justify-content: center;
    align-items: center;
}
.siteBg .register a.btn_xinfo_login {
    background-color: #f7931e;
    box-shadow: 0 4px #de831b;
}
.register_btn {
    padding-top: 20px;
}
.register_btn_bal {
    background-color: #e60012;
    display: inline-block;
    padding: 6px 10px;
    margin-top: 10px;
    color: #fff;
    font-weight: bold;
    font-size: 12px;
    line-height: 1;
    position: relative;
}
.register_btn_bal::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 7px 6px;
    border-color: transparent transparent #e60012 transparent;
    position: absolute;
    top: -6px;
    left: 0;
    right: 0;
    margin: auto;
}
.register_other {
    margin: 30px 0 0;
    line-height: 2;
}
.condition .btn_xinfo_login {
    width: 50%;
    max-width: 160px;
    height: 50px;
    margin: 30px auto 10px;
}
@media only screen and (min-width: 768px) and (max-width: 969px) {
    .mv_prize .mv_prize_img {
        height: auto;
        padding-left: 20px;
    }
    .mv_prize .mv_prize_img img {
        max-width: 100%;
    }
    .siteBg.mv_login .inner {
        box-sizing: border-box;
        padding: 60px 15px;
    }
}
@media only screen and (min-width: 0) and (max-width: 767px) {
    .mv_prize .mv_prize_img {
        height: auto;
    }
    .mv_prize .mv_prize_img img {
        max-width: 100%;
    }
    .siteBg.conf .inner {
        height: auto;
    }
    .siteBg.conf .inner {
        height: 100%;
    }
    .siteBg.do {
        height: auto;
    }
    .siteBg.mv_login .inner {
        height:100%;
    }
    #footer {
        padding: 10px 0;
        box-sizing: border-box;
    }
    .copyright {
        width: 100%;
    }
    .mv_prize .mv_prize_img::before,.mv_prize .mv_prize_img::after {
        height: 100%;
        background: #38baff url('../images/22ndcp/bg_mv_s.pn') repeat right 342px center / auto 100%;
    }
    .mv_prize .mv_prize_img::after {
        background: #1187ff url('../images/22ndcp/bg_mv_s.pn') repeat left 342px center / auto 100%;
    }
    .siteBg .btn_xinfo_login {
        background-position: right 10px center;
        background-size: 12px;
        height: 52px;
        font-size: 16px;
    }
}

/* ----------------------------------------------------------
    確認画面　条件外
------------------------------------------------------------- */

.conditionWrap {
    position: relative;
    height: 100%;
}
.conditionWrap_inner {
    text-align: center;
    width: 100%;
}
.do .conditionWrap_inner {
    position: static;
    max-width: 100%;
    transform: none;
}

.conf_note,
.condition p {
    padding: 0;
    margin-bottom: 1em;
    text-align: center;
}
.conf_note {
    font-size: 20px;
    font-weight: bold;
    color: #1b63a7;
}

.condition p {
    font-size: 12px;
    font-weight: normal;
}
.condition {
    border: 1px solid #ccc;
    padding: 20px;
}

@media only screen and (min-width: 0) and (max-width: 767px) {
    .conf_note {
        font-size: 18px;
    }
}
