日本野鳥の会「プラスチック汚染から海鳥をまもろう」のWebサイトプレビュー

DESIGN REFERENCE

日本野鳥の会「プラスチック汚染から海鳥をまもろう」

海鳥の親子を描いた質感豊かなコラージュと、青・ミント色、波形の区切りが特徴の啓発サイト。交互配置のストーリーと、参加・購入・寄付を促す追従導線で環境問題への理解と行動をつなぐ。

オリジナルサイトを見る
ジャンル
環境・リサイクル
元の業種
環境保護・非営利団体
デザイン分析日
2026/9/17

design.md

Wild Bird Society of Japan — Plastic Pollution Campaign Style Reference

A textured coastal picture book that connects environmental learning with everyday action.

Website: Protect Seabirds from Plastic Pollution Original URL: https://lp.wbsj.org/plastic-problem/ Final URL: https://lp.wbsj.org/plastic-problem/ Theme: light, with ocean blues, pale mint, pale green, white, and warm cream. Inspected: September 17, 2026, Japan Standard Time. The supplied browser evidence was retrieved at 2026-09-16T19:55:46.781Z, equivalent to September 17 at 04:55:46.781 JST. Viewports: desktop 1440 × 1000 CSS pixels; mobile 390 × 844 CSS pixels. Scope: the current campaign homepage, including the opening illustration, introduction, news, topic navigation, five educational stories, resources, support options, activity feed, sharing area, footer, and persistent action controls. Visual captures cover the desktop opening, a desktop story transition, desktop footer, mobile opening, and mobile footer. Other sections have rendered DOM and computed-style evidence. Linked pages and menu-open states were not inspected.

The page combines the warmth of a handmade picture book with the clarity of a public-interest information site. A white parent seabird bends toward a charcoal-colored chick in a landscape assembled from textured paper, painted grasses, layered sea bands, and discarded plastic. The bright blue campaign identity establishes the subject before the explanatory copy begins.

The longer page develops this scene into a reading sequence. Pale mint surrounds alternating illustration-and-text stories; white panels have broad curved edges; pale green introduces practical support options. Wave silhouettes, small wave ornaments, dotted rules, circular illustrations, and rounded buttons repeat the coastal theme at different scales. A blue action dock keeps three participation routes available in the scrolled captures.

The organization is identified by the original page's logo, footer copyright, and link to the Wild Bird Society of Japan website. The design should be understood as an educational campaign homepage with related resources and ongoing activity updates, rather than reduced to a single conversion screen.

全文を表示閉じる

Wild Bird Society of Japan — Plastic Pollution Campaign Style Reference

A textured coastal picture book that connects environmental learning with everyday action.

Website: Protect Seabirds from Plastic Pollution Original URL: https://lp.wbsj.org/plastic-problem/ Final URL: https://lp.wbsj.org/plastic-problem/ Theme: light, with ocean blues, pale mint, pale green, white, and warm cream. Inspected: September 17, 2026, Japan Standard Time. The supplied browser evidence was retrieved at 2026-09-16T19:55:46.781Z, equivalent to September 17 at 04:55:46.781 JST. Viewports: desktop 1440 × 1000 CSS pixels; mobile 390 × 844 CSS pixels. Scope: the current campaign homepage, including the opening illustration, introduction, news, topic navigation, five educational stories, resources, support options, activity feed, sharing area, footer, and persistent action controls. Visual captures cover the desktop opening, a desktop story transition, desktop footer, mobile opening, and mobile footer. Other sections have rendered DOM and computed-style evidence. Linked pages and menu-open states were not inspected.

The page combines the warmth of a handmade picture book with the clarity of a public-interest information site. A white parent seabird bends toward a charcoal-colored chick in a landscape assembled from textured paper, painted grasses, layered sea bands, and discarded plastic. The bright blue campaign identity establishes the subject before the explanatory copy begins.

The longer page develops this scene into a reading sequence. Pale mint surrounds alternating illustration-and-text stories; white panels have broad curved edges; pale green introduces practical support options. Wave silhouettes, small wave ornaments, dotted rules, circular illustrations, and rounded buttons repeat the coastal theme at different scales. A blue action dock keeps three participation routes available in the scrolled captures.

The organization is identified by the original page's logo, footer copyright, and link to the Wild Bird Society of Japan website. The design should be understood as an educational campaign homepage with related resources and ongoing activity updates, rather than reduced to a single conversion screen.

How to Read This Reference

  • Measured means a value comes from the supplied rendered DOM, element bounds, computed styles, or source custom properties. Measurements are CSS pixels unless stated otherwise.
  • Calculated means a relationship is derived from those measurements, such as a gap between two element rectangles.
  • Visual estimate means an appearance or approximate dimension is judged from the supplied original-page captures. Estimated colors are not pixel samples.
  • Recommendation means an implementation choice for a new site. It does not establish how the original was built.
  • Token aliases such as --sea are descriptive names introduced here. Original custom-property names are shown separately where available.
  • Evidence limits matter: the element sample does not include every image, SVG child, pseudo-element, accessible name, or nested text span. A parent element's computed text color or font size may not describe its visible graphical children.

The document heights were approximately 11,473px on desktop and 14,569px on mobile. These are capture-time content measurements, not heights to hardcode.

Tokens — Colors

Default Palette
Name Value Evidence and suggested token Role
Deep Navy #071d4d Measured body color; source --color-text; alias --ink Long-form copy, utility text, and information hierarchy
Ocean Blue #0f93d6 Source --color-primary; alias --primary Primary campaign UI color and a suitable basis for blue controls
Deeper Ocean Blue #0d88c4 Source --color-secondary; alias --secondary Secondary blue in the interface palette
Heading Blue #004092 Measured section H2 color; alias --heading Major editorial section headings
Sea Mint #dbfcf8 Measured story-section background; alias --sea Continuous field behind the five educational stories
Pale Leaf #edfcdb Measured support-section background; alias --leaf Participation and support area
Warm Cream #fcf8ed Source --color-4th; alias --paper Corresponds visually to the warm footer surface; that surface's own computed fill was not supplied
Sea Green #32917e Measured support-card heading color; alias --teal Action-option headings; visually related to the mobile hero caption
White #ffffff Source --color-white and --color-back; measured body and dock-button fills Open canvas, story panels, reversed labels, and button surfaces
Counter Blue #2071d0 Measured challenge-counter label color; alias --counter Participation counter label
Dock Sky Approximately #7ecbed Visual estimate only; alias --dock Broad blue field of the persistent action dock

The blue campaign lettering and logo are graphical artwork. Their exact fill values were not extracted. Do not assume that every blue visible in the artwork equals the primary CSS token.

