@charset "UTF-8";
/* CSS Document */
@use "sass:math";
body {
  padding-top: 50px;
}

.page-hd {
  height: 50px;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid #CCCCCC;
  z-index: 10;
}

.page-hd .hd-logo img {
  width: 246px;
}

.section-title {
  text-align: center;
  margin-bottom: 15px;
}

@media (min-width: 769px) {
  .section-title {
    margin-bottom: 50px;
  }
}

.btn-base {
  margin-bottom: 15px;
  font-weight: 500;
  height: 80px;
  border-radius: 8px;
}

@media (min-width: 769px) {
  .btn-base {
    max-width: 390px;
    margin-inline: auto;
    font-size: 16px;
  }
}

.btn-base a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  height: 100%;
  position: relative;
  padding-right: 30px;
  padding-left: 20px;
  border-radius: 8px;
  line-height: 1.6429;
}

@media (min-width: 769px) {
  .btn-base a {
    padding-left: 25px;
  }
}

.btn-base a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20px;
  width: 20px;
  height: 20px;
  background: url(/contents/point/dm/assets/images/common/icon_arrow01.svg) no-repeat;
  background-size: contain;
}

.btn-base.blue a {
  background: #ade3f0;
  box-shadow: 0 4px #50AED4;
}

.btn-base.gray a {
  background: #e6e6e6;
  box-shadow: 0 4px #B8B8B8;
}

.btn-base.white a {
  background: #fff;
  box-shadow: 0 4px #CCCCCC;
  border: 1px solid #CCCCCC;
}

.btn-base.pink a {
  background: #FFD4E5;
  box-shadow: 0 4px #F092BB;
}

.btn-base.icon-nw a::before {
  right: 16px;
  width: 14px;
  height: 14px;
  background-image: url(/contents/point/dm/assets/images/common/icon_nw.svg);
}

.btn-base.circle {
  line-height: 1.4;
  height: 70px;
}

@media (min-width: 769px) {
  .btn-base.circle {
    height: 80px;
  }
}

.btn-base.circle a {
  border-radius: 70px;
  padding-left: 30px;
  text-align: left;
}

@media (min-width: 769px) {
  .btn-base.circle a {
    padding-left: 44px;
  }
}

.attention-box {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
}

@media (min-width: 769px) {
  .attention-box {
    width: 390px;
    margin: 0 auto 10px;
    gap: 14px;
  }
}

.attention-box .icon {
  width: 26px;
}

@media (min-width: 769px) {
  .attention-box .icon {
    width: 40px;
  }
}

.attention-box .txt {
  flex: 1;
  font-weight: 500;
}

@media (min-width: 769px) {
  .app-info {
    width: 510px;
    margin: 0 auto;
  }
}

.app-info .app-ttl {
  font-size: 18px;
  font-weight: 800;
  text-align: center;
  color: #e5458b;
  margin-bottom: 12px;
  line-height: 1.6;
}

@media (min-width: 769px) {
  .app-info .app-ttl {
    font-size: 20px;
    margin-bottom: 40px;
  }
}

.app-info .app-link {
  display: flex;
  gap: 15px;
  margin-bottom: 23px;
}

@media (min-width: 769px) {
  .app-info .app-link {
    gap: 23px;
    margin-bottom: 32px;
    max-width: 380px;
    margin-inline: auto;
  }
}

.app-info .app-link .card {
  text-align: center;
  width: 76px;
}

@media (min-width: 769px) {
  .app-info .app-link .card {
    width: 90px;
  }
}

.app-info .app-link .card img {
  width: 52px;
}

@media (min-width: 769px) {
  .app-info .app-link .card img {
    width: 62px;
  }
}

.app-info .app-link .app {
  text-align: center;
  width: 76px;
}

@media (min-width: 769px) {
  .app-info .app-link .app {
    width: 90px;
  }
}

.app-info .app-link img {
  max-height: fit-content;
}

.app-info .app-link .txt-box {
  flex: 1;
}

@media (min-width: 769px) {
  .app-info .app-link .txt-box {
    margin-bottom: 0 !important;
  }
}

.app-info .app-link .txt-box .mds {
  text-align: left;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 12px;
  line-height: 1;
}

@media (min-width: 769px) {
  .app-info .app-link .txt-box .mds {
    font-size: 18px;
  }
}

.app-info .app-link .txt-box .btn-base {
  height: 50px;
  font-size: 13px;
  margin-bottom: 0;
}

@media (min-width: 769px) {
  .app-info .app-link .txt-box .btn-base {
    font-size: 16px;
    width: 280px;
  }
}

.app-info .app-link .txt-box .btn-base a {
  padding: 14px 12px;
  box-shadow: 0 2px #CCCCCC;
}

.app-info .app-link .txt-box .btn-base a::before {
  right: 10px;
}

