@charset "UTF-8";

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

* {
  letter-spacing: 0.04em;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  max-width: 750px;
  min-height: 100vh;
  padding: 0;
  margin: 0 auto;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: min(28px, 3.73vw);
  font-weight: 400;
  line-height: 1.7;
  color: #3e3a39;
  background-color: #fff;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* トップ画像 */
.top-image {
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.top-image img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
  padding: 0;
}

.l-inner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}

.p-contact {
  padding: min(60px, 8vw) 0;
  background-color: #fff;
  border: min(4px, 0.53vw) solid #6bb58c;
  flex: 1;
}

.p-contact__content {
  position: relative;
  padding: 0 min(26px, 3.47vw);
  background-color: #fff;
}

.p-contact__head {
  text-align: center;
}

.p-contact__head p {
  position: relative;
  font-size: min(34px, 4.53vw);
  font-weight: 700;
}

.p-contact__head p::before,
.p-contact__head p::after {
  position: absolute;
  top: 50%;
  width: min(90px, 12vw);
  height: min(100px, 13.33vw);
  content: "";
  background: url(../img/contact_dec.svg) no-repeat center center/contain;
  transform: translateY(-50%);
}

.p-contact__head p::before {
  left: min(80px, 10.67vw);
}

.p-contact__head p::after {
  right: min(80px, 10.67vw);
  transform: translateY(-50%) rotateY(180deg);
}

.p-contact__head h2 {
  margin-top: min(10px, 1.33vw);
  font-size: min(76px, 10.13vw);
  font-weight: 900;
  color: #6bb58c;
  letter-spacing: 0.1em;
}

.p-contact__head span {
  display: block;
  margin-top: min(10px, 1.33vw);
  font-size: min(30px, 4vw);
  font-weight: 700;
  line-height: 1.6;
}

.p-contact__dl {
  margin-top: min(20px, 2.67vw);
}

.p-contact__zip,
.p-contact__pref,
.p-contact__address,
.p-contact__name,
.p-contact__tel,
.p-contact__email,
.p-contact__select {
  margin-top: min(40px, 5.33vw);
}

.p-contact__zip dt,
.p-contact__pref dt,
.p-contact__address dt,
.p-contact__name dt,
.p-contact__tel dt,
.p-contact__email dt,
.p-contact__select dt {
  display: flex;
  column-gap: min(10px, 1.33vw);
  align-items: center;
  margin-bottom: min(15px, 2vw);
  font-size: min(40px, 5.33vw);
  font-weight: 700;
}

.p-contact__zip dt span,
.p-contact__pref dt span,
.p-contact__address dt span,
.p-contact__name dt span,
.p-contact__tel dt span,
.p-contact__email dt span,
.p-contact__select dt span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(76px, 10.13vw);
  height: min(40px, 5.33vw);
  font-size: min(21px, 2.8vw);
  font-weight: 700;
  color: #fff;
  background-color: #6bb58c;
  border-radius: 100vh;
}

.p-contact__pref dd small,
.p-contact__zip dd small,
.p-contact__address dd small,
.p-contact__tel dd small {
  display: block;
  margin-bottom: min(16px, 2.13vw);
  font-size: min(26px, 3.47vw);
  color: #27b56d;
  line-height: 1.6;
}