Additional Source Tokens
Source token Value Interpretation
--color-3rd #fa9058 Declared orange accent; its exact application was not established by the sampled elements
--color-5th #8b055b Declared accent; no visible role confirmed in the inspected states
--color-error #8b055b Declared error color; no error state was exercised
--color-black #000000 Available source constant, not the default body text color

The illustrations introduce coral, orange, pink, grass green, beige, charcoal, and several blues. These belong mainly to the picture-book artwork. Avoid turning every illustration color into a competing interface accent.

Theme Behavior

Only the light presentation is evidenced. No theme selector or dark mode was observed. The alternating section colors organize the reading journey; they are not selectable themes.

Tokens — Typography

Japanese Reading Text

Source stack: Noto Sans JP, 游ゴシック体, YuGothic, 游ゴシック, Yu Gothic, sans-serif.

The source declares Noto Sans JP first, followed by Japanese system fallbacks. The supplied computed styles establish the declared stack, not which font file ultimately rendered every glyph.

Use regular weight for explanations, medium weight for introductions and navigation captions, and bold weight for section headings. Long paragraphs are deliberately spacious: the main story copy uses a 32px line height on both inspected viewports.

Latin Utility Text

Source stack: Montserrat, sans-serif.

Montserrat is directly evidenced on the NEWS heading. It brings a compact geometric character to the Latin label. Its use on other numbers or utility captions was not independently confirmed; do not assign it to the challenge counter solely from appearance.

Campaign Lettering and Story Titles

The visible campaign lockup has heavy, rounded, irregular Japanese lettering and a circular bottle-and-bird emblem. Treat this as identity artwork. The actual H1 is visually hidden in a 1 × 1px box at x: -1px; its computed 16px size does not describe the large visible campaign lettering.

The story H3 containers similarly report inherited 16px / 24px typography, while the desktop capture shows larger blue display lettering within the heading area. The sample does not reveal the complete descendant or graphic construction. Preserve the heading's visual composition instead of copying the container's font size as the visible title size.

Type Scale

All values in this table are measured from text elements, except where explicitly qualified.

Role Desktop size / line height Mobile size / line height Weight Desktop → mobile tracking
Default body 16 / 24px 16 / 24px 400 Normal
Opening explanation 20 / 44px 17 / 35px 500 0.05em → 0.03em
Major section H2 36 / 50px 23 / 40px 700 0.07em → 0.05em
Section introduction 18 / 35px 16 / 31px 500 0.05em → 0.03em
Story paragraph 17 / 32px 16 / 32px 400 0.03em on both
Topic-navigation caption 18 / 32px 15 / 25px 500 0.05em → 0.03em
NEWS 20 / 20px 22 / 22px 700 0.15em on both
News subtitle 12 / 12px 13 / 13px 500 0.15em on both
News paragraph 17 / 31px 16 / 32px 400 0.05em → 0.03em
Resource-tile heading 28 / 48px 22 / 40px 700 0.10em → 0.05em
Resource-tile description 18 / 33px 17 / 33px 500 0.03em on both
Support-option heading 21 / 35px 20 / 36px 700 0.10em → 0.05em
Activity headline 23 / 35px 18 / 30px 500 0.10em → 0.03em
Activity excerpt 16 / 30px 16 / 30px 400 Normal
Sharing invitation 15 / 30px 15 / 30px 700 0.10em on both
Counter label 13 / 17px 11 / 17px 500 Normal → -0.05em

The hero caption appears approximately 36px on desktop and 24px on mobile, with bold, widely spaced lettering. These are visual estimates; its own computed text styles were not included.

For text buttons, the sampled anchor often inherits navy 16px / 24px regular text, while the visible nested label is white or blue and heavier. The ancestor styles are not reliable measurements of the final label treatment. The Quick Start uses a recommended bold 16px button label.

Tokens — Spacing & Shapes

Density: generous editorial spacing around compact controls. Structural rhythm: large illustrations and curved section surfaces, with smaller repeated gaps around captions and buttons. Root size: measured 16px; there is no evidence of a miniature or viewport-scaled root unit.

Source Layout Constants
Source property Value Interpretation
--width-inner 1200 Unitless source design constant; the desktop topic group spans 1200px
--width-inner-lg 1260 Wider source content constant
--width-subInner 900 Additional source content constant; do not assume every narrow block uses it
--width-design 1600 Source design reference width, not the inspected viewport
--height-design 900 Source design reference height, not proof of a viewport-height hero
--gutter max(20px, 5.333%) General gutter formula; observed full-width section padding is about 76.78px desktop and 20.80px mobile
--gutter-inner max(23px, 6.133%) Additional inset formula; percentage resolution depends on the containing block
--scroll-paddingTop 40 Unitless source constant; actual anchor-scroll behavior was not tested

When adapting the unitless width constants, explicitly provide units. width: var(--width-inner) would not be a usable width if the variable contains only 1200.

Spacing Scale
Relationship Desktop Mobile Evidence
Header horizontal inset About 30.84px About 20.80px Computed padding
Story title to paragraph 25px 14px Calculated from adjacent bounds
Story paragraph to detail button 45px 35px Calculated from adjacent bounds
Section H2 to introduction 30px 16px Calculated from adjacent bounds
Activity-row separation 50px 50px Calculated between link rectangles
Topic-grid horizontal gap About 37.33px 18px Calculated
Mobile topic-grid row gap 35px Calculated
Support-option horizontal gap About 26.66px Calculated
Mobile support-option separation 30px Calculated
Share-control gap 16px 10px Calculated
Footer account-control gap 20px 20px Calculated

The 70px vertical displacement of the middle desktop topic links and middle support option is especially distinctive. It produces a gently uneven rhythm without rotating the entire layout.

Border Radius and Silhouettes
Element Treatment Evidence
Story detail button 25px radius on a 50px-high control Computed
Desktop dock button 40px declared radius on a 50px-high control Computed; visually a pill
Mobile dock button 10px radius on a 50px-high control Computed
Share and account symbols Circular visible surfaces Screenshot; the anchor itself reports zero radius
Story illustrations Large circular or rounded compositions Desktop screenshot
Story text surface Broad asymmetric white curve connected visually to the section edge Desktop screenshot; exact radius not supplied
Footer and dock boundaries Shallow waves across the viewport Screenshots; exact path not supplied

Do not mistake the zero radius of a link wrapper for the shape of its image or SVG child.

