@charset "UTF-8";
/* --- font --- */
@font-face {
  font-family: 'NotoSansJP';
  font-style: normal;
  font-weight: 400;
  src: local('Noto Sans CJK JP'), local('NotoSansJP-Regular'), local('NotoSansJP-Regular'), url('/font/NotoSansJP-Regular.woff2') format('woff2'), url('/font/NotoSansJP-Regular.woff') format('woff');
}
@font-face {
  font-family: 'NotoSansJP';
  font-style: normal;
  font-weight: 700;
  src: local('NotoSansJP-Bold'), local('NotoSansJP-Bold'), url('/font/NotoSansJP-Bold.woff2') format('woff2'), url('/font/NotoSansJP-Bold.woff') format('woff');
}
@font-face {
  font-family: 'NotoSansJP-Black';
  font-style: normal;
  font-weight: 900;
  src: local('NotoSansJP-Black'), local('NotoSansJP-Black'), url('/font/NotoSansJP-Black.woff2') format('woff2'), url('/font/NotoSansJP-Black.woff') format('woff');
}
@font-face {
  font-family: 'DINAlternate';
  font-style: normal;
  font-weight: 700;
  src: local('DINAlternate-Bold'), local('DINAlternate-Bold'), url('/font/DINAlternate-Bold.woff2') format('woff2'), url('/font/DINAlternate-Bold.woff') format('woff');
}
.fDIM {
  font-family: 'DINAlternate', 'NotoSansJP', 'Noto Sans', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
.nsjp {
  font-family: 'NotoSansJP', 'DINAlternate', 'Noto Sans', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}

body #mbspTop {
  font-family: 'NotoSansJP', 'DINAlternate', 'Noto Sans', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
  line-height: 1.6;
  /*  overflow: hidden; */
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  text-align: left;
}
#mbspTop a:link {
  text-decoration: none;
}
#mbspTop a:visited {
  text-decoration: none;
}
#mbspTop a:hover {
  text-decoration: none;
  opacity: 0.6;
  transition: 0.25s ease-in-out;
}
#mbspTop a:active {
  text-decoration: none;
}

/* --- topだけパンクズを表示しない場合 --- */
#mbsBreadcrumbNav {
  display: none;
}

/* --- キービジュアル --- */
.kvWrap {
  width: 100%;
  height: 617px;
  background-color: #fdf8ed;
  margin: 0 0 80px 0;
  padding: 0;
  position: relative;
  /*background:#FDF8ED url("/membership/top/_img_bg/_top_KV_sample2.png") no-repeat center center;*/
}
.kvWrap .logoPC {
  position: absolute;
  width: 560px;
  top: 233px;
  left: 50%;
  margin-left: -280px;
}
.kvWrap .ttl01 {
  font-size: 37px;
  font-weight: 900;
  font-family: 'NotoSansJP-Black', sans-serif;
  text-align: center;
  position: absolute;
  width: 100%;
  top: 325px;
  display: none;
}
.kvParts {
  position: relative;
  width: 1221px;
  height: 617px;
  margin: 0 auto;
}
.kvParts .abso {
  position: absolute;
  opacity: 0;
}
.kvParts .logoSP,
.kvParts .parts3sp,
.kvParts .parts8sp {
  display: none;
}
.kvParts .parts1 {
  top: 47px;
  left: 193px;
  width: 213px;
}
.kvParts .parts2 {
  top: 50px;
  left: 670px;
  width: 70px;
}
.kvParts .parts3pc {
  top: 42px;
  left: 935px;
  width: 287px;
}
.kvParts .parts4 {
  top: 339px;
  right: 10px;
  width: 89px;
}
.kvParts .parts5 {
  bottom: 1px;
  right: 175px;
  width: 230px;
}
.kvParts .parts6 {
  bottom: 1px;
  right: 385px;
  width: 125px;
}
.kvParts .parts7 {
  bottom: 21px;
  left: 480px;
  width: 119px;
}
.kvParts .parts8pc {
  bottom: 10px;
  left: 15px;
  width: 300px;
}
.kvParts .parts9 {
  top: 185px;
  left: 1px;
  width: 97px;
}