.p-contact__pref dd small {
  font-size: min(28px, 3.73vw);
  font-weight: 700;
  color: #e3007f;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
  width: 100%;
  height: min(80px, 10.67vw);
  padding: 0 min(24px, 3.2vw);
  font-family: inherit;
  font-size: 18px;
  /* iOSズーム防止のため16px以上 */
  color: #3e3a39;
  background-color: #fff;
  border: 2px solid #6bb58c;
  border-radius: min(8px, 1.07vw);
  outline: none;
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder {
  color: #999;
  font-size: 18px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus {
  border-color: #27b56d;
  border-width: 2px;
  box-shadow: 0 0 0 3px rgba(107, 181, 140, 0.2);
}

input[readonly] {
  background-color: #f5f5f5;
}

.p-contact__select label {
  display: block;
  margin-top: min(20px, 2.67vw);
}

.p-contact__select input[type="radio"] {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}

.p-contact__select input[type="radio"]+span {
  position: relative;
  padding-left: min(76px, 10.13vw);
  padding-top: min(12px, 1.6vw);
  padding-bottom: min(12px, 1.6vw);
  font-size: min(34px, 4.53vw);
  font-weight: 700;
  cursor: pointer;
  display: block;
}

.p-contact__select input[type="radio"]+span::before,
.p-contact__select input[type="radio"]+span::after {
  position: absolute;
  top: 50%;
  display: block;
  content: "";
  border-radius: 50%;
  transform: translateY(-50%);
}

.p-contact__select input[type="radio"]+span::before {
  left: 0;
  width: min(60px, 8vw);
  height: min(60px, 8vw);
  background-color: #fff;
  border: 2px solid #6bb58c;
}

.p-contact__select input[type="radio"]+span::after {
  left: min(17px, 2.27vw);
  width: min(26px, 3.47vw);
  height: min(26px, 3.47vw);
  background-color: #6bb58c;
  opacity: 0;
  transition: opacity 300ms ease-out;
}

.p-contact__select input[type="radio"]:checked+span::after {
  opacity: 1;
}

.radio03-warning {
  display: none;
  margin-top: min(15px, 2vw);
  padding: min(15px, 2vw);
  font-size: min(26px, 3.47vw);
  color: #e3007f;
  background-color: #fff0f5;
  border: 2px solid #e3007f;
  border-radius: min(8px, 1.07vw);
  line-height: 1.6;
}

.age-info {
  display: block;
  margin-top: min(15px, 2vw);
  padding: min(15px, 2vw);
  font-size: min(26px, 3.47vw);
  color: #e3007f;
  background-color: #fff0f5;
  border: 2px solid #e3007f;
  border-radius: min(8px, 1.07vw);
  line-height: 1.6;
}

.age-warning {
  display: none;
  margin-top: min(15px, 2vw);
  padding: min(15px, 2vw);
  font-size: min(26px, 3.47vw);
  color: #e3007f;
  background-color: #fff0f5;
  border: 2px solid #e3007f;
  border-radius: min(8px, 1.07vw);
  line-height: 1.6;
}

.p-contact__check {
  margin-top: min(20px, 2.67vw);
}

/* CTA：グラデーション＋立体感＋矢印（日本のLP王道デザイン） */
.p-contact__submit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 100%;
  height: min(140px, 20vw);
  margin: 0 auto;
  padding: min(15px, 2vw);
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  border: none;
  border-radius: min(16px, 2.13vw);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  transition: filter 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;

  /* 黄〜オレンジのグラデーション（立体＋ツヤ） */
  background: linear-gradient(180deg, #ffd54f 0%, #ffb74d 30%, #ff9800 70%, #f57c00 100%);
  box-shadow:
    0 6px 0 #e65100,
    0 8px 16px rgba(230, 81, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

/* 上面のハイライト（ツヤ） */
.p-contact__submit::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 45%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 100%);
  border-radius: min(16px, 2.13vw) min(16px, 2.13vw) 0 0;
  pointer-events: none;
}

/* 1行目：質問文 */
.p-contact__submit-sub {
  font-size: min(18px, 3vw);
  display: block;
}

/* 2行目：メイン＋矢印 */
.p-contact__submit-main {
  font-size: min(30px, 4.9vw);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: min(12px, 1.6vw);
}

.p-contact__submit-text {
  display: inline-block;
}

.p-contact__submit-arrow {
  display: inline-block;
  font-size: 1.2em;
  font-weight: 900;
  transition: transform 0.25s ease;
}

/* ホバー：明るく＋矢印が右へ */
.p-contact__submit:hover {
  filter: brightness(1.08);
  box-shadow:
    0 6px 0 #e65100,
    0 10px 20px rgba(230, 81, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);
  transform: translateY(-1px);
}

.p-contact__submit:hover .p-contact__submit-arrow {
  transform: translateX(6px);
}

/* 押した時：下に沈む */
.p-contact__submit:active {
  transform: translateY(4px);
  box-shadow:
    0 2px 0 #e65100,
    0 4px 12px rgba(230, 81, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* ========== index2用：白カプセル（小窓）＋黄文字＋オレンジ立体＋矢印 ========== */
.p-contact__submit-wrap {
  position: relative;
  width: 100%;
  margin-top: min(30px, 4vw);
  text-align: center;
}

/* 白いカプセル（ボタン上部の小窓） */
.p-contact__submit-capsule {
  display: inline-block;
  background: #fff;
  color: #333;
  font-size: min(20px, 2.67vw);
  font-weight: 700;
  padding: min(12px, 1.6vw) min(28px, 3.73vw);
  border-radius: 100vh;
  box-shadow:
    0 2px 10px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  margin-bottom: -14px;
  position: relative;
  z-index: 1;
  border: 1px solid rgba(0, 0, 0, 0.06);
  line-height: 1.4;
}

/* ラップ内のボタン：上余白を増やしてカプセルと一体化 */
.p-contact__submit-wrap .p-contact__submit {
  padding-top: min(32px, 4.27vw);
}

/* v4はラップ内でもpaddingリセット */
.p-contact__submit-wrap .p-contact__submit.p-contact__submit--v4 {
  padding-top: 0;
}

/* メイン文言を黄色で大きく強調 */
.p-contact__submit-wrap .p-contact__submit-text {
  color: #fff9c4;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(0, 0, 0, 0.08);
  font-size: min(36px, 4.8vw);
  font-weight: 800;
}

/* v4はメイン文言を白に */
.p-contact__submit-wrap--v4 .p-contact__submit-text {
  color: #fff;
}

.p-contact__submit-wrap .p-contact__submit-arrow {
  color: #fff9c4;
  font-size: 1.35em;
}

/* ========== index2 案4: 最強CTA — パルスグロー＋キラキラ＋白ピル＋手アニメ ========== */
.p-contact__submit-wrap--v4 {
  position: relative;
  width: 100%;
  max-width: min(540px, 92vw);
  margin: min(30px, 4vw) auto 0;
  text-align: center;
}

/* v4: ベースの .p-contact__submit スタイルを完全リセット */
.p-contact__submit.p-contact__submit--v4 {
  /* レイアウトリセット */
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: center;
  transition: transform 0.15s ease;
  position: relative;

  /* ベースのオレンジグラデ・影・ツヤを消す */
  background: none;
  box-shadow: none;
  text-shadow: none;
  overflow: visible;
  filter: none;
  line-height: normal;
  -webkit-appearance: none;
  appearance: none;
}

/* v4: ベースの ::before（上面ハイライト）を消す */
.p-contact__submit.p-contact__submit--v4::before {
  content: none;
  display: none;
}

/* v4: ベースの hover/active を上書き */
.p-contact__submit.p-contact__submit--v4:hover {
  filter: none;
  box-shadow: none;
  transform: translateY(-3px) scale(1.01);
}
.p-contact__submit.p-contact__submit--v4:active {
  transform: translateY(2px);
  box-shadow: none;
}

.p-contact__submit--v4:hover {
  transform: translateY(-3px) scale(1.01);
}

.p-contact__submit--v4:active {
  transform: translateY(2px);
}

/* 外側グロー（緑→黄→緑のパルス） */
.p-contact__submit-glow {
  position: absolute;
  inset: -6px;
  border-radius: 26px;
  background: linear-gradient(135deg, #4abe4a, #ffe944, #4abe4a);
  background-size: 300% 300%;
  animation: cta-glow-shift 3s ease-in-out infinite;
  filter: blur(8px);
  opacity: 0.5;
  z-index: -1;
}

@keyframes cta-glow-shift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ボタン本体（緑グラデ＋立体） */
.p-contact__submit-body {
  position: relative;
  display: block;
  background: linear-gradient(180deg, #4dc84d 0%, #2ea02e 50%, #1d851d 100%);
  border-radius: 22px;
  padding: min(16px, 2.13vw) min(34px, 4.53vw) min(30px, 4vw);
  box-shadow:
    0 8px 0 #126e12,
    0 14px 28px rgba(0, 0, 0, 0.3),
    inset 0 2px 6px rgba(255, 255, 255, 0.3);
  overflow: hidden;
}

.p-contact__submit-body::before {
  content: '';
  position: absolute;
  top: 0;
  left: 8%;
  right: 8%;
  height: 42%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.32) 0%, rgba(255, 255, 255, 0) 100%);
  border-radius: 22px 22px 50% 50%;
  pointer-events: none;
}

.p-contact__submit-body::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -60%;
  width: 75%;
  height: 200%;
  background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.28) 45%, rgba(255, 255, 255, 0.08) 55%, transparent 60%);
  animation: cta-shine 2.8s ease-in-out infinite;
  pointer-events: none;
}

@keyframes cta-shine {
  0% { left: -60%; }
  50%, 100% { left: 140%; }
}

/* 白ピル（あなたは補助金いくら〜） */
.p-contact__submit-pill {
  display: block;
  text-align: center;
  margin: 0 auto min(12px, 1.6vw);
  background: rgba(255, 255, 255, 0.95);
  color: #1a7a1a;
  font-size: min(16px, 2.13vw);
  font-weight: 700;
  padding: min(7px, 0.93vw) min(28px, 3.73vw);
  border-radius: 30px;
  width: fit-content;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.p-contact__submit-wrap--v4 .p-contact__submit-main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(14px, 1.87vw);
}

.p-contact__submit-wrap--v4 .p-contact__submit-text {
  font-size: min(40px, 5.6vw);
  font-weight: 900;
  color: #fff;
  text-shadow: 0 3px 8px rgba(0, 0, 0, 0.35);
  letter-spacing: 0.03em;
}

/* 「無料相談」強調テキスト */
.p-contact__submit-highlight {
  color: #ffe944 !important;
  text-shadow:
    0 3px 8px rgba(0, 0, 0, 0.35),
    0 0 20px rgba(255, 233, 68, 0.4) !important;
}

@media (min-width: 480px) {
  .p-contact__submit-wrap--v4 .p-contact__submit-text {
    white-space: nowrap;
  }
}

/* ▶ アロー円ボタン */
.p-contact__submit-hand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(48px, 6.4vw);
  height: min(48px, 6.4vw);
  background: rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
  animation: none;
  flex-shrink: 0;
}