Layout Measurements
Element Desktop Mobile
Header 1440 × 100px 390 × 70px
Main top padding 100px 105px
Opening organization logo link About 149.5 × 54.97px 82 × 30.16px
Wave-menu button bounds 36 × 21px 36 × 21px
Opening explanatory paragraph 768px wide About 348.41px wide
Topic-navigation item 272 × 351px About 165.20 × 223.20px
Story text column 455px About 302.41–308.41px
Story detail button 310 × 50px About 302.41–308.41 × 50px
Resource tile 720 × 599px 390 × 438px
Support-option link 400px wide About 348.41px wide
Activity link 970 × 180px About 348.41 × 459.84px
Sharing link box 64 × 64px About 49.73 × 49.73px
Footer campaign lockup 300 × 72px 300 × 72px
Footer account link 60 × 60px 60 × 60px
Footer organization logo link About 200.20 × 29.48px Same measured size
Dock action link About 264.34 × 50px About 111.33 × 50px

Components

Persistent Header and Wave Menu

Role: maintain identity and access to site navigation without competing with the illustration.

The opening header places the organization's green emblem and name at the far left, with a small blue three-wave menu symbol at the far right. Its measured height changes from 100px to 70px. The mobile main content nevertheless begins with 105px top padding, leaving additional space for the campaign lockup to overlap the opening illustration.

In the scrolled screenshots, the upper-left identity is the compact blue campaign lockup rather than the initial organization mark. Its visible width is approximately 200px on desktop and 160px on mobile. These are visual estimates. The precise scroll threshold and transition between identities were not supplied.

The closed-state DOM contains links for the homepage, organizational initiatives, learning opportunities, and the plastic-reduction challenge. Their measured positions are above the viewport. Desktop links are arranged horizontally in that offscreen state; mobile links form a vertical sequence with a calculated 51px pitch. This does not establish the appearance or mechanics of an opened menu.

The wave mark is a distinctive navigation symbol. Preserve its three flowing strokes rather than replacing it with an unrelated filled icon. For a new implementation, place the 36 × 21px graphic inside a larger accessible button target.

Illustrated Hero

Role: make the environmental issue emotionally understandable before presenting detailed explanations.

The hero has three visual layers: a full-width coastal illustration, an overlapping campaign lockup near the top, and a short caption near the bottom. On desktop, the circular emblem and two-line blue wordmark form an approximately 740px-wide composition near the upper center. The illustration begins beneath the 100px header area and fills the remainder of the opening capture.

The parent bird and chick occupy the center foreground. The adult's white body and orange beak contrast with the chick's dark rubbed texture. Nets, bottles, and other discarded materials appear around them. Layered turquoise hills and a brown, striped nest area make the scene feel assembled from physical materials.

On mobile, the scene is tightly framed around the birds. Its visible illustrated field extends approximately from y: 105px to y: 635px, or about 530px high. The campaign lockup is approximately 334–338px wide and overlaps the upper edge. The side landscape is cropped; the subject remains large.

The caption 海鳥のごはんは、私たちのごはん changes placement and color. It is white over the desktop landscape, but appears as centered green text in a white area below the mobile illustration. This is a structural responsive change, not uniform scaling of the desktop hero.

A small vertical SCROLL label, dot, and fine line sit toward the left. The mobile line continues into the white caption area. Its presence is visually established; whether it is clickable or animated was not verified.

Opening Explanation

Role: connect the illustrated scene to the visitor's own life.

A centered 768px desktop text block follows the hero. Its 20px / 44px medium-weight typography gives the introduction an unusually open rhythm. At the measured desktop position, the paragraph begins around document y: 1096px.

On mobile, the paragraph uses the general 20.80px side gutters and 17px / 35px type. It begins around y: 765px, below the separate caption. Let this text wrap naturally at the mobile measure; do not retain desktop line breaks indiscriminately.

News Announcement

Role: show that the campaign is maintained and point readers toward recent activity.

The DOM identifies a compact NEWS label, a Japanese subtitle, a date, and two announcement paragraphs. Desktop label and body positions indicate a side-by-side arrangement. Mobile moves the label grouping above the narrower text content, with additional internal horizontal padding.

The Latin heading uses Montserrat and wide tracking. It increases from 20px to 22px on mobile, demonstrating that the responsive type system is not a universal reduction. The label text is computed white; the enclosing graphic or fill is not included in the sampled elements, so its exact background geometry should not be invented.

The observed announcement date is 2026.1.14. Treat dates and announcement text as content, not permanent decorative elements.

Four-Topic Navigation

Role: provide shortcuts to the main reading and action areas.

The four links target #foods, #introduction, #support, and #activity. Each combines an upper visual area with a centered, usually two-line Japanese caption.

Desktop uses four 272px-wide items across a 1200px span. The two middle items begin 70px lower than the outer pair. Bounds are consistent with a square leading visual area and a 15px gap before the caption, although the image elements themselves were not sampled.

Mobile uses two equal columns of about 165.20px, an 18px horizontal gap, and a 35px row gap. The desktop displacement is removed. Bounds are consistent with a square visual area and an 8px caption gap. Keep these as lightweight illustrated navigation links, not boxed dashboard cards.

Section Heading Cluster

Role: establish the next part of the campaign story.

Major sections use centered blue H2 text followed by a centered introduction. Desktop headings are 36px / 50px with 0.07em tracking; mobile headings are 23px / 40px with 0.05em tracking.

The measured clusters reserve substantial space above the H2, consistent with decorative or illustrative content in the composition. Across several sections, the H2 begins 165px after the section's initial padded position on desktop and 115px after it on mobile. The sampled element list does not identify every asset occupying that space.

The heading-to-introduction gap reduces from 30px to 16px. Retain the calm centered hierarchy, while allowing longer mobile headings to occupy two lines.

Five Educational Stories

Role: explain the chain from plastic waste to wildlife and human consequences, then introduce practical action.

The five topics cover wildlife effects, microplastics and chemicals, effects on people, waste sources and recycling, and everyday changes. The entire sequence sits on the measured mint background #dbfcf8.

Desktop alternates the copy column: right for stories 1, 3, and 5; left for stories 2 and 4. Each copy column is 455px wide. The associated illustration occupies the opposite side. The supplied middle capture shows a circular recycling scene at the right of one story and part of a person illustration below on the left of the next.

White text surfaces have very large curved ends rather than a consistent small card radius. Broad mint intervals remain visible between them. A pale vertical STORY label sits near the outer edge. A short blue wave ornament separates the visible title from the paragraph.

The desktop title positions have an approximately 775–777px pitch. This describes the captured composition, not a required fixed row height. Copy length varies, and mobile must grow with its content.

On mobile, text columns narrow to approximately 302–308px, while story paragraphs retain 32px leading. The sequence becomes vertical rather than alternating left and right. The measurements establish the stacked content flow; the supplied mobile screenshots do not show the interior story artwork, so its exact mobile crop is unverified.

Story Detail Button

Role: offer deeper information without interrupting the narrative.

The repeated 詳しくはこちら link is centered below each story paragraph. Desktop dimensions are 310 × 50px with a 25px radius. On mobile, it fills the narrower story text measure while retaining its 50px height.

