@charset "UTF-8";

/* ==========================================================================
    Pages style
============================================================================= */
:root {
  --font1: 'LINE Seed JP', sans-serif;
  --font2: "din-2014", sans-serif;
  --font3: "Luckiest Guy", cursive;
  --main-color: #eb4b55;
  --pale-color: #fff2e4;
  --text-color: #333;
}

/* -------------------------------------
    パンくずリスト
------------------------------------- */
.breadcrumb {
  -webkit-padding-before: 100px;
          padding-block-start: 100px;
}
.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 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(-5.347vw, -78px);
  height: min(25.694vw, 370px);
  width: min(50.208vw, 723px);
}
.p-pages__head .c-heading01 {
  gap: 30px;
}
.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;
}
@media (min-width: 768px) {
  .p-pages__head .bg.page-about {
    bottom: max(-4.930vw, -71px);
  }
  .p-pages__head .bg.page-week {
    bottom: max(-4.963vw, -72px);
    height: min(25.277vw, 364px);
  }
  .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: -30px;
    height: auto;
    width: 270px;
  }
  .p-pages__head .bg.page-event {
    bottom: -32px
  }
  .p-pages__head .bg.page-links {
    bottom: -31px;
    width: 290px;
  }
  .p-pages__body {
    border-radius: 50px 50px 0 0;
    padding-block: 100px;
  }
  .p-pages__head .bg.page-instagram {
    bottom: -23px;
  }
}

/* -------------------------------------
    バナー
------------------------------------- */
.p-banners {
  -webkit-padding-before: 150px;
          padding-block-start: 150px;
}
.p-banners .c-banner__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  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);
}
.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) {
  .p-pages__head .bg.page-news {
    bottom: -30px;
    height: auto;
    width: 270px;
  }
  .pagination {
    margin-block-start: 50px;
  }
  .page-numbers {
    height: 40px;
    width: 40px;
  }
}
/* -------------------------------------
    entry
------------------------------------- */
.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 {
  position: absolute;
  z-index: 1;
  right: 0;
  width: 22.638vw;
  max-width: 326px;
  bottom: -30px;
}
.c-entry__head--sub .tags {
  margin-block: 0;
}
.c-entry__body .c-button__exter {
  border: solid 3px var(--main-color);
  box-shadow: none;
  max-width: 616px;
}
.c-entry__body .c-button__home {
  margin-block-start: 100px;
}

.p-latest .c-news__list,
.p-latest .c-news__item {
  border-color: #DADADA;
}
.p-latest .c-news__list .cont {
  padding-block: 30px;
}

/* Color Change */
.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;
}

