@charset "UTF-8";

/* ==========================================================================
    Pages style
============================================================================= */

/* -------------------------------------
    パンくずリスト
------------------------------------- */
.breadcrumb {
  -webkit-padding-before: 100px;
  padding-block-start: 100px;
  position: relative;
  z-index: 10;
}

.breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  flex-wrap: wrap;
  gap: 16px;
}

.breadcrumb__list li+li::before {
  content: "";
  background: url("../images/pages/ico_breadcrumb.svg") no-repeat center/contain;
  display: inline-block;
  margin-inline-end: 16px;
  height: 10px;
  width: 5px;
}

.breadcrumb__list li .link {
  color: var(--text-color);
  font-weight: bold;
  text-underline-offset: 3px;
}

@media (min-width: 768px) {
  .breadcrumb__list {
    padding-inline-end: min(30vw, 432px);
  }
}

@media screen and (max-width: 767.98px) {
  .breadcrumb {
    padding-block: 30px 50px;
  }
}


/* -------------------------------------
    ページコンテンツ
------------------------------------- */
.p-pages__head {
  padding-block: 150px 62px;
  position: relative;
}

.p-pages__head .bg {
  position: absolute;
  right: 0;
  bottom: max(-4.5vw, -64px);
  /* height: min(25.694vw, 370px); */
  width: min(50.208vw, 723px);
}

.p-pages__head .c-heading01 {
  gap: 30px;
  position: relative;
  z-index: 1;
}

.p-pages__body {
  background-color: var(--pale-color);
  border-radius: 100px 100px 0 0;
  padding-block: 140px 100px;
  overflow: hidden;
}

.p-pages__body section+section {
  -webkit-padding-before: 0;
  padding-block-start: 0;
}

.p-pages__body .c-defs {
  justify-content: flex-start;
}

@media (min-width: 768px) {
  /* .p-pages__head .bg.page-about {
    bottom: max(-4.5vw, -65px);
  }

  .p-pages__head .bg.page-week {
    bottom: max(-4.5vw, -65px);
  }

  .p-pages__head .bg.page-links {
    bottom: max(-5vw, -72px);
    height: min(24.861vw, 358px);
    width: min(50vw, 723px);
  }

  .p-pages__head .bg.page-logo {
    bottom: max(-5.0694vw, -73px);
  }

  .p-pages__head .bg.page-instagram {
    bottom: max(-4.305vw, -62px);
  } */
}

@media (max-width: 767.98px) {
  .p-pages__head {
    padding-block: 80px 90px;
  }

  .p-pages__head .bg {
    bottom: -25px;
    width: 270px;
  }

  /* .p-pages__head .bg.page-event {
    bottom: -32px
  }

  .p-pages__head .bg.page-links {
    bottom: -31px;
    width: 290px;
  }

  .p-pages__head .bg.page-instagram {
    bottom: -23px;
  } */

  .p-pages__body {
    border-radius: 50px 50px 0 0;
    padding-block: 100px;
  }

  .p-pages__body .c-def {
    flex-wrap: wrap;
  }
}


/* -------------------------------------
    下部バナー
------------------------------------- */
.p-banners {
  -webkit-padding-before: 150px;
  padding-block-start: 150px;
}

.p-banners .c-banner__list {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.0833vw;
}

.p-banners .c-banner__list a {
  border-radius: 20px;
  border: solid 2px #333;
  overflow: hidden;
}