/* --- フェードインアニメ用 --- */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- 本編 --- */
.explanation01 {
  width: 1000px;
  margin: 0 auto 120px auto;
}

.explanation01 a.aBtn01 {
  display: block;
  width: 536px;
  margin: 0 auto 120px auto;
  border-radius: 10px;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  border-left: 19px solid #000;
  background: url('/membership/top/_img_bg/arrow-r.svg') no-repeat;
  background-position: right 23px center;
  background-size: 10px 18px;
  padding: 32px 0;
  color: #000;
}
.explanation01 .aBtn01 .tx01 {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
}
.explanation01 .aBtn01 .ttl02 {
  text-align: center;
  font-size: 16px;
  font-weight: 400;
}

.explanation01 .ttlTpoint {
  text-align: center;
  margin-bottom: 48px;
  line-height: 1;
}
.explanation01 .ttlTpoint img {
  width: 495px;
  margin-bottom: 12px;
}
.explanation01 .ttlTpoint .tx {
  display: block;
  font-size: 32px;
  font-weight: 700;
}

.explanation01 .tx02 {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  margin: 0 0 60px 0;
}
.explanation01 .spgtBnr {
  width: 800px;
  margin: 0 auto 60px;
}
.explanation01 .spgtBnr img {
  width: 100%;
}
.explanation01 .ttlMov {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 40px 0;
}
.explanation01 .mov01 {
  width: 800px;
  height: 450px;
  margin: 0 auto 120px auto;
  background: #ccc;
  position: relative;
}
.mov01 iframe {
  width: 100%;
  height: 100%;
}
/*
            .explanation01 .mov01 s{
                width:400px;
                text-align:center;
                position:absolute;
                top:80px;
                left:50%;
                font-size:100px;
                font-weight:bold;
                margin-left:-200px;
                color:#ff0;
                opacity:0.7;
                text-shadow:
                    -5px 0 10px rgba(000,000,000,1),
                    10px 10px 10px rgba(000,000,000,1);
                transform: rotate(-15deg);
            }
*/
.explanation01 .ttlEach {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 40px 0;
}

.explanation01 .toEachPage {
  width: 1000px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  box-sizing: border-box;
  padding: 0;
  margin: 0 0 80px 0;
}
.toEachPage .btnBox {
  display: block;
  width: 480px;
  height: 223px;
  margin: 0 0 40px 0;
  border-radius: 10px;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  border-left: 19px solid #000;
  background: url('/membership/top/_img_bg/arrow-r.svg') no-repeat;
  background-position: right 23px center;
  background-size: 10px 18px;
  color: #000;
  box-sizing: border-box;
}
.toEachPage .btnBox .ttl03 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 16px;
  padding-left: 175px;
}
.toEachPage .btnBox .tx03 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  padding-left: 175px;
}
.toEachPage .tokuten {
  padding-top: 50px;
  background: url('/membership/top/_img_bg/tokuten.svg') no-repeat;
  background-size: 150px 122px;
  background-position: top 50px left 10px;
}
.toEachPage .rank {
  padding-top: 50px;
  background: url('/membership/top/_img_bg/rank.svg') no-repeat;
  background-size: 117px 135px;
  background-position: top 50px left 30px;
}
.toEachPage .mente {
  padding-top: 34px;
  background: url('/membership/top/_img_bg/top-menu-mo.svg') no-repeat;
  background-size: 150px 101px;
  background-position: top 61px left 0;
}
.toEachPage .appli {
  padding-top: 54px;
  background: url('/membership/top/_img_bg/top-menu-app.svg') no-repeat;
  background-size: 135px 133px;
  background-position: top 45px left 22px;
}

