@charset "UTF-8";

@font-face {
  src: url("../font/BestTen-DOT.otf") format("otf");
  font-family: "BestTen-DOT";
}

@font-face {
  src: url("../font/BestTen-CRT.otf") format("otf");
  font-family: "BestTen-CRT";
}

/* pcの電話番号発信対応 */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* ホバー */
a {
  -webkit-transition: opacity 0.3s;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}

@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}

body {
  scroll-padding-top: 103px;
  margin: 0 auto;
  background-color: #0B1010;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
}

@media screen and (min-width: 768px) {
  body {
    scroll-padding-top: 198px;
  }
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.l-container {
  position: relative;
}

.l-container::before {
  display: block;
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/bg-layer.png) repeat center/contain;
  content: "";
}

.u-br-sp {
  display: block;
}

@media screen and (min-width: 992px) {
  .u-br-sp {
    display: none;
  }
}

.u-br-pc {
  display: none;
}

@media screen and (min-width: 992px) {
  .u-br-pc {
    display: block;
  }
}

/*!
utility > u-hidden
------------------------------
*/
.u-desktop {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .u-desktop {
    display: block !important;
  }
}

.u-mobile {
  display: block !important;
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none !important;
  }
}

.u-sr {
  clip: rect(0, 0, 0, 0) !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  white-space: nowrap !important;
}

.l-container {
  margin: 0 auto;
}

.l-header {
  display: block;
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  background: #0B1010;
}

.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 10px;
  padding-left: 10px;
}

@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 750px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.c-balloon {
  display: block;
  position: relative;
  padding: 10px;
  background: #FFF100;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-balloon {
    padding: 20px;
  }
}

.c-balloon::before {
  -webkit-transform: translateX(-50%);
  position: absolute;
  bottom: -8px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-top: 8px solid #FFF100;
  border-right: 7px solid transparent;
  border-bottom: 0;
  border-left: 7px solid transparent;
  border-style: solid;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-balloon::before {
    bottom: -16px;
    border-top: 16px solid #FFF100;
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
  }
}

.c-balloon__text {
  color: #0B1010;
  font-size: 15px;
  font-weight: 700;
  line-height: 2.3333333333;
}

@media screen and (min-width: 768px) {
  .c-balloon__text {
    font-size: 30px;
    line-height: 2.3333333333;
  }
}

.c-balloon__largeText {
  color: #0B1010;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75;
}

@media screen and (min-width: 768px) {
  .c-balloon__largeText {
    font-size: 40px;
  }
}

.c-borderBox {
  display: block;
  padding: 2px;
  background: #fff;
}

.c-borderBox__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 68px;
}

@media screen and (min-width: 768px) {
  .c-borderBox__inner {
    min-height: 136px;
  }
}

.c-borderBox__point {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 71px;
  height: inherit;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .c-borderBox__point {
    width: 142px;
  }
}

.c-borderBox__pointText {
  color: #0B1010;
  font-family: BestTen-DOT;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .c-borderBox__pointText {
    font-size: 40px;
    line-height: 1.25;
  }
}

.c-borderBox__block {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 5px 10px;
  background-color: #0B1010;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-borderBox__block {
    padding: 20px 10px 20px;
  }
}

.c-borderBox__text {
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.4705882353;
}

@media screen and (min-width: 768px) {
  .c-borderBox__text {
    font-size: 34px;
    line-height: 1.4705882353;
  }
}

.c-borderBox__textYellow {
  color: #FFF100;
}

.nav__link {
  font-size: 10px;
}

.c-circle {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  display: block;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 115px;
  height: 115px;
  border: 1.5px solid #ffed60;
  border-radius: 50%;
}

@media screen and (min-width: 768px) {
  .c-circle {
    width: 226px;
    height: 226px;
    border: 3px solid #ffed60;
  }
}

.c-circle__text {
  color: #FFF100;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1428571429;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-circle__text {
    font-size: 28px;
    line-height: 1.3571428571;
  }
}

.c-circle__largeText {
  font-size: 28px;
  line-height: 1.2142857143;
}

@media screen and (min-width: 768px) {
  .c-circle__largeText {
    font-size: 47px;
    line-height: 1.4468085106;
  }
}

.c-circle__largeTextNum {
  font-size: 31px;
  line-height: 1.0967741935;
}

@media screen and (min-width: 768px) {
  .c-circle__largeTextNum {
    font-size: 62px;
    line-height: 1.0967741935;
  }
}

.c-circle__textcolumn {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  writing-mode: vertical-rl;
}

@media screen and (min-width: 768px) {
  .c-circle__textcolumn {
    font-size: 22px;
  }
}

.c-circle__middleText {
  color: #FFF100;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-circle__middleText {
    font-size: 38px;
  }
}

.c-circle__imgWrap {
  margin-top: 10px;
  display: flex;
  align-items: center;
}
.c-circle__img {
  max-width: 40px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .c-circle__img {
    max-width: 80px;

  }
}

