* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

@keyframes goDownAndUp1 {
  50% {
    top: 6%;
  }
  100% {
    top: 1.8%;
  }
}
@keyframes goDownAndUp1_sp {
  50% {
    top: 1%;
  }
  100% {
    top: -4%;
  }
}
@keyframes goDownAndUp2 {
  50% {
    bottom: 4%;
  }
  100% {
    bottom: 1%;
  }
}
@keyframes goDownAndUp2_sp {
  50% {
    bottom: 6%;
  }
  100% {
    bottom: 3%;
  }
}
body {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}

li {
  list-style: none;
}

img {
  vertical-align: top;
}

.pc_br {
  display: inline-block;
}
@media only screen and (max-width: 992px) {
  .pc_br {
    display: none;
  }
}

.sp_br {
  display: none;
}
@media only screen and (max-width: 992px) {
  .sp_br {
    display: inline-block;
  }
}

@media only screen and (max-width: 992px) {
  .pc_obj {
    display: none;
  }
}

.animation {
  opacity: 0;
  transform: translateY(20%);
  transition: opacity 1s ease, transform 1s ease;
}
.animation.active {
  opacity: 100;
  transform: translateY(0);
}

.arrow_animation::after {
  transform: translateY(-50%) translateX(-100%);
  transition: all 0.2s;
}
.arrow_animation:hover {
  opacity: 0.9;
}
.arrow_animation:hover::after {
  transform: translateY(-50%) translateX(0);
}

h2 {
  font-family: "Zen Old Mincho", serif;
  font-size: 45px;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: normal;
  position: relative;
}
@media only screen and (max-width: 992px) {
  h2 {
    font-size: calc((26 / 375) * 100 * 1vw);
    letter-spacing: 0.08em;
  }
}
h2::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}
@media only screen and (max-width: 992px) {
  a[href*="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
}

.loading {
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 0;
  background: #fdfdfd;
}
.loading.hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 2.5s;
}
.loading .circle {
  display: block;
  position: relative;
  top: calc(50% - 20px);
  width: 40px;
  height: 40px;
  margin: 0 auto;
  border: 8px solid #e0e0e0;
  border-top: 7px solid #ffcccc;
  border-radius: 50px;
  animation: loading 700ms linear 0ms infinite normal both;
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.describe {
  position: relative;
  padding-top: 250px;
}
@media only screen and (max-width: 992px) {
  .describe {
    padding-top: calc((110 / 375) * 100 * 1vw);
  }
}
.describe::before {
  content: "";
  display: block;
  width: 177px;
  height: 282px;
  position: absolute;
  top: 183px;
  left: calc(50% - 611px);
  background: url("../img/pc_star1.svg") no-repeat;
  background-size: contain;
}
@media only screen and (max-width: 992px) {
  .describe::before {
    width: calc((49.62 / 375) * 100 * 1vw);
    height: calc((115.36 / 375) * 100 * 1vw);
    top: calc((13 / 375) * 100 * 1vw);
    left: calc(50% - ((165 / 375) * 100 * 1vw));
    background: url("../img/sp_star1.svg") no-repeat;
  }
}
.describe::after {
  content: "";
  display: block;
  width: 218px;
  height: 201px;
  position: absolute;
  top: 77px;
  right: calc(50% - 613px);
  background: url("../img/pc_star2.svg") no-repeat;
  background-size: contain;
}
@media only screen and (max-width: 992px) {
  .describe::after {
    width: calc((89.39 / 375) * 100 * 1vw);
    height: calc((86.62 / 375) * 100 * 1vw);
    top: calc((50 / 375) * 100 * 1vw);
    right: 0;
    background: url("../img/sp_star2.svg") no-repeat;
  }
}
.describe img {
  width: 100%;
  height: auto;
}
.describe h2 {
  margin-bottom: 72px;
}
.describe h2::after {
  width: 150px;
  height: 39px;
  background-image: url("../img/header_h2.svg");
  bottom: -45px;
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 992px) {
  .describe h2::after {
    width: calc((115.38 / 375) * 100 * 1vw);
    height: calc((30 / 375) * 100 * 1vw);
    bottom: calc((-32 / 375) * 100 * 1vw);
  }
}
.describe p ,.comic-text p {
  text-align: center;
  font-size: 17px;
  font-weight: 300;
  line-height: 44px;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 992px) {
  .describe p ,.comic-text p {
    font-size: calc((14 / 375) * 100 * 1vw);
    line-height: calc((27 / 375) * 100 * 1vw);
    letter-spacing: 0.05em;
  }
}

main #spot {
  width: 100%;
  height: 2750px;
  padding: 10px 0;
  margin-bottom: -177px;
  background: url("../img/pc_star3.svg"), url("../img/pc_star4.svg"),
    url("../img/pc_star5.svg"), url("../img/pc_star6.svg"),
    url("../img/pc_star7.svg"), url("../img/pc_star8.svg"),
    url("../img/pc_star9.svg"), url("../img/pc_star10.svg"),
    url("../img/wave1_pc.svg"), url("../img/wave2_pc.svg"),
    url("../img/spot_back.png");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
    no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: calc(50% - 457px) 367px, calc(50% + 488px) 71px,
    calc(50% + 508px) 388px, calc(50% + 156px) 650px, calc(50% + 602px) 1148px,
    calc(50% + 578px) 1678px, calc(50% - 476px) 1519px, calc(50% - 581px) 726px,
    top left, bottom left, center center;
  background-size: 173px 171px, 80px 161px, 223px 408px, 108px 76px, 41px 97px,
    117px 200px, 255px 265px, 111px 412px, contain, contain, cover;
  margin-top: 50px;
}
@media only screen and (max-width: 992px) {
  main #spot {
    height: calc((1300 / 375) * 100 * 1vw);
    padding: calc((10 / 375) * 100 * 1vw) 0;
    background: none;
    background-image: url("../img/wave1_sp.svg"), url("../img/wave2_sp.svg"),
      url("../img/spot_back_sp@2x.png");
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: top left, bottom left, center center;
    background-size: contain, contain, cover;
    margin-top: calc((31 / 375) * 100 * 1vw);
    margin-bottom: calc((-10 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map {
  margin: 98px auto 0;
  position: relative;
  width: 990px;
  text-align: center;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map {
    margin: calc((72 / 375) * 100 * 1vw) auto 0;
    width: 100%;
  }
}
main #spot .spot_map picture {
  width: 655px;
  height: 616px;
  display: block;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map picture {
    width: calc((328.119 / 375) * 100 * 1vw);
    height: calc((308.5822 / 375) * 100 * 1vw);
  }
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map picture img {
    width: calc((328.119 / 375) * 100 * 1vw);
    height: calc((308.5822 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map picture::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("../img/map-img-bk.png");
  background-repeat: no-repeat;
  background-position: center center;
  z-index: -1;
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map picture::after {
    background-size: contain;
  }
}
main #spot .spot_map ul {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
main #spot .spot_map ul .lists-item {
  list-style: none;
  position: absolute;
  cursor: pointer;
  width: 39.4px;
  height: auto;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map ul .lists-item {
    width: calc((19.7368 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map ul .lists-item img {
  max-width: 100%;
  height: auto;
  transition: 0.5s;
  filter: drop-shadow(2px 2px 5px transparent);
}
main #spot .spot_map ul .lists-item:hover img {
  filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.7));
}
main #spot .spot_map ul .mark-1 {
  top: 85px;
  left: 538px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map ul .mark-1 {
    top: calc((42 / 375) * 100 * 1vw);
    left: calc((209.7 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map ul .mark-2 {
  top: 16px;
  left: 652px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map ul .mark-2 {
    top: calc((8.1 / 375) * 100 * 1vw);
    left: calc((267 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map ul .mark-3 {
  top: 27px;
  left: 673px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map ul .mark-3 {
    top: calc((13.8 / 375) * 100 * 1vw);
    left: calc((277 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map ul .mark-4 {
  top: 25px;
  left: 709px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map ul .mark-4 {
    top: calc((13 / 375) * 100 * 1vw);
    left: calc((294.7 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map ul .mark-5 {
  top: 62px;
  left: 759px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map ul .mark-5 {
    top: calc((31 / 375) * 100 * 1vw);
    left: calc((320.3 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map ul .mark-6 {
  top: 143px;
  left: 465px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map ul .mark-6 {
    top: calc((71.8 / 375) * 100 * 1vw);
    left: calc((173.2 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map ul .mark-7 {
  top: 271px;
  left: 334px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map ul .mark-7 {
    top: calc((135.9 / 375) * 100 * 1vw);
    left: calc((107.2 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map ul .mark-8 {
  top: 473px;
  left: 219px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map ul .mark-8 {
    top: calc((236.9 / 375) * 100 * 1vw);
    left: calc((49.7 / 375) * 100 * 1vw);
  }
}
main #spot .spot_map ul .mark-9 {
  top: 114px;
  left: 249px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_map ul .mark-9 {
    top: calc((56.5 / 375) * 100 * 1vw);
    left: calc((65 / 375) * 100 * 1vw);
  }
}
main #spot .spot_link {
  width: 990px;
  margin: 78px auto 104px;
  display: flex;
  flex-wrap: wrap;
  gap: 31.5px 31.5px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_link {
    width: calc((324 / 375) * 100 * 1vw);
    margin: calc((31 / 375) * 100 * 1vw) auto calc((57 / 375) * 100 * 1vw);
    gap: calc((10.3 / 375) * 100 * 1vw);
  }
}
main #spot .spot_link li {
  cursor: pointer;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_link li {
    flex: 1 1 calc((101 / 375) * 100 * 1vw);
  }
}
main #spot .spot_link li::after {
  content: "";
  display: block;
  width: 52px;
  height: 71px;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  right: 7.5px;
  bottom: 9px;
}
@media only screen and (max-width: 992px) {
  main #spot .spot_link li::after {
    width: calc((17.03 / 375) * 100 * 1vw);
    height: calc((23.28 / 375) * 100 * 1vw);
    right: calc((2.9795 / 375) * 100 * 1vw);
    bottom: calc((2.4774 / 375) * 100 * 1vw);
  }
}
main #spot .spot_link li:nth-child(1)::after {
  background-image: url("../img/icon-mark-1.svg");
}
main #spot .spot_link li:nth-child(2)::after {
  background-image: url("../img/icon-mark-2.svg");
}
main #spot .spot_link li:nth-child(3)::after {
  background-image: url("../img/icon-mark-3.svg");
}
main #spot .spot_link li:nth-child(4)::after {
  background-image: url("../img/icon-mark-4.svg");
}
main #spot .spot_link li:nth-child(5)::after {
  background-image: url("../img/icon-mark-5.svg");
}
main #spot .spot_link li:nth-child(6)::after {
  background-image: url("../img/icon-mark-6.svg");
}
main #spot .spot_link li:nth-child(7)::after {
  background-image: url("../img/icon-mark-7.svg");
}
main #spot .spot_link li:nth-child(8)::after {
  background-image: url("../img/icon-mark-8.svg");
}
main #spot .spot_link li:nth-child(9)::after {
  background-image: url("../img/icon-mark-9.svg");
}
main #spot .spot_link li img {
  width: 100%;
  height: auto;
  transition-duration: 0.3s;
}
main #spot .spot_link li:hover img {
  transform: scale(1.1);
  transition-duration: 0.3s;
}
main #spot h2 {
  margin-bottom: 80px;
}
@media only screen and (max-width: 992px) {
  main #spot h2 {
    margin-bottom: calc((52 / 375) * 100 * 1vw);
  }
}
main #spot h2::after {
  width: 150px;
  height: 39px;
  background-image: url("../img/header_h2.svg");
  bottom: -45px;
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 992px) {
  main #spot h2::after {
    width: calc((115.38 / 375) * 100 * 1vw);
    height: calc((30 / 375) * 100 * 1vw);
    bottom: calc((-32 / 375) * 100 * 1vw);
  }
}
main #spot h2 + a {
  display: flex;
  width: 519px;
  height: 90px;
  border-radius: 45px;
  background-color: #009eff;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 23.4px;
  line-height: 1;
  letter-spacing: 0.2em;
  margin: 0 auto 237px;
  position: relative;
  text-decoration: none;
}
@media only screen and (max-width: 992px) {
  main #spot h2 + a {
    width: calc((291 / 375) * 100 * 1vw);
    height: calc((50 / 375) * 100 * 1vw);
    border-radius: calc((25 / 375) * 100 * 1vw);
    font-size: calc((15 / 375) * 100 * 1vw);
    margin: 0 auto calc((92 / 375) * 100 * 1vw);
  }
}
main #spot h2 + a::after {
  content: "";
  display: block;
  width: 16px;
  height: 27px;
  background-image: url(../img/btn_arrow.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 28px;
}
@media only screen and (max-width: 992px) {
  main #spot h2 + a::after {
    width: calc((10.13 / 375) * 100 * 1vw);
    height: calc((15.84 / 375) * 100 * 1vw);
    right: calc((13.5 / 375) * 100 * 1vw);
  }
}
main #about {
  position: relative;
  padding-top: 131px;
  background-image: url("../img/pc_star11.svg");
  background-repeat: no-repeat;
  background-position: center top;
  margin-bottom: 32px;
}
@media only screen and (max-width: 992px) {
  main #about {
    padding-top: calc((19 / 375) * 100 * 1vw);
    padding: calc((27 / 375) * 100 * 1vw) calc((27 / 375) * 100 * 1vw)
      calc((66 / 375) * 100 * 1vw) calc((27 / 375) * 100 * 1vw);
    background-image: url("../img/sp_star11.svg");
    margin-bottom: 0;
  }
}
main #about p {
  text-align: center;
  font-size: 18px;
  line-height: 44px;
  letter-spacing: 0.1em;
  font-weight: 300;
  margin-bottom: 41px;
}
@media only screen and (max-width: 992px) {
  main #about p {
    font-size: calc((14 / 375) * 100 * 1vw);
    line-height: calc((27 / 375) * 100 * 1vw);
    margin-bottom: calc((49 / 375) * 100 * 1vw);
  }
}
main #gt_top {
  width: 100%;
  position: relative;
  overflow: hidden;
}
main #gt_top .scroll {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
main #gt_top .scroll_to_spot {
  top: 1.8%;
  transform: translateX(-50%);
  animation-name: goDownAndUp1;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
}
@media only screen and (max-width: 992px) {
  main #gt_top .scroll_to_spot {
    animation-name: goDownAndUp1_sp;
    top: -4%;
  }
}
@media only screen and (max-width: 992px) {
  main #gt_top .scroll_to_spot img {
    width: calc((148 / 375) * 100 * 1vw);
    height: auto;
  }
}
main #gt_top .wrap_main-picture .main-picture {
  width: 100%;
  height: calc((1335 / 1400) * 100 * 1vw);
}
@media only screen and (max-width: 992px) {
  main #gt_top .wrap_main-picture .main-picture {
    height: calc((700 / 375) * 100 * 1vw);
    overflow: hidden;
  }
}
main #gt_top .wrap_main-picture .main-picture img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 992px) {
  main #gt_top .wrap_main-picture .main-picture img {
    position: relative;
    top: calc((-38.5 / 375) * 100 * 1vw);
    z-index: -1;
  }
}