The visible desktop button uses a blue fill, white bold label, an angled division between blue tones, and a small white circular icon holder near the right edge. The sampled anchor declares background-position 0.7s; the precise background construction and hover endpoint were not supplied.

The story links lead to corresponding sections of the organization's explanatory article. Stories 2 and 3 share the same linked anchor. Preserve real destination semantics rather than treating the buttons as decorative pills.

Resource Tiles

Role: connect the overview to organizational work and educational opportunities.

Two large linked tiles follow the educational stories. Their labels are 日本野鳥の会の取り組み and 学ぼう! 体験しよう!.

Desktop places two 720 × 599px tiles edge to edge across the viewport. Titles and descriptions appear toward the lower portion, with white text. The mobile arrangement stacks two 390 × 438px tiles with a calculated 10px gap.

The original captures supplied here do not show these tiles. Their dimensions, lower text placement, typography, and link destinations are measured, but their exact background images are not established. Do not choose stock photographs and present them as observed assets.

Three Support Options

Role: translate understanding into participation, product choices, or donations.

The support section has the measured pale-green background #edfcdb. It introduces three numbered options, 01, 02, and 03, followed by headings, descriptions, and action labels.

Desktop uses three approximately 400px-wide linked groups. The middle option begins 70px lower. Headings use #32917e, 21px / 35px, bold weight, and wide tracking. Descriptions are 300px wide inside their larger group.

Mobile stacks the groups at about 348.41px wide with 30px gaps. The first two are approximately 612.80px tall; the shorter third is approximately 576.80px. These heights arise from content and media allocation. They should not become rigid component constraints.

Each sampled group is a single anchor wrapping its contents. If adapting this structure, avoid nesting an additional interactive button inside that anchor; the visual button can be a non-interactive child.

Latest Activity List

Role: provide ongoing evidence of the organization's work.

Three linked entries lead to the campaign's note articles. Each combines a date, title, excerpt, and a leading media region.

Desktop link geometry is 970 × 180px, centered at x: 235px. Its measured grid is 250px 680px with a 40px gap. The title and excerpt occupy a 600px text measure inside the second track. Entries are separated by 50px.

Mobile changes to one 348.41px column with a measured 13px row gap. Headlines reduce to 18px / 30px and occupy taller boxes; excerpts remain 16px / 30px. The original image content is not visible in the supplied screenshots.

A centered 310 × 50px link labeled noteでもっと見る ends the list. The observed article dates range from October 2025 to January 2026; these are content timestamps, not evidence of a particular design launch date.

Sharing Strip

Role: encourage visitors to spread the issue after reading.

A centered invitation, 身近な人へこの問題を広めよう!, appears above six monochrome sharing symbols: X, Facebook, Hatena Bookmark, Pocket, LINE, and Pinterest. Their destinations are present in the rendered links, but sharing flows were not exercised.

Desktop uses six 64px link boxes with 16px gaps, making a 464px row. The visible circles sit within those boxes. Mobile retains all six in one row, using approximately 49.73px link boxes and 10px gaps.

The invitation is framed by a delicate dotted wave motif. This is a quiet transition into the footer, not another large call-to-action block.

Role: close the reading experience with campaign and organizational identity.

A white sharing area meets a warm cream footer along a broad shallow wave. A textured turtle illustration crosses the boundary near the right side, providing a small final narrative detail.

The centered vertical stack contains a 300 × 72px campaign lockup, three 60px circular account links, a dotted wave divider, an approximately 200 × 29.5px organization logo, and a small copyright line. Facebook, X, and YouTube account symbols retain their recognizable brand colors or black treatment.

The campaign lockup and account controls remain the same measured size on mobile. The footer changes its surrounding spacing instead of shrinking every object. The copyright text displayed in the capture is © 2007-2024 Wild Bird Society of Japan; it does not override the actual inspection date.

Persistent Action Dock

Role: keep a short set of practical next steps available during the long read.

The scrolled desktop and footer captures show a full-width sky-blue dock with a wave-shaped top. The same controls remain anchored near the bottom of the viewport across those captures, consistent with persistent overlay behavior. The opening captures do not show it. The exact visibility trigger and positioning implementation were not supplied.

Desktop anatomy consists of a centered invitation, three white pill links, two smaller underlined resource links, a challenge counter toward the right, and a blue TOP control protruding at the left. The three main links are approximately 264.34 × 50px, with calculated 18px gaps.

The challenge counter is visually enclosed by a dotted, roughly circular outline on desktop. The observed value is 16969; this is a capture-time value. No counting animation, update frequency, or challenge-completion behavior was verified.

Mobile places the invitation at the upper left and the smaller counter at the upper right, separated visually by a dotted vertical rule. Three white buttons remain in one row at approximately 111.33 × 50px, with 8px gaps and 10px radii. Labels wrap or shorten, including the shorter プラを減らすチャレンジ. The two small resource links remain below them. The desktop TOP control is not visible in the supplied mobile footer capture.

The dock occupies approximately the bottom 180–205px, including its changing wave crest, in the scrolled screenshots. This is a visual estimate, not a measured container height. Reserve enough document space for it in a new implementation and account for device safe areas.

Tokens — Motion & Interaction

Treatment Supplied evidence What can be concluded
Header entrance 1.2s 0.7s forwards top-fade in computed animation A 1.2-second named animation with a 0.7-second delay is declared; its keyframes were not supplied
Ordinary text and identity links opacity 0.3s Opacity changes are supported; endpoint opacity and exact trigger were not captured
Story and final activity buttons background-position 0.7s A moving background treatment is declared; full hover behavior remains unverified
Dock links background-color 0.3s Background-color feedback is declared; final hover colors were not supplied
Compact scrolled identity Different identity visible in opening and scrolled screenshots A state change is evidenced; timing and threshold are unknown
Bottom action dock Absent in opening captures, present in scrolled captures Visibility changes with page state; no exact scroll rule is established
Topic links Actual hash destinations in rendered DOM In-page navigation is available; smooth-scroll timing was not tested
TOP button Desktop button and visible upward mark Its intended navigation role is apparent; click behavior was not exercised
Menu Closed-state wave control and offscreen navigation links Menu availability is evidenced; opening, dismissal, focus handling, and animation are unverified

Computed transition: all entries without an accompanying nonzero duration do not prove an animated effect. Likewise, wave-shaped artwork does not prove that waves are animated.

The supplied capture process waited for initial loading and settling, conservatively awaited finite visible or potentially revealing animation, and temporarily paused perpetual animation during readiness checks before resuming it. Static captures and these checks cannot establish a complete motion sequence. Do not invent parallax, bird movement, turtle swimming, counter animation, or continuous wave motion.

Surfaces