.c-codeCopy {
  display: block;
  position: relative;
  width: 100%;
  padding: 5px 42px 7px 14px;
  border: 2px solid #ff503a;
  border-radius: 10px;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .c-codeCopy {
    padding: 10px 112px 15px 28px;
    border: 5px solid #ff503a;
  }
}

.c-codeCopy::after {
  -webkit-transform: translateY(-50%);
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  width: 35px;
  height: 35px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #FF503A;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-codeCopy::after {
    right: 24px;
    width: 70px;
    height: 70px;
  }
}

.c-codeCopy::before {
  -webkit-transform: translateY(-50%);
  z-index: 10;
  position: absolute;
  top: 50%;
  right: 21px;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-width: 7px 0 7px 13px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-codeCopy::before {
    right: 42px;
    border-width: 15px 0 15px 26px;
  }
}

.c-codeCopy__body {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.c-codeCopy__body::before {
  display: inline-block;
  width: 47px;
  height: 55px;
  background: url(../images/coin.png) no-repeat center/contain;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-codeCopy__body::before {
    left: -104px;
    width: 94px;
    height: 111px;
  }
}

.c-codeCopy__text {
  color: #000;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.55;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-codeCopy__text {
    font-size: 41px;
    line-height: 1.5365853659;
  }
}

.c-codeCopy__largeText {
  font-size: 27px;
  line-height: 1.1481481481;
}

@media screen and (min-width: 768px) {
  .c-codeCopy__largeText {
    font-size: 55px;
    line-height: 1.1454545455;
  }
}


.c-codeCopy__largeText.c-codeCopy__largeText--text2 {
  font-size: 24px;
}

@media screen and (min-width: 768px) {
  .c-codeCopy__largeText.c-codeCopy__largeText--text2 {
    font-size: 46px;
  }
}

.c-codeCopy__smallText {
  font-size: 14px;
}

@media screen and (min-width: 768px) {
  .c-codeCopy__smallText {
    font-size: 20px;
  }

}


.c-codeCopy__bodyInner {
  width: 100%;
}

.c-codeCopy__textRed {
  color: #FF503A;
}

.c-codeCopy__miniText {
  display: block;
  width: 100%;
  max-width: 230px;
  margin-right: auto;
  margin-left: auto;
  border-radius: 10px;
  background-color: #FF503A;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-codeCopy__miniText {
    max-width: 460px;
    border-radius: 20px;
    font-size: 18px;
  }
}

.c-codeCopy__bodyCode {
  font-size: 14px;
}

@media screen and (min-width: 768px) {
  .c-codeCopy__bodyCode {
    font-size: 18px;
  }
}

.c-codeCopyMiddle {
  display: block;
  position: relative;
  width: 100%;

  border-radius: 10px;
  background-color: #FF503A;
  overflow: hidden;
}

.c-codeCopyMiddle::after {
  -webkit-transform: translateY(-50%);
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #fff;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-codeCopyMiddle::after {
    right: 24px;
    width: 40px;
    height: 40px;
  }
}

.c-codeCopyMiddle::before {
  -webkit-transform: translateY(-50%);
  z-index: 10;
  position: absolute;
  top: 50%;
  right: 17px;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-width: 4.5px 0 4.5px 7.7px;
  border-style: solid;
  border-color: transparent transparent transparent #FF503A;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-codeCopyMiddle::before {
    right: 34px;
    border-width: 8.5px 0 8.5px 14.7px;
  }
}

.c-codeCopyMiddle__body {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 613px;
  margin-right: auto;
  margin-left: auto;
}

.c-codeCopyMiddle__body::before {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  display: inline-block;
  flex-shrink: 0;
  width: 60px;
  height: 13px;
  margin-right: 8px;
  background: url(../images/logo_bons.svg) no-repeat center/contain;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-codeCopyMiddle__body::before {
    width: 120px;
    height: 25px;
    margin-right: 17px;
  }
}

.c-codeCopyMiddle__bodyInner {
  width: 100%;
  max-width: 476px;
}

.c-codeCopyMiddle__text {
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.4285714286;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-codeCopyMiddle__text {
    font-size: 26px;
    line-height: 1.5384615385;
  }
}

.c-codeCopyMiddle__largeText {
  font-size: 15px;
  line-height: 1.3333333333;
}

@media screen and (min-width: 768px) {
  .c-codeCopyMiddle__largeText {
    font-size: 30px;
    line-height: 1.3333333333;
  }
}

.c-codeCopyMiddle__miniText {
  display: block;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  border-radius: 20px;
  background-color: #fff;
  color: #0B1010;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-codeCopyMiddle__miniText {
    font-size: 16px;
  }
}

