@charset "utf-8";

*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}
ul[role="list"],
ol[role="list"] {
  list-style: none;
}
body {
  min-height: 100vh;
  line-height: 1.5;
}
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}
img,
picture {
  width: 100%;
  max-width: 100%;
  display: block;
}
input,
button,
textarea,
select {
  font: inherit;
}
textarea:not([rows]) {
  min-height: 10em;
}
:target {
  scroll-margin-block: 5ex;
}

/* 共通スタイル */
#content {
  max-width: 650px;
  margin: 0 auto; /* 中央寄せ */
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); /* 影の設定 */
  border: 1px solid rgba(128, 128, 128, 0.2); /* グレーの薄いボーダー */
  background-color: #ffffff; /* 背景色 */
  font-family: "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

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

/* スマホ用（幅750px以下） */
@media (max-width: 650px) {
  #content {
    max-width: 100%; /* スマホ画面で全幅表示 */
    box-shadow: none; /* 影を削除 */
    border: none; /* ボーダーを削除 */
  }
}

.mv {
  position: relative;
}

.mainvisual,
[class^="section"] {
  position: relative;
}

.mainvisual a,
[class^="section"] a {
  margin-inline: auto;
  position: absolute;
  right: 0;
  left: 0;
}

.mainvisual a img,
[class^="section"] a img {
  animation: animation-scale 1.2s ease 1s infinite;
  -webkit-animation: webkit-animation-scale 1.2s ease 1s infinite;
}

img[src$="img/cta_section.png"] {
  width: min(678px, calc(678 / 640 * 100vw));
}

@-webkit-keyframes webkit-animation-scale {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(0.95);
  }

  to {
    transform: scale(1);
  }
}

@keyframes webkit-animation-scale {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(0.95);
  }

  to {
    transform: scale(1);
  }
}

.mainvisual a {
  bottom: 0;
}

.section1 a {
  bottom: min(29px, calc(29 / 640 * 100vw));
}

.section3 a {
  bottom: min(26px, calc(26 / 640 * 100vw));
}

.section5 a {
  bottom: min(25px, calc(25 / 640 * 100vw));
}

.section6 a {
  bottom: min(45px, calc(45 / 640 * 100vw));
}

.section7 a {
  bottom: min(29px, calc(29 / 640 * 100vw));
}

.section9 a {
  bottom: min(23px, calc(23 / 640 * 100vw));
}

.section2_1 {
  padding: 0 min(20px, calc(20 / 640 * 100vw)) min(111px, calc(111 / 640 * 100vw));
}

.section2_1 p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: min(6px, calc(6 / 640 * 100vw));
  margin-bottom: min(20px, calc(20 / 640 * 100vw));
}

.section2_1 p:not(:first-of-type) {
  margin-top: min(60px, calc(60 / 640 * 100vw));
}

.section2_1 .bg-gradation {
  padding-inline: min(13px, calc(13 / 640 * 100vw));
  font-size: min(29px, calc(27 / 640 * 100vw));
  line-height: calc(53 / 29);
  position: relative;
  z-index: 0;
}

.section2_1 .bg-gradation::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(98deg, #c2ccf8 0%, #fddff4 30%, #fbcad0 69%, #f892bf 100%);
  opacity: 0.4;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.movie {
  display: flex;
  justify-content: center;
}

.section2_1 iframe {
  width: min(560px, calc(560 / 640 * 100vw));
  max-width: 100%;
  height: min(315px, calc(315 / 640 * 100vw));
}

.section2_1 .font-red {
  color: #f72f64;
  font-weight: bold;
}

.section2_1 .lg {
  font-family: Toppan Bunkyu Mincho, serif;
  font-size: min(52px, calc(52 / 640 * 100vw));
  font-weight: normal;
  line-height: calc(53 / 52);
}

.section11_1 {
  padding: 0 min(20px, calc(20 / 640 * 100vw)) min(52px, calc(52 / 640 * 100vw));
}

/* スマホ用（幅750px以下） */
@media (max-width: 650px) {
  #content {
    bottom: calc(30 / 640 * 100vw);
  }
}

.cta {
  padding: min(19px, calc(19 / 640 * 100vw)) 0 min(30px, calc(30 / 640 * 100vw));
  background: #feece9;
}

.cta img {
  width: min(567px, calc(567 / 640 * 100vw));
  margin-inline: auto;
  animation: animation-scale 1.2s ease 1s infinite;
  -webkit-animation: webkit-animation-scale 1.2s ease 1s infinite;
}

.contents__cta {
  width: 89%;
  margin-inline: auto;
  margin-top: 30px;
}

.cta-fixed {
  display: flex;
  place-content: center;
  width: 100vw;
  max-width: 650px;
  margin-inline: auto;
  position: fixed;
  right: 100vw;
  bottom: 0;
  left: -100vw;
  opacity: 0;
}

.cta-fixed--show {
  animation: 0.3s both fadeIn;
}

.cta-fixed--hide {
  animation: 0.3s both fadeOut;
}

@keyframes fadeIn {
  from {
    right: 100vw;
    left: -100vw;
    opacity: 0;
  }
  1% {
    right: 0;
    left: 0;
    opacity: 0;
  }
  to {
    right: 0;
    left: 0;
    opacity: 1;
  }
}

@keyframes fadeOut {
  from {
    right: 0;
    left: 0;
    opacity: 1;
  }
  99% {
    right: 0;
    left: 0;
    opacity: 0;
  }
  to {
    right: 100vw;
    left: -100vw;
    opacity: 0;
  }
}

.cta-fixed a {
  display: contents;
}

.cta-fixed img {
  width: 82.5%;
}

#footer {
  font-size: 13px;
  line-height: 170%;
  font-family: "Shippori Mincho", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  background-color: #f56e9f;
}