Surface Appearance Function
Opening canvas White with a full-width textured illustration Establishes subject and atmosphere
Reading introduction White, unboxed, navy text Gives the opening explanation room to breathe
Story field Flat mint #dbfcf8 Connects five chapters into one continuous sequence
Story copy White with very broad curved boundaries Separates readable text from surrounding illustrations
Support field Flat pale green #edfcdb Signals the move from explanation to participation
Activity area Light canvas with structured linked rows Keeps current information readable
Footer Warm cream corresponding visually to #fcf8ed Softens the closing identity area
Action dock Sky blue with a shallow wave crest Persistent access to action links
Primary link surfaces Blue pills or white dock buttons Clear, repeated navigation affordances

No general shadow-based elevation system is visible in the supplied captures. Separation comes from colored fields, curved silhouettes, spacing, and illustration boundaries. Keep paper texture mainly inside artwork; body text rests on clean flat surfaces.

Imagery

The illustration language is tactile collage: rubbed pigment, fibrous paper, cut edges, stippled patches, crosshatched nets, and uneven painted contours. The parent bird is broad and softly rounded, while its beak and the plastic fragments add sharp accents. Dark chick feathers use a dense rough texture that remains visible at large scale.

The palette is cheerful enough to invite attention while the subject communicates harm. Preserve that relationship. Generic recycling icons or immaculate vector animals would lose the emotional and material qualities of the original composition.

Secondary imagery stays in the same world. The visible story illustration shows waste and recycling containers inside a circular scene. A person illustration emerges at the next chapter. Small seabirds and a turtle accompany the footer area. These smaller illustrations help connect otherwise functional sections to the main narrative.

Use normal high-quality raster scaling or supplied vectors with embedded texture. There is no evidence for pixelated rendering. Avoid image-rendering: pixelated, which would change the intended paper grain into blocky digital pixels.

Observed Asset References

The supplied evidence does not include a complete image-source inventory. The following are visual asset requirements, not filenames to fetch.

Asset Observed use File or implementation evidence
Parent bird and chick coastal composition Opening hero Visible in desktop and mobile captures; source path and layering unknown
Blue campaign lockup Hero, scrolled header, footer Visible at multiple scales; source path and format unknown
Organization identity Opening header and footer Visible; footer link points to the official organization website
Three-wave menu symbol Upper-right navigation control Visible; source SVG or image path not supplied
Recycling composition Desktop story illustration Visible circular crop; source path not supplied
Person illustration Beginning of the next desktop story Partially visible; full composition not supplied
Turtle and small seabirds Footer transition Visible decorative artwork; source paths not supplied
Sharing and account symbols Sharing strip and footer Visible controls and destinations; asset implementation unknown

Use authorized artwork when available. If creating a new campaign, commission a consistent set of illustrations rather than assembling unrelated stock styles. Keep logos and primary titles separate from the background composition when responsive repositioning requires it.

Layout & Responsive Behavior

Desktop Composition

At 1440 × 1000, the page balances full-width scenes with several narrower reading measures. The opening explanation is 768px wide, topic navigation spans 1200px, individual story text columns are 455px, and activity rows are 970px. This variation creates pacing; one universal content width would flatten the hierarchy.

The desktop topic links and support options use selective 70px vertical offsets. Educational stories alternate sides, while resource tiles split the viewport evenly. The footer returns to a centered vertical stack.

The story section alone measures approximately 4369px high. Its large illustrations, generous gaps, and readable paragraphs establish a slow educational cadence. Avoid compressing this into a dense feature grid.

Mobile Composition

At 390 × 844, the general content width is about 348.41px, with 20.80px side gutters. The page is approximately 3096px taller than its desktop counterpart, a calculated difference caused by stacked groups and additional wrapping.

Component Observed mobile change
Header Height reduces to 70px; initial organization mark reduces to 82px wide
Hero Scene is tightly cropped around the birds; caption moves below the image onto white
Introductory copy Becomes 17px text with 35px leading and full available reading width
Topic navigation Four desktop items become a 2 × 2 grid; stagger is removed
Educational stories Alternate desktop columns become a vertical reading sequence
Story copy Narrows to approximately 302–308px but retains 32px line height
Resource tiles Two equal desktop columns become two full-width stacked tiles
Support options Three columns become one vertical sequence
Activity list Horizontal media/text grids become single-column entries
Sharing strip Six controls remain in one row at smaller sizes
Footer identity Campaign lockup remains 300px wide; account buttons remain 60px
Action dock Three actions remain side by side; labels wrap and corners reduce to 10px
Persistent-UI Constraints

The mobile footer capture shows the compact header lockup overlapping part of the sharing invitation at that scroll position. This is an observed occlusion, not a decorative treatment to reproduce. A new implementation should give anchor targets sufficient top clearance and keep important text clear of persistent identity controls.

The bottom dock also overlays the reading area in the desktop middle capture. Preserve access to its actions while reserving end-of-document clearance and checking keyboard-focused elements near the viewport bottom.

Only the two stated viewport sizes were supplied. Tablet behavior, landscape layouts, zoom behavior, and the original media-query breakpoints remain unverified. The 48rem breakpoint in the Quick Start is a recommendation, not recovered source CSS.

Do’s and Don’ts

Do
  • Preserve the relationship between tactile wildlife illustration and clean, readable information surfaces.
  • Use the measured navy, mint, pale green, heading blue, and green action-heading colors consistently.
  • Treat the campaign lockup as artwork with an accessible text equivalent.
  • Keep paragraph leading generous, especially the measured 32px story rhythm.
  • Alternate desktop story compositions and stack them coherently on mobile.
  • Retain the selective desktop stagger in topic navigation and support options.
  • Repeat the wave motif at several scales: menu strokes, small separators, and broad section edges.
  • Keep the mobile hero's separate green caption below the image.
  • Distinguish sharing controls from links to official social accounts.
  • Preserve the dock's three action choices and its different desktop and mobile button shapes.
  • Treat the counter, dates, news, and activity entries as replaceable content.
Don’t
  • Don't infer the visible hero lettering from the hidden H1's 16px computed size.
  • Don't turn the entire page into a uniform grid of rounded cards.
  • Don't replace paper texture with glossy gradients, glass effects, or generic vector cleanup.
  • Don't add texture behind long paragraphs merely because the illustrations are textured.
  • Don't scale the desktop hero down intact and lose the birds' prominence on mobile.
  • Don't shrink all mobile typography proportionally; the source uses role-specific changes.
  • Don't reproduce captured header overlap as intentional layout.
  • Don't apply the mobile dock's 10px radius to every control; story buttons remain pills.
  • Don't invent missing tile images, artwork paths, animation sequences, or interaction outcomes.
  • Don't assume every declared accent token is visibly used in the inspected states.
  • Don't infer a redesign date from the footer's copyright range.

