@charset "UTF-8";

body {
  max-width: 500px;
  margin: 0 auto;
}

.h1 {
  padding: 10px;
}

.heading-secondary {
  color: #000;
  text-align: center;
  font-family: "Noto Sans";
  font-size: 26px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding: 30px;
}

.tac {
  text-align: center;
}

.mv {
  padding: 60px 10px 0px 10px;
  margin: 0 auto;
  background-image: url(../images/mv_bg.png);
  background-repeat: no-repeat;
  background-position: center 85%;
}

.mv_img {
  margin-top: 35px;
}

.main_copy {
  margin-top: 20px;
  font-size: 26px;
  color: #fff;
  line-height: 1.3;
  font-weight: 600;
}

.bgc {
  background: linear-gradient(0deg, #5057FF 47.32%, #8E48FF 93.94%);
}

.bg-light-purple {
  background-image: url(../images/bg-light-purple.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.mv img {
  width: 190px;
}

.purchase {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18.77px;
}

.purchase_btn {
  margin: 0 5px;
}

.app_btn img {
  width: 144px;
}

.google_btn img {
  width: 179px;
}

.offer {
  padding-top: 50px;
}

.bg-purple .offer_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 328px;
  height: 61px;
  flex-direction: column;
  text-align: center;
  flex-shrink: 0;
  border-radius: 32px;
  background: linear-gradient(2deg, #C6ACFF -59.36%, #FFF 145.85%);
  box-shadow: 0px 6px 8px 0px #996AFF;
  margin: 0 auto;
}

.offer_btn_text {
  text-align: center;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Noto Sans";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  background: linear-gradient(0deg, #5057FF -85.3%, #8E48FF 224.11%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.about_callat {
  padding-top: 40px;
}

.about_callat_text_sec {
  padding-top: 20px;
}

.section_text {
  color: #000;
  font-family: "Noto Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding: 15px;
}

.section_description {
  color: #000;
  text-align: center;
  font-family: "Noto Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 18px;
}

.section_price {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 80%;
  max-width: 250px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
}

.section_price p {
  text-align: left;
  width: 100%;
  margin: 10px 0;
  color: #000;
  font-family: "Noto Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.phone-mockup {
  text-align: center;
}

.phone-mockup img {
  width: 185px;
  height: 368.298px;
  flex-shrink: 0;
  text-align: center;
}

.recommendation {
  width: 100%;
  padding: 20px;
}

.recommendation img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 10px;
}

.bg-fade-gradient {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 168, 140, 0.5) 50%, rgba(207, 147, 255, 0.5) 100%);
}