.app-info .app-dl .mds {
  font-weight: 800;
  margin-bottom: 6px;
  text-align: center;
}

@media (min-width: 769px) {
  .app-info .app-dl .mds {
    font-size: 16px;
    margin-bottom: 20px;
  }
}

@media (min-width: 769px) {
  .app-info .app-dl .link-list {
    display: flex;
    justify-content: center;
    gap: 29px;
    margin-bottom: 10px;
  }
}

.app-info .app-dl .link-list li {
  margin-bottom: 20px;
  text-align: center;
}

.app-info .app-dl .link-list li a img {
  width: 142px;
}

@media (min-width: 769px) {
  .app-info .app-dl .link-list li a img {
    width: auto;
    height: 59px;
  }
}

.app-info .app-dl .howto {
  text-align: center;
  margin-bottom: 35px;
}

.app-info .app-dl .howto a {
  position: relative;
  padding-right: 20px;
}

@media (min-width: 769px) {
  .app-info .app-dl .howto a {
    font-size: 16px;
    font-weight: 600;
  }
}

.app-info .app-dl .howto a::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #333333;
}

.app-info .app-dl .howto a .icon-arrow {
  position: relative;
}

.app-info .app-dl .howto a .icon-arrow::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -20px;
  width: 20px;
  height: 20px;
  background: url(/contents/point/dm/assets/images/common/icon_arrow01.svg) no-repeat;
  background-size: contain;
}

/*============================
#mv
============================*/
#mv {
  padding: 35px 6px 40px 16px;
}

@media (min-width: 769px) {
  #mv {
    padding: 64px 10px 60px;
  }
}

#mv .mv-ttl {
  text-align: center;
}

@media (min-width: 769px) {
  #mv .mv-ttl img {
    max-width: 1004px;
  }
}

/*============================
contents
============================*/
.contents {
  background: #fff2f7;
}

@media (min-width: 769px) {
  .contents {
    font-size: 16px;
  }
}

.contents .sokupo-top {
  padding: 40px 30px 50px;
}

@media (min-width: 769px) {
  .contents .sokupo-top {
    padding: 120px 10px 60px;
    max-width: 795px;
    margin-inline: auto;
  }
}

.contents .sokupo-mds {
  margin-bottom: 25px;
  padding: 22px 0;
}

@media (max-width: 768px) {
  .contents .sokupo-mds {
    padding: 22px 0;
    border-top: 2px dotted #B8B8B8;
    border-bottom: 2px dotted #B8B8B8;
  }
}

@media (min-width: 769px) {
  .contents .sokupo-mds {
    padding: 0 16px 0 39px;
    border-left: 2px dotted #B8B8B8;
    border-right: 2px dotted #B8B8B8;
    margin-bottom: 28px;
  }
}

.contents .sokupo-mds p {
  text-indent: -1em;
  padding-left: 1em;
}

.contents .sokupo-mds .mds {
  font-weight: bold;
}

.contents .note-img {
  margin-bottom: 25px;
  text-align: center;
}

@media (min-width: 769px) {
  .contents .note-img {
    margin-bottom: 33px;
  }
}

.contents .btn-base.pink.circle a {
  background: #fcc0db;
}

.contents .attention-mds {
  text-align: center;
  font-size: 16px;
  color: #e5458b;
  font-weight: 800;
  margin-bottom: 8px;
}

@media (min-width: 769px) {
  .contents .attention-mds {
    font-size: 18px;
  }
}

.contents .attention-txt {
  text-align: center;
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 8px;
}

@media (min-width: 769px) {
  .contents .attention-txt {
    font-size: 18px;
    margin-bottom: 18px;
  }
}

.contents .example-box {
  margin-bottom: 40px;
  background: #fff;
  border-radius: 40px;
  padding: 36px 15px;
  text-align: center;
}

@media (min-width: 769px) {
  .contents .example-box {
    margin-inline: auto;
    max-width: 1020px;
    margin-bottom: 57px;
    padding: 60px 10px 70px;
  }
}

@media (min-width: 769px) {
  .contents .example-box img {
    max-width: 820px;
  }
}

.contents .example-box .note {
  margin: 30px 0 15px;
}

.contents .example-box .btn-base.gray {
  margin-top: 40px;
}

.contents .faq-btn {
  margin-left: 30px;
  margin-right: 30px;
  padding-bottom: 50px;
}

@media (min-width: 769px) {
  .contents .faq-btn {
    padding-bottom: 55px;
    margin-top: 40px;
    margin-inline: auto;
  }
}

/*============================
#point-ft
============================*/
#point-ft {
  padding-top: 40px;
  padding-bottom: 110px;
}

@media (min-width: 769px) {
  #point-ft {
    padding-top: 80px;
  }
}

#point-ft .box-inner .new-point-ttl {
  font-size: 20px;
  font-weight: 800;
  color: #e5458b;
  text-align: center;
  margin-bottom: 12px;
}