.p-contact__submit-hand::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: min(10px, 1.33vw) 0 min(10px, 1.33vw) min(14px, 1.87vw);
  border-color: transparent transparent transparent #1d851d;
  margin-left: min(3px, 0.4vw);
}

@keyframes cta-arrow-pulse {
  0%, 100% { transform: scale(1) translateX(0); }
  50% { transform: scale(1.08) translateX(3px); }
}

/* キラキラ星 */
.p-contact__submit-stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.p-contact__submit-star {
  position: absolute;
  width: 8px;
  height: 8px;
  background: #ffe944;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  animation: cta-twinkle 2s ease-in-out infinite;
}

.p-contact__submit-star:nth-child(1) { top: 12px; left: 30px; animation-delay: 0s; }
.p-contact__submit-star:nth-child(2) { top: 20px; right: 45px; animation-delay: 0.6s; width: 10px; height: 10px; }
.p-contact__submit-star:nth-child(3) { bottom: 18px; left: 60px; animation-delay: 1.2s; width: 6px; height: 6px; }
.p-contact__submit-star:nth-child(4) { bottom: 14px; right: 70px; animation-delay: 0.9s; }
.p-contact__submit-star:nth-child(5) { top: 40px; left: 15px; animation-delay: 0.3s; width: 6px; height: 6px; }