.c-codeCopyMiddle__inner {
  position: relative;
  overflow: hidden;
  z-index: 1;
    padding: 4px 34px 4px 7px;
}
@media screen and (min-width: 768px) {
  .c-codeCopyMiddle__inner {
    padding: 8px 84px 8px 13px;
  }
}
.c-codeCopyMiddle__inner::before {
  -webkit-transform: skewX(-25deg);
  -webkit-animation: shine 1s infinite;
  position: absolute;
  top: 0;
  left: -75%;
  width: 30%;
  height: 100%;
  transform: skewX(-25deg);
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, .8)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .8) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .8) 100%);
  animation: shine 1s infinite;
  content: "";
}

@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}

@keyframes shine {
  100% {
    left: 125%;
  }
}





.c-commonImg {
  display: block;
  width: 100%;
  height: auto;
}

.c-commonImg img {
  display: block;
}

.c-commonLink {
  display: block;
  position: relative;
  padding: 2.5px;
  border-radius: 10px;
  background-color: #FFF100;
}

@media screen and (min-width: 768px) {
  .c-commonLink {
    padding: 5px;
  }
}

.c-commonLink::before {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 15px;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #fff136;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-commonLink::before {
    right: 30px;
    width: 40px;
    height: 40px;
  }
}

.c-commonLink::after {
  -webkit-transform: rotate(45deg) translateY(-50%);
  -webkit-transform-origin: top center;
  position: absolute;
  top: 50%;
  right: 22px;
  width: 10px;
  height: 10px;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: top center;
  border-top: solid 2px #0B1010;
  border-right: solid 2px #0B1010;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-commonLink::after {
    right: 46px;
    border-top: solid 3.5px #0B1010;
    border-right: solid 3.5px #0B1010;
  }
}

.c-commonLink__inner {
  padding: 6px 17px;
  border-radius: 10px;
  background-color: #0B1010;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-commonLink__inner {
    padding: 13px 40px;
  }
}

.c-commonLink__text {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  align-items: center;
  margin-right: 50px;
  color: #FFF100;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 2.35;
}

@media screen and (min-width: 768px) {
  .c-commonLink__text {
    margin-right: 100px;
    font-size: 40px;
    line-height: 2.35;
  }
}

.c-commonLink__text::before {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 23px;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-commonLink__text::before {
    margin-right: 46px;
  }
}
.c-commonLink__text.c-commonLink__text--top::before {
  width: 38px;
  height: 38px;
  background: url(../images/bonstop.png) no-repeat center/contain;
}

@media screen and (min-width: 768px) {
  .c-commonLink__text.c-commonLink__text--top::before {
    width: 67px;
    height: 77px;
  }
}


.c-commonLink__text.c-commonLink__text--bonus::before {
  width: 38px;
  height: 38px;
  background: url(../images/coin2.png) no-repeat center/contain;
}

@media screen and (min-width: 768px) {
  .c-commonLink__text.c-commonLink__text--bonus::before {
    width: 67px;
    height: 77px;
  }
}

.c-commonLink__text.c-commonLink__text--money::before {
  width: 38px;
  height: 38px;
  background: url(../images/icon1.png) no-repeat center/contain;
}

@media screen and (min-width: 768px) {
  .c-commonLink__text.c-commonLink__text--money::before {
    width: 77px;
    height: 77px;
  }
}