@media (min-width: 769px) {
  #point-ft .box-inner .new-point-ttl {
    font-size: 22px;
    margin-bottom: 14px;
  }
}

#point-ft .box-inner .new-point-bnr {
  text-align: center;
}

@media (min-width: 769px) {
  #point-ft .box-inner .new-point-bnr a img {
    width: 486px;
  }
}

#point-ft .box-inner .attention-box {
  margin-top: 44px;
}

@media (min-width: 769px) {
  #point-ft .box-inner .attention-box {
    margin-top: 55px;
  }
}

#point-ft .box-inner .app-info {
  margin-top: 50px;
}

@media (min-width: 769px) {
  #point-ft .box-inner .app-info {
    margin-top: 70px;
  }
}

#point-ft .box-inner .app-info .app-ttl {
  font-size: 22px;
  margin-bottom: 24px;
}

@media (min-width: 769px) {
  #point-ft .box-inner .app-info .app-ttl {
    font-size: 24px;
    margin-bottom: 50px;
  }
}

@media (min-width: 769px) {
  #point-ft .box-inner .app-info .app-link .txt-box .mds {
    margin-bottom: 20px;
  }
}

@media (min-width: 769px) {
  #point-ft .box-inner .app-info .app-link .txt-box .btn-base {
    margin-left: 0;
  }
}

@media (min-width: 769px) {
  #point-ft .box-inner .app-info .app-dl .howto {
    margin-bottom: 40px;
  }
}

#point-ft .box-inner .app-info .app-dl .app-code-mds {
  text-align: center;
  font-weight: 800;
  margin-bottom: 5px;
}

@media (min-width: 769px) {
  #point-ft .box-inner .app-info .app-dl .app-code-mds {
    font-size: 16px;
  }
}

#point-ft .box-inner .app-info .app-dl .app-code {
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
}

@media (min-width: 769px) {
  #point-ft .box-inner .app-info .app-dl .app-code {
    font-size: 15px;
  }
}

/*============================
下層共通パーツ
============================*/
/*============================
#title
============================*/
.ttl-box {
  background: #ffd4e5;
  text-align: center;
  z-index: 1;
  padding: 17px 0 0;
}

.ttl-box::before {
  content: "";
  position: absolute;
  bottom: -14.66667vw;
  left: 0;
  width: 100%;
  height: 19.73333vw;
  background: url(/contents/point/dm/assets/images/common/title_bg_sp.svg) no-repeat;
  background-size: contain;
}

@media (min-width: 769px) {
  .ttl-box::before {
    bottom: -10.78125vw;
    height: 10.78125vw;
    background-size: cover;
    background-image: url(/contents/point/dm/assets/images/common/title_bg_pc.svg);
  }
}

.ttl-box .ttl-sub {
  font-size: 14px;
  font-weight: 800;
  border-bottom: 2px dotted #E6458B;
  width: fit-content;
  margin: 0 auto 14px;
  padding-bottom: 6px;
  position: relative;
}

.ttl-box .txt-ttl {
  color: #e5458b;
  font-weight: 800;
  font-size: 30px;
  line-height: 1.4;
  position: relative;
}

.ttl-box .txt-ttl span {
  font-size: 24px;
}

.contents-box {
  background: #ffe8f1;
  padding-top: 29.33333vw;
  padding-bottom: 50px;
}

.contents-box .box-inner .btn-top {
  font-weight: 500;
  width: fit-content;
  margin-inline: auto;
}

.contents-box .box-inner .btn-top a {
  position: relative;
  padding-left: 20px;
}

.contents-box .box-inner .btn-top a::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #333333;
}

.contents-box .box-inner .btn-top a .icon-arrow {
  position: relative;
}

.contents-box .box-inner .btn-top a .icon-arrow::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -20px;
  width: 17px;
  height: 17px;
  background: url(/contents/point/dm/assets/images/common/icon_arrow_transparent.svg) no-repeat;
  background-size: contain;
}

.schedule-txt {
  width: 310px;
  margin: 0 auto 30px;
}

.schedule-txt .txt01 {
  text-align: center;
  margin-bottom: 12px;
  font-weight: 500;
}

.schedule-txt .txt02 {
  text-align: center;
  font-size: 12px;
  margin-bottom: 12px;
}

.schedule-txt .txt03 {
  position: relative;
  padding-left: 5px;
}

.schedule-txt .txt03::before {
  content: "";
  position: absolute;
  top: 9px;
  left: -7px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b8b8b8;
}

.cmn-hd .flex-wrapper,
.ft-nav {
  display: none !important;
}

.btn-pagetop {
  background: url(/contents/point/dm/assets/images/common/btn_pagetop.png) no-repeat;
  background-size: contain;
}

.btn-pagetop img {
  display: none;
}

/*# sourceMappingURL=_map/sokupo.css.map */