/* --- 入会について --- */
.aboutMbsp {
  width: 100%;
  background-color: #f6f6f6;
  padding: 120px 0;
  margin: 0 0 120px 0;
}
.aboutMbsp .ttl02b {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 40px 0;
}
.aboutMbsp .innerBox {
  width: 1000px;
  box-sizing: border-box;
  background-color: #fff;
  padding: 55px 78px 80px;
  margin: 0 auto;
}
.innerBox .ttl03b {
  font-size: 32px;
  font-weight: 700;
  color: #ff6e00;
  border-bottom: 5px solid #ff6e00;
  margin: 0 0 24px 0;
}
.innerBox .tx04 {
  font-size: 16px;
  font-weight: 400;
  margin: 0 0 1em 0;
}
.innerBox .link01 a {
  display: inline-block;
  color: #000;
  font-size: 16px;
  border-bottom: 1px solid #333;
  margin-bottom: 2.5em;
}
.innerBox .how2join {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  box-sizing: border-box;
  padding: 0;
  margin: 0 0 40px 0;
  border-bottom: 1px solid #000;
}
.forApps .innerApps {
  width: 396px;
  height: 212px;
  background: url('/membership/top/_img_bg/top-app.png') no-repeat;
  background-size: 146px 158px;
  background-position: top 23px left 0;
}
.forCards .innerApps {
  width: 396px;
  height: 212px;
  background: url('/membership/top/_img_bg/top-card.svg') no-repeat;
  background-size: 177px 111px;
  background-position: top 50px left 30px;
}
.innerBox .how2join .ttl04 {
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  background-color: #f6f6f6;
  border-radius: 50px;
  height: 44px;
  line-height: 44px;
}
.forApps .innerApps .tx05 {
  font-size: 22px;
  font-weight: 700;
  padding: 44px 0 10px 155px;
}
.forApps .innerApps .tx06 {
  padding: 0 0 0 155px;
  font-size: 16px;
}
.forApps .innerApps .tx06 img {
  float: left;
  margin-right: 0.5em;
}
.forApps .innerApps .tx06:after {
  content: '';
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.forCards .innerApps .tx07 {
  font-size: 22px;
  font-weight: 700;
  padding: 44px 0 10px 240px;
}
.forCards .innerApps .tx08 {
  padding: 0 0 0 240px;
  font-size: 16px;
}
.forCards .innerApps .tx08 b {
  font-size: 29px;
  font-weight: 700;
}
.forCards .innerApps .tx08 i {
  font-size: 14px;
  font-weight: 400;
}

/* --- 退会について --- */
.innerBox .aboutTaikai .ttl02c span {
  font-size: 16px;
  font-weight: 700;
  background-color: #f6f6f6;
  display: inline-block;
  border-radius: 50px;
  padding: 0.3em 2em;
}
.aboutTaikai .conditionList {
  margin: 16px 0 1em 1em;
  padding: 0;
}
.aboutTaikai .conditionList li {
  list-style-type: disc;
  font-size: 16px;
  margin-left: 0.5em;
}
.aboutTaikai .tx09 {
  font-size: 16px;
  margin-bottom: 0.5em;
}
.aboutTaikai .tx10 a {
  color: #000;
  font-size: 16px;
  border-bottom: 1px solid #333;
}

/* --- アプリで一元管理 --- */
#recomApps {
  width: 100%;
  padding: 96px 0 96px 0;
  background-color: #000;
  color: #fff;
  margin-bottom: 96px;
}
#recomApps .ttl21 {
  font-size: 32px;
  font-weight: 550;
  text-align: center;
  margin-bottom: 60px;
  color: #fff;
}
.canDo {
  width: 1000px;
  margin: 0 auto 96px auto;
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
}
.canDo li {
  width: 220px;
  font-size: 16px;
  border: 1px solid #c5c5c5;
  border-radius: 10px;
  padding: 27px 0 16px 0;
  text-align: center;
  box-sizing: border-box;
}
.canDo li img {
  width: 73px;
  margin-bottom: 8px;
}
#recomApps .ttl22 {
  font-size: 24px;
  font-weight: 550;
  text-align: center;
  margin-bottom: 60px;
}
.usefulAppsTbSP {
  display: none;
}
.usefulAppsTbPC {
  display: table;
  width: 1000px;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto 60px auto;
  border-top: 1px solid #aaa;
  border-left: 1px solid #aaa;
}
.usefulAppsTbPC .hd .tedge {
  background-image: linear-gradient(to top right, transparent, transparent 50%, #aaa 49.5%, #aaa 50.5%, transparent 50%, transparent);
  border-bottom: 1px solid #aaa;
  border-right: 1px solid #aaa;
}
.usefulAppsTbPC th {
  color: #000;
  font-size: 16px;
  font-weight: 550;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  padding: 1.5em 1em;
  background-color: #fff;
  border-right: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  line-height: 50px;
}
.usefulAppsTbPC .hd th {
  background-color: #f6f6f6;
}
.usefulAppsTbPC .onlyCard th img {
  width: 60px;
  margin-right: 5px;
  vertical-align: middle;
  background-color: #fff;
  text-align: left;
  /* border:1px solid #ddd; */
  border-radius: 2px;
}
.usefulAppsTbPC .useApp th img {
  width: 50px;
  height: 50px;
  margin-right: 5px;
  vertical-align: middle;
}
.usefulAppsTbPC td {
  background-color: #fff;
  color: #111;
  font-size: 16px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  padding: 1.5em 1em;
  border-right: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
}
.usefulAppsTbPC .onlyCard td {
  font-weight: normal;
}
.usefulAppsTbPC .useApp td,
.usefulAppsTbPC .useApp th {
  font-weight: 550;
  color: #e2001d;
}
#recomApps .ttl23 {
  font-size: 24px;
  font-weight: 550;
  text-align: center;
  margin-bottom: 20px;
  color: #fff;
}
#recomApps .QRbox {
  width: 100px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 10px;
  padding: 10px;
}
#recomApps .QRbox img {
  width: 100px;
  vertical-align: bottom;
}