.c-commonTable,
.c-commonTable td,
.c-commonTable th {
  border: 1px solid #0B1010;
  border-collapse: collapse;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {

  .c-commonTable,
  .c-commonTable td,
  .c-commonTable th {
    border: 3px solid #0B1010;
    font-size: 25px;

  }
}

.c-commonTable th {
  background-color: #43454D;
}

.c-commonTable td {
  background-color: #2F313A;
}

.c-commonTable th,
.c-commonTable td {
  padding: 2px 4px 2px;
}

@media screen and (min-width: 768px) {

  .c-commonTable th,
  .c-commonTable td {
    padding: 2px 10px 2px;
  }
}

.c-commonTable__red {
  color: #FF503A;
}

.c-commonTable__lineThrough {
  text-decoration: line-through;
}

.c-commonTable+.c-commonTable {
  border-top: transparent;
}

.c-commonTable.c-commonTable--center {
  text-align: center;
}

.c-commonTable.c-commonTable--center th {
  text-align: center;
}

.c-commonText {
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3571428571;
}

@media screen and (min-width: 768px) {
  .c-commonText {
    font-size: 25px;
    line-height: 1.56;
  }
}

.c-commonText__underLine {
  text-decoration: underline;
}

.c-commonText__textYellow {
  color: #FFF100;
}

.c-commonText.c-commonText--largeText {
  font-size: 19px;
  line-height: 1.3157894737;
}

@media screen and (min-width: 768px) {
  .c-commonText.c-commonText--largeText {
    font-size: 38px;
    line-height: 1.3157894737;
  }
}

.c-commonText.c-commonText--miniText {
  font-size: 13px;
}

@media screen and (min-width: 768px) {
  .c-commonText.c-commonText--miniText {
    font-size: 15px;
  }
}

.c-commonText__miniText {
  font-size: 13px;
}

@media screen and (min-width: 768px) {
  .c-commonText__miniText {
    font-size: 16px;
  }
}

.c-commonText a {
  color: #FFF100;
}

.c-commonText__circleText {
  display: inline-block;
  padding: 0 15px;
  border-radius: 25px;
  background-color: #FF503A;
  color: #ffffff;
}

.c-commonText__circleText.c-commonText__circleTText--bgGreen {
  background-color: green;
}


.c-commonListText li {
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3571428571;
}


@media screen and (min-width: 768px) {
  .c-commonListText li {
    font-size: 16px;

  }

}
.c-commonListText li a {
  color: #FFF100;
}

.c-commonListText li + li {
  margin-top: 16px;

}


.c-copyBox {
  display: block;
  padding: 4px;
  background-color: #000;
}

@media screen and (min-width: 768px) {
  .c-copyBox {
    padding: 8px;
  }
}


.c-copyBox__inner {
  padding: 10px 5px;
  border: 2px solid #fff;
  color: #FFF100;
  /* font-family: BestTen-CRT; */
  letter-spacing: 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-copyBox__inner {
    padding: 20px 8px;
    border: 3px solid #fff;
  }
}

.c-copyBox__head {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
  border: 1px solid #fff;
  padding: 6px;
  margin-top: 8px;
  display: inline-block;
  margin-right: 8px;
}

@media screen and (min-width: 768px) {
  .c-copyBox__head {
    font-size: 20px;
    line-height: 1.25;
  }
}

.c-copyBox__head:last-child {
  margin-right: 0;
}

.c-copyBox__text {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
}

@media screen and (min-width: 768px) {
  .c-copyBox__text {
    font-size: 40px;
    line-height: 1.25;
  }
}

.c-copyBox__miniText {
  font-size: 23px;
  line-height: 1.5217391304;
}

@media screen and (min-width: 768px) {
  .c-copyBox__miniText {
    font-size: 46px;
    line-height: 1.5217391304;
  }
}


.c-copyBox__textWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
}



.c-copyBox__text.c-copyBox__text--small {
  font-size: 14px;
  border: 1px solid #fff;
  padding: 6px;
  margin-right: 8px;
}

@media screen and (min-width: 768px) {
  .c-copyBox__text.c-copyBox__text--small {
    font-size: 20px;
  }

}

.c-copyBox__text.c-copyBox__text--small:last-child {
  margin-right: 0;
}

.c-echoText {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  align-items: flex-end;
}

.c-echoText__text {
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2777777778;
}

@media screen and (min-width: 768px) {
  .c-echoText__text {
    font-size: 36px;
    line-height: 1.2777777778;
  }
}

.c-echoText::before {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  display: inline-block;
  flex-shrink: 0;
  width: 19px;
  height: 41px;
  margin-right: 5px;
  background: url(../images/border-left.png) no-repeat center/contain;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-echoText::before {
    width: 38px;
    height: 82px;
    margin-right: 10px;
  }
}

.c-echoText::after {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  display: inline-block;
  flex-shrink: 0;
  width: 18px;
  height: 41px;
  margin-left: 5px;
  background: url(../images/border-right.png) no-repeat center/contain;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-echoText::after {
    width: 38px;
    height: 82px;
    margin-left: 10px;
  }
}

.c-echoText.c-echoText--triangle::before,
.c-echoText.c-echoText--triangle::after {
  width: 0;
  height: 0;
  border-width: 30px 17px 0 17px;
  border-style: solid;
  border-color: #FFF100 transparent transparent transparent;
  content: "";
}

@media screen and (min-width: 768px) {

  .c-echoText.c-echoText--triangle::before,
  .c-echoText.c-echoText--triangle::after {
    border-width: 61.5px 35.5px 0 35.5px;
  }
}

.c-echoText__miniText {
  font-size: 17px;
  line-height: 1.4705882353;
}

@media screen and (min-width: 768px) {
  .c-echoText__miniText {
    font-size: 34px;
    line-height: 1.4705882353;
  }
}

.c-echoText__miniText {
  font-size: 15px;
  line-height: 1.5333333333;
}

@media screen and (min-width: 768px) {
  .c-echoText__miniText {
    font-size: 31px;
    line-height: 1.4838709677;
  }
}

.c-echoText__largeText {
  font-size: 20px;
  line-height: 1.25;
}

@media screen and (min-width: 768px) {
  .c-echoText__largeText {
    font-size: 40px;
    line-height: 1.25;
  }
}

.c-hamburger {
  position: relative;
  width: inherit;
  height: inherit;
  margin: 0;
  border: 1px solid lightblue;
  background: lightblue;
  cursor: pointer;
}

.c-hamburger span {
  -webkit-transform: translateX(-50%);
  -webkit-transition: all 0.4s;
  display: block;
  position: relative;
  left: 50%;
  width: 30px;
  height: 2px;
  transform: translateX(-50%);
  background: #fff;
  transition: all 0.4s;
}

.c-hamburger span:nth-of-type(1) {
  top: -4px;
}