.p-banners .c-banner__list a img {
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-banners .c-banner__list a:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

@media screen and (max-width: 767.98px) {
  .p-banners {
    -webkit-padding-before: 60px;
    padding-block-start: 60px;
  }

  .p-banners .c-banner__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .p-banners .c-banner__list>li,
  .p-banners .c-banner__list a,
  .p-banners .c-banner__list img {
    width: 100%;
  }
}


/* -------------------------------------
    news
------------------------------------- */
.c-news__item .date {
  color: #555;
}

/* .p-pages__head .bg.page-news {
  bottom: max(-5.077vw, -73px);
  height: min(25.277vw, 364px);
  width: min(50.208vw, 723px);
}

@media (max-width: 767.98px) {
  .p-pages__head .bg.page-news {
    bottom: -30px;
    height: auto;
    width: 270px;
  }
} */


/* -------------------------------------
    pager
------------------------------------- */
.pagination {
  margin-block-start: 100px;
  padding-block-end: 150px;
}

.pagination .nav-links {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: center;
}

.page-numbers {
  background-color: #fff;
  border: solid 2px var(--main-color);
  border-radius: 50%;
  color: var(--main-color);
  display: grid;
  font-weight: bold;
  font-size: 1.8rem;
  place-content: center;
  height: 50px;
  width: 50px;
}

.page-numbers.current,
.page-numbers:hover {
  background-color: var(--main-color);
  color: #fff;
}

.page-numbers.prev::before,
.page-numbers.next::before {
  background: url("data:image/svg+xml,%3Csvg width='10' height='16' viewBox='0 0 10 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2.30005L2 8.00005L8 13.7' stroke='%23EB4B55' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") no-repeat center / contain;
  content: "";
  height: 14px;
  width: 9px;
}

.page-numbers.next::before {
  transform: rotate(180deg);
}

.page-numbers:hover::before {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

@media (max-width: 767.98px) {
  .pagination {
    margin-block-start: 50px;
  }

  .page-numbers {
    height: 40px;
    width: 40px;
  }

  .pagination .nav-links {
    justify-content: flex-end !important;
    flex-wrap: wrap;
    margin-left: auto;
  }
}


/* -------------------------------------
    記事
------------------------------------- */
.p-entry {
  background-color: #fff;
  padding-block: 100px 60px;
}

.c-entry__head {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 20px;
  margin-block-end: 60px;
  padding-block-end: 30px;
  position: relative;
}

.c-entry__head::after {
  background-color: var(--main-color);
  border-radius: 4px;
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 5px;
  width: 100%;
}

.c-entry__head .heading {
  flex-basis: 100%;
}

.c-entry__head .date {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #555;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: var(--font2);
  font-size: 1.8rem;
  letter-spacing: .1em;
}

.c-entry__head .label {
  background-color: #fff;
  border: solid 2px;
  border-radius: 20px;
  color: var(--main-color);
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  padding: 8px 16px;
  text-align: center;
  width: 100px;
}

.c-entry__head .label.orange {
  border-color: #ED6616;
  color: #ED6616;
}

.c-entry__head .label.green {
  border-color: #129D80;
  color: #129D80;
}

.c-entry__head--sub {
  margin-block-end: 30px;
  /* padding-inline-end: min(22.638vw, 326px); */
  position: relative;
}

.c-entry__head--sub img {
  display: none;

  position: absolute;
  z-index: 1;
  right: 0;
  /* height: 16.189vw; */
  max-height: 233px;
  width: 22.638vw;
  max-width: 326px;
  bottom: -30px;
  object-fit: contain;
}

.c-entry__head--sub .tags {
  margin-block: 0;
}

.c-entry__body {
  position: relative;
  z-index: 1;
}

.c-entry__body .c-button__exter {
  border: solid 3px var(--main-color);
  box-shadow: none;
  max-width: 616px;
  text-decoration: none;
}

.c-entry__body .c-button__home {
  margin-block-start: 100px;
  text-decoration: none;
}

.c-entry__body .c-disc-black,
.details-body .c-disc-black,
.c-entry__body .c-order__plain,
.details-body .c-order__plain {
  font-weight: normal;
  font-size: 1.6rem;
}

.c-entry__body .c-disc-black>li+li,
.details-body .c-disc-black>li+li,
.c-entry__body .c-order__plain>li+li,
.details-body .c-order__plain>li+li {
  margin-top: 0;
}

.c-entry__body p{
  margin-top: 20px;
}
.c-entry__body .url-list p {
  margin-top: 0;
}
.c-entry__body figure{
  margin-top: 20px;
}
.c-entry__body a:not(.c-button):not(.c-button__exter):not(.c-button__home){
  text-decoration: underline;
}
.c-entry__body .wp-block-file{
  margin-top: 20px;
}

.p-latest .c-news__list,
.p-latest .c-news__item {
  border-color: #DADADA;
}

.p-latest .c-news__list .cont {
  padding-block: 30px;
}

/* ---- Color Change (orange) ------------ */
.color-orange .c-entry__head::after {
  background-color: #ED5D16
}

.color-orange .c-entry__head .heading {
  font-size: clamp(2.8rem, 2.5vw, 3.6rem);
}

@media (max-width: 767.98px) {
  .c-entry__head--sub img {
    min-width: 120px;
  }

  /* .c-entry__head--sub {
    padding-inline-end: 120px;
  } */

  .color-orange .p-entry {
    padding-block: 40px;
  }
}


/* -------------------------------------
    リンクについて
------------------------------------- */
.w-160px {
  width: 160px;
}

.w-170px {
  width: 170px;
}

.w-270px {
  width: 270px;
}

.w-520px {
  width: 520px;
}

.w-570px {
  width: 570px;
}

@media screen and (max-width: 767.98px) {
  .w-160px {
    width: 28%;
  }

  .w-170px {
    width: 37%;
  }

  .w-270px {
    width: 47%;
  }

  .w-520px {
    width: 91%;
  }

  .w-570px {
    width: 100%;
  }
}


/* -------------------------------------
    イベントページ
------------------------------------- */
.p-event .c-button__exter.ico-pdf::after {
  background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.9997 20.8334H16.6663V17.5H18.333C18.8052 17.5 19.2011 17.3403 19.5205 17.0209C19.84 16.7014 19.9997 16.3056 19.9997 15.8334V14.1667C19.9997 13.6945 19.84 13.2987 19.5205 12.9792C19.2011 12.6598 18.8052 12.5 18.333 12.5H14.9997V20.8334ZM16.6663 15.8334V14.1667H18.333V15.8334H16.6663ZM21.6663 20.8334H24.9997C25.4719 20.8334 25.8677 20.6737 26.1872 20.3542C26.5066 20.0348 26.6663 19.6389 26.6663 19.1667V14.1667C26.6663 13.6945 26.5066 13.2987 26.1872 12.9792C25.8677 12.6598 25.4719 12.5 24.9997 12.5H21.6663V20.8334ZM23.333 19.1667V14.1667H24.9997V19.1667H23.333ZM28.333 20.8334H29.9997V17.5H31.6663V15.8334H29.9997V14.1667H31.6663V12.5H28.333V20.8334ZM13.333 30C12.4163 30 11.6316 29.6737 10.9788 29.0209C10.3261 28.3681 9.99967 27.5834 9.99967 26.6667V6.66671C9.99967 5.75004 10.3261 4.96532 10.9788 4.31254C11.6316 3.65976 12.4163 3.33337 13.333 3.33337H33.333C34.2497 3.33337 35.0344 3.65976 35.6872 4.31254C36.34 4.96532 36.6663 5.75004 36.6663 6.66671V26.6667C36.6663 27.5834 36.34 28.3681 35.6872 29.0209C35.0344 29.6737 34.2497 30 33.333 30H13.333ZM6.66634 36.6667C5.74967 36.6667 4.96495 36.3403 4.31217 35.6875C3.6594 35.0348 3.33301 34.25 3.33301 33.3334V10H6.66634V33.3334H29.9997V36.6667H6.66634Z' fill='%23ED5D16'/%3E%3C/svg%3E%0A") no-repeat 0 0/contain;
}

.p-event .c-button__exter:hover {
  background-color: #ED5D16;
}


/* -------------------------------------
    Instagramキャンペーン
------------------------------------- */
.p-instagram .top-txt {
  border-block-end: solid 1px #C6C6C6;
  padding-block: 100px 120px;
}

.p-instagram section {
  padding-block: 120px;
  border-block-end: solid 1px #C6C6C6;
}

.p-instagram section+section {
  padding-block-start: 120px;
}

.p-instagram .c-present__heading {
  margin-block-end: 80px;
  text-align: center;
}

.p-instagram .c-present__heading .balloon {
  display: block;
  max-width: 550px;
  margin-inline: auto;
  margin-block-end: 30px;
  width: 100%;
}

.p-instagram .c-present__heading .heading {
  color: var(--blue-color);
  font-weight: 800;
  font-size: clamp(4rem, 3.33vw, 4.8rem);
  margin-block-start: 40px;
  letter-spacing: .1em;
  line-height: 1.3;
}

.p-instagram .c-present__heading .heading .sub {
  font-size: clamp(2.8rem, 2.5vw, 3.6rem);
}

.p-instagram .c-present__contain {
  position: relative;
}

.p-instagram .c-present__contain::before,
.p-instagram .c-present__contain::after {
  content: "";
  position: absolute;
  top: max(-16.875vw, -243px);
}

.p-instagram .c-present__contain::before {
  background: url(../images/pages/bg_instagram_head01.svg) no-repeat 0 0 / contain;
  left: max(-4.9305vw, -71px);
  max-width: 283px;
  max-height: 269px;
  min-width: 130px;
  min-height: 120px;
  height: 18.6805vw;
  width: 19.652vw;
}

.p-instagram .c-present__contain::after {
  background: url(../images/pages/bg_instagram_head02.svg) no-repeat 0 0 / contain;
  right: max(-4.5138vw, -65px);
  max-height: 267px;
  max-width: 261px;
  min-width: 120px;
  min-height: 130px;
  height: 18.541vw;
  width: 18.125vw;
}

.p-instagram .c-present__list {
  background-color: #fff;
  border-radius: min(6.944vw, 100px);
  padding-inline: 7.1527vw;
  position: relative;
  z-index: 10;
}

.p-instagram .c-present__card {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(5vw, 72px);
  margin-block-start: 160px;
  transform: translateY(-87px);
}

.p-instagram .c-present__card .figure {
  display: grid;
  place-content: center;
}

.p-instagram .c-present__card .figure img {
  filter: drop-shadow(0px 6px 13px rgba(0, 0, 0, .25));
  height: 100%;
  max-height: 200px;
  object-fit: contain;
}

.p-instagram .c-present__card .figure.no-shadow img {
  filter: inherit;
  object-fit: cover;
}

.p-instagram .c-present__card .details {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}

.p-instagram .c-present__card .details-head {
  font-weight: 800;
  text-align: center;
}

.p-instagram .c-present__card .details-head .ttl {
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1.5;
}

.p-instagram .c-present__card .details-head .ttl .sub {
  font-size: 1.8rem;
}

.p-instagram .c-present__card .details-head .chosen {
  color: var(--blue-color);
  font-size: clamp(2rem, 1.944vw, 2.8rem);
  letter-spacing: .05em;
}

.p-instagram .c-present__card .details-head .chosen b {
  font-size: clamp(3.6rem, 2.77vw, 4rem);
  font-weight: 800;
}

.p-instagram .c-present__card .details-body .txt {
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: -.01em;
}

.p-instagram .c-present__card .details-link {
  text-align: center;
}

.p-instagram .c-present__card .details-link img {
  margin-block-end: 10px;
}

.p-instagram .p-supporter {
  display: flex;
  gap: 20px;
  margin-block-start: -10px;
}

.p-instagram .c-supporter__title {
  position: relative;
  z-index: 20;
}

.p-instagram .c-supporter__title .head,
.p-instagram .c-supporter__title b {
  font-weight: 800;
}

.p-instagram .c-supporter__title .head {
  align-items: center;
  border-block-end: solid 3px var(--blue-color);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 20px;
  padding-block: 106px 20px;
}

.p-instagram .c-supporter__title .balloon {
  position: absolute;
  left: 0;
  top: 0;
}

.p-instagram .c-supporter__title .sub {
  background-color: #fff;
  display: block;
  flex-basis: 100%;
  font-size: 2.2rem;
  letter-spacing: .1em;
  padding: 10px;
  text-align: center;
}

.p-instagram .c-supporter__title .label {
  background-color: #D73641;
  border-radius: 20px;
  color: #fff;
  font-size: 1.6rem;
  padding: 8px 16px;
}

.p-instagram .c-supporter__title .name {
  font-size: 2.4rem;
  letter-spacing: .1em;
}

.p-instagram .c-supporter__title .name b {
  font-size: 3.6rem;
}

.p-instagram .c-supporter__title .body {
  margin-block-start: 24px;
  text-align: center;
}

.p-instagram .c-supporter__title .comment {
  font-size: 2.4rem;
  font-weight: 800;
  letter-spacing: .08em;
  margin-block-end: 24px;
}

.p-instagram .c-supporter__title .comment b {
  color: var(--blue-color);
  display: block;
  font-size: 3.6rem;
}

.p-instagram .c-supporter__title .txt {
  color: #555;
  font-size: 1.4rem;
  margin-block-end: 77px;
}

.p-instagram .c-supporter__title .note {
  font-weight: normal;
  text-align: left;
}

.p-instagram .c-supporter__figure {
  flex-basis: min(20.972vw, 302px);
}

.p-instagram .c-instagram__heading {
  color: var(--blue-color);
  font-size: 3.2rem;
  font-weight: 800;
  letter-spacing: .1em;
  margin-block-end: 60px;
  text-align: center;
}

/* ----- 開催期間 --------------- */
.p-instagram .c-period__txt {
  font-size: clamp(1.8rem, 1.667vw, 2.4rem);
  font-weight: 800;
  letter-spacing: .1em;
  text-align: center;
}

.p-instagram .c-period__txt b {
  font-size: clamp(3.8rem, 3.055vw, 4.4rem);
  font-weight: 800;
}

.p-instagram p.period-txt {
  color: var(--main-color);
  margin-top: 30px
}

/* ----- 応募方法 --------------- */
.p-instagram .c-howto__step {
  counter-reset: order;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.p-instagram .c-howto__step li {
  display: flex;
  gap: min(2.77vw, 40px);
}

.p-instagram .c-howto__step .number-label {
  align-items: center;
  border-radius: 50%;
  border: solid 5px #347DB8;
  color: #347DB8;
  display: flex;
  flex-direction: column;
  font-family: var(--font3);
  gap: 10px;
  justify-content: center;
  letter-spacing: .1em;
  height: 130px;
  width: 130px;
}

.p-instagram .c-howto__step .number-label::before {
  content: "STEP";
  font-size: 2.4rem;
}

.p-instagram .c-howto__step .number-label::after {
  counter-increment: order;
  content: counter(order, decimal-leading-zero);
  font-size: 4.8rem;
  line-height: .8;
}

.p-instagram .c-howto__step .details {
  flex-basis: calc(100% - 130px - min(2.77vw, 40px));
}

.p-instagram .c-howto__step .details .ttl {
  border-block-end: solid 3px #347DB8;
  font-size: clamp(2rem, 1.944vw, 2.8rem);
  font-weight: 800;
  letter-spacing: .05em;
  margin-block-end: 30px;
  padding-block-end: 30px;
}

.p-instagram .c-howto__step .details .ttl .sub {
  font-size: clamp(1.6rem, 1.388vw, 2rem);
}

.c-button__instagram {
  background-color: #fff;
  border: solid 3px #347DB8;
  border-radius: 60px;
  color: #347DB8;
  font-size: clamp(1.6rem, 1.388vw, 2rem);
  font-weight: bold;
  line-height: 1;
  letter-spacing: .1em;
  padding: 27px 80px 27px 40px;
  position: relative;
}

.c-button__instagram:hover {
  background-color: #347DB8;
  color: #fff;
}

.c-button__instagram::after {
  background-color: #347DB8;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='19' viewBox='0 0 18 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.4 14.8136C4.905 14.8136 4.48125 14.6373 4.12875 14.2848C3.77625 13.9323 3.6 13.5086 3.6 13.0136V2.21357C3.6 1.71857 3.77625 1.29482 4.12875 0.942324C4.48125 0.589824 4.905 0.413574 5.4 0.413574H16.2C16.695 0.413574 17.1188 0.589824 17.4713 0.942324C17.8238 1.29482 18 1.71857 18 2.21357V13.0136C18 13.5086 17.8238 13.9323 17.4713 14.2848C17.1188 14.6373 16.695 14.8136 16.2 14.8136H5.4ZM5.4 4.01357H16.2V2.21357H5.4V4.01357ZM1.8 18.4136C1.305 18.4136 0.88125 18.2373 0.52875 17.8848C0.17625 17.5323 0 17.1086 0 16.6136V4.01357H1.8V16.6136H14.4V18.4136H1.8Z' fill='white'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px auto;
  border-radius: 50%;
  content: "";
  height: 40px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
}

/* 投稿見本 */
.p-instagram .c-sample__list {
  gap: 30px 28px;
}

/* ----- キャンペーン概要 --------------- */
.p-outline .bg-gray {
  padding-block: 30px;
}

.p-outline .c-disc-black,
.p-outline .txt {
  font-size: 1.6rem;
  font-weight: normal;
}

.p-outline .c-disc-black>li::before {
  height: 4px;
  width: 4px;
}

.p-outline .c-disc-black li+li {
  margin-block-start: 0;
}

.p-outline .note {
  font-weight: normal;
}

@media (min-width: 768px) {
  /* ----- プレゼント --------------- */
  .p-instagram .c-present__list {
    padding-block-end: 48px;
  }

  .p-instagram .c-present__card .details-head .chosen {
    margin-block-start: 24px;
  }

  .p-instagram .c-present__card .details {
    margin-block-start: 30px;
  }

  .p-instagram .c-supporter__title .head {
    gap: 20px;
  }

  .p-instagram .c-supporter__title .comment b {
    display: inline;
  }

  .p-instagram .c-supporter__title {
    flex-basis: calc(100% - min(20.972vw, 302px) - 20px);
    padding-inline-start: min(4.861vw, 70px);
  }

  .p-instagram .c-supporter__title .note {
    margin-inline-start: max(-4.861vw, -70px);
  }

  .p-instagram .c-supporter__figure {
    margin-block-start: 20px;
  }

  /* ----- 応募方法 --------------- */
  .p-instagram .c-howto__step .number {
    flex-basis: 130px;
    padding-block-end: 80px;
    position: relative;
  }

  .p-instagram .c-howto__step li:not(:last-child) .number::after {
    background-color: #347DB8;
    content: "";
    height: 60px;
    position: absolute;
    width: 3px;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }

  .p-instagram .c-howto__step .details .ttl {
    padding-block-start: 30px;
  }
}

@media (max-width: 767.98px) {
  .p-instagram section {
    padding-block: 60px;
  }

  .p-instagram section+section {
    padding-block-start: 60px;
  }

  .p-instagram .top-txt {
    padding-block: 50px 60px;
  }

  .p-instagram .c-present__heading .heading {
    font-size: 3.6rem;
  }

  .p-instagram .c-present__heading .heading .sub {
    font-size: 2rem;
  }

  .p-instagram .c-present__contain::before,
  .p-instagram .c-present__contain::after {
    top: -100px;
  }

  .p-instagram .c-present__contain::before {
    left: -40px;
  }

  .p-instagram .c-present__contain::after {
    right: -40px;
  }

  .p-instagram .c-present__card {
    grid-template-columns: 1fr;
    gap: 60px;
    margin-block-start: 110px;
    transform: translateY(-30px);
  }

  .p-instagram .c-present__card .details {
    row-gap: 20px;
    margin-block-start: 20px;
  }

  .p-instagram .c-supporter__title .head {
    gap: 10px;
  }

  .p-instagram .c-supporter__title .balloon {
    left: -20px;
    top: 25px;
    width: 90px;
  }

  .p-instagram .p-supporter {
    flex-direction: column-reverse;
    gap: 0;
  }

  /* ----- 応募方法 --------------- */
  .p-instagram .c-howto__step li:not(:last-child) {
    padding-block-end: 80px;
  }

  .p-instagram .c-howto__step li {
    flex-wrap: wrap;
    position: relative;
  }

  .p-instagram .c-howto__step li:not(:last-child)::after {
    background-color: #347DB8;
    content: "";
    height: 60px;
    position: absolute;
    width: 3px;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }

  .p-instagram .c-howto__step .details {
    flex-basis: 100%;
  }

  .p-instagram .c-howto__step .number {
    margin-inline: auto;
  }

  .p-instagram .c-howto__step .number-label {
    border-width: 3px;
    height: 90px;
    width: 90px;
  }

  .p-instagram .c-howto__step .number-label::before {
    font-size: 1.6rem;
  }

  .p-instagram .c-howto__step .number-label::after {
    font-size: 4rem;
  }

  .p-instagram .c-howto__step .details .ttl {
    margin-block-end: 20px;
    padding-block-end: 20px;
  }

  /* ----- キャンペーン概要 --------------- */
  .p-outline .c-disc-black>li::before {
    top: 14px;
  }
}


/* -------------------------------------
    記念イベントページ
------------------------------------- */
.p-memorial .c-def dt,
.p-festa .c-def dt {
  background-color: #fff;
}

.c-profile .figure {
  text-align: center;
}

.c-profile .namae {
  border-block-end: solid 1px;
  margin-block-end: 20px;
  padding-block-end: 10px;
}

.c-profile .namae .sub {
  font-size: 1.5rem;
  display: block;
}

.c-profile .namae b {
  color: var(--text-color);
  font-size: clamp(2.4rem, 1.944vw, 2.8rem);
  font-weight: 800;
  letter-spacing: .1em;
}

.c-profile.l-column[class*="col-"] .figure {
  margin-block-end: 20px;
}

@media screen and (max-width: 767.98px) {
  .p-memorial .c-table th {
    width: 100% !important;
  }

  .p-memorial .c-table td {
    padding-inline: 20px;
  }

  .c-profile.l-column.col-3 {
    grid-template-columns: repeat(1, 1fr);
    gap: 50px;
  }
	
  .memorial-thankyou .c-box {
		padding-block: 60px;
  }
}


/* -------------------------------------
    あいちウィークフェスタページ
------------------------------------- */
.p-festa .c-table .c-disc-black {
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .p-festa .l-column.col-1 {
    display: flex;
    justify-content: center;
  }

  .p-festa .l-column.col-1 li {
    width: calc(50% - 30px);
  }
}

.p-festa .c-profile.l-column.cols-1-2 {
  grid-template-columns: 2fr 3fr;
}

@media screen and (max-width: 767.98px) {
  .festa-intro {
    text-align: left !important;
  }

  .p-festa .c-table th {
    width: 100% !important;
  }

  .p-festa .c-table td {
    padding-inline: 20px;
  }

  .p-festa .c-table .c-disc-black>li::before {
    top: 14px;
  }

  .p-festa .c-profile.l-column.cols-1-2 {
    display: block;
  }

  .p-festa .c-profile.l-column.cols-1-2>.small {
    margin-bottom: 20px;
  }
  
	.festa-thankyou .c-box {
		padding-block: 60px;
	}
	
	.c-memory.l-column.col-3 {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* -------------------------------------
    スタンプラリー
------------------------------------- */
.p-stamp .c-heading02 .heading{
  padding-bottom: 30px;
  font-size: 2.4rem;
}
.p-stamp__box{
  padding: 40px;
  border-radius: 60px;
  box-shadow: 0 0 30px rgba(235, 128, 75, 0.3);
  background-color: #fff;
}
.p-stamp__box .title{
  font-size: 2.4rem;
}
.p-stamp__box .txt{
  font-size: 1.6rem;
}
.p-stamp .l-column{
  gap: 40px;
}
.p-stamp .l-column figure:nth-child(2){
  display: grid;
  place-items: center;
}
.p-stamp .l-column figure:nth-child(2) img{
  width: 70%;
}
.p-stamp__ttl{
  color: var(--main-color);
  font-size: clamp(3rem, 3.0555vw, 4.4rem);
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.p-stamp__ttl .en{
  font-family: var(--font3);
  font-size: clamp(4rem, 5.555vw, 8rem);
  font-weight: normal;
}
.spot__name{
  color: var(--main-color);
  font-feature-settings: 'palt';
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
}
.spot__text{
  min-height: 3lh;
  font-feature-settings: 'palt';
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2;
  text-box-trim: trim-both;
}
.spot__address{
  font-feature-settings: 'palt';
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2;
  text-box-trim: trim-both;
}
.spot__text + .spot__address{
  border-top: 1px solid currentColor;
  margin-top: 20px;
  padding-top: 20px;
}
@media (max-width: 767.98px){
  .p-stamp .c-heading02 .heading{
    font-size: 2rem;
  }
  .p-stamp__box .title{
    font-size: 2rem;
  }
  .p-stamp__box{
    padding: 20px;
    border-radius: 30px;
  }
  .p-stamp .l-column{
    gap: 20px;
  }
}
/* -------------------------------------
    WPブロックエディタ
------------------------------------- */
.wp-block-heading{
  margin-block: 0.8em;
}
.wp-block-paragraph{
  margin-block: 1.2em;
  line-height: 1.87;
}