/*------------------------------
    common
------------------------------*/
:root {
  --color-red: #cc0033;
  --bg-gray: #f9f8f6;
  --bg-red: #feeae9;
  --text-black: #333333;
  --bg-yellow: #f9e671;
  --black: #000;
  --white: #fff;
  --container: 1300px;
  --inner: 880px;
  --contents-padding: 0 10px;
  --sp-contents-padding: 0 20px;
  --inner-s: 780px;
}

body {
  margin: 0;
  padding: 0;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px; /* SP基準：1rem = 14px */
  font-weight: 400;
  color: var(--black);
  box-sizing: border-box;
}

@media (min-width: 768px) {
  html {
    font-size: 100%; /* PCは1rem=16px相当 */
  }
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
}
p {
  margin: 0;
  padding: 0;
}

img {
  width: 100%;
  max-width: 100%;
}

sup {
  font-size: 0.5em;
}

/*------------------------------
    layout
------------------------------*/
.wrapper {
  overflow: hidden;
}

.main {
  display: block;
  margin: 0;
  padding: 0;
}

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: var(--contents-padding);
}

.inner {
  max-width: var(--inner);
  margin: 0 auto;
  padding: var(--contents-padding);
}

.inner-s {
  max-width: var(--inner-s);
  margin: 0 auto;
  padding: var(--contents-padding);
}

/*------------------------------
    parts
------------------------------*/
a {
  transition: opacity 0.3s ease;
  color: #116bc0;
}

@media (hover: hover) and (pointer: fine) {
  a:hover {
    opacity: 0.7;
  }
}

.text-link_black {
  text-decoration: underline;
  color: var(--black);
}

.caption {
  padding: 0;
  margin: 0;
}

.caption .item {
  display: table;
}

.caption._center .item {
  width: fit-content;
  margin: 0 auto;
}

.caption .item > span {
  display: table-cell;
  font-size: 0.75rem;
  color: #343434;
}

.caption .item a {
  color: #343434;
}
.caption .item > .mk {
  width: 15px;
}

.buttons .btn {
  max-width: 640px;
  margin: 0 auto;
  display: block;
}

.buttons p {
  margin-bottom: 9px;
}

.secondary-btn {
  max-width: 460px;
  margin: 30px auto 0;
  display: block;
}

.follower-button {
  z-index: 1000;
  position: fixed;
  bottom: 30px;
  left: 0;
  right: 0;
  max-width: 684px;
  margin: 0 auto;
}