.wrap_main-picture {
  position: relative;
}

.wrap_main-picture h2 {
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
  }
@media only screen and (max-width: 992px) {
  .wrap_main-picture h2 {
    width: 100%;
    bottom: calc((80 / 375) * 100 * 1vw);
  }
}
.wrap_main-picture h2::after {
  content: "";
  display: block;
  width: 183px;
  height: 37px;
  background-image: url("../img/introductory_comic_h2.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -45px;
  transform: translateX(-50%);
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 992px) {
  .wrap_main-picture h2::after {
    width: calc((130.74 / 375) * 100 * 1vw);
    height: calc((26.43 / 375) * 100 * 1vw);
    bottom: calc((-36 / 375) * 100 * 1vw);
  }
}

main #gt_top .scroll_to_photocon {
  animation-name: goDownAndUp2;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
  bottom: 1%;
}
@media only screen and (max-width: 992px) {
  main #gt_top .scroll_to_photocon {
    animation-name: goDownAndUp2_sp;
    bottom: 3%;
  }
}
@media only screen and (max-width: 992px) {
  main #gt_top .scroll_to_photocon img {
    width: calc((246 / 375) * 100 * 1vw);
    height: auto;
  }
}
main #gt_top .insta_btn {
  display: block;
  width: 150px;
  height: 150px;
  border-radius: 100%;
  background-image: url("../img/insta_btn_bk.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  left: calc(50% - 500px);
  bottom: 130px;
  z-index: 10;
  transition: opacity 0.2s;
}
@media only screen and (max-width: 992px) {
  main #gt_top .insta_btn {
    width: calc((90 / 375) * 100 * 1vw);
    height: calc((90 / 375) * 100 * 1vw);
    left: calc((12 / 375) * 100 * 1vw);
    bottom: calc((105 / 375) * 100 * 1vw);
  }
}
main #gt_top .insta_btn::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px 9px 0 9px;
  border-color: #ffffff transparent transparent transparent;
  position: absolute;
  bottom: 15px;
  left: calc(50% - 9px);
}
@media only screen and (max-width: 992px) {
  main #gt_top .insta_btn::before {
    border-width: calc((7 / 375) * 100 * 1vw) calc((5.5 / 375) * 100 * 1vw) 0
      calc((5.5 / 375) * 100 * 1vw);
    bottom: calc((5 / 375) * 100 * 1vw);
    left: calc(50% - 5.5px);
  }
}
main #gt_top .insta_btn a.bnr {
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.2em;
  color: #fff;
  text-decoration: none;
}
@media only screen and (max-width: 992px) {
  main #gt_top .insta_btn a.bnr {
    letter-spacing: 0;
    font-size: calc((9.42 / 375) * 100 * 1vw);
    line-height: calc((14.37 / 375) * 100 * 1vw);
  }
}
main #gt_top .insta_btn a.bnr span {
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.15em;
  margin-top: 4px;
  display: inline-block;
}
@media only screen and (max-width: 992px) {
  main #gt_top .insta_btn a.bnr span {
    font-size: calc((8.44 / 375) * 100 * 1vw);
    margin-top: calc((2 / 375) * 100 * 1vw);
    line-height: 1.4;
  }
}
main #gt_top .insta_btn a.bnr::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: transparent;
}
main #gt_top .insta_btn:hover {
  opacity: 0.8;
}
main #gt_top #pagetop {
  position: fixed;
  bottom: 20px;
  left: calc(50% - 452px);
  z-index: 10;
  color: #fff;
  text-decoration: none;
}
@media only screen and (max-width: 992px) {
  main #gt_top #pagetop {
    bottom: calc((15 / 375) * 100 * 1vw);
    left: calc((34 / 375) * 100 * 1vw);
  }
}
main #gt_top #pagetop .pagetop-arrow {
  text-align: center;
  max-width: 10px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  top: 0px;
  transition: all 0.2s;
}
@media only screen and (max-width: 992px) {
  main #gt_top #pagetop .pagetop-arrow {
    max-width: calc((8 / 375) * 100 * 1vw);
  }
}
main #gt_top #pagetop .pagetop-arrow img {
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.6));
}
main #gt_top #pagetop .pagetop-text {
  font-size: 0.75rem;
  text-align: center;
  text-shadow: 0 0 5px black;
}
@media only screen and (max-width: 992px) {
  main #gt_top #pagetop .pagetop-text {
    font-size: 0.625rem;
  }
}
main #gt_top #pagetop:hover .pagetop-arrow {
  position: relative;
  top: -10px;
}
main #post_campaign {
  text-align: center;
  margin-bottom: -30px;
  background: url("../img/../img/pc_star12.svg"),
    url("../img/../img/pc_star13.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: calc(50% - 556px) 2px, calc(50% + 561px) 17px;
}
@media only screen and (max-width: 992px) {
  main #post_campaign {
    background: none;
    background: url("../img/../img/sp_star12.svg"),
      url("../img/../img/sp_star13.svg");
    background-repeat: no-repeat, no-repeat;
    background-position: left calc((11 / 375) * 100 * 1vw) top,
      right calc((9.8 / 375) * 100 * 1vw) bottom;
    background-size: calc((57.9599 / 375) * 100 * 1vw)
        calc((732.8233 / 375) * 100 * 1vw),
      calc((73.5075 / 375) * 100 * 1vw) calc((717.9709 / 375) * 100 * 1vw);
    padding-bottom: calc((66 / 375) * 100 * 1vw);
    z-index: 1;
    position: relative;
  }
}
main #post_campaign h2 {
  display: inline-block;
  font-size: 40px;
  font-weight: 700;
  line-height: 59px;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", sans-serif;
  background: linear-gradient(
    to right,
    rgba(92, 190, 255, 0.8) 0%,
    rgba(255, 142, 178, 0.8) 50%,
    rgba(255, 142, 130, 0.8) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  margin-bottom: 96px;
}
@media only screen and (max-width: 992px) {
  main #post_campaign h2 {
    font-size: calc((26 / 375) * 100 * 1vw);
    line-height: calc((39 / 375) * 100 * 1vw);
    margin-bottom: calc((58 / 375) * 100 * 1vw);
  }
}
main #post_campaign h2 .photo_contest {
  font-size: 24px;
  line-height: 1em;
  letter-spacing: 0.1em;
  background: none;
  -webkit-text-fill-color: #000;
  margin-bottom: 19px;
  display: inline-block;
}
@media only screen and (max-width: 992px) {
  main #post_campaign h2 .photo_contest {
    font-size: calc((18 / 375) * 100 * 1vw);
    margin-bottom: calc((16 / 375) * 100 * 1vw);
  }
}
main #post_campaign h2 .period {
  display: block;
  font-size: 31px;
  line-height: 1em;
  margin-top: 12px;
}
@media only screen and (max-width: 992px) {
  main #post_campaign h2 .period {
    font-size: calc((19 / 375) * 100 * 1vw);
    margin-top: calc((6 / 375) * 100 * 1vw);
  }
}
main #post_campaign h2::after {
  content: "";
  display: block;
  width: 183px;
  height: 37px;
  background-image: url("../img/post_campaign_h2.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -45px;
  transform: translateX(-50%);
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 992px) {
  main #post_campaign h2::after {
    width: calc((130.74 / 375) * 100 * 1vw);
    height: calc((26.43 / 375) * 100 * 1vw);
    bottom: calc((-36 / 375) * 100 * 1vw);
  }
}
main #post_campaign p {
  font-size: 18px;
  line-height: 44px;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 992px) {
  main #post_campaign p {
    text-align: center;
    font-size: calc((14 / 375) * 100 * 1vw);
    line-height: calc((27 / 375) * 100 * 1vw);
    letter-spacing: 0;
  }
}
main #post_campaign .post_campaign_contents {
  width: 1000px;
  height: auto;
  background: linear-gradient(
    to right,
    rgba(92, 190, 255, 0.8) 0%,
    rgba(255, 142, 178, 0.8) 50%,
    rgba(255, 142, 130, 0.8) 100%
  );
  padding: 54px 0;
  margin: 70px auto 0;
  position: relative;
}
@media only screen and (max-width: 992px) {
  main #post_campaign .post_campaign_contents {
    width: calc((303 / 375) * 100 * 1vw);
    padding: calc((34 / 375) * 100 * 1vw) 0 calc((40 / 375) * 100 * 1vw);
    margin: calc((42 / 375) * 100 * 1vw) auto 0;
  }
}
main #post_campaign .post_campaign_contents ::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
  background-color: transparent;
  border: #000 solid 1px;
  transform: rotate(-2deg);
}
main #post_campaign .post_campaign_contents p {
  font-size: 18px;
  font-weight: 400;
  line-height: 44px;
  letter-spacing: 0;
  color: #fff;
}
@media only screen and (max-width: 992px) {
  main #post_campaign .post_campaign_contents p {
    font-size: calc((14 / 375) * 100 * 1vw);
    line-height: calc((26 / 375) * 100 * 1vw);
  }
}
main #post_campaign .post_campaign_contents p + P {
  font-weight: 700;
  margin-top: 27px;
}
@media only screen and (max-width: 992px) {
  main #post_campaign .post_campaign_contents p + P {
    margin-top: calc((21 / 375) * 100 * 1vw);
  }
}
main #how_to_apply {
  width: 100%;
  height: 898px;
  padding: 232px 0 10px;
  background: url("../img/wave3_pc.svg"), url("../img/wave4_pc.svg"),
    url("../img/how_to_apply_back.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top left, bottom left, center center;
  background-size: contain, contain, cover;
  margin-bottom: -36px;
}
@media only screen and (max-width: 992px) {
  main #how_to_apply {
    height: calc((1293 / 375) * 100 * 1vw);
    padding: calc((123 / 375) * 100 * 1vw) 0 calc((10 / 375) * 100 * 1vw);
    background: none;
    background: url("../img/wave3_sp.svg"), url("../img/wave4_sp.svg"),
      url("../img/how_to_apply_back_sp@2x.png");
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: top left, bottom left, center center;
    background-size: contain, contain, cover;
    margin-bottom: 0;
  }
}
main #how_to_apply h2 {
  margin-bottom: 118px;
  position: relative;
  padding-bottom: 0;
}
@media only screen and (max-width: 992px) {
  main #how_to_apply h2 {
    margin-bottom: calc((91 / 375) * 100 * 1vw);
  }
}
main #how_to_apply h2::after {
  content: "";
  display: block;
  width: 160px;
  height: 36px;
  background-image: url("../img/how_to_apply_h2.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -42px;
  transform: translateX(-50%);
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 992px) {
  main #how_to_apply h2::after {
    width: calc((123.07 / 375) * 100 * 1vw);
    height: calc((27.69 / 375) * 100 * 1vw);
    bottom: calc((-30 / 375) * 100 * 1vw);
  }
}
main #how_to_apply .wrap_apply ol {
  display: flex;
  width: 1000px;
  margin: 0 auto;
  justify-content: space-between;
}
@media only screen and (max-width: 992px) {
  main #how_to_apply .wrap_apply ol {
    width: calc((257 / 375) * 100 * 1vw);
    display: block;
  }
}
main #how_to_apply .wrap_apply ol li {
  padding-top: 40px;
  padding-bottom: 24px;
  flex: 0 0 280px;
  text-align: center;
  display: flex;
  flex-direction: column;
  background-image: url("../img/how_to_apply_list_border.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}
@media only screen and (max-width: 992px) {
  main #how_to_apply .wrap_apply ol li {
    padding-top: 40px;
    padding-bottom: 24px;
    width: 100%;
    min-height: calc((256.9 / 375) * 100 * 1vw);
  }
}
main #how_to_apply .wrap_apply ol li::before {
  content: "";
  display: block;
  width: 172px;
  height: 44px;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  top: -19px;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width: 992px) {
  main #how_to_apply .wrap_apply ol li::before {
    width: calc((163.9892 / 375) * 100 * 1vw);
    height: calc((41.9507 / 375) * 100 * 1vw);
    top: calc((-25 / 375) * 100 * 1vw);
  }
}
main #how_to_apply .wrap_apply ol li:nth-child(1)::before {
  background-image: url("../img/how_to_apply_step1.svg");
}
main #how_to_apply .wrap_apply ol li:nth-child(2)::before {
  background-image: url("../img/how_to_apply_step2.svg");
}
main #how_to_apply .wrap_apply ol li:nth-child(3)::before {
  background-image: url("../img/how_to_apply_step3.svg");
}
@media only screen and (max-width: 992px) {
  main #how_to_apply .wrap_apply ol li:not(:nth-child(1)) {
    margin-top: calc((58 / 375) * 100 * 1vw);
  }
}
main #how_to_apply .wrap_apply ol li h4 {
  font-size: 20px;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 0.1em;
  flex-grow: 0;
}
@media only screen and (max-width: 992px) {
  main #how_to_apply .wrap_apply ol li h4 {
    font-size: calc((18 / 375) * 100 * 1vw);
    line-height: calc((32 / 375) * 100 * 1vw);
  }
}
main #how_to_apply .wrap_apply ol li h4 span {
  background: linear-gradient(transparent 60%, #fff 60%);
}
main #how_to_apply .wrap_apply ol li .wrap_con {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
}
main #how_to_apply .wrap_apply ol li .wrap_con p {
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0.03em;
}
@media only screen and (max-width: 992px) {
  main #how_to_apply .wrap_apply ol li .wrap_con p {
    font-size: calc((14 / 375) * 100 * 1vw);
    line-height: calc((26 / 375) * 100 * 1vw);
  }
}
main #how_to_apply .wrap_apply ol li .wrap_con p span {
  font-size: 14px;
  line-height: 21px;
  letter-spacing: 0em;
  display: inline-block;
  margin-top: 6px;
}
@media only screen and (max-width: 992px) {
  main #how_to_apply .wrap_apply ol li .wrap_con p span {
    font-size: calc((12 / 375) * 100 * 1vw);
    line-height: calc((20 / 375) * 100 * 1vw);
    margin-top: calc((9 / 375) * 100 * 1vw);
  }
}
main #how_to_instagram {
  margin-bottom: -80px;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram {
    margin-bottom: calc((-42 / 375) * 100 * 1vw);
  }
}
main #how_to_instagram .wrap_how_to_instagram1 {
  width: 1000px;
  height: 365px;
  margin: 0 auto 21px;
  padding-top: 68px;
  padding-left: 390px;
  background-image: url("../img/how_to_instagram_img.png");
  background-repeat: no-repeat;
  background-position: left top;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram .wrap_how_to_instagram1 {
    width: 100%;
    height: calc((650 / 375) * 100 * 1vw);
    margin: 0 auto calc((11 / 375) * 100 * 1vw);
    padding-top: calc((24 / 375) * 100 * 1vw);
    padding-left: 0;
    background-position: center bottom;
  }
}
main #how_to_instagram .wrap_how_to_instagram1 h3 {
  font-size: 27px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 49px;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram .wrap_how_to_instagram1 h3 {
    font-size: calc((18 / 375) * 100 * 1vw);
    margin-bottom: calc((32 / 375) * 100 * 1vw);
    text-align: center;
  }
}
main #how_to_instagram .wrap_how_to_instagram1 h3 span {
  background-image: url("../img/how_to_instagram_h3_bk.png");
  background-repeat: no-repeat;
  background-position: left bottom;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram .wrap_how_to_instagram1 h3 span {
    background-size: contain;
  }
}
main #how_to_instagram .wrap_how_to_instagram1 ol li {
  font-size: 18px;
  font-weight: 400;
  line-height: 36px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram .wrap_how_to_instagram1 ol li {
    font-size: calc((14 / 375) * 100 * 1vw);
    line-height: calc((26 / 375) * 100 * 1vw);
    letter-spacing: 0.03em;
  }
}
main #how_to_instagram .wrap_how_to_instagram1 ol li ol.hash_tag {
  margin-top: 5px;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram .wrap_how_to_instagram1 ol li ol.hash_tag {
    margin-top: calc((5 / 375) * 100 * 1vw);
  }
}
main #how_to_instagram .wrap_how_to_instagram1 ol li ol.hash_tag li {
  font-size: 16px;
  line-height: 30px;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram .wrap_how_to_instagram1 ol li ol.hash_tag li {
    font-size: calc((12 / 375) * 100 * 1vw);
    line-height: calc((24 / 375) * 100 * 1vw);
    margin-bottom: 0;
  }
}
main #how_to_instagram .wrap_how_to_instagram1 ol li ol.hash_tag li::before {
  content: none;
}
main #how_to_instagram .wrap_how_to_instagram1 ol:not(.hash_tag) {
  padding-left: 38px;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram .wrap_how_to_instagram1 ol:not(.hash_tag) {
    padding-left: calc((85 / 375) * 100 * 1vw);
  }
}
main #how_to_instagram .wrap_how_to_instagram1 ol:not(.hash_tag) li {
  margin-bottom: 6px;
  position: relative;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram .wrap_how_to_instagram1 ol:not(.hash_tag) li {
    margin-bottom: calc((10 / 375) * 100 * 1vw);
  }
}
main #how_to_instagram .wrap_how_to_instagram1 ol:not(.hash_tag) li::before {
  content: "";
  display: block;
  width: 32px;
  height: 29px;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  top: 0;
  left: -38px;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram .wrap_how_to_instagram1 ol:not(.hash_tag) li::before {
    width: calc((28.12 / 375) * 100 * 1vw);
    height: calc((25.15 / 375) * 100 * 1vw);
    left: calc((-33 / 375) * 100 * 1vw);
  }
}
main
  #how_to_instagram
  .wrap_how_to_instagram1
  ol:not(.hash_tag)
  li:nth-child(1)::before {
  background-image: url("../img/how_to_instagram_list_num1.svg");
}
main
  #how_to_instagram
  .wrap_how_to_instagram1
  ol:not(.hash_tag)
  li:nth-child(2)::before {
  background-image: url("../img/how_to_instagram_list_num2.svg");
}
main #how_to_instagram a {
  display: block;
  width: 640px;
  height: 110px;
  border-radius: 55px;
  margin: 0 auto 17px;
  background: url("../img/how_to_instagram_btn_text.svg"),
    url("../img/how_to_instagram_btn_bk.png");
  background-repeat: no-repeat, no-repeat;
  background-position: center top 20px, center center;
  background-size: 187.7px 37.8px, cover;
  text-align: center;
  color: #fff;
  padding-top: 72px;
  text-decoration: none;
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.006em;
  z-index: 2;
  position: relative;
  transition: box-shadow 0.2s;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram a {
    width: calc((325 / 375) * 100 * 1vw);
    height: calc((84 / 375) * 100 * 1vw);
    border-radius: calc((42 / 375) * 100 * 1vw);
    margin: 0 auto calc((10 / 375) * 100 * 1vw);
    background-position: center top calc((10.27 / 375) * 100 * 1vw),
      center center;
    background-size: calc((144.3862 / 375) * 100 * 1vw)
        calc((29.0977 / 375) * 100 * 1vw),
      cover;
    padding-top: calc((44 / 375) * 100 * 1vw);
    font-size: calc((12 / 375) * 100 * 1vw);
    line-height: calc((17 / 375) * 100 * 1vw);
    letter-spacing: 0.03em;
  }
}
main #how_to_instagram a:hover {
  box-shadow: 0px 0px 15px -5px #2d2c2c;
}
main #how_to_instagram p.annotation {
  text-align: center;
  font-size: 14px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.006em;
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram p.annotation {
    text-align: left;
    font-size: calc((12 / 375) * 100 * 1vw);
    line-height: calc((20 / 375) * 100 * 1vw);
    letter-spacing: 0;
    display: block;
    width: calc((325 / 375) * 100 * 1vw);
    margin: 0 auto;
  }
}
@media only screen and (max-width: 992px) {
  main #how_to_instagram p.annotation span {
    display: inline-block;
    padding-left: 1em;
    text-indent: -1em;
  }
}
main #prize_introduction {
  width: 100%;
  height: 830px;
  padding: 253px 0 10px;
  margin-bottom: -23px;
  background: url("../img/wave5_pc.svg"), url("../img/wave6_pc.svg"),
    url("../img/prize_introduction_bk.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top left, bottom left, center center;
  background-size: contain, contain, cover;
}
@media only screen and (max-width: 992px) {
  main #prize_introduction {
    height: calc((874 / 375) * 100 * 1vw);
    padding: calc((138 / 375) * 100 * 1vw) 0 calc((10 / 375) * 100 * 1vw);
    margin-bottom: 0;
    background: none;
    background: url("../img/wave5_sp.svg"), url("../img/wave6_sp.svg"),
      url("../img/prize_introduction_bk_sp@2x.png");
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: top left, bottom left, center center;
    background-size: contain, contain, cover;
  }
}
main #prize_introduction h2 {
  padding-bottom: 0;
  margin-bottom: 103px;
  position: relative;
}
@media only screen and (max-width: 992px) {
  main #prize_introduction h2 {
    margin-bottom: calc((49 / 375) * 100 * 1vw);
  }
}
main #prize_introduction h2::after {
  content: "";
  display: block;
  width: 223px;
  height: 34px;
  background-image: url("../img/prize_introduction_h2.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -41px;
  transform: translateX(-50%);
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 992px) {
  main #prize_introduction h2::after {
    width: calc((171.54 / 375) * 100 * 1vw);
    height: calc((26.15 / 375) * 100 * 1vw);
    bottom: calc((-30 / 375) * 100 * 1vw);
  }
}
main #prize_introduction .wrap_prize_introduction {
  width: 1000px;
  margin: 0 auto;
  padding-left: 360px;
  position: relative;
}
@media only screen and (max-width: 992px) {
  main #prize_introduction .wrap_prize_introduction {
    width: 100%;
    padding-left: 0;
  }
}
main #prize_introduction .wrap_prize_introduction img {
  position: absolute;
  bottom: -8px;
  left: -17.5px;
}
@media only screen and (max-width: 992px) {
  main #prize_introduction .wrap_prize_introduction img {
    position: static;
    width: calc((335 / 375) * 100 * 1vw);
    height: auto;
    display: block;
    margin: 0 auto calc((20 / 375) * 100 * 1vw);
  }
}
main #prize_introduction .wrap_prize_introduction h3 {
  font-size: 31px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: 0.1em;
  margin-bottom: 31px;
}
@media only screen and (max-width: 992px) {
  main #prize_introduction .wrap_prize_introduction h3 {
    text-align: center;
    font-size: calc((17 / 375) * 100 * 1vw);
    line-height: calc((26 / 375) * 100 * 1vw);
    margin-bottom: calc((12 / 375) * 100 * 1vw);
  }
}
main #prize_introduction .wrap_prize_introduction p {
  font-size: 18px;
  font-weight: 400;
  line-height: 44px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 992px) {
  main #prize_introduction .wrap_prize_introduction p {
    font-size: calc((14 / 375) * 100 * 1vw);
    line-height: calc((25 / 375) * 100 * 1vw);
    text-align: center;
  }
}
main #prize_introduction .wrap_prize_introduction p sapn {
  font-size: 1.5em;
  font-weight: 700;
}
main #prize_introduction .wrap_prize_introduction p .span1 {
  font-size: 1em;
}
main #prize_introduction .wrap_prize_introduction p:not(.annotation) {
  margin-bottom: 15px;
}
main #prize_introduction .wrap_prize_introduction p.annotation {
  font-size: 14px;
  font-weight: 400;
  line-height: 1em;
  letter-spacing: 0.006em;
}
@media only screen and (max-width: 992px) {
  main #prize_introduction .wrap_prize_introduction p.annotation {
    font-size: calc((12 / 375) * 100 * 1vw);
    line-height: calc((20 / 375) * 100 * 1vw);
  }
}
main #prize_introduction .wrap_prize_introduction p.annotation + p {
  margin-top: 10px;
}
@media only screen and (max-width: 992px) {
  main #prize_introduction .wrap_prize_introduction p.annotation + p {
    margin-top: 0;
  }
}
main #notes {
  margin-bottom: -43px;
}
@media only screen and (max-width: 992px) {
  main #notes {
    height: calc((560 / 375) * 100 * 1vw);
    padding-top: calc((15 / 375) * 100 * 1vw);
    margin-bottom: calc((-10 / 375) * 100 * 1vw);
  }
}
main #notes h2 {
  padding-bottom: 0;
  margin-bottom: 84px;
  position: relative;
}
@media only screen and (max-width: 992px) {
  main #notes h2 {
    margin-bottom: calc((45 / 375) * 100 * 1vw);
  }
}
main #notes h2::after {
  content: "";
  display: block;
  width: 172px;
  height: 26px;
  background-image: url("../img/notes_h2.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -35px;
  transform: translateX(-50%);
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 992px) {
  main #notes h2::after {
    width: calc((132.43 / 375) * 100 * 1vw);
    height: calc((20.01 / 375) * 100 * 1vw);
    bottom: calc((-25 / 375) * 100 * 1vw);
  }
}
main #notes .wrap_notes {
  width: 1000px;
  height: 484px;
  border: #e8546b solid 1px;
  border-radius: 10px;
  margin: 0 auto;
  padding: 33px 42px 42px;
  position: relative;
  z-index: 2;
  overflow-y: scroll;
  font-size: 14px;
}
main #notes .wrap_notes::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}
main #notes .wrap_notes::-webkit-scrollbar-thumb {
  border-radius: 3.5px;
  --bg-opacity: 1;
  background-color: #a8a8a8;
}
@media only screen and (max-width: 992px) {
  main #notes .wrap_notes {
    width: calc((325 / 375) * 100 * 1vw);
    height: calc((467 / 375) * 100 * 1vw);
    border-radius: calc((10 / 375) * 100 * 1vw);
    padding: calc((15 / 375) * 100 * 1vw);
  }
}
main #notes .wrap_notes h4 {
  color: #e8546b;
  font-size: 14px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0;
}
@media only screen and (max-width: 992px) {
  main #notes .wrap_notes h4 {
    font-size: calc((13 / 375) * 100 * 1vw);
    line-height: calc((22 / 375) * 100 * 1vw);
  }
}
main #notes .wrap_notes h5,
main #notes .wrap_notes h6 {
  font-size: 1em;
  font-weight: 400;
}
@media only screen and (max-width: 992px) {
  main #notes .wrap_notes h5,
  main #notes .wrap_notes h6 {
    font-size: calc((13 / 375) * 100 * 1vw);
    line-height: calc((22 / 375) * 100 * 1vw);
  }
}
main #notes .wrap_notes h5 {
  margin-top: 2em;
  color: #e8546b;
}
main #notes .wrap_notes h6 {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  padding-left: 1em;
}
main #notes .wrap_notes h6 + p {
  padding-left: 2em;
}
main #notes .wrap_notes h6 + p + ul {
  padding-left: 2em;
}
main #notes .wrap_notes h6 + p + ul + P {
  padding-left: 2em;
}
main #notes .wrap_notes h6 + ol {
  padding-left: 2em;
}
main #notes .wrap_notes h6 + ul {
  padding-left: 2em;
}
main #notes .wrap_notes h6 + ul + p {
  padding-left: 2em;
}
main #notes .wrap_notes h6 + ul + p + ul {
  padding-left: 2em;
}
main #notes .wrap_notes p {
  line-height: 26px;
}
@media only screen and (max-width: 992px) {
  main #notes .wrap_notes p {
    font-size: calc((13 / 375) * 100 * 1vw);
    line-height: calc((22 / 375) * 100 * 1vw);
  }
}
main #notes .wrap_notes p + h6 {
  margin-top: 1em;
}
main #notes .wrap_notes ol li {
  font-size: 14px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0;
  padding-left: 1em;
  text-indent: -1em;
}
@media only screen and (max-width: 992px) {
  main #notes .wrap_notes ol li {
    font-size: calc((13 / 375) * 100 * 1vw);
    line-height: calc((22 / 375) * 100 * 1vw);
  }
}
main #notes .wrap_notes ul li {
  font-size: 14px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0;
  padding-left: 1em;
  text-indent: -1em;
}
@media only screen and (max-width: 992px) {
  main #notes .wrap_notes ul li {
    font-size: calc((13 / 375) * 100 * 1vw);
    line-height: calc((22 / 375) * 100 * 1vw);
  }
}
main #notes .wrap_notes ul li:first-letter {
  color: #e8546b;
}
main #notes .wrap_notes .annotation {
  font-size: 14px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0;
  padding-left: 1em;
  text-indent: -1em;
  display: inline-block;
}
@media only screen and (max-width: 992px) {
  main #notes .wrap_notes .annotation {
    font-size: calc((13 / 375) * 100 * 1vw);
    line-height: calc((22 / 375) * 100 * 1vw);
  }
}

