Style Guide
Design system for category_article layout
Colors
Brand Colors
Primary
#ec4899 / pink-500
Primary Dark
#db2777 / pink-600
Body Text
#1a202c / gray-900
Secondary Text
#4a5568 / gray-600
Surface Colors
Background
#ffffff / white
Surface
#f7fafc / gray-50
Border
#edf2f7 / gray-200
Footer
#1a202c / gray-900
Accent Colors
blue-500
X (Twitter)
black
LINE
green-500
YouTube
red-600
Star Ratings
yellow-400
Lab Tokens
Visual identity for the 旅行ラボ (Travel Lab) experience — a "research room" aestheticcombining navy precision, vermillion accents, and paper-toned surfaces. Defined inapp/assets/stylesheets/tailwind.cssunder @theme.
Lab Colors
Navy
#1F3A5F / lab-navy
Vermillion
#C9302C / lab-vermillion
Paper
#FAF6EE / lab-paper
Rule
#E5DEC9 / lab-rule
Body
#4A5B73 / lab-body
Meta
#6B7280 / lab-meta
Lab Typography
THEME #001 — COFFEE THIRD WAVE
ホーチミンのコーヒーは第三波へ移行している
旅行者と研究員が共に問いを立て、観察し、記録する。観光カタログでは出会えない街の表情を、一杯のコーヒーから読み解いていく。
Archived Tone Filter
Apply .archived-toneto images in the lab archive to give them a desaturated, sepia-tinted "past records"feel. Hovering restores the full-color image.
Typography
Font Family
Inter, Noto Sans JP, system-ui, -apple-system, sans-serif
Hero Title (h1) - 3.75rem / font-bold
ホーチミンの魅力を発見
Section Title (h2) - 1.875rem / font-bold
セクションタイトル
Card Title (h3) - 1.125rem / font-bold
カードタイトル
Body Text - 18px / normal
これは本文テキストです。記事の本文は18pxで表示され、読みやすい行間で設定されています。日本語と英語が混在するコンテンツでも美しく表示されるよう最適化されています。
Secondary Text - 0.875rem / text-gray-600
補足テキストや説明文に使用します。
Caption / Meta - 0.75rem / text-gray-500
2024年1月15日 更新
Buttons
Primary Buttons
Secondary Buttons
Action Pills
Cards
Standard Card
カードタイトル
カードの説明文がここに入ります。長い説明文は3行でクリップされます。
カードタイトル
カードの説明文がここに入ります。長い説明文は3行でクリップされます。
カードタイトル
カードの説明文がここに入ります。長い説明文は3行でクリップされます。
Place Card
共通パーシャルapp/views/places/_card.html.slimをカテゴリー一覧、エリア一覧、検索結果などで使用します。
ローカルパラメータ:show_image_badge(画像左上の「予約可能」バッジ)、show_area(メタ列にエリア名)、show_reservation_pill(メタ列に予約可能ピル / 既定 true)。
render 'places/card', place: place
クアン・ブイ・ガーデン
Quan Bui Garden
緑あふれる庭で楽しむ本格ベトナム料理。フォーやバインミーなど定番から珍しい一品まで。
render 'places/card', place: place, show_image_badge: true, show_area: true, show_reservation_pill: false
レストラン名
Restaurant Name
説明文。
render 'places/card', place: place, show_area: true
レストラン名
Restaurant Name
説明文。
Tour Card
共通パーシャルapp/views/shared/_tour_card.html.slimを Item を表示するすべてのグリッド/CTA で使用します。Item の表示箇所では新しいバリアントを作らず、必ずこのパーシャルを使ってください。
ローカルパラメータ:position(data-position 用)、anchor(item_path に付ける anchor。例:reservation_form)、data(link_to の data-属性にマージ)。
render 'shared/tour_card', item: item
メコン1日ツアー(チョコレート工場+永長寺)
クチトンネル日帰りツアー
ホーチミン市内観光ハーフデイ
ナイトクルーズ&水上人形劇
render 'shared/tour_card', item: item, anchor: 'reservation_form',data: { track: 'related_cta_click' }
関連ツアー/記事内 CTA など、予約導線に使う場合はanchor: 'reservation_form'を渡して item ページの予約フォームへ直接スクロールさせます。
Components
Breadcrumb
Social Share
Author Box
Reservation Banner
Pagination
Desktop Pagination
ページ送りコンポーネント。現在のページはピンクでハイライトされます。
Mobile Pagination
モバイル向けのシンプルなページ送り。前後のボタンとページ番号を表示します。
Disabled State
最初または最後のページでは前後ボタンが無効化されます。
Layout
Grid System
レスポンシブグリッドの例
3-Column Grid (Articles)
4-Column Grid (Items)
Content Widths
max-w-4xl (896px) - Article body
max-w-7xl (1280px) - Section grid
Forms
Icons
アイコンはSVGインラインで使用します。
Popular Food Icons
レストランカードと詳細ページで、タグに含まれる人気フード名を可愛いアイコンで表示します。対応キーワード: Pho / Banh Mi / Banh Xeo / Cha gio / Goi cuon (大文字小文字は不問)。
Food Icon Chips (Detail Page)
Main Layout Components
These components use Bootstrap 3 and custom SASS styles (not Tailwind).
CRO Reservation Block
The primary CTA block on the homepage. Uses trust bar, LINE CTA, and category-colored cards.
CSS Classes:
.cro-reservation-block— Container.cro-trust-bar— Trust signals row.cro-line-cta— LINE CTA (green #06C755).cro-card--spa— Spa card (pink gradient #C2185B).cro-card--tour— Tour card (teal gradient #00796B).cro-card-sm--restaurant— Restaurant card (orange gradient #E65100).cro-card-sm--ticket— Ticket card (blue gradient #1565C0)
File:app/views/layouts/_reservation_links.html.slim
Place Cards
Place list cards use .list-container with .media layout (Bootstrap 3).
.list-container— Card wrapper.media— Bootstrap media object.place-card-name— Place name (100% font-size on mobile).price-jpy— Price display (115% font-size on mobile)
File:app/views/places/_list.html.slim
Mobile Header
Fixed header with logo, category nav icons, and hamburger menu.
header.menu— Fixed header (65px, z-index: 10).mobile-header— Container (position: relative).slidemenu— Hamburger icon (absolute, right: 12px, z-index: 11)
File:app/views/layouts/_header.html.slim
Mobile In-Page Navigation
Sticky horizontal nav bar on mobile top page. Anchors to page sections.
.mobile-in-page-nav— Sticky container (top: 65px, z-index: 9).mobile-in-page-nav__inner— Flex scroll container.mobile-in-page-nav__item— Nav item with glyphicon + label[id^="section-"]— Anchor targets (scroll-margin-top: 120px)
File:app/views/layouts/_mobile_in_page_nav.html.slim
Reference Files
app/views/layouts/category_article.html.slim- Reference layoutapp/views/category_articles/show.html.slim- Reference pageapp/assets/stylesheets/category_article/application.scss- Custom styles.claude/skills/design-system/SKILL.md- Full design system documentation

