var/cache/dev/twig/a7/a743a881f344b82a67c463663e966dad.php line 56

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* Product/detail.twig */
  14. class __TwigTemplate_2af1fa1c38faa3caf96a2f4a5495503e extends \Eccube\Twig\Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'stylesheet' => [$this'block_stylesheet'],
  24.             'javascript' => [$this'block_javascript'],
  25.             'breadcrumb' => [$this'block_breadcrumb'],
  26.             'main' => [$this'block_main'],
  27.         ];
  28.         $this->sandbox $this->env->getExtension('\Twig\Extension\SandboxExtension');
  29.         $this->checkSecurity();
  30.     }
  31.     protected function doGetParent(array $context)
  32.     {
  33.         // line 13
  34.         return "default_frame.twig";
  35.     }
  36.     protected function doDisplay(array $context, array $blocks = [])
  37.     {
  38.         $macros $this->macros;
  39.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  40.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  41.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  42.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  43.         // line 14
  44.         $context["body_class"] = "product_page";
  45.         // line 13
  46.         $this->parent $this->loadTemplate("default_frame.twig""Product/detail.twig"13);
  47.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  48.         
  49.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  50.         
  51.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  52.     }
  53.     // line 17
  54.     public function block_stylesheet($context, array $blocks = [])
  55.     {
  56.         $macros $this->macros;
  57.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  58.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  59.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  60.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  61.         // line 18
  62.         echo "    <style>
  63.         .slick-slider {
  64.             margin-bottom: 30px;
  65.         }
  66.         .slick-dots {
  67.             position: absolute;
  68.             bottom: -45px;
  69.             display: block;
  70.             width: 100%;
  71.             padding: 0;
  72.             list-style: none;
  73.             text-align: center;
  74.         }
  75.         .slick-dots li {
  76.             position: relative;
  77.             display: inline-block;
  78.             width: 20px;
  79.             height: 20px;
  80.             margin: 0 5px;
  81.             padding: 0;
  82.             cursor: pointer;
  83.         }
  84.         .slick-dots li button {
  85.             font-size: 0;
  86.             line-height: 0;
  87.             display: block;
  88.             width: 20px;
  89.             height: 20px;
  90.             padding: 5px;
  91.             cursor: pointer;
  92.             color: transparent;
  93.             border: 0;
  94.             outline: none;
  95.             background: transparent;
  96.         }
  97.         .slick-dots li button:hover,
  98.         .slick-dots li button:focus {
  99.             outline: none;
  100.         }
  101.         .slick-dots li button:hover:before,
  102.         .slick-dots li button:focus:before {
  103.             opacity: 1;
  104.         }
  105.         .slick-dots li button:before {
  106.             content: \" \";
  107.             line-height: 20px;
  108.             position: absolute;
  109.             top: 0;
  110.             left: 0;
  111.             width: 12px;
  112.             height: 12px;
  113.             text-align: center;
  114.             opacity: .25;
  115.             background-color: black;
  116.             border-radius: 50%;
  117.         }
  118.         .slick-dots li.slick-active button:before {
  119.             opacity: .75;
  120.             background-color: black;
  121.         }
  122.         .slick-dots li button.thumbnail img {
  123.             width: 0;
  124.             height: 0;
  125.         }
  126.     </style>
  127. ";
  128.         
  129.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  130.         
  131.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  132.     }
  133.     // line 98
  134.     public function block_javascript($context, array $blocks = [])
  135.     {
  136.         $macros $this->macros;
  137.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  138.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  139.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  140.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  141.         // line 99
  142.         echo "    <script>
  143.         eccube.classCategories = ";
  144.         // line 100
  145.         echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($this->sandbox->ensureToStringAllowed((isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'100$this->source); })()), 100$this->source));
  146.         echo ";
  147.         // 規格2に選択肢を割り当てる。
  148.         function fnSetClassCategories(form, classcat_id2_selected) {
  149.             var \$form = \$(form);
  150.             var product_id = \$form.find('input[name=product_id]').val();
  151.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  152.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  153.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  154.         }
  155.         ";
  156.         // line 111
  157.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue111)) {
  158.             // line 112
  159.             echo "        fnSetClassCategories(
  160.             \$('#form1'), ";
  161.             // line 113
  162.             echo json_encode($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'113$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue113), "vars", [], "any"falsefalsetrue113), "value", [], "any"falsefalsetrue113), 113$this->source));
  163.             echo "
  164.         );
  165.         ";
  166.         } elseif (twig_get_attribute($this->env$this->source,         // line 115
  167. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue115)) {
  168.             // line 116
  169.             echo "        eccube.checkStock(\$('#form1'), ";
  170.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'116$this->source); })()), "id", [], "any"falsefalsetrue116), 116$this->source), "html"nulltrue);
  171.             echo ", ";
  172.             echo json_encode($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'116$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue116), "vars", [], "any"falsefalsetrue116), "value", [], "any"falsefalsetrue116), 116$this->source));
  173.             echo ", null);
  174.         ";
  175.         }
  176.         // line 118
  177.         echo "    </script>
  178.     <script>
  179.         \$(function() {
  180.             // bfcache無効化
  181.             \$(window).bind('pageshow', function(event) {
  182.                 if (event.originalEvent.persisted) {
  183.                     location.reload(true);
  184.                 }
  185.             });
  186.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  187.             // img タグに width, height が付与されている.
  188.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  189.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  190.             \$('.ec-grid2__cell').hide();
  191.             var removeSize = function () {
  192.                 \$('.slide-item').height('');
  193.                 \$('.slide-item img')
  194.                     .removeAttr('width')
  195.                     .removeAttr('height')
  196.                     .removeAttr('style');
  197.             };
  198.             var slickInitial = function(slick) {
  199.                 \$('.ec-grid2__cell').fadeIn(1500);
  200.                 var baseHeight = \$(slick.target).height();
  201.                 var baseWidth = \$(slick.target).width();
  202.                 var rate = baseWidth / baseHeight;
  203.                 \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  204.                 // transform を使用することでCLSの影響を受けないようにする
  205.                 \$('.slide-item img')
  206.                     .css(
  207.                         {
  208.                             'transform-origin': 'top left',
  209.                             'transform': 'scaleY(' + rate + ')',
  210.                             'transition': 'transform .1s'
  211.                         }
  212.                     );
  213.                 // 正しいサイズに近くなったら属性を解除する
  214.                 setTimeout(removeSize, 500);
  215.             };
  216.             \$('.item_visual').on('init', slickInitial);
  217.             // リサイズ時は CLS の影響を受けないため属性を解除する
  218.             \$(window).resize(removeSize);
  219.             \$('.item_visual').slick({
  220.                 dots: false,
  221.                 arrows: false,
  222.                 responsive: [{
  223.                     breakpoint: 768,
  224.                     settings: {
  225.                         dots: true
  226.                     }
  227.                 }]
  228.             });
  229.             \$('.slideThumb').on('click', function() {
  230.                 var index = \$(this).attr('data-index');
  231.                 \$('.item_visual').slick('slickGoTo', index, false);
  232.             })
  233.         });
  234.     </script>
  235.     <script>
  236.         \$(function() {
  237.             \$('.add-cart').on('click', function(event) {
  238.                 ";
  239.         // line 182
  240.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue182)) {
  241.             // line 183
  242.             echo "                // 規格1フォームの必須チェック
  243.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  244.                     \$('#classcategory_id1')[0].setCustomValidity('";
  245.             // line 185
  246.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  247.             echo "');
  248.                     return true;
  249.                 } else {
  250.                     \$('#classcategory_id1')[0].setCustomValidity('');
  251.                 }
  252.                 ";
  253.         }
  254.         // line 191
  255.         echo "
  256.                 ";
  257.         // line 192
  258.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue192)) {
  259.             // line 193
  260.             echo "                // 規格2フォームの必須チェック
  261.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  262.                     \$('#classcategory_id2')[0].setCustomValidity('";
  263.             // line 195
  264.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  265.             echo "');
  266.                     return true;
  267.                 } else {
  268.                     \$('#classcategory_id2')[0].setCustomValidity('');
  269.                 }
  270.                 ";
  271.         }
  272.         // line 201
  273.         echo "
  274.                 // 個数フォームのチェック
  275.                 if (\$('#quantity').val() < 1) {
  276.                     \$('#quantity')[0].setCustomValidity('";
  277.         // line 204
  278.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  279.         echo "');
  280.                     return true;
  281.                 } else {
  282.                     \$('#quantity')[0].setCustomValidity('');
  283.                 }
  284.                 event.preventDefault();
  285.                 \$form = \$('#form1');
  286.                 \$.ajax({
  287.                     url: \$form.attr('action'),
  288.                     type: \$form.attr('method'),
  289.                     data: \$form.serialize(),
  290.                     dataType: 'json',
  291.                     beforeSend: function(xhr, settings) {
  292.                         // Buttonを無効にする
  293.                         \$('.add-cart').prop('disabled', true);
  294.                     }
  295.                 }).done(function(data) {
  296.                     // レスポンス内のメッセージをalertで表示
  297.                     \$.each(data.messages, function() {
  298.                         \$('#ec-modal-header').text(this);
  299.                     });
  300.                     \$('.ec-modal').show()
  301.                     // カートブロックを更新する
  302.                     \$.ajax({
  303.                         url: \"";
  304.         // line 231
  305.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  306.         echo "\",
  307.                         type: 'GET',
  308.                         dataType: 'html'
  309.                     }).done(function(html) {
  310.                         \$('.ec-headerRole__cart').html(html);
  311.                     });
  312.                 }).fail(function(data) {
  313.                     alert('";
  314.         // line 238
  315.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  316.         echo "');
  317.                 }).always(function(data) {
  318.                     // Buttonを有効にする
  319.                     \$('.add-cart').prop('disabled', false);
  320.                 });
  321.             });
  322.         });
  323.         \$('.ec-modal-wrap').on('click', function(e) {
  324.             // モーダル内の処理は外側にバブリングさせない
  325.             e.stopPropagation();
  326.         });
  327.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  328.             \$('.ec-modal').hide()
  329.         });
  330.     </script>
  331.     <script type=\"application/ld+json\">
  332.     {
  333.         \"@context\": \"https://schema.org/\",
  334.         \"@type\": \"Product\",
  335.         \"name\": \"";
  336.         // line 258
  337.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'258$this->source); })()), "name", [], "any"falsefalsetrue258), 258$this->source), "html"nulltrue);
  338.         echo "\",
  339.         \"image\": [
  340.             ";
  341.         // line 260
  342.         $context['_parent'] = $context;
  343.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'260$this->source); })()), "ProductImage", [], "any"falsefalsetrue260));
  344.         $context['_iterated'] = false;
  345.         $context['loop'] = [
  346.           'parent' => $context['_parent'],
  347.           'index0' => 0,
  348.           'index'  => 1,
  349.           'first'  => true,
  350.         ];
  351.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  352.             $length count($context['_seq']);
  353.             $context['loop']['revindex0'] = $length 1;
  354.             $context['loop']['revindex'] = $length;
  355.             $context['loop']['length'] = $length;
  356.             $context['loop']['last'] = === $length;
  357.         }
  358.         foreach ($context['_seq'] as $context["_key"] => $context["img"]) {
  359.             // line 261
  360.             echo "                \"";
  361.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'261$this->source); })()), "request", [], "any"falsefalsetrue261), "schemeAndHttpHost", [], "any"falsefalsetrue261), 261$this->source), "html"nulltrue);
  362.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["img"], 261$this->source), "save_image"), "html"nulltrue);
  363.             echo "\"";
  364.             if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsetrue261)) {
  365.                 echo ",";
  366.             }
  367.             // line 262
  368.             echo "
  369.             ";
  370.             $context['_iterated'] = true;
  371.             ++$context['loop']['index0'];
  372.             ++$context['loop']['index'];
  373.             $context['loop']['first'] = false;
  374.             if (isset($context['loop']['length'])) {
  375.                 --$context['loop']['revindex0'];
  376.                 --$context['loop']['revindex'];
  377.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  378.             }
  379.         }
  380.         if (!$context['_iterated']) {
  381.             // line 264
  382.             echo "                \"";
  383.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'264$this->source); })()), "request", [], "any"falsefalsetrue264), "schemeAndHttpHost", [], "any"falsefalsetrue264), 264$this->source), "html"nulltrue);
  384.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html"nulltrue);
  385.             echo "\"
  386.             ";
  387.         }
  388.         $_parent $context['_parent'];
  389.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
  390.         $context array_intersect_key($context$_parent) + $_parent;
  391.         // line 266
  392.         echo "        ],
  393.         \"description\": \"";
  394.         // line 267
  395.         echo twig_escape_filter($this->envtwig_slice($this->envtwig_replace_filter(((twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"truetruetrue267)) ? (_twig_default_filter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"falsefalsetrue267), 267$this->source), $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'267$this->source); })()), "description_detail", [], "any"falsefalsetrue267), 267$this->source))) : (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'267$this->source); })()), "description_detail", [], "any"falsefalsetrue267))), ["
  396. => """ " => ""]), 0300), "html"nulltrue);
  397.         echo "\",
  398.         ";
  399.         // line 268
  400.         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'268$this->source); })()), "code_min", [], "any"falsefalsetrue268)) {
  401.             // line 269
  402.             echo "        \"sku\": \"";
  403.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'269$this->source); })()), "code_min", [], "any"falsefalsetrue269), 269$this->source), "html"nulltrue);
  404.             echo "\",
  405.         ";
  406.         }
  407.         // line 271
  408.         echo "        \"offers\": {
  409.             \"@type\": \"Offer\",
  410.             \"url\": \"";
  411.         // line 273
  412.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'273$this->source); })()), "id", [], "any"falsefalsetrue273)]), "html"nulltrue);
  413.         echo "\",
  414.             \"priceCurrency\": \"";
  415.         // line 274
  416.         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config"$context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.'274$this->source); })()), "currency", [], "any"falsefalsetrue274), 274$this->source), "html"nulltrue);
  417.         echo "\",
  418.             \"price\": ";
  419.         // line 275
  420.         ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'275$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue275)) ? (print (twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'275$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue275), "html"nulltrue))) : (print (0)));
  421.         echo ",
  422.             \"availability\": \"";
  423.         // line 276
  424.         echo ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'276$this->source); })()), "stock_find", [], "any"falsefalsetrue276)) ? ("InStock") : ("OutOfStock"));
  425.         echo "\"
  426.         }
  427.     }
  428.     </script>
  429.     <script>
  430.         \$(function() {
  431.         \$('.input-group').on('click', '.btn', function() {
  432.             var \$input = \$(this).closest('.input-group').find('input');
  433.             var value = parseInt(\$input.val());
  434.             if (\$(this).hasClass('btn-plus')) {
  435.             value = value + 1;
  436.             } else {
  437.             if (value > 1) {
  438.                 value = value - 1;
  439.             }
  440.             }
  441.             \$input.val(value);
  442.         });
  443.         });
  444.     </script>
  445. ";
  446.         
  447.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  448.         
  449.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  450.     }
  451.     // line 302
  452.     public function block_breadcrumb($context, array $blocks = [])
  453.     {
  454.         $macros $this->macros;
  455.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  456.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""breadcrumb"));
  457.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  458.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""breadcrumb"));
  459.         // line 303
  460.         echo "
  461. ";
  462.         // line 305
  463.         echo "<div class=\"breadcrumb-root\">
  464.     ";
  465.         // line 306
  466.         if ( !twig_test_empty(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'306$this->source); })()), "ProductCategories", [], "any"falsefalsetrue306))) {
  467.             // line 307
  468.             echo "    <div class=\"breadcrumb-wrapper container\">
  469.         <ul>
  470.             ";
  471.             // line 309
  472.             $context["product_categories_length"] = twig_length_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'309$this->source); })()), "ProductCategories", [], "any"falsefalsetrue309), 309$this->source));
  473.             // line 310
  474.             echo "            ";
  475.             $context['_parent'] = $context;
  476.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'310$this->source); })()), "ProductCategories", [], "any"falsefalsetrue310));
  477.             $context['loop'] = [
  478.               'parent' => $context['_parent'],
  479.               'index0' => 0,
  480.               'index'  => 1,
  481.               'first'  => true,
  482.             ];
  483.             if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  484.                 $length count($context['_seq']);
  485.                 $context['loop']['revindex0'] = $length 1;
  486.                 $context['loop']['revindex'] = $length;
  487.                 $context['loop']['length'] = $length;
  488.                 $context['loop']['last'] = === $length;
  489.             }
  490.             foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
  491.                 // line 311
  492.                 echo "                ";
  493.                 if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsetrue311) == (isset($context["product_categories_length"]) || array_key_exists("product_categories_length"$context) ? $context["product_categories_length"] : (function () { throw new RuntimeError('Variable "product_categories_length" does not exist.'311$this->source); })()))) {
  494.                     // line 312
  495.                     echo "                    <li>
  496.                         <a href=\"";
  497.                     // line 313
  498.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  499.                     echo "\">
  500.                             トップ
  501.                         </a>
  502.                         <svg width=\"5\" height=\"8\" viewBox=\"0 0 5 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">
  503.                             <path d=\"M0.90918 1L3.63645 4L0.90918 7\" stroke=\"#1A1A1A\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>
  504.                         </svg>
  505.                         ";
  506.                     // line 319
  507.                     $context['_parent'] = $context;
  508.                     $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["ProductCategory"], "Category", [], "any"falsefalsetrue319), "path", [], "any"falsefalsetrue319));
  509.                     $context['loop'] = [
  510.                       'parent' => $context['_parent'],
  511.                       'index0' => 0,
  512.                       'index'  => 1,
  513.                       'first'  => true,
  514.                     ];
  515.                     if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  516.                         $length count($context['_seq']);
  517.                         $context['loop']['revindex0'] = $length 1;
  518.                         $context['loop']['revindex'] = $length;
  519.                         $context['loop']['length'] = $length;
  520.                         $context['loop']['last'] = === $length;
  521.                     }
  522.                     foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  523.                         // line 320
  524.                         echo "                            <a href=\"";
  525.                         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  526.                         echo "?category_id=";
  527.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsetrue320), 320$this->source), "html"nulltrue);
  528.                         echo "\">";
  529.                         echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Category"], "name", [], "any"falsefalsetrue320), 320$this->source), "html"nulltrue);
  530.                         echo "</a>";
  531.                         if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsetrue320) == false)) {
  532.                             // line 321
  533.                             echo "                            <svg width=\"5\" height=\"8\" viewBox=\"0 0 5 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">
  534.                                 <path d=\"M0.90918 1L3.63645 4L0.90918 7\" stroke=\"#1A1A1A\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>
  535.                             </svg>
  536.                             ";
  537.                         }
  538.                         ++$context['loop']['index0'];
  539.                         ++$context['loop']['index'];
  540.                         $context['loop']['first'] = false;
  541.                         if (isset($context['loop']['length'])) {
  542.                             --$context['loop']['revindex0'];
  543.                             --$context['loop']['revindex'];
  544.                             $context['loop']['last'] = === $context['loop']['revindex0'];
  545.                         }
  546.                     }
  547.                     $_parent $context['_parent'];
  548.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  549.                     $context array_intersect_key($context$_parent) + $_parent;
  550.                     // line 326
  551.                     echo "                        <svg width=\"5\" height=\"8\" viewBox=\"0 0 5 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">
  552.                             <path d=\"M0.90918 1L3.63645 4L0.90918 7\" stroke=\"#1A1A1A\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>
  553.                         </svg>
  554.                             
  555.                         <span>";
  556.                     // line 330
  557.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'330$this->source); })()), "code_max", [], "any"falsefalsetrue330), 330$this->source), "html"nulltrue);
  558.                     echo "</span>
  559.                     </li>
  560.                     ";
  561.                 }
  562.                 // line 333
  563.                 echo "                ";
  564.                 ++$context['loop']['index0'];
  565.                 ++$context['loop']['index'];
  566.                 $context['loop']['first'] = false;
  567.                 if (isset($context['loop']['length'])) {
  568.                     --$context['loop']['revindex0'];
  569.                     --$context['loop']['revindex'];
  570.                     $context['loop']['last'] = === $context['loop']['revindex0'];
  571.                 }
  572.             }
  573.             $_parent $context['_parent'];
  574.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
  575.             $context array_intersect_key($context$_parent) + $_parent;
  576.             // line 334
  577.             echo "                </ul>
  578.             </div>
  579.         ";
  580.         }
  581.         // line 337
  582.         echo "    </div>
  583. ";
  584.         
  585.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  586.         
  587.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  588.     }
  589.     // line 341
  590.     public function block_main($context, array $blocks = [])
  591.     {
  592.         $macros $this->macros;
  593.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  594.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  595.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  596.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  597.         // line 342
  598.         echo "    <div class=\"ec-productRole\">
  599.         <div class=\"ec-grid2\">
  600.             <div class=\"ec-grid2__cell product-detail-page-left mb-10 mb-md-0\">
  601.                 <div class=\"ec-sliderItemRole\">
  602.                     <div class=\"item_visual\">
  603.                         ";
  604.         // line 347
  605.         $context['_parent'] = $context;
  606.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'347$this->source); })()), "ProductImage", [], "any"falsefalsetrue347));
  607.         $context['_iterated'] = false;
  608.         $context['loop'] = [
  609.           'parent' => $context['_parent'],
  610.           'index0' => 0,
  611.           'index'  => 1,
  612.           'first'  => true,
  613.         ];
  614.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  615.             $length count($context['_seq']);
  616.             $context['loop']['revindex0'] = $length 1;
  617.             $context['loop']['revindex'] = $length;
  618.             $context['loop']['length'] = $length;
  619.             $context['loop']['last'] = === $length;
  620.         }
  621.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  622.             // line 348
  623.             echo "                            <div class=\"slide-item\"><img src=\"";
  624.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 348$this->source), "save_image"), "html"nulltrue);
  625.             echo "\" alt=\"";
  626.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsetrue348)) ? (print (twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'348$this->source); })()), "name", [], "any"falsefalsetrue348), "html"nulltrue))) : (print ("")));
  627.             echo "\" width=\"550\" height=\"550\"";
  628.             if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsetrue348) > 1)) {
  629.                 echo " loading=\"lazy\"";
  630.             }
  631.             echo "></div>
  632.                         ";
  633.             $context['_iterated'] = true;
  634.             ++$context['loop']['index0'];
  635.             ++$context['loop']['index'];
  636.             $context['loop']['first'] = false;
  637.             if (isset($context['loop']['length'])) {
  638.                 --$context['loop']['revindex0'];
  639.                 --$context['loop']['revindex'];
  640.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  641.             }
  642.         }
  643.         if (!$context['_iterated']) {
  644.             // line 350
  645.             echo "                            <div class=\"slide-item\"><img src=\"";
  646.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html"nulltrue);
  647.             echo "\" alt=\"";
  648.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsetrue350)) ? (print (twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'350$this->source); })()), "name", [], "any"falsefalsetrue350), "html"nulltrue))) : (print ("")));
  649.             echo "\" width=\"550\" height=\"550\"></div>
  650.                         ";
  651.         }
  652.         $_parent $context['_parent'];
  653.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  654.         $context array_intersect_key($context$_parent) + $_parent;
  655.         // line 352
  656.         echo "                    </div>
  657.                     <div class=\"item_nav\">
  658.                         ";
  659.         // line 354
  660.         $context['_parent'] = $context;
  661.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'354$this->source); })()), "ProductImage", [], "any"falsefalsetrue354));
  662.         $context['loop'] = [
  663.           'parent' => $context['_parent'],
  664.           'index0' => 0,
  665.           'index'  => 1,
  666.           'first'  => true,
  667.         ];
  668.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  669.             $length count($context['_seq']);
  670.             $context['loop']['revindex0'] = $length 1;
  671.             $context['loop']['revindex'] = $length;
  672.             $context['loop']['length'] = $length;
  673.             $context['loop']['last'] = === $length;
  674.         }
  675.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  676.             // line 355
  677.             echo "                            <div class=\"slideThumb\" data-index=\"";
  678.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsetrue355), 355$this->source), "html"nulltrue);
  679.             echo "\"><img src=\"";
  680.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 355$this->source), "save_image"), "html"nulltrue);
  681.             echo "\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
  682.                         ";
  683.             ++$context['loop']['index0'];
  684.             ++$context['loop']['index'];
  685.             $context['loop']['first'] = false;
  686.             if (isset($context['loop']['length'])) {
  687.                 --$context['loop']['revindex0'];
  688.                 --$context['loop']['revindex'];
  689.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  690.             }
  691.         }
  692.         $_parent $context['_parent'];
  693.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  694.         $context array_intersect_key($context$_parent) + $_parent;
  695.         // line 357
  696.         echo "                    </div>
  697.                 </div>
  698.             </div>
  699.             <div class=\"product-detail-page-right\">
  700.                 <div class=\"ec-productRole__profile\">
  701.                     ";
  702.         // line 363
  703.         echo "                    ";
  704.         if ((isset($context["company_name"]) || array_key_exists("company_name"$context) ? $context["company_name"] : (function () { throw new RuntimeError('Variable "company_name" does not exist.'363$this->source); })())) {
  705.             // line 364
  706.             echo "                    <div class=\"px-5 px-md-0\">
  707.                         <p class=\"product-detail-page-company-name\">
  708.                             ";
  709.             // line 366
  710.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["company_name"]) || array_key_exists("company_name"$context) ? $context["company_name"] : (function () { throw new RuntimeError('Variable "company_name" does not exist.'366$this->source); })()), 366$this->source), "html"nulltrue);
  711.             echo "
  712.                         </p>
  713.                     </div>
  714.                     ";
  715.         }
  716.         // line 370
  717.         echo "
  718.                     ";
  719.         // line 371
  720.         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'371$this->source); })()), "description_list", [], "any"falsefalsetrue371)) {
  721.             // line 372
  722.             echo "                    <div class=\"px-5 px-md-0\">
  723.                         <p class=\"product-detail-page-description-list\">
  724.                             ";
  725.             // line 374
  726.             echo twig_escape_filter($this->envtwig_striptags($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'374$this->source); })()), "description_list", [], "any"falsefalsetrue374), 374$this->source)), "html"nulltrue);
  727.             echo "
  728.                         </p>                    
  729.                     </div>
  730.                     ";
  731.         }
  732.         // line 378
  733.         echo "
  734.                     ";
  735.         // line 380
  736.         echo "                    <div class=\"px-5 px-md-0\">
  737.                     ";
  738.         // line 381
  739.         if ((isset($context["formated_product_name"]) || array_key_exists("formated_product_name"$context) ? $context["formated_product_name"] : (function () { throw new RuntimeError('Variable "formated_product_name" does not exist.'381$this->source); })())) {
  740.             // line 382
  741.             echo "                        <h2 class=\"product-detail-page-product-name\">
  742.                             ";
  743.             // line 383
  744.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["formated_product_name"]) || array_key_exists("formated_product_name"$context) ? $context["formated_product_name"] : (function () { throw new RuntimeError('Variable "formated_product_name" does not exist.'383$this->source); })()), 383$this->source), "html"nulltrue);
  745.             echo "
  746.                         </h2>
  747.                     ";
  748.         } else {
  749.             // line 387
  750.             echo "                        <h2 class=\"product-detail-page-product-name\">";
  751.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'387$this->source); })()), "name", [], "any"falsefalsetrue387), 387$this->source), "html"nulltrue);
  752.             echo "</h2>
  753.                     ";
  754.         }
  755.         // line 389
  756.         echo "                    </div>
  757.                     ";
  758.         // line 392
  759.         echo "\t\t\t\t\t<div class=\"px-5 px-md-0\">
  760. \t\t\t\t\t\t<div class=\"product-detail-page-badge-container\">
  761. \t\t\t\t\t\t\t";
  762.         // line 395
  763.         echo "\t\t\t\t\t\t\t";
  764.         if ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'395$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue395) > twig_get_attribute($this->env$this->source, (isset($context["BaseInfo"]) || array_key_exists("BaseInfo"$context) ? $context["BaseInfo"] : (function () { throw new RuntimeError('Variable "BaseInfo" does not exist.'395$this->source); })()), "delivery_free_amount", [], "any"falsefalsetrue395))) {
  765.             // line 396
  766.             echo "\t\t\t\t\t\t\t\t<spam class=\"product-detail-page-badge bg-primary-blue\">送料無料</spam>
  767. \t\t\t\t\t\t\t";
  768.         }
  769.         // line 398
  770.         echo "\t\t\t\t\t\t</div>
  771. \t\t\t\t\t</div>
  772.                     ";
  773.         // line 402
  774.         echo "                    <div class=\"px-5 px-md-0\">
  775.                         <p class=\"product-detail-page-price-label\">販売価格 (税込)</p>
  776.                         <div class=\"product-detail-page-price\">
  777.                             <p class=\"product-detail-page-price__number\">
  778.                                 ";
  779.         // line 407
  780.         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'407$this->source); })()), "hasProductClass", [], "any"falsefalsetrue407)) {
  781.             // line 408
  782.             if ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'408$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue408) == twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'408$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsetrue408))) {
  783.                 // line 409
  784.                 echo "                                        ";
  785.                 echo twig_escape_filter($this->envtwig_number_format_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'409$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue409), 409$this->source)), "html"nulltrue);
  786.                 echo "
  787.                                     ";
  788.             } else {
  789.                 // line 411
  790.                 echo "                                        ";
  791.                 echo twig_escape_filter($this->envtwig_number_format_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'411$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue411), 411$this->source)), "html"nulltrue);
  792.                 echo " ~ ";
  793.                 echo twig_escape_filter($this->envtwig_number_format_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'411$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsetrue411), 411$this->source)), "html"nulltrue);
  794.                 echo "
  795.                                     ";
  796.             }
  797.             // line 413
  798.             echo "                                ";
  799.         } else {
  800.             // line 414
  801.             echo "                                    ";
  802.             echo twig_escape_filter($this->envtwig_number_format_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'414$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue414), 414$this->source)), "html"nulltrue);
  803.             echo "
  804.                                 ";
  805.         }
  806.         // line 416
  807.         echo "                            </p>
  808.                             <p class=\"product-detail-page-price__yen\">
  809.                                 円
  810.                             </p>
  811.                             ";
  812.         // line 421
  813.         echo "                            ";
  814.         if ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'421$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue421) > twig_get_attribute($this->env$this->source, (isset($context["BaseInfo"]) || array_key_exists("BaseInfo"$context) ? $context["BaseInfo"] : (function () { throw new RuntimeError('Variable "BaseInfo" does not exist.'421$this->source); })()), "delivery_free_amount", [], "any"falsefalsetrue421))) {
  815.             // line 422
  816.             echo "                            ";
  817.             // line 425
  818.             echo "                            ";
  819.         }
  820.         // line 426
  821.         echo "                        </div>
  822.                     </div>
  823.                     ";
  824.         // line 429
  825.         echo "
  826.                     <div>
  827.                         ";
  828.         // line 432
  829.         echo "                        ";
  830.         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'432$this->source); })()), "stock_min", [], "any"falsefalsetrue432)) {
  831.             echo 
  832.                         <div class=\"product-detail-page-bos\">
  833.                             <span class=\"product-detail-page-bos__label\">
  834.                                 在庫数
  835.                             </span>
  836.                             <span class=\"product-detail-page-bos__stock\">
  837.                                 残り";
  838.             // line 438
  839.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'438$this->source); })()), "stock_min", [], "any"falsefalsetrue438), 438$this->source));
  840.             echo "
  841.                             </span>
  842.                         </div>
  843.                         ";
  844.         }
  845.         // line 442
  846.         echo "                        <form action=\"";
  847.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_add_cart", ["id" => twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'442$this->source); })()), "id", [], "any"falsefalsetrue442)]), "html"nulltrue);
  848.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  849.                                 ";
  850.         // line 443
  851.         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'443$this->source); })()), "stock_find", [], "any"falsefalsetrue443)) {
  852.             // line 444
  853.             echo "                                    ";
  854.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue444)) {
  855.                 // line 445
  856.                 echo "                                    <div class=\"product-detail-page-bos\">
  857.                                         <div class=\"d-flex align-items-center\">
  858.                                             <div class=\"product-detail-page-bos__label\">
  859.                                                 ";
  860.                 // line 448
  861.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'448$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue448), 448$this->source), 'label');
  862.                 echo "
  863.                                             </div>
  864.                                         </div>
  865.                                         <div>
  866.                                             <div>
  867.                                                 <div class=\"input-group\">
  868.                                                     ";
  869.                 // line 454
  870.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'454$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue454), 454$this->source), 'widget');
  871.                 echo "
  872.                                                     ";
  873.                 // line 455
  874.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'455$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue455), 455$this->source), 'errors');
  875.                 echo "
  876.                                                 </div>
  877.                                             </div>
  878.                                         </div>
  879.                                     </div>
  880.                                     ";
  881.             }
  882.             // line 461
  883.             echo "                                    ";
  884.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue461)) {
  885.                 // line 462
  886.                 echo "                                    <div class=\"product-detail-page-bos\">
  887.                                         <div class=\"d-flex align-items-center\">
  888.                                             <div class=\"product-detail-page-bos__label\">
  889.                                                 ";
  890.                 // line 465
  891.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'465$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue465), 465$this->source), 'label');
  892.                 echo "
  893.                                             </div>
  894.                                         </div>
  895.                                         <div>
  896.                                             <div>
  897.                                                 <div class=\"input-group\">
  898.                                                     ";
  899.                 // line 471
  900.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'471$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue471), 471$this->source), 'widget');
  901.                 echo "
  902.                                                     ";
  903.                 // line 472
  904.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'472$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue472), 472$this->source), 'errors');
  905.                 echo "
  906.                                                 </div>
  907.                                             </div>
  908.                                         </div>
  909.                                     </div>
  910.                                     ";
  911.             }
  912.             // line 478
  913.             echo "                                    
  914. \t\t\t\t\t\t\t\t";
  915.             // line 480
  916.             echo "\t\t\t\t\t\t\t\t";
  917.             if (((isset($context["deliveryDuration_id"]) || array_key_exists("deliveryDuration_id"$context) ? $context["deliveryDuration_id"] : (function () { throw new RuntimeError('Variable "deliveryDuration_id" does not exist.'480$this->source); })()) && (isset($context["deliveryDuration_name"]) || array_key_exists("deliveryDuration_name"$context) ? $context["deliveryDuration_name"] : (function () { throw new RuntimeError('Variable "deliveryDuration_name" does not exist.'480$this->source); })()))) {
  918.                 // line 481
  919.                 echo "\t\t\t\t\t\t\t\t<div class=\"product-detail-page-bos\">
  920. \t\t\t\t\t\t\t\t\t<div class=\"product-detail-page-bos__label\" style=\"white-space: nowrap\">
  921.                                         発送日目安
  922. \t\t\t\t\t\t\t\t\t</div>
  923.                                     <div>
  924.                                         <div>
  925. \t\t\t\t\t\t\t\t\t\t\t<span>";
  926.                 // line 487
  927.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["deliveryDuration_name"]) || array_key_exists("deliveryDuration_name"$context) ? $context["deliveryDuration_name"] : (function () { throw new RuntimeError('Variable "deliveryDuration_name" does not exist.'487$this->source); })()), 487$this->source), "html"nulltrue);
  928.                 echo "</span>
  929.                                         </div>
  930.                                     </div>
  931. \t\t\t\t\t\t\t\t</div>
  932. \t\t\t\t\t\t\t\t";
  933.             }
  934.             // line 492
  935.             echo "                                    <div class=\"product-detail-page-bos\">
  936.                                         <div class=\"product-detail-page-bos__label\">
  937.                                             数量
  938.                                         </div>
  939.                                         <div>
  940.                                             <div>
  941.                                                 <div class=\"input-group\">
  942.                                                     <span class=\"input-group-btn\">
  943.                                                         <button class=\"btn btn-default btn-minus\" type=\"button\">-</button>
  944.                                                     </span>
  945.                                                     ";
  946.             // line 502
  947.             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'502$this->source); })()), "quantity", [], "any"falsefalsetrue502), 502$this->source), 'widget', ["attr" => ["class" => "input-quantity""min" => "1"]]);
  948.             echo "
  949.                                                     ";
  950.             // line 503
  951.             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'503$this->source); })()), "quantity", [], "any"falsefalsetrue503), 503$this->source), 'errors');
  952.             echo "
  953.                                                     <span class=\"input-group-btn\">
  954.                                                         <button class=\"btn btn-default btn-plus\" type=\"button\">+</button>
  955.                                                     </span>
  956.                                                 </div>
  957.                                             </div>
  958.                                         </div>
  959.                                     </div>
  960.                                 ";
  961.         }
  962.         // line 512
  963.         echo "                                
  964.                             ";
  965.         // line 514
  966.         echo "
  967.                             <div class=\"mt-md-8\">
  968.                                 ";
  969.         // line 516
  970.         if (twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'516$this->source); })()), "stock_find", [], "any"falsefalsetrue516)) {
  971.             // line 517
  972.             echo "                                    <button type=\"submit\" class=\"button w-100\">
  973.                                         ";
  974.             // line 518
  975.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  976.             echo "
  977.                                     </button>
  978.                                     ";
  979.         } else {
  980.             // line 521
  981.             echo "                                    <button type=\"button\" class=\"button w-100\" disabled=\"disabled\">
  982.                                         ";
  983.             // line 522
  984.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  985.             echo "
  986.                                     </button>
  987.                                 ";
  988.         }
  989.         // line 525
  990.         echo "                            </div>
  991.                             ";
  992.         // line 526
  993.         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock($this->sandbox->ensureToStringAllowed((isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'526$this->source); })()), 526$this->source), 'rest');
  994.         echo "
  995.                         </form>
  996.                         ";
  997.         // line 530
  998.         echo "                        <div class=\"mt-7 mt-md-6\">
  999.                             ";
  1000.         // line 531
  1001.         echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$context"Block/button-favorite.twig");
  1002.         echo "
  1003.                         </div>
  1004.                     </div>
  1005.                     
  1006.                     <div class=\"ec-modal\">
  1007.                         <div class=\"ec-modal-overlay\">
  1008.                             <div class=\"ec-modal-wrap\">
  1009.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  1010.         // line 538
  1011.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  1012.         echo "\" alt=\"\"/></span></span>
  1013.                                 <div id=\"ec-modal-header\" class=\"text-center\">";
  1014.         // line 539
  1015.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  1016.         echo "</div>
  1017.                                 <div class=\"ec-modal-box\">
  1018.                                     <div class=\"ec-role\">
  1019.                                         <span class=\"ec-inlineBtn--cancel\">";
  1020.         // line 542
  1021.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  1022.         echo "</span>
  1023.                                         <a href=\"";
  1024.         // line 543
  1025.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  1026.         echo "\" class=\"ec-inlineBtn--action\">";
  1027.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  1028.         echo "</a>
  1029.                                     </div>
  1030.                                 </div>
  1031.                             </div>
  1032.                         </div>
  1033.                     </div>
  1034.                 </div>
  1035.             </div>
  1036.         </div>
  1037.     </div> ";
  1038.         // line 553
  1039.         echo "    
  1040.     ";
  1041.         // line 555
  1042.         echo "    ";
  1043.         if ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'555$this->source); })()), "freearea", [], "any"falsefalsetrue555) || twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'555$this->source); })()), "description_detail", [], "any"falsefalsetrue555))) {
  1044.             // line 556
  1045.             echo "        <div class=\"mt-12\">
  1046.             <h3 class=\"product-detail-page-description-heading\">商品説明</h3>
  1047.             <div>
  1048.                 <div class=\"product-detail-page-description-container\">";
  1049.             // line 559
  1050.             echo $this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'559$this->source); })()), "description_detail", [], "any"falsefalsetrue559), 559$this->source);
  1051.             echo "
  1052.                 </div>
  1053.                 <div class=\"product-detail-page-description-container\">
  1054.                     ";
  1055.             // line 562
  1056.             echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$contexttwig_template_from_string($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'562$this->source); })()), "freearea", [], "any"falsefalsetrue562), 562$this->source)));
  1057.             echo "
  1058.                 </div>
  1059.             </div>
  1060.         </div>
  1061.     ";
  1062.         }
  1063.         // line 567
  1064.         echo "
  1065.     <div>
  1066.         ";
  1067.         // line 569
  1068.         if ( !twig_test_empty(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'569$this->source); })()), "code_min", [], "any"falsefalsetrue569))) {
  1069.             // line 570
  1070.             echo "            <div class=\"product-detail-page-product-code\">
  1071.                 ";
  1072.             // line 571
  1073.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品番号"), "html"nulltrue);
  1074.             echo ": <span class=\"product-code-default\">";
  1075.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'571$this->source); })()), "code_min", [], "any"falsefalsetrue571), 571$this->source), "html"nulltrue);
  1076.             if ((twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'571$this->source); })()), "code_min", [], "any"falsefalsetrue571) != twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'571$this->source); })()), "code_max", [], "any"falsefalsetrue571))) {
  1077.                 echo " ~ ";
  1078.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'571$this->source); })()), "code_max", [], "any"falsefalsetrue571), 571$this->source), "html"nulltrue);
  1079.             }
  1080.             echo "</span>
  1081.             </div>
  1082.         ";
  1083.         }
  1084.         // line 574
  1085.         echo "    </div>
  1086.     <div class=\"d-none d-md-block mt-15\">
  1087.         ";
  1088.         // line 577
  1089.         echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$context"Block/large-banners.twig");
  1090.         echo "
  1091.     </div>
  1092.     <div class=\"mt-15\">
  1093.         ";
  1094.         // line 581
  1095.         echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$context"Block/recommend_list.twig", ["label" => "おすすめ当店在庫品""category_id" => 32]);
  1096.         echo "
  1097.     </div>
  1098.     <div class=\"d-none d-md-block mt-15\">
  1099.         ";
  1100.         // line 585
  1101.         echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$context"Block/recommend_list.twig", ["label" => "ブレーカおすすめ商品""category_id" => 14]);
  1102.         echo "
  1103.     </div>
  1104.     <div class=\"d-none d-md-block mt-20\">
  1105.         ";
  1106.         // line 589
  1107.         echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$context"Block/category_list.twig", ["label" => "カテゴリーから探す""href_label" => "すべてのカテゴリーを見る"]);
  1108.         echo "
  1109.     </div>
  1110.     <div class=\"d-none d-md-block mt-15\">
  1111.         ";
  1112.         // line 593
  1113.         echo $this->extensions['Eccube\Twig\Extension\IgnoreTwigSandboxErrorExtension']->twig_include($this->env$context"Block/makers.twig", array(), truetrue);
  1114.         echo "
  1115.     </div>
  1116. ";
  1117.         
  1118.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1119.         
  1120.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1121.     }
  1122.     public function getTemplateName()
  1123.     {
  1124.         return "Product/detail.twig";
  1125.     }
  1126.     public function isTraitable()
  1127.     {
  1128.         return false;
  1129.     }
  1130.     public function getDebugInfo()
  1131.     {
  1132.         return array (  1177 => 593,  1170 => 589,  1163 => 585,  1156 => 581,  1149 => 577,  1144 => 574,  1132 => 571,  1129 => 570,  1127 => 569,  1123 => 567,  1115 => 562,  1109 => 559,  1104 => 556,  1101 => 555,  1098 => 553,  1084 => 543,  1080 => 542,  1074 => 539,  1070 => 538,  1060 => 531,  1057 => 530,  1051 => 526,  1048 => 525,  1042 => 522,  1039 => 521,  1033 => 518,  1030 => 517,  1028 => 516,  1024 => 514,  1021 => 512,  1009 => 503,  1005 => 502,  993 => 492,  985 => 487,  977 => 481,  974 => 480,  971 => 478,  962 => 472,  958 => 471,  949 => 465,  944 => 462,  941 => 461,  932 => 455,  928 => 454,  919 => 448,  914 => 445,  911 => 444,  909 => 443,  904 => 442,  897 => 438,  887 => 432,  883 => 429,  879 => 426,  876 => 425,  874 => 422,  871 => 421,  865 => 416,  859 => 414,  856 => 413,  848 => 411,  842 => 409,  840 => 408,  838 => 407,  831 => 402,  826 => 398,  822 => 396,  819 => 395,  815 => 392,  811 => 389,  805 => 387,  798 => 383,  795 => 382,  793 => 381,  790 => 380,  787 => 378,  780 => 374,  776 => 372,  774 => 371,  771 => 370,  764 => 366,  760 => 364,  757 => 363,  750 => 357,  731 => 355,  714 => 354,  710 => 352,  699 => 350,  677 => 348,  659 => 347,  652 => 342,  642 => 341,  631 => 337,  626 => 334,  612 => 333,  606 => 330,  600 => 326,  582 => 321,  573 => 320,  556 => 319,  547 => 313,  544 => 312,  541 => 311,  523 => 310,  521 => 309,  517 => 307,  515 => 306,  512 => 305,  509 => 303,  499 => 302,  464 => 276,  460 => 275,  456 => 274,  452 => 273,  448 => 271,  442 => 269,  440 => 268,  435 => 267,  432 => 266,  422 => 264,  408 => 262,  400 => 261,  382 => 260,  377 => 258,  354 => 238,  344 => 231,  314 => 204,  309 => 201,  300 => 195,  296 => 193,  294 => 192,  291 => 191,  282 => 185,  278 => 183,  276 => 182,  210 => 118,  202 => 116,  200 => 115,  195 => 113,  192 => 112,  190 => 111,  176 => 100,  173 => 99,  163 => 98,  76 => 18,  66 => 17,  55 => 13,  53 => 14,  40 => 13,);
  1133.     }
  1134.     public function getSourceContext()
  1135.     {
  1136.         return new Source("{#
  1137. This file is part of EC-CUBE
  1138. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  1139. http://www.ec-cube.co.jp/
  1140. For the full copyright and license information, please view the LICENSE
  1141. file that was distributed with this source code.
  1142. #}
  1143. {% extends 'default_frame.twig' %}
  1144. {% set body_class = 'product_page' %}
  1145. {% block stylesheet %}
  1146.     <style>
  1147.         .slick-slider {
  1148.             margin-bottom: 30px;
  1149.         }
  1150.         .slick-dots {
  1151.             position: absolute;
  1152.             bottom: -45px;
  1153.             display: block;
  1154.             width: 100%;
  1155.             padding: 0;
  1156.             list-style: none;
  1157.             text-align: center;
  1158.         }
  1159.         .slick-dots li {
  1160.             position: relative;
  1161.             display: inline-block;
  1162.             width: 20px;
  1163.             height: 20px;
  1164.             margin: 0 5px;
  1165.             padding: 0;
  1166.             cursor: pointer;
  1167.         }
  1168.         .slick-dots li button {
  1169.             font-size: 0;
  1170.             line-height: 0;
  1171.             display: block;
  1172.             width: 20px;
  1173.             height: 20px;
  1174.             padding: 5px;
  1175.             cursor: pointer;
  1176.             color: transparent;
  1177.             border: 0;
  1178.             outline: none;
  1179.             background: transparent;
  1180.         }
  1181.         .slick-dots li button:hover,
  1182.         .slick-dots li button:focus {
  1183.             outline: none;
  1184.         }
  1185.         .slick-dots li button:hover:before,
  1186.         .slick-dots li button:focus:before {
  1187.             opacity: 1;
  1188.         }
  1189.         .slick-dots li button:before {
  1190.             content: \" \";
  1191.             line-height: 20px;
  1192.             position: absolute;
  1193.             top: 0;
  1194.             left: 0;
  1195.             width: 12px;
  1196.             height: 12px;
  1197.             text-align: center;
  1198.             opacity: .25;
  1199.             background-color: black;
  1200.             border-radius: 50%;
  1201.         }
  1202.         .slick-dots li.slick-active button:before {
  1203.             opacity: .75;
  1204.             background-color: black;
  1205.         }
  1206.         .slick-dots li button.thumbnail img {
  1207.             width: 0;
  1208.             height: 0;
  1209.         }
  1210.     </style>
  1211. {% endblock %}
  1212. {% block javascript %}
  1213.     <script>
  1214.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  1215.         // 規格2に選択肢を割り当てる。
  1216.         function fnSetClassCategories(form, classcat_id2_selected) {
  1217.             var \$form = \$(form);
  1218.             var product_id = \$form.find('input[name=product_id]').val();
  1219.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  1220.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  1221.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  1222.         }
  1223.         {% if form.classcategory_id2 is defined %}
  1224.         fnSetClassCategories(
  1225.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  1226.         );
  1227.         {% elseif form.classcategory_id1 is defined %}
  1228.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  1229.         {% endif %}
  1230.     </script>
  1231.     <script>
  1232.         \$(function() {
  1233.             // bfcache無効化
  1234.             \$(window).bind('pageshow', function(event) {
  1235.                 if (event.originalEvent.persisted) {
  1236.                     location.reload(true);
  1237.                 }
  1238.             });
  1239.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  1240.             // img タグに width, height が付与されている.
  1241.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  1242.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  1243.             \$('.ec-grid2__cell').hide();
  1244.             var removeSize = function () {
  1245.                 \$('.slide-item').height('');
  1246.                 \$('.slide-item img')
  1247.                     .removeAttr('width')
  1248.                     .removeAttr('height')
  1249.                     .removeAttr('style');
  1250.             };
  1251.             var slickInitial = function(slick) {
  1252.                 \$('.ec-grid2__cell').fadeIn(1500);
  1253.                 var baseHeight = \$(slick.target).height();
  1254.                 var baseWidth = \$(slick.target).width();
  1255.                 var rate = baseWidth / baseHeight;
  1256.                 \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  1257.                 // transform を使用することでCLSの影響を受けないようにする
  1258.                 \$('.slide-item img')
  1259.                     .css(
  1260.                         {
  1261.                             'transform-origin': 'top left',
  1262.                             'transform': 'scaleY(' + rate + ')',
  1263.                             'transition': 'transform .1s'
  1264.                         }
  1265.                     );
  1266.                 // 正しいサイズに近くなったら属性を解除する
  1267.                 setTimeout(removeSize, 500);
  1268.             };
  1269.             \$('.item_visual').on('init', slickInitial);
  1270.             // リサイズ時は CLS の影響を受けないため属性を解除する
  1271.             \$(window).resize(removeSize);
  1272.             \$('.item_visual').slick({
  1273.                 dots: false,
  1274.                 arrows: false,
  1275.                 responsive: [{
  1276.                     breakpoint: 768,
  1277.                     settings: {
  1278.                         dots: true
  1279.                     }
  1280.                 }]
  1281.             });
  1282.             \$('.slideThumb').on('click', function() {
  1283.                 var index = \$(this).attr('data-index');
  1284.                 \$('.item_visual').slick('slickGoTo', index, false);
  1285.             })
  1286.         });
  1287.     </script>
  1288.     <script>
  1289.         \$(function() {
  1290.             \$('.add-cart').on('click', function(event) {
  1291.                 {% if form.classcategory_id1 is defined %}
  1292.                 // 規格1フォームの必須チェック
  1293.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  1294.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1295.                     return true;
  1296.                 } else {
  1297.                     \$('#classcategory_id1')[0].setCustomValidity('');
  1298.                 }
  1299.                 {% endif %}
  1300.                 {% if form.classcategory_id2 is defined %}
  1301.                 // 規格2フォームの必須チェック
  1302.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  1303.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  1304.                     return true;
  1305.                 } else {
  1306.                     \$('#classcategory_id2')[0].setCustomValidity('');
  1307.                 }
  1308.                 {% endif %}
  1309.                 // 個数フォームのチェック
  1310.                 if (\$('#quantity').val() < 1) {
  1311.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  1312.                     return true;
  1313.                 } else {
  1314.                     \$('#quantity')[0].setCustomValidity('');
  1315.                 }
  1316.                 event.preventDefault();
  1317.                 \$form = \$('#form1');
  1318.                 \$.ajax({
  1319.                     url: \$form.attr('action'),
  1320.                     type: \$form.attr('method'),
  1321.                     data: \$form.serialize(),
  1322.                     dataType: 'json',
  1323.                     beforeSend: function(xhr, settings) {
  1324.                         // Buttonを無効にする
  1325.                         \$('.add-cart').prop('disabled', true);
  1326.                     }
  1327.                 }).done(function(data) {
  1328.                     // レスポンス内のメッセージをalertで表示
  1329.                     \$.each(data.messages, function() {
  1330.                         \$('#ec-modal-header').text(this);
  1331.                     });
  1332.                     \$('.ec-modal').show()
  1333.                     // カートブロックを更新する
  1334.                     \$.ajax({
  1335.                         url: \"{{ url('block_cart') }}\",
  1336.                         type: 'GET',
  1337.                         dataType: 'html'
  1338.                     }).done(function(html) {
  1339.                         \$('.ec-headerRole__cart').html(html);
  1340.                     });
  1341.                 }).fail(function(data) {
  1342.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  1343.                 }).always(function(data) {
  1344.                     // Buttonを有効にする
  1345.                     \$('.add-cart').prop('disabled', false);
  1346.                 });
  1347.             });
  1348.         });
  1349.         \$('.ec-modal-wrap').on('click', function(e) {
  1350.             // モーダル内の処理は外側にバブリングさせない
  1351.             e.stopPropagation();
  1352.         });
  1353.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  1354.             \$('.ec-modal').hide()
  1355.         });
  1356.     </script>
  1357.     <script type=\"application/ld+json\">
  1358.     {
  1359.         \"@context\": \"https://schema.org/\",
  1360.         \"@type\": \"Product\",
  1361.         \"name\": \"{{ Product.name }}\",
  1362.         \"image\": [
  1363.             {% for img in Product.ProductImage %}
  1364.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
  1365.             {% else %}
  1366.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
  1367.             {% endfor %}
  1368.         ],
  1369.         \"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
  1370.         {% if Product.code_min %}
  1371.         \"sku\": \"{{ Product.code_min }}\",
  1372.         {% endif %}
  1373.         \"offers\": {
  1374.             \"@type\": \"Offer\",
  1375.             \"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
  1376.             \"priceCurrency\": \"{{ eccube_config.currency }}\",
  1377.             \"price\": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
  1378.             \"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
  1379.         }
  1380.     }
  1381.     </script>
  1382.     <script>
  1383.         \$(function() {
  1384.         \$('.input-group').on('click', '.btn', function() {
  1385.             var \$input = \$(this).closest('.input-group').find('input');
  1386.             var value = parseInt(\$input.val());
  1387.             if (\$(this).hasClass('btn-plus')) {
  1388.             value = value + 1;
  1389.             } else {
  1390.             if (value > 1) {
  1391.                 value = value - 1;
  1392.             }
  1393.             }
  1394.             \$input.val(value);
  1395.         });
  1396.         });
  1397.     </script>
  1398. {% endblock %}
  1399. {% block breadcrumb %}
  1400. {# パンくず #}
  1401. <div class=\"breadcrumb-root\">
  1402.     {% if Product.ProductCategories is not empty %}
  1403.     <div class=\"breadcrumb-wrapper container\">
  1404.         <ul>
  1405.             {% set product_categories_length =  Product.ProductCategories|length %}
  1406.             {% for ProductCategory in Product.ProductCategories %}
  1407.                 {% if loop.index == product_categories_length %}
  1408.                     <li>
  1409.                         <a href=\"{{ url('homepage') }}\">
  1410.                             トップ
  1411.                         </a>
  1412.                         <svg width=\"5\" height=\"8\" viewBox=\"0 0 5 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">
  1413.                             <path d=\"M0.90918 1L3.63645 4L0.90918 7\" stroke=\"#1A1A1A\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>
  1414.                         </svg>
  1415.                         {% for Category in ProductCategory.Category.path %}
  1416.                             <a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
  1417.                             <svg width=\"5\" height=\"8\" viewBox=\"0 0 5 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">
  1418.                                 <path d=\"M0.90918 1L3.63645 4L0.90918 7\" stroke=\"#1A1A1A\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>
  1419.                             </svg>
  1420.                             {% endif -%}
  1421.                         {% endfor %}
  1422.                         <svg width=\"5\" height=\"8\" viewBox=\"0 0 5 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">
  1423.                             <path d=\"M0.90918 1L3.63645 4L0.90918 7\" stroke=\"#1A1A1A\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>
  1424.                         </svg>
  1425.                             
  1426.                         <span>{{ Product.code_max }}</span>
  1427.                     </li>
  1428.                     {% endif %}
  1429.                 {% endfor %}
  1430.                 </ul>
  1431.             </div>
  1432.         {% endif %}
  1433.     </div>
  1434. {% endblock %}
  1435. {# コンテンツ #}
  1436. {% block main %}
  1437.     <div class=\"ec-productRole\">
  1438.         <div class=\"ec-grid2\">
  1439.             <div class=\"ec-grid2__cell product-detail-page-left mb-10 mb-md-0\">
  1440.                 <div class=\"ec-sliderItemRole\">
  1441.                     <div class=\"item_visual\">
  1442.                         {% for ProductImage in Product.ProductImage %}
  1443.                             <div class=\"slide-item\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"{% if loop.index > 1 %} loading=\"lazy\"{% endif %}></div>
  1444.                         {% else %}
  1445.                             <div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"></div>
  1446.                         {% endfor %}
  1447.                     </div>
  1448.                     <div class=\"item_nav\">
  1449.                         {% for ProductImage in Product.ProductImage %}
  1450.                             <div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
  1451.                         {% endfor %}
  1452.                     </div>
  1453.                 </div>
  1454.             </div>
  1455.             <div class=\"product-detail-page-right\">
  1456.                 <div class=\"ec-productRole__profile\">
  1457.                     {# 会社名 from ProductDetailContoroller #}
  1458.                     {% if company_name %}
  1459.                     <div class=\"px-5 px-md-0\">
  1460.                         <p class=\"product-detail-page-company-name\">
  1461.                             {{ company_name }}
  1462.                         </p>
  1463.                     </div>
  1464.                     {% endif %}
  1465.                     {% if Product.description_list %}
  1466.                     <div class=\"px-5 px-md-0\">
  1467.                         <p class=\"product-detail-page-description-list\">
  1468.                             {{ Product.description_list|striptags }}
  1469.                         </p>                    
  1470.                     </div>
  1471.                     {% endif %}
  1472.                     {# 商品名 from ProductDetailContoroller  #}
  1473.                     <div class=\"px-5 px-md-0\">
  1474.                     {% if formated_product_name %}
  1475.                         <h2 class=\"product-detail-page-product-name\">
  1476.                             {{ formated_product_name }}
  1477.                         </h2>
  1478.                     {% else %}
  1479.                         <h2 class=\"product-detail-page-product-name\">{{ Product.name }}</h2>
  1480.                     {% endif %}
  1481.                     </div>
  1482.                     {# 送料無料 #}
  1483. \t\t\t\t\t<div class=\"px-5 px-md-0\">
  1484. \t\t\t\t\t\t<div class=\"product-detail-page-badge-container\">
  1485. \t\t\t\t\t\t\t{# 送料無料条件よりも商品価格が上だったら表示 9,800 #}
  1486. \t\t\t\t\t\t\t{% if Product.getPrice02IncTaxMin > BaseInfo.delivery_free_amount  %}
  1487. \t\t\t\t\t\t\t\t<spam class=\"product-detail-page-badge bg-primary-blue\">送料無料</spam>
  1488. \t\t\t\t\t\t\t{% endif %}
  1489. \t\t\t\t\t\t</div>
  1490. \t\t\t\t\t</div>
  1491.                     {# 販売価格 #}
  1492.                     <div class=\"px-5 px-md-0\">
  1493.                         <p class=\"product-detail-page-price-label\">販売価格 (税込)</p>
  1494.                         <div class=\"product-detail-page-price\">
  1495.                             <p class=\"product-detail-page-price__number\">
  1496.                                 {% if Product.hasProductClass -%}
  1497.                                     {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  1498.                                         {{ Product.getPrice02IncTaxMin|number_format }}
  1499.                                     {% else %}
  1500.                                         {{ Product.getPrice02IncTaxMin|number_format }} ~ {{ Product.getPrice02IncTaxMax|number_format }}
  1501.                                     {% endif %}
  1502.                                 {% else %}
  1503.                                     {{ Product.getPrice02IncTaxMin|number_format }}
  1504.                                 {% endif %}
  1505.                             </p>
  1506.                             <p class=\"product-detail-page-price__yen\">
  1507.                                 円
  1508.                             </p>
  1509.                             {# 送料無料条件よりも商品価格が上だったら #}
  1510.                             {% if Product.getPrice02IncTaxMin > BaseInfo.delivery_free_amount  %}
  1511.                             {# <p class=\"product-detail-page-price__freeship\">
  1512.                                 送料無料
  1513.                             </p> #}
  1514.                             {% endif %}
  1515.                         </div>
  1516.                     </div>
  1517.                     {# 発送日目安を表示したい #}
  1518.                     <div>
  1519.                         {# 在庫数 #}
  1520.                         {% if Product.stock_min %} 
  1521.                         <div class=\"product-detail-page-bos\">
  1522.                             <span class=\"product-detail-page-bos__label\">
  1523.                                 在庫数
  1524.                             </span>
  1525.                             <span class=\"product-detail-page-bos__stock\">
  1526.                                 残り{{ Product.stock_min|escape }}
  1527.                             </span>
  1528.                         </div>
  1529.                         {% endif %}
  1530.                         <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  1531.                                 {% if Product.stock_find %}
  1532.                                     {% if form.classcategory_id1 is defined %}
  1533.                                     <div class=\"product-detail-page-bos\">
  1534.                                         <div class=\"d-flex align-items-center\">
  1535.                                             <div class=\"product-detail-page-bos__label\">
  1536.                                                 {{ form_label(form.classcategory_id1) }}
  1537.                                             </div>
  1538.                                         </div>
  1539.                                         <div>
  1540.                                             <div>
  1541.                                                 <div class=\"input-group\">
  1542.                                                     {{ form_widget(form.classcategory_id1) }}
  1543.                                                     {{ form_errors(form.classcategory_id1) }}
  1544.                                                 </div>
  1545.                                             </div>
  1546.                                         </div>
  1547.                                     </div>
  1548.                                     {% endif %}
  1549.                                     {% if form.classcategory_id2 is defined %}
  1550.                                     <div class=\"product-detail-page-bos\">
  1551.                                         <div class=\"d-flex align-items-center\">
  1552.                                             <div class=\"product-detail-page-bos__label\">
  1553.                                                 {{ form_label(form.classcategory_id2) }}
  1554.                                             </div>
  1555.                                         </div>
  1556.                                         <div>
  1557.                                             <div>
  1558.                                                 <div class=\"input-group\">
  1559.                                                     {{ form_widget(form.classcategory_id2) }}
  1560.                                                     {{ form_errors(form.classcategory_id2) }}
  1561.                                                 </div>
  1562.                                             </div>
  1563.                                         </div>
  1564.                                     </div>
  1565.                                     {% endif %}
  1566.                                     
  1567. \t\t\t\t\t\t\t\t{# 発送日目安 #}
  1568. \t\t\t\t\t\t\t\t{% if deliveryDuration_id and deliveryDuration_name %}
  1569. \t\t\t\t\t\t\t\t<div class=\"product-detail-page-bos\">
  1570. \t\t\t\t\t\t\t\t\t<div class=\"product-detail-page-bos__label\" style=\"white-space: nowrap\">
  1571.                                         発送日目安
  1572. \t\t\t\t\t\t\t\t\t</div>
  1573.                                     <div>
  1574.                                         <div>
  1575. \t\t\t\t\t\t\t\t\t\t\t<span>{{ deliveryDuration_name }}</span>
  1576.                                         </div>
  1577.                                     </div>
  1578. \t\t\t\t\t\t\t\t</div>
  1579. \t\t\t\t\t\t\t\t{% endif %}
  1580.                                     <div class=\"product-detail-page-bos\">
  1581.                                         <div class=\"product-detail-page-bos__label\">
  1582.                                             数量
  1583.                                         </div>
  1584.                                         <div>
  1585.                                             <div>
  1586.                                                 <div class=\"input-group\">
  1587.                                                     <span class=\"input-group-btn\">
  1588.                                                         <button class=\"btn btn-default btn-minus\" type=\"button\">-</button>
  1589.                                                     </span>
  1590.                                                     {{ form_widget(form.quantity, {'attr': {'class': 'input-quantity', 'min': '1'}}) }}
  1591.                                                     {{ form_errors(form.quantity) }}
  1592.                                                     <span class=\"input-group-btn\">
  1593.                                                         <button class=\"btn btn-default btn-plus\" type=\"button\">+</button>
  1594.                                                     </span>
  1595.                                                 </div>
  1596.                                             </div>
  1597.                                         </div>
  1598.                                     </div>
  1599.                                 {% endif %}
  1600.                                 
  1601.                             {# カートに入れる #}
  1602.                             <div class=\"mt-md-8\">
  1603.                                 {% if Product.stock_find %}
  1604.                                     <button type=\"submit\" class=\"button w-100\">
  1605.                                         {{ 'カートに入れる'|trans }}
  1606.                                     </button>
  1607.                                     {% else %}
  1608.                                     <button type=\"button\" class=\"button w-100\" disabled=\"disabled\">
  1609.                                         {{ 'ただいま品切れ中です。'|trans }}
  1610.                                     </button>
  1611.                                 {% endif %}
  1612.                             </div>
  1613.                             {{ form_rest(form) }}
  1614.                         </form>
  1615.                         {# お気に入りに追加 #}
  1616.                         <div class=\"mt-7 mt-md-6\">
  1617.                             {{ include('Block/button-favorite.twig') }}
  1618.                         </div>
  1619.                     </div>
  1620.                     
  1621.                     <div class=\"ec-modal\">
  1622.                         <div class=\"ec-modal-overlay\">
  1623.                             <div class=\"ec-modal-wrap\">
  1624.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  1625.                                 <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  1626.                                 <div class=\"ec-modal-box\">
  1627.                                     <div class=\"ec-role\">
  1628.                                         <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  1629.                                         <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  1630.                                     </div>
  1631.                                 </div>
  1632.                             </div>
  1633.                         </div>
  1634.                     </div>
  1635.                 </div>
  1636.             </div>
  1637.         </div>
  1638.     </div> {# .ec-productRole #}
  1639.     
  1640.     {# 商品詳細 フリースペース #}
  1641.     {% if Product.freearea or Product.description_detail %}
  1642.         <div class=\"mt-12\">
  1643.             <h3 class=\"product-detail-page-description-heading\">商品説明</h3>
  1644.             <div>
  1645.                 <div class=\"product-detail-page-description-container\">{{ Product.description_detail|raw}}
  1646.                 </div>
  1647.                 <div class=\"product-detail-page-description-container\">
  1648.                     {{ include(template_from_string(Product.freearea)) }}
  1649.                 </div>
  1650.             </div>
  1651.         </div>
  1652.     {% endif %}
  1653.     <div>
  1654.         {% if Product.code_min is not empty %}
  1655.             <div class=\"product-detail-page-product-code\">
  1656.                 {{ '商品番号'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  1657.             </div>
  1658.         {% endif %}
  1659.     </div>
  1660.     <div class=\"d-none d-md-block mt-15\">
  1661.         {{ include('Block/large-banners.twig') }}
  1662.     </div>
  1663.     <div class=\"mt-15\">
  1664.         {{ include('Block/recommend_list.twig', {label: 'おすすめ当店在庫品', category_id: 32}) }}
  1665.     </div>
  1666.     <div class=\"d-none d-md-block mt-15\">
  1667.         {{ include('Block/recommend_list.twig', {label: 'ブレーカおすすめ商品', category_id: 14}) }}
  1668.     </div>
  1669.     <div class=\"d-none d-md-block mt-20\">
  1670.         {{ include('Block/category_list.twig', {label: 'カテゴリーから探す', href_label: 'すべてのカテゴリーを見る'}) }}
  1671.     </div>
  1672.     <div class=\"d-none d-md-block mt-15\">
  1673.         {{ include('Block/makers.twig', ignore_missing = true) }}
  1674.     </div>
  1675. {% endblock %}""Product/detail.twig""/home/xs804421/stg.denzai-bluewood.com/public_html/app/template/default/Product/detail.twig");
  1676.     }
  1677.     
  1678.     public function checkSecurity()
  1679.     {
  1680.         static $tags = array("set" => 14"if" => 111"for" => 260);
  1681.         static $filters = array("raw" => 100"json_encode" => 113"escape" => 116"trans" => 185"no_image_product" => 264"slice" => 267"replace" => 267"default" => 267"length" => 309"striptags" => 374"number_format" => 409);
  1682.         static $functions = array("class_categories_as_json" => 100"url" => 231"asset" => 261"form_label" => 448"form_widget" => 454"form_errors" => 455"form_rest" => 526"include" => 531"template_from_string" => 562);
  1683.         try {
  1684.             $this->sandbox->checkSecurity(
  1685.                 ['set''if''for'],
  1686.                 ['raw''json_encode''escape''trans''no_image_product''slice''replace''default''length''striptags''number_format'],
  1687.                 ['class_categories_as_json''url''asset''form_label''form_widget''form_errors''form_rest''include''template_from_string'],
  1688.                 $this->source
  1689.             );
  1690.         } catch (SecurityError $e) {
  1691.             $e->setSourceContext($this->source);
  1692.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  1693.                 $e->setTemplateLine($tags[$e->getTagName()]);
  1694.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  1695.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  1696.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  1697.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  1698.             }
  1699.             throw $e;
  1700.         }
  1701.     }
  1702. }