main #voice {
  width: 100%;
  padding: calc((200 / 1400) * 100 * 1vw) 0 0;
}
@media only screen and (max-width: 992px) {
  main #voice {
    padding-top: calc((94 / 375) * 100 * 1vw);
    background-image: url(../img/star_voice_bk.svg);
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
    margin-top: calc((-50 / 375) * 100 * 1vw);
  }
}
main #voice h2 {
  padding-bottom: 0;
  margin-bottom: 77px;
  position: relative;
}
@media only screen and (max-width: 992px) {
  main #voice h2 {
    margin-bottom: calc((41 / 375) * 100 * 1vw);
  }
}
main #voice h2::after {
  content: "";
  display: block;
  width: 67px;
  height: 26px;
  background-image: url("../img/voice_h2.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -34px;
  transform: translateX(-50%);
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 992px) {
  main #voice h2::after {
    width: calc((51 / 375) * 100 * 1vw);
    height: calc((18 / 375) * 100 * 1vw);
    bottom: calc((-21 / 375) * 100 * 1vw);
  }
}

.voice_comment {
  position: relative;
  width: 1400px;
  height: 1065px;
  text-align: center;
  margin: 0 auto;
}
@media only screen and (max-width: 992px) {
  .voice_comment {
    width: 100%;
    height: auto;
  }
}

