@charset "utf-8";

.p-download {
  --download-green: #2fa994;
  --download-green-dark: #258a79;
  --download-green-soft: #eef9f6;
  --download-cream: #f8f7f3;
  --download-ink: #333;
  --download-muted: #666;
  --download-line: #d8e6e1;
  color: var(--download-ink);
  background: #fff;
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, sans-serif;
  line-height: 1.85;
  overflow: hidden;
}

.p-download *,
.p-download *::before,
.p-download *::after { box-sizing: border-box; }

.p-download__container { width: min(100% - 48px, 1120px); margin-inline: auto; }
.p-download h1,
.p-download h2,
.p-download h3,
.p-download p { margin-top: 0; }
.p-download h1,
.p-download h2,
.p-download h3 { color: var(--download-ink); line-height: 1.45; }
.p-download h1 { margin-bottom: 18px; font-size: clamp(2rem, 4vw, 3.2rem); }
.p-download h2 { margin-bottom: 18px; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.p-download h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); }
.p-download__eyebrow { margin-bottom: 10px; color: var(--download-green-dark); font: 700 .78rem/1.4 Arial, sans-serif; letter-spacing: .15em; }
.p-download__section { padding-block: clamp(58px, 8vw, 96px); }
.p-download__section-lead { max-width: 680px; color: var(--download-muted); }

.p-download__hero { padding-block: clamp(42px, 6vw, 72px); background: #fff; }
.p-download__hero .p-download__container { max-width: 1120px; }
.p-download__hero-lead { max-width: 720px; margin-bottom: 16px; font-size: clamp(1rem, 1.6vw, 1.15rem); }
.p-download__hero-note { max-width: 720px; margin-bottom: 0; padding-left: 16px; border-left: 3px solid var(--download-green); color: var(--download-muted); }

.p-download__main-document { background: var(--download-green-soft); }
.p-download__main-grid { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: clamp(38px, 7vw, 88px); align-items: center; }
.p-download__main-cover { margin: 0; text-align: center; }
.p-download__main-cover img { display: block; width: min(100%, 430px); height: auto; margin-inline: auto; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(37, 86, 76, .14)); }
.p-download__main-body > p:not(.p-download__eyebrow) { max-width: 620px; color: var(--download-muted); }
.p-download__line { margin-top: 28px; padding: clamp(24px, 3vw, 34px); border-left: 4px solid #06c755; background: #fff; }
.p-download__line h3 { margin-bottom: 8px; }
.p-download__line p { margin-bottom: 18px; color: var(--download-muted); }

.p-download__button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 56px; padding: 13px 22px; border: 1px solid transparent; border-radius: 12px; font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none; transition: transform .2s ease, opacity .2s ease; }
.p-download__button:hover { opacity: .88; transform: translateY(-1px); }
.p-download__button:focus-visible { outline: 3px solid #ef821d; outline-offset: 3px; }
.p-download__button--line { background: #06c755; color: #fff; }
.p-download__button--primary { background: var(--download-green-dark); color: #fff; }
.p-download__button--outline { border-color: var(--download-green-dark); background: #fff; color: var(--download-green-dark); }

.p-download__catalogs { background: #fff; }
.p-download__catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 5vw, 52px); margin-top: 38px; }
.p-download__catalog { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr); overflow: hidden; min-width: 0; border: 1px solid var(--download-line); background: #fff; }
.p-download__catalog figure { display: flex; align-items: center; justify-content: center; margin: 0; padding: 22px; background: var(--download-cream); }
.p-download__catalog figure img { display: block; width: 100%; max-height: 340px; height: auto; object-fit: contain; }
.p-download__catalog-body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: clamp(24px, 3vw, 34px); }
.p-download__pdf-label { display: inline-block; margin-bottom: 12px; padding: 3px 9px; background: var(--download-green-soft); color: var(--download-green-dark); font-size: .75rem; font-weight: 800; letter-spacing: .08em; }
.p-download__catalog h3 { margin-bottom: 10px; }
.p-download__catalog p { margin-bottom: 18px; color: var(--download-muted); }
.p-download__catalog-body > a { display: inline-flex; gap: 8px; margin-top: auto; color: var(--download-green-dark); font-weight: 700; text-underline-offset: 4px; }

.p-download__flow { background: var(--download-cream); }
.p-download__flow-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; }
.p-download__flow-inner p:not(.p-download__eyebrow) { max-width: 760px; margin-bottom: 0; color: var(--download-muted); }
.p-download__flow .p-download__button { min-width: 220px; }

.p-download__journal { background: var(--download-green-soft); }
.p-download__journal-grid { display: grid; grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); gap: clamp(38px, 7vw, 88px); align-items: center; }
.p-download__journal-grid > figure { margin: 0; }
.p-download__journal-grid > figure img { display: block; width: min(100%, 430px); height: auto; margin-inline: auto; object-fit: contain; filter: drop-shadow(0 16px 22px rgba(37, 86, 76, .12)); }
.p-download__journal-grid > div > p:not(.p-download__eyebrow) { max-width: 650px; color: var(--download-muted); }
.p-download__journal-actions { display: grid; justify-items: start; gap: 20px; margin-top: 26px; }
.p-download__journal-line { padding-top: 20px; border-top: 1px solid var(--download-line); }
.p-download__journal-line p { margin-bottom: 14px; color: var(--download-muted); }

.p-download__request { padding-block: clamp(56px, 7vw, 86px); background: #225c52; color: #fff; }
.p-download__request h2,
.p-download__request p { color: #fff; }
.p-download__request .p-download__eyebrow { color: #aee8dd; }
.p-download__request-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 42px; align-items: center; }
.p-download__request-inner p:last-child { max-width: 760px; margin-bottom: 0; color: #e6f3f0; }
.p-download__button--request { min-width: 210px; background: #fff; color: #225c52; }

@media (max-width: 1024px) {
  .p-download__catalog { grid-template-columns: 1fr; }
  .p-download__catalog figure img { width: min(100%, 270px); }
  .p-download__catalog-body { min-height: 240px; }
}

@media (max-width: 767px) {
  .p-download__container { width: min(100% - 32px, 620px); }
  .p-download__main-grid,
  .p-download__catalog-grid,
  .p-download__flow-inner,
  .p-download__journal-grid,
  .p-download__request-inner { grid-template-columns: 1fr; }
  .p-download__main-grid,
  .p-download__journal-grid { gap: 34px; }
  .p-download__main-cover img,
  .p-download__journal-grid > figure img { width: min(100%, 330px); }
  .p-download__line { padding: 22px 20px; }
  .p-download__button { width: 100%; min-height: 58px; }
  .p-download__catalog-grid { gap: 24px; }
  .p-download__catalog-body { min-height: 0; }
  .p-download__flow-inner,
  .p-download__request-inner { gap: 26px; }
  .p-download__flow .p-download__button,
  .p-download__button--request { min-width: 0; }
  .p-download__journal-actions { justify-items: stretch; }
}
