.storebtnul{
display: flex;
margin: 0 auto !important;
padding: 0 !important;
}

.instagramicon{
margin: 0 auto !important;
padding: 0 !important;
}

.storebtn{
width: 45%;
}

.storebtn a{
width: 100%;
}

.storebtn a img{
width: 100%;
}
.midasi {
      color: #fff;
    background-color: #333;
    font-size: 18px;
    width: fit-content;
    padding: 10px;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 50px;
    display: block;
    margin: 0 auto;
}

.tokuten{
display: flex;
margin-bottom: 10px;
}

.posilver{
background-color: #A0A5AA;
width: 100px;
padding: 5px;
margin-right: 15px;
margin-bottom: 10px;
color: #fff;
text-align: center;
}

.pogold{
background-color: #DAAF08;
width: 100px;
padding: 5px;
margin-bottom: 10px;
color: #fff;
text-align: center;
}

.poplati{
    border: 1px solid #B2B2B2;
width: 100px;
padding: 5px;
    color: #323232;
color: #000;
text-align: center;
margin-bottom: 10px;
}

.podia{
background-color: #000;
width: 100px;
padding: 5px;
color: #fff;
text-align: center;
margin-bottom: 10px;
}

section{
margin: 200px auto 0;
font-family: 'Lucida Sans', sans-serif;
padding: 35px 15px 125px 15px;
width: 70%;
max-width: 800px;
}

.bold{
font-weight: bold;
}

.normal{
font-weight: normal;
}

.program{
font-size: 18px;
text-align: center;
}

.memberstatus{
font-size: 16px;
    font-weight: bold;
text-align: center;
    width: 100%;
    margin-top: 60px;
    margin-bottom: 60px;
    line-height: 1.875;
}

.membertitle{
font-size: 30px;
    font-weight: bold;
text-align: center;
}

.info-tab-list .common-tab-number {
    font-size: 20px;
    left: 10px;
}
/*input要素は非表示*/

.tabinput {
  display: none;
}

/*タブエリアの設定*/
.tab_area {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  width: 100%;
    max-width: 840px;
  margin: 0 auto;
}

/*タブボタン部分*/
label {
  display: block;
  padding: 1em 1em;
  margin-right: 2px;
      border: 1px solid #B2B2B2;
  float: left;
  cursor: pointer;
  order: -1;
  width: 32%;
  text-align: center;
  position:relative;
    display: flow-root;

    transition-duration: 0.5s;
}

.left {
  font-size: 16px;
    float: left;
}
.right {
  font-size: 14px;
    float: center;
    font-weight: bold;
}
label:hover{

      color: #fff;
    background-color: #333;
    transition-duration: 0.5s;
}
/*コンテンツ部分*/
.membercontent {
  width: 100%;
}

/*フェイドインアニメーションのために透明度を０に*/
.memberinner {
  width: 100%;
  margin-top: 88px;
}



/*コンテンツをフェイドインするアニメーション*/
.tabinput:checked + .btn_tab + .membercontent .memberinner {
  animation: fadeIn 1.5s forwards;
}

@keyframes fadeIn {
  0% { opacity: 0;}
  100% { opacity: 1;}
}

/*ここから1-メンバーシップ概要*/
.memberannounce{
margin-bottom: 62px;
    background-color: #4C4948;
    color: #fff;
    text-align: center;
    padding: 30px;
}

.memberannounce h3{
  font-size: 18px;
  line-height: 1.667;
  font-weight: bold;
  line-height: 1.875;
  margin-bottom: 20px;
}

.modification{
    font-size: inherit;
    line-height: 1.3;
    letter-spacing: 0.05em;
}

.announcearea{
  max-width: 800px;
  width: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto;
  gap: 64px;
  margin-top: 36px;
  position: relative;
    grid-template-columns: repeat(2, 1fr);
}