@keyframes cta-twinkle {
  0%, 100% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.3); }
}

/* 完全無料バッジ */
.p-contact__submit-badge {
  position: absolute;
  top: -14px;
  left: -10px;
  background: linear-gradient(135deg, #ff4444, #ff1a1a);
  color: #fff;
  font-size: min(14px, 1.87vw);
  font-weight: 900;
  padding: min(6px, 0.8vw) min(18px, 2.4vw);
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(255, 0, 0, 0.5);
  z-index: 2;
  animation: cta-badge-pulse 2s ease-in-out infinite;
}

@keyframes cta-badge-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}

.error-message {
  display: none;
  margin-top: min(10px, 1.33vw);
  padding: min(12px, 1.6vw);
  font-size: min(24px, 3.2vw);
  color: #e3007f;
  background-color: #fff0f5;
  border-left: 4px solid #e3007f;
  border-radius: min(5px, 0.67vw);
  line-height: 1.6;
}

.error-message.show {
  display: block;
}

input.error,
select.error {
  border-color: #e3007f !important;
  background-color: #fff5f7;
}

.form-message {
  margin-top: min(20px, 2.67vw);
  padding: min(15px, 2vw);
  font-size: min(20px, 2.67vw);
  text-align: center;
  border-radius: min(5px, 0.67vw);
  display: none;
}

.form-message.success {
  display: block;
  color: #27b56d;
  background-color: #e6f7ed;
  border: 1px solid #27b56d;
}

.form-message.error {
  display: block;
  color: #e3007f;
  background-color: #fff0f5;
  border: 1px solid #e3007f;
}

/* プログレスバー */
.progress-container {
  margin-top: min(40px, 5.33vw);
  margin-bottom: min(40px, 5.33vw);
}

