/* CSS Remedy */
*,::after,::before{box-sizing:border-box}html{line-sizing:normal}body{margin:0}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.17rem}h4{font-size:1rem}h5{font-size:.83rem}h6{font-size:.67rem}h1{margin:.67em 0}pre{white-space:pre-wrap}hr{border-style:solid;border-width:1px 0 0;color:inherit;height:0;overflow:visible}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle;max-width:100%}canvas,img,svg,video{height:auto}audio{width:100%}img{border-style:none}svg{overflow:hidden}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}
h1,h2,h3,h4,p {margin:0;}
img {width:100%;height:auto;}
a {color: #2a55ff;}
a:visited, a:active {color:#2a55ff;}

body {
    font-family: 'Noto Sans JP', sans-serif, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    background-color: #000000;
}

.wrapper {
    display: flex;
    position: relative;
}

.main-container {
    width: 100%;
    min-height: 100vh;
    max-width: 480px;
    background: url(/images/app_form/aumon10th-3/bg.png) no-repeat #081a29 top center;
    background-size: 100% auto;
    margin: 0 auto;
    color: #ffffff;
}

.main-block {
    margin: 5%;
    padding: 5%;
    border: 1px solid #ffffff;
    box-shadow: 0 0 10px #ffffff66, 0 0 10px #ffffff66 inset;
    border-radius: 5px;
    font-size: 13px;
}
.catch {
    width: 80%;
    margin: 5% auto 10%;
}
.head-text {
    color: #f7d065;
}
.regular {
    margin-bottom: 0.7em;
}
.notice-block {
    margin: 10%;
    font-size: 12px;
}
a.back-button, a:active.back-button, a:visited.back-button {
    display: block;
    width: 60%;
    margin: 10% auto;
    padding: 1% 0;
    border: 1px solid #ffffff;
    font-size: 18px;
    color: #ffffff;
    text-align: center;
    border-radius: 30px;
    text-decoration: none;
}
.block-title {
    font-size: 16px;
    text-align: center;
}
.block-title-confirm {
    margin: 3% 0 8%;
}

.forward-button {
    background: transparent;
    border: none;
}
.button-explain {
    padding: 6% 0 0;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
}
.coupon-code-block {
    padding: 10px 0;
    background-color: #ffffff;
    color: #000000;
    text-align: center;
    border-radius: 5px;
}
.coupon-code-title {
    font-size: 18px;
    border-bottom: 1px solid #000000;
    padding: 3% 0 5%;
    font-weight: 700;
}
.barcode_coupon {
    margin: auto;
}
.coupon-date {
    background-color: #eb0f0f;
    color: #ffffff;
    font-weight: 700;
    border-radius: 5px;
    font-size: 14px;
    margin: 5% 20px 3%;
    padding: 8px;
}
.thankyou {
    width: 80%;
    margin: 5% auto 8%;
}

.list-table {
    margin: 5% 0;
    font-size: 14px;
}
.list-table td {
    vertical-align: top;
    padding-bottom: 3%;
}

footer {
    font-size: 11px;
    text-align: center;
    color: #ffffff;
    padding: 20px 0;
}

/* 500円ブロック */
.new500-wrap {
    background-color: #00C710;
    border-radius: 5px;
    margin: 15px 5% 0;
    padding: 15px 0;
}
.new500-title-head-2 {
    position: relative;
    width: 84%;
    min-width: 290px;
    height: 38px;
    line-height: 37px;
    text-align: center;
    border-radius: 5px;
    margin: -35px auto 10px;
    font-size: 18px;
    font-weight: 700;
    color: #000000;
    background-color: #efd41a;
}
.new500-title-head-sub img {
    position: absolute;
    width: 35px;
    top: -54px;
    left: 0;
    right: 0;
    margin: auto;
}
.new500-title-head-sub span {
    position: absolute;
    display: inline-block;
    width: 4em;
    top: -32px;
    left: 0;
    right: 0;
    margin: auto;
    color: #ffffff;
    font-size: 16px;
}
.new500-title-head-sub span::before, .new500-title-head-sub span::after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 1px;
    height: 18px;
    background-color: #333;
}
.new500-title-head-sub span::before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: -0.8em;
}
.new500-title-head-sub span::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    right: -0.8em;
}
.new500-title {
    width: 84%;
    margin: 10px auto 8px;
}
.new500-notice-title {
    width: 84%;
    height: 19px;
    margin: 15px auto 10px;
    line-height: 18px;
    font-size: 12px;
    font-weight: 700;
    background-color: #000;
    border-radius: 10px;
    color: #fff;
    text-align: center;
}
.new500-notice {
    width: 84%;
    font-size: 13px;
    line-height: 20px;
    margin: 0 auto;
    color: #000;
}
.new500-notice td {
    vertical-align: top;
}
.new500-notice-index {
    width: 1.3em;
}
.new500-notice li {
    text-indent: -1em;
    padding-left: 1em;
}
a.new500-button {
    position: relative;
    display: block;
    width: 270px;
    height: 74px;
    line-height: 74px;
    margin: 15px auto;
    background: linear-gradient(0deg, #C6C6C6, #fff);
    border-radius: 10px;
    color: #008B0B;
    font-size: 19px;
    font-weight: 700;
    text-align: center;
    box-shadow: #008b0b 0px 3px;
}
.new500-button::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto 0;
    display: block;
    border-top: 2px solid #008b0b;
    border-right: 2px solid #008b0b;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.new500-under-notice {
    position: relative;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    margin: 10px 0;
}
.new500-button-baloon {
    position: relative;
    width: 270px;
    height: 32px;
    line-height: 32px;
    margin: 10px auto 20px;
    font-size: 16px;
    color: #000;
    text-align: center;
    background-color: #efd41a;
    border-radius: 16px;
    font-weight: 700;
}