.voice_comment p {
  font-size: 20px;
  padding: 0 20px 20px 0;
  letter-spacing: 2px;
  line-height: 1.8;
}
@media only screen and (max-width: 992px) {
  .voice_comment p {
    font-size: calc((14 / 375) * 100 * 1vw);
    padding-bottom: calc((14 / 375) * 100 * 1vw);
    padding-right: calc((14 / 375) * 100 * 1vw);
  }
}

.voice_comment_item1 {
  top: 220px;
  left: 432px;
  width: 534px;
  height: 362px;
  background: url("../img/voice1.png");
}
@media only screen and (max-width: 992px) {
  .voice_comment_item1 {
    width: calc((374 / 375) * 100 * 1vw);
    height: calc((254 / 375) * 100 * 1vw);
  }
}

.voice_comment_item2 {
  top: 53px;
  left: 114px;
  width: 374px;
  height: 309px;
  background: url("../img/voice2.png");
}
@media only screen and (max-width: 992px) {
  .voice_comment_item2 {
    width: calc((264 / 375) * 100 * 1vw);
    height: calc((219 / 375) * 100 * 1vw);
    margin: 0 0 0 auto;
    margin-top: calc((40 / -375) * 100 * 1vw);
  }
}

.voice_comment_item3 {
  top: -22px;
  left: 560px;
  width: 407px;
  height: 265px;
  background: url("../img/voice3.png");
}
@media only screen and (max-width: 992px) {
  .voice_comment_item3 {
    width: calc((288 / 375) * 100 * 1vw);
    height: calc((187 / 375) * 100 * 1vw);
    margin-top: calc((35 / -375) * 100 * 1vw);
  }
}

