@charset "utf-8";
:root {
  /* color */
  --color-primary: #ef6902;
  --color-base: #f6ece2;
  --color-text: #2b1d16;
  --color-brown: #482d1a;
  --color-white: #fff;

  /* fonts */
  --font-primary: "Noto Sans JP", sans-serif;
  --font-secondary: "Zen Old Mincho", serif;
  --fs-16: ;
  /* font-size (375px-1280px fluid) */
  --fs-xs: clamp(12px, calc(12px + 2 * (100vw - 375px) / 905), 14px);
  --fs-sm: clamp(14px, calc(14px + 2 * (100vw - 375px) / 905), 16px);
  --fs-md: clamp(16px, calc(16px + 2 * (100vw - 375px) / 905), 18px);
  --fs-lg: clamp(18px, calc(18px + 4 * (100vw - 375px) / 905), 22px);
  --fs-xl: clamp(22px, calc(22px + 6 * (100vw - 375px) / 905), 28px);
  --fs-2xl: clamp(28px, calc(28px + 12 * (100vw - 375px) / 905), 40px);
}
html {
  font-size: 62.5%;
}

body {
  background: linear-gradient(135deg, #fffdfb 0%, #fdf6f0 35%, #f6ece2 100%);
  font-family: var(--font-primary);
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-size: clamp(14px, 14px + 2 * (100vw - 375px) / 905, 16px);
  color: var(--color-text);
  transition: padding-top 0.28s ease;
  /* 実測値は header.css の --site-header-offset */
  padding-top: var(--site-header-offset, 93px);
  text-align: justify;
}

/* ログイン時：管理バー高さ（WP が html に --wp-admin--admin-bar--height を付与）＋ヘッダー分 */
body.admin-bar {
  padding-top: calc(
    var(--site-header-offset, 93px) + var(--wp-admin--admin-bar--height, 32px)
  );
}

/* WP コアの html { margin-top: 32px } と body 余白が二重にならないようにする */
html:has(body.admin-bar) {
  margin-top: 0 !important;
}

/* フロントページは body 余白を付けず、MV 側でヘッダー下を確保（帯の抜けを防ぐ） */
body.front-page {
  padding-top: 0;
}

body.admin-bar.front-page {
  padding-top: 0;
}

@media (prefers-reduced-motion: reduce) {
  body {
    transition: none;
  }
}
.sp-only{
  display: none;
}
@media screen and (max-width: 640px) {
  .sp-only{
    display: block;
  }
  
}
.container {
max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(20px, 20px + 20 * (100vw - 375px) / 905, 40px);
  padding-right: clamp(20px, 20px + 20 * (100vw - 375px) / 905, 40px);
}
.container-small {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(20px, 20px + 20 * (100vw - 375px) / 905, 40px);
  padding-right: clamp(20px, 20px + 20 * (100vw - 375px) / 905, 40px);
}
.c-btn {
  display: inline-block;
  padding: 14px 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffad56 0%, #ef6902 62%, #cc4f00 100%);
  color: var(--color-white);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.2em;
}

.c-btn--lg {
  padding: 18px 34px;
}

.c-btn--center {
  display: block;
  width: fit-content;
  margin-inline: auto;
}

html {
  overflow-x: clip;
}

@media screen and (max-width: 640px) {
  .c-btn--lg {
    padding: 14px 22px;
  }
  .c-btn {
    padding: 4px 16px;
    font-size: 12px;
  }
  .c-btn--lg {
    padding: 16px 28px;
  }
}

/* Contact Form 7：はみ出し防止 */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.wpcf7-form .wpcf7-submit {
  width: 100%;
  max-width: 320px;
}

@media screen and (max-width: 480px) {
  .wpcf7-form .wpcf7-submit {
    max-width: none;
  }
}
