var/cache/dev/twig/ce/ce33f1a336b501ccf515e493a104daa7fd455b12fbf3de30504bd569466a894b.php line 1852

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_da5ad31feda8695d41b76c2e300641cf69fccce492d7fb053b687f2a0b3adb3c 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_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/detail.twig"));
  38.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_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_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  47.         
  48.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  49.     }
  50.     // line 15
  51.     public function block_stylesheet($context, array $blocks = [])
  52.     {
  53.         $macros $this->macros;
  54.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  55.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  56.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  57.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""stylesheet"));
  58.         // line 16
  59.         echo "    <style>
  60.         .slick-slider {
  61.             margin-bottom: 10px;
  62. \t\t\tmargin-top: -20px;
  63.         }
  64.         .slick-dots {
  65.             position: absolute;
  66.             bottom: -45px;
  67.             display: block;
  68.             width: 100%;
  69.             padding: 0;
  70.             list-style: none;
  71.             text-align: center;
  72.         }
  73.         .slick-dots li {
  74.             position: relative;
  75.             display: inline-block;
  76.             width: 20px;
  77.             height: 20px;
  78.             margin: 0 5px;
  79.             padding: 0;
  80.             cursor: pointer;
  81.         }
  82.         .slick-dots li button {
  83.             font-size: 0;
  84.             line-height: 0;
  85.             display: block;
  86.             width: 20px;
  87.             height: 20px;
  88.             padding: 5px;
  89.             cursor: pointer;
  90.             color: transparent;
  91.             border: 0;
  92.             outline: none;
  93.             background: transparent;
  94.         }
  95.         .slick-dots li button:hover,
  96.         .slick-dots li button:focus {
  97.             outline: none;
  98.         }
  99.         .slick-dots li button:hover:before,
  100.         .slick-dots li button:focus:before {
  101.             opacity: 1;
  102.         }
  103.         .slick-dots li button:before {
  104.             content: \" \";
  105.             line-height: 20px;
  106.             position: absolute;
  107.             top: 0;
  108.             left: 0;
  109.             width: 12px;
  110.             height: 12px;
  111.             text-align: center;
  112.             opacity: .25;
  113.             background-color: black;
  114.             border-radius: 50%;
  115.         }
  116.         .slick-dots li.slick-active button:before {
  117.             opacity: .75;
  118.             background-color: black;
  119.         }
  120.         .slick-dots li button.thumbnail img {
  121.             width: 0;
  122.             height: 0;
  123.         }
  124.     </style>
  125.     <link rel=\"stylesheet\" href=\"/html/user_data/js/style.css\">
  126.     <link rel=\"stylesheet\" href=\"/html/plugins/icheck-bootstrap/icheck-bootstrap.min.css\">
  127.     <style>
  128.         /* ============================================
  129.            商品詳細グリッド: 画像50% / 内容50%(均等)
  130.         ============================================ */
  131.         @media (min-width: 768px) {
  132.             body.product_page .ec-grid2 {
  133.                 display: flex;
  134.                 align-items: flex-start;
  135.             }
  136.             body.product_page .ec-grid2 .ec-grid2__cell {
  137.                 width: 50%;
  138.                 flex: 0 0 50%;
  139.                 min-width: 0;
  140.             }
  141.             body.product_page .ec-grid2 .ec-grid2__cell2 {
  142.                 width: 50%;
  143.                 flex: 0 0 50%;
  144.                 min-width: 0;
  145.             }
  146.         }
  147.         /* ============================================
  148.            商品説明欄内のHTMLが画面幅を突き抜けないように
  149.         ============================================ */
  150.         body.product_page .ec-productRole__description {
  151.             min-width: 0;
  152.             overflow-wrap: break-word;
  153.             word-break: break-word;
  154.         }
  155.         body.product_page .ec-productRole__description img,
  156.         body.product_page .ec-productRole__description table,
  157.         body.product_page .ec-productRole__description iframe,
  158.         body.product_page .ec-productRole__description video {
  159.             max-width: 100% !important;
  160.             height: auto;
  161.         }
  162.         body.product_page .ec-productRole__description table {
  163.             display: block;
  164.             overflow-x: auto;
  165.             -webkit-overflow-scrolling: touch;
  166.         }
  167.         /* ============================================
  168.            スマホ用 見積金額 下部固定バー
  169.         ============================================ */
  170.         #sp-mitsumori-bar {
  171.             display: none;
  172.         }
  173.         
  174.         /* ============================================
  175.            商品タイプ選択 共通スタイル
  176.         ============================================ */
  177.         /* セクションラベル */
  178.         .rp-section-label {
  179.             font-size: 14px;
  180.             font-weight: bold;
  181.             color: #333;
  182.             margin-bottom: 10px;
  183.         }
  184.         .rp-section-label span {
  185.             font-weight: normal;
  186.             color: #c00;
  187.         }
  188.         /* ---- 1. 画像付きカード ---- */
  189.         .rp-card-group {
  190.             display: flex;
  191.             flex-wrap: wrap;
  192.             gap: 8px;
  193.             margin-bottom: 4px;
  194.         }
  195.         .rp-card {
  196.             position: relative;
  197.             cursor: pointer;
  198.             width: 110px;
  199.             border: 2px solid #ddd;
  200.             border-radius: 10px;
  201.             overflow: hidden;
  202.             transition: border-color 0.2s, box-shadow 0.2s;
  203.             background: #fff;
  204.         }
  205.         .rp-card:hover {
  206.             border-color: #999;
  207.             box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  208.         }
  209.         .rp-card.is-selected {
  210.             border-color: #1a6fcf;
  211.             box-shadow: 0 2px 10px rgba(26,111,207,0.25);
  212.         }
  213.         .rp-card input[type=\"radio\"] { display: none; }
  214.         .rp-card__image {
  215.             width: 100%;
  216.             aspect-ratio: 1 / 1;
  217.             object-fit: cover;
  218.             display: block;
  219.             background: #f5f5f5;
  220.         }
  221.         .rp-card__placeholder {
  222.             width: 100%;
  223.             aspect-ratio: 1 / 1;
  224.             background: #f0f0f0;
  225.             display: flex;
  226.             align-items: center;
  227.             justify-content: center;
  228.             color: #bbb;
  229.             font-size: 24px;
  230.         }
  231.         .rp-card__name {
  232.             display: block;
  233.             padding: 5px 5px;
  234.             font-size: 11px;
  235.             color: #333;
  236.             text-align: center;
  237.             line-height: 1.4;
  238.             word-break: break-all;
  239.         }
  240.         .rp-card.is-selected .rp-card__name { color: #1a6fcf; font-weight: bold; }
  241.         .rp-card.is-selected::after {
  242.             content: \"✓\";
  243.             position: absolute;
  244.             top: 3px; right: 6px;
  245.             color: #1a6fcf;
  246.             font-size: 13px;
  247.             font-weight: bold;
  248.         }
  249.         /* ---- 2. ボタン式ラジオ(画像なし・8個以内)---- */
  250.         .rp-btn-group {
  251.             display: flex;
  252.             flex-wrap: wrap;
  253.             gap: 8px;
  254.             margin-bottom: 4px;
  255.             max-width: 100%;
  256.             min-width: 0;
  257.         }
  258.         .rp-btn {
  259.             cursor: pointer;
  260.             padding: 8px 14px;
  261.             border: 2px solid #ddd;
  262.             border-radius: 10px;
  263.             font-size: 13px;
  264.             color: #333;
  265.             background: #fff;
  266.             transition: border-color 0.2s, background 0.2s;
  267.             white-space: nowrap;
  268.             max-width: 100%;
  269.             overflow: hidden;
  270.             text-overflow: ellipsis;
  271.         }
  272.         .rp-btn:hover { border-color: #999; }
  273.         .rp-btn.is-selected {
  274.             border-color: #1a6fcf;
  275.             color: #1a6fcf;
  276.             font-weight: bold;
  277.             background: #f0f6ff;
  278.         }
  279.         .rp-btn input[type=\"radio\"] { display: none; }
  280.         /* ---- ボタン群が3行以上になる場合は1行横スクロール ---- */
  281.         .rp-btn-group.is-scroll,
  282.         .opt-btn-group.is-scroll {
  283.             flex-wrap: nowrap;
  284.             overflow-x: auto;
  285.             overflow-y: hidden;
  286.             -webkit-overflow-scrolling: touch;
  287.             scrollbar-width: thin;
  288.             padding-bottom: 6px;
  289.         }
  290.         .rp-btn-group.is-scroll::-webkit-scrollbar,
  291.         .opt-btn-group.is-scroll::-webkit-scrollbar {
  292.             height: 6px;
  293.         }
  294.         .rp-btn-group.is-scroll::-webkit-scrollbar-thumb,
  295.         .opt-btn-group.is-scroll::-webkit-scrollbar-thumb {
  296.             background: #c0c0c0;
  297.             border-radius: 3px;
  298.         }
  299.         .rp-btn-group.is-scroll > .rp-btn,
  300.         .opt-btn-group.is-scroll > .opt-btn {
  301.             flex: 0 0 auto;
  302.         }
  303.         /* ---- 3. プルダウン(画像なし・9個以上)---- */
  304.         .rp-select-wrap {
  305.             margin-bottom: 4px;
  306.         }
  307.         .rp-select {
  308.             width: 100%;
  309.             max-width: 420px;
  310.             padding: 8px 12px;
  311.             border: 2px solid #ddd;
  312.             border-radius: 10px;
  313.             font-size: 13px;
  314.             color: #333;
  315.             background: #fff;
  316.             appearance: none;
  317.             background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E\");
  318.             background-repeat: no-repeat;
  319.             background-position: right 12px center;
  320.             cursor: pointer;
  321.         }
  322.         .rp-select:focus {
  323.             outline: none;
  324.             border-color: #1a6fcf;
  325.         }
  326.         /* ---- オプション選択ボタン(枠線ラジオ)---- */
  327.         .opt-btn-group {
  328.             display: flex;
  329.             flex-wrap: wrap;
  330.             gap: 8px;
  331.             padding: 6px 0;
  332.             max-width: 100%;
  333.             min-width: 0;
  334.         }
  335.         .opt-btn {
  336.             cursor: pointer;
  337.             padding: 7px 14px;
  338.             border: 2px solid #ddd;
  339.             border-radius: 10px;
  340.             font-size: 13px;
  341.             color: #333;
  342.             background: #fff;
  343.             transition: border-color 0.2s, background 0.2s;
  344.             white-space: nowrap;
  345.             max-width: 100%;
  346.             overflow: hidden;
  347.             text-overflow: ellipsis;
  348.         }
  349.         .opt-btn:hover { border-color: #999; }
  350.         .opt-btn.is-selected {
  351.             border-color: #1a6fcf;
  352.             color: #1a6fcf;
  353.             font-weight: bold;
  354.             background: #f0f6ff;
  355.         }
  356.         .opt-btn input[type=\"radio\"] { display: none; }
  357.         /* ============================================
  358.            施工エリア案内
  359.         ============================================ */
  360.         .ec-areaNotice {
  361.             margin: 16px 0;
  362.             padding: 16px 20px;
  363.             background: #f8f9fa;
  364.             border-left: 4px solid #1a6fcf;
  365.             border-radius: 0 8px 8px 0;
  366.         }
  367.         .ec-areaNotice__inner {
  368.             display: flex;
  369.             align-items: flex-start;
  370.             gap: 12px;
  371.         }
  372.         .ec-areaNotice__icon {
  373.             font-size: 22px;
  374.             line-height: 1;
  375.             flex-shrink: 0;
  376.             margin-top: 2px;
  377.         }
  378.         .ec-areaNotice__body {
  379.             flex: 1;
  380.         }
  381.         .ec-areaNotice__title {
  382.             font-size: 13px;
  383.             font-weight: bold;
  384.             color: #1a6fcf;
  385.             margin: 0 0 6px;
  386.         }
  387.         .ec-areaNotice__text {
  388.             font-size: 13px;
  389.             color: #444;
  390.             line-height: 1.7;
  391.             margin: 0;
  392.         }
  393.         .ec-areaNotice__text strong {
  394.             color: #222;
  395.         }
  396.         .ec-areaNotice__link {
  397.             display: inline-block;
  398.             margin-top: 8px;
  399.             font-size: 12px;
  400.             color: #1a6fcf;
  401.             text-decoration: underline;
  402.         }
  403.         .ec-areaNotice__link:hover {
  404.             color: #0d4fa0;
  405.         }
  406.         /* ============================================
  407.            SNSシェア + ブランド名 タイトル行
  408.         ============================================ */
  409.         .ec-productRole__titleRow {
  410.             display: flex;
  411.             align-items: center;
  412.             justify-content: space-between;
  413.             gap: 8px;
  414.             margin-bottom: 4px;
  415.         }
  416.         .ec-productRole__titleRow .ec-headingTitle {
  417.             margin: 0;
  418.             flex: 1;
  419.             font-size: 18px;
  420.         }
  421.         .ec-share-inline {
  422.             display: flex;
  423.             align-items: center;
  424.             gap: 8px;
  425.             flex-shrink: 0;
  426.         }
  427.         @media (max-width: 767px) {
  428.             /* maker_area の float を解除して独立表示 */
  429.             #maker_area {
  430.                 float: none !important;
  431.                 width: auto !important;
  432.                 height: auto !important;
  433.                 display: block;
  434.                 margin-bottom: 4px;
  435.             }
  436.             /* タイトル行: 商品名が全幅を占有しSNSは右寄せ下段 */
  437.             .ec-productRole__titleRow {
  438.                 flex-wrap: wrap;
  439.                 clear: both;
  440.             }
  441.             .ec-productRole__titleRow .ec-headingTitle {
  442.                 flex: 1 1 100%;
  443.                 font-size: 16px;
  444.             }
  445.             .ec-share-inline {
  446.                 flex: 0 0 auto;
  447.                 margin-left: auto;
  448.             }
  449.         }
  450.         .ec-share-inline a {
  451.             display: flex;
  452.             align-items: center;
  453.             justify-content: center;
  454.             width: 32px;
  455.             height: 32px;
  456.             border-radius: 50%;
  457.             font-size: 15px;
  458.             color: #fff;
  459.             text-decoration: none;
  460.             transition: opacity 0.2s;
  461.         }
  462.         .ec-share-inline a:hover { opacity: 0.8; }
  463.         .ec-share-inline .share-twitter  { background: #000; }
  464.         .ec-share-inline .share-facebook { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
  465.         .ec-share-inline .share-line     { background: #06c755; }
  466.         /* description_detail下のシェアブロックはPC/スマホ共通で非表示(タイトル行に移動) */
  467.         .ec-productRole__share { display: none; }
  468.         /* ============================================
  469.            PC用: 現在のお見積り額カード強調
  470.         ============================================ */
  471.         @media (min-width: 768px) {
  472.             .mitsumori-card-pc {
  473.                 border: 2px solid #1a6fcf !important;
  474.                 border-radius: 10px !important;
  475.                 box-shadow: 0 4px 16px rgba(26,111,207,0.18) !important;
  476.                 margin-top: 20px;
  477.                 overflow: hidden;
  478.                 background: linear-gradient(135deg, #1a6fcf, #0d4fa0) !important;
  479.             }
  480.             .mitsumori-card-pc .card-header {
  481.                 background: linear-gradient(135deg, #1a6fcf, #0d4fa0) !important;
  482.                 color: #fff !important;
  483.                 padding: 14px 16px !important;
  484.                 border-bottom: none !important;
  485.             }
  486.             .mitsumori-card-pc .card-title {
  487.                 color: #fff !important;
  488.                 font-size: 15px !important;
  489.                 font-weight: bold !important;
  490.                 margin: 0 !important;
  491.             }
  492.             .mitsumori-card-pc #mitsumori_message {
  493.                 font-size: 22px !important;
  494.                 font-weight: bold !important;
  495.                 color: #fff !important;
  496.             }
  497.             .mitsumori-card-pc .btn-tool {
  498.                 color: #fff !important;
  499.             }
  500.             /* 合計行を大きく強調 */
  501.             .mitsumori-card-pc .nav-item:first-child .nav-link {
  502.                 font-size: 16px !important;
  503.                 font-weight: bold !important;
  504.                 color: #c00 !important;
  505.                 background: #fff8f8 !important;
  506.                 padding: 12px 16px !important;
  507.             }
  508.             .mitsumori-card-pc .nav-item:first-child #mitsumori_goukei {
  509.                 font-size: 20px !important;
  510.                 font-weight: bold !important;
  511.                 color: #c00 !important;
  512.             }
  513.             /* card-body(明細リスト)を白背景に */
  514.             .mitsumori-card-pc .card-body {
  515.                 background: #fff !important;
  516.             }
  517.             .mitsumori-card-pc .card-footer {
  518.                 background: #f8faff !important;
  519.                 border-top: 1px solid #dce8fb !important;
  520.                 padding: 12px 16px !important;
  521.             }
  522.         }
  523.         @media (max-width: 767px) {
  524.             /* スマホでは現在のお見積り額カードの強調スタイルをすべてリセット */
  525.             .mitsumori-card-pc {
  526.                 border: none !important;
  527.                 border-radius: 0 !important;
  528.                 box-shadow: none !important;
  529.                 margin-top: 0 !important;
  530.                 overflow: visible !important;
  531.                 background: none !important;
  532.             }
  533.             .mitsumori-card-pc .card-header {
  534.                 background: none !important;
  535.                 color: inherit !important;
  536.                 padding: inherit !important;
  537.                 border-bottom: inherit !important;
  538.             }
  539.             .mitsumori-card-pc .card-title { color: inherit !important; }
  540.             .mitsumori-card-pc #mitsumori_message { font-size: inherit !important; color: inherit !important; }
  541.             .mitsumori-card-pc .btn-tool { color: inherit !important; }
  542.             /* 折りたたみトグルボタン */
  543.             .btn-mitsumori-toggle {
  544.                 background: none !important;
  545.                 border: 1px solid #aaa !important;
  546.                 border-radius: 4px !important;
  547.                 padding: 2px 8px !important;
  548.                 font-size: 12px !important;
  549.                 color: #333 !important;
  550.                 line-height: 1.4 !important;
  551.             }
  552.             .btn-mitsumori-toggle .toggle-icon {
  553.                 display: inline-block;
  554.                 transition: transform 0.2s;
  555.             }
  556.             /* 展開状態: ▼→▲ */
  557.             .card:not(.collapsed-card) .btn-mitsumori-toggle .toggle-icon::before {
  558.                 content: \"▲ 閉じる\";
  559.             }
  560.             .card:not(.collapsed-card) .btn-mitsumori-toggle .toggle-icon {
  561.                 display: none;
  562.             }
  563.             .card:not(.collapsed-card) .btn-mitsumori-toggle::after {
  564.                 content: \"▲ 閉じる\";
  565.                 font-size: 12px;
  566.             }
  567.             .mitsumori-card-pc .nav-item:first-child .nav-link {
  568.                 font-size: inherit !important;
  569.                 color: inherit !important;
  570.                 background: none !important;
  571.                 padding: inherit !important;
  572.             }
  573.             .mitsumori-card-pc .nav-item:first-child #mitsumori_goukei {
  574.                 font-size: inherit !important;
  575.                 color: inherit !important;
  576.             }
  577.             .mitsumori-card-pc .card-footer {
  578.                 background: none !important;
  579.                 border-top: inherit !important;
  580.                 padding: inherit !important;
  581.             }
  582.             /* 横スクロール禁止 */
  583.             body, html {
  584.                 overflow-x: hidden;
  585.                 max-width: 100vw;
  586.             }
  587.             /* ボタンの折り返しを許可(nowrapが原因で横スクロール発生するため) */
  588.             .opt-btn,
  589.             .rp-btn {
  590.                 white-space: normal;
  591.                 word-break: break-all;
  592.             }
  593.             /* エリア案内: スマホでコンパクト */
  594.             .ec-areaNotice {
  595.                 margin: 8px 0;
  596.                 padding: 8px 10px;
  597.                 border-left-width: 3px;
  598.                 cursor: pointer;
  599.             }
  600.             .ec-areaNotice__inner {
  601.                 flex-direction: row;
  602.                 gap: 8px;
  603.                 align-items: flex-start;
  604.             }
  605.             .ec-areaNotice__icon { font-size: 15px; }
  606.             /* タイトル行: 展開トグル */
  607.             .ec-areaNotice__title {
  608.                 font-size: 11px;
  609.                 margin-bottom: 3px;
  610.                 display: flex;
  611.                 justify-content: space-between;
  612.                 align-items: center;
  613.             }
  614.             .ec-areaNotice__title::after {
  615.                 content: \"▼\";
  616.                 font-size: 9px;
  617.                 color: #888;
  618.                 margin-left: 6px;
  619.                 transition: transform 0.2s;
  620.             }
  621.             .ec-areaNotice.is-open .ec-areaNotice__title::after {
  622.                 transform: rotate(180deg);
  623.             }
  624.             /* 折りたたみ対象: 閉じた状態では非表示 */
  625.             .ec-areaNotice__detail {
  626.                 display: none;
  627.             }
  628.             .ec-areaNotice.is-open .ec-areaNotice__detail {
  629.                 display: block;
  630.             }
  631.             .ec-areaNotice__text { font-size: 11px; line-height: 1.5; }
  632.             .ec-areaNotice__text br { display: none; }
  633.             .ec-areaNotice__link { font-size: 11px; margin-top: 3px; }
  634.             .rp-card { width: calc(33.333% - 6px); min-width: 80px; }
  635.             
  636.             #sp-mitsumori-bar {
  637.                 display: flex;
  638.                 position: fixed;
  639.                 bottom: 0;
  640.                 left: 0;
  641.                 right: 0;
  642.                 z-index: 1000;
  643.                 background: #fff;
  644.                 border-top: 2px solid #e0e0e0;
  645.                 box-shadow: 0 -2px 8px rgba(0,0,0,0.12);
  646.                 align-items: center;
  647.                 padding: 8px 12px;
  648.                 gap: 10px;
  649.             }
  650.             #sp-mitsumori-bar .sp-bar__label {
  651.                 font-size: 11px;
  652.                 color: #666;
  653.                 white-space: nowrap;
  654.             }
  655.             #sp-mitsumori-bar .sp-bar__price {
  656.                 font-size: 18px;
  657.                 font-weight: bold;
  658.                 color: #c00;
  659.                 flex: 1;
  660.             }
  661.             #sp-mitsumori-bar .sp-bar__btn {
  662.                 font-size: 12px;
  663.                 padding: 8px 12px;
  664.                 background: #333;
  665.                 color: #fff;
  666.                 border: none;
  667.                 border-radius: 6px;
  668.                 white-space: nowrap;
  669.                 cursor: pointer;
  670.                 position: relative;
  671.                 display: inline-flex;
  672.                 align-items: center;
  673.                 gap: 6px;
  674.             }
  675.             #sp-mitsumori-bar .sp-bar__btn i {
  676.                 font-size: 14px;
  677.             }
  678.             #sp-mitsumori-bar .sp-bar__cart-badge {
  679.                 position: absolute;
  680.                 top: -6px;
  681.                 right: -6px;
  682.                 background: #c00;
  683.                 color: #fff;
  684.                 border-radius: 50%;
  685.                 min-width: 16px;
  686.                 height: 16px;
  687.                 font-size: 10px;
  688.                 line-height: 16px;
  689.                 padding: 0 4px;
  690.                 font-weight: bold;
  691.             }
  692.             #sp-mitsumori-bar .sp-bar__home-btn {
  693.                 display: inline-flex;
  694.                 align-items: center;
  695.                 justify-content: center;
  696.                 width: 36px;
  697.                 height: 36px;
  698.                 border: 1px solid #ccc;
  699.                 border-radius: 6px;
  700.                 background: #fff;
  701.                 color: #333;
  702.                 text-decoration: none;
  703.                 cursor: pointer;
  704.             }
  705.             #sp-mitsumori-bar .sp-bar__home-btn i {
  706.                 font-size: 16px;
  707.             }
  708.             #sp-mitsumori-bar .sp-bar__home-btn:hover {
  709.                 background: #f0f0f0;
  710.             }
  711.             /* 下部バーの高さ分ページ下部にpaddingを追加 */
  712.             body {
  713.                 padding-bottom: 64px;
  714.             }
  715.         }
  716.         /* ============================================
  717.            カート追加モーダル: 縦並び中央配置
  718.         ============================================ */
  719.         .add-cart-modal__wrap {
  720.             text-align: center;
  721.         }
  722.         .add-cart-modal__header {
  723.             font-size: 16px;
  724.             margin: 20px 0 24px;
  725.             text-align: center;
  726.         }
  727.         .add-cart-modal__actions {
  728.             display: flex;
  729.             flex-direction: column;
  730.             align-items: center;
  731.             gap: 16px;
  732.             padding: 0 20px 20px;
  733.         }
  734.         .add-cart-modal__primary {
  735.             display: inline-block;
  736.             width: 80%;
  737.             max-width: 320px;
  738.             padding: 14px 20px;
  739.             font-size: 15px;
  740.             font-weight: bold;
  741.             text-align: center;
  742.             background: #d9534f;
  743.             color: #fff !important;
  744.             border-radius: 6px;
  745.             text-decoration: none;
  746.             cursor: pointer;
  747.         }
  748.         .add-cart-modal__primary:hover {
  749.             background: #c9302c;
  750.             color: #fff !important;
  751.             text-decoration: none;
  752.         }
  753.         .add-cart-modal__secondary {
  754.             display: inline-block;
  755.             padding: 6px 14px;
  756.             font-size: 12px;
  757.             color: #666;
  758.             border: 1px solid #ccc;
  759.             border-radius: 4px;
  760.             background: #fff;
  761.             cursor: pointer;
  762.         }
  763.         .add-cart-modal__secondary:hover {
  764.             background: #f0f0f0;
  765.             color: #333;
  766.         }
  767.         @media (max-width: 767px) {
  768.             .add-cart-modal__actions {
  769.                 gap: 20px;
  770.             }
  771.         }
  772.     </style>
  773. ";
  774.         
  775.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  776.         
  777.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  778.     }
  779.     // line 758
  780.     public function block_javascript($context, array $blocks = [])
  781.     {
  782.         $macros $this->macros;
  783.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  784.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  785.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  786.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  787.         // line 759
  788.         echo "
  789.     <script>
  790.         eccube.classCategories = ";
  791.         // line 761
  792.         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.'761$this->source); })()));
  793.         echo ";
  794.         // 規格2に選択肢を割り当てる。
  795.         function fnSetClassCategories(form, classcat_id2_selected) {
  796.             var \$form = \$(form);
  797.             var product_id = \$form.find('input[name=product_id]').val();
  798.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  799.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  800.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  801.         }
  802.         ";
  803.         // line 772
  804.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse772)) {
  805.             // line 773
  806.             echo "        fnSetClassCategories(
  807.             \$('#form1'), ";
  808.             // line 774
  809.             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.'774$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse774), "vars", [], "any"falsefalsefalse774), "value", [], "any"falsefalsefalse774));
  810.             echo "
  811.         );
  812.         ";
  813.         } elseif (twig_get_attribute($this->env$this->source,         // line 776
  814. ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse776)) {
  815.             // line 777
  816.             echo "        eccube.checkStock(\$('#form1'), ";
  817.             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); })()), "id", [], "any"falsefalsefalse777), "html"nulltrue);
  818.             echo ", ";
  819.             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.'777$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse777), "vars", [], "any"falsefalsefalse777), "value", [], "any"falsefalsefalse777));
  820.             echo ", null);
  821.         ";
  822.         }
  823.         // line 779
  824.         echo "    </script>
  825.     <script>
  826.         \$(function() {
  827.             // bfcache無効化
  828.             \$(window).bind('pageshow', function(event) {
  829.                 if (event.originalEvent.persisted) {
  830.                     location.reload(true);
  831.                 }
  832.             });
  833.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  834.             // img タグに width, height が付与されている.
  835.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  836.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  837.             \$('.ec-grid2__cell').hide();
  838.             var removeSize = function () {
  839.                 \$('.slide-item').height('');
  840.                 \$('.slide-item img')
  841.                     .removeAttr('width')
  842.                     .removeAttr('height')
  843.                     .removeAttr('style');
  844.             };
  845.             var slickInitial = function(slick) {
  846.                 \$('.ec-grid2__cell').fadeIn(1500);
  847.                 var baseHeight = \$(slick.target).height();
  848.                 var baseWidth = \$(slick.target).width();
  849.                 var rate = baseWidth / baseHeight;
  850. \t\t\t\tif(baseHeight * rate < 400){
  851. \t                \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  852. \t\t\t\t}else{
  853. \t                \$('.slide-item').height(400); // 余白を削除する
  854. \t\t\t\t}
  855.                 // transform を使用することでCLSの影響を受けないようにする
  856.                 \$('.slide-item img')
  857.                     .css(
  858.                         {
  859.                             'transform-origin': 'top left',
  860.                             'transform': 'scaleY(' + rate + ')',
  861.                             'transition': 'transform .1s'
  862.                         }
  863.                     );
  864.                 // 正しいサイズに近くなったら属性を解除する
  865.                 setTimeout(removeSize, 500);
  866.             };
  867.             \$('.item_visual').on('init', slickInitial);
  868.             // リサイズ時は CLS の影響を受けないため属性を解除する
  869.             \$(window).resize(removeSize);
  870.             \$('.item_visual').slick({
  871.                 dots: false,
  872.                 arrows: true,
  873.                 responsive: [{
  874.                     breakpoint: 768,
  875.                     settings: {
  876.                         dots: true,
  877.                 \t\tarrows: false
  878.                     }
  879.                 }]
  880.             });
  881.             \$('.slideThumb').on('click', function() {
  882.                 var index = \$(this).attr('data-index');
  883.                 \$('.item_visual').slick('slickGoTo', index, false);
  884.             })
  885.         });
  886.     </script>
  887.     <script>
  888.         \$(function() {
  889.             \$('.add-cart').on('click', function(event) {
  890.                 ";
  891.         // line 849
  892.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse849)) {
  893.             // line 850
  894.             echo "                // 規格1フォームの必須チェック
  895.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  896.                     \$('#classcategory_id1')[0].setCustomValidity('";
  897.             // line 852
  898.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  899.             echo "');
  900.                     return true;
  901.                 } else {
  902.                     \$('#classcategory_id1')[0].setCustomValidity('');
  903.                 }
  904.                 ";
  905.         }
  906.         // line 858
  907.         echo "
  908.                 ";
  909.         // line 859
  910.         if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse859)) {
  911.             // line 860
  912.             echo "                // 規格2フォームの必須チェック
  913.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  914.                     \$('#classcategory_id2')[0].setCustomValidity('";
  915.             // line 862
  916.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html"nulltrue);
  917.             echo "');
  918.                     return true;
  919.                 } else {
  920.                     \$('#classcategory_id2')[0].setCustomValidity('');
  921.                 }
  922.                 ";
  923.         }
  924.         // line 868
  925.         echo "
  926.                 // タイプ2: カート送信直前に set_count を quantity に同期
  927.                 if(\$('#set_count').length){
  928.                     var _sc = parseInt(\$('#set_count').val()) || 1;
  929.                     \$('#quantity').val(_sc);
  930.                     \$('input[name=\"quantity\"]').val(_sc);
  931.                 }
  932.                 // 個数フォームのチェック
  933.                 if (\$('#quantity').val() < 1) {
  934.                     \$('#quantity')[0].setCustomValidity('";
  935.         // line 878
  936.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  937.         echo "');
  938.                     return true;
  939.                 } else {
  940.                     \$('#quantity')[0].setCustomValidity('');
  941.                 }
  942.                 event.preventDefault();
  943.                 \$form = \$('#form1');
  944.                 \$.ajax({
  945.                     url: \$form.attr('action'),
  946.                     type: \$form.attr('method'),
  947.                     data: \$form.serialize(),
  948.                     dataType: 'json',
  949.                     beforeSend: function(xhr, settings) {
  950.                         // Buttonを無効にする
  951.                         \$('.add-cart').prop('disabled', true);
  952.                     }
  953.                 }).done(function(data) {
  954.                     // レスポンス内のメッセージをalertで表示
  955.                     \$.each(data.messages, function() {
  956.                         \$('#ec-modal-header').text(this);
  957.                     });
  958.                     \$('.ec-modal').show()
  959.                     // カートブロックを更新する
  960.                     \$.ajax({
  961.                         url: \"";
  962.         // line 905
  963.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  964.         echo "\",
  965.                         type: 'GET',
  966.                         dataType: 'html'
  967.                     }).done(function(html) {
  968.                         \$('.ec-headerRole__cart').html(html);
  969.                     });
  970.                 }).fail(function(data) {
  971.                     alert('";
  972.         // line 912
  973.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("施工検討リストへの追加に失敗しました。"), "html"nulltrue);
  974.         echo "');
  975.                 }).always(function(data) {
  976.                     // Buttonを有効にする
  977.                     \$('.add-cart').prop('disabled', false);
  978.                 });
  979.             });
  980.         });
  981.         \$('.ec-modal-wrap').on('click', function(e) {
  982.             // モーダル内の処理は外側にバブリングさせない
  983.             e.stopPropagation();
  984.         });
  985.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  986.             \$('.ec-modal').hide()
  987.         });
  988. \t\tvar pw = \"";
  989.         // line 929
  990.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'929$this->source); })())) {
  991.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'929$this->source); })()), "pw", [], "any"falsefalsefalse929), "html"nulltrue);
  992.         }
  993.         echo "\";
  994. \t\tvar pd = \"";
  995.         // line 930
  996.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'930$this->source); })())) {
  997.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'930$this->source); })()), "pd", [], "any"falsefalsefalse930), "html"nulltrue);
  998.         }
  999.         echo "\";
  1000. \t\tvar ph = \"";
  1001.         // line 931
  1002.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'931$this->source); })())) {
  1003.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'931$this->source); })()), "ph", [], "any"falsefalsefalse931), "html"nulltrue);
  1004.         }
  1005.         echo "\";
  1006. \t\tvar pm = \"";
  1007.         // line 932
  1008.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'932$this->source); })())) {
  1009.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'932$this->source); })()), "pm", [], "any"falsefalsefalse932), "html"nulltrue);
  1010.         }
  1011.         echo "\";
  1012. \t\tvar pc = \"";
  1013.         // line 933
  1014.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'933$this->source); })())) {
  1015.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'933$this->source); })()), "pc", [], "any"falsefalsefalse933), "html"nulltrue);
  1016.         }
  1017.         echo "\";
  1018. \t\tvar op0 = \"";
  1019.         // line 934
  1020.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'934$this->source); })())) {
  1021.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'934$this->source); })()), "op", [], "any"falsefalsefalse934), 0, [], "array"falsefalsefalse934), "html"nulltrue);
  1022.         }
  1023.         echo "\";
  1024. \t\tvar op1 = \"";
  1025.         // line 935
  1026.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'935$this->source); })())) {
  1027.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'935$this->source); })()), "op", [], "any"falsefalsefalse935), 1, [], "array"falsefalsefalse935), "html"nulltrue);
  1028.         }
  1029.         echo "\";
  1030. \t\tvar op2 = \"";
  1031.         // line 936
  1032.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'936$this->source); })())) {
  1033.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'936$this->source); })()), "op", [], "any"falsefalsefalse936), 2, [], "array"falsefalsefalse936), "html"nulltrue);
  1034.         }
  1035.         echo "\";
  1036. \t\tvar op3 = \"";
  1037.         // line 937
  1038.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'937$this->source); })())) {
  1039.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'937$this->source); })()), "op", [], "any"falsefalsefalse937), 3, [], "array"falsefalsefalse937), "html"nulltrue);
  1040.         }
  1041.         echo "\";
  1042. \t\tvar op4 = \"";
  1043.         // line 938
  1044.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'938$this->source); })())) {
  1045.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'938$this->source); })()), "op", [], "any"falsefalsefalse938), 4, [], "array"falsefalsefalse938), "html"nulltrue);
  1046.         }
  1047.         echo "\";
  1048. \t\tvar op5 = \"";
  1049.         // line 939
  1050.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'939$this->source); })())) {
  1051.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'939$this->source); })()), "op", [], "any"falsefalsefalse939), 5, [], "array"falsefalsefalse939), "html"nulltrue);
  1052.         }
  1053.         echo "\";
  1054. \t\tvar op6 = \"";
  1055.         // line 940
  1056.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'940$this->source); })())) {
  1057.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'940$this->source); })()), "op", [], "any"falsefalsefalse940), 6, [], "array"falsefalsefalse940), "html"nulltrue);
  1058.         }
  1059.         echo "\";
  1060. \t\tvar op7 = \"";
  1061.         // line 941
  1062.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'941$this->source); })())) {
  1063.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'941$this->source); })()), "op", [], "any"falsefalsefalse941), 7, [], "array"falsefalsefalse941), "html"nulltrue);
  1064.         }
  1065.         echo "\";
  1066. \t\tvar op8 = \"";
  1067.         // line 942
  1068.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'942$this->source); })())) {
  1069.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'942$this->source); })()), "op", [], "any"falsefalsefalse942), 8, [], "array"falsefalsefalse942), "html"nulltrue);
  1070.         }
  1071.         echo "\";
  1072. \t\tvar op9 = \"";
  1073.         // line 943
  1074.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'943$this->source); })())) {
  1075.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'943$this->source); })()), "op", [], "any"falsefalsefalse943), 9, [], "array"falsefalsefalse943), "html"nulltrue);
  1076.         }
  1077.         echo "\";
  1078. \t\tvar op10 = \"";
  1079.         // line 944
  1080.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'944$this->source); })())) {
  1081.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'944$this->source); })()), "op", [], "any"falsefalsefalse944), 10, [], "array"falsefalsefalse944), "html"nulltrue);
  1082.         }
  1083.         echo "\";
  1084. \t\tconst formatter = new Intl.NumberFormat('ja-JP');
  1085. \t\tfunction mitsumori_simulation(type , value_id){
  1086. \t\t\tvar pp = ";
  1087.         // line 949
  1088.         echo (isset($context["pp"]) || array_key_exists("pp"$context) ? $context["pp"] : (function () { throw new RuntimeError('Variable "pp" does not exist.'949$this->source); })());
  1089.         echo ";
  1090. \t\t\tif(type == \"pw\"){
  1091. \t\t\t\tpw = \$('#'+value_id).val();
  1092. \t\t\t}
  1093. \t\t\tif(type == \"pd\"){
  1094. \t\t\t\tpd = \$('#'+value_id).val();
  1095. \t\t\t}
  1096. \t\t\tif(type == \"ph\"){
  1097. \t\t\t\tph = \$('#'+value_id).val();
  1098. \t\t\t}
  1099. \t\t\tif(type == \"pm\"){
  1100. \t\t\t\tpm = \$('#'+value_id).val();
  1101. \t\t\t}
  1102. \t\t\tif(type == \"pc\"){
  1103. \t\t\t\tpc = \$('#'+value_id).val();
  1104. \t\t\t}
  1105. \t\t\tif(type == \"op0\"){ op0 = \$('#'+value_id).val(); }
  1106. \t\t\tif(type == \"op1\"){ op1 = \$('#'+value_id).val(); }
  1107. \t\t\tif(type == \"op2\"){ op2 = \$('#'+value_id).val(); }
  1108. \t\t\tif(type == \"op3\"){ op3 = \$('#'+value_id).val(); }
  1109. \t\t\tif(type == \"op4\"){ op4 = \$('#'+value_id).val(); }
  1110. \t\t\tif(type == \"op5\"){ op5 = \$('#'+value_id).val(); }
  1111. \t\t\tif(type == \"op6\"){ op6 = \$('#'+value_id).val(); }
  1112. \t\t\tif(type == \"op7\"){ op7 = \$('#'+value_id).val(); }
  1113. \t\t\tif(type == \"op8\"){ op8 = \$('#'+value_id).val(); }
  1114. \t\t\tif(type == \"op9\"){ op9 = \$('#'+value_id).val(); }
  1115. \t\t\tif(type == \"op10\"){ op10 = \$('#'+value_id).val(); }
  1116. \t\t\t// op系: ボタンの is-selected を選択中のものに付け替え + radio チェック
  1117. \t\t\tif(/^op\\d+\$/.test(type)) {
  1118. \t\t\t\tvar \$clicked = \$('#' + value_id);
  1119. \t\t\t\t\$clicked.prop('checked', true);
  1120. \t\t\t\tvar groupName = \$clicked.attr('name');
  1121. \t\t\t\t\$('input[name=\"' + groupName + '\"]').closest('.opt-btn').removeClass('is-selected');
  1122. \t\t\t\t\$clicked.closest('.opt-btn').addClass('is-selected');
  1123. \t\t\t\t// ラベルの選択値テキスト更新
  1124. \t\t\t\tvar \$group = \$clicked.closest('.form-group');
  1125. \t\t\t\tvar \$label = \$group.find('.rp-section-label');
  1126. \t\t\t\tif (\$label.length) {
  1127. \t\t\t\t\tvar labelText = \$label.text().split(':')[0].trim();
  1128. \t\t\t\t\t\$label.html(labelText + ': <span>' + \$clicked.val() + '</span>');
  1129. \t\t\t\t}
  1130. \t\t\t}
  1131. \t\t\tif(pm == \"\"){
  1132. \t\t\t\t\$('#mitsumori_message').text(\"素材を選択してください\");
  1133. \t\t\t}
  1134. \t\t\tif(ph == \"\"){
  1135. \t\t\t\t\$('#mitsumori_message').text(\"高さを選択してください\");
  1136. \t\t\t}
  1137. \t\t\tif(pd == \"\"){
  1138. \t\t\t\t\$('#mitsumori_message').text(\"奥行きを選択してください\");
  1139. \t\t\t}
  1140. \t\t\tif(pw == \"\"){
  1141. \t\t\t\t\$('#mitsumori_message').text(\"幅を選択してください\");
  1142. \t\t\t}
  1143. \t\t\tif(pc == \"\"){
  1144. \t\t\t\t\$('#mitsumori_message').text(\"カラーを選択してください\");
  1145. \t\t\t\t\$('#mitsumori_btn').hide();
  1146. \t\t\t\t\$('#mitsumori_goukei').text(\"---円\");
  1147. \t\t\t\t\$('#mitsumori_off').text(\"---円\");
  1148. \t\t\t\t\$('#mitsumori_price').text(\"---円\");
  1149. \t\t\t\t\$('#maker_price').text(\"---円\");
  1150. \t\t\t\t\$('#mitsumori_ct').text(\"---円\");
  1151. \t\t\t\t\$('#mitsumori_option').text(\"---円\");
  1152. \t\t\t}
  1153. \t\t\tif(pw != \"\" && pd != \"\" && ph != \"\" && pm != \"\" && pc != \"\"){
  1154. \t\t\t\t\$('#mitsumori_btn').show();
  1155. \t\t\t\tvar pp_matched = false;
  1156. \t\t\t\tpp.forEach((el) => {
  1157. \t\t\t\t  if((pw == el.w || pw == \"指定なし\") && (pd == el.d || pd == \"指定なし\") && (ph == el.h || ph == \"指定なし\") && (pm == el.m || pm == \"指定なし\") && (pc == el.c || pc == \"指定なし\")){
  1158. \t\t\t\t\tpp_matched = true;
  1159. \t\t\t\t\tif(op0 == \"商品購入のみ\" || op1 == \"商品購入のみ\" || op2 == \"商品購入のみ\" || op3 == \"商品購入のみ\" || op4 == \"商品購入のみ\"
  1160. \t\t\t\t\t\t|| op5 == \"商品購入のみ\" || op6 == \"商品購入のみ\" || op7 == \"商品購入のみ\" || op8 == \"商品購入のみ\" || op9 == \"商品購入のみ\"){
  1161. \t\t\t\t\t  \t\$('#mitsumori_message').text(formatter.format(parseInt(el.price)) + \"円\");
  1162. \t\t\t\t\t  \t\$('#mitsumori_goukei').text(formatter.format(parseInt(el.price)) + \"円\");
  1163. \t\t\t\t\t  \t\$('#mitsumori_off').text(formatter.format(parseInt(el.price) - parseInt(el.maker_price)) + \"円\");
  1164. \t\t\t\t\t  \t\$('#mitsumori_price').text(formatter.format(parseInt(el.price)) + \"円\");
  1165. \t\t\t\t\t  \t\$('#maker_price').text(formatter.format(parseInt(el.maker_price)) + \"円\");
  1166. \t\t\t\t\t  \t\$('#mitsumori_ct').text(\"0円\");
  1167. \t\t\t\t\t  \t\$('#mitsumori_option').text(\"0円\");
  1168. \t\t\t\t\t  \t\$('#mitsumori_kei').text(formatter.format(parseInt(el.price)) + \"円\");
  1169. \t\t\t\t\t  \t\$('#mitsumori_price_01').text(formatter.format(parseInt(el.price)) + \"円\");
  1170. \t\t\t\t\t  \t\$('#mitsumori_price_02').text(formatter.format(parseInt(el.price)) + \"円\");
  1171. \t\t\t\t\t  \t\$('#mitsumori_ct_01').text(\"0円\");
  1172. \t\t\t\t\t  \t\$('#mitsumori_ct_02').text(\"0円\");
  1173. \t\t\t\t\t  \t\$('#mitsumori_goukei_02').text(formatter.format(parseInt(el.price)) + \"円\");
  1174. \t\t\t\t\t\tmitsumori_goukei = (parseInt(el.price));
  1175. \t\t\t\t\t\tshoukei = mitsumori_goukei / 1.1;
  1176. \t\t\t\t\t\ttax = parseInt(mitsumori_goukei - shoukei);
  1177. \t\t\t\t\t  \t\$('#mitsumori_shoukei').text(formatter.format(parseInt(shoukei)) + \"円\");
  1178. \t\t\t\t\t  \t\$('#mitsumori_tax').text(formatter.format(parseInt(tax)) + \"円\");
  1179. \t\t\t\t\t}else{
  1180. \t\t\t\t\t  \t\$('#mitsumori_message').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  1181. \t\t\t\t\t  \t\$('#mitsumori_goukei').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  1182. \t\t\t\t\t  \t\$('#mitsumori_off').text(formatter.format(parseInt(el.price) - parseInt(el.maker_price)) + \"円\");
  1183. \t\t\t\t\t  \t\$('#mitsumori_price').text(formatter.format(parseInt(el.price)) + \"円\");
  1184. \t\t\t\t\t  \t\$('#maker_price').text(formatter.format(parseInt(el.maker_price)) + \"円\");
  1185. \t\t\t\t\t  \t\$('#mitsumori_ct').text(formatter.format(parseInt(el.ct)) + \"円\");
  1186. \t\t\t\t\t  \t\$('#mitsumori_option').text(\"0円\");
  1187. \t\t\t\t\t  \t\$('#mitsumori_kei').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  1188. \t\t\t\t\t  \t\$('#mitsumori_price_01').text(formatter.format(parseInt(el.price)) + \"円\");
  1189. \t\t\t\t\t  \t\$('#mitsumori_price_02').text(formatter.format(parseInt(el.price)) + \"円\");
  1190. \t\t\t\t\t  \t\$('#mitsumori_ct_01').text(formatter.format(parseInt(el.ct)) + \"円\");
  1191. \t\t\t\t\t  \t\$('#mitsumori_ct_02').text(formatter.format(parseInt(el.ct)) + \"円\");
  1192. \t\t\t\t\t  \t\$('#mitsumori_goukei_02').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  1193. \t\t\t\t\t\tmitsumori_goukei = (parseInt(el.price) + parseInt(el.ct));
  1194. \t\t\t\t\t\tshoukei = mitsumori_goukei / 1.1;
  1195. \t\t\t\t\t\ttax = parseInt(mitsumori_goukei - shoukei);
  1196. \t\t\t\t\t  \t\$('#mitsumori_shoukei').text(formatter.format(parseInt(shoukei)) + \"円\");
  1197. \t\t\t\t\t  \t\$('#mitsumori_tax').text(formatter.format(parseInt(tax)) + \"円\");
  1198. \t\t\t\t\t}
  1199. \t\t\t\t  }
  1200. \t\t\t\t});
  1201. \t\t\t\tif (!pp_matched) {
  1202. \t\t\t\t\t\$('#mitsumori_message').text(\"この組み合わせは対応しておりません\");
  1203. \t\t\t\t\t\$('#mitsumori_btn').hide();
  1204. \t\t\t\t\t\$('#mitsumori_goukei').text(\"---円\");
  1205. \t\t\t\t\t\$('#mitsumori_off').text(\"---円\");
  1206. \t\t\t\t\t\$('#mitsumori_price').text(\"---円\");
  1207. \t\t\t\t\t\$('#maker_price').text(\"---円\");
  1208. \t\t\t\t\t\$('#mitsumori_ct').text(\"---円\");
  1209. \t\t\t\t\t\$('#mitsumori_option').text(\"---円\");
  1210. \t\t\t\t\t\$('#mitsumori_kei').text(\"---円\");
  1211. \t\t\t\t\t\$('#mitsumori_shoukei').text(\"---円\");
  1212. \t\t\t\t\t\$('#mitsumori_tax').text(\"---円\");
  1213. \t\t\t\t}\t
  1214. \t\t\t\t// タイプ5: ステップ・フェンス・面積の現在値を取得
  1215. \t\t\t\tif(\$('input[name=deck_step]:checked').length){ deck_step = \$('input[name=deck_step]:checked').val(); }
  1216. \t\t\t\tif(\$('input[name=deck_fence]:checked').length){ deck_fence = \$('input[name=deck_fence]:checked').val(); }
  1217. \t\t\t\t// タイプ2: 窓サイズ・窓タイプ・ガラスタイプ・セット数
  1218. \t\t\t\tvar mado_w_val     = \$('#mado_w').val()     || '';
  1219. \t\t\t\tvar mado_h_val     = \$('#mado_h').val()     || '';
  1220. \t\t\t\tvar mado_type_val  = \$('input[name=mado_type]:checked').val()  || '';
  1221. \t\t\t\tvar glass_type_val = \$('input[name=glass_type]:checked').val() || '';
  1222. \t\t\t\tvar set_count_val  = parseInt(\$('#set_count').val()) || 1;
  1223. \t\t\t\t// タイプ3: 台数
  1224. \t\t\t\tvar daisu_val = parseInt(\$('#daisu').val()) || 1;
  1225. \t\t\t\t// タイプ4・6: 枚数
  1226. \t\t\t\tvar maisu_val = parseInt(\$('#maisu').val()) || 1;
  1227. \t\t\t\t// タイプ5: 面積
  1228. \t\t\t\tvar area_val = \$('#area').val() || '';
  1229. \t\t\t\t// sale_type
  1230. \t\t\t\tvar sale_type_id = ";
  1231.         // line 1110
  1232.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductClass"]) || array_key_exists("ProductClass"$context) ? $context["ProductClass"] : (function () { throw new RuntimeError('Variable "ProductClass" does not exist.'1110$this->source); })()), "SaleType", [], "any"falsefalsefalse1110), "id", [], "any"falsefalsefalse1110), "html"nulltrue);
  1233.         echo ";
  1234. \t\t\t\tvar mitsumori_json = { \"mitsumori_goukei\": \$('#mitsumori_goukei').text(),
  1235. \t\t\t\t\t\t\t\t\t\t\"mitsumori_goukei_02\": \$('#mitsumori_goukei_02').text(),
  1236. \t\t\t\t\t\t\t\t\t\t\"mitsumori_price\": \$('#mitsumori_price').text(),
  1237. \t\t\t\t\t\t\t\t\t\t\"maker_price\": \$('#maker_price').text(),
  1238. \t\t\t\t\t\t\t\t\t\t\"mitsumori_off\": \$('#mitsumori_off').text(),
  1239. \t\t\t\t\t\t\t\t\t\t\"mitsumori_ct\": \$('#mitsumori_ct').text(),
  1240. \t\t\t\t\t\t\t\t\t\t\"mitsumori_option\": \$('#mitsumori_option').text(),
  1241. \t\t\t\t\t\t\t\t\t\t\"product_id\": ";
  1242.         // line 1119
  1243.         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.'1119$this->source); })()), "id", [], "any"falsefalsefalse1119), "html"nulltrue);
  1244.         echo ",
  1245. \t\t\t\t\t\t\t\t\t\t\"sale_type\": sale_type_id,
  1246. \t\t\t\t\t\t\t\t\t\t\"pw\": pw,
  1247. \t\t\t\t\t\t\t\t\t\t\"pd\": pd,
  1248. \t\t\t\t\t\t\t\t\t\t\"ph\": ph,
  1249. \t\t\t\t\t\t\t\t\t\t\"pm\": pm,
  1250. \t\t\t\t\t\t\t\t\t\t\"pc\": pc,
  1251. \t\t\t\t\t\t\t\t\t\t\"op\": [op0,op1,op2,op3,op4,op5,op6,op7,op8,op9,op10],
  1252. \t\t\t\t\t\t\t\t\t\t\"mado_w\":     mado_w_val,
  1253. \t\t\t\t\t\t\t\t\t\t\"mado_h\":     mado_h_val,
  1254. \t\t\t\t\t\t\t\t\t\t\"mado_type\":  mado_type_val,
  1255. \t\t\t\t\t\t\t\t\t\t\"glass_type\": glass_type_val,
  1256. \t\t\t\t\t\t\t\t\t\t\"set_count\":  set_count_val,
  1257. \t\t\t\t\t\t\t\t\t\t\"daisu\":      daisu_val,
  1258. \t\t\t\t\t\t\t\t\t\t\"maisu\":      maisu_val,
  1259. \t\t\t\t\t\t\t\t\t\t\"area\":       area_val,
  1260. \t\t\t\t\t\t\t\t\t\t\"deck_step\":  deck_step,
  1261. \t\t\t\t\t\t\t\t\t\t\"deck_fence\": deck_fence };
  1262. \t\t\t\t\$('#mitsumori_json').val(JSON.stringify(mitsumori_json));
  1263. \t\t\t\t
  1264. \t\t\t}
  1265. \t\t\t
  1266. \t\t}
  1267.         ";
  1268.         // line 1145
  1269.         if (((isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1145$this->source); })()) && (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1145$this->source); })())) == 1))) {
  1270.             // line 1146
  1271.             echo "            pc = \"指定なし\";
  1272. \t\t\t";
  1273.             // line 1147
  1274.             $context['_parent'] = $context;
  1275.             $context['_seq'] = twig_ensure_traversable((isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1147$this->source); })()));
  1276.             foreach ($context['_seq'] as $context["_key"] => $context["cc"]) {
  1277.                 if (($context["cc"] && twig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1147))) {
  1278.                     echo " pc = \"";
  1279.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1147), "html"nulltrue);
  1280.                     echo "\"; ";
  1281.                 }
  1282.             }
  1283.             $_parent $context['_parent'];
  1284.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cc'], $context['_parent'], $context['loop']);
  1285.             $context array_intersect_key($context$_parent) + $_parent;
  1286.             // line 1148
  1287.             echo "\t\t";
  1288.         }
  1289.         // line 1149
  1290.         echo "
  1291.         ";
  1292.         // line 1150
  1293.         if (((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1150$this->source); })()) && ((twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1150$this->source); })())) == 1) || (twig_join_filter((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1150$this->source); })())) == "")))) {
  1294.             // line 1151
  1295.             echo "            pw = \"指定なし\";
  1296. \t\t\t";
  1297.             // line 1152
  1298.             $context['_parent'] = $context;
  1299.             $context['_seq'] = twig_ensure_traversable((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1152$this->source); })()));
  1300.             foreach ($context['_seq'] as $context["_key"] => $context["pw"]) {
  1301.                 if ($context["pw"]) {
  1302.                     echo " pw = \"";
  1303.                     echo twig_escape_filter($this->env$context["pw"], "html"nulltrue);
  1304.                     echo "\"; ";
  1305.                 }
  1306.             }
  1307.             $_parent $context['_parent'];
  1308.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw'], $context['_parent'], $context['loop']);
  1309.             $context array_intersect_key($context$_parent) + $_parent;
  1310.             // line 1153
  1311.             echo "\t\t";
  1312.         }
  1313.         // line 1154
  1314.         echo "
  1315.         ";
  1316.         // line 1155
  1317.         if (((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1155$this->source); })()) && ((twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1155$this->source); })())) == 1) || (twig_join_filter((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1155$this->source); })())) == "")))) {
  1318.             // line 1156
  1319.             echo "            pd = \"指定なし\";
  1320. \t\t\t";
  1321.             // line 1157
  1322.             $context['_parent'] = $context;
  1323.             $context['_seq'] = twig_ensure_traversable((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1157$this->source); })()));
  1324.             foreach ($context['_seq'] as $context["_key"] => $context["pd"]) {
  1325.                 if ($context["pd"]) {
  1326.                     echo " pd = \"";
  1327.                     echo twig_escape_filter($this->env$context["pd"], "html"nulltrue);
  1328.                     echo "\"; ";
  1329.                 }
  1330.             }
  1331.             $_parent $context['_parent'];
  1332.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd'], $context['_parent'], $context['loop']);
  1333.             $context array_intersect_key($context$_parent) + $_parent;
  1334.             // line 1158
  1335.             echo "\t\t";
  1336.         }
  1337.         // line 1159
  1338.         echo "
  1339.         ";
  1340.         // line 1160
  1341.         if (((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1160$this->source); })()) && ((twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1160$this->source); })())) == 1) || (twig_join_filter((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1160$this->source); })())) == "")))) {
  1342.             // line 1161
  1343.             echo "            ph = \"指定なし\";
  1344. \t\t\t";
  1345.             // line 1162
  1346.             $context['_parent'] = $context;
  1347.             $context['_seq'] = twig_ensure_traversable((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1162$this->source); })()));
  1348.             foreach ($context['_seq'] as $context["_key"] => $context["ph"]) {
  1349.                 if ($context["ph"]) {
  1350.                     echo " ph = \"";
  1351.                     echo twig_escape_filter($this->env$context["ph"], "html"nulltrue);
  1352.                     echo "\"; ";
  1353.                 }
  1354.             }
  1355.             $_parent $context['_parent'];
  1356.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ph'], $context['_parent'], $context['loop']);
  1357.             $context array_intersect_key($context$_parent) + $_parent;
  1358.             // line 1163
  1359.             echo "\t\t";
  1360.         }
  1361.         // line 1164
  1362.         echo "
  1363.         ";
  1364.         // line 1165
  1365.         if (((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1165$this->source); })()) && ((twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1165$this->source); })())) == 1) || (twig_join_filter((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1165$this->source); })())) == "")))) {
  1366.             // line 1166
  1367.             echo "            pm = \"指定なし\";
  1368. \t\t\t";
  1369.             // line 1167
  1370.             $context['_parent'] = $context;
  1371.             $context['_seq'] = twig_ensure_traversable((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1167$this->source); })()));
  1372.             foreach ($context['_seq'] as $context["_key"] => $context["pm"]) {
  1373.                 if ($context["pm"]) {
  1374.                     echo " pm = \"";
  1375.                     echo twig_escape_filter($this->env$context["pm"], "html"nulltrue);
  1376.                     echo "\"; ";
  1377.                 }
  1378.             }
  1379.             $_parent $context['_parent'];
  1380.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm'], $context['_parent'], $context['loop']);
  1381.             $context array_intersect_key($context$_parent) + $_parent;
  1382.             // line 1168
  1383.             echo "\t\t";
  1384.         }
  1385.         // line 1169
  1386.         echo "
  1387. \t\t// ページ読み込み時: タイプ別に quantity の初期値をセット
  1388. \t\t(function initQuantityByType(){
  1389. \t\t\tvar saleType = ";
  1390.         // line 1172
  1391.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductClass"]) || array_key_exists("ProductClass"$context) ? $context["ProductClass"] : (function () { throw new RuntimeError('Variable "ProductClass" does not exist.'1172$this->source); })()), "SaleType", [], "any"falsefalsefalse1172), "id", [], "any"falsefalsefalse1172), "html"nulltrue);
  1392.         echo ";
  1393. \t\t\tif(saleType == 2 && \$('#set_count').length){
  1394. \t\t\t\tvar _v = parseInt(\$('#set_count').val()) || 1;
  1395. \t\t\t\t\$('#quantity').val(_v);
  1396. \t\t\t\t\$('input[name=\"quantity\"]').val(_v);
  1397. \t\t\t} else if(saleType == 3 && \$('#daisu').length){
  1398. \t\t\t\t\$('#quantity').val(parseInt(\$('#daisu').val()) || 1);
  1399. \t\t\t} else if((saleType == 4 || saleType == 6) && \$('#maisu').length){
  1400. \t\t\t\t\$('#quantity').val(parseInt(\$('#maisu').val()) || 1);
  1401. \t\t\t} else if(saleType == 9 && \$('#quantity_only').length){
  1402. \t\t\t\t\$('#quantity').val(parseInt(\$('#quantity_only').val()) || 1);
  1403. \t\t\t}
  1404. \t\t})();
  1405. \t\t// type → ラベルのプレフィックス文字列
  1406. \t\tvar optLabelMap = {pc:'カラー', pw:'幅', pd:'奥行き', ph:'高さ', pm:'素材'};
  1407. \t\t// type → input[name]
  1408. \t\tvar optNameMap  = {pc:'color', pw:'pw', pd:'pd', ph:'ph', pm:'pm'};
  1409. \t\t// opt-btn用: 値を直接受け取るラッパー
  1410. \t\tfunction mitsumori_simulation_val(type, value) {
  1411. \t\t\tif (type === 'pc') pc = value;
  1412. \t\t\tif (type === 'pw') pw = value;
  1413. \t\t\tif (type === 'pd') pd = value;
  1414. \t\t\tif (type === 'ph') ph = value;
  1415. \t\t\tif (type === 'pm') pm = value;
  1416. \t\t\t// is-selected クラスを同グループ内で付け替え
  1417. \t\t\tvar inputName = optNameMap[type];
  1418. \t\t\tif (inputName) {
  1419. \t\t\t\tvar \$btns = \$('input[name=\"' + inputName + '\"]').closest('.opt-btn');
  1420. \t\t\t\t\$btns.removeClass('is-selected');
  1421. \t\t\t\t\$btns.filter(function(){
  1422. \t\t\t\t\treturn \$(this).find('input').val() === value;
  1423. \t\t\t\t}).addClass('is-selected');
  1424. \t\t\t}
  1425. \t\t\t// ラベル行の選択値テキストを更新(例: 「カラー: ブラック」)
  1426. \t\t\tvar labelPrefix = optLabelMap[type];
  1427. \t\t\tif (labelPrefix) {
  1428. \t\t\t\t// 対象のrp-section-labelを特定(input[name]を含む親を遡る)
  1429. \t\t\t\tvar \$group = \$('input[name=\"' + inputName + '\"]').first().closest('.form-group');
  1430. \t\t\t\tvar \$label = \$group.find('.rp-section-label');
  1431. \t\t\t\t\$label.html(labelPrefix + ': <span>' + value + '</span>');
  1432. \t\t\t}
  1433. \t\t\t// simulation本体を呼ぶ(value_idは空でOK、グローバル変数を使う)
  1434. \t\t\tmitsumori_simulation('', '');
  1435. \t\t}
  1436. \t\tmitsumori_simulation(\"\",\"\");
  1437. \t\t// ボタン群: 親幅を超える、または3行以上になる場合は is-scroll で1行横スクロール化
  1438. \t\tfunction applyBtnGroupScroll() {
  1439. \t\t\t\$('.rp-btn-group, .opt-btn-group').each(function() {
  1440. \t\t\t\tvar \$group = \$(this);
  1441. \t\t\t\t\$group.removeClass('is-scroll');
  1442. \t\t\t\tvar \$items = \$group.children();
  1443. \t\t\t\tif (\$items.length === 0) return;
  1444. \t\t\t\tvar parentWidth = \$group.parent().width() || \$group.width();
  1445. \t\t\t\tvar totalWidth = 0;
  1446. \t\t\t\tvar gap = parseInt(\$group.css('gap'), 10) || 8;
  1447. \t\t\t\t\$items.each(function() {
  1448. \t\t\t\t\ttotalWidth += this.offsetWidth + gap;
  1449. \t\t\t\t});
  1450. \t\t\t\t// 単一ボタンが親幅を超える、もしくは合計幅が親幅を超える → 横スクロール化
  1451. \t\t\t\tvar anyTooWide = false;
  1452. \t\t\t\t\$items.each(function() {
  1453. \t\t\t\t\tif (this.offsetWidth > parentWidth) { anyTooWide = true; return false; }
  1454. \t\t\t\t});
  1455. \t\t\t\t// 折り返し時の行数も計測
  1456. \t\t\t\tvar tops = {};
  1457. \t\t\t\t\$items.each(function() { tops[this.offsetTop] = true; });
  1458. \t\t\t\tvar rowCount = Object.keys(tops).length;
  1459. \t\t\t\tif (anyTooWide || totalWidth > parentWidth * 2 || rowCount >= 3) {
  1460. \t\t\t\t\t\$group.addClass('is-scroll');
  1461. \t\t\t\t}
  1462. \t\t\t});
  1463. \t\t}
  1464. \t\tapplyBtnGroupScroll();
  1465. \t\t\$(window).on('resize', function() {
  1466. \t\t\tclearTimeout(window._btnScrollTimer);
  1467. \t\t\twindow._btnScrollTimer = setTimeout(applyBtnGroupScroll, 150);
  1468. \t\t});
  1469. \t\t// onload: 見積金額が確定している場合は「工事費込み価格」表示を一致させる
  1470. \t\t(function syncPrice02Display() {
  1471. \t\t\tvar goukeiEl = document.getElementById('mitsumori_goukei');
  1472. \t\t\tvar displayEl = document.getElementById('price02-display');
  1473. \t\t\tif (!goukeiEl || !displayEl) return;
  1474. \t\t\tvar goukeiText = goukeiEl.textContent.trim();
  1475. \t\t\t// ---円(未確定)の場合は書き換えない
  1476. \t\t\tif (goukeiText && goukeiText !== '---円') {
  1477. \t\t\t\tdisplayEl.textContent = goukeiText;
  1478. \t\t\t}
  1479. \t\t\t// 以降の変更にも追従: mitsumori_goukei を監視
  1480. \t\t\tnew MutationObserver(function() {
  1481. \t\t\t\tvar text = goukeiEl.textContent.trim();
  1482. \t\t\t\tif (text && text !== '---円') {
  1483. \t\t\t\t\tdisplayEl.textContent = text;
  1484. \t\t\t\t}
  1485. \t\t\t}).observe(goukeiEl, { childList: true, subtree: true, characterData: true });
  1486. \t\t})();
  1487. \t\tfunction contact_form(product_id){
  1488. \t\t\t\$('#form1').attr('action', '";
  1489.         // line 1280
  1490.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("contact", ["product" => twig_get_attribute($this->env$this->source, (isset($context["Product"]) || array_key_exists("Product"$context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.'1280$this->source); })()), "id", [], "any"falsefalsefalse1280)]), "html"nulltrue);
  1491.         echo "');
  1492. \t\t\t\$('#form1').submit();
  1493. \t\t}
  1494. \t\t// maisu / madoset は下部の新しい関数定義を使用
  1495. \t\tfunction heibei(bei){
  1496. \t\t\t\$('#heibei').val(parseInt(\$('#heibei').val()) + bei);
  1497. \t\t\tif(parseInt(\$('#heibei').val()) < 1){ \$('#heibei').val(1); }
  1498. \t\t\tif(parseInt(\$('#heibei').val()) > 100){ \$('#heibei').val(100); }
  1499. \t\t\t\$('#quantity').val(\$('#heibei').val());
  1500. \t\t\tmitsumori_simulation('heibei','heibei');
  1501. \t\t}
  1502. \t\tfunction daisu(dai){
  1503. \t\t\t\$('#daisu').val(parseInt(\$('#daisu').val()) + dai);
  1504. \t\t\tif(parseInt(\$('#daisu').val()) < 1){ \$('#daisu').val(1); }
  1505. \t\t\tif(parseInt(\$('#daisu').val()) > 10){ \$('#daisu').val(10); }
  1506. \t\t\t\$('#quantity').val(\$('#daisu').val());
  1507. \t\t\tmitsumori_simulation('daisu','daisu');
  1508. \t\t}
  1509. \t\tfunction maisu(mai){
  1510. \t\t\t\$('#maisu').val(parseInt(\$('#maisu').val()) + mai);
  1511. \t\t\tif(parseInt(\$('#maisu').val()) < 1){ \$('#maisu').val(1); }
  1512. \t\t\tif(parseInt(\$('#maisu').val()) > 100){ \$('#maisu').val(100); }
  1513. \t\t\t\$('#quantity').val(\$('#maisu').val());
  1514. \t\t\tmitsumori_simulation('maisu','maisu');
  1515. \t\t}
  1516. \t\t// タイプ2: セット数プルダウン連動
  1517. \t\tfunction madosetSelect(val){
  1518. \t\t\tvar v = parseInt(val);
  1519. \t\t\tif(v < 1) v = 1;
  1520. \t\t\tif(v > 20) v = 20;
  1521. \t\t\t// id=\"quantity\" と name=\"quantity\" 両方を確実に書き換え
  1522. \t\t\t\$('#quantity').val(v);
  1523. \t\t\t\$('input[name=\"quantity\"]').val(v);
  1524. \t\t\tmitsumori_simulation('set','set_count');
  1525. \t\t}
  1526. \t\t// タイプ2: ±ボタン版(後方互換)
  1527. \t\tfunction madoset(mai){
  1528. \t\t\tvar current = parseInt(\$('#set_count').val()) || 1;
  1529. \t\t\tvar next = current + mai;
  1530. \t\t\tif(next < 1) next = 1;
  1531. \t\t\tif(next > 20) next = 20;
  1532. \t\t\t\$('#set_count').val(next);
  1533. \t\t\tmadosetSelect(next);
  1534. \t\t}
  1535. \t\t// タイプ5: ステップ・フェンス選択値を mitsumori_json に保存するためのグローバル変数
  1536. \t\tvar deck_step = \"";
  1537.         // line 1330
  1538.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1330$this->source); })())) {
  1539.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "deck_step", [], "any"truetruefalse1330)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "deck_step", [], "any"falsefalsefalse1330), "不要")) : ("不要")), "html"nulltrue);
  1540.         } else {
  1541.             echo "不要";
  1542.         }
  1543.         echo "\";
  1544. \t\tvar deck_fence = \"";
  1545.         // line 1331
  1546.         if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1331$this->source); })())) {
  1547.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "deck_fence", [], "any"truetruefalse1331)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "deck_fence", [], "any"falsefalsefalse1331), "不要")) : ("不要")), "html"nulltrue);
  1548.         } else {
  1549.             echo "不要";
  1550.         }
  1551.         echo "\";
  1552. \t\t// PDF出力: モーダルの mitsumori_json をフォームに同期してから送信
  1553. \t\tfunction syncPdfJson(){
  1554. \t\t\tvar jsonVal = \$('#mitsumori_json').val();
  1555. \t\t\t\$('#pdf_mitsumori_json').val(jsonVal);
  1556. \t\t}
  1557. \t\t// タイプ9: 商品のみ購入
  1558. \t\tfunction quantityOnly(val){
  1559. \t\t\tvar current = parseInt(\$('#quantity_only').val()) || 1;
  1560. \t\t\tvar next = current + val;
  1561. \t\t\tif(next < 1) next = 1;
  1562. \t\t\t\$('#quantity_only').val(next);
  1563. \t\t\t\$('#quantity').val(next);
  1564. \t\t}
  1565.         // ===== スマホ用下部固定バーへの金額同期 =====
  1566.         // mitsumori_message と mitsumori_goukei を監視して下部バーを更新
  1567.         (function() {
  1568.             var msgTarget   = document.getElementById('mitsumori_message');
  1569.             var goukeiTarget = document.getElementById('mitsumori_goukei');
  1570.             var spPrice     = document.getElementById('sp-mitsumori-price');
  1571.             var spBtn       = document.querySelector('#sp-mitsumori-bar .sp-bar__btn');
  1572.             if (!spPrice || !spBtn) return;
  1573.             function syncBar() {
  1574.                 var msg    = msgTarget ? msgTarget.textContent : '';
  1575.                 var goukei = goukeiTarget ? goukeiTarget.textContent : '---円';
  1576.                 // メッセージが「〇〇を選択してください」の場合はメッセージを表示しボタンを非表示
  1577.                 if (msg.indexOf('選択してください') !== -1) {
  1578.                     spPrice.textContent = msg;
  1579.                     spPrice.style.fontSize = '13px';
  1580.                     spPrice.style.color    = '#888';
  1581.                     spBtn.style.display    = 'none';
  1582.                 } else {
  1583.                     // 価格確定時はボタンを表示
  1584.                     spPrice.textContent = goukei;
  1585.                     spPrice.style.fontSize = '18px';
  1586.                     spPrice.style.color    = '#c00';
  1587.                     spBtn.style.display    = 'block';
  1588.                 }
  1589.             }
  1590.             // 初期値を同期
  1591.             syncBar();
  1592.             // mitsumori_message の変化を監視
  1593.             if (msgTarget) {
  1594.                 new MutationObserver(syncBar).observe(
  1595.                     msgTarget, { childList: true, subtree: true, characterData: true }
  1596.                 );
  1597.             }
  1598.             // mitsumori_goukei の変化も監視
  1599.             if (goukeiTarget) {
  1600.                 new MutationObserver(syncBar).observe(
  1601.                     goukeiTarget, { childList: true, subtree: true, characterData: true }
  1602.                 );
  1603.             }
  1604.         })();
  1605.         // ===== 現在のお見積り額: 折りたたみトグルボタンのテキスト切り替え =====
  1606.         (function() {
  1607.             var card = document.querySelector('.mitsumori-card-pc');
  1608.             var btn  = document.querySelector('.btn-mitsumori-toggle .toggle-icon');
  1609.             if (!card || !btn) return;
  1610.             // MutationObserverでcollapsed-cardクラスの変化を監視
  1611.             new MutationObserver(function() {
  1612.                 if (card.classList.contains('collapsed-card')) {
  1613.                     btn.textContent = '▼ 詳細';
  1614.                 } else {
  1615.                     btn.textContent = '▲ 閉じる';
  1616.                 }
  1617.             }).observe(card, { attributes: true, attributeFilter: ['class'] });
  1618.         })();
  1619.         // ===== エリア案内: スマホのみタップで展開 =====
  1620.         (function() {
  1621.             var notice = document.querySelector('.ec-areaNotice');
  1622.             if (!notice) return;
  1623.             notice.addEventListener('click', function(e) {
  1624.                 if (window.innerWidth > 767) return;
  1625.                 // リンククリック時は展開/折りたたみせずリンク遷移
  1626.                 if (e.target.tagName === 'A') return;
  1627.                 notice.classList.toggle('is-open');
  1628.             });
  1629.         })();
  1630.     </script>
  1631.     <script type=\"application/ld+json\">
  1632.     {
  1633.         \"@context\": \"https://schema.org/\",
  1634.         \"@type\": \"Product\",
  1635.         \"name\": \"";
  1636.         // line 1425
  1637.         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.'1425$this->source); })()), "name", [], "any"falsefalsefalse1425), "html"nulltrue);
  1638.         echo "\",
  1639.         \"image\": [
  1640.             ";
  1641.         // line 1427
  1642.         $context['_parent'] = $context;
  1643.         $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.'1427$this->source); })()), "ProductImage", [], "any"falsefalsefalse1427));
  1644.         $context['_iterated'] = false;
  1645.         $context['loop'] = [
  1646.           'parent' => $context['_parent'],
  1647.           'index0' => 0,
  1648.           'index'  => 1,
  1649.           'first'  => true,
  1650.         ];
  1651.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1652.             $length count($context['_seq']);
  1653.             $context['loop']['revindex0'] = $length 1;
  1654.             $context['loop']['revindex'] = $length;
  1655.             $context['loop']['length'] = $length;
  1656.             $context['loop']['last'] = === $length;
  1657.         }
  1658.         foreach ($context['_seq'] as $context["_key"] => $context["img"]) {
  1659.             // line 1428
  1660.             echo "                \"";
  1661.             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.'1428$this->source); })()), "request", [], "any"falsefalsefalse1428), "schemeAndHttpHost", [], "any"falsefalsefalse1428), "html"nulltrue);
  1662.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["img"], "save_image"), "html"nulltrue);
  1663.             echo "\"";
  1664.             if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse1428)) {
  1665.                 echo ",";
  1666.             }
  1667.             // line 1429
  1668.             echo "
  1669.             ";
  1670.             $context['_iterated'] = true;
  1671.             ++$context['loop']['index0'];
  1672.             ++$context['loop']['index'];
  1673.             $context['loop']['first'] = false;
  1674.             if (isset($context['loop']['length'])) {
  1675.                 --$context['loop']['revindex0'];
  1676.                 --$context['loop']['revindex'];
  1677.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  1678.             }
  1679.         }
  1680.         if (!$context['_iterated']) {
  1681.             // line 1431
  1682.             echo "                \"";
  1683.             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.'1431$this->source); })()), "request", [], "any"falsefalsefalse1431), "schemeAndHttpHost", [], "any"falsefalsefalse1431), "html"nulltrue);
  1684.             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);
  1685.             echo "\"
  1686.             ";
  1687.         }
  1688.         $_parent $context['_parent'];
  1689.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
  1690.         $context array_intersect_key($context$_parent) + $_parent;
  1691.         // line 1433
  1692.         echo "        ],
  1693.         \"description\": \"";
  1694.         // line 1434
  1695.         echo twig_escape_filter($this->envtwig_slice($this->envtwig_replace_filter(((twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"truetruefalse1434)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["Product"] ?? null), "description_list", [], "any"falsefalsefalse1434), 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.'1434$this->source); })()), "description_detail", [], "any"falsefalsefalse1434))) : (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.'1434$this->source); })()), "description_detail", [], "any"falsefalsefalse1434))), ["
  1696. => """ " => ""]), 0300), "html"nulltrue);
  1697.         echo "\",
  1698.         ";
  1699.         // line 1435
  1700.         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.'1435$this->source); })()), "code_min", [], "any"falsefalsefalse1435)) {
  1701.             // line 1436
  1702.             echo "        \"sku\": \"";
  1703.             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.'1436$this->source); })()), "code_min", [], "any"falsefalsefalse1436), "html"nulltrue);
  1704.             echo "\",
  1705.         ";
  1706.         }
  1707.         // line 1438
  1708.         echo "        \"offers\": {
  1709.             \"@type\": \"Offer\",
  1710.             \"url\": \"";
  1711.         // line 1440
  1712.         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.'1440$this->source); })()), "id", [], "any"falsefalsefalse1440)]), "html"nulltrue);
  1713.         echo "\",
  1714.             \"priceCurrency\": \"";
  1715.         // line 1441
  1716.         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.'1441$this->source); })()), "currency", [], "any"falsefalsefalse1441), "html"nulltrue);
  1717.         echo "\",
  1718.             \"price\": ";
  1719.         // line 1442
  1720.         ((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.'1442$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse1442)) ? (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.'1442$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse1442), "html"nulltrue))) : (print (0)));
  1721.         echo ",
  1722.             \"availability\": \"";
  1723.         // line 1443
  1724.         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.'1443$this->source); })()), "stock_find", [], "any"falsefalsefalse1443)) ? ("InStock") : ("OutOfStock"));
  1725.         echo "\"
  1726.         }
  1727.     }
  1728.     </script>
  1729. ";
  1730.         
  1731.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  1732.         
  1733.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  1734.     }
  1735.     // line 1450
  1736.     public function block_main($context, array $blocks = [])
  1737.     {
  1738.         $macros $this->macros;
  1739.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1740.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  1741.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1742.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  1743.         // line 1451
  1744.         echo "    <div class=\"ec-productRole\" style=\"margin-top:20px;\">
  1745.         <div class=\"ec-grid2\">
  1746.             <div class=\"ec-grid2__cell\">
  1747.                 <div class=\"ec-sliderItemRole\">
  1748. \t                ";
  1749.         // line 1456
  1750.         echo "\t                <div class=\"ec-productRole__title\">
  1751. \t                    <div class=\"ec-productRole__titleRow\">
  1752. \t                        <h2 class=\"ec-headingTitle\">";
  1753.         // line 1458
  1754.         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.'1458$this->source); })()), "name", [], "any"falsefalsefalse1458), "html"nulltrue);
  1755.         echo "</h2>
  1756. \t                        <div class=\"ec-share-inline\">
  1757. \t                            <a href=\"https://twitter.com/share?url=";
  1758.         // line 1460
  1759.         echo twig_escape_filter($this->envtwig_urlencode_filter(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'1460$this->source); })()), "request", [], "any"falsefalsefalse1460), "uri", [], "any"falsefalsefalse1460)), "html"nulltrue);
  1760.         echo "&text=";
  1761.         echo twig_escape_filter($this->envtwig_urlencode_filter(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.'1460$this->source); })()), "name", [], "any"falsefalsefalse1460)), "html"nulltrue);
  1762.         echo "\"
  1763. \t                               class=\"share-twitter\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Xでシェア\">
  1764. \t                                <svg viewBox=\"0 0 24 24\" style=\"width:15px;height:15px;fill:#fff;\"><path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.74l7.73-8.835L1.254 2.25H8.08l4.254 5.622L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117z\"/></svg>
  1765. \t                            </a>
  1766. \t                            <a href=\"https://www.instagram.com/\" class=\"share-facebook\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Instagram\">
  1767. \t                                <svg viewBox=\"0 0 24 24\" style=\"width:15px;height:15px;fill:#fff;\"><path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z\"/></svg>
  1768. \t                            </a>
  1769. \t                            <a href=\"https://social-plugins.line.me/lineit/share?url=";
  1770.         // line 1467
  1771.         echo twig_escape_filter($this->envtwig_urlencode_filter(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'1467$this->source); })()), "request", [], "any"falsefalsefalse1467), "uri", [], "any"falsefalsefalse1467)), "html"nulltrue);
  1772.         echo "\"
  1773. \t                               class=\"share-line\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"LINEでシェア\">
  1774. \t                                <i class=\"fab fa-line\"></i>
  1775. \t                            </a>
  1776. \t                        </div>
  1777. \t                    </div>
  1778. \t                </div>
  1779.                     ";
  1780.         // line 1474
  1781.         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.'1474$this->source); })()), "option_favorite_product", [], "any"falsefalsefalse1474)) {
  1782.             // line 1475
  1783.             echo "                     <div style=\"position:relative;top: 20px;left: 10px;z-index:100;\">
  1784. \t\t\t\t\t\t";
  1785.             // line 1476
  1786.             if (((isset($context["is_favorite"]) || array_key_exists("is_favorite"$context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.'1476$this->source); })()) == false)) {
  1787.                 // line 1477
  1788.                 echo "                        <form action=\"";
  1789.                 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.'1477$this->source); })()), "id", [], "any"falsefalsefalse1477)]), "html"nulltrue);
  1790.                 echo "\" method=\"post\">
  1791.                            <button type=\"submit\" id=\"favorite\" class=\"favorite\">&#9825;</button>
  1792.                         </form>
  1793.                         ";
  1794.             } else {
  1795.                 // line 1481
  1796.                 echo "                        <form action=\"";
  1797.                 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.'1481$this->source); })()), "id", [], "any"falsefalsefalse1481)]), "html"nulltrue);
  1798.                 echo "\" method=\"post\">
  1799.                            <button type=\"submit\" id=\"favorite\" class=\"favorite\" style=\"color:red;\">&#9829;</button>
  1800.                         </form>
  1801.                         ";
  1802.             }
  1803.             // line 1485
  1804.             echo "                     </div>
  1805.                     ";
  1806.         }
  1807.         // line 1487
  1808.         echo "                    <div class=\"item_visual\">
  1809.                         ";
  1810.         // line 1488
  1811.         $context['_parent'] = $context;
  1812.         $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.'1488$this->source); })()), "ProductImage", [], "any"falsefalsefalse1488));
  1813.         $context['_iterated'] = false;
  1814.         $context['loop'] = [
  1815.           'parent' => $context['_parent'],
  1816.           'index0' => 0,
  1817.           'index'  => 1,
  1818.           'first'  => true,
  1819.         ];
  1820.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1821.             $length count($context['_seq']);
  1822.             $context['loop']['revindex0'] = $length 1;
  1823.             $context['loop']['revindex'] = $length;
  1824.             $context['loop']['length'] = $length;
  1825.             $context['loop']['last'] = === $length;
  1826.         }
  1827.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  1828.             // line 1489
  1829.             echo "                            <div class=\"slide-item\"><img src=\"";
  1830.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  1831.             echo "\" alt=\"";
  1832.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse1489)) ? (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.'1489$this->source); })()), "name", [], "any"falsefalsefalse1489), "html"nulltrue))) : (print ("")));
  1833.             echo "\" width=\"550\" height=\"550\" style=\"max-height: 400px;\"";
  1834.             if ((twig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse1489) > 1)) {
  1835.                 echo " loading=\"lazy\"";
  1836.             }
  1837.             echo "></div>
  1838.                         ";
  1839.             $context['_iterated'] = true;
  1840.             ++$context['loop']['index0'];
  1841.             ++$context['loop']['index'];
  1842.             $context['loop']['first'] = false;
  1843.             if (isset($context['loop']['length'])) {
  1844.                 --$context['loop']['revindex0'];
  1845.                 --$context['loop']['revindex'];
  1846.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  1847.             }
  1848.         }
  1849.         if (!$context['_iterated']) {
  1850.             // line 1491
  1851.             echo "                            <div class=\"slide-item\"><img src=\"";
  1852.             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);
  1853.             echo "\" alt=\"";
  1854.             ((twig_get_attribute($this->env$this->source$context["loop"], "first", [], "any"falsefalsefalse1491)) ? (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.'1491$this->source); })()), "name", [], "any"falsefalsefalse1491), "html"nulltrue))) : (print ("")));
  1855.             echo "\" width=\"550\" height=\"550\" style=\"max-height: 400px;\"></div>
  1856.                         ";
  1857.         }
  1858.         $_parent $context['_parent'];
  1859.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  1860.         $context array_intersect_key($context$_parent) + $_parent;
  1861.         // line 1493
  1862.         echo "                    </div>
  1863.                     <div class=\"item_nav\">
  1864.                         ";
  1865.         // line 1495
  1866.         $context['_parent'] = $context;
  1867.         $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.'1495$this->source); })()), "ProductImage", [], "any"falsefalsefalse1495));
  1868.         $context['loop'] = [
  1869.           'parent' => $context['_parent'],
  1870.           'index0' => 0,
  1871.           'index'  => 1,
  1872.           'first'  => true,
  1873.         ];
  1874.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1875.             $length count($context['_seq']);
  1876.             $context['loop']['revindex0'] = $length 1;
  1877.             $context['loop']['revindex'] = $length;
  1878.             $context['loop']['length'] = $length;
  1879.             $context['loop']['last'] = === $length;
  1880.         }
  1881.         foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
  1882.             // line 1496
  1883.             echo "                            <div class=\"slideThumb\" data-index=\"";
  1884.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["loop"], "index0", [], "any"falsefalsefalse1496), "html"nulltrue);
  1885.             echo "\"><img src=\"";
  1886.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html"nulltrue);
  1887.             echo "\" alt=\"\" width=\"80\" height=\"80\" loading=\"lazy\"></div>
  1888.                         ";
  1889.             ++$context['loop']['index0'];
  1890.             ++$context['loop']['index'];
  1891.             $context['loop']['first'] = false;
  1892.             if (isset($context['loop']['length'])) {
  1893.                 --$context['loop']['revindex0'];
  1894.                 --$context['loop']['revindex'];
  1895.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  1896.             }
  1897.         }
  1898.         $_parent $context['_parent'];
  1899.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
  1900.         $context array_intersect_key($context$_parent) + $_parent;
  1901.         // line 1498
  1902.         echo "                    </div>
  1903.                 </div>
  1904.                     ";
  1905.         // line 1503
  1906.         echo "                    <div class=\"ec-areaNotice\" style=\"margin-top:16px;margin-right:10px;\">
  1907.                         <div class=\"ec-areaNotice__inner\">
  1908.                             <div class=\"ec-areaNotice__icon\">📍</div>
  1909.                             <div class=\"ec-areaNotice__body\">
  1910.                                 <p class=\"ec-areaNotice__title\">施工対応エリアについて</p>
  1911.                                 <div class=\"ec-areaNotice__detail\">
  1912.                                     <p class=\"ec-areaNotice__text\">
  1913.                                         当店の施工サービスは、<strong>山梨県全域</strong>および<br>
  1914.                                         <strong>諏訪エリア(諏訪市・岡谷市・茅野市・諏訪郡)</strong>を対象としております。<br>
  1915.                                         上記エリア外のお客様には、商品のみのご購入が可能でございます。<br>
  1916.                                         ご不明な点がございましたら、お気軽にお問い合わせください。
  1917.                                     </p>
  1918.                                     <a class=\"ec-areaNotice__link\" href=\"";
  1919.         // line 1515
  1920.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("contact");
  1921.         echo "\">エリア外のお客様・ご相談はこちら →</a>
  1922.                                 </div>
  1923.                             </div>
  1924.                         </div>
  1925.                     </div>
  1926.             </div>
  1927.             <div class=\"ec-grid2__cell2\">
  1928.                 <div class=\"ec-productRole__profile\" >
  1929.                     ";
  1930.         // line 1526
  1931.         echo "                    ";
  1932.         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.'1526$this->source); })()), "ProductCategories", [], "any"falsefalsefalse1526))) {
  1933.             // line 1527
  1934.             echo "                        <div class=\"ec-productRole__category\" style=\"padding:10px 0;\">
  1935.                             ";
  1936.             // line 1528
  1937.             $context['_parent'] = $context;
  1938.             $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.'1528$this->source); })()), "ProductCategories", [], "any"falsefalsefalse1528));
  1939.             foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
  1940.                 // line 1529
  1941.                 echo "                                <ul>
  1942.                                     <li>
  1943.                                         ";
  1944.                 // line 1531
  1945.                 $context['_parent'] = $context;
  1946.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["ProductCategory"], "Category", [], "any"falsefalsefalse1531), "path", [], "any"falsefalsefalse1531));
  1947.                 $context['loop'] = [
  1948.                   'parent' => $context['_parent'],
  1949.                   'index0' => 0,
  1950.                   'index'  => 1,
  1951.                   'first'  => true,
  1952.                 ];
  1953.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1954.                     $length count($context['_seq']);
  1955.                     $context['loop']['revindex0'] = $length 1;
  1956.                     $context['loop']['revindex'] = $length;
  1957.                     $context['loop']['length'] = $length;
  1958.                     $context['loop']['last'] = === $length;
  1959.                 }
  1960.                 foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
  1961.                     // line 1532
  1962.                     echo "                                            <a href=\"";
  1963.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  1964.                     echo "?category_id=";
  1965.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "id", [], "any"falsefalsefalse1532), "html"nulltrue);
  1966.                     echo "\">";
  1967.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Category"], "name", [], "any"falsefalsefalse1532), "html"nulltrue);
  1968.                     echo "</a>";
  1969.                     if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse1532) == false)) {
  1970.                         // line 1533
  1971.                         echo "                                            <span>></span>";
  1972.                     }
  1973.                     ++$context['loop']['index0'];
  1974.                     ++$context['loop']['index'];
  1975.                     $context['loop']['first'] = false;
  1976.                     if (isset($context['loop']['length'])) {
  1977.                         --$context['loop']['revindex0'];
  1978.                         --$context['loop']['revindex'];
  1979.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  1980.                     }
  1981.                 }
  1982.                 $_parent $context['_parent'];
  1983.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
  1984.                 $context array_intersect_key($context$_parent) + $_parent;
  1985.                 // line 1535
  1986.                 echo "                                    </li>
  1987.                                 </ul>
  1988.                             ";
  1989.             }
  1990.             $_parent $context['_parent'];
  1991.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
  1992.             $context array_intersect_key($context$_parent) + $_parent;
  1993.             // line 1538
  1994.             echo "                        </div>
  1995.                     ";
  1996.         }
  1997.         // line 1540
  1998.         echo "                    ";
  1999.         // line 1541
  2000.         echo "                    <div class=\"ec-productRole__price\">
  2001. \t\t\t\t\t\t<span style=\"color:black;font-size:15px;\">工事費込み価格</span>
  2002.                         ";
  2003.         // line 1543
  2004.         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.'1543$this->source); })()), "hasProductClass", [], "any"falsefalsefalse1543)) {
  2005.             // line 1544
  2006.             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.'1544$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse1544) == 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.'1544$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse1544))) {
  2007.                 // line 1545
  2008.                 echo "                                <div class=\"ec-price\">
  2009.                                     <span id=\"price02-display\" class=\"ec-price__price price02-default\">";
  2010.                 // line 1546
  2011.                 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.'1546$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse1546)), "html"nulltrue);
  2012.                 echo "</span>
  2013.                                     <span class=\"ec-price__tax\">(";
  2014.                 // line 1547
  2015.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  2016.                 echo ")~</span>
  2017.                                 </div>
  2018.                             ";
  2019.             } else {
  2020.                 // line 1550
  2021.                 echo "                                <div class=\"ec-price\">
  2022.                                     <span id=\"price02-display\" class=\"ec-price__price price02-default\">";
  2023.                 // line 1551
  2024.                 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.'1551$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse1551)), "html"nulltrue);
  2025.                 echo " ~ ";
  2026.                 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.'1551$this->source); })()), "getPrice02IncTaxMax", [], "any"falsefalsefalse1551)), "html"nulltrue);
  2027.                 echo "</span>
  2028.                                     <span class=\"ec-price__tax\">(";
  2029.                 // line 1552
  2030.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  2031.                 echo ")</span>
  2032.                                 </div>
  2033.                             ";
  2034.             }
  2035.             // line 1555
  2036.             echo "                        ";
  2037.         } else {
  2038.             // line 1556
  2039.             echo "                            <div class=\"ec-price\">
  2040.                                 <span id=\"price02-display\" class=\"ec-price__price\">";
  2041.             // line 1557
  2042.             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.'1557$this->source); })()), "getPrice02IncTaxMin", [], "any"falsefalsefalse1557)), "html"nulltrue);
  2043.             echo "</span>
  2044.                                     <span class=\"ec-price__tax\">(";
  2045.             // line 1558
  2046.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html"nulltrue);
  2047.             echo ")~</span>
  2048.                             </div>
  2049.                         ";
  2050.         }
  2051.         // line 1561
  2052.         echo "                    </div>
  2053.                     ";
  2054.         // line 1563
  2055.         echo "                    <ul class=\"ec-productRole__tags\">
  2056.                         ";
  2057.         // line 1564
  2058.         $context['_parent'] = $context;
  2059.         $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.'1564$this->source); })()), "Tags", [], "any"falsefalsefalse1564));
  2060.         foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
  2061.             // line 1565
  2062.             echo "                            <li class=\"ec-productRole__tag tag_";
  2063.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Tag"], "id", [], "any"falsefalsefalse1565), "html"nulltrue);
  2064.             echo "\">";
  2065.             echo twig_escape_filter($this->env$context["Tag"], "html"nulltrue);
  2066.             echo "</li>
  2067.                         ";
  2068.         }
  2069.         $_parent $context['_parent'];
  2070.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
  2071.         $context array_intersect_key($context$_parent) + $_parent;
  2072.         // line 1567
  2073.         echo "                    </ul>
  2074.                     ";
  2075.         // line 1569
  2076.         echo "                    ";
  2077.         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.'1569$this->source); })()), "code_min", [], "any"falsefalsefalse1569))) {
  2078.             // line 1570
  2079.             echo "                        <div class=\"ec-productRole__code\">
  2080.                             ";
  2081.             // line 1571
  2082.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品コード"), "html"nulltrue);
  2083.             echo ": <span class=\"product-code-default\">";
  2084.             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.'1571$this->source); })()), "code_min", [], "any"falsefalsefalse1571), "html"nulltrue);
  2085.             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.'1571$this->source); })()), "code_min", [], "any"falsefalsefalse1571) != 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.'1571$this->source); })()), "code_max", [], "any"falsefalsefalse1571))) {
  2086.                 echo " ~ ";
  2087.                 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.'1571$this->source); })()), "code_max", [], "any"falsefalsefalse1571), "html"nulltrue);
  2088.             }
  2089.             echo "</span>
  2090.                         </div>
  2091.                     ";
  2092.         }
  2093.         // line 1574
  2094.         echo "
  2095.                     <div class=\"ec-productRole__description\">
  2096. \t\t\t\t        <div class=\"ec-rectHeading\">
  2097. \t\t\t\t            <h4>製品情報</h4>
  2098. \t\t\t\t        </div>
  2099. \t\t\t\t\t\t";
  2100.         // line 1579
  2101.         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.'1579$this->source); })()), "sales_infomation", [], "any"falsefalsefalse1579));
  2102.         echo "
  2103.                     </div>
  2104. \t\t\t\t\t<div class=\"card card-danger\" style=\"clear:both;margin:1px;\">
  2105. \t\t\t\t\t  <div class=\"card-header\">
  2106. \t\t\t\t\t    <h3 class=\"card-title\">見積シミュレーション</h3>
  2107. \t\t\t\t\t  </div>
  2108. \t\t\t\t\t  <div class=\"card-body p-2\">
  2109.                         ";
  2110.         // line 1588
  2111.         $context["related_image"] = $this->extensions['Plugin\ProductField\Twig\Extension\EccubeExtension']->getProduct_field(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.'1588$this->source); })()), "id", [], "any"falsefalsefalse1588), "related_image");
  2112.         // line 1589
  2113.         echo "                        ";
  2114.         // line 1590
  2115.         echo "                        ";
  2116.         $context["img1"] = ((isset($context["related_image"]) || array_key_exists("related_image"$context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.'1590$this->source); })()) && twig_in_filter("1段目画像あり", (isset($context["related_image"]) || array_key_exists("related_image"$context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.'1590$this->source); })())));
  2117.         // line 1591
  2118.         echo "                        ";
  2119.         $context["img2"] = ((isset($context["related_image"]) || array_key_exists("related_image"$context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.'1591$this->source); })()) && twig_in_filter("2段目画像あり", (isset($context["related_image"]) || array_key_exists("related_image"$context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.'1591$this->source); })())));
  2120.         // line 1592
  2121.         echo "                        ";
  2122.         $context["img3"] = ((isset($context["related_image"]) || array_key_exists("related_image"$context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.'1592$this->source); })()) && twig_in_filter("3段目画像あり", (isset($context["related_image"]) || array_key_exists("related_image"$context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.'1592$this->source); })())));
  2123.         // line 1593
  2124.         echo "                        ";
  2125.         $context["img4"] = ((isset($context["related_image"]) || array_key_exists("related_image"$context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.'1593$this->source); })()) && twig_in_filter("4段目画像あり", (isset($context["related_image"]) || array_key_exists("related_image"$context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.'1593$this->source); })())));
  2126.         // line 1594
  2127.         echo "\t\t\t\t\t    ";
  2128.         $context["type1"] = $this->extensions['Plugin\ProductField\Twig\Extension\EccubeExtension']->getProduct_field(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.'1594$this->source); })()), "id", [], "any"falsefalsefalse1594), "related_name1");
  2129.         // line 1595
  2130.         echo "\t\t\t\t\t\t";
  2131.         $context["type2"] = $this->extensions['Plugin\ProductField\Twig\Extension\EccubeExtension']->getProduct_field(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.'1595$this->source); })()), "id", [], "any"falsefalsefalse1595), "related_name2");
  2132.         // line 1596
  2133.         echo "\t\t\t\t\t\t";
  2134.         $context["type3"] = $this->extensions['Plugin\ProductField\Twig\Extension\EccubeExtension']->getProduct_field(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.'1596$this->source); })()), "id", [], "any"falsefalsefalse1596), "related_name3");
  2135.         // line 1597
  2136.         echo "\t\t\t\t\t\t";
  2137.         $context["type4"] = $this->extensions['Plugin\ProductField\Twig\Extension\EccubeExtension']->getProduct_field(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.'1597$this->source); })()), "id", [], "any"falsefalsefalse1597), "related_name4");
  2138.         // line 1598
  2139.         echo "\t\t\t\t\t\t";
  2140.         $context["hasRelated"] = ((((((isset($context["type1"]) || array_key_exists("type1"$context) ? $context["type1"] : (function () { throw new RuntimeError('Variable "type1" does not exist.'1598$this->source); })()) && (isset($context["related_product1"]) || array_key_exists("related_product1"$context) ? $context["related_product1"] : (function () { throw new RuntimeError('Variable "related_product1" does not exist.'1598$this->source); })())) && twig_length_filter($this->env, (isset($context["related_product1"]) || array_key_exists("related_product1"$context) ? $context["related_product1"] : (function () { throw new RuntimeError('Variable "related_product1" does not exist.'1598$this->source); })()))) || ((        // line 1599
  2141. (isset($context["type2"]) || array_key_exists("type2"$context) ? $context["type2"] : (function () { throw new RuntimeError('Variable "type2" does not exist.'1599$this->source); })()) && (isset($context["related_product2"]) || array_key_exists("related_product2"$context) ? $context["related_product2"] : (function () { throw new RuntimeError('Variable "related_product2" does not exist.'1599$this->source); })())) && twig_length_filter($this->env, (isset($context["related_product2"]) || array_key_exists("related_product2"$context) ? $context["related_product2"] : (function () { throw new RuntimeError('Variable "related_product2" does not exist.'1599$this->source); })())))) || ((        // line 1600
  2142. (isset($context["type3"]) || array_key_exists("type3"$context) ? $context["type3"] : (function () { throw new RuntimeError('Variable "type3" does not exist.'1600$this->source); })()) && (isset($context["related_product3"]) || array_key_exists("related_product3"$context) ? $context["related_product3"] : (function () { throw new RuntimeError('Variable "related_product3" does not exist.'1600$this->source); })())) && twig_length_filter($this->env, (isset($context["related_product3"]) || array_key_exists("related_product3"$context) ? $context["related_product3"] : (function () { throw new RuntimeError('Variable "related_product3" does not exist.'1600$this->source); })())))) || ((        // line 1601
  2143. (isset($context["type4"]) || array_key_exists("type4"$context) ? $context["type4"] : (function () { throw new RuntimeError('Variable "type4" does not exist.'1601$this->source); })()) && (isset($context["related_product4"]) || array_key_exists("related_product4"$context) ? $context["related_product4"] : (function () { throw new RuntimeError('Variable "related_product4" does not exist.'1601$this->source); })())) && twig_length_filter($this->env, (isset($context["related_product4"]) || array_key_exists("related_product4"$context) ? $context["related_product4"] : (function () { throw new RuntimeError('Variable "related_product4" does not exist.'1601$this->source); })()))));
  2144.         // line 1602
  2145.         echo "\t\t\t\t\t\t";
  2146.         if ((isset($context["hasRelated"]) || array_key_exists("hasRelated"$context) ? $context["hasRelated"] : (function () { throw new RuntimeError('Variable "hasRelated" does not exist.'1602$this->source); })())) {
  2147.             // line 1603
  2148.             echo "\t\t\t\t\t\t    <div class=\"row\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\"><label class=\"col-12 col-form-label\">この商品のタイプを選択してください。</label></div>
  2149. \t\t\t\t\t\t";
  2150.         }
  2151.         // line 1605
  2152.         echo "
  2153. \t\t\t\t\t\t";
  2154.         // line 1607
  2155.         echo "\t\t\t\t\t\t";
  2156.         if ((((isset($context["type1"]) || array_key_exists("type1"$context) ? $context["type1"] : (function () { throw new RuntimeError('Variable "type1" does not exist.'1607$this->source); })()) && (isset($context["related_product1"]) || array_key_exists("related_product1"$context) ? $context["related_product1"] : (function () { throw new RuntimeError('Variable "related_product1" does not exist.'1607$this->source); })())) && twig_length_filter($this->env, (isset($context["related_product1"]) || array_key_exists("related_product1"$context) ? $context["related_product1"] : (function () { throw new RuntimeError('Variable "related_product1" does not exist.'1607$this->source); })())))) {
  2157.             // line 1608
  2158.             echo "\t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2159. \t\t\t\t\t\t  <div class=\"rp-section-label\">";
  2160.             // line 1609
  2161.             echo twig_escape_filter($this->env, (isset($context["type1"]) || array_key_exists("type1"$context) ? $context["type1"] : (function () { throw new RuntimeError('Variable "type1" does not exist.'1609$this->source); })()), "html"nulltrue);
  2162.             if (((isset($context["img1"]) || array_key_exists("img1"$context) ? $context["img1"] : (function () { throw new RuntimeError('Variable "img1" does not exist.'1609$this->source); })()) && (isset($context["base_select1"]) || array_key_exists("base_select1"$context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.'1609$this->source); })()))) {
  2163.                 echo ": <span>";
  2164.                 echo twig_escape_filter($this->env, (isset($context["base_select1"]) || array_key_exists("base_select1"$context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.'1609$this->source); })()), "html"nulltrue);
  2165.                 echo "</span>";
  2166.             }
  2167.             echo "</div>
  2168. \t\t\t\t\t\t  ";
  2169.             // line 1610
  2170.             if ((isset($context["img1"]) || array_key_exists("img1"$context) ? $context["img1"] : (function () { throw new RuntimeError('Variable "img1" does not exist.'1610$this->source); })())) {
  2171.                 // line 1611
  2172.                 echo "\t\t\t\t\t\t    ";
  2173.                 // line 1612
  2174.                 echo "\t\t\t\t\t\t    <div class=\"rp-card-group\">
  2175. \t\t\t\t\t\t      ";
  2176.                 // line 1613
  2177.                 $context['_parent'] = $context;
  2178.                 $context['_seq'] = twig_ensure_traversable((isset($context["related_product1"]) || array_key_exists("related_product1"$context) ? $context["related_product1"] : (function () { throw new RuntimeError('Variable "related_product1" does not exist.'1613$this->source); })()));
  2179.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2180.                     // line 1614
  2181.                     echo "\t\t\t\t\t\t        <label class=\"rp-card";
  2182.                     if (((isset($context["base_select1"]) || array_key_exists("base_select1"$context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.'1614$this->source); })()) == $context["rp_name"])) {
  2183.                         echo " is-selected";
  2184.                     }
  2185.                     echo "\"
  2186. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2187.                     // line 1615
  2188.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2189.                     echo "';\">
  2190. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp1\" value=\"";
  2191.                     // line 1616
  2192.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2193.                     echo "\"
  2194. \t\t\t\t\t\t                 ";
  2195.                     // line 1617
  2196.                     if (((isset($context["base_select1"]) || array_key_exists("base_select1"$context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.'1617$this->source); })()) == $context["rp_name"])) {
  2197.                         echo "checked";
  2198.                     }
  2199.                     echo ">
  2200. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  2201. \t\t\t\t\t\t               src=\"";
  2202.                     // line 1619
  2203.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((("p" $context["rp_id"]) . "_cp_1.jpg"), "save_image"), "html"nulltrue);
  2204.                     echo "\"
  2205. \t\t\t\t\t\t               alt=\"";
  2206.                     // line 1620
  2207.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2208.                     echo "\"
  2209. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  2210. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  2211. \t\t\t\t\t\t          <span class=\"rp-card__name\">";
  2212.                     // line 1623
  2213.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2214.                     echo "</span>
  2215. \t\t\t\t\t\t        </label>
  2216. \t\t\t\t\t\t      ";
  2217.                 }
  2218.                 $_parent $context['_parent'];
  2219.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2220.                 $context array_intersect_key($context$_parent) + $_parent;
  2221.                 // line 1626
  2222.                 echo "\t\t\t\t\t\t    </div>
  2223. \t\t\t\t\t\t  ";
  2224.             } else {
  2225.                 // line 1628
  2226.                 echo "\t\t\t\t\t\t    ";
  2227.                 // line 1629
  2228.                 echo "\t\t\t\t\t\t    <div class=\"rp-btn-group\">
  2229. \t\t\t\t\t\t      ";
  2230.                 // line 1630
  2231.                 $context['_parent'] = $context;
  2232.                 $context['_seq'] = twig_ensure_traversable((isset($context["related_product1"]) || array_key_exists("related_product1"$context) ? $context["related_product1"] : (function () { throw new RuntimeError('Variable "related_product1" does not exist.'1630$this->source); })()));
  2233.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2234.                     // line 1631
  2235.                     echo "\t\t\t\t\t\t        <label class=\"rp-btn";
  2236.                     if (((isset($context["base_select1"]) || array_key_exists("base_select1"$context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.'1631$this->source); })()) == $context["rp_name"])) {
  2237.                         echo " is-selected";
  2238.                     }
  2239.                     echo "\"
  2240. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2241.                     // line 1632
  2242.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2243.                     echo "';\">
  2244. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp1\" value=\"";
  2245.                     // line 1633
  2246.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2247.                     echo "\"
  2248. \t\t\t\t\t\t                 ";
  2249.                     // line 1634
  2250.                     if (((isset($context["base_select1"]) || array_key_exists("base_select1"$context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.'1634$this->source); })()) == $context["rp_name"])) {
  2251.                         echo "checked";
  2252.                     }
  2253.                     echo ">
  2254. \t\t\t\t\t\t          ";
  2255.                     // line 1635
  2256.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2257.                     echo "
  2258. \t\t\t\t\t\t        </label>
  2259. \t\t\t\t\t\t      ";
  2260.                 }
  2261.                 $_parent $context['_parent'];
  2262.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2263.                 $context array_intersect_key($context$_parent) + $_parent;
  2264.                 // line 1638
  2265.                 echo "\t\t\t\t\t\t    </div>
  2266. \t\t\t\t\t\t  ";
  2267.             }
  2268.             // line 1640
  2269.             echo "\t\t\t\t\t\t</div>
  2270. \t\t\t\t\t\t";
  2271.         }
  2272.         // line 1642
  2273.         echo "
  2274. \t\t\t\t\t\t";
  2275.         // line 1644
  2276.         echo "\t\t\t\t\t\t";
  2277.         if ((((isset($context["type2"]) || array_key_exists("type2"$context) ? $context["type2"] : (function () { throw new RuntimeError('Variable "type2" does not exist.'1644$this->source); })()) && (isset($context["related_product2"]) || array_key_exists("related_product2"$context) ? $context["related_product2"] : (function () { throw new RuntimeError('Variable "related_product2" does not exist.'1644$this->source); })())) && twig_length_filter($this->env, (isset($context["related_product2"]) || array_key_exists("related_product2"$context) ? $context["related_product2"] : (function () { throw new RuntimeError('Variable "related_product2" does not exist.'1644$this->source); })())))) {
  2278.             // line 1645
  2279.             echo "\t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2280. \t\t\t\t\t\t  <div class=\"rp-section-label\">";
  2281.             // line 1646
  2282.             echo twig_escape_filter($this->env, (isset($context["type2"]) || array_key_exists("type2"$context) ? $context["type2"] : (function () { throw new RuntimeError('Variable "type2" does not exist.'1646$this->source); })()), "html"nulltrue);
  2283.             if (((isset($context["img2"]) || array_key_exists("img2"$context) ? $context["img2"] : (function () { throw new RuntimeError('Variable "img2" does not exist.'1646$this->source); })()) && (isset($context["base_select2"]) || array_key_exists("base_select2"$context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.'1646$this->source); })()))) {
  2284.                 echo ": <span>";
  2285.                 echo twig_escape_filter($this->env, (isset($context["base_select2"]) || array_key_exists("base_select2"$context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.'1646$this->source); })()), "html"nulltrue);
  2286.                 echo "</span>";
  2287.             }
  2288.             echo "</div>
  2289. \t\t\t\t\t\t  ";
  2290.             // line 1647
  2291.             if ((isset($context["img2"]) || array_key_exists("img2"$context) ? $context["img2"] : (function () { throw new RuntimeError('Variable "img2" does not exist.'1647$this->source); })())) {
  2292.                 // line 1648
  2293.                 echo "\t\t\t\t\t\t    <div class=\"rp-card-group\">
  2294. \t\t\t\t\t\t      ";
  2295.                 // line 1649
  2296.                 $context['_parent'] = $context;
  2297.                 $context['_seq'] = twig_ensure_traversable((isset($context["related_product2"]) || array_key_exists("related_product2"$context) ? $context["related_product2"] : (function () { throw new RuntimeError('Variable "related_product2" does not exist.'1649$this->source); })()));
  2298.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2299.                     // line 1650
  2300.                     echo "\t\t\t\t\t\t        <label class=\"rp-card";
  2301.                     if (((isset($context["base_select2"]) || array_key_exists("base_select2"$context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.'1650$this->source); })()) == $context["rp_name"])) {
  2302.                         echo " is-selected";
  2303.                     }
  2304.                     echo "\"
  2305. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2306.                     // line 1651
  2307.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2308.                     echo "';\">
  2309. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp2\" value=\"";
  2310.                     // line 1652
  2311.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2312.                     echo "\"
  2313. \t\t\t\t\t\t                 ";
  2314.                     // line 1653
  2315.                     if (((isset($context["base_select2"]) || array_key_exists("base_select2"$context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.'1653$this->source); })()) == $context["rp_name"])) {
  2316.                         echo "checked";
  2317.                     }
  2318.                     echo ">
  2319. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  2320. \t\t\t\t\t\t               src=\"";
  2321.                     // line 1655
  2322.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((("p" $context["rp_id"]) . "_cp_1.jpg"), "save_image"), "html"nulltrue);
  2323.                     echo "\"
  2324. \t\t\t\t\t\t               alt=\"";
  2325.                     // line 1656
  2326.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2327.                     echo "\"
  2328. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  2329. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  2330. \t\t\t\t\t\t          <span class=\"rp-card__name\">";
  2331.                     // line 1659
  2332.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2333.                     echo "</span>
  2334. \t\t\t\t\t\t        </label>
  2335. \t\t\t\t\t\t      ";
  2336.                 }
  2337.                 $_parent $context['_parent'];
  2338.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2339.                 $context array_intersect_key($context$_parent) + $_parent;
  2340.                 // line 1662
  2341.                 echo "\t\t\t\t\t\t    </div>
  2342. \t\t\t\t\t\t  ";
  2343.             } else {
  2344.                 // line 1664
  2345.                 echo "\t\t\t\t\t\t    <div class=\"rp-btn-group\">
  2346. \t\t\t\t\t\t      ";
  2347.                 // line 1665
  2348.                 $context['_parent'] = $context;
  2349.                 $context['_seq'] = twig_ensure_traversable((isset($context["related_product2"]) || array_key_exists("related_product2"$context) ? $context["related_product2"] : (function () { throw new RuntimeError('Variable "related_product2" does not exist.'1665$this->source); })()));
  2350.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2351.                     // line 1666
  2352.                     echo "\t\t\t\t\t\t        <label class=\"rp-btn";
  2353.                     if (((isset($context["base_select2"]) || array_key_exists("base_select2"$context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.'1666$this->source); })()) == $context["rp_name"])) {
  2354.                         echo " is-selected";
  2355.                     }
  2356.                     echo "\"
  2357. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2358.                     // line 1667
  2359.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2360.                     echo "';\">
  2361. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp2\" value=\"";
  2362.                     // line 1668
  2363.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2364.                     echo "\"
  2365. \t\t\t\t\t\t                 ";
  2366.                     // line 1669
  2367.                     if (((isset($context["base_select2"]) || array_key_exists("base_select2"$context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.'1669$this->source); })()) == $context["rp_name"])) {
  2368.                         echo "checked";
  2369.                     }
  2370.                     echo ">
  2371. \t\t\t\t\t\t          ";
  2372.                     // line 1670
  2373.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2374.                     echo "
  2375. \t\t\t\t\t\t        </label>
  2376. \t\t\t\t\t\t      ";
  2377.                 }
  2378.                 $_parent $context['_parent'];
  2379.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2380.                 $context array_intersect_key($context$_parent) + $_parent;
  2381.                 // line 1673
  2382.                 echo "\t\t\t\t\t\t    </div>
  2383. \t\t\t\t\t\t  ";
  2384.             }
  2385.             // line 1675
  2386.             echo "\t\t\t\t\t\t</div>
  2387. \t\t\t\t\t\t";
  2388.         }
  2389.         // line 1677
  2390.         echo "
  2391. \t\t\t\t\t\t";
  2392.         // line 1679
  2393.         echo "\t\t\t\t\t\t";
  2394.         if ((((isset($context["type3"]) || array_key_exists("type3"$context) ? $context["type3"] : (function () { throw new RuntimeError('Variable "type3" does not exist.'1679$this->source); })()) && (isset($context["related_product3"]) || array_key_exists("related_product3"$context) ? $context["related_product3"] : (function () { throw new RuntimeError('Variable "related_product3" does not exist.'1679$this->source); })())) && twig_length_filter($this->env, (isset($context["related_product3"]) || array_key_exists("related_product3"$context) ? $context["related_product3"] : (function () { throw new RuntimeError('Variable "related_product3" does not exist.'1679$this->source); })())))) {
  2395.             // line 1680
  2396.             echo "\t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2397. \t\t\t\t\t\t  <div class=\"rp-section-label\">";
  2398.             // line 1681
  2399.             echo twig_escape_filter($this->env, (isset($context["type3"]) || array_key_exists("type3"$context) ? $context["type3"] : (function () { throw new RuntimeError('Variable "type3" does not exist.'1681$this->source); })()), "html"nulltrue);
  2400.             if (((isset($context["img3"]) || array_key_exists("img3"$context) ? $context["img3"] : (function () { throw new RuntimeError('Variable "img3" does not exist.'1681$this->source); })()) && (isset($context["base_select3"]) || array_key_exists("base_select3"$context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.'1681$this->source); })()))) {
  2401.                 echo ": <span>";
  2402.                 echo twig_escape_filter($this->env, (isset($context["base_select3"]) || array_key_exists("base_select3"$context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.'1681$this->source); })()), "html"nulltrue);
  2403.                 echo "</span>";
  2404.             }
  2405.             echo "</div>
  2406. \t\t\t\t\t\t  ";
  2407.             // line 1682
  2408.             if ((isset($context["img3"]) || array_key_exists("img3"$context) ? $context["img3"] : (function () { throw new RuntimeError('Variable "img3" does not exist.'1682$this->source); })())) {
  2409.                 // line 1683
  2410.                 echo "\t\t\t\t\t\t    <div class=\"rp-card-group\">
  2411. \t\t\t\t\t\t      ";
  2412.                 // line 1684
  2413.                 $context['_parent'] = $context;
  2414.                 $context['_seq'] = twig_ensure_traversable((isset($context["related_product3"]) || array_key_exists("related_product3"$context) ? $context["related_product3"] : (function () { throw new RuntimeError('Variable "related_product3" does not exist.'1684$this->source); })()));
  2415.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2416.                     // line 1685
  2417.                     echo "\t\t\t\t\t\t        <label class=\"rp-card";
  2418.                     if (((isset($context["base_select3"]) || array_key_exists("base_select3"$context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.'1685$this->source); })()) == $context["rp_name"])) {
  2419.                         echo " is-selected";
  2420.                     }
  2421.                     echo "\"
  2422. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2423.                     // line 1686
  2424.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2425.                     echo "';\">
  2426. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp3\" value=\"";
  2427.                     // line 1687
  2428.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2429.                     echo "\"
  2430. \t\t\t\t\t\t                 ";
  2431.                     // line 1688
  2432.                     if (((isset($context["base_select3"]) || array_key_exists("base_select3"$context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.'1688$this->source); })()) == $context["rp_name"])) {
  2433.                         echo "checked";
  2434.                     }
  2435.                     echo ">
  2436. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  2437. \t\t\t\t\t\t               src=\"";
  2438.                     // line 1690
  2439.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((("p" $context["rp_id"]) . "_cp_1.jpg"), "save_image"), "html"nulltrue);
  2440.                     echo "\"
  2441. \t\t\t\t\t\t               alt=\"";
  2442.                     // line 1691
  2443.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2444.                     echo "\"
  2445. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  2446. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  2447. \t\t\t\t\t\t          <span class=\"rp-card__name\">";
  2448.                     // line 1694
  2449.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2450.                     echo "</span>
  2451. \t\t\t\t\t\t        </label>
  2452. \t\t\t\t\t\t      ";
  2453.                 }
  2454.                 $_parent $context['_parent'];
  2455.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2456.                 $context array_intersect_key($context$_parent) + $_parent;
  2457.                 // line 1697
  2458.                 echo "\t\t\t\t\t\t    </div>
  2459. \t\t\t\t\t\t  ";
  2460.             } else {
  2461.                 // line 1699
  2462.                 echo "\t\t\t\t\t\t    <div class=\"rp-btn-group\">
  2463. \t\t\t\t\t\t      ";
  2464.                 // line 1700
  2465.                 $context['_parent'] = $context;
  2466.                 $context['_seq'] = twig_ensure_traversable((isset($context["related_product3"]) || array_key_exists("related_product3"$context) ? $context["related_product3"] : (function () { throw new RuntimeError('Variable "related_product3" does not exist.'1700$this->source); })()));
  2467.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2468.                     // line 1701
  2469.                     echo "\t\t\t\t\t\t        <label class=\"rp-btn";
  2470.                     if (((isset($context["base_select3"]) || array_key_exists("base_select3"$context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.'1701$this->source); })()) == $context["rp_name"])) {
  2471.                         echo " is-selected";
  2472.                     }
  2473.                     echo "\"
  2474. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2475.                     // line 1702
  2476.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2477.                     echo "';\">
  2478. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp3\" value=\"";
  2479.                     // line 1703
  2480.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2481.                     echo "\"
  2482. \t\t\t\t\t\t                 ";
  2483.                     // line 1704
  2484.                     if (((isset($context["base_select3"]) || array_key_exists("base_select3"$context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.'1704$this->source); })()) == $context["rp_name"])) {
  2485.                         echo "checked";
  2486.                     }
  2487.                     echo ">
  2488. \t\t\t\t\t\t          ";
  2489.                     // line 1705
  2490.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2491.                     echo "
  2492. \t\t\t\t\t\t        </label>
  2493. \t\t\t\t\t\t      ";
  2494.                 }
  2495.                 $_parent $context['_parent'];
  2496.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2497.                 $context array_intersect_key($context$_parent) + $_parent;
  2498.                 // line 1708
  2499.                 echo "\t\t\t\t\t\t    </div>
  2500. \t\t\t\t\t\t  ";
  2501.             }
  2502.             // line 1710
  2503.             echo "\t\t\t\t\t\t</div>
  2504. \t\t\t\t\t\t";
  2505.         }
  2506.         // line 1712
  2507.         echo "
  2508. \t\t\t\t\t\t";
  2509.         // line 1714
  2510.         echo "\t\t\t\t\t\t";
  2511.         if ((((isset($context["type4"]) || array_key_exists("type4"$context) ? $context["type4"] : (function () { throw new RuntimeError('Variable "type4" does not exist.'1714$this->source); })()) && (isset($context["related_product4"]) || array_key_exists("related_product4"$context) ? $context["related_product4"] : (function () { throw new RuntimeError('Variable "related_product4" does not exist.'1714$this->source); })())) && twig_length_filter($this->env, (isset($context["related_product4"]) || array_key_exists("related_product4"$context) ? $context["related_product4"] : (function () { throw new RuntimeError('Variable "related_product4" does not exist.'1714$this->source); })())))) {
  2512.             // line 1715
  2513.             echo "\t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2514. \t\t\t\t\t\t  <div class=\"rp-section-label\">";
  2515.             // line 1716
  2516.             echo twig_escape_filter($this->env, (isset($context["type4"]) || array_key_exists("type4"$context) ? $context["type4"] : (function () { throw new RuntimeError('Variable "type4" does not exist.'1716$this->source); })()), "html"nulltrue);
  2517.             if (((isset($context["img4"]) || array_key_exists("img4"$context) ? $context["img4"] : (function () { throw new RuntimeError('Variable "img4" does not exist.'1716$this->source); })()) && (isset($context["base_select4"]) || array_key_exists("base_select4"$context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.'1716$this->source); })()))) {
  2518.                 echo ": <span>";
  2519.                 echo twig_escape_filter($this->env, (isset($context["base_select4"]) || array_key_exists("base_select4"$context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.'1716$this->source); })()), "html"nulltrue);
  2520.                 echo "</span>";
  2521.             }
  2522.             echo "</div>
  2523. \t\t\t\t\t\t  ";
  2524.             // line 1717
  2525.             if ((isset($context["img4"]) || array_key_exists("img4"$context) ? $context["img4"] : (function () { throw new RuntimeError('Variable "img4" does not exist.'1717$this->source); })())) {
  2526.                 // line 1718
  2527.                 echo "\t\t\t\t\t\t    ";
  2528.                 // line 1719
  2529.                 echo "\t\t\t\t\t\t    <div class=\"rp-card-group\">
  2530. \t\t\t\t\t\t      ";
  2531.                 // line 1720
  2532.                 $context['_parent'] = $context;
  2533.                 $context['_seq'] = twig_ensure_traversable((isset($context["related_product4"]) || array_key_exists("related_product4"$context) ? $context["related_product4"] : (function () { throw new RuntimeError('Variable "related_product4" does not exist.'1720$this->source); })()));
  2534.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2535.                     // line 1721
  2536.                     echo "\t\t\t\t\t\t        <label class=\"rp-card";
  2537.                     if (((isset($context["base_select4"]) || array_key_exists("base_select4"$context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.'1721$this->source); })()) == $context["rp_name"])) {
  2538.                         echo " is-selected";
  2539.                     }
  2540.                     echo "\"
  2541. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2542.                     // line 1722
  2543.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2544.                     echo "';\">
  2545. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp4\" value=\"";
  2546.                     // line 1723
  2547.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2548.                     echo "\"
  2549. \t\t\t\t\t\t                 ";
  2550.                     // line 1724
  2551.                     if (((isset($context["base_select4"]) || array_key_exists("base_select4"$context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.'1724$this->source); })()) == $context["rp_name"])) {
  2552.                         echo "checked";
  2553.                     }
  2554.                     echo ">
  2555. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  2556. \t\t\t\t\t\t               src=\"";
  2557.                     // line 1726
  2558.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((("p" $context["rp_id"]) . "_cp_1.jpg"), "save_image"), "html"nulltrue);
  2559.                     echo "\"
  2560. \t\t\t\t\t\t               alt=\"";
  2561.                     // line 1727
  2562.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2563.                     echo "\" loading=\"lazy\">
  2564. \t\t\t\t\t\t          <span class=\"rp-card__label\">";
  2565.                     // line 1728
  2566.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2567.                     echo "</span>
  2568. \t\t\t\t\t\t        </label>
  2569. \t\t\t\t\t\t      ";
  2570.                 }
  2571.                 $_parent $context['_parent'];
  2572.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2573.                 $context array_intersect_key($context$_parent) + $_parent;
  2574.                 // line 1731
  2575.                 echo "\t\t\t\t\t\t    </div>
  2576. \t\t\t\t\t\t  ";
  2577.             } else {
  2578.                 // line 1733
  2579.                 echo "\t\t\t\t\t\t    ";
  2580.                 // line 1734
  2581.                 echo "\t\t\t\t\t\t    <div class=\"rp-btn-group\">
  2582. \t\t\t\t\t\t      ";
  2583.                 // line 1735
  2584.                 $context['_parent'] = $context;
  2585.                 $context['_seq'] = twig_ensure_traversable((isset($context["related_product4"]) || array_key_exists("related_product4"$context) ? $context["related_product4"] : (function () { throw new RuntimeError('Variable "related_product4" does not exist.'1735$this->source); })()));
  2586.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2587.                     // line 1736
  2588.                     echo "\t\t\t\t\t\t        <label class=\"rp-btn";
  2589.                     if (((isset($context["base_select4"]) || array_key_exists("base_select4"$context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.'1736$this->source); })()) == $context["rp_name"])) {
  2590.                         echo " is-selected";
  2591.                     }
  2592.                     echo "\"
  2593. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2594.                     // line 1737
  2595.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2596.                     echo "';\">
  2597. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp4\" value=\"";
  2598.                     // line 1738
  2599.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2600.                     echo "\"
  2601. \t\t\t\t\t\t                 ";
  2602.                     // line 1739
  2603.                     if (((isset($context["base_select4"]) || array_key_exists("base_select4"$context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.'1739$this->source); })()) == $context["rp_name"])) {
  2604.                         echo "checked";
  2605.                     }
  2606.                     echo ">
  2607. \t\t\t\t\t\t          ";
  2608.                     // line 1740
  2609.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2610.                     echo "
  2611. \t\t\t\t\t\t        </label>
  2612. \t\t\t\t\t\t      ";
  2613.                 }
  2614.                 $_parent $context['_parent'];
  2615.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2616.                 $context array_intersect_key($context$_parent) + $_parent;
  2617.                 // line 1743
  2618.                 echo "\t\t\t\t\t\t    </div>
  2619. \t\t\t\t\t\t  ";
  2620.             }
  2621.             // line 1745
  2622.             echo "\t\t\t\t\t\t</div>
  2623. \t\t\t\t\t\t";
  2624.         }
  2625.         // line 1747
  2626.         echo "
  2627. \t\t\t\t\t    <div class=\"row\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\"><label class=\"col-12 col-form-label\">この商品のオプションを選択してください。</label></div>
  2628.                         ";
  2629.         // line 1751
  2630.         if ((((isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1751$this->source); })()) && twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1751$this->source); })()))) && (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductClass"]) || array_key_exists("ProductClass"$context) ? $context["ProductClass"] : (function () { throw new RuntimeError('Variable "ProductClass" does not exist.'1751$this->source); })()), "SaleType", [], "any"falsefalsefalse1751), "id", [], "any"falsefalsefalse1751) != 3))) {
  2631.             // line 1752
  2632.             echo "                        <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2633.                           <div class=\"rp-section-label\">カラー";
  2634.             // line 1753
  2635.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1753$this->source); })()) && twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1753$this->source); })()), "pc", [], "any"falsefalsefalse1753))) {
  2636.                 echo ": <span>";
  2637.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1753$this->source); })()), "pc", [], "any"falsefalsefalse1753), "html"nulltrue);
  2638.                 echo "</span>";
  2639.             }
  2640.             echo "</div>
  2641.                           <div class=\"opt-btn-group\">
  2642.                             ";
  2643.             // line 1755
  2644.             $context["idx"] = 0;
  2645.             // line 1756
  2646.             echo "                            ";
  2647.             $context['_parent'] = $context;
  2648.             $context['_seq'] = twig_ensure_traversable((isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1756$this->source); })()));
  2649.             foreach ($context['_seq'] as $context["_key"] => $context["cc"]) {
  2650.                 if (($context["cc"] && twig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1756))) {
  2651.                     $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1756$this->source); })()) + 1);
  2652.                     // line 1757
  2653.                     echo "                              <label class=\"opt-btn";
  2654.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1757$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1757$this->source); })()), "pc", [], "any"falsefalsefalse1757) == twig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1757))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1757$this->source); })())) == 1))) {
  2655.                         echo " is-selected";
  2656.                     }
  2657.                     echo "\"
  2658.                                      onclick=\"mitsumori_simulation_val('pc', '";
  2659.                     // line 1758
  2660.                     echo twig_escape_filter($this->envtwig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1758), "js"), "html"nulltrue);
  2661.                     echo "');\">
  2662.                                 <input type=\"radio\" name=\"color\" id=\"cc_";
  2663.                     // line 1759
  2664.                     echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1759$this->source); })()), "html"nulltrue);
  2665.                     echo "\" value=\"";
  2666.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1759), "html"nulltrue);
  2667.                     echo "\"
  2668.                                        ";
  2669.                     // line 1760
  2670.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1760$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1760$this->source); })()), "pc", [], "any"falsefalsefalse1760) == twig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1760))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1760$this->source); })())) == 1))) {
  2671.                         echo "checked";
  2672.                     }
  2673.                     echo ">
  2674.                                 ";
  2675.                     // line 1761
  2676.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1761), "html"nulltrue);
  2677.                     echo "
  2678.                               </label>
  2679.                             ";
  2680.                 }
  2681.             }
  2682.             $_parent $context['_parent'];
  2683.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cc'], $context['_parent'], $context['loop']);
  2684.             $context array_intersect_key($context$_parent) + $_parent;
  2685.             // line 1764
  2686.             echo "                          </div>
  2687.                         </div>
  2688.                         ";
  2689.         }
  2690.         // line 1767
  2691.         echo "
  2692.                         ";
  2693.         // line 1768
  2694.         if ((((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1768$this->source); })()) && twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1768$this->source); })()))) && (twig_join_filter((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1768$this->source); })())) != ""))) {
  2695.             // line 1769
  2696.             echo "                        <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2697.                           <div class=\"rp-section-label\">幅";
  2698.             // line 1770
  2699.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1770$this->source); })()) && twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1770$this->source); })()), "pw", [], "any"falsefalsefalse1770))) {
  2700.                 echo ": <span>";
  2701.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1770$this->source); })()), "pw", [], "any"falsefalsefalse1770), "html"nulltrue);
  2702.                 echo "</span>";
  2703.             }
  2704.             echo "</div>
  2705.                           <div class=\"opt-btn-group\">
  2706.                             ";
  2707.             // line 1772
  2708.             $context["idx"] = 0;
  2709.             // line 1773
  2710.             echo "                            ";
  2711.             $context['_parent'] = $context;
  2712.             $context['_seq'] = twig_ensure_traversable((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1773$this->source); })()));
  2713.             foreach ($context['_seq'] as $context["_key"] => $context["pw"]) {
  2714.                 if ($context["pw"]) {
  2715.                     $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1773$this->source); })()) + 1);
  2716.                     // line 1774
  2717.                     echo "                              <label class=\"opt-btn";
  2718.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1774$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1774$this->source); })()), "pw", [], "any"falsefalsefalse1774) == $context["pw"])) || (twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1774$this->source); })())) == 1))) {
  2719.                         echo " is-selected";
  2720.                     }
  2721.                     echo "\"
  2722.                                      onclick=\"mitsumori_simulation_val('pw', '";
  2723.                     // line 1775
  2724.                     echo twig_escape_filter($this->envtwig_escape_filter($this->env$context["pw"], "js"), "html"nulltrue);
  2725.                     echo "');\">
  2726.                                 <input type=\"radio\" name=\"pw\" id=\"pw_";
  2727.                     // line 1776
  2728.                     echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1776$this->source); })()), "html"nulltrue);
  2729.                     echo "\" value=\"";
  2730.                     echo twig_escape_filter($this->env$context["pw"], "html"nulltrue);
  2731.                     echo "\"
  2732.                                        ";
  2733.                     // line 1777
  2734.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1777$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1777$this->source); })()), "pw", [], "any"falsefalsefalse1777) == $context["pw"])) || (twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1777$this->source); })())) == 1))) {
  2735.                         echo "checked";
  2736.                     }
  2737.                     echo ">
  2738.                                 ";
  2739.                     // line 1778
  2740.                     echo twig_escape_filter($this->env$context["pw"], "html"nulltrue);
  2741.                     echo "
  2742.                               </label>
  2743.                             ";
  2744.                 }
  2745.             }
  2746.             $_parent $context['_parent'];
  2747.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw'], $context['_parent'], $context['loop']);
  2748.             $context array_intersect_key($context$_parent) + $_parent;
  2749.             // line 1781
  2750.             echo "                          </div>
  2751.                         </div>
  2752.                         ";
  2753.         }
  2754.         // line 1784
  2755.         echo "
  2756.                         ";
  2757.         // line 1785
  2758.         if ((((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1785$this->source); })()) && twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1785$this->source); })()))) && (twig_join_filter((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1785$this->source); })())) != ""))) {
  2759.             // line 1786
  2760.             echo "                        <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2761.                           <div class=\"rp-section-label\">奥行き";
  2762.             // line 1787
  2763.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1787$this->source); })()) && twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1787$this->source); })()), "pd", [], "any"falsefalsefalse1787))) {
  2764.                 echo ": <span>";
  2765.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1787$this->source); })()), "pd", [], "any"falsefalsefalse1787), "html"nulltrue);
  2766.                 echo "</span>";
  2767.             }
  2768.             echo "</div>
  2769.                           <div class=\"opt-btn-group\">
  2770.                             ";
  2771.             // line 1789
  2772.             $context["idx"] = 0;
  2773.             // line 1790
  2774.             echo "                            ";
  2775.             $context['_parent'] = $context;
  2776.             $context['_seq'] = twig_ensure_traversable((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1790$this->source); })()));
  2777.             foreach ($context['_seq'] as $context["_key"] => $context["pd"]) {
  2778.                 if ($context["pd"]) {
  2779.                     $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1790$this->source); })()) + 1);
  2780.                     // line 1791
  2781.                     echo "                              <label class=\"opt-btn";
  2782.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1791$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1791$this->source); })()), "pd", [], "any"falsefalsefalse1791) == $context["pd"])) || (twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1791$this->source); })())) == 1))) {
  2783.                         echo " is-selected";
  2784.                     }
  2785.                     echo "\"
  2786.                                      onclick=\"mitsumori_simulation_val('pd', '";
  2787.                     // line 1792
  2788.                     echo twig_escape_filter($this->envtwig_escape_filter($this->env$context["pd"], "js"), "html"nulltrue);
  2789.                     echo "');\">
  2790.                                 <input type=\"radio\" name=\"pd\" id=\"pd_";
  2791.                     // line 1793
  2792.                     echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1793$this->source); })()), "html"nulltrue);
  2793.                     echo "\" value=\"";
  2794.                     echo twig_escape_filter($this->env$context["pd"], "html"nulltrue);
  2795.                     echo "\"
  2796.                                        ";
  2797.                     // line 1794
  2798.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1794$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1794$this->source); })()), "pd", [], "any"falsefalsefalse1794) == $context["pd"])) || (twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1794$this->source); })())) == 1))) {
  2799.                         echo "checked";
  2800.                     }
  2801.                     echo ">
  2802.                                 ";
  2803.                     // line 1795
  2804.                     echo twig_escape_filter($this->env$context["pd"], "html"nulltrue);
  2805.                     echo "
  2806.                               </label>
  2807.                             ";
  2808.                 }
  2809.             }
  2810.             $_parent $context['_parent'];
  2811.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd'], $context['_parent'], $context['loop']);
  2812.             $context array_intersect_key($context$_parent) + $_parent;
  2813.             // line 1798
  2814.             echo "                          </div>
  2815.                         </div>
  2816.                         ";
  2817.         }
  2818.         // line 1801
  2819.         echo "
  2820.                         ";
  2821.         // line 1802
  2822.         if ((((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1802$this->source); })()) && twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1802$this->source); })()))) && (twig_join_filter((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1802$this->source); })())) != ""))) {
  2823.             // line 1803
  2824.             echo "                        <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2825.                           <div class=\"rp-section-label\">高さ";
  2826.             // line 1804
  2827.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1804$this->source); })()) && twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1804$this->source); })()), "ph", [], "any"falsefalsefalse1804))) {
  2828.                 echo ": <span>";
  2829.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1804$this->source); })()), "ph", [], "any"falsefalsefalse1804), "html"nulltrue);
  2830.                 echo "</span>";
  2831.             }
  2832.             echo "</div>
  2833.                           <div class=\"opt-btn-group\">
  2834.                             ";
  2835.             // line 1806
  2836.             $context["idx"] = 0;
  2837.             // line 1807
  2838.             echo "                            ";
  2839.             $context['_parent'] = $context;
  2840.             $context['_seq'] = twig_ensure_traversable((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1807$this->source); })()));
  2841.             foreach ($context['_seq'] as $context["_key"] => $context["ph"]) {
  2842.                 if ($context["ph"]) {
  2843.                     $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1807$this->source); })()) + 1);
  2844.                     // line 1808
  2845.                     echo "                              <label class=\"opt-btn";
  2846.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1808$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1808$this->source); })()), "ph", [], "any"falsefalsefalse1808) == $context["ph"])) || (twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1808$this->source); })())) == 1))) {
  2847.                         echo " is-selected";
  2848.                     }
  2849.                     echo "\"
  2850.                                      onclick=\"mitsumori_simulation_val('ph', '";
  2851.                     // line 1809
  2852.                     echo twig_escape_filter($this->envtwig_escape_filter($this->env$context["ph"], "js"), "html"nulltrue);
  2853.                     echo "');\">
  2854.                                 <input type=\"radio\" name=\"ph\" id=\"ph_";
  2855.                     // line 1810
  2856.                     echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1810$this->source); })()), "html"nulltrue);
  2857.                     echo "\" value=\"";
  2858.                     echo twig_escape_filter($this->env$context["ph"], "html"nulltrue);
  2859.                     echo "\"
  2860.                                        ";
  2861.                     // line 1811
  2862.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1811$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1811$this->source); })()), "ph", [], "any"falsefalsefalse1811) == $context["ph"])) || (twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1811$this->source); })())) == 1))) {
  2863.                         echo "checked";
  2864.                     }
  2865.                     echo ">
  2866.                                 ";
  2867.                     // line 1812
  2868.                     echo twig_escape_filter($this->env$context["ph"], "html"nulltrue);
  2869.                     echo "
  2870.                               </label>
  2871.                             ";
  2872.                 }
  2873.             }
  2874.             $_parent $context['_parent'];
  2875.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ph'], $context['_parent'], $context['loop']);
  2876.             $context array_intersect_key($context$_parent) + $_parent;
  2877.             // line 1815
  2878.             echo "                          </div>
  2879.                         </div>
  2880.                         ";
  2881.         }
  2882.         // line 1818
  2883.         echo "
  2884.                         ";
  2885.         // line 1819
  2886.         if ((((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1819$this->source); })()) && twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1819$this->source); })()))) && (twig_join_filter((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1819$this->source); })())) != ""))) {
  2887.             // line 1820
  2888.             echo "                        <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2889.                           <div class=\"rp-section-label\">素材";
  2890.             // line 1821
  2891.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1821$this->source); })()) && twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1821$this->source); })()), "pm", [], "any"falsefalsefalse1821))) {
  2892.                 echo ": <span>";
  2893.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1821$this->source); })()), "pm", [], "any"falsefalsefalse1821), "html"nulltrue);
  2894.                 echo "</span>";
  2895.             }
  2896.             echo "</div>
  2897.                           <div class=\"opt-btn-group\">
  2898.                             ";
  2899.             // line 1823
  2900.             $context["idx"] = 0;
  2901.             // line 1824
  2902.             echo "                            ";
  2903.             $context['_parent'] = $context;
  2904.             $context['_seq'] = twig_ensure_traversable((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1824$this->source); })()));
  2905.             foreach ($context['_seq'] as $context["_key"] => $context["pm"]) {
  2906.                 if ($context["pm"]) {
  2907.                     $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1824$this->source); })()) + 1);
  2908.                     // line 1825
  2909.                     echo "                              <label class=\"opt-btn";
  2910.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1825$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1825$this->source); })()), "pm", [], "any"falsefalsefalse1825) == $context["pm"])) || (twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1825$this->source); })())) == 1))) {
  2911.                         echo " is-selected";
  2912.                     }
  2913.                     echo "\"
  2914.                                      onclick=\"mitsumori_simulation_val('pm', '";
  2915.                     // line 1826
  2916.                     echo twig_escape_filter($this->envtwig_escape_filter($this->env$context["pm"], "js"), "html"nulltrue);
  2917.                     echo "');\">
  2918.                                 <input type=\"radio\" name=\"pm\" id=\"pm_";
  2919.                     // line 1827
  2920.                     echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1827$this->source); })()), "html"nulltrue);
  2921.                     echo "\" value=\"";
  2922.                     echo twig_escape_filter($this->env$context["pm"], "html"nulltrue);
  2923.                     echo "\"
  2924.                                        ";
  2925.                     // line 1828
  2926.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1828$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1828$this->source); })()), "pm", [], "any"falsefalsefalse1828) == $context["pm"])) || (twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1828$this->source); })())) == 1))) {
  2927.                         echo "checked";
  2928.                     }
  2929.                     echo ">
  2930.                                 ";
  2931.                     // line 1829
  2932.                     echo twig_escape_filter($this->env$context["pm"], "html"nulltrue);
  2933.                     echo "
  2934.                               </label>
  2935.                             ";
  2936.                 }
  2937.             }
  2938.             $_parent $context['_parent'];
  2939.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm'], $context['_parent'], $context['loop']);
  2940.             $context array_intersect_key($context$_parent) + $_parent;
  2941.             // line 1832
  2942.             echo "                          </div>
  2943.                         </div>
  2944.                         ";
  2945.         }
  2946.         // line 1835
  2947.         echo "
  2948. \t\t\t\t\t\t<!-- 1: 施工見積(通常) → 幅/奥行/高さ/素材/カラーは上部の共通ブロックで表示済み -->
  2949. \t\t\t\t\t\t";
  2950.         // line 1837
  2951.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductClass"]) || array_key_exists("ProductClass"$context) ? $context["ProductClass"] : (function () { throw new RuntimeError('Variable "ProductClass" does not exist.'1837$this->source); })()), "SaleType", [], "any"falsefalsefalse1837), "id", [], "any"falsefalsefalse1837) == 1)) {
  2952.             // line 1838
  2953.             echo "\t\t\t\t\t\t";
  2954.         }
  2955.         // line 1839
  2956.         echo "
  2957. \t\t\t\t\t\t<!-- 2: 施工見積(補助金・窓) -->
  2958. \t\t\t\t\t\t";
  2959.         // line 1841
  2960.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductClass"]) || array_key_exists("ProductClass"$context) ? $context["ProductClass"] : (function () { throw new RuntimeError('Variable "ProductClass" does not exist.'1841$this->source); })()), "SaleType", [], "any"falsefalsefalse1841), "id", [], "any"falsefalsefalse1841) == 2)) {
  2961.             // line 1842
  2962.             echo "
  2963. \t\t\t\t\t\t\t";
  2964.             // line 1844
  2965.             echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2966. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">窓サイズ</label>
  2967. \t\t\t\t\t\t\t  <div class=\"col-4\">
  2968. \t\t\t\t\t\t\t    <div class=\"input-group\">
  2969. \t\t\t\t\t\t\t      <span class=\"input-group-text\">窓幅</span>
  2970. \t\t\t\t\t\t\t      <input type=\"number\" name=\"mado_w\" id=\"mado_w\" class=\"form-control\" value=\"";
  2971.             // line 1849
  2972.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "mado_w", [], "any"truetruefalse1849)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "mado_w", [], "any"falsefalsefalse1849), "")) : ("")), "html"nulltrue);
  2973.             echo "\" placeholder=\"例: 90\" min=\"1\" onchange=\"mitsumori_simulation('mado_w','mado_w');\">
  2974. \t\t\t\t\t\t\t      <span class=\"input-group-text\">cm</span>
  2975. \t\t\t\t\t\t\t    </div>
  2976. \t\t\t\t\t\t\t  </div>
  2977. \t\t\t\t\t\t\t  <div class=\"col-4\">
  2978. \t\t\t\t\t\t\t    <div class=\"input-group\">
  2979. \t\t\t\t\t\t\t      <span class=\"input-group-text\">窓高さ</span>
  2980. \t\t\t\t\t\t\t      <input type=\"number\" name=\"mado_h\" id=\"mado_h\" class=\"form-control\" value=\"";
  2981.             // line 1856
  2982.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "mado_h", [], "any"truetruefalse1856)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "mado_h", [], "any"falsefalsefalse1856), "")) : ("")), "html"nulltrue);
  2983.             echo "\" placeholder=\"例: 110\" min=\"1\" onchange=\"mitsumori_simulation('mado_h','mado_h');\">
  2984. \t\t\t\t\t\t\t      <span class=\"input-group-text\">cm</span>
  2985. \t\t\t\t\t\t\t    </div>
  2986. \t\t\t\t\t\t\t  </div>
  2987. \t\t\t\t\t\t\t</div>
  2988. \t\t\t\t\t\t\t";
  2989.             // line 1863
  2990.             echo "\t\t\t\t\t\t\t";
  2991.             if ((((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1863$this->source); })()) && twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1863$this->source); })()))) && (twig_join_filter((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1863$this->source); })())) != ""))) {
  2992.                 // line 1864
  2993.                 echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2994. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">窓タイプ</label>
  2995. \t\t\t\t\t\t\t  <div class=\"col-8\">
  2996. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  2997. \t\t\t\t\t\t\t    ";
  2998.                 // line 1868
  2999.                 $context["idx"] = 0;
  3000.                 // line 1869
  3001.                 echo "\t\t\t\t\t\t\t    ";
  3002.                 $context['_parent'] = $context;
  3003.                 $context['_seq'] = twig_ensure_traversable((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1869$this->source); })()));
  3004.                 foreach ($context['_seq'] as $context["_key"] => $context["pd_val"]) {
  3005.                     // line 1870
  3006.                     echo "\t\t\t\t\t\t\t      ";
  3007.                     if ($context["pd_val"]) {
  3008.                         // line 1871
  3009.                         echo "\t\t\t\t\t\t\t      ";
  3010.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1871$this->source); })()) + 1);
  3011.                         // line 1872
  3012.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3013. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"mado_type\" id=\"mado_type_";
  3014.                         // line 1873
  3015.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1873$this->source); })()), "html"nulltrue);
  3016.                         echo "\" value=\"";
  3017.                         echo twig_escape_filter($this->env$context["pd_val"], "html"nulltrue);
  3018.                         echo "\"
  3019. \t\t\t\t\t\t\t          ";
  3020.                         // line 1874
  3021.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1874$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1874$this->source); })()), "pd", [], "any"falsefalsefalse1874) == $context["pd_val"])) || (twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1874$this->source); })())) == 1))) {
  3022.                             echo "checked";
  3023.                         }
  3024.                         // line 1875
  3025.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pd','mado_type_";
  3026.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1875$this->source); })()), "html"nulltrue);
  3027.                         echo "');\">
  3028. \t\t\t\t\t\t\t        <label for=\"mado_type_";
  3029.                         // line 1876
  3030.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1876$this->source); })()), "html"nulltrue);
  3031.                         echo "\">";
  3032.                         echo twig_escape_filter($this->env$context["pd_val"], "html"nulltrue);
  3033.                         echo "</label>
  3034. \t\t\t\t\t\t\t      </div>
  3035. \t\t\t\t\t\t\t      ";
  3036.                     }
  3037.                     // line 1879
  3038.                     echo "\t\t\t\t\t\t\t    ";
  3039.                 }
  3040.                 $_parent $context['_parent'];
  3041.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd_val'], $context['_parent'], $context['loop']);
  3042.                 $context array_intersect_key($context$_parent) + $_parent;
  3043.                 // line 1880
  3044.                 echo "\t\t\t\t\t\t\t    </div>
  3045. \t\t\t\t\t\t\t  </div>
  3046. \t\t\t\t\t\t\t</div>
  3047. \t\t\t\t\t\t\t";
  3048.             }
  3049.             // line 1884
  3050.             echo "
  3051. \t\t\t\t\t\t\t";
  3052.             // line 1886
  3053.             echo "\t\t\t\t\t\t\t";
  3054.             if ((((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1886$this->source); })()) && twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1886$this->source); })()))) && (twig_join_filter((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1886$this->source); })())) != ""))) {
  3055.                 // line 1887
  3056.                 echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3057. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">ガラスタイプ</label>
  3058. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3059. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3060. \t\t\t\t\t\t\t    ";
  3061.                 // line 1891
  3062.                 $context["idx"] = 0;
  3063.                 // line 1892
  3064.                 echo "\t\t\t\t\t\t\t    ";
  3065.                 $context['_parent'] = $context;
  3066.                 $context['_seq'] = twig_ensure_traversable((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1892$this->source); })()));
  3067.                 foreach ($context['_seq'] as $context["_key"] => $context["pm_val"]) {
  3068.                     // line 1893
  3069.                     echo "\t\t\t\t\t\t\t      ";
  3070.                     if ($context["pm_val"]) {
  3071.                         // line 1894
  3072.                         echo "\t\t\t\t\t\t\t      ";
  3073.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1894$this->source); })()) + 1);
  3074.                         // line 1895
  3075.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3076. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"glass_type\" id=\"glass_type_";
  3077.                         // line 1896
  3078.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1896$this->source); })()), "html"nulltrue);
  3079.                         echo "\" value=\"";
  3080.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3081.                         echo "\"
  3082. \t\t\t\t\t\t\t          ";
  3083.                         // line 1897
  3084.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1897$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1897$this->source); })()), "pm", [], "any"falsefalsefalse1897) == $context["pm_val"])) || (twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1897$this->source); })())) == 1))) {
  3085.                             echo "checked";
  3086.                         }
  3087.                         // line 1898
  3088.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','glass_type_";
  3089.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1898$this->source); })()), "html"nulltrue);
  3090.                         echo "');\">
  3091. \t\t\t\t\t\t\t        <label for=\"glass_type_";
  3092.                         // line 1899
  3093.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1899$this->source); })()), "html"nulltrue);
  3094.                         echo "\">";
  3095.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3096.                         echo "</label>
  3097. \t\t\t\t\t\t\t      </div>
  3098. \t\t\t\t\t\t\t      ";
  3099.                     }
  3100.                     // line 1902
  3101.                     echo "\t\t\t\t\t\t\t    ";
  3102.                 }
  3103.                 $_parent $context['_parent'];
  3104.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm_val'], $context['_parent'], $context['loop']);
  3105.                 $context array_intersect_key($context$_parent) + $_parent;
  3106.                 // line 1903
  3107.                 echo "\t\t\t\t\t\t\t    </div>
  3108. \t\t\t\t\t\t\t  </div>
  3109. \t\t\t\t\t\t\t</div>
  3110. \t\t\t\t\t\t\t";
  3111.             }
  3112.             // line 1907
  3113.             echo "
  3114. \t\t\t\t\t\t\t";
  3115.             // line 1909
  3116.             echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3117. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">セット数</label>
  3118. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3119. \t\t\t\t\t\t\t    <select name=\"set_count\" id=\"set_count\" class=\"form-control\" onchange=\"madosetSelect(this.value);\">
  3120. \t\t\t\t\t\t\t      ";
  3121.             // line 1913
  3122.             $context['_parent'] = $context;
  3123.             $context['_seq'] = twig_ensure_traversable(range(120));
  3124.             foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  3125.                 // line 1914
  3126.                 echo "\t\t\t\t\t\t\t        <option value=\"";
  3127.                 echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3128.                 echo "\" ";
  3129.                 if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1914$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1914$this->source); })()), "set_count", [], "any"falsefalsefalse1914) == $context["i"]))) {
  3130.                     echo "selected";
  3131.                 }
  3132.                 echo ">";
  3133.                 echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3134.                 echo " セット</option>
  3135. \t\t\t\t\t\t\t      ";
  3136.             }
  3137.             $_parent $context['_parent'];
  3138.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  3139.             $context array_intersect_key($context$_parent) + $_parent;
  3140.             // line 1916
  3141.             echo "\t\t\t\t\t\t\t    </select>
  3142. \t\t\t\t\t\t\t  </div>
  3143. \t\t\t\t\t\t\t</div>
  3144. \t\t\t\t\t\t";
  3145.         }
  3146.         // line 1921
  3147.         echo "
  3148. \t\t\t\t\t\t<!-- 3: 施工見積(物置・ゴミステーション) -->
  3149. \t\t\t\t\t\t";
  3150.         // line 1923
  3151.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductClass"]) || array_key_exists("ProductClass"$context) ? $context["ProductClass"] : (function () { throw new RuntimeError('Variable "ProductClass" does not exist.'1923$this->source); })()), "SaleType", [], "any"falsefalsefalse1923), "id", [], "any"falsefalsefalse1923) == 3)) {
  3152.             // line 1924
  3153.             echo "
  3154. \t\t\t\t\t\t\t";
  3155.             // line 1926
  3156.             echo "\t\t\t\t\t\t\t";
  3157.             if ((((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1926$this->source); })()) && twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1926$this->source); })()))) && (twig_join_filter((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1926$this->source); })())) != ""))) {
  3158.                 // line 1927
  3159.                 echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3160. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">幅</label>
  3161. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3162. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3163. \t\t\t\t\t\t\t    ";
  3164.                 // line 1931
  3165.                 $context["idx"] = 0;
  3166.                 // line 1932
  3167.                 echo "\t\t\t\t\t\t\t    ";
  3168.                 $context['_parent'] = $context;
  3169.                 $context['_seq'] = twig_ensure_traversable((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1932$this->source); })()));
  3170.                 foreach ($context['_seq'] as $context["_key"] => $context["pw_val"]) {
  3171.                     if ($context["pw_val"]) {
  3172.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1932$this->source); })()) + 1);
  3173.                         // line 1933
  3174.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3175. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pw\" id=\"pw3_";
  3176.                         // line 1934
  3177.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1934$this->source); })()), "html"nulltrue);
  3178.                         echo "\" value=\"";
  3179.                         echo twig_escape_filter($this->env$context["pw_val"], "html"nulltrue);
  3180.                         echo "\"
  3181. \t\t\t\t\t\t\t          ";
  3182.                         // line 1935
  3183.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1935$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1935$this->source); })()), "pw", [], "any"falsefalsefalse1935) == $context["pw_val"])) || (twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1935$this->source); })())) == 1))) {
  3184.                             echo "checked";
  3185.                         }
  3186.                         // line 1936
  3187.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pw','pw3_";
  3188.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1936$this->source); })()), "html"nulltrue);
  3189.                         echo "');\">
  3190. \t\t\t\t\t\t\t        <label for=\"pw3_";
  3191.                         // line 1937
  3192.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1937$this->source); })()), "html"nulltrue);
  3193.                         echo "\">";
  3194.                         echo twig_escape_filter($this->env$context["pw_val"], "html"nulltrue);
  3195.                         echo "</label>
  3196. \t\t\t\t\t\t\t      </div>
  3197. \t\t\t\t\t\t\t    ";
  3198.                     }
  3199.                 }
  3200.                 $_parent $context['_parent'];
  3201.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw_val'], $context['_parent'], $context['loop']);
  3202.                 $context array_intersect_key($context$_parent) + $_parent;
  3203.                 // line 1940
  3204.                 echo "\t\t\t\t\t\t\t    </div>
  3205. \t\t\t\t\t\t\t  </div>
  3206. \t\t\t\t\t\t\t</div>
  3207. \t\t\t\t\t\t\t";
  3208.             }
  3209.             // line 1944
  3210.             echo "
  3211. \t\t\t\t\t\t\t";
  3212.             // line 1945
  3213.             if ((((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1945$this->source); })()) && twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1945$this->source); })()))) && (twig_join_filter((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1945$this->source); })())) != ""))) {
  3214.                 // line 1946
  3215.                 echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3216. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">奥行き</label>
  3217. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3218. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3219. \t\t\t\t\t\t\t    ";
  3220.                 // line 1950
  3221.                 $context["idx"] = 0;
  3222.                 // line 1951
  3223.                 echo "\t\t\t\t\t\t\t    ";
  3224.                 $context['_parent'] = $context;
  3225.                 $context['_seq'] = twig_ensure_traversable((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1951$this->source); })()));
  3226.                 foreach ($context['_seq'] as $context["_key"] => $context["pd_val"]) {
  3227.                     if ($context["pd_val"]) {
  3228.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1951$this->source); })()) + 1);
  3229.                         // line 1952
  3230.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3231. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pd\" id=\"pd3_";
  3232.                         // line 1953
  3233.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1953$this->source); })()), "html"nulltrue);
  3234.                         echo "\" value=\"";
  3235.                         echo twig_escape_filter($this->env$context["pd_val"], "html"nulltrue);
  3236.                         echo "\"
  3237. \t\t\t\t\t\t\t          ";
  3238.                         // line 1954
  3239.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1954$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1954$this->source); })()), "pd", [], "any"falsefalsefalse1954) == $context["pd_val"])) || (twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1954$this->source); })())) == 1))) {
  3240.                             echo "checked";
  3241.                         }
  3242.                         // line 1955
  3243.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pd','pd3_";
  3244.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1955$this->source); })()), "html"nulltrue);
  3245.                         echo "');\">
  3246. \t\t\t\t\t\t\t        <label for=\"pd3_";
  3247.                         // line 1956
  3248.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1956$this->source); })()), "html"nulltrue);
  3249.                         echo "\">";
  3250.                         echo twig_escape_filter($this->env$context["pd_val"], "html"nulltrue);
  3251.                         echo "</label>
  3252. \t\t\t\t\t\t\t      </div>
  3253. \t\t\t\t\t\t\t    ";
  3254.                     }
  3255.                 }
  3256.                 $_parent $context['_parent'];
  3257.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd_val'], $context['_parent'], $context['loop']);
  3258.                 $context array_intersect_key($context$_parent) + $_parent;
  3259.                 // line 1959
  3260.                 echo "\t\t\t\t\t\t\t    </div>
  3261. \t\t\t\t\t\t\t  </div>
  3262. \t\t\t\t\t\t\t</div>
  3263. \t\t\t\t\t\t\t";
  3264.             }
  3265.             // line 1963
  3266.             echo "
  3267. \t\t\t\t\t\t\t";
  3268.             // line 1964
  3269.             if ((((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1964$this->source); })()) && twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1964$this->source); })()))) && (twig_join_filter((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1964$this->source); })())) != ""))) {
  3270.                 // line 1965
  3271.                 echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3272. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">高さ</label>
  3273. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3274. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3275. \t\t\t\t\t\t\t    ";
  3276.                 // line 1969
  3277.                 $context["idx"] = 0;
  3278.                 // line 1970
  3279.                 echo "\t\t\t\t\t\t\t    ";
  3280.                 $context['_parent'] = $context;
  3281.                 $context['_seq'] = twig_ensure_traversable((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1970$this->source); })()));
  3282.                 foreach ($context['_seq'] as $context["_key"] => $context["ph_val"]) {
  3283.                     if ($context["ph_val"]) {
  3284.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1970$this->source); })()) + 1);
  3285.                         // line 1971
  3286.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3287. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"ph\" id=\"ph3_";
  3288.                         // line 1972
  3289.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1972$this->source); })()), "html"nulltrue);
  3290.                         echo "\" value=\"";
  3291.                         echo twig_escape_filter($this->env$context["ph_val"], "html"nulltrue);
  3292.                         echo "\"
  3293. \t\t\t\t\t\t\t          ";
  3294.                         // line 1973
  3295.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1973$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1973$this->source); })()), "ph", [], "any"falsefalsefalse1973) == $context["ph_val"])) || (twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1973$this->source); })())) == 1))) {
  3296.                             echo "checked";
  3297.                         }
  3298.                         // line 1974
  3299.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('ph','ph3_";
  3300.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1974$this->source); })()), "html"nulltrue);
  3301.                         echo "');\">
  3302. \t\t\t\t\t\t\t        <label for=\"ph3_";
  3303.                         // line 1975
  3304.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1975$this->source); })()), "html"nulltrue);
  3305.                         echo "\">";
  3306.                         echo twig_escape_filter($this->env$context["ph_val"], "html"nulltrue);
  3307.                         echo "</label>
  3308. \t\t\t\t\t\t\t      </div>
  3309. \t\t\t\t\t\t\t    ";
  3310.                     }
  3311.                 }
  3312.                 $_parent $context['_parent'];
  3313.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ph_val'], $context['_parent'], $context['loop']);
  3314.                 $context array_intersect_key($context$_parent) + $_parent;
  3315.                 // line 1978
  3316.                 echo "\t\t\t\t\t\t\t    </div>
  3317. \t\t\t\t\t\t\t  </div>
  3318. \t\t\t\t\t\t\t</div>
  3319. \t\t\t\t\t\t\t";
  3320.             }
  3321.             // line 1982
  3322.             echo "
  3323. \t\t\t\t\t\t\t";
  3324.             // line 1984
  3325.             echo "\t\t\t\t\t\t\t";
  3326.             if ((((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1984$this->source); })()) && twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1984$this->source); })()))) && (twig_join_filter((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1984$this->source); })())) != ""))) {
  3327.                 // line 1985
  3328.                 echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3329. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">棚タイプ<br><small class=\"text-muted\">(間仕切り仕様)</small></label>
  3330. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3331. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3332. \t\t\t\t\t\t\t    ";
  3333.                 // line 1989
  3334.                 $context["idx"] = 0;
  3335.                 // line 1990
  3336.                 echo "\t\t\t\t\t\t\t    ";
  3337.                 $context['_parent'] = $context;
  3338.                 $context['_seq'] = twig_ensure_traversable((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1990$this->source); })()));
  3339.                 foreach ($context['_seq'] as $context["_key"] => $context["pm_val"]) {
  3340.                     if ($context["pm_val"]) {
  3341.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1990$this->source); })()) + 1);
  3342.                         // line 1991
  3343.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3344. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pm\" id=\"pm3_";
  3345.                         // line 1992
  3346.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1992$this->source); })()), "html"nulltrue);
  3347.                         echo "\" value=\"";
  3348.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3349.                         echo "\"
  3350. \t\t\t\t\t\t\t          ";
  3351.                         // line 1993
  3352.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1993$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1993$this->source); })()), "pm", [], "any"falsefalsefalse1993) == $context["pm_val"])) || (twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1993$this->source); })())) == 1))) {
  3353.                             echo "checked";
  3354.                         }
  3355.                         // line 1994
  3356.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','pm3_";
  3357.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1994$this->source); })()), "html"nulltrue);
  3358.                         echo "');\">
  3359. \t\t\t\t\t\t\t        <label for=\"pm3_";
  3360.                         // line 1995
  3361.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1995$this->source); })()), "html"nulltrue);
  3362.                         echo "\">";
  3363.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3364.                         echo "</label>
  3365. \t\t\t\t\t\t\t      </div>
  3366. \t\t\t\t\t\t\t    ";
  3367.                     }
  3368.                 }
  3369.                 $_parent $context['_parent'];
  3370.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm_val'], $context['_parent'], $context['loop']);
  3371.                 $context array_intersect_key($context$_parent) + $_parent;
  3372.                 // line 1998
  3373.                 echo "\t\t\t\t\t\t\t    </div>
  3374. \t\t\t\t\t\t\t  </div>
  3375. \t\t\t\t\t\t\t</div>
  3376. \t\t\t\t\t\t\t";
  3377.             }
  3378.             // line 2002
  3379.             echo "
  3380. \t\t\t\t\t\t\t";
  3381.             // line 2004
  3382.             echo "\t\t\t\t\t\t\t";
  3383.             if (((isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'2004$this->source); })()) && twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'2004$this->source); })())))) {
  3384.                 // line 2005
  3385.                 echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3386. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">カラー</label>
  3387. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3388. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3389. \t\t\t\t\t\t\t    ";
  3390.                 // line 2009
  3391.                 $context["idx"] = 0;
  3392.                 // line 2010
  3393.                 echo "\t\t\t\t\t\t\t    ";
  3394.                 $context['_parent'] = $context;
  3395.                 $context['_seq'] = twig_ensure_traversable((isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'2010$this->source); })()));
  3396.                 foreach ($context['_seq'] as $context["_key"] => $context["cc"]) {
  3397.                     if (($context["cc"] && twig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse2010))) {
  3398.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2010$this->source); })()) + 1);
  3399.                         // line 2011
  3400.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3401. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"color3\" id=\"cc3_";
  3402.                         // line 2012
  3403.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2012$this->source); })()), "html"nulltrue);
  3404.                         echo "\" value=\"";
  3405.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse2012), "html"nulltrue);
  3406.                         echo "\"
  3407. \t\t\t\t\t\t\t          ";
  3408.                         // line 2013
  3409.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2013$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2013$this->source); })()), "pc", [], "any"falsefalsefalse2013) == twig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse2013))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'2013$this->source); })())) == 1))) {
  3410.                             echo "checked";
  3411.                         }
  3412.                         // line 2014
  3413.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pc','cc3_";
  3414.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2014$this->source); })()), "html"nulltrue);
  3415.                         echo "');\">
  3416. \t\t\t\t\t\t\t        <label for=\"cc3_";
  3417.                         // line 2015
  3418.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2015$this->source); })()), "html"nulltrue);
  3419.                         echo "\">";
  3420.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse2015), "html"nulltrue);
  3421.                         echo "</label>
  3422. \t\t\t\t\t\t\t      </div>
  3423. \t\t\t\t\t\t\t    ";
  3424.                     }
  3425.                 }
  3426.                 $_parent $context['_parent'];
  3427.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cc'], $context['_parent'], $context['loop']);
  3428.                 $context array_intersect_key($context$_parent) + $_parent;
  3429.                 // line 2018
  3430.                 echo "\t\t\t\t\t\t\t    </div>
  3431. \t\t\t\t\t\t\t  </div>
  3432. \t\t\t\t\t\t\t</div>
  3433. \t\t\t\t\t\t\t";
  3434.             }
  3435.             // line 2022
  3436.             echo "
  3437. \t\t\t\t\t\t\t";
  3438.             // line 2024
  3439.             echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3440. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">台数</label>
  3441. \t\t\t\t\t\t\t  <div class=\"col-4\">
  3442. \t\t\t\t\t\t\t    <div class=\"input-group mb-3\">
  3443. \t\t\t\t\t\t\t      <input type=\"number\" name=\"daisu\" id=\"daisu\" class=\"form-control\" value=\"";
  3444.             // line 2028
  3445.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "daisu", [], "any"truetruefalse2028)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "daisu", [], "any"falsefalsefalse2028), "1")) : ("1")), "html"nulltrue);
  3446.             echo "\" min=\"1\" max=\"10\" onchange=\"mitsumori_simulation('daisu','daisu');\">
  3447. \t\t\t\t\t\t\t      <span class=\"input-group-text\">台</span>
  3448. \t\t\t\t\t\t\t    </div>
  3449. \t\t\t\t\t\t\t  </div>
  3450. \t\t\t\t\t\t\t  <div class=\"col-4\">
  3451. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"daisu(+1);\">+</button>
  3452. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"daisu(-1);\">ー</button>
  3453. \t\t\t\t\t\t\t  </div>
  3454. \t\t\t\t\t\t\t</div>
  3455. \t\t\t\t\t\t";
  3456.         }
  3457.         // line 2039
  3458.         echo "
  3459. \t\t\t\t\t\t<!-- 4: 施工見積(フェンス・組み立て式) -->
  3460. \t\t\t\t\t\t";
  3461.         // line 2041
  3462.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductClass"]) || array_key_exists("ProductClass"$context) ? $context["ProductClass"] : (function () { throw new RuntimeError('Variable "ProductClass" does not exist.'2041$this->source); })()), "SaleType", [], "any"falsefalsefalse2041), "id", [], "any"falsefalsefalse2041) == 4)) {
  3463.             // line 2042
  3464.             echo "
  3465. \t\t\t\t\t\t\t";
  3466.             // line 2044
  3467.             echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3468. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">枚数</label>
  3469. \t\t\t\t\t\t\t  <div class=\"col-4 mb-3\">
  3470. \t\t\t\t\t\t\t    <div class=\"input-group\">
  3471. \t\t\t\t\t\t\t      <input type=\"number\" name=\"maisu\" id=\"maisu\" class=\"form-control\" value=\"";
  3472.             // line 2048
  3473.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "maisu", [], "any"truetruefalse2048)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "maisu", [], "any"falsefalsefalse2048), "3")) : ("3")), "html"nulltrue);
  3474.             echo "\" min=\"3\" max=\"20\" onchange=\"mitsumori_simulation('maisu','maisu');\">
  3475. \t\t\t\t\t\t\t      <span class=\"input-group-text\">枚</span>
  3476. \t\t\t\t\t\t\t    </div>
  3477. \t\t\t\t\t\t\t  </div>
  3478. \t\t\t\t\t\t\t  <div class=\"col-4\">
  3479. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"maisu(+1);\">+</button>
  3480. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"maisu(-1);\">ー</button>
  3481. \t\t\t\t\t\t\t  </div>
  3482. \t\t\t\t\t\t\t</div>
  3483. \t\t\t\t\t\t";
  3484.         }
  3485.         // line 2059
  3486.         echo "
  3487. \t\t\t\t\t\t<!-- 5: 施工見積(ウッドデッキ・タイルデッキ) -->
  3488. \t\t\t\t\t\t";
  3489.         // line 2061
  3490.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductClass"]) || array_key_exists("ProductClass"$context) ? $context["ProductClass"] : (function () { throw new RuntimeError('Variable "ProductClass" does not exist.'2061$this->source); })()), "SaleType", [], "any"falsefalsefalse2061), "id", [], "any"falsefalsefalse2061) == 5)) {
  3491.             // line 2062
  3492.             echo "
  3493. \t\t\t\t\t\t\t";
  3494.             // line 2064
  3495.             echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3496. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">施工面積</label>
  3497. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3498. \t\t\t\t\t\t\t    <div class=\"input-group\">
  3499. \t\t\t\t\t\t\t      <input type=\"number\" name=\"area\" id=\"area\"
  3500. \t\t\t\t\t\t\t        class=\"form-control\"
  3501. \t\t\t\t\t\t\t        value=\"";
  3502.             // line 2070
  3503.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "area", [], "any"truetruefalse2070)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "area", [], "any"falsefalsefalse2070), "")) : ("")), "html"nulltrue);
  3504.             echo "\"
  3505. \t\t\t\t\t\t\t        placeholder=\"例: 7.5\"
  3506. \t\t\t\t\t\t\t        min=\"0.1\" step=\"0.1\"
  3507. \t\t\t\t\t\t\t        onchange=\"mitsumori_simulation('area','area');\">
  3508. \t\t\t\t\t\t\t      <span class=\"input-group-text\">㎡</span>
  3509. \t\t\t\t\t\t\t    </div>
  3510. \t\t\t\t\t\t\t    <small class=\"text-muted\">幅(cm) × 奥行き(cm) ÷ 10000 = ㎡</small>
  3511. \t\t\t\t\t\t\t  </div>
  3512. \t\t\t\t\t\t\t</div>
  3513. \t\t\t\t\t\t\t";
  3514.             // line 2081
  3515.             echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3516. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">ステップ</label>
  3517. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3518. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3519. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3520. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_step\" id=\"deck_step_yes\" value=\"必要\"
  3521. \t\t\t\t\t\t\t          ";
  3522.             // line 2087
  3523.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2087$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2087$this->source); })()), "deck_step", [], "any"falsefalsefalse2087) == "必要"))) {
  3524.                 echo "checked";
  3525.             }
  3526.             // line 2088
  3527.             echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op0','deck_step_yes');\">
  3528. \t\t\t\t\t\t\t        <label for=\"deck_step_yes\">必要</label>
  3529. \t\t\t\t\t\t\t      </div>
  3530. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3531. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_step\" id=\"deck_step_no\" value=\"不要\"
  3532. \t\t\t\t\t\t\t          ";
  3533.             // line 2093
  3534.             if ((( !(isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2093$this->source); })()) || (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2093$this->source); })()), "deck_step", [], "any"falsefalsefalse2093) == "不要")) ||  !twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2093$this->source); })()), "deck_step", [], "any"falsefalsefalse2093))) {
  3535.                 echo "checked";
  3536.             }
  3537.             // line 2094
  3538.             echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op0','deck_step_no');\">
  3539. \t\t\t\t\t\t\t        <label for=\"deck_step_no\">不要</label>
  3540. \t\t\t\t\t\t\t      </div>
  3541. \t\t\t\t\t\t\t    </div>
  3542. \t\t\t\t\t\t\t  </div>
  3543. \t\t\t\t\t\t\t</div>
  3544. \t\t\t\t\t\t\t";
  3545.             // line 2102
  3546.             echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3547. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">デッキフェンス</label>
  3548. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3549. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3550. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3551. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_yes\" value=\"必要\"
  3552. \t\t\t\t\t\t\t          ";
  3553.             // line 2108
  3554.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2108$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2108$this->source); })()), "deck_fence", [], "any"falsefalsefalse2108) == "必要"))) {
  3555.                 echo "checked";
  3556.             }
  3557.             // line 2109
  3558.             echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op1','deck_fence_yes');\">
  3559. \t\t\t\t\t\t\t        <label for=\"deck_fence_yes\">必要</label>
  3560. \t\t\t\t\t\t\t      </div>
  3561. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3562. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_no\" value=\"不要\"
  3563. \t\t\t\t\t\t\t          ";
  3564.             // line 2114
  3565.             if ((( !(isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2114$this->source); })()) || (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2114$this->source); })()), "deck_fence", [], "any"falsefalsefalse2114) == "不要")) ||  !twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2114$this->source); })()), "deck_fence", [], "any"falsefalsefalse2114))) {
  3566.                 echo "checked";
  3567.             }
  3568.             // line 2115
  3569.             echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op1','deck_fence_no');\">
  3570. \t\t\t\t\t\t\t        <label for=\"deck_fence_no\">不要</label>
  3571. \t\t\t\t\t\t\t      </div>
  3572. \t\t\t\t\t\t\t    </div>
  3573. \t\t\t\t\t\t\t  </div>
  3574. \t\t\t\t\t\t\t</div>
  3575. \t\t\t\t\t\t";
  3576.         }
  3577.         // line 2123
  3578.         echo "
  3579. \t\t\t\t\t\t<!-- 6: 施工見積(芝生・枚数・数量買い) -->
  3580. \t\t\t\t\t\t";
  3581.         // line 2125
  3582.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductClass"]) || array_key_exists("ProductClass"$context) ? $context["ProductClass"] : (function () { throw new RuntimeError('Variable "ProductClass" does not exist.'2125$this->source); })()), "SaleType", [], "any"falsefalsefalse2125), "id", [], "any"falsefalsefalse2125) == 6)) {
  3583.             // line 2126
  3584.             echo "
  3585. \t\t\t\t\t\t\t";
  3586.             // line 2128
  3587.             echo "\t\t\t\t\t\t\t";
  3588.             if ((((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'2128$this->source); })()) && twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'2128$this->source); })()))) && (twig_join_filter((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'2128$this->source); })())) != ""))) {
  3589.                 // line 2129
  3590.                 echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3591. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">規格</label>
  3592. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3593. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3594. \t\t\t\t\t\t\t    ";
  3595.                 // line 2133
  3596.                 $context["idx"] = 0;
  3597.                 // line 2134
  3598.                 echo "\t\t\t\t\t\t\t    ";
  3599.                 $context['_parent'] = $context;
  3600.                 $context['_seq'] = twig_ensure_traversable((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'2134$this->source); })()));
  3601.                 foreach ($context['_seq'] as $context["_key"] => $context["pm_val"]) {
  3602.                     if ($context["pm_val"]) {
  3603.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2134$this->source); })()) + 1);
  3604.                         // line 2135
  3605.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3606. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pm\" id=\"pm6_";
  3607.                         // line 2136
  3608.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2136$this->source); })()), "html"nulltrue);
  3609.                         echo "\" value=\"";
  3610.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3611.                         echo "\"
  3612. \t\t\t\t\t\t\t          ";
  3613.                         // line 2137
  3614.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2137$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2137$this->source); })()), "pm", [], "any"falsefalsefalse2137) == $context["pm_val"])) || (twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'2137$this->source); })())) == 1))) {
  3615.                             echo "checked";
  3616.                         }
  3617.                         // line 2138
  3618.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','pm6_";
  3619.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2138$this->source); })()), "html"nulltrue);
  3620.                         echo "');\">
  3621. \t\t\t\t\t\t\t        <label for=\"pm6_";
  3622.                         // line 2139
  3623.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2139$this->source); })()), "html"nulltrue);
  3624.                         echo "\">";
  3625.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3626.                         echo "</label>
  3627. \t\t\t\t\t\t\t      </div>
  3628. \t\t\t\t\t\t\t    ";
  3629.                     }
  3630.                 }
  3631.                 $_parent $context['_parent'];
  3632.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm_val'], $context['_parent'], $context['loop']);
  3633.                 $context array_intersect_key($context$_parent) + $_parent;
  3634.                 // line 2142
  3635.                 echo "\t\t\t\t\t\t\t    </div>
  3636. \t\t\t\t\t\t\t  </div>
  3637. \t\t\t\t\t\t\t</div>
  3638. \t\t\t\t\t\t\t";
  3639.             }
  3640.             // line 2146
  3641.             echo "
  3642. \t\t\t\t\t\t\t";
  3643.             // line 2148
  3644.             echo "\t\t\t\t\t\t\t";
  3645.             if ((((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'2148$this->source); })()) && twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'2148$this->source); })()))) && (twig_join_filter((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'2148$this->source); })())) != ""))) {
  3646.                 // line 2149
  3647.                 echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3648. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">芝の長さ</label>
  3649. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3650. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3651. \t\t\t\t\t\t\t    ";
  3652.                 // line 2153
  3653.                 $context["idx"] = 0;
  3654.                 // line 2154
  3655.                 echo "\t\t\t\t\t\t\t    ";
  3656.                 $context['_parent'] = $context;
  3657.                 $context['_seq'] = twig_ensure_traversable((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'2154$this->source); })()));
  3658.                 foreach ($context['_seq'] as $context["_key"] => $context["pw_val"]) {
  3659.                     if ($context["pw_val"]) {
  3660.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2154$this->source); })()) + 1);
  3661.                         // line 2155
  3662.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3663. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pw\" id=\"pw6_";
  3664.                         // line 2156
  3665.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2156$this->source); })()), "html"nulltrue);
  3666.                         echo "\" value=\"";
  3667.                         echo twig_escape_filter($this->env$context["pw_val"], "html"nulltrue);
  3668.                         echo "\"
  3669. \t\t\t\t\t\t\t          ";
  3670.                         // line 2157
  3671.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2157$this->source); })()) && (twig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2157$this->source); })()), "pw", [], "any"falsefalsefalse2157) == $context["pw_val"])) || (twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'2157$this->source); })())) == 1))) {
  3672.                             echo "checked";
  3673.                         }
  3674.                         // line 2158
  3675.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pw','pw6_";
  3676.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2158$this->source); })()), "html"nulltrue);
  3677.                         echo "');\">
  3678. \t\t\t\t\t\t\t        <label for=\"pw6_";
  3679.                         // line 2159
  3680.                         echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2159$this->source); })()), "html"nulltrue);
  3681.                         echo "\">";
  3682.                         echo twig_escape_filter($this->env$context["pw_val"], "html"nulltrue);
  3683.                         echo "</label>
  3684. \t\t\t\t\t\t\t      </div>
  3685. \t\t\t\t\t\t\t    ";
  3686.                     }
  3687.                 }
  3688.                 $_parent $context['_parent'];
  3689.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw_val'], $context['_parent'], $context['loop']);
  3690.                 $context array_intersect_key($context$_parent) + $_parent;
  3691.                 // line 2162
  3692.                 echo "\t\t\t\t\t\t\t    </div>
  3693. \t\t\t\t\t\t\t  </div>
  3694. \t\t\t\t\t\t\t</div>
  3695. \t\t\t\t\t\t\t";
  3696.             }
  3697.             // line 2166
  3698.             echo "
  3699. \t\t\t\t\t\t\t";
  3700.             // line 2168
  3701.             echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3702. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">施工面積</label>
  3703. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3704. \t\t\t\t\t\t\t    <div class=\"input-group\">
  3705. \t\t\t\t\t\t\t      <input type=\"number\" name=\"area\" id=\"area\"
  3706. \t\t\t\t\t\t\t        class=\"form-control\"
  3707. \t\t\t\t\t\t\t        value=\"";
  3708.             // line 2174
  3709.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "area", [], "any"truetruefalse2174)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "area", [], "any"falsefalsefalse2174), "")) : ("")), "html"nulltrue);
  3710.             echo "\"
  3711. \t\t\t\t\t\t\t        placeholder=\"例: 10.5\"
  3712. \t\t\t\t\t\t\t        min=\"0.1\" step=\"0.1\"
  3713. \t\t\t\t\t\t\t        onchange=\"mitsumori_simulation('area','area');\">
  3714. \t\t\t\t\t\t\t      <span class=\"input-group-text\">平米</span>
  3715. \t\t\t\t\t\t\t    </div>
  3716. \t\t\t\t\t\t\t  </div>
  3717. \t\t\t\t\t\t\t</div>
  3718. \t\t\t\t\t\t";
  3719.         }
  3720.         // line 2184
  3721.         echo "
  3722. \t\t\t\t\t\t<!-- 9: 商品のみ購入 -->
  3723. \t\t\t\t\t\t";
  3724.         // line 2186
  3725.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["ProductClass"]) || array_key_exists("ProductClass"$context) ? $context["ProductClass"] : (function () { throw new RuntimeError('Variable "ProductClass" does not exist.'2186$this->source); })()), "SaleType", [], "any"falsefalsefalse2186), "id", [], "any"falsefalsefalse2186) == 9)) {
  3726.             // line 2187
  3727.             echo "\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3728. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">数量</label>
  3729. \t\t\t\t\t\t\t  <div class=\"col-4\">
  3730. \t\t\t\t\t\t\t    <div class=\"input-group mb-3\">
  3731. \t\t\t\t\t\t\t      <input type=\"number\" name=\"quantity_only\" id=\"quantity_only\" class=\"form-control\" value=\"1\" min=\"1\" onchange=\"\$('#quantity').val(this.value);\">
  3732. \t\t\t\t\t\t\t      <span class=\"input-group-text\">個</span>
  3733. \t\t\t\t\t\t\t    </div>
  3734. \t\t\t\t\t\t\t  </div>
  3735. \t\t\t\t\t\t\t  <div class=\"col-4\">
  3736. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"quantityOnly(+1);\">+</button>
  3737. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"quantityOnly(-1);\">ー</button>
  3738. \t\t\t\t\t\t\t  </div>
  3739. \t\t\t\t\t\t\t</div>
  3740. \t\t\t\t\t\t";
  3741.         }
  3742.         // line 2201
  3743.         echo "
  3744. \t\t\t\t\t    <div class=\"row\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\"><label class=\"col-12 col-form-label\">取り付け工事のご希望に関してお答えください。</label></div>
  3745. \t\t\t\t\t\t";
  3746.         // line 2206
  3747.         $context['_parent'] = $context;
  3748.         $context['_seq'] = twig_ensure_traversable(range(010));
  3749.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  3750.             // line 2207
  3751.             echo "\t\t\t\t\t\t\t";
  3752.             if (((isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2207$this->source); })()) && (twig_length_filter($this->env, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2207$this->source); })())) >= ($context["i"] + 1)))) {
  3753.                 // line 2208
  3754.                 echo "\t\t\t\t\t\t\t";
  3755.                 if (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2208$this->source); })()), $context["i"], [], "array"falsefalsefalse2208), "name", [], "array"falsefalsefalse2208)) {
  3756.                     // line 2209
  3757.                     echo "\t\t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  3758. \t\t\t\t\t\t\t  <div class=\"rp-section-label\">";
  3759.                     // line 2210
  3760.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2210$this->source); })()), $context["i"], [], "array"falsefalsefalse2210), "name", [], "array"falsefalsefalse2210), "html"nulltrue);
  3761.                     if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2210$this->source); })()) && twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2210$this->source); })()), "op", [], "any"falsefalsefalse2210), $context["i"], [], "array"falsefalsefalse2210))) {
  3762.                         echo ": <span>";
  3763.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2210$this->source); })()), "op", [], "any"falsefalsefalse2210), $context["i"], [], "array"falsefalsefalse2210), "html"nulltrue);
  3764.                         echo "</span>";
  3765.                     }
  3766.                     echo "</div>
  3767. \t\t\t\t\t\t\t  ";
  3768.                     // line 2211
  3769.                     if (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2211$this->source); })()), $context["i"], [], "array"falsefalsefalse2211), "comment", [], "array"falsefalsefalse2211)) {
  3770.                         echo "<div class=\"opt-comment\" style=\"font-size:12px;color:#666;margin:4px 0 6px;\">";
  3771.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2211$this->source); })()), $context["i"], [], "array"falsefalsefalse2211), "comment", [], "array"falsefalsefalse2211), "html"nulltrue);
  3772.                         echo "</div>";
  3773.                     }
  3774.                     // line 2212
  3775.                     echo "\t\t\t\t\t\t\t  <div class=\"opt-btn-group\">
  3776. \t\t\t\t\t\t\t    <label class=\"opt-btn";
  3777.                     // line 2213
  3778.                     if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2213$this->source); })()) && (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2213$this->source); })()), "op", [], "any"falsefalsefalse2213), $context["i"], [], "array"falsefalsefalse2213) == twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2213$this->source); })()), $context["i"], [], "array"falsefalsefalse2213), "on", [], "array"falsefalsefalse2213)))) {
  3779.                         echo " is-selected";
  3780.                     }
  3781.                     echo "\"
  3782. \t\t\t\t\t\t\t           onclick=\"mitsumori_simulation('op";
  3783.                     // line 2214
  3784.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3785.                     echo "','op";
  3786.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3787.                     echo "_1');\">
  3788. \t\t\t\t\t\t\t      <input type=\"radio\" name=\"op";
  3789.                     // line 2215
  3790.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3791.                     echo "\" id=\"op";
  3792.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3793.                     echo "_1\" value=\"";
  3794.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2215$this->source); })()), $context["i"], [], "array"falsefalsefalse2215), "on", [], "array"falsefalsefalse2215), "html"nulltrue);
  3795.                     echo "\" ";
  3796.                     if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2215$this->source); })()) && (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2215$this->source); })()), "op", [], "any"falsefalsefalse2215), $context["i"], [], "array"falsefalsefalse2215) == twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2215$this->source); })()), $context["i"], [], "array"falsefalsefalse2215), "on", [], "array"falsefalsefalse2215)))) {
  3797.                         echo "checked";
  3798.                     }
  3799.                     echo ">
  3800. \t\t\t\t\t\t\t      ";
  3801.                     // line 2216
  3802.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2216$this->source); })()), $context["i"], [], "array"falsefalsefalse2216), "on", [], "array"falsefalsefalse2216), "html"nulltrue);
  3803.                     echo "
  3804. \t\t\t\t\t\t\t    </label>
  3805. \t\t\t\t\t\t\t    <label class=\"opt-btn";
  3806.                     // line 2218
  3807.                     if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2218$this->source); })()) && (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2218$this->source); })()), "op", [], "any"falsefalsefalse2218), $context["i"], [], "array"falsefalsefalse2218) == twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2218$this->source); })()), $context["i"], [], "array"falsefalsefalse2218), "off", [], "array"falsefalsefalse2218)))) {
  3808.                         echo " is-selected";
  3809.                     }
  3810.                     echo "\"
  3811. \t\t\t\t\t\t\t           onclick=\"mitsumori_simulation('op";
  3812.                     // line 2219
  3813.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3814.                     echo "','op";
  3815.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3816.                     echo "_2');\">
  3817. \t\t\t\t\t\t\t      <input type=\"radio\" name=\"op";
  3818.                     // line 2220
  3819.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3820.                     echo "\" id=\"op";
  3821.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3822.                     echo "_2\" value=\"";
  3823.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2220$this->source); })()), $context["i"], [], "array"falsefalsefalse2220), "off", [], "array"falsefalsefalse2220), "html"nulltrue);
  3824.                     echo "\" ";
  3825.                     if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2220$this->source); })()) && (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2220$this->source); })()), "op", [], "any"falsefalsefalse2220), $context["i"], [], "array"falsefalsefalse2220) == twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2220$this->source); })()), $context["i"], [], "array"falsefalsefalse2220), "off", [], "array"falsefalsefalse2220)))) {
  3826.                         echo "checked";
  3827.                     }
  3828.                     echo ">
  3829. \t\t\t\t\t\t\t      ";
  3830.                     // line 2221
  3831.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2221$this->source); })()), $context["i"], [], "array"falsefalsefalse2221), "off", [], "array"falsefalsefalse2221), "html"nulltrue);
  3832.                     echo "
  3833. \t\t\t\t\t\t\t    </label>
  3834. \t\t\t\t\t\t\t  </div>
  3835. \t\t\t\t\t\t\t</div>
  3836. \t\t\t\t\t\t\t";
  3837.                 }
  3838.                 // line 2226
  3839.                 echo "\t\t\t\t\t\t\t";
  3840.             }
  3841.             // line 2227
  3842.             echo "\t\t\t\t\t\t";
  3843.         }
  3844.         $_parent $context['_parent'];
  3845.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  3846.         $context array_intersect_key($context$_parent) + $_parent;
  3847.         // line 2228
  3848.         echo "
  3849. \t\t\t\t\t  </div>
  3850. \t\t\t\t\t  <!-- /.card-body -->
  3851. \t\t\t\t\t</div>
  3852.                     <form action=\"";
  3853.         // line 2234
  3854.         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.'2234$this->source); })()), "id", [], "any"falsefalsefalse2234)]), "html"nulltrue);
  3855.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  3856.                         ";
  3857.         // line 2235
  3858.         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.'2235$this->source); })()), "stock_find", [], "any"falsefalsefalse2235)) {
  3859.             // line 2236
  3860.             echo "                            <div class=\"ec-productRole__actions\">
  3861.                                 ";
  3862.             // line 2237
  3863.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse2237)) {
  3864.                 // line 2238
  3865.                 echo "                                    <div class=\"ec-select\">
  3866.                                         ";
  3867.                 // line 2239
  3868.                 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.'2239$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse2239), 'row');
  3869.                 echo "
  3870.                                         ";
  3871.                 // line 2240
  3872.                 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.'2240$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse2240), 'errors');
  3873.                 echo "
  3874.                                     </div>
  3875.                                     ";
  3876.                 // line 2242
  3877.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse2242)) {
  3878.                     // line 2243
  3879.                     echo "                                        <div class=\"ec-select\">
  3880.                                             ";
  3881.                     // line 2244
  3882.                     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.'2244$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse2244), 'row');
  3883.                     echo "
  3884.                                             ";
  3885.                     // line 2245
  3886.                     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.'2245$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse2245), 'errors');
  3887.                     echo "
  3888.                                         </div>
  3889.                                     ";
  3890.                 }
  3891.                 // line 2248
  3892.                 echo "                                ";
  3893.             }
  3894.             // line 2249
  3895.             echo "                                <div class=\"ec-numberInput\">
  3896.                                     ";
  3897.             // line 2250
  3898.             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.'2250$this->source); })()), "quantity", [], "any"falsefalsefalse2250), 'widget', ["type" => "hidden"]);
  3899.             echo "
  3900.                                     ";
  3901.             // line 2251
  3902.             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.'2251$this->source); })()), "quantity", [], "any"falsefalsefalse2251), 'errors');
  3903.             echo "
  3904.                                 </div>
  3905.                             </div>
  3906.                         ";
  3907.         } else {
  3908.             // line 2256
  3909.             echo "                            <div class=\"ec-productRole__btn\">
  3910.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  3911.                                     ";
  3912.             // line 2258
  3913.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  3914.             echo "
  3915.                                 </button>
  3916.                             </div>
  3917.                         ";
  3918.         }
  3919.         // line 2262
  3920.         echo "                        <div class=\"ec-productRole__btn mt-3\">
  3921.                            <button type=\"submit\" id=\"cart_btn\" class=\"ec-blockBtn--action add-cart\">施工検討リストに入れる</button>
  3922.                         </div>
  3923.                         ";
  3924.         // line 2265
  3925.         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.'2265$this->source); })()), 'rest');
  3926.         echo "
  3927.                     </form>
  3928.                     <div class=\"ec-modal add-cart-modal\">
  3929.                         <div class=\"ec-modal-overlay\">
  3930.                             <div class=\"ec-modal-wrap add-cart-modal__wrap\">
  3931.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  3932.         // line 2270
  3933.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  3934.         echo "\" alt=\"\"/></span></span>
  3935.                                 <div id=\"ec-modal-header\" class=\"text-center add-cart-modal__header\">";
  3936.         // line 2271
  3937.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("施工検討リストに追加しました。"), "html"nulltrue);
  3938.         echo "</div>
  3939.                                 <div class=\"ec-modal-box add-cart-modal__box\">
  3940.                                     <div class=\"ec-role add-cart-modal__actions\">
  3941.                                         <a href=\"";
  3942.         // line 2274
  3943.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  3944.         echo "\" class=\"ec-inlineBtn--action add-cart-modal__primary\">";
  3945.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("施工検討リストへ進む"), "html"nulltrue);
  3946.         echo "</a>
  3947.                                         <span class=\"ec-inlineBtn--cancel add-cart-modal__secondary\">";
  3948.         // line 2275
  3949.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品検索を続ける"), "html"nulltrue);
  3950.         echo "</span>
  3951.                                     </div>
  3952.                                 </div>
  3953.                             </div>
  3954.                         </div>
  3955.                     </div>
  3956.                     <div class=\"ec-productRole__description\">";
  3957.         // line 2281
  3958.         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.'2281$this->source); })()), "description_detail", [], "any"falsefalsefalse2281));
  3959.         echo "
  3960.                     </div>
  3961.                     ";
  3962.         // line 2285
  3963.         echo "                    <div class=\"ec-productRole__share\">
  3964.                         <ul class=\"ec-share\">
  3965.                             <li class=\"ec-share__item\">
  3966.                                 <a href=\"https://twitter.com/share?url=";
  3967.         // line 2288
  3968.         echo twig_escape_filter($this->envtwig_urlencode_filter(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'2288$this->source); })()), "request", [], "any"falsefalsefalse2288), "uri", [], "any"falsefalsefalse2288)), "html"nulltrue);
  3969.         echo "&text=";
  3970.         echo twig_escape_filter($this->envtwig_urlencode_filter(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.'2288$this->source); })()), "name", [], "any"falsefalsefalse2288)), "html"nulltrue);
  3971.         echo "\" class=\"ec-share__link ec-share__link--twitter\" target=\"_blank\" rel=\"noreferrer noopener\">
  3972.                                     <i class=\"fab fa-twitter\"></i>
  3973.                                 </a>
  3974.                             </li>
  3975.                             <li class=\"ec-share__item\">
  3976.                                 <a href=\"https://www.facebook.com/sharer/sharer.php?u=";
  3977.         // line 2293
  3978.         echo twig_escape_filter($this->envtwig_urlencode_filter(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'2293$this->source); })()), "request", [], "any"falsefalsefalse2293), "uri", [], "any"falsefalsefalse2293)), "html"nulltrue);
  3979.         echo "\" class=\"ec-share__link ec-share__link--facebook\" target=\"_blank\" rel=\"noreferrer noopener\">
  3980.                                     <i class=\"fab fa-facebook-f\"></i>
  3981.                                 </a>
  3982.                             </li>
  3983.                             <li class=\"ec-share__item\">
  3984.                                 <a href=\"https://social-plugins.line.me/lineit/share?url=";
  3985.         // line 2298
  3986.         echo twig_escape_filter($this->envtwig_urlencode_filter(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'2298$this->source); })()), "request", [], "any"falsefalsefalse2298), "uri", [], "any"falsefalsefalse2298)), "html"nulltrue);
  3987.         echo "\" class=\"ec-share__link ec-share__link--line\" target=\"_blank\" rel=\"noreferrer noopener\">
  3988.                                     <i class=\"fab fa-line\"></i>
  3989.                                 </a>
  3990.                             </li>
  3991.                         </ul>
  3992.                     </div>
  3993.                 </div>
  3994. \t\t\t\t";
  3995.         // line 2306
  3996.         echo "\t\t\t\t<div id=\"sp-mitsumori-bar\">
  3997. \t\t\t\t    <div>
  3998. \t\t\t\t        <div class=\"sp-bar__label\">合計(工事費・税込)</div>
  3999. \t\t\t\t        <div class=\"sp-bar__price\" id=\"sp-mitsumori-price\">---円</div>
  4000. \t\t\t\t    </div>
  4001. \t\t\t\t    <button type=\"button\" class=\"sp-bar__btn\"
  4002. \t\t\t\t            onclick=\"document.getElementById('cart_btn2') && document.getElementById('cart_btn2').click();\">
  4003. \t\t\t\t        <i class=\"fas fa-shopping-cart\"></i>
  4004. \t\t\t\t        <span class=\"sp-bar__btn-label\">検討リストへ</span>
  4005. \t\t\t\t        ";
  4006.         // line 2315
  4007.         $context["spTotalQty"] = $this->extensions['Eccube\Twig\Extension\CartServiceExtension']->get_carts_total_quantity();
  4008.         // line 2316
  4009.         echo "\t\t\t\t        ";
  4010.         if (((isset($context["spTotalQty"]) || array_key_exists("spTotalQty"$context) ? $context["spTotalQty"] : (function () { throw new RuntimeError('Variable "spTotalQty" does not exist.'2316$this->source); })()) > 0)) {
  4011.             // line 2317
  4012.             echo "\t\t\t\t            <span class=\"sp-bar__cart-badge\">";
  4013.             echo twig_escape_filter($this->envtwig_number_format_filter($this->env, (isset($context["spTotalQty"]) || array_key_exists("spTotalQty"$context) ? $context["spTotalQty"] : (function () { throw new RuntimeError('Variable "spTotalQty" does not exist.'2317$this->source); })())), "html"nulltrue);
  4014.             echo "</span>
  4015. \t\t\t\t        ";
  4016.         }
  4017.         // line 2319
  4018.         echo "\t\t\t\t    </button>
  4019. \t\t\t\t    <a href=\"";
  4020.         // line 2320
  4021.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  4022.         echo "\" class=\"sp-bar__home-btn\" title=\"トップページへ\">
  4023. \t\t\t\t        <i class=\"fas fa-home\"></i>
  4024. \t\t\t\t    </a>
  4025. \t\t\t\t</div>
  4026. \t\t\t\t<div class=\"card col-12 collapsed-card sticky-top float-right mitsumori-card-pc\">
  4027. \t\t\t\t\t<div class=\"card-header\">
  4028. \t\t\t\t\t  <h3 class=\"card-title\">現在のお見積り額</h3>
  4029. \t\t\t\t\t  <div class=\"card-tools\">
  4030. \t\t\t\t\t    <span class=\"float-left\" id=\"mitsumori_message\">395000円</span>
  4031. \t\t\t\t\t    <button type=\"button\" class=\"btn btn-tool btn-mitsumori-toggle\" data-card-widget=\"collapse\" title=\"詳細を表示\">
  4032. \t\t\t\t\t      <span class=\"toggle-icon\">▼ 詳細</span>
  4033. \t\t\t\t\t    </button>
  4034. \t\t\t\t\t  </div>
  4035. \t\t\t\t\t</div>
  4036. \t\t\t\t\t<div class=\"card-body p-0\">
  4037. \t\t\t\t\t  <ul class=\"nav nav-pills flex-column\">
  4038. \t\t\t\t\t    <li class=\"nav-item active\">
  4039. \t\t\t\t\t      <a class=\"nav-link\">
  4040. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 合計(工事費・税込)
  4041. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_goukei\">395,000円</span>
  4042. \t\t\t\t\t      </a>
  4043. \t\t\t\t\t    </li>
  4044. \t\t\t\t\t    <li class=\"nav-item active\">
  4045. \t\t\t\t\t      <a class=\"nav-link\">
  4046. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 商品価格
  4047. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_price\">307,008円</span>
  4048. \t\t\t\t\t      </a>
  4049. \t\t\t\t\t    </li>
  4050. \t\t\t\t\t    <li class=\"nav-item\">
  4051. \t\t\t\t\t      <a class=\"nav-link\">
  4052. \t\t\t\t\t        &nbsp;&nbsp;<i class=\"far fa-file-alt\"></i> カタログ価格
  4053. \t\t\t\t\t        <span class=\"float-right\" id=\"maker_price\">479,700円</span>
  4054. \t\t\t\t\t      </a>
  4055. \t\t\t\t\t    </li>
  4056. \t\t\t\t\t    <li class=\"nav-item\">
  4057. \t\t\t\t\t      <a class=\"nav-link\">
  4058. \t\t\t\t\t        &nbsp;&nbsp;<i class=\"far fa-file-alt\"></i> お値引き
  4059. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_off\">-172,692円</span>
  4060. \t\t\t\t\t      </a>
  4061. \t\t\t\t\t    </li>
  4062. \t\t\t\t\t    <li class=\"nav-item\">
  4063. \t\t\t\t\t      <a class=\"nav-link\">
  4064. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 基本工事費
  4065. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_ct\">53,250円</span>
  4066. \t\t\t\t\t      </a>
  4067. \t\t\t\t\t    </li>
  4068. \t\t\t\t\t    <li class=\"nav-item\">
  4069. \t\t\t\t\t      <a class=\"nav-link\">
  4070. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 施工オプション
  4071. \t\t\t\t\t        <span class=\"float-right\"id=\"mitsumori_option\">6,297円</span>
  4072. \t\t\t\t\t      </a>
  4073. \t\t\t\t\t    </li>
  4074. \t\t\t\t\t  </ul>
  4075. \t\t\t\t\t</div>
  4076. \t\t\t\t\t<div class=\"card-footer\">
  4077. \t\t                <button type=\"button\" id=\"mitsumori_btn\" class=\"btn btn-info\" data-toggle=\"modal\" data-target=\"#modal-mitsumori\">
  4078. \t\t                  見積書表示
  4079. \t\t                </button>
  4080.                         <button type=\"submit\" id=\"cart_btn2\" class=\"btn btn-info add-cart\">施工検討リストに入れる</button>
  4081. \t\t\t\t\t</div>
  4082. \t\t\t\t</div>
  4083.             </div>
  4084.         </div>
  4085.     </div>
  4086.   <div class=\"modal\" id=\"modal-mitsumori\">
  4087.     <div class=\"modal-dialog modal-mitsumori\" style=\"max-width:1000px\">
  4088.       <div class=\"modal-content\">
  4089.         <div class=\"modal-header\">
  4090.           <h4 class=\"modal-title\">お見積書</h4>
  4091.           <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  4092.             <span aria-hidden=\"true\">&times;</span>
  4093.           </button>
  4094.         </div>
  4095.         <div class=\"modal-body\">
  4096. \t\t\t<div class=\"invoice p-3 mb-5\" style=\"max-width:1000px; margin:auto;\">
  4097. \t\t\t  <!-- title row -->
  4098. \t\t\t  <div class=\"row\">
  4099. \t\t\t    <div class=\"col-12\">
  4100. \t\t\t      <h2>概算お見積書 
  4101. \t\t\t        <small class=\"float-right\" style=\"font-size:14px;\">発行日: 2025/03/14</small>
  4102. \t\t\t      </h2>
  4103. \t\t\t    </div>
  4104. \t\t\t    <!-- /.col -->
  4105. \t\t\t  </div>
  4106. \t\t\t  <!-- info row -->
  4107. \t\t\t  <div class=\"row invoice-info\">
  4108. \t\t\t    <div class=\"col-sm-8 invoice-col\">
  4109. \t\t\t      <h3>お客様</h3>
  4110. \t\t\t      <span>下記の通り、お見積もり申し上げます。</span>
  4111. \t\t\t      <br />
  4112. \t\t\t      <br / >
  4113. \t\t\t      <br />
  4114. \t\t\t      <h2>お見積金額: <span id=\"mitsumori_kei\">399,080円</span></h2>
  4115. \t\t\t      <span>
  4116. \t\t\t        <br/>
  4117. \t\t\t        <br/>
  4118. \t\t\t        <br/>
  4119. \t\t\t        <br/>
  4120. \t\t\t      </span>
  4121. \t\t\t    </div>
  4122. \t\t\t    <div class=\"col-sm-4 invoice-col\">
  4123. \t\t\t      <p>
  4124. \t\t\t        <img alt=\"\" src=\"/html/user_data/js/images/logo.png\" style=\"width: 260px; max-width: 100%; max-height: 10mm;\">
  4125. \t\t\t      </p>
  4126. \t\t\t      <p>有限会社プラス</p>
  4127. \t\t\t      <p>〒400-0334</p>
  4128. \t\t\t      <p>山梨県南アルプス市藤田1450番地2</p>
  4129. \t\t\t      <p>TEL: 055-284-6480</p>
  4130. \t\t\t      <img alt=\"\" src=\"/html/user_data/js/images/seal.svg\" style=\"z-index: 2; position: absolute; width: 21mm; left: 58mm; top: 36mm;\">
  4131. \t\t\t    </div>
  4132. \t\t\t    <!-- /.col -->
  4133. \t\t\t    <!-- /.col -->
  4134. \t\t\t  </div>
  4135. \t\t\t  <!-- /.row -->
  4136. \t\t\t  <!-- Table row -->
  4137. \t\t\t  <div class=\"row\">
  4138. \t\t\t    <div class=\"col-12 table-responsive\">
  4139. \t\t\t      <table class=\"table table-striped\">
  4140. \t\t\t        <thead>
  4141. \t\t\t          <tr>
  4142. \t\t\t            <th>項目</th>
  4143. \t\t\t            <th>数量</th>
  4144. \t\t\t            <th>単位</th>
  4145. \t\t\t            <th>単価</th>
  4146. \t\t\t            <th>小計</th>
  4147. \t\t\t          </tr>
  4148. \t\t\t        </thead>
  4149. \t\t\t        <tbody>
  4150. \t\t\t          <tr>
  4151. \t\t\t            <td>プレーンルーフ 600タイプ 1台用 単体セット</td>
  4152. \t\t\t            <td>1</td>
  4153. \t\t\t            <td>式</td>
  4154. \t\t\t            <td id=\"mitsumori_price_01\">352,800</td>
  4155. \t\t\t            <td id=\"mitsumori_price_02\">352,800</td>
  4156. \t\t\t          </tr>
  4157. \t\t\t          <tr>
  4158. \t\t\t            <td>基本工事費</td>
  4159. \t\t\t            <td>1</td>
  4160. \t\t\t            <td>式</td>
  4161. \t\t\t            <td id=\"mitsumori_ct_01\">10,000</td>
  4162. \t\t\t            <td id=\"mitsumori_ct_02\">10,000</td>
  4163. \t\t\t          </tr>
  4164. \t\t\t          <tr>
  4165. \t\t\t            <td>残土・ガラ処理</td>
  4166. \t\t\t            <td>1</td>
  4167. \t\t\t            <td>式</td>
  4168. \t\t\t            <td>0円</td>
  4169. \t\t\t            <td></td>
  4170. \t\t\t          </tr>
  4171. \t\t\t          <tr>
  4172. \t\t\t            <td> </td>
  4173. \t\t\t            <td></td>
  4174. \t\t\t            <td></td>
  4175. \t\t\t            <td></td>
  4176. \t\t\t            <td></td>
  4177. \t\t\t          </tr>
  4178. \t\t\t        </tbody>
  4179. \t\t\t      </table>
  4180. \t\t\t    </div>
  4181. \t\t\t    <!-- /.col -->
  4182. \t\t\t  </div>
  4183. \t\t\t  <!-- /.row -->
  4184. \t\t\t  <div class=\"row\">
  4185. \t\t\t    <!-- accepted payments column -->
  4186. \t\t\t    <div class=\"col-6\">
  4187. \t\t\t      <p class=\"lead\">お支払い方法</p>
  4188. \t\t\t      <p class=\"text-muted well well-sm shadow-none\" style=\"margin-top: 10px;\">銀行振込、クレジットカード決済、PAYPAY決済
  4189. \t\t\t        <br>銀行振込:山梨中央銀行 白根支店 普通口座 391402
  4190. \t\t\t        <br>※商品代金と工事代金の総額が金100万円(税込)を超える場合、着手金として代金の半額をご契約後お支払いいただきます。 
  4191. \t\t\t      </p>
  4192. \t\t\t    </div>
  4193. \t\t\t    <!-- /.col -->
  4194. \t\t\t    <div class=\"col-6\">
  4195. \t\t\t      <div class=\"table-responsive\">
  4196. \t\t\t        <table class=\"table\">
  4197. \t\t\t          <tbody>
  4198. \t\t\t            <tr>
  4199. \t\t\t              <th style=\"width:50%\">小計:</th>
  4200. \t\t\t              <td id=\"mitsumori_shoukei\">362,800</td>
  4201. \t\t\t            </tr>
  4202. \t\t\t            <tr>
  4203. \t\t\t              <th>消費税 (10%)</th>
  4204. \t\t\t              <td id=\"mitsumori_tax\">36,280</td>
  4205. \t\t\t            </tr>
  4206. \t\t\t            <tr>
  4207. \t\t\t              <th>合計:</th>
  4208. \t\t\t              <td id=\"mitsumori_goukei_02\">399,080</td>
  4209. \t\t\t            </tr>
  4210. \t\t\t          </tbody>
  4211. \t\t\t        </table>
  4212. \t\t\t      </div>
  4213. \t\t\t    </div>
  4214. \t\t\t    <!-- /.col -->
  4215. \t\t\t  </div>
  4216. \t\t\t  <!-- /.row -->
  4217. \t\t\t</div>
  4218.         </div>
  4219.         <div class=\"modal-footer justify-content-between\">
  4220. \t\t\t      ";
  4221.         // line 2524
  4222.         echo "\t\t\t      <form method=\"post\" action=\"";
  4223.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("mitsumori_pdf");
  4224.         echo "\" target=\"_blank\" id=\"pdf_download_form\">
  4225. \t\t\t        <input type=\"hidden\" name=\"_token\" value=\"";
  4226.         // line 2525
  4227.         echo twig_escape_filter($this->env$this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderCsrfToken("mitsumori_pdf"), "html"nulltrue);
  4228.         echo "\">
  4229. \t\t\t        <input type=\"hidden\" name=\"mitsumori_json\" id=\"pdf_mitsumori_json\">
  4230. \t\t\t        <button type=\"submit\" class=\"btn btn-primary float-right\" style=\"margin-right: 5px;\" onclick=\"syncPdfJson();\">
  4231. \t\t\t          <i class=\"fas fa-download\"></i>PDF出力
  4232. \t\t\t        </button>
  4233. \t\t\t      </form>
  4234.                   <button type=\"submit\" id=\"cart_btn3\" class=\"btn btn-info add-cart\">施工検討リストに入れる</button>
  4235.         </div>
  4236.       </div>
  4237.       <!-- /.modal-content -->
  4238.     </div>
  4239.     <!-- /.modal-dialog -->
  4240.   </div>
  4241.   <!-- /.modal -->
  4242. ";
  4243.         
  4244.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  4245.         
  4246.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  4247.     }
  4248.     public function getTemplateName()
  4249.     {
  4250.         return "Product/detail.twig";
  4251.     }
  4252.     public function isTraitable()
  4253.     {
  4254.         return false;
  4255.     }
  4256.     public function getDebugInfo()
  4257.     {
  4258.         return array (  4372 => 2525,  4367 => 2524,  4161 => 2320,  4158 => 2319,  4152 => 2317,  4149 => 2316,  4147 => 2315,  4136 => 2306,  4126 => 2298,  4118 => 2293,  4108 => 2288,  4103 => 2285,  4097 => 2281,  4088 => 2275,  4082 => 2274,  4076 => 2271,  4072 => 2270,  4064 => 2265,  4059 => 2262,  4052 => 2258,  4048 => 2256,  4040 => 2251,  4036 => 2250,  4033 => 2249,  4030 => 2248,  4024 => 2245,  4020 => 2244,  4017 => 2243,  4015 => 2242,  4010 => 2240,  4006 => 2239,  4003 => 2238,  4001 => 2237,  3998 => 2236,  3996 => 2235,  3992 => 2234,  3984 => 2228,  3978 => 2227,  3975 => 2226,  3967 => 2221,  3955 => 2220,  3949 => 2219,  3943 => 2218,  3938 => 2216,  3926 => 2215,  3920 => 2214,  3914 => 2213,  3911 => 2212,  3905 => 2211,  3896 => 2210,  3893 => 2209,  3890 => 2208,  3887 => 2207,  3883 => 2206,  3876 => 2201,  3860 => 2187,  3858 => 2186,  3854 => 2184,  3841 => 2174,  3833 => 2168,  3830 => 2166,  3824 => 2162,  3812 => 2159,  3807 => 2158,  3803 => 2157,  3797 => 2156,  3794 => 2155,  3787 => 2154,  3785 => 2153,  3779 => 2149,  3776 => 2148,  3773 => 2146,  3767 => 2142,  3755 => 2139,  3750 => 2138,  3746 => 2137,  3740 => 2136,  3737 => 2135,  3730 => 2134,  3728 => 2133,  3722 => 2129,  3719 => 2128,  3716 => 2126,  3714 => 2125,  3710 => 2123,  3700 => 2115,  3696 => 2114,  3689 => 2109,  3685 => 2108,  3677 => 2102,  3668 => 2094,  3664 => 2093,  3657 => 2088,  3653 => 2087,  3645 => 2081,  3632 => 2070,  3624 => 2064,  3621 => 2062,  3619 => 2061,  3615 => 2059,  3601 => 2048,  3595 => 2044,  3592 => 2042,  3590 => 2041,  3586 => 2039,  3572 => 2028,  3566 => 2024,  3563 => 2022,  3557 => 2018,  3545 => 2015,  3540 => 2014,  3536 => 2013,  3530 => 2012,  3527 => 2011,  3520 => 2010,  3518 => 2009,  3512 => 2005,  3509 => 2004,  3506 => 2002,  3500 => 1998,  3488 => 1995,  3483 => 1994,  3479 => 1993,  3473 => 1992,  3470 => 1991,  3463 => 1990,  3461 => 1989,  3455 => 1985,  3452 => 1984,  3449 => 1982,  3443 => 1978,  3431 => 1975,  3426 => 1974,  3422 => 1973,  3416 => 1972,  3413 => 1971,  3406 => 1970,  3404 => 1969,  3398 => 1965,  3396 => 1964,  3393 => 1963,  3387 => 1959,  3375 => 1956,  3370 => 1955,  3366 => 1954,  3360 => 1953,  3357 => 1952,  3350 => 1951,  3348 => 1950,  3342 => 1946,  3340 => 1945,  3337 => 1944,  3331 => 1940,  3319 => 1937,  3314 => 1936,  3310 => 1935,  3304 => 1934,  3301 => 1933,  3294 => 1932,  3292 => 1931,  3286 => 1927,  3283 => 1926,  3280 => 1924,  3278 => 1923,  3274 => 1921,  3267 => 1916,  3252 => 1914,  3248 => 1913,  3242 => 1909,  3239 => 1907,  3233 => 1903,  3227 => 1902,  3219 => 1899,  3214 => 1898,  3210 => 1897,  3204 => 1896,  3201 => 1895,  3198 => 1894,  3195 => 1893,  3190 => 1892,  3188 => 1891,  3182 => 1887,  3179 => 1886,  3176 => 1884,  3170 => 1880,  3164 => 1879,  3156 => 1876,  3151 => 1875,  3147 => 1874,  3141 => 1873,  3138 => 1872,  3135 => 1871,  3132 => 1870,  3127 => 1869,  3125 => 1868,  3119 => 1864,  3116 => 1863,  3107 => 1856,  3097 => 1849,  3090 => 1844,  3087 => 1842,  3085 => 1841,  3081 => 1839,  3078 => 1838,  3076 => 1837,  3072 => 1835,  3067 => 1832,  3057 => 1829,  3051 => 1828,  3045 => 1827,  3041 => 1826,  3034 => 1825,  3027 => 1824,  3025 => 1823,  3016 => 1821,  3013 => 1820,  3011 => 1819,  3008 => 1818,  3003 => 1815,  2993 => 1812,  2987 => 1811,  2981 => 1810,  2977 => 1809,  2970 => 1808,  2963 => 1807,  2961 => 1806,  2952 => 1804,  2949 => 1803,  2947 => 1802,  2944 => 1801,  2939 => 1798,  2929 => 1795,  2923 => 1794,  2917 => 1793,  2913 => 1792,  2906 => 1791,  2899 => 1790,  2897 => 1789,  2888 => 1787,  2885 => 1786,  2883 => 1785,  2880 => 1784,  2875 => 1781,  2865 => 1778,  2859 => 1777,  2853 => 1776,  2849 => 1775,  2842 => 1774,  2835 => 1773,  2833 => 1772,  2824 => 1770,  2821 => 1769,  2819 => 1768,  2816 => 1767,  2811 => 1764,  2801 => 1761,  2795 => 1760,  2789 => 1759,  2785 => 1758,  2778 => 1757,  2771 => 1756,  2769 => 1755,  2760 => 1753,  2757 => 1752,  2755 => 1751,  2749 => 1747,  2745 => 1745,  2741 => 1743,  2732 => 1740,  2726 => 1739,  2722 => 1738,  2718 => 1737,  2711 => 1736,  2707 => 1735,  2704 => 1734,  2702 => 1733,  2698 => 1731,  2689 => 1728,  2685 => 1727,  2681 => 1726,  2674 => 1724,  2670 => 1723,  2666 => 1722,  2659 => 1721,  2655 => 1720,  2652 => 1719,  2650 => 1718,  2648 => 1717,  2639 => 1716,  2636 => 1715,  2633 => 1714,  2630 => 1712,  2626 => 1710,  2622 => 1708,  2613 => 1705,  2607 => 1704,  2603 => 1703,  2599 => 1702,  2592 => 1701,  2588 => 1700,  2585 => 1699,  2581 => 1697,  2572 => 1694,  2566 => 1691,  2562 => 1690,  2555 => 1688,  2551 => 1687,  2547 => 1686,  2540 => 1685,  2536 => 1684,  2533 => 1683,  2531 => 1682,  2522 => 1681,  2519 => 1680,  2516 => 1679,  2513 => 1677,  2509 => 1675,  2505 => 1673,  2496 => 1670,  2490 => 1669,  2486 => 1668,  2482 => 1667,  2475 => 1666,  2471 => 1665,  2468 => 1664,  2464 => 1662,  2455 => 1659,  2449 => 1656,  2445 => 1655,  2438 => 1653,  2434 => 1652,  2430 => 1651,  2423 => 1650,  2419 => 1649,  2416 => 1648,  2414 => 1647,  2405 => 1646,  2402 => 1645,  2399 => 1644,  2396 => 1642,  2392 => 1640,  2388 => 1638,  2379 => 1635,  2373 => 1634,  2369 => 1633,  2365 => 1632,  2358 => 1631,  2354 => 1630,  2351 => 1629,  2349 => 1628,  2345 => 1626,  2336 => 1623,  2330 => 1620,  2326 => 1619,  2319 => 1617,  2315 => 1616,  2311 => 1615,  2304 => 1614,  2300 => 1613,  2297 => 1612,  2295 => 1611,  2293 => 1610,  2284 => 1609,  2281 => 1608,  2278 => 1607,  2275 => 1605,  2271 => 1603,  2268 => 1602,  2266 => 1601,  2265 => 1600,  2264 => 1599,  2262 => 1598,  2259 => 1597,  2256 => 1596,  2253 => 1595,  2250 => 1594,  2247 => 1593,  2244 => 1592,  2241 => 1591,  2238 => 1590,  2236 => 1589,  2234 => 1588,  2222 => 1579,  2215 => 1574,  2203 => 1571,  2200 => 1570,  2197 => 1569,  2194 => 1567,  2183 => 1565,  2179 => 1564,  2176 => 1563,  2173 => 1561,  2167 => 1558,  2163 => 1557,  2160 => 1556,  2157 => 1555,  2151 => 1552,  2145 => 1551,  2142 => 1550,  2136 => 1547,  2132 => 1546,  2129 => 1545,  2127 => 1544,  2125 => 1543,  2121 => 1541,  2119 => 1540,  2115 => 1538,  2107 => 1535,  2092 => 1533,  2083 => 1532,  2066 => 1531,  2062 => 1529,  2058 => 1528,  2055 => 1527,  2052 => 1526,  2039 => 1515,  2025 => 1503,  2019 => 1498,  2000 => 1496,  1983 => 1495,  1979 => 1493,  1968 => 1491,  1946 => 1489,  1928 => 1488,  1925 => 1487,  1921 => 1485,  1913 => 1481,  1905 => 1477,  1903 => 1476,  1900 => 1475,  1898 => 1474,  1888 => 1467,  1876 => 1460,  1871 => 1458,  1867 => 1456,  1861 => 1451,  1851 => 1450,  1835 => 1443,  1831 => 1442,  1827 => 1441,  1823 => 1440,  1819 => 1438,  1813 => 1436,  1811 => 1435,  1806 => 1434,  1803 => 1433,  1793 => 1431,  1779 => 1429,  1771 => 1428,  1753 => 1427,  1748 => 1425,  1647 => 1331,  1639 => 1330,  1586 => 1280,  1475 => 1172,  1470 => 1169,  1467 => 1168,  1454 => 1167,  1451 => 1166,  1449 => 1165,  1446 => 1164,  1443 => 1163,  1430 => 1162,  1427 => 1161,  1425 => 1160,  1422 => 1159,  1419 => 1158,  1406 => 1157,  1403 => 1156,  1401 => 1155,  1398 => 1154,  1395 => 1153,  1382 => 1152,  1379 => 1151,  1377 => 1150,  1374 => 1149,  1371 => 1148,  1358 => 1147,  1355 => 1146,  1353 => 1145,  1324 => 1119,  1312 => 1110,  1148 => 949,  1138 => 944,  1132 => 943,  1126 => 942,  1120 => 941,  1114 => 940,  1108 => 939,  1102 => 938,  1096 => 937,  1090 => 936,  1084 => 935,  1078 => 934,  1072 => 933,  1066 => 932,  1060 => 931,  1054 => 930,  1048 => 929,  1028 => 912,  1018 => 905,  988 => 878,  976 => 868,  967 => 862,  963 => 860,  961 => 859,  958 => 858,  949 => 852,  945 => 850,  943 => 849,  871 => 779,  863 => 777,  861 => 776,  856 => 774,  853 => 773,  851 => 772,  837 => 761,  833 => 759,  823 => 758,  73 => 16,  63 => 15,  52 => 11,  50 => 13,  37 => 11,);
  4259.     }
  4260.     public function getSourceContext()
  4261.     {
  4262.         return new Source("{#
  4263. This file is part of EC-CUBE
  4264. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  4265. http://www.ec-cube.co.jp/
  4266. For the full copyright and license information, please view the LICENSE
  4267. file that was distributed with this source code.
  4268. #}
  4269. {% extends 'default_frame.twig' %}
  4270. {% set body_class = 'product_page' %}
  4271. {% block stylesheet %}
  4272.     <style>
  4273.         .slick-slider {
  4274.             margin-bottom: 10px;
  4275. \t\t\tmargin-top: -20px;
  4276.         }
  4277.         .slick-dots {
  4278.             position: absolute;
  4279.             bottom: -45px;
  4280.             display: block;
  4281.             width: 100%;
  4282.             padding: 0;
  4283.             list-style: none;
  4284.             text-align: center;
  4285.         }
  4286.         .slick-dots li {
  4287.             position: relative;
  4288.             display: inline-block;
  4289.             width: 20px;
  4290.             height: 20px;
  4291.             margin: 0 5px;
  4292.             padding: 0;
  4293.             cursor: pointer;
  4294.         }
  4295.         .slick-dots li button {
  4296.             font-size: 0;
  4297.             line-height: 0;
  4298.             display: block;
  4299.             width: 20px;
  4300.             height: 20px;
  4301.             padding: 5px;
  4302.             cursor: pointer;
  4303.             color: transparent;
  4304.             border: 0;
  4305.             outline: none;
  4306.             background: transparent;
  4307.         }
  4308.         .slick-dots li button:hover,
  4309.         .slick-dots li button:focus {
  4310.             outline: none;
  4311.         }
  4312.         .slick-dots li button:hover:before,
  4313.         .slick-dots li button:focus:before {
  4314.             opacity: 1;
  4315.         }
  4316.         .slick-dots li button:before {
  4317.             content: \" \";
  4318.             line-height: 20px;
  4319.             position: absolute;
  4320.             top: 0;
  4321.             left: 0;
  4322.             width: 12px;
  4323.             height: 12px;
  4324.             text-align: center;
  4325.             opacity: .25;
  4326.             background-color: black;
  4327.             border-radius: 50%;
  4328.         }
  4329.         .slick-dots li.slick-active button:before {
  4330.             opacity: .75;
  4331.             background-color: black;
  4332.         }
  4333.         .slick-dots li button.thumbnail img {
  4334.             width: 0;
  4335.             height: 0;
  4336.         }
  4337.     </style>
  4338.     <link rel=\"stylesheet\" href=\"/html/user_data/js/style.css\">
  4339.     <link rel=\"stylesheet\" href=\"/html/plugins/icheck-bootstrap/icheck-bootstrap.min.css\">
  4340.     <style>
  4341.         /* ============================================
  4342.            商品詳細グリッド: 画像50% / 内容50%(均等)
  4343.         ============================================ */
  4344.         @media (min-width: 768px) {
  4345.             body.product_page .ec-grid2 {
  4346.                 display: flex;
  4347.                 align-items: flex-start;
  4348.             }
  4349.             body.product_page .ec-grid2 .ec-grid2__cell {
  4350.                 width: 50%;
  4351.                 flex: 0 0 50%;
  4352.                 min-width: 0;
  4353.             }
  4354.             body.product_page .ec-grid2 .ec-grid2__cell2 {
  4355.                 width: 50%;
  4356.                 flex: 0 0 50%;
  4357.                 min-width: 0;
  4358.             }
  4359.         }
  4360.         /* ============================================
  4361.            商品説明欄内のHTMLが画面幅を突き抜けないように
  4362.         ============================================ */
  4363.         body.product_page .ec-productRole__description {
  4364.             min-width: 0;
  4365.             overflow-wrap: break-word;
  4366.             word-break: break-word;
  4367.         }
  4368.         body.product_page .ec-productRole__description img,
  4369.         body.product_page .ec-productRole__description table,
  4370.         body.product_page .ec-productRole__description iframe,
  4371.         body.product_page .ec-productRole__description video {
  4372.             max-width: 100% !important;
  4373.             height: auto;
  4374.         }
  4375.         body.product_page .ec-productRole__description table {
  4376.             display: block;
  4377.             overflow-x: auto;
  4378.             -webkit-overflow-scrolling: touch;
  4379.         }
  4380.         /* ============================================
  4381.            スマホ用 見積金額 下部固定バー
  4382.         ============================================ */
  4383.         #sp-mitsumori-bar {
  4384.             display: none;
  4385.         }
  4386.         
  4387.         /* ============================================
  4388.            商品タイプ選択 共通スタイル
  4389.         ============================================ */
  4390.         /* セクションラベル */
  4391.         .rp-section-label {
  4392.             font-size: 14px;
  4393.             font-weight: bold;
  4394.             color: #333;
  4395.             margin-bottom: 10px;
  4396.         }
  4397.         .rp-section-label span {
  4398.             font-weight: normal;
  4399.             color: #c00;
  4400.         }
  4401.         /* ---- 1. 画像付きカード ---- */
  4402.         .rp-card-group {
  4403.             display: flex;
  4404.             flex-wrap: wrap;
  4405.             gap: 8px;
  4406.             margin-bottom: 4px;
  4407.         }
  4408.         .rp-card {
  4409.             position: relative;
  4410.             cursor: pointer;
  4411.             width: 110px;
  4412.             border: 2px solid #ddd;
  4413.             border-radius: 10px;
  4414.             overflow: hidden;
  4415.             transition: border-color 0.2s, box-shadow 0.2s;
  4416.             background: #fff;
  4417.         }
  4418.         .rp-card:hover {
  4419.             border-color: #999;
  4420.             box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  4421.         }
  4422.         .rp-card.is-selected {
  4423.             border-color: #1a6fcf;
  4424.             box-shadow: 0 2px 10px rgba(26,111,207,0.25);
  4425.         }
  4426.         .rp-card input[type=\"radio\"] { display: none; }
  4427.         .rp-card__image {
  4428.             width: 100%;
  4429.             aspect-ratio: 1 / 1;
  4430.             object-fit: cover;
  4431.             display: block;
  4432.             background: #f5f5f5;
  4433.         }
  4434.         .rp-card__placeholder {
  4435.             width: 100%;
  4436.             aspect-ratio: 1 / 1;
  4437.             background: #f0f0f0;
  4438.             display: flex;
  4439.             align-items: center;
  4440.             justify-content: center;
  4441.             color: #bbb;
  4442.             font-size: 24px;
  4443.         }
  4444.         .rp-card__name {
  4445.             display: block;
  4446.             padding: 5px 5px;
  4447.             font-size: 11px;
  4448.             color: #333;
  4449.             text-align: center;
  4450.             line-height: 1.4;
  4451.             word-break: break-all;
  4452.         }
  4453.         .rp-card.is-selected .rp-card__name { color: #1a6fcf; font-weight: bold; }
  4454.         .rp-card.is-selected::after {
  4455.             content: \"✓\";
  4456.             position: absolute;
  4457.             top: 3px; right: 6px;
  4458.             color: #1a6fcf;
  4459.             font-size: 13px;
  4460.             font-weight: bold;
  4461.         }
  4462.         /* ---- 2. ボタン式ラジオ(画像なし・8個以内)---- */
  4463.         .rp-btn-group {
  4464.             display: flex;
  4465.             flex-wrap: wrap;
  4466.             gap: 8px;
  4467.             margin-bottom: 4px;
  4468.             max-width: 100%;
  4469.             min-width: 0;
  4470.         }
  4471.         .rp-btn {
  4472.             cursor: pointer;
  4473.             padding: 8px 14px;
  4474.             border: 2px solid #ddd;
  4475.             border-radius: 10px;
  4476.             font-size: 13px;
  4477.             color: #333;
  4478.             background: #fff;
  4479.             transition: border-color 0.2s, background 0.2s;
  4480.             white-space: nowrap;
  4481.             max-width: 100%;
  4482.             overflow: hidden;
  4483.             text-overflow: ellipsis;
  4484.         }
  4485.         .rp-btn:hover { border-color: #999; }
  4486.         .rp-btn.is-selected {
  4487.             border-color: #1a6fcf;
  4488.             color: #1a6fcf;
  4489.             font-weight: bold;
  4490.             background: #f0f6ff;
  4491.         }
  4492.         .rp-btn input[type=\"radio\"] { display: none; }
  4493.         /* ---- ボタン群が3行以上になる場合は1行横スクロール ---- */
  4494.         .rp-btn-group.is-scroll,
  4495.         .opt-btn-group.is-scroll {
  4496.             flex-wrap: nowrap;
  4497.             overflow-x: auto;
  4498.             overflow-y: hidden;
  4499.             -webkit-overflow-scrolling: touch;
  4500.             scrollbar-width: thin;
  4501.             padding-bottom: 6px;
  4502.         }
  4503.         .rp-btn-group.is-scroll::-webkit-scrollbar,
  4504.         .opt-btn-group.is-scroll::-webkit-scrollbar {
  4505.             height: 6px;
  4506.         }
  4507.         .rp-btn-group.is-scroll::-webkit-scrollbar-thumb,
  4508.         .opt-btn-group.is-scroll::-webkit-scrollbar-thumb {
  4509.             background: #c0c0c0;
  4510.             border-radius: 3px;
  4511.         }
  4512.         .rp-btn-group.is-scroll > .rp-btn,
  4513.         .opt-btn-group.is-scroll > .opt-btn {
  4514.             flex: 0 0 auto;
  4515.         }
  4516.         /* ---- 3. プルダウン(画像なし・9個以上)---- */
  4517.         .rp-select-wrap {
  4518.             margin-bottom: 4px;
  4519.         }
  4520.         .rp-select {
  4521.             width: 100%;
  4522.             max-width: 420px;
  4523.             padding: 8px 12px;
  4524.             border: 2px solid #ddd;
  4525.             border-radius: 10px;
  4526.             font-size: 13px;
  4527.             color: #333;
  4528.             background: #fff;
  4529.             appearance: none;
  4530.             background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E\");
  4531.             background-repeat: no-repeat;
  4532.             background-position: right 12px center;
  4533.             cursor: pointer;
  4534.         }
  4535.         .rp-select:focus {
  4536.             outline: none;
  4537.             border-color: #1a6fcf;
  4538.         }
  4539.         /* ---- オプション選択ボタン(枠線ラジオ)---- */
  4540.         .opt-btn-group {
  4541.             display: flex;
  4542.             flex-wrap: wrap;
  4543.             gap: 8px;
  4544.             padding: 6px 0;
  4545.             max-width: 100%;
  4546.             min-width: 0;
  4547.         }
  4548.         .opt-btn {
  4549.             cursor: pointer;
  4550.             padding: 7px 14px;
  4551.             border: 2px solid #ddd;
  4552.             border-radius: 10px;
  4553.             font-size: 13px;
  4554.             color: #333;
  4555.             background: #fff;
  4556.             transition: border-color 0.2s, background 0.2s;
  4557.             white-space: nowrap;
  4558.             max-width: 100%;
  4559.             overflow: hidden;
  4560.             text-overflow: ellipsis;
  4561.         }
  4562.         .opt-btn:hover { border-color: #999; }
  4563.         .opt-btn.is-selected {
  4564.             border-color: #1a6fcf;
  4565.             color: #1a6fcf;
  4566.             font-weight: bold;
  4567.             background: #f0f6ff;
  4568.         }
  4569.         .opt-btn input[type=\"radio\"] { display: none; }
  4570.         /* ============================================
  4571.            施工エリア案内
  4572.         ============================================ */
  4573.         .ec-areaNotice {
  4574.             margin: 16px 0;
  4575.             padding: 16px 20px;
  4576.             background: #f8f9fa;
  4577.             border-left: 4px solid #1a6fcf;
  4578.             border-radius: 0 8px 8px 0;
  4579.         }
  4580.         .ec-areaNotice__inner {
  4581.             display: flex;
  4582.             align-items: flex-start;
  4583.             gap: 12px;
  4584.         }
  4585.         .ec-areaNotice__icon {
  4586.             font-size: 22px;
  4587.             line-height: 1;
  4588.             flex-shrink: 0;
  4589.             margin-top: 2px;
  4590.         }
  4591.         .ec-areaNotice__body {
  4592.             flex: 1;
  4593.         }
  4594.         .ec-areaNotice__title {
  4595.             font-size: 13px;
  4596.             font-weight: bold;
  4597.             color: #1a6fcf;
  4598.             margin: 0 0 6px;
  4599.         }
  4600.         .ec-areaNotice__text {
  4601.             font-size: 13px;
  4602.             color: #444;
  4603.             line-height: 1.7;
  4604.             margin: 0;
  4605.         }
  4606.         .ec-areaNotice__text strong {
  4607.             color: #222;
  4608.         }
  4609.         .ec-areaNotice__link {
  4610.             display: inline-block;
  4611.             margin-top: 8px;
  4612.             font-size: 12px;
  4613.             color: #1a6fcf;
  4614.             text-decoration: underline;
  4615.         }
  4616.         .ec-areaNotice__link:hover {
  4617.             color: #0d4fa0;
  4618.         }
  4619.         /* ============================================
  4620.            SNSシェア + ブランド名 タイトル行
  4621.         ============================================ */
  4622.         .ec-productRole__titleRow {
  4623.             display: flex;
  4624.             align-items: center;
  4625.             justify-content: space-between;
  4626.             gap: 8px;
  4627.             margin-bottom: 4px;
  4628.         }
  4629.         .ec-productRole__titleRow .ec-headingTitle {
  4630.             margin: 0;
  4631.             flex: 1;
  4632.             font-size: 18px;
  4633.         }
  4634.         .ec-share-inline {
  4635.             display: flex;
  4636.             align-items: center;
  4637.             gap: 8px;
  4638.             flex-shrink: 0;
  4639.         }
  4640.         @media (max-width: 767px) {
  4641.             /* maker_area の float を解除して独立表示 */
  4642.             #maker_area {
  4643.                 float: none !important;
  4644.                 width: auto !important;
  4645.                 height: auto !important;
  4646.                 display: block;
  4647.                 margin-bottom: 4px;
  4648.             }
  4649.             /* タイトル行: 商品名が全幅を占有しSNSは右寄せ下段 */
  4650.             .ec-productRole__titleRow {
  4651.                 flex-wrap: wrap;
  4652.                 clear: both;
  4653.             }
  4654.             .ec-productRole__titleRow .ec-headingTitle {
  4655.                 flex: 1 1 100%;
  4656.                 font-size: 16px;
  4657.             }
  4658.             .ec-share-inline {
  4659.                 flex: 0 0 auto;
  4660.                 margin-left: auto;
  4661.             }
  4662.         }
  4663.         .ec-share-inline a {
  4664.             display: flex;
  4665.             align-items: center;
  4666.             justify-content: center;
  4667.             width: 32px;
  4668.             height: 32px;
  4669.             border-radius: 50%;
  4670.             font-size: 15px;
  4671.             color: #fff;
  4672.             text-decoration: none;
  4673.             transition: opacity 0.2s;
  4674.         }
  4675.         .ec-share-inline a:hover { opacity: 0.8; }
  4676.         .ec-share-inline .share-twitter  { background: #000; }
  4677.         .ec-share-inline .share-facebook { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
  4678.         .ec-share-inline .share-line     { background: #06c755; }
  4679.         /* description_detail下のシェアブロックはPC/スマホ共通で非表示(タイトル行に移動) */
  4680.         .ec-productRole__share { display: none; }
  4681.         /* ============================================
  4682.            PC用: 現在のお見積り額カード強調
  4683.         ============================================ */
  4684.         @media (min-width: 768px) {
  4685.             .mitsumori-card-pc {
  4686.                 border: 2px solid #1a6fcf !important;
  4687.                 border-radius: 10px !important;
  4688.                 box-shadow: 0 4px 16px rgba(26,111,207,0.18) !important;
  4689.                 margin-top: 20px;
  4690.                 overflow: hidden;
  4691.                 background: linear-gradient(135deg, #1a6fcf, #0d4fa0) !important;
  4692.             }
  4693.             .mitsumori-card-pc .card-header {
  4694.                 background: linear-gradient(135deg, #1a6fcf, #0d4fa0) !important;
  4695.                 color: #fff !important;
  4696.                 padding: 14px 16px !important;
  4697.                 border-bottom: none !important;
  4698.             }
  4699.             .mitsumori-card-pc .card-title {
  4700.                 color: #fff !important;
  4701.                 font-size: 15px !important;
  4702.                 font-weight: bold !important;
  4703.                 margin: 0 !important;
  4704.             }
  4705.             .mitsumori-card-pc #mitsumori_message {
  4706.                 font-size: 22px !important;
  4707.                 font-weight: bold !important;
  4708.                 color: #fff !important;
  4709.             }
  4710.             .mitsumori-card-pc .btn-tool {
  4711.                 color: #fff !important;
  4712.             }
  4713.             /* 合計行を大きく強調 */
  4714.             .mitsumori-card-pc .nav-item:first-child .nav-link {
  4715.                 font-size: 16px !important;
  4716.                 font-weight: bold !important;
  4717.                 color: #c00 !important;
  4718.                 background: #fff8f8 !important;
  4719.                 padding: 12px 16px !important;
  4720.             }
  4721.             .mitsumori-card-pc .nav-item:first-child #mitsumori_goukei {
  4722.                 font-size: 20px !important;
  4723.                 font-weight: bold !important;
  4724.                 color: #c00 !important;
  4725.             }
  4726.             /* card-body(明細リスト)を白背景に */
  4727.             .mitsumori-card-pc .card-body {
  4728.                 background: #fff !important;
  4729.             }
  4730.             .mitsumori-card-pc .card-footer {
  4731.                 background: #f8faff !important;
  4732.                 border-top: 1px solid #dce8fb !important;
  4733.                 padding: 12px 16px !important;
  4734.             }
  4735.         }
  4736.         @media (max-width: 767px) {
  4737.             /* スマホでは現在のお見積り額カードの強調スタイルをすべてリセット */
  4738.             .mitsumori-card-pc {
  4739.                 border: none !important;
  4740.                 border-radius: 0 !important;
  4741.                 box-shadow: none !important;
  4742.                 margin-top: 0 !important;
  4743.                 overflow: visible !important;
  4744.                 background: none !important;
  4745.             }
  4746.             .mitsumori-card-pc .card-header {
  4747.                 background: none !important;
  4748.                 color: inherit !important;
  4749.                 padding: inherit !important;
  4750.                 border-bottom: inherit !important;
  4751.             }
  4752.             .mitsumori-card-pc .card-title { color: inherit !important; }
  4753.             .mitsumori-card-pc #mitsumori_message { font-size: inherit !important; color: inherit !important; }
  4754.             .mitsumori-card-pc .btn-tool { color: inherit !important; }
  4755.             /* 折りたたみトグルボタン */
  4756.             .btn-mitsumori-toggle {
  4757.                 background: none !important;
  4758.                 border: 1px solid #aaa !important;
  4759.                 border-radius: 4px !important;
  4760.                 padding: 2px 8px !important;
  4761.                 font-size: 12px !important;
  4762.                 color: #333 !important;
  4763.                 line-height: 1.4 !important;
  4764.             }
  4765.             .btn-mitsumori-toggle .toggle-icon {
  4766.                 display: inline-block;
  4767.                 transition: transform 0.2s;
  4768.             }
  4769.             /* 展開状態: ▼→▲ */
  4770.             .card:not(.collapsed-card) .btn-mitsumori-toggle .toggle-icon::before {
  4771.                 content: \"▲ 閉じる\";
  4772.             }
  4773.             .card:not(.collapsed-card) .btn-mitsumori-toggle .toggle-icon {
  4774.                 display: none;
  4775.             }
  4776.             .card:not(.collapsed-card) .btn-mitsumori-toggle::after {
  4777.                 content: \"▲ 閉じる\";
  4778.                 font-size: 12px;
  4779.             }
  4780.             .mitsumori-card-pc .nav-item:first-child .nav-link {
  4781.                 font-size: inherit !important;
  4782.                 color: inherit !important;
  4783.                 background: none !important;
  4784.                 padding: inherit !important;
  4785.             }
  4786.             .mitsumori-card-pc .nav-item:first-child #mitsumori_goukei {
  4787.                 font-size: inherit !important;
  4788.                 color: inherit !important;
  4789.             }
  4790.             .mitsumori-card-pc .card-footer {
  4791.                 background: none !important;
  4792.                 border-top: inherit !important;
  4793.                 padding: inherit !important;
  4794.             }
  4795.             /* 横スクロール禁止 */
  4796.             body, html {
  4797.                 overflow-x: hidden;
  4798.                 max-width: 100vw;
  4799.             }
  4800.             /* ボタンの折り返しを許可(nowrapが原因で横スクロール発生するため) */
  4801.             .opt-btn,
  4802.             .rp-btn {
  4803.                 white-space: normal;
  4804.                 word-break: break-all;
  4805.             }
  4806.             /* エリア案内: スマホでコンパクト */
  4807.             .ec-areaNotice {
  4808.                 margin: 8px 0;
  4809.                 padding: 8px 10px;
  4810.                 border-left-width: 3px;
  4811.                 cursor: pointer;
  4812.             }
  4813.             .ec-areaNotice__inner {
  4814.                 flex-direction: row;
  4815.                 gap: 8px;
  4816.                 align-items: flex-start;
  4817.             }
  4818.             .ec-areaNotice__icon { font-size: 15px; }
  4819.             /* タイトル行: 展開トグル */
  4820.             .ec-areaNotice__title {
  4821.                 font-size: 11px;
  4822.                 margin-bottom: 3px;
  4823.                 display: flex;
  4824.                 justify-content: space-between;
  4825.                 align-items: center;
  4826.             }
  4827.             .ec-areaNotice__title::after {
  4828.                 content: \"▼\";
  4829.                 font-size: 9px;
  4830.                 color: #888;
  4831.                 margin-left: 6px;
  4832.                 transition: transform 0.2s;
  4833.             }
  4834.             .ec-areaNotice.is-open .ec-areaNotice__title::after {
  4835.                 transform: rotate(180deg);
  4836.             }
  4837.             /* 折りたたみ対象: 閉じた状態では非表示 */
  4838.             .ec-areaNotice__detail {
  4839.                 display: none;
  4840.             }
  4841.             .ec-areaNotice.is-open .ec-areaNotice__detail {
  4842.                 display: block;
  4843.             }
  4844.             .ec-areaNotice__text { font-size: 11px; line-height: 1.5; }
  4845.             .ec-areaNotice__text br { display: none; }
  4846.             .ec-areaNotice__link { font-size: 11px; margin-top: 3px; }
  4847.             .rp-card { width: calc(33.333% - 6px); min-width: 80px; }
  4848.             
  4849.             #sp-mitsumori-bar {
  4850.                 display: flex;
  4851.                 position: fixed;
  4852.                 bottom: 0;
  4853.                 left: 0;
  4854.                 right: 0;
  4855.                 z-index: 1000;
  4856.                 background: #fff;
  4857.                 border-top: 2px solid #e0e0e0;
  4858.                 box-shadow: 0 -2px 8px rgba(0,0,0,0.12);
  4859.                 align-items: center;
  4860.                 padding: 8px 12px;
  4861.                 gap: 10px;
  4862.             }
  4863.             #sp-mitsumori-bar .sp-bar__label {
  4864.                 font-size: 11px;
  4865.                 color: #666;
  4866.                 white-space: nowrap;
  4867.             }
  4868.             #sp-mitsumori-bar .sp-bar__price {
  4869.                 font-size: 18px;
  4870.                 font-weight: bold;
  4871.                 color: #c00;
  4872.                 flex: 1;
  4873.             }
  4874.             #sp-mitsumori-bar .sp-bar__btn {
  4875.                 font-size: 12px;
  4876.                 padding: 8px 12px;
  4877.                 background: #333;
  4878.                 color: #fff;
  4879.                 border: none;
  4880.                 border-radius: 6px;
  4881.                 white-space: nowrap;
  4882.                 cursor: pointer;
  4883.                 position: relative;
  4884.                 display: inline-flex;
  4885.                 align-items: center;
  4886.                 gap: 6px;
  4887.             }
  4888.             #sp-mitsumori-bar .sp-bar__btn i {
  4889.                 font-size: 14px;
  4890.             }
  4891.             #sp-mitsumori-bar .sp-bar__cart-badge {
  4892.                 position: absolute;
  4893.                 top: -6px;
  4894.                 right: -6px;
  4895.                 background: #c00;
  4896.                 color: #fff;
  4897.                 border-radius: 50%;
  4898.                 min-width: 16px;
  4899.                 height: 16px;
  4900.                 font-size: 10px;
  4901.                 line-height: 16px;
  4902.                 padding: 0 4px;
  4903.                 font-weight: bold;
  4904.             }
  4905.             #sp-mitsumori-bar .sp-bar__home-btn {
  4906.                 display: inline-flex;
  4907.                 align-items: center;
  4908.                 justify-content: center;
  4909.                 width: 36px;
  4910.                 height: 36px;
  4911.                 border: 1px solid #ccc;
  4912.                 border-radius: 6px;
  4913.                 background: #fff;
  4914.                 color: #333;
  4915.                 text-decoration: none;
  4916.                 cursor: pointer;
  4917.             }
  4918.             #sp-mitsumori-bar .sp-bar__home-btn i {
  4919.                 font-size: 16px;
  4920.             }
  4921.             #sp-mitsumori-bar .sp-bar__home-btn:hover {
  4922.                 background: #f0f0f0;
  4923.             }
  4924.             /* 下部バーの高さ分ページ下部にpaddingを追加 */
  4925.             body {
  4926.                 padding-bottom: 64px;
  4927.             }
  4928.         }
  4929.         /* ============================================
  4930.            カート追加モーダル: 縦並び中央配置
  4931.         ============================================ */
  4932.         .add-cart-modal__wrap {
  4933.             text-align: center;
  4934.         }
  4935.         .add-cart-modal__header {
  4936.             font-size: 16px;
  4937.             margin: 20px 0 24px;
  4938.             text-align: center;
  4939.         }
  4940.         .add-cart-modal__actions {
  4941.             display: flex;
  4942.             flex-direction: column;
  4943.             align-items: center;
  4944.             gap: 16px;
  4945.             padding: 0 20px 20px;
  4946.         }
  4947.         .add-cart-modal__primary {
  4948.             display: inline-block;
  4949.             width: 80%;
  4950.             max-width: 320px;
  4951.             padding: 14px 20px;
  4952.             font-size: 15px;
  4953.             font-weight: bold;
  4954.             text-align: center;
  4955.             background: #d9534f;
  4956.             color: #fff !important;
  4957.             border-radius: 6px;
  4958.             text-decoration: none;
  4959.             cursor: pointer;
  4960.         }
  4961.         .add-cart-modal__primary:hover {
  4962.             background: #c9302c;
  4963.             color: #fff !important;
  4964.             text-decoration: none;
  4965.         }
  4966.         .add-cart-modal__secondary {
  4967.             display: inline-block;
  4968.             padding: 6px 14px;
  4969.             font-size: 12px;
  4970.             color: #666;
  4971.             border: 1px solid #ccc;
  4972.             border-radius: 4px;
  4973.             background: #fff;
  4974.             cursor: pointer;
  4975.         }
  4976.         .add-cart-modal__secondary:hover {
  4977.             background: #f0f0f0;
  4978.             color: #333;
  4979.         }
  4980.         @media (max-width: 767px) {
  4981.             .add-cart-modal__actions {
  4982.                 gap: 20px;
  4983.             }
  4984.         }
  4985.     </style>
  4986. {% endblock %}
  4987. {% block javascript %}
  4988.     <script>
  4989.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  4990.         // 規格2に選択肢を割り当てる。
  4991.         function fnSetClassCategories(form, classcat_id2_selected) {
  4992.             var \$form = \$(form);
  4993.             var product_id = \$form.find('input[name=product_id]').val();
  4994.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  4995.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  4996.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  4997.         }
  4998.         {% if form.classcategory_id2 is defined %}
  4999.         fnSetClassCategories(
  5000.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  5001.         );
  5002.         {% elseif form.classcategory_id1 is defined %}
  5003.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  5004.         {% endif %}
  5005.     </script>
  5006.     <script>
  5007.         \$(function() {
  5008.             // bfcache無効化
  5009.             \$(window).bind('pageshow', function(event) {
  5010.                 if (event.originalEvent.persisted) {
  5011.                     location.reload(true);
  5012.                 }
  5013.             });
  5014.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  5015.             // img タグに width, height が付与されている.
  5016.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  5017.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  5018.             \$('.ec-grid2__cell').hide();
  5019.             var removeSize = function () {
  5020.                 \$('.slide-item').height('');
  5021.                 \$('.slide-item img')
  5022.                     .removeAttr('width')
  5023.                     .removeAttr('height')
  5024.                     .removeAttr('style');
  5025.             };
  5026.             var slickInitial = function(slick) {
  5027.                 \$('.ec-grid2__cell').fadeIn(1500);
  5028.                 var baseHeight = \$(slick.target).height();
  5029.                 var baseWidth = \$(slick.target).width();
  5030.                 var rate = baseWidth / baseHeight;
  5031. \t\t\t\tif(baseHeight * rate < 400){
  5032. \t                \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  5033. \t\t\t\t}else{
  5034. \t                \$('.slide-item').height(400); // 余白を削除する
  5035. \t\t\t\t}
  5036.                 // transform を使用することでCLSの影響を受けないようにする
  5037.                 \$('.slide-item img')
  5038.                     .css(
  5039.                         {
  5040.                             'transform-origin': 'top left',
  5041.                             'transform': 'scaleY(' + rate + ')',
  5042.                             'transition': 'transform .1s'
  5043.                         }
  5044.                     );
  5045.                 // 正しいサイズに近くなったら属性を解除する
  5046.                 setTimeout(removeSize, 500);
  5047.             };
  5048.             \$('.item_visual').on('init', slickInitial);
  5049.             // リサイズ時は CLS の影響を受けないため属性を解除する
  5050.             \$(window).resize(removeSize);
  5051.             \$('.item_visual').slick({
  5052.                 dots: false,
  5053.                 arrows: true,
  5054.                 responsive: [{
  5055.                     breakpoint: 768,
  5056.                     settings: {
  5057.                         dots: true,
  5058.                 \t\tarrows: false
  5059.                     }
  5060.                 }]
  5061.             });
  5062.             \$('.slideThumb').on('click', function() {
  5063.                 var index = \$(this).attr('data-index');
  5064.                 \$('.item_visual').slick('slickGoTo', index, false);
  5065.             })
  5066.         });
  5067.     </script>
  5068.     <script>
  5069.         \$(function() {
  5070.             \$('.add-cart').on('click', function(event) {
  5071.                 {% if form.classcategory_id1 is defined %}
  5072.                 // 規格1フォームの必須チェック
  5073.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  5074.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  5075.                     return true;
  5076.                 } else {
  5077.                     \$('#classcategory_id1')[0].setCustomValidity('');
  5078.                 }
  5079.                 {% endif %}
  5080.                 {% if form.classcategory_id2 is defined %}
  5081.                 // 規格2フォームの必須チェック
  5082.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  5083.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  5084.                     return true;
  5085.                 } else {
  5086.                     \$('#classcategory_id2')[0].setCustomValidity('');
  5087.                 }
  5088.                 {% endif %}
  5089.                 // タイプ2: カート送信直前に set_count を quantity に同期
  5090.                 if(\$('#set_count').length){
  5091.                     var _sc = parseInt(\$('#set_count').val()) || 1;
  5092.                     \$('#quantity').val(_sc);
  5093.                     \$('input[name=\"quantity\"]').val(_sc);
  5094.                 }
  5095.                 // 個数フォームのチェック
  5096.                 if (\$('#quantity').val() < 1) {
  5097.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  5098.                     return true;
  5099.                 } else {
  5100.                     \$('#quantity')[0].setCustomValidity('');
  5101.                 }
  5102.                 event.preventDefault();
  5103.                 \$form = \$('#form1');
  5104.                 \$.ajax({
  5105.                     url: \$form.attr('action'),
  5106.                     type: \$form.attr('method'),
  5107.                     data: \$form.serialize(),
  5108.                     dataType: 'json',
  5109.                     beforeSend: function(xhr, settings) {
  5110.                         // Buttonを無効にする
  5111.                         \$('.add-cart').prop('disabled', true);
  5112.                     }
  5113.                 }).done(function(data) {
  5114.                     // レスポンス内のメッセージをalertで表示
  5115.                     \$.each(data.messages, function() {
  5116.                         \$('#ec-modal-header').text(this);
  5117.                     });
  5118.                     \$('.ec-modal').show()
  5119.                     // カートブロックを更新する
  5120.                     \$.ajax({
  5121.                         url: \"{{ url('block_cart') }}\",
  5122.                         type: 'GET',
  5123.                         dataType: 'html'
  5124.                     }).done(function(html) {
  5125.                         \$('.ec-headerRole__cart').html(html);
  5126.                     });
  5127.                 }).fail(function(data) {
  5128.                     alert('{{ '施工検討リストへの追加に失敗しました。'|trans }}');
  5129.                 }).always(function(data) {
  5130.                     // Buttonを有効にする
  5131.                     \$('.add-cart').prop('disabled', false);
  5132.                 });
  5133.             });
  5134.         });
  5135.         \$('.ec-modal-wrap').on('click', function(e) {
  5136.             // モーダル内の処理は外側にバブリングさせない
  5137.             e.stopPropagation();
  5138.         });
  5139.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  5140.             \$('.ec-modal').hide()
  5141.         });
  5142. \t\tvar pw = \"{% if mitsumori_json %}{{ mitsumori_json.pw }}{% endif %}\";
  5143. \t\tvar pd = \"{% if mitsumori_json %}{{ mitsumori_json.pd }}{% endif %}\";
  5144. \t\tvar ph = \"{% if mitsumori_json %}{{ mitsumori_json.ph }}{% endif %}\";
  5145. \t\tvar pm = \"{% if mitsumori_json %}{{ mitsumori_json.pm }}{% endif %}\";
  5146. \t\tvar pc = \"{% if mitsumori_json %}{{ mitsumori_json.pc }}{% endif %}\";
  5147. \t\tvar op0 = \"{% if mitsumori_json %}{{ mitsumori_json.op[0] }}{% endif %}\";
  5148. \t\tvar op1 = \"{% if mitsumori_json %}{{ mitsumori_json.op[1] }}{% endif %}\";
  5149. \t\tvar op2 = \"{% if mitsumori_json %}{{ mitsumori_json.op[2] }}{% endif %}\";
  5150. \t\tvar op3 = \"{% if mitsumori_json %}{{ mitsumori_json.op[3] }}{% endif %}\";
  5151. \t\tvar op4 = \"{% if mitsumori_json %}{{ mitsumori_json.op[4] }}{% endif %}\";
  5152. \t\tvar op5 = \"{% if mitsumori_json %}{{ mitsumori_json.op[5] }}{% endif %}\";
  5153. \t\tvar op6 = \"{% if mitsumori_json %}{{ mitsumori_json.op[6] }}{% endif %}\";
  5154. \t\tvar op7 = \"{% if mitsumori_json %}{{ mitsumori_json.op[7] }}{% endif %}\";
  5155. \t\tvar op8 = \"{% if mitsumori_json %}{{ mitsumori_json.op[8] }}{% endif %}\";
  5156. \t\tvar op9 = \"{% if mitsumori_json %}{{ mitsumori_json.op[9] }}{% endif %}\";
  5157. \t\tvar op10 = \"{% if mitsumori_json %}{{ mitsumori_json.op[10] }}{% endif %}\";
  5158. \t\tconst formatter = new Intl.NumberFormat('ja-JP');
  5159. \t\tfunction mitsumori_simulation(type , value_id){
  5160. \t\t\tvar pp = {{ pp|raw }};
  5161. \t\t\tif(type == \"pw\"){
  5162. \t\t\t\tpw = \$('#'+value_id).val();
  5163. \t\t\t}
  5164. \t\t\tif(type == \"pd\"){
  5165. \t\t\t\tpd = \$('#'+value_id).val();
  5166. \t\t\t}
  5167. \t\t\tif(type == \"ph\"){
  5168. \t\t\t\tph = \$('#'+value_id).val();
  5169. \t\t\t}
  5170. \t\t\tif(type == \"pm\"){
  5171. \t\t\t\tpm = \$('#'+value_id).val();
  5172. \t\t\t}
  5173. \t\t\tif(type == \"pc\"){
  5174. \t\t\t\tpc = \$('#'+value_id).val();
  5175. \t\t\t}
  5176. \t\t\tif(type == \"op0\"){ op0 = \$('#'+value_id).val(); }
  5177. \t\t\tif(type == \"op1\"){ op1 = \$('#'+value_id).val(); }
  5178. \t\t\tif(type == \"op2\"){ op2 = \$('#'+value_id).val(); }
  5179. \t\t\tif(type == \"op3\"){ op3 = \$('#'+value_id).val(); }
  5180. \t\t\tif(type == \"op4\"){ op4 = \$('#'+value_id).val(); }
  5181. \t\t\tif(type == \"op5\"){ op5 = \$('#'+value_id).val(); }
  5182. \t\t\tif(type == \"op6\"){ op6 = \$('#'+value_id).val(); }
  5183. \t\t\tif(type == \"op7\"){ op7 = \$('#'+value_id).val(); }
  5184. \t\t\tif(type == \"op8\"){ op8 = \$('#'+value_id).val(); }
  5185. \t\t\tif(type == \"op9\"){ op9 = \$('#'+value_id).val(); }
  5186. \t\t\tif(type == \"op10\"){ op10 = \$('#'+value_id).val(); }
  5187. \t\t\t// op系: ボタンの is-selected を選択中のものに付け替え + radio チェック
  5188. \t\t\tif(/^op\\d+\$/.test(type)) {
  5189. \t\t\t\tvar \$clicked = \$('#' + value_id);
  5190. \t\t\t\t\$clicked.prop('checked', true);
  5191. \t\t\t\tvar groupName = \$clicked.attr('name');
  5192. \t\t\t\t\$('input[name=\"' + groupName + '\"]').closest('.opt-btn').removeClass('is-selected');
  5193. \t\t\t\t\$clicked.closest('.opt-btn').addClass('is-selected');
  5194. \t\t\t\t// ラベルの選択値テキスト更新
  5195. \t\t\t\tvar \$group = \$clicked.closest('.form-group');
  5196. \t\t\t\tvar \$label = \$group.find('.rp-section-label');
  5197. \t\t\t\tif (\$label.length) {
  5198. \t\t\t\t\tvar labelText = \$label.text().split(':')[0].trim();
  5199. \t\t\t\t\t\$label.html(labelText + ': <span>' + \$clicked.val() + '</span>');
  5200. \t\t\t\t}
  5201. \t\t\t}
  5202. \t\t\tif(pm == \"\"){
  5203. \t\t\t\t\$('#mitsumori_message').text(\"素材を選択してください\");
  5204. \t\t\t}
  5205. \t\t\tif(ph == \"\"){
  5206. \t\t\t\t\$('#mitsumori_message').text(\"高さを選択してください\");
  5207. \t\t\t}
  5208. \t\t\tif(pd == \"\"){
  5209. \t\t\t\t\$('#mitsumori_message').text(\"奥行きを選択してください\");
  5210. \t\t\t}
  5211. \t\t\tif(pw == \"\"){
  5212. \t\t\t\t\$('#mitsumori_message').text(\"幅を選択してください\");
  5213. \t\t\t}
  5214. \t\t\tif(pc == \"\"){
  5215. \t\t\t\t\$('#mitsumori_message').text(\"カラーを選択してください\");
  5216. \t\t\t\t\$('#mitsumori_btn').hide();
  5217. \t\t\t\t\$('#mitsumori_goukei').text(\"---円\");
  5218. \t\t\t\t\$('#mitsumori_off').text(\"---円\");
  5219. \t\t\t\t\$('#mitsumori_price').text(\"---円\");
  5220. \t\t\t\t\$('#maker_price').text(\"---円\");
  5221. \t\t\t\t\$('#mitsumori_ct').text(\"---円\");
  5222. \t\t\t\t\$('#mitsumori_option').text(\"---円\");
  5223. \t\t\t}
  5224. \t\t\tif(pw != \"\" && pd != \"\" && ph != \"\" && pm != \"\" && pc != \"\"){
  5225. \t\t\t\t\$('#mitsumori_btn').show();
  5226. \t\t\t\tvar pp_matched = false;
  5227. \t\t\t\tpp.forEach((el) => {
  5228. \t\t\t\t  if((pw == el.w || pw == \"指定なし\") && (pd == el.d || pd == \"指定なし\") && (ph == el.h || ph == \"指定なし\") && (pm == el.m || pm == \"指定なし\") && (pc == el.c || pc == \"指定なし\")){
  5229. \t\t\t\t\tpp_matched = true;
  5230. \t\t\t\t\tif(op0 == \"商品購入のみ\" || op1 == \"商品購入のみ\" || op2 == \"商品購入のみ\" || op3 == \"商品購入のみ\" || op4 == \"商品購入のみ\"
  5231. \t\t\t\t\t\t|| op5 == \"商品購入のみ\" || op6 == \"商品購入のみ\" || op7 == \"商品購入のみ\" || op8 == \"商品購入のみ\" || op9 == \"商品購入のみ\"){
  5232. \t\t\t\t\t  \t\$('#mitsumori_message').text(formatter.format(parseInt(el.price)) + \"円\");
  5233. \t\t\t\t\t  \t\$('#mitsumori_goukei').text(formatter.format(parseInt(el.price)) + \"円\");
  5234. \t\t\t\t\t  \t\$('#mitsumori_off').text(formatter.format(parseInt(el.price) - parseInt(el.maker_price)) + \"円\");
  5235. \t\t\t\t\t  \t\$('#mitsumori_price').text(formatter.format(parseInt(el.price)) + \"円\");
  5236. \t\t\t\t\t  \t\$('#maker_price').text(formatter.format(parseInt(el.maker_price)) + \"円\");
  5237. \t\t\t\t\t  \t\$('#mitsumori_ct').text(\"0円\");
  5238. \t\t\t\t\t  \t\$('#mitsumori_option').text(\"0円\");
  5239. \t\t\t\t\t  \t\$('#mitsumori_kei').text(formatter.format(parseInt(el.price)) + \"円\");
  5240. \t\t\t\t\t  \t\$('#mitsumori_price_01').text(formatter.format(parseInt(el.price)) + \"円\");
  5241. \t\t\t\t\t  \t\$('#mitsumori_price_02').text(formatter.format(parseInt(el.price)) + \"円\");
  5242. \t\t\t\t\t  \t\$('#mitsumori_ct_01').text(\"0円\");
  5243. \t\t\t\t\t  \t\$('#mitsumori_ct_02').text(\"0円\");
  5244. \t\t\t\t\t  \t\$('#mitsumori_goukei_02').text(formatter.format(parseInt(el.price)) + \"円\");
  5245. \t\t\t\t\t\tmitsumori_goukei = (parseInt(el.price));
  5246. \t\t\t\t\t\tshoukei = mitsumori_goukei / 1.1;
  5247. \t\t\t\t\t\ttax = parseInt(mitsumori_goukei - shoukei);
  5248. \t\t\t\t\t  \t\$('#mitsumori_shoukei').text(formatter.format(parseInt(shoukei)) + \"円\");
  5249. \t\t\t\t\t  \t\$('#mitsumori_tax').text(formatter.format(parseInt(tax)) + \"円\");
  5250. \t\t\t\t\t}else{
  5251. \t\t\t\t\t  \t\$('#mitsumori_message').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  5252. \t\t\t\t\t  \t\$('#mitsumori_goukei').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  5253. \t\t\t\t\t  \t\$('#mitsumori_off').text(formatter.format(parseInt(el.price) - parseInt(el.maker_price)) + \"円\");
  5254. \t\t\t\t\t  \t\$('#mitsumori_price').text(formatter.format(parseInt(el.price)) + \"円\");
  5255. \t\t\t\t\t  \t\$('#maker_price').text(formatter.format(parseInt(el.maker_price)) + \"円\");
  5256. \t\t\t\t\t  \t\$('#mitsumori_ct').text(formatter.format(parseInt(el.ct)) + \"円\");
  5257. \t\t\t\t\t  \t\$('#mitsumori_option').text(\"0円\");
  5258. \t\t\t\t\t  \t\$('#mitsumori_kei').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  5259. \t\t\t\t\t  \t\$('#mitsumori_price_01').text(formatter.format(parseInt(el.price)) + \"円\");
  5260. \t\t\t\t\t  \t\$('#mitsumori_price_02').text(formatter.format(parseInt(el.price)) + \"円\");
  5261. \t\t\t\t\t  \t\$('#mitsumori_ct_01').text(formatter.format(parseInt(el.ct)) + \"円\");
  5262. \t\t\t\t\t  \t\$('#mitsumori_ct_02').text(formatter.format(parseInt(el.ct)) + \"円\");
  5263. \t\t\t\t\t  \t\$('#mitsumori_goukei_02').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  5264. \t\t\t\t\t\tmitsumori_goukei = (parseInt(el.price) + parseInt(el.ct));
  5265. \t\t\t\t\t\tshoukei = mitsumori_goukei / 1.1;
  5266. \t\t\t\t\t\ttax = parseInt(mitsumori_goukei - shoukei);
  5267. \t\t\t\t\t  \t\$('#mitsumori_shoukei').text(formatter.format(parseInt(shoukei)) + \"円\");
  5268. \t\t\t\t\t  \t\$('#mitsumori_tax').text(formatter.format(parseInt(tax)) + \"円\");
  5269. \t\t\t\t\t}
  5270. \t\t\t\t  }
  5271. \t\t\t\t});
  5272. \t\t\t\tif (!pp_matched) {
  5273. \t\t\t\t\t\$('#mitsumori_message').text(\"この組み合わせは対応しておりません\");
  5274. \t\t\t\t\t\$('#mitsumori_btn').hide();
  5275. \t\t\t\t\t\$('#mitsumori_goukei').text(\"---円\");
  5276. \t\t\t\t\t\$('#mitsumori_off').text(\"---円\");
  5277. \t\t\t\t\t\$('#mitsumori_price').text(\"---円\");
  5278. \t\t\t\t\t\$('#maker_price').text(\"---円\");
  5279. \t\t\t\t\t\$('#mitsumori_ct').text(\"---円\");
  5280. \t\t\t\t\t\$('#mitsumori_option').text(\"---円\");
  5281. \t\t\t\t\t\$('#mitsumori_kei').text(\"---円\");
  5282. \t\t\t\t\t\$('#mitsumori_shoukei').text(\"---円\");
  5283. \t\t\t\t\t\$('#mitsumori_tax').text(\"---円\");
  5284. \t\t\t\t}\t
  5285. \t\t\t\t// タイプ5: ステップ・フェンス・面積の現在値を取得
  5286. \t\t\t\tif(\$('input[name=deck_step]:checked').length){ deck_step = \$('input[name=deck_step]:checked').val(); }
  5287. \t\t\t\tif(\$('input[name=deck_fence]:checked').length){ deck_fence = \$('input[name=deck_fence]:checked').val(); }
  5288. \t\t\t\t// タイプ2: 窓サイズ・窓タイプ・ガラスタイプ・セット数
  5289. \t\t\t\tvar mado_w_val     = \$('#mado_w').val()     || '';
  5290. \t\t\t\tvar mado_h_val     = \$('#mado_h').val()     || '';
  5291. \t\t\t\tvar mado_type_val  = \$('input[name=mado_type]:checked').val()  || '';
  5292. \t\t\t\tvar glass_type_val = \$('input[name=glass_type]:checked').val() || '';
  5293. \t\t\t\tvar set_count_val  = parseInt(\$('#set_count').val()) || 1;
  5294. \t\t\t\t// タイプ3: 台数
  5295. \t\t\t\tvar daisu_val = parseInt(\$('#daisu').val()) || 1;
  5296. \t\t\t\t// タイプ4・6: 枚数
  5297. \t\t\t\tvar maisu_val = parseInt(\$('#maisu').val()) || 1;
  5298. \t\t\t\t// タイプ5: 面積
  5299. \t\t\t\tvar area_val = \$('#area').val() || '';
  5300. \t\t\t\t// sale_type
  5301. \t\t\t\tvar sale_type_id = {{ ProductClass.SaleType.id }};
  5302. \t\t\t\tvar mitsumori_json = { \"mitsumori_goukei\": \$('#mitsumori_goukei').text(),
  5303. \t\t\t\t\t\t\t\t\t\t\"mitsumori_goukei_02\": \$('#mitsumori_goukei_02').text(),
  5304. \t\t\t\t\t\t\t\t\t\t\"mitsumori_price\": \$('#mitsumori_price').text(),
  5305. \t\t\t\t\t\t\t\t\t\t\"maker_price\": \$('#maker_price').text(),
  5306. \t\t\t\t\t\t\t\t\t\t\"mitsumori_off\": \$('#mitsumori_off').text(),
  5307. \t\t\t\t\t\t\t\t\t\t\"mitsumori_ct\": \$('#mitsumori_ct').text(),
  5308. \t\t\t\t\t\t\t\t\t\t\"mitsumori_option\": \$('#mitsumori_option').text(),
  5309. \t\t\t\t\t\t\t\t\t\t\"product_id\": {{ Product.id }},
  5310. \t\t\t\t\t\t\t\t\t\t\"sale_type\": sale_type_id,
  5311. \t\t\t\t\t\t\t\t\t\t\"pw\": pw,
  5312. \t\t\t\t\t\t\t\t\t\t\"pd\": pd,
  5313. \t\t\t\t\t\t\t\t\t\t\"ph\": ph,
  5314. \t\t\t\t\t\t\t\t\t\t\"pm\": pm,
  5315. \t\t\t\t\t\t\t\t\t\t\"pc\": pc,
  5316. \t\t\t\t\t\t\t\t\t\t\"op\": [op0,op1,op2,op3,op4,op5,op6,op7,op8,op9,op10],
  5317. \t\t\t\t\t\t\t\t\t\t\"mado_w\":     mado_w_val,
  5318. \t\t\t\t\t\t\t\t\t\t\"mado_h\":     mado_h_val,
  5319. \t\t\t\t\t\t\t\t\t\t\"mado_type\":  mado_type_val,
  5320. \t\t\t\t\t\t\t\t\t\t\"glass_type\": glass_type_val,
  5321. \t\t\t\t\t\t\t\t\t\t\"set_count\":  set_count_val,
  5322. \t\t\t\t\t\t\t\t\t\t\"daisu\":      daisu_val,
  5323. \t\t\t\t\t\t\t\t\t\t\"maisu\":      maisu_val,
  5324. \t\t\t\t\t\t\t\t\t\t\"area\":       area_val,
  5325. \t\t\t\t\t\t\t\t\t\t\"deck_step\":  deck_step,
  5326. \t\t\t\t\t\t\t\t\t\t\"deck_fence\": deck_fence };
  5327. \t\t\t\t\$('#mitsumori_json').val(JSON.stringify(mitsumori_json));
  5328. \t\t\t\t
  5329. \t\t\t}
  5330. \t\t\t
  5331. \t\t}
  5332.         {% if color and color|length == 1 %}
  5333.             pc = \"指定なし\";
  5334. \t\t\t{% for cc in color %}{% if cc and cc['name'] %} pc = \"{{ cc['name'] }}\"; {% endif %}{% endfor %}
  5335. \t\t{% endif %}
  5336.         {% if p_w and (p_w|length == 1 or p_w|join == \"\") %}
  5337.             pw = \"指定なし\";
  5338. \t\t\t{% for pw in p_w %}{% if pw %} pw = \"{{ pw }}\"; {% endif %}{% endfor %}
  5339. \t\t{% endif %}
  5340.         {% if p_d and (p_d|length == 1 or p_d|join == \"\") %}
  5341.             pd = \"指定なし\";
  5342. \t\t\t{% for pd in p_d %}{% if pd %} pd = \"{{ pd }}\"; {% endif %}{% endfor %}
  5343. \t\t{% endif %}
  5344.         {% if p_h and (p_h|length == 1 or p_h|join == \"\") %}
  5345.             ph = \"指定なし\";
  5346. \t\t\t{% for ph in p_h %}{% if ph %} ph = \"{{ ph }}\"; {% endif %}{% endfor %}
  5347. \t\t{% endif %}
  5348.         {% if p_m and (p_m|length == 1 or p_m|join == \"\") %}
  5349.             pm = \"指定なし\";
  5350. \t\t\t{% for pm in p_m %}{% if pm %} pm = \"{{ pm }}\"; {% endif %}{% endfor %}
  5351. \t\t{% endif %}
  5352. \t\t// ページ読み込み時: タイプ別に quantity の初期値をセット
  5353. \t\t(function initQuantityByType(){
  5354. \t\t\tvar saleType = {{ ProductClass.SaleType.id }};
  5355. \t\t\tif(saleType == 2 && \$('#set_count').length){
  5356. \t\t\t\tvar _v = parseInt(\$('#set_count').val()) || 1;
  5357. \t\t\t\t\$('#quantity').val(_v);
  5358. \t\t\t\t\$('input[name=\"quantity\"]').val(_v);
  5359. \t\t\t} else if(saleType == 3 && \$('#daisu').length){
  5360. \t\t\t\t\$('#quantity').val(parseInt(\$('#daisu').val()) || 1);
  5361. \t\t\t} else if((saleType == 4 || saleType == 6) && \$('#maisu').length){
  5362. \t\t\t\t\$('#quantity').val(parseInt(\$('#maisu').val()) || 1);
  5363. \t\t\t} else if(saleType == 9 && \$('#quantity_only').length){
  5364. \t\t\t\t\$('#quantity').val(parseInt(\$('#quantity_only').val()) || 1);
  5365. \t\t\t}
  5366. \t\t})();
  5367. \t\t// type → ラベルのプレフィックス文字列
  5368. \t\tvar optLabelMap = {pc:'カラー', pw:'幅', pd:'奥行き', ph:'高さ', pm:'素材'};
  5369. \t\t// type → input[name]
  5370. \t\tvar optNameMap  = {pc:'color', pw:'pw', pd:'pd', ph:'ph', pm:'pm'};
  5371. \t\t// opt-btn用: 値を直接受け取るラッパー
  5372. \t\tfunction mitsumori_simulation_val(type, value) {
  5373. \t\t\tif (type === 'pc') pc = value;
  5374. \t\t\tif (type === 'pw') pw = value;
  5375. \t\t\tif (type === 'pd') pd = value;
  5376. \t\t\tif (type === 'ph') ph = value;
  5377. \t\t\tif (type === 'pm') pm = value;
  5378. \t\t\t// is-selected クラスを同グループ内で付け替え
  5379. \t\t\tvar inputName = optNameMap[type];
  5380. \t\t\tif (inputName) {
  5381. \t\t\t\tvar \$btns = \$('input[name=\"' + inputName + '\"]').closest('.opt-btn');
  5382. \t\t\t\t\$btns.removeClass('is-selected');
  5383. \t\t\t\t\$btns.filter(function(){
  5384. \t\t\t\t\treturn \$(this).find('input').val() === value;
  5385. \t\t\t\t}).addClass('is-selected');
  5386. \t\t\t}
  5387. \t\t\t// ラベル行の選択値テキストを更新(例: 「カラー: ブラック」)
  5388. \t\t\tvar labelPrefix = optLabelMap[type];
  5389. \t\t\tif (labelPrefix) {
  5390. \t\t\t\t// 対象のrp-section-labelを特定(input[name]を含む親を遡る)
  5391. \t\t\t\tvar \$group = \$('input[name=\"' + inputName + '\"]').first().closest('.form-group');
  5392. \t\t\t\tvar \$label = \$group.find('.rp-section-label');
  5393. \t\t\t\t\$label.html(labelPrefix + ': <span>' + value + '</span>');
  5394. \t\t\t}
  5395. \t\t\t// simulation本体を呼ぶ(value_idは空でOK、グローバル変数を使う)
  5396. \t\t\tmitsumori_simulation('', '');
  5397. \t\t}
  5398. \t\tmitsumori_simulation(\"\",\"\");
  5399. \t\t// ボタン群: 親幅を超える、または3行以上になる場合は is-scroll で1行横スクロール化
  5400. \t\tfunction applyBtnGroupScroll() {
  5401. \t\t\t\$('.rp-btn-group, .opt-btn-group').each(function() {
  5402. \t\t\t\tvar \$group = \$(this);
  5403. \t\t\t\t\$group.removeClass('is-scroll');
  5404. \t\t\t\tvar \$items = \$group.children();
  5405. \t\t\t\tif (\$items.length === 0) return;
  5406. \t\t\t\tvar parentWidth = \$group.parent().width() || \$group.width();
  5407. \t\t\t\tvar totalWidth = 0;
  5408. \t\t\t\tvar gap = parseInt(\$group.css('gap'), 10) || 8;
  5409. \t\t\t\t\$items.each(function() {
  5410. \t\t\t\t\ttotalWidth += this.offsetWidth + gap;
  5411. \t\t\t\t});
  5412. \t\t\t\t// 単一ボタンが親幅を超える、もしくは合計幅が親幅を超える → 横スクロール化
  5413. \t\t\t\tvar anyTooWide = false;
  5414. \t\t\t\t\$items.each(function() {
  5415. \t\t\t\t\tif (this.offsetWidth > parentWidth) { anyTooWide = true; return false; }
  5416. \t\t\t\t});
  5417. \t\t\t\t// 折り返し時の行数も計測
  5418. \t\t\t\tvar tops = {};
  5419. \t\t\t\t\$items.each(function() { tops[this.offsetTop] = true; });
  5420. \t\t\t\tvar rowCount = Object.keys(tops).length;
  5421. \t\t\t\tif (anyTooWide || totalWidth > parentWidth * 2 || rowCount >= 3) {
  5422. \t\t\t\t\t\$group.addClass('is-scroll');
  5423. \t\t\t\t}
  5424. \t\t\t});
  5425. \t\t}
  5426. \t\tapplyBtnGroupScroll();
  5427. \t\t\$(window).on('resize', function() {
  5428. \t\t\tclearTimeout(window._btnScrollTimer);
  5429. \t\t\twindow._btnScrollTimer = setTimeout(applyBtnGroupScroll, 150);
  5430. \t\t});
  5431. \t\t// onload: 見積金額が確定している場合は「工事費込み価格」表示を一致させる
  5432. \t\t(function syncPrice02Display() {
  5433. \t\t\tvar goukeiEl = document.getElementById('mitsumori_goukei');
  5434. \t\t\tvar displayEl = document.getElementById('price02-display');
  5435. \t\t\tif (!goukeiEl || !displayEl) return;
  5436. \t\t\tvar goukeiText = goukeiEl.textContent.trim();
  5437. \t\t\t// ---円(未確定)の場合は書き換えない
  5438. \t\t\tif (goukeiText && goukeiText !== '---円') {
  5439. \t\t\t\tdisplayEl.textContent = goukeiText;
  5440. \t\t\t}
  5441. \t\t\t// 以降の変更にも追従: mitsumori_goukei を監視
  5442. \t\t\tnew MutationObserver(function() {
  5443. \t\t\t\tvar text = goukeiEl.textContent.trim();
  5444. \t\t\t\tif (text && text !== '---円') {
  5445. \t\t\t\t\tdisplayEl.textContent = text;
  5446. \t\t\t\t}
  5447. \t\t\t}).observe(goukeiEl, { childList: true, subtree: true, characterData: true });
  5448. \t\t})();
  5449. \t\tfunction contact_form(product_id){
  5450. \t\t\t\$('#form1').attr('action', '{{ url('contact', {product:Product.id}) }}');
  5451. \t\t\t\$('#form1').submit();
  5452. \t\t}
  5453. \t\t// maisu / madoset は下部の新しい関数定義を使用
  5454. \t\tfunction heibei(bei){
  5455. \t\t\t\$('#heibei').val(parseInt(\$('#heibei').val()) + bei);
  5456. \t\t\tif(parseInt(\$('#heibei').val()) < 1){ \$('#heibei').val(1); }
  5457. \t\t\tif(parseInt(\$('#heibei').val()) > 100){ \$('#heibei').val(100); }
  5458. \t\t\t\$('#quantity').val(\$('#heibei').val());
  5459. \t\t\tmitsumori_simulation('heibei','heibei');
  5460. \t\t}
  5461. \t\tfunction daisu(dai){
  5462. \t\t\t\$('#daisu').val(parseInt(\$('#daisu').val()) + dai);
  5463. \t\t\tif(parseInt(\$('#daisu').val()) < 1){ \$('#daisu').val(1); }
  5464. \t\t\tif(parseInt(\$('#daisu').val()) > 10){ \$('#daisu').val(10); }
  5465. \t\t\t\$('#quantity').val(\$('#daisu').val());
  5466. \t\t\tmitsumori_simulation('daisu','daisu');
  5467. \t\t}
  5468. \t\tfunction maisu(mai){
  5469. \t\t\t\$('#maisu').val(parseInt(\$('#maisu').val()) + mai);
  5470. \t\t\tif(parseInt(\$('#maisu').val()) < 1){ \$('#maisu').val(1); }
  5471. \t\t\tif(parseInt(\$('#maisu').val()) > 100){ \$('#maisu').val(100); }
  5472. \t\t\t\$('#quantity').val(\$('#maisu').val());
  5473. \t\t\tmitsumori_simulation('maisu','maisu');
  5474. \t\t}
  5475. \t\t// タイプ2: セット数プルダウン連動
  5476. \t\tfunction madosetSelect(val){
  5477. \t\t\tvar v = parseInt(val);
  5478. \t\t\tif(v < 1) v = 1;
  5479. \t\t\tif(v > 20) v = 20;
  5480. \t\t\t// id=\"quantity\" と name=\"quantity\" 両方を確実に書き換え
  5481. \t\t\t\$('#quantity').val(v);
  5482. \t\t\t\$('input[name=\"quantity\"]').val(v);
  5483. \t\t\tmitsumori_simulation('set','set_count');
  5484. \t\t}
  5485. \t\t// タイプ2: ±ボタン版(後方互換)
  5486. \t\tfunction madoset(mai){
  5487. \t\t\tvar current = parseInt(\$('#set_count').val()) || 1;
  5488. \t\t\tvar next = current + mai;
  5489. \t\t\tif(next < 1) next = 1;
  5490. \t\t\tif(next > 20) next = 20;
  5491. \t\t\t\$('#set_count').val(next);
  5492. \t\t\tmadosetSelect(next);
  5493. \t\t}
  5494. \t\t// タイプ5: ステップ・フェンス選択値を mitsumori_json に保存するためのグローバル変数
  5495. \t\tvar deck_step = \"{% if mitsumori_json %}{{ mitsumori_json.deck_step|default('不要') }}{% else %}不要{% endif %}\";
  5496. \t\tvar deck_fence = \"{% if mitsumori_json %}{{ mitsumori_json.deck_fence|default('不要') }}{% else %}不要{% endif %}\";
  5497. \t\t// PDF出力: モーダルの mitsumori_json をフォームに同期してから送信
  5498. \t\tfunction syncPdfJson(){
  5499. \t\t\tvar jsonVal = \$('#mitsumori_json').val();
  5500. \t\t\t\$('#pdf_mitsumori_json').val(jsonVal);
  5501. \t\t}
  5502. \t\t// タイプ9: 商品のみ購入
  5503. \t\tfunction quantityOnly(val){
  5504. \t\t\tvar current = parseInt(\$('#quantity_only').val()) || 1;
  5505. \t\t\tvar next = current + val;
  5506. \t\t\tif(next < 1) next = 1;
  5507. \t\t\t\$('#quantity_only').val(next);
  5508. \t\t\t\$('#quantity').val(next);
  5509. \t\t}
  5510.         // ===== スマホ用下部固定バーへの金額同期 =====
  5511.         // mitsumori_message と mitsumori_goukei を監視して下部バーを更新
  5512.         (function() {
  5513.             var msgTarget   = document.getElementById('mitsumori_message');
  5514.             var goukeiTarget = document.getElementById('mitsumori_goukei');
  5515.             var spPrice     = document.getElementById('sp-mitsumori-price');
  5516.             var spBtn       = document.querySelector('#sp-mitsumori-bar .sp-bar__btn');
  5517.             if (!spPrice || !spBtn) return;
  5518.             function syncBar() {
  5519.                 var msg    = msgTarget ? msgTarget.textContent : '';
  5520.                 var goukei = goukeiTarget ? goukeiTarget.textContent : '---円';
  5521.                 // メッセージが「〇〇を選択してください」の場合はメッセージを表示しボタンを非表示
  5522.                 if (msg.indexOf('選択してください') !== -1) {
  5523.                     spPrice.textContent = msg;
  5524.                     spPrice.style.fontSize = '13px';
  5525.                     spPrice.style.color    = '#888';
  5526.                     spBtn.style.display    = 'none';
  5527.                 } else {
  5528.                     // 価格確定時はボタンを表示
  5529.                     spPrice.textContent = goukei;
  5530.                     spPrice.style.fontSize = '18px';
  5531.                     spPrice.style.color    = '#c00';
  5532.                     spBtn.style.display    = 'block';
  5533.                 }
  5534.             }
  5535.             // 初期値を同期
  5536.             syncBar();
  5537.             // mitsumori_message の変化を監視
  5538.             if (msgTarget) {
  5539.                 new MutationObserver(syncBar).observe(
  5540.                     msgTarget, { childList: true, subtree: true, characterData: true }
  5541.                 );
  5542.             }
  5543.             // mitsumori_goukei の変化も監視
  5544.             if (goukeiTarget) {
  5545.                 new MutationObserver(syncBar).observe(
  5546.                     goukeiTarget, { childList: true, subtree: true, characterData: true }
  5547.                 );
  5548.             }
  5549.         })();
  5550.         // ===== 現在のお見積り額: 折りたたみトグルボタンのテキスト切り替え =====
  5551.         (function() {
  5552.             var card = document.querySelector('.mitsumori-card-pc');
  5553.             var btn  = document.querySelector('.btn-mitsumori-toggle .toggle-icon');
  5554.             if (!card || !btn) return;
  5555.             // MutationObserverでcollapsed-cardクラスの変化を監視
  5556.             new MutationObserver(function() {
  5557.                 if (card.classList.contains('collapsed-card')) {
  5558.                     btn.textContent = '▼ 詳細';
  5559.                 } else {
  5560.                     btn.textContent = '▲ 閉じる';
  5561.                 }
  5562.             }).observe(card, { attributes: true, attributeFilter: ['class'] });
  5563.         })();
  5564.         // ===== エリア案内: スマホのみタップで展開 =====
  5565.         (function() {
  5566.             var notice = document.querySelector('.ec-areaNotice');
  5567.             if (!notice) return;
  5568.             notice.addEventListener('click', function(e) {
  5569.                 if (window.innerWidth > 767) return;
  5570.                 // リンククリック時は展開/折りたたみせずリンク遷移
  5571.                 if (e.target.tagName === 'A') return;
  5572.                 notice.classList.toggle('is-open');
  5573.             });
  5574.         })();
  5575.     </script>
  5576.     <script type=\"application/ld+json\">
  5577.     {
  5578.         \"@context\": \"https://schema.org/\",
  5579.         \"@type\": \"Product\",
  5580.         \"name\": \"{{ Product.name }}\",
  5581.         \"image\": [
  5582.             {% for img in Product.ProductImage %}
  5583.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
  5584.             {% else %}
  5585.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
  5586.             {% endfor %}
  5587.         ],
  5588.         \"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
  5589.         {% if Product.code_min %}
  5590.         \"sku\": \"{{ Product.code_min }}\",
  5591.         {% endif %}
  5592.         \"offers\": {
  5593.             \"@type\": \"Offer\",
  5594.             \"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
  5595.             \"priceCurrency\": \"{{ eccube_config.currency }}\",
  5596.             \"price\": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
  5597.             \"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
  5598.         }
  5599.     }
  5600.     </script>
  5601. {% endblock %}
  5602. {% block main %}
  5603.     <div class=\"ec-productRole\" style=\"margin-top:20px;\">
  5604.         <div class=\"ec-grid2\">
  5605.             <div class=\"ec-grid2__cell\">
  5606.                 <div class=\"ec-sliderItemRole\">
  5607. \t                {# 商品名 + ブランド名 + SNSシェア #}
  5608. \t                <div class=\"ec-productRole__title\">
  5609. \t                    <div class=\"ec-productRole__titleRow\">
  5610. \t                        <h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
  5611. \t                        <div class=\"ec-share-inline\">
  5612. \t                            <a href=\"https://twitter.com/share?url={{ app.request.uri|url_encode }}&text={{ Product.name|url_encode }}\"
  5613. \t                               class=\"share-twitter\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Xでシェア\">
  5614. \t                                <svg viewBox=\"0 0 24 24\" style=\"width:15px;height:15px;fill:#fff;\"><path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.74l7.73-8.835L1.254 2.25H8.08l4.254 5.622L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117z\"/></svg>
  5615. \t                            </a>
  5616. \t                            <a href=\"https://www.instagram.com/\" class=\"share-facebook\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Instagram\">
  5617. \t                                <svg viewBox=\"0 0 24 24\" style=\"width:15px;height:15px;fill:#fff;\"><path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z\"/></svg>
  5618. \t                            </a>
  5619. \t                            <a href=\"https://social-plugins.line.me/lineit/share?url={{ app.request.uri|url_encode }}\"
  5620. \t                               class=\"share-line\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"LINEでシェア\">
  5621. \t                                <i class=\"fab fa-line\"></i>
  5622. \t                            </a>
  5623. \t                        </div>
  5624. \t                    </div>
  5625. \t                </div>
  5626.                     {% if BaseInfo.option_favorite_product %}
  5627.                      <div style=\"position:relative;top: 20px;left: 10px;z-index:100;\">
  5628. \t\t\t\t\t\t{% if is_favorite == false %}
  5629.                         <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  5630.                            <button type=\"submit\" id=\"favorite\" class=\"favorite\">&#9825;</button>
  5631.                         </form>
  5632.                         {% else %}
  5633.                         <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  5634.                            <button type=\"submit\" id=\"favorite\" class=\"favorite\" style=\"color:red;\">&#9829;</button>
  5635.                         </form>
  5636.                         {% endif %}
  5637.                      </div>
  5638.                     {% endif %}
  5639.                     <div class=\"item_visual\">
  5640.                         {% for ProductImage in Product.ProductImage %}
  5641.                             <div class=\"slide-item\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\" style=\"max-height: 400px;\"{% if loop.index > 1 %} loading=\"lazy\"{% endif %}></div>
  5642.                         {% else %}
  5643.                             <div class=\"slide-item\"><img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"{{ loop.first ? Product.name : '' }}\" width=\"550\" height=\"550\" style=\"max-height: 400px;\"></div>
  5644.                         {% endfor %}
  5645.                     </div>
  5646.                     <div class=\"item_nav\">
  5647.                         {% for ProductImage in Product.ProductImage %}
  5648.                             <div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" width=\"80\" height=\"80\" loading=\"lazy\"></div>
  5649.                         {% endfor %}
  5650.                     </div>
  5651.                 </div>
  5652.                     {# ===== 施工エリア案内(見積シミュレーションの下)===== #}
  5653.                     <div class=\"ec-areaNotice\" style=\"margin-top:16px;margin-right:10px;\">
  5654.                         <div class=\"ec-areaNotice__inner\">
  5655.                             <div class=\"ec-areaNotice__icon\">📍</div>
  5656.                             <div class=\"ec-areaNotice__body\">
  5657.                                 <p class=\"ec-areaNotice__title\">施工対応エリアについて</p>
  5658.                                 <div class=\"ec-areaNotice__detail\">
  5659.                                     <p class=\"ec-areaNotice__text\">
  5660.                                         当店の施工サービスは、<strong>山梨県全域</strong>および<br>
  5661.                                         <strong>諏訪エリア(諏訪市・岡谷市・茅野市・諏訪郡)</strong>を対象としております。<br>
  5662.                                         上記エリア外のお客様には、商品のみのご購入が可能でございます。<br>
  5663.                                         ご不明な点がございましたら、お気軽にお問い合わせください。
  5664.                                     </p>
  5665.                                     <a class=\"ec-areaNotice__link\" href=\"{{ url('contact') }}\">エリア外のお客様・ご相談はこちら →</a>
  5666.                                 </div>
  5667.                             </div>
  5668.                         </div>
  5669.                     </div>
  5670.             </div>
  5671.             <div class=\"ec-grid2__cell2\">
  5672.                 <div class=\"ec-productRole__profile\" >
  5673.                     {# 関連カテゴリ #}
  5674.                     {% if Product.ProductCategories is not empty %}
  5675.                         <div class=\"ec-productRole__category\" style=\"padding:10px 0;\">
  5676.                             {% for ProductCategory in Product.ProductCategories %}
  5677.                                 <ul>
  5678.                                     <li>
  5679.                                         {% for Category in ProductCategory.Category.path %}
  5680.                                             <a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
  5681.                                             <span>></span>{% endif -%}
  5682.                                         {% endfor %}
  5683.                                     </li>
  5684.                                 </ul>
  5685.                             {% endfor %}
  5686.                         </div>
  5687.                     {% endif %}
  5688.                     {# 販売価格 #}
  5689.                     <div class=\"ec-productRole__price\">
  5690. \t\t\t\t\t\t<span style=\"color:black;font-size:15px;\">工事費込み価格</span>
  5691.                         {% if Product.hasProductClass -%}
  5692.                             {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  5693.                                 <div class=\"ec-price\">
  5694.                                     <span id=\"price02-display\" class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
  5695.                                     <span class=\"ec-price__tax\">({{ '税込'|trans }})~</span>
  5696.                                 </div>
  5697.                             {% else %}
  5698.                                 <div class=\"ec-price\">
  5699.                                     <span id=\"price02-display\" class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
  5700.                                     <span class=\"ec-price__tax\">({{ '税込'|trans }})</span>
  5701.                                 </div>
  5702.                             {% endif %}
  5703.                         {% else %}
  5704.                             <div class=\"ec-price\">
  5705.                                 <span id=\"price02-display\" class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
  5706.                                     <span class=\"ec-price__tax\">({{ '税込'|trans }})~</span>
  5707.                             </div>
  5708.                         {% endif %}
  5709.                     </div>
  5710.                     {# タグ #}
  5711.                     <ul class=\"ec-productRole__tags\">
  5712.                         {% for Tag in Product.Tags %}
  5713.                             <li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
  5714.                         {% endfor %}
  5715.                     </ul>
  5716.                     {# 商品コード #}
  5717.                     {% if Product.code_min is not empty %}
  5718.                         <div class=\"ec-productRole__code\">
  5719.                             {{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  5720.                         </div>
  5721.                     {% endif %}
  5722.                     <div class=\"ec-productRole__description\">
  5723. \t\t\t\t        <div class=\"ec-rectHeading\">
  5724. \t\t\t\t            <h4>製品情報</h4>
  5725. \t\t\t\t        </div>
  5726. \t\t\t\t\t\t{{ Product.sales_infomation|raw|nl2br }}
  5727.                     </div>
  5728. \t\t\t\t\t<div class=\"card card-danger\" style=\"clear:both;margin:1px;\">
  5729. \t\t\t\t\t  <div class=\"card-header\">
  5730. \t\t\t\t\t    <h3 class=\"card-title\">見積シミュレーション</h3>
  5731. \t\t\t\t\t  </div>
  5732. \t\t\t\t\t  <div class=\"card-body p-2\">
  5733.                         {% set related_image = getProduct_field(Product.id,\"related_image\") %}
  5734.                         {# related_image は配列: [\"1段目画像あり\",\"2段目画像あり\",\"3段目画像あり\"] のうち該当するものが格納 #}
  5735.                         {% set img1 = related_image and (\"1段目画像あり\" in related_image) %}
  5736.                         {% set img2 = related_image and (\"2段目画像あり\" in related_image) %}
  5737.                         {% set img3 = related_image and (\"3段目画像あり\" in related_image) %}
  5738.                         {% set img4 = related_image and (\"4段目画像あり\" in related_image) %}
  5739. \t\t\t\t\t    {% set type1 = getProduct_field(Product.id,\"related_name1\") %}
  5740. \t\t\t\t\t\t{% set type2 = getProduct_field(Product.id,\"related_name2\") %}
  5741. \t\t\t\t\t\t{% set type3 = getProduct_field(Product.id,\"related_name3\") %}
  5742. \t\t\t\t\t\t{% set type4 = getProduct_field(Product.id,\"related_name4\") %}
  5743. \t\t\t\t\t\t{% set hasRelated = (type1 and related_product1 and related_product1|length)
  5744. \t\t\t\t\t\t                 or (type2 and related_product2 and related_product2|length)
  5745. \t\t\t\t\t\t                 or (type3 and related_product3 and related_product3|length)
  5746. \t\t\t\t\t\t                 or (type4 and related_product4 and related_product4|length) %}
  5747. \t\t\t\t\t\t{% if hasRelated %}
  5748. \t\t\t\t\t\t    <div class=\"row\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\"><label class=\"col-12 col-form-label\">この商品のタイプを選択してください。</label></div>
  5749. \t\t\t\t\t\t{% endif %}
  5750. \t\t\t\t\t\t{# ===== 1段目 ===== #}
  5751. \t\t\t\t\t\t{% if type1 and related_product1 and related_product1|length %}
  5752. \t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5753. \t\t\t\t\t\t  <div class=\"rp-section-label\">{{ type1 }}{% if img1 and base_select1 %}: <span>{{ base_select1 }}</span>{% endif %}</div>
  5754. \t\t\t\t\t\t  {% if img1 %}
  5755. \t\t\t\t\t\t    {# --- 画像付きカード --- #}
  5756. \t\t\t\t\t\t    <div class=\"rp-card-group\">
  5757. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product1 %}
  5758. \t\t\t\t\t\t        <label class=\"rp-card{% if base_select1 == rp_name %} is-selected{% endif %}\"
  5759. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5760. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp1\" value=\"{{ rp_name }}\"
  5761. \t\t\t\t\t\t                 {% if base_select1 == rp_name %}checked{% endif %}>
  5762. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  5763. \t\t\t\t\t\t               src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
  5764. \t\t\t\t\t\t               alt=\"{{ rp_name }}\"
  5765. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  5766. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  5767. \t\t\t\t\t\t          <span class=\"rp-card__name\">{{ rp_name }}</span>
  5768. \t\t\t\t\t\t        </label>
  5769. \t\t\t\t\t\t      {% endfor %}
  5770. \t\t\t\t\t\t    </div>
  5771. \t\t\t\t\t\t  {% else %}
  5772. \t\t\t\t\t\t    {# --- ボタン式ラジオ --- #}
  5773. \t\t\t\t\t\t    <div class=\"rp-btn-group\">
  5774. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product1 %}
  5775. \t\t\t\t\t\t        <label class=\"rp-btn{% if base_select1 == rp_name %} is-selected{% endif %}\"
  5776. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5777. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp1\" value=\"{{ rp_name }}\"
  5778. \t\t\t\t\t\t                 {% if base_select1 == rp_name %}checked{% endif %}>
  5779. \t\t\t\t\t\t          {{ rp_name }}
  5780. \t\t\t\t\t\t        </label>
  5781. \t\t\t\t\t\t      {% endfor %}
  5782. \t\t\t\t\t\t    </div>
  5783. \t\t\t\t\t\t  {% endif %}
  5784. \t\t\t\t\t\t</div>
  5785. \t\t\t\t\t\t{% endif %}
  5786. \t\t\t\t\t\t{# ===== 2段目 ===== #}
  5787. \t\t\t\t\t\t{% if type2 and related_product2 and related_product2|length %}
  5788. \t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5789. \t\t\t\t\t\t  <div class=\"rp-section-label\">{{ type2 }}{% if img2 and base_select2 %}: <span>{{ base_select2 }}</span>{% endif %}</div>
  5790. \t\t\t\t\t\t  {% if img2 %}
  5791. \t\t\t\t\t\t    <div class=\"rp-card-group\">
  5792. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product2 %}
  5793. \t\t\t\t\t\t        <label class=\"rp-card{% if base_select2 == rp_name %} is-selected{% endif %}\"
  5794. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5795. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp2\" value=\"{{ rp_name }}\"
  5796. \t\t\t\t\t\t                 {% if base_select2 == rp_name %}checked{% endif %}>
  5797. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  5798. \t\t\t\t\t\t               src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
  5799. \t\t\t\t\t\t               alt=\"{{ rp_name }}\"
  5800. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  5801. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  5802. \t\t\t\t\t\t          <span class=\"rp-card__name\">{{ rp_name }}</span>
  5803. \t\t\t\t\t\t        </label>
  5804. \t\t\t\t\t\t      {% endfor %}
  5805. \t\t\t\t\t\t    </div>
  5806. \t\t\t\t\t\t  {% else %}
  5807. \t\t\t\t\t\t    <div class=\"rp-btn-group\">
  5808. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product2 %}
  5809. \t\t\t\t\t\t        <label class=\"rp-btn{% if base_select2 == rp_name %} is-selected{% endif %}\"
  5810. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5811. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp2\" value=\"{{ rp_name }}\"
  5812. \t\t\t\t\t\t                 {% if base_select2 == rp_name %}checked{% endif %}>
  5813. \t\t\t\t\t\t          {{ rp_name }}
  5814. \t\t\t\t\t\t        </label>
  5815. \t\t\t\t\t\t      {% endfor %}
  5816. \t\t\t\t\t\t    </div>
  5817. \t\t\t\t\t\t  {% endif %}
  5818. \t\t\t\t\t\t</div>
  5819. \t\t\t\t\t\t{% endif %}
  5820. \t\t\t\t\t\t{# ===== 3段目 ===== #}
  5821. \t\t\t\t\t\t{% if type3 and related_product3 and related_product3|length %}
  5822. \t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5823. \t\t\t\t\t\t  <div class=\"rp-section-label\">{{ type3 }}{% if img3 and base_select3 %}: <span>{{ base_select3 }}</span>{% endif %}</div>
  5824. \t\t\t\t\t\t  {% if img3 %}
  5825. \t\t\t\t\t\t    <div class=\"rp-card-group\">
  5826. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product3 %}
  5827. \t\t\t\t\t\t        <label class=\"rp-card{% if base_select3 == rp_name %} is-selected{% endif %}\"
  5828. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5829. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp3\" value=\"{{ rp_name }}\"
  5830. \t\t\t\t\t\t                 {% if base_select3 == rp_name %}checked{% endif %}>
  5831. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  5832. \t\t\t\t\t\t               src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
  5833. \t\t\t\t\t\t               alt=\"{{ rp_name }}\"
  5834. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  5835. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  5836. \t\t\t\t\t\t          <span class=\"rp-card__name\">{{ rp_name }}</span>
  5837. \t\t\t\t\t\t        </label>
  5838. \t\t\t\t\t\t      {% endfor %}
  5839. \t\t\t\t\t\t    </div>
  5840. \t\t\t\t\t\t  {% else %}
  5841. \t\t\t\t\t\t    <div class=\"rp-btn-group\">
  5842. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product3 %}
  5843. \t\t\t\t\t\t        <label class=\"rp-btn{% if base_select3 == rp_name %} is-selected{% endif %}\"
  5844. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5845. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp3\" value=\"{{ rp_name }}\"
  5846. \t\t\t\t\t\t                 {% if base_select3 == rp_name %}checked{% endif %}>
  5847. \t\t\t\t\t\t          {{ rp_name }}
  5848. \t\t\t\t\t\t        </label>
  5849. \t\t\t\t\t\t      {% endfor %}
  5850. \t\t\t\t\t\t    </div>
  5851. \t\t\t\t\t\t  {% endif %}
  5852. \t\t\t\t\t\t</div>
  5853. \t\t\t\t\t\t{% endif %}
  5854. \t\t\t\t\t\t{# ===== 4段目 ===== #}
  5855. \t\t\t\t\t\t{% if type4 and related_product4 and related_product4|length %}
  5856. \t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5857. \t\t\t\t\t\t  <div class=\"rp-section-label\">{{ type4 }}{% if img4 and base_select4 %}: <span>{{ base_select4 }}</span>{% endif %}</div>
  5858. \t\t\t\t\t\t  {% if img4 %}
  5859. \t\t\t\t\t\t    {# --- 画像付きカード --- #}
  5860. \t\t\t\t\t\t    <div class=\"rp-card-group\">
  5861. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product4 %}
  5862. \t\t\t\t\t\t        <label class=\"rp-card{% if base_select4 == rp_name %} is-selected{% endif %}\"
  5863. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5864. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp4\" value=\"{{ rp_name }}\"
  5865. \t\t\t\t\t\t                 {% if base_select4 == rp_name %}checked{% endif %}>
  5866. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  5867. \t\t\t\t\t\t               src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
  5868. \t\t\t\t\t\t               alt=\"{{ rp_name }}\" loading=\"lazy\">
  5869. \t\t\t\t\t\t          <span class=\"rp-card__label\">{{ rp_name }}</span>
  5870. \t\t\t\t\t\t        </label>
  5871. \t\t\t\t\t\t      {% endfor %}
  5872. \t\t\t\t\t\t    </div>
  5873. \t\t\t\t\t\t  {% else %}
  5874. \t\t\t\t\t\t    {# --- ボタン式ラジオ --- #}
  5875. \t\t\t\t\t\t    <div class=\"rp-btn-group\">
  5876. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product4 %}
  5877. \t\t\t\t\t\t        <label class=\"rp-btn{% if base_select4 == rp_name %} is-selected{% endif %}\"
  5878. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5879. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp4\" value=\"{{ rp_name }}\"
  5880. \t\t\t\t\t\t                 {% if base_select4 == rp_name %}checked{% endif %}>
  5881. \t\t\t\t\t\t          {{ rp_name }}
  5882. \t\t\t\t\t\t        </label>
  5883. \t\t\t\t\t\t      {% endfor %}
  5884. \t\t\t\t\t\t    </div>
  5885. \t\t\t\t\t\t  {% endif %}
  5886. \t\t\t\t\t\t</div>
  5887. \t\t\t\t\t\t{% endif %}
  5888. \t\t\t\t\t    <div class=\"row\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\"><label class=\"col-12 col-form-label\">この商品のオプションを選択してください。</label></div>
  5889.                         {% if color and color|length and ProductClass.SaleType.id != 3 %}
  5890.                         <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5891.                           <div class=\"rp-section-label\">カラー{% if mitsumori_json and mitsumori_json.pc %}: <span>{{ mitsumori_json.pc }}</span>{% endif %}</div>
  5892.                           <div class=\"opt-btn-group\">
  5893.                             {% set idx = 0 %}
  5894.                             {% for cc in color %}{% if cc and cc['name'] %}{% set idx = idx + 1 %}
  5895.                               <label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pc == cc['name']) or color|length == 1 %} is-selected{% endif %}\"
  5896.                                      onclick=\"mitsumori_simulation_val('pc', '{{ cc['name']|e('js') }}');\">
  5897.                                 <input type=\"radio\" name=\"color\" id=\"cc_{{ idx }}\" value=\"{{ cc['name'] }}\"
  5898.                                        {% if (mitsumori_json and mitsumori_json.pc == cc['name']) or color|length == 1 %}checked{% endif %}>
  5899.                                 {{ cc['name'] }}
  5900.                               </label>
  5901.                             {% endif %}{% endfor %}
  5902.                           </div>
  5903.                         </div>
  5904.                         {% endif %}
  5905.                         {% if p_w and p_w|length and p_w|join != \"\" %}
  5906.                         <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5907.                           <div class=\"rp-section-label\">幅{% if mitsumori_json and mitsumori_json.pw %}: <span>{{ mitsumori_json.pw }}</span>{% endif %}</div>
  5908.                           <div class=\"opt-btn-group\">
  5909.                             {% set idx = 0 %}
  5910.                             {% for pw in p_w %}{% if pw %}{% set idx = idx + 1 %}
  5911.                               <label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pw == pw) or p_w|length == 1 %} is-selected{% endif %}\"
  5912.                                      onclick=\"mitsumori_simulation_val('pw', '{{ pw|e('js') }}');\">
  5913.                                 <input type=\"radio\" name=\"pw\" id=\"pw_{{ idx }}\" value=\"{{ pw }}\"
  5914.                                        {% if (mitsumori_json and mitsumori_json.pw == pw) or p_w|length == 1 %}checked{% endif %}>
  5915.                                 {{ pw }}
  5916.                               </label>
  5917.                             {% endif %}{% endfor %}
  5918.                           </div>
  5919.                         </div>
  5920.                         {% endif %}
  5921.                         {% if p_d and p_d|length and p_d|join != \"\" %}
  5922.                         <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5923.                           <div class=\"rp-section-label\">奥行き{% if mitsumori_json and mitsumori_json.pd %}: <span>{{ mitsumori_json.pd }}</span>{% endif %}</div>
  5924.                           <div class=\"opt-btn-group\">
  5925.                             {% set idx = 0 %}
  5926.                             {% for pd in p_d %}{% if pd %}{% set idx = idx + 1 %}
  5927.                               <label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pd == pd) or p_d|length == 1 %} is-selected{% endif %}\"
  5928.                                      onclick=\"mitsumori_simulation_val('pd', '{{ pd|e('js') }}');\">
  5929.                                 <input type=\"radio\" name=\"pd\" id=\"pd_{{ idx }}\" value=\"{{ pd }}\"
  5930.                                        {% if (mitsumori_json and mitsumori_json.pd == pd) or p_d|length == 1 %}checked{% endif %}>
  5931.                                 {{ pd }}
  5932.                               </label>
  5933.                             {% endif %}{% endfor %}
  5934.                           </div>
  5935.                         </div>
  5936.                         {% endif %}
  5937.                         {% if p_h and p_h|length and p_h|join != \"\" %}
  5938.                         <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5939.                           <div class=\"rp-section-label\">高さ{% if mitsumori_json and mitsumori_json.ph %}: <span>{{ mitsumori_json.ph }}</span>{% endif %}</div>
  5940.                           <div class=\"opt-btn-group\">
  5941.                             {% set idx = 0 %}
  5942.                             {% for ph in p_h %}{% if ph %}{% set idx = idx + 1 %}
  5943.                               <label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.ph == ph) or p_h|length == 1 %} is-selected{% endif %}\"
  5944.                                      onclick=\"mitsumori_simulation_val('ph', '{{ ph|e('js') }}');\">
  5945.                                 <input type=\"radio\" name=\"ph\" id=\"ph_{{ idx }}\" value=\"{{ ph }}\"
  5946.                                        {% if (mitsumori_json and mitsumori_json.ph == ph) or p_h|length == 1 %}checked{% endif %}>
  5947.                                 {{ ph }}
  5948.                               </label>
  5949.                             {% endif %}{% endfor %}
  5950.                           </div>
  5951.                         </div>
  5952.                         {% endif %}
  5953.                         {% if p_m and p_m|length and p_m|join != \"\" %}
  5954.                         <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5955.                           <div class=\"rp-section-label\">素材{% if mitsumori_json and mitsumori_json.pm %}: <span>{{ mitsumori_json.pm }}</span>{% endif %}</div>
  5956.                           <div class=\"opt-btn-group\">
  5957.                             {% set idx = 0 %}
  5958.                             {% for pm in p_m %}{% if pm %}{% set idx = idx + 1 %}
  5959.                               <label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pm == pm) or p_m|length == 1 %} is-selected{% endif %}\"
  5960.                                      onclick=\"mitsumori_simulation_val('pm', '{{ pm|e('js') }}');\">
  5961.                                 <input type=\"radio\" name=\"pm\" id=\"pm_{{ idx }}\" value=\"{{ pm }}\"
  5962.                                        {% if (mitsumori_json and mitsumori_json.pm == pm) or p_m|length == 1 %}checked{% endif %}>
  5963.                                 {{ pm }}
  5964.                               </label>
  5965.                             {% endif %}{% endfor %}
  5966.                           </div>
  5967.                         </div>
  5968.                         {% endif %}
  5969. \t\t\t\t\t\t<!-- 1: 施工見積(通常) → 幅/奥行/高さ/素材/カラーは上部の共通ブロックで表示済み -->
  5970. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 1 %}
  5971. \t\t\t\t\t\t{% endif %}
  5972. \t\t\t\t\t\t<!-- 2: 施工見積(補助金・窓) -->
  5973. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 2 %}
  5974. \t\t\t\t\t\t\t{# 窓サイズ(自由入力) #}
  5975. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5976. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">窓サイズ</label>
  5977. \t\t\t\t\t\t\t  <div class=\"col-4\">
  5978. \t\t\t\t\t\t\t    <div class=\"input-group\">
  5979. \t\t\t\t\t\t\t      <span class=\"input-group-text\">窓幅</span>
  5980. \t\t\t\t\t\t\t      <input type=\"number\" name=\"mado_w\" id=\"mado_w\" class=\"form-control\" value=\"{{ mitsumori_json.mado_w|default('') }}\" placeholder=\"例: 90\" min=\"1\" onchange=\"mitsumori_simulation('mado_w','mado_w');\">
  5981. \t\t\t\t\t\t\t      <span class=\"input-group-text\">cm</span>
  5982. \t\t\t\t\t\t\t    </div>
  5983. \t\t\t\t\t\t\t  </div>
  5984. \t\t\t\t\t\t\t  <div class=\"col-4\">
  5985. \t\t\t\t\t\t\t    <div class=\"input-group\">
  5986. \t\t\t\t\t\t\t      <span class=\"input-group-text\">窓高さ</span>
  5987. \t\t\t\t\t\t\t      <input type=\"number\" name=\"mado_h\" id=\"mado_h\" class=\"form-control\" value=\"{{ mitsumori_json.mado_h|default('') }}\" placeholder=\"例: 110\" min=\"1\" onchange=\"mitsumori_simulation('mado_h','mado_h');\">
  5988. \t\t\t\t\t\t\t      <span class=\"input-group-text\">cm</span>
  5989. \t\t\t\t\t\t\t    </div>
  5990. \t\t\t\t\t\t\t  </div>
  5991. \t\t\t\t\t\t\t</div>
  5992. \t\t\t\t\t\t\t{# 窓タイプ(p_d データから選択肢を生成) #}
  5993. \t\t\t\t\t\t\t{% if p_d and p_d|length and p_d|join != \"\" %}
  5994. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5995. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">窓タイプ</label>
  5996. \t\t\t\t\t\t\t  <div class=\"col-8\">
  5997. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  5998. \t\t\t\t\t\t\t    {% set idx = 0 %}
  5999. \t\t\t\t\t\t\t    {% for pd_val in p_d %}
  6000. \t\t\t\t\t\t\t      {% if pd_val %}
  6001. \t\t\t\t\t\t\t      {% set idx = idx + 1 %}
  6002. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6003. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"mado_type\" id=\"mado_type_{{ idx }}\" value=\"{{ pd_val }}\"
  6004. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pd == pd_val) or (p_d|length == 1) %}checked{% endif %}
  6005. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pd','mado_type_{{ idx }}');\">
  6006. \t\t\t\t\t\t\t        <label for=\"mado_type_{{ idx }}\">{{ pd_val }}</label>
  6007. \t\t\t\t\t\t\t      </div>
  6008. \t\t\t\t\t\t\t      {% endif %}
  6009. \t\t\t\t\t\t\t    {% endfor %}
  6010. \t\t\t\t\t\t\t    </div>
  6011. \t\t\t\t\t\t\t  </div>
  6012. \t\t\t\t\t\t\t</div>
  6013. \t\t\t\t\t\t\t{% endif %}
  6014. \t\t\t\t\t\t\t{# ガラスタイプ(p_m データから選択肢を生成) #}
  6015. \t\t\t\t\t\t\t{% if p_m and p_m|length and p_m|join != \"\" %}
  6016. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6017. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">ガラスタイプ</label>
  6018. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6019. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6020. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6021. \t\t\t\t\t\t\t    {% for pm_val in p_m %}
  6022. \t\t\t\t\t\t\t      {% if pm_val %}
  6023. \t\t\t\t\t\t\t      {% set idx = idx + 1 %}
  6024. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6025. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"glass_type\" id=\"glass_type_{{ idx }}\" value=\"{{ pm_val }}\"
  6026. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pm == pm_val) or (p_m|length == 1) %}checked{% endif %}
  6027. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','glass_type_{{ idx }}');\">
  6028. \t\t\t\t\t\t\t        <label for=\"glass_type_{{ idx }}\">{{ pm_val }}</label>
  6029. \t\t\t\t\t\t\t      </div>
  6030. \t\t\t\t\t\t\t      {% endif %}
  6031. \t\t\t\t\t\t\t    {% endfor %}
  6032. \t\t\t\t\t\t\t    </div>
  6033. \t\t\t\t\t\t\t  </div>
  6034. \t\t\t\t\t\t\t</div>
  6035. \t\t\t\t\t\t\t{% endif %}
  6036. \t\t\t\t\t\t\t{# セット数(プルダウン) → quantity に連動 #}
  6037. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6038. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">セット数</label>
  6039. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6040. \t\t\t\t\t\t\t    <select name=\"set_count\" id=\"set_count\" class=\"form-control\" onchange=\"madosetSelect(this.value);\">
  6041. \t\t\t\t\t\t\t      {% for i in 1..20 %}
  6042. \t\t\t\t\t\t\t        <option value=\"{{ i }}\" {% if mitsumori_json and mitsumori_json.set_count == i %}selected{% endif %}>{{ i }} セット</option>
  6043. \t\t\t\t\t\t\t      {% endfor %}
  6044. \t\t\t\t\t\t\t    </select>
  6045. \t\t\t\t\t\t\t  </div>
  6046. \t\t\t\t\t\t\t</div>
  6047. \t\t\t\t\t\t{% endif %}
  6048. \t\t\t\t\t\t<!-- 3: 施工見積(物置・ゴミステーション) -->
  6049. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 3 %}
  6050. \t\t\t\t\t\t\t{# 幅・奥行き・高さ(p_w/p_d/p_h からラジオボタン生成) #}
  6051. \t\t\t\t\t\t\t{% if p_w and p_w|length and p_w|join != \"\" %}
  6052. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6053. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">幅</label>
  6054. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6055. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6056. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6057. \t\t\t\t\t\t\t    {% for pw_val in p_w %}{% if pw_val %}{% set idx = idx + 1 %}
  6058. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6059. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pw\" id=\"pw3_{{ idx }}\" value=\"{{ pw_val }}\"
  6060. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pw == pw_val) or p_w|length == 1 %}checked{% endif %}
  6061. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pw','pw3_{{ idx }}');\">
  6062. \t\t\t\t\t\t\t        <label for=\"pw3_{{ idx }}\">{{ pw_val }}</label>
  6063. \t\t\t\t\t\t\t      </div>
  6064. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6065. \t\t\t\t\t\t\t    </div>
  6066. \t\t\t\t\t\t\t  </div>
  6067. \t\t\t\t\t\t\t</div>
  6068. \t\t\t\t\t\t\t{% endif %}
  6069. \t\t\t\t\t\t\t{% if p_d and p_d|length and p_d|join != \"\" %}
  6070. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6071. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">奥行き</label>
  6072. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6073. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6074. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6075. \t\t\t\t\t\t\t    {% for pd_val in p_d %}{% if pd_val %}{% set idx = idx + 1 %}
  6076. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6077. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pd\" id=\"pd3_{{ idx }}\" value=\"{{ pd_val }}\"
  6078. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pd == pd_val) or p_d|length == 1 %}checked{% endif %}
  6079. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pd','pd3_{{ idx }}');\">
  6080. \t\t\t\t\t\t\t        <label for=\"pd3_{{ idx }}\">{{ pd_val }}</label>
  6081. \t\t\t\t\t\t\t      </div>
  6082. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6083. \t\t\t\t\t\t\t    </div>
  6084. \t\t\t\t\t\t\t  </div>
  6085. \t\t\t\t\t\t\t</div>
  6086. \t\t\t\t\t\t\t{% endif %}
  6087. \t\t\t\t\t\t\t{% if p_h and p_h|length and p_h|join != \"\" %}
  6088. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6089. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">高さ</label>
  6090. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6091. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6092. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6093. \t\t\t\t\t\t\t    {% for ph_val in p_h %}{% if ph_val %}{% set idx = idx + 1 %}
  6094. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6095. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"ph\" id=\"ph3_{{ idx }}\" value=\"{{ ph_val }}\"
  6096. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.ph == ph_val) or p_h|length == 1 %}checked{% endif %}
  6097. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('ph','ph3_{{ idx }}');\">
  6098. \t\t\t\t\t\t\t        <label for=\"ph3_{{ idx }}\">{{ ph_val }}</label>
  6099. \t\t\t\t\t\t\t      </div>
  6100. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6101. \t\t\t\t\t\t\t    </div>
  6102. \t\t\t\t\t\t\t  </div>
  6103. \t\t\t\t\t\t\t</div>
  6104. \t\t\t\t\t\t\t{% endif %}
  6105. \t\t\t\t\t\t\t{# 棚タイプ(p_m データから選択肢を生成) #}
  6106. \t\t\t\t\t\t\t{% if p_m and p_m|length and p_m|join != \"\" %}
  6107. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6108. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">棚タイプ<br><small class=\"text-muted\">(間仕切り仕様)</small></label>
  6109. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6110. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6111. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6112. \t\t\t\t\t\t\t    {% for pm_val in p_m %}{% if pm_val %}{% set idx = idx + 1 %}
  6113. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6114. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pm\" id=\"pm3_{{ idx }}\" value=\"{{ pm_val }}\"
  6115. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pm == pm_val) or p_m|length == 1 %}checked{% endif %}
  6116. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','pm3_{{ idx }}');\">
  6117. \t\t\t\t\t\t\t        <label for=\"pm3_{{ idx }}\">{{ pm_val }}</label>
  6118. \t\t\t\t\t\t\t      </div>
  6119. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6120. \t\t\t\t\t\t\t    </div>
  6121. \t\t\t\t\t\t\t  </div>
  6122. \t\t\t\t\t\t\t</div>
  6123. \t\t\t\t\t\t\t{% endif %}
  6124. \t\t\t\t\t\t\t{# カラー(共通の color データ使用) #}
  6125. \t\t\t\t\t\t\t{% if color and color|length %}
  6126. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6127. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">カラー</label>
  6128. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6129. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6130. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6131. \t\t\t\t\t\t\t    {% for cc in color %}{% if cc and cc['name'] %}{% set idx = idx + 1 %}
  6132. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6133. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"color3\" id=\"cc3_{{ idx }}\" value=\"{{ cc['name'] }}\"
  6134. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pc == cc['name']) or color|length == 1 %}checked{% endif %}
  6135. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pc','cc3_{{ idx }}');\">
  6136. \t\t\t\t\t\t\t        <label for=\"cc3_{{ idx }}\">{{ cc['name'] }}</label>
  6137. \t\t\t\t\t\t\t      </div>
  6138. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6139. \t\t\t\t\t\t\t    </div>
  6140. \t\t\t\t\t\t\t  </div>
  6141. \t\t\t\t\t\t\t</div>
  6142. \t\t\t\t\t\t\t{% endif %}
  6143. \t\t\t\t\t\t\t{# 台数 #}
  6144. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6145. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">台数</label>
  6146. \t\t\t\t\t\t\t  <div class=\"col-4\">
  6147. \t\t\t\t\t\t\t    <div class=\"input-group mb-3\">
  6148. \t\t\t\t\t\t\t      <input type=\"number\" name=\"daisu\" id=\"daisu\" class=\"form-control\" value=\"{{ mitsumori_json.daisu|default('1') }}\" min=\"1\" max=\"10\" onchange=\"mitsumori_simulation('daisu','daisu');\">
  6149. \t\t\t\t\t\t\t      <span class=\"input-group-text\">台</span>
  6150. \t\t\t\t\t\t\t    </div>
  6151. \t\t\t\t\t\t\t  </div>
  6152. \t\t\t\t\t\t\t  <div class=\"col-4\">
  6153. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"daisu(+1);\">+</button>
  6154. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"daisu(-1);\">ー</button>
  6155. \t\t\t\t\t\t\t  </div>
  6156. \t\t\t\t\t\t\t</div>
  6157. \t\t\t\t\t\t{% endif %}
  6158. \t\t\t\t\t\t<!-- 4: 施工見積(フェンス・組み立て式) -->
  6159. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 4 %}
  6160. \t\t\t\t\t\t\t{# 枚数 #}
  6161. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6162. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">枚数</label>
  6163. \t\t\t\t\t\t\t  <div class=\"col-4 mb-3\">
  6164. \t\t\t\t\t\t\t    <div class=\"input-group\">
  6165. \t\t\t\t\t\t\t      <input type=\"number\" name=\"maisu\" id=\"maisu\" class=\"form-control\" value=\"{{ mitsumori_json.maisu|default('3') }}\" min=\"3\" max=\"20\" onchange=\"mitsumori_simulation('maisu','maisu');\">
  6166. \t\t\t\t\t\t\t      <span class=\"input-group-text\">枚</span>
  6167. \t\t\t\t\t\t\t    </div>
  6168. \t\t\t\t\t\t\t  </div>
  6169. \t\t\t\t\t\t\t  <div class=\"col-4\">
  6170. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"maisu(+1);\">+</button>
  6171. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"maisu(-1);\">ー</button>
  6172. \t\t\t\t\t\t\t  </div>
  6173. \t\t\t\t\t\t\t</div>
  6174. \t\t\t\t\t\t{% endif %}
  6175. \t\t\t\t\t\t<!-- 5: 施工見積(ウッドデッキ・タイルデッキ) -->
  6176. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 5 %}
  6177. \t\t\t\t\t\t\t{# 施工面積(㎡ 直接入力) #}
  6178. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6179. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">施工面積</label>
  6180. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6181. \t\t\t\t\t\t\t    <div class=\"input-group\">
  6182. \t\t\t\t\t\t\t      <input type=\"number\" name=\"area\" id=\"area\"
  6183. \t\t\t\t\t\t\t        class=\"form-control\"
  6184. \t\t\t\t\t\t\t        value=\"{{ mitsumori_json.area|default('') }}\"
  6185. \t\t\t\t\t\t\t        placeholder=\"例: 7.5\"
  6186. \t\t\t\t\t\t\t        min=\"0.1\" step=\"0.1\"
  6187. \t\t\t\t\t\t\t        onchange=\"mitsumori_simulation('area','area');\">
  6188. \t\t\t\t\t\t\t      <span class=\"input-group-text\">㎡</span>
  6189. \t\t\t\t\t\t\t    </div>
  6190. \t\t\t\t\t\t\t    <small class=\"text-muted\">幅(cm) × 奥行き(cm) ÷ 10000 = ㎡</small>
  6191. \t\t\t\t\t\t\t  </div>
  6192. \t\t\t\t\t\t\t</div>
  6193. \t\t\t\t\t\t\t{# ステップの有無 #}
  6194. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6195. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">ステップ</label>
  6196. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6197. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6198. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6199. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_step\" id=\"deck_step_yes\" value=\"必要\"
  6200. \t\t\t\t\t\t\t          {% if mitsumori_json and mitsumori_json.deck_step == '必要' %}checked{% endif %}
  6201. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op0','deck_step_yes');\">
  6202. \t\t\t\t\t\t\t        <label for=\"deck_step_yes\">必要</label>
  6203. \t\t\t\t\t\t\t      </div>
  6204. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6205. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_step\" id=\"deck_step_no\" value=\"不要\"
  6206. \t\t\t\t\t\t\t          {% if not mitsumori_json or mitsumori_json.deck_step == '不要' or not mitsumori_json.deck_step %}checked{% endif %}
  6207. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op0','deck_step_no');\">
  6208. \t\t\t\t\t\t\t        <label for=\"deck_step_no\">不要</label>
  6209. \t\t\t\t\t\t\t      </div>
  6210. \t\t\t\t\t\t\t    </div>
  6211. \t\t\t\t\t\t\t  </div>
  6212. \t\t\t\t\t\t\t</div>
  6213. \t\t\t\t\t\t\t{# ウッドデッキフェンスの有無 #}
  6214. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6215. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">デッキフェンス</label>
  6216. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6217. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6218. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6219. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_yes\" value=\"必要\"
  6220. \t\t\t\t\t\t\t          {% if mitsumori_json and mitsumori_json.deck_fence == '必要' %}checked{% endif %}
  6221. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op1','deck_fence_yes');\">
  6222. \t\t\t\t\t\t\t        <label for=\"deck_fence_yes\">必要</label>
  6223. \t\t\t\t\t\t\t      </div>
  6224. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6225. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_no\" value=\"不要\"
  6226. \t\t\t\t\t\t\t          {% if not mitsumori_json or mitsumori_json.deck_fence == '不要' or not mitsumori_json.deck_fence %}checked{% endif %}
  6227. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op1','deck_fence_no');\">
  6228. \t\t\t\t\t\t\t        <label for=\"deck_fence_no\">不要</label>
  6229. \t\t\t\t\t\t\t      </div>
  6230. \t\t\t\t\t\t\t    </div>
  6231. \t\t\t\t\t\t\t  </div>
  6232. \t\t\t\t\t\t\t</div>
  6233. \t\t\t\t\t\t{% endif %}
  6234. \t\t\t\t\t\t<!-- 6: 施工見積(芝生・枚数・数量買い) -->
  6235. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 6 %}
  6236. \t\t\t\t\t\t\t{# 規格(p_m データ → 素材から抽出) #}
  6237. \t\t\t\t\t\t\t{% if p_m and p_m|length and p_m|join != \"\" %}
  6238. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6239. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">規格</label>
  6240. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6241. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6242. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6243. \t\t\t\t\t\t\t    {% for pm_val in p_m %}{% if pm_val %}{% set idx = idx + 1 %}
  6244. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6245. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pm\" id=\"pm6_{{ idx }}\" value=\"{{ pm_val }}\"
  6246. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pm == pm_val) or p_m|length == 1 %}checked{% endif %}
  6247. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','pm6_{{ idx }}');\">
  6248. \t\t\t\t\t\t\t        <label for=\"pm6_{{ idx }}\">{{ pm_val }}</label>
  6249. \t\t\t\t\t\t\t      </div>
  6250. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6251. \t\t\t\t\t\t\t    </div>
  6252. \t\t\t\t\t\t\t  </div>
  6253. \t\t\t\t\t\t\t</div>
  6254. \t\t\t\t\t\t\t{% endif %}
  6255. \t\t\t\t\t\t\t{# 芝の長さ(p_w データ → 幅から抽出) #}
  6256. \t\t\t\t\t\t\t{% if p_w and p_w|length and p_w|join != \"\" %}
  6257. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6258. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">芝の長さ</label>
  6259. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6260. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6261. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6262. \t\t\t\t\t\t\t    {% for pw_val in p_w %}{% if pw_val %}{% set idx = idx + 1 %}
  6263. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6264. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pw\" id=\"pw6_{{ idx }}\" value=\"{{ pw_val }}\"
  6265. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pw == pw_val) or p_w|length == 1 %}checked{% endif %}
  6266. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pw','pw6_{{ idx }}');\">
  6267. \t\t\t\t\t\t\t        <label for=\"pw6_{{ idx }}\">{{ pw_val }}</label>
  6268. \t\t\t\t\t\t\t      </div>
  6269. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6270. \t\t\t\t\t\t\t    </div>
  6271. \t\t\t\t\t\t\t  </div>
  6272. \t\t\t\t\t\t\t</div>
  6273. \t\t\t\t\t\t\t{% endif %}
  6274. \t\t\t\t\t\t\t{# 施工面積(㎡ 自由入力) #}
  6275. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6276. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">施工面積</label>
  6277. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6278. \t\t\t\t\t\t\t    <div class=\"input-group\">
  6279. \t\t\t\t\t\t\t      <input type=\"number\" name=\"area\" id=\"area\"
  6280. \t\t\t\t\t\t\t        class=\"form-control\"
  6281. \t\t\t\t\t\t\t        value=\"{{ mitsumori_json.area|default('') }}\"
  6282. \t\t\t\t\t\t\t        placeholder=\"例: 10.5\"
  6283. \t\t\t\t\t\t\t        min=\"0.1\" step=\"0.1\"
  6284. \t\t\t\t\t\t\t        onchange=\"mitsumori_simulation('area','area');\">
  6285. \t\t\t\t\t\t\t      <span class=\"input-group-text\">平米</span>
  6286. \t\t\t\t\t\t\t    </div>
  6287. \t\t\t\t\t\t\t  </div>
  6288. \t\t\t\t\t\t\t</div>
  6289. \t\t\t\t\t\t{% endif %}
  6290. \t\t\t\t\t\t<!-- 9: 商品のみ購入 -->
  6291. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 9 %}
  6292. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6293. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">数量</label>
  6294. \t\t\t\t\t\t\t  <div class=\"col-4\">
  6295. \t\t\t\t\t\t\t    <div class=\"input-group mb-3\">
  6296. \t\t\t\t\t\t\t      <input type=\"number\" name=\"quantity_only\" id=\"quantity_only\" class=\"form-control\" value=\"1\" min=\"1\" onchange=\"\$('#quantity').val(this.value);\">
  6297. \t\t\t\t\t\t\t      <span class=\"input-group-text\">個</span>
  6298. \t\t\t\t\t\t\t    </div>
  6299. \t\t\t\t\t\t\t  </div>
  6300. \t\t\t\t\t\t\t  <div class=\"col-4\">
  6301. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"quantityOnly(+1);\">+</button>
  6302. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"quantityOnly(-1);\">ー</button>
  6303. \t\t\t\t\t\t\t  </div>
  6304. \t\t\t\t\t\t\t</div>
  6305. \t\t\t\t\t\t{% endif %}
  6306. \t\t\t\t\t    <div class=\"row\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\"><label class=\"col-12 col-form-label\">取り付け工事のご希望に関してお答えください。</label></div>
  6307. \t\t\t\t\t\t{% for i in 0..10 %}
  6308. \t\t\t\t\t\t\t{% if op and op|length >= i+1 %}
  6309. \t\t\t\t\t\t\t{% if op[i]['name'] %}
  6310. \t\t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6311. \t\t\t\t\t\t\t  <div class=\"rp-section-label\">{{ op[i]['name'] }}{% if mitsumori_json and mitsumori_json.op[i] %}: <span>{{ mitsumori_json.op[i] }}</span>{% endif %}</div>
  6312. \t\t\t\t\t\t\t  {% if op[i]['comment'] %}<div class=\"opt-comment\" style=\"font-size:12px;color:#666;margin:4px 0 6px;\">{{ op[i]['comment'] }}</div>{% endif %}
  6313. \t\t\t\t\t\t\t  <div class=\"opt-btn-group\">
  6314. \t\t\t\t\t\t\t    <label class=\"opt-btn{% if mitsumori_json and mitsumori_json.op[i] == op[i]['on'] %} is-selected{% endif %}\"
  6315. \t\t\t\t\t\t\t           onclick=\"mitsumori_simulation('op{{ i }}','op{{ i }}_1');\">
  6316. \t\t\t\t\t\t\t      <input type=\"radio\" name=\"op{{ i }}\" id=\"op{{ i }}_1\" value=\"{{ op[i]['on'] }}\" {% if mitsumori_json and mitsumori_json.op[i] == op[i]['on'] %}checked{% endif %}>
  6317. \t\t\t\t\t\t\t      {{ op[i]['on'] }}
  6318. \t\t\t\t\t\t\t    </label>
  6319. \t\t\t\t\t\t\t    <label class=\"opt-btn{% if mitsumori_json and mitsumori_json.op[i] == op[i]['off'] %} is-selected{% endif %}\"
  6320. \t\t\t\t\t\t\t           onclick=\"mitsumori_simulation('op{{ i }}','op{{ i }}_2');\">
  6321. \t\t\t\t\t\t\t      <input type=\"radio\" name=\"op{{ i }}\" id=\"op{{ i }}_2\" value=\"{{ op[i]['off'] }}\" {% if mitsumori_json and mitsumori_json.op[i] == op[i]['off'] %}checked{% endif %}>
  6322. \t\t\t\t\t\t\t      {{ op[i]['off'] }}
  6323. \t\t\t\t\t\t\t    </label>
  6324. \t\t\t\t\t\t\t  </div>
  6325. \t\t\t\t\t\t\t</div>
  6326. \t\t\t\t\t\t\t{% endif %}
  6327. \t\t\t\t\t\t\t{% endif %}
  6328. \t\t\t\t\t\t{% endfor %}
  6329. \t\t\t\t\t  </div>
  6330. \t\t\t\t\t  <!-- /.card-body -->
  6331. \t\t\t\t\t</div>
  6332.                     <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  6333.                         {% if Product.stock_find %}
  6334.                             <div class=\"ec-productRole__actions\">
  6335.                                 {% if form.classcategory_id1 is defined %}
  6336.                                     <div class=\"ec-select\">
  6337.                                         {{ form_row(form.classcategory_id1) }}
  6338.                                         {{ form_errors(form.classcategory_id1) }}
  6339.                                     </div>
  6340.                                     {% if form.classcategory_id2 is defined %}
  6341.                                         <div class=\"ec-select\">
  6342.                                             {{ form_row(form.classcategory_id2) }}
  6343.                                             {{ form_errors(form.classcategory_id2) }}
  6344.                                         </div>
  6345.                                     {% endif %}
  6346.                                 {% endif %}
  6347.                                 <div class=\"ec-numberInput\">
  6348.                                     {{ form_widget(form.quantity, { type: 'hidden' }) }}
  6349.                                     {{ form_errors(form.quantity) }}
  6350.                                 </div>
  6351.                             </div>
  6352.                         {% else %}
  6353.                             <div class=\"ec-productRole__btn\">
  6354.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  6355.                                     {{ 'ただいま品切れ中です。'|trans }}
  6356.                                 </button>
  6357.                             </div>
  6358.                         {% endif %}
  6359.                         <div class=\"ec-productRole__btn mt-3\">
  6360.                            <button type=\"submit\" id=\"cart_btn\" class=\"ec-blockBtn--action add-cart\">施工検討リストに入れる</button>
  6361.                         </div>
  6362.                         {{ form_rest(form) }}
  6363.                     </form>
  6364.                     <div class=\"ec-modal add-cart-modal\">
  6365.                         <div class=\"ec-modal-overlay\">
  6366.                             <div class=\"ec-modal-wrap add-cart-modal__wrap\">
  6367.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  6368.                                 <div id=\"ec-modal-header\" class=\"text-center add-cart-modal__header\">{{ '施工検討リストに追加しました。'|trans }}</div>
  6369.                                 <div class=\"ec-modal-box add-cart-modal__box\">
  6370.                                     <div class=\"ec-role add-cart-modal__actions\">
  6371.                                         <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action add-cart-modal__primary\">{{ '施工検討リストへ進む'|trans }}</a>
  6372.                                         <span class=\"ec-inlineBtn--cancel add-cart-modal__secondary\">{{ '商品検索を続ける'|trans }}</span>
  6373.                                     </div>
  6374.                                 </div>
  6375.                             </div>
  6376.                         </div>
  6377.                     </div>
  6378.                     <div class=\"ec-productRole__description\">{{ Product.description_detail|raw|nl2br }}
  6379.                     </div>
  6380.                     {# SNSシェア #}
  6381.                     <div class=\"ec-productRole__share\">
  6382.                         <ul class=\"ec-share\">
  6383.                             <li class=\"ec-share__item\">
  6384.                                 <a href=\"https://twitter.com/share?url={{ app.request.uri|url_encode }}&text={{ Product.name|url_encode }}\" class=\"ec-share__link ec-share__link--twitter\" target=\"_blank\" rel=\"noreferrer noopener\">
  6385.                                     <i class=\"fab fa-twitter\"></i>
  6386.                                 </a>
  6387.                             </li>
  6388.                             <li class=\"ec-share__item\">
  6389.                                 <a href=\"https://www.facebook.com/sharer/sharer.php?u={{ app.request.uri|url_encode }}\" class=\"ec-share__link ec-share__link--facebook\" target=\"_blank\" rel=\"noreferrer noopener\">
  6390.                                     <i class=\"fab fa-facebook-f\"></i>
  6391.                                 </a>
  6392.                             </li>
  6393.                             <li class=\"ec-share__item\">
  6394.                                 <a href=\"https://social-plugins.line.me/lineit/share?url={{ app.request.uri|url_encode }}\" class=\"ec-share__link ec-share__link--line\" target=\"_blank\" rel=\"noreferrer noopener\">
  6395.                                     <i class=\"fab fa-line\"></i>
  6396.                                 </a>
  6397.                             </li>
  6398.                         </ul>
  6399.                     </div>
  6400.                 </div>
  6401. \t\t\t\t{# ===== スマホ用 見積金額 下部固定バー ===== #}
  6402. \t\t\t\t<div id=\"sp-mitsumori-bar\">
  6403. \t\t\t\t    <div>
  6404. \t\t\t\t        <div class=\"sp-bar__label\">合計(工事費・税込)</div>
  6405. \t\t\t\t        <div class=\"sp-bar__price\" id=\"sp-mitsumori-price\">---円</div>
  6406. \t\t\t\t    </div>
  6407. \t\t\t\t    <button type=\"button\" class=\"sp-bar__btn\"
  6408. \t\t\t\t            onclick=\"document.getElementById('cart_btn2') && document.getElementById('cart_btn2').click();\">
  6409. \t\t\t\t        <i class=\"fas fa-shopping-cart\"></i>
  6410. \t\t\t\t        <span class=\"sp-bar__btn-label\">検討リストへ</span>
  6411. \t\t\t\t        {% set spTotalQty = get_carts_total_quantity() %}
  6412. \t\t\t\t        {% if spTotalQty > 0 %}
  6413. \t\t\t\t            <span class=\"sp-bar__cart-badge\">{{ spTotalQty|number_format }}</span>
  6414. \t\t\t\t        {% endif %}
  6415. \t\t\t\t    </button>
  6416. \t\t\t\t    <a href=\"{{ url('homepage') }}\" class=\"sp-bar__home-btn\" title=\"トップページへ\">
  6417. \t\t\t\t        <i class=\"fas fa-home\"></i>
  6418. \t\t\t\t    </a>
  6419. \t\t\t\t</div>
  6420. \t\t\t\t<div class=\"card col-12 collapsed-card sticky-top float-right mitsumori-card-pc\">
  6421. \t\t\t\t\t<div class=\"card-header\">
  6422. \t\t\t\t\t  <h3 class=\"card-title\">現在のお見積り額</h3>
  6423. \t\t\t\t\t  <div class=\"card-tools\">
  6424. \t\t\t\t\t    <span class=\"float-left\" id=\"mitsumori_message\">395000円</span>
  6425. \t\t\t\t\t    <button type=\"button\" class=\"btn btn-tool btn-mitsumori-toggle\" data-card-widget=\"collapse\" title=\"詳細を表示\">
  6426. \t\t\t\t\t      <span class=\"toggle-icon\">▼ 詳細</span>
  6427. \t\t\t\t\t    </button>
  6428. \t\t\t\t\t  </div>
  6429. \t\t\t\t\t</div>
  6430. \t\t\t\t\t<div class=\"card-body p-0\">
  6431. \t\t\t\t\t  <ul class=\"nav nav-pills flex-column\">
  6432. \t\t\t\t\t    <li class=\"nav-item active\">
  6433. \t\t\t\t\t      <a class=\"nav-link\">
  6434. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 合計(工事費・税込)
  6435. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_goukei\">395,000円</span>
  6436. \t\t\t\t\t      </a>
  6437. \t\t\t\t\t    </li>
  6438. \t\t\t\t\t    <li class=\"nav-item active\">
  6439. \t\t\t\t\t      <a class=\"nav-link\">
  6440. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 商品価格
  6441. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_price\">307,008円</span>
  6442. \t\t\t\t\t      </a>
  6443. \t\t\t\t\t    </li>
  6444. \t\t\t\t\t    <li class=\"nav-item\">
  6445. \t\t\t\t\t      <a class=\"nav-link\">
  6446. \t\t\t\t\t        &nbsp;&nbsp;<i class=\"far fa-file-alt\"></i> カタログ価格
  6447. \t\t\t\t\t        <span class=\"float-right\" id=\"maker_price\">479,700円</span>
  6448. \t\t\t\t\t      </a>
  6449. \t\t\t\t\t    </li>
  6450. \t\t\t\t\t    <li class=\"nav-item\">
  6451. \t\t\t\t\t      <a class=\"nav-link\">
  6452. \t\t\t\t\t        &nbsp;&nbsp;<i class=\"far fa-file-alt\"></i> お値引き
  6453. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_off\">-172,692円</span>
  6454. \t\t\t\t\t      </a>
  6455. \t\t\t\t\t    </li>
  6456. \t\t\t\t\t    <li class=\"nav-item\">
  6457. \t\t\t\t\t      <a class=\"nav-link\">
  6458. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 基本工事費
  6459. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_ct\">53,250円</span>
  6460. \t\t\t\t\t      </a>
  6461. \t\t\t\t\t    </li>
  6462. \t\t\t\t\t    <li class=\"nav-item\">
  6463. \t\t\t\t\t      <a class=\"nav-link\">
  6464. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 施工オプション
  6465. \t\t\t\t\t        <span class=\"float-right\"id=\"mitsumori_option\">6,297円</span>
  6466. \t\t\t\t\t      </a>
  6467. \t\t\t\t\t    </li>
  6468. \t\t\t\t\t  </ul>
  6469. \t\t\t\t\t</div>
  6470. \t\t\t\t\t<div class=\"card-footer\">
  6471. \t\t                <button type=\"button\" id=\"mitsumori_btn\" class=\"btn btn-info\" data-toggle=\"modal\" data-target=\"#modal-mitsumori\">
  6472. \t\t                  見積書表示
  6473. \t\t                </button>
  6474.                         <button type=\"submit\" id=\"cart_btn2\" class=\"btn btn-info add-cart\">施工検討リストに入れる</button>
  6475. \t\t\t\t\t</div>
  6476. \t\t\t\t</div>
  6477.             </div>
  6478.         </div>
  6479.     </div>
  6480.   <div class=\"modal\" id=\"modal-mitsumori\">
  6481.     <div class=\"modal-dialog modal-mitsumori\" style=\"max-width:1000px\">
  6482.       <div class=\"modal-content\">
  6483.         <div class=\"modal-header\">
  6484.           <h4 class=\"modal-title\">お見積書</h4>
  6485.           <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  6486.             <span aria-hidden=\"true\">&times;</span>
  6487.           </button>
  6488.         </div>
  6489.         <div class=\"modal-body\">
  6490. \t\t\t<div class=\"invoice p-3 mb-5\" style=\"max-width:1000px; margin:auto;\">
  6491. \t\t\t  <!-- title row -->
  6492. \t\t\t  <div class=\"row\">
  6493. \t\t\t    <div class=\"col-12\">
  6494. \t\t\t      <h2>概算お見積書 
  6495. \t\t\t        <small class=\"float-right\" style=\"font-size:14px;\">発行日: 2025/03/14</small>
  6496. \t\t\t      </h2>
  6497. \t\t\t    </div>
  6498. \t\t\t    <!-- /.col -->
  6499. \t\t\t  </div>
  6500. \t\t\t  <!-- info row -->
  6501. \t\t\t  <div class=\"row invoice-info\">
  6502. \t\t\t    <div class=\"col-sm-8 invoice-col\">
  6503. \t\t\t      <h3>お客様</h3>
  6504. \t\t\t      <span>下記の通り、お見積もり申し上げます。</span>
  6505. \t\t\t      <br />
  6506. \t\t\t      <br / >
  6507. \t\t\t      <br />
  6508. \t\t\t      <h2>お見積金額: <span id=\"mitsumori_kei\">399,080円</span></h2>
  6509. \t\t\t      <span>
  6510. \t\t\t        <br/>
  6511. \t\t\t        <br/>
  6512. \t\t\t        <br/>
  6513. \t\t\t        <br/>
  6514. \t\t\t      </span>
  6515. \t\t\t    </div>
  6516. \t\t\t    <div class=\"col-sm-4 invoice-col\">
  6517. \t\t\t      <p>
  6518. \t\t\t        <img alt=\"\" src=\"/html/user_data/js/images/logo.png\" style=\"width: 260px; max-width: 100%; max-height: 10mm;\">
  6519. \t\t\t      </p>
  6520. \t\t\t      <p>有限会社プラス</p>
  6521. \t\t\t      <p>〒400-0334</p>
  6522. \t\t\t      <p>山梨県南アルプス市藤田1450番地2</p>
  6523. \t\t\t      <p>TEL: 055-284-6480</p>
  6524. \t\t\t      <img alt=\"\" src=\"/html/user_data/js/images/seal.svg\" style=\"z-index: 2; position: absolute; width: 21mm; left: 58mm; top: 36mm;\">
  6525. \t\t\t    </div>
  6526. \t\t\t    <!-- /.col -->
  6527. \t\t\t    <!-- /.col -->
  6528. \t\t\t  </div>
  6529. \t\t\t  <!-- /.row -->
  6530. \t\t\t  <!-- Table row -->
  6531. \t\t\t  <div class=\"row\">
  6532. \t\t\t    <div class=\"col-12 table-responsive\">
  6533. \t\t\t      <table class=\"table table-striped\">
  6534. \t\t\t        <thead>
  6535. \t\t\t          <tr>
  6536. \t\t\t            <th>項目</th>
  6537. \t\t\t            <th>数量</th>
  6538. \t\t\t            <th>単位</th>
  6539. \t\t\t            <th>単価</th>
  6540. \t\t\t            <th>小計</th>
  6541. \t\t\t          </tr>
  6542. \t\t\t        </thead>
  6543. \t\t\t        <tbody>
  6544. \t\t\t          <tr>
  6545. \t\t\t            <td>プレーンルーフ 600タイプ 1台用 単体セット</td>
  6546. \t\t\t            <td>1</td>
  6547. \t\t\t            <td>式</td>
  6548. \t\t\t            <td id=\"mitsumori_price_01\">352,800</td>
  6549. \t\t\t            <td id=\"mitsumori_price_02\">352,800</td>
  6550. \t\t\t          </tr>
  6551. \t\t\t          <tr>
  6552. \t\t\t            <td>基本工事費</td>
  6553. \t\t\t            <td>1</td>
  6554. \t\t\t            <td>式</td>
  6555. \t\t\t            <td id=\"mitsumori_ct_01\">10,000</td>
  6556. \t\t\t            <td id=\"mitsumori_ct_02\">10,000</td>
  6557. \t\t\t          </tr>
  6558. \t\t\t          <tr>
  6559. \t\t\t            <td>残土・ガラ処理</td>
  6560. \t\t\t            <td>1</td>
  6561. \t\t\t            <td>式</td>
  6562. \t\t\t            <td>0円</td>
  6563. \t\t\t            <td></td>
  6564. \t\t\t          </tr>
  6565. \t\t\t          <tr>
  6566. \t\t\t            <td> </td>
  6567. \t\t\t            <td></td>
  6568. \t\t\t            <td></td>
  6569. \t\t\t            <td></td>
  6570. \t\t\t            <td></td>
  6571. \t\t\t          </tr>
  6572. \t\t\t        </tbody>
  6573. \t\t\t      </table>
  6574. \t\t\t    </div>
  6575. \t\t\t    <!-- /.col -->
  6576. \t\t\t  </div>
  6577. \t\t\t  <!-- /.row -->
  6578. \t\t\t  <div class=\"row\">
  6579. \t\t\t    <!-- accepted payments column -->
  6580. \t\t\t    <div class=\"col-6\">
  6581. \t\t\t      <p class=\"lead\">お支払い方法</p>
  6582. \t\t\t      <p class=\"text-muted well well-sm shadow-none\" style=\"margin-top: 10px;\">銀行振込、クレジットカード決済、PAYPAY決済
  6583. \t\t\t        <br>銀行振込:山梨中央銀行 白根支店 普通口座 391402
  6584. \t\t\t        <br>※商品代金と工事代金の総額が金100万円(税込)を超える場合、着手金として代金の半額をご契約後お支払いいただきます。 
  6585. \t\t\t      </p>
  6586. \t\t\t    </div>
  6587. \t\t\t    <!-- /.col -->
  6588. \t\t\t    <div class=\"col-6\">
  6589. \t\t\t      <div class=\"table-responsive\">
  6590. \t\t\t        <table class=\"table\">
  6591. \t\t\t          <tbody>
  6592. \t\t\t            <tr>
  6593. \t\t\t              <th style=\"width:50%\">小計:</th>
  6594. \t\t\t              <td id=\"mitsumori_shoukei\">362,800</td>
  6595. \t\t\t            </tr>
  6596. \t\t\t            <tr>
  6597. \t\t\t              <th>消費税 (10%)</th>
  6598. \t\t\t              <td id=\"mitsumori_tax\">36,280</td>
  6599. \t\t\t            </tr>
  6600. \t\t\t            <tr>
  6601. \t\t\t              <th>合計:</th>
  6602. \t\t\t              <td id=\"mitsumori_goukei_02\">399,080</td>
  6603. \t\t\t            </tr>
  6604. \t\t\t          </tbody>
  6605. \t\t\t        </table>
  6606. \t\t\t      </div>
  6607. \t\t\t    </div>
  6608. \t\t\t    <!-- /.col -->
  6609. \t\t\t  </div>
  6610. \t\t\t  <!-- /.row -->
  6611. \t\t\t</div>
  6612.         </div>
  6613.         <div class=\"modal-footer justify-content-between\">
  6614. \t\t\t      {# PDF出力: mitsumori_json を POST して PDF ダウンロード #}
  6615. \t\t\t      <form method=\"post\" action=\"{{ url('mitsumori_pdf') }}\" target=\"_blank\" id=\"pdf_download_form\">
  6616. \t\t\t        <input type=\"hidden\" name=\"_token\" value=\"{{ csrf_token('mitsumori_pdf') }}\">
  6617. \t\t\t        <input type=\"hidden\" name=\"mitsumori_json\" id=\"pdf_mitsumori_json\">
  6618. \t\t\t        <button type=\"submit\" class=\"btn btn-primary float-right\" style=\"margin-right: 5px;\" onclick=\"syncPdfJson();\">
  6619. \t\t\t          <i class=\"fas fa-download\"></i>PDF出力
  6620. \t\t\t        </button>
  6621. \t\t\t      </form>
  6622.                   <button type=\"submit\" id=\"cart_btn3\" class=\"btn btn-info add-cart\">施工検討リストに入れる</button>
  6623.         </div>
  6624.       </div>
  6625.       <!-- /.modal-content -->
  6626.     </div>
  6627.     <!-- /.modal-dialog -->
  6628.   </div>
  6629.   <!-- /.modal -->
  6630. {% endblock %}
  6631. ""Product/detail.twig""/home/xs538259/exterior-plus.jp/public_html/app/template/default/Product/detail.twig");
  6632.     }
  6633. }