/* ===== Whitepaper single (お役立ち資料) =====
   Loaded on is_singular('whitepaper') after lp-common.css. Reuses the shared
   .lp-header / .site-footer / .consent-box atoms from lp-common.css. */

body { background: #FFF9F3; }

.mnl-wp { width: 100%; color: #1F1B18; }
.mnl-wp__inner { max-width: 760px; margin: 0 auto; padding: 48px 24px 72px; }

.mnl-wp__eyebrow {
  color: #F25C1F; font-weight: 900; font-size: 13px; letter-spacing: 0.12em;
  margin: 0 0 12px;
}
.mnl-wp__title {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  font-weight: 900; font-size: 30px; line-height: 1.4; letter-spacing: 0.01em;
  color: #1F1B18; margin: 0 0 28px;
}
.mnl-wp__thumb { margin: 0 0 32px; }
.mnl-wp__thumb img { width: 100%; height: auto; border-radius: 12px; }

.mnl-wp__body { font-size: 16px; line-height: 1.95; color: #33302C; }
.mnl-wp__body p { margin: 0 0 1.4em; }
.mnl-wp__body h2 {
  font-weight: 900; font-size: 22px; line-height: 1.5; margin: 1.8em 0 0.8em;
  padding-left: 14px; border-left: 5px solid #4EB9C3;
}
.mnl-wp__body h3 { font-weight: 700; font-size: 18px; margin: 1.6em 0 0.6em; }
.mnl-wp__body ul, .mnl-wp__body ol { padding-left: 1.4em; margin: 0 0 1.4em; }
.mnl-wp__body li { margin: 0 0 0.5em; }
.mnl-wp__body img { border-radius: 8px; }

/* ===== Lead form (rendered by [minal_whitepaper_form]) ===== */
.mnl-wp-form {
  margin: 48px 0 0; padding: 32px 28px;
  background: #fff; border: 1px solid #F0E4D8; border-radius: 16px;
  box-shadow: 0 8px 28px rgba(31,27,24,0.06);
}
.mnl-wp-form__title {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  font-weight: 900; font-size: 22px; margin: 0 0 8px; color: #1F1B18;
}
.mnl-wp-form__lead { font-size: 13.5px; color: #55504A; line-height: 1.9; margin: 0 0 22px; }

.mnl-wp-field { margin: 0 0 16px; }
.mnl-wp-field label {
  display: block; font-size: 13px; font-weight: 700; color: #1F1B18; margin: 0 0 6px;
}
.mnl-wp-field label .req {
  display: inline-block; margin-left: 6px; font-size: 11px; font-weight: 700;
  color: #fff; background: #F25C1F; border-radius: 4px; padding: 1px 6px;
}
.mnl-wp-field input {
  width: 100%; font-size: 15px; font-family: inherit; color: #1F1B18;
  border: 1.5px solid #D8CCBF; border-radius: 8px; padding: 12px 14px; background: #fff;
}
.mnl-wp-field input:focus { outline: none; border-color: #4EB9C3; box-shadow: 0 0 0 3px rgba(78,185,195,0.18); }

.mnl-wp-form .consent-box { margin: 4px 0 20px; }

.mnl-wp-form__submit {
  width: 100%; background: #F25C1F; color: #fff; border: none; border-radius: 999px;
  padding: 16px; font-size: 15px; font-weight: 900; letter-spacing: 0.04em; cursor: pointer;
}
.mnl-wp-form__submit:hover { background: #D94E14; }
.mnl-wp-form__submit:disabled { opacity: 0.6; cursor: default; }

.mnl-wp-form .msg {
  margin-top: 14px; font-size: 13px; font-weight: 700; border-radius: 6px;
  padding: 12px 16px; display: none;
}
.mnl-wp-form .msg.ng { display: block; background: #FDEDEA; color: #B23D28; }

.mnl-wp-form__done { text-align: center; padding: 8px 0; }
.mnl-wp-form__done-text { font-size: 15px; font-weight: 700; color: #2A8C94; line-height: 1.9; margin: 0 0 18px; }
.mnl-wp-form__dl {
  display: inline-block; background: #14BDBC; color: #fff; text-decoration: none;
  border-radius: 999px; padding: 15px 40px; font-size: 15px; font-weight: 900; letter-spacing: 0.04em;
}
.mnl-wp-form__dl:hover { background: #0FA3A2; color: #fff; }
.mnl-wp-form__done-note { font-size: 12px; color: #857D74; line-height: 1.8; margin: 18px 0 0; }

@media (max-width: 600px) {
  .mnl-wp__inner { padding: 32px 18px 56px; }
  .mnl-wp__title { font-size: 24px; }
  .mnl-wp-form { padding: 24px 18px; }
}

/* ===== Whitepaper archive (資料一覧) =====
   Card list at /whitepaper/. Reuses the single-page atoms (.mnl-wp eyebrow,
   .lp-header / .site-footer from lp-common.css) and harmonises with the blog
   card list and the .mnl-wp-form card (white card, #F0E4D8 border, soft shadow,
   #4EB9C3 teal / #F25C1F orange accents). */
.mnl-wp-archive__inner { max-width: 960px; margin: 0 auto; padding: 48px 24px 80px; }

.mnl-wp-archive__title {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  font-weight: 900; font-size: 30px; line-height: 1.4; letter-spacing: 0.01em;
  color: #1F1B18; margin: 0 0 12px;
}
.mnl-wp-archive__lead { font-size: 15px; line-height: 1.9; color: #55504A; margin: 0 0 40px; }

.mnl-wp-cards {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px;
}
.mnl-wp-card { display: flex; }
.mnl-wp-card__link {
  display: flex; flex-direction: column; width: 100%;
  background: #fff; border: 1px solid #F0E4D8; border-radius: 16px; overflow: hidden;
  text-decoration: none; color: inherit;
  box-shadow: 0 8px 28px rgba(31,27,24,0.06);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.mnl-wp-card__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(31,27,24,0.12);
  color: inherit;
}
.mnl-wp-card__thumb {
  aspect-ratio: 16 / 9; background: #F0FAFB; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.mnl-wp-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.mnl-wp-card__thumb-fallback {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  font-weight: 900; font-size: 26px; letter-spacing: 0.04em; color: #4EB9C3;
}
.mnl-wp-card__body { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.mnl-wp-card__title {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  font-weight: 900; font-size: 18px; line-height: 1.5; color: #1F1B18; margin: 0 0 10px;
}
.mnl-wp-card__excerpt { font-size: 13.5px; line-height: 1.85; color: #55504A; margin: 0 0 16px; }
.mnl-wp-card__cta {
  margin-top: auto; align-self: flex-start; font-size: 13px; font-weight: 900;
  letter-spacing: 0.04em; color: #F25C1F;
}
.mnl-wp-card__cta::after { content: " →"; }

.mnl-wp-archive__empty {
  background: #fff; border: 1px solid #F0E4D8; border-radius: 16px;
  padding: 48px 24px; text-align: center; color: #55504A; font-size: 15px; line-height: 1.9;
}

@media (max-width: 700px) {
  .mnl-wp-cards { grid-template-columns: 1fr; gap: 20px; }
  .mnl-wp-archive__inner { padding: 32px 18px 56px; }
  .mnl-wp-archive__title { font-size: 24px; }
}