.marker {
  background: linear-gradient(transparent 70%, #fff77b 70%);
}

.font-red {
  color: var(--color-red);
}

/*------------------------------
    header
------------------------------*/
.header {
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

/*------------------------------
    footer
------------------------------*/
.footer .caption {
  padding-top: 242px;
}

.footer .footer-link {
  margin-top: 22px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 6px;
}

.footer .footer-link a {
  color: var(--black);
  text-align: center;
  font-size: 1rem;
}

.copy {
  padding: 27px;
  margin-top: 36px;
  color: var(--white);
  text-align: center;
  font-size: 0.843rem;
  background: var(--text-black);
}

/*------------------------------
    section
------------------------------*/
.kv {
  position: relative;
  background: linear-gradient(101deg, #39b495 32.94%, #38cf9c 59.74%);
}
.kv h1 {
  position: relative;
  z-index: 10;
}

.kv::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: auto;
  background: #ee465f;
  height: min(45px, calc(100vw * 45 / 1280));
}

.mv {
  background: #304281;
}

.mv + .inner .caption {
  margin-top: 20px;
}

.section1 {
  padding: 40px 0 0;
}
.section1 .catch {
  text-align: center;
  color: var(--color-red);
  line-height: 1;
  font-size: 1.78125rem;
  font-weight: 700;
}
.section1 .catch-2 {
  color: var(--color-red);
  text-align: center;
  line-height: 1.2;
  font-size: 4.20875rem;
  font-weight: 700;
}
.section1 .catch > span {
  font-size: 1.21875rem;
  font-weight: 700;
}
.section1 .catch-2 > span {
  text-align: center;
  font-size: 2.879375rem;
  font-weight: 700;
}
.section1 .catch-2 + .img {
  margin-top: 27px;
  width: 43.515625vw;
  height: auto;
  margin-inline: auto;
}
.section1 .c-flex {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.section1 .c-flex img {
  width: 32.8125vw;
  height: auto;
}

.section1 .c-col1 {
  padding: 70px 40px 45px;
  margin-top: 40px;
  border-radius: 8px;
  background: #feeae9;
}

.section1 .c-col2 {
  padding: 70px 40px 45px;
  margin-top: 40px;
  border-radius: 8px;
  background: #feeae9;
}

.section1 .c-col1 .c-h2 {
  width: 22.65625vw;
  margin: 0 auto;
}
.section1 .c-col1 .c-h2 + .c-h3 {
  width: fit-content;
  padding: 9px 61px;
  margin: 40px auto 0;
  font-size: 1.6875rem;
  font-weight: 600;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
}
.section1 .c-col1 .c-h2 + .c-h3 > span {
  color: var(--color-red);
}
.section1 .c-col1 .c-flex {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 30px;
}
.section1 .c-col1 .c-flex-item:first-child img {
  width: 8.28125vw;
}

.section1 .c-col1 .c-flex-item:nth-child(2) img {
  width: 9.609375vw;
}

.section1 .c-col1 .c-flex-item:last-child img {
  width: 10.078125vw;
}

.section1 .c-col1 .c-plus,
.section1 .c-col2 .c-plus {
  margin-block: 25px;
  margin-inline: auto;
  width: 2.5vw;
}
.section1 .c-col1 .c-plan {
  margin: 0 auto;
  width: 22.421875vw;
}
.section1 .c-col1 .c-button,
.section1 .c-col2 .c-button {
  width: 35.9375vw;
  margin: 40px auto 0;
  display: block;
}

.section1 .c-col2 .c-h2 {
  width: 17.109375vw;
  height: auto;
  margin: 0 auto;
}

.section1 .c-col2 .c-flex {
  gap: 0;
}

.section1 .c-col2 .c-flex .c-flex-item:first-child {
  width: 16.40625vw;
  height: auto;
}

.section1 .c-col2 .c-flex .c-flex-item:last-child {
  width: 31.40625vw;
  height: auto;
}

.section1 .c-col2 .c-flex .c-plus {
  margin-inline: 18px 15px;
}

.section1 .c-bottom-img {
  margin: 10px auto 0;
  width: 78.125vw;
  margin-inline: auto;
  line-height: 0.8;
}

.section2 {
}
.section2 .vis {
  background: linear-gradient(101deg, #39b495 32.94%, #38cf9c 59.74%);
}

.section2 .col1-wrap {
  padding: 20px 20px 65px;
  position: relative;
  background: #a2e6c7;
}

.section2 .col1 .c-h2 {
  text-align: center;
  font-size: 1.875rem;
  padding-bottom: 6px;
  max-width: 545px;
  margin: 0 auto;
  font-weight: 700;
  border-bottom: 3px solid #000000;
}

.section2 hgroup {
  width: 41.875vw;
  margin: 16px auto 0;
}

.section2 .col1 .c-catchs {
  margin-top: 33px;
  text-align: center;
}

.section2 .col1 .c-catchs .c-catch {
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 700;
}

.section2 .col1 .c-catchs .c-catch > span {
  font-size: 1.21875rem;
  line-height: 1;
  font-weight: 700;
}

.section2 .col1 .c-catchs .c-catch-2 {
  font-size: 1.78125rem;
  line-height: 1.8;
  font-weight: 700;
}

.section2 .col1 .c-catchs .c-catch-2 > span {
  font-size: 1.21875rem;
  font-weight: 700;
}
.section2 .col1 .column {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.40625vw;
  width: fit-content;
  margin: 27px auto;
}

.section2 .col1 .column img {
  width: 29.921875vw;
}

.section2 .col1 .column + .c-catch-2 {
  text-align: center;
  margin-top: 28px;
  font-weight: 600;
  font-size: 1.5rem;
}

.section2 .col1 .column + .c-catch-2 > span {
  font-size: 1.1875rem;
}
.section2 .col1 .c-catch-2 + .c-img {
  width: 47.5vw;
  margin: 0 auto;
  max-width: 610px;
}

.section2 .col1 .c-img + .caption {
  margin-top: 15px;
}

.section2 .wrap {
  padding-block: 50px;
}

.section2 .wrap .col2 .catch {
  width: 30.859375vw;
  margin: 0 auto;
}

.section2 .wrap .col2 .column {
  width: 39.21875vw;
  margin: 21px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 24px;
}

.section2 .col2 .buttons > p {
  margin-top: 24px;
  text-align: center;
  font-size: 1.9375rem;
  font-weight: 900;
}

.section2 .col2 .caption {
  margin-top: 40px;
}

.section3 .wrap {
  padding: 20px 20px 30px;
  background: #a2e6c7;
}

.section3 .wrap-2 {
  padding: 57px 20px 68px;
  background: #a2e6c7;
}

.section3 h2 {
  width: 59.140625vw;
  margin: 0 auto;
  max-width: 757px;
}

.section3 .c-up-text {
  text-align: center;
  line-height: 1.2;
  font-weight: 700;
  font-size: 2.4375rem;
  color: #ff2b02;
  background: #ffe100;
}

.section3 .c-up-text > span {
  font-weight: 900;
  font-size: 4.625rem;
}

.section3 .c-up-text + .inner {
  margin-top: 20px;
}

.section3 .c-grid {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 23px;
}
.section3 .c-grid-item {
  padding: 20px;
  background: var(--white);
  border-radius: 6px;
}
.section3 .c-grid-item .c-line {
  padding-right: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.section3 .c-grid-item .c-line > img {
  width: 114px;
  height: auto;
}
.section3 .c-grid-item .c-line .c-col {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.section3 .c-grid-item .c-line .c-col .c-text {
  text-align: center;
  font-size: 1.0625rem;
  line-height: 1.4;
  font-weight: 700;
}
.section3 .c-grid-item:nth-child(1) .c-line .c-col {
  gap: 16px;
}
.section3 .c-grid-item:nth-child(1) .c-line .c-col .c-text + img {
  width: 233px;
}
.section3 .c-grid-item:nth-child(2) .c-line .c-col {
  gap: 26px;
}
.section3 .c-grid-item:nth-child(2) .c-line .c-col .c-text + img {
  width: 234px;
}
.section3 .c-grid-item:nth-child(3) .c-line .c-col {
  gap: 20px;
}
.section3 .c-grid-item:nth-child(3) .c-line .c-col .c-text + img {
  width: 172px;
}
.section3 .c-grid-item:nth-child(4) .c-line .c-col {
  gap: 40px;
}
.section3 .c-grid-item:nth-child(4) .c-line .c-col .c-text + img {
  width: 135px;
}
.section3 .c-grid-item:nth-child(5) .c-line .c-col {
  gap: 24px;
}
.section3 .c-grid-item:nth-child(5) .c-line .c-col .c-text + img {
  width: 224px;
}
.section3 .c-grid-item:nth-child(6) .c-line .c-col {
  gap: 29px;
}
.section3 .c-grid-item:nth-child(6) .c-line .c-col .c-text + img {
  width: 201px;
}
.section3 .c-grid-item .c-line + .c-text-wrap {
  margin-top: 25px;
  font-size: 0.8125rem;
  min-height: calc(2em * 2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
.section3 .c-grid-item .c-line + .c-text-wrap .c-text {
  text-align: center;
  font-size: 0.8125rem;
}
.section3 .c-grid-item .c-text-wrap + .c-text-link {
  margin-top: 8px;
  display: block;
  text-align: center;
  color: #116bc0;
  font-size: 0.8125rem;
}

.section3 .wrap .c-card {
  padding: 27px 20px;
  background: var(--white);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 28px;
  border-radius: 8px;
}

.section3 .wrap .c-card > img {
  width: 115px;
}
.section3 .wrap .c-card > .c-row img {
  width: 43.046875vw;
}
.section3 .wrap .c-card > .c-row img + .c-text {
  margin-top: 18px;
  text-align: center;
  line-height: 1.4;
  font-weight: 600;
  font-size: 1.4375rem;
}

.section3 h2 + p {
  color: var(--text-black);
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 140%;
}

.section3 .line {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.section3 .line p {
  color: var(--text-black);
  font-size: 2.43rem;
  font-weight: 700;
}

.section3 .line img {
  max-width: 234px;
}

.section3 .line + .text {
  color: var(--text-black);
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
}

.section3 .cover {
  margin-top: 39px;
  padding: 45px 60px;
  border-radius: 7.5px;
  background: var(--white);
}

.section3 .cover > .catch {
  color: var(--text-black);
  text-align: center;
  font-size: 1.78rem;
  font-weight: 700;
}

.section3 .cover > .catch > em {
  font-style: normal;
  font-size: 1.5rem;
}

.section3 .cover > img {
  max-width: 290px;
  margin: 20px auto;
}

.section3 .cover > .text {
  text-align: center;
  color: var(--text-black);
  font-size: 1.5rem;
  font-weight: 700;
}

.section3 .card {
  max-width: 680px;
  margin: 30px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.section3 .card .item {
  text-align: center;
  padding-left: 5px;
  padding-right: 5px;
  height: 116px;
  border-radius: 4.765px;
  border: 1.191px solid #333;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  background: #fff;
}

.section3 .card .item a,
.section3 .card .item .text {
  font-size: 0.68rem;
}

.section3 .card .item .text.font-bold {
  font-size: 0.87rem;
  font-weight: 600;
}

.section3 .card .item .head {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.section3 .card .item .head > p {
  font-size: 0.87rem;
  font-weight: 600;
}

.section3 .card .item:nth-child(1) {
  padding: 6px 0 5px;
}

.section3 .card .item:nth-child(2) {
  padding: 7px 0 5px;
}

.section3 .card .item:nth-child(3) {
  padding: 17px 0 5px;
}

.section3 .card .item:nth-child(4) {
  padding: 38px 0 5px;
}

.section3 .card .item:nth-child(5) {
  padding: 37px 0 5px;
}

.section3 .card .item:nth-child(6) {
  padding: 5px 0 5px;
}

.section3 .card .item:nth-child(1) .head img {
  width: 189px;
}
.section3 .card .item:nth-child(2) .head img {
  width: 130px;
}
.section3 .card .item:nth-child(3) .head img {
  width: 104px;
}
.section3 .card .item:nth-child(4) .head img {
  width: 133px;
}
.section3 .card .item:nth-child(5) .head img {
  width: 117px;
}
.section3 .card .item:nth-child(6) .head img {
  width: 125px;
}
.section3 .c-grid + .caption {
  margin-top: 20px;
}

.section4 {
  padding: 83px 0 90px;
}

.section4 h2 {
  max-width: 463px;
  margin: 0 auto;
}
.section4 h2 + .catch {
  text-align: center;
  margin-top: 20px;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--black, #333);
}
.section4 .catch + .info {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--black, #333);
}
.section4 .info + .caption {
  margin-top: 6px;
}

.section4 .col {
  margin-top: 20px;
  padding: 50px 90px;
  border-radius: 8px;
  background: var(--bg-red);
}

.section4 .col h3 {
  max-width: 291px;
  margin: 0 auto;
}
.section4 .col .info {
  text-align: center;
  margin-top: 20px;
  color: var(--black, #333);
  font-size: 1.375rem;
  font-weight: 700;
}
.section4 .col .flex {
  margin: 32px auto 0;
  width: fit-content;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
.section4 .col .flex.clm-4 {
  margin-top: 9px;
  grid-template-columns: repeat(4, 1fr);
}
.section4 .col .flex > img {
  width: 101px;
}
.section4 .col .sub-tt {
  max-width: 680px;
  margin: 45px auto 0;
}
.section4 .col .sub-tt + .text {
  text-align: center;
  margin-top: 9px;
  letter-spacing: 0.8px;
  font-size: 20px;
  font-weight: 500;
  color: var(--black);
}
.section4 .col .price {
  margin-top: 8px;
  max-width: 386px;
  margin: 0 auto;
}
.section4 .col .price_2 {
  margin-top: 8px;
  max-width: 427px;
  margin: 0 auto;
}

.section4 .col .line {
  margin-top: 30px;
  gap: 11px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.section4 .col .c-line-img {
  text-align: center;
  margin: 30px auto 0;
}

.section4 .col .c-line-img img {
  width: 29.765625vw;
  margin: 0 auto;
}

.section4 .col-3 .c-line-img img {
  max-width: 381px;
}
.section4 .col .line > .img {
  width: 287px;
}
.section4 .col .line > :not(.img) {
  width: 32px;
}

.section4 .col-2 .ttl {
  width: 22.65625vw;
}

.section4 .col-3 .ttl {
  width: 17.109375vw;
}

.section4 .col-3 .line .img {
  width: 16.40625vw;
}

.section4 .col-3 .line .img-2 {
  width: 31.40625vw;
  max-width: 407px;
}

.section4 .col-4 .flex {
  grid-template-columns: repeat(3, 1fr);
}

.section4 .col-4 .flex {
  grid-template-columns: repeat(3, 1fr);
}
.section4 .col-4 .flex + .c-text {
  margin-top: 24px;
  text-align: center;
  font-weight: 500;
  font-size: 1.25rem;
}

.section4 .col-3 .line img.is-Pc {
  max-width: 210px;
}

.section5 h2 {
  max-width: 469px;
  margin: 0 auto;
}

.section5 .cover-text {
  z-index: 10;
  position: relative;
  margin-top: -2px;
  padding: 21px 90px;
  color: var(--white);
  text-align: center;
  font-size: 1.5rem;
  font-weight: 600;
  border-radius: 8.505px;
  background: #333d60;
}

.section5 .col {
  margin-top: 30px;
  padding: 62px;
  background: var(--bg-gray);
}
.section5 .col h3 {
  padding: 9px 10px;
  text-align: center;
  color: var(--color-red);
  font-size: 1.5rem;
  font-weight: 700;
  border-top: 3px solid var(--color-red);
  border-bottom: 3px solid var(--color-red);
}

.section5 .catch {
  text-align: center;
  margin-top: 17px;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--black);
}
.section5 img {
  max-width: 435px;
  margin: 54px auto 0;
  display: block;
}

.section5 .set .ttl {
  margin-top: 30px;
  color: var(--color-red);
  font-size: 1.5rem;
  font-weight: 700;
}
.section5 .set .text {
  margin-top: 5px;
  color: var(--black);
  font-size: 1.25rem;
}
.section6 {
  padding-top: 60px;
}
.section6 h2 {
  padding: 9px 10px;
  text-align: center;
  color: var(--color-red);
  font-size: 1.5rem;
  font-weight: 700;
  border-top: 3px solid var(--color-red);
  border-bottom: 3px solid var(--color-red);
}

.section6 .set {
  margin-top: 30px;
}
.section6 .set .ttl {
  color: var(--color-red);
  font-size: 1.125rem;
  font-weight: 700;
}
.section6 .set .text {
  margin-top: 6px;
  color: var(--black);
  font-size: 1.125rem;
}
.section6 .set .text + .text {
  margin-top: 30px;
}

/*------------------------------
    thanks-main
------------------------------*/
.thanks-main .kv {
  background: #97d0ee;
}

.thanks-main .kv::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: auto;
  background: #ffde0b;
  height: min(40px, calc(100vw * 40 / 1280));
}

.thanks-main .caption {
  text-align: center;
  margin-top: 12px;
}

.thanks-main .kv + .inner .caption {
  width: fit-content;
  margin: 11px auto 0;
}

.thanks-main .marker {
  background: linear-gradient(transparent 60%, #fff77b 60%);
}

.thanks-main .c-catch {
  width: fit-content;
  margin: 0 auto;
  font-weight: 600;
  font-size: 1.875rem;
}

.thanks-main .c-catch + .c-text {
  margin-top: 15px;
  text-align: center;
  font-weight: 600;
  font-size: 1.3125rem;
}

.thanks-main .c-col .c-flex {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 21px;
}

.thanks-main .c-col .c-flex-item .c-box {
  margin-top: -25px;
  padding: 23px 20px;
  background: #fffada;
  border-radius: 8px;
}

.thanks-main .c-col .c-flex-item .c-box .line {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 17px;
}

.thanks-main .c-col .c-flex-item:first-child .comment {
  width: 20.3125vw;
  margin: 0 auto;
}

.thanks-main .c-col .c-flex-item:first-child .line img:first-child {
  width: 14.84375vw;
  max-width: 190px;
}
.thanks-main .c-col .c-flex-item:first-child .line img:last-child {
  width: 13.125vw;
  max-width: 168px;
}

.thanks-main .c-col .c-flex-item:last-child .comment {
  width: 17.1875vw;
  margin: 0 auto;
}

.thanks-main .c-col .c-flex-item:last-child .line img:first-child {
  width: 14.765625vw;
  max-width: 190px;
}
.thanks-main .c-col .c-flex-item:last-child .line img:last-child {
  width: 13.125vw;
  max-width: 168px;
}

.thanks-main .c-card {
  margin-top: 30px;
}

.thanks-main .c-card .comment {
  width: 28.125vw;
  margin: 0 auto;
}

.thanks-main .c-card .c-box {
  margin-top: -25px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
  padding: 23px 20px;
  background: #fffada;
  border-radius: 8px;
}

.thanks-main .c-card .c-box .line {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.thanks-main .c-card .c-box .line img:first-child {
  width: 11.09375vw;
  max-width: 142px;
}

.thanks-main .c-card .c-box .line img:last-child {
  width: 16.25vw;
  max-width: 210px;
}

.thanks-main .c-card-2 .c-box .line img:first-child {
  max-width: 100%;
}

.thanks-main .c-card-2 .c-box .line img:last-child {
  max-width: 210px;
}

.thanks-main .c-card .c-box .button {
  width: 14.609375vw;
  max-width: 188px;
}
.thanks-main .c-card + .c-text-link {
  width: fit-content;
  text-align: center;
  display: block;
  margin: 20px auto 0;
}

.thanks-main .button_pop {
  margin: 20px auto 0;
  text-align: center;
  width: 390px;
  position: relative;
  padding: 18px;
  color: var(--text-black);
  text-decoration: none;
  line-height: 1;
  background: var(--white);
  font-size: 1.03125rem;
  display: block;
  font-weight: 600;
  border-radius: 7px;
  border: 2px solid var(--black);
}

.thanks-main .button_pop > img {
  position: absolute;
  right: 19px;
  top: 40%;
  width: 6px;
}

.thanks-main .c-col-2 {
  margin-top: 35px;
}

.thanks-main .c-col-2 > img {
  width: 38.90625vw;
  margin: 0 auto;
}

.thanks-main .c-col-2 > .c-flex {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 20px;
}
.thanks-main .c-col-2 .c-flex-item {
  padding: 23px 30px;
  border-radius: 7px;
  background: #feeae9;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 20px;
  min-width: 330px;
}
.thanks-main .c-col-2 .c-flex-item .c-ttl {
  width: 14.84375vw;
  margin: 0 auto;
}
.thanks-main .c-col-2 .c-flex-item .c-line {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 9px;
}
.thanks-main .c-col-2 .c-flex-item .c-line > img {
  width: 41px;
  height: auto;
}
.thanks-main .c-col-2 .c-flex-item .c-line > .c-text {
  font-size: 1.125rem;
  font-weight: 600;
}
.thanks-main .c-col-2 .c-flex-item .set {
  border-radius: 7px;
  padding: 50px;
  background: var(--white);
  margin: 0 auto;
  max-width: 256px;
}
.thanks-main .c-col-2 .c-flex-item .set-2 {
  border-radius: 7px;
  padding: 20px 50px;
  background: var(--color-red);
  margin: 0 auto;
}
.thanks-main .c-col-2 .c-flex-item .set-2 > p {
  color: var(--white);
  font-size: 1.125rem;
  font-weight: 600;
}
.thanks-main .c-col-2 .c-flex-item .set img {
  margin: 0 auto;
  width: 12.109375vw;
}
.thanks-main .c-col-2 .c-flex-item .plus {
  width: 2.5vw;
  margin: 0 auto;
  max-width: 32px;
}
.thanks-main .c-col-2 .c-flex-item:last-child .c-line {
  padding-inline: 30px;
}

.thanks-main .c-col-3,
.thanks-main .c-col-4 {
  margin: 22px auto 0;
  padding: 23px 30px;
  border-radius: 7px;
  background: #feeae9;
  max-width: 680px;
}

.thanks-main .c-col-3 .ttl {
  width: 11.09375vw;
  margin: 0 auto;
}

.thanks-main .c-col-3 .ttl + .img {
  width: 31.40625vw;
  margin: 20px auto 0;
}
.thanks-main .c-col-3 .plus {
  width: 2.5vw;
  margin: 10px auto;
}
.thanks-main .c-col-3 .img-2 {
  padding: 11px 17px;
  width: 28.671875vw;
  border-radius: 7px;
  background: var(--white);
  margin: 0 auto;
}

.thanks-main .c-col-4 .ttl {
  width: 14.84375vw;
  margin: 0 auto;
}

.thanks-main .c-col-4 .c-flex {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 66px;
}

.thanks-main .c-col-4 .c-flex-item > img {
  width: 41px;
  height: auto;
  margin: 0 auto;
}

.thanks-main .c-col-4 .c-flex .c-text {
  margin-top: 10px;
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
}

.thanks-main .c-col-4 + .caption {
  max-width: 680px;
  text-align: left;
  margin: 20px auto 0;
}

.thanks-main .page-top-button {
  width: 39.21875vw;
  margin: 40px auto 0;
  display: block;
  max-width: 507px;
}

.thanks-main + .footer .footer-link {
  margin-top: 60px;
}

.popup {
  position: fixed;
  inset: 0;
  z-index: 9999;

  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}

.popup.is-open {
  opacity: 1;
  visibility: visible;
}

.popup__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}
.popup__content {
  position: absolute;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);

  width: min(520px, 90vw);
  max-height: calc(100vh - 120px);

  background: #fff;

  padding: 50px 47px 20px;

  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.popup__content img {
  width: 100%;
  display: block;
}

.popup-close-wrap {
  max-width: 520px;
  position: absolute;
  top: 15px;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.popup__close {
  position: absolute;
  right: 0;

  margin-left: auto;
  width: 40px;
  height: 40px;

  border: none;
  background: none;

  color: #fff;

  cursor: pointer;

  font-size: 40px;
  line-height: 1;
}

@media (min-width: 768px) {
  .is-Pc {
    display: inline;
  }

  .is-Sp {
    display: none;
  }
}

/*------------------------------
    SP
------------------------------*/

@media (max-width: 767px) {
  .inner {
    padding: var(--sp-contents-padding);
  }

  .inner-s {
    padding: var(--sp-contents-padding);
  }
  .container {
    padding: 0;
  }
  .header {
    height: 50px;
  }
  .header img {
    width: 34vw;
  }

  .caption .item > span {
    font-size: 2.6vw;
  }

  .follower-button {
    max-width: 90%;
  }
  .buttons .btn {
    max-width: 90%;
  }
  .secondary-btn {
    max-width: 53vw;
  }
  .section1 {
    padding-top: 20px;
  }
  .section1 .catch {
    font-size: 4.5333333333vw;
  }
  .section1 .catch > span {
    font-size: 3.0666666667vw;
  }
  .section1 .catch-2 {
    font-size: 10.2666666667vw;
  }
  .section1 .catch-2 > span {
    font-size: 6.9333333333vw;
  }
  .section1 .catch-2 + .img {
    width: 100%;
  }
  .section1 .img + .text {
    font-size: 3.7vw;
  }
  .section1 .c-flex {
    align-items: flex-start;
  }
  .section1 .c-flex img {
    width: 42.6666666667vw;
  }
  .section1 .c-col1 {
    margin-top: 15px;
    padding: 30px;
  }
  .section1 .c-col1 .c-h2 {
    width: 57.4666666667vw;
  }
  .section1 .c-col1 .c-h2 + .c-h3 {
    margin-top: 25px;
    text-align: center;
    width: 100%;
    padding: 10px;
    font-size: 4.8vw;
  }
  .section1 .c-col1 .c-flex {
    gap: 10px;
  }
  .section1 .c-col1 .c-flex-item:first-child img {
    width: auto;
  }
  .section1 .c-col1 .c-flex-item:nth-child(2) img {
    width: auto;
  }
  .section1 .c-col1 .c-flex-item:last-child img {
    width: auto;
  }
  .section1 .c-col1 .c-plus,
  .section1 .c-col2 .c-plus {
    width: 5.7333333333vw;
    margin-block: 15px;
  }
  .section1 .c-col1 .c-plan {
    width: 100%;
  }

  .section1 .c-col1 .c-button,
  .section1 .c-col2 .c-button {
    margin-top: 15px;
    width: 53.0666666667vw;
  }
  .section1 .c-col2 {
    padding: 30px;
  }
  .section1 .c-col2 .c-h2 {
    width: 43.3333333333vw;
  }
  .section1 .c-col2 .c-flex .c-flex-item:first-child {
    width: 71.4666666667vw;
  }
  .section1 .c-col2 .c-flex .c-flex-item:first-child img {
    width: 100%;
  }

  .section1 .c-col2 .c-flex .c-flex-item:last-child {
    width: 71.4666666667vw;
  }

  .section1 .c-col2 .c-flex .c-flex-item:last-child img {
    width: 100%;
  }

  .section1 .c-col2 .c-flex {
    flex-direction: column;
    align-items: center;
  }
  .section1 .c-bottom-img {
    margin-top: 27px;
    width: 89.3333333333vw;
    line-height: 0.8;
  }

  .section2 .col1 .c-h2 {
    font-size: 4.5333333333vw;
  }
  .section2 .col1 hgroup {
    width: 100%;
  }
  .section2 .col1 .column .icon {
    width: 27px;
    height: 27px;
  }
  .section2 .col1 .column .text {
    font-size: 4.9vw;
  }
  .section2 .col1 .c-catchs .c-catch {
    font-size: 4.2666666667vw;
  }
  .section2 .col1 .c-catchs .c-catch > span {
    font-size: 3.4666666667vw;
  }
  .section2 .col1 .c-catchs .c-catch-2 {
    font-size: 5.0666666667vw;
    letter-spacing: -0.05em;
  }
  .section2 .col1 .c-catchs .c-catch-2 > span {
    font-size: 3.4666666667vw;
  }
  .section2 .col1 .column {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
  .section2 .col1 .column img {
    width: 100%;
  }
  .section2 .col1 .column + .c-catch-2 {
    margin-top: 15px;
    font-size: 4.2666666667vw;
  }
  .section2 .col1 .c-catch-2 + .c-img {
    width: 100%;
  }

  .section2 .wrap-1 {
    padding-top: 70px;
    background: url("../img/section2_bottom_triangle.webp") no-repeat center top;
    background-size: 130px auto;
  }

  .section2 .col2 .catch {
    max-width: 70%;
  }
  .section2 .wrap .col2 .catch {
    width: 70.1333333333vw;
  }
  .section2 .col2 .buttons > p {
    font-size: 5.6vw;
  }
  .section2 .col1-wrap {
    padding: 20px 0 40px;
    margin-bottom: 0;
  }
  .section2 .col1-wrap::after {
    width: 40vw;
    height: 50px;
    bottom: -50px;
  }
  .section2 .wrap .col2 .column {
    width: 100%;
  }
  .section2 .col2 .caption {
    margin-top: 25px;
  }

  .section3 {
    overflow: hidden;
  }
  .section3 .wrap {
    padding: 20px 0;
  }
  .section3 .c-up-text {
    padding-block: 4px;
    font-size: 5.2vw;
  }
  .section3 .c-up-text > span {
    font-size: 9.7333333333vw;
  }

  .section3 .c-grid {
    grid-template-columns: repeat(1, 1fr);
  }

  .section3 .c-grid-item .c-line > img {
    width: 22.6vw;
  }

  .section3 .c-grid-item .c-line + .c-text-wrap {
    margin-top: 20px;
    min-height: 0;
  }

  .section3 .c-grid-item .c-text-wrap + .c-text-link {
    font-size: 2.6666666667vw;
  }
  .section3 .c-grid-item .c-line .c-col .c-text {
    font-size: 3.4666666667vw;
  }

  .section3 .c-grid-item .c-line + .c-text-wrap .c-text {
    font-size: 2.6666666667vw;
  }

  .section3 .wrap .c-card > img {
    width: 22.6vw;
  }

  .section3 .wrap .c-card > .c-row img + .c-text {
    font-size: 3.4666666667vw;
    margin-top: 10px;
  }

  .section3 h2 {
    width: 100%;
  }
  .section3 h2 + p {
    font-size: 4.9vw;
  }
  .section3 .line p {
    font-size: 6.9vw;
  }
  .section3 .line img {
    width: 41%;
  }
  .section3 .line + .text {
    font-size: 4.2vw;
  }
  .section3 .cover {
    margin: 39px auto 0;
    padding: 17px;
  }
  .section3 .cover > .catch {
    font-size: 5vw;
  }
  .section3 .cover > .catch > em {
    font-size: 4.2vw;
  }
  .section3 .cover > img {
    max-width: 70%;
  }
  .section3 .cover > .text {
    font-size: 4.2vw;
  }
  .section3 .card {
    width: 100%;
    grid-template-columns: repeat(1, 1fr);
  }
  .section4 {
    padding: 35px 0;
  }
  .section4 h2 {
    max-width: 82%;
  }
  .section4 h2 + .catch {
    font-size: 5vw;
  }

  .section4 .catch + .info {
    font-size: 4.2vw;
  }

  .section4 .col {
    padding: 40px 20px;
  }
  .section4 .col .flex {
    margin-top: 16px;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .section4 .col h3 {
    max-width: 52vw;
  }
  .section4 .col .sub-tt {
    margin-top: 24px;
  }
  .section4 .col .info {
    font-size: 4.2vw;
  }
  .section4 .col .sub-tt + .text {
    text-align: left;
    font-size: 3.7vw;
  }
  .section4 .col .price {
    max-width: 68vw;
  }
  .section4 .col .line {
    flex-direction: column;
  }
  .section4 .col .line > .img {
    width: 53.0666666667vw;
    border-radius: 4px;
  }
  .section4 .col .line > .img + img + img {
    width: 100%;
  }
  .section4 .col .line > :not(.img) {
    width: 17px;
  }
  .section4 .col-4 .flex + .c-text {
    font-size: 3.7333333333vw;
  }

  .section4 .col-3 .ttl {
    width: 43.3333333333vw;
  }
  .section4 .col-3 .line > .img {
    width: 71.4666666667vw;
  }
  .section4 .col-3 .plus {
    margin: 0 auto;
    width: 5.7333333333vw !important;
  }
  .section4 .col-3 .plus.is-Sp {
    display: block;
    margin-block: 10px;
  }

  .section4 .col .c-line-img img {
    width: 77.6vw;
  }
  .section4 .col .price_2 {
    max-width: 75vw;
  }
  .section5 h2 {
    max-width: 79vw;
  }
  .section5 img {
    margin-top: 35px;
  }
  .section5 .cover-text {
    padding-left: 30px;
    padding-right: 30px;
    font-size: 4.2vw;
  }
  .section5 .col {
    margin-top: 20px;
    padding: 20px;
  }
  .section5 .col h3 {
    padding: 5px 10px;
    font-size: 4.8vw;
  }
  .section5 .catch {
    font-size: 4.2vw;
  }
  .section5 .catch + img {
    max-width: 90%;
  }
  .section5 .set .ttl {
    font-size: 4.2vw;
  }
  .section5 .set .text {
    font-size: 3.7vw;
  }
  .section6 h2 {
    font-size: 4.8vw;
  }
  .section6 .set .ttl {
    font-size: 3.2vw;
  }
  .section6 .set .text {
    font-size: 3.2vw;
  }
  .footer .footer-link a {
    font-size: 3.2vw;
  }
  .copy {
    font-size: 2.4vw;
  }
  .thanks-main .c-catch {
    margin-top: 20px;
    font-size: 4.6666666667vw;
  }

  .thanks-main .c-catch + .c-text {
    font-size: 3.7333333333vw;
    margin-top: 8px;
  }

  .thanks-main .c-col .c-flex {
    margin-top: 15px;
    gap: 15px;
    align-items: stretch;
  }

  .thanks-main .c-card {
    margin-top: 15px;
  }

  .thanks-main .c-col .c-flex-item .c-box {
    padding: 30px 15px;
  }

  .thanks-main .c-col .c-flex-item:first-child .comment {
    width: 29.3333333333vw;
  }

  .thanks-main .c-col .c-flex-item:last-child .comment {
    width: 29.3333333333vw;
  }

  .thanks-main .c-col .c-flex-item .c-box .line {
    flex-direction: column;
    gap: 11px;
  }

  .thanks-main .c-col .c-flex-item:first-child .line img:first-child {
    width: 33.8666666667vw;
    padding-block: 7px;
  }

  .thanks-main .c-col .c-flex-item:last-child .line img:first-child {
    width: 33.6vw;
  }

  .thanks-main .c-col-2 > .c-flex {
    gap: 15px;
  }

  .thanks-main .c-col .c-flex-item:first-child .line img:last-child {
    width: 29.8666666667vw;
  }

  .thanks-main .c-col .c-flex-item:last-child .line img:last-child {
    width: 29.8666666667vw;
  }

  .thanks-main .c-card .comment {
    width: 64.5333333333vw;
  }
  .thanks-main .c-card .c-box .line img:first-child {
    width: 25.3333333333vw;
  }
  .thanks-main .c-card-2 .c-box .line img:first-child {
    width: 34vw;
  }
  .thanks-main .c-card .c-box .line img:last-child {
    width: 36.9333333333vw;
  }

  .thanks-main .c-card .c-box {
    padding-inline: 20px;
    flex-direction: column;
    gap: 11px;
  }

  .thanks-main .c-card .c-box .button {
    width: 33.3333333333vw;
  }

  .thanks-main .c-card + .c-text-link {
    color: var(--text-black);
  }

  .thanks-main .button_pop {
    width: 69.3333333333vw;
    font-size: 2.9333333333vw;
    padding-block: 12px;
  }

  .thanks-main .c-col-2 > img {
    width: 88.5333333333vw;
  }

  .thanks-main .c-col-2 .c-flex-item {
    width: 42.6666666667vw;
    min-width: 0;
    padding: 20px;
  }

  .thanks-main .c-col-2 .c-flex-item .c-ttl {
    width: 33.8666666667vw;
  }

  .thanks-main .c-col-2 .c-flex-item .c-ttl {
    width: 33.6vw;
  }

  .thanks-main .c-col-2 .c-flex-item .c-line > img {
    width: 7.2vw;
  }

  .thanks-main .c-col-2 .c-flex-item .c-line > .c-text {
    font-size: 3.2vw;
  }
  .thanks-main .c-col-2 .c-flex-item .set {
    padding: 20px;
  }

  .thanks-main .c-col-2 .c-flex-item .set img {
    width: 27.6vw;
  }

  .thanks-main .c-col-2 .c-flex-item .plus {
    width: 5.7333333333vw;
  }

  .thanks-main .c-col-2 .c-flex-item .set-2 > p {
    font-size: 3.2vw;
  }

  .thanks-main .c-col-3,
  .thanks-main .c-col-4 {
    padding: 15px;
  }

  .thanks-main .c-col-2 .c-flex-item .set-2 {
    text-align: center;
    width: 100%;
    padding: 20px 0;
  }

  .thanks-main .c-col-3 .ttl + .img {
    width: 71.4666666667vw;
  }

  .thanks-main .c-col-3 .ttl {
    width: 25.3333333333vw;
  }

  .thanks-main .c-col-3 .img-2 {
    width: 65.4666666667vw;
  }
  .thanks-main .c-col-3 .plus {
    width: 20px;
  }

  .thanks-main .c-col-4 .ttl {
    width: 33.8666666667vw;
  }

  .thanks-main .c-col-4 .c-flex {
    gap: 20px;
  }

  .thanks-main .c-col-4 .c-flex .c-text {
    font-size: 3.2vw;
  }

  .thanks-main .page-top-button {
    width: 100%;
  }
  .thanks-main .c-col-2 .c-flex-item:last-child .c-line {
    padding: 0;
  }

  .popup__close {
    right: 5%;
  }

  .is-Sp {
    display: inline;
  }
  .is-Pc {
    display: none;
  }
}

.tight-txt {
  font-feature-settings: "palt";
}
