/* ============================================== */
/* 共通変数（旧 variables.css を統合） */
/* ============================================== */
:root {
  /* フォントファミリー */
  --font-family: "GenJyuuGothic", sans-serif;
  --font-weight-bold: 700;

  /* ベースの横幅 */
  --width-base: 1280px;
  --width-inner: 1200px;

  /* フォントサイズ */
  --font-size-xs: 1.8rem;
  --font-size-sm: 2rem;
  --font-size-s: 2.4rem;
  --font-size-ms: 2.8rem;
  --font-size-m: 3rem;
  --font-size-ml: 3.5rem;
  --font-size-l: 4rem;
  --font-size-xl: 5rem;
  --font-size-xxl: 5.5rem;

  /* 文字色 */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-orange: #f75e1e;
  --color-orange-deep: #f15a24;
  --color-orange-warm: #de5b26;
  --color-brown: #603813;
  --color-brown-dark: #5e3819;
  --color-brown-light: #754c24;
  --color-dark-red: #c1272d;
  --color-charcoal: #333333;
  --color-gray: #7f8080;

  /* 背景色 */
  --bg-color-pink: #fff4ff;
  --bg-color-light-pink: #fdf1ec;
  --bg-color-salmon-pink: #fdeae2;
  --bg-color-orange: #f7931e;
  --bg-color-light-orange: #fcdab2;
  --bg-color-beige: #fef4d8;
  --bg-color-light-beige: #fef5f1;
  --bg-color-white: #ffffff;
  --bg-color-cream: #fefdf1;
  --bg-color-light-gray: #e6e6e6;
  --bg-color-aqua-blue: #4fd1d9;
  --bg-color-brown: #603813;
  --bg-color-light-yellow: #fffad9;

  /* 線の色 */
  --border-color-orange: #f9b361;

  /* ブレイクポイント（メディアクエリでは変数参照不可。定義のみ） */
  --breakpoint-sp: 480px;

  /* ボタンパーツ */
  --btn-height: 45px;
  --btn-bg-color: #fcee21;
  --btn-border-radius: 30px;
  --btn-box-shadow: 5px 5px 1px rgba(60, 60, 60, 0.8);
  --btn-transition: box-shadow 120ms ease, transform 120ms ease;

  /* モーダル */
  --modal-box-shadow: 8px 8px 12px rgba(60, 60, 60, 0.8);
}

/* ============================================== */
/* 共通レイアウト */
/* ============================================== */
* {
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
}

html,
body,
h1, h2, h3, h4,
ul, ol, dl, li, dt, dd,
p, div, span, img, a,
table, tr, th, td {
  font-family: var(--font-family);
  font-size: 62.5%;
  line-height: 1.6;
  list-style: none;
  letter-spacing: 0.5px;
  word-wrap: break-word;
}

img {
  width: 100%;
  height: auto;
}

a {
  color: var(--color-black);
  cursor: pointer;
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}

input,
textarea {
  width: 100%;
  letter-spacing: 1px;
}

.contents {
  width: 100%;
  max-width: var(--width-base);
  margin: 0 auto;
  padding: 50px 0;
}

.inner {
  width: var(--width-inner);
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.display-none {
  display: none;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

/* 下三角 */
.bottom-arrow {
  width: 0;
  height: 0;
  border-left: 160px solid transparent;
  border-right: 160px solid transparent;
  border-top: 35px solid var(--bg-color-light-orange);
  margin: 0 auto 20px auto;
}

/* まずは無料相談 ボタン */
.free-consultation-btn {
  display: flex;
  align-items: center;
  height: var(--btn-height);
  padding: 0 30px;
  background-color: var(--btn-bg-color);
  border-radius: var(--btn-border-radius);
  font-weight: var(--font-weight-bold);
}
.free-consultation-btn a {
  color: var(--color-dark-red);
  font-size: var(--font-size-sm);
}

/* recaptcha */
.grecaptcha-badge {
  display: none !important;
}

/* ============================================== */
/* レスポンシブ：1200px以下                       */
/* ============================================== */
@media screen and (max-width: 1200px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .margin-left20 {
    margin-left: 0 !important;
  }
}