These are recommendations for a new implementation, not verified features of the original page:

  • Give the wave-menu control an accessible name, an expanded state, and at least a 44px target. Keep closed navigation out of keyboard traversal.
  • Preserve a real H1 even when the visible title is an image or SVG. Avoid duplicate announcements from equivalent logo text and alternative text.
  • Supply meaningful alternative text for explanatory illustrations; hide purely decorative waves and animals from assistive technology where appropriate.
  • Use semantic anchors for navigation and buttons for state changes. Do not nest interactive controls inside the support-option anchors.
  • Provide visible keyboard focus and enough top and bottom clearance for persistent UI.
  • Check the contrast of small white text on blue surfaces and blue text on the dock. Keep long-form text in the measured dark navy.
  • Respect reduced-motion preferences. Since original keyframes are unavailable, favor minimal feedback over invented continuous animation.
  • Keep the challenge count data-driven. If it updates, announce changes selectively rather than interrupting reading repeatedly.
  • Reserve image dimensions and art-directed mobile crops to reduce layout shifts and protect the parent-and-chick focal point.
  • Validate long labels, text enlargement, and narrow screens before retaining a three-column mobile action dock unchanged.

Agent Prompt Guide

Quick Color Reference
  • Main reading text: #071d4d.
  • Primary interface blue: #0f93d6; secondary blue: #0d88c4.
  • Major section headings: #004092.
  • Educational-story background: #dbfcf8.
  • Support background: #edfcdb.
  • Footer cream: source token #fcf8ed, visually consistent with the capture.
  • Support headings: #32917e.
  • Action dock: approximately #7ecbed; visual estimate requiring confirmation.
  • White surfaces: #ffffff.
Overall Prompt

“Create an educational wildlife-conservation campaign homepage with a tactile coastal picture-book identity. Use textured paper collage for a parent seabird and chick surrounded by marine plastic, a bright blue graphic campaign lockup, navy Japanese reading text, mint educational sections, a pale-green participation section, and a warm cream footer. Build a long reading sequence with four illustrated topic links, five alternating illustration-and-copy stories, two resource tiles, three numbered support options, and a latest-activity list. Use broad wave boundaries, small wave ornaments, dotted dividers, and blue pill links. On mobile, crop the hero around the birds, move its caption below the illustration, stack story and resource content, and retain a compact three-action bottom dock. Use the supplied measurements where available and mark missing artwork or behavior as implementation decisions.”

Example Component Prompts
  1. Hero: “Design a full-width coastal collage with a large white adult seabird bending toward a dark chick. Preserve rough paper grain, layered sea bands, orange beaks, and visible plastic debris. Float a separate blue campaign lockup near the top. At 390px wide, keep the birds large and move the short caption onto white space below the scene. Do not bake interface text into the background image.”
  2. Story chapter: “Create a mint section containing a large circular illustration opposite a white text surface with a broad curved edge. Use a 455px desktop copy measure, navy 17px text on 32px leading, a blue title treatment, a small wave separator, and a centered 310 × 50px detail link. Alternate sides on desktop; stack coherently on mobile with 16px text and unchanged 32px leading.”
  3. Topic navigation: “Arrange four illustrated links across a 1200px desktop span, each 272px wide, with the two middle items 70px lower. Place centered two-line captions below their images. At 390px, use a 2 × 2 grid with approximately 165px items, an 18px column gap, and no vertical stagger.”
  4. Support options: “Place three numbered participation links on pale green #edfcdb. Use large leading imagery, green bold headings, navy descriptions, and clear action labels. Offset the middle desktop group by 70px. Stack the groups on mobile with 30px separation and keep each group a single semantic link.”
  5. Action dock: “Build a sky-blue bottom dock with a shallow wave crest. Include an invitation, three white action links, two small underlined resource links, and a challenge counter. Desktop actions are about 264 × 50px pills; mobile actions are about 111 × 50px with 10px radii. Reflow the invitation and counter above the mobile buttons. Treat the count as data and reserve space so the dock does not hide the final content.”
  6. Footer: “Create a warm cream closing section beneath a white sharing strip. Use a shallow wave boundary with a small textured turtle crossing it, a centered 300 × 72px campaign lockup, three 60px account buttons, a dotted wave divider, an organization logo, and a small copyright line. Keep the identity artwork generously spaced on mobile.”

Quick Start

CSS Custom Properties

This is a reusable adaptation, not extracted source CSS. Exact measured colors, reading sizes, button dimensions, and several layout relationships are retained. The dock color, curve construction, hero sizing formula, breakpoint, and hover endpoints are recommendations. Supply authorized artwork as separate image elements; no asset filenames are assumed.

The CSS expects a .campaign-page wrapper containing .site-header, .page-main, and the footer. Inside .hero, place .campaign-lockup, .hero-scene containing the illustration image, and .hero-caption. Each .story contains .story-visual and .story-panel, with .story-copy inside the panel. The dock uses .dock-intro, .dock-count, .dock-actions, and .dock-links inside .dock-inner.

:root {
  /* Measured colors or declared source palette values */
  --ink: #071d4d;
  --primary: #0f93d6;
  --secondary: #0d88c4;
  --heading: #004092;
  --sea: #dbfcf8;
  --leaf: #edfcdb;
  --paper: #fcf8ed;
  --teal: #32917e;
  --counter: #2071d0;
  --white: #fff;

  /* Visual approximation; confirm against an authorized asset */
  --dock: #7ecbed;

  --font-ja: 'Noto Sans JP', '游ゴシック体', YuGothic,
    '游ゴシック', 'Yu Gothic', sans-serif;
  --font-latin: 'Montserrat', sans-serif;

  --inner: 1200px;
  --inner-wide: 1260px;
  --page-gutter: max(20px, 5.333vw);
  --header-height: 100px;
  --main-offset: 100px;
  --body-size: 17px;
  --body-leading: 32px;
  --title-size: 36px;
  --title-leading: 50px;
  --pill-radius: 25px;
  --link-time: 300ms;
  --fill-time: 700ms;

  /* Recommended clearance, not a measured source dock height */
  --dock-clearance: 225px;

  /* Recommended static wave silhouette */
  --wave-mask: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 40%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 20C180 20 180 0 360 0S540 40 720 40S900 0 1080 0S1260 40 1440 40V40H0Z%22/%3E%3C/svg%3E');
}

* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: var(--font-ja);
  font-size: 16px;
  line-height: 1.5;
}

img, svg { max-inline-size: 100%; }
img { display: block; block-size: auto; }
button, input { font: inherit; }
a { color: inherit; }

.campaign-page.has-action-dock {
  padding-block-end:
    calc(var(--dock-clearance) + env(safe-area-inset-bottom, 0px));
}

