/* 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: #0000ff;text-decoration: underline;}
a:visited, a:active {color:#0000ff;text-decoration: underline;}
a.link-bold {font-weight:700;}

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

.wrap-width {
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
}

.kv-block {
    margin: 0;
    padding-bottom: 3%;
    background-color: #0167ba;
}
.kv-button-block {
    display: flex;
    justify-content: space-between;
    width: 88%;
    margin: -34% auto 0;
}
.kv-button-block a {
    display: block;
    width: 48%;
}

.ftl-block {
    border-radius: 10px;
    border: 5px solid #fb7d00;
    background-color: #f5f2e9;
    margin: 40px 15px;
    box-shadow: 2px 2px 3px #00000033;
}
.ftl-title {
    width: 70%;
    background-color: #fb7d00;
    margin: -6% auto 0;
    border-radius: 50px;
    padding: 2% 6%;
}
.inner-white-block {
    position: relative;
    margin: 8% 15px 5%;
    padding: 11% 15px 5%;
    background-color: #ffffff;
    border-radius: 5px;
    box-shadow: 2px 2px 3px #00000033;
}
.ftl-main {
    width: 90%;
    margin: auto;
}
.tempo-label {
    position: absolute;
    left: -2%;
    top: -6%;
    width: 27%;
}
.hmv-label {
    position: absolute;
    right: 3%;
    top: -3%;
    width: 40%;
}
.text-over-button {
    font-size: 13px;
    text-align: center;
    margin: 10px 0 5px;
}
.text-under-button {
    font-size: 11px;
    text-align: center;
    margin: 5px 0 20px;
}
.sub-text-1 {
    font-size: 12px;
}
.mataha {
    width: 20%;
    margin: 0 auto -3%;
}
.online-label {
    position: absolute;
    left: -2%;
    top: -6%;
    width: 27%;
}
.hmvbooks-label {
    position: absolute;
    right: 3%;
    top: -3%;
    width: 15%;
}
.notice-block {
    margin: 15px;
    line-height: 1.7;
}
.notice-ftl-title {
    background-color: #fb7d00;
    width: 30%;
    border-radius: 0 30px 30px 0;
}
.notice-goriyou {
    padding: 2% 4%;
}
.notice-chuui {
    padding: 2% 8% 2% 3%;
}
.notice-text-block {
    margin-bottom: 1em;
}

.notice-medium {
    font-size: 14px;
    font-weight: 700;
}
.notice-small {
    font-size: 11px;
}
.text-bold {
    font-weight: 700;
}
.text-attention {
    color: #ff0000;
    font-weight: 700;
}

.member-block {
    border-radius: 10px;
    border: 5px solid #50affe;
    background-color: #f5f2e9;
    margin: 60px 15px 0;
    box-shadow: 2px 2px 3px #00000033;
}
.member-title {
    width: 60%;
    background-color: #01579e;
    margin: -8.5% auto 0;
    border-radius: 50px;
    padding: 2% 9%;
}
.member-main {
    width: 80%;
    margin: 0 auto 5%;
}
.notice-member-title {
    background-color: #01579e;
    width: 30%;
    border-radius: 0 30px 30px 0;
}

.detail-wrap {
    position: relative;
    z-index: 1;
    margin-top: 3%;
}
.ponta-block {
    border-radius: 10px;
    border: 5px solid #f5f2e9;
    background-color: #ffffff;
    margin: 0 15px;
    padding-bottom: 2%;
}
.ponta-title {
    width: 70%;
    background-color: #f5f2e9;
    margin: -7% auto 0;
    border-radius: 50px;
    padding: 2% 6%;
}
.ponta-lead {
    width: 80%;
    margin: 4% auto;
}
.ponta-button-block {
    width: 80%;
    margin: 2% auto;
}

/* Pontaパスブロック */
.pontapass-wrap {
    margin-top: 40px;
}
.pontapass-block {
    margin: 4% 1% 0;
    background-color: #fff;
    border-radius: 4px;
    color: #000000;
}
.pontapass-image-block {
    padding: 5px;
}
.pontapass-catch {
    font-size: 20px;
}
.pontapass-items {
    margin-top: 20px;
}
.pontapass-item {
    margin-bottom: 15px;
}
.pontapass-note {
    margin-top: 20px;
    padding: 0 20px 20px;
    font-size: 12px;
    line-height: 1.5;
}
.pontapass-note p {
    padding-bottom: 10px;
}
.notice-block {
    margin-top: 15px;
    font-size: 11px;
}
.notice-head-text {
    font-size: 12px;
    font-weight: 700;
}
.notice-block a {
    color: #ffffff;
    text-decoration: none;
}

.sub-wrap {
    margin: 7% 5%;
    padding: 5% 5% 0;
    border: 1px solid #efefef;
}
.sub-title {
    position: relative;
    margin-bottom: 6%;
    font-size: 14px;
    font-weight: 700;
}
.sub-text-block {
    margin-bottom: 6%;
    padding: 5%;
    font-size: 11px;
    background-color: #eeeeee;
    border-radius: 5px;
    line-height: 1.7;
}
.sub-text {
    padding-bottom: 1.2em;
}
.text-label {
    font-size: 14px;
}
.text-content {
    font-size: 12px;
}

footer {
    margin: 10% auto;
}
.copyright {
    font-size: 11px;
    text-align: center;
    line-height: 1.7;
}

.attention-index {
    position: absolute;
    right: 20px;
    width: 20px;
    top: 0px;
    display: inline-block;
    margin-left: 0.6em;
    margin-top: auto;
    margin-bottom: auto;
    bottom: 0;
}
.attention-index::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 12px;
    right: 0;
    margin: auto;
    background-color: #999999;
    width: 12px;
    height: 2px;
}
.attention-index::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15px;
	right: 0;
	margin: auto;
	background-color: #999999;
	width: 2px;
	height: 12px;
	-webkit-transition: height 100ms linear;
	transition: height 100ms linear;
}
.accordion-active .attention-index::after {
	height: 0;
}

a.link-sub {
    display: block;
    margin: 7px 0 10px;
    color: #666666;
    font-size: 12px;
    text-align: center;
    text-decoration: underline;
}
a.link-sub:visited, a.link-sub:active {
    color: #666666;
}
.pontapass-button {
    display: block;
    width: 70%;
    margin: 0 auto 30px;
}

/* モーダル */
.scrollLocked {
    touch-action: none;
    -webkit-overflow-scrolling: none;
    overflow: hidden;
}
.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;
    z-index: 999;
    overflow: auto;
    transition: opacity 300ms;/* モーダルのフェードアウト時間を変更する場合はjsの修正も必要です */
}
.fadeout{
    opacity: 0;
}
.fadein{
    opacity: 1;
}
.modal .inner {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -52%);
    transform: translate(-50%, -52%);
    display: block;
    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;
}
.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: 12px;
    width: 6px;
    left: 10px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
}
.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;
    box-sizing: content-box;
}
.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);
    }
}
.popup>.inner>dl>dd.btns {
    display: block;
    width: 100%;
    margin: 0;
    font-size: 0.8rem;
}
a.btn-get {
  display: block;
  text-decoration: none;
  border-radius: 10px;
  background-color: #fb7d02;
  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;
}