.footer {
  background: linear-gradient(150deg, #FCF8FF 44%, #E0C7FF);
  padding: 20px 40px;
}

.footer_li {
  font-size: 21px;
  margin-top: 15px;
}

.footer_text {
  margin-top: 20px;
}

.footer_rights {
  color: #fff;
  font-size: 14px;
}

.top {
  background-image: url(../images/callat_fortune_teller_sample.png);
  /* 背景画像を指定 */
  background-repeat: no-repeat;
  /* 背景画像を繰り返さない */
  background-size: contain;
  /* 背景画像を要素内に収める */
  background-position: top center; /* 背景画像を上寄せ＆中央揃え */
  /* 背景画像を中央に配置 */
  width: 100%;
  /* 横幅を親要素いっぱいに設定 */
  height: auto;
  /* 高さを自動調整 */
  aspect-ratio: 39 / 50;
  /* 画像のアスペクト比を指定 */
}

.top {
  position: relative;
}

.callat_logo {
  padding-top: 22px;
  margin-left: 27px;
}

.apply {
  position: absolute; /* 親要素に対する絶対配置 */
  top: 80%; /* 親要素の上から80%の位置に配置 */
  left: 50%; /* 親要素の中央に配置 */
  transform: translateX(-50%); /* X軸方向の中央揃えを補正 */
  display: flex; /* 子要素の中央揃え */
  justify-content: center;
  align-items: center;
}

.apply_btn {
  border-radius: 32px;
  background: linear-gradient(2deg, #FFF -59.36%, #FFE681 77.1%);
  box-shadow: 0px 6px 8px 0px #996AFF;
  width: 328px;
  height: 61px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  flex-shrink: 0;
  margin: 0 auto;
}

.apply_btn_text {
  background: linear-gradient(0deg, #5057FF -85.3%, #8E48FF 224.11%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
  font-feature-settings: 'liga' off, 'clig' off;
  font-family: "Noto Sans";
  font-size: 25px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px; /* 96% */
}

.section_title {
  font-size: 30px;
  font-family: "Noto Sans";
  font-style: normal;
  text-align: center;
  padding: 10px;
}

.section_title_highlight {
  color: #794ADF;
}

.section_title_description {
  color: #000;
}

.bg_light_blue {
  background-image: url(../images/bg_light_blue.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.image_container {
  display: flex; /* Flexboxを使用 */
  justify-content: center; /* 横方向で中央揃え */
  align-items: center; /* 縦方向で中央揃え */
  width: 100%; /* 必要に応じて幅を指定 */
  height: auto; /* 高さを自動調整 */
  text-align: center; /* 保険としてテキスト中央揃え */
  padding: 10px;
}

.text_align_center {
  color: #000;
  font-family: "Noto Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding: 15px;
  text-align: center; /* テキストを水平方向で中央揃え */
}

.heading_tertiary {
  color: #000;
  text-align: center;
  font-family: "Noto Sans";
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding: 10px; 
}

/* セクション全体のスタイル */
section {
  max-width: 100%; /* 親コンテナの幅を画面いっぱいに制約 */
  margin: 0 auto; /* セクションを中央揃え */
  padding: 20px; /* 内側の余白 */
  overflow: hidden; /* 子要素がはみ出さないようにする */
}

/* リスト全体のスタイル */
section ul {
  list-style: none; /* デフォルトのリストマーカーを非表示 */
  padding: 0; /* パディングをリセット */
  margin: 30px 0 20px 30px; /* 上下の余白調整 */
}

/* 各リスト項目のスタイル */
section ul li {
  display: flex; /* アイコンとテキストを横並びに */
  align-items: center; /* アイコンとテキストを垂直方向で中央揃え */
  margin-bottom: 15px; /* 各項目の間隔 */
  font-size: 18px; /* テキストのサイズ */
  color: #000; /* テキストの色 */
}

/* リスト内のアイコンのスタイル */
section ul li img {
  width: 30px; /* アイコンの幅 */
  height: 30px; /* アイコンの高さ */
  margin-right: 18px; /* アイコンとテキストの間隔 */
  flex-shrink: 0; /* アイコンが縮まないようにする */
}

/* 問いかけ部分のスタイル */
section div {
  display: flex; /* テキストと画像を横並びに */
  align-items: center; /* 垂直方向で中央揃え */
  justify-content: space-between; /* 子要素間に余白を作る */
  gap: 10px; /* テキストと画像の間隔 */
}

/* 問いかけ部分の画像 */
.speech_bubble_container div img {
  width: 250px; /* 画像の幅 */
  height: auto; /* アスペクト比を維持 */
}

/* 吹き出し部分のコンテナ */
.speech_bubble_container {
  display: flex;
  align-items: center; /* 上寄せ */
  gap: 2px; /* 吹き出しと画像の間隔 */
  padding: 20px 10px 20px 0px;
}

/* 吹き出し部分 */
.speech_bubble {
  position: relative; /* テキストを重ねるためにrelative */
  width: 250px; /* 吹き出しの幅 */
  height: 90px; /* 吹き出しの高さ */
  flex-shrink: 0; /* サイズが縮まないように設定 */
}

/* 吹き出し画像 */
.speech_bubble_image {
  width: 100%; /* 吹き出し全体に画像を表示 */
  height: auto; /* アスペクト比を維持 */
  display: block; /* 余計なスペースを削除 */
}

/* 吹き出し内のテキスト */
.speech_bubble_text {
  width: 80%; /* テキストの幅を調整 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-58%, -50%); /* テキストを中央揃え */
  font-size: 14px;
  color: #333;
  text-align: left;
  margin: 0;
}

.bg_yellow {
  background-image: url(../images/bg_yellow.png);
  background-repeat: no-repeat;
  background-size: cover;
}

/* 訴求アイテム */
.appeal_item {
  display: flex; /* フレックスボックスを使用 */
  flex-direction: column; /* 縦方向に配置 */
  align-items: center; /* コンテンツを中央揃え */
  text-align: center; /* テキストを中央揃え */
  padding: 15px;
}

.appeal_heading {
  font-size: 24px;
  position: relative; /* 子要素の配置用 */
  display: inline-block; /* h3の幅をコンテンツに応じて調整 */
  font-weight: 600;
  color: #000;
}

.appeal_heading::after {
  content: ""; /* 擬似要素の内容を空に */
  display: block;
  position: absolute; /* h3に対する絶対位置 */
  bottom: -10px; /* テキストの下に配置 */
  left: 50%; /* 親要素の中央に配置 */
  transform: translateX(-50%); /* 中央寄せの補正 */
  width: calc(100% + 28px); /* h3の幅に応じて少し大きくする */
  height: 3px; /* 線の太さ */
  background-color: #FF3AFC; /* 線の色を指定 */
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); /* ドロップシャドウを適用 */
  border-radius: 2px; /* 線の丸み */
}

.appeal_number {
  color: #FF3AFC;
  font-size: 24px;
  font-weight: 700;
  margin-right: 5px;
}

.appeal_image {
  max-width: 250px;
  height: auto;
  margin: 15px 0;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.appeal_image_reward {
  max-width: 300px;
  height: auto;
  margin: 15px 0;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.appeal_text {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}

.highlight_text {
  font-weight: bold;
}


.bg_light_pink {
  background: linear-gradient(180deg, #FFF 0%, rgba(255, 124, 185, 0.40) 100%);
}

.apply_sec {
  display: flex; /* 子要素の中央揃え */
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.specific_apply_btn {
  border-radius: 32px;
  background: linear-gradient(2deg, #FFF -59.36%, #FFE681 77.1%);
  box-shadow: 0px 6px 8px 0px #996AFF;
  width: 328px; /* ボタンの幅 */
  height: 61px; /* ボタンの高さ */
  display: flex; /* フレックスボックスで子要素を管理 */
  justify-content: center; /* 横方向の中央揃え */
  align-items: center; /* 縦方向の中央揃え */
  text-align: center; /* テキストの中央揃え */
  margin: 0 auto; /* セクション内で中央揃え */
}

.specific_apply_btn_text {
  background: linear-gradient(0deg, #5057FF -85.3%, #8E48FF 224.11%);
  background-clip: text; /* テキストの背景グラデーション */
  -webkit-background-clip: text; /* Webkit用の設定 */
  -webkit-text-fill-color: transparent; /* テキストの透明化 */
  text-align: center; /* テキストを中央揃え */
  font-family: "Noto Sans", sans-serif;
  font-size: 20px; /* テキストのサイズ調整 */
  font-weight: 700; /* 太字に設定 */
  line-height: 61px; /* ボタンの高さと一致させて中央揃え */
  margin: 0; /* 余白を削除 */
}

/* ステップ全体のラップ */
.application_flow_steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px; /* 各ステップの間隔 */
  padding: 20px;
}

/* ステップのボックス */
.application_flow_step {
  display: flex;
  width: 346px;
  height: 64px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  background: linear-gradient(355deg, #C6ACFF -139.38%, #FFF 144.63%);
  box-shadow: 0px 4px 12px 0px #B9B3FF;
  flex-shrink: 0;
}

/* ステップのテキスト */
.step_text {
  font-size: 18px;
  font-weight: 700;
  color: #5057FF;
  font-family: 'Noto Sans', sans-serif;
  margin: 0;
  text-align: center;
}

.application_flow_arrow {
  display: flex; /* Flexboxを使用 */
  justify-content: center; /* 横方向の中央揃え */
  align-items: center; /* 縦方向の中央揃え */
  width: 100%; /* 横幅を親要素いっぱいに */
  margin: 0 auto; /* 中央に配置 */
}

.application_flow_arrow img {
  width: 48px; /* 矢印画像の幅 */
  height: auto; /* アスペクト比を維持 */
  display: block; /* 画像余白を削除 */
}

.recruitment_section {
  padding: 20px 20px 40px 20px;
  border-radius: 10px;
  margin: 0 auto;
  max-width: 600px; /* セクションの最大幅 */
}

.recruitment_table {
  background-color: #fff; /* 白いボックス */
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.recruitment_row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
  border-bottom: 1px solid #FFB6C1; /* ピンクのライン */
  padding-bottom: 10px;
}

.recruitment_label {
  font-size: 16px;
  font-weight: 700;
  color: #000;
  flex: 1; /* ラベルの固定幅 */
  margin-right: 10px;
}

.recruitment_value {
  flex: 2; /* 値の可変幅 */
  font-size: 14px;
  font-weight: 400;
  color: #333;
}

.recruitment_value p {
  margin: 0;
  line-height: 1.6;
}