.voice_comment_item4 {
  top: 117px;
  left: 955px;
  width: 395px;
  height: 202px;
  background: url("../img/voice4.png");
}
@media only screen and (max-width: 992px) {
  .voice_comment_item4 {
    width: calc((279 / 375) * 100 * 1vw);
    height: calc((143 / 375) * 100 * 1vw);
    margin: 0 0 0 auto;
    margin-top: calc((20 / -375) * 100 * 1vw);
  }
}

.voice_comment_item5 {
  top: 670px;
  left: 120px;
  width: 430px;
  height: 359px;
  background: url("../img/voice5.png");
}
@media only screen and (max-width: 992px) {
  .voice_comment_item5 {
    width: calc((303 / 375) * 100 * 1vw);
    height: calc((242 / 375) * 100 * 1vw);
    margin-top: calc((20 / -375) * 100 * 1vw);
  }
}

.voice_comment_item6 {
  top: 332.5px;
  left: 75px;
  width: 362px;
  height: 376px;
  background: url("../img/voice6.png");
}
@media only screen and (max-width: 992px) {
  .voice_comment_item6 {
    width: calc((259 / 375) * 100 * 1vw);
    height: calc((267 / 375) * 100 * 1vw);
    margin: 0 0 0 auto;
    margin-top: calc((30 / -375) * 100 * 1vw);
  }
}

