潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選

夏本番が近づき、軽快なカジュアルスタイルが恋しくなる季節。大人の休日は、リラックス感がありながらも、どこか洗練されたタフさを感じさせる装いを楽しみたい。

そこでおすすめしたいのが、〈ザ・ダファー・オブ・セントジョージ〉から届いた夏の新作アイテム。ヴィンテージライクな加工が目を引くデニムシャツから、夏の肌に映えるネイティブテイストのアクセサリーまで、男心をくすぐるラインナップが揃っている。どれもシンプルな夏のコーディネートに奥行きをもたらし、大人の余裕を演出してくれる頼もしい相棒ばかり。さっそく、夏の着こなしを格上げしてくれる注目の3アイテムをチェックしていこう。

 

 

◆スキマ時間に買い物できる『Safari Lounge』公式アプリを今すぐダウンロード『Safari Lounge』からスキマ時間に使えるスマホアプリが登場。これまで以上にサクサク買い物できる便利アプリなので、ダウンロードがまだの方はこの機会にぜひ!
潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えア...の画像はこちら >>
『Safari Lounge』公式アプリの詳細はコチラ 

 

 

RECOMMEND 01.
ヴィンテージの風合いと軽快さをミックス

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選

別注限定 デニムウエスタンシャツ 1万6500円(ザ・ダファー・オブ・セントジョージ/Safari Lounge)

王道のウエスタンシャツのディテールを踏襲しつつ、半袖仕様で夏らしく軽快に仕上げられた〈ザ・ダファー・オブ・セントジョージ〉のデニムシャツ。長年着古したかのようなリアルな色褪せ感は、職人の手による丁寧なブリーチ加工の賜物だ。アンティーク調のスナップボタンが、ヴィンテージライクな表情をさらに引き立てている。胸ポケットにさりげなく添えられたタグが、シンプルなデザインのほどよいアクセントに。Tシャツの上にサラリと羽織る1枚として使い勝手がよく、ロングシーズンにわたって着まわしを楽しめる頼もしい1着だ。

 アイテムの購入はこちら 

 

着脱も楽な気の利くディテール

 

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選
潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選
潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選
潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選
潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選
 

フロントにはスナップボタンを採用しており、ストレスなく着脱が行える実用的な仕様となっている。裾は丸みを帯びたラウンドヘムに仕上げることで、ボトムスの外に出して着た際にも重たく見えず、軽やかな印象をキープ。

肌触りのよい柔らかな素材を使用しているため、素肌に直接触れても心地よく、休日のリラックスタイムに優しく寄り添ってくれる。

 

【実際の着用イメージ】

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選

シャツ 1万6500円ショーツ 1万7600円ネックレス 1万7600円ブレスレット 1万5400円(ザ・ダファー・オブ・セントジョージ/Safari Lounge)
サンダル 1万7380円(ビルブレカン/Safari Lounge)

色落ちした淡いブルーのデニム生地が、夏の明るい日差しや海辺の景色に爽やかに溶け込んでいる。あえてフロントのボタンを開けてラフに羽織ることで、大人の色気と余裕を感じさせるリラクシーな着こなしに。褪せ感のあるブルーはどんなボトムスとも相性がよく、スタイリングにこなれた西海岸のムードをもたらしてくれる。

 

 

 

RECOMMEND 02.
胸元に頼もしい色気を宿すフェザー

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選

別注限定 フェザーネックレス 1万7600円(ザ・ダファー・オブ・セントジョージ/Safari Lounge)

夏の薄着で寂しくなりがちな胸元に、確かな存在感を与えてくれるのがこのネックレス。メイントップにはハンドメイド感のあるフェザーを採用し、メディスンホイールと鹿革のコードを巧みに組み合わせている。ネイティブアメリカンジュエリーが持つ武骨で神秘的な雰囲気を大切にしつつも、現代的な大人のカジュアルスタイルにすんなりと馴染むよう洗練されたバランスに落とし込まれているのが秀逸。シンプルな無地Tシャツやリネンシャツの首元に添えるだけで、コーディネート全体がぐっと引き締まり、男らしい渋みと遊び心を同時にアピールできる。

 アイテムの購入はこちら 

 