.page-inner {
  inline-size: min(
    var(--inner),
    calc(100% - var(--page-gutter) - var(--page-gutter))
  );
  margin-inline: auto;
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  block-size: var(--header-height);
  padding-inline: clamp(20px, 2.142vw, 34px);
}

.brand-organization { inline-size: 149.5px; }
.brand-campaign { inline-size: 200px; }

/* Recommended hit area around the observed 36 x 21 graphic */
.menu-toggle {
  display: grid;
  place-items: center;
  inline-size: 44px;
  block-size: 44px;
  padding: 0;
  border: 0;
  color: var(--primary);
  background: transparent;
  cursor: pointer;
}

.menu-mark { inline-size: 36px; block-size: 21px; }
.page-main { padding-block-start: var(--main-offset); }

.hero { position: relative; }

.hero-scene {
  margin: 0;
  block-size: clamp(640px, 62.5vw, 1000px);
  overflow: hidden;
}

.hero-scene img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
}

.campaign-lockup {
  position: absolute;
  z-index: 1;
  inset-block-start: -53px;
  inset-inline-start: 50%;
  inline-size: min(51.4vw, 820px);
  transform: translateX(-50%);
}

.hero-caption {
  position: absolute;
  inset-inline: 24px;
  inset-block-end: 32px;
  margin: 0;
  color: var(--white);
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
}

.opening-copy {
  max-inline-size: 768px;
  margin: 96px auto 40px;
  font-size: 20px;
  font-weight: 500;
  line-height: 44px;
  letter-spacing: 0.05em;
}

.section-heading {
  margin: 0;
  color: var(--heading);
  font-size: var(--title-size);
  font-weight: 700;
  line-height: var(--title-leading);
  letter-spacing: 0.07em;
  text-align: center;
  text-wrap: balance;
}

.section-intro {
  margin: 30px auto 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 35px;
  letter-spacing: 0.05em;
  text-align: center;
}

.topic-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 37.33px;
}

.topic-link { display: block; text-decoration: none; }
.topic-link:nth-child(2),
.topic-link:nth-child(3) { margin-block-start: 70px; }
.topic-image { aspect-ratio: 1; object-fit: contain; }

.topic-caption {
  margin: 15px 0 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: center;
}

.story-section { background: var(--sea); }
.story-list { max-inline-size: var(--inner-wide); margin-inline: auto; }

.story {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 40px;
  padding-block: 80px;
}

.story-visual {
  inline-size: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 50%;
}

.story-visual img { inline-size: 100%; }

/* Approximate the broad panel curve without claiming source radii */
.story-panel {
  padding: 64px 32px;
  background: var(--white);
  border-radius: 240px 0 0 240px;
}

.story-copy { max-inline-size: 455px; margin-inline: auto; }
.story-copy p {
  margin: 25px 0 0;
  font-size: var(--body-size);
  line-height: var(--body-leading);
  letter-spacing: 0.03em;
}

.story:nth-child(even) .story-visual { grid-column: 2; grid-row: 1; }
.story:nth-child(even) .story-panel {
  grid-column: 1;
  grid-row: 1;
  border-radius: 0 240px 240px 0;
}

.detail-link {
  position: relative;
  display: grid;
  place-items: center;
  inline-size: min(310px, 100%);
  min-block-size: 50px;
  margin: 45px auto 0;
  padding: 10px 46px;
  border-radius: var(--pill-radius);
  color: var(--white);
  background: linear-gradient(
    120deg, var(--primary) 48%, var(--secondary) 48%
  );
  background-size: 180% 100%;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: background-position var(--fill-time);
}

.detail-link-icon {
  position: absolute;
  inset-inline-end: 15px;
  display: grid;
  place-items: center;
  inline-size: 26px;
  block-size: 26px;
  border-radius: 50%;
  color: var(--primary);
  background: var(--white);
}

.resource-grid { display: grid; grid-template-columns: 1fr 1fr; }
.support-section { background: var(--leaf); }

.support-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 26.67px;
  max-inline-size: 1253.34px;
  margin-inline: auto;
  padding-block-end: 70px;
}

.support-option:nth-child(2) { margin-block-start: 70px; }
.support-option-title {
  color: var(--teal);
  font-size: 21px;
  line-height: 35px;
  letter-spacing: 0.1em;
}

.activity-list { max-inline-size: 970px; margin-inline: auto; }
.activity-row {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 40px;
  margin-block-end: 50px;
  text-decoration: none;
}

.share-links {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  inline-size: min(464px, 100%);
  margin-inline: auto;
}

.share-links a { display: block; aspect-ratio: 1; }

.wave-surface { position: relative; background: var(--surface-color); }
.wave-surface::before {
  content: '';
  position: absolute;
  inset: -32px 0 auto;
  block-size: 33px;
  background: var(--surface-color);
  -webkit-mask: var(--wave-mask) center / 100% 100% no-repeat;
  mask: var(--wave-mask) center / 100% 100% no-repeat;
  pointer-events: none;
}

.identity-footer {
  --surface-color: var(--paper);
  padding: 64px 20px 80px;
  text-align: center;
}

.footer-lockup { inline-size: min(300px, 100%); margin-inline: auto; }
.account-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-block: 50px;
}

.account-links a {
  display: grid;
  place-items: center;
  inline-size: 60px;
  block-size: 60px;
  border-radius: 50%;
  background: var(--white);
}

.action-dock {
  --surface-color: var(--dock);
  position: fixed;
  inset: auto 0 0;
  z-index: 30;
  padding: 26px 20px calc(20px + env(safe-area-inset-bottom, 0px));
  visibility: hidden;
  transform: translateY(calc(100% + 40px));
  pointer-events: none;
}

/* Toggle from application state; the original threshold is unknown */
.action-dock.is-visible {
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

.dock-inner { position: relative; max-inline-size: 1380px; margin: auto; }
.dock-intro {
  margin: 0 0 16px;
  color: var(--white);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

.dock-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-inline-size: 829px;
  margin-inline: auto;
}

.dock-actions a {
  display: grid;
  place-items: center;
  min-block-size: 50px;
  padding: 8px 16px;
  border-radius: 40px;
  color: var(--primary);
  background: var(--white);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--link-time);
}

.dock-count {
  position: absolute;
  inset: 0 0 auto auto;
  padding: 18px;
  border: 2px dotted currentColor;
  border-radius: 50%;
  color: var(--counter);
  text-align: center;
}

.dock-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-block-start: 14px;
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
}

.campaign-page [id] {
  scroll-margin-block-start: calc(var(--header-height) + 24px);
}

.campaign-page :focus-visible {
  outline: 3px solid var(--ink);
  outline-offset: 4px;
}

