body {
  color: #212121;
  background-color: #212121;
  font-optical-sizing: auto;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  font-feature-settings: "palt";
}

a {
  color: #ff7bc3;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1px;
}

a:hover {
  color: #ff008c;
  text-decoration: underline;
}

.nav-link {
  display: block;
  padding: .5rem .5rem;
}

a.nav-link {
  color: #ff7bc3;
  text-decoration: none;
  transition: transform 0.3s ease;
}

a.nav-link:hover {
  color: #ffc3e4;
  transform: translateY(-3px);
}

a.tn_link {
  color: #ff2e92;
  text-decoration: none;
}

a.tn_link:hover {
  color: #ff2e92;
  text-decoration: none;
}

.wrap {
  position: relative;
  overflow: hidden;
  margin-top: 46px;
  padding: 0 0 4rem;
}

.wrap-bg {
  background-image: url(../img/common/bg-lace-2.png), url(../img/common/bg.png);
  background-size: 116% auto, 40px auto;
  background-repeat: repeat-y, repeat;
  background-position: top -140px center, top center;
}

section {
  margin: 0 0 6rem;
}

.content {
  position: relative;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.inner {
  width: 90%;
  margin: 0 auto;
}

.heading {
  position: absolute;
  width: 100%;
  top: 1rem;
  left: 0;
  text-align: center;
}

.heading img {
  width: 34%;
}

.frame-outer {
  width: 100%;
}

.frame-top {
  width: 100%;
  aspect-ratio: 1 / 0.03495;
  background-image: url(../img/common/bg-top.png);
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 100%;
  border-bottom: #ff7bc3 solid 5px;
}

.frame-bottom {
  width: 100%;
  aspect-ratio: 1 / 0.03495;
  background-image: url(../img/common/bg-bottom.png);
  background-repeat: repeat-x;
  background-size: auto 100%;
  border-top: #ff7bc3 solid 5px;
}

.frame {
  width: 100%;
  padding: 10rem 5% 5rem;
  background-color: #fff3f9;
  border-top: #212121 solid 5px;
  border-bottom: #212121 solid 5px;
}

h1 {
  position: absolute;
  left: -9999px;
}

.h3 {
  width: 100%;
  text-align: center;
}

.h3 p {
  display: inline-block;
  padding: .2em 1em;
  text-align: center;
  border-bottom: #ff7bc3 dotted 3px;
  color: #ff7bc3;
  font-size: 26px;
  font-weight: 900;
  background-image: url(../img/common/heart.png), url(../img/common/heart.png);
  background-repeat: no-repeat;
  background-position: center left, center right;
  background-size: .9em;
}

.note {
  width: 70%;
  padding: 2rem;
  margin: 2rem auto 0;
  border: #ff7bc3 solid 2px;
}

.note p {
  margin: 0;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 12px;
  font-weight: 400;
}

@media screen and (min-width: 1px) and (max-width: 743px) {
  .pc_display {
    display: none;
  }

  .pc {
    display: none;
  }

  .wrap {
    margin: 0;
    padding: 0 0 4rem;
  }

  .wrap-bg {
    background-image: url(../img/common/sp-bg-lace-2.png), url(../img/common/bg.png);
    background-size: 140% auto, 30px auto;
    background-repeat: repeat-y, repeat;
    background-position: top center, top center;
  }

  section {
    margin: 0 0 4rem;
  }

  .content {
    width: 100%;
  }

  .inner {
    width: 90%;
  }

  .heading {
    position: absolute;
    width: 100%;
    top: -2rem;
    left: 0;
    text-align: center;
  }

  .heading img {
    width: 60%;
  }

  .frame-outer {
    width: 100%;
  }

  .frame-top {
    aspect-ratio: 1 / 0.05;
    border-bottom: #ff7bc3 solid 3px;
  }

  .frame-bottom {
    aspect-ratio: 1 / 0.05;
    border-top: #ff7bc3 solid 3px;
  }

  .frame {
    width: 100%;
    padding: 4rem 5% 2rem;
    background-color: #fff3f9;
    border-top: #212121 solid 5px;
    border-bottom: #212121 solid 5px;
  }

  .h3 p {
    font-size: 5.8vw;
  }

  .note {
    width: 100%;
    padding: 1rem;
    margin: 2rem auto 0;
  }

  .note p {
    font-size: 2.8vw;
  }

}

@media screen and (min-width: 744px) and (max-width: 1024px) {
  .sp_display {
    display: none;
  }

  .pc {
    display: none;
  }

  .wrap {
    margin-top: 0;
    padding: 0 0 4rem;
  }

  .heading img {
    width: 38%;
  }

  .frame {
    padding: 8rem 5% 3rem;
  }

  .h3 p {
    font-size: 2.8vw;
  }


}

@media screen and (min-width: 1025px) {
  .sp_display {
    display: none;
  }

  .sp {
    display: none;
  }

  .alpha a {
    display: block;
  }

  .alpha a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
  }

  .alpha a {
    display: block;
  }

  .alpha a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
  }

  a.btn-hover img {
    -webkit-transition: -weblit-transform 0.3s;
    -o-transition: -o-transform 0.3s;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }

  a.btn-hover img:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }
}