var/cache/dev/twig/e5/e5c1c6086a50af21b23da565543e2d37.php line 42

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. /* __string_template__c3a00b603c90224beffb6b5d5d755125 */
  14. class __TwigTemplate_f0fb1820d875d35cab247a2ed501db7f 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.             'main' => [$this'block_main'],
  26.         ];
  27.         $this->sandbox $this->env->getExtension('\Twig\Extension\SandboxExtension');
  28.         $this->checkSecurity();
  29.     }
  30.     protected function doGetParent(array $context)
  31.     {
  32.         // line 11
  33.         return "default_frame.twig";
  34.     }
  35.     protected function doDisplay(array $context, array $blocks = [])
  36.     {
  37.         $macros $this->macros;
  38.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  39.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""__string_template__c3a00b603c90224beffb6b5d5d755125"));
  40.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  41.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""__string_template__c3a00b603c90224beffb6b5d5d755125"));
  42.         // line 13
  43.         $context["body_class"] = "product_page";
  44.         // line 11
  45.         $this->parent $this->loadTemplate("default_frame.twig""__string_template__c3a00b603c90224beffb6b5d5d755125"11);
  46.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  47.         
  48.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  49.         
  50.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  51.     }
  52.     // line 15
  53.     public function block_stylesheet($context, array $blocks = [])
  54.     {
  55.         $macros $this->macros;
  56.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  57.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  58.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  59.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  60.         // line 16
  61.         echo "        <style>
  62.             .slick-slider {
  63.                 margin-bottom: 30px;
  64.             }
  65.             .slick-dots {
  66.                 position: absolute;
  67.                 bottom: -45px;
  68.                 display: block;
  69.                 width: 100%;
  70.                 padding: 0;
  71.                 list-style: none;
  72.                 text-align: center;
  73.             }
  74.             .slick-dots li {
  75.                 position: relative;
  76.                 display: inline-block;
  77.                 width: 20px;
  78.                 height: 20px;
  79.                 margin: 0 5px;
  80.                 padding: 0;
  81.                 cursor: pointer;
  82.             }
  83.             .slick-dots li button {
  84.                 font-size: 0;
  85.                 line-height: 0;
  86.                 display: block;
  87.                 width: 20px;
  88.                 height: 20px;
  89.                 padding: 5px;
  90.                 cursor: pointer;
  91.                 color: transparent;
  92.                 border: 0;
  93.                 outline: none;
  94.                 background: transparent;
  95.             }
  96.             .slick-dots li button:hover,
  97.             .slick-dots li button:focus {
  98.                 outline: none;
  99.             }
  100.             .slick-dots li button:hover:before,
  101.             .slick-dots li button:focus:before {
  102.                 opacity: 1;
  103.             }
  104.             .slick-dots li button:before {
  105.                 content: \" \";
  106.                 line-height: 20px;
  107.                 position: absolute;
  108.                 top: 0;
  109.                 left: 0;
  110.                 width: 12px;
  111.                 height: 12px;
  112.                 text-align: center;
  113.                 opacity: .25;
  114.                 background-color: black;
  115.                 border-radius: 50%;
  116.             }
  117.             .slick-dots li.slick-active button:before {
  118.                 opacity: .75;
  119.                 background-color: black;
  120.             }
  121.             .slick-dots li button.thumbnail img {
  122.                 width: 0;
  123.                 height: 0;
  124.             }
  125.             .ec-productRole .ec-productRole__title .ec-headingTitle {
  126.                 font-size: 15px;
  127.                 font-weight: 700;
  128.             }
  129.             @media only screen and (min-width: 768px) {
  130.                 .ec-productRole .ec-productRole__title .ec-headingTitle {
  131.                     font-size: 22px;
  132.                 }
  133.             }
  134.             .ec-sliderItemRole .item_nav {
  135.                 display: flex;
  136.             }
  137.             .slick-slide img{
  138.                 width: 100%;
  139.                 height: 350px;
  140.                 object-fit: contain;
  141.             }
  142.             @media only screen and (max-width: 767px) {
  143.                 .slick-slide img{
  144.                     height: 230px;
  145.                 }
  146.             }
  147.             .slick-slider {
  148.                 margin-bottom: 5px;
  149.             }
  150.             .ec-sliderItemRole{
  151.                 padding: 0px;
  152.                 margin: 0px;
  153.             }
  154.             .ec-sliderItemRole .slideThumb img {
  155.                 width: 102px;
  156.                 height: 55px;
  157.                 object-fit: cover;
  158.             }
  159.             .ec-sliderItemRole .slideThumb {
  160.                 width: 17%;
  161.                 margin-right: 10px;
  162.                 margin-bottom: 10px;
  163.             }
  164.             .item_nav {
  165.                 justify-content: flex-start;
  166.                 flex-wrap: wrap;
  167.                 margin-bottom: 0;
  168.             }
  169.             .ec-productRole__title .ec-headingTitle {
  170.                 font-size: 4vw;
  171.                 font-weight: bold;
  172.                 color: #525263;
  173.                 border-bottom: 2px solid #D8D8D8;
  174.                 margin-bottom: 10px;
  175.                 padding-bottom: 1.3333vw;
  176.             }
  177.             .freeze {
  178.                 position: unset;
  179.                 width: 60px;
  180.                 display: inline-block;
  181.                 line-height: 1em;
  182.                 padding: 5px 0;
  183.                 background-color: #00B0EC;
  184.                 color: white;
  185.                 text-align: center;
  186.                 font-size: 11px;
  187.                 font-weight: 700;
  188.                 border-radius: 5px;
  189.                 margin-bottom: 10px;
  190.                 margin-top: 10px;
  191.             }
  192.             .original {
  193.                 position: unset;
  194.                 width: 90px;
  195.                 display: inline-block;
  196.                 line-height: 1em;
  197.                 padding: 5px 0;
  198.                 background-color: #fff100;
  199.                 color: black;
  200.                 text-align: center;
  201.                 font-size: 11px;
  202.                 font-weight: 700;
  203.                 border-radius: 5px;
  204.                 margin-bottom: 10px;
  205.                 margin-top: 10px;
  206.             }
  207.             .ec-productRole .ec-productRole__tags {
  208.                 margin-top: 0px;
  209.                 padding: 0;
  210.                 padding-bottom: 0px;
  211.                 border-bottom: none;
  212.             }
  213.             .ec-blockBtn--cancel {
  214.                 height: 40px;
  215.                 border-radius: 5px;
  216.                 line-height: 1.0;
  217.                 /* background-color: #f5f5f5; */
  218.                 color: #000333;
  219.                 border: none;
  220.                 font-weight: 400;
  221.             }
  222.             .ec-blockBtn--cancel:hover {
  223.                 color: #000333;
  224.                 background-color: #f5f5f5;
  225.                 border-color: #f5f5f5;
  226.                 opacity: .7;
  227.             }
  228.             .ec-blockBtn--cancel:disabled{
  229.                 color: #000333;
  230.                 background-color: #f5f5f5;
  231.                 border-color: #f5f5f5;
  232.             }
  233.             .ec-blockBtn--action {
  234.                 background-color: #e65f6e;
  235.             }
  236.             .ec-blockBtn--action:hover {
  237.                 color: #fff;
  238.                 background-color: #e65f6e;
  239.                 border-color: #e65f6e;
  240.                 opacity: .6;
  241.             }
  242.             .ec-numberInput input[type=number] {
  243.                 max-width: 80px;
  244.                 margin-bottom: 0px;
  245.             }
  246.             .ec-productRole .ec-productRole__actions {
  247.                 padding: 0px;
  248.                 margin-top: 10px;
  249.                 margin-right: 10px;
  250.             }
  251.             .ec-productRole .ec-productRole__actions .ec-numberInput{
  252.                 display: flex;
  253.                 align-items: center;
  254.             }
  255.             .table-ProductDetail tbody tr td:first-child, .table-ReplacementProductDetail tbody tr td:first-child, .table-ReplacementProductDetail tbody tr td:nth-child(3) {
  256.                 background-color: #F5F5F5;
  257.                 width: 130px;
  258.                 border: solid 1px #d3cbcb;
  259.             }
  260.             .table-ProductDetail tbody tr {
  261.                 white-space: pre-wrap;
  262.                 word-wrap: break-word;
  263.             }
  264.             .table-ProductDetail tbody tr td {
  265.                 border: solid 1px #d3cbcb;
  266.             }
  267.             .ec-price .ec-price__price {
  268.                 font-size: 24px;
  269.                 font-weight: bold;
  270.                 color: #b72704;
  271.                 padding: 0px;\"
  272.             }
  273.             .ec-productRole__description img {
  274.                 max-width: 100%;
  275.             }
  276.             .ec-productRole form div.ec-productRole__actions button.add-cart {
  277.                 border-radius: 5px;
  278.                 font-size: 16px;
  279.                 width: 200px;
  280.             }
  281.             .ec-productRole__actions_area {
  282.                 display: flex;
  283.                 margin: auto;
  284.                 align-items: baseline; 
  285.                 flex-wrap: wrap;
  286.                 justify-content: end;
  287.             }
  288.             ";
  289.         // line 278
  290.         echo "            @media only screen and (max-width: 767px) {
  291.                 .product_name_pc {
  292.                     display: none;
  293.                 }
  294.                 .add_favorite_form{
  295.                     width: 100%;
  296.                 }
  297.                 .ec-productRole form {
  298.                     width: 100%;
  299.                 }
  300.                 .ec-productRole form div.ec-productRole__actions {
  301.                     margin-right: 0px;
  302.                 }
  303.                 .ec-productRole form div.ec-productRole__actions button.add-cart {
  304.                     width: 100%;
  305.                 }
  306.                 #product_video .ec-modal-wrap {
  307.                     width: 343px;
  308.                     height: 333px;
  309.                 }
  310.                 #video_iframe {
  311.                     width: 311px;
  312.                     height: 205px;
  313.                 }
  314.                 .ec-price {
  315.                     text-align: end;
  316.                 }
  317.                 .ec-numberInput input[type=number] {
  318.                     margin-right: 10px;
  319.                 }
  320.             }
  321.             ";
  322.         // line 311
  323.         echo "            @media only screen and (min-width: 768px) {
  324.                 .product_name_sp {
  325.                     display: none;
  326.                 }
  327.                 #product_video .ec-modal-wrap {
  328.                     width: 734px;
  329.                     height: 544px;
  330.                 }
  331.                 #video_iframe {
  332.                     width: 670px;
  333.                     height: 422px;
  334.                 }
  335.             }
  336.             @media only screen and (min-width: 1024px) {
  337.                 .ec-price .ec-price__price {
  338.                     font-size: 30px;
  339.                 }
  340.             }
  341.             .youtube {
  342.                 width: 100%;
  343.                 aspect-ratio: 16 / 9;
  344.             }
  345.             .youtube iframe {
  346.                 width: 100%;
  347.                 height: 100%;
  348.             }
  349.             .recipe_book__image {
  350.                 width: 170px;
  351.                 border-style: solid;
  352.                 border-width: 2px;
  353.                 height: 170px;
  354.                 object-fit: fill;
  355.                 border-radius: 9px;
  356.                 border-color: #d2d2d2;
  357.             }
  358.             .recipe_book__image:hover {
  359.                 opacity: 0.7;
  360.             }
  361.             .recipe_book__name {
  362.                 font-size: 14px;
  363.                 height: 40px;
  364.                 overflow: hidden;
  365.                 display: -webkit-box;
  366.                 text-overflow: ellipsis;
  367.                 -webkit-box-orient: vertical;
  368.                 -webkit-line-clamp: 2;
  369.                 margin-top: 8px;
  370.                 color: #525263;
  371.                 font-weight: 600;
  372.             }
  373.             .favorite_button {
  374.                 margin-top: 10px;
  375.                 font-size: 16px;
  376.                 height: 56px;
  377.                 background-color: #ffffff;
  378.                 border-color: #cccccc;
  379.                 border-width: 1px;
  380.                 border-style: solid;
  381.                 border-radius: 4px;
  382.             }
  383.             .initial_purchase__message {
  384.                 position: relative;
  385.                 border: 1px solid #FFDA00;
  386.                 padding: 8px 18px;
  387.                 font-weight: 600;
  388.                 font-size: 14px;
  389.                 color: #525263;
  390.                 background-color: #F6FF00;
  391.                 border-radius: 4px;
  392.                 margin-right: 8px;
  393.                 margin-bottom: 4px;
  394.                 display: inline-block;
  395.                 text-align: start;
  396.             }
  397.             .initial_purchase__message::before {
  398.                 content: '';
  399.                 position: absolute;
  400.                 top: 50%; 
  401.                 left: 100%;
  402.                 transform: translateY(-50%);
  403.                 border: 11px solid transparent;
  404.                 border-left-color: #FFDA00;
  405.             }
  406.             .initial_purchase__message::after {
  407.                 content: '';
  408.                 position: absolute;
  409.                 top: 50%; 
  410.                 left: 100%;
  411.                 transform: translateY(-50%);
  412.                 border: 10px solid transparent;
  413.                 border-left-color: #F6FF00;
  414.             }
  415.             .ec-numberInput .ec-productRole__btn {
  416.                 margin-left: 10px;
  417.                 max-width: 350px; 
  418.                 min-width: 100px; 
  419.                 margin-bottom: 10px;
  420.             }
  421.             .buy_this_product__btn {
  422.                 max-width: 500px;
  423.                 margin: auto;
  424.                 margin-top: 20px;
  425.                 padding-right: 10px;
  426.                 padding-left: 10px;
  427.             }
  428.             .purchased__btn {
  429.                 max-width: 350px;
  430.                 min-width: 100px;
  431.                 margin-right: 0px;
  432.                 margin-top: 10px;
  433.             }
  434.             .ec-productRole__btn span {
  435.                 font-size: 10px;
  436.                 color: #000000;
  437.             }
  438.             
  439.             /* --- SP用の設定 (例: 画面幅が768px以下) --- */
  440.             @media (max-width: 768px) {
  441.                 .sp-only {
  442.                     display: flex; /* SPでは表示 */
  443.                     margin-top: 10px; 
  444.                     max-width: 800px;
  445.                 }
  446.                 .recipe_book_carousel .slick-slide div {
  447.                     width: 202px;
  448.                 }
  449.                 .recipe_book_carousel .slick-slide div img {
  450.                     height: 190px;
  451.                 }
  452.                 .ec-productRole__btn {
  453.                     width: 100%;
  454.                 }
  455.                 .pc-only {
  456.                     display: none;  /* SPでは非表示 */
  457.                 }
  458.                 .product_page .ec-productRole__btn {
  459.                     max-width: 100% !important;
  460.                     text-align: center;
  461.                 }
  462.                 .favorite_button {
  463.                     margin-top: 0px;
  464.                     width: 100%;
  465.                 }
  466.                 .add_favorite_form .ec-productRole__btn {
  467.                     margin-top: 2px !important;
  468.                 }
  469.                 
  470.                 .ec-numberInput .ec-productRole__btn {
  471.                     margin-left: 0px;
  472.                 }
  473.                 .buy_this_product__btn {
  474.                     padding-right: 0px;
  475.                     padding-left: 0px;
  476.                     margin-top: 0px !important;
  477.                 }
  478.                 .purchased__btn {
  479.                     margin-right: 0px;
  480.                 }
  481.             }
  482.             /* --- PC用の設定 (例: 画面幅が769px以上) --- */
  483.             @media (min-width: 769px) {
  484.                 .sp-only {
  485.                     display: none;  /* PCでは非表示 */
  486.                 }
  487.                 .pc-only {
  488.                     display: flex; /* PCでは表示 */
  489.                     margin-top: 10px; 
  490.                     max-width: 800px;
  491.                     flex-wrap: wrap;
  492.                 }
  493.                 .pc-only .item {
  494.                     flex: 1 1 calc(33.333% - 16px); /* 3カラム分の幅(隙間分を引く) */
  495.                     max-width: calc(33.333% - 16px);
  496.                     box-sizing: border-box;
  497.                 }
  498.                 .ec-productRole .ec-productRole__btn {
  499.                     width: 90%;
  500.                 }
  501.             }
  502.             /* 再入荷表示 */
  503.             .restock_date span {
  504.                 font-size: 13px; 
  505.                 color: #E65F6E; 
  506.                 font-weight: 600;    
  507.             }
  508.         </style>
  509.     ";
  510.         
  511.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  512.         
  513.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  514.     }
  515.     // line 512
  516.     public function block_javascript($context, array $blocks = [])
  517.     {
  518.         $macros $this->macros;
  519.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  520.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  521.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  522.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  523.         // line 513
  524.         echo "        <script>
  525.             eccube.classCategories = ";
  526.         // line 514
  527.         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.'514$this->source); })()), 514$this->source));
  528.         echo ";
  529.             // 規格2に選択肢を割り当てる。
  530.             function fnSetClassCategories(form, classcat_id2_selected) {
  531.                 var \$form = \$(form);
  532.                 var product_id = \$form.find('input[name=product_id]').val();
  533.                 var \$sele1 = \$form.find('select[name=classcategory_id1]');
  534.                 var \$sele2 = \$form.find('select[name=classcategory_id2]');
  535.                 eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  536.             }
  537.             ";
  538.         // line 525
  539.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue525)) {
  540.             // line 526
  541.             echo "            fnSetClassCategories(
  542.                 \$('#form1'), ";
  543.             // line 527
  544.             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.'527$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue527), "vars", [], "any"falsefalsetrue527), "value", [], "any"falsefalsetrue527), 527$this->source));
  545.             echo "
  546.             );
  547.             ";
  548.         } elseif (twig_get_attribute($this->env$this->source,         // line 529
  549. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue529)) {
  550.             // line 530
  551.             echo "            eccube.checkStock(\$('#form1'), ";
  552.             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.'530$this->source); })()), "id", [], "any"falsefalsetrue530), 530$this->source), "html"nulltrue);
  553.             echo ", ";
  554.             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.'530$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue530), "vars", [], "any"falsefalsetrue530), "value", [], "any"falsefalsetrue530), 530$this->source));
  555.             echo ", null);
  556.             ";
  557.         }
  558.         // line 532
  559.         echo "        </script>
  560.         <script>
  561.             \$(function() {
  562.                 // 調理方法に遷移するよう制御
  563.                 \$(window).on('load', function() {
  564.                     if (window.location.hash === '#base-info') {
  565.                         setTimeout(function() {
  566.                             const target = document.getElementById('base-info');
  567.                             if (target) {
  568.                                 const spOffset = 100;
  569.                                 const pcOffset = 120;
  570.                                 const breakpoint = 768; 
  571.                                 const offset = window.innerWidth < breakpoint ? spOffset : pcOffset;
  572.                                 const targetPosition = target.getBoundingClientRect().top + window.pageYOffset;
  573.                                 const scrollToPosition = targetPosition - offset;
  574.                                 
  575.                                 window.scrollTo({
  576.                                     top: scrollToPosition,
  577.                                     behavior: 'smooth'
  578.                                 });
  579.                             }
  580.                         }, 500);
  581.                     }
  582.                 });
  583.                 // bfcache無効化
  584.                 \$(window).bind('pageshow', function(event) {
  585.                     if (event.originalEvent.persisted) {
  586.                         location.reload(true);
  587.                     }
  588.                 });
  589.                 // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  590.                 // img タグに width, height が付与されている.
  591.                 // 630px 未満の画面サイズでは縦横比が壊れるための対策
  592.                 // see https://github.com/EC-CUBE/ec-cube/pull/5023
  593.                 \$('.ec-grid2__cell').hide();
  594.                 var removeSize = function () {
  595.                     \$('.slide-item').height('');
  596.                     \$('.slide-item img')
  597.                         .removeAttr('width')
  598.                         .removeAttr('height')
  599.                         .removeAttr('style');
  600.                 };
  601.                 var slickInitial = function(slick) {
  602.                     \$('.ec-grid2__cell').fadeIn(1500);
  603.                     var baseHeight = \$(slick.target).height();
  604.                     var baseWidth = \$(slick.target).width();
  605.                     var rate = baseWidth / baseHeight;
  606.                     \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  607.                     // transform を使用することでCLSの影響を受けないようにする
  608.                     \$('.slide-item img')
  609.                         .css(
  610.                             {
  611.                                 'transform-origin': 'top left',
  612.                                 'transform': 'scaleY(' + rate + ')',
  613.                                 'transition': 'transform .1s'
  614.                             }
  615.                         );
  616.                     // 正しいサイズに近くなったら属性を解除する
  617.                     setTimeout(removeSize, 500);
  618.                 };
  619.                 \$('.item_visual').on('init', slickInitial);
  620.                 // リサイズ時は CLS の影響を受けないため属性を解除する
  621.                 \$(window).resize(removeSize);
  622.                 \$('.item_visual').slick({
  623.                     dots: false,
  624.                     arrows: false,
  625.                     infinite: false,
  626.                     responsive: [{
  627.                         breakpoint: 768,
  628.                         settings: {
  629.                             dots: false
  630.                         }
  631.                     }]
  632.                 });
  633.                 \$('.slideThumb').on('click', function() {
  634.                     var index = \$(this).attr('data-index');
  635.                     \$('.item_visual').slick('slickGoTo', index, false);
  636.                 });
  637.                 // サムネイル画像または再生ボタンをクリックしたら動画ダイアログを表示
  638.                 \$(document).on(\"click\", \".thumbnail-image, .play-button-overlay\", function() {
  639.                     // ダイアログを表示
  640.                     \$(\"#product_video\").show();
  641.                 });
  642.                 // 閉じるボタンでダイアログを非表示
  643.                 \$(document).on(\"click\", \"#product_video .close-btn\", function() {
  644.                     \$(\"#product_video\").hide();
  645.                 });
  646.             });
  647.         </script>
  648.         <script>
  649.             ";
  650.         // line 628
  651.         $context["current_domain"] = 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.'628$this->source); })()), "request", [], "any"falsefalsetrue628), "getHost", [], "method"falsefalsetrue628);
  652.         // line 629
  653.         echo "
  654.             ";
  655.         // line 630
  656.         $context["is_prod"] = twig_in_filter("web-order.shikomel.com", (isset($context["current_domain"]) || array_key_exists("current_domain"$context) ? $context["current_domain"] : (function () { throw new RuntimeError('Variable "current_domain" does not exist.'630$this->source); })()));
  657.         // line 631
  658.         echo "            ";
  659.         $context["is_stg"] = twig_in_filter("web-order-stg.shikomel.com", (isset($context["current_domain"]) || array_key_exists("current_domain"$context) ? $context["current_domain"] : (function () { throw new RuntimeError('Variable "current_domain" does not exist.'631$this->source); })()));
  660.         // line 632
  661.         echo "
  662.             \$(function() {
  663.                 \$('.add-cart').on('click', function(event) {
  664.                     ";
  665.         // line 636
  666.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue636)) {
  667.             // line 637
  668.             echo "                    // 規格1フォームの必須チェック
  669.                     if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  670.                         \$('#classcategory_id1')[0].setCustomValidity('";
  671.             // line 639
  672.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  673.             echo "');
  674.                         return true;
  675.                     } else {
  676.                         \$('#classcategory_id1')[0].setCustomValidity('');
  677.                     }
  678.                     ";
  679.         }
  680.         // line 645
  681.         echo "
  682.                     ";
  683.         // line 646
  684.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue646)) {
  685.             // line 647
  686.             echo "                    // 規格2フォームの必須チェック
  687.                     if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  688.                         \$('#classcategory_id2')[0].setCustomValidity('";
  689.             // line 649
  690.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  691.             echo "');
  692.                         return true;
  693.                     } else {
  694.                         \$('#classcategory_id2')[0].setCustomValidity('');
  695.                     }
  696.                     ";
  697.         }
  698.         // line 655
  699.         echo "
  700.                     // 個数フォームのチェック
  701.                     if (\$('#quantity').val() < 1) {
  702.                         \$('#quantity')[0].setCustomValidity('";
  703.         // line 658
  704.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  705.         echo "');
  706.                         return true;
  707.                     } else {
  708.                         \$('#quantity')[0].setCustomValidity('');
  709.                     }
  710.                     event.preventDefault();
  711.                     \$form = \$('#form1');
  712.                     \$.ajax({
  713.                         url: \$form.attr('action'),
  714.                         type: \$form.attr('method'),
  715.                         data: \$form.serialize(),
  716.                         dataType: 'json',
  717.                         beforeSend: function(xhr, settings) {
  718.                             // Buttonを無効にする
  719.                             \$('.add-cart').prop('disabled', true);
  720.                         }
  721.                     }).done(function(data) {
  722.                         // レスポンス内のメッセージをalertで表示
  723.                         \$.each(data.messages, function() {
  724.                             
  725.     var \$cartBtn = \$('div.ec-modal-overlay').find('a.ec-inlineBtn--action');
  726.     \$cartBtn.removeAttr('disabled');
  727.     \$cartBtn.off('click');
  728.     // responseを判別
  729.     if(data.product_id !== undefined) {
  730.         var product_id = data.product_id;
  731.         var under_quantity = data.under_quantity;
  732.         // 最低購入数を下回る場合は、選択数量を最低購入数に変更
  733.         if(\$('#quantity' + product_id).length) {
  734.             \$('#quantity' + product_id).val(under_quantity);
  735.         } else {
  736.             \$('#quantity').val(under_quantity);
  737.         }
  738.         // カートに進むボタンを無効化
  739.         \$cartBtn.attr('disabled', 'disabled');
  740.         \$cartBtn.on('click', function() {
  741.             return false;
  742.         })
  743.     }
  744.     \$('#ec-modal-header').text(this);
  745.                         });
  746.                         \$('#ec-modal').show()
  747.                         // カートブロックを更新する
  748.                         \$.ajax({
  749.                             url: \"";
  750.         // line 712
  751.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  752.         echo "\",
  753.                             type: 'GET',
  754.                             dataType: 'html'
  755.                         }).done(function(html) {
  756.                             \$('.ec-headerRole__cart').html(html);
  757.                         });
  758.                         
  759.                         \$.ajax({
  760.                             url: '";
  761.         // line 720
  762.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("modal_cart");
  763.         echo "',
  764.                             type: 'GET',
  765.                             dataType: 'html'
  766.                         }).done(function(html) {
  767.                             \$('.ec-Modalfooter__cart').html(html);
  768.                         });
  769.                         // カート追加イベントの送付
  770.                         ";
  771.         // line 728
  772.         if ((isset($context["is_prod"]) || array_key_exists("is_prod"$context) ? $context["is_prod"] : (function () { throw new RuntimeError('Variable "is_prod" does not exist.'728$this->source); })())) {
  773.             // line 729
  774.             echo "
  775.                             fbq('track', 'AddToCart', {
  776.                                 content_type: \"Product\",
  777.                                 content_ids: \"";
  778.             // line 732
  779.             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.'732$this->source); })()), "id", [], "any"falsefalsetrue732), 732$this->source), "html"nulltrue);
  780.             echo "\",
  781.                                 contents:
  782.                                     [{
  783.                                         id: \"";
  784.             // line 735
  785.             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.'735$this->source); })()), "id", [], "any"falsefalsetrue735), 735$this->source), "html"nulltrue);
  786.             echo "\",
  787.                                         quantity: \$('#quantity').val()
  788.                                     }],
  789.                                 content_name: \"";
  790.             // line 738
  791.             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.'738$this->source); })()), "name", [], "any"falsefalsetrue738), 738$this->source), "html"nulltrue);
  792.             echo "\",
  793.                                 currency: \"JPY\",
  794.                                 value: 50,
  795.                             });
  796.                             fbq('trackCustom', 'ce_add_to_cart', {
  797.                                 content_type: \"Product\",
  798.                                 content_ids: \"";
  799.             // line 745
  800.             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.'745$this->source); })()), "id", [], "any"falsefalsetrue745), 745$this->source), "html"nulltrue);
  801.             echo "\",
  802.                                 contents:
  803.                                     [{
  804.                                         id: \"";
  805.             // line 748
  806.             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.'748$this->source); })()), "id", [], "any"falsefalsetrue748), 748$this->source), "html"nulltrue);
  807.             echo "\",
  808.                                         quantity: \$('#quantity').val()
  809.                                     }],
  810.                                 content_name: \"";
  811.             // line 751
  812.             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.'751$this->source); })()), "name", [], "any"falsefalsetrue751), 751$this->source), "html"nulltrue);
  813.             echo "\",
  814.                                 currency: \"JPY\",
  815.                                 value: 50,
  816.                             });
  817.                         
  818.                             window.dataLayer.push({
  819.                                 event: 'ce_add_to_cart',
  820.                                 custom_event_name: 'ce_add_to_cart',
  821.                                 custom_product_id: ";
  822.             // line 759
  823.             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.'759$this->source); })()), "id", [], "any"falsefalsetrue759), 759$this->source), "html"nulltrue);
  824.             echo ",
  825.                                 custom_product_name: '";
  826.             // line 760
  827.             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.'760$this->source); })()), "name", [], "any"falsefalsetrue760), 760$this->source), "html"nulltrue);
  828.             echo "',
  829.                                 custom_quantity: \$('#quantity').val(),
  830.                                 custom_customer_id: '',
  831.                                 custom_user_agent: \$(\"#user_agent\").val(),
  832.                                 custom_is_ig: \$(\"#is_ig\").val(),
  833.                                 custom_is_line: \$(\"#is_line\").val(),
  834.                                 custom_referer: \$(\"#referer\").val(),
  835.                                 custom_real_ip: \$(\"#real_ip\").val(),
  836.                             });
  837.                             _lt('send', 'cv', {
  838.                                 type: 'add_to_cart'
  839.                             },['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
  840.                         ";
  841.         }
  842.         // line 775
  843.         echo "
  844.                     }).fail(function(data) {
  845.                         alert('";
  846.         // line 777
  847.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  848.         echo "');
  849.                     }).always(function(data) {
  850.                         // Buttonを有効にする
  851.                         \$('.add-cart').prop('disabled', false);
  852.                     });
  853.                 });
  854.                 ";
  855.         // line 784
  856.         if ((isset($context["is_prod"]) || array_key_exists("is_prod"$context) ? $context["is_prod"] : (function () { throw new RuntimeError('Variable "is_prod" does not exist.'784$this->source); })())) {
  857.             // line 785
  858.             echo "
  859.                     // 詳細表示時にMetaとGTMとLineに閲覧イベントを送付する
  860.                     fbq('track', 'ViewContent', {
  861.                         content_type: \"Product\",
  862.                         content_ids: \"";
  863.             // line 789
  864.             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.'789$this->source); })()), "id", [], "any"falsefalsetrue789), 789$this->source), "html"nulltrue);
  865.             echo "\",
  866.                         content_name: \"";
  867.             // line 790
  868.             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.'790$this->source); })()), "name", [], "any"falsefalsetrue790), 790$this->source), "html"nulltrue);
  869.             echo "\",
  870.                         currency: \"JPY\",
  871.                         value: 25,
  872.                     });
  873.                     fbq('trackCustom', 'ce_view_product_detail', {
  874.                         content_type: \"Product\",
  875.                         content_ids: \"";
  876.             // line 797
  877.             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.'797$this->source); })()), "id", [], "any"falsefalsetrue797), 797$this->source), "html"nulltrue);
  878.             echo "\",
  879.                         content_name: \"";
  880.             // line 798
  881.             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.'798$this->source); })()), "name", [], "any"falsefalsetrue798), 798$this->source), "html"nulltrue);
  882.             echo "\",
  883.                         currency: \"JPY\",
  884.                         value: 25,
  885.                     });
  886.                 
  887.                     window.dataLayer.push({
  888.                         event: 'ce_view_product_detail',
  889.                         custom_event_name: 'ce_view_product_detail',
  890.                         custom_product_id: ";
  891.             // line 806
  892.             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.'806$this->source); })()), "id", [], "any"falsefalsetrue806), 806$this->source), "html"nulltrue);
  893.             echo ",
  894.                         custom_product_name: '";
  895.             // line 807
  896.             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.'807$this->source); })()), "name", [], "any"falsefalsetrue807), 807$this->source), "html"nulltrue);
  897.             echo "',
  898.                         custom_customer_id: '',
  899.                         custom_user_agent: \$(\"#user_agent\").val(),
  900.                         custom_is_ig: \$(\"#is_ig\").val(),
  901.                         custom_is_line: \$(\"#is_line\").val(),
  902.                         custom_referer: \$(\"#referer\").val(),
  903.                         custom_real_ip: \$(\"#real_ip\").val(),
  904.                     });
  905.                     _lt('send', 'cv', {
  906.                         type: 'product_detail'
  907.                     },['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
  908.                 ";
  909.         }
  910.         // line 821
  911.         echo "            });
  912.             \$('.ec-modal-wrap').on('click', function(e) {
  913.                 // モーダル内の処理は外側にバブリングさせない
  914.                 e.stopPropagation();
  915.             });
  916.             \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  917.                 \$('.ec-modal').hide()
  918.             });
  919.             ";
  920.         // line 831
  921.         if ((isset($context["is_prod"]) || array_key_exists("is_prod"$context) ? $context["is_prod"] : (function () { throw new RuntimeError('Variable "is_prod" does not exist.'831$this->source); })())) {
  922.             // line 832
  923.             echo "                // お気に入り追加ボタンクリック時のトラッキングイベント
  924.                 \$('#favorite').on('click', function(e) {
  925.                     fbq('track', 'AddToWishlist', {
  926.                         content_type: \"Product\",
  927.                         content_ids: \"";
  928.             // line 837
  929.             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.'837$this->source); })()), "id", [], "any"falsefalsetrue837), 837$this->source), "html"nulltrue);
  930.             echo "\",
  931.                         content_name: \"";
  932.             // line 838
  933.             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.'838$this->source); })()), "name", [], "any"falsefalsetrue838), 838$this->source), "html"nulltrue);
  934.             echo "\",
  935.                         currency: \"JPY\",
  936.                         value: 40,
  937.                     });
  938.                 
  939.                     fbq('trackCustom', 'ce_add_to_wishlist', {
  940.                         content_type: \"Product\",
  941.                         content_ids: \"";
  942.             // line 845
  943.             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.'845$this->source); })()), "id", [], "any"falsefalsetrue845), 845$this->source), "html"nulltrue);
  944.             echo "\",
  945.                         content_name: \"";
  946.             // line 846
  947.             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.'846$this->source); })()), "name", [], "any"falsefalsetrue846), 846$this->source), "html"nulltrue);
  948.             echo "\",
  949.                         currency: \"JPY\",
  950.                         value: 40,
  951.                     });
  952.                     window.dataLayer.push({
  953.                         event: 'ce_add_to_wishlist',
  954.                         custom_event_name: 'ce_add_to_wishlist',
  955.                         custom_product_id: ";
  956.             // line 854
  957.             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.'854$this->source); })()), "id", [], "any"falsefalsetrue854), 854$this->source), "html"nulltrue);
  958.             echo ",
  959.                         custom_product_name: '";
  960.             // line 855
  961.             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.'855$this->source); })()), "name", [], "any"falsefalsetrue855), 855$this->source), "html"nulltrue);
  962.             echo "',
  963.                         custom_customer_id: '',
  964.                         custom_user_agent: \$(\"#user_agent\").val(),
  965.                         custom_is_ig: \$(\"#is_ig\").val(),
  966.                         custom_is_line: \$(\"#is_line\").val(),
  967.                         custom_referer: \$(\"#referer\").val(),
  968.                         custom_real_ip: \$(\"#real_ip\").val(),
  969.                     });
  970.                     _lt('send', 'cv', {
  971.                         type: 'add_to_wishlist'
  972.                     },['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
  973.                 });
  974.                 // この商品を購入するボタンクリック時のトラッキングイベント
  975.                 \$('#buy_this_product').on('click', function(e) {
  976.                     fbq('trackCustom', 'ClickBuyProduct', {
  977.                         content_type: \"Product\",
  978.                         content_ids: \"";
  979.             // line 874
  980.             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.'874$this->source); })()), "id", [], "any"falsefalsetrue874), 874$this->source), "html"nulltrue);
  981.             echo "\",
  982.                         content_name: \"";
  983.             // line 875
  984.             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.'875$this->source); })()), "name", [], "any"falsefalsetrue875), 875$this->source), "html"nulltrue);
  985.             echo "\",
  986.                         currency: \"JPY\",
  987.                         value: 30,
  988.                     });
  989.                 
  990.                     window.dataLayer.push({
  991.                         event: 'ce_click_buy_product',
  992.                         custom_event_name: 'ce_click_buy_product',
  993.                         custom_product_id: ";
  994.             // line 883
  995.             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.'883$this->source); })()), "id", [], "any"falsefalsetrue883), 883$this->source), "html"nulltrue);
  996.             echo ",
  997.                         custom_product_name: '";
  998.             // line 884
  999.             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.'884$this->source); })()), "name", [], "any"falsefalsetrue884), 884$this->source), "html"nulltrue);
  1000.             echo "',
  1001.                         custom_customer_id: '',
  1002.                         custom_user_agent: \$(\"#user_agent\").val(),
  1003.                         custom_is_ig: \$(\"#is_ig\").val(),
  1004.                         custom_is_line: \$(\"#is_line\").val(),
  1005.                         custom_referer: \$(\"#referer\").val(),
  1006.                         custom_real_ip: \$(\"#real_ip\").val(),
  1007.                     });
  1008.                     _lt('send', 'cv', {
  1009.                         type: 'ce_click_buy_product'
  1010.                     },['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
  1011.                 });
  1012.                 // Lineバナークリックイベント
  1013.                 \$('#line_link_detail').on('click', function(event) {
  1014.                     const currentPageUrl = window.location.href;
  1015.                     fbq('trackCustom', 'ce_click_line_btn', {
  1016.                         content_type: \"ClickLineBtn\",
  1017.                         content_name: currentPageUrl,
  1018.                         value: 50
  1019.                     });
  1020.                     window.dataLayer.push({
  1021.                         event: 'ce_click_line_btn',
  1022.                         custom_event_name: 'ce_click_line_btn',
  1023.                         custom_page_url: currentPageUrl,
  1024.                         custom_customer_id: '',
  1025.                         custom_user_agent: \$(\"#user_agent\").val(),
  1026.                         custom_is_ig: \$(\"#is_ig\").val(),
  1027.                         custom_is_line: \$(\"#is_line\").val(),
  1028.                         custom_referer: \$(\"#referer\").val(),
  1029.                         custom_real_ip: \$(\"#real_ip\").val(),
  1030.                     });
  1031.                     _lt('send', 'cv', {
  1032.                         type: 'ce_click_line_btn'
  1033.                     },['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
  1034.                 });
  1035.             ";
  1036.         }
  1037.         // line 926
  1038.         echo "
  1039.             \$('.recipe_book_carousel').slick({
  1040.                 dots: false,
  1041.                 autoplay: false,
  1042.                 centerMode: false,
  1043.                 centerPadding: '0px',
  1044.                 arrows: false,
  1045.                 infinite: false,
  1046.                 slidesToShow: 1,
  1047.                 variableWidth: true,
  1048.                 swipeToSlide: true
  1049.             });
  1050.             function moveTop(){
  1051.                 const itemNav = document.querySelector('.ec-price');
  1052.                 if (itemNav) {
  1053.                     itemNav.scrollIntoView({ behavior: 'smooth', block: 'start' });
  1054.                 }
  1055.             }
  1056.             function fnToLogin(url) {
  1057.                 window.location.href = url;
  1058.             }
  1059.         </script>
  1060.         <script type=\"application/ld+json\">
  1061.         {
  1062.             \"@context\": \"https://schema.org/\",
  1063.             \"@type\": \"Product\",
  1064.             \"name\": \"";
  1065.         // line 953
  1066.         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.'953$this->source); })()), "name", [], "any"falsefalsetrue953), 953$this->source), "html"nulltrue);
  1067.         echo "\",
  1068.             \"image\": [
  1069.                 ";
  1070.         // line 955
  1071.         $context['_parent'] = $context;
  1072.         $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.'955$this->source); })()), "ProductImage", [], "any"falsefalsetrue955));
  1073.         $context['_iterated'] = false;
  1074.         $context['loop'] = [
  1075.           'parent' => $context['_parent'],
  1076.           'index0' => 0,
  1077.           'index'  => 1,
  1078.           'first'  => true,
  1079.         ];
  1080.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1081.             $length count($context['_seq']);
  1082.             $context['loop']['revindex0'] = $length 1;
  1083.             $context['loop']['revindex'] = $length;
  1084.             $context['loop']['length'] = $length;
  1085.             $context['loop']['last'] = === $length;
  1086.         }
  1087.         foreach ($context['_seq'] as $context["_key"] => $context["img"]) {
  1088.             // line 956
  1089.             echo "                    \"";
  1090.             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.'956$this->source); })()), "request", [], "any"falsefalsetrue956), "schemeAndHttpHost", [], "any"falsefalsetrue956), 956$this->source), "html"nulltrue);
  1091.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["img"], 956$this->source), "save_image"), "html"nulltrue);
  1092.             echo "\"";
  1093.             if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsetrue956)) {
  1094.                 echo ",";
  1095.             }
  1096.             // line 957
  1097.             echo "                ";
  1098.             $context['_iterated'] = true;
  1099.             ++$context['loop']['index0'];
  1100.             ++$context['loop']['index'];
  1101.             $context['loop']['first'] = false;
  1102.             if (isset($context['loop']['length'])) {
  1103.                 --$context['loop']['revindex0'];
  1104.                 --$context['loop']['revindex'];
  1105.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  1106.             }
  1107.         }
  1108.         if (!$context['_iterated']) {
  1109.             // line 958
  1110.             echo "                    \"";
  1111.             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.'958$this->source); })()), "request", [], "any"falsefalsetrue958), "schemeAndHttpHost", [], "any"falsefalsetrue958), 958$this->source), "html"nulltrue);
  1112.             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);
  1113.             echo "\"
  1114.                 ";
  1115.         }
  1116.         $_parent $context['_parent'];
  1117.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
  1118.         $context array_intersect_key($context$_parent) + $_parent;
  1119.         // line 960
  1120.         echo "            ],
  1121.             \"description\": \"";
  1122.         // line 961
  1123.         echo twig_escape_filter($this->envtwig_slice($this->envtwig_replace_filter(((twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"truetruetrue961)) ? (_twig_default_filter($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"falsefalsetrue961), 961$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.'961$this->source); })()), "description_detail", [], "any"falsefalsetrue961), 961$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.'961$this->source); })()), "description_detail", [], "any"falsefalsetrue961))), ["
  1124. => """ " => ""]), 0300), "html"nulltrue);
  1125.         echo "\",
  1126.             ";
  1127.         // line 962
  1128.         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.'962$this->source); })()), "code_min", [], "any"falsefalsetrue962)) {
  1129.             // line 963
  1130.             echo "            \"sku\": \"";
  1131.             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.'963$this->source); })()), "code_min", [], "any"falsefalsetrue963), 963$this->source), "html"nulltrue);
  1132.             echo "\",
  1133.             ";
  1134.         }
  1135.         // line 965
  1136.         echo "            \"offers\": {
  1137.                 \"@type\": \"Offer\",
  1138.                 \"url\": \"";
  1139.         // line 967
  1140.         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.'967$this->source); })()), "id", [], "any"falsefalsetrue967)]), "html"nulltrue);
  1141.         echo "\",
  1142.                 \"priceCurrency\": \"";
  1143.         // line 968
  1144.         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.'968$this->source); })()), "currency", [], "any"falsefalsetrue968), 968$this->source), "html"nulltrue);
  1145.         echo "\",
  1146.                 \"price\": ";
  1147.         // line 969
  1148.         ((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.'969$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue969)) ? (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.'969$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue969), "html"nulltrue))) : (print (0)));
  1149.         echo ",
  1150.                 \"availability\": \"";
  1151.         // line 970
  1152.         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.'970$this->source); })()), "stock_find", [], "any"falsefalsetrue970)) ? ("InStock") : ("OutOfStock"));
  1153.         echo "\"
  1154.             }
  1155.         }
  1156.         </script>
  1157.     ";
  1158.         
  1159.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1160.         
  1161.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1162.     }
  1163.     // line 976
  1164.     public function block_main($context, array $blocks = [])
  1165.     {
  1166.         $macros $this->macros;
  1167.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1168.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  1169.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1170.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  1171.         // line 977
  1172.         echo "        <div class=\"ec-productRole\">
  1173.             <div class=\"ec-grid2\">
  1174.                 <div class=\"ec-grid2___ell product_name_sp\" style=\"margin-top: 10px;\">
  1175.                     <div class=\"ec-productRole__profile\">
  1176.                         <div class=\"productBadge sp_show\">
  1177.                             ";
  1178.         // line 982
  1179.         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.'982$this->source); })()), "is_freeze", [], "any"falsefalsetrue982) == "1")) {
  1180.             // line 983
  1181.             echo "                            <span class=\"freeze\">冷凍</span>
  1182.                             ";
  1183.         }
  1184.         // line 985
  1185.         echo "                        </div>
  1186.                         ";
  1187.         // line 987
  1188.         echo "                        <div class=\"ec-productRole__title\">
  1189.                             <h2 class=\"ec-headingTitle\">";
  1190.         // line 988
  1191.         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.'988$this->source); })()), "name", [], "any"falsefalsetrue988), 988$this->source), "html"nulltrue);
  1192.         echo "</h2>
  1193.                         </div>
  1194.                     </div>
  1195.                 </div>
  1196.                 <div class=\"ec-grid2__cell\">
  1197.                     <div class=\"ec-sliderItemRole\">
  1198.                         <div class=\"item_visual\">
  1199.                             ";
  1200.         // line 995
  1201.         if ((twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "intro_video_embed_html", [], "any"truetruetrue995) && 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.'995$this->source); })()), "intro_video_embed_html", [], "any"falsefalsetrue995))) {
  1202.             // line 996
  1203.             echo "                                ";
  1204.             $context['_parent'] = $context;
  1205.             $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.'996$this->source); })()), "ProductImage", [], "any"falsefalsetrue996));
  1206.             $context['_iterated'] = false;
  1207.             $context['loop'] = [
  1208.               'parent' => $context['_parent'],
  1209.               'index0' => 0,
  1210.               'index'  => 1,
  1211.               'first'  => true,
  1212.             ];
  1213.             if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1214.                 $length count($context['_seq']);
  1215.                 $context['loop']['revindex0'] = $length 1;
  1216.                 $context['loop']['revindex'] = $length;
  1217.                 $context['loop']['length'] = $length;
  1218.                 $context['loop']['last'] = === $length;
  1219.             }
  1220.             foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  1221.                 // line 997
  1222.                 echo "                                    <div class=\"slide-item\" style=\"position:relative;\">
  1223.                                         ";
  1224.                 // line 999
  1225.                 echo "                                        ";
  1226.                 if (twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsetrue999)) {
  1227.                     // line 1000
  1228.                     echo "                                            <img src=\"";
  1229.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 1000$this->source), "save_image"), "html"nulltrue);
  1230.                     echo "\" alt=\"";
  1231.                     ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsetrue1000)) ? (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.'1000$this->source); })()), "name", [], "any"falsefalsetrue1000), "html"nulltrue))) : (print ("")));
  1232.                     echo "\" width=\"550\" height=\"550\"";
  1233.                     if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsetrue1000) > 1)) {
  1234.                         echo " loading=\"lazy\"";
  1235.                     }
  1236.                     echo " class=\"play-button-overlay\">
  1237.                                         ";
  1238.                 } else {
  1239.                     // line 1002
  1240.                     echo "                                            <img src=\"";
  1241.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 1002$this->source), "save_image"), "html"nulltrue);
  1242.                     echo "\" alt=\"";
  1243.                     ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsetrue1002)) ? (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.'1002$this->source); })()), "name", [], "any"falsefalsetrue1002), "html"nulltrue))) : (print ("")));
  1244.                     echo "\" width=\"550\" height=\"550\"";
  1245.                     if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsetrue1002) > 1)) {
  1246.                         echo " loading=\"lazy\"";
  1247.                     }
  1248.                     echo ">
  1249.                                         ";
  1250.                 }
  1251.                 // line 1003
  1252.                 echo "                                
  1253.                                     </div>
  1254.                                 ";
  1255.                 $context['_iterated'] = true;
  1256.                 ++$context['loop']['index0'];
  1257.                 ++$context['loop']['index'];
  1258.                 $context['loop']['first'] = false;
  1259.                 if (isset($context['loop']['length'])) {
  1260.                     --$context['loop']['revindex0'];
  1261.                     --$context['loop']['revindex'];
  1262.                     $context['loop']['last'] = === $context['loop']['revindex0'];
  1263.                 }
  1264.             }
  1265.             if (!$context['_iterated']) {
  1266.                 // line 1006
  1267.                 echo "                                    <div class=\"slide-item\"><img src=\"";
  1268.                 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);
  1269.                 echo "\" alt=\"";
  1270.                 ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsetrue1006)) ? (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.'1006$this->source); })()), "name", [], "any"falsefalsetrue1006), "html"nulltrue))) : (print ("")));
  1271.                 echo "\" width=\"550\" height=\"550\"></div>
  1272.                                 ";
  1273.             }
  1274.             $_parent $context['_parent'];
  1275.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  1276.             $context array_intersect_key($context$_parent) + $_parent;
  1277.             // line 1008
  1278.             echo "                            ";
  1279.         } else {
  1280.             // line 1009
  1281.             echo "                                ";
  1282.             $context['_parent'] = $context;
  1283.             $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.'1009$this->source); })()), "ProductImage", [], "any"falsefalsetrue1009));
  1284.             $context['_iterated'] = false;
  1285.             $context['loop'] = [
  1286.               'parent' => $context['_parent'],
  1287.               'index0' => 0,
  1288.               'index'  => 1,
  1289.               'first'  => true,
  1290.             ];
  1291.             if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1292.                 $length count($context['_seq']);
  1293.                 $context['loop']['revindex0'] = $length 1;
  1294.                 $context['loop']['revindex'] = $length;
  1295.                 $context['loop']['length'] = $length;
  1296.                 $context['loop']['last'] = === $length;
  1297.             }
  1298.             foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  1299.                 // line 1010
  1300.                 echo "                                    <div class=\"slide-item\"><img src=\"";
  1301.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 1010$this->source), "save_image"), "html"nulltrue);
  1302.                 echo "\" alt=\"";
  1303.                 ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsetrue1010)) ? (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.'1010$this->source); })()), "name", [], "any"falsefalsetrue1010), "html"nulltrue))) : (print ("")));
  1304.                 echo "\" width=\"550\" height=\"550\"";
  1305.                 if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsetrue1010) > 1)) {
  1306.                     echo " loading=\"lazy\"";
  1307.                 }
  1308.                 echo "></div>
  1309.                                 ";
  1310.                 $context['_iterated'] = true;
  1311.                 ++$context['loop']['index0'];
  1312.                 ++$context['loop']['index'];
  1313.                 $context['loop']['first'] = false;
  1314.                 if (isset($context['loop']['length'])) {
  1315.                     --$context['loop']['revindex0'];
  1316.                     --$context['loop']['revindex'];
  1317.                     $context['loop']['last'] = === $context['loop']['revindex0'];
  1318.                 }
  1319.             }
  1320.             if (!$context['_iterated']) {
  1321.                 // line 1012
  1322.                 echo "                                    <div class=\"slide-item\"><img src=\"";
  1323.                 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);
  1324.                 echo "\" alt=\"";
  1325.                 ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsetrue1012)) ? (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.'1012$this->source); })()), "name", [], "any"falsefalsetrue1012), "html"nulltrue))) : (print ("")));
  1326.                 echo "\" width=\"550\" height=\"550\"></div>
  1327.                                 ";
  1328.             }
  1329.             $_parent $context['_parent'];
  1330.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  1331.             $context array_intersect_key($context$_parent) + $_parent;
  1332.             // line 1014
  1333.             echo "                            ";
  1334.         }
  1335.         // line 1015
  1336.         echo "                        </div>
  1337.                         <div class=\"item_nav\">
  1338.                             ";
  1339.         // line 1017
  1340.         if ((twig_length_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.'1017$this->source); })()), "ProductImage", [], "any"falsefalsetrue1017)) >= 2)) {
  1341.             // line 1018
  1342.             echo "                            ";
  1343.             $context['_parent'] = $context;
  1344.             $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.'1018$this->source); })()), "ProductImage", [], "any"falsefalsetrue1018));
  1345.             $context['loop'] = [
  1346.               'parent' => $context['_parent'],
  1347.               'index0' => 0,
  1348.               'index'  => 1,
  1349.               'first'  => true,
  1350.             ];
  1351.             if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1352.                 $length count($context['_seq']);
  1353.                 $context['loop']['revindex0'] = $length 1;
  1354.                 $context['loop']['revindex'] = $length;
  1355.                 $context['loop']['length'] = $length;
  1356.                 $context['loop']['last'] = === $length;
  1357.             }
  1358.             foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  1359.                 // line 1019
  1360.                 echo "                                <div class=\"slideThumb\" data-index=\"";
  1361.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsetrue1019), 1019$this->source), "html"nulltrue);
  1362.                 echo "\"><img src=\"";
  1363.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed($context["ProductImage"], 1019$this->source), "save_image"), "html"nulltrue);
  1364.                 echo "\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
  1365.                             ";
  1366.                 ++$context['loop']['index0'];
  1367.                 ++$context['loop']['index'];
  1368.                 $context['loop']['first'] = false;
  1369.                 if (isset($context['loop']['length'])) {
  1370.                     --$context['loop']['revindex0'];
  1371.                     --$context['loop']['revindex'];
  1372.                     $context['loop']['last'] = === $context['loop']['revindex0'];
  1373.                 }
  1374.             }
  1375.             $_parent $context['_parent'];
  1376.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  1377.             $context array_intersect_key($context$_parent) + $_parent;
  1378.             // line 1021
  1379.             echo "                            ";
  1380.         }
  1381.         // line 1022
  1382.         echo "                        </div>
  1383.                     </div>
  1384.                 </div>
  1385.                 <div class=\"ec-grid2__cell\" style=\"\">
  1386.                     <div class=\"ec-productRole__profile\">
  1387.                         ";
  1388.         // line 1028
  1389.         echo "                        ";
  1390.         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.'1028$this->source); })()), "ProductCategories", [], "any"falsefalsetrue1028))) {
  1391.             // line 1029
  1392.             echo "                           <div class=\"\" style=\"font-size: 11px;\">
  1393.                                <div><a href=\"";
  1394.             // line 1030
  1395.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  1396.             echo "\">シコメルストア</a> > <a href=\"";
  1397.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  1398.             echo "?category_id=";
  1399.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_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.'1030$this->source); })()), "ProductCategories", [], "any"falsefalsetrue1030), 0, [], "array"falsefalsetrue1030), "Category", [], "any"falsefalsetrue1030), "id", [], "any"falsefalsetrue1030), 1030$this->source), "html"nulltrue);
  1400.             echo "\">";
  1401.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_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.'1030$this->source); })()), "ProductCategories", [], "any"falsefalsetrue1030), 0, [], "array"falsefalsetrue1030), "Category", [], "any"falsefalsetrue1030), "name", [], "any"falsefalsetrue1030), 1030$this->source), "html"nulltrue);
  1402.             echo "</a> > ";
  1403.             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.'1030$this->source); })()), "name", [], "any"falsefalsetrue1030), 1030$this->source), "html"nulltrue);
  1404.             echo "</div>                               
  1405.                            </div>
  1406.                         ";
  1407.         }
  1408.         // line 1033
  1409.         echo "                        ";
  1410.         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.'1033$this->source); })()), "is_recipe_book", [], "any"falsefalsetrue1033)) {
  1411.             // line 1034
  1412.             echo "                           <div class=\"\" style=\"font-size: 11px; margin-bottom: 10px;\">
  1413.                                <div><a href=\"";
  1414.             // line 1035
  1415.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  1416.             echo "\">シコメルストア</a> > ";
  1417.             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.'1035$this->source); })()), "name", [], "any"falsefalsetrue1035), 1035$this->source), "html"nulltrue);
  1418.             echo "</div>                               
  1419.                            </div>
  1420.                         ";
  1421.         }
  1422.         // line 1038
  1423.         echo "                        ";
  1424.         // line 1040
  1425.         echo "                        ";
  1426.         // line 1041
  1427.         echo "                        <div class=\"productBadge product_name_pc\">
  1428.                             ";
  1429.         // line 1042
  1430.         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.'1042$this->source); })()), "is_freeze", [], "any"falsefalsetrue1042) == "1")) {
  1431.             // line 1043
  1432.             echo "                            <span class=\"freeze\">冷凍</span>
  1433.                             ";
  1434.         }
  1435.         // line 1045
  1436.         echo "                        </div>
  1437.                         ";
  1438.         // line 1047
  1439.         echo "                        <div class=\"ec-productRole__title product_name_pc\">
  1440.                             <h2 class=\"ec-headingTitle\" style=\"padding-bottom: 5px;\">";
  1441.         // line 1048
  1442.         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.'1048$this->source); })()), "name", [], "any"falsefalsetrue1048), 1048$this->source), "html"nulltrue);
  1443.         echo "</h2>
  1444.                         </div>
  1445.                         ";
  1446.         // line 1051
  1447.         echo "                        ";
  1448.         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.'1051$this->source); })()), "description_list", [], "any"falsefalsetrue1051)) {
  1449.             // line 1052
  1450.             echo "                            <p style=\"margin-top: 10px; font-size: 14px; overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 5; max-height: 100px; margin-bottom: 10px;\">";
  1451.             echo twig_nl2br($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.'1052$this->source); })()), "description_list", [], "any"falsefalsetrue1052), 1052$this->source));
  1452.             echo "</p>
  1453.                         ";
  1454.         }
  1455.         // line 1054
  1456.         echo "                        ";
  1457.         // line 1055
  1458.         echo "                        <ul class=\"ec-productRole__tags\">
  1459.                             ";
  1460.         // line 1056
  1461.         $context['_parent'] = $context;
  1462.         $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.'1056$this->source); })()), "Tags", [], "any"falsefalsetrue1056));
  1463.         foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
  1464.             // line 1057
  1465.             echo "                                <a href=\"/products/list?name=";
  1466.             echo twig_escape_filter($this->envtwig_urlencode_filter($this->sandbox->ensureToStringAllowed($context["Tag"], 1057$this->source)), "html"nulltrue);
  1467.             echo "\">
  1468.                                     <li class=\"ec-productRole__tag tag_";
  1469.             // line 1058
  1470.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsetrue1058), 1058$this->source), "html"nulltrue);
  1471.             echo "\" style=\"color: #337AB7; text-decoration: underline;\">";
  1472.             echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed($context["Tag"], 1058$this->source), "html"nulltrue);
  1473.             echo "</li>
  1474.                                 </a>
  1475.                             ";
  1476.         }
  1477.         $_parent $context['_parent'];
  1478.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
  1479.         $context array_intersect_key($context$_parent) + $_parent;
  1480.         // line 1061
  1481.         echo "                        </ul>
  1482.                         ";
  1483.         // line 1063
  1484.         echo "                        <div class=\"ec-productRole__price\" style=\"padding: 0px;\">
  1485.                             <div class=\"ec-price\" style=\"margin-top: 10px;\">
  1486.                                 ";
  1487.         // line 1066
  1488.         echo "                                <div>
  1489.                                     <span class=\"ec-headingTitle\" style=\"font-size: 16px; font-weight: bold;  margin: 0px;\">";
  1490.         // line 1067
  1491.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1067$this->source); })()), "cost_per_unit", [], "any"falsefalsetrue1067), 1067$this->source)), "html"nulltrue);
  1492.         echo "</span>
  1493.                                     ";
  1494.         // line 1068
  1495.         if ( !(null === 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.'1068$this->source); })()), "cost_per_unit_gram", [], "any"falsefalsetrue1068))) {
  1496.             // line 1069
  1497.             echo "                                    <span class=\"ec-headingTitle\" style=\"font-size: 12px; font-weight: bold;  margin: 0px;\">(";
  1498.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1069$this->source); })()), "cost_per_unit_gram", [], "any"falsefalsetrue1069), 1069$this->source)), "html"nulltrue);
  1499.             echo ")</span>
  1500.                                     ";
  1501.         }
  1502.         // line 1071
  1503.         echo "                                </div>
  1504.                                 ";
  1505.         // line 1074
  1506.         echo "                                ";
  1507.         if ( !(null === 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.'1074$this->source); })()), "getPrice01Max", [], "any"falsefalsetrue1074))) {
  1508.             // line 1075
  1509.             echo "                                <div style=\"font-size: 16px; font-weight: 700; color: black; margin: 0px;\">
  1510.                                     <span class=\"ec-productRole__priceRegularPrice\" style=\"font-weight: 700; text-decoration: line-through;\">";
  1511.             // line 1076
  1512.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("通常価格"), "html"nulltrue);
  1513.             echo ":";
  1514.             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($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.'1076$this->source); })()), "getPrice01IncTaxMin", [], "any"falsefalsetrue1076), 1076$this->source)), "html"nulltrue);
  1515.             echo "</span>
  1516.                                     <span class=\"ec-productRole__priceRegularTax\">";
  1517.             // line 1077
  1518.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  1519.             echo "</span>
  1520.                                 </div>
  1521.                                 ";
  1522.         }
  1523.         // line 1080
  1524.         echo "                                ";
  1525.         // line 1081
  1526.         echo "                                ";
  1527.         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.'1081$this->source); })()), "standard_text", [], "any"falsefalsetrue1081)) {
  1528.             // line 1082
  1529.             echo "                                <span class=\"ec-headingTitle\" style=\"font-size: 14px; font-weight: 700;\">規格:";
  1530.             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.'1082$this->source); })()), "standard_text", [], "any"falsefalsetrue1082), 1082$this->source), "html"nulltrue);
  1531.             echo "</span>
  1532.                                 ";
  1533.         }
  1534.         // line 1084
  1535.         echo "                                ";
  1536.         // line 1085
  1537.         echo "                                ";
  1538.         if (( !(isset($context["has_purchased_recipe"]) || array_key_exists("has_purchased_recipe"$context) ? $context["has_purchased_recipe"] : (function () { throw new RuntimeError('Variable "has_purchased_recipe" does not exist.'1085$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.'1085$this->source); })()), "is_recipe_book", [], "any"falsefalsetrue1085))) {
  1539.             // line 1086
  1540.             echo "                                <div class=\"initial_purchase__message\">
  1541.                                     <span>初回購入は無料!</span>
  1542.                                     <br>
  1543.                                     <span style=\"white-space: nowrap;\">ぜひお試しください。</span>
  1544.                                 </div>
  1545.                                 ";
  1546.             // line 1092
  1547.             echo "                                <span class=\"ec-price__price\">¥0</span>
  1548.                                 <span class=\"ec-price__tax\" style=\"color: #b72704;\">";
  1549.             // line 1093
  1550.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  1551.             echo "</span>
  1552.                                 ";
  1553.         } else {
  1554.             // line 1095
  1555.             echo "                                ";
  1556.             // line 1096
  1557.             echo "                                <span class=\"ec-price__price\">";
  1558.             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter($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.'1096$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsetrue1096), 1096$this->source)), "html"nulltrue);
  1559.             echo "</span>
  1560.                                 <span class=\"ec-price__tax\" style=\"color: #b72704;\">";
  1561.             // line 1097
  1562.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  1563.             echo "</span>
  1564.                                 ";
  1565.         }
  1566.         // line 1099
  1567.         echo "                            </div>
  1568.                         </div>
  1569.                         ";
  1570.         // line 1102
  1571.         echo "                        ";
  1572.         // line 1103
  1573.         echo "                        ";
  1574.         // line 1104
  1575.         echo "                        ";
  1576.         // line 1105
  1577.         echo "                        ";
  1578.         // line 1106
  1579.         echo "                        ";
  1580.         // line 1107
  1581.         echo "                        ";
  1582.         // line 1108
  1583.         echo "                        ";
  1584.         // line 1122
  1585.         echo "                        <div class=\"ec-productRole__actions_area\">
  1586.                             <form action=\"";
  1587.         // line 1123
  1588.         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.'1123$this->source); })()), "id", [], "any"falsefalsetrue1123)]), "html"nulltrue);
  1589.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  1590.                                 ";
  1591.         // line 1124
  1592.         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.'1124$this->source); })()), "stock_find", [], "any"falsefalsetrue1124)) {
  1593.             // line 1125
  1594.             echo "                                    <div class=\"ec-productRole__actions\">
  1595.                                         ";
  1596.             // line 1126
  1597.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruetrue1126)) {
  1598.                 // line 1127
  1599.                 echo "                                            <div class=\"ec-select\">
  1600.                                                 ";
  1601.                 // line 1128
  1602.                 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.'1128$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue1128), 1128$this->source), 'row');
  1603.                 echo "
  1604.                                                 ";
  1605.                 // line 1129
  1606.                 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.'1129$this->source); })()), "classcategory_id1", [], "any"falsefalsetrue1129), 1129$this->source), 'errors');
  1607.                 echo "
  1608.                                             </div>
  1609.                                             ";
  1610.                 // line 1131
  1611.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruetrue1131)) {
  1612.                     // line 1132
  1613.                     echo "                                                <div class=\"ec-select\">
  1614.                                                     ";
  1615.                     // line 1133
  1616.                     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.'1133$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue1133), 1133$this->source), 'row');
  1617.                     echo "
  1618.                                                     ";
  1619.                     // line 1134
  1620.                     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.'1134$this->source); })()), "classcategory_id2", [], "any"falsefalsetrue1134), 1134$this->source), 'errors');
  1621.                     echo "
  1622.                                                 </div>
  1623.                                             ";
  1624.                 }
  1625.                 // line 1137
  1626.                 echo "                                        ";
  1627.             }
  1628.             // line 1138
  1629.             echo "                                        <div class=\"ec-numberInput\">
  1630.                                             ";
  1631.             // line 1139
  1632.             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.'1139$this->source); })()), "is_recipe_book", [], "any"falsefalsetrue1139)) {
  1633.                 // line 1140
  1634.                 echo "                                                <span style=\"min-width: 40px; font-size: 14px;\">";
  1635.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  1636.                 echo "</span>
  1637.                                                 ";
  1638.                 // line 1141
  1639.                 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.'1141$this->source); })()), "quantity", [], "any"falsefalsetrue1141), 1141$this->source), 'widget');
  1640.                 echo "
  1641.                                                 ";
  1642.                 // line 1142
  1643.                 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.'1142$this->source); })()), "quantity", [], "any"falsefalsetrue1142), 1142$this->source), 'errors');
  1644.                 echo "
  1645.                                             ";
  1646.             } else {
  1647.                 // line 1144
  1648.                 echo "                                                ";
  1649.                 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.'1144$this->source); })()), "quantity", [], "any"falsefalsetrue1144), 1144$this->source), 'widget', ["type" => "hidden"]);
  1650.                 echo "
  1651.                                             ";
  1652.             }
  1653.             // line 1146
  1654.             echo "                                            ";
  1655.             // line 1147
  1656.             echo "                                            ";
  1657.             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.'1147$this->source); })()), "is_recipe_book", [], "any"falsefalsetrue1147)) {
  1658.                 // line 1148
  1659.                 echo "                                                ";
  1660.                 if ((twig_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.'1148$this->source); })()), "user", [], "any"falsefalsetrue1148) &&  !(isset($context["has_purchased_product"]) || array_key_exists("has_purchased_product"$context) ? $context["has_purchased_product"] : (function () { throw new RuntimeError('Variable "has_purchased_product" does not exist.'1148$this->source); })()))) {
  1661.                     // line 1149
  1662.                     echo "                                                    <div class=\"ec-productRole__btn purchased__btn\" style=\"\">
  1663.                                                         <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  1664.                                                             ";
  1665.                     // line 1151
  1666.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  1667.                     echo "
  1668.                                                         </button>
  1669.                                                     </div>
  1670.                                                 ";
  1671.                 } elseif ((twig_get_attribute($this->env$this->source,                 // line 1154
  1672. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'1154$this->source); })()), "user", [], "any"falsefalsetrue1154) && (isset($context["has_purchased_product"]) || array_key_exists("has_purchased_product"$context) ? $context["has_purchased_product"] : (function () { throw new RuntimeError('Variable "has_purchased_product" does not exist.'1154$this->source); })()))) {
  1673.                     // line 1155
  1674.                     echo "                                                    <div class=\"ec-productRole__btn purchased__btn\">
  1675.                                                         <button type=\"button\" class=\"ec-blockBtn--action add-cart\" disabled=\"disabled\">
  1676.                                                             ";
  1677.                     // line 1157
  1678.                     echo "注文済みです";
  1679.                     echo "
  1680.                                                         </button>
  1681.                                                     </div>
  1682.                                                 ";
  1683.                 } elseif ( !twig_get_attribute($this->env$this->source,                 // line 1160
  1684. (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'1160$this->source); })()), "user", [], "any"falsefalsetrue1160)) {
  1685.                     // line 1161
  1686.                     echo "                                                    <div class=\"ec-productRole__btn purchased__btn\">
  1687.                                                         <button type=\"button\" class=\"ec-blockBtn--action add-cart\" disabled=\"disabled\">
  1688.                                                             ";
  1689.                     // line 1163
  1690.                     echo "カートに入れる";
  1691.                     echo "
  1692.                                                         </button>
  1693.                                                         <span>※ログインするとカートに入れられます。</span>
  1694.                                                     </div>
  1695.                                                 ";
  1696.                 }
  1697.                 // line 1168
  1698.                 echo "                                            ";
  1699.             } else {
  1700.                 // line 1169
  1701.                 echo "                                                <div class=\"ec-productRole__btn\">
  1702.                                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  1703.                                                         ";
  1704.                 // line 1171
  1705.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  1706.                 echo "
  1707.                                                     </button>
  1708.                                                 </div>
  1709.                                             ";
  1710.             }
  1711.             // line 1175
  1712.             echo "                                        </div>
  1713.                                     </div>
  1714.                                 ";
  1715.         } else {
  1716.             // line 1178
  1717.             echo "                                    <div class=\"ec-productRole__btn soldout__btn\" style=\"max-width: 350px; min-width: 100px; margin-right: 20px; margin-top: 10px;\">
  1718.                                         <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  1719.                                             ";
  1720.             // line 1180
  1721.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  1722.             echo "
  1723.                                         </button>
  1724.                                         ";
  1725.             // line 1182
  1726.             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.'1182$this->source); })()), "restock_date", [], "any"falsefalsetrue1182)) {
  1727.                 // line 1183
  1728.                 echo "                                            <div class=\"restock_date\">
  1729.                                                 <span>※";
  1730.                 // line 1184
  1731.                 echo twig_escape_filter($this->envtwig_date_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.'1184$this->source); })()), "restock_date", [], "any"falsefalsetrue1184), 1184$this->source), "Y年n月j日"), "html"nulltrue);
  1732.                 echo "に入荷予定</span>
  1733.                                             </div>
  1734.                                         ";
  1735.             }
  1736.             // line 1187
  1737.             echo "                                    </div>
  1738.                                 ";
  1739.         }
  1740.         // line 1189
  1741.         echo "
  1742.                                 ";
  1743.         // line 1190
  1744.         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.'1190$this->source); })()), 1190$this->source), 'rest');
  1745.         echo "
  1746.                             </form>
  1747.                             ";
  1748.         // line 1192
  1749.         if (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.'1192$this->source); })()), "option_favorite_product", [], "any"falsefalsetrue1192)) {
  1750.             // line 1193
  1751.             echo "                                <form action=\"";
  1752.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_add_favorite", ["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.'1193$this->source); })()), "id", [], "any"falsefalsetrue1193)]), "html"nulltrue);
  1753.             echo "\" method=\"post\" class=\"add_favorite_form\">
  1754.                                     <div class=\"ec-productRole__btn\" style=\"width: 100%; min-width: auto;\">
  1755.                                         ";
  1756.             // line 1195
  1757.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'1195$this->source); })()) == false)) {
  1758.                 // line 1196
  1759.                 echo "                                            <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel favorite_button\">
  1760.                                                 ";
  1761.                 // line 1197
  1762.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに登録"), "html"nulltrue);
  1763.                 echo "
  1764.                                             </button>
  1765.                                         ";
  1766.             } else {
  1767.                 // line 1200
  1768.                 echo "                                            <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel favorite_button\"
  1769.                                                     disabled=\"disabled\">";
  1770.                 // line 1201
  1771.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに登録済"), "html"nulltrue);
  1772.                 echo "
  1773.                                             </button>
  1774.                                         ";
  1775.             }
  1776.             // line 1204
  1777.             echo "                                    </div>
  1778.                                 </form>
  1779.                             ";
  1780.         }
  1781.         // line 1207
  1782.         echo "                        </div>
  1783.                         <div class=\"ec-modal\" id=\"ec-modal\">
  1784.                             <div class=\"ec-modal-overlay\">
  1785.                                 <div class=\"ec-modal-wrap\">
  1786.                                     <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  1787.         // line 1211
  1788.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  1789.         echo "\" alt=\"\"/></span></span>
  1790.                                     <div id=\"ec-modal-header\" class=\"text-center\">";
  1791.         // line 1212
  1792.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  1793.         echo "</div>
  1794.                                     <div class=\"ec-modal-box\">
  1795.                                         <div class=\"ec-role\">
  1796.                                             <span class=\"ec-inlineBtn--cancel\">";
  1797.         // line 1215
  1798.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  1799.         echo "</span>
  1800.                                             <a href=\"";
  1801.         // line 1216
  1802.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  1803.         echo "\" class=\"ec-inlineBtn--action\">";
  1804.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  1805.         echo "</a>
  1806.                                         </div>
  1807.                                     </div>
  1808.                                 </div>
  1809.                             </div>
  1810.                         </div>
  1811.                         ";
  1812.         // line 1223
  1813.         echo "                        ";
  1814.         if ( !twig_test_empty((isset($context["referencingProducts"]) || array_key_exists("referencingProducts"$context) ? $context["referencingProducts"] : (function () { throw new RuntimeError('Variable "referencingProducts" does not exist.'1223$this->source); })()))) {
  1815.             // line 1224
  1816.             echo "                        <div style=\"margin-top: 20px; font-weight: bold; display: flex; justify-content: space-between; align-items: center;\">
  1817.                             <span>ご一緒にいかがですか?</span>
  1818.                             <a href=\"https://web-order.shikomel.com/user_data/recipe_book_lp\" style=\"color: #337AB7; font-size: 14px;\" target=\"_blank\">
  1819.                                 レシピ帖とは
  1820.                                 <i class=\"far fa-question-circle\" style=\"margin-left: 5px;\"></i>
  1821.                             </a>
  1822.                         </div>
  1823.                         ";
  1824.             // line 1232
  1825.             echo "                        <div class=\"recipe_book_carousel sp-only\">
  1826.                             ";
  1827.             // line 1233
  1828.             $context['_parent'] = $context;
  1829.             $context['_seq'] = twig_ensure_traversable((isset($context["referencingProducts"]) || array_key_exists("referencingProducts"$context) ? $context["referencingProducts"] : (function () { throw new RuntimeError('Variable "referencingProducts" does not exist.'1233$this->source); })()));
  1830.             foreach ($context['_seq'] as $context["_key"] => $context["RefProduct"]) {
  1831.                 // line 1234
  1832.                 echo "                            <div class=\"item slick-slide\" style=\"padding: 6px; width: 202px; display: inline-block;\" aria-hidden=\"true\">
  1833.                                 <a href=\"";
  1834.                 // line 1235
  1835.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env$this->source$context["RefProduct"], "id", [], "any"falsefalsetrue1235)]), "html"nulltrue);
  1836.                 echo "\" tabindex=\"-1\">
  1837.                                     <img class=\"recipe_book__image\" src=\"";
  1838.                 // line 1236
  1839.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["RefProduct"], "main_list_image", [], "any"falsefalsetrue1236), 1236$this->source)), "save_image"), "html"nulltrue);
  1840.                 echo "\">
  1841.                                     <p class=\"recipe_book__name\">";
  1842.                 // line 1237
  1843.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["RefProduct"], "name", [], "any"falsefalsetrue1237), 1237$this->source), "html"nulltrue);
  1844.                 echo "</p>
  1845.                                 </a>
  1846.                             </div>
  1847.                             ";
  1848.             }
  1849.             $_parent $context['_parent'];
  1850.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['RefProduct'], $context['_parent'], $context['loop']);
  1851.             $context array_intersect_key($context$_parent) + $_parent;
  1852.             // line 1241
  1853.             echo "                        </div>
  1854.                         <div class=\"pc-only\">
  1855.                             ";
  1856.             // line 1243
  1857.             $context['_parent'] = $context;
  1858.             $context['_seq'] = twig_ensure_traversable((isset($context["referencingProducts"]) || array_key_exists("referencingProducts"$context) ? $context["referencingProducts"] : (function () { throw new RuntimeError('Variable "referencingProducts" does not exist.'1243$this->source); })()));
  1859.             foreach ($context['_seq'] as $context["_key"] => $context["RefProduct"]) {
  1860.                 // line 1244
  1861.                 echo "                            <div class=\"item\" style=\"padding: 6px; width: 100%; display: inline-block; max-width: 170px;\" aria-hidden=\"true\">
  1862.                                 <a href=\"";
  1863.                 // line 1245
  1864.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env$this->source$context["RefProduct"], "id", [], "any"falsefalsetrue1245)]), "html"nulltrue);
  1865.                 echo "\" tabindex=\"-1\">
  1866.                                     <img class=\"recipe_book__image\" src=\"";
  1867.                 // line 1246
  1868.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct($this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["RefProduct"], "main_list_image", [], "any"falsefalsetrue1246), 1246$this->source)), "save_image"), "html"nulltrue);
  1869.                 echo "\">
  1870.                                     <p class=\"recipe_book__name\">";
  1871.                 // line 1247
  1872.                 echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed(twig_get_attribute($this->env$this->source$context["RefProduct"], "name", [], "any"falsefalsetrue1247), 1247$this->source), "html"nulltrue);
  1873.                 echo "</p>
  1874.                                 </a>
  1875.                             </div>
  1876.                             ";
  1877.             }
  1878.             $_parent $context['_parent'];
  1879.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['RefProduct'], $context['_parent'], $context['loop']);
  1880.             $context array_intersect_key($context$_parent) + $_parent;
  1881.             // line 1251
  1882.             echo "                        </div>
  1883.                         ";
  1884.         }
  1885.         // line 1253
  1886.         echo "                        ";
  1887.         // line 1254
  1888.         echo "
  1889.                         ";
  1890.         // line 1256
  1891.         echo "                        ";
  1892.         if ((twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "intro_video_embed_html", [], "any"truetruetrue1256) && 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.'1256$this->source); })()), "intro_video_embed_html", [], "any"falsefalsetrue1256))) {
  1893.             // line 1257
  1894.             echo "                        <div class=\"ec-modal\" id=\"product_video\">
  1895.                             <div class=\"ec-modal-overlay\">
  1896.                                 <div class=\"ec-modal-wrap\">
  1897.                                     <div class=\"ec-modal-box\" style=\"margin-top: 24px;\">
  1898.                                         <span class=\"ec-modal-close\">
  1899.                                             <span class=\"ec-icon\"><img src=\"";
  1900.             // line 1262
  1901.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  1902.             echo "\" alt=\"\"/>
  1903.                                             </span>
  1904.                                         </span>
  1905.                                         <iframe id=\"video_iframe\" src=\"";
  1906.             // line 1265
  1907.             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.'1265$this->source); })()), "intro_video_embed_html", [], "any"falsefalsetrue1265), 1265$this->source), "html"nulltrue);
  1908.             echo "\" title=\"商品紹介動画\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>
  1909.                                     </div>
  1910.                                 </div>
  1911.                             </div>
  1912.                         </div>
  1913.                         ";
  1914.         }
  1915.         // line 1271
  1916.         echo "
  1917.                         ";
  1918.         // line 1272
  1919.         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.'1272$this->source); })()), "cost_per_meal", [], "any"falsefalsetrue1272) || 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.'1272$this->source); })()), "price_per_meal", [], "any"falsefalsetrue1272)) || 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.'1272$this->source); })()), "profit_per_meal", [], "any"falsefalsetrue1272))) {
  1920.             // line 1273
  1921.             echo "                        <div style=\"margin-top: 20px;\">
  1922.                             <span style=\"font-weight: bold;\">FLコスト参考</span>
  1923.                             <table class=\"table table-ProductDetail\" style=\"max-width: 800px; margin-bottom: 30px;\">
  1924.                                 <tbody> 
  1925.                                     ";
  1926.             // line 1277
  1927.             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.'1277$this->source); })()), "cost_per_meal", [], "any"falsefalsetrue1277)) {
  1928.                 // line 1278
  1929.                 echo "                                    <tr>
  1930.                                         <td>1食当たり原価</td>
  1931.                                         <td>";
  1932.                 // line 1280
  1933.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1280$this->source); })()), "cost_per_meal", [], "any"falsefalsetrue1280), 1280$this->source)), "html"nulltrue);
  1934.                 echo "</td>
  1935.                                     </tr>
  1936.                                     ";
  1937.             }
  1938.             // line 1283
  1939.             echo "
  1940.                                     ";
  1941.             // line 1284
  1942.             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.'1284$this->source); })()), "price_per_meal", [], "any"falsefalsetrue1284)) {
  1943.                 // line 1285
  1944.                 echo "                                    <tr>
  1945.                                         <td>1食当たり売価</td>
  1946.                                         <td>";
  1947.                 // line 1287
  1948.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1287$this->source); })()), "price_per_meal", [], "any"falsefalsetrue1287), 1287$this->source)), "html"nulltrue);
  1949.                 echo "</td>
  1950.                                     </tr>
  1951.                                     ";
  1952.             }
  1953.             // line 1290
  1954.             echo "
  1955.                                     ";
  1956.             // line 1291
  1957.             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.'1291$this->source); })()), "profit_per_meal", [], "any"falsefalsetrue1291)) {
  1958.                 // line 1292
  1959.                 echo "                                    <tr>
  1960.                                         <td>1食当たり粗利</td>
  1961.                                         <td>";
  1962.                 // line 1294
  1963.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1294$this->source); })()), "profit_per_meal", [], "any"falsefalsetrue1294), 1294$this->source)), "html"nulltrue);
  1964.                 echo "</td>
  1965.                                     </tr>
  1966.                                     ";
  1967.             }
  1968.             // line 1297
  1969.             echo "                                </tbody>
  1970.                             </table>
  1971.                         </div>
  1972.                         ";
  1973.         }
  1974.         // line 1301
  1975.         echo "
  1976.                         ";
  1977.         // line 1302
  1978.         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.'1302$this->source); })()), "expiration_date", [], "any"falsefalsetrue1302) || 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.'1302$this->source); })()), "cooking_instructions", [], "any"falsefalsetrue1302)) || 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.'1302$this->source); })()), "storage_method", [], "any"falsefalsetrue1302)) || 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.'1302$this->source); })()), "raw_materials", [], "any"falsefalsetrue1302)) || 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.'1302$this->source); })()), "allergy_information", [], "any"falsefalsetrue1302)) || 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.'1302$this->source); })()), "allergy_information_20", [], "any"falsefalsetrue1302))) {
  1979.             // line 1303
  1980.             echo "                        <table class=\"table table-ProductDetail\" id=\"base-info\" style=\"max-width: 800px; margin-bottom: 30px;\">
  1981.                             <span style=\"font-weight: bold;\">商品基本情報</span>
  1982.                             <tbody> 
  1983.                                 ";
  1984.             // line 1307
  1985.             echo "                                ";
  1986.             // line 1313
  1987.             echo "                                ";
  1988.             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.'1313$this->source); })()), "cooking_instructions", [], "any"falsefalsetrue1313)) {
  1989.                 // line 1314
  1990.                 echo "                                <tr>
  1991.                                     <td>調理方法</td>
  1992.                                     <td>";
  1993.                 // line 1316
  1994.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1316$this->source); })()), "cooking_instructions", [], "any"falsefalsetrue1316), 1316$this->source)), "html"nulltrue);
  1995.                 echo "
  1996. ";
  1997.                 // line 1317
  1998.                 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.'1317$this->source); })()), "cooking_note_url", [], "any"falsefalsetrue1317)) {
  1999.                     echo "<a href=\"";
  2000.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1317$this->source); })()), "cooking_note_url", [], "any"falsefalsetrue1317), 1317$this->source)), "html"nulltrue);
  2001.                     echo "\" style=\"font-weight: bold; text-decoration: underline; padding-top: 20px; display: block; padding-bottom: 20px;\" target=\"_blank\">さらに詳しい調理方法を見る";
  2002.                 }
  2003.                 echo "</td>
  2004.                                 </tr>
  2005.                                 ";
  2006.             }
  2007.             // line 1320
  2008.             echo "                                ";
  2009.             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.'1320$this->source); })()), "storage_method", [], "any"falsefalsetrue1320)) {
  2010.                 // line 1321
  2011.                 echo "                                <tr>
  2012.                                     <td>保存方法</td>
  2013.                                     <td>";
  2014.                 // line 1323
  2015.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1323$this->source); })()), "storage_method", [], "any"falsefalsetrue1323), 1323$this->source)), "html"nulltrue);
  2016.                 echo "</td>
  2017.                                 </tr>
  2018.                                 ";
  2019.             }
  2020.             // line 1326
  2021.             echo "                                ";
  2022.             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.'1326$this->source); })()), "raw_materials", [], "any"falsefalsetrue1326)) {
  2023.                 // line 1327
  2024.                 echo "                                <tr>
  2025.                                     <td>原材料</td>
  2026.                                     <td>";
  2027.                 // line 1329
  2028.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1329$this->source); })()), "raw_materials", [], "any"falsefalsetrue1329), 1329$this->source)), "html"nulltrue);
  2029.                 echo "</td>
  2030.                                 </tr>
  2031.                                 ";
  2032.             }
  2033.             // line 1332
  2034.             echo "                                ";
  2035.             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.'1332$this->source); })()), "allergy_information", [], "any"falsefalsetrue1332)) {
  2036.                 // line 1333
  2037.                 echo "                                <tr>
  2038.                                     <td>アレルギー情報 主要8項目</td>
  2039.                                     <td>";
  2040.                 // line 1335
  2041.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1335$this->source); })()), "allergy_information", [], "any"falsefalsetrue1335), 1335$this->source)), "html"nulltrue);
  2042.                 echo "</td>
  2043.                                 </tr>
  2044.                                 ";
  2045.             }
  2046.             // line 1338
  2047.             echo "                                ";
  2048.             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.'1338$this->source); })()), "allergy_information_20", [], "any"falsefalsetrue1338)) {
  2049.                 // line 1339
  2050.                 echo "                                <tr>
  2051.                                     <td>アレルギー情報 その他20項目</td>
  2052.                                     <td>";
  2053.                 // line 1341
  2054.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($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.'1341$this->source); })()), "allergy_information_20", [], "any"falsefalsetrue1341), 1341$this->source)), "html"nulltrue);
  2055.                 echo "</td>
  2056.                                 </tr>
  2057.                                 ";
  2058.             }
  2059.             // line 1344
  2060.             echo "                            </tbody>
  2061.                         </table>
  2062.                         ";
  2063.         }
  2064.         // line 1347
  2065.         echo "                    </div>
  2066.                 </div>
  2067.             </div>
  2068.             ";
  2069.         // line 1351
  2070.         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.'1351$this->source); })()), "cook_movie_url", [], "any"falsefalsetrue1351)) {
  2071.             // line 1352
  2072.             echo "            <div class=\"youtube\" style=\"max-width: 500px; margin: auto; margin-top: 30px;\">
  2073.                 <span style=\"font-weight: bold;\">参考調理動画</span>
  2074.                 <iframe src=\"";
  2075.             // line 1354
  2076.             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.'1354$this->source); })()), "cook_movie_url", [], "any"falsefalsetrue1354), 1354$this->source), "html"nulltrue);
  2077.             echo "\" title=\"参考調理動画 ";
  2078.             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.'1354$this->source); })()), "name", [], "any"falsefalsetrue1354), 1354$this->source), "html"nulltrue);
  2079.             echo "\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>
  2080.             </div>
  2081.             ";
  2082.         }
  2083.         // line 1357
  2084.         echo "
  2085.             ";
  2086.         // line 1358
  2087.         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.'1358$this->source); })()), "add_description_1_title", [], "any"falsefalsetrue1358) || 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.'1358$this->source); })()), "add_description_1_image", [], "any"falsefalsetrue1358)) || 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.'1358$this->source); })()), "add_description_1_content", [], "any"falsefalsetrue1358))) {
  2088.             // line 1359
  2089.             echo "            <div style=\"max-width: 500px; margin: auto; margin-top: 30px;\">
  2090.                 <div style=\"font-weight: bold; margin-bottom: 20px; text-align: center;\">活用事例・実食レビュー・詳細情報など</div>
  2091.                 ";
  2092.             // line 1361
  2093.             $context['_parent'] = $context;
  2094.             $context['_seq'] = twig_ensure_traversable(range(110));
  2095.             foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  2096.                 // line 1362
  2097.                 echo "                <div>
  2098.                     ";
  2099.                 // line 1363
  2100.                 $context["title"] = 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.'1363$this->source); })()), (("add_description_" $this->sandbox->ensureToStringAllowed($context["i"], 1363$this->source)) . "_title"), [], "any"falsefalsetrue1363);
  2101.                 // line 1364
  2102.                 echo "                    ";
  2103.                 $context["image"] = 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.'1364$this->source); })()), (("add_description_" $this->sandbox->ensureToStringAllowed($context["i"], 1364$this->source)) . "_image"), [], "any"falsefalsetrue1364);
  2104.                 // line 1365
  2105.                 echo "                    ";
  2106.                 $context["content"] = 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.'1365$this->source); })()), (("add_description_" $this->sandbox->ensureToStringAllowed($context["i"], 1365$this->source)) . "_content"), [], "any"falsefalsetrue1365);
  2107.                 // line 1366
  2108.                 echo "
  2109.                     ";
  2110.                 // line 1367
  2111.                 if ((isset($context["image"]) || array_key_exists("image"$context) ? $context["image"] : (function () { throw new RuntimeError('Variable "image" does not exist.'1367$this->source); })())) {
  2112.                     // line 1368
  2113.                     echo "                    <div style=\"\">
  2114.                         <img src=\"";
  2115.                     // line 1369
  2116.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->sandbox->ensureToStringAllowed((isset($context["image"]) || array_key_exists("image"$context) ? $context["image"] : (function () { throw new RuntimeError('Variable "image" does not exist.'1369$this->source); })()), 1369$this->source), "save_image"), "html"nulltrue);
  2117.                     echo "\" alt=\"";
  2118.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["title"]) || array_key_exists("title"$context) ? $context["title"] : (function () { throw new RuntimeError('Variable "title" does not exist.'1369$this->source); })()), 1369$this->source), "html"nulltrue);
  2119.                     echo "\" />
  2120.                     </div>
  2121.                     ";
  2122.                 }
  2123.                 // line 1372
  2124.                 echo "
  2125.                     ";
  2126.                 // line 1373
  2127.                 if ((isset($context["title"]) || array_key_exists("title"$context) ? $context["title"] : (function () { throw new RuntimeError('Variable "title" does not exist.'1373$this->source); })())) {
  2128.                     // line 1374
  2129.                     echo "                    <h2 class=\"product-title\" style=\"font-size: 16px; font-weight: bold; margin-top: 20px;\">";
  2130.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["title"]) || array_key_exists("title"$context) ? $context["title"] : (function () { throw new RuntimeError('Variable "title" does not exist.'1374$this->source); })()), 1374$this->source), "html"nulltrue);
  2131.                     echo "</h2>
  2132.                     <hr>
  2133.                     ";
  2134.                 }
  2135.                 // line 1377
  2136.                 echo "
  2137.                     ";
  2138.                 // line 1378
  2139.                 if ((isset($context["content"]) || array_key_exists("content"$context) ? $context["content"] : (function () { throw new RuntimeError('Variable "content" does not exist.'1378$this->source); })())) {
  2140.                     // line 1379
  2141.                     echo "                    <div class=\"product-description\" style=\"margin-top:20px; margin-bottom:50px; font-size: 14px; white-space: pre-line;\">";
  2142.                     echo twig_escape_filter($this->env$this->sandbox->ensureToStringAllowed((isset($context["content"]) || array_key_exists("content"$context) ? $context["content"] : (function () { throw new RuntimeError('Variable "content" does not exist.'1379$this->source); })()), 1379$this->source), "html"nulltrue);
  2143.                     echo "</div>
  2144.                     ";
  2145.                 }
  2146.                 // line 1381
  2147.                 echo "                </div>
  2148.                 ";
  2149.             }
  2150.             $_parent $context['_parent'];
  2151.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  2152.             $context array_intersect_key($context$_parent) + $_parent;
  2153.             // line 1383
  2154.             echo "            </div>
  2155.             ";
  2156.         }
  2157.         // line 1385
  2158.         echo "
  2159.             ";
  2160.         // line 1386
  2161.         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.'1386$this->source); })()), "freearea", [], "any"falsefalsetrue1386)) {
  2162.             // line 1387
  2163.             echo "                <div class=\"ec-productRole__description\" style=\"max-width: 500px; margin: auto; padding-right: 10px; padding-left: 10px;\">
  2164.                     ";
  2165.             // line 1388
  2166.             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.'1388$this->source); })()), "freearea", [], "any"falsefalsetrue1388), 1388$this->source)));
  2167.             echo "
  2168.                 </div>
  2169.             ";
  2170.         }
  2171.         // line 1391
  2172.         echo "
  2173.             ";
  2174.         // line 1397
  2175.         echo "
  2176.         </div>
  2177.     ";
  2178.         
  2179.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  2180.         
  2181.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  2182.     }
  2183.     public function getTemplateName()
  2184.     {
  2185.         return "__string_template__c3a00b603c90224beffb6b5d5d755125";
  2186.     }
  2187.     public function isTraitable()
  2188.     {
  2189.         return false;
  2190.     }
  2191.     public function getDebugInfo()
  2192.     {
  2193.         return array (  2290 => 1397,  2287 => 1391,  2281 => 1388,  2278 => 1387,  2276 => 1386,  2273 => 1385,  2269 => 1383,  2262 => 1381,  2256 => 1379,  2254 => 1378,  2251 => 1377,  2244 => 1374,  2242 => 1373,  2239 => 1372,  2231 => 1369,  2228 => 1368,  2226 => 1367,  2223 => 1366,  2220 => 1365,  2217 => 1364,  2215 => 1363,  2212 => 1362,  2208 => 1361,  2204 => 1359,  2202 => 1358,  2199 => 1357,  2191 => 1354,  2187 => 1352,  2185 => 1351,  2179 => 1347,  2174 => 1344,  2168 => 1341,  2164 => 1339,  2161 => 1338,  2155 => 1335,  2151 => 1333,  2148 => 1332,  2142 => 1329,  2138 => 1327,  2135 => 1326,  2129 => 1323,  2125 => 1321,  2122 => 1320,  2112 => 1317,  2108 => 1316,  2104 => 1314,  2101 => 1313,  2099 => 1307,  2094 => 1303,  2092 => 1302,  2089 => 1301,  2083 => 1297,  2077 => 1294,  2073 => 1292,  2071 => 1291,  2068 => 1290,  2062 => 1287,  2058 => 1285,  2056 => 1284,  2053 => 1283,  2047 => 1280,  2043 => 1278,  2041 => 1277,  2035 => 1273,  2033 => 1272,  2030 => 1271,  2021 => 1265,  2015 => 1262,  2008 => 1257,  2005 => 1256,  2002 => 1254,  2000 => 1253,  1996 => 1251,  1986 => 1247,  1982 => 1246,  1978 => 1245,  1975 => 1244,  1971 => 1243,  1967 => 1241,  1957 => 1237,  1953 => 1236,  1949 => 1235,  1946 => 1234,  1942 => 1233,  1939 => 1232,  1930 => 1224,  1927 => 1223,  1916 => 1216,  1912 => 1215,  1906 => 1212,  1902 => 1211,  1896 => 1207,  1891 => 1204,  1885 => 1201,  1882 => 1200,  1876 => 1197,  1873 => 1196,  1871 => 1195,  1865 => 1193,  1863 => 1192,  1858 => 1190,  1855 => 1189,  1851 => 1187,  1845 => 1184,  1842 => 1183,  1840 => 1182,  1835 => 1180,  1831 => 1178,  1826 => 1175,  1819 => 1171,  1815 => 1169,  1812 => 1168,  1804 => 1163,  1800 => 1161,  1798 => 1160,  1792 => 1157,  1788 => 1155,  1786 => 1154,  1780 => 1151,  1776 => 1149,  1773 => 1148,  1770 => 1147,  1768 => 1146,  1762 => 1144,  1757 => 1142,  1753 => 1141,  1748 => 1140,  1746 => 1139,  1743 => 1138,  1740 => 1137,  1734 => 1134,  1730 => 1133,  1727 => 1132,  1725 => 1131,  1720 => 1129,  1716 => 1128,  1713 => 1127,  1711 => 1126,  1708 => 1125,  1706 => 1124,  1702 => 1123,  1699 => 1122,  1697 => 1108,  1695 => 1107,  1693 => 1106,  1691 => 1105,  1689 => 1104,  1687 => 1103,  1685 => 1102,  1681 => 1099,  1676 => 1097,  1671 => 1096,  1669 => 1095,  1664 => 1093,  1661 => 1092,  1654 => 1086,  1651 => 1085,  1649 => 1084,  1643 => 1082,  1640 => 1081,  1638 => 1080,  1632 => 1077,  1626 => 1076,  1623 => 1075,  1620 => 1074,  1616 => 1071,  1610 => 1069,  1608 => 1068,  1604 => 1067,  1601 => 1066,  1597 => 1063,  1594 => 1061,  1583 => 1058,  1578 => 1057,  1574 => 1056,  1571 => 1055,  1569 => 1054,  1563 => 1052,  1560 => 1051,  1555 => 1048,  1552 => 1047,  1549 => 1045,  1545 => 1043,  1543 => 1042,  1540 => 1041,  1538 => 1040,  1536 => 1038,  1528 => 1035,  1525 => 1034,  1522 => 1033,  1508 => 1030,  1505 => 1029,  1502 => 1028,  1495 => 1022,  1492 => 1021,  1473 => 1019,  1455 => 1018,  1453 => 1017,  1449 => 1015,  1446 => 1014,  1435 => 1012,  1413 => 1010,  1394 => 1009,  1391 => 1008,  1380 => 1006,  1365 => 1003,  1353 => 1002,  1341 => 1000,  1338 => 999,  1335 => 997,  1316 => 996,  1314 => 995,  1304 => 988,  1301 => 987,  1298 => 985,  1294 => 983,  1292 => 982,  1285 => 977,  1275 => 976,  1260 => 970,  1256 => 969,  1252 => 968,  1248 => 967,  1244 => 965,  1238 => 963,  1236 => 962,  1231 => 961,  1228 => 960,  1218 => 958,  1205 => 957,  1197 => 956,  1179 => 955,  1174 => 953,  1145 => 926,  1100 => 884,  1096 => 883,  1085 => 875,  1081 => 874,  1059 => 855,  1055 => 854,  1044 => 846,  1040 => 845,  1030 => 838,  1026 => 837,  1019 => 832,  1017 => 831,  1005 => 821,  988 => 807,  984 => 806,  973 => 798,  969 => 797,  959 => 790,  955 => 789,  949 => 785,  947 => 784,  937 => 777,  933 => 775,  915 => 760,  911 => 759,  900 => 751,  894 => 748,  888 => 745,  878 => 738,  872 => 735,  866 => 732,  861 => 729,  859 => 728,  848 => 720,  837 => 712,  780 => 658,  775 => 655,  766 => 649,  762 => 647,  760 => 646,  757 => 645,  748 => 639,  744 => 637,  742 => 636,  736 => 632,  733 => 631,  731 => 630,  728 => 629,  726 => 628,  628 => 532,  620 => 530,  618 => 529,  613 => 527,  610 => 526,  608 => 525,  594 => 514,  591 => 513,  581 => 512,  372 => 311,  338 => 278,  75 => 16,  65 => 15,  54 => 11,  52 => 13,  39 => 11,);
  2194.     }
  2195.     public function getSourceContext()
  2196.     {
  2197.         return new Source("{#
  2198.     This file is part of EC-CUBE
  2199.     Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  2200.     http://www.ec-cube.co.jp/
  2201.     For the full copyright and license information, please view the LICENSE
  2202.     file that was distributed with this source code.
  2203.     #}
  2204.     {% extends 'default_frame.twig' %}
  2205.     {% set body_class = 'product_page' %}
  2206.     {% block stylesheet %}
  2207.         <style>
  2208.             .slick-slider {
  2209.                 margin-bottom: 30px;
  2210.             }
  2211.             .slick-dots {
  2212.                 position: absolute;
  2213.                 bottom: -45px;
  2214.                 display: block;
  2215.                 width: 100%;
  2216.                 padding: 0;
  2217.                 list-style: none;
  2218.                 text-align: center;
  2219.             }
  2220.             .slick-dots li {
  2221.                 position: relative;
  2222.                 display: inline-block;
  2223.                 width: 20px;
  2224.                 height: 20px;
  2225.                 margin: 0 5px;
  2226.                 padding: 0;
  2227.                 cursor: pointer;
  2228.             }
  2229.             .slick-dots li button {
  2230.                 font-size: 0;
  2231.                 line-height: 0;
  2232.                 display: block;
  2233.                 width: 20px;
  2234.                 height: 20px;
  2235.                 padding: 5px;
  2236.                 cursor: pointer;
  2237.                 color: transparent;
  2238.                 border: 0;
  2239.                 outline: none;
  2240.                 background: transparent;
  2241.             }
  2242.             .slick-dots li button:hover,
  2243.             .slick-dots li button:focus {
  2244.                 outline: none;
  2245.             }
  2246.             .slick-dots li button:hover:before,
  2247.             .slick-dots li button:focus:before {
  2248.                 opacity: 1;
  2249.             }
  2250.             .slick-dots li button:before {
  2251.                 content: \" \";
  2252.                 line-height: 20px;
  2253.                 position: absolute;
  2254.                 top: 0;
  2255.                 left: 0;
  2256.                 width: 12px;
  2257.                 height: 12px;
  2258.                 text-align: center;
  2259.                 opacity: .25;
  2260.                 background-color: black;
  2261.                 border-radius: 50%;
  2262.             }
  2263.             .slick-dots li.slick-active button:before {
  2264.                 opacity: .75;
  2265.                 background-color: black;
  2266.             }
  2267.             .slick-dots li button.thumbnail img {
  2268.                 width: 0;
  2269.                 height: 0;
  2270.             }
  2271.             .ec-productRole .ec-productRole__title .ec-headingTitle {
  2272.                 font-size: 15px;
  2273.                 font-weight: 700;
  2274.             }
  2275.             @media only screen and (min-width: 768px) {
  2276.                 .ec-productRole .ec-productRole__title .ec-headingTitle {
  2277.                     font-size: 22px;
  2278.                 }
  2279.             }
  2280.             .ec-sliderItemRole .item_nav {
  2281.                 display: flex;
  2282.             }
  2283.             .slick-slide img{
  2284.                 width: 100%;
  2285.                 height: 350px;
  2286.                 object-fit: contain;
  2287.             }
  2288.             @media only screen and (max-width: 767px) {
  2289.                 .slick-slide img{
  2290.                     height: 230px;
  2291.                 }
  2292.             }
  2293.             .slick-slider {
  2294.                 margin-bottom: 5px;
  2295.             }
  2296.             .ec-sliderItemRole{
  2297.                 padding: 0px;
  2298.                 margin: 0px;
  2299.             }
  2300.             .ec-sliderItemRole .slideThumb img {
  2301.                 width: 102px;
  2302.                 height: 55px;
  2303.                 object-fit: cover;
  2304.             }
  2305.             .ec-sliderItemRole .slideThumb {
  2306.                 width: 17%;
  2307.                 margin-right: 10px;
  2308.                 margin-bottom: 10px;
  2309.             }
  2310.             .item_nav {
  2311.                 justify-content: flex-start;
  2312.                 flex-wrap: wrap;
  2313.                 margin-bottom: 0;
  2314.             }
  2315.             .ec-productRole__title .ec-headingTitle {
  2316.                 font-size: 4vw;
  2317.                 font-weight: bold;
  2318.                 color: #525263;
  2319.                 border-bottom: 2px solid #D8D8D8;
  2320.                 margin-bottom: 10px;
  2321.                 padding-bottom: 1.3333vw;
  2322.             }
  2323.             .freeze {
  2324.                 position: unset;
  2325.                 width: 60px;
  2326.                 display: inline-block;
  2327.                 line-height: 1em;
  2328.                 padding: 5px 0;
  2329.                 background-color: #00B0EC;
  2330.                 color: white;
  2331.                 text-align: center;
  2332.                 font-size: 11px;
  2333.                 font-weight: 700;
  2334.                 border-radius: 5px;
  2335.                 margin-bottom: 10px;
  2336.                 margin-top: 10px;
  2337.             }
  2338.             .original {
  2339.                 position: unset;
  2340.                 width: 90px;
  2341.                 display: inline-block;
  2342.                 line-height: 1em;
  2343.                 padding: 5px 0;
  2344.                 background-color: #fff100;
  2345.                 color: black;
  2346.                 text-align: center;
  2347.                 font-size: 11px;
  2348.                 font-weight: 700;
  2349.                 border-radius: 5px;
  2350.                 margin-bottom: 10px;
  2351.                 margin-top: 10px;
  2352.             }
  2353.             .ec-productRole .ec-productRole__tags {
  2354.                 margin-top: 0px;
  2355.                 padding: 0;
  2356.                 padding-bottom: 0px;
  2357.                 border-bottom: none;
  2358.             }
  2359.             .ec-blockBtn--cancel {
  2360.                 height: 40px;
  2361.                 border-radius: 5px;
  2362.                 line-height: 1.0;
  2363.                 /* background-color: #f5f5f5; */
  2364.                 color: #000333;
  2365.                 border: none;
  2366.                 font-weight: 400;
  2367.             }
  2368.             .ec-blockBtn--cancel:hover {
  2369.                 color: #000333;
  2370.                 background-color: #f5f5f5;
  2371.                 border-color: #f5f5f5;
  2372.                 opacity: .7;
  2373.             }
  2374.             .ec-blockBtn--cancel:disabled{
  2375.                 color: #000333;
  2376.                 background-color: #f5f5f5;
  2377.                 border-color: #f5f5f5;
  2378.             }
  2379.             .ec-blockBtn--action {
  2380.                 background-color: #e65f6e;
  2381.             }
  2382.             .ec-blockBtn--action:hover {
  2383.                 color: #fff;
  2384.                 background-color: #e65f6e;
  2385.                 border-color: #e65f6e;
  2386.                 opacity: .6;
  2387.             }
  2388.             .ec-numberInput input[type=number] {
  2389.                 max-width: 80px;
  2390.                 margin-bottom: 0px;
  2391.             }
  2392.             .ec-productRole .ec-productRole__actions {
  2393.                 padding: 0px;
  2394.                 margin-top: 10px;
  2395.                 margin-right: 10px;
  2396.             }
  2397.             .ec-productRole .ec-productRole__actions .ec-numberInput{
  2398.                 display: flex;
  2399.                 align-items: center;
  2400.             }
  2401.             .table-ProductDetail tbody tr td:first-child, .table-ReplacementProductDetail tbody tr td:first-child, .table-ReplacementProductDetail tbody tr td:nth-child(3) {
  2402.                 background-color: #F5F5F5;
  2403.                 width: 130px;
  2404.                 border: solid 1px #d3cbcb;
  2405.             }
  2406.             .table-ProductDetail tbody tr {
  2407.                 white-space: pre-wrap;
  2408.                 word-wrap: break-word;
  2409.             }
  2410.             .table-ProductDetail tbody tr td {
  2411.                 border: solid 1px #d3cbcb;
  2412.             }
  2413.             .ec-price .ec-price__price {
  2414.                 font-size: 24px;
  2415.                 font-weight: bold;
  2416.                 color: #b72704;
  2417.                 padding: 0px;\"
  2418.             }
  2419.             .ec-productRole__description img {
  2420.                 max-width: 100%;
  2421.             }
  2422.             .ec-productRole form div.ec-productRole__actions button.add-cart {
  2423.                 border-radius: 5px;
  2424.                 font-size: 16px;
  2425.                 width: 200px;
  2426.             }
  2427.             .ec-productRole__actions_area {
  2428.                 display: flex;
  2429.                 margin: auto;
  2430.                 align-items: baseline; 
  2431.                 flex-wrap: wrap;
  2432.                 justify-content: end;
  2433.             }
  2434.             {# モバイル #}
  2435.             @media only screen and (max-width: 767px) {
  2436.                 .product_name_pc {
  2437.                     display: none;
  2438.                 }
  2439.                 .add_favorite_form{
  2440.                     width: 100%;
  2441.                 }
  2442.                 .ec-productRole form {
  2443.                     width: 100%;
  2444.                 }
  2445.                 .ec-productRole form div.ec-productRole__actions {
  2446.                     margin-right: 0px;
  2447.                 }
  2448.                 .ec-productRole form div.ec-productRole__actions button.add-cart {
  2449.                     width: 100%;
  2450.                 }
  2451.                 #product_video .ec-modal-wrap {
  2452.                     width: 343px;
  2453.                     height: 333px;
  2454.                 }
  2455.                 #video_iframe {
  2456.                     width: 311px;
  2457.                     height: 205px;
  2458.                 }
  2459.                 .ec-price {
  2460.                     text-align: end;
  2461.                 }
  2462.                 .ec-numberInput input[type=number] {
  2463.                     margin-right: 10px;
  2464.                 }
  2465.             }
  2466.             {# PC #}
  2467.             @media only screen and (min-width: 768px) {
  2468.                 .product_name_sp {
  2469.                     display: none;
  2470.                 }
  2471.                 #product_video .ec-modal-wrap {
  2472.                     width: 734px;
  2473.                     height: 544px;
  2474.                 }
  2475.                 #video_iframe {
  2476.                     width: 670px;
  2477.                     height: 422px;
  2478.                 }
  2479.             }
  2480.             @media only screen and (min-width: 1024px) {
  2481.                 .ec-price .ec-price__price {
  2482.                     font-size: 30px;
  2483.                 }
  2484.             }
  2485.             .youtube {
  2486.                 width: 100%;
  2487.                 aspect-ratio: 16 / 9;
  2488.             }
  2489.             .youtube iframe {
  2490.                 width: 100%;
  2491.                 height: 100%;
  2492.             }
  2493.             .recipe_book__image {
  2494.                 width: 170px;
  2495.                 border-style: solid;
  2496.                 border-width: 2px;
  2497.                 height: 170px;
  2498.                 object-fit: fill;
  2499.                 border-radius: 9px;
  2500.                 border-color: #d2d2d2;
  2501.             }
  2502.             .recipe_book__image:hover {
  2503.                 opacity: 0.7;
  2504.             }
  2505.             .recipe_book__name {
  2506.                 font-size: 14px;
  2507.                 height: 40px;
  2508.                 overflow: hidden;
  2509.                 display: -webkit-box;
  2510.                 text-overflow: ellipsis;
  2511.                 -webkit-box-orient: vertical;
  2512.                 -webkit-line-clamp: 2;
  2513.                 margin-top: 8px;
  2514.                 color: #525263;
  2515.                 font-weight: 600;
  2516.             }
  2517.             .favorite_button {
  2518.                 margin-top: 10px;
  2519.                 font-size: 16px;
  2520.                 height: 56px;
  2521.                 background-color: #ffffff;
  2522.                 border-color: #cccccc;
  2523.                 border-width: 1px;
  2524.                 border-style: solid;
  2525.                 border-radius: 4px;
  2526.             }
  2527.             .initial_purchase__message {
  2528.                 position: relative;
  2529.                 border: 1px solid #FFDA00;
  2530.                 padding: 8px 18px;
  2531.                 font-weight: 600;
  2532.                 font-size: 14px;
  2533.                 color: #525263;
  2534.                 background-color: #F6FF00;
  2535.                 border-radius: 4px;
  2536.                 margin-right: 8px;
  2537.                 margin-bottom: 4px;
  2538.                 display: inline-block;
  2539.                 text-align: start;
  2540.             }
  2541.             .initial_purchase__message::before {
  2542.                 content: '';
  2543.                 position: absolute;
  2544.                 top: 50%; 
  2545.                 left: 100%;
  2546.                 transform: translateY(-50%);
  2547.                 border: 11px solid transparent;
  2548.                 border-left-color: #FFDA00;
  2549.             }
  2550.             .initial_purchase__message::after {
  2551.                 content: '';
  2552.                 position: absolute;
  2553.                 top: 50%; 
  2554.                 left: 100%;
  2555.                 transform: translateY(-50%);
  2556.                 border: 10px solid transparent;
  2557.                 border-left-color: #F6FF00;
  2558.             }
  2559.             .ec-numberInput .ec-productRole__btn {
  2560.                 margin-left: 10px;
  2561.                 max-width: 350px; 
  2562.                 min-width: 100px; 
  2563.                 margin-bottom: 10px;
  2564.             }
  2565.             .buy_this_product__btn {
  2566.                 max-width: 500px;
  2567.                 margin: auto;
  2568.                 margin-top: 20px;
  2569.                 padding-right: 10px;
  2570.                 padding-left: 10px;
  2571.             }
  2572.             .purchased__btn {
  2573.                 max-width: 350px;
  2574.                 min-width: 100px;
  2575.                 margin-right: 0px;
  2576.                 margin-top: 10px;
  2577.             }
  2578.             .ec-productRole__btn span {
  2579.                 font-size: 10px;
  2580.                 color: #000000;
  2581.             }
  2582.             
  2583.             /* --- SP用の設定 (例: 画面幅が768px以下) --- */
  2584.             @media (max-width: 768px) {
  2585.                 .sp-only {
  2586.                     display: flex; /* SPでは表示 */
  2587.                     margin-top: 10px; 
  2588.                     max-width: 800px;
  2589.                 }
  2590.                 .recipe_book_carousel .slick-slide div {
  2591.                     width: 202px;
  2592.                 }
  2593.                 .recipe_book_carousel .slick-slide div img {
  2594.                     height: 190px;
  2595.                 }
  2596.                 .ec-productRole__btn {
  2597.                     width: 100%;
  2598.                 }
  2599.                 .pc-only {
  2600.                     display: none;  /* SPでは非表示 */
  2601.                 }
  2602.                 .product_page .ec-productRole__btn {
  2603.                     max-width: 100% !important;
  2604.                     text-align: center;
  2605.                 }
  2606.                 .favorite_button {
  2607.                     margin-top: 0px;
  2608.                     width: 100%;
  2609.                 }
  2610.                 .add_favorite_form .ec-productRole__btn {
  2611.                     margin-top: 2px !important;
  2612.                 }
  2613.                 
  2614.                 .ec-numberInput .ec-productRole__btn {
  2615.                     margin-left: 0px;
  2616.                 }
  2617.                 .buy_this_product__btn {
  2618.                     padding-right: 0px;
  2619.                     padding-left: 0px;
  2620.                     margin-top: 0px !important;
  2621.                 }
  2622.                 .purchased__btn {
  2623.                     margin-right: 0px;
  2624.                 }
  2625.             }
  2626.             /* --- PC用の設定 (例: 画面幅が769px以上) --- */
  2627.             @media (min-width: 769px) {
  2628.                 .sp-only {
  2629.                     display: none;  /* PCでは非表示 */
  2630.                 }
  2631.                 .pc-only {
  2632.                     display: flex; /* PCでは表示 */
  2633.                     margin-top: 10px; 
  2634.                     max-width: 800px;
  2635.                     flex-wrap: wrap;
  2636.                 }
  2637.                 .pc-only .item {
  2638.                     flex: 1 1 calc(33.333% - 16px); /* 3カラム分の幅(隙間分を引く) */
  2639.                     max-width: calc(33.333% - 16px);
  2640.                     box-sizing: border-box;
  2641.                 }
  2642.                 .ec-productRole .ec-productRole__btn {
  2643.                     width: 90%;
  2644.                 }
  2645.             }
  2646.             /* 再入荷表示 */
  2647.             .restock_date span {
  2648.                 font-size: 13px; 
  2649.                 color: #E65F6E; 
  2650.                 font-weight: 600;    
  2651.             }
  2652.         </style>
  2653.     {% endblock %}
  2654.     {% block javascript %}
  2655.         <script>
  2656.             eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  2657.             // 規格2に選択肢を割り当てる。
  2658.             function fnSetClassCategories(form, classcat_id2_selected) {
  2659.                 var \$form = \$(form);
  2660.                 var product_id = \$form.find('input[name=product_id]').val();
  2661.                 var \$sele1 = \$form.find('select[name=classcategory_id1]');
  2662.                 var \$sele2 = \$form.find('select[name=classcategory_id2]');
  2663.                 eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  2664.             }
  2665.             {% if form.classcategory_id2 is defined %}
  2666.             fnSetClassCategories(
  2667.                 \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  2668.             );
  2669.             {% elseif form.classcategory_id1 is defined %}
  2670.             eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  2671.             {% endif %}
  2672.         </script>
  2673.         <script>
  2674.             \$(function() {
  2675.                 // 調理方法に遷移するよう制御
  2676.                 \$(window).on('load', function() {
  2677.                     if (window.location.hash === '#base-info') {
  2678.                         setTimeout(function() {
  2679.                             const target = document.getElementById('base-info');
  2680.                             if (target) {
  2681.                                 const spOffset = 100;
  2682.                                 const pcOffset = 120;
  2683.                                 const breakpoint = 768; 
  2684.                                 const offset = window.innerWidth < breakpoint ? spOffset : pcOffset;
  2685.                                 const targetPosition = target.getBoundingClientRect().top + window.pageYOffset;
  2686.                                 const scrollToPosition = targetPosition - offset;
  2687.                                 
  2688.                                 window.scrollTo({
  2689.                                     top: scrollToPosition,
  2690.                                     behavior: 'smooth'
  2691.                                 });
  2692.                             }
  2693.                         }, 500);
  2694.                     }
  2695.                 });
  2696.                 // bfcache無効化
  2697.                 \$(window).bind('pageshow', function(event) {
  2698.                     if (event.originalEvent.persisted) {
  2699.                         location.reload(true);
  2700.                     }
  2701.                 });
  2702.                 // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  2703.                 // img タグに width, height が付与されている.
  2704.                 // 630px 未満の画面サイズでは縦横比が壊れるための対策
  2705.                 // see https://github.com/EC-CUBE/ec-cube/pull/5023
  2706.                 \$('.ec-grid2__cell').hide();
  2707.                 var removeSize = function () {
  2708.                     \$('.slide-item').height('');
  2709.                     \$('.slide-item img')
  2710.                         .removeAttr('width')
  2711.                         .removeAttr('height')
  2712.                         .removeAttr('style');
  2713.                 };
  2714.                 var slickInitial = function(slick) {
  2715.                     \$('.ec-grid2__cell').fadeIn(1500);
  2716.                     var baseHeight = \$(slick.target).height();
  2717.                     var baseWidth = \$(slick.target).width();
  2718.                     var rate = baseWidth / baseHeight;
  2719.                     \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  2720.                     // transform を使用することでCLSの影響を受けないようにする
  2721.                     \$('.slide-item img')
  2722.                         .css(
  2723.                             {
  2724.                                 'transform-origin': 'top left',
  2725.                                 'transform': 'scaleY(' + rate + ')',
  2726.                                 'transition': 'transform .1s'
  2727.                             }
  2728.                         );
  2729.                     // 正しいサイズに近くなったら属性を解除する
  2730.                     setTimeout(removeSize, 500);
  2731.                 };
  2732.                 \$('.item_visual').on('init', slickInitial);
  2733.                 // リサイズ時は CLS の影響を受けないため属性を解除する
  2734.                 \$(window).resize(removeSize);
  2735.                 \$('.item_visual').slick({
  2736.                     dots: false,
  2737.                     arrows: false,
  2738.                     infinite: false,
  2739.                     responsive: [{
  2740.                         breakpoint: 768,
  2741.                         settings: {
  2742.                             dots: false
  2743.                         }
  2744.                     }]
  2745.                 });
  2746.                 \$('.slideThumb').on('click', function() {
  2747.                     var index = \$(this).attr('data-index');
  2748.                     \$('.item_visual').slick('slickGoTo', index, false);
  2749.                 });
  2750.                 // サムネイル画像または再生ボタンをクリックしたら動画ダイアログを表示
  2751.                 \$(document).on(\"click\", \".thumbnail-image, .play-button-overlay\", function() {
  2752.                     // ダイアログを表示
  2753.                     \$(\"#product_video\").show();
  2754.                 });
  2755.                 // 閉じるボタンでダイアログを非表示
  2756.                 \$(document).on(\"click\", \"#product_video .close-btn\", function() {
  2757.                     \$(\"#product_video\").hide();
  2758.                 });
  2759.             });
  2760.         </script>
  2761.         <script>
  2762.             {% set current_domain = app.request.getHost() %}
  2763.             {% set is_prod = 'web-order.shikomel.com' in current_domain %}
  2764.             {% set is_stg = 'web-order-stg.shikomel.com' in current_domain %}
  2765.             \$(function() {
  2766.                 \$('.add-cart').on('click', function(event) {
  2767.                     {% if form.classcategory_id1 is defined %}
  2768.                     // 規格1フォームの必須チェック
  2769.                     if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  2770.                         \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  2771.                         return true;
  2772.                     } else {
  2773.                         \$('#classcategory_id1')[0].setCustomValidity('');
  2774.                     }
  2775.                     {% endif %}
  2776.                     {% if form.classcategory_id2 is defined %}
  2777.                     // 規格2フォームの必須チェック
  2778.                     if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  2779.                         \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  2780.                         return true;
  2781.                     } else {
  2782.                         \$('#classcategory_id2')[0].setCustomValidity('');
  2783.                     }
  2784.                     {% endif %}
  2785.                     // 個数フォームのチェック
  2786.                     if (\$('#quantity').val() < 1) {
  2787.                         \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  2788.                         return true;
  2789.                     } else {
  2790.                         \$('#quantity')[0].setCustomValidity('');
  2791.                     }
  2792.                     event.preventDefault();
  2793.                     \$form = \$('#form1');
  2794.                     \$.ajax({
  2795.                         url: \$form.attr('action'),
  2796.                         type: \$form.attr('method'),
  2797.                         data: \$form.serialize(),
  2798.                         dataType: 'json',
  2799.                         beforeSend: function(xhr, settings) {
  2800.                             // Buttonを無効にする
  2801.                             \$('.add-cart').prop('disabled', true);
  2802.                         }
  2803.                     }).done(function(data) {
  2804.                         // レスポンス内のメッセージをalertで表示
  2805.                         \$.each(data.messages, function() {
  2806.                             
  2807.     var \$cartBtn = \$('div.ec-modal-overlay').find('a.ec-inlineBtn--action');
  2808.     \$cartBtn.removeAttr('disabled');
  2809.     \$cartBtn.off('click');
  2810.     // responseを判別
  2811.     if(data.product_id !== undefined) {
  2812.         var product_id = data.product_id;
  2813.         var under_quantity = data.under_quantity;
  2814.         // 最低購入数を下回る場合は、選択数量を最低購入数に変更
  2815.         if(\$('#quantity' + product_id).length) {
  2816.             \$('#quantity' + product_id).val(under_quantity);
  2817.         } else {
  2818.             \$('#quantity').val(under_quantity);
  2819.         }
  2820.         // カートに進むボタンを無効化
  2821.         \$cartBtn.attr('disabled', 'disabled');
  2822.         \$cartBtn.on('click', function() {
  2823.             return false;
  2824.         })
  2825.     }
  2826.     \$('#ec-modal-header').text(this);
  2827.                         });
  2828.                         \$('#ec-modal').show()
  2829.                         // カートブロックを更新する
  2830.                         \$.ajax({
  2831.                             url: \"{{ url('block_cart') }}\",
  2832.                             type: 'GET',
  2833.                             dataType: 'html'
  2834.                         }).done(function(html) {
  2835.                             \$('.ec-headerRole__cart').html(html);
  2836.                         });
  2837.                         
  2838.                         \$.ajax({
  2839.                             url: '{{ url('modal_cart') }}',
  2840.                             type: 'GET',
  2841.                             dataType: 'html'
  2842.                         }).done(function(html) {
  2843.                             \$('.ec-Modalfooter__cart').html(html);
  2844.                         });
  2845.                         // カート追加イベントの送付
  2846.                         {% if is_prod %}
  2847.                             fbq('track', 'AddToCart', {
  2848.                                 content_type: \"Product\",
  2849.                                 content_ids: \"{{ Product.id }}\",
  2850.                                 contents:
  2851.                                     [{
  2852.                                         id: \"{{ Product.id }}\",
  2853.                                         quantity: \$('#quantity').val()
  2854.                                     }],
  2855.                                 content_name: \"{{ Product.name }}\",
  2856.                                 currency: \"JPY\",
  2857.                                 value: 50,
  2858.                             });
  2859.                             fbq('trackCustom', 'ce_add_to_cart', {
  2860.                                 content_type: \"Product\",
  2861.                                 content_ids: \"{{ Product.id }}\",
  2862.                                 contents:
  2863.                                     [{
  2864.                                         id: \"{{ Product.id }}\",
  2865.                                         quantity: \$('#quantity').val()
  2866.                                     }],
  2867.                                 content_name: \"{{ Product.name }}\",
  2868.                                 currency: \"JPY\",
  2869.                                 value: 50,
  2870.                             });
  2871.                         
  2872.                             window.dataLayer.push({
  2873.                                 event: 'ce_add_to_cart',
  2874.                                 custom_event_name: 'ce_add_to_cart',
  2875.                                 custom_product_id: {{ Product.id }},
  2876.                                 custom_product_name: '{{ Product.name }}',
  2877.                                 custom_quantity: \$('#quantity').val(),
  2878.                                 custom_customer_id: '',
  2879.                                 custom_user_agent: \$(\"#user_agent\").val(),
  2880.                                 custom_is_ig: \$(\"#is_ig\").val(),
  2881.                                 custom_is_line: \$(\"#is_line\").val(),
  2882.                                 custom_referer: \$(\"#referer\").val(),
  2883.                                 custom_real_ip: \$(\"#real_ip\").val(),
  2884.                             });
  2885.                             _lt('send', 'cv', {
  2886.                                 type: 'add_to_cart'
  2887.                             },['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
  2888.                         {% endif %}
  2889.                     }).fail(function(data) {
  2890.                         alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  2891.                     }).always(function(data) {
  2892.                         // Buttonを有効にする
  2893.                         \$('.add-cart').prop('disabled', false);
  2894.                     });
  2895.                 });
  2896.                 {% if is_prod %}
  2897.                     // 詳細表示時にMetaとGTMとLineに閲覧イベントを送付する
  2898.                     fbq('track', 'ViewContent', {
  2899.                         content_type: \"Product\",
  2900.                         content_ids: \"{{ Product.id }}\",
  2901.                         content_name: \"{{ Product.name }}\",
  2902.                         currency: \"JPY\",
  2903.                         value: 25,
  2904.                     });
  2905.                     fbq('trackCustom', 'ce_view_product_detail', {
  2906.                         content_type: \"Product\",
  2907.                         content_ids: \"{{ Product.id }}\",
  2908.                         content_name: \"{{ Product.name }}\",
  2909.                         currency: \"JPY\",
  2910.                         value: 25,
  2911.                     });
  2912.                 
  2913.                     window.dataLayer.push({
  2914.                         event: 'ce_view_product_detail',
  2915.                         custom_event_name: 'ce_view_product_detail',
  2916.                         custom_product_id: {{ Product.id }},
  2917.                         custom_product_name: '{{ Product.name }}',
  2918.                         custom_customer_id: '',
  2919.                         custom_user_agent: \$(\"#user_agent\").val(),
  2920.                         custom_is_ig: \$(\"#is_ig\").val(),
  2921.                         custom_is_line: \$(\"#is_line\").val(),
  2922.                         custom_referer: \$(\"#referer\").val(),
  2923.                         custom_real_ip: \$(\"#real_ip\").val(),
  2924.                     });
  2925.                     _lt('send', 'cv', {
  2926.                         type: 'product_detail'
  2927.                     },['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
  2928.                 {% endif %}
  2929.             });
  2930.             \$('.ec-modal-wrap').on('click', function(e) {
  2931.                 // モーダル内の処理は外側にバブリングさせない
  2932.                 e.stopPropagation();
  2933.             });
  2934.             \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  2935.                 \$('.ec-modal').hide()
  2936.             });
  2937.             {% if is_prod %}
  2938.                 // お気に入り追加ボタンクリック時のトラッキングイベント
  2939.                 \$('#favorite').on('click', function(e) {
  2940.                     fbq('track', 'AddToWishlist', {
  2941.                         content_type: \"Product\",
  2942.                         content_ids: \"{{ Product.id }}\",
  2943.                         content_name: \"{{ Product.name }}\",
  2944.                         currency: \"JPY\",
  2945.                         value: 40,
  2946.                     });
  2947.                 
  2948.                     fbq('trackCustom', 'ce_add_to_wishlist', {
  2949.                         content_type: \"Product\",
  2950.                         content_ids: \"{{ Product.id }}\",
  2951.                         content_name: \"{{ Product.name }}\",
  2952.                         currency: \"JPY\",
  2953.                         value: 40,
  2954.                     });
  2955.                     window.dataLayer.push({
  2956.                         event: 'ce_add_to_wishlist',
  2957.                         custom_event_name: 'ce_add_to_wishlist',
  2958.                         custom_product_id: {{ Product.id }},
  2959.                         custom_product_name: '{{ Product.name }}',
  2960.                         custom_customer_id: '',
  2961.                         custom_user_agent: \$(\"#user_agent\").val(),
  2962.                         custom_is_ig: \$(\"#is_ig\").val(),
  2963.                         custom_is_line: \$(\"#is_line\").val(),
  2964.                         custom_referer: \$(\"#referer\").val(),
  2965.                         custom_real_ip: \$(\"#real_ip\").val(),
  2966.                     });
  2967.                     _lt('send', 'cv', {
  2968.                         type: 'add_to_wishlist'
  2969.                     },['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
  2970.                 });
  2971.                 // この商品を購入するボタンクリック時のトラッキングイベント
  2972.                 \$('#buy_this_product').on('click', function(e) {
  2973.                     fbq('trackCustom', 'ClickBuyProduct', {
  2974.                         content_type: \"Product\",
  2975.                         content_ids: \"{{ Product.id }}\",
  2976.                         content_name: \"{{ Product.name }}\",
  2977.                         currency: \"JPY\",
  2978.                         value: 30,
  2979.                     });
  2980.                 
  2981.                     window.dataLayer.push({
  2982.                         event: 'ce_click_buy_product',
  2983.                         custom_event_name: 'ce_click_buy_product',
  2984.                         custom_product_id: {{ Product.id }},
  2985.                         custom_product_name: '{{ Product.name }}',
  2986.                         custom_customer_id: '',
  2987.                         custom_user_agent: \$(\"#user_agent\").val(),
  2988.                         custom_is_ig: \$(\"#is_ig\").val(),
  2989.                         custom_is_line: \$(\"#is_line\").val(),
  2990.                         custom_referer: \$(\"#referer\").val(),
  2991.                         custom_real_ip: \$(\"#real_ip\").val(),
  2992.                     });
  2993.                     _lt('send', 'cv', {
  2994.                         type: 'ce_click_buy_product'
  2995.                     },['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
  2996.                 });
  2997.                 // Lineバナークリックイベント
  2998.                 \$('#line_link_detail').on('click', function(event) {
  2999.                     const currentPageUrl = window.location.href;
  3000.                     fbq('trackCustom', 'ce_click_line_btn', {
  3001.                         content_type: \"ClickLineBtn\",
  3002.                         content_name: currentPageUrl,
  3003.                         value: 50
  3004.                     });
  3005.                     window.dataLayer.push({
  3006.                         event: 'ce_click_line_btn',
  3007.                         custom_event_name: 'ce_click_line_btn',
  3008.                         custom_page_url: currentPageUrl,
  3009.                         custom_customer_id: '',
  3010.                         custom_user_agent: \$(\"#user_agent\").val(),
  3011.                         custom_is_ig: \$(\"#is_ig\").val(),
  3012.                         custom_is_line: \$(\"#is_line\").val(),
  3013.                         custom_referer: \$(\"#referer\").val(),
  3014.                         custom_real_ip: \$(\"#real_ip\").val(),
  3015.                     });
  3016.                     _lt('send', 'cv', {
  3017.                         type: 'ce_click_line_btn'
  3018.                     },['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
  3019.                 });
  3020.             {% endif %}
  3021.             \$('.recipe_book_carousel').slick({
  3022.                 dots: false,
  3023.                 autoplay: false,
  3024.                 centerMode: false,
  3025.                 centerPadding: '0px',
  3026.                 arrows: false,
  3027.                 infinite: false,
  3028.                 slidesToShow: 1,
  3029.                 variableWidth: true,
  3030.                 swipeToSlide: true
  3031.             });
  3032.             function moveTop(){
  3033.                 const itemNav = document.querySelector('.ec-price');
  3034.                 if (itemNav) {
  3035.                     itemNav.scrollIntoView({ behavior: 'smooth', block: 'start' });
  3036.                 }
  3037.             }
  3038.             function fnToLogin(url) {
  3039.                 window.location.href = url;
  3040.             }
  3041.         </script>
  3042.         <script type=\"application/ld+json\">
  3043.         {
  3044.             \"@context\": \"https://schema.org/\",
  3045.             \"@type\": \"Product\",
  3046.             \"name\": \"{{ Product.name }}\",
  3047.             \"image\": [
  3048.                 {% for img in Product.ProductImage %}
  3049.                     \"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
  3050.                 {% else %}
  3051.                     \"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
  3052.                 {% endfor %}
  3053.             ],
  3054.             \"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
  3055.             {% if Product.code_min %}
  3056.             \"sku\": \"{{ Product.code_min }}\",
  3057.             {% endif %}
  3058.             \"offers\": {
  3059.                 \"@type\": \"Offer\",
  3060.                 \"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
  3061.                 \"priceCurrency\": \"{{ eccube_config.currency }}\",
  3062.                 \"price\": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
  3063.                 \"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
  3064.             }
  3065.         }
  3066.         </script>
  3067.     {% endblock %}
  3068.     {% block main %}
  3069.         <div class=\"ec-productRole\">
  3070.             <div class=\"ec-grid2\">
  3071.                 <div class=\"ec-grid2___ell product_name_sp\" style=\"margin-top: 10px;\">
  3072.                     <div class=\"ec-productRole__profile\">
  3073.                         <div class=\"productBadge sp_show\">
  3074.                             {% if Product.is_freeze == \"1\" %}
  3075.                             <span class=\"freeze\">冷凍</span>
  3076.                             {% endif %}
  3077.                         </div>
  3078.                         {# 商品名 #}
  3079.                         <div class=\"ec-productRole__title\">
  3080.                             <h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
  3081.                         </div>
  3082.                     </div>
  3083.                 </div>
  3084.                 <div class=\"ec-grid2__cell\">
  3085.                     <div class=\"ec-sliderItemRole\">
  3086.                         <div class=\"item_visual\">
  3087.                             {% if Product.intro_video_embed_html is defined and Product.intro_video_embed_html %}
  3088.                                 {% for ProductImage in Product.ProductImage %}
  3089.                                     <div class=\"slide-item\" style=\"position:relative;\">
  3090.                                         {# 1枚目 → 再生ボタンを上乗せ #}
  3091.                                         {% if loop.first %}
  3092.                                             <img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"{% if loop.index > 1 %} loading=\"lazy\"{% endif %} class=\"play-button-overlay\">
  3093.                                         {% else %}
  3094.                                             <img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"{% if loop.index > 1 %} loading=\"lazy\"{% endif %}>
  3095.                                         {% endif %}                                
  3096.                                     </div>
  3097.                                 {% else %}
  3098.                                     <div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"></div>
  3099.                                 {% endfor %}
  3100.                             {% else %}
  3101.                                 {% for ProductImage in Product.ProductImage %}
  3102.                                     <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>
  3103.                                 {% else %}
  3104.                                     <div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"></div>
  3105.                                 {% endfor %}
  3106.                             {% endif %}
  3107.                         </div>
  3108.                         <div class=\"item_nav\">
  3109.                             {% if Product.ProductImage|length >= 2  %}
  3110.                             {% for ProductImage in Product.ProductImage %}
  3111.                                 <div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
  3112.                             {% endfor %}
  3113.                             {% endif %}
  3114.                         </div>
  3115.                     </div>
  3116.                 </div>
  3117.                 <div class=\"ec-grid2__cell\" style=\"\">
  3118.                     <div class=\"ec-productRole__profile\">
  3119.                         {# パンくず #}
  3120.                         {% if Product.ProductCategories is not empty %}
  3121.                            <div class=\"\" style=\"font-size: 11px;\">
  3122.                                <div><a href=\"{{ url('homepage') }}\">シコメルストア</a> > <a href=\"{{ url('product_list') }}?category_id={{ Product.ProductCategories[0].Category.id }}\">{{ Product.ProductCategories[0].Category.name }}</a> > {{ Product.name }}</div>                               
  3123.                            </div>
  3124.                         {% endif %}
  3125.                         {% if Product.is_recipe_book %}
  3126.                            <div class=\"\" style=\"font-size: 11px; margin-bottom: 10px;\">
  3127.                                <div><a href=\"{{ url('homepage') }}\">シコメルストア</a> > {{ Product.name }}</div>                               
  3128.                            </div>
  3129.                         {% endif %}
  3130.                         {# <div class=\"ec-productRole__description\" style=\"font-weight: 700; font-size: large;\">{{ Product.description_detail|raw|nl2br }}
  3131.                         </div> #}
  3132.                         {# アイコン #}
  3133.                         <div class=\"productBadge product_name_pc\">
  3134.                             {% if Product.is_freeze == \"1\" %}
  3135.                             <span class=\"freeze\">冷凍</span>
  3136.                             {% endif %}
  3137.                         </div>
  3138.                         {# 商品名 #}
  3139.                         <div class=\"ec-productRole__title product_name_pc\">
  3140.                             <h2 class=\"ec-headingTitle\" style=\"padding-bottom: 5px;\">{{ Product.name }}</h2>
  3141.                         </div>
  3142.                         {# 商品説明 #}
  3143.                         {% if Product.description_list %}
  3144.                             <p style=\"margin-top: 10px; font-size: 14px; overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 5; max-height: 100px; margin-bottom: 10px;\">{{ Product.description_list|raw|nl2br }}</p>
  3145.                         {% endif %}
  3146.                         {# タグ #}
  3147.                         <ul class=\"ec-productRole__tags\">
  3148.                             {% for Tag in Product.Tags %}
  3149.                                 <a href=\"/products/list?name={{ Tag|url_encode()}}\">
  3150.                                     <li class=\"ec-productRole__tag tag_{{ Tag.id }}\" style=\"color: #337AB7; text-decoration: underline;\">{{ Tag }}</li>
  3151.                                 </a>
  3152.                             {% endfor %}
  3153.                         </ul>
  3154.                         {# 販売価格 #}
  3155.                         <div class=\"ec-productRole__price\" style=\"padding: 0px;\">
  3156.                             <div class=\"ec-price\" style=\"margin-top: 10px;\">
  3157.                                 {# g/個あたり単価 #}
  3158.                                 <div>
  3159.                                     <span class=\"ec-headingTitle\" style=\"font-size: 16px; font-weight: bold;  margin: 0px;\">{{ Product.cost_per_unit|trans }}</span>
  3160.                                     {% if Product.cost_per_unit_gram is not null %}
  3161.                                     <span class=\"ec-headingTitle\" style=\"font-size: 12px; font-weight: bold;  margin: 0px;\">({{ Product.cost_per_unit_gram|trans }})</span>
  3162.                                     {% endif %}
  3163.                                 </div>
  3164.                                 {# 通常価格 #}
  3165.                                 {% if Product.getPrice01Max is not null %}
  3166.                                 <div style=\"font-size: 16px; font-weight: 700; color: black; margin: 0px;\">
  3167.                                     <span class=\"ec-productRole__priceRegularPrice\" style=\"font-weight: 700; text-decoration: line-through;\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
  3168.                                     <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  3169.                                 </div>
  3170.                                 {% endif %}
  3171.                                 {# 規格 #}
  3172.                                 {% if Product.standard_text %}
  3173.                                 <span class=\"ec-headingTitle\" style=\"font-size: 14px; font-weight: 700;\">規格:{{ Product.standard_text }}</span>
  3174.                                 {% endif %}
  3175.                                 {# 初回購入無料メッセージ #}
  3176.                                 {% if not has_purchased_recipe and Product.is_recipe_book %}
  3177.                                 <div class=\"initial_purchase__message\">
  3178.                                     <span>初回購入は無料!</span>
  3179.                                     <br>
  3180.                                     <span style=\"white-space: nowrap;\">ぜひお試しください。</span>
  3181.                                 </div>
  3182.                                 {# <span class=\"ec-price__price\">\\0</span><span>税込</span> #}
  3183.                                 <span class=\"ec-price__price\">¥0</span>
  3184.                                 <span class=\"ec-price__tax\" style=\"color: #b72704;\">{{ '税込'|trans }}</span>
  3185.                                 {% else %}
  3186.                                 {# 販売価格 #}
  3187.                                 <span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
  3188.                                 <span class=\"ec-price__tax\" style=\"color: #b72704;\">{{ '税込'|trans }}</span>
  3189.                                 {% endif %}
  3190.                             </div>
  3191.                         </div>
  3192.                         {# 商品コード #}
  3193.                         {#{% if Product.code_min is not empty %}#}
  3194.                         {#    <div class=\"ec-productRole__code\">#}
  3195.                         {#        {{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>#}
  3196.                         {#    </div>#}
  3197.                         {#{% endif %}#}
  3198.                         {# 関連カテゴリ #}
  3199.                         {# {% if Product.ProductCategories is not empty %}
  3200.                            <div class=\"ec-productRole__category\">
  3201.                                {% for ProductCategory in Product.ProductCategories %}
  3202.                                    <ul>
  3203.                                        <li>
  3204.                                            {% for Category in ProductCategory.Category.path %}
  3205.                                                <a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
  3206.                                                <span>></span>{% endif -%}
  3207.                                            {% endfor %}
  3208.                                        </li>
  3209.                                    </ul>
  3210.                                {% endfor %}
  3211.                            </div>
  3212.                         {% endif %} #}
  3213.                         <div class=\"ec-productRole__actions_area\">
  3214.                             <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  3215.                                 {% if Product.stock_find %}
  3216.                                     <div class=\"ec-productRole__actions\">
  3217.                                         {% if form.classcategory_id1 is defined %}
  3218.                                             <div class=\"ec-select\">
  3219.                                                 {{ form_row(form.classcategory_id1) }}
  3220.                                                 {{ form_errors(form.classcategory_id1) }}
  3221.                                             </div>
  3222.                                             {% if form.classcategory_id2 is defined %}
  3223.                                                 <div class=\"ec-select\">
  3224.                                                     {{ form_row(form.classcategory_id2) }}
  3225.                                                     {{ form_errors(form.classcategory_id2) }}
  3226.                                                 </div>
  3227.                                             {% endif %}
  3228.                                         {% endif %}
  3229.                                         <div class=\"ec-numberInput\">
  3230.                                             {% if not Product.is_recipe_book %}
  3231.                                                 <span style=\"min-width: 40px; font-size: 14px;\">{{ '数量'|trans }}</span>
  3232.                                                 {{ form_widget(form.quantity) }}
  3233.                                                 {{ form_errors(form.quantity) }}
  3234.                                             {% else %}
  3235.                                                 {{ form_widget(form.quantity, {'type': 'hidden'}) }}
  3236.                                             {% endif %}
  3237.                                             {# 食材の商品である(会員登録は必要なし) / レシピ帖である(ログイン済み、且つ未購入) #}
  3238.                                             {% if Product.is_recipe_book %}
  3239.                                                 {% if app.user and not has_purchased_product %}
  3240.                                                     <div class=\"ec-productRole__btn purchased__btn\" style=\"\">
  3241.                                                         <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  3242.                                                             {{ 'カートに入れる'|trans }}
  3243.                                                         </button>
  3244.                                                     </div>
  3245.                                                 {% elseif app.user and has_purchased_product %}
  3246.                                                     <div class=\"ec-productRole__btn purchased__btn\">
  3247.                                                         <button type=\"button\" class=\"ec-blockBtn--action add-cart\" disabled=\"disabled\">
  3248.                                                             {{ '注文済みです' }}
  3249.                                                         </button>
  3250.                                                     </div>
  3251.                                                 {% elseif not app.user %}
  3252.                                                     <div class=\"ec-productRole__btn purchased__btn\">
  3253.                                                         <button type=\"button\" class=\"ec-blockBtn--action add-cart\" disabled=\"disabled\">
  3254.                                                             {{ 'カートに入れる' }}
  3255.                                                         </button>
  3256.                                                         <span>※ログインするとカートに入れられます。</span>
  3257.                                                     </div>
  3258.                                                 {% endif %}
  3259.                                             {% else %}
  3260.                                                 <div class=\"ec-productRole__btn\">
  3261.                                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart\">
  3262.                                                         {{ 'カートに入れる'|trans }}
  3263.                                                     </button>
  3264.                                                 </div>
  3265.                                             {% endif %}
  3266.                                         </div>
  3267.                                     </div>
  3268.                                 {% else %}
  3269.                                     <div class=\"ec-productRole__btn soldout__btn\" style=\"max-width: 350px; min-width: 100px; margin-right: 20px; margin-top: 10px;\">
  3270.                                         <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  3271.                                             {{ 'ただいま品切れ中です。'|trans }}
  3272.                                         </button>
  3273.                                         {% if Product.restock_date %}
  3274.                                             <div class=\"restock_date\">
  3275.                                                 <span>※{{ Product.restock_date|date('Y年n月j日') }}に入荷予定</span>
  3276.                                             </div>
  3277.                                         {% endif %}
  3278.                                     </div>
  3279.                                 {% endif %}
  3280.                                 {{ form_rest(form) }}
  3281.                             </form>
  3282.                             {% if BaseInfo.option_favorite_product %}
  3283.                                 <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\" class=\"add_favorite_form\">
  3284.                                     <div class=\"ec-productRole__btn\" style=\"width: 100%; min-width: auto;\">
  3285.                                         {% if is_favorite == false %}
  3286.                                             <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel favorite_button\">
  3287.                                                 {{ 'お気に入りに登録'|trans }}
  3288.                                             </button>
  3289.                                         {% else %}
  3290.                                             <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel favorite_button\"
  3291.                                                     disabled=\"disabled\">{{ 'お気に入りに登録済'|trans }}
  3292.                                             </button>
  3293.                                         {% endif %}
  3294.                                     </div>
  3295.                                 </form>
  3296.                             {% endif %}
  3297.                         </div>
  3298.                         <div class=\"ec-modal\" id=\"ec-modal\">
  3299.                             <div class=\"ec-modal-overlay\">
  3300.                                 <div class=\"ec-modal-wrap\">
  3301.                                     <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  3302.                                     <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  3303.                                     <div class=\"ec-modal-box\">
  3304.                                         <div class=\"ec-role\">
  3305.                                             <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  3306.                                             <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  3307.                                         </div>
  3308.                                     </div>
  3309.                                 </div>
  3310.                             </div>
  3311.                         </div>
  3312.                         {# レシピ帖の表示 #}
  3313.                         {% if referencingProducts is not empty %}
  3314.                         <div style=\"margin-top: 20px; font-weight: bold; display: flex; justify-content: space-between; align-items: center;\">
  3315.                             <span>ご一緒にいかがですか?</span>
  3316.                             <a href=\"https://web-order.shikomel.com/user_data/recipe_book_lp\" style=\"color: #337AB7; font-size: 14px;\" target=\"_blank\">
  3317.                                 レシピ帖とは
  3318.                                 <i class=\"far fa-question-circle\" style=\"margin-left: 5px;\"></i>
  3319.                             </a>
  3320.                         </div>
  3321.                         {# main_carousel slick-initialized slick-slider #}
  3322.                         <div class=\"recipe_book_carousel sp-only\">
  3323.                             {% for RefProduct in referencingProducts %}
  3324.                             <div class=\"item slick-slide\" style=\"padding: 6px; width: 202px; display: inline-block;\" aria-hidden=\"true\">
  3325.                                 <a href=\"{{ url('product_detail', {'id': RefProduct.id}) }}\" tabindex=\"-1\">
  3326.                                     <img class=\"recipe_book__image\" src=\"{{ asset(RefProduct.main_list_image|no_image_product, 'save_image') }}\">
  3327.                                     <p class=\"recipe_book__name\">{{ RefProduct.name }}</p>
  3328.                                 </a>
  3329.                             </div>
  3330.                             {% endfor %}
  3331.                         </div>
  3332.                         <div class=\"pc-only\">
  3333.                             {% for RefProduct in referencingProducts %}
  3334.                             <div class=\"item\" style=\"padding: 6px; width: 100%; display: inline-block; max-width: 170px;\" aria-hidden=\"true\">
  3335.                                 <a href=\"{{ url('product_detail', {'id': RefProduct.id}) }}\" tabindex=\"-1\">
  3336.                                     <img class=\"recipe_book__image\" src=\"{{ asset(RefProduct.main_list_image|no_image_product, 'save_image') }}\">
  3337.                                     <p class=\"recipe_book__name\">{{ RefProduct.name }}</p>
  3338.                                 </a>
  3339.                             </div>
  3340.                             {% endfor %}
  3341.                         </div>
  3342.                         {% endif %}
  3343.                         {# FLコスト参考 #}
  3344.                         {# 動画再生モーダル #}
  3345.                         {% if Product.intro_video_embed_html is defined and Product.intro_video_embed_html %}
  3346.                         <div class=\"ec-modal\" id=\"product_video\">
  3347.                             <div class=\"ec-modal-overlay\">
  3348.                                 <div class=\"ec-modal-wrap\">
  3349.                                     <div class=\"ec-modal-box\" style=\"margin-top: 24px;\">
  3350.                                         <span class=\"ec-modal-close\">
  3351.                                             <span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/>
  3352.                                             </span>
  3353.                                         </span>
  3354.                                         <iframe id=\"video_iframe\" src=\"{{ Product.intro_video_embed_html }}\" title=\"商品紹介動画\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>
  3355.                                     </div>
  3356.                                 </div>
  3357.                             </div>
  3358.                         </div>
  3359.                         {% endif %}
  3360.                         {% if Product.cost_per_meal or Product.price_per_meal or Product.profit_per_meal %}
  3361.                         <div style=\"margin-top: 20px;\">
  3362.                             <span style=\"font-weight: bold;\">FLコスト参考</span>
  3363.                             <table class=\"table table-ProductDetail\" style=\"max-width: 800px; margin-bottom: 30px;\">
  3364.                                 <tbody> 
  3365.                                     {% if Product.cost_per_meal %}
  3366.                                     <tr>
  3367.                                         <td>1食当たり原価</td>
  3368.                                         <td>{{ Product.cost_per_meal|trans }}</td>
  3369.                                     </tr>
  3370.                                     {% endif %}
  3371.                                     {% if Product.price_per_meal %}
  3372.                                     <tr>
  3373.                                         <td>1食当たり売価</td>
  3374.                                         <td>{{ Product.price_per_meal|trans }}</td>
  3375.                                     </tr>
  3376.                                     {% endif %}
  3377.                                     {% if Product.profit_per_meal %}
  3378.                                     <tr>
  3379.                                         <td>1食当たり粗利</td>
  3380.                                         <td>{{ Product.profit_per_meal|trans }}</td>
  3381.                                     </tr>
  3382.                                     {% endif %}
  3383.                                 </tbody>
  3384.                             </table>
  3385.                         </div>
  3386.                         {% endif %}
  3387.                         {% if Product.expiration_date or Product.cooking_instructions or Product.storage_method or Product.raw_materials or Product.allergy_information or Product.allergy_information_20 %}
  3388.                         <table class=\"table table-ProductDetail\" id=\"base-info\" style=\"max-width: 800px; margin-bottom: 30px;\">
  3389.                             <span style=\"font-weight: bold;\">商品基本情報</span>
  3390.                             <tbody> 
  3391.                                 {# NOTE: 賞味期限を自動で更新されていないので一旦隠す #}
  3392.                                 {# {% if Product.expiration_date %}
  3393.                                 <tr>
  3394.                                     <td>賞味期限</td>
  3395.                                     <td>{{ Product.expiration_date|trans }} {% if Product.is_freeze == \"1\" %}<span> ※解凍後はお早めにご使用ください。</span>{% endif %}</td>
  3396.                                 </tr>
  3397.                                 {% endif %} #}
  3398.                                 {% if Product.cooking_instructions %}
  3399.                                 <tr>
  3400.                                     <td>調理方法</td>
  3401.                                     <td>{{ Product.cooking_instructions|trans }}
  3402. {% if Product.cooking_note_url %}<a href=\"{{ Product.cooking_note_url|trans }}\" style=\"font-weight: bold; text-decoration: underline; padding-top: 20px; display: block; padding-bottom: 20px;\" target=\"_blank\">さらに詳しい調理方法を見る{% endif %}</td>
  3403.                                 </tr>
  3404.                                 {% endif %}
  3405.                                 {% if Product.storage_method %}
  3406.                                 <tr>
  3407.                                     <td>保存方法</td>
  3408.                                     <td>{{ Product.storage_method|trans }}</td>
  3409.                                 </tr>
  3410.                                 {% endif %}
  3411.                                 {% if Product.raw_materials %}
  3412.                                 <tr>
  3413.                                     <td>原材料</td>
  3414.                                     <td>{{ Product.raw_materials|trans }}</td>
  3415.                                 </tr>
  3416.                                 {% endif %}
  3417.                                 {% if Product.allergy_information %}
  3418.                                 <tr>
  3419.                                     <td>アレルギー情報 主要8項目</td>
  3420.                                     <td>{{ Product.allergy_information|trans }}</td>
  3421.                                 </tr>
  3422.                                 {% endif %}
  3423.                                 {% if Product.allergy_information_20 %}
  3424.                                 <tr>
  3425.                                     <td>アレルギー情報 その他20項目</td>
  3426.                                     <td>{{ Product.allergy_information_20|trans }}</td>
  3427.                                 </tr>
  3428.                                 {% endif %}
  3429.                             </tbody>
  3430.                         </table>
  3431.                         {% endif %}
  3432.                     </div>
  3433.                 </div>
  3434.             </div>
  3435.             {% if Product.cook_movie_url %}
  3436.             <div class=\"youtube\" style=\"max-width: 500px; margin: auto; margin-top: 30px;\">
  3437.                 <span style=\"font-weight: bold;\">参考調理動画</span>
  3438.                 <iframe src=\"{{ Product.cook_movie_url }}\" title=\"参考調理動画 {{ Product.name }}\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>
  3439.             </div>
  3440.             {% endif %}
  3441.             {% if Product.add_description_1_title or Product.add_description_1_image or Product.add_description_1_content %}
  3442.             <div style=\"max-width: 500px; margin: auto; margin-top: 30px;\">
  3443.                 <div style=\"font-weight: bold; margin-bottom: 20px; text-align: center;\">活用事例・実食レビュー・詳細情報など</div>
  3444.                 {% for i in 1..10 %}
  3445.                 <div>
  3446.                     {% set title = attribute(Product, 'add_description_' ~ i ~ '_title') %}
  3447.                     {% set image = attribute(Product, 'add_description_' ~ i ~ '_image') %}
  3448.                     {% set content = attribute(Product, 'add_description_' ~ i ~ '_content') %}
  3449.                     {% if image %}
  3450.                     <div style=\"\">
  3451.                         <img src=\"{{ asset(image, 'save_image') }}\" alt=\"{{ title }}\" />
  3452.                     </div>
  3453.                     {% endif %}
  3454.                     {% if title %}
  3455.                     <h2 class=\"product-title\" style=\"font-size: 16px; font-weight: bold; margin-top: 20px;\">{{ title }}</h2>
  3456.                     <hr>
  3457.                     {% endif %}
  3458.                     {% if content %}
  3459.                     <div class=\"product-description\" style=\"margin-top:20px; margin-bottom:50px; font-size: 14px; white-space: pre-line;\">{{ content }}</div>
  3460.                     {% endif %}
  3461.                 </div>
  3462.                 {% endfor %}
  3463.             </div>
  3464.             {% endif %}
  3465.             {% if Product.freearea %}
  3466.                 <div class=\"ec-productRole__description\" style=\"max-width: 500px; margin: auto; padding-right: 10px; padding-left: 10px;\">
  3467.                     {{ include(template_from_string(Product.freearea)) }}
  3468.                 </div>
  3469.             {% endif %}
  3470.             {# <div class=\"ec-productRole__btn buy_this_product__btn\">
  3471.                 <button id=\"buy_this_product\" type=\"button\" class=\"ec-blockBtn--action\" onclick=\"moveTop()\">
  3472.                     {{ 'この商品を購入する'|trans }}
  3473.                 </button>
  3474.             </div> #}
  3475.         </div>
  3476.     {% endblock %}
  3477. ""__string_template__c3a00b603c90224beffb6b5d5d755125""");
  3478.     }
  3479.     
  3480.     public function checkSecurity()
  3481.     {
  3482.         static $tags = array("set" => 13"if" => 525"for" => 955);
  3483.         static $filters = array("raw" => 514"json_encode" => 527"escape" => 530"trans" => 639"no_image_product" => 958"slice" => 961"replace" => 961"default" => 961"length" => 1017"nl2br" => 1052"url_encode" => 1057"price" => 1076"date" => 1184);
  3484.         static $functions = array("class_categories_as_json" => 514"url" => 712"asset" => 956"form_row" => 1128"form_errors" => 1129"form_widget" => 1141"form_rest" => 1190"range" => 1361"include" => 1388"template_from_string" => 1388);
  3485.         try {
  3486.             $this->sandbox->checkSecurity(
  3487.                 ['set''if''for'],
  3488.                 ['raw''json_encode''escape''trans''no_image_product''slice''replace''default''length''nl2br''url_encode''price''date'],
  3489.                 ['class_categories_as_json''url''asset''form_row''form_errors''form_widget''form_rest''range''include''template_from_string']
  3490.             );
  3491.         } catch (SecurityError $e) {
  3492.             $e->setSourceContext($this->source);
  3493.             if ($e instanceof SecurityNotAllowedTagError && isset($tags[$e->getTagName()])) {
  3494.                 $e->setTemplateLine($tags[$e->getTagName()]);
  3495.             } elseif ($e instanceof SecurityNotAllowedFilterError && isset($filters[$e->getFilterName()])) {
  3496.                 $e->setTemplateLine($filters[$e->getFilterName()]);
  3497.             } elseif ($e instanceof SecurityNotAllowedFunctionError && isset($functions[$e->getFunctionName()])) {
  3498.                 $e->setTemplateLine($functions[$e->getFunctionName()]);
  3499.             }
  3500.             throw $e;
  3501.         }
  3502.     }
  3503. }