.voice_comment_item7 {
  top: 343px;
  left: 940px;
  width: 401px;
  height: 287px;
  background: url("../img/voice7.png");
}
@media only screen and (max-width: 992px) {
  .voice_comment_item7 {
    width: calc((284 / 375) * 100 * 1vw);
    height: calc((203 / 375) * 100 * 1vw);
  }
}

.voice_comment_item8 {
  top: 615px;
  left: 933px;
  width: 373px;
  height: 309px;
  background: url("../img/voice8.png");
}
@media only screen and (max-width: 992px) {
  .voice_comment_item8 {
    width: 95%;
    width: calc((264 / 375) * 100 * 1vw);
    height: calc((229 / 375) * 100 * 1vw);
    margin-top: calc((55 / -375) * 100 * 1vw);
    margin: 0 0 0 auto;
  }
}

.voice_comment_item9 {
  top: 536px;
  left: 558px;
  width: 394px;
  height: 287px;
  background: url("../img/voice9.png");
}
@media only screen and (max-width: 992px) {
  .voice_comment_item9 {
    width: calc((278 / 375) * 100 * 1vw);
    height: calc((203 / 375) * 100 * 1vw);
    margin-top: calc((40 / -375) * 100 * 1vw);
  }
}

.voice_comment_item10 {
  top: 810px;
  left: 515px;
  width: 407px;
  height: 265px;
  background: url("../img/voice10.png");
}
@media only screen and (max-width: 992px) {
  .voice_comment_item10 {
    width: calc((288 / 375) * 100 * 1vw);
    height: calc((188 / 375) * 100 * 1vw);
    margin-top: calc((80 / -375) * 100 * 1vw);
    margin: 0 auto;
  }
}