.c-hamburger span:nth-of-type(2) {
  top: 1px;
}

.c-hamburger span:nth-of-type(3) {
  top: 6px;
}

.c-hamburger .c-hamburger__text {
  display: block;
  top: 12px;
  background: transparent;
  color: #fff;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}

.c-hamburger[aria-expanded=true] span:nth-of-type(1) {
  -webkit-transform: translateX(-50%) rotate(225deg);
  top: 0;
  transform: translateX(-50%) rotate(225deg);
}

.c-hamburger[aria-expanded=true] span:nth-of-type(2) {
  opacity: 0;
}

.c-hamburger[aria-expanded=true] span:nth-of-type(3) {
  -webkit-transform: translateX(-50%) rotate(-225deg);
  top: -4px;
  transform: translateX(-50%) rotate(-225deg);
}

.c-pageTitle {
  margin-top: 21px;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3571428571;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-pageTitle {
    margin-top: 21px;
    font-size: 44px;
    line-height: 1.5;
  }
}

.c-qa {
  display: block;
}

.c-qa__head {
  position: relative;
  width: 100%;
  padding: 4px 10px;
  background: #2F313A;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.4666666667;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .c-qa__head {
    padding: 8px 20px;
    font-size: 30px;
    line-height: 1.4666666667;
  }
}

.c-qa__body {
  padding: 10px 10px 13px;
  background-color: #43454D;
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3846153846;
}

@media screen and (min-width: 768px) {
  .c-qa__body {
    padding: 20px 20px 25px;
    font-size: 25px;
    line-height: 1.44;
  }
}

.c-qa__body a {
  color: #FFF100;
}

.c-qa:not(:first-child) {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .c-qa:not(:first-child) {
    margin-top: 30px;
  }
}

.c-qa__body-text-yellow {
  color: #FFF100;
}

.c-sectionMiniTitle {
  position: relative;
  padding-bottom: 13px;
  border-bottom: 1px solid #FFF100;
  background-color: #0B1010;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.6666666667;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .c-sectionMiniTitle {
    padding-bottom: 13px;
    border-bottom: 2px solid #FFF100;
    font-size: 30px;
    line-height: 1.6666666667;
  }
}

.c-sectionSubTitle {
  position: relative;
  padding: 5px 7px 6px 11px;
  border-left: 5px solid #FFF136;
  background-color: #2F313A;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1363636364;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .c-sectionSubTitle {
    padding: 11px 14px 13px 22px;
    border-left: 10px solid #FFF136;
    font-size: 44px;
    line-height: 1.1363636364;
  }
}

.c-sectionTitle {
  position: relative;
  padding: 2px 7px 2px;
  border-top: 2px solid #FFF100;
  border-bottom: 2px solid #FFF100;
  background-color: #2F313A;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-sectionTitle {
    padding: 4px 14px 4px;
    border-top: 4px solid #FFF100;
    border-bottom: 4px solid #FFF100;
    font-size: 50px;
    line-height: 1.3;
  }
}

.c-tableContents {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: -10px;
}

@media screen and (min-width: 768px) {
  .c-tableContents {
    margin-top: -20px;
  }
}

.c-tableContents__item {
  position: relative;
  width: calc(50% - 5px);
  margin-top: 10px;
  margin-right: 10px;
}

@media screen and (min-width: 768px) {
  .c-tableContents__item {
    width: calc(50% - 10px);
    margin-top: 20px;
    margin-right: 20px;
  }
}

.c-tableContents__item:nth-child(2n) {
  margin-right: 0;
}

.c-tableContents__item a {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 50px;
  padding: 3px 20px 3px 10px;
  background-color: #2F313A;
}

@media screen and (min-width: 768px) {
  .c-tableContents__item a {
    min-height: 100px;
    padding: 3px 25px 3px 20px;
  }
}

.c-tableContents__text {
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 2.3333333333;
}

@media screen and (min-width: 768px) {
  .c-tableContents__text {
    font-size: 30px;
    line-height: 2.3333333333;
  }
}

.c-tableContents__item a::after {
  -webkit-transform: rotate(135deg) translateY(-50%);
  -webkit-transform-origin: top center;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 10px;
  height: 10px;
  transform: rotate(135deg) translateY(-50%);
  transform-origin: top center;
  border-top: solid 2px #FFF100;
  border-right: solid 2px #FFF100;
  content: "";
}

@media screen and (min-width: 768px) {
  .c-tableContents__item a::after {
    right: 20px;
    border-top: solid 3.5px #FFF100;
    border-right: solid 3.5px #FFF100;
  }
}

.c-tableContents__miniText {
  display: block;
  font-size: 10px;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .c-tableContents__miniText {
    font-size: 20px;
  }
}

.p-footer {
  z-index: 10;
  position: relative;
}

.p-footer__copy.p-main__text {
  margin-top: 0;
}

.p-footer__contents {
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 63px;
  background-color: #0B1010;
}

