var/cache/dev/twig/a0/a084bd8fc3a786c799fbad5ef2d501d6.php line 53

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* Product/detail.twig */
  14. class __TwigTemplate_3e4f6e32b5f87d6b9a1de0102999e44e 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.     }
  28.     protected function doGetParent(array $context)
  29.     {
  30.         // line 11
  31.         return "default_frame.twig";
  32.     }
  33.     protected function doDisplay(array $context, array $blocks = [])
  34.     {
  35.         $macros $this->macros;
  36.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  38.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  40.         // line 13
  41.         $context["body_class"] = "product_page";
  42.         // line 11
  43.         $this->parent $this->loadTemplate("default_frame.twig""Product/detail.twig"11);
  44.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  45.         
  46.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  47.         
  48.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  49.     }
  50.     // line 15
  51.     public function block_stylesheet($context, array $blocks = [])
  52.     {
  53.         $macros $this->macros;
  54.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  55.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  56.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  57.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  58.         // line 16
  59.         echo "    <style>
  60.         .ec-modal {
  61.             display: none;
  62.             position: fixed;
  63.             top: 0;
  64.             left: 0;
  65.             z-index: 99999;
  66.             width: 100%;
  67.             height: 100%;
  68.         }
  69.         .ec-modal.small {
  70.             width: 30%;
  71.         }
  72.         .ec-modal.full {
  73.             width: 100%;
  74.             height: 100%;
  75.         }
  76.         .ec-modal .ec-modal-overlay {
  77.             display: flex;
  78.             justify-content: center;
  79.             align-items: center;
  80.             background-color: rgba(0, 0, 0, 0.3);
  81.             width: 100%;
  82.             height: 100%;
  83.         }
  84.         .ec-modal .ec-modal-wrap {
  85.             position: relative;
  86.             border-radius: 6px;
  87.             border: 0px;
  88.             background-color: #fff;
  89.             width: 50%;
  90.             margin: 20px;
  91.             padding: 40px 5px;
  92.         }
  93.         .ec-modal .ec-modal-close {
  94.             cursor: pointer;
  95.             position: absolute;
  96.             right: 20px;
  97.             top: 10px;
  98.             font-size: 20px;
  99.             height: 30px;
  100.             width: 20px;
  101.         }
  102.         .ec-modal .ec-modal-close:hover {
  103.             color: #4b5361;
  104.         }
  105.         .ec-modal .ec-modal-box {
  106.             text-align: center;
  107.         }
  108.         .ec-modal .ec-role {
  109.             margin-top: 20px;
  110.         }
  111.         
  112.    
  113.         .slick-slider {
  114.             margin-bottom: 30px;
  115.         }
  116.         .slick-dots {
  117.             position: absolute;
  118.             bottom: -45px;
  119.             display: block;
  120.             width: 100%;
  121.             padding: 0;
  122.             list-style: none;
  123.             text-align: center;
  124.         }
  125.         .slick-dots li {
  126.             position: relative;
  127.             display: inline-block;
  128.             width: 20px;
  129.             height: 20px;
  130.             margin: 0 5px;
  131.             padding: 0;
  132.             cursor: pointer;
  133.         }
  134.         .slick-dots li button {
  135.             font-size: 0;
  136.             line-height: 0;
  137.             display: block;
  138.             width: 20px;
  139.             height: 20px;
  140.             padding: 5px;
  141.             cursor: pointer;
  142.             color: transparent;
  143.             border: 0;
  144.             outline: none;
  145.             background: transparent;
  146.         }
  147.         .slick-dots li button:hover,
  148.         .slick-dots li button:focus {
  149.             outline: none;
  150.         }
  151.         .slick-dots li button:hover:before,
  152.         .slick-dots li button:focus:before {
  153.             opacity: 1;
  154.         }
  155.         .slick-dots li button:before {
  156.             content: \" \";
  157.             line-height: 20px;
  158.             position: absolute;
  159.             top: 0;
  160.             left: 0;
  161.             width: 12px;
  162.             height: 12px;
  163.             text-align: center;
  164.             opacity: .25;
  165.             background-color: black;
  166.             border-radius: 50%;
  167.         }
  168.         .slick-dots li.slick-active button:before {
  169.             opacity: .75;
  170.             background-color: black;
  171.         }
  172.         .slick-dots li button.thumbnail img {
  173.             width: 0;
  174.             height: 0;
  175.         }
  176.         .ec-numberInput {
  177.             display: none;
  178.         }
  179.        
  180.         .ec-blockBtn--cancel {
  181.             display: inline-block;
  182.             margin-bottom: 0;
  183.             font-weight: bold;
  184.             text-align: center;
  185.             vertical-align: middle;
  186.             touch-action: manipulation;
  187.             cursor: pointer;
  188.             background-image: none;
  189.             border: 1px solid transparent;
  190.             white-space: nowrap;
  191.             padding: 6px 12px;
  192.             font-size: 0.875rem;
  193.             border-radius: 1.42857142;
  194.             -webkit-user-select: none;
  195.             -moz-user-select: none;
  196.             -ms-user-select: none;
  197.             user-select: none;
  198.             padding: 10px 16px;
  199.             text-decoration: none;
  200.             color: #fff;
  201.             background-color: #F8C4CF;
  202.             border-color: #F8C4CF;
  203.             display: block;
  204.             width: 330px;
  205.             height: 56px;
  206.             line-height: 56px;
  207.             padding-top: 0;
  208.             padding-bottom: 0;
  209.             border-radius: 6px;
  210.         }
  211.         .ec-blockBtn--cancel:hover {
  212.             opacity: 0.7;
  213.             background-color: #F8C4CF;
  214.             border-color: #F8C4CF;
  215.         }
  216.         .ec-blockBtn--action-detail {
  217.             display: inline-block;
  218.             margin-bottom: 0;
  219.             font-weight: bold;
  220.             text-align: center;
  221.             vertical-align: middle;
  222.             touch-action: manipulation;
  223.             cursor: pointer;
  224.             background-image: none;
  225.             border: 1px solid transparent;
  226.             white-space: nowrap;
  227.             padding: 6px 12px;
  228.             font-size: 0.875rem;
  229.             border-radius: 1.42857142;
  230.             -webkit-user-select: none;
  231.             -moz-user-select: none;
  232.             -ms-user-select: none;
  233.             user-select: none;
  234.             padding: 10px 16px;
  235.             text-decoration: none;
  236.             color: #fff;
  237.             background-color: #d5a770;
  238.             border-color: #d5a770;
  239.             display: block;
  240.             width: 330px;
  241.             height: 56px;
  242.             line-height: 56px;
  243.             padding-top: 0;
  244.             padding-bottom: 0;
  245.             border-radius: 6px;
  246.         }
  247.         .ec-blockBtn--action-detail:hover {
  248.             background-color: #d5a770;
  249.             border-color: #d5a770;
  250.             opacity: 0.7;
  251.         }
  252.         .ec-blockBtn--action {
  253.             display: inline-block;
  254.             margin-bottom: 0;
  255.             font-weight: bold;
  256.             text-align: center;
  257.             vertical-align: middle;
  258.             touch-action: manipulation;
  259.             cursor: pointer;
  260.             background-image: none;
  261.             border: 1px solid transparent;
  262.             white-space: nowrap;
  263.             padding: 6px 12px;
  264.             font-size: 0.875rem;
  265.             border-radius: 1.42857142;
  266.             -webkit-user-select: none;
  267.             -moz-user-select: none;
  268.             -ms-user-select: none;
  269.             user-select: none;
  270.             padding: 10px 16px;
  271.             text-decoration: none;
  272.             color: #fff;
  273.             background-color: #F8C4CF;
  274.             border-color: #F8C4CF;
  275.             display: block;
  276.             width: 330px;
  277.             height: 56px;
  278.             line-height: 56px;
  279.             padding-top: 0;
  280.             padding-bottom: 0;
  281.             border-radius: 6px;
  282.         }
  283.         .ec-productRole__description_icon_car {
  284.             margin-top: 7%;
  285.             padding-top: 7%;
  286.             border-top: 1px dotted #ccc;
  287.             display: flex;
  288.         }
  289.         .ec-productRole__description_icon_present {
  290.             margin-top: 7%;
  291.             display: flex;
  292.         }
  293.         .item_desc_icon {
  294.             width: 25%;
  295.         }
  296.         .item_desc {
  297.             width: 75%;
  298.             padding-top: 0.5%;
  299.             font-weight: bold;
  300.         }
  301.         .item_desc_present {
  302.             width: 75%;
  303.             padding-top: 4%;
  304.             font-weight: bold;
  305.         }
  306.         .product-detail-artist-icon {
  307.             display: flex;
  308.         }
  309.         .box26 {
  310.             position: relative;
  311.             margin: 2em 0;
  312.             padding: 0.5em 1em;
  313.             border: solid 3px #d5a770;
  314.             border-radius: 8px;
  315.         }
  316.         .box26 .box-title {
  317.             position: absolute;
  318.             display: inline-block;
  319.             top: -13px;
  320.             left: 10px;
  321.             padding: 0 9px;
  322.             line-height: 1;
  323.             font-size: 19px;
  324.             background: #FFF;
  325.             color: #d5a770;
  326.             font-weight: bold;
  327.         }
  328.         .box26 h3 {
  329.             margin: 0; 
  330.             padding: 0;
  331.         }
  332.         .product-detail-artist-icon {
  333.             margin-left: -15px;
  334.         }
  335.         .mr-10 {
  336.             margin-right: 10px;
  337.         }
  338.         a.btn-sns {
  339.             font-size: 25px;
  340.             line-height: 40px;
  341.             width: 40px;
  342.             height: 40px;
  343.             padding: 1px 2px;
  344.             margin-left: 30px;
  345.             letter-spacing: 0;
  346.             color: #fff;
  347.             border-radius: 50%;
  348.         }
  349.         a.btn-sns:hover {
  350.             color: #fff;
  351.         }
  352.         a.btn-sns--twitter {
  353.             background: #1da1f2;
  354.         }
  355.         .product-detail-artist-link{
  356.             padding-top: 20px;
  357.         }
  358.         .product-detail-artist-link a:hover{
  359.             color: #d5a770;
  360.             border-bottom: 1px solid #d5a770;
  361.         }
  362.         .product-detail-artist-link a {
  363.             color: black;
  364.             border-bottom: 1px solid black;
  365.             font-weight: bold;
  366.             font-size: 15px;
  367.         }
  368.         /* 768以下の時 */
  369.         @media screen and (max-width: 767px) {  
  370.             .ec-productRole__description {
  371.                 display: none;
  372.             }
  373.             .product-detail-artist-photo {
  374.                 visibility:hidden
  375.             }
  376.             .artist-name-size {
  377.                 width: 500px;
  378.             }
  379.             .ec-grid2__cell_introduce {
  380.                 margin: 10% 15% 0;
  381.                 width: auto;
  382.             }
  383.             .ec-productRole__profile {
  384.                 width: auto;
  385.                 padding: 5%;
  386.                 text-align: center;
  387.             }
  388.             .ec-blockBtn--action {
  389.                 display: inline-block;
  390.                 margin-bottom: 0;
  391.                 font-weight: bold;
  392.                 text-align: center;
  393.                 vertical-align: middle;
  394.                 touch-action: manipulation;
  395.                 cursor: pointer;
  396.                 background-image: none;
  397.                 border: 1px solid transparent;
  398.                 white-space: nowrap;
  399.                 padding: 6px 12px;
  400.                 font-size: 0.875rem;
  401.                 border-radius: 1.42857142;
  402.                 -webkit-user-select: none;
  403.                 -moz-user-select: none;
  404.                 -ms-user-select: none;
  405.                 user-select: none;
  406.                 padding: 10px 16px;
  407.                 text-decoration: none;
  408.                 color: #fff;
  409.                 background-color: #d5a770;
  410.                 border-color: #d5a770;
  411.                 display: block;
  412.                 width: 230px;
  413.                 height: 56px;
  414.                 line-height: 56px;
  415.                 padding-top: 0;
  416.                 padding-bottom: 0;
  417.             }
  418.             .ec-blockBtn--action-detail {
  419.                 display: inline-block;
  420.                 margin-bottom: 0;
  421.                 font-weight: bold;
  422.                 text-align: center;
  423.                 vertical-align: middle;
  424.                 touch-action: manipulation;
  425.                 cursor: pointer;
  426.                 background-image: none;
  427.                 border: 1px solid transparent;
  428.                 white-space: nowrap;
  429.                 padding: 6px 12px;
  430.                 font-size: 0.875rem;
  431.                 border-radius: 1.42857142;
  432.                 -webkit-user-select: none;
  433.                 -moz-user-select: none;
  434.                 -ms-user-select: none;
  435.                 user-select: none;
  436.                 padding: 10px 16px;
  437.                 text-decoration: none;
  438.                 color: #fff;
  439.                 background-color: #d5a770;
  440.                 border-color: #d5a770;
  441.                 display: block;
  442.                 width: 230px;
  443.                 height: 56px;
  444.                 line-height: 56px;
  445.                 padding-top: 0;
  446.                 padding-bottom: 0;
  447.             }
  448.             .ec-blockBtn--cancel {
  449.                 display: inline-block;
  450.                 margin-bottom: 0;
  451.                 font-weight: bold;
  452.                 text-align: center;
  453.                 vertical-align: middle;
  454.                 touch-action: manipulation;
  455.                 cursor: pointer;
  456.                 background-image: none;
  457.                 border: 1px solid transparent;
  458.                 white-space: nowrap;
  459.                 padding: 6px 12px;
  460.                 font-size: 0.875rem;
  461.                 border-radius: 1.42857142;
  462.                 -webkit-user-select: none;
  463.                 -moz-user-select: none;
  464.                 -ms-user-select: none;
  465.                 user-select: none;
  466.                 padding: 10px 16px;
  467.                 text-decoration: none;
  468.                 color: #fff;
  469.                 background-color: #525263;
  470.                 border-color: #525263;
  471.                 display: block;
  472.                 width: 230px;
  473.                 height: 56px;
  474.                 line-height: 56px;
  475.                 padding-top: 0;
  476.                 padding-bottom: 0;
  477.             }
  478.             .ec-blockBtn--cancel:hover {
  479.                 opacity: 0.7;
  480.                 background-color: #525263;
  481.                 border-color: #525263;
  482.             }
  483.             .social-media-title {
  484.                 display: none;
  485.             }
  486.         }
  487.         /* 570以下の時 */
  488.         @media screen and (max-width: 570px) {  
  489.             .ec-grid2__cell_introduce {
  490.                 margin: 10% 5% 0;
  491.                 width: auto;
  492.             }
  493.         }
  494.     </style>
  495. ";
  496.         
  497.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  498.         
  499.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  500.     }
  501.     // line 493
  502.     public function block_javascript($context, array $blocks = [])
  503.     {
  504.         $macros $this->macros;
  505.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  506.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  507.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  508.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  509.         // line 494
  510.         echo "\t<script>
  511. \t\$(function () {
  512. \t\t\$('#js-slider-4').slick({
  513. \t\t\tarrows: true, // 前・次のボタンを表示する
  514. \t\t\tspeed: 500, // スライドさせるスピード(ミリ秒)
  515. \t\t\tslidesToShow: 4, // 表示させるスライド数
  516. \t\t\tcenterMode: true, // slidesToShowが奇数のとき、現在のスライドを中央に表示する
  517. \t\t\tvariableWidth: true, // スライド幅の自動計算を無効化
  518. \t\t});
  519. \t});
  520. \t</script>
  521.     <script>
  522.         eccube.classCategories = ";
  523.         // line 506
  524.         echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson((isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'506$this->source); })()));
  525.         echo ";
  526.         // 規格2に選択肢を割り当てる。
  527.         function fnSetClassCategories(form, classcat_id2_selected) {
  528.             var \$form = \$(form);
  529.             var product_id = \$form.find('input[name=product_id]').val();
  530.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  531.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  532.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  533.         }
  534.         ";
  535.         // line 517
  536.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse517)) {
  537.             // line 518
  538.             echo "        fnSetClassCategories(
  539.             \$('#form1'), ";
  540.             // line 519
  541.             echo json_encode(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.'519$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse519), "vars", [], "any"falsefalsefalse519), "value", [], "any"falsefalsefalse519));
  542.             echo "
  543.         );
  544.         ";
  545.         } elseif (twig_get_attribute($this->env$this->source,         // line 521
  546. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse521)) {
  547.             // line 522
  548.             echo "        eccube.checkStock(\$('#form1'), ";
  549.             echo 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.'522$this->source); })()), "id", [], "any"falsefalsefalse522), "html"nulltrue);
  550.             echo ", ";
  551.             echo json_encode(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.'522$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse522), "vars", [], "any"falsefalsefalse522), "value", [], "any"falsefalsefalse522));
  552.             echo ", null);
  553.         ";
  554.         }
  555.         // line 524
  556.         echo "    </script>
  557.     <script>
  558.         \$(function() {
  559.             // bfcache無効化
  560.             \$(window).bind('pageshow', function(event) {
  561.                 if (event.originalEvent.persisted) {
  562.                     location.reload(true);
  563.                 }
  564.             });
  565.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  566.             // img タグに width, height が付与されている.
  567.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  568.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  569.             \$('.ec-grid2__cell').hide();
  570.             var removeSize = function () {
  571.                 \$('.slide-item').height('');
  572.                 \$('.slide-item img')
  573.                     .removeAttr('width')
  574.                     .removeAttr('height')
  575.                     .removeAttr('style');
  576.             };
  577.             var slickInitial = function(slick) {
  578.                 \$('.ec-grid2__cell').fadeIn(1500);
  579.                 var baseHeight = \$(slick.target).height();
  580.                 var baseWidth = \$(slick.target).width();
  581.                 var rate = baseWidth / baseHeight;
  582.                 \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  583.                 // transform を使用することでCLSの影響を受けないようにする
  584.                 \$('.slide-item img')
  585.                     .css(
  586.                         {
  587.                             'transform-origin': 'top left',
  588.                             'transform': 'scaleY(' + rate + ')',
  589.                             'transition': 'transform .1s'
  590.                         }
  591.                     );
  592.                 // 正しいサイズに近くなったら属性を解除する
  593.                 setTimeout(removeSize, 500);
  594.             };
  595.             \$('.item_visual').on('init', slickInitial);
  596.             // リサイズ時は CLS の影響を受けないため属性を解除する
  597.             \$(window).resize(removeSize);
  598.             \$('.item_visual').slick({
  599.                 dots: false,
  600.                 arrows: false,
  601.                 responsive: [{
  602.                     breakpoint: 768,
  603.                     settings: {
  604.                         dots: true
  605.                     }
  606.                 }]
  607.             });
  608.             \$('.slideThumb').on('click', function() {
  609.                 var index = \$(this).attr('data-index');
  610.                 \$('.item_visual').slick('slickGoTo', index, false);
  611.             })
  612.         });
  613.     </script>
  614.     <script>
  615.         \$(function() {
  616.             \$('.add-cart').on('click', function(event) {
  617.                 ";
  618.         // line 588
  619.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse588)) {
  620.             // line 589
  621.             echo "                // 規格1フォームの必須チェック
  622.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  623.                     \$('#classcategory_id1')[0].setCustomValidity('";
  624.             // line 591
  625.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  626.             echo "');
  627.                     return true;
  628.                 } else {
  629.                     \$('#classcategory_id1')[0].setCustomValidity('');
  630.                 }
  631.                 ";
  632.         }
  633.         // line 597
  634.         echo "
  635.                 ";
  636.         // line 598
  637.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse598)) {
  638.             // line 599
  639.             echo "                // 規格2フォームの必須チェック
  640.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  641.                     \$('#classcategory_id2')[0].setCustomValidity('";
  642.             // line 601
  643.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  644.             echo "');
  645.                     return true;
  646.                 } else {
  647.                     \$('#classcategory_id2')[0].setCustomValidity('');
  648.                 }
  649.                 ";
  650.         }
  651.         // line 607
  652.         echo "
  653.                 // 個数フォームのチェック
  654.                 if (\$('#quantity').val() < 1) {
  655.                     \$('#quantity')[0].setCustomValidity('";
  656.         // line 610
  657.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  658.         echo "');
  659.                     return true;
  660.                 } else {
  661.                     \$('#quantity')[0].setCustomValidity('');
  662.                 }
  663.                 event.preventDefault();
  664.                 \$form = \$('#form1');
  665.                 \$.ajax({
  666.                     url: \$form.attr('action'),
  667.                     type: \$form.attr('method'),
  668.                     data: \$form.serialize(),
  669.                     dataType: 'json',
  670.                     beforeSend: function(xhr, settings) {
  671.                         // Buttonを無効にする
  672.                         \$('.add-cart').prop('disabled', true);
  673.                     }
  674.                 }).done(function(data) {
  675.                     // レスポンス内のメッセージをalertで表示
  676.                     \$.each(data.messages, function() {
  677.                         \$('#ec-modal-header').html(this);
  678.                     });
  679.                     \$('.ec-modal').show()
  680.                     // カートブロックを更新する
  681.                     \$.ajax({
  682.                         url: \"";
  683.         // line 637
  684.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  685.         echo "\",
  686.                         type: 'GET',
  687.                         dataType: 'html'
  688.                     }).done(function(html) {
  689.                         \$('.ec-headerRole__cart').html(html);
  690.                     });
  691.                 }).fail(function(data) {
  692.                     alert('";
  693.         // line 644
  694.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  695.         echo "');
  696.                 }).always(function(data) {
  697.                     // Buttonを有効にする
  698.                     \$('.add-cart').prop('disabled', false);
  699.                 });
  700.             });
  701.         });
  702.         \$('.ec-modal-wrap').on('click', function(e) {
  703.             // モーダル内の処理は外側にバブリングさせない
  704.             e.stopPropagation();
  705.         });
  706.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  707.             \$('.ec-modal').hide()
  708.         });
  709.     </script>
  710.     <script type=\"application/ld+json\">
  711.     {
  712.         \"@context\": \"https://schema.org/\",
  713.         \"@type\": \"Product\",
  714.         \"name\": \"";
  715.         // line 664
  716.         echo 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.'664$this->source); })()), "name", [], "any"falsefalsefalse664), "html"nulltrue);
  717.         echo "\",
  718.         \"image\": [
  719.             ";
  720.         // line 666
  721.         $context['_parent'] = $context;
  722.         $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.'666$this->source); })()), "ProductImage", [], "any"falsefalsefalse666));
  723.         $context['_iterated'] = false;
  724.         $context['loop'] = [
  725.           'parent' => $context['_parent'],
  726.           'index0' => 0,
  727.           'index'  => 1,
  728.           'first'  => true,
  729.         ];
  730.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  731.             $length count($context['_seq']);
  732.             $context['loop']['revindex0'] = $length 1;
  733.             $context['loop']['revindex'] = $length;
  734.             $context['loop']['length'] = $length;
  735.             $context['loop']['last'] = === $length;
  736.         }
  737.         foreach ($context['_seq'] as $context["_key"] => $context["img"]) {
  738.             // line 667
  739.             echo "                \"";
  740.             echo twig_escape_filter($this->envtwig_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.'667$this->source); })()), "request", [], "any"falsefalsefalse667), "schemeAndHttpHost", [], "any"falsefalsefalse667), "html"nulltrue);
  741.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["img"], "save_image"), "html"nulltrue);
  742.             echo "\"";
  743.             if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse667)) {
  744.                 echo ",";
  745.             }
  746.             // line 668
  747.             echo "
  748.             ";
  749.             $context['_iterated'] = true;
  750.             ++$context['loop']['index0'];
  751.             ++$context['loop']['index'];
  752.             $context['loop']['first'] = false;
  753.             if (isset($context['loop']['length'])) {
  754.                 --$context['loop']['revindex0'];
  755.                 --$context['loop']['revindex'];
  756.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  757.             }
  758.         }
  759.         if (!$context['_iterated']) {
  760.             // line 670
  761.             echo "                \"";
  762.             echo twig_escape_filter($this->envtwig_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.'670$this->source); })()), "request", [], "any"falsefalsefalse670), "schemeAndHttpHost", [], "any"falsefalsefalse670), "html"nulltrue);
  763.             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);
  764.             echo "\"
  765.             ";
  766.         }
  767.         $_parent $context['_parent'];
  768.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
  769.         $context array_intersect_key($context$_parent) + $_parent;
  770.         // line 672
  771.         echo "        ],
  772.         \"description\": \"";
  773.         // line 673
  774.         echo twig_escape_filter($this->envtwig_slice($this->envtwig_replace_filter(((twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"truetruefalse673)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"falsefalsefalse673), 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.'673$this->source); })()), "description_detail", [], "any"falsefalsefalse673))) : (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.'673$this->source); })()), "description_detail", [], "any"falsefalsefalse673))), ["
  775. => """ " => ""]), 0300), "html"nulltrue);
  776.         echo "\",
  777.         ";
  778.         // line 674
  779.         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.'674$this->source); })()), "code_min", [], "any"falsefalsefalse674)) {
  780.             // line 675
  781.             echo "        \"sku\": \"";
  782.             echo 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.'675$this->source); })()), "code_min", [], "any"falsefalsefalse675), "html"nulltrue);
  783.             echo "\",
  784.         ";
  785.         }
  786.         // line 677
  787.         echo "        \"offers\": {
  788.             \"@type\": \"Offer\",
  789.             \"url\": \"";
  790.         // line 679
  791.         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.'679$this->source); })()), "id", [], "any"falsefalsefalse679)]), "html"nulltrue);
  792.         echo "\",
  793.             \"priceCurrency\": \"";
  794.         // line 680
  795.         echo twig_escape_filter($this->envtwig_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.'680$this->source); })()), "currency", [], "any"falsefalsefalse680), "html"nulltrue);
  796.         echo "\",
  797.             \"price\": ";
  798.         // line 681
  799.         ((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.'681$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse681)) ? (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.'681$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse681), "html"nulltrue))) : (print (0)));
  800.         echo ",
  801.             \"availability\": \"";
  802.         // line 682
  803.         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.'682$this->source); })()), "stock_find", [], "any"falsefalsefalse682)) ? ("InStock") : ("OutOfStock"));
  804.         echo "\"
  805.         }
  806.     }
  807.     </script>
  808. ";
  809.         
  810.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  811.         
  812.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  813.     }
  814.     // line 688
  815.     public function block_main($context, array $blocks = [])
  816.     {
  817.         $macros $this->macros;
  818.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  819.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  820.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  821.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  822.         // line 689
  823.         echo "    <div class=\"ec-productRole\">
  824.         <div class=\"ec-grid2\">
  825.             <div class=\"ec-grid2__cell\">
  826.                 <div class=\"ec-sliderItemRole\">
  827.                     <div class=\"item_visual\">
  828.                         ";
  829.         // line 695
  830.         $context['_parent'] = $context;
  831.         $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.'695$this->source); })()), "ProductImage", [], "any"falsefalsefalse695));
  832.         $context['_iterated'] = false;
  833.         $context['loop'] = [
  834.           'parent' => $context['_parent'],
  835.           'index0' => 0,
  836.           'index'  => 1,
  837.           'first'  => true,
  838.         ];
  839.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  840.             $length count($context['_seq']);
  841.             $context['loop']['revindex0'] = $length 1;
  842.             $context['loop']['revindex'] = $length;
  843.             $context['loop']['length'] = $length;
  844.             $context['loop']['last'] = === $length;
  845.         }
  846.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  847.             // line 696
  848.             echo "                            <div class=\"slide-item\"><img src=\"";
  849.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  850.             echo "\" alt=\"";
  851.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse696)) ? (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.'696$this->source); })()), "name", [], "any"falsefalsefalse696), "html"nulltrue))) : (print ("")));
  852.             echo "\" height=\"550\"";
  853.             if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse696) > 1)) {
  854.                 echo " loading=\"lazy\"";
  855.             }
  856.             echo "></div>
  857.                         ";
  858.             $context['_iterated'] = true;
  859.             ++$context['loop']['index0'];
  860.             ++$context['loop']['index'];
  861.             $context['loop']['first'] = false;
  862.             if (isset($context['loop']['length'])) {
  863.                 --$context['loop']['revindex0'];
  864.                 --$context['loop']['revindex'];
  865.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  866.             }
  867.         }
  868.         if (!$context['_iterated']) {
  869.             // line 698
  870.             echo "                            <div class=\"slide-item\"><img src=\"";
  871.             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);
  872.             echo "\" alt=\"";
  873.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse698)) ? (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.'698$this->source); })()), "name", [], "any"falsefalsefalse698), "html"nulltrue))) : (print ("")));
  874.             echo "\" width=\"550\" height=\"550\"></div>
  875.                         ";
  876.         }
  877.         $_parent $context['_parent'];
  878.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  879.         $context array_intersect_key($context$_parent) + $_parent;
  880.         // line 700
  881.         echo "                    </div>
  882.                     <div class=\"item_nav\">
  883.                         ";
  884.         // line 702
  885.         $context['_parent'] = $context;
  886.         $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.'702$this->source); })()), "ProductImage", [], "any"falsefalsefalse702));
  887.         $context['loop'] = [
  888.           'parent' => $context['_parent'],
  889.           'index0' => 0,
  890.           'index'  => 1,
  891.           'first'  => true,
  892.         ];
  893.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  894.             $length count($context['_seq']);
  895.             $context['loop']['revindex0'] = $length 1;
  896.             $context['loop']['revindex'] = $length;
  897.             $context['loop']['length'] = $length;
  898.             $context['loop']['last'] = === $length;
  899.         }
  900.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  901.             // line 703
  902.             echo "                            <div class=\"slideThumb\" data-index=\"";
  903.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsefalse703), "html"nulltrue);
  904.             echo "\"><img src=\"";
  905.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  906.             echo "\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
  907.                         ";
  908.             ++$context['loop']['index0'];
  909.             ++$context['loop']['index'];
  910.             $context['loop']['first'] = false;
  911.             if (isset($context['loop']['length'])) {
  912.                 --$context['loop']['revindex0'];
  913.                 --$context['loop']['revindex'];
  914.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  915.             }
  916.         }
  917.         $_parent $context['_parent'];
  918.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  919.         $context array_intersect_key($context$_parent) + $_parent;
  920.         // line 705
  921.         echo "                    </div>
  922.                 </div>
  923.                 <div class=\"product-detail-artDetail\">
  924.                     <div class=\"flex\">
  925.                         <i class=\"fa-solid fa-palette fa-2x fontawesome-size\"></i><h2 class=\"fontweight-bold\">作品紹介<h2>
  926.                     </div>
  927.                     <div class=\"product-detail-title-description\">
  928.                         ";
  929.         // line 712
  930.         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.'712$this->source); })()), "getDescriptionDetail", [], "any"falsefalsefalse712)) {
  931.             // line 713
  932.             echo "                            <p>";
  933.             echo 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.'713$this->source); })()), "getDescriptionDetail", [], "any"falsefalsefalse713), "html"nulltrue);
  934.             echo "</p>
  935.                         ";
  936.         }
  937.         // line 715
  938.         echo "                    </div>
  939.                 </div>
  940. \t\t\t\t<div class=\"hr-bold\"></div>
  941.                 ";
  942.         // line 720
  943.         $context['_parent'] = $context;
  944.         $context['_seq'] = twig_ensure_traversable((isset($context["artists"]) || array_key_exists("artists"$context) ? $context["artists"] : (function () { throw new RuntimeError('Variable "artists" does not exist.'720$this->source); })()));
  945.         foreach ($context['_seq'] as $context["_key"] => $context["artist"]) {
  946.             // line 721
  947.             echo "                ";
  948.             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.'721$this->source); })()), "getArtistId", [], "any"falsefalsefalse721) == twig_get_attribute($this->env$this->source$context["artist"], "id", [], "any"falsefalsefalse721))) {
  949.                 // line 722
  950.                 echo "\t\t\t\t<div class=\"product-detail-artist\">
  951. \t\t\t\t\t<div class=\"product-detail-artist-description\">
  952. \t\t\t\t\t\t<div class=\"flex\">
  953. \t\t\t\t\t\t\t<i class=\"fa-solid fa-pen-nib fa-2x fontawesome-size\"></i>
  954.                             <h2 class=\"fontweight-bold artist-name-size\">";
  955.                 // line 726
  956.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["artist"], "name", [], "any"falsefalsefalse726), "html"nulltrue);
  957.                 echo "</h2>
  958.                             <div class=\"product-detail-artist-photo\">
  959.                                 <img src=\"";
  960.                 // line 728
  961.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(twig_get_attribute($this->env$this->source$context["artist"], "image", [], "any"falsefalsefalse728)), "user_data"), "html"nulltrue);
  962.                 echo "\" alt=artist.name class='hidden'>
  963.                             </div>
  964. \t\t\t\t\t\t</div>
  965. \t\t\t\t\t\t<div class=\"product-detail-artist-desc\">
  966.                             <p>« ";
  967.                 // line 732
  968.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["artist"], "getDescription", [], "any"falsefalsefalse732), "html"nulltrue);
  969.                 echo " »</p>
  970. \t\t\t\t\t\t</div>
  971. \t\t\t\t\t\t<div class=\"hr\"></div>
  972.                         ";
  973.                 // line 737
  974.                 if ((twig_get_attribute($this->env$this->source$context["artist"], "twitter", [], "any"falsefalsefalse737) != null)) {
  975.                     // line 738
  976.                     echo "                        <h3 class=\"fontweight-bold social-media-title\">アーティストのソーシャルメディア<h3>
  977. \t\t\t\t\t\t<div class=\"product-detail-artist-icon\">
  978.                             <div>
  979.                                 <a href='";
  980.                     // line 741
  981.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["artist"], "twitter", [], "any"falsefalsefalse741), "html"nulltrue);
  982.                     echo "' class=\"btn btn-sns btn-sns--twitter\"><i class=\"fa-brands fa-twitter\" style=\"color: white;\" onMouseOver=\"this.style.color='#d5a770'\" onMouseOut=\"this.style.color='white'\"></i></a>
  983.                             </div>
  984. \t\t\t\t\t\t</div>
  985.                         ";
  986.                 }
  987.                 // line 745
  988.                 echo "
  989.                         <div class=\"product-detail-artist-link\">
  990.                             <a href=\"/artists/detail/";
  991.                 // line 747
  992.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["artist"], "id", [], "any"falsefalsefalse747), "html"nulltrue);
  993.                 echo "\">";
  994.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["artist"], "name", [], "any"falsefalsefalse747), "html"nulltrue);
  995.                 echo "の作品を閲覧</a>
  996.                         </div>
  997. \t\t\t\t\t</div>
  998. \t\t\t\t</div>
  999.                 ";
  1000.             }
  1001.             // line 752
  1002.             echo "                ";
  1003.         }
  1004.         $_parent $context['_parent'];
  1005.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['artist'], $context['_parent'], $context['loop']);
  1006.         $context array_intersect_key($context$_parent) + $_parent;
  1007.         // line 753
  1008.         echo "            </div>
  1009.             <div class=\"ec-grid2__cell_introduce\">
  1010.                 <div class=\"ec-productRole__profile\">
  1011.                     ";
  1012.         // line 757
  1013.         echo "                    <div class=\"ec-productRole__title\">
  1014.                         <h2 class=\"ec-headingTitle\">";
  1015.         // line 758
  1016.         echo 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.'758$this->source); })()), "name", [], "any"falsefalsefalse758), "html"nulltrue);
  1017.         echo "</h2>
  1018.                     </div>
  1019. \t\t\t\t\t";
  1020.         // line 761
  1021.         echo "                    <div class=\"ec-productRole__title_flex\">
  1022.                        ";
  1023.         // line 762
  1024.         $context['_parent'] = $context;
  1025.         $context['_seq'] = twig_ensure_traversable((isset($context["artists"]) || array_key_exists("artists"$context) ? $context["artists"] : (function () { throw new RuntimeError('Variable "artists" does not exist.'762$this->source); })()));
  1026.         foreach ($context['_seq'] as $context["_key"] => $context["artist"]) {
  1027.             // line 763
  1028.             echo "                            ";
  1029.             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.'763$this->source); })()), "getArtistId", [], "any"falsefalsefalse763) == twig_get_attribute($this->env$this->source$context["artist"], "id", [], "any"falsefalsefalse763))) {
  1030.                 // line 764
  1031.                 echo "                            <div><a href=\"/artists/detail/";
  1032.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["artist"], "id", [], "any"falsefalsefalse764), "html"nulltrue);
  1033.                 echo "\">";
  1034.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["artist"], "name", [], "any"falsefalsefalse764), "html"nulltrue);
  1035.                 echo ", </a></div>
  1036.                             <div class=\"ml-5\">
  1037.                                 ";
  1038.                 // line 767
  1039.                 echo "                                ";
  1040.                 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.'767$this->source); })()), "getArtistId", [], "any"falsefalsefalse767) == twig_get_attribute($this->env$this->source$context["artist"], "id", [], "any"falsefalsefalse767))) {
  1041.                     // line 768
  1042.                     echo "                                    <p>";
  1043.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["artist"], "address", [], "any"falsefalsefalse768), "html"nulltrue);
  1044.                     echo "</p>
  1045.                                 ";
  1046.                 }
  1047.                 // line 770
  1048.                 echo "                            </div>
  1049.                             ";
  1050.             }
  1051.             // line 772
  1052.             echo "                        ";
  1053.         }
  1054.         $_parent $context['_parent'];
  1055.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['artist'], $context['_parent'], $context['loop']);
  1056.         $context array_intersect_key($context$_parent) + $_parent;
  1057.         // line 773
  1058.         echo "                    </div>
  1059. \t\t\t\t\t";
  1060.         // line 775
  1061.         echo "                    ";
  1062.         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.'775$this->source); })()), "getProductionTechnique", [], "any"falsefalsefalse775))) {
  1063.             // line 776
  1064.             echo "                    <div class=\"ec-productRole__title mt-10\">
  1065.                         <p>";
  1066.             // line 777
  1067.             echo 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.'777$this->source); })()), "getProductionTechnique", [], "any"falsefalsefalse777), "html"nulltrue);
  1068.             echo "</p>
  1069.                     </div>
  1070.                     ";
  1071.         }
  1072.         // line 780
  1073.         echo "\t\t\t\t\t";
  1074.         // line 781
  1075.         echo "                    ";
  1076.         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.'781$this->source); })()), "getProductionSizeVertical", [], "any"falsefalsefalse781))) {
  1077.             // line 782
  1078.             echo "                    <div class=\"ec-productRole__title\">
  1079.                         <div><p>";
  1080.             // line 783
  1081.             echo 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.'783$this->source); })()), "getProductionSizeVertical", [], "any"falsefalsefalse783), "html"nulltrue);
  1082.             echo " x ";
  1083.             echo 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.'783$this->source); })()), "getProductionSizeWidth", [], "any"falsefalsefalse783), "html"nulltrue);
  1084.             echo " cm</p></div>
  1085.                     </div>
  1086.                     ";
  1087.         }
  1088.         // line 786
  1089.         echo "\t\t\t\t\t";
  1090.         // line 787
  1091.         echo "                    <ul class=\"ec-productRole__tags\">
  1092.                         ";
  1093.         // line 788
  1094.         $context['_parent'] = $context;
  1095.         $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.'788$this->source); })()), "Tags", [], "any"falsefalsefalse788));
  1096.         foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
  1097.             // line 789
  1098.             echo "                            <li class=\"ec-productRole__tag tag_";
  1099.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsefalse789), "html"nulltrue);
  1100.             echo "\">";
  1101.             echo twig_escape_filter($this->env$context["Tag"], "html"nulltrue);
  1102.             echo "</li>
  1103.                         ";
  1104.         }
  1105.         $_parent $context['_parent'];
  1106.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
  1107.         $context array_intersect_key($context$_parent) + $_parent;
  1108.         // line 791
  1109.         echo "                    </ul>
  1110.                     ";
  1111.         // line 793
  1112.         echo "                    ";
  1113.         // line 809
  1114.         echo "                    ";
  1115.         // line 810
  1116.         echo "                    <div class=\"ec-productRole__price\">
  1117.                         ";
  1118.         // line 811
  1119.         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.'811$this->source); })()), "hasProductClass", [], "any"falsefalsefalse811)) {
  1120.             // line 812
  1121.             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.'812$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse812) == 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.'812$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse812))) {
  1122.                 // line 813
  1123.                 echo "                                <div class=\"ec-price\">
  1124. \t\t\t\t\t\t\t\t    <span class=\"ec-productRole__priceRegularPrice\">";
  1125.                 // line 814
  1126.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("価格"), "html"nulltrue);
  1127.                 echo "</span>
  1128.                                     <span class=\"ec-price__price price02-default\">";
  1129.                 // line 815
  1130.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(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.'815$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse815)), "html"nulltrue);
  1131.                 echo "</span>
  1132.                                     <span class=\"ec-price__tax\">";
  1133.                 // line 816
  1134.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  1135.                 echo "</span>
  1136.                                 </div>
  1137.                             ";
  1138.             } else {
  1139.                 // line 819
  1140.                 echo "                                <div class=\"ec-price\">
  1141. \t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\">";
  1142.                 // line 820
  1143.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("価格"), "html"nulltrue);
  1144.                 echo "</span>
  1145.                                     <span class=\"ec-price__price price02-default\">";
  1146.                 // line 821
  1147.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(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.'821$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse821)), "html"nulltrue);
  1148.                 echo " ~ ";
  1149.                 echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(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.'821$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse821)), "html"nulltrue);
  1150.                 echo "</span>
  1151.                                     <span class=\"ec-price__tax\">";
  1152.                 // line 822
  1153.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  1154.                 echo "</span>
  1155.                                 </div>
  1156.                             ";
  1157.             }
  1158.             // line 825
  1159.             echo "                        ";
  1160.         } else {
  1161.             // line 826
  1162.             echo "                            <div class=\"ec-price\">
  1163. \t\t\t\t\t\t\t    <span class=\"ec-productRole__priceRegularPrice\">";
  1164.             // line 827
  1165.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("価格"), "html"nulltrue);
  1166.             echo "</span>
  1167.                                 <span class=\"ec-price__price\">";
  1168.             // line 828
  1169.             echo twig_escape_filter($this->env$this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(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.'828$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse828)), "html"nulltrue);
  1170.             echo "</span>
  1171.                                 <span class=\"ec-price__tax\">";
  1172.             // line 829
  1173.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  1174.             echo "</span>
  1175.                             </div>
  1176.                         ";
  1177.         }
  1178.         // line 832
  1179.         echo "                    </div>
  1180.                     ";
  1181.         // line 834
  1182.         echo "                    ";
  1183.         if (array_key_exists("maker_id"$context)) {
  1184.             // line 835
  1185.             echo "                        <div class=\"ec-productRole__code\">
  1186.                             ";
  1187.             // line 836
  1188.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("店舗"), "html"nulltrue);
  1189.             echo ": <span>";
  1190.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["maker"]) || array_key_exists("maker"$context) ? $context["maker"] : (function () { throw new RuntimeError('Variable "maker" does not exist.'836$this->source); })()), ((isset($context["maker_id"]) || array_key_exists("maker_id"$context) ? $context["maker_id"] : (function () { throw new RuntimeError('Variable "maker_id" does not exist.'836$this->source); })()) - 1), [], "array"falsefalsefalse836), "name", [], "any"falsefalsefalse836), "html"nulltrue);
  1191.             echo "</span>
  1192.                         </div>
  1193.                     ";
  1194.         }
  1195.         // line 839
  1196.         echo "                    ";
  1197.         // line 840
  1198.         echo "                    ";
  1199.         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.'840$this->source); })()), "code_min", [], "any"falsefalsefalse840))) {
  1200.             // line 841
  1201.             echo "                        <div class=\"ec-productRole__code\">
  1202.                             ";
  1203.             // line 842
  1204.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品コード"), "html"nulltrue);
  1205.             echo ": <span class=\"product-code-default\">";
  1206.             echo 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.'842$this->source); })()), "code_min", [], "any"falsefalsefalse842), "html"nulltrue);
  1207.             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.'842$this->source); })()), "code_min", [], "any"falsefalsefalse842) != 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.'842$this->source); })()), "code_max", [], "any"falsefalsefalse842))) {
  1208.                 echo " ~ ";
  1209.                 echo 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.'842$this->source); })()), "code_max", [], "any"falsefalsefalse842), "html"nulltrue);
  1210.             }
  1211.             echo "</span>
  1212.                         </div>
  1213.                     ";
  1214.         }
  1215.         // line 845
  1216.         echo "                    ";
  1217.         // line 846
  1218.         echo "                    ";
  1219.         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.'846$this->source); })()), "ProductCategories", [], "any"falsefalsefalse846))) {
  1220.             // line 847
  1221.             echo "                        <div class=\"ec-productRole__category\">
  1222.                             <div class=\"fontWeightBold\">";
  1223.             // line 848
  1224.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("関連カテゴリ"), "html"nulltrue);
  1225.             echo "</div>
  1226.                             ";
  1227.             // line 849
  1228.             $context['_parent'] = $context;
  1229.             $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.'849$this->source); })()), "ProductCategories", [], "any"falsefalsefalse849));
  1230.             foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
  1231.                 // line 850
  1232.                 echo "                                <ul>
  1233.                                     <li>
  1234.                                         ";
  1235.                 // line 852
  1236.                 $context['_parent'] = $context;
  1237.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["ProductCategory"], "Category", [], "any"falsefalsefalse852), "path", [], "any"falsefalsefalse852));
  1238.                 $context['loop'] = [
  1239.                   'parent' => $context['_parent'],
  1240.                   'index0' => 0,
  1241.                   'index'  => 1,
  1242.                   'first'  => true,
  1243.                 ];
  1244.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1245.                     $length count($context['_seq']);
  1246.                     $context['loop']['revindex0'] = $length 1;
  1247.                     $context['loop']['revindex'] = $length;
  1248.                     $context['loop']['length'] = $length;
  1249.                     $context['loop']['last'] = === $length;
  1250.                 }
  1251.                 foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  1252.                     // line 853
  1253.                     echo "                                            <a href=\"";
  1254.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  1255.                     echo "?category_id=";
  1256.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse853), "html"nulltrue);
  1257.                     echo "\">";
  1258.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "name", [], "any"falsefalsefalse853), "html"nulltrue);
  1259.                     echo "</a>";
  1260.                     if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse853) == false)) {
  1261.                         // line 854
  1262.                         echo "                                            <span></span>";
  1263.                     }
  1264.                     ++$context['loop']['index0'];
  1265.                     ++$context['loop']['index'];
  1266.                     $context['loop']['first'] = false;
  1267.                     if (isset($context['loop']['length'])) {
  1268.                         --$context['loop']['revindex0'];
  1269.                         --$context['loop']['revindex'];
  1270.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  1271.                     }
  1272.                 }
  1273.                 $_parent $context['_parent'];
  1274.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  1275.                 $context array_intersect_key($context$_parent) + $_parent;
  1276.                 // line 856
  1277.                 echo "                                    </li>
  1278.                                 </ul>
  1279.                             ";
  1280.             }
  1281.             $_parent $context['_parent'];
  1282.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
  1283.             $context array_intersect_key($context$_parent) + $_parent;
  1284.             // line 859
  1285.             echo "                        </div>
  1286.                     ";
  1287.         }
  1288.         // line 861
  1289.         echo "                    <form action=\"";
  1290.         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.'861$this->source); })()), "id", [], "any"falsefalsefalse861)]), "html"nulltrue);
  1291.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  1292.                         ";
  1293.         // line 862
  1294.         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.'862$this->source); })()), "stock_find", [], "any"falsefalsefalse862)) {
  1295.             // line 863
  1296.             echo "                            <div class=\"ec-productRole__actions\">
  1297.                                 ";
  1298.             // line 864
  1299.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse864)) {
  1300.                 // line 865
  1301.                 echo "                                    <div class=\"ec-select\">
  1302.                                         ";
  1303.                 // line 866
  1304.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'866$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse866), 'row');
  1305.                 echo "
  1306.                                         ";
  1307.                 // line 867
  1308.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'867$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse867), 'errors');
  1309.                 echo "
  1310.                                     </div>
  1311.                                     ";
  1312.                 // line 869
  1313.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse869)) {
  1314.                     // line 870
  1315.                     echo "                                        <div class=\"ec-select\">
  1316.                                             ";
  1317.                     // line 871
  1318.                     echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'871$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse871), 'row');
  1319.                     echo "
  1320.                                             ";
  1321.                     // line 872
  1322.                     echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'872$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse872), 'errors');
  1323.                     echo "
  1324.                                         </div>
  1325.                                     ";
  1326.                 }
  1327.                 // line 875
  1328.                 echo "                                ";
  1329.             }
  1330.             // line 876
  1331.             echo "                                <div class=\"ec-numberInput\"><span>";
  1332.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("数量"), "html"nulltrue);
  1333.             echo "</span>
  1334.                                     ";
  1335.             // line 877
  1336.             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'877$this->source); })()), "quantity", [], "any"falsefalsefalse877), 'widget');
  1337.             echo "
  1338.                                     ";
  1339.             // line 878
  1340.             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'878$this->source); })()), "quantity", [], "any"falsefalsefalse878), 'errors');
  1341.             echo "
  1342.                                 </div>
  1343.                                 <div class=\"ec-numberInput\"><span>";
  1344.             // line 880
  1345.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("メーカーID"), "html"nulltrue);
  1346.             echo "</span>
  1347.                                     ";
  1348.             // line 881
  1349.             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'881$this->source); })()), "maker_id", [], "any"falsefalsefalse881), 'widget');
  1350.             echo "
  1351.                                     ";
  1352.             // line 882
  1353.             echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(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.'882$this->source); })()), "maker_id", [], "any"falsefalsefalse882), 'errors');
  1354.             echo "
  1355.                                 </div>
  1356.                                 ";
  1357.             // line 884
  1358.             if (array_key_exists("maker_id"$context)) {
  1359.                 // line 885
  1360.                 echo "                                <div class=\"ec-numberInput\"><span>";
  1361.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("メーカーID"), "html"nulltrue);
  1362.                 echo "</span>
  1363.                                     <input type=\"number\" id=\"maker_id\" name=\"maker_id\" required=\"required\" value=\"";
  1364.                 // line 886
  1365.                 echo twig_escape_filter($this->env, (isset($context["maker_id"]) || array_key_exists("maker_id"$context) ? $context["maker_id"] : (function () { throw new RuntimeError('Variable "maker_id" does not exist.'886$this->source); })()), "html"nulltrue);
  1366.                 echo "\" class=\"form-control\">
  1367.                                 </div>
  1368.                                 ";
  1369.             } else {
  1370.                 // line 889
  1371.                 echo "                                <div class=\"ec-numberInput\"><span>";
  1372.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("メーカーID"), "html"nulltrue);
  1373.                 echo "</span>
  1374.                                 ";
  1375.                 // line 890
  1376.                 $context['_parent'] = $context;
  1377.                 $context['_seq'] = twig_ensure_traversable((isset($context["productHistory"]) || array_key_exists("productHistory"$context) ? $context["productHistory"] : (function () { throw new RuntimeError('Variable "productHistory" does not exist.'890$this->source); })()));
  1378.                 foreach ($context['_seq'] as $context["_key"] => $context["cookie"]) {
  1379.                     // line 891
  1380.                     echo "                                    <input type=\"number\" id=\"maker_id\" name=\"maker_id\" required=\"required\" value=\"";
  1381.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cookie"], "id", [], "any"falsefalsefalse891), "html"nulltrue);
  1382.                     echo "\" class=\"form-control\">
  1383.                                 ";
  1384.                 }
  1385.                 $_parent $context['_parent'];
  1386.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cookie'], $context['_parent'], $context['loop']);
  1387.                 $context array_intersect_key($context$_parent) + $_parent;
  1388.                 // line 893
  1389.                 echo "                                </div>
  1390.                                 ";
  1391.             }
  1392.             // line 895
  1393.             echo "                            </div>
  1394.                             <div class=\"ec-productRole__btn\">
  1395.                                 <button type=\"submit\" class=\"ec-blockBtn--action-detail add-cart\">
  1396.                                     ";
  1397.             // line 898
  1398.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに入れる"), "html"nulltrue);
  1399.             echo "
  1400.                                 </button>
  1401.                             </div>
  1402.                         ";
  1403.         } else {
  1404.             // line 902
  1405.             echo "                            <div class=\"ec-productRole__btn\">
  1406.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  1407.                                     ";
  1408.             // line 904
  1409.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  1410.             echo "
  1411.                                 </button>
  1412.                             </div>
  1413.                         ";
  1414.         }
  1415.         // line 908
  1416.         echo "
  1417.                         ";
  1418.         // line 909
  1419.         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'909$this->source); })()), 'rest');
  1420.         echo "
  1421.                     </form>
  1422.                     <div class=\"ec-modal\">
  1423.                         <div class=\"ec-modal-overlay\">
  1424.                             <div class=\"ec-modal-wrap\">
  1425.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  1426.         // line 914
  1427.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  1428.         echo "\" alt=\"\"/></span></span>
  1429.                                 <div id=\"ec-modal-header\" class=\"text-center\">";
  1430.         // line 915
  1431.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  1432.         echo "</div>
  1433.                                 <div class=\"ec-modal-box\">
  1434.                                     <div class=\"ec-role\">
  1435.                                         <span class=\"ec-inlineBtn--cancel\">";
  1436.         // line 918
  1437.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お買い物を続ける"), "html"nulltrue);
  1438.         echo "</span>
  1439.                                         <a href=\"";
  1440.         // line 919
  1441.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  1442.         echo "\" class=\"ec-inlineBtn--action mt-5per\">";
  1443.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへ進む"), "html"nulltrue);
  1444.         echo "</a>
  1445.                                     </div>
  1446.                                 </div>
  1447.                             </div>
  1448.                         </div>
  1449.                     </div>
  1450.                     ";
  1451.         // line 925
  1452.         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.'925$this->source); })()), "option_favorite_product", [], "any"falsefalsefalse925)) {
  1453.             // line 926
  1454.             echo "                        <form action=\"";
  1455.             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.'926$this->source); })()), "id", [], "any"falsefalsefalse926)]), "html"nulltrue);
  1456.             echo "\" method=\"post\">
  1457.                             <div class=\"ec-productRole__btn\">
  1458.                                 ";
  1459.             // line 928
  1460.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'928$this->source); })()) == false)) {
  1461.                 // line 929
  1462.                 echo "                                    <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
  1463.                                         <i class=\"ec-headerNav__itemIcon fas fa-heart fa-fw\"></i>";
  1464.                 // line 930
  1465.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加"), "html"nulltrue);
  1466.                 echo "
  1467.                                     </button>
  1468.                                 ";
  1469.             } else {
  1470.                 // line 933
  1471.                 echo "                                    <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
  1472.                                             disabled=\"disabled\">";
  1473.                 // line 934
  1474.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お気に入りに追加済です。"), "html"nulltrue);
  1475.                 echo "
  1476.                                     </button>
  1477.                                 ";
  1478.             }
  1479.             // line 937
  1480.             echo "                            </div>
  1481.                         </form>
  1482.                     ";
  1483.         }
  1484.         // line 940
  1485.         echo "                    <div class=\"ec-productRole__description\">
  1486.                         ";
  1487.         // line 941
  1488.         echo twig_nl2br(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.'941$this->source); })()), "description_detail", [], "any"falsefalsefalse941));
  1489.         echo "
  1490.                     </div>
  1491.                     <div class=\"ec-productRole__description_icon_car\">
  1492.                         <div class='item_desc_icon'><i class=\"fa-solid fa-truck fa-3x\" style=\"color: #d5a770;\"></i></div>
  1493.                         <div class='item_desc'>お届けの目安は<br />ご購入から7日前後</div>
  1494.                     </div>
  1495.                     <div class=\"ec-productRole__description_icon_present\">
  1496.                         <div class='item_desc_icon'><i class=\"fa-solid fa-gift fa-3x\" style=\"color: #d5a770;\"></i></div>
  1497.                         <div class='item_desc_present'>返品無料</div>
  1498.                     </div>
  1499.                 </div>
  1500.             </div>
  1501.         </div>
  1502.         ";
  1503.         // line 954
  1504.         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.'954$this->source); })()), "freearea", [], "any"falsefalsefalse954)) {
  1505.             // line 955
  1506.             echo "             <div class=\"ec-productRole__description\">
  1507.                  ";
  1508.             // line 956
  1509.             echo twig_include($this->env$contexttwig_template_from_string($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.'956$this->source); })()), "freearea", [], "any"falsefalsefalse956)));
  1510.             echo "
  1511.             </div>
  1512.         ";
  1513.         }
  1514.         // line 959
  1515.         echo "    </div>
  1516. \t";
  1517.         
  1518.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1519.         
  1520.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1521.     }
  1522.     public function getTemplateName()
  1523.     {
  1524.         return "Product/detail.twig";
  1525.     }
  1526.     public function isTraitable()
  1527.     {
  1528.         return false;
  1529.     }
  1530.     public function getDebugInfo()
  1531.     {
  1532.         return array (  1592 => 959,  1586 => 956,  1583 => 955,  1581 => 954,  1565 => 941,  1562 => 940,  1557 => 937,  1551 => 934,  1548 => 933,  1542 => 930,  1539 => 929,  1537 => 928,  1531 => 926,  1529 => 925,  1518 => 919,  1514 => 918,  1508 => 915,  1504 => 914,  1496 => 909,  1493 => 908,  1486 => 904,  1482 => 902,  1475 => 898,  1470 => 895,  1466 => 893,  1457 => 891,  1453 => 890,  1448 => 889,  1442 => 886,  1437 => 885,  1435 => 884,  1430 => 882,  1426 => 881,  1422 => 880,  1417 => 878,  1413 => 877,  1408 => 876,  1405 => 875,  1399 => 872,  1395 => 871,  1392 => 870,  1390 => 869,  1385 => 867,  1381 => 866,  1378 => 865,  1376 => 864,  1373 => 863,  1371 => 862,  1366 => 861,  1362 => 859,  1354 => 856,  1339 => 854,  1330 => 853,  1313 => 852,  1309 => 850,  1305 => 849,  1301 => 848,  1298 => 847,  1295 => 846,  1293 => 845,  1281 => 842,  1278 => 841,  1275 => 840,  1273 => 839,  1265 => 836,  1262 => 835,  1259 => 834,  1256 => 832,  1250 => 829,  1246 => 828,  1242 => 827,  1239 => 826,  1236 => 825,  1230 => 822,  1224 => 821,  1220 => 820,  1217 => 819,  1211 => 816,  1207 => 815,  1203 => 814,  1200 => 813,  1198 => 812,  1196 => 811,  1193 => 810,  1191 => 809,  1189 => 793,  1186 => 791,  1175 => 789,  1171 => 788,  1168 => 787,  1166 => 786,  1158 => 783,  1155 => 782,  1152 => 781,  1150 => 780,  1144 => 777,  1141 => 776,  1138 => 775,  1135 => 773,  1129 => 772,  1125 => 770,  1119 => 768,  1116 => 767,  1108 => 764,  1105 => 763,  1101 => 762,  1098 => 761,  1093 => 758,  1090 => 757,  1085 => 753,  1079 => 752,  1069 => 747,  1065 => 745,  1058 => 741,  1053 => 738,  1051 => 737,  1043 => 732,  1036 => 728,  1031 => 726,  1025 => 722,  1022 => 721,  1018 => 720,  1011 => 715,  1005 => 713,  1003 => 712,  994 => 705,  975 => 703,  958 => 702,  954 => 700,  943 => 698,  921 => 696,  903 => 695,  895 => 689,  885 => 688,  870 => 682,  866 => 681,  862 => 680,  858 => 679,  854 => 677,  848 => 675,  846 => 674,  841 => 673,  838 => 672,  828 => 670,  814 => 668,  806 => 667,  788 => 666,  783 => 664,  760 => 644,  750 => 637,  720 => 610,  715 => 607,  706 => 601,  702 => 599,  700 => 598,  697 => 597,  688 => 591,  684 => 589,  682 => 588,  616 => 524,  608 => 522,  606 => 521,  601 => 519,  598 => 518,  596 => 517,  582 => 506,  568 => 494,  558 => 493,  73 => 16,  63 => 15,  52 => 11,  50 => 13,  37 => 11,);
  1533.     }
  1534.     public function getSourceContext()
  1535.     {
  1536.         return new Source("{#
  1537. This file is part of EC-CUBE
  1538. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  1539. http://www.ec-cube.co.jp/
  1540. For the full copyright and license information, please view the LICENSE
  1541. file that was distributed with this source code.
  1542. #}
  1543. {% extends 'default_frame.twig' %}
  1544. {% set body_class = 'product_page' %}
  1545. {% block stylesheet %}
  1546.     <style>
  1547.         .ec-modal {
  1548.             display: none;
  1549.             position: fixed;
  1550.             top: 0;
  1551.             left: 0;
  1552.             z-index: 99999;
  1553.             width: 100%;
  1554.             height: 100%;
  1555.         }
  1556.         .ec-modal.small {
  1557.             width: 30%;
  1558.         }
  1559.         .ec-modal.full {
  1560.             width: 100%;
  1561.             height: 100%;
  1562.         }
  1563.         .ec-modal .ec-modal-overlay {
  1564.             display: flex;
  1565.             justify-content: center;
  1566.             align-items: center;
  1567.             background-color: rgba(0, 0, 0, 0.3);
  1568.             width: 100%;
  1569.             height: 100%;
  1570.         }
  1571.         .ec-modal .ec-modal-wrap {
  1572.             position: relative;
  1573.             border-radius: 6px;
  1574.             border: 0px;
  1575.             background-color: #fff;
  1576.             width: 50%;
  1577.             margin: 20px;
  1578.             padding: 40px 5px;
  1579.         }
  1580.         .ec-modal .ec-modal-close {
  1581.             cursor: pointer;
  1582.             position: absolute;
  1583.             right: 20px;
  1584.             top: 10px;
  1585.             font-size: 20px;
  1586.             height: 30px;
  1587.             width: 20px;
  1588.         }
  1589.         .ec-modal .ec-modal-close:hover {
  1590.             color: #4b5361;
  1591.         }
  1592.         .ec-modal .ec-modal-box {
  1593.             text-align: center;
  1594.         }
  1595.         .ec-modal .ec-role {
  1596.             margin-top: 20px;
  1597.         }
  1598.         
  1599.    
  1600.         .slick-slider {
  1601.             margin-bottom: 30px;
  1602.         }
  1603.         .slick-dots {
  1604.             position: absolute;
  1605.             bottom: -45px;
  1606.             display: block;
  1607.             width: 100%;
  1608.             padding: 0;
  1609.             list-style: none;
  1610.             text-align: center;
  1611.         }
  1612.         .slick-dots li {
  1613.             position: relative;
  1614.             display: inline-block;
  1615.             width: 20px;
  1616.             height: 20px;
  1617.             margin: 0 5px;
  1618.             padding: 0;
  1619.             cursor: pointer;
  1620.         }
  1621.         .slick-dots li button {
  1622.             font-size: 0;
  1623.             line-height: 0;
  1624.             display: block;
  1625.             width: 20px;
  1626.             height: 20px;
  1627.             padding: 5px;
  1628.             cursor: pointer;
  1629.             color: transparent;
  1630.             border: 0;
  1631.             outline: none;
  1632.             background: transparent;
  1633.         }
  1634.         .slick-dots li button:hover,
  1635.         .slick-dots li button:focus {
  1636.             outline: none;
  1637.         }
  1638.         .slick-dots li button:hover:before,
  1639.         .slick-dots li button:focus:before {
  1640.             opacity: 1;
  1641.         }
  1642.         .slick-dots li button:before {
  1643.             content: \" \";
  1644.             line-height: 20px;
  1645.             position: absolute;
  1646.             top: 0;
  1647.             left: 0;
  1648.             width: 12px;
  1649.             height: 12px;
  1650.             text-align: center;
  1651.             opacity: .25;
  1652.             background-color: black;
  1653.             border-radius: 50%;
  1654.         }
  1655.         .slick-dots li.slick-active button:before {
  1656.             opacity: .75;
  1657.             background-color: black;
  1658.         }
  1659.         .slick-dots li button.thumbnail img {
  1660.             width: 0;
  1661.             height: 0;
  1662.         }
  1663.         .ec-numberInput {
  1664.             display: none;
  1665.         }
  1666.        
  1667.         .ec-blockBtn--cancel {
  1668.             display: inline-block;
  1669.             margin-bottom: 0;
  1670.             font-weight: bold;
  1671.             text-align: center;
  1672.             vertical-align: middle;
  1673.             touch-action: manipulation;
  1674.             cursor: pointer;
  1675.             background-image: none;
  1676.             border: 1px solid transparent;
  1677.             white-space: nowrap;
  1678.             padding: 6px 12px;
  1679.             font-size: 0.875rem;
  1680.             border-radius: 1.42857142;
  1681.             -webkit-user-select: none;
  1682.             -moz-user-select: none;
  1683.             -ms-user-select: none;
  1684.             user-select: none;
  1685.             padding: 10px 16px;
  1686.             text-decoration: none;
  1687.             color: #fff;
  1688.             background-color: #F8C4CF;
  1689.             border-color: #F8C4CF;
  1690.             display: block;
  1691.             width: 330px;
  1692.             height: 56px;
  1693.             line-height: 56px;
  1694.             padding-top: 0;
  1695.             padding-bottom: 0;
  1696.             border-radius: 6px;
  1697.         }
  1698.         .ec-blockBtn--cancel:hover {
  1699.             opacity: 0.7;
  1700.             background-color: #F8C4CF;
  1701.             border-color: #F8C4CF;
  1702.         }
  1703.         .ec-blockBtn--action-detail {
  1704.             display: inline-block;
  1705.             margin-bottom: 0;
  1706.             font-weight: bold;
  1707.             text-align: center;
  1708.             vertical-align: middle;
  1709.             touch-action: manipulation;
  1710.             cursor: pointer;
  1711.             background-image: none;
  1712.             border: 1px solid transparent;
  1713.             white-space: nowrap;
  1714.             padding: 6px 12px;
  1715.             font-size: 0.875rem;
  1716.             border-radius: 1.42857142;
  1717.             -webkit-user-select: none;
  1718.             -moz-user-select: none;
  1719.             -ms-user-select: none;
  1720.             user-select: none;
  1721.             padding: 10px 16px;
  1722.             text-decoration: none;
  1723.             color: #fff;
  1724.             background-color: #d5a770;
  1725.             border-color: #d5a770;
  1726.             display: block;
  1727.             width: 330px;
  1728.             height: 56px;
  1729.             line-height: 56px;
  1730.             padding-top: 0;
  1731.             padding-bottom: 0;
  1732.             border-radius: 6px;
  1733.         }
  1734.         .ec-blockBtn--action-detail:hover {
  1735.             background-color: #d5a770;
  1736.             border-color: #d5a770;
  1737.             opacity: 0.7;
  1738.         }
  1739.         .ec-blockBtn--action {
  1740.             display: inline-block;
  1741.             margin-bottom: 0;
  1742.             font-weight: bold;
  1743.             text-align: center;
  1744.             vertical-align: middle;
  1745.             touch-action: manipulation;
  1746.             cursor: pointer;
  1747.             background-image: none;
  1748.             border: 1px solid transparent;
  1749.             white-space: nowrap;
  1750.             padding: 6px 12px;
  1751.             font-size: 0.875rem;
  1752.             border-radius: 1.42857142;
  1753.             -webkit-user-select: none;
  1754.             -moz-user-select: none;
  1755.             -ms-user-select: none;
  1756.             user-select: none;
  1757.             padding: 10px 16px;
  1758.             text-decoration: none;
  1759.             color: #fff;
  1760.             background-color: #F8C4CF;
  1761.             border-color: #F8C4CF;
  1762.             display: block;
  1763.             width: 330px;
  1764.             height: 56px;
  1765.             line-height: 56px;
  1766.             padding-top: 0;
  1767.             padding-bottom: 0;
  1768.             border-radius: 6px;
  1769.         }
  1770.         .ec-productRole__description_icon_car {
  1771.             margin-top: 7%;
  1772.             padding-top: 7%;
  1773.             border-top: 1px dotted #ccc;
  1774.             display: flex;
  1775.         }
  1776.         .ec-productRole__description_icon_present {
  1777.             margin-top: 7%;
  1778.             display: flex;
  1779.         }
  1780.         .item_desc_icon {
  1781.             width: 25%;
  1782.         }
  1783.         .item_desc {
  1784.             width: 75%;
  1785.             padding-top: 0.5%;
  1786.             font-weight: bold;
  1787.         }
  1788.         .item_desc_present {
  1789.             width: 75%;
  1790.             padding-top: 4%;
  1791.             font-weight: bold;
  1792.         }
  1793.         .product-detail-artist-icon {
  1794.             display: flex;
  1795.         }
  1796.         .box26 {
  1797.             position: relative;
  1798.             margin: 2em 0;
  1799.             padding: 0.5em 1em;
  1800.             border: solid 3px #d5a770;
  1801.             border-radius: 8px;
  1802.         }
  1803.         .box26 .box-title {
  1804.             position: absolute;
  1805.             display: inline-block;
  1806.             top: -13px;
  1807.             left: 10px;
  1808.             padding: 0 9px;
  1809.             line-height: 1;
  1810.             font-size: 19px;
  1811.             background: #FFF;
  1812.             color: #d5a770;
  1813.             font-weight: bold;
  1814.         }
  1815.         .box26 h3 {
  1816.             margin: 0; 
  1817.             padding: 0;
  1818.         }
  1819.         .product-detail-artist-icon {
  1820.             margin-left: -15px;
  1821.         }
  1822.         .mr-10 {
  1823.             margin-right: 10px;
  1824.         }
  1825.         a.btn-sns {
  1826.             font-size: 25px;
  1827.             line-height: 40px;
  1828.             width: 40px;
  1829.             height: 40px;
  1830.             padding: 1px 2px;
  1831.             margin-left: 30px;
  1832.             letter-spacing: 0;
  1833.             color: #fff;
  1834.             border-radius: 50%;
  1835.         }
  1836.         a.btn-sns:hover {
  1837.             color: #fff;
  1838.         }
  1839.         a.btn-sns--twitter {
  1840.             background: #1da1f2;
  1841.         }
  1842.         .product-detail-artist-link{
  1843.             padding-top: 20px;
  1844.         }
  1845.         .product-detail-artist-link a:hover{
  1846.             color: #d5a770;
  1847.             border-bottom: 1px solid #d5a770;
  1848.         }
  1849.         .product-detail-artist-link a {
  1850.             color: black;
  1851.             border-bottom: 1px solid black;
  1852.             font-weight: bold;
  1853.             font-size: 15px;
  1854.         }
  1855.         /* 768以下の時 */
  1856.         @media screen and (max-width: 767px) {  
  1857.             .ec-productRole__description {
  1858.                 display: none;
  1859.             }
  1860.             .product-detail-artist-photo {
  1861.                 visibility:hidden
  1862.             }
  1863.             .artist-name-size {
  1864.                 width: 500px;
  1865.             }
  1866.             .ec-grid2__cell_introduce {
  1867.                 margin: 10% 15% 0;
  1868.                 width: auto;
  1869.             }
  1870.             .ec-productRole__profile {
  1871.                 width: auto;
  1872.                 padding: 5%;
  1873.                 text-align: center;
  1874.             }
  1875.             .ec-blockBtn--action {
  1876.                 display: inline-block;
  1877.                 margin-bottom: 0;
  1878.                 font-weight: bold;
  1879.                 text-align: center;
  1880.                 vertical-align: middle;
  1881.                 touch-action: manipulation;
  1882.                 cursor: pointer;
  1883.                 background-image: none;
  1884.                 border: 1px solid transparent;
  1885.                 white-space: nowrap;
  1886.                 padding: 6px 12px;
  1887.                 font-size: 0.875rem;
  1888.                 border-radius: 1.42857142;
  1889.                 -webkit-user-select: none;
  1890.                 -moz-user-select: none;
  1891.                 -ms-user-select: none;
  1892.                 user-select: none;
  1893.                 padding: 10px 16px;
  1894.                 text-decoration: none;
  1895.                 color: #fff;
  1896.                 background-color: #d5a770;
  1897.                 border-color: #d5a770;
  1898.                 display: block;
  1899.                 width: 230px;
  1900.                 height: 56px;
  1901.                 line-height: 56px;
  1902.                 padding-top: 0;
  1903.                 padding-bottom: 0;
  1904.             }
  1905.             .ec-blockBtn--action-detail {
  1906.                 display: inline-block;
  1907.                 margin-bottom: 0;
  1908.                 font-weight: bold;
  1909.                 text-align: center;
  1910.                 vertical-align: middle;
  1911.                 touch-action: manipulation;
  1912.                 cursor: pointer;
  1913.                 background-image: none;
  1914.                 border: 1px solid transparent;
  1915.                 white-space: nowrap;
  1916.                 padding: 6px 12px;
  1917.                 font-size: 0.875rem;
  1918.                 border-radius: 1.42857142;
  1919.                 -webkit-user-select: none;
  1920.                 -moz-user-select: none;
  1921.                 -ms-user-select: none;
  1922.                 user-select: none;
  1923.                 padding: 10px 16px;
  1924.                 text-decoration: none;
  1925.                 color: #fff;
  1926.                 background-color: #d5a770;
  1927.                 border-color: #d5a770;
  1928.                 display: block;
  1929.                 width: 230px;
  1930.                 height: 56px;
  1931.                 line-height: 56px;
  1932.                 padding-top: 0;
  1933.                 padding-bottom: 0;
  1934.             }
  1935.             .ec-blockBtn--cancel {
  1936.                 display: inline-block;
  1937.                 margin-bottom: 0;
  1938.                 font-weight: bold;
  1939.                 text-align: center;
  1940.                 vertical-align: middle;
  1941.                 touch-action: manipulation;
  1942.                 cursor: pointer;
  1943.                 background-image: none;
  1944.                 border: 1px solid transparent;
  1945.                 white-space: nowrap;
  1946.                 padding: 6px 12px;
  1947.                 font-size: 0.875rem;
  1948.                 border-radius: 1.42857142;
  1949.                 -webkit-user-select: none;
  1950.                 -moz-user-select: none;
  1951.                 -ms-user-select: none;
  1952.                 user-select: none;
  1953.                 padding: 10px 16px;
  1954.                 text-decoration: none;
  1955.                 color: #fff;
  1956.                 background-color: #525263;
  1957.                 border-color: #525263;
  1958.                 display: block;
  1959.                 width: 230px;
  1960.                 height: 56px;
  1961.                 line-height: 56px;
  1962.                 padding-top: 0;
  1963.                 padding-bottom: 0;
  1964.             }
  1965.             .ec-blockBtn--cancel:hover {
  1966.                 opacity: 0.7;
  1967.                 background-color: #525263;
  1968.                 border-color: #525263;
  1969.             }
  1970.             .social-media-title {
  1971.                 display: none;
  1972.             }
  1973.         }
  1974.         /* 570以下の時 */
  1975.         @media screen and (max-width: 570px) {  
  1976.             .ec-grid2__cell_introduce {
  1977.                 margin: 10% 5% 0;
  1978.                 width: auto;
  1979.             }
  1980.         }
  1981.     </style>
  1982. {% endblock %}
  1983. {% block javascript %}
  1984. \t<script>
  1985. \t\$(function () {
  1986. \t\t\$('#js-slider-4').slick({
  1987. \t\t\tarrows: true, // 前・次のボタンを表示する
  1988. \t\t\tspeed: 500, // スライドさせるスピード(ミリ秒)
  1989. \t\t\tslidesToShow: 4, // 表示させるスライド数
  1990. \t\t\tcenterMode: true, // slidesToShowが奇数のとき、現在のスライドを中央に表示する
  1991. \t\t\tvariableWidth: true, // スライド幅の自動計算を無効化
  1992. \t\t});
  1993. \t});
  1994. \t</script>
  1995.     <script>
  1996.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  1997.         // 規格2に選択肢を割り当てる。
  1998.         function fnSetClassCategories(form, classcat_id2_selected) {
  1999.             var \$form = \$(form);
  2000.             var product_id = \$form.find('input[name=product_id]').val();
  2001.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  2002.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  2003.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  2004.         }
  2005.         {% if form.classcategory_id2 is defined %}
  2006.         fnSetClassCategories(
  2007.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  2008.         );
  2009.         {% elseif form.classcategory_id1 is defined %}
  2010.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  2011.         {% endif %}
  2012.     </script>
  2013.     <script>
  2014.         \$(function() {
  2015.             // bfcache無効化
  2016.             \$(window).bind('pageshow', function(event) {
  2017.                 if (event.originalEvent.persisted) {
  2018.                     location.reload(true);
  2019.                 }
  2020.             });
  2021.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  2022.             // img タグに width, height が付与されている.
  2023.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  2024.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  2025.             \$('.ec-grid2__cell').hide();
  2026.             var removeSize = function () {
  2027.                 \$('.slide-item').height('');
  2028.                 \$('.slide-item img')
  2029.                     .removeAttr('width')
  2030.                     .removeAttr('height')
  2031.                     .removeAttr('style');
  2032.             };
  2033.             var slickInitial = function(slick) {
  2034.                 \$('.ec-grid2__cell').fadeIn(1500);
  2035.                 var baseHeight = \$(slick.target).height();
  2036.                 var baseWidth = \$(slick.target).width();
  2037.                 var rate = baseWidth / baseHeight;
  2038.                 \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  2039.                 // transform を使用することでCLSの影響を受けないようにする
  2040.                 \$('.slide-item img')
  2041.                     .css(
  2042.                         {
  2043.                             'transform-origin': 'top left',
  2044.                             'transform': 'scaleY(' + rate + ')',
  2045.                             'transition': 'transform .1s'
  2046.                         }
  2047.                     );
  2048.                 // 正しいサイズに近くなったら属性を解除する
  2049.                 setTimeout(removeSize, 500);
  2050.             };
  2051.             \$('.item_visual').on('init', slickInitial);
  2052.             // リサイズ時は CLS の影響を受けないため属性を解除する
  2053.             \$(window).resize(removeSize);
  2054.             \$('.item_visual').slick({
  2055.                 dots: false,
  2056.                 arrows: false,
  2057.                 responsive: [{
  2058.                     breakpoint: 768,
  2059.                     settings: {
  2060.                         dots: true
  2061.                     }
  2062.                 }]
  2063.             });
  2064.             \$('.slideThumb').on('click', function() {
  2065.                 var index = \$(this).attr('data-index');
  2066.                 \$('.item_visual').slick('slickGoTo', index, false);
  2067.             })
  2068.         });
  2069.     </script>
  2070.     <script>
  2071.         \$(function() {
  2072.             \$('.add-cart').on('click', function(event) {
  2073.                 {% if form.classcategory_id1 is defined %}
  2074.                 // 規格1フォームの必須チェック
  2075.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  2076.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  2077.                     return true;
  2078.                 } else {
  2079.                     \$('#classcategory_id1')[0].setCustomValidity('');
  2080.                 }
  2081.                 {% endif %}
  2082.                 {% if form.classcategory_id2 is defined %}
  2083.                 // 規格2フォームの必須チェック
  2084.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  2085.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  2086.                     return true;
  2087.                 } else {
  2088.                     \$('#classcategory_id2')[0].setCustomValidity('');
  2089.                 }
  2090.                 {% endif %}
  2091.                 // 個数フォームのチェック
  2092.                 if (\$('#quantity').val() < 1) {
  2093.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  2094.                     return true;
  2095.                 } else {
  2096.                     \$('#quantity')[0].setCustomValidity('');
  2097.                 }
  2098.                 event.preventDefault();
  2099.                 \$form = \$('#form1');
  2100.                 \$.ajax({
  2101.                     url: \$form.attr('action'),
  2102.                     type: \$form.attr('method'),
  2103.                     data: \$form.serialize(),
  2104.                     dataType: 'json',
  2105.                     beforeSend: function(xhr, settings) {
  2106.                         // Buttonを無効にする
  2107.                         \$('.add-cart').prop('disabled', true);
  2108.                     }
  2109.                 }).done(function(data) {
  2110.                     // レスポンス内のメッセージをalertで表示
  2111.                     \$.each(data.messages, function() {
  2112.                         \$('#ec-modal-header').html(this);
  2113.                     });
  2114.                     \$('.ec-modal').show()
  2115.                     // カートブロックを更新する
  2116.                     \$.ajax({
  2117.                         url: \"{{ url('block_cart') }}\",
  2118.                         type: 'GET',
  2119.                         dataType: 'html'
  2120.                     }).done(function(html) {
  2121.                         \$('.ec-headerRole__cart').html(html);
  2122.                     });
  2123.                 }).fail(function(data) {
  2124.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  2125.                 }).always(function(data) {
  2126.                     // Buttonを有効にする
  2127.                     \$('.add-cart').prop('disabled', false);
  2128.                 });
  2129.             });
  2130.         });
  2131.         \$('.ec-modal-wrap').on('click', function(e) {
  2132.             // モーダル内の処理は外側にバブリングさせない
  2133.             e.stopPropagation();
  2134.         });
  2135.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  2136.             \$('.ec-modal').hide()
  2137.         });
  2138.     </script>
  2139.     <script type=\"application/ld+json\">
  2140.     {
  2141.         \"@context\": \"https://schema.org/\",
  2142.         \"@type\": \"Product\",
  2143.         \"name\": \"{{ Product.name }}\",
  2144.         \"image\": [
  2145.             {% for img in Product.ProductImage %}
  2146.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
  2147.             {% else %}
  2148.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
  2149.             {% endfor %}
  2150.         ],
  2151.         \"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
  2152.         {% if Product.code_min %}
  2153.         \"sku\": \"{{ Product.code_min }}\",
  2154.         {% endif %}
  2155.         \"offers\": {
  2156.             \"@type\": \"Offer\",
  2157.             \"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
  2158.             \"priceCurrency\": \"{{ eccube_config.currency }}\",
  2159.             \"price\": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
  2160.             \"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
  2161.         }
  2162.     }
  2163.     </script>
  2164. {% endblock %}
  2165. {% block main %}
  2166.     <div class=\"ec-productRole\">
  2167.         <div class=\"ec-grid2\">
  2168.             <div class=\"ec-grid2__cell\">
  2169.                 <div class=\"ec-sliderItemRole\">
  2170.                     <div class=\"item_visual\">
  2171.                         {% for ProductImage in Product.ProductImage %}
  2172.                             <div class=\"slide-item\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" height=\"550\"{% if loop.index > 1 %} loading=\"lazy\"{% endif %}></div>
  2173.                         {% else %}
  2174.                             <div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\"></div>
  2175.                         {% endfor %}
  2176.                     </div>
  2177.                     <div class=\"item_nav\">
  2178.                         {% for ProductImage in Product.ProductImage %}
  2179.                             <div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" width=\"133\" height=\"133\" loading=\"lazy\"></div>
  2180.                         {% endfor %}
  2181.                     </div>
  2182.                 </div>
  2183.                 <div class=\"product-detail-artDetail\">
  2184.                     <div class=\"flex\">
  2185.                         <i class=\"fa-solid fa-palette fa-2x fontawesome-size\"></i><h2 class=\"fontweight-bold\">作品紹介<h2>
  2186.                     </div>
  2187.                     <div class=\"product-detail-title-description\">
  2188.                         {% if Product.getDescriptionDetail %}
  2189.                             <p>{{ Product.getDescriptionDetail }}</p>
  2190.                         {% endif %}
  2191.                     </div>
  2192.                 </div>
  2193. \t\t\t\t<div class=\"hr-bold\"></div>
  2194.                 {% for artist in artists %}
  2195.                 {% if Product.getArtistId == artist.id %}
  2196. \t\t\t\t<div class=\"product-detail-artist\">
  2197. \t\t\t\t\t<div class=\"product-detail-artist-description\">
  2198. \t\t\t\t\t\t<div class=\"flex\">
  2199. \t\t\t\t\t\t\t<i class=\"fa-solid fa-pen-nib fa-2x fontawesome-size\"></i>
  2200.                             <h2 class=\"fontweight-bold artist-name-size\">{{ artist.name }}</h2>
  2201.                             <div class=\"product-detail-artist-photo\">
  2202.                                 <img src=\"{{ asset(artist.image |no_image_product, 'user_data') }}\" alt=artist.name class='hidden'>
  2203.                             </div>
  2204. \t\t\t\t\t\t</div>
  2205. \t\t\t\t\t\t<div class=\"product-detail-artist-desc\">
  2206.                             <p>« {{ artist.getDescription }} »</p>
  2207. \t\t\t\t\t\t</div>
  2208. \t\t\t\t\t\t<div class=\"hr\"></div>
  2209.                         {% if artist.twitter != null %}
  2210.                         <h3 class=\"fontweight-bold social-media-title\">アーティストのソーシャルメディア<h3>
  2211. \t\t\t\t\t\t<div class=\"product-detail-artist-icon\">
  2212.                             <div>
  2213.                                 <a href='{{artist.twitter}}' class=\"btn btn-sns btn-sns--twitter\"><i class=\"fa-brands fa-twitter\" style=\"color: white;\" onMouseOver=\"this.style.color='#d5a770'\" onMouseOut=\"this.style.color='white'\"></i></a>
  2214.                             </div>
  2215. \t\t\t\t\t\t</div>
  2216.                         {% endif %}
  2217.                         <div class=\"product-detail-artist-link\">
  2218.                             <a href=\"/artists/detail/{{ artist.id }}\">{{ artist.name }}の作品を閲覧</a>
  2219.                         </div>
  2220. \t\t\t\t\t</div>
  2221. \t\t\t\t</div>
  2222.                 {% endif %}
  2223.                 {% endfor %}
  2224.             </div>
  2225.             <div class=\"ec-grid2__cell_introduce\">
  2226.                 <div class=\"ec-productRole__profile\">
  2227.                     {# 商品名 #}
  2228.                     <div class=\"ec-productRole__title\">
  2229.                         <h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
  2230.                     </div>
  2231. \t\t\t\t\t{# アーティスト名とリンク #}
  2232.                     <div class=\"ec-productRole__title_flex\">
  2233.                        {% for artist in artists %}
  2234.                             {% if Product.getArtistId == artist.id %}
  2235.                             <div><a href=\"/artists/detail/{{ artist.id }}\">{{ artist.name }}, </a></div>
  2236.                             <div class=\"ml-5\">
  2237.                                 {# アーティストの出身地 #}
  2238.                                 {% if Product.getArtistId == artist.id %}
  2239.                                     <p>{{ artist.address }}</p>
  2240.                                 {% endif %}
  2241.                             </div>
  2242.                             {% endif %}
  2243.                         {% endfor %}
  2244.                     </div>
  2245. \t\t\t\t\t{# 絵が何で描かれたか #}
  2246.                     {% if Product.getProductionTechnique is not null %}
  2247.                     <div class=\"ec-productRole__title mt-10\">
  2248.                         <p>{{ Product.getProductionTechnique }}</p>
  2249.                     </div>
  2250.                     {% endif %}
  2251. \t\t\t\t\t{# 絵のサイズ #}
  2252.                     {% if Product.getProductionSizeVertical is not null %}
  2253.                     <div class=\"ec-productRole__title\">
  2254.                         <div><p>{{ Product.getProductionSizeVertical }} x {{ Product.getProductionSizeWidth}} cm</p></div>
  2255.                     </div>
  2256.                     {% endif %}
  2257. \t\t\t\t\t{# タグ #}
  2258.                     <ul class=\"ec-productRole__tags\">
  2259.                         {% for Tag in Product.Tags %}
  2260.                             <li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
  2261.                         {% endfor %}
  2262.                     </ul>
  2263.                     {# 通常価格 #}
  2264.                     {# {% if Product.hasProductClass -%}
  2265.                         <div class=\"ec-productRole__priceRegular\">
  2266.                             {% if Product.getPrice01Min is not null and Product.getPrice01IncTaxMin == Product.getPrice01IncTaxMax %}
  2267.                                 <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}</span></span>
  2268.                                 <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  2269.                             {% elseif Product.getPrice01Min is not null and Product.getPrice01Max is not null %}
  2270.                                 <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:<span class=\"price01-default\">{{ Product.getPrice01IncTaxMin|price }}~ {{ Product.getPrice01IncTaxMax|price }}</span></span>
  2271.                                 <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  2272.                             {% endif %}
  2273.                         </div>
  2274.                     {% else %}
  2275.                         {% if Product.getPrice01Max is not null %}
  2276.                             <span class=\"ec-productRole__priceRegularPrice\">{{ '通常価格'|trans }}:{{ Product.getPrice01IncTaxMin|price }}</span>
  2277.                             <span class=\"ec-productRole__priceRegularTax\">{{ '税込'|trans }}</span>
  2278.                         {% endif %}
  2279.                     {% endif %} #}
  2280.                     {# 販売価格 #}
  2281.                     <div class=\"ec-productRole__price\">
  2282.                         {% if Product.hasProductClass -%}
  2283.                             {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  2284.                                 <div class=\"ec-price\">
  2285. \t\t\t\t\t\t\t\t    <span class=\"ec-productRole__priceRegularPrice\">{{ '価格'|trans }}</span>
  2286.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
  2287.                                     <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  2288.                                 </div>
  2289.                             {% else %}
  2290.                                 <div class=\"ec-price\">
  2291. \t\t\t\t\t\t\t\t\t<span class=\"ec-productRole__priceRegularPrice\">{{ '価格'|trans }}</span>
  2292.                                     <span class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
  2293.                                     <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  2294.                                 </div>
  2295.                             {% endif %}
  2296.                         {% else %}
  2297.                             <div class=\"ec-price\">
  2298. \t\t\t\t\t\t\t    <span class=\"ec-productRole__priceRegularPrice\">{{ '価格'|trans }}</span>
  2299.                                 <span class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
  2300.                                 <span class=\"ec-price__tax\">{{ '税込'|trans }}</span>
  2301.                             </div>
  2302.                         {% endif %}
  2303.                     </div>
  2304.                     {# メーカー #}
  2305.                     {% if maker_id is defined %}
  2306.                         <div class=\"ec-productRole__code\">
  2307.                             {{ '店舗'|trans }}: <span>{{ maker[maker_id - 1].name }}</span>
  2308.                         </div>
  2309.                     {% endif %}
  2310.                     {# 商品コード #}
  2311.                     {% if Product.code_min is not empty %}
  2312.                         <div class=\"ec-productRole__code\">
  2313.                             {{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  2314.                         </div>
  2315.                     {% endif %}
  2316.                     {# 関連カテゴリ #}
  2317.                     {% if Product.ProductCategories is not empty %}
  2318.                         <div class=\"ec-productRole__category\">
  2319.                             <div class=\"fontWeightBold\">{{ '関連カテゴリ'|trans }}</div>
  2320.                             {% for ProductCategory in Product.ProductCategories %}
  2321.                                 <ul>
  2322.                                     <li>
  2323.                                         {% for Category in ProductCategory.Category.path %}
  2324.                                             <a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
  2325.                                             <span></span>{% endif -%}
  2326.                                         {% endfor %}
  2327.                                     </li>
  2328.                                 </ul>
  2329.                             {% endfor %}
  2330.                         </div>
  2331.                     {% endif %}
  2332.                     <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  2333.                         {% if Product.stock_find %}
  2334.                             <div class=\"ec-productRole__actions\">
  2335.                                 {% if form.classcategory_id1 is defined %}
  2336.                                     <div class=\"ec-select\">
  2337.                                         {{ form_row(form.classcategory_id1) }}
  2338.                                         {{ form_errors(form.classcategory_id1) }}
  2339.                                     </div>
  2340.                                     {% if form.classcategory_id2 is defined %}
  2341.                                         <div class=\"ec-select\">
  2342.                                             {{ form_row(form.classcategory_id2) }}
  2343.                                             {{ form_errors(form.classcategory_id2) }}
  2344.                                         </div>
  2345.                                     {% endif %}
  2346.                                 {% endif %}
  2347.                                 <div class=\"ec-numberInput\"><span>{{ '数量'|trans }}</span>
  2348.                                     {{ form_widget(form.quantity) }}
  2349.                                     {{ form_errors(form.quantity) }}
  2350.                                 </div>
  2351.                                 <div class=\"ec-numberInput\"><span>{{ 'メーカーID'|trans }}</span>
  2352.                                     {{ form_widget(form.maker_id) }}
  2353.                                     {{ form_errors(form.maker_id) }}
  2354.                                 </div>
  2355.                                 {% if maker_id is defined %}
  2356.                                 <div class=\"ec-numberInput\"><span>{{ 'メーカーID'|trans }}</span>
  2357.                                     <input type=\"number\" id=\"maker_id\" name=\"maker_id\" required=\"required\" value=\"{{ maker_id }}\" class=\"form-control\">
  2358.                                 </div>
  2359.                                 {% else  %}
  2360.                                 <div class=\"ec-numberInput\"><span>{{ 'メーカーID'|trans }}</span>
  2361.                                 {% for cookie in productHistory %}
  2362.                                     <input type=\"number\" id=\"maker_id\" name=\"maker_id\" required=\"required\" value=\"{{ cookie.id }}\" class=\"form-control\">
  2363.                                 {% endfor %}
  2364.                                 </div>
  2365.                                 {% endif %}
  2366.                             </div>
  2367.                             <div class=\"ec-productRole__btn\">
  2368.                                 <button type=\"submit\" class=\"ec-blockBtn--action-detail add-cart\">
  2369.                                     {{ 'カートに入れる'|trans }}
  2370.                                 </button>
  2371.                             </div>
  2372.                         {% else %}
  2373.                             <div class=\"ec-productRole__btn\">
  2374.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  2375.                                     {{ 'ただいま品切れ中です。'|trans }}
  2376.                                 </button>
  2377.                             </div>
  2378.                         {% endif %}
  2379.                         {{ form_rest(form) }}
  2380.                     </form>
  2381.                     <div class=\"ec-modal\">
  2382.                         <div class=\"ec-modal-overlay\">
  2383.                             <div class=\"ec-modal-wrap\">
  2384.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  2385.                                 <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  2386.                                 <div class=\"ec-modal-box\">
  2387.                                     <div class=\"ec-role\">
  2388.                                         <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  2389.                                         <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action mt-5per\">{{ 'カートへ進む'|trans }}</a>
  2390.                                     </div>
  2391.                                 </div>
  2392.                             </div>
  2393.                         </div>
  2394.                     </div>
  2395.                     {% if BaseInfo.option_favorite_product %}
  2396.                         <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  2397.                             <div class=\"ec-productRole__btn\">
  2398.                                 {% if is_favorite == false %}
  2399.                                     <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\">
  2400.                                         <i class=\"ec-headerNav__itemIcon fas fa-heart fa-fw\"></i>{{ 'お気に入りに追加'|trans }}
  2401.                                     </button>
  2402.                                 {% else %}
  2403.                                     <button type=\"submit\" id=\"favorite\" class=\"ec-blockBtn--cancel\"
  2404.                                             disabled=\"disabled\">{{ 'お気に入りに追加済です。'|trans }}
  2405.                                     </button>
  2406.                                 {% endif %}
  2407.                             </div>
  2408.                         </form>
  2409.                     {% endif %}
  2410.                     <div class=\"ec-productRole__description\">
  2411.                         {{ Product.description_detail|raw|nl2br }}
  2412.                     </div>
  2413.                     <div class=\"ec-productRole__description_icon_car\">
  2414.                         <div class='item_desc_icon'><i class=\"fa-solid fa-truck fa-3x\" style=\"color: #d5a770;\"></i></div>
  2415.                         <div class='item_desc'>お届けの目安は<br />ご購入から7日前後</div>
  2416.                     </div>
  2417.                     <div class=\"ec-productRole__description_icon_present\">
  2418.                         <div class='item_desc_icon'><i class=\"fa-solid fa-gift fa-3x\" style=\"color: #d5a770;\"></i></div>
  2419.                         <div class='item_desc_present'>返品無料</div>
  2420.                     </div>
  2421.                 </div>
  2422.             </div>
  2423.         </div>
  2424.         {% if Product.freearea %}
  2425.              <div class=\"ec-productRole__description\">
  2426.                  {{ include(template_from_string(Product.freearea)) }}
  2427.             </div>
  2428.         {% endif %}
  2429.     </div>
  2430. \t{# <ul class=\"slider-2\" id=\"js-slider-4\">
  2431.         {% for product in products %}
  2432.             {% for artist in artists %}
  2433.                 {% if product.getArtistId == artist.id %}
  2434.                 {% if product.getArtistId == artist.id %}
  2435.                 <li>
  2436.                     <div class=\"ec-newItemRole__listItem\">
  2437.                         <a href=\"{{ url('product_detail', {'id': product.id}) }}\" class=\"text-decoration\">
  2438.                             {% for productImage in product.ProductImage %}
  2439.                                 <div class=\"slide-item\"><img src=\"{{ asset(productImage, 'save_image') }}\" /></div>
  2440.                             {% endfor %}
  2441.                             <p class=\"ec-newItemRole__listItemTitle fontWeightBold\">{{ product.name|trans }}</p>
  2442.                             <p class=\"ec-newItemRole__listItemPrice fontWeightBold\">¥{{ product.getPrice02IncTaxMax|trans }}(税込)</p>
  2443.                         </a>
  2444.                     </div>
  2445.                 </li>
  2446.                 {% endif %}
  2447.                 {% endif %}
  2448.             {% endfor %}
  2449.         {% endfor %}
  2450. \t</ul> #}
  2451. {% endblock %}""Product/detail.twig""/home/xs230941/tas-lab.net/public_html/app/template/default/Product/detail.twig");
  2452.     }
  2453. }