.voice_comment_common {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 992px) {
  .voice_comment_common {
    position: static;
  }
}

main #access {
  width: 100%;
  height: calc((617 / 1400) * 100 * 1vw);
  padding: calc((320 / 1400) * 100 * 1vw) 0 0;
  background: url("../img/access_bk.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media only screen and (max-width: 992px) {
  main #access {
    height: calc((357 / 375) * 100 * 1vw);
    padding: calc((147 / 375) * 100 * 1vw) 0 0;
    background: none;
    background:
    /* url("../img/wave7_sp.svg"),  */
    url("../img/access_bk_sp@2x.png");
    background-repeat: no-repeat;
    background-position: top;
    background-size: contain;
  }
}
main #access h2 {
  padding-bottom: 0;
  margin-bottom: 77px;
  position: relative;
}
@media only screen and (max-width: 992px) {
  main #access h2 {
    margin-bottom: calc((41 / 375) * 100 * 1vw);
  }
}
main #access h2::after {
  content: "";
  display: block;
  width: 80px;
  height: 26px;
  background-image: url("../img/access_h2.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -34px;
  transform: translateX(-50%);
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 992px) {
  main #access h2::after {
    width: calc((61.53 / 375) * 100 * 1vw);
    height: calc((20 / 375) * 100 * 1vw);
    bottom: calc((-21 / 375) * 100 * 1vw);
  }
}
main #access a {
  display: flex;
  width: 520px;
  height: 88px;
  border-radius: 44px;
  background-color: #e8546b;
  color: #fff;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 auto;
  font-size: 23px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 992px) {
  main #access a {
    width: calc((291 / 375) * 100 * 1vw);
    height: calc((50 / 375) * 100 * 1vw);
    border-radius: calc((25 / 375) * 100 * 1vw);
    font-size: calc((15 / 375) * 100 * 1vw);
  }
}
main #access a::after {
  content: "";
  display: block;
  width: 16px;
  height: 27px;
  background-image: url(../img/btn_arrow.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 28px;
}
@media only screen and (max-width: 992px) {
  main #access a::after {
    width: calc((10.13 / 375) * 100 * 1vw);
    height: calc((15.85 / 375) * 100 * 1vw);
    right: calc((13.5 / 375) * 100 * 1vw);
  }
}

footer {
  background-color: rgba(232, 84, 107, 0.15);
}
footer .wrap_footer {
  width: 922px;
  margin: 0 auto;
  padding: 52px 0 66px;
  text-align: center;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer {
    width: calc((291 / 375) * 100 * 1vw);
    padding: calc((30 / 375) * 100 * 1vw) 0 calc((44 / 375) * 100 * 1vw);
  }
}
footer .wrap_footer .wrap_link {
  display: flex;
  justify-content: space-between;
  margin-bottom: 46px;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .wrap_link {
    margin-bottom: calc((36 / 375) * 100 * 1vw);
    display: block;
  }
}
.wrap_link {
  flex-direction: row-reverse;
}