@media screen and (min-width: 768px) {
  .p-footer__contents {
    padding-bottom: 107px;

  }
}

.p-footer__contents .l-inner {
  max-width: 500px;
}

@media screen and (min-width: 768px) {
  .p-footer__contents .l-inner {
    max-width: 750px;
  }

}


.p-header {
  padding-top: 17px;
  padding-bottom: 16px;
}

@media screen and (min-width: 768px) {
  .p-header {
    padding-top: 34px;
    padding-bottom: 32px;
  }
}

.p-header__head {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  width: 100%;
}

.p-header__title {
  width: 100%;
  max-width: 87px;
  margin-right: 23px;
}

@media screen and (min-width: 768px) {
  .p-header__title {
    max-width: 296px;
    margin-right: 47px;
  }
}

.p-header__title a {
  display: block;
  width: 100%;
  height: auto;
}

.p-header__title a img {
  height: 100%;
}

.p-header__text {
  margin-right: 0;
  margin-left: auto;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2857142857;
}

@media screen and (min-width: 768px) {
  .p-header__text {
    font-size: 22px;
    line-height: 1.4545454545;
  }
}

.p-main__container {
  z-index: 10;
  position: relative;
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 103px;
  background-color: #0B1010;
}

@media screen and (min-width: 768px) {
  .p-main__container {
    max-width: 750px;
    padding-top: 198px;
  }
}

.p-main__text {
  margin-top: 21px;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 31px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2258064516;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-main__text {
    margin-top: 21px;
    font-size: 62px;
    line-height: 1.2258064516;
  }
}

.p-nav {
  margin-top: 0px;
  margin-left: -16px;
}

@media screen and (min-width: 768px) {
  .p-nav {
    margin-left: -32px;
  }
}

.p-nav__list {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
}