/* -------------------------------------
    あいちウィーク
------------------------------------- */
:root {
  --blue-color: #376BA4;
  --red-color: #FF6A6A;
  --green-color: #129D80;
  --orange-color: #ED5D16;
}
.c-week__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 3.015%;
  margin-block: 80px 200px;
}
.c-week__nav a {
  box-shadow: 0 0 30px rgba(235,128,75,0.3);
}
.c-week__nav--item {
  display: flex;
  flex-basis: 58.793%;
  flex-direction: column;
  gap: 30px;
}
.c-week__nav--item a {
  align-items: center;
  background-color: #fff;
  border-radius: 20px;
  display: flex;
  font-size: 2.8rem;
  font-weight: 800;
  flex-wrap: wrap;
  letter-spacing: .1em;
  gap: 20px;
  position: relative;
  padding: 30px;
}
.c-week__nav--item a::after {
  content: "";
  background: url(../images/common/ico_arrow_link.svg) no-repeat center / contain;
  height: 17px;
  width: 17px;
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}
.c-week__nav--item a:hover {
  opacity: .7;
}
.c-week__nav--item a .label {
  border-radius: 10px;
  color: #fff;
  font-size: 2rem;
  padding: 9px 18px;
}
.c-week__nav--item a .label.blue {
  background-color: var(--blue-color);
}
.c-week__nav--item a .label.red {
  background-color: var(--red-color);
}
.c-week__nav--item a .label.green {
  background-color: var(--green-color);
}
.c-week__nav--search {
  flex-basis: 38.190%;
}
.c-week__nav--search a {
  align-items: center;
  background-color: #fff;
  border-radius: 20px;
  display: flex;
  font-weight: 800;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  justify-content: center;
  letter-spacing: .1em;
  min-height: 260px;
  text-align: center;
}
.c-week__nav--search .sub {
  color: #ED5D16;
  display: block;
  font-size: 2.4rem;
}
.c-week__nav--search .sub::before {
  content: "";
  background: url(../images/pages/ico_search.svg) no-repeat center / contain;
  display: block;
  height: 55px;
  margin: 0 auto 40px;
  width: 55px;
}
.c-week__nav--search b {
  font-size: 2.8rem;
  font-weight: 800;
  display: block;
  text-align: center;
}
.p-week__section .eye-catch {
  margin-inline: calc(50% - 50vw);
  margin-block-end: 90px;
  position: relative;
  width: 100vw;
}
.p-week__section .eye-catch img {
  aspect-ratio: 1 / 0.341;
  border: solid 5px;
  border-inline-end: 0;
  border-radius: 40px 0 0 40px;
  display: block;
  margin-left: auto;
  min-height: 260px;
  object-fit: cover;
  height: 100%;
  width: calc(100% - 8.33vw);
}
.p-week__section .eye-catch::after {
  content: "";
  position: absolute;
  bottom: max(-6.855vw, -98px);
}
.p-week__section .eye-catch__ttl {
  background-color: #fff;
  border: solid 5px;
  bottom: max(-3.263vw, -47px);
  display: inline-block;
  font-family: var(--font3);
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 20px 30px;
  position: absolute;
  left: 7.778vw;
  transform: rotate(-5deg);
}
.p-week__heading {
  font-size: clamp(3rem, 3.333vw, 4.8rem);
  font-weight: 800;
  letter-spacing: .1em;
  margin-block-end: 60px;
}

/* -------- color change blue ----------------------------- */
.p-week__section.color-blue .eye-catch img {
  border-color: var(--blue-color);
}
.p-week__section.color-blue .eye-catch::after {
  background: url(../images/pages/bg_week_heading01.svg) no-repeat 0 0 / contain;
  right: min(2.0833vw, 30px);
  height: 18.75vw;
  max-height: 270px;
  max-width: 300px;
  width: 20.833vw;
}
.p-week__section.color-blue .eye-catch__ttl {
  border-color: var(--blue-color);
  box-shadow: -3px 4px 0 var(--blue-color);
  color: var(--blue-color);
}
.p-week__section {
  padding-block: 0 200px;
}
.color-blue .p-week__heading {
  color: var(--blue-color);
}
.color-blue .c-card__item .details-head {
  border-color: var(--blue-color);
}
.color-blue .c-card__item .details-body .lead {
  color: var(--blue-color);
}
.color-blue .c-button {
  border-color: var(--blue-color);
  color: var(--blue-color);
}
.color-blue .c-button:hover {
  background-color: var(--blue-color);
  color: #fff;
}
.color-blue .c-button::after {
  background: url(../images/common/ico_arrow_btn_blue.svg) no-repeat center / contain;
}

/* -------- color change red ----------------------------- */
.p-week__section.color-red .eye-catch img {
  border-color: var(--red-color);
}
.p-week__section.color-red .eye-catch::after {
  background: url(../images/pages/bg_week_heading02.svg) no-repeat 0 0 / contain;
  right: min(2.0833vw, 30px);
  height: 17.5vw;
  max-height: 252px;
  max-width: 233px;
  width: 16.18vw;
}
.p-week__section.color-red .eye-catch__ttl {
  border-color: var(--red-color);
  box-shadow: -3px 4px 0 var(--red-color);
  color: var(--red-color);
}
.color-red .p-week__heading {
  color: var(--red-color);
}
.color-red .c-card__item .details-head {
  border-color: var(--red-color);
}
.color-red .c-card__item .details-body .lead {
  color: var(--red-color);
}
.color-red .c-button {
  border-color: var(--red-color);
  color: var(--red-color);
}
.color-red .c-button:hover {
  background-color: var(--red-color);
  color: #fff;
}
.color-red .c-button::after {
  background: url(../images/common/ico_arrow_btn_red.svg) no-repeat center / contain;
}

