{#
This file is part of EC-CUBE
Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
http://www.ec-cube.co.jp/
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
#}
{% block javascript %}
<script>
{% set arrowLeft = asset('assets/icon/slick-arrow-left-white.svg') %}
{% set arrowRight = asset('assets/icon/slick-arrow-right-white.svg') %}
$(function() {
$('.ec-newItemRole__list').slick({
slidesToShow: 4,
dots: false,
arrows: true,
autoplay: false,
speed: 300,
infinite: false,
appendArrows: $('.item-arrows'),
prevArrow: '<button type="button" class="btn"><img src="{{ arrowLeft }}" alt=""></button>',
nextArrow: '<button type="button" class="btn btn-juliet"><img src="{{ arrowRight }}" alt=""></button>',
responsive: [{
breakpoint: 768,
settings: {
slidesToShow: 2
}
}]
});
$('.ec-campaignRole__List').slick({
slidesToShow: 4,
dots: false,
arrows: true,
autoplay: false,
speed: 300,
infinite: false,
appendArrows: $('.campaign-arrows'),
prevArrow: '<button type="button" class="btn"><img src="{{ arrowLeft }}" alt=""></button>',
nextArrow: '<button type="button" class="btn btn-juliet"><img src="{{ arrowRight }}" alt=""></button>',
responsive: [{
breakpoint: 768,
settings: {
slidesToShow: 2
}
}]
});
$('.ec-rankingRole__List').slick({
slidesToShow: 4,
dots: false,
arrows: true,
autoplay: false,
speed: 300,
infinite: false,
appendArrows: $('.ranking-arrows'),
prevArrow: '<button type="button" class="btn"><img src="{{ arrowLeft }}" alt=""></button>',
nextArrow: '<button type="button" class="btn btn-juliet"><img src="{{ arrowRight }}" alt=""></button>',
responsive: [{
breakpoint: 768,
settings: {
slidesToShow: 2
}
}]
});
$(".ec-headerCategoryAreaSp__heading").on("click", function() {
$(this).next().slideToggle();
if($(this).hasClass('active')) {
$(this).find('img').attr('src','{{ asset("assets/icon/side-arrow-right-gray.svg") }}');
$(this).removeClass('active');
} else {
$(this).find('img').attr('src','{{ asset("assets/icon/side-arrow-down-gray.svg") }}');
$(this).addClass('active');
}
});
$(".ec-headerCategoryAreaSp .ec-itemNav__nav a").on("click", function() {
if($(this).hasClass('active')) {
$(this).find('img').attr('src','{{ asset("assets/icon/side-arrow-right-gray.svg") }}');
$(this).removeClass('active');
} else {
$(this).css({
'border':'none'
});
$(this).find('img').attr('src','{{ asset("assets/icon/side-arrow-down-gray.svg") }}');
$(this).addClass('active');
}
});
});
</script>
{% endblock javascript %}
{# 2カラムレイアウト: 抽選バナー画像 + ゲーミングPC見積もりシミュレーター #}
<!-- ▼バナー -->
<div class="ec-role">
<div class="ec-banner ec-banner--two-column">
<!-- 左バナー: 毎月抽選 -->
<div class="ec-banner__item ec-banner__item--lottery">
<a href="https://noiezam.com/nzcustomplugin/supergamingpc" class="lottery-banner-link">
<div class="lottery-banner-stylish">
<!-- 背景装飾 -->
<div class="lottery-banner-bg">
<div class="lottery-circle lottery-circle1"></div>
<div class="lottery-circle lottery-circle2"></div>
<div class="lottery-circle lottery-circle3"></div>
</div>
<!-- 光のライン -->
<div class="lottery-light-lines">
<div class="light-line line1"></div>
<div class="light-line line2"></div>
<div class="light-line line3"></div>
</div>
<!-- コンテンツ -->
<div class="lottery-content">
<div class="lottery-badge">
<span class="badge-icon">🎯</span>
<span class="badge-text">毎月抽選</span>
</div>
<h2 class="lottery-main-title">
赤字覚悟の<br>ゲーミングPC
</h2>
<div class="lottery-tags">
<div class="lottery-tag tag-limited">
<span class="tag-icon">⚡</span>
台数限定
</div>
<div class="lottery-tag tag-entry">
<span class="tag-icon">👉</span>
今すぐエントリー
</div>
</div>
</div>
</div>
</a>
</div>
<!-- 右バナー: 見積もりシミュレーター -->
<div class="ec-banner__item ec-banner__item--simulator">
<a href="https://noiezam.com/estimate/simulator" class="simulator-banner-link">
<div class="simulator-banner-compact">
<div class="simulator-banner-compact__bg">
<div class="circle circle1"></div>
<div class="circle circle2"></div>
</div>
<div class="simulator-banner-compact__content">
<h2 class="simulator-banner-compact__title">ゲーミングPC見積もりシミュレーター</h2>
<p class="simulator-banner-compact__subtitle">パーツを選んで簡単見積</p>
<div class="simulator-banner-compact__icons">
<span class="icon">🎮</span>
<span class="icon">⚡</span>
<span class="icon">💰</span>
<span class="icon">✨</span>
</div>
<div class="simulator-banner-compact__cta">今すぐ始める!</div>
</div>
</div>
</a>
</div>
</div>
</div>
<!-- ▲バナー -->
<style>
/* ========================================
画像の超強力鮮明化設定(800px画像用に最適化)
======================================== */
/* 基本の画像鮮明化 - すべてのコンテンツ画像に適用 */
.ec-contentRole__listItem img {
/* 最高品質のレンダリング */
image-rendering: -webkit-optimize-contrast;
image-rendering: -moz-crisp-edges;
image-rendering: crisp-edges;
image-rendering: high-quality;
/* ブラウザのスムージングを無効化 */
-ms-interpolation-mode: nearest-neighbor;
/* GPU アクセラレーションで鮮明化 */
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
transform: translateZ(0) scale(1.0);
-webkit-transform: translateZ(0) scale(1.0);
transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
/* アンチエイリアシング最適化 */
-webkit-font-smoothing: subpixel-antialiased;
-moz-osx-font-smoothing: grayscale;
/* シャープネス強化フィルター */
filter: contrast(1.08) saturate(1.05) brightness(1.01);
-webkit-filter: contrast(1.08) saturate(1.05) brightness(1.01);
/* 最大幅の確保 */
width: 100%;
height: auto;
display: block;
/* サブピクセルレンダリング */
-webkit-perspective: 1000;
perspective: 1000;
}
/* Slickスライダー専用の超強力鮮明化 */
.ec-rankingRole__List .ec-contentRole__listItem img,
.ec-newItemRole__list .ec-contentRole__listItem img,
.ec-campaignRole__List .ec-contentRole__listItem img {
/* さらに強力なシャープネス */
filter: contrast(1.1) saturate(1.08) brightness(1.02) unsharp-mask(1.5);
-webkit-filter: contrast(1.1) saturate(1.08) brightness(1.02);
/* 縮小時の最高品質アルゴリズム */
image-rendering: -webkit-optimize-contrast;
image-rendering: high-quality;
/* 完全なGPUアクセラレーション */
will-change: transform;
transform: translate3d(0, 0, 0) scale(1.0);
-webkit-transform: translate3d(0, 0, 0) scale(1.0);
}
/* Slickスライド内の画像(アクティブスライド) */
.slick-slide img {
image-rendering: -webkit-optimize-contrast;
image-rendering: crisp-edges;
backface-visibility: hidden;
transform: translateZ(0);
filter: contrast(1.08) saturate(1.05);
}
/* アクティブなスライドの画像をさらに鮮明に */
.slick-active img {
filter: contrast(1.1) saturate(1.08) brightness(1.02);
image-rendering: high-quality;
}
/* Slickクローンの画像も同様に処理 */
.slick-cloned img {
image-rendering: -webkit-optimize-contrast;
backface-visibility: hidden;
transform: translateZ(0);
}
/* リンク要素内の画像(ホバー時も鮮明に) */
.ec-contentRole__listItem a img {
transition: transform 0.3s ease, filter 0.3s ease;
}
.ec-contentRole__listItem a:hover img {
/* ホバー時はさらに鮮明に */
filter: contrast(1.12) saturate(1.1) brightness(1.03);
transform: translateZ(0) scale(1.02);
}
/* 高解像度ディスプレイ用の追加設定 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
.ec-contentRole__listItem img {
/* Retinaディスプレイでさらに鮮明化 */
filter: contrast(1.12) saturate(1.1) brightness(1.02);
image-rendering: -webkit-optimize-contrast;
}
}
/* WebKit/Blink専用の最適化 */
@supports (-webkit-appearance: none) {
.ec-contentRole__listItem img {
-webkit-backface-visibility: hidden;
-webkit-transform: translateZ(0) scale(1.0);
-webkit-font-smoothing: subpixel-antialiased;
}
}
/* Firefox専用の最適化 */
@-moz-document url-prefix() {
.ec-contentRole__listItem img {
image-rendering: -moz-crisp-edges;
image-rendering: crisp-edges;
}
}
/* 画像読み込み完了後の鮮明化 */
.ec-contentRole__listItem img[src] {
opacity: 1;
animation: sharpen 0.3s ease-in;
}
@keyframes sharpen {
0% {
filter: blur(0.5px);
}
100% {
filter: contrast(1.08) saturate(1.05) brightness(1.01);
}
}
/* ========================================
共通レイアウト
======================================== */
.ec-banner--two-column {
display: flex;
gap: 20px;
justify-content: center;
align-items: stretch;
flex-wrap: wrap;
}
.ec-banner__item {
flex: 1;
min-width: 320px;
max-width: 600px;
}
/* ========================================
左バナー: モダンな抽選バナー
======================================== */
.lottery-banner-link {
display: block;
text-decoration: none;
height: 100%;
}
.lottery-banner-stylish {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 50%, #0a0a0a 100%);
border-radius: 15px;
padding: 25px 30px;
height: 256px;
display: flex;
align-items: center;
box-shadow: 0 10px 35px rgba(0,0,0,0.5);
position: relative;
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.lottery-banner-stylish:hover {
transform: translateY(-5px);
box-shadow: 0 15px 45px rgba(255,0,100,0.4);
}
/* 背景装飾 */
.lottery-banner-bg {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 1;
}
.lottery-circle {
position: absolute;
border-radius: 50%;
opacity: 0.15;
}
.lottery-circle1 {
width: 200px;
height: 200px;
background: radial-gradient(circle, rgba(255,0,100,0.2) 0%, transparent 70%);
top: -80px;
right: -50px;
animation: float-lottery 8s ease-in-out infinite;
}
.lottery-circle2 {
width: 150px;
height: 150px;
background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
bottom: -60px;
left: -40px;
animation: float-lottery 10s ease-in-out infinite reverse;
}
.lottery-circle3 {
width: 120px;
height: 120px;
background: radial-gradient(circle, rgba(255,0,100,0.15) 0%, transparent 70%);
top: 50%;
left: 30%;
animation: pulse-lottery 6s ease-in-out infinite;
}
@keyframes float-lottery {
0%, 100% { transform: translate(0, 0) scale(1); }
50% { transform: translate(20px, -20px) scale(1.1); }
}
@keyframes pulse-lottery {
0%, 100% { transform: scale(1); opacity: 0.15; }
50% { transform: scale(1.3); opacity: 0.25; }
}
/* 光のライン */
.lottery-light-lines {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 1;
}
.light-line {
position: absolute;
height: 2px;
background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.6) 50%, transparent 100%);
animation: slide-light 3s ease-in-out infinite;
}
.line1 {
width: 40%;
top: 20%;
left: -40%;
animation-delay: 0s;
}
.line2 {
width: 50%;
top: 50%;
left: -50%;
animation-delay: 1s;
}
.line3 {
width: 35%;
top: 75%;
left: -35%;
animation-delay: 2s;
}
@keyframes slide-light {
0% { left: -50%; opacity: 0; }
50% { opacity: 1; }
100% { left: 100%; opacity: 0; }
}
/* コンテンツ */
.lottery-content {
position: relative;
z-index: 2;
width: 100%;
display: flex;
flex-direction: column;
gap: 12px;
}
/* バッジ */
.lottery-badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(255,255,255,0.1);
color: #fff;
font-size: 1.2em;
font-weight: 900;
padding: 6px 20px;
border-radius: 50px;
box-shadow: 0 0 0 2px rgba(255,0,100,0.5), 0 6px 25px rgba(0,0,0,0.3);
border: 2px solid rgba(255,0,100,0.8);
width: fit-content;
backdrop-filter: blur(10px);
animation: glow-badge 2s ease-in-out infinite;
}
@keyframes glow-badge {
0%, 100% {
box-shadow: 0 0 0 2px rgba(255,0,100,0.5), 0 6px 25px rgba(0,0,0,0.3);
border-color: rgba(255,0,100,0.8);
}
50% {
box-shadow: 0 0 0 2px rgba(255,0,100,0.8), 0 8px 35px rgba(255,0,100,0.4);
border-color: rgba(255,0,100,1);
}
}
.badge-icon {
font-size: 1.1em;
animation: rotate-icon 3s ease-in-out infinite;
}
@keyframes rotate-icon {
0%, 100% { transform: rotate(0deg); }
50% { transform: rotate(15deg); }
}
/* メインタイトル */
.lottery-main-title {
font-size: 2.3em;
font-weight: 900;
color: #fff;
text-shadow:
3px 3px 0 rgba(0,0,0,0.5),
0 0 40px rgba(255,0,100,0.5);
line-height: 1.15;
letter-spacing: 2px;
margin: 0;
}
/* タグエリア */
.lottery-tags {
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.lottery-tag {
display: inline-flex;
align-items: center;
gap: 5px;
font-size: 1em;
font-weight: 900;
padding: 6px 16px;
border-radius: 25px;
border: 2px solid rgba(255,255,255,0.7);
letter-spacing: 0.5px;
}
.tag-limited {
background: rgba(255,255,255,0.08);
color: #fff;
box-shadow: 0 0 0 2px rgba(255,255,255,0.2), 0 5px 20px rgba(0,0,0,0.3);
border: 2px solid rgba(255,255,255,0.3);
backdrop-filter: blur(10px);
animation: pulse-limited 2s ease-in-out infinite;
}
@keyframes pulse-limited {
0%, 100% {
transform: scale(1);
border-color: rgba(255,255,255,0.3);
}
50% {
transform: scale(1.03);
border-color: rgba(255,255,255,0.5);
}
}
.tag-entry {
background: linear-gradient(135deg, #ff0064 0%, #ff0050 100%);
color: #fff;
box-shadow: 0 5px 25px rgba(255,0,100,0.5), inset 0 -2px 0 rgba(0,0,0,0.2);
border: 2px solid rgba(255,255,255,0.3);
animation: shake-entry 3s ease-in-out infinite;
}
@keyframes shake-entry {
0%, 100% {
transform: translateX(0);
box-shadow: 0 5px 25px rgba(255,0,100,0.5), inset 0 -2px 0 rgba(0,0,0,0.2);
}
25% { transform: translateX(-3px); }
50% {
box-shadow: 0 5px 30px rgba(255,0,100,0.7), inset 0 -2px 0 rgba(0,0,0,0.2);
}
75% { transform: translateX(3px); }
}
.tag-icon {
font-size: 1.1em;
}
/* ========================================
右バナー: 見積もりシミュレーター
======================================== */
.simulator-banner-link {
display: block;
text-decoration: none;
height: 100%;
}
.simulator-banner-compact {
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
border-radius: 10px;
padding: 20px 20px;
height: 100%;
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 10px 30px rgba(0,0,0,0.3);
position: relative;
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.simulator-banner-compact:hover {
transform: translateY(-5px);
box-shadow: 0 15px 40px rgba(0,212,255,0.4);
}
/* 背景装飾 */
.simulator-banner-compact__bg {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
overflow: hidden;
z-index: 1;
}
.simulator-banner-compact .circle {
position: absolute;
border-radius: 50%;
opacity: 0.1;
}
.simulator-banner-compact .circle1 {
width: 150px;
height: 150px;
background: #00d4ff;
top: -50px;
right: -50px;
animation: float-compact 6s ease-in-out infinite;
}
.simulator-banner-compact .circle2 {
width: 100px;
height: 100px;
background: #ff00ff;
bottom: -30px;
left: -30px;
animation: float-compact 8s ease-in-out infinite reverse;
}
@keyframes float-compact {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-20px); }
}
/* コンテンツ */
.simulator-banner-compact__content {
position: relative;
z-index: 2;
text-align: center;
width: 100%;
}
.simulator-banner-compact__title {
font-size: 1.6em;
font-weight: bold;
background: linear-gradient(90deg, #00d4ff, #ff00ff, #ffff00);
background-size: 200% 200%;
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
animation: gradient-shift-compact 3s ease infinite;
margin-bottom: 8px;
line-height: 1.3;
}
@keyframes gradient-shift-compact {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.simulator-banner-compact__subtitle {
color: #ffffff;
font-size: 0.95em;
margin-bottom: 15px;
opacity: 0.9;
}
.simulator-banner-compact__icons {
display: flex;
justify-content: center;
gap: 12px;
margin-bottom: 15px;
}
.simulator-banner-compact__icons .icon {
font-size: 1.8em;
animation: bounce-compact 2s ease-in-out infinite;
}
.simulator-banner-compact__icons .icon:nth-child(1) { animation-delay: 0s; }
.simulator-banner-compact__icons .icon:nth-child(2) { animation-delay: 0.2s; }
.simulator-banner-compact__icons .icon:nth-child(3) { animation-delay: 0.4s; }
.simulator-banner-compact__icons .icon:nth-child(4) { animation-delay: 0.6s; }
@keyframes bounce-compact {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-8px); }
}
.simulator-banner-compact__cta {
display: inline-block;
padding: 10px 28px;
background: linear-gradient(135deg, #00d4ff, #ff00ff);
color: white;
font-size: 1em;
font-weight: bold;
border-radius: 25px;
box-shadow: 0 5px 15px rgba(255,0,255,0.4);
animation: glow-compact 2s ease-in-out infinite;
}
@keyframes glow-compact {
0%, 100% { box-shadow: 0 5px 15px rgba(255,0,255,0.4); }
50% { box-shadow: 0 5px 20px rgba(0,212,255,0.6); }
}
/* ========================================
レスポンシブ対応
======================================== */
@media (max-width: 768px) {
.ec-banner--two-column {
flex-direction: column;
align-items: center;
}
.ec-banner__item {
max-width: 100%;
width: 100%;
}
.simulator-banner-compact {
padding: 25px 15px;
min-height: 220px;
}
.simulator-banner-compact__title {
font-size: 1.4em;
}
.simulator-banner-compact__icons .icon {
font-size: 1.5em;
}
}
</style>
<!-- ▲バナー -->
<!-- ▼トピック -->
<div class="ec-role">
<div class="ec-rankingRole ec-contentRole">
<div class="ec-secHeading">
<div>
<span class="ec-secHeading__en">{{ 'GAMING PC'|trans }}</span>
<img src="{{ asset('assets/icon/slash.svg') }}" alt="" class="ec-slash is-pc">
<span class="ec-secHeading__ja">{{ 'おすすめゲーミングPC'|trans }}</span>
</div>
<div class="ranking-arrows content-arrows"></div>
</div>
<div class="ec-rankingRole__List">
<div class="ec-contentRole__listItem">
<a href="{{ url('product_detail', {'id': '523'}) }}">
<img src="{{ asset('/html/user_data/SpecialItem/timesell01.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ '大特価'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥126,000~'|trans }}</p>
</a>
</div>
<div class="ec-contentRole__listItem">
<a href="{{ url('product_detail', {'id': '522'}) }}">
<img src="{{ asset('/html/user_data/SpecialItem/timesell02.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ 'Ryzen7 9800X3D搭載'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥315,000~'|trans }}</p>
</a>
</div>
<div class="ec-contentRole__listItem">
<a href="{{ url('product_detail', {'id': '297'}) }}">
<img src="{{ asset('/html/user_data/SpecialItem/700ryzen.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ 'モンハン推奨PC"G級"'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥222,000~'|trans }}</p>
</a>
</div>
<div class="ec-contentRole__listItem">
<a href="{{ url('product_detail', {'id': '120'}) }}">
<img src="{{ asset('/html/user_data/other/blank.png') }}">
<p class="ec-contentRole__listItemTitle">{{ 'のいえあ侍オリジナルファンWH'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥3,800~'|trans }}</p>
</a>
</div>
</div>
</div>
</div>
<!-- ▲トピック -->
<!-- ▼期間限定商品 -->
<div class="ec-role">
<div class="ec-newItemRole ec-contentRole">
<div class="ec-secHeading">
<div>
<span class="ec-secHeading__en">{{ 'SPECIAL'|trans }}</span>
<img src="{{ asset('assets/icon/slash.svg') }}" alt="" class="ec-slash is-pc">
<div class="ec-secHeading__ja">{{ '期間限定商品'|trans }}</div>
</div>
<div class="item-arrows content-arrows"></div>
</div>
<div class="ec-newItemRole__list ec-contentRole__list">
<div class="ec-contentRole__listItem">
<a href="{{ url('product_list') }}?category_id={{ 25 }}">
<img src="{{ asset('/html/user_data/SpecialItem/sp02.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ 'お買い得品'|trans }}</p>
</a>
</div>
<div class="ec-contentRole__listItem">
<a href="{{ url('product_detail', {'id': '281'}) }}">
<img src="{{ asset('/html/user_data/device/248BLACK.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ 'PX248WAVE[ブラック]'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥25,800'|trans }}</p>
</a>
</div>
<div class="ec-contentRole__listItem">
<a href="{{ url('product_detail', {'id': '279'}) }}">
<img src="{{ asset('/html/user_data/device/248WHITE.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ 'PX248WAVE[ホワイト]'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥25,800'|trans }}</p>
</a>
</div>
<div class="ec-contentRole__listItem">
<a href="{{ url('product_detail', {'id': '129'}) }}">
<img src="{{ asset('/html/user_data/SpecialItem/0926194749_6512b6d55162a.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ 'Thermaltake Core P6 TG [Green]'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥13,000'|trans }}</p>
</a>
</div>
{# <div class="ec-contentRole__listItem">
<a href="{{ url('product_detail', {'id': '121'}) }}">
<img src="{{ asset('/html/user_data/SpecialItem/sp01.jpg', 'save_image') }}">
<p class="ec-contentRole__listItemTitle">{{ '"X"フォロワー1万人突破記念'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ ''|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥110,000~'|trans }}</p>
</a>
</div>
#}
<div class="ec-contentRole__listItem">
<a href="{{ url('product_detail', {'id': '119'}) }}">
<img src="{{ asset('/html/user_data/other/blank.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ '準備中'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ ''|trans }}</p>
</a>
</div>
<div class="ec-contentRole__listItem">
<a href="{{ url('product_detail', {'id': '119'}) }}">
<img src="{{ asset('/html/user_data/other/blank.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ '準備中'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ ''|trans }}</p>
</a>
</div>
</div>
</div>
</div>
<!-- ▲期間限定商品 -->
<!-- ▼コラボPC -->
<div class="ec-role">
<div class="ec-campaignRole ec-contentRole">
<div class="ec-secHeading">
<div>
<span class="ec-secHeading__en">{{ 'COLLABO'|trans }}</span>
<img src="{{ asset('assets/icon/slash.svg') }}" alt="" class="ec-slash is-pc">
<span class="ec-secHeading__ja">{{ 'コラボPC'|trans }}</span>
</div>
<div class="campaign-arrows content-arrows"></div>
</div>
<div class="ec-campaignRole__List">
<div class="ec-contentRole__listItem">
<a href="{{ url('product_list') }}?category_id={{ 45 }}">
<img src="{{ asset('/html/user_data/Category/collabo/suzune.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ 'すず音'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥160,000~'|trans }}</p>
</a>
</div>
<div class="ec-contentRole__listItem">
<a href="{{ url('product_list') }}?category_id={{ 31 }}">
<img src="{{ asset('/html/user_data/Category/collabo/FqnocOEaUAEPiD7 1.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ '眠田イナ'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥160,000~'|trans }}</p>
</a>
</div>
<div class="ec-contentRole__listItem">
<a href="{{ url('product_list') }}?category_id={{ 33 }}">
<img src="{{ asset('/html/user_data/Category/collabo/888.jpg') }}">
<p class="ec-contentRole__listItemTitle">{{ 'ねくすと'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥160,000~'|trans }}</p>
</a>
</div>
{# <div class="ec-contentRole__listItem">
<a href="{{ url('product_list') }}?category_id={{ 32 }}">
<img src="{{ asset('/html/user_data/Category/collabo/logo02.png', 'save_image') }}">
<p class="ec-contentRole__listItemTitle">{{ 'せきめ'|trans }}</p>
<p class="ec-contentRole__listItemPrice">{{ '¥160,000~'|trans }}</p>
</a>
</div>#}
</div>
</div>
</div>
<!-- ▲コラボPC -->
<!-- ▼SPバナー -->
<div class="ec-banner3 is-sp">
<a href="https://www.youtube.com/@noiezam" target="_blank" rel="noopener">
<img src="{{ asset('/html/user_data/TOP/leftside/Left-banner012.png') }}" alt="のいえあ侍 Youtube 動画"></a>
<br><br>
<a tabindex="-1">
<img src="{{ asset('/html/user_data/TOP/leftside/ELSA.jpg') }}" alt="エルザジャパン正規販売代理店"></a>
<br><br>
<a tabindex="-1">
<img src="{{ asset('/html/user_data/TOP/leftside/wtwwtwtw.png') }}" alt="pixio ゲーミングモニター"></a>
<br><br>
<a href="https://twitter.com/gajiro15" target="_blank" rel="noopener">
<img src="{{ asset('/html/user_data/TOP/leftside/gaji.jpg') }}" alt="ガジロー"></a>
</div>
<!-- ▲SPバナー -->
<!-- ▼SPカテゴリー -->
{% set Categories = repository('Eccube\\Entity\\Category').getList() %}
{% macro tree(Category) %}
{% from _self import tree %}
<a href="{{ url('product_list') }}?category_id={{ Category.id }}">
{{ Category.name }}
<img src="{{ asset('assets/icon/side-arrow-right-gray.svg') }}" alt="">
</a>
{% if Category.children|length > 0 %}
<ul>
{% for ChildCategory in Category.children %}
<li>
{{ tree(ChildCategory) }}
</li>
{% endfor %}
</ul>
{% endif %}
{% endmacro %}
{# @see https://github.com/bolt/bolt/pull/2388 #}
{% from _self import tree %}
<div class="ec-headerCategoryAreaSp is-sp">
<div class="ec-headerCategoryAreaSp__heading">
<p>{{ 'カテゴリ一覧'|trans }}</p>
</div>
<div class="ec-itemNav">
<ul class="ec-itemNav__nav">
<li class="ec-sideCategoryList__all">
<a href="{{ url('product_list') }}?category_id=">全ての商品</a>
</li>
{% for Category in Categories %}
<li>
{{ tree(Category) }}
</li>
{% endfor %}
</ul>
</div>
</div>
<!-- ▲SPカテゴリー -->