@media (hover: hover) {
  /* Recommended endpoints; only source durations were supplied */
  .detail-link:hover { background-position: 100% 0; }
  .dock-actions a:hover { background-color: var(--sea); }
}

@media (max-width: 80rem) and (min-width: 48.01rem) {
  /* Recommended intermediate-width safeguard */
  .dock-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px 20px;
  }
  .dock-intro { text-align: start; }
  .dock-count { position: static; border: 0; padding: 0; }
  .dock-actions, .dock-links { grid-column: 1 / -1; inline-size: 100%; }
}

@media (max-width: 48rem) {
  :root {
    --header-height: 70px;
    --main-offset: 105px;
    --body-size: 16px;
    --title-size: 23px;
    --title-leading: 40px;
    --dock-clearance: 205px;
  }

  .site-header { padding-inline: var(--page-gutter); }
  .brand-organization { inline-size: 82px; }
  .brand-campaign { inline-size: 160px; }

  .hero-scene { block-size: clamp(460px, 136vw, 620px); }
  .campaign-lockup {
    inset-block-start: -24px;
    inline-size: calc(100% - 56px);
  }
  .hero-caption {
    position: static;
    margin: 16px 40px 0;
    color: var(--teal);
    font-size: 24px;
    line-height: 34px;
    text-wrap: balance;
  }
  .opening-copy {
    margin: 48px var(--page-gutter) 20px;
    font-size: 17px;
    line-height: 35px;
    letter-spacing: 0.03em;
  }
  .section-heading { letter-spacing: 0.05em; }
  .section-intro {
    margin-block-start: 16px;
    font-size: 16px;
    line-height: 31px;
    letter-spacing: 0.03em;
  }

  .topic-nav { grid-template-columns: 1fr 1fr; gap: 35px 18px; }
  .topic-link:nth-child(n) { margin-block-start: 0; }
  .topic-caption {
    margin-block-start: 8px;
    font-size: 15px;
    line-height: 25px;
    letter-spacing: 0.03em;
  }

  .story-list { padding-inline: var(--page-gutter); }
  .story { grid-template-columns: 1fr; gap: 24px; padding-block: 40px; }
  .story:nth-child(n) .story-visual,
  .story:nth-child(n) .story-panel {
    grid-column: auto;
    grid-row: auto;
  }
  .story:nth-child(n) .story-panel {
    padding: 40px 23px;
    border-radius: 100px 100px 0 0;
  }
  .story-copy p { margin-block-start: 14px; }
  .detail-link { margin-block-start: 35px; }

  .resource-grid { grid-template-columns: 1fr; gap: 10px; }
  .support-grid { grid-template-columns: 1fr; gap: 30px; padding-bottom: 0; }
  .support-option:nth-child(n) { margin-block-start: 0; }
  .support-option-title {
    font-size: 20px;
    line-height: 36px;
    letter-spacing: 0.05em;
  }
  .activity-row { grid-template-columns: 1fr; gap: 13px; }
  .share-links { gap: 10px; }

  .action-dock { padding: 18px 20px calc(14px + env(safe-area-inset-bottom, 0px)); }
  .dock-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 16px;
  }
  .dock-intro {
    margin: 0;
    font-size: 15px;
    line-height: 21px;
    text-align: start;
  }
  .dock-count {
    position: static;
    padding: 0 0 0 10px;
    border: 0;
    border-inline-start: 2px dotted currentColor;
    border-radius: 0;
    font-size: 11px;
  }
  .dock-actions {
    grid-column: 1 / -1;
    inline-size: 100%;
    gap: 8px;
  }
  .dock-actions a {
    padding-inline: 5px;
    border-radius: 10px;
    font-size: 14px;
  }
  .dock-links {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-page *,
  .campaign-page *::before,
  .campaign-page *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

The CSS does not implement menu logic, counter updates, sharing services, or the original entry animation. A reasonable new implementation can use an intersection observer to change the header identity and reveal the dock after the hero leaves view, but that threshold is a recommendation. Verify the dock's actual rendered height and update the reserved space if labels, fonts, or localization make it taller.

The mobile story-panel radius in this adaptation is also a recommendation: interior mobile story shapes were not visually captured. Use the supplied mobile measurements to preserve the reading measure without claiming an exact reconstruction of unseen artwork.

Tailwind v4 Token Mapping

Optional aliases for a project already using Tailwind v4. This is not evidence that the original site uses Tailwind. Define the custom properties above first.

@theme inline {
  --color-campaign-ink: var(--ink);
  --color-ocean: var(--primary);
  --color-ocean-deep: var(--secondary);
  --color-campaign-heading: var(--heading);
  --color-sea-mint: var(--sea);
  --color-pale-leaf: var(--leaf);
  --color-warm-paper: var(--paper);
  --color-sea-green: var(--teal);
  --color-dock-sky: var(--dock);

  --font-campaign: var(--font-ja);
  --font-campaign-latin: var(--font-latin);

  --text-story: var(--body-size);
  --text-section: var(--title-size);
  --spacing-campaign-gutter: var(--page-gutter);
  --spacing-campaign-inner: var(--inner);
  --spacing-story-copy: 455px;
  --spacing-detail-button: 310px;

  --radius-detail: 25px;
  --radius-dock-mobile: 10px;
}

Sources & Evidence

  • Original and final page: https://lp.wbsj.org/plastic-problem/. The supplied browser record reports HTTP 200 and no URL change.
  • Capture date: evidence retrieved at 2026-09-16T19:55:46.781Z, or September 17, 2026 at 04:55:46.781 JST. This document analyzes that supplied current-page evidence; no additional browser inspection was performed.
  • Desktop evidence: 1440 × 1000 CSS-pixel viewport, approximately 11,473px document height, opening capture, story-transition capture, footer capture, rendered text, links, computed custom properties, and sampled element bounds/styles.
  • Mobile evidence: 390 × 844 CSS-pixel viewport, approximately 14,569px document height, opening and footer captures, rendered text, links, computed custom properties, and sampled element bounds/styles.
  • Observed state changes: scrolling exposes the compact campaign identity and bottom action dock. The sharing area, footer, and mobile hero reconfiguration are visible. No menu opening, hover sequence, share completion, donation flow, challenge completion, or button activation was supplied.
  • Inspection limitations: the provided screenshots do not visually cover every DOM-measured section. Image URLs, complete stylesheets, animation keyframes, accessible-name computations, intermediate breakpoints, and linked-page content were not supplied. The capture process included load and stability checks, but those checks do not establish delayed-content completeness or unexercised behavior. SharedWorkers and service workers were disabled during the supplied inspection.

Measured values in this reference describe the captured page. Visual estimates and reusable implementation choices are explicitly identified so they can be refined without being mistaken for recovered source code.

← デザイン一覧に戻る