/* --- 臨時のお知らせ --- */
#noticeEX {
  width: 100%;
  margin-bottom: 120px;
  padding: 120px 0;
  background-color: #f6f6f6;
  text-align: center;
}
#noticeEX .tx01 {
  font-size: 32px;
  font-weight: 550;
  margin-bottom: 1em;
}
#noticeEX .link01 {
  font-size: 16px;
  font-weight: 400;
}
#noticeEX a:link {
  text-decoration: underline;
  color: #333;
}
#noticeEX a:visited {
  text-decoration: underline;
  color: #333;
}
#noticeEX a:hover {
  text-decoration: underline;
  color: #333;
  opacity: 0.7;
  transition: 0.25s ease-in-out;
}
#noticeEX a:active {
  text-decoration: underline;
  color: #333;
}

/* ---------------------------- スマホ --------------------------- */
@media screen and (max-width: 767px) {
  #forSAGYOU {
    display: none;
  }

  #mbspTop {
    width: 100%;
    overflow: hidden;
  }

  /* --- キービジュアル --- */
  .kvWrap {
    width: 100vw;
    height: 135vw;
    background-color: #fdf8ed;
    margin: 0 0 15vw 0;
    padding: 0;
    position: relative;
    /*
        background:#FDF8ED url("/membership/top/_img_bg/_top_KV_sample3.png") no-repeat center center;
        background-size: cover;
        */
  }
  .kvWrap .logoSP {
    position: absolute;
    width: 37vw;
    top: 47vw;
    left: 50%;
    margin-left: -18.5vw;
  }
  .kvWrap .ttl01 {
    font-size: 5vw;
    font-weight: 900;
    font-family: 'NotoSansJP-Black', sans-serif;
    text-align: center;
    position: absolute;
    width: 100%;
    top: 78vw;
    display: none;
  }
  .kvParts {
    position: relative;
    width: 100vw;
    height: 135vw;
    margin: 0;
  }
  .kvWrap .logoPC,
  .kvParts .parts3pc,
  .kvParts .parts8pc {
    display: none;
  }
  .kvWrap .logoSP,
  .kvParts .parts3sp,
  .kvParts .parts8sp {
    display: block;
  }
  .kvParts .parts1 {
    top: 108.8vw;
    left: 61vw;
    width: 33vw;
  }
  .kvParts .parts2 {
    top: 49vw;
    left: 84vw;
    width: 11.3vw;
  }
  .kvParts .parts3sp {
    top: 7.5vw;
    left: 58.4vw;
    width: 41.6vw;
  }
  .kvParts .parts4 {
    top: 82.8vw;
    left: 83.2vw;
    width: 12.1vw;
    right: auto;
  }
  .kvParts .parts5 {
    top: 6.6vw;
    left: 6.4vw;
    width: 28.4vw;
    bottom: auto;
    right: auto;
  }
  .kvParts .parts6 {
    top: 23vw;
    left: 28.7vw;
    width: 16.3vw;
    bottom: auto;
    right: auto;
  }
  .kvParts .parts7 {
    top: 33vw;
    left: 6.4vw;
    width: 18.8vw;
    bottom: auto;
    right: auto;
  }
  .kvParts .parts8sp {
    bottom: 0;
    left: 0;
    width: 43vw;
  }
  .kvParts .parts9 {
    top: 66.6vw;
    left: 6.3vw;
    width: 13.8vw;
  }

  /* --- 本編 --- */
  .explanation01 {
    width: 100vw;
    margin: 0 auto 21vw auto;
  }
  .explanation01 a.aBtn01 {
    display: block;
    width: 87vw;
    margin: 0 auto 20vw auto;
    background: url('/membership/top/_img_bg/arrow-r.svg') no-repeat;
    background-position: right 4.4vw center;
    background-size: 1.8vw 3.3vw;
    padding: 6.4vw 0;
    box-sizing: border-box;
  }
  .explanation01 .aBtn01 .tx01 {
    font-size: 5vw;
  }
  .explanation01 .aBtn01 .ttl02 {
    font-size: 4.3vw;
  }
  .explanation01 .ttlTpoint {
    text-align: center;
    font-size: 6.4vw;
    margin-bottom: 8.5vw;
  }
  .explanation01 .ttlTpoint img {
    width: 88vw;
    margin-bottom: 3vw;
  }
  .explanation01 .ttlTpoint .tx {
    display: block;
    font-size: 6.4vw;
    font-weight: 700;
  }

  .explanation01 .tx02 {
    font-size: 4.3vw;
    font-weight: 400;
    text-align: left;
    margin: 0 6vw 15vw;
  }
  .explanation01 .spgtBnr {
    width: 88vw;
    margin: 0 auto 15vw;
  }
  .explanation01 .spgtBnr img {
    width: 100%;
  }
  .explanation01 .ttlMov {
    font-size: 6.5vw;
    margin: 0 0 9vw 0;
  }
  .explanation01 .mov01 {
    width: 100vw;
    height: 56.3vw;
    margin: 0 auto 20vw auto;
    background: #ccc;
    position: relative;
  }
  .mov01 iframe {
    width: 100%;
    height: 100%;
  }

  .explanation01 .mov01 s {
    width: 80vw;
    text-align: center;
    position: absolute;
    top: 10vw;
    left: 50%;
    font-size: 25vw;
    font-weight: bold;
    margin-left: -40vw;
    color: #ff0;
    opacity: 0.7;
    text-shadow: -5px 0 10px rgba(000, 000, 000, 1), 10px 10px 10px rgba(000, 000, 000, 1);
    transform: rotate(-11deg);
  }

  .explanation01 .ttlEach {
    font-size: 6.5vw;
    margin: 0 0 8.5vw 0;
  }
  .explanation01 .toEachPage {
    width: 92vw;
    display: block;
    margin: 0 auto 20vw auto;
  }
  .toEachPage .btnBox {
    display: block;
    width: 100%;
    height: 47vw;
    margin: 0 0 6.5vw 0;
    background: url('/membership/top/_img_bg/arrow-r.svg') no-repeat;
    background-position: right 4.4vw center;
    background-size: 1.8vw 3.3vw;
    color: #000;
    box-sizing: border-box;
  }
  .toEachPage .btnBox .ttl03 {
    font-size: 5vw;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 4vw;
    padding-left: 38vw;
  }
  .toEachPage .btnBox .tx03 {
    font-size: 4vw;
    padding-left: 40vw;
  }
  .toEachPage .tokuten {
    padding-top: 8vw;
    background: url('/membership/top/_img_bg/tokuten.svg') no-repeat;
    background-size: 30vw auto;
    background-position: top 11vw left 4.2vw;
  }
  .toEachPage .rank {
    padding-top: 8vw;
    background: url('/membership/top/_img_bg/rank.svg') no-repeat;
    background-size: 21vw auto;
    background-position: top 11vw left 6.5vw;
  }
  .toEachPage .mente {
    padding-top: 6vw;
    background: url('/membership/top/_img_bg/top-menu-mo.svg') no-repeat;
    background-size: 34vw auto;
    background-position: top 11vw left 0;
  }
  .toEachPage .appli {
    padding-top: 8vw;
    background: url('/membership/top/_img_bg/top-menu-app.svg') no-repeat;
    background-size: 27vw auto;
    background-position: top 10vw left 4vw;
  }

  /* --- 入会について --- */
  .aboutMbsp {
    width: 100vw;
    padding: 20vw 0;
    margin: 0 0 20vw 0;
  }
  .aboutMbsp .ttl02b {
    font-size: 6.5vw;
    margin: 0 0 10vw 0;
  }
  .aboutMbsp .innerBox {
    width: 90vw;
    padding: 10vw 4.3vw 11vw;
  }
  .innerBox .ttl03b {
    font-size: 6.5vw;
    padding-bottom: 0.5em;
    margin: 0 0 6vw 0;
  }
  .innerBox .tx04 {
    font-size: 4.3vw;
    margin: 0 0 1em 0;
  }
  .innerBox .link01 a {
    display: inline-block;
    color: #000;
    font-size: 3.8vw;
    border-bottom: 1px solid #333;
    margin-bottom: 2.5em;
  }
  .innerBox .how2join {
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 0 0 12vw 0;
    margin: 0 0 12vw 0;
    border-bottom: 1px solid #000;
  }
  .forApps .innerApps {
    width: 100%;
    height: auto;
    background: url('/membership/top/_img_bg/top-app.png') no-repeat;
    background-size: 39vw auto;
    background-position: top 6.4vw center;
  }
  .forCards .innerApps {
    width: 100%;
    height: auto;
    background: url('/membership/top/_img_bg/top-card.svg') no-repeat;
    background-size: 47vw auto;
    background-position: top 8vw center;
  }
  .innerBox .how2join .ttl04 {
    font-size: 4.3vw;
    height: 10vw;
    line-height: 10vw;
  }
  .forApps .innerApps .tx05 {
    font-size: 5.8vw;
    font-weight: 700;
    text-align: center;
    padding: 54vw 0 5.6vw 0;
  }
  .forApps .spAppDLbtn {
    width: 78vw;
    height: 15vw;
    display: block;
    margin: 0 auto 12vw auto;
    text-align: center;
    background-color: #000;
    color: #fff;
    line-height: 15vw;
    font-weight: 700;
    font-size: 5.8vw;
    border-radius: 5px;
  }
  .forApps .innerApps .tx06 {
    display: none;
  }
  .forCards .innerApps .tx07 {
    font-size: 5.8vw;
    font-weight: 700;
    text-align: center;
    padding: 41vw 0 3vw 0;
  }
  .forCards .innerApps .tx08 {
    font-size: 4.3vw;
    text-align: center;
    padding: 0;
  }
  .forCards .innerApps .tx08 b {
    font-size: 7.7vw;
  }
  .forCards .innerApps .tx08 i {
    font-size: 3.7vw;
  }

  /* --- 退会について --- */
  .innerBox .aboutTaikai .ttl02c span {
    font-size: 4.3vw;
  }
  .aboutTaikai .conditionList {
    margin: 4.3vw 0 1em 1em;
    padding: 0;
  }
  .aboutTaikai .conditionList li {
    list-style-type: disc;
    font-size: 4vw;
    margin-left: 0.5em;
  }
  .aboutTaikai .tx09 {
    font-size: 4vw;
    margin-bottom: 0.5em;
  }
  .aboutTaikai .tx10 a {
    font-size: 3.7vw;
  }

  /* --- recomApps --- */
  #recomApps {
    width: 100%;
    padding: 14vw 0 14vw 0;
    margin-bottom: 14vw;
  }
  #recomApps .ttl21 {
    font-size: 6.4vw;
    font-weight: 550;
    text-align: center;
    margin-bottom: 8.5vw;
    color: #fff;
  }
  .canDo {
    width: 90vw;
    margin: 0 auto 10vw auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    box-sizing: border-box;
  }
  .canDo li {
    width: 44vw;
    border-radius: 10px;
    padding: 6vw 0 3vw 0;
    margin-bottom: 2vw;
    line-height: 1.3;
    font-size: 3.7vw;
  }
  .canDo li:nth-child(1) {
    padding-bottom: 7vw;
  }
  .canDo li img {
    width: auto;
    height: 13vw;
    margin-bottom: 1vw;
  }
  #recomApps .ttl22 {
    font-size: 5.3vw;
    margin-bottom: 6.4vw;
  }
  .usefulAppsTbPC {
    display: none;
  }
  .usefulAppsTbSP {
    display: table;
    width: 90vw;
    box-sizing: border-box;
    padding: 0;
    margin: 0 auto 10vw auto;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
  }
  .usefulAppsTbSP .hd .tedge {
    background-image: linear-gradient(to top right, transparent, transparent 50%, #aaa 49.5%, #aaa 50.5%, transparent 50%, transparent);
    border-bottom: 1px solid #aaa;
    border-right: 1px solid #aaa;
    background-color: #fff;
  }
  .usefulAppsTbSP th {
    color: #000;
    font-size: 3.5vw;
    font-weight: 550;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    padding: 1.5em 0.5em;
    background-color: #fff;
    border-right: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
    background-color: #f6f6f6;
  }
  .usefulAppsTbSP .hd th {
    background-color: #fff;
  }
  .usefulAppsTbSP th.onlyCard {
    font-weight: normal;
  }
  .usefulAppsTbSP th.onlyCard img {
    height: 11vw;
    margin: 0 0 5px 0;
    /* border:1px solid #ddd; */
    border-radius: 2px;
  }
  .usefulAppsTbSP th.useApp img {
    height: 11vw;
    margin: 0 0 5px 0;
    /* border:1px solid #000; */
    border-radius: 8px;
  }
  .usefulAppsTbSP th.useApp {
    color: #e2001d;
    line-height: 1.4;
  }
  .usefulAppsTbSP td {
    background-color: #fff;
    color: #111;
    font-size: 3.5vw;
    text-align: center;
    vertical-align: middle;
    padding: 1.5em 0.2em;
    border-right: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
  }
  .usefulAppsTbSP .onlyCard td {
    font-weight: normal;
  }
  .usefulAppsTbSP tr td:nth-child(3) {
    font-weight: 550;
    color: #e2001d;
  }
  #recomApps .ttl23 {
    font-size: 24px;
    font-weight: 550;
    text-align: center;
    margin-bottom: 20px;
    color: #fff;
  }
  .dlAppNow {
    width: 90vw;
    margin: 0 auto;
  }
  .dlAppNow .btn a {
    display: block;
    width: 100%;
    background-color: #fff;
    color: #000;
    font-size: 4.5vw;
    font-weight: 550;
    text-align: center;
    margin: 0 auto;
    line-height: 3em;
    border-radius: 8px;
  }

  /* --- 臨時のお知らせ --- */
  #noticeEX {
    margin-bottom: 21vw;
    padding: 21vw 0;
  }
  #noticeEX .tx01 {
    font-size: 6.4vw;
    margin-bottom: 1em;
  }
  #noticeEX .link01 {
    font-size: 3.6vw;
  }
} /* スマホ */