footer .wrap_footer .wrap_link a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 444px;
  height: 110px;
  border-radius: 38px;
  position: relative;
  color: #fff;
  text-decoration: none;
  font-size: 26px;
  font-weight: 700;
  line-height: 38px;
  letter-spacing: 0.1em;
  text-align: center;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .wrap_link a {
    flex: 0 0 100%;
    height: calc((72.2 / 375) * 100 * 1vw);
    border-radius: calc((25 / 375) * 100 * 1vw);
    font-size: calc((17 / 375) * 100 * 1vw);
    line-height: calc((25 / 375) * 100 * 1vw);
  }
}
footer .wrap_footer .wrap_link a:nth-child(2) {
  background-color: #0bd3b1;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .wrap_link a:nth-child(1) {
    margin-bottom: calc((19 / 375) * 100 * 1vw);
  }
}
footer .wrap_footer .wrap_link a:nth-child(1) {
  background-color: #f45bb3;
}
footer .wrap_footer .wrap_link a::after {
  content: "";
  display: block;
  width: 16px;
  height: 27px;
  background-image: url(../img/btn_arrow.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 28px;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .wrap_link a::after {
    width: calc((10.13 / 375) * 100 * 1vw);
    height: calc((15.84 / 375) * 100 * 1vw);
    right: calc((13.5 / 375) * 100 * 1vw);
  }
}
footer .wrap_footer .title1 {
  font-family: "Zen Old Mincho", serif;
  font-size: 33px;
  line-height: 1;
  letter-spacing: 0.5em;
  margin-bottom: 9px;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .title1 {
    font-size: calc((19.4 / 375) * 100 * 1vw);
    margin-bottom: calc((5 / 375) * 100 * 1vw);
  }
}
footer .wrap_footer .title2 {
  font-family: "Zen Old Mincho", serif;
  font-size: 69px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #e8546b;
  margin-bottom: 54px;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .title2 {
    font-size: calc((40.4 / 375) * 100 * 1vw);
    margin-bottom: calc((38 / 375) * 100 * 1vw);
  }
}
footer .wrap_footer .contact_target {
  font-size: 21px;
  line-height: 1;
  letter-spacing: 0.3em;
  margin-bottom: 35px;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .contact_target {
    font-size: calc((16 / 375) * 100 * 1vw);
    margin-bottom: calc((38 / 375) * 100 * 1vw);
    letter-spacing: 0.1em;
    margin-bottom: calc((38 / 375) * 100 * 1vw);
  }
}
footer .wrap_footer .contact_tel_title {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 26px;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .contact_tel_title {
    font-size: calc((14 / 375) * 100 * 1vw);
    line-height: calc((20.7 / 375) * 100 * 1vw);
    margin-bottom: calc((6 / 375) * 100 * 1vw);
    display: inline-flex;
    align-items: center;
  }
}
footer .wrap_footer .contact_tel_title::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 27px;
  background-image: url(../img/contact_tel_title_obj.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: relative;
  top: 6px;
  margin-right: 16px;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .contact_tel_title::before {
    width: calc((7.34 / 375) * 100 * 1vw);
    height: calc((20.66 / 375) * 100 * 1vw);
    top: calc((2 / 375) * 100 * 1vw);
    margin-right: calc((6 / 375) * 100 * 1vw);
  }
}
footer .wrap_footer .contact_tel_title::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 27px;
  background-image: url(../img/contact_tel_title_obj.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: relative;
  top: 6px;
  margin-left: 12px;
  transform: rotate(180deg);
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .contact_tel_title::after {
    width: calc((7.34 / 375) * 100 * 1vw);
    height: calc((20.66 / 375) * 100 * 1vw);
    top: calc((1 / 375) * 100 * 1vw);
    margin-left: calc((4 / 375) * 100 * 1vw);
  }
}
footer .wrap_footer .tel {
  font-size: 41px;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .tel {
    font-size: calc((26 / 375) * 100 * 1vw);
    margin-bottom: calc((8 / 375) * 100 * 1vw);
  }
}
footer .wrap_footer .tel sapn {
  font-size: 0.6em;
}
footer .wrap_footer .tel a {
  text-decoration: none;
  color: #000;
}
footer .wrap_footer .contact_time {
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0;
}
@media only screen and (max-width: 992px) {
  footer .wrap_footer .contact_time {
    font-size: calc((10 / 375) * 100 * 1vw);
  }
}

/*============================
#modal1
============================*/
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  background-image: url("../img/overlay_bk.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
}
@media only screen and (max-width: 992px) {
  .modal__overlay {
    background-image: url("../img/overlay_sp_bk.png");
  }
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

.modal__container {
  max-width: 1000px;
  background-color: #fff;
  position: relative;
  height: auto;
  max-height: 100vh;
  overflow-y: scroll;
}
@media only screen and (max-width: 992px) {
  .modal__container {
    width: 100%;
    overflow-y: scroll;
    height: 100svh;
  }
}
.modal__container .modal__close {
  position: absolute;
  width: 20px;
  height: 20px;
  right: 25px;
  top: 25px;
  cursor: pointer;
  transition-duration: 0.5s;
}
.modal__container .modal__close span {
  position: absolute;
  width: 25px;
  height: 1px;
  background-color: #000;
  top: 10px;
  left: -2px;
}
.modal__container .modal__close span:nth-child(1) {
  transform: rotate(45deg);
}
.modal__container .modal__close span:nth-child(2) {
  transform: rotate(-45deg);
}
.modal__container .modal__close:hover {
  transform: scale(1.3);
}
.modal__container .modal__map--contents .modal__map--contents1 {
  padding: 93px 100px 46px;
  display: none;
}
@media only screen and (max-width: 992px) {
  .modal__container .modal__map--contents .modal__map--contents1 {
    padding: calc((72 / 375) * 100 * 1vw) calc((23 / 375) * 100 * 1vw)
      calc((37 / 375) * 100 * 1vw);
  }
}
.modal__container .modal__map--contents .modal__map--contents1 .swiper {
  position: relative;
  margin-bottom: 48px;
}
@media only screen and (max-width: 992px) {
  .modal__container .modal__map--contents .modal__map--contents1 .swiper {
    margin-bottom: calc((23 / 375) * 100 * 1vw);
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .swiper
  .swiper-wrapper
  .swiper-slide
  img {
  width: 100%;
  height: auto;
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .swiper
  .listNumber {
  display: block;
  width: 52px;
  height: 71px;
  position: absolute;
  left: 22px;
  bottom: 18.5px;
  z-index: 2;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .swiper
    .listNumber {
    display: none;
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .swiper
  .swiper-button-prev,
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .swiper
  .swiper-button-next {
  height: 50px;
  width: 50px;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .swiper
    .swiper-button-prev,
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .swiper
    .swiper-button-next {
    width: calc((30 / 375) * 100 * 1vw);
    height: calc((30 / 375) * 100 * 1vw);
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .swiper
  .swiper-button-prev::after,
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .swiper
  .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 50px;
  margin: auto;
  width: 50px;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .swiper
    .swiper-button-prev::after,
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .swiper
    .swiper-button-next::after {
    width: calc((30 / 375) * 100 * 1vw);
    height: calc((30 / 375) * 100 * 1vw);
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .swiper
  .swiper-button-prev::after {
  background-image: url("../img/modal_button_prev.svg");
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .swiper
  .swiper-button-next::after {
  background-image: url("../img/modal_button_next.svg");
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .main-content
  .main-content__top {
  display: flex;
  padding-bottom: 21px;
  border-bottom: #e8546b solid 1px;
  margin-bottom: 19px;
  align-items: center;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .main-content
    .main-content__top {
    display: block;
    border: none;
    padding-bottom: 0;
    margin-bottom: calc((27 / 375) * 100 * 1vw);
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .main-content
  .main-content__top
  p.txt1 {
  font-family: "Zen Old Mincho", serif;
  font-size: 36px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #e8546b;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .main-content
    .main-content__top
    p.txt1 {
    text-align: center;
    font-size: calc((33 / 375) * 100 * 1vw);
    margin-bottom: calc((16 / 375) * 100 * 1vw);
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .main-content
  .main-content__top
  p.txt1
  span {
  font-size: 0.7em;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .main-content
    .main-content__top
    p.txt1
    span {
    display: block;
    margin-top: calc((10 / 375) * 100 * 1vw);
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .main-content
  .main-content__top
  p.txt2 {
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #e8546b;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .main-content
    .main-content__top
    p.txt2 {
    text-align: center;
    font-size: calc((18 / 375) * 100 * 1vw);
    margin-bottom: calc((27 / 375) * 100 * 1vw);
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .main-content
  .main-content__top
  p.txt2::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 27px;
  background-image: url(../img/contact_tel_title_obj.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: relative;
  top: 6px;
  margin-right: 16px;
  margin-left: 28px;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .main-content
    .main-content__top
    p.txt2::before {
    width: calc((8.54 / 375) * 100 * 1vw);
    height: calc((24.62 / 375) * 100 * 1vw);
    margin-left: 0;
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .main-content
  .main-content__top
  p.txt2::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 27px;
  background-image: url(../img/contact_tel_title_obj.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: relative;
  top: 6px;
  margin-left: 12px;
  transform: rotate(180deg);
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .main-content
    .main-content__top
    p.txt2::after {
    width: calc((8.54 / 375) * 100 * 1vw);
    height: calc((24.62 / 375) * 100 * 1vw);
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .main-content
  .main-content__bottom {
  margin-bottom: 15px;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .main-content
    .main-content__bottom {
    margin-bottom: calc((28 / 375) * 100 * 1vw);
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .main-content
  .main-content__bottom
  p.txt3 {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.1em;
  text-align: justify;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .main-content
    .main-content__bottom
    p.txt3 {
    font-size: calc((14 / 375) * 100 * 1vw);
    line-height: calc((27 / 375) * 100 * 1vw);
  }
}
.modal__container .modal__map--contents .modal__map--contents1 .main-content a {
  display: flex;
  width: 223px;
  height: 38px;
  border-radius: 19px;
  background-color: #e8546b;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  line-height: 1em;
  letter-spacing: 0.2em;
  margin-left: auto;
  position: relative;
  border: none;
  --swiper-theme-color: transparent;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .main-content
    a {
    width: calc((197.5 / 375) * 100 * 1vw);
    height: calc((33 / 375) * 100 * 1vw);
    border-radius: calc((16.5 / 375) * 100 * 1vw);
    font-size: calc((14 / 375) * 100 * 1vw);
    margin: 0 auto;
  }
}
.modal__container
  .modal__map--contents
  .modal__map--contents1
  .main-content
  a::after {
  content: "";
  display: block;
  width: 8px;
  height: 12px;
  background-image: url("../img/modal_arrow.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 10px;
}
@media only screen and (max-width: 992px) {
  .modal__container
    .modal__map--contents
    .modal__map--contents1
    .main-content
    a::after {
    width: calc((6.87 / 375) * 100 * 1vw);
    height: calc((10.75 / 375) * 100 * 1vw);
    right: calc((9.1679 / 375) * 100 * 1vw);
  }
}

.modal.is-open .modal__container .modal__map--contents .modal__map--contents1 {
  display: block;
}

@media not all and (min-resolution: 0.001dpcm) {
  @supports not (translate: none) {
    main #spot .spot_link .gw {
      margin-right: calc((10.3 / 375) * 100 * 1vw);
    }
  }
}
@media not all and (min-resolution: 0.001dpcm) {
  @supports not (translate: none) {
    main #spot .spot_link .gc {
      margin-bottom: calc((10.3 / 375) * 100 * 1vw);
    }
  }
}

@media only screen and (min-width: 993px) {
  #comic {
    background: url("../img/comic_bk.png");
    background-repeat: no-repeat;
    background-size: 1400px;
    background-position: center 85px;
  }
}
@media only screen and (max-width: 992px) {
  #comic {
    position: relative;
  }
}

@media only screen and (min-width: 993px) {
  .comic_bk_sp {
    display: none;
  }
}
@media only screen and (max-width: 992px) {
  .comic_bk_sp {
    display: block;
    position: absolute;
    top: calc((128 / 375) * 100 * 1vw);
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
  }
  .comic_bk_sp img {
    width: 100%;
  }
}

.comic-text p {
  margin-bottom: 35px;
  word-wrap: break-word;
}
@media only screen and (max-width: 992px) {
  .comic-text p {
    margin-bottom: calc((35 / 375) * 100 * 1vw);
  }
}

/*------ コミックスライダー ------*/
.slider{
  width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 992px) {
  .slider{
    width: 80%;
  }
}

.slider img{
	width: 100%;
}

.slider .slick-slide{
	height:auto!important;
}

.slider .slick-next{
    right: -120px !important;
}
@media only screen and (max-width: 992px) {
  .slider .slick-next{
    right: 0 !important;
    transform: translate(80% , -50%);
}
}
.slider .slick-prev{
    left: -120px !important;
}
@media only screen and (max-width: 992px) {
  .slider .slick-prev{
    left: 0 !important;
    transform: translate(-80% , -50%);
}
}

.slick-next:before{
  background: url("../img/arrow_r.png")!important;
  background-repeat: no-repeat!important;
  background-size: contain!important;
} 

.slick-prev:before{
  background: url("../img/arrow_l.png")!important;
  background-repeat: no-repeat!important;
  background-size: contain!important;
}

.slick-arrow{
  z-index: 1!important;
  width: 60px!important;
  height: 60px!important;
}
@media only screen and (max-width: 992px) {
  .slick-arrow{
    z-index: 1!important;
    width: 10% !important;
    height: 10% !important;
  }
}
.slick-arrow:before{
  content: ""!important;
  width: 100%!important;
  height: 100%!important;
  position: absolute;
  top: 0;
  left: 0;
  opacity:1!important;
}

.slick-dots li.slick-active button:before {
  color: violet !important;
}