.scrollLocked {
    touch-action: none;
    -webkit-overflow-scrolling: none;
    overflow: hidden;
 }
.modal .inner {
    margin: auto;
    width: 85%;
    max-width: 510px;
    background: #fff;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 15px 0 10px;
    text-align: center;
    line-height: 1.8;
}
.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    box-sizing: border-box;
    padding: 0px 25px;
    z-index: 10;
    color: #333;
    visibility: hidden;
}
.popup .inner {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-52%);
            transform: translate(-50%,-52%);
    display: block;
    width: 85%;
    background: #fff;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 15px 0 10px;
    text-align: center;
    line-height: 1.8;
}
.popup>.inner>a {
    display: block;
    text-align: center;
}
.popup>.inner>dl {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
.popup>.inner>dl>dt {
    position: relative;
    display: block;
    margin: 0 15px;
    line-height: 1.5;
    text-align: left;
    font-size: 10px;
}
.popup>.inner>dl>dd.btns {
    display: block;
    width: 100%;
    font-size: 0.8rem;
    margin-left: 0;
}
a.btn-get {
    display: block;
    text-decoration: none;
    border-radius: 10px;
    background-color: #E6002D;
    box-shadow: #9a001e 0px 3px;
    padding: 12px 0;
    margin: 0 15px 5px;
    color: #FFFFFF;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
}
.no_member a.btn-get, .smapass a.btn-get {
    background-color: #00C710;
    box-shadow: #008b0b 0px 3px;
}
.no_member a.btn-get-red, .smapass a.btn-get-red {
    background-color: #E6002D;
    box-shadow: #9a001e 0px 3px;
}
.popup-button-text-small {
    font-size: 11px;
    font-weight: 400;
    line-height: 1.8;
}
.popup-button-text-smallbold {
    font-weight: 700;
}
.popup .btn-close {
    font-size: 16px;
    text-decoration: none;
    line-height: 1.6;
    border-top: 1px solid #F0F2F2;
    padding-top: 10px;
    color: #1183FF;
    font-weight: bold;
    margin-top: 15px;
    display: block;
    text-align: center;
}
.popup .btn-close span {
    display: block;
    font-size: 10px;
    font-weight: normal;
}

/* モーダルウィンドウ・ポップアップ（modal.js用） */
.modal {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    box-sizing: border-box;
    padding: 0px 25px;
    z-index: 500;
    /* color: #333; */
    overflow: auto;
    transition: opacity 300ms;/* モーダルのフェードアウト時間を変更する場合はjsの修正も必要です */
}
.fadeout{
    opacity: 0;
}
.fadein{
    opacity: 1;
}

/* 500円モーダル チェックボックス */
.check500-block {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 0 2px;
    font-size: 13px;
    font-weight: bold;
}
.check500-block input[type=checkbox] {
    display: none;
}
.check500 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 5px 5px 30px;
    position: relative;
    width: auto;
}
.check500::before {
    background: #fff;
    border: 1px solid #231815;
    border-radius: 2px;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}
.check500::after {
    border-right: 3px solid #00c710;
    border-bottom: 3px solid #00c710;
    content: '';
    display: block;
    height: 9px;
    left: 10px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 5px;
}
.check500-block input[type=checkbox]:checked + .check500-label .check500::after {
    opacity: 1;
}
a.new500-button-off {
    /* pointer-events: none!important; */
    background-color: #acacac!important;
    box-shadow: #888 0px 3px!important;
}
.check500-label {
    position: relative;
}
.check500-alert::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -2%;
    right: 0;
    margin: auto;
    width: 102%;
    height: 100%;
    pointer-events: none;
    border: 2px solid #f00;
    border-radius: 5px;
    animation: pop 200ms linear;
    animation-fill-mode: forwards;
}
@keyframes pop {
    0% {
        transform: scale(1);
        animation-timing-function: cubic-bezier(0.11, 0.43, 0.65, 0.95);
    }
    30% {
        transform: scale(1.1);
        animation-timing-function: cubic-bezier(0.42, 0.12, 0.88, 0.58);
    }
    100% {
        transform: scale(1);
    }
}