長さ調整が可能なアジャスター付き

 

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選
潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選
 

鹿革のコードにはアジャスターが備わっており、合わせるトップスの襟の開き具合やその日の気分に合わせて、自在に長さを調整できる機能的な設計となっている。肌に直接触れるコード部分には柔らかな鹿革を使用し、チャームには真鍮を採用。金属チェーン特有の冷たさや重みを感じさせないため、汗をかく季節でも自然で心地よい着用感を提供してくれる。

 

【実際の着用イメージ】

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選

シャツ 1万6500円ネックレス 1万7600円ブレスレット 1万5400円(ザ・ダファー・オブ・セントジョージ/Safari Lounge)

日焼けした健康的な肌に、真鍮のくすんだゴールドカラーと鹿革のナチュラルな色合いが絶妙にマッチ。

デニムシャツの隙間から覗くネイティブテイストのモチーフが、飾らない大人の男らしさを力強く演出。使い込むほどに深みを増していく素材の色合いが、夏のカジュアルスタイルに奥行きとロマンを与えてくれるはずだ。

 

 

 

 

RECOMMEND 03.
手元に渋みを加える異素材コンビ

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選

別注限定 ブラスビーズ ブレスレット 1万5400円(ザ・ダファー・オブ・セントジョージ/Safari Lounge)

ふとした瞬間に目に入る手元に、大人の落ち着いたアクセントを加えてくれるブレスレットもご用意。柔らかな鹿革のコードに真鍮製のビーズを通したミニマルなデザインで、天然素材の温もりと金属の無機質さという相反する要素が見事なコントラストを生み出している。ネイティブアメリカンジュエリーのニュアンスを感じさせながらも主張しすぎないため、単体で着けるのはもちろん、愛用のシルバーアクセサリーや腕時計との重ね付けにも適したデザインだ。半袖やロールアップの着こなしが増える夏場において、手元にさりげない渋みとこなれ感をもたらしてくれる気の利いたアクセサリー。

 アイテムの購入はこちら 

 

手首に優しく馴染むスライド式コード

 

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選
潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選
潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選
 

留め具部分のビーズをスライドさせるだけで、手首の太さに合わせて自在にサイズ調整が行える実用的な仕様。着脱もスムースで、忙しい朝のお出かけ前でも煩わしさを感じさせない。軽量な仕上がりと、肌に優しく馴染む鹿革コードのおかげで、手首の動きを全く妨げることなく、一日中着けていてもストレスフリーな自然な着け心地を味わえる。

 

【実際の着用イメージ】

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選

ネックレス 1万7600円ブレスレット 1万5400円(ザ・ダファー・オブ・セントジョージ/Safari Lounge)

手元を彩る、ブラウンの鹿革コードと鈍く光る真鍮ビーズのコンビネーションが秀逸。あざやかな夏の風景の中で、あえて渋みのあるトーンを手元に持ってくることで、着こなし全体が大人っぽく引き締まっている。手元に加わるさりげない彩りが、アクティブな夏の休日にちょっとした特別感をもたらしてくれる。

 

 

夏の装いはシンプルになるからこそ、身につけるアイテムの素材感やディテールが、その人のセンスやライフスタイルを雄弁に物語る。今回紹介した〈ザ・ダファー・オブ・セントジョージ〉のアイテムは、どれも大人の男が求めるタフさと、休日を心地よく過ごすためのリラックス感を見事なバランスで兼ね備えている。潮風を感じるデニムシャツを羽織り、胸元や手元にネイティブテイストのアクセサリーを添えて出かければ、見慣れたいつもの街並みも少し違った景色に見えてくるはず。こだわりの詰まったアイテムを相棒に迎えて、今年の夏はいつも以上にアクティブで豊かな時間を楽しんでみてはいかがだろうか。

 

 