.black::after {
    content: '';
    display: block;
    width: 15px;
    height: 15px;
    clip-path: polygon(10px 50%, 0% 0%, 0% 15px);
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.point{
padding: 15px 12px 16px;
    text-align: center;
    border: 1px solid #fff;
}

.pointday1{
  width: fit-content;
  font-weight: bold;
  display: block;
  margin: 0 auto 14px;
border-bottom: 1px #fff solid;
line-height: 2;
}

.pointday2{
  width: fit-content;
  font-weight: bold;
  display: block;
  margin: 0 auto 14px;
border-bottom: 1px #4C4948 solid;
line-height: 2;
}

.white{
    background-color: #fff;
    color: #4C4948;
}

.pointno{
    font-size: 16px;
    font-weight: bold;
}

.percent{
    font-size: 20px;
    font-weight: bold;
}

.horizontal{
display: none;
}

.pointtable{
    width: 100% !important;
    max-width: 1500px !important;
      table-layout: fixed;
}

.pointtable th{
  text-align: center;
  padding: 30px 0px 29px 0px;
  font-size: 16px;
  background-color: #F0F0F0;
  border: 1px solid #B2B2B2;
}

.pointtable td{
  text-align: center;
  padding: 30px 14px 29px 14px;
  background-color: #fff !important;
  border: 1px solid #B2B2B2;
  font-size: 15px;
  letter-spacing: 0.02em;
}

.enbold{
font-size: 20px;
font-weight: bold;
}

.subtext{
font-size:12px;
}

.memberrank{
min-width: 138px;
}

.memberrank p{
padding: 8px 10px;
font-size: 18px;
font-weight: bold;
  letter-spacing: 0.02em;
}

.ranksilver{
background-color: #A0A5AA;
color: #fff;
}

.rankgold{
background-color: #DAAF08;
color: #fff;
}

.rankplatinum{
    border: 1px solid #B2B2B2;
    color: #323232;
color: #000;
}

.rankblack{
background-color: #000;
color: #fff;
}

.pointrule{
  margin-top: 45px;
      margin-bottom: 20px;
      padding-bottom: 5px;
    position: relative;
    padding-left:30px;
    font-size: 18px;
}

.tax{
font-size: 16px;
font-weight: normal;
}

.pointrule:before {
  background: #000;
  content: "";
  height: 15px;/*四角のサイズ*/
  width: 15px;/*四角のサイズ*/
  left: 0;
  position: absolute;
  top: 7px;
}

.pointrank{
font-weight: bold;
font-size: 14px;
margin-top: 35px;
}

.pointranklow{
font-weight: bold;
font-size: 14px;
margin-top: 20px;
}

.pointservice{
  margin-top: 5px;
  margin-bottom: 15px;
list-style: inside;
}

.pointservice li{
font-size: 14px;}

.pointruleli{
  margin-top: 20px;
list-style: inside;
}

.pointruleli li{
font-size: 14px;}

.pointruletext{
font-size: 14px;
}

.cautionary{
  margin-top: 10px;
font-size: 12px;
    line-height: 1.75;
    letter-spacing: 0.02em;
}

.memberentry{
margin: 65px auto;
display: flex;
width: 300px;
height: 49px;
border: 1px solid #808080;
border: 1px solid #808080;
text-align: center;
color: #333 !important;
font-size: 16px;
font-weight: bold;
align-items: center;
justify-content: center;
    transition-duration: 0.5s;

}

.memberentry:hover{
background-color: #d5d5d5;
border: 1px solid #333;
color: #333 !important;
text-decoration: none;
}

.icon-windows:before {
    content: "\ea0c";
}

/*ここまで1-メンバーシップ概要*/

/*ここから2-よくあるご質問*/
.qacontent{
padding-top: 35px;
border-top: 1px solid #B2B2B2;
padding-bottom: 20px;
}

.qaend{
padding-bottom: 20px;
border-bottom: 1px solid #B2B2B2;
}

.qacontent h4{
font-size: 18px;
font-weight: bold;
padding-left: 70px;
    position: relative;}

.qacontent h4::before{
    content: "";
    width: 30px;
    height: 30px;
    position: absolute;
    background-size: 100%;
    top: 0;
    left: 0;
    background-image: url(../images/Q_batch.svg);
}

.answer{
font-size: 14px;
padding-left: 70px;
margin-top: 30px;
    position: relative;
}

.answer::before{
content: "";
    width: 30px;
    height: 30px;
    position: absolute;
    background-size: 100%;
    top: 0;
    left: 0;
    background-image: url(../images/A_batch.svg);
}

/*ここまで2-よくあるご質問*/

/*ここから3-会員規約*/
.tab3title{
text-align: center;
font-size: 16px;
font-weight: bold;
margin-bottom: 50px;}

.ruletitle{
font-size: 16px;
font-weight: bold;
margin-top: 20px;}

.ruletext{
font-size: 14px;
margin-top: 10px;
line-height: 1.857;}

.rulelist {
  padding: 0;
  counter-reset:cp_clist; /*数字をリセット*/
  list-style-type: none;
}
.rulelist li {
  position: relative;
  margin: 0 0 0 15px;
}
.rulelist li::before {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  /* カウントさせる */
  counter-increment: cp_clist;
  content: counter(cp_clist);
  /*装飾*/
      border: 1px solid #000;
  color: #000;
  font-size: 8px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  /*位置の調整*/
  margin-left: -15px;
  margin-top: 3px;
}

.rulecontact{
    background-color: #212121;
    color: #fff;
    letter-spacing: 0.2em;
    padding: 35px 25px;
  text-align: center;
  margin-top: 17px;
  }

.call{
  font-size: 24px;
  font-weight: bold;
}

.calltime{
  font-size: 16px;
  font-weight: bold;
  margin-top: 10px;
  letter-spacing: 0.02em;
}

.callnote{
  font-size: 12px;
    line-height: 1.75;
    letter-spacing: 0.02em;
    margin-top: 5px;
}
/*ここまで3-会員規約*/








/*レスポンシブ*/
@media screen and (max-width:800px) {
section{
width: 100%;
}
.horizontal{
display: flex;
flex-direction: row;
align-items: center;
margin-bottom: 5px;
}

.horizontal p{
margin-left: 5px;
font-size: 12px;
}
  
  section{
  margin-top: 15px;
  }
.tab_area {
  flex-direction: column;
}
label{
width: 100%;
    margin-bottom: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 15px;
}
.memberstatus{
text-align: left;
    margin-top: 20px;
    margin-bottom: 20px;
}

.announcearea{
    grid-template-columns: auto;
}

.black::after{
clip-path: polygon(50% 55%, 0 0, 100% 0);
}

.pointtabletab{

overflow: auto;
    width: calc(100vw - 15px);}

.pointtable{
    width: 772px !important;
    overflow: hidden;
    table-layout: fixed;}

.pointrule{
font-size: 16px;
}

.pointtable th{
font-size: 14px;
}

.qacontent h4{
    padding-left: 40px;
}

.qacontent{
padding-bottom:35px;
}

.answer{
    padding-left: 40px;
}

.call{
font-size: 22px;
}

.calltime{
font-size: 14px;
}

.memberannounce h3{
font-size: 16px;
}

.memberinner{
margin-top: 50px;
}

}