.progress-bar {
  width: 100%;
  height: min(28px, 3.73vw);
  background-color: #e0e0e0;
  border-radius: min(12px, 1.6vw);
  overflow: hidden;
  position: relative;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #6bb58c 0%, #5a9e77 100%);
  border-radius: min(12px, 1.6vw);
  transition: width 400ms ease-out;
  width: 20%;
  box-shadow: 0 2px 4px rgba(107, 181, 140, 0.3);
}

.progress-text {
  text-align: center;
  margin-top: min(15px, 2vw);
  font-size: min(26px, 3.47vw);
  font-weight: 700;
  color: #6bb58c;
}

.progress-text span {
  font-size: min(30px, 4vw);
  color: #5a9e77;
}

/* ステップコンテンツ */
.form-step {
  display: none;
  animation: fadeIn 400ms ease-out;
}

.form-step.active {
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ナビゲーションボタン */
.step-navigation {
  display: flex;
  gap: min(20px, 2.67vw);
  justify-content: center;
  margin-top: min(30px, 4vw);
}

.btn-prev,
.btn-next {
  display: block;
  width: min(286px, 38.13vw);
  height: min(101px, 13.47vw);
  font-size: min(34px, 4.53vw);
  font-weight: 700;
  color: #fff;
  background-color: #6bb58c;
  border: none;
  border-radius: min(12px, 1.6vw);
  cursor: pointer;
  transition: background-color 300ms ease-out;
}

.btn-prev {
  background-color: #999;
}

.btn-prev:hover {
  background-color: #777;
}

/* 最終ステップの戻るボタンを狭める */
.step-navigation .btn-prev.final-step {
  width: min(180px, 24vw);
  height: min(130px, 17.33vw);
}

.btn-next:hover {
  background-color: #5a9e77;
}

.btn-prev:disabled,
.btn-next:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

.p-contact__age {
  margin-top: min(30px, 4vw);
}

.p-contact__age dt {
  display: flex;
  column-gap: min(10px, 1.33vw);
  align-items: center;
  margin-bottom: min(15px, 2vw);
  font-size: min(40px, 5.33vw);
  font-weight: 700;
}

.p-contact__age dt span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(76px, 10.13vw);
  height: min(40px, 5.33vw);
  font-size: min(21px, 2.8vw);
  font-weight: 700;
  color: #fff;
  background-color: #6bb58c;
  border-radius: 100vh;
}

.p-contact__age dd small {
  display: block;
  margin-bottom: min(16px, 2.13vw);
  font-size: min(28px, 3.73vw);
  font-weight: 700;
  color: #e3007f;
}

input[type="number"] {
  width: 100%;
  height: min(80px, 10.67vw);
  padding: 0 min(24px, 3.2vw);
  font-family: inherit;
  font-size: 18px;
  /* iOSズーム防止のため16px以上 */
  color: #3e3a39;
  background-color: #fff;
  border: 2px solid #6bb58c;
  border-radius: min(8px, 1.07vw);
  outline: none;
}

input[type="number"]:focus {
  border-color: #27b56d;
  border-width: 2px;
  box-shadow: 0 0 0 3px rgba(107, 181, 140, 0.2);
}

/* 会社情報 */
.p-company {
  padding: min(50px, 6.67vw) 0 min(40px, 5.33vw);
  background-color: #f5f5f5;
  border-top: 2px solid #6bb58c;
  margin-top: auto;
}

.p-company__content {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
  text-align: center;
}

.p-company__content>p:first-child {
  font-size: min(30px, 4vw);
  font-weight: 700;
  margin-bottom: min(20px, 2.67vw);
}

.p-company__content-p {
  margin-top: min(15px, 2vw);
  font-size: min(24px, 3.2vw);
  line-height: 1.6;
}

.p-company__content-p a {
  color: #6bb58c;
  text-decoration: underline;
  transition: color 300ms ease-out;
}

.p-company__content-p a:hover {
  color: #5a9e77;
}

.p-company__privacy {
  margin-top: min(30px, 4vw);
  padding-top: min(25px, 3.33vw);
  padding-bottom: min(10px, 1.33vw);
  border-top: 1px solid #ddd;
}

.p-company__privacy a {
  font-size: min(22px, 2.93vw);
  color: #6bb58c;
  text-decoration: underline;
  transition: color 300ms ease-out;
}

.p-company__privacy a:hover {
  color: #5a9e77;
}