◆スキマ時間に買い物できる『Safari Lounge』公式アプリを今すぐダウンロード『Safari Lounge』からスキマ時間に使えるスマホアプリが登場。これまで以上にサクサク買い物できる便利アプリなので、ダウンロードがまだの方はこの機会にぜひ! 『Safari Lounge』公式アプリの詳細はコチラ 

 

 

 ◆ コチラの記事も見逃せない! 

 

▼ 感覚で探したいなら!

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選

CHECK ⇨ 今着たいのは、これ!“直感キーワード”で見つける、スタメンアイテム"

▼ ショーツ特集!
潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選


CHECK ⇨  タイプ別|バイヤーが推す、大人ショーツ 50選 

▼ 大人気シリーズ!

潮風が似合う〈ザ・ダファー・オブ・セントジョージ〉の夏映えアイテム3選


CHECK ⇨ 【全モデル一覧】〈ダブルピー ウエストポイント〉のイージーパンツシリーズ

/* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } } /* Noto Sans JPの読み込み(太字のみ) */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap'); /* --- 基本設定 --- */ :root { --text-main: #333; --text-sub: #666; --price-alert: #e60012; --bg-gray: #f4f4f4; } body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; margin: 0; padding: 15px; background-color: #fff; color: var(--text-main); } /* --- グリッドレイアウトの定義 --- */ .ranking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 20px; max-width: 800px; margin: 0 auto; } /* --- 商品カードの共通スタイル --- */ .ranking-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; position: relative; height: 100%; } /* --- 1位(rank-1)だけ特別に全幅(2カラム分)を使う --- */ .ranking-item.rank-1 { grid-column: 1 / -1; margin-bottom: 10px; } /* --- 画像エリア --- */ .image-container { position: relative; width: 100%; aspect-ratio: 3 / 4; background-color: var(--bg-gray); overflow: hidden; margin-bottom: 15px; } .image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .ranking-item:hover .image-container img { transform: scale(1.05); } /* --- 順位バッジ --- */ .rank-badge { position: absolute; top: 0; left: 0; width: 30px; height: 30px; background-color: #333; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; z-index: 2; } .rank-badge.gold { background-color: #d4af37; width: 40px; height: 40px; font-size: 18px; } .rank-badge.silver { background-color: #a0a0a0; } .rank-badge.bronze { background-color: #cd7f32; } /* --- ★テキスト・ボタンの絶対整列マジック★ --- */ .item-details { display: flex; flex-direction: column; gap: 6px; /* 各要素の間のスキマ */ } /* 1. ブランド名エリア(ダファー対応で高さを拡張) */ .item-brand { text-align: center; font-size: 10pt; line-height: 1.4; /* ★約4.5行分を確保し、ダファーの折り返しにも耐えるように変更 */ height: 6.2em; display: flex; align-items: center; justify-content: center; overflow: hidden; word-break: break-word; } /* 2. 商品名エリア(高さを固定し、長すぎたら「...」で省略) */ .item-title { text-align: center; font-size: 10pt; line-height: 1.4; color: #000; height: 4.2em; /* 3行分 */ /* 3行を超えたら自動で...にする記述 */ display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* 3. 価格エリア */ .item-price { text-align: center; font-size: 10pt; color: #000; margin-bottom: 5px; } /* 4. ボタンエリア */ .item-button { text-align: center; } /* --- スマホ対応 --- */ @media (max-width: 768px) { .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 10px; } .ranking-item.rank-1 { grid-column: 1 / -1; } /* スマホ画面の時は文字を少し小さくして、行数がさらに増えるのを防ぐ */ .item-brand { font-size: 9pt; } .item-title { font-size: 9pt; } .item-price { font-size: 10pt; } }

 

 

 

INFORMATION

●Safari Lounge
URL:https://safarilounge.jp

編集部おすすめ