/* -------- color change green ----------------------------- */
.p-week__section.color-green .eye-catch img {
  border-color: var(--green-color);
}
.p-week__section.color-green .eye-catch::after {
  background: url(../images/pages/bg_week_heading03.svg) no-repeat 0 0 / contain;
  bottom: max(-9.5138vw, -134px);
  right: min(2.0833vw, 30px);
  height: 19.375vw;
  max-height: 279px;
  max-width: 237px;
  width: 16.458vw;
}
.p-week__section.color-green .eye-catch__ttl {
  border-color: var(--green-color);
  box-shadow: -3px 4px 0 var(--green-color);
  color: var(--green-color);
}
.color-green .p-week__heading {
  color: var(--green-color);
}
.color-green .c-card__item .details-head {
  border-color: var(--green-color);
}
.color-green .c-card__item .details-body .lead {
  color: var(--green-color);
}
.color-green .c-button {
  border-color: var(--green-color);
  color: var(--green-color);
}
.color-green .c-button:hover {
  background-color: var(--green-color);
  color: #fff;
}
.color-green .c-button::after {
  background: url(../images/common/ico_arrow_btn_green.svg) no-repeat center / contain;
}

/* -------- color change orange ----------------------------- */
.color-orange .c-card__item .details-head {
  border-color: var(--orange-color);
}
.color-orange .c-card__item .details-body .lead {
  color: var(--orange-color);
}
.color-orange .c-button {
  border-color: var(--orange-color);
  color: var(--orange-color);
}
.color-orange .c-button:hover {
  background-color: var(--orange-color);
  color: #fff;
}
.color-orange .c-button::after {
  background: url(../images/common/ico_arrow_btn_orange.svg) no-repeat center / contain;
}


@media (min-width: 768px) {
  .p-week__section .c-card__item {
    margin-block-start: 110px;
  }
}

@media (max-width: 1199.98px) {
  .p-week__section .eye-catch img {
    width: calc(100% - 20px);
  }
  .p-week__section .eye-catch__ttl {
    left: 10px;
  }
}

@media (max-width: 767.98px) {
  .c-week__nav {
    flex-direction: column;
    gap: 30px;
    margin-block: 40px 100px;
  }
  .c-week__nav > * {
    flex-basis: 100%;
  }
  .c-week__nav--item a {
    font-size: 1.8rem;
    gap: 10px;
    padding: 20px;
  }
  .c-week__nav--item a::after {
    right: 20px;
    height: 12px;
    width: 12px;
  }
  .c-week__nav--item a .label {
    font-size: 1.2rem;
    padding: 4px 8px;
  }
  .c-week__nav--search a {
    gap: 10px;
  }
  .c-week__nav--search .sub {
    font-size: 1.8rem;
  }
  .c-week__nav--search .sub::before {
    height: 30px;
    width: 30px;
    margin-block-end: 20px;
  }
  .c-week__nav--search b {
    font-size: 2rem;
  }
  .p-week__section .eye-catch__ttl {
    font-size: 1.8rem;
    padding: 16px 20px;
  }
  .p-week__section .c-card__item {
    margin-block-start: 70px;
  }
  .c-card__item .ico-recommend {
    top: -30px;
    right: 10px;
  }
  .c-card__item .tags {
    gap: 15px;
  }
  .c-card__item .tags .tag-item {
    font-size: 1.3rem;
    padding-block: 10px;
  }
}


/* -------------------------------------
    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 .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;
  }
}