@charset "utf-8";

/*--------------------------------------
基本設定
---------------------------------------*/
body {
  font-family: sans-serif, "Noto Sans JP", "ヒラギノ角ゴ ProN W6",
    "Hiragino Kaku Gothic StdN", "メイリオ", "Meiryo", "ヒラギノ角ゴシック",
    "Hiragino Sans";
  width: 375px;
  font-size: 10px;
  margin: 0 auto;
  text-align: center;
  color: #454545;
}

/* fv */
.fv_mv img {
  width: 100%;
}

/* フェードインアップ */
.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* プレゼント応募 */
.present-cta {
  padding: 30px 20px;
  background-color: #0080AA;
}
.present-cta_inner {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.present-cta_main-img {
  width: 100%;
  margin-bottom: 40px;
}
.present-cta_btn1 {
  width: 100%;
  margin-bottom: 20px;
  border-radius: 30px;
}
.present-cta_btn1 img {
  width: 100%;
}
.present-cta_btn-wrap {
  display: flex;
  justify-content: center;
  gap: 15px;
}
.present-cta_btn-wrap img {
  width: 100%;
}
.shine {
  position: relative;
  overflow: hidden;
  display: block;
}
.shine::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -75%;
  width: 50%;
  height: 200%;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-20deg);
  animation: shine 2.5s infinite;
}
@keyframes shine {
  0% { left: -75%; }
  100% { left: 125%; }
}

/* あなたの結婚条件 */
.condition {
  padding: 40px 20px;
  background-color: #E7F8FF;
}
.condition_head img {
  width: 90%;
  padding-bottom: 30px;
}
.condition_contents{
  padding: 0 20px;
  background-color: #FFFEF3;
}
.lucy {
  width: 100%;
  padding-bottom: 30px;
}
.client {
  width: 110px;
  padding-bottom: 20px;
}
.condition_img {
  width: 100%;
}
.condition_text {
  color: #0080AA;
  font-family: "A P-OTF A1Gothic StdN", sans-serif;
  font-size: 16px;
  line-height: 2.5;
  text-align: center;
  padding-top: 30px;
  padding-bottom: 30px;
}
.condition_carousel {
  overflow: hidden;
  width: 100%;
}
.condition_carousel-track {
  display: flex;
  gap: 10px;
  animation: carousel 20s linear infinite;
  width: max-content;
}
.condition_carousel-track img {
  width: 120px;
  flex-shrink: 0;
}
@keyframes carousel {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-120px * 3 - 10px * 3)); }
}

/* プレゼント */
.present {
  padding: 40px 20px;
}
.present_head img {
  width: 75%;
}
.present_contents img {
  width: 100%;
  padding-top: 30px;
}
.present_text { 
  font-family:"Noto Sans JP", sans-serif;
  font-size: 10px;
  text-align: center;
  padding-top: 11px;
}

/* 応募方法 */
.how-to {
  padding: 40px 20px 0;
  background-color: #0080AA;
}
.how-to_head img {
  width: 70%;
}
.how-to_contents img {
  width: 100%;
  padding-top: 30px;
}
.how-to_text_copyright {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 10px;
  text-align: center;
  padding-top: 20px;
}
.how-to_text {
  color: #fff;
  font-family: "A P-OTF A1Gothic StdN", sans-serif;
  font-size: 24px;
  text-align: center;
  padding-top: 30px;
}

/* 来店予約フォーム */
.form_head {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.form_head_arrow {
  width: 100%;
}
.form_head_img {
  padding: 40px 20px;
  width: 85%;
}
.form-wrapper {
  width: 100%;
  margin: 0 auto;
}

/* フッター */
.footer {
  width: 100%;
  margin: 30px auto 40px;
}
.footer p {
  margin: 0 auto;
  text-align: center;
}
.footer_txt p {
  font-size: 14px;
  margin: 3% auto;
}
.footer_txt .copy {
  font-size: 10px;
}
.logo {
  max-width: 200px;
  margin: 0 auto;
}
.logo img {
  width: 100%;
}