@media screen and (min-width: 768px) {
  .p-nav__list {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.p-nav__item {
  position: relative;
  margin-top: 16px;
  margin-left: 16px;
}

@media screen and (min-width: 768px) {
  .p-nav__item {
    margin-top: 32px;
    margin-left: 32px;
  }
}

.p-nav__link {
  display: block;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.0588235294;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-nav__link {
    font-size: 25px;
    line-height: 1.44;
  }
}

.p-nav__link.p-nav__link--underLine {
  text-decoration: underline;
}

.p-qa__block {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .p-qa__block {
    margin-top: 40px;
  }
}

.p-section__pageTitle {
  margin-top: 40px;
}

@media screen and (min-width: 768px) {
  .p-section__pageTitle {
    margin-top: 80px;
  }
}

.p-section__title {
  margin-top: 40px;
}

@media screen and (min-width: 768px) {
  .p-section__title {
    margin-top: 80px;
  }
}

.p-section__subTitle {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .p-section__subTitle {
    margin-top: 60px;
  }
}

.p-section__miniTitle {
  margin-top: 31px;
}

@media screen and (min-width: 768px) {
  .p-section__miniTitle {
    margin-top: 63px;
  }
}

.p-section__text {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .p-section__text {
    margin-top: 30px;
  }
}

.p-section__text2 {
  margin-top: 8px;
}

@media screen and (min-width: 768px) {
  .p-section__text2 {
    margin-top: 15px;
  }
}

.p-section__img {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .p-section__img {
    margin-top: 40px;
  }
}

.p-section__commonLink {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .p-section__commonLink {
    margin-top: 60px;
  }
}

.p-section__commonLink+.p-section__commonLink {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  .p-section__commonLink+.p-section__commonLink {
    margin-top: 20px;
  }
}

.p-section__echo {
  margin-top: 12px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-section__echo {
    margin-top: 24px;
  }
}

.p-section__echoLarge {
  margin-top: 30px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-section__echoLarge {
    margin-top: 61px;
  }
}

.p-section__echoTriangle {
  margin-top: 24px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-section__echoTriangle {
    margin-top: 49px;
  }
}

.p-section__copyBox {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .p-section__copyBox {
    margin-top: 31px;
  }
}

.p-section__text.p-section__text--center,
.p-section__text2.p-section__text--center {
  text-align: center;
}

.p-section__text.p-section__text--right {
  text-align: right;
}

.p-section__codeCopy {
  margin-top: 12px;
}

@media screen and (min-width: 768px) {
  .p-section__codeCopy {
    margin-top: 23px;
  }
}

.p-section__circle {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin-top: 25px;
  max-width: 605px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .p-section__circle {
    margin-top: 50px;
    max-width: 710px;
  }
}

.p-section__circleItem {
  margin-right: 8px;
}

@media screen and (min-width: 768px) {
  .p-section__circleItem {
    margin-right: 16px;
  }
}

.p-section__circleItem:last-child {
  margin-right: 0;
}

.p-section__mokuji {
  margin-top: 12px;
}

@media screen and (min-width: 768px) {
  .p-section__mokuji {
    margin-top: 24px;
  }
}

.p-section__tableContents {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .p-section__tableContents {
    margin-top: 60px;
  }
}

.p-section+.p-section {
  margin-top: 40px;
}

@media screen and (min-width: 768px) {
  .p-section+.p-section {
    margin-top: 80px;
  }
}

.p-section:last-of-type {
  padding-bottom: 40px;
}

@media screen and (min-width: 768px) {
  .p-section:last-of-type {
    padding-bottom: 80px;
  }
}

.p-section__pointBoxs {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .p-section__pointBoxs {
    margin-top: 40px;
  }
}

.p-section__pointItem+.p-section__pointItem {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  .p-section__pointItem+.p-section__pointItem {
    margin-top: 20px;
  }
}

.p-section__table {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .p-section__table {
    margin-top: 30px;
  }
}

.p-under-float {
  z-index: 100;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #2F313A;
}

.p-under-float__inner {
  width: 100%;
  height: 100%;
  padding: 8px 10px 8px;
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .p-under-float__inner {
    padding: 15px 20px 11px;
    max-width: initial;
  }
}

.p-under-float__button {
  max-width: 710px;
  margin-right: auto;
  margin-left: auto;


}



.c-support {
  display: flex;
  align-items: center;

}

.c-support__img-wrap {
  display: flex;
  flex-direction: column;
  text-align: center;
  flex-shrink: 0;
  width: 50px;
  margin-right: 25px;
  margin-left: 22px;

}



@media screen and (min-width: 768px) {
  .c-support__img-wrap {
    width: 100px;
    margin-right: 50px;
    margin-left: 44px;

  }

}



.c-support__img-wrap span {
  font-size: 12px;
  line-height: calc(18/13);
  font-weight: 500;
  color: #fff;

}

@media screen and (min-width: 768px) {
  .c-support__img-wrap span {

    font-size: 25px;
    line-height: calc(36/25);

  }
}



.c-support__img {
  flex-shrink: 0;
  max-width: 100%;
  width: 30px;
  margin-right: auto;
  margin-left: auto;

}

@media screen and (min-width: 768px) {
  .c-support__img {
    width: 60px;

  }

}

.c-support__img--bgwwite {
  background-color: #fff;
}


.c-support__text {
  font-size: 15px;
  line-height: calc(22/15);
  font-weight: 500;
  color: #fff;
  max-width: 202px;

}

@media screen and (min-width: 768px) {
  .c-support__text {

    font-size: 30px;
    max-width: 403px;
    line-height: calc(44/30);

  }
}



.c-support+.c-support {
  border-top: 1px solid #fff;
  margin-top: 13px;
  padding-top: 13px;
}

@media screen and (min-width: 768px) {
  .c-support+.c-support {

    margin-top: 26px;
    padding-top: 27px;


  }

}


.p-section__support {
  margin-top: 30px;
  max-width: 320px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .p-section__support {
    margin-top: 60px;
    max-width: 640px;

  }
}


.p-section__point {
  margin-top: 30px;
}


.c-pointBox {
  border: 2px solid #fff;

}

.c-pointBox__head {
  background-color: #fff;
  padding: 10px;
}

.c-pointBox__body {
  padding: 10px;
}

@media screen and (min-width: 768px) {
  .c-pointBox__head {
    padding: 20px;
  }

  .c-pointBox__body {
    padding: 20px;
  }

}

.c-pointBox__headText,
.c-pointBox__bodyText {
  color: #000;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {

  .c-pointBox__headText,
  .c-pointBox__bodyText {
    font-size: 25px;
    line-height: 1.56;
  }

}



.c-pointBox__bodyText {
  color: #fff;
}


.c-commonTable__icon img {
  display: block;
  height: 40px;
  width: 40px;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

.c-commonTable__icon {
  display: block;
  width: 100%;
  max-width: 40px;
}









.p-footer-bottom {
  background: #241415;
  padding-top: 40px;
  padding-bottom: 40px;
  margin-top: 40px;

}

@media screen and (min-width: 768px) {
  .p-footer-bottom {
    margin-top: 80px;

    padding-top: 80px;
    padding-bottom: 80px;


  }
}




.p-footer-bottom__contents {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-footer-bottom__text-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;

}

.p-footer-bottom__link {
  color: #fff;
  display: inline-block;
  font-weight: 500;
  font-size: 14px;
  line-height: calc(19.6/14);


}

@media screen and (min-width: 768px) {
  .p-footer-bottom__link {

    font-size: 28px;
    line-height: calc(38/28);

  }

}



.p-footer-bottom__link+.p-footer-bottom__link {
  margin-top: 16px;

}

@media screen and (min-width: 768px) {
  .p-footer-bottom__link+.p-footer-bottom__link {
    margin-top: 32px;


  }
}



.p-footer-bottom__text {
  color: #807A7A;
  display: inline-block;
  font-weight: 400;
  font-family: 'Roboto';
  font-size: 14px;
  line-height: calc(19.6/14);
  text-align: center
}

@media screen and (min-width: 768px) {

  .p-footer-bottom__text {
    font-size: 28px;
    line-height: calc(38/28);

  }
}




.p-footer-bottom__text-wrap {
  margin-top: 20px;

}



.p-footer-bottom__text+.p-footer-bottom__text {
  margin-top: 8px;

}

@media screen and (min-width: 768px) {

  .p-footer-bottom__text+.p-footer-bottom__text {
    margin-top: 16px;

  }

}

.p-footer-bottom__sns {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.p-footer-bottom__sns a {
  width: 100%;
  display: block;
  max-width: 40px;
}

.p-footer-bottom__snsImg img {
  width: 100%;
  height: auto;
  display: block;
}

.p-footer-bottom__snsImg {

  width: 100%;
}






.p-under-section__toc {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .p-under-section__toc {
    margin-top: 40px;
  }
}

.p-under-toc {
  padding: 25px 30px 30px;
  background: #2F313A;;


  position: relative;
}


.p-under-toc:before {
  display: inline-block;
  z-index: 10;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 83px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#fff));
  background: -webkit-linear-gradient(rgba(255, 255, 255, 0) 0%, #fff 100%);
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, #fff 100%);
  content: "";
  pointer-events: none;
}




.p-under-toc ul {
  overflow: hidden;
  height: calc(35.52px * 4);
}

.p-under-toc.show::before {
  display: none;
}



.p-under-toc.show ul {
  height: auto;
  overflow: visible;
}


.p-toc_toggle {
  position: relative;
  padding: initial;
  cursor: pointer;
}

.p-toc_toggle {
  z-index: 50;
  position: absolute;
  right: 15px;
  bottom: 16px;
}



.p-toc_toggle.open {
  bottom: 16px;
}

.p-toc_toggle.open .p-toc_toggle-box span:nth-of-type(2) {
  opacity: 0;

}



.p-toc_toggle-box {
  position: relative;
  width: 58px;
  height: 58px;
  background: #000;
}

.p-toc_toggle-box span {
  -webkit-transform: translateX(-50%);
  -webkit-transition: all 0.4s;
  display: block;
  position: relative;
  left: 50%;
  width: 22px;
  height: 2px;
  transform: translateX(-50%);
  background: #fff;
  transition: all 0.4s;
}






.p-toc_toggle-box span:nth-of-type(1) {
  top: 50%;
}


.p-toc_toggle-box span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
  height: 22px;
  width: 2px;

}









.p-under-toc__text {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  align-items: center;
  color: #ffffff;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3571428571;
}

@media screen and (min-width: 768px) {
  .p-under-toc__text {
    font-size: 25px;
    line-height: 1.56;
  }
}





.p-under-toc__text::before {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  display: inline-block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  background: url(../images/mokuji.png) no-repeat;
  background-size: contain;
  content: "";
}

@media screen and (min-width: 768px) {
  .p-under-toc__text::before {
    width: 40px;
    height: 40px;
  }
}

.p-under-toc__list li a {
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-under-toc__list li a {
    font-size: 20px;
  }
}

.p-under-toc__list li ul li a {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6666666667;
  display: block;
}

@media screen and (min-width: 768px) {
  .p-under-toc__list li ul li a {
    font-size: 16px;
    line-height: 1.6;
  }
}

.p-under-toc__list li+li {
  margin-top: 0;
}





.p-under-toc__list li:first-child {
  margin-top: 0;
}

.p-under-toc__list li>ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  margin-left: 12px;
}

.p-under-toc__list li>ul li {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  align-items: flex-start;
}

.p-under-toc__list li>ul li::before {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 10px;
  margin-top: -3px;
  content: "-";
}




.p-section__swiper {
  margin-top: 20px;
}



.p-review__head {
  display: flex;
  align-items: center;
}

.p-review__headImg {
  max-width: 100px;
  margin-right: 20px;
}

.p-review__bodyText {
  margin-top: 16px;
}

.p-review__slide {
  border: 1px solid #fff;
  padding: 20px;
}

.p-review__bottomText {
  margin-top: 16px;
}

.p-review__swiper-container .swiper-button-prev, .p-review__swiper-container .swiper-button-next{
  color: #FF503A;
}

.p-review__swiper-container .swiper-button-prev {
  left: 0;
}
.p-review__swiper-container .swiper-button-next {
  right: 0;
}

.p-footer__nav {
  margin-top: 16px;
  display: flex;
  align-items: center;
}



.p-footer__navText {
  color: #fff;
  display: inline-block;
  font-weight: 500;
  font-size: 14px;
  line-height: calc(19.6/14);
}


@media screen and (min-width: 768px) {
  .p-footer__navText {
    font-size: 20px;
  }
}

.p-footer-nav {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.p-footer-nav__item {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  margin-right: 5px;
  padding-right: 5px;
  border-right: 1px solid #fff;
}



.p-footer-nav__item a {
  display: inline-block;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .p-footer-nav__item a {
    font-size: 20px;
  }
}
