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

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               width=\"120\" height=\"120\" loading=\"lazy\"
  2210. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  2211. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  2212. \t\t\t\t\t\t          <span class=\"rp-card__name\">";
  2213.                     // line 1624
  2214.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2215.                     echo "</span>
  2216. \t\t\t\t\t\t        </label>
  2217. \t\t\t\t\t\t      ";
  2218.                 }
  2219.                 $_parent $context['_parent'];
  2220.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2221.                 $context array_intersect_key($context$_parent) + $_parent;
  2222.                 // line 1627
  2223.                 echo "\t\t\t\t\t\t    </div>
  2224. \t\t\t\t\t\t  ";
  2225.             } else {
  2226.                 // line 1629
  2227.                 echo "\t\t\t\t\t\t    ";
  2228.                 // line 1630
  2229.                 echo "\t\t\t\t\t\t    <div class=\"rp-btn-group\">
  2230. \t\t\t\t\t\t      ";
  2231.                 // line 1631
  2232.                 $context['_parent'] = $context;
  2233.                 $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.'1631$this->source); })()));
  2234.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2235.                     // line 1632
  2236.                     echo "\t\t\t\t\t\t        <label class=\"rp-btn";
  2237.                     if (((isset($context["base_select1"]) || array_key_exists("base_select1"$context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.'1632$this->source); })()) == $context["rp_name"])) {
  2238.                         echo " is-selected";
  2239.                     }
  2240.                     echo "\"
  2241. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2242.                     // line 1633
  2243.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2244.                     echo "';\">
  2245. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp1\" value=\"";
  2246.                     // line 1634
  2247.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2248.                     echo "\"
  2249. \t\t\t\t\t\t                 ";
  2250.                     // line 1635
  2251.                     if (((isset($context["base_select1"]) || array_key_exists("base_select1"$context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.'1635$this->source); })()) == $context["rp_name"])) {
  2252.                         echo "checked";
  2253.                     }
  2254.                     echo ">
  2255. \t\t\t\t\t\t          ";
  2256.                     // line 1636
  2257.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2258.                     echo "
  2259. \t\t\t\t\t\t        </label>
  2260. \t\t\t\t\t\t      ";
  2261.                 }
  2262.                 $_parent $context['_parent'];
  2263.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2264.                 $context array_intersect_key($context$_parent) + $_parent;
  2265.                 // line 1639
  2266.                 echo "\t\t\t\t\t\t    </div>
  2267. \t\t\t\t\t\t  ";
  2268.             }
  2269.             // line 1641
  2270.             echo "\t\t\t\t\t\t</div>
  2271. \t\t\t\t\t\t";
  2272.         }
  2273.         // line 1643
  2274.         echo "
  2275. \t\t\t\t\t\t";
  2276.         // line 1645
  2277.         echo "\t\t\t\t\t\t";
  2278.         if ((((isset($context["type2"]) || array_key_exists("type2"$context) ? $context["type2"] : (function () { throw new RuntimeError('Variable "type2" does not exist.'1645$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.'1645$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.'1645$this->source); })())))) {
  2279.             // line 1646
  2280.             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)\">
  2281. \t\t\t\t\t\t  <div class=\"rp-section-label\">";
  2282.             // line 1647
  2283.             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.'1647$this->source); })()), "html"nulltrue);
  2284.             if (((isset($context["img2"]) || array_key_exists("img2"$context) ? $context["img2"] : (function () { throw new RuntimeError('Variable "img2" does not exist.'1647$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.'1647$this->source); })()))) {
  2285.                 echo ": <span>";
  2286.                 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.'1647$this->source); })()), "html"nulltrue);
  2287.                 echo "</span>";
  2288.             }
  2289.             echo "</div>
  2290. \t\t\t\t\t\t  ";
  2291.             // line 1648
  2292.             if ((isset($context["img2"]) || array_key_exists("img2"$context) ? $context["img2"] : (function () { throw new RuntimeError('Variable "img2" does not exist.'1648$this->source); })())) {
  2293.                 // line 1649
  2294.                 echo "\t\t\t\t\t\t    <div class=\"rp-card-group\">
  2295. \t\t\t\t\t\t      ";
  2296.                 // line 1650
  2297.                 $context['_parent'] = $context;
  2298.                 $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.'1650$this->source); })()));
  2299.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2300.                     // line 1651
  2301.                     echo "\t\t\t\t\t\t        <label class=\"rp-card";
  2302.                     if (((isset($context["base_select2"]) || array_key_exists("base_select2"$context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.'1651$this->source); })()) == $context["rp_name"])) {
  2303.                         echo " is-selected";
  2304.                     }
  2305.                     echo "\"
  2306. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2307.                     // line 1652
  2308.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2309.                     echo "';\">
  2310. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp2\" value=\"";
  2311.                     // line 1653
  2312.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2313.                     echo "\"
  2314. \t\t\t\t\t\t                 ";
  2315.                     // line 1654
  2316.                     if (((isset($context["base_select2"]) || array_key_exists("base_select2"$context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.'1654$this->source); })()) == $context["rp_name"])) {
  2317.                         echo "checked";
  2318.                     }
  2319.                     echo ">
  2320. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  2321. \t\t\t\t\t\t               src=\"";
  2322.                     // line 1656
  2323.                     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);
  2324.                     echo "\"
  2325. \t\t\t\t\t\t               alt=\"";
  2326.                     // line 1657
  2327.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2328.                     echo "\"
  2329. \t\t\t\t\t\t               width=\"120\" height=\"120\" loading=\"lazy\"
  2330. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  2331. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  2332. \t\t\t\t\t\t          <span class=\"rp-card__name\">";
  2333.                     // line 1661
  2334.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2335.                     echo "</span>
  2336. \t\t\t\t\t\t        </label>
  2337. \t\t\t\t\t\t      ";
  2338.                 }
  2339.                 $_parent $context['_parent'];
  2340.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2341.                 $context array_intersect_key($context$_parent) + $_parent;
  2342.                 // line 1664
  2343.                 echo "\t\t\t\t\t\t    </div>
  2344. \t\t\t\t\t\t  ";
  2345.             } else {
  2346.                 // line 1666
  2347.                 echo "\t\t\t\t\t\t    <div class=\"rp-btn-group\">
  2348. \t\t\t\t\t\t      ";
  2349.                 // line 1667
  2350.                 $context['_parent'] = $context;
  2351.                 $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.'1667$this->source); })()));
  2352.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2353.                     // line 1668
  2354.                     echo "\t\t\t\t\t\t        <label class=\"rp-btn";
  2355.                     if (((isset($context["base_select2"]) || array_key_exists("base_select2"$context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.'1668$this->source); })()) == $context["rp_name"])) {
  2356.                         echo " is-selected";
  2357.                     }
  2358.                     echo "\"
  2359. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2360.                     // line 1669
  2361.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2362.                     echo "';\">
  2363. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp2\" value=\"";
  2364.                     // line 1670
  2365.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2366.                     echo "\"
  2367. \t\t\t\t\t\t                 ";
  2368.                     // line 1671
  2369.                     if (((isset($context["base_select2"]) || array_key_exists("base_select2"$context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.'1671$this->source); })()) == $context["rp_name"])) {
  2370.                         echo "checked";
  2371.                     }
  2372.                     echo ">
  2373. \t\t\t\t\t\t          ";
  2374.                     // line 1672
  2375.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2376.                     echo "
  2377. \t\t\t\t\t\t        </label>
  2378. \t\t\t\t\t\t      ";
  2379.                 }
  2380.                 $_parent $context['_parent'];
  2381.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2382.                 $context array_intersect_key($context$_parent) + $_parent;
  2383.                 // line 1675
  2384.                 echo "\t\t\t\t\t\t    </div>
  2385. \t\t\t\t\t\t  ";
  2386.             }
  2387.             // line 1677
  2388.             echo "\t\t\t\t\t\t</div>
  2389. \t\t\t\t\t\t";
  2390.         }
  2391.         // line 1679
  2392.         echo "
  2393. \t\t\t\t\t\t";
  2394.         // line 1681
  2395.         echo "\t\t\t\t\t\t";
  2396.         if ((((isset($context["type3"]) || array_key_exists("type3"$context) ? $context["type3"] : (function () { throw new RuntimeError('Variable "type3" does not exist.'1681$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.'1681$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.'1681$this->source); })())))) {
  2397.             // line 1682
  2398.             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)\">
  2399. \t\t\t\t\t\t  <div class=\"rp-section-label\">";
  2400.             // line 1683
  2401.             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.'1683$this->source); })()), "html"nulltrue);
  2402.             if (((isset($context["img3"]) || array_key_exists("img3"$context) ? $context["img3"] : (function () { throw new RuntimeError('Variable "img3" does not exist.'1683$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.'1683$this->source); })()))) {
  2403.                 echo ": <span>";
  2404.                 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.'1683$this->source); })()), "html"nulltrue);
  2405.                 echo "</span>";
  2406.             }
  2407.             echo "</div>
  2408. \t\t\t\t\t\t  ";
  2409.             // line 1684
  2410.             if ((isset($context["img3"]) || array_key_exists("img3"$context) ? $context["img3"] : (function () { throw new RuntimeError('Variable "img3" does not exist.'1684$this->source); })())) {
  2411.                 // line 1685
  2412.                 echo "\t\t\t\t\t\t    <div class=\"rp-card-group\">
  2413. \t\t\t\t\t\t      ";
  2414.                 // line 1686
  2415.                 $context['_parent'] = $context;
  2416.                 $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.'1686$this->source); })()));
  2417.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2418.                     // line 1687
  2419.                     echo "\t\t\t\t\t\t        <label class=\"rp-card";
  2420.                     if (((isset($context["base_select3"]) || array_key_exists("base_select3"$context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.'1687$this->source); })()) == $context["rp_name"])) {
  2421.                         echo " is-selected";
  2422.                     }
  2423.                     echo "\"
  2424. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2425.                     // line 1688
  2426.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2427.                     echo "';\">
  2428. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp3\" value=\"";
  2429.                     // line 1689
  2430.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2431.                     echo "\"
  2432. \t\t\t\t\t\t                 ";
  2433.                     // line 1690
  2434.                     if (((isset($context["base_select3"]) || array_key_exists("base_select3"$context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.'1690$this->source); })()) == $context["rp_name"])) {
  2435.                         echo "checked";
  2436.                     }
  2437.                     echo ">
  2438. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  2439. \t\t\t\t\t\t               src=\"";
  2440.                     // line 1692
  2441.                     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);
  2442.                     echo "\"
  2443. \t\t\t\t\t\t               alt=\"";
  2444.                     // line 1693
  2445.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2446.                     echo "\"
  2447. \t\t\t\t\t\t               width=\"120\" height=\"120\" loading=\"lazy\"
  2448. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  2449. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  2450. \t\t\t\t\t\t          <span class=\"rp-card__name\">";
  2451.                     // line 1697
  2452.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2453.                     echo "</span>
  2454. \t\t\t\t\t\t        </label>
  2455. \t\t\t\t\t\t      ";
  2456.                 }
  2457.                 $_parent $context['_parent'];
  2458.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2459.                 $context array_intersect_key($context$_parent) + $_parent;
  2460.                 // line 1700
  2461.                 echo "\t\t\t\t\t\t    </div>
  2462. \t\t\t\t\t\t  ";
  2463.             } else {
  2464.                 // line 1702
  2465.                 echo "\t\t\t\t\t\t    <div class=\"rp-btn-group\">
  2466. \t\t\t\t\t\t      ";
  2467.                 // line 1703
  2468.                 $context['_parent'] = $context;
  2469.                 $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.'1703$this->source); })()));
  2470.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2471.                     // line 1704
  2472.                     echo "\t\t\t\t\t\t        <label class=\"rp-btn";
  2473.                     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"])) {
  2474.                         echo " is-selected";
  2475.                     }
  2476.                     echo "\"
  2477. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2478.                     // line 1705
  2479.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2480.                     echo "';\">
  2481. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp3\" value=\"";
  2482.                     // line 1706
  2483.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2484.                     echo "\"
  2485. \t\t\t\t\t\t                 ";
  2486.                     // line 1707
  2487.                     if (((isset($context["base_select3"]) || array_key_exists("base_select3"$context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.'1707$this->source); })()) == $context["rp_name"])) {
  2488.                         echo "checked";
  2489.                     }
  2490.                     echo ">
  2491. \t\t\t\t\t\t          ";
  2492.                     // line 1708
  2493.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2494.                     echo "
  2495. \t\t\t\t\t\t        </label>
  2496. \t\t\t\t\t\t      ";
  2497.                 }
  2498.                 $_parent $context['_parent'];
  2499.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2500.                 $context array_intersect_key($context$_parent) + $_parent;
  2501.                 // line 1711
  2502.                 echo "\t\t\t\t\t\t    </div>
  2503. \t\t\t\t\t\t  ";
  2504.             }
  2505.             // line 1713
  2506.             echo "\t\t\t\t\t\t</div>
  2507. \t\t\t\t\t\t";
  2508.         }
  2509.         // line 1715
  2510.         echo "
  2511. \t\t\t\t\t\t";
  2512.         // line 1717
  2513.         echo "\t\t\t\t\t\t";
  2514.         if ((((isset($context["type4"]) || array_key_exists("type4"$context) ? $context["type4"] : (function () { throw new RuntimeError('Variable "type4" does not exist.'1717$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.'1717$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.'1717$this->source); })())))) {
  2515.             // line 1718
  2516.             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)\">
  2517. \t\t\t\t\t\t  <div class=\"rp-section-label\">";
  2518.             // line 1719
  2519.             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.'1719$this->source); })()), "html"nulltrue);
  2520.             if (((isset($context["img4"]) || array_key_exists("img4"$context) ? $context["img4"] : (function () { throw new RuntimeError('Variable "img4" does not exist.'1719$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.'1719$this->source); })()))) {
  2521.                 echo ": <span>";
  2522.                 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.'1719$this->source); })()), "html"nulltrue);
  2523.                 echo "</span>";
  2524.             }
  2525.             echo "</div>
  2526. \t\t\t\t\t\t  ";
  2527.             // line 1720
  2528.             if ((isset($context["img4"]) || array_key_exists("img4"$context) ? $context["img4"] : (function () { throw new RuntimeError('Variable "img4" does not exist.'1720$this->source); })())) {
  2529.                 // line 1721
  2530.                 echo "\t\t\t\t\t\t    ";
  2531.                 // line 1722
  2532.                 echo "\t\t\t\t\t\t    <div class=\"rp-card-group\">
  2533. \t\t\t\t\t\t      ";
  2534.                 // line 1723
  2535.                 $context['_parent'] = $context;
  2536.                 $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.'1723$this->source); })()));
  2537.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2538.                     // line 1724
  2539.                     echo "\t\t\t\t\t\t        <label class=\"rp-card";
  2540.                     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"])) {
  2541.                         echo " is-selected";
  2542.                     }
  2543.                     echo "\"
  2544. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2545.                     // line 1725
  2546.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2547.                     echo "';\">
  2548. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp4\" value=\"";
  2549.                     // line 1726
  2550.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2551.                     echo "\"
  2552. \t\t\t\t\t\t                 ";
  2553.                     // line 1727
  2554.                     if (((isset($context["base_select4"]) || array_key_exists("base_select4"$context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.'1727$this->source); })()) == $context["rp_name"])) {
  2555.                         echo "checked";
  2556.                     }
  2557.                     echo ">
  2558. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  2559. \t\t\t\t\t\t               src=\"";
  2560.                     // line 1729
  2561.                     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);
  2562.                     echo "\"
  2563. \t\t\t\t\t\t               alt=\"";
  2564.                     // line 1730
  2565.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2566.                     echo "\" width=\"120\" height=\"120\" loading=\"lazy\">
  2567. \t\t\t\t\t\t          <span class=\"rp-card__label\">";
  2568.                     // line 1731
  2569.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2570.                     echo "</span>
  2571. \t\t\t\t\t\t        </label>
  2572. \t\t\t\t\t\t      ";
  2573.                 }
  2574.                 $_parent $context['_parent'];
  2575.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2576.                 $context array_intersect_key($context$_parent) + $_parent;
  2577.                 // line 1734
  2578.                 echo "\t\t\t\t\t\t    </div>
  2579. \t\t\t\t\t\t  ";
  2580.             } else {
  2581.                 // line 1736
  2582.                 echo "\t\t\t\t\t\t    ";
  2583.                 // line 1737
  2584.                 echo "\t\t\t\t\t\t    <div class=\"rp-btn-group\">
  2585. \t\t\t\t\t\t      ";
  2586.                 // line 1738
  2587.                 $context['_parent'] = $context;
  2588.                 $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.'1738$this->source); })()));
  2589.                 foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
  2590.                     // line 1739
  2591.                     echo "\t\t\t\t\t\t        <label class=\"rp-btn";
  2592.                     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"])) {
  2593.                         echo " is-selected";
  2594.                     }
  2595.                     echo "\"
  2596. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/";
  2597.                     // line 1740
  2598.                     echo twig_escape_filter($this->env$context["rp_id"], "html"nulltrue);
  2599.                     echo "';\">
  2600. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp4\" value=\"";
  2601.                     // line 1741
  2602.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2603.                     echo "\"
  2604. \t\t\t\t\t\t                 ";
  2605.                     // line 1742
  2606.                     if (((isset($context["base_select4"]) || array_key_exists("base_select4"$context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.'1742$this->source); })()) == $context["rp_name"])) {
  2607.                         echo "checked";
  2608.                     }
  2609.                     echo ">
  2610. \t\t\t\t\t\t          ";
  2611.                     // line 1743
  2612.                     echo twig_escape_filter($this->env$context["rp_name"], "html"nulltrue);
  2613.                     echo "
  2614. \t\t\t\t\t\t        </label>
  2615. \t\t\t\t\t\t      ";
  2616.                 }
  2617.                 $_parent $context['_parent'];
  2618.                 unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
  2619.                 $context array_intersect_key($context$_parent) + $_parent;
  2620.                 // line 1746
  2621.                 echo "\t\t\t\t\t\t    </div>
  2622. \t\t\t\t\t\t  ";
  2623.             }
  2624.             // line 1748
  2625.             echo "\t\t\t\t\t\t</div>
  2626. \t\t\t\t\t\t";
  2627.         }
  2628.         // line 1750
  2629.         echo "
  2630. \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>
  2631.                         ";
  2632.         // line 1754
  2633.         if ((((isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1754$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.'1754$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.'1754$this->source); })()), "SaleType", [], "any"falsefalsefalse1754), "id", [], "any"falsefalsefalse1754) != 3))) {
  2634.             // line 1755
  2635.             echo "                        <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2636.                           <div class=\"rp-section-label\">カラー";
  2637.             // line 1756
  2638.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1756$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.'1756$this->source); })()), "pc", [], "any"falsefalsefalse1756))) {
  2639.                 echo ": <span>";
  2640.                 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.'1756$this->source); })()), "pc", [], "any"falsefalsefalse1756), "html"nulltrue);
  2641.                 echo "</span>";
  2642.             }
  2643.             echo "</div>
  2644.                           <div class=\"opt-btn-group\">
  2645.                             ";
  2646.             // line 1758
  2647.             $context["idx"] = 0;
  2648.             // line 1759
  2649.             echo "                            ";
  2650.             $context['_parent'] = $context;
  2651.             $context['_seq'] = twig_ensure_traversable((isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1759$this->source); })()));
  2652.             foreach ($context['_seq'] as $context["_key"] => $context["cc"]) {
  2653.                 if (($context["cc"] && twig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1759))) {
  2654.                     $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1759$this->source); })()) + 1);
  2655.                     // line 1760
  2656.                     echo "                              <label class=\"opt-btn";
  2657.                     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))) {
  2658.                         echo " is-selected";
  2659.                     }
  2660.                     echo "\"
  2661.                                      onclick=\"mitsumori_simulation_val('pc', '";
  2662.                     // line 1761
  2663.                     echo twig_escape_filter($this->envtwig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1761), "js"), "html"nulltrue);
  2664.                     echo "');\">
  2665.                                 <input type=\"radio\" name=\"color\" id=\"cc_";
  2666.                     // line 1762
  2667.                     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.'1762$this->source); })()), "html"nulltrue);
  2668.                     echo "\" value=\"";
  2669.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1762), "html"nulltrue);
  2670.                     echo "\"
  2671.                                        ";
  2672.                     // line 1763
  2673.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1763$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.'1763$this->source); })()), "pc", [], "any"falsefalsefalse1763) == twig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1763))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'1763$this->source); })())) == 1))) {
  2674.                         echo "checked";
  2675.                     }
  2676.                     echo ">
  2677.                                 ";
  2678.                     // line 1764
  2679.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse1764), "html"nulltrue);
  2680.                     echo "
  2681.                               </label>
  2682.                             ";
  2683.                 }
  2684.             }
  2685.             $_parent $context['_parent'];
  2686.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cc'], $context['_parent'], $context['loop']);
  2687.             $context array_intersect_key($context$_parent) + $_parent;
  2688.             // line 1767
  2689.             echo "                          </div>
  2690.                         </div>
  2691.                         ";
  2692.         }
  2693.         // line 1770
  2694.         echo "
  2695.                         ";
  2696.         // line 1771
  2697.         if ((((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1771$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.'1771$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.'1771$this->source); })())) != ""))) {
  2698.             // line 1772
  2699.             echo "                        <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2700.                           <div class=\"rp-section-label\">幅";
  2701.             // line 1773
  2702.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1773$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.'1773$this->source); })()), "pw", [], "any"falsefalsefalse1773))) {
  2703.                 echo ": <span>";
  2704.                 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.'1773$this->source); })()), "pw", [], "any"falsefalsefalse1773), "html"nulltrue);
  2705.                 echo "</span>";
  2706.             }
  2707.             echo "</div>
  2708.                           <div class=\"opt-btn-group\">
  2709.                             ";
  2710.             // line 1775
  2711.             $context["idx"] = 0;
  2712.             // line 1776
  2713.             echo "                            ";
  2714.             $context['_parent'] = $context;
  2715.             $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.'1776$this->source); })()));
  2716.             foreach ($context['_seq'] as $context["_key"] => $context["pw"]) {
  2717.                 if ($context["pw"]) {
  2718.                     $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1776$this->source); })()) + 1);
  2719.                     // line 1777
  2720.                     echo "                              <label class=\"opt-btn";
  2721.                     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))) {
  2722.                         echo " is-selected";
  2723.                     }
  2724.                     echo "\"
  2725.                                      onclick=\"mitsumori_simulation_val('pw', '";
  2726.                     // line 1778
  2727.                     echo twig_escape_filter($this->envtwig_escape_filter($this->env$context["pw"], "js"), "html"nulltrue);
  2728.                     echo "');\">
  2729.                                 <input type=\"radio\" name=\"pw\" id=\"pw_";
  2730.                     // line 1779
  2731.                     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.'1779$this->source); })()), "html"nulltrue);
  2732.                     echo "\" value=\"";
  2733.                     echo twig_escape_filter($this->env$context["pw"], "html"nulltrue);
  2734.                     echo "\"
  2735.                                        ";
  2736.                     // line 1780
  2737.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1780$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.'1780$this->source); })()), "pw", [], "any"falsefalsefalse1780) == $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.'1780$this->source); })())) == 1))) {
  2738.                         echo "checked";
  2739.                     }
  2740.                     echo ">
  2741.                                 ";
  2742.                     // line 1781
  2743.                     echo twig_escape_filter($this->env$context["pw"], "html"nulltrue);
  2744.                     echo "
  2745.                               </label>
  2746.                             ";
  2747.                 }
  2748.             }
  2749.             $_parent $context['_parent'];
  2750.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw'], $context['_parent'], $context['loop']);
  2751.             $context array_intersect_key($context$_parent) + $_parent;
  2752.             // line 1784
  2753.             echo "                          </div>
  2754.                         </div>
  2755.                         ";
  2756.         }
  2757.         // line 1787
  2758.         echo "
  2759.                         ";
  2760.         // line 1788
  2761.         if ((((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1788$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.'1788$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.'1788$this->source); })())) != ""))) {
  2762.             // line 1789
  2763.             echo "                        <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2764.                           <div class=\"rp-section-label\">奥行き";
  2765.             // line 1790
  2766.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1790$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.'1790$this->source); })()), "pd", [], "any"falsefalsefalse1790))) {
  2767.                 echo ": <span>";
  2768.                 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.'1790$this->source); })()), "pd", [], "any"falsefalsefalse1790), "html"nulltrue);
  2769.                 echo "</span>";
  2770.             }
  2771.             echo "</div>
  2772.                           <div class=\"opt-btn-group\">
  2773.                             ";
  2774.             // line 1792
  2775.             $context["idx"] = 0;
  2776.             // line 1793
  2777.             echo "                            ";
  2778.             $context['_parent'] = $context;
  2779.             $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.'1793$this->source); })()));
  2780.             foreach ($context['_seq'] as $context["_key"] => $context["pd"]) {
  2781.                 if ($context["pd"]) {
  2782.                     $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1793$this->source); })()) + 1);
  2783.                     // line 1794
  2784.                     echo "                              <label class=\"opt-btn";
  2785.                     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))) {
  2786.                         echo " is-selected";
  2787.                     }
  2788.                     echo "\"
  2789.                                      onclick=\"mitsumori_simulation_val('pd', '";
  2790.                     // line 1795
  2791.                     echo twig_escape_filter($this->envtwig_escape_filter($this->env$context["pd"], "js"), "html"nulltrue);
  2792.                     echo "');\">
  2793.                                 <input type=\"radio\" name=\"pd\" id=\"pd_";
  2794.                     // line 1796
  2795.                     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.'1796$this->source); })()), "html"nulltrue);
  2796.                     echo "\" value=\"";
  2797.                     echo twig_escape_filter($this->env$context["pd"], "html"nulltrue);
  2798.                     echo "\"
  2799.                                        ";
  2800.                     // line 1797
  2801.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1797$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.'1797$this->source); })()), "pd", [], "any"falsefalsefalse1797) == $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.'1797$this->source); })())) == 1))) {
  2802.                         echo "checked";
  2803.                     }
  2804.                     echo ">
  2805.                                 ";
  2806.                     // line 1798
  2807.                     echo twig_escape_filter($this->env$context["pd"], "html"nulltrue);
  2808.                     echo "
  2809.                               </label>
  2810.                             ";
  2811.                 }
  2812.             }
  2813.             $_parent $context['_parent'];
  2814.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd'], $context['_parent'], $context['loop']);
  2815.             $context array_intersect_key($context$_parent) + $_parent;
  2816.             // line 1801
  2817.             echo "                          </div>
  2818.                         </div>
  2819.                         ";
  2820.         }
  2821.         // line 1804
  2822.         echo "
  2823.                         ";
  2824.         // line 1805
  2825.         if ((((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1805$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.'1805$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.'1805$this->source); })())) != ""))) {
  2826.             // line 1806
  2827.             echo "                        <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2828.                           <div class=\"rp-section-label\">高さ";
  2829.             // line 1807
  2830.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1807$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.'1807$this->source); })()), "ph", [], "any"falsefalsefalse1807))) {
  2831.                 echo ": <span>";
  2832.                 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.'1807$this->source); })()), "ph", [], "any"falsefalsefalse1807), "html"nulltrue);
  2833.                 echo "</span>";
  2834.             }
  2835.             echo "</div>
  2836.                           <div class=\"opt-btn-group\">
  2837.                             ";
  2838.             // line 1809
  2839.             $context["idx"] = 0;
  2840.             // line 1810
  2841.             echo "                            ";
  2842.             $context['_parent'] = $context;
  2843.             $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.'1810$this->source); })()));
  2844.             foreach ($context['_seq'] as $context["_key"] => $context["ph"]) {
  2845.                 if ($context["ph"]) {
  2846.                     $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1810$this->source); })()) + 1);
  2847.                     // line 1811
  2848.                     echo "                              <label class=\"opt-btn";
  2849.                     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))) {
  2850.                         echo " is-selected";
  2851.                     }
  2852.                     echo "\"
  2853.                                      onclick=\"mitsumori_simulation_val('ph', '";
  2854.                     // line 1812
  2855.                     echo twig_escape_filter($this->envtwig_escape_filter($this->env$context["ph"], "js"), "html"nulltrue);
  2856.                     echo "');\">
  2857.                                 <input type=\"radio\" name=\"ph\" id=\"ph_";
  2858.                     // line 1813
  2859.                     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.'1813$this->source); })()), "html"nulltrue);
  2860.                     echo "\" value=\"";
  2861.                     echo twig_escape_filter($this->env$context["ph"], "html"nulltrue);
  2862.                     echo "\"
  2863.                                        ";
  2864.                     // line 1814
  2865.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1814$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.'1814$this->source); })()), "ph", [], "any"falsefalsefalse1814) == $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.'1814$this->source); })())) == 1))) {
  2866.                         echo "checked";
  2867.                     }
  2868.                     echo ">
  2869.                                 ";
  2870.                     // line 1815
  2871.                     echo twig_escape_filter($this->env$context["ph"], "html"nulltrue);
  2872.                     echo "
  2873.                               </label>
  2874.                             ";
  2875.                 }
  2876.             }
  2877.             $_parent $context['_parent'];
  2878.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ph'], $context['_parent'], $context['loop']);
  2879.             $context array_intersect_key($context$_parent) + $_parent;
  2880.             // line 1818
  2881.             echo "                          </div>
  2882.                         </div>
  2883.                         ";
  2884.         }
  2885.         // line 1821
  2886.         echo "
  2887.                         ";
  2888.         // line 1822
  2889.         if ((((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1822$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.'1822$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.'1822$this->source); })())) != ""))) {
  2890.             // line 1823
  2891.             echo "                        <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  2892.                           <div class=\"rp-section-label\">素材";
  2893.             // line 1824
  2894.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1824$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.'1824$this->source); })()), "pm", [], "any"falsefalsefalse1824))) {
  2895.                 echo ": <span>";
  2896.                 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.'1824$this->source); })()), "pm", [], "any"falsefalsefalse1824), "html"nulltrue);
  2897.                 echo "</span>";
  2898.             }
  2899.             echo "</div>
  2900.                           <div class=\"opt-btn-group\">
  2901.                             ";
  2902.             // line 1826
  2903.             $context["idx"] = 0;
  2904.             // line 1827
  2905.             echo "                            ";
  2906.             $context['_parent'] = $context;
  2907.             $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.'1827$this->source); })()));
  2908.             foreach ($context['_seq'] as $context["_key"] => $context["pm"]) {
  2909.                 if ($context["pm"]) {
  2910.                     $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1827$this->source); })()) + 1);
  2911.                     // line 1828
  2912.                     echo "                              <label class=\"opt-btn";
  2913.                     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))) {
  2914.                         echo " is-selected";
  2915.                     }
  2916.                     echo "\"
  2917.                                      onclick=\"mitsumori_simulation_val('pm', '";
  2918.                     // line 1829
  2919.                     echo twig_escape_filter($this->envtwig_escape_filter($this->env$context["pm"], "js"), "html"nulltrue);
  2920.                     echo "');\">
  2921.                                 <input type=\"radio\" name=\"pm\" id=\"pm_";
  2922.                     // line 1830
  2923.                     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.'1830$this->source); })()), "html"nulltrue);
  2924.                     echo "\" value=\"";
  2925.                     echo twig_escape_filter($this->env$context["pm"], "html"nulltrue);
  2926.                     echo "\"
  2927.                                        ";
  2928.                     // line 1831
  2929.                     if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1831$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.'1831$this->source); })()), "pm", [], "any"falsefalsefalse1831) == $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.'1831$this->source); })())) == 1))) {
  2930.                         echo "checked";
  2931.                     }
  2932.                     echo ">
  2933.                                 ";
  2934.                     // line 1832
  2935.                     echo twig_escape_filter($this->env$context["pm"], "html"nulltrue);
  2936.                     echo "
  2937.                               </label>
  2938.                             ";
  2939.                 }
  2940.             }
  2941.             $_parent $context['_parent'];
  2942.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm'], $context['_parent'], $context['loop']);
  2943.             $context array_intersect_key($context$_parent) + $_parent;
  2944.             // line 1835
  2945.             echo "                          </div>
  2946.                         </div>
  2947.                         ";
  2948.         }
  2949.         // line 1838
  2950.         echo "
  2951. \t\t\t\t\t\t<!-- 1: 施工見積(通常) → 幅/奥行/高さ/素材/カラーは上部の共通ブロックで表示済み -->
  2952. \t\t\t\t\t\t";
  2953.         // line 1840
  2954.         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.'1840$this->source); })()), "SaleType", [], "any"falsefalsefalse1840), "id", [], "any"falsefalsefalse1840) == 1)) {
  2955.             // line 1841
  2956.             echo "\t\t\t\t\t\t";
  2957.         }
  2958.         // line 1842
  2959.         echo "
  2960. \t\t\t\t\t\t<!-- 2: 施工見積(補助金・窓) -->
  2961. \t\t\t\t\t\t";
  2962.         // line 1844
  2963.         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.'1844$this->source); })()), "SaleType", [], "any"falsefalsefalse1844), "id", [], "any"falsefalsefalse1844) == 2)) {
  2964.             // line 1845
  2965.             echo "
  2966. \t\t\t\t\t\t\t";
  2967.             // line 1847
  2968.             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)\">
  2969. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">窓サイズ</label>
  2970. \t\t\t\t\t\t\t  <div class=\"col-4\">
  2971. \t\t\t\t\t\t\t    <div class=\"input-group\">
  2972. \t\t\t\t\t\t\t      <span class=\"input-group-text\">窓幅</span>
  2973. \t\t\t\t\t\t\t      <input type=\"number\" name=\"mado_w\" id=\"mado_w\" class=\"form-control\" value=\"";
  2974.             // line 1852
  2975.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "mado_w", [], "any"truetruefalse1852)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "mado_w", [], "any"falsefalsefalse1852), "")) : ("")), "html"nulltrue);
  2976.             echo "\" placeholder=\"例: 90\" min=\"1\" onchange=\"mitsumori_simulation('mado_w','mado_w');\">
  2977. \t\t\t\t\t\t\t      <span class=\"input-group-text\">cm</span>
  2978. \t\t\t\t\t\t\t    </div>
  2979. \t\t\t\t\t\t\t  </div>
  2980. \t\t\t\t\t\t\t  <div class=\"col-4\">
  2981. \t\t\t\t\t\t\t    <div class=\"input-group\">
  2982. \t\t\t\t\t\t\t      <span class=\"input-group-text\">窓高さ</span>
  2983. \t\t\t\t\t\t\t      <input type=\"number\" name=\"mado_h\" id=\"mado_h\" class=\"form-control\" value=\"";
  2984.             // line 1859
  2985.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "mado_h", [], "any"truetruefalse1859)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "mado_h", [], "any"falsefalsefalse1859), "")) : ("")), "html"nulltrue);
  2986.             echo "\" placeholder=\"例: 110\" min=\"1\" onchange=\"mitsumori_simulation('mado_h','mado_h');\">
  2987. \t\t\t\t\t\t\t      <span class=\"input-group-text\">cm</span>
  2988. \t\t\t\t\t\t\t    </div>
  2989. \t\t\t\t\t\t\t  </div>
  2990. \t\t\t\t\t\t\t</div>
  2991. \t\t\t\t\t\t\t";
  2992.             // line 1866
  2993.             echo "\t\t\t\t\t\t\t";
  2994.             if ((((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1866$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.'1866$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.'1866$this->source); })())) != ""))) {
  2995.                 // line 1867
  2996.                 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)\">
  2997. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">窓タイプ</label>
  2998. \t\t\t\t\t\t\t  <div class=\"col-8\">
  2999. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3000. \t\t\t\t\t\t\t    ";
  3001.                 // line 1871
  3002.                 $context["idx"] = 0;
  3003.                 // line 1872
  3004.                 echo "\t\t\t\t\t\t\t    ";
  3005.                 $context['_parent'] = $context;
  3006.                 $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.'1872$this->source); })()));
  3007.                 foreach ($context['_seq'] as $context["_key"] => $context["pd_val"]) {
  3008.                     // line 1873
  3009.                     echo "\t\t\t\t\t\t\t      ";
  3010.                     if ($context["pd_val"]) {
  3011.                         // line 1874
  3012.                         echo "\t\t\t\t\t\t\t      ";
  3013.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1874$this->source); })()) + 1);
  3014.                         // line 1875
  3015.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3016. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"mado_type\" id=\"mado_type_";
  3017.                         // line 1876
  3018.                         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);
  3019.                         echo "\" value=\"";
  3020.                         echo twig_escape_filter($this->env$context["pd_val"], "html"nulltrue);
  3021.                         echo "\"
  3022. \t\t\t\t\t\t\t          ";
  3023.                         // line 1877
  3024.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1877$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.'1877$this->source); })()), "pd", [], "any"falsefalsefalse1877) == $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.'1877$this->source); })())) == 1))) {
  3025.                             echo "checked";
  3026.                         }
  3027.                         // line 1878
  3028.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pd','mado_type_";
  3029.                         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.'1878$this->source); })()), "html"nulltrue);
  3030.                         echo "');\">
  3031. \t\t\t\t\t\t\t        <label for=\"mado_type_";
  3032.                         // line 1879
  3033.                         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.'1879$this->source); })()), "html"nulltrue);
  3034.                         echo "\">";
  3035.                         echo twig_escape_filter($this->env$context["pd_val"], "html"nulltrue);
  3036.                         echo "</label>
  3037. \t\t\t\t\t\t\t      </div>
  3038. \t\t\t\t\t\t\t      ";
  3039.                     }
  3040.                     // line 1882
  3041.                     echo "\t\t\t\t\t\t\t    ";
  3042.                 }
  3043.                 $_parent $context['_parent'];
  3044.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd_val'], $context['_parent'], $context['loop']);
  3045.                 $context array_intersect_key($context$_parent) + $_parent;
  3046.                 // line 1883
  3047.                 echo "\t\t\t\t\t\t\t    </div>
  3048. \t\t\t\t\t\t\t  </div>
  3049. \t\t\t\t\t\t\t</div>
  3050. \t\t\t\t\t\t\t";
  3051.             }
  3052.             // line 1887
  3053.             echo "
  3054. \t\t\t\t\t\t\t";
  3055.             // line 1889
  3056.             echo "\t\t\t\t\t\t\t";
  3057.             if ((((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1889$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.'1889$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.'1889$this->source); })())) != ""))) {
  3058.                 // line 1890
  3059.                 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)\">
  3060. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">ガラスタイプ</label>
  3061. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3062. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3063. \t\t\t\t\t\t\t    ";
  3064.                 // line 1894
  3065.                 $context["idx"] = 0;
  3066.                 // line 1895
  3067.                 echo "\t\t\t\t\t\t\t    ";
  3068.                 $context['_parent'] = $context;
  3069.                 $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.'1895$this->source); })()));
  3070.                 foreach ($context['_seq'] as $context["_key"] => $context["pm_val"]) {
  3071.                     // line 1896
  3072.                     echo "\t\t\t\t\t\t\t      ";
  3073.                     if ($context["pm_val"]) {
  3074.                         // line 1897
  3075.                         echo "\t\t\t\t\t\t\t      ";
  3076.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1897$this->source); })()) + 1);
  3077.                         // line 1898
  3078.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3079. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"glass_type\" id=\"glass_type_";
  3080.                         // line 1899
  3081.                         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);
  3082.                         echo "\" value=\"";
  3083.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3084.                         echo "\"
  3085. \t\t\t\t\t\t\t          ";
  3086.                         // line 1900
  3087.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1900$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.'1900$this->source); })()), "pm", [], "any"falsefalsefalse1900) == $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.'1900$this->source); })())) == 1))) {
  3088.                             echo "checked";
  3089.                         }
  3090.                         // line 1901
  3091.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','glass_type_";
  3092.                         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.'1901$this->source); })()), "html"nulltrue);
  3093.                         echo "');\">
  3094. \t\t\t\t\t\t\t        <label for=\"glass_type_";
  3095.                         // line 1902
  3096.                         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.'1902$this->source); })()), "html"nulltrue);
  3097.                         echo "\">";
  3098.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3099.                         echo "</label>
  3100. \t\t\t\t\t\t\t      </div>
  3101. \t\t\t\t\t\t\t      ";
  3102.                     }
  3103.                     // line 1905
  3104.                     echo "\t\t\t\t\t\t\t    ";
  3105.                 }
  3106.                 $_parent $context['_parent'];
  3107.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm_val'], $context['_parent'], $context['loop']);
  3108.                 $context array_intersect_key($context$_parent) + $_parent;
  3109.                 // line 1906
  3110.                 echo "\t\t\t\t\t\t\t    </div>
  3111. \t\t\t\t\t\t\t  </div>
  3112. \t\t\t\t\t\t\t</div>
  3113. \t\t\t\t\t\t\t";
  3114.             }
  3115.             // line 1910
  3116.             echo "
  3117. \t\t\t\t\t\t\t";
  3118.             // line 1912
  3119.             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)\">
  3120. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">セット数</label>
  3121. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3122. \t\t\t\t\t\t\t    <select name=\"set_count\" id=\"set_count\" class=\"form-control\" onchange=\"madosetSelect(this.value);\">
  3123. \t\t\t\t\t\t\t      ";
  3124.             // line 1916
  3125.             $context['_parent'] = $context;
  3126.             $context['_seq'] = twig_ensure_traversable(range(120));
  3127.             foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  3128.                 // line 1917
  3129.                 echo "\t\t\t\t\t\t\t        <option value=\"";
  3130.                 echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3131.                 echo "\" ";
  3132.                 if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1917$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.'1917$this->source); })()), "set_count", [], "any"falsefalsefalse1917) == $context["i"]))) {
  3133.                     echo "selected";
  3134.                 }
  3135.                 echo ">";
  3136.                 echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3137.                 echo " セット</option>
  3138. \t\t\t\t\t\t\t      ";
  3139.             }
  3140.             $_parent $context['_parent'];
  3141.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  3142.             $context array_intersect_key($context$_parent) + $_parent;
  3143.             // line 1919
  3144.             echo "\t\t\t\t\t\t\t    </select>
  3145. \t\t\t\t\t\t\t  </div>
  3146. \t\t\t\t\t\t\t</div>
  3147. \t\t\t\t\t\t";
  3148.         }
  3149.         // line 1924
  3150.         echo "
  3151. \t\t\t\t\t\t<!-- 3: 施工見積(物置・ゴミステーション) -->
  3152. \t\t\t\t\t\t";
  3153.         // line 1926
  3154.         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.'1926$this->source); })()), "SaleType", [], "any"falsefalsefalse1926), "id", [], "any"falsefalsefalse1926) == 3)) {
  3155.             // line 1927
  3156.             echo "
  3157. \t\t\t\t\t\t\t";
  3158.             // line 1929
  3159.             echo "\t\t\t\t\t\t\t";
  3160.             if ((((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'1929$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.'1929$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.'1929$this->source); })())) != ""))) {
  3161.                 // line 1930
  3162.                 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)\">
  3163. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">幅</label>
  3164. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3165. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3166. \t\t\t\t\t\t\t    ";
  3167.                 // line 1934
  3168.                 $context["idx"] = 0;
  3169.                 // line 1935
  3170.                 echo "\t\t\t\t\t\t\t    ";
  3171.                 $context['_parent'] = $context;
  3172.                 $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.'1935$this->source); })()));
  3173.                 foreach ($context['_seq'] as $context["_key"] => $context["pw_val"]) {
  3174.                     if ($context["pw_val"]) {
  3175.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1935$this->source); })()) + 1);
  3176.                         // line 1936
  3177.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3178. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pw\" id=\"pw3_";
  3179.                         // line 1937
  3180.                         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);
  3181.                         echo "\" value=\"";
  3182.                         echo twig_escape_filter($this->env$context["pw_val"], "html"nulltrue);
  3183.                         echo "\"
  3184. \t\t\t\t\t\t\t          ";
  3185.                         // line 1938
  3186.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1938$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.'1938$this->source); })()), "pw", [], "any"falsefalsefalse1938) == $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.'1938$this->source); })())) == 1))) {
  3187.                             echo "checked";
  3188.                         }
  3189.                         // line 1939
  3190.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pw','pw3_";
  3191.                         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.'1939$this->source); })()), "html"nulltrue);
  3192.                         echo "');\">
  3193. \t\t\t\t\t\t\t        <label for=\"pw3_";
  3194.                         // line 1940
  3195.                         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.'1940$this->source); })()), "html"nulltrue);
  3196.                         echo "\">";
  3197.                         echo twig_escape_filter($this->env$context["pw_val"], "html"nulltrue);
  3198.                         echo "</label>
  3199. \t\t\t\t\t\t\t      </div>
  3200. \t\t\t\t\t\t\t    ";
  3201.                     }
  3202.                 }
  3203.                 $_parent $context['_parent'];
  3204.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw_val'], $context['_parent'], $context['loop']);
  3205.                 $context array_intersect_key($context$_parent) + $_parent;
  3206.                 // line 1943
  3207.                 echo "\t\t\t\t\t\t\t    </div>
  3208. \t\t\t\t\t\t\t  </div>
  3209. \t\t\t\t\t\t\t</div>
  3210. \t\t\t\t\t\t\t";
  3211.             }
  3212.             // line 1947
  3213.             echo "
  3214. \t\t\t\t\t\t\t";
  3215.             // line 1948
  3216.             if ((((isset($context["p_d"]) || array_key_exists("p_d"$context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.'1948$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.'1948$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.'1948$this->source); })())) != ""))) {
  3217.                 // line 1949
  3218.                 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)\">
  3219. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">奥行き</label>
  3220. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3221. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3222. \t\t\t\t\t\t\t    ";
  3223.                 // line 1953
  3224.                 $context["idx"] = 0;
  3225.                 // line 1954
  3226.                 echo "\t\t\t\t\t\t\t    ";
  3227.                 $context['_parent'] = $context;
  3228.                 $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.'1954$this->source); })()));
  3229.                 foreach ($context['_seq'] as $context["_key"] => $context["pd_val"]) {
  3230.                     if ($context["pd_val"]) {
  3231.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1954$this->source); })()) + 1);
  3232.                         // line 1955
  3233.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3234. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pd\" id=\"pd3_";
  3235.                         // line 1956
  3236.                         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);
  3237.                         echo "\" value=\"";
  3238.                         echo twig_escape_filter($this->env$context["pd_val"], "html"nulltrue);
  3239.                         echo "\"
  3240. \t\t\t\t\t\t\t          ";
  3241.                         // line 1957
  3242.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1957$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.'1957$this->source); })()), "pd", [], "any"falsefalsefalse1957) == $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.'1957$this->source); })())) == 1))) {
  3243.                             echo "checked";
  3244.                         }
  3245.                         // line 1958
  3246.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pd','pd3_";
  3247.                         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.'1958$this->source); })()), "html"nulltrue);
  3248.                         echo "');\">
  3249. \t\t\t\t\t\t\t        <label for=\"pd3_";
  3250.                         // line 1959
  3251.                         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.'1959$this->source); })()), "html"nulltrue);
  3252.                         echo "\">";
  3253.                         echo twig_escape_filter($this->env$context["pd_val"], "html"nulltrue);
  3254.                         echo "</label>
  3255. \t\t\t\t\t\t\t      </div>
  3256. \t\t\t\t\t\t\t    ";
  3257.                     }
  3258.                 }
  3259.                 $_parent $context['_parent'];
  3260.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd_val'], $context['_parent'], $context['loop']);
  3261.                 $context array_intersect_key($context$_parent) + $_parent;
  3262.                 // line 1962
  3263.                 echo "\t\t\t\t\t\t\t    </div>
  3264. \t\t\t\t\t\t\t  </div>
  3265. \t\t\t\t\t\t\t</div>
  3266. \t\t\t\t\t\t\t";
  3267.             }
  3268.             // line 1966
  3269.             echo "
  3270. \t\t\t\t\t\t\t";
  3271.             // line 1967
  3272.             if ((((isset($context["p_h"]) || array_key_exists("p_h"$context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.'1967$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.'1967$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.'1967$this->source); })())) != ""))) {
  3273.                 // line 1968
  3274.                 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)\">
  3275. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">高さ</label>
  3276. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3277. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3278. \t\t\t\t\t\t\t    ";
  3279.                 // line 1972
  3280.                 $context["idx"] = 0;
  3281.                 // line 1973
  3282.                 echo "\t\t\t\t\t\t\t    ";
  3283.                 $context['_parent'] = $context;
  3284.                 $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.'1973$this->source); })()));
  3285.                 foreach ($context['_seq'] as $context["_key"] => $context["ph_val"]) {
  3286.                     if ($context["ph_val"]) {
  3287.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1973$this->source); })()) + 1);
  3288.                         // line 1974
  3289.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3290. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"ph\" id=\"ph3_";
  3291.                         // line 1975
  3292.                         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);
  3293.                         echo "\" value=\"";
  3294.                         echo twig_escape_filter($this->env$context["ph_val"], "html"nulltrue);
  3295.                         echo "\"
  3296. \t\t\t\t\t\t\t          ";
  3297.                         // line 1976
  3298.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1976$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.'1976$this->source); })()), "ph", [], "any"falsefalsefalse1976) == $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.'1976$this->source); })())) == 1))) {
  3299.                             echo "checked";
  3300.                         }
  3301.                         // line 1977
  3302.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('ph','ph3_";
  3303.                         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.'1977$this->source); })()), "html"nulltrue);
  3304.                         echo "');\">
  3305. \t\t\t\t\t\t\t        <label for=\"ph3_";
  3306.                         // line 1978
  3307.                         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.'1978$this->source); })()), "html"nulltrue);
  3308.                         echo "\">";
  3309.                         echo twig_escape_filter($this->env$context["ph_val"], "html"nulltrue);
  3310.                         echo "</label>
  3311. \t\t\t\t\t\t\t      </div>
  3312. \t\t\t\t\t\t\t    ";
  3313.                     }
  3314.                 }
  3315.                 $_parent $context['_parent'];
  3316.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ph_val'], $context['_parent'], $context['loop']);
  3317.                 $context array_intersect_key($context$_parent) + $_parent;
  3318.                 // line 1981
  3319.                 echo "\t\t\t\t\t\t\t    </div>
  3320. \t\t\t\t\t\t\t  </div>
  3321. \t\t\t\t\t\t\t</div>
  3322. \t\t\t\t\t\t\t";
  3323.             }
  3324.             // line 1985
  3325.             echo "
  3326. \t\t\t\t\t\t\t";
  3327.             // line 1987
  3328.             echo "\t\t\t\t\t\t\t";
  3329.             if ((((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'1987$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.'1987$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.'1987$this->source); })())) != ""))) {
  3330.                 // line 1988
  3331.                 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)\">
  3332. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">棚タイプ<br><small class=\"text-muted\">(間仕切り仕様)</small></label>
  3333. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3334. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3335. \t\t\t\t\t\t\t    ";
  3336.                 // line 1992
  3337.                 $context["idx"] = 0;
  3338.                 // line 1993
  3339.                 echo "\t\t\t\t\t\t\t    ";
  3340.                 $context['_parent'] = $context;
  3341.                 $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.'1993$this->source); })()));
  3342.                 foreach ($context['_seq'] as $context["_key"] => $context["pm_val"]) {
  3343.                     if ($context["pm_val"]) {
  3344.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'1993$this->source); })()) + 1);
  3345.                         // line 1994
  3346.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3347. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pm\" id=\"pm3_";
  3348.                         // line 1995
  3349.                         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);
  3350.                         echo "\" value=\"";
  3351.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3352.                         echo "\"
  3353. \t\t\t\t\t\t\t          ";
  3354.                         // line 1996
  3355.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'1996$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.'1996$this->source); })()), "pm", [], "any"falsefalsefalse1996) == $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.'1996$this->source); })())) == 1))) {
  3356.                             echo "checked";
  3357.                         }
  3358.                         // line 1997
  3359.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','pm3_";
  3360.                         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.'1997$this->source); })()), "html"nulltrue);
  3361.                         echo "');\">
  3362. \t\t\t\t\t\t\t        <label for=\"pm3_";
  3363.                         // line 1998
  3364.                         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.'1998$this->source); })()), "html"nulltrue);
  3365.                         echo "\">";
  3366.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3367.                         echo "</label>
  3368. \t\t\t\t\t\t\t      </div>
  3369. \t\t\t\t\t\t\t    ";
  3370.                     }
  3371.                 }
  3372.                 $_parent $context['_parent'];
  3373.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm_val'], $context['_parent'], $context['loop']);
  3374.                 $context array_intersect_key($context$_parent) + $_parent;
  3375.                 // line 2001
  3376.                 echo "\t\t\t\t\t\t\t    </div>
  3377. \t\t\t\t\t\t\t  </div>
  3378. \t\t\t\t\t\t\t</div>
  3379. \t\t\t\t\t\t\t";
  3380.             }
  3381.             // line 2005
  3382.             echo "
  3383. \t\t\t\t\t\t\t";
  3384.             // line 2007
  3385.             echo "\t\t\t\t\t\t\t";
  3386.             if (((isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'2007$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.'2007$this->source); })())))) {
  3387.                 // line 2008
  3388.                 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)\">
  3389. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">カラー</label>
  3390. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3391. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3392. \t\t\t\t\t\t\t    ";
  3393.                 // line 2012
  3394.                 $context["idx"] = 0;
  3395.                 // line 2013
  3396.                 echo "\t\t\t\t\t\t\t    ";
  3397.                 $context['_parent'] = $context;
  3398.                 $context['_seq'] = twig_ensure_traversable((isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'2013$this->source); })()));
  3399.                 foreach ($context['_seq'] as $context["_key"] => $context["cc"]) {
  3400.                     if (($context["cc"] && twig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse2013))) {
  3401.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2013$this->source); })()) + 1);
  3402.                         // line 2014
  3403.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3404. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"color3\" id=\"cc3_";
  3405.                         // line 2015
  3406.                         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);
  3407.                         echo "\" value=\"";
  3408.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse2015), "html"nulltrue);
  3409.                         echo "\"
  3410. \t\t\t\t\t\t\t          ";
  3411.                         // line 2016
  3412.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2016$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.'2016$this->source); })()), "pc", [], "any"falsefalsefalse2016) == twig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse2016))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color"$context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.'2016$this->source); })())) == 1))) {
  3413.                             echo "checked";
  3414.                         }
  3415.                         // line 2017
  3416.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pc','cc3_";
  3417.                         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.'2017$this->source); })()), "html"nulltrue);
  3418.                         echo "');\">
  3419. \t\t\t\t\t\t\t        <label for=\"cc3_";
  3420.                         // line 2018
  3421.                         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.'2018$this->source); })()), "html"nulltrue);
  3422.                         echo "\">";
  3423.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["cc"], "name", [], "array"falsefalsefalse2018), "html"nulltrue);
  3424.                         echo "</label>
  3425. \t\t\t\t\t\t\t      </div>
  3426. \t\t\t\t\t\t\t    ";
  3427.                     }
  3428.                 }
  3429.                 $_parent $context['_parent'];
  3430.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cc'], $context['_parent'], $context['loop']);
  3431.                 $context array_intersect_key($context$_parent) + $_parent;
  3432.                 // line 2021
  3433.                 echo "\t\t\t\t\t\t\t    </div>
  3434. \t\t\t\t\t\t\t  </div>
  3435. \t\t\t\t\t\t\t</div>
  3436. \t\t\t\t\t\t\t";
  3437.             }
  3438.             // line 2025
  3439.             echo "
  3440. \t\t\t\t\t\t\t";
  3441.             // line 2027
  3442.             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)\">
  3443. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">台数</label>
  3444. \t\t\t\t\t\t\t  <div class=\"col-4\">
  3445. \t\t\t\t\t\t\t    <div class=\"input-group mb-3\">
  3446. \t\t\t\t\t\t\t      <input type=\"number\" name=\"daisu\" id=\"daisu\" class=\"form-control\" value=\"";
  3447.             // line 2031
  3448.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "daisu", [], "any"truetruefalse2031)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "daisu", [], "any"falsefalsefalse2031), "1")) : ("1")), "html"nulltrue);
  3449.             echo "\" min=\"1\" max=\"10\" onchange=\"mitsumori_simulation('daisu','daisu');\">
  3450. \t\t\t\t\t\t\t      <span class=\"input-group-text\">台</span>
  3451. \t\t\t\t\t\t\t    </div>
  3452. \t\t\t\t\t\t\t  </div>
  3453. \t\t\t\t\t\t\t  <div class=\"col-4\">
  3454. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"daisu(+1);\">+</button>
  3455. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"daisu(-1);\">ー</button>
  3456. \t\t\t\t\t\t\t  </div>
  3457. \t\t\t\t\t\t\t</div>
  3458. \t\t\t\t\t\t";
  3459.         }
  3460.         // line 2042
  3461.         echo "
  3462. \t\t\t\t\t\t<!-- 4: 施工見積(フェンス・組み立て式) -->
  3463. \t\t\t\t\t\t";
  3464.         // line 2044
  3465.         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.'2044$this->source); })()), "SaleType", [], "any"falsefalsefalse2044), "id", [], "any"falsefalsefalse2044) == 4)) {
  3466.             // line 2045
  3467.             echo "
  3468. \t\t\t\t\t\t\t";
  3469.             // line 2047
  3470.             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)\">
  3471. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">枚数</label>
  3472. \t\t\t\t\t\t\t  <div class=\"col-4 mb-3\">
  3473. \t\t\t\t\t\t\t    <div class=\"input-group\">
  3474. \t\t\t\t\t\t\t      <input type=\"number\" name=\"maisu\" id=\"maisu\" class=\"form-control\" value=\"";
  3475.             // line 2051
  3476.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "maisu", [], "any"truetruefalse2051)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "maisu", [], "any"falsefalsefalse2051), "3")) : ("3")), "html"nulltrue);
  3477.             echo "\" min=\"3\" max=\"20\" onchange=\"mitsumori_simulation('maisu','maisu');\">
  3478. \t\t\t\t\t\t\t      <span class=\"input-group-text\">枚</span>
  3479. \t\t\t\t\t\t\t    </div>
  3480. \t\t\t\t\t\t\t  </div>
  3481. \t\t\t\t\t\t\t  <div class=\"col-4\">
  3482. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"maisu(+1);\">+</button>
  3483. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"maisu(-1);\">ー</button>
  3484. \t\t\t\t\t\t\t  </div>
  3485. \t\t\t\t\t\t\t</div>
  3486. \t\t\t\t\t\t";
  3487.         }
  3488.         // line 2062
  3489.         echo "
  3490. \t\t\t\t\t\t<!-- 5: 施工見積(ウッドデッキ・タイルデッキ) -->
  3491. \t\t\t\t\t\t";
  3492.         // line 2064
  3493.         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.'2064$this->source); })()), "SaleType", [], "any"falsefalsefalse2064), "id", [], "any"falsefalsefalse2064) == 5)) {
  3494.             // line 2065
  3495.             echo "
  3496. \t\t\t\t\t\t\t";
  3497.             // line 2067
  3498.             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)\">
  3499. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">施工面積</label>
  3500. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3501. \t\t\t\t\t\t\t    <div class=\"input-group\">
  3502. \t\t\t\t\t\t\t      <input type=\"number\" name=\"area\" id=\"area\"
  3503. \t\t\t\t\t\t\t        class=\"form-control\"
  3504. \t\t\t\t\t\t\t        value=\"";
  3505.             // line 2073
  3506.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "area", [], "any"truetruefalse2073)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "area", [], "any"falsefalsefalse2073), "")) : ("")), "html"nulltrue);
  3507.             echo "\"
  3508. \t\t\t\t\t\t\t        placeholder=\"例: 7.5\"
  3509. \t\t\t\t\t\t\t        min=\"0.1\" step=\"0.1\"
  3510. \t\t\t\t\t\t\t        onchange=\"mitsumori_simulation('area','area');\">
  3511. \t\t\t\t\t\t\t      <span class=\"input-group-text\">㎡</span>
  3512. \t\t\t\t\t\t\t    </div>
  3513. \t\t\t\t\t\t\t    <small class=\"text-muted\">幅(cm) × 奥行き(cm) ÷ 10000 = ㎡</small>
  3514. \t\t\t\t\t\t\t  </div>
  3515. \t\t\t\t\t\t\t</div>
  3516. \t\t\t\t\t\t\t";
  3517.             // line 2084
  3518.             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)\">
  3519. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">ステップ</label>
  3520. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3521. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3522. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3523. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_step\" id=\"deck_step_yes\" value=\"必要\"
  3524. \t\t\t\t\t\t\t          ";
  3525.             // line 2090
  3526.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2090$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.'2090$this->source); })()), "deck_step", [], "any"falsefalsefalse2090) == "必要"))) {
  3527.                 echo "checked";
  3528.             }
  3529.             // line 2091
  3530.             echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op0','deck_step_yes');\">
  3531. \t\t\t\t\t\t\t        <label for=\"deck_step_yes\">必要</label>
  3532. \t\t\t\t\t\t\t      </div>
  3533. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3534. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_step\" id=\"deck_step_no\" value=\"不要\"
  3535. \t\t\t\t\t\t\t          ";
  3536.             // line 2096
  3537.             if ((( !(isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2096$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.'2096$this->source); })()), "deck_step", [], "any"falsefalsefalse2096) == "不要")) ||  !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.'2096$this->source); })()), "deck_step", [], "any"falsefalsefalse2096))) {
  3538.                 echo "checked";
  3539.             }
  3540.             // line 2097
  3541.             echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op0','deck_step_no');\">
  3542. \t\t\t\t\t\t\t        <label for=\"deck_step_no\">不要</label>
  3543. \t\t\t\t\t\t\t      </div>
  3544. \t\t\t\t\t\t\t    </div>
  3545. \t\t\t\t\t\t\t  </div>
  3546. \t\t\t\t\t\t\t</div>
  3547. \t\t\t\t\t\t\t";
  3548.             // line 2105
  3549.             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)\">
  3550. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">デッキフェンス</label>
  3551. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3552. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3553. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3554. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_yes\" value=\"必要\"
  3555. \t\t\t\t\t\t\t          ";
  3556.             // line 2111
  3557.             if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2111$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.'2111$this->source); })()), "deck_fence", [], "any"falsefalsefalse2111) == "必要"))) {
  3558.                 echo "checked";
  3559.             }
  3560.             // line 2112
  3561.             echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op1','deck_fence_yes');\">
  3562. \t\t\t\t\t\t\t        <label for=\"deck_fence_yes\">必要</label>
  3563. \t\t\t\t\t\t\t      </div>
  3564. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3565. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_no\" value=\"不要\"
  3566. \t\t\t\t\t\t\t          ";
  3567.             // line 2117
  3568.             if ((( !(isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2117$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.'2117$this->source); })()), "deck_fence", [], "any"falsefalsefalse2117) == "不要")) ||  !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.'2117$this->source); })()), "deck_fence", [], "any"falsefalsefalse2117))) {
  3569.                 echo "checked";
  3570.             }
  3571.             // line 2118
  3572.             echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op1','deck_fence_no');\">
  3573. \t\t\t\t\t\t\t        <label for=\"deck_fence_no\">不要</label>
  3574. \t\t\t\t\t\t\t      </div>
  3575. \t\t\t\t\t\t\t    </div>
  3576. \t\t\t\t\t\t\t  </div>
  3577. \t\t\t\t\t\t\t</div>
  3578. \t\t\t\t\t\t";
  3579.         }
  3580.         // line 2126
  3581.         echo "
  3582. \t\t\t\t\t\t<!-- 6: 施工見積(芝生・枚数・数量買い) -->
  3583. \t\t\t\t\t\t";
  3584.         // line 2128
  3585.         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.'2128$this->source); })()), "SaleType", [], "any"falsefalsefalse2128), "id", [], "any"falsefalsefalse2128) == 6)) {
  3586.             // line 2129
  3587.             echo "
  3588. \t\t\t\t\t\t\t";
  3589.             // line 2131
  3590.             echo "\t\t\t\t\t\t\t";
  3591.             if ((((isset($context["p_m"]) || array_key_exists("p_m"$context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.'2131$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.'2131$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.'2131$this->source); })())) != ""))) {
  3592.                 // line 2132
  3593.                 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)\">
  3594. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">規格</label>
  3595. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3596. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3597. \t\t\t\t\t\t\t    ";
  3598.                 // line 2136
  3599.                 $context["idx"] = 0;
  3600.                 // line 2137
  3601.                 echo "\t\t\t\t\t\t\t    ";
  3602.                 $context['_parent'] = $context;
  3603.                 $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.'2137$this->source); })()));
  3604.                 foreach ($context['_seq'] as $context["_key"] => $context["pm_val"]) {
  3605.                     if ($context["pm_val"]) {
  3606.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2137$this->source); })()) + 1);
  3607.                         // line 2138
  3608.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3609. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pm\" id=\"pm6_";
  3610.                         // line 2139
  3611.                         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);
  3612.                         echo "\" value=\"";
  3613.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3614.                         echo "\"
  3615. \t\t\t\t\t\t\t          ";
  3616.                         // line 2140
  3617.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2140$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.'2140$this->source); })()), "pm", [], "any"falsefalsefalse2140) == $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.'2140$this->source); })())) == 1))) {
  3618.                             echo "checked";
  3619.                         }
  3620.                         // line 2141
  3621.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','pm6_";
  3622.                         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.'2141$this->source); })()), "html"nulltrue);
  3623.                         echo "');\">
  3624. \t\t\t\t\t\t\t        <label for=\"pm6_";
  3625.                         // line 2142
  3626.                         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.'2142$this->source); })()), "html"nulltrue);
  3627.                         echo "\">";
  3628.                         echo twig_escape_filter($this->env$context["pm_val"], "html"nulltrue);
  3629.                         echo "</label>
  3630. \t\t\t\t\t\t\t      </div>
  3631. \t\t\t\t\t\t\t    ";
  3632.                     }
  3633.                 }
  3634.                 $_parent $context['_parent'];
  3635.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm_val'], $context['_parent'], $context['loop']);
  3636.                 $context array_intersect_key($context$_parent) + $_parent;
  3637.                 // line 2145
  3638.                 echo "\t\t\t\t\t\t\t    </div>
  3639. \t\t\t\t\t\t\t  </div>
  3640. \t\t\t\t\t\t\t</div>
  3641. \t\t\t\t\t\t\t";
  3642.             }
  3643.             // line 2149
  3644.             echo "
  3645. \t\t\t\t\t\t\t";
  3646.             // line 2151
  3647.             echo "\t\t\t\t\t\t\t";
  3648.             if ((((isset($context["p_w"]) || array_key_exists("p_w"$context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.'2151$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.'2151$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.'2151$this->source); })())) != ""))) {
  3649.                 // line 2152
  3650.                 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)\">
  3651. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">芝の長さ</label>
  3652. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3653. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  3654. \t\t\t\t\t\t\t    ";
  3655.                 // line 2156
  3656.                 $context["idx"] = 0;
  3657.                 // line 2157
  3658.                 echo "\t\t\t\t\t\t\t    ";
  3659.                 $context['_parent'] = $context;
  3660.                 $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.'2157$this->source); })()));
  3661.                 foreach ($context['_seq'] as $context["_key"] => $context["pw_val"]) {
  3662.                     if ($context["pw_val"]) {
  3663.                         $context["idx"] = ((isset($context["idx"]) || array_key_exists("idx"$context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.'2157$this->source); })()) + 1);
  3664.                         // line 2158
  3665.                         echo "\t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  3666. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pw\" id=\"pw6_";
  3667.                         // line 2159
  3668.                         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);
  3669.                         echo "\" value=\"";
  3670.                         echo twig_escape_filter($this->env$context["pw_val"], "html"nulltrue);
  3671.                         echo "\"
  3672. \t\t\t\t\t\t\t          ";
  3673.                         // line 2160
  3674.                         if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2160$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.'2160$this->source); })()), "pw", [], "any"falsefalsefalse2160) == $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.'2160$this->source); })())) == 1))) {
  3675.                             echo "checked";
  3676.                         }
  3677.                         // line 2161
  3678.                         echo "\t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pw','pw6_";
  3679.                         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.'2161$this->source); })()), "html"nulltrue);
  3680.                         echo "');\">
  3681. \t\t\t\t\t\t\t        <label for=\"pw6_";
  3682.                         // line 2162
  3683.                         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.'2162$this->source); })()), "html"nulltrue);
  3684.                         echo "\">";
  3685.                         echo twig_escape_filter($this->env$context["pw_val"], "html"nulltrue);
  3686.                         echo "</label>
  3687. \t\t\t\t\t\t\t      </div>
  3688. \t\t\t\t\t\t\t    ";
  3689.                     }
  3690.                 }
  3691.                 $_parent $context['_parent'];
  3692.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw_val'], $context['_parent'], $context['loop']);
  3693.                 $context array_intersect_key($context$_parent) + $_parent;
  3694.                 // line 2165
  3695.                 echo "\t\t\t\t\t\t\t    </div>
  3696. \t\t\t\t\t\t\t  </div>
  3697. \t\t\t\t\t\t\t</div>
  3698. \t\t\t\t\t\t\t";
  3699.             }
  3700.             // line 2169
  3701.             echo "
  3702. \t\t\t\t\t\t\t";
  3703.             // line 2171
  3704.             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)\">
  3705. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">施工面積</label>
  3706. \t\t\t\t\t\t\t  <div class=\"col-8\">
  3707. \t\t\t\t\t\t\t    <div class=\"input-group\">
  3708. \t\t\t\t\t\t\t      <input type=\"number\" name=\"area\" id=\"area\"
  3709. \t\t\t\t\t\t\t        class=\"form-control\"
  3710. \t\t\t\t\t\t\t        value=\"";
  3711.             // line 2177
  3712.             echo twig_escape_filter($this->env, ((twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "area", [], "any"truetruefalse2177)) ? (_twig_default_filter(twig_get_attribute($this->env$this->source, ($context["mitsumori_json"] ?? null), "area", [], "any"falsefalsefalse2177), "")) : ("")), "html"nulltrue);
  3713.             echo "\"
  3714. \t\t\t\t\t\t\t        placeholder=\"例: 10.5\"
  3715. \t\t\t\t\t\t\t        min=\"0.1\" step=\"0.1\"
  3716. \t\t\t\t\t\t\t        onchange=\"mitsumori_simulation('area','area');\">
  3717. \t\t\t\t\t\t\t      <span class=\"input-group-text\">平米</span>
  3718. \t\t\t\t\t\t\t    </div>
  3719. \t\t\t\t\t\t\t  </div>
  3720. \t\t\t\t\t\t\t</div>
  3721. \t\t\t\t\t\t";
  3722.         }
  3723.         // line 2187
  3724.         echo "
  3725. \t\t\t\t\t\t<!-- 9: 商品のみ購入 -->
  3726. \t\t\t\t\t\t";
  3727.         // line 2189
  3728.         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.'2189$this->source); })()), "SaleType", [], "any"falsefalsefalse2189), "id", [], "any"falsefalsefalse2189) == 9)) {
  3729.             // line 2190
  3730.             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)\">
  3731. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">数量</label>
  3732. \t\t\t\t\t\t\t  <div class=\"col-4\">
  3733. \t\t\t\t\t\t\t    <div class=\"input-group mb-3\">
  3734. \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);\">
  3735. \t\t\t\t\t\t\t      <span class=\"input-group-text\">個</span>
  3736. \t\t\t\t\t\t\t    </div>
  3737. \t\t\t\t\t\t\t  </div>
  3738. \t\t\t\t\t\t\t  <div class=\"col-4\">
  3739. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"quantityOnly(+1);\">+</button>
  3740. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"quantityOnly(-1);\">ー</button>
  3741. \t\t\t\t\t\t\t  </div>
  3742. \t\t\t\t\t\t\t</div>
  3743. \t\t\t\t\t\t";
  3744.         }
  3745.         // line 2204
  3746.         echo "
  3747. \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>
  3748. \t\t\t\t\t\t";
  3749.         // line 2209
  3750.         $context['_parent'] = $context;
  3751.         $context['_seq'] = twig_ensure_traversable(range(010));
  3752.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  3753.             // line 2210
  3754.             echo "\t\t\t\t\t\t\t";
  3755.             if (((isset($context["op"]) || array_key_exists("op"$context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.'2210$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.'2210$this->source); })())) >= ($context["i"] + 1)))) {
  3756.                 // line 2211
  3757.                 echo "\t\t\t\t\t\t\t";
  3758.                 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), "name", [], "array"falsefalsefalse2211)) {
  3759.                     // line 2212
  3760.                     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)\">
  3761. \t\t\t\t\t\t\t  <div class=\"rp-section-label\">";
  3762.                     // line 2213
  3763.                     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.'2213$this->source); })()), $context["i"], [], "array"falsefalsefalse2213), "name", [], "array"falsefalsefalse2213), "html"nulltrue);
  3764.                     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))) {
  3765.                         echo ": <span>";
  3766.                         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.'2213$this->source); })()), "op", [], "any"falsefalsefalse2213), $context["i"], [], "array"falsefalsefalse2213), "html"nulltrue);
  3767.                         echo "</span>";
  3768.                     }
  3769.                     echo "</div>
  3770. \t\t\t\t\t\t\t  ";
  3771.                     // line 2214
  3772.                     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.'2214$this->source); })()), $context["i"], [], "array"falsefalsefalse2214), "comment", [], "array"falsefalsefalse2214)) {
  3773.                         echo "<div class=\"opt-comment\" style=\"font-size:12px;color:#666;margin:4px 0 6px;\">";
  3774.                         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.'2214$this->source); })()), $context["i"], [], "array"falsefalsefalse2214), "comment", [], "array"falsefalsefalse2214), "html"nulltrue);
  3775.                         echo "</div>";
  3776.                     }
  3777.                     // line 2215
  3778.                     echo "\t\t\t\t\t\t\t  <div class=\"opt-btn-group\">
  3779. \t\t\t\t\t\t\t    <label class=\"opt-btn";
  3780.                     // line 2216
  3781.                     if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2216$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.'2216$this->source); })()), "op", [], "any"falsefalsefalse2216), $context["i"], [], "array"falsefalsefalse2216) == 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.'2216$this->source); })()), $context["i"], [], "array"falsefalsefalse2216), "on", [], "array"falsefalsefalse2216)))) {
  3782.                         echo " is-selected";
  3783.                     }
  3784.                     echo "\"
  3785. \t\t\t\t\t\t\t           onclick=\"mitsumori_simulation('op";
  3786.                     // line 2217
  3787.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3788.                     echo "','op";
  3789.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3790.                     echo "_1');\">
  3791. \t\t\t\t\t\t\t      <input type=\"radio\" name=\"op";
  3792.                     // line 2218
  3793.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3794.                     echo "\" id=\"op";
  3795.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3796.                     echo "_1\" value=\"";
  3797.                     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.'2218$this->source); })()), $context["i"], [], "array"falsefalsefalse2218), "on", [], "array"falsefalsefalse2218), "html"nulltrue);
  3798.                     echo "\" ";
  3799.                     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), "on", [], "array"falsefalsefalse2218)))) {
  3800.                         echo "checked";
  3801.                     }
  3802.                     echo ">
  3803. \t\t\t\t\t\t\t      ";
  3804.                     // line 2219
  3805.                     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.'2219$this->source); })()), $context["i"], [], "array"falsefalsefalse2219), "on", [], "array"falsefalsefalse2219), "html"nulltrue);
  3806.                     echo "
  3807. \t\t\t\t\t\t\t    </label>
  3808. \t\t\t\t\t\t\t    <label class=\"opt-btn";
  3809.                     // line 2221
  3810.                     if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2221$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.'2221$this->source); })()), "op", [], "any"falsefalsefalse2221), $context["i"], [], "array"falsefalsefalse2221) == 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.'2221$this->source); })()), $context["i"], [], "array"falsefalsefalse2221), "off", [], "array"falsefalsefalse2221)))) {
  3811.                         echo " is-selected";
  3812.                     }
  3813.                     echo "\"
  3814. \t\t\t\t\t\t\t           onclick=\"mitsumori_simulation('op";
  3815.                     // line 2222
  3816.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3817.                     echo "','op";
  3818.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3819.                     echo "_2');\">
  3820. \t\t\t\t\t\t\t      <input type=\"radio\" name=\"op";
  3821.                     // line 2223
  3822.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3823.                     echo "\" id=\"op";
  3824.                     echo twig_escape_filter($this->env$context["i"], "html"nulltrue);
  3825.                     echo "_2\" value=\"";
  3826.                     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.'2223$this->source); })()), $context["i"], [], "array"falsefalsefalse2223), "off", [], "array"falsefalsefalse2223), "html"nulltrue);
  3827.                     echo "\" ";
  3828.                     if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json"$context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.'2223$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.'2223$this->source); })()), "op", [], "any"falsefalsefalse2223), $context["i"], [], "array"falsefalsefalse2223) == 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.'2223$this->source); })()), $context["i"], [], "array"falsefalsefalse2223), "off", [], "array"falsefalsefalse2223)))) {
  3829.                         echo "checked";
  3830.                     }
  3831.                     echo ">
  3832. \t\t\t\t\t\t\t      ";
  3833.                     // line 2224
  3834.                     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.'2224$this->source); })()), $context["i"], [], "array"falsefalsefalse2224), "off", [], "array"falsefalsefalse2224), "html"nulltrue);
  3835.                     echo "
  3836. \t\t\t\t\t\t\t    </label>
  3837. \t\t\t\t\t\t\t  </div>
  3838. \t\t\t\t\t\t\t</div>
  3839. \t\t\t\t\t\t\t";
  3840.                 }
  3841.                 // line 2229
  3842.                 echo "\t\t\t\t\t\t\t";
  3843.             }
  3844.             // line 2230
  3845.             echo "\t\t\t\t\t\t";
  3846.         }
  3847.         $_parent $context['_parent'];
  3848.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  3849.         $context array_intersect_key($context$_parent) + $_parent;
  3850.         // line 2231
  3851.         echo "
  3852. \t\t\t\t\t  </div>
  3853. \t\t\t\t\t  <!-- /.card-body -->
  3854. \t\t\t\t\t</div>
  3855.                     <form action=\"";
  3856.         // line 2237
  3857.         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.'2237$this->source); })()), "id", [], "any"falsefalsefalse2237)]), "html"nulltrue);
  3858.         echo "\" method=\"post\" id=\"form1\" name=\"form1\">
  3859.                         ";
  3860.         // line 2238
  3861.         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.'2238$this->source); })()), "stock_find", [], "any"falsefalsefalse2238)) {
  3862.             // line 2239
  3863.             echo "                            <div class=\"ec-productRole__actions\">
  3864.                                 ";
  3865.             // line 2240
  3866.             if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id1", [], "any"truetruefalse2240)) {
  3867.                 // line 2241
  3868.                 echo "                                    <div class=\"ec-select\">
  3869.                                         ";
  3870.                 // line 2242
  3871.                 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.'2242$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse2242), 'row');
  3872.                 echo "
  3873.                                         ";
  3874.                 // line 2243
  3875.                 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.'2243$this->source); })()), "classcategory_id1", [], "any"falsefalsefalse2243), 'errors');
  3876.                 echo "
  3877.                                     </div>
  3878.                                     ";
  3879.                 // line 2245
  3880.                 if (twig_get_attribute($this->env$this->source, ($context["form"] ?? null), "classcategory_id2", [], "any"truetruefalse2245)) {
  3881.                     // line 2246
  3882.                     echo "                                        <div class=\"ec-select\">
  3883.                                             ";
  3884.                     // line 2247
  3885.                     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.'2247$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse2247), 'row');
  3886.                     echo "
  3887.                                             ";
  3888.                     // line 2248
  3889.                     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.'2248$this->source); })()), "classcategory_id2", [], "any"falsefalsefalse2248), 'errors');
  3890.                     echo "
  3891.                                         </div>
  3892.                                     ";
  3893.                 }
  3894.                 // line 2251
  3895.                 echo "                                ";
  3896.             }
  3897.             // line 2252
  3898.             echo "                                <div class=\"ec-numberInput\">
  3899.                                     ";
  3900.             // line 2253
  3901.             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.'2253$this->source); })()), "quantity", [], "any"falsefalsefalse2253), 'widget', ["type" => "hidden"]);
  3902.             echo "
  3903.                                     ";
  3904.             // line 2254
  3905.             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.'2254$this->source); })()), "quantity", [], "any"falsefalsefalse2254), 'errors');
  3906.             echo "
  3907.                                 </div>
  3908.                             </div>
  3909.                         ";
  3910.         } else {
  3911.             // line 2259
  3912.             echo "                            <div class=\"ec-productRole__btn\">
  3913.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  3914.                                     ";
  3915.             // line 2261
  3916.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html"nulltrue);
  3917.             echo "
  3918.                                 </button>
  3919.                             </div>
  3920.                         ";
  3921.         }
  3922.         // line 2265
  3923.         echo "                        <div class=\"ec-productRole__btn mt-3\">
  3924.                            <button type=\"submit\" id=\"cart_btn\" class=\"ec-blockBtn--action add-cart\">カートに入れる</button>
  3925.                         </div>
  3926.                         ";
  3927.         // line 2268
  3928.         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.'2268$this->source); })()), 'rest');
  3929.         echo "
  3930.                     </form>
  3931.                     <div class=\"ec-modal add-cart-modal\">
  3932.                         <div class=\"ec-modal-overlay\">
  3933.                             <div class=\"ec-modal-wrap add-cart-modal__wrap\">
  3934.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
  3935.         // line 2273
  3936.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html"nulltrue);
  3937.         echo "\" alt=\"\"/></span></span>
  3938.                                 <div id=\"ec-modal-header\" class=\"text-center add-cart-modal__header\">";
  3939.         // line 2274
  3940.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに追加しました。"), "html"nulltrue);
  3941.         echo "</div>
  3942.                                 <div class=\"ec-modal-box add-cart-modal__box\">
  3943.                                     <div class=\"ec-role add-cart-modal__actions\">
  3944.                                         <a href=\"";
  3945.         // line 2277
  3946.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
  3947.         echo "\" class=\"ec-inlineBtn--action add-cart-modal__primary\">";
  3948.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートに進む"), "html"nulltrue);
  3949.         echo "</a>
  3950.                                         <span class=\"ec-inlineBtn--cancel add-cart-modal__secondary\">";
  3951.         // line 2278
  3952.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品検索を続ける"), "html"nulltrue);
  3953.         echo "</span>
  3954.                                     </div>
  3955.                                 </div>
  3956.                             </div>
  3957.                         </div>
  3958.                     </div>
  3959.                     <div class=\"ec-productRole__description\">";
  3960.         // line 2284
  3961.         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.'2284$this->source); })()), "description_detail", [], "any"falsefalsefalse2284));
  3962.         echo "
  3963.                     </div>
  3964.                     ";
  3965.         // line 2288
  3966.         echo "                    <div class=\"ec-productRole__share\">
  3967.                         <ul class=\"ec-share\">
  3968.                             <li class=\"ec-share__item\">
  3969.                                 <a href=\"https://twitter.com/share?url=";
  3970.         // line 2291
  3971.         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.'2291$this->source); })()), "request", [], "any"falsefalsefalse2291), "uri", [], "any"falsefalsefalse2291)), "html"nulltrue);
  3972.         echo "&text=";
  3973.         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.'2291$this->source); })()), "name", [], "any"falsefalsefalse2291)), "html"nulltrue);
  3974.         echo "\" class=\"ec-share__link ec-share__link--twitter\" target=\"_blank\" rel=\"noreferrer noopener\">
  3975.                                     <i class=\"fab fa-twitter\"></i>
  3976.                                 </a>
  3977.                             </li>
  3978.                             <li class=\"ec-share__item\">
  3979.                                 <a href=\"https://www.facebook.com/sharer/sharer.php?u=";
  3980.         // line 2296
  3981.         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.'2296$this->source); })()), "request", [], "any"falsefalsefalse2296), "uri", [], "any"falsefalsefalse2296)), "html"nulltrue);
  3982.         echo "\" class=\"ec-share__link ec-share__link--facebook\" target=\"_blank\" rel=\"noreferrer noopener\">
  3983.                                     <i class=\"fab fa-facebook-f\"></i>
  3984.                                 </a>
  3985.                             </li>
  3986.                             <li class=\"ec-share__item\">
  3987.                                 <a href=\"https://social-plugins.line.me/lineit/share?url=";
  3988.         // line 2301
  3989.         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.'2301$this->source); })()), "request", [], "any"falsefalsefalse2301), "uri", [], "any"falsefalsefalse2301)), "html"nulltrue);
  3990.         echo "\" class=\"ec-share__link ec-share__link--line\" target=\"_blank\" rel=\"noreferrer noopener\">
  3991.                                     <i class=\"fab fa-line\"></i>
  3992.                                 </a>
  3993.                             </li>
  3994.                         </ul>
  3995.                     </div>
  3996.                 </div>
  3997. \t\t\t\t";
  3998.         // line 2309
  3999.         echo "\t\t\t\t<div id=\"sp-mitsumori-bar\">
  4000. \t\t\t\t    <div>
  4001. \t\t\t\t        <div class=\"sp-bar__label\">合計(工事費・税込)</div>
  4002. \t\t\t\t        <div class=\"sp-bar__price\" id=\"sp-mitsumori-price\">---円</div>
  4003. \t\t\t\t    </div>
  4004. \t\t\t\t    <button type=\"button\" class=\"sp-bar__btn\"
  4005. \t\t\t\t            onclick=\"document.getElementById('cart_btn2') && document.getElementById('cart_btn2').click();\">
  4006. \t\t\t\t        <i class=\"fas fa-shopping-cart\"></i>
  4007. \t\t\t\t        <span class=\"sp-bar__btn-label\">検討リストへ</span>
  4008. \t\t\t\t        ";
  4009.         // line 2318
  4010.         $context["spTotalQty"] = $this->extensions['Eccube\Twig\Extension\CartServiceExtension']->get_carts_total_quantity();
  4011.         // line 2319
  4012.         echo "\t\t\t\t        ";
  4013.         if (((isset($context["spTotalQty"]) || array_key_exists("spTotalQty"$context) ? $context["spTotalQty"] : (function () { throw new RuntimeError('Variable "spTotalQty" does not exist.'2319$this->source); })()) > 0)) {
  4014.             // line 2320
  4015.             echo "\t\t\t\t            <span class=\"sp-bar__cart-badge\">";
  4016.             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.'2320$this->source); })())), "html"nulltrue);
  4017.             echo "</span>
  4018. \t\t\t\t        ";
  4019.         }
  4020.         // line 2322
  4021.         echo "\t\t\t\t    </button>
  4022. \t\t\t\t    <a href=\"";
  4023.         // line 2323
  4024.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  4025.         echo "\" class=\"sp-bar__home-btn\" title=\"トップページへ\">
  4026. \t\t\t\t        <i class=\"fas fa-home\"></i>
  4027. \t\t\t\t    </a>
  4028. \t\t\t\t</div>
  4029. \t\t\t\t<div class=\"card col-12 collapsed-card sticky-top float-right mitsumori-card-pc\">
  4030. \t\t\t\t\t<div class=\"card-header\">
  4031. \t\t\t\t\t  <h3 class=\"card-title\">現在のお見積り額</h3>
  4032. \t\t\t\t\t  <div class=\"card-tools\">
  4033. \t\t\t\t\t    <span class=\"float-left\" id=\"mitsumori_message\">395000円</span>
  4034. \t\t\t\t\t    <button type=\"button\" class=\"btn btn-tool btn-mitsumori-toggle\" data-card-widget=\"collapse\" title=\"詳細を表示\">
  4035. \t\t\t\t\t      <span class=\"toggle-icon\">▼ 詳細</span>
  4036. \t\t\t\t\t    </button>
  4037. \t\t\t\t\t  </div>
  4038. \t\t\t\t\t</div>
  4039. \t\t\t\t\t<div class=\"card-body p-0\">
  4040. \t\t\t\t\t  <ul class=\"nav nav-pills flex-column\">
  4041. \t\t\t\t\t    <li class=\"nav-item active\">
  4042. \t\t\t\t\t      <a class=\"nav-link\">
  4043. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 合計(工事費・税込)
  4044. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_goukei\">395,000円</span>
  4045. \t\t\t\t\t      </a>
  4046. \t\t\t\t\t    </li>
  4047. \t\t\t\t\t    <li class=\"nav-item active\">
  4048. \t\t\t\t\t      <a class=\"nav-link\">
  4049. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 商品価格
  4050. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_price\">307,008円</span>
  4051. \t\t\t\t\t      </a>
  4052. \t\t\t\t\t    </li>
  4053. \t\t\t\t\t    <li class=\"nav-item\">
  4054. \t\t\t\t\t      <a class=\"nav-link\">
  4055. \t\t\t\t\t        &nbsp;&nbsp;<i class=\"far fa-file-alt\"></i> カタログ価格
  4056. \t\t\t\t\t        <span class=\"float-right\" id=\"maker_price\">479,700円</span>
  4057. \t\t\t\t\t      </a>
  4058. \t\t\t\t\t    </li>
  4059. \t\t\t\t\t    <li class=\"nav-item\">
  4060. \t\t\t\t\t      <a class=\"nav-link\">
  4061. \t\t\t\t\t        &nbsp;&nbsp;<i class=\"far fa-file-alt\"></i> お値引き
  4062. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_off\">-172,692円</span>
  4063. \t\t\t\t\t      </a>
  4064. \t\t\t\t\t    </li>
  4065. \t\t\t\t\t    <li class=\"nav-item\">
  4066. \t\t\t\t\t      <a class=\"nav-link\">
  4067. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 基本工事費
  4068. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_ct\">53,250円</span>
  4069. \t\t\t\t\t      </a>
  4070. \t\t\t\t\t    </li>
  4071. \t\t\t\t\t    <li class=\"nav-item\">
  4072. \t\t\t\t\t      <a class=\"nav-link\">
  4073. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 施工オプション
  4074. \t\t\t\t\t        <span class=\"float-right\"id=\"mitsumori_option\">6,297円</span>
  4075. \t\t\t\t\t      </a>
  4076. \t\t\t\t\t    </li>
  4077. \t\t\t\t\t  </ul>
  4078. \t\t\t\t\t</div>
  4079. \t\t\t\t\t<div class=\"card-footer\">
  4080. \t\t                <button type=\"button\" id=\"mitsumori_btn\" class=\"btn btn-info\" data-toggle=\"modal\" data-target=\"#modal-mitsumori\">
  4081. \t\t                  見積書表示
  4082. \t\t                </button>
  4083.                         <button type=\"submit\" id=\"cart_btn2\" class=\"btn btn-info add-cart\">カートに入れる</button>
  4084. \t\t\t\t\t</div>
  4085. \t\t\t\t</div>
  4086.             </div>
  4087.         </div>
  4088.     </div>
  4089.   <div class=\"modal\" id=\"modal-mitsumori\">
  4090.     <div class=\"modal-dialog modal-mitsumori\" style=\"max-width:1000px\">
  4091.       <div class=\"modal-content\">
  4092.         <div class=\"modal-header\">
  4093.           <h4 class=\"modal-title\">お見積書</h4>
  4094.           <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  4095.             <span aria-hidden=\"true\">&times;</span>
  4096.           </button>
  4097.         </div>
  4098.         <div class=\"modal-body\">
  4099. \t\t\t<div class=\"invoice p-3 mb-5\" style=\"max-width:1000px; margin:auto;\">
  4100. \t\t\t  <!-- title row -->
  4101. \t\t\t  <div class=\"row\">
  4102. \t\t\t    <div class=\"col-12\">
  4103. \t\t\t      <h2>概算お見積書 
  4104. \t\t\t        <small class=\"float-right\" style=\"font-size:14px;\">発行日: 2025/03/14</small>
  4105. \t\t\t      </h2>
  4106. \t\t\t    </div>
  4107. \t\t\t    <!-- /.col -->
  4108. \t\t\t  </div>
  4109. \t\t\t  <!-- info row -->
  4110. \t\t\t  <div class=\"row invoice-info\">
  4111. \t\t\t    <div class=\"col-sm-8 invoice-col\">
  4112. \t\t\t      <h3>お客様</h3>
  4113. \t\t\t      <span>下記の通り、お見積もり申し上げます。</span>
  4114. \t\t\t      <br />
  4115. \t\t\t      <br / >
  4116. \t\t\t      <br />
  4117. \t\t\t      <h2>お見積金額: <span id=\"mitsumori_kei\">399,080円</span></h2>
  4118. \t\t\t      <span>
  4119. \t\t\t        <br/>
  4120. \t\t\t        <br/>
  4121. \t\t\t        <br/>
  4122. \t\t\t        <br/>
  4123. \t\t\t      </span>
  4124. \t\t\t    </div>
  4125. \t\t\t    <div class=\"col-sm-4 invoice-col\">
  4126. \t\t\t      <p>
  4127. \t\t\t        <img alt=\"\" src=\"/html/user_data/js/images/logo.png\" style=\"width: 260px; max-width: 100%; max-height: 10mm;\">
  4128. \t\t\t      </p>
  4129. \t\t\t      <p>有限会社プラス</p>
  4130. \t\t\t      <p>〒400-0334</p>
  4131. \t\t\t      <p>山梨県南アルプス市藤田1450番地2</p>
  4132. \t\t\t      <p>TEL: 055-284-6480</p>
  4133. \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;\">
  4134. \t\t\t    </div>
  4135. \t\t\t    <!-- /.col -->
  4136. \t\t\t    <!-- /.col -->
  4137. \t\t\t  </div>
  4138. \t\t\t  <!-- /.row -->
  4139. \t\t\t  <!-- Table row -->
  4140. \t\t\t  <div class=\"row\">
  4141. \t\t\t    <div class=\"col-12 table-responsive\">
  4142. \t\t\t      <table class=\"table table-striped\">
  4143. \t\t\t        <thead>
  4144. \t\t\t          <tr>
  4145. \t\t\t            <th>項目</th>
  4146. \t\t\t            <th>数量</th>
  4147. \t\t\t            <th>単位</th>
  4148. \t\t\t            <th>単価</th>
  4149. \t\t\t            <th>小計</th>
  4150. \t\t\t          </tr>
  4151. \t\t\t        </thead>
  4152. \t\t\t        <tbody>
  4153. \t\t\t          <tr>
  4154. \t\t\t            <td>プレーンルーフ 600タイプ 1台用 単体セット</td>
  4155. \t\t\t            <td>1</td>
  4156. \t\t\t            <td>式</td>
  4157. \t\t\t            <td id=\"mitsumori_price_01\">352,800</td>
  4158. \t\t\t            <td id=\"mitsumori_price_02\">352,800</td>
  4159. \t\t\t          </tr>
  4160. \t\t\t          <tr>
  4161. \t\t\t            <td>基本工事費</td>
  4162. \t\t\t            <td>1</td>
  4163. \t\t\t            <td>式</td>
  4164. \t\t\t            <td id=\"mitsumori_ct_01\">10,000</td>
  4165. \t\t\t            <td id=\"mitsumori_ct_02\">10,000</td>
  4166. \t\t\t          </tr>
  4167. \t\t\t          <tr>
  4168. \t\t\t            <td>残土・ガラ処理</td>
  4169. \t\t\t            <td>1</td>
  4170. \t\t\t            <td>式</td>
  4171. \t\t\t            <td>0円</td>
  4172. \t\t\t            <td></td>
  4173. \t\t\t          </tr>
  4174. \t\t\t          <tr>
  4175. \t\t\t            <td> </td>
  4176. \t\t\t            <td></td>
  4177. \t\t\t            <td></td>
  4178. \t\t\t            <td></td>
  4179. \t\t\t            <td></td>
  4180. \t\t\t          </tr>
  4181. \t\t\t        </tbody>
  4182. \t\t\t      </table>
  4183. \t\t\t    </div>
  4184. \t\t\t    <!-- /.col -->
  4185. \t\t\t  </div>
  4186. \t\t\t  <!-- /.row -->
  4187. \t\t\t  <div class=\"row\">
  4188. \t\t\t    <!-- accepted payments column -->
  4189. \t\t\t    <div class=\"col-6\">
  4190. \t\t\t      <p class=\"lead\">お支払い方法</p>
  4191. \t\t\t      <p class=\"text-muted well well-sm shadow-none\" style=\"margin-top: 10px;\">銀行振込、クレジットカード決済、PAYPAY決済
  4192. \t\t\t        <br>銀行振込:山梨中央銀行 白根支店 普通口座 391402
  4193. \t\t\t        <br>※商品代金と工事代金の総額が金100万円(税込)を超える場合、着手金として代金の半額をご契約後お支払いいただきます。 
  4194. \t\t\t      </p>
  4195. \t\t\t    </div>
  4196. \t\t\t    <!-- /.col -->
  4197. \t\t\t    <div class=\"col-6\">
  4198. \t\t\t      <div class=\"table-responsive\">
  4199. \t\t\t        <table class=\"table\">
  4200. \t\t\t          <tbody>
  4201. \t\t\t            <tr>
  4202. \t\t\t              <th style=\"width:50%\">小計:</th>
  4203. \t\t\t              <td id=\"mitsumori_shoukei\">362,800</td>
  4204. \t\t\t            </tr>
  4205. \t\t\t            <tr>
  4206. \t\t\t              <th>消費税 (10%)</th>
  4207. \t\t\t              <td id=\"mitsumori_tax\">36,280</td>
  4208. \t\t\t            </tr>
  4209. \t\t\t            <tr>
  4210. \t\t\t              <th>合計:</th>
  4211. \t\t\t              <td id=\"mitsumori_goukei_02\">399,080</td>
  4212. \t\t\t            </tr>
  4213. \t\t\t          </tbody>
  4214. \t\t\t        </table>
  4215. \t\t\t      </div>
  4216. \t\t\t    </div>
  4217. \t\t\t    <!-- /.col -->
  4218. \t\t\t  </div>
  4219. \t\t\t  <!-- /.row -->
  4220. \t\t\t</div>
  4221.         </div>
  4222.         <div class=\"modal-footer justify-content-between\">
  4223. \t\t\t      ";
  4224.         // line 2527
  4225.         echo "\t\t\t      <form method=\"post\" action=\"";
  4226.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("mitsumori_pdf");
  4227.         echo "\" target=\"_blank\" id=\"pdf_download_form\">
  4228. \t\t\t        <input type=\"hidden\" name=\"_token\" value=\"";
  4229.         // line 2528
  4230.         echo twig_escape_filter($this->env$this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderCsrfToken("mitsumori_pdf"), "html"nulltrue);
  4231.         echo "\">
  4232. \t\t\t        <input type=\"hidden\" name=\"mitsumori_json\" id=\"pdf_mitsumori_json\">
  4233. \t\t\t        <button type=\"submit\" class=\"btn btn-primary float-right\" style=\"margin-right: 5px;\" onclick=\"syncPdfJson();\">
  4234. \t\t\t          <i class=\"fas fa-download\"></i>PDF出力
  4235. \t\t\t        </button>
  4236. \t\t\t      </form>
  4237.                   <button type=\"submit\" id=\"cart_btn3\" class=\"btn btn-info add-cart\">カートに入れる</button>
  4238.         </div>
  4239.       </div>
  4240.       <!-- /.modal-content -->
  4241.     </div>
  4242.     <!-- /.modal-dialog -->
  4243.   </div>
  4244.   <!-- /.modal -->
  4245. ";
  4246.         
  4247.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  4248.         
  4249.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  4250.     }
  4251.     public function getTemplateName()
  4252.     {
  4253.         return "Product/detail.twig";
  4254.     }
  4255.     public function isTraitable()
  4256.     {
  4257.         return false;
  4258.     }
  4259.     public function getDebugInfo()
  4260.     {
  4261.         return array (  4375 => 2528,  4370 => 2527,  4164 => 2323,  4161 => 2322,  4155 => 2320,  4152 => 2319,  4150 => 2318,  4139 => 2309,  4129 => 2301,  4121 => 2296,  4111 => 2291,  4106 => 2288,  4100 => 2284,  4091 => 2278,  4085 => 2277,  4079 => 2274,  4075 => 2273,  4067 => 2268,  4062 => 2265,  4055 => 2261,  4051 => 2259,  4043 => 2254,  4039 => 2253,  4036 => 2252,  4033 => 2251,  4027 => 2248,  4023 => 2247,  4020 => 2246,  4018 => 2245,  4013 => 2243,  4009 => 2242,  4006 => 2241,  4004 => 2240,  4001 => 2239,  3999 => 2238,  3995 => 2237,  3987 => 2231,  3981 => 2230,  3978 => 2229,  3970 => 2224,  3958 => 2223,  3952 => 2222,  3946 => 2221,  3941 => 2219,  3929 => 2218,  3923 => 2217,  3917 => 2216,  3914 => 2215,  3908 => 2214,  3899 => 2213,  3896 => 2212,  3893 => 2211,  3890 => 2210,  3886 => 2209,  3879 => 2204,  3863 => 2190,  3861 => 2189,  3857 => 2187,  3844 => 2177,  3836 => 2171,  3833 => 2169,  3827 => 2165,  3815 => 2162,  3810 => 2161,  3806 => 2160,  3800 => 2159,  3797 => 2158,  3790 => 2157,  3788 => 2156,  3782 => 2152,  3779 => 2151,  3776 => 2149,  3770 => 2145,  3758 => 2142,  3753 => 2141,  3749 => 2140,  3743 => 2139,  3740 => 2138,  3733 => 2137,  3731 => 2136,  3725 => 2132,  3722 => 2131,  3719 => 2129,  3717 => 2128,  3713 => 2126,  3703 => 2118,  3699 => 2117,  3692 => 2112,  3688 => 2111,  3680 => 2105,  3671 => 2097,  3667 => 2096,  3660 => 2091,  3656 => 2090,  3648 => 2084,  3635 => 2073,  3627 => 2067,  3624 => 2065,  3622 => 2064,  3618 => 2062,  3604 => 2051,  3598 => 2047,  3595 => 2045,  3593 => 2044,  3589 => 2042,  3575 => 2031,  3569 => 2027,  3566 => 2025,  3560 => 2021,  3548 => 2018,  3543 => 2017,  3539 => 2016,  3533 => 2015,  3530 => 2014,  3523 => 2013,  3521 => 2012,  3515 => 2008,  3512 => 2007,  3509 => 2005,  3503 => 2001,  3491 => 1998,  3486 => 1997,  3482 => 1996,  3476 => 1995,  3473 => 1994,  3466 => 1993,  3464 => 1992,  3458 => 1988,  3455 => 1987,  3452 => 1985,  3446 => 1981,  3434 => 1978,  3429 => 1977,  3425 => 1976,  3419 => 1975,  3416 => 1974,  3409 => 1973,  3407 => 1972,  3401 => 1968,  3399 => 1967,  3396 => 1966,  3390 => 1962,  3378 => 1959,  3373 => 1958,  3369 => 1957,  3363 => 1956,  3360 => 1955,  3353 => 1954,  3351 => 1953,  3345 => 1949,  3343 => 1948,  3340 => 1947,  3334 => 1943,  3322 => 1940,  3317 => 1939,  3313 => 1938,  3307 => 1937,  3304 => 1936,  3297 => 1935,  3295 => 1934,  3289 => 1930,  3286 => 1929,  3283 => 1927,  3281 => 1926,  3277 => 1924,  3270 => 1919,  3255 => 1917,  3251 => 1916,  3245 => 1912,  3242 => 1910,  3236 => 1906,  3230 => 1905,  3222 => 1902,  3217 => 1901,  3213 => 1900,  3207 => 1899,  3204 => 1898,  3201 => 1897,  3198 => 1896,  3193 => 1895,  3191 => 1894,  3185 => 1890,  3182 => 1889,  3179 => 1887,  3173 => 1883,  3167 => 1882,  3159 => 1879,  3154 => 1878,  3150 => 1877,  3144 => 1876,  3141 => 1875,  3138 => 1874,  3135 => 1873,  3130 => 1872,  3128 => 1871,  3122 => 1867,  3119 => 1866,  3110 => 1859,  3100 => 1852,  3093 => 1847,  3090 => 1845,  3088 => 1844,  3084 => 1842,  3081 => 1841,  3079 => 1840,  3075 => 1838,  3070 => 1835,  3060 => 1832,  3054 => 1831,  3048 => 1830,  3044 => 1829,  3037 => 1828,  3030 => 1827,  3028 => 1826,  3019 => 1824,  3016 => 1823,  3014 => 1822,  3011 => 1821,  3006 => 1818,  2996 => 1815,  2990 => 1814,  2984 => 1813,  2980 => 1812,  2973 => 1811,  2966 => 1810,  2964 => 1809,  2955 => 1807,  2952 => 1806,  2950 => 1805,  2947 => 1804,  2942 => 1801,  2932 => 1798,  2926 => 1797,  2920 => 1796,  2916 => 1795,  2909 => 1794,  2902 => 1793,  2900 => 1792,  2891 => 1790,  2888 => 1789,  2886 => 1788,  2883 => 1787,  2878 => 1784,  2868 => 1781,  2862 => 1780,  2856 => 1779,  2852 => 1778,  2845 => 1777,  2838 => 1776,  2836 => 1775,  2827 => 1773,  2824 => 1772,  2822 => 1771,  2819 => 1770,  2814 => 1767,  2804 => 1764,  2798 => 1763,  2792 => 1762,  2788 => 1761,  2781 => 1760,  2774 => 1759,  2772 => 1758,  2763 => 1756,  2760 => 1755,  2758 => 1754,  2752 => 1750,  2748 => 1748,  2744 => 1746,  2735 => 1743,  2729 => 1742,  2725 => 1741,  2721 => 1740,  2714 => 1739,  2710 => 1738,  2707 => 1737,  2705 => 1736,  2701 => 1734,  2692 => 1731,  2688 => 1730,  2684 => 1729,  2677 => 1727,  2673 => 1726,  2669 => 1725,  2662 => 1724,  2658 => 1723,  2655 => 1722,  2653 => 1721,  2651 => 1720,  2642 => 1719,  2639 => 1718,  2636 => 1717,  2633 => 1715,  2629 => 1713,  2625 => 1711,  2616 => 1708,  2610 => 1707,  2606 => 1706,  2602 => 1705,  2595 => 1704,  2591 => 1703,  2588 => 1702,  2584 => 1700,  2575 => 1697,  2568 => 1693,  2564 => 1692,  2557 => 1690,  2553 => 1689,  2549 => 1688,  2542 => 1687,  2538 => 1686,  2535 => 1685,  2533 => 1684,  2524 => 1683,  2521 => 1682,  2518 => 1681,  2515 => 1679,  2511 => 1677,  2507 => 1675,  2498 => 1672,  2492 => 1671,  2488 => 1670,  2484 => 1669,  2477 => 1668,  2473 => 1667,  2470 => 1666,  2466 => 1664,  2457 => 1661,  2450 => 1657,  2446 => 1656,  2439 => 1654,  2435 => 1653,  2431 => 1652,  2424 => 1651,  2420 => 1650,  2417 => 1649,  2415 => 1648,  2406 => 1647,  2403 => 1646,  2400 => 1645,  2397 => 1643,  2393 => 1641,  2389 => 1639,  2380 => 1636,  2374 => 1635,  2370 => 1634,  2366 => 1633,  2359 => 1632,  2355 => 1631,  2352 => 1630,  2350 => 1629,  2346 => 1627,  2337 => 1624,  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,);
  4262.     }
  4263.     public function getSourceContext()
  4264.     {
  4265.         return new Source("{#
  4266. This file is part of EC-CUBE
  4267. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  4268. http://www.ec-cube.co.jp/
  4269. For the full copyright and license information, please view the LICENSE
  4270. file that was distributed with this source code.
  4271. #}
  4272. {% extends 'default_frame.twig' %}
  4273. {% set body_class = 'product_page' %}
  4274. {% block stylesheet %}
  4275.     <style>
  4276.         .slick-slider {
  4277.             margin-bottom: 10px;
  4278. \t\t\tmargin-top: -20px;
  4279.         }
  4280.         .slick-dots {
  4281.             position: absolute;
  4282.             bottom: -45px;
  4283.             display: block;
  4284.             width: 100%;
  4285.             padding: 0;
  4286.             list-style: none;
  4287.             text-align: center;
  4288.         }
  4289.         .slick-dots li {
  4290.             position: relative;
  4291.             display: inline-block;
  4292.             width: 20px;
  4293.             height: 20px;
  4294.             margin: 0 5px;
  4295.             padding: 0;
  4296.             cursor: pointer;
  4297.         }
  4298.         .slick-dots li button {
  4299.             font-size: 0;
  4300.             line-height: 0;
  4301.             display: block;
  4302.             width: 20px;
  4303.             height: 20px;
  4304.             padding: 5px;
  4305.             cursor: pointer;
  4306.             color: transparent;
  4307.             border: 0;
  4308.             outline: none;
  4309.             background: transparent;
  4310.         }
  4311.         .slick-dots li button:hover,
  4312.         .slick-dots li button:focus {
  4313.             outline: none;
  4314.         }
  4315.         .slick-dots li button:hover:before,
  4316.         .slick-dots li button:focus:before {
  4317.             opacity: 1;
  4318.         }
  4319.         .slick-dots li button:before {
  4320.             content: \" \";
  4321.             line-height: 20px;
  4322.             position: absolute;
  4323.             top: 0;
  4324.             left: 0;
  4325.             width: 12px;
  4326.             height: 12px;
  4327.             text-align: center;
  4328.             opacity: .25;
  4329.             background-color: black;
  4330.             border-radius: 50%;
  4331.         }
  4332.         .slick-dots li.slick-active button:before {
  4333.             opacity: .75;
  4334.             background-color: black;
  4335.         }
  4336.         .slick-dots li button.thumbnail img {
  4337.             width: 0;
  4338.             height: 0;
  4339.         }
  4340.     </style>
  4341.     <link rel=\"stylesheet\" href=\"/html/user_data/js/style.css\">
  4342.     <link rel=\"stylesheet\" href=\"/html/plugins/icheck-bootstrap/icheck-bootstrap.min.css\">
  4343.     <style>
  4344.         /* ============================================
  4345.            商品詳細グリッド: 画像50% / 内容50%(均等)
  4346.         ============================================ */
  4347.         @media (min-width: 768px) {
  4348.             body.product_page .ec-grid2 {
  4349.                 display: flex;
  4350.                 align-items: flex-start;
  4351.             }
  4352.             body.product_page .ec-grid2 .ec-grid2__cell {
  4353.                 width: 50%;
  4354.                 flex: 0 0 50%;
  4355.                 min-width: 0;
  4356.             }
  4357.             body.product_page .ec-grid2 .ec-grid2__cell2 {
  4358.                 width: 50%;
  4359.                 flex: 0 0 50%;
  4360.                 min-width: 0;
  4361.             }
  4362.         }
  4363.         /* ============================================
  4364.            商品説明欄内のHTMLが画面幅を突き抜けないように
  4365.         ============================================ */
  4366.         body.product_page .ec-productRole__description {
  4367.             min-width: 0;
  4368.             overflow-wrap: break-word;
  4369.             word-break: break-word;
  4370.         }
  4371.         body.product_page .ec-productRole__description img,
  4372.         body.product_page .ec-productRole__description table,
  4373.         body.product_page .ec-productRole__description iframe,
  4374.         body.product_page .ec-productRole__description video {
  4375.             max-width: 100% !important;
  4376.             height: auto;
  4377.         }
  4378.         body.product_page .ec-productRole__description table {
  4379.             display: block;
  4380.             overflow-x: auto;
  4381.             -webkit-overflow-scrolling: touch;
  4382.         }
  4383.         /* ============================================
  4384.            スマホ用 見積金額 下部固定バー
  4385.         ============================================ */
  4386.         #sp-mitsumori-bar {
  4387.             display: none;
  4388.         }
  4389.         
  4390.         /* ============================================
  4391.            商品タイプ選択 共通スタイル
  4392.         ============================================ */
  4393.         /* セクションラベル */
  4394.         .rp-section-label {
  4395.             font-size: 14px;
  4396.             font-weight: bold;
  4397.             color: #333;
  4398.             margin-bottom: 10px;
  4399.         }
  4400.         .rp-section-label span {
  4401.             font-weight: normal;
  4402.             color: #c00;
  4403.         }
  4404.         /* ---- 1. 画像付きカード ---- */
  4405.         .rp-card-group {
  4406.             display: flex;
  4407.             flex-wrap: wrap;
  4408.             gap: 8px;
  4409.             margin-bottom: 4px;
  4410.         }
  4411.         .rp-card {
  4412.             position: relative;
  4413.             cursor: pointer;
  4414.             width: 110px;
  4415.             border: 2px solid #ddd;
  4416.             border-radius: 10px;
  4417.             overflow: hidden;
  4418.             transition: border-color 0.2s, box-shadow 0.2s;
  4419.             background: #fff;
  4420.         }
  4421.         .rp-card:hover {
  4422.             border-color: #999;
  4423.             box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  4424.         }
  4425.         .rp-card.is-selected {
  4426.             border-color: #1a6fcf;
  4427.             box-shadow: 0 2px 10px rgba(26,111,207,0.25);
  4428.         }
  4429.         .rp-card input[type=\"radio\"] { display: none; }
  4430.         .rp-card__image {
  4431.             width: 100%;
  4432.             aspect-ratio: 1 / 1;
  4433.             object-fit: cover;
  4434.             display: block;
  4435.             background: #f5f5f5;
  4436.         }
  4437.         .rp-card__placeholder {
  4438.             width: 100%;
  4439.             aspect-ratio: 1 / 1;
  4440.             background: #f0f0f0;
  4441.             display: flex;
  4442.             align-items: center;
  4443.             justify-content: center;
  4444.             color: #bbb;
  4445.             font-size: 24px;
  4446.         }
  4447.         .rp-card__name {
  4448.             display: block;
  4449.             padding: 5px 5px;
  4450.             font-size: 11px;
  4451.             color: #333;
  4452.             text-align: center;
  4453.             line-height: 1.4;
  4454.             word-break: break-all;
  4455.         }
  4456.         .rp-card.is-selected .rp-card__name { color: #1a6fcf; font-weight: bold; }
  4457.         .rp-card.is-selected::after {
  4458.             content: \"✓\";
  4459.             position: absolute;
  4460.             top: 3px; right: 6px;
  4461.             color: #1a6fcf;
  4462.             font-size: 13px;
  4463.             font-weight: bold;
  4464.         }
  4465.         /* ---- 2. ボタン式ラジオ(画像なし・8個以内)---- */
  4466.         .rp-btn-group {
  4467.             display: flex;
  4468.             flex-wrap: wrap;
  4469.             gap: 8px;
  4470.             margin-bottom: 4px;
  4471.             max-width: 100%;
  4472.             min-width: 0;
  4473.         }
  4474.         .rp-btn {
  4475.             cursor: pointer;
  4476.             padding: 8px 14px;
  4477.             border: 2px solid #ddd;
  4478.             border-radius: 10px;
  4479.             font-size: 13px;
  4480.             color: #333;
  4481.             background: #fff;
  4482.             transition: border-color 0.2s, background 0.2s;
  4483.             white-space: nowrap;
  4484.             max-width: 100%;
  4485.             overflow: hidden;
  4486.             text-overflow: ellipsis;
  4487.         }
  4488.         .rp-btn:hover { border-color: #999; }
  4489.         .rp-btn.is-selected {
  4490.             border-color: #1a6fcf;
  4491.             color: #1a6fcf;
  4492.             font-weight: bold;
  4493.             background: #f0f6ff;
  4494.         }
  4495.         .rp-btn input[type=\"radio\"] { display: none; }
  4496.         /* ---- ボタン群が3行以上になる場合は1行横スクロール ---- */
  4497.         .rp-btn-group.is-scroll,
  4498.         .opt-btn-group.is-scroll {
  4499.             flex-wrap: nowrap;
  4500.             overflow-x: auto;
  4501.             overflow-y: hidden;
  4502.             -webkit-overflow-scrolling: touch;
  4503.             scrollbar-width: thin;
  4504.             padding-bottom: 6px;
  4505.         }
  4506.         .rp-btn-group.is-scroll::-webkit-scrollbar,
  4507.         .opt-btn-group.is-scroll::-webkit-scrollbar {
  4508.             height: 6px;
  4509.         }
  4510.         .rp-btn-group.is-scroll::-webkit-scrollbar-thumb,
  4511.         .opt-btn-group.is-scroll::-webkit-scrollbar-thumb {
  4512.             background: #c0c0c0;
  4513.             border-radius: 3px;
  4514.         }
  4515.         .rp-btn-group.is-scroll > .rp-btn,
  4516.         .opt-btn-group.is-scroll > .opt-btn {
  4517.             flex: 0 0 auto;
  4518.         }
  4519.         /* ---- 3. プルダウン(画像なし・9個以上)---- */
  4520.         .rp-select-wrap {
  4521.             margin-bottom: 4px;
  4522.         }
  4523.         .rp-select {
  4524.             width: 100%;
  4525.             max-width: 420px;
  4526.             padding: 8px 12px;
  4527.             border: 2px solid #ddd;
  4528.             border-radius: 10px;
  4529.             font-size: 13px;
  4530.             color: #333;
  4531.             background: #fff;
  4532.             appearance: none;
  4533.             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\");
  4534.             background-repeat: no-repeat;
  4535.             background-position: right 12px center;
  4536.             cursor: pointer;
  4537.         }
  4538.         .rp-select:focus {
  4539.             outline: none;
  4540.             border-color: #1a6fcf;
  4541.         }
  4542.         /* ---- オプション選択ボタン(枠線ラジオ)---- */
  4543.         .opt-btn-group {
  4544.             display: flex;
  4545.             flex-wrap: wrap;
  4546.             gap: 8px;
  4547.             padding: 6px 0;
  4548.             max-width: 100%;
  4549.             min-width: 0;
  4550.         }
  4551.         .opt-btn {
  4552.             cursor: pointer;
  4553.             padding: 7px 14px;
  4554.             border: 2px solid #ddd;
  4555.             border-radius: 10px;
  4556.             font-size: 13px;
  4557.             color: #333;
  4558.             background: #fff;
  4559.             transition: border-color 0.2s, background 0.2s;
  4560.             white-space: nowrap;
  4561.             max-width: 100%;
  4562.             overflow: hidden;
  4563.             text-overflow: ellipsis;
  4564.         }
  4565.         .opt-btn:hover { border-color: #999; }
  4566.         .opt-btn.is-selected {
  4567.             border-color: #1a6fcf;
  4568.             color: #1a6fcf;
  4569.             font-weight: bold;
  4570.             background: #f0f6ff;
  4571.         }
  4572.         .opt-btn input[type=\"radio\"] { display: none; }
  4573.         /* ============================================
  4574.            施工エリア案内
  4575.         ============================================ */
  4576.         .ec-areaNotice {
  4577.             margin: 16px 0;
  4578.             padding: 16px 20px;
  4579.             background: #f8f9fa;
  4580.             border-left: 4px solid #1a6fcf;
  4581.             border-radius: 0 8px 8px 0;
  4582.         }
  4583.         .ec-areaNotice__inner {
  4584.             display: flex;
  4585.             align-items: flex-start;
  4586.             gap: 12px;
  4587.         }
  4588.         .ec-areaNotice__icon {
  4589.             font-size: 22px;
  4590.             line-height: 1;
  4591.             flex-shrink: 0;
  4592.             margin-top: 2px;
  4593.         }
  4594.         .ec-areaNotice__body {
  4595.             flex: 1;
  4596.         }
  4597.         .ec-areaNotice__title {
  4598.             font-size: 13px;
  4599.             font-weight: bold;
  4600.             color: #1a6fcf;
  4601.             margin: 0 0 6px;
  4602.         }
  4603.         .ec-areaNotice__text {
  4604.             font-size: 13px;
  4605.             color: #444;
  4606.             line-height: 1.7;
  4607.             margin: 0;
  4608.         }
  4609.         .ec-areaNotice__text strong {
  4610.             color: #222;
  4611.         }
  4612.         .ec-areaNotice__link {
  4613.             display: inline-block;
  4614.             margin-top: 8px;
  4615.             font-size: 12px;
  4616.             color: #1a6fcf;
  4617.             text-decoration: underline;
  4618.         }
  4619.         .ec-areaNotice__link:hover {
  4620.             color: #0d4fa0;
  4621.         }
  4622.         /* ============================================
  4623.            SNSシェア + ブランド名 タイトル行
  4624.         ============================================ */
  4625.         .ec-productRole__titleRow {
  4626.             display: flex;
  4627.             align-items: center;
  4628.             justify-content: space-between;
  4629.             gap: 8px;
  4630.             margin-bottom: 4px;
  4631.         }
  4632.         .ec-productRole__titleRow .ec-headingTitle {
  4633.             margin: 0;
  4634.             flex: 1;
  4635.             font-size: 18px;
  4636.         }
  4637.         .ec-share-inline {
  4638.             display: flex;
  4639.             align-items: center;
  4640.             gap: 8px;
  4641.             flex-shrink: 0;
  4642.         }
  4643.         @media (max-width: 767px) {
  4644.             /* maker_area の float を解除して独立表示 */
  4645.             #maker_area {
  4646.                 float: none !important;
  4647.                 width: auto !important;
  4648.                 height: auto !important;
  4649.                 display: block;
  4650.                 margin-bottom: 4px;
  4651.             }
  4652.             /* タイトル行: 商品名が全幅を占有しSNSは右寄せ下段 */
  4653.             .ec-productRole__titleRow {
  4654.                 flex-wrap: wrap;
  4655.                 clear: both;
  4656.             }
  4657.             .ec-productRole__titleRow .ec-headingTitle {
  4658.                 flex: 1 1 100%;
  4659.                 font-size: 16px;
  4660.             }
  4661.             .ec-share-inline {
  4662.                 flex: 0 0 auto;
  4663.                 margin-left: auto;
  4664.             }
  4665.         }
  4666.         .ec-share-inline a {
  4667.             display: flex;
  4668.             align-items: center;
  4669.             justify-content: center;
  4670.             width: 32px;
  4671.             height: 32px;
  4672.             border-radius: 50%;
  4673.             font-size: 15px;
  4674.             color: #fff;
  4675.             text-decoration: none;
  4676.             transition: opacity 0.2s;
  4677.         }
  4678.         .ec-share-inline a:hover { opacity: 0.8; }
  4679.         .ec-share-inline .share-twitter  { background: #000; }
  4680.         .ec-share-inline .share-facebook { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
  4681.         .ec-share-inline .share-line     { background: #06c755; }
  4682.         /* description_detail下のシェアブロックはPC/スマホ共通で非表示(タイトル行に移動) */
  4683.         .ec-productRole__share { display: none; }
  4684.         /* ============================================
  4685.            PC用: 現在のお見積り額カード強調
  4686.         ============================================ */
  4687.         @media (min-width: 768px) {
  4688.             .mitsumori-card-pc {
  4689.                 border: 2px solid #1a6fcf !important;
  4690.                 border-radius: 10px !important;
  4691.                 box-shadow: 0 4px 16px rgba(26,111,207,0.18) !important;
  4692.                 margin-top: 20px;
  4693.                 overflow: hidden;
  4694.                 background: linear-gradient(135deg, #1a6fcf, #0d4fa0) !important;
  4695.             }
  4696.             .mitsumori-card-pc .card-header {
  4697.                 background: linear-gradient(135deg, #1a6fcf, #0d4fa0) !important;
  4698.                 color: #fff !important;
  4699.                 padding: 14px 16px !important;
  4700.                 border-bottom: none !important;
  4701.             }
  4702.             .mitsumori-card-pc .card-title {
  4703.                 color: #fff !important;
  4704.                 font-size: 15px !important;
  4705.                 font-weight: bold !important;
  4706.                 margin: 0 !important;
  4707.             }
  4708.             .mitsumori-card-pc #mitsumori_message {
  4709.                 font-size: 22px !important;
  4710.                 font-weight: bold !important;
  4711.                 color: #fff !important;
  4712.             }
  4713.             .mitsumori-card-pc .btn-tool {
  4714.                 color: #fff !important;
  4715.             }
  4716.             /* 合計行を大きく強調 */
  4717.             .mitsumori-card-pc .nav-item:first-child .nav-link {
  4718.                 font-size: 16px !important;
  4719.                 font-weight: bold !important;
  4720.                 color: #c00 !important;
  4721.                 background: #fff8f8 !important;
  4722.                 padding: 12px 16px !important;
  4723.             }
  4724.             .mitsumori-card-pc .nav-item:first-child #mitsumori_goukei {
  4725.                 font-size: 20px !important;
  4726.                 font-weight: bold !important;
  4727.                 color: #c00 !important;
  4728.             }
  4729.             /* card-body(明細リスト)を白背景に */
  4730.             .mitsumori-card-pc .card-body {
  4731.                 background: #fff !important;
  4732.             }
  4733.             .mitsumori-card-pc .card-footer {
  4734.                 background: #f8faff !important;
  4735.                 border-top: 1px solid #dce8fb !important;
  4736.                 padding: 12px 16px !important;
  4737.             }
  4738.         }
  4739.         @media (max-width: 767px) {
  4740.             /* スマホでは現在のお見積り額カードの強調スタイルをすべてリセット */
  4741.             .mitsumori-card-pc {
  4742.                 border: none !important;
  4743.                 border-radius: 0 !important;
  4744.                 box-shadow: none !important;
  4745.                 margin-top: 0 !important;
  4746.                 overflow: visible !important;
  4747.                 background: none !important;
  4748.             }
  4749.             .mitsumori-card-pc .card-header {
  4750.                 background: none !important;
  4751.                 color: inherit !important;
  4752.                 padding: inherit !important;
  4753.                 border-bottom: inherit !important;
  4754.             }
  4755.             .mitsumori-card-pc .card-title { color: inherit !important; }
  4756.             .mitsumori-card-pc #mitsumori_message { font-size: inherit !important; color: inherit !important; }
  4757.             .mitsumori-card-pc .btn-tool { color: inherit !important; }
  4758.             /* 折りたたみトグルボタン */
  4759.             .btn-mitsumori-toggle {
  4760.                 background: none !important;
  4761.                 border: 1px solid #aaa !important;
  4762.                 border-radius: 4px !important;
  4763.                 padding: 2px 8px !important;
  4764.                 font-size: 12px !important;
  4765.                 color: #333 !important;
  4766.                 line-height: 1.4 !important;
  4767.             }
  4768.             .btn-mitsumori-toggle .toggle-icon {
  4769.                 display: inline-block;
  4770.                 transition: transform 0.2s;
  4771.             }
  4772.             /* 展開状態: ▼→▲ */
  4773.             .card:not(.collapsed-card) .btn-mitsumori-toggle .toggle-icon::before {
  4774.                 content: \"▲ 閉じる\";
  4775.             }
  4776.             .card:not(.collapsed-card) .btn-mitsumori-toggle .toggle-icon {
  4777.                 display: none;
  4778.             }
  4779.             .card:not(.collapsed-card) .btn-mitsumori-toggle::after {
  4780.                 content: \"▲ 閉じる\";
  4781.                 font-size: 12px;
  4782.             }
  4783.             .mitsumori-card-pc .nav-item:first-child .nav-link {
  4784.                 font-size: inherit !important;
  4785.                 color: inherit !important;
  4786.                 background: none !important;
  4787.                 padding: inherit !important;
  4788.             }
  4789.             .mitsumori-card-pc .nav-item:first-child #mitsumori_goukei {
  4790.                 font-size: inherit !important;
  4791.                 color: inherit !important;
  4792.             }
  4793.             .mitsumori-card-pc .card-footer {
  4794.                 background: none !important;
  4795.                 border-top: inherit !important;
  4796.                 padding: inherit !important;
  4797.             }
  4798.             /* 横スクロール禁止 */
  4799.             body, html {
  4800.                 overflow-x: hidden;
  4801.                 max-width: 100vw;
  4802.             }
  4803.             /* ボタンの折り返しを許可(nowrapが原因で横スクロール発生するため) */
  4804.             .opt-btn,
  4805.             .rp-btn {
  4806.                 white-space: normal;
  4807.                 word-break: break-all;
  4808.             }
  4809.             /* エリア案内: スマホでコンパクト */
  4810.             .ec-areaNotice {
  4811.                 margin: 8px 0;
  4812.                 padding: 8px 10px;
  4813.                 border-left-width: 3px;
  4814.                 cursor: pointer;
  4815.             }
  4816.             .ec-areaNotice__inner {
  4817.                 flex-direction: row;
  4818.                 gap: 8px;
  4819.                 align-items: flex-start;
  4820.             }
  4821.             .ec-areaNotice__icon { font-size: 15px; }
  4822.             /* タイトル行: 展開トグル */
  4823.             .ec-areaNotice__title {
  4824.                 font-size: 11px;
  4825.                 margin-bottom: 3px;
  4826.                 display: flex;
  4827.                 justify-content: space-between;
  4828.                 align-items: center;
  4829.             }
  4830.             .ec-areaNotice__title::after {
  4831.                 content: \"▼\";
  4832.                 font-size: 9px;
  4833.                 color: #888;
  4834.                 margin-left: 6px;
  4835.                 transition: transform 0.2s;
  4836.             }
  4837.             .ec-areaNotice.is-open .ec-areaNotice__title::after {
  4838.                 transform: rotate(180deg);
  4839.             }
  4840.             /* 折りたたみ対象: 閉じた状態では非表示 */
  4841.             .ec-areaNotice__detail {
  4842.                 display: none;
  4843.             }
  4844.             .ec-areaNotice.is-open .ec-areaNotice__detail {
  4845.                 display: block;
  4846.             }
  4847.             .ec-areaNotice__text { font-size: 11px; line-height: 1.5; }
  4848.             .ec-areaNotice__text br { display: none; }
  4849.             .ec-areaNotice__link { font-size: 11px; margin-top: 3px; }
  4850.             .rp-card { width: calc(33.333% - 6px); min-width: 80px; }
  4851.             
  4852.             #sp-mitsumori-bar {
  4853.                 display: flex;
  4854.                 position: fixed;
  4855.                 bottom: 0;
  4856.                 left: 0;
  4857.                 right: 0;
  4858.                 z-index: 1000;
  4859.                 background: #fff;
  4860.                 border-top: 2px solid #e0e0e0;
  4861.                 box-shadow: 0 -2px 8px rgba(0,0,0,0.12);
  4862.                 align-items: center;
  4863.                 padding: 8px 12px;
  4864.                 gap: 10px;
  4865.             }
  4866.             #sp-mitsumori-bar .sp-bar__label {
  4867.                 font-size: 11px;
  4868.                 color: #666;
  4869.                 white-space: nowrap;
  4870.             }
  4871.             #sp-mitsumori-bar .sp-bar__price {
  4872.                 font-size: 18px;
  4873.                 font-weight: bold;
  4874.                 color: #c00;
  4875.                 flex: 1;
  4876.             }
  4877.             #sp-mitsumori-bar .sp-bar__btn {
  4878.                 font-size: 12px;
  4879.                 padding: 8px 12px;
  4880.                 background: #333;
  4881.                 color: #fff;
  4882.                 border: none;
  4883.                 border-radius: 6px;
  4884.                 white-space: nowrap;
  4885.                 cursor: pointer;
  4886.                 position: relative;
  4887.                 display: inline-flex;
  4888.                 align-items: center;
  4889.                 gap: 6px;
  4890.             }
  4891.             #sp-mitsumori-bar .sp-bar__btn i {
  4892.                 font-size: 14px;
  4893.             }
  4894.             #sp-mitsumori-bar .sp-bar__cart-badge {
  4895.                 position: absolute;
  4896.                 top: -6px;
  4897.                 right: -6px;
  4898.                 background: #c00;
  4899.                 color: #fff;
  4900.                 border-radius: 50%;
  4901.                 min-width: 16px;
  4902.                 height: 16px;
  4903.                 font-size: 10px;
  4904.                 line-height: 16px;
  4905.                 padding: 0 4px;
  4906.                 font-weight: bold;
  4907.             }
  4908.             #sp-mitsumori-bar .sp-bar__home-btn {
  4909.                 display: inline-flex;
  4910.                 align-items: center;
  4911.                 justify-content: center;
  4912.                 width: 36px;
  4913.                 height: 36px;
  4914.                 border: 1px solid #ccc;
  4915.                 border-radius: 6px;
  4916.                 background: #fff;
  4917.                 color: #333;
  4918.                 text-decoration: none;
  4919.                 cursor: pointer;
  4920.             }
  4921.             #sp-mitsumori-bar .sp-bar__home-btn i {
  4922.                 font-size: 16px;
  4923.             }
  4924.             #sp-mitsumori-bar .sp-bar__home-btn:hover {
  4925.                 background: #f0f0f0;
  4926.             }
  4927.             /* 下部バーの高さ分ページ下部にpaddingを追加 */
  4928.             body {
  4929.                 padding-bottom: 64px;
  4930.             }
  4931.         }
  4932.         /* ============================================
  4933.            カート追加モーダル: 縦並び中央配置
  4934.         ============================================ */
  4935.         .add-cart-modal__wrap {
  4936.             text-align: center;
  4937.         }
  4938.         .add-cart-modal__header {
  4939.             font-size: 16px;
  4940.             margin: 20px 0 24px;
  4941.             text-align: center;
  4942.         }
  4943.         .add-cart-modal__actions {
  4944.             display: flex;
  4945.             flex-direction: column;
  4946.             align-items: center;
  4947.             gap: 16px;
  4948.             padding: 0 20px 20px;
  4949.         }
  4950.         .add-cart-modal__primary {
  4951.             display: inline-block;
  4952.             width: 80%;
  4953.             max-width: 320px;
  4954.             padding: 14px 20px;
  4955.             font-size: 15px;
  4956.             font-weight: bold;
  4957.             text-align: center;
  4958.             background: #d9534f;
  4959.             color: #fff !important;
  4960.             border-radius: 6px;
  4961.             text-decoration: none;
  4962.             cursor: pointer;
  4963.         }
  4964.         .add-cart-modal__primary:hover {
  4965.             background: #c9302c;
  4966.             color: #fff !important;
  4967.             text-decoration: none;
  4968.         }
  4969.         .add-cart-modal__secondary {
  4970.             display: inline-block;
  4971.             padding: 6px 14px;
  4972.             font-size: 12px;
  4973.             color: #666;
  4974.             border: 1px solid #ccc;
  4975.             border-radius: 4px;
  4976.             background: #fff;
  4977.             cursor: pointer;
  4978.         }
  4979.         .add-cart-modal__secondary:hover {
  4980.             background: #f0f0f0;
  4981.             color: #333;
  4982.         }
  4983.         @media (max-width: 767px) {
  4984.             .add-cart-modal__actions {
  4985.                 gap: 20px;
  4986.             }
  4987.         }
  4988.     </style>
  4989. {% endblock %}
  4990. {% block javascript %}
  4991.     <script>
  4992.         eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
  4993.         // 規格2に選択肢を割り当てる。
  4994.         function fnSetClassCategories(form, classcat_id2_selected) {
  4995.             var \$form = \$(form);
  4996.             var product_id = \$form.find('input[name=product_id]').val();
  4997.             var \$sele1 = \$form.find('select[name=classcategory_id1]');
  4998.             var \$sele2 = \$form.find('select[name=classcategory_id2]');
  4999.             eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
  5000.         }
  5001.         {% if form.classcategory_id2 is defined %}
  5002.         fnSetClassCategories(
  5003.             \$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
  5004.         );
  5005.         {% elseif form.classcategory_id1 is defined %}
  5006.         eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
  5007.         {% endif %}
  5008.     </script>
  5009.     <script>
  5010.         \$(function() {
  5011.             // bfcache無効化
  5012.             \$(window).bind('pageshow', function(event) {
  5013.                 if (event.originalEvent.persisted) {
  5014.                     location.reload(true);
  5015.                 }
  5016.             });
  5017.             // Core Web Vital の Cumulative Layout Shift(CLS)対策のため
  5018.             // img タグに width, height が付与されている.
  5019.             // 630px 未満の画面サイズでは縦横比が壊れるための対策
  5020.             // see https://github.com/EC-CUBE/ec-cube/pull/5023
  5021.             \$('.ec-grid2__cell').hide();
  5022.             var removeSize = function () {
  5023.                 \$('.slide-item').height('');
  5024.                 \$('.slide-item img')
  5025.                     .removeAttr('width')
  5026.                     .removeAttr('height')
  5027.                     .removeAttr('style');
  5028.             };
  5029.             var slickInitial = function(slick) {
  5030.                 \$('.ec-grid2__cell').fadeIn(1500);
  5031.                 var baseHeight = \$(slick.target).height();
  5032.                 var baseWidth = \$(slick.target).width();
  5033.                 var rate = baseWidth / baseHeight;
  5034. \t\t\t\tif(baseHeight * rate < 400){
  5035. \t                \$('.slide-item').height(baseHeight * rate); // 余白を削除する
  5036. \t\t\t\t}else{
  5037. \t                \$('.slide-item').height(400); // 余白を削除する
  5038. \t\t\t\t}
  5039.                 // transform を使用することでCLSの影響を受けないようにする
  5040.                 \$('.slide-item img')
  5041.                     .css(
  5042.                         {
  5043.                             'transform-origin': 'top left',
  5044.                             'transform': 'scaleY(' + rate + ')',
  5045.                             'transition': 'transform .1s'
  5046.                         }
  5047.                     );
  5048.                 // 正しいサイズに近くなったら属性を解除する
  5049.                 setTimeout(removeSize, 500);
  5050.             };
  5051.             \$('.item_visual').on('init', slickInitial);
  5052.             // リサイズ時は CLS の影響を受けないため属性を解除する
  5053.             \$(window).resize(removeSize);
  5054.             \$('.item_visual').slick({
  5055.                 dots: false,
  5056.                 arrows: true,
  5057.                 responsive: [{
  5058.                     breakpoint: 768,
  5059.                     settings: {
  5060.                         dots: true,
  5061.                 \t\tarrows: false
  5062.                     }
  5063.                 }]
  5064.             });
  5065.             \$('.slideThumb').on('click', function() {
  5066.                 var index = \$(this).attr('data-index');
  5067.                 \$('.item_visual').slick('slickGoTo', index, false);
  5068.             })
  5069.         });
  5070.     </script>
  5071.     <script>
  5072.         \$(function() {
  5073.             \$('.add-cart').on('click', function(event) {
  5074.                 {% if form.classcategory_id1 is defined %}
  5075.                 // 規格1フォームの必須チェック
  5076.                 if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
  5077.                     \$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  5078.                     return true;
  5079.                 } else {
  5080.                     \$('#classcategory_id1')[0].setCustomValidity('');
  5081.                 }
  5082.                 {% endif %}
  5083.                 {% if form.classcategory_id2 is defined %}
  5084.                 // 規格2フォームの必須チェック
  5085.                 if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
  5086.                     \$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
  5087.                     return true;
  5088.                 } else {
  5089.                     \$('#classcategory_id2')[0].setCustomValidity('');
  5090.                 }
  5091.                 {% endif %}
  5092.                 // タイプ2: カート送信直前に set_count を quantity に同期
  5093.                 if(\$('#set_count').length){
  5094.                     var _sc = parseInt(\$('#set_count').val()) || 1;
  5095.                     \$('#quantity').val(_sc);
  5096.                     \$('input[name=\"quantity\"]').val(_sc);
  5097.                 }
  5098.                 // 個数フォームのチェック
  5099.                 if (\$('#quantity').val() < 1) {
  5100.                     \$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  5101.                     return true;
  5102.                 } else {
  5103.                     \$('#quantity')[0].setCustomValidity('');
  5104.                 }
  5105.                 event.preventDefault();
  5106.                 \$form = \$('#form1');
  5107.                 \$.ajax({
  5108.                     url: \$form.attr('action'),
  5109.                     type: \$form.attr('method'),
  5110.                     data: \$form.serialize(),
  5111.                     dataType: 'json',
  5112.                     beforeSend: function(xhr, settings) {
  5113.                         // Buttonを無効にする
  5114.                         \$('.add-cart').prop('disabled', true);
  5115.                     }
  5116.                 }).done(function(data) {
  5117.                     // レスポンス内のメッセージをalertで表示
  5118.                     \$.each(data.messages, function() {
  5119.                         \$('#ec-modal-header').text(this);
  5120.                     });
  5121.                     \$('.ec-modal').show()
  5122.                     // カートブロックを更新する
  5123.                     \$.ajax({
  5124.                         url: \"{{ url('block_cart') }}\",
  5125.                         type: 'GET',
  5126.                         dataType: 'html'
  5127.                     }).done(function(html) {
  5128.                         \$('.ec-headerRole__cart').html(html);
  5129.                     });
  5130.                 }).fail(function(data) {
  5131.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  5132.                 }).always(function(data) {
  5133.                     // Buttonを有効にする
  5134.                     \$('.add-cart').prop('disabled', false);
  5135.                 });
  5136.             });
  5137.         });
  5138.         \$('.ec-modal-wrap').on('click', function(e) {
  5139.             // モーダル内の処理は外側にバブリングさせない
  5140.             e.stopPropagation();
  5141.         });
  5142.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  5143.             \$('.ec-modal').hide()
  5144.         });
  5145. \t\tvar pw = \"{% if mitsumori_json %}{{ mitsumori_json.pw }}{% endif %}\";
  5146. \t\tvar pd = \"{% if mitsumori_json %}{{ mitsumori_json.pd }}{% endif %}\";
  5147. \t\tvar ph = \"{% if mitsumori_json %}{{ mitsumori_json.ph }}{% endif %}\";
  5148. \t\tvar pm = \"{% if mitsumori_json %}{{ mitsumori_json.pm }}{% endif %}\";
  5149. \t\tvar pc = \"{% if mitsumori_json %}{{ mitsumori_json.pc }}{% endif %}\";
  5150. \t\tvar op0 = \"{% if mitsumori_json %}{{ mitsumori_json.op[0] }}{% endif %}\";
  5151. \t\tvar op1 = \"{% if mitsumori_json %}{{ mitsumori_json.op[1] }}{% endif %}\";
  5152. \t\tvar op2 = \"{% if mitsumori_json %}{{ mitsumori_json.op[2] }}{% endif %}\";
  5153. \t\tvar op3 = \"{% if mitsumori_json %}{{ mitsumori_json.op[3] }}{% endif %}\";
  5154. \t\tvar op4 = \"{% if mitsumori_json %}{{ mitsumori_json.op[4] }}{% endif %}\";
  5155. \t\tvar op5 = \"{% if mitsumori_json %}{{ mitsumori_json.op[5] }}{% endif %}\";
  5156. \t\tvar op6 = \"{% if mitsumori_json %}{{ mitsumori_json.op[6] }}{% endif %}\";
  5157. \t\tvar op7 = \"{% if mitsumori_json %}{{ mitsumori_json.op[7] }}{% endif %}\";
  5158. \t\tvar op8 = \"{% if mitsumori_json %}{{ mitsumori_json.op[8] }}{% endif %}\";
  5159. \t\tvar op9 = \"{% if mitsumori_json %}{{ mitsumori_json.op[9] }}{% endif %}\";
  5160. \t\tvar op10 = \"{% if mitsumori_json %}{{ mitsumori_json.op[10] }}{% endif %}\";
  5161. \t\tconst formatter = new Intl.NumberFormat('ja-JP');
  5162. \t\tfunction mitsumori_simulation(type , value_id){
  5163. \t\t\tvar pp = {{ pp|raw }};
  5164. \t\t\tif(type == \"pw\"){
  5165. \t\t\t\tpw = \$('#'+value_id).val();
  5166. \t\t\t}
  5167. \t\t\tif(type == \"pd\"){
  5168. \t\t\t\tpd = \$('#'+value_id).val();
  5169. \t\t\t}
  5170. \t\t\tif(type == \"ph\"){
  5171. \t\t\t\tph = \$('#'+value_id).val();
  5172. \t\t\t}
  5173. \t\t\tif(type == \"pm\"){
  5174. \t\t\t\tpm = \$('#'+value_id).val();
  5175. \t\t\t}
  5176. \t\t\tif(type == \"pc\"){
  5177. \t\t\t\tpc = \$('#'+value_id).val();
  5178. \t\t\t}
  5179. \t\t\tif(type == \"op0\"){ op0 = \$('#'+value_id).val(); }
  5180. \t\t\tif(type == \"op1\"){ op1 = \$('#'+value_id).val(); }
  5181. \t\t\tif(type == \"op2\"){ op2 = \$('#'+value_id).val(); }
  5182. \t\t\tif(type == \"op3\"){ op3 = \$('#'+value_id).val(); }
  5183. \t\t\tif(type == \"op4\"){ op4 = \$('#'+value_id).val(); }
  5184. \t\t\tif(type == \"op5\"){ op5 = \$('#'+value_id).val(); }
  5185. \t\t\tif(type == \"op6\"){ op6 = \$('#'+value_id).val(); }
  5186. \t\t\tif(type == \"op7\"){ op7 = \$('#'+value_id).val(); }
  5187. \t\t\tif(type == \"op8\"){ op8 = \$('#'+value_id).val(); }
  5188. \t\t\tif(type == \"op9\"){ op9 = \$('#'+value_id).val(); }
  5189. \t\t\tif(type == \"op10\"){ op10 = \$('#'+value_id).val(); }
  5190. \t\t\t// op系: ボタンの is-selected を選択中のものに付け替え + radio チェック
  5191. \t\t\tif(/^op\\d+\$/.test(type)) {
  5192. \t\t\t\tvar \$clicked = \$('#' + value_id);
  5193. \t\t\t\t\$clicked.prop('checked', true);
  5194. \t\t\t\tvar groupName = \$clicked.attr('name');
  5195. \t\t\t\t\$('input[name=\"' + groupName + '\"]').closest('.opt-btn').removeClass('is-selected');
  5196. \t\t\t\t\$clicked.closest('.opt-btn').addClass('is-selected');
  5197. \t\t\t\t// ラベルの選択値テキスト更新
  5198. \t\t\t\tvar \$group = \$clicked.closest('.form-group');
  5199. \t\t\t\tvar \$label = \$group.find('.rp-section-label');
  5200. \t\t\t\tif (\$label.length) {
  5201. \t\t\t\t\tvar labelText = \$label.text().split(':')[0].trim();
  5202. \t\t\t\t\t\$label.html(labelText + ': <span>' + \$clicked.val() + '</span>');
  5203. \t\t\t\t}
  5204. \t\t\t}
  5205. \t\t\tif(pm == \"\"){
  5206. \t\t\t\t\$('#mitsumori_message').text(\"素材を選択してください\");
  5207. \t\t\t}
  5208. \t\t\tif(ph == \"\"){
  5209. \t\t\t\t\$('#mitsumori_message').text(\"高さを選択してください\");
  5210. \t\t\t}
  5211. \t\t\tif(pd == \"\"){
  5212. \t\t\t\t\$('#mitsumori_message').text(\"奥行きを選択してください\");
  5213. \t\t\t}
  5214. \t\t\tif(pw == \"\"){
  5215. \t\t\t\t\$('#mitsumori_message').text(\"幅を選択してください\");
  5216. \t\t\t}
  5217. \t\t\tif(pc == \"\"){
  5218. \t\t\t\t\$('#mitsumori_message').text(\"カラーを選択してください\");
  5219. \t\t\t\t\$('#mitsumori_btn').hide();
  5220. \t\t\t\t\$('#mitsumori_goukei').text(\"---円\");
  5221. \t\t\t\t\$('#mitsumori_off').text(\"---円\");
  5222. \t\t\t\t\$('#mitsumori_price').text(\"---円\");
  5223. \t\t\t\t\$('#maker_price').text(\"---円\");
  5224. \t\t\t\t\$('#mitsumori_ct').text(\"---円\");
  5225. \t\t\t\t\$('#mitsumori_option').text(\"---円\");
  5226. \t\t\t}
  5227. \t\t\tif(pw != \"\" && pd != \"\" && ph != \"\" && pm != \"\" && pc != \"\"){
  5228. \t\t\t\t\$('#mitsumori_btn').show();
  5229. \t\t\t\tvar pp_matched = false;
  5230. \t\t\t\tpp.forEach((el) => {
  5231. \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 == \"指定なし\")){
  5232. \t\t\t\t\tpp_matched = true;
  5233. \t\t\t\t\tif(op0 == \"商品購入のみ\" || op1 == \"商品購入のみ\" || op2 == \"商品購入のみ\" || op3 == \"商品購入のみ\" || op4 == \"商品購入のみ\"
  5234. \t\t\t\t\t\t|| op5 == \"商品購入のみ\" || op6 == \"商品購入のみ\" || op7 == \"商品購入のみ\" || op8 == \"商品購入のみ\" || op9 == \"商品購入のみ\"){
  5235. \t\t\t\t\t  \t\$('#mitsumori_message').text(formatter.format(parseInt(el.price)) + \"円\");
  5236. \t\t\t\t\t  \t\$('#mitsumori_goukei').text(formatter.format(parseInt(el.price)) + \"円\");
  5237. \t\t\t\t\t  \t\$('#mitsumori_off').text(formatter.format(parseInt(el.price) - parseInt(el.maker_price)) + \"円\");
  5238. \t\t\t\t\t  \t\$('#mitsumori_price').text(formatter.format(parseInt(el.price)) + \"円\");
  5239. \t\t\t\t\t  \t\$('#maker_price').text(formatter.format(parseInt(el.maker_price)) + \"円\");
  5240. \t\t\t\t\t  \t\$('#mitsumori_ct').text(\"0円\");
  5241. \t\t\t\t\t  \t\$('#mitsumori_option').text(\"0円\");
  5242. \t\t\t\t\t  \t\$('#mitsumori_kei').text(formatter.format(parseInt(el.price)) + \"円\");
  5243. \t\t\t\t\t  \t\$('#mitsumori_price_01').text(formatter.format(parseInt(el.price)) + \"円\");
  5244. \t\t\t\t\t  \t\$('#mitsumori_price_02').text(formatter.format(parseInt(el.price)) + \"円\");
  5245. \t\t\t\t\t  \t\$('#mitsumori_ct_01').text(\"0円\");
  5246. \t\t\t\t\t  \t\$('#mitsumori_ct_02').text(\"0円\");
  5247. \t\t\t\t\t  \t\$('#mitsumori_goukei_02').text(formatter.format(parseInt(el.price)) + \"円\");
  5248. \t\t\t\t\t\tmitsumori_goukei = (parseInt(el.price));
  5249. \t\t\t\t\t\tshoukei = mitsumori_goukei / 1.1;
  5250. \t\t\t\t\t\ttax = parseInt(mitsumori_goukei - shoukei);
  5251. \t\t\t\t\t  \t\$('#mitsumori_shoukei').text(formatter.format(parseInt(shoukei)) + \"円\");
  5252. \t\t\t\t\t  \t\$('#mitsumori_tax').text(formatter.format(parseInt(tax)) + \"円\");
  5253. \t\t\t\t\t}else{
  5254. \t\t\t\t\t  \t\$('#mitsumori_message').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  5255. \t\t\t\t\t  \t\$('#mitsumori_goukei').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  5256. \t\t\t\t\t  \t\$('#mitsumori_off').text(formatter.format(parseInt(el.price) - parseInt(el.maker_price)) + \"円\");
  5257. \t\t\t\t\t  \t\$('#mitsumori_price').text(formatter.format(parseInt(el.price)) + \"円\");
  5258. \t\t\t\t\t  \t\$('#maker_price').text(formatter.format(parseInt(el.maker_price)) + \"円\");
  5259. \t\t\t\t\t  \t\$('#mitsumori_ct').text(formatter.format(parseInt(el.ct)) + \"円\");
  5260. \t\t\t\t\t  \t\$('#mitsumori_option').text(\"0円\");
  5261. \t\t\t\t\t  \t\$('#mitsumori_kei').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  5262. \t\t\t\t\t  \t\$('#mitsumori_price_01').text(formatter.format(parseInt(el.price)) + \"円\");
  5263. \t\t\t\t\t  \t\$('#mitsumori_price_02').text(formatter.format(parseInt(el.price)) + \"円\");
  5264. \t\t\t\t\t  \t\$('#mitsumori_ct_01').text(formatter.format(parseInt(el.ct)) + \"円\");
  5265. \t\t\t\t\t  \t\$('#mitsumori_ct_02').text(formatter.format(parseInt(el.ct)) + \"円\");
  5266. \t\t\t\t\t  \t\$('#mitsumori_goukei_02').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
  5267. \t\t\t\t\t\tmitsumori_goukei = (parseInt(el.price) + parseInt(el.ct));
  5268. \t\t\t\t\t\tshoukei = mitsumori_goukei / 1.1;
  5269. \t\t\t\t\t\ttax = parseInt(mitsumori_goukei - shoukei);
  5270. \t\t\t\t\t  \t\$('#mitsumori_shoukei').text(formatter.format(parseInt(shoukei)) + \"円\");
  5271. \t\t\t\t\t  \t\$('#mitsumori_tax').text(formatter.format(parseInt(tax)) + \"円\");
  5272. \t\t\t\t\t}
  5273. \t\t\t\t  }
  5274. \t\t\t\t});
  5275. \t\t\t\tif (!pp_matched) {
  5276. \t\t\t\t\t\$('#mitsumori_message').text(\"この組み合わせは対応しておりません\");
  5277. \t\t\t\t\t\$('#mitsumori_btn').hide();
  5278. \t\t\t\t\t\$('#mitsumori_goukei').text(\"---円\");
  5279. \t\t\t\t\t\$('#mitsumori_off').text(\"---円\");
  5280. \t\t\t\t\t\$('#mitsumori_price').text(\"---円\");
  5281. \t\t\t\t\t\$('#maker_price').text(\"---円\");
  5282. \t\t\t\t\t\$('#mitsumori_ct').text(\"---円\");
  5283. \t\t\t\t\t\$('#mitsumori_option').text(\"---円\");
  5284. \t\t\t\t\t\$('#mitsumori_kei').text(\"---円\");
  5285. \t\t\t\t\t\$('#mitsumori_shoukei').text(\"---円\");
  5286. \t\t\t\t\t\$('#mitsumori_tax').text(\"---円\");
  5287. \t\t\t\t}\t
  5288. \t\t\t\t// タイプ5: ステップ・フェンス・面積の現在値を取得
  5289. \t\t\t\tif(\$('input[name=deck_step]:checked').length){ deck_step = \$('input[name=deck_step]:checked').val(); }
  5290. \t\t\t\tif(\$('input[name=deck_fence]:checked').length){ deck_fence = \$('input[name=deck_fence]:checked').val(); }
  5291. \t\t\t\t// タイプ2: 窓サイズ・窓タイプ・ガラスタイプ・セット数
  5292. \t\t\t\tvar mado_w_val     = \$('#mado_w').val()     || '';
  5293. \t\t\t\tvar mado_h_val     = \$('#mado_h').val()     || '';
  5294. \t\t\t\tvar mado_type_val  = \$('input[name=mado_type]:checked').val()  || '';
  5295. \t\t\t\tvar glass_type_val = \$('input[name=glass_type]:checked').val() || '';
  5296. \t\t\t\tvar set_count_val  = parseInt(\$('#set_count').val()) || 1;
  5297. \t\t\t\t// タイプ3: 台数
  5298. \t\t\t\tvar daisu_val = parseInt(\$('#daisu').val()) || 1;
  5299. \t\t\t\t// タイプ4・6: 枚数
  5300. \t\t\t\tvar maisu_val = parseInt(\$('#maisu').val()) || 1;
  5301. \t\t\t\t// タイプ5: 面積
  5302. \t\t\t\tvar area_val = \$('#area').val() || '';
  5303. \t\t\t\t// sale_type
  5304. \t\t\t\tvar sale_type_id = {{ ProductClass.SaleType.id }};
  5305. \t\t\t\tvar mitsumori_json = { \"mitsumori_goukei\": \$('#mitsumori_goukei').text(),
  5306. \t\t\t\t\t\t\t\t\t\t\"mitsumori_goukei_02\": \$('#mitsumori_goukei_02').text(),
  5307. \t\t\t\t\t\t\t\t\t\t\"mitsumori_price\": \$('#mitsumori_price').text(),
  5308. \t\t\t\t\t\t\t\t\t\t\"maker_price\": \$('#maker_price').text(),
  5309. \t\t\t\t\t\t\t\t\t\t\"mitsumori_off\": \$('#mitsumori_off').text(),
  5310. \t\t\t\t\t\t\t\t\t\t\"mitsumori_ct\": \$('#mitsumori_ct').text(),
  5311. \t\t\t\t\t\t\t\t\t\t\"mitsumori_option\": \$('#mitsumori_option').text(),
  5312. \t\t\t\t\t\t\t\t\t\t\"product_id\": {{ Product.id }},
  5313. \t\t\t\t\t\t\t\t\t\t\"sale_type\": sale_type_id,
  5314. \t\t\t\t\t\t\t\t\t\t\"pw\": pw,
  5315. \t\t\t\t\t\t\t\t\t\t\"pd\": pd,
  5316. \t\t\t\t\t\t\t\t\t\t\"ph\": ph,
  5317. \t\t\t\t\t\t\t\t\t\t\"pm\": pm,
  5318. \t\t\t\t\t\t\t\t\t\t\"pc\": pc,
  5319. \t\t\t\t\t\t\t\t\t\t\"op\": [op0,op1,op2,op3,op4,op5,op6,op7,op8,op9,op10],
  5320. \t\t\t\t\t\t\t\t\t\t\"mado_w\":     mado_w_val,
  5321. \t\t\t\t\t\t\t\t\t\t\"mado_h\":     mado_h_val,
  5322. \t\t\t\t\t\t\t\t\t\t\"mado_type\":  mado_type_val,
  5323. \t\t\t\t\t\t\t\t\t\t\"glass_type\": glass_type_val,
  5324. \t\t\t\t\t\t\t\t\t\t\"set_count\":  set_count_val,
  5325. \t\t\t\t\t\t\t\t\t\t\"daisu\":      daisu_val,
  5326. \t\t\t\t\t\t\t\t\t\t\"maisu\":      maisu_val,
  5327. \t\t\t\t\t\t\t\t\t\t\"area\":       area_val,
  5328. \t\t\t\t\t\t\t\t\t\t\"deck_step\":  deck_step,
  5329. \t\t\t\t\t\t\t\t\t\t\"deck_fence\": deck_fence };
  5330. \t\t\t\t\$('#mitsumori_json').val(JSON.stringify(mitsumori_json));
  5331. \t\t\t\t
  5332. \t\t\t}
  5333. \t\t\t
  5334. \t\t}
  5335.         {% if color and color|length == 1 %}
  5336.             pc = \"指定なし\";
  5337. \t\t\t{% for cc in color %}{% if cc and cc['name'] %} pc = \"{{ cc['name'] }}\"; {% endif %}{% endfor %}
  5338. \t\t{% endif %}
  5339.         {% if p_w and (p_w|length == 1 or p_w|join == \"\") %}
  5340.             pw = \"指定なし\";
  5341. \t\t\t{% for pw in p_w %}{% if pw %} pw = \"{{ pw }}\"; {% endif %}{% endfor %}
  5342. \t\t{% endif %}
  5343.         {% if p_d and (p_d|length == 1 or p_d|join == \"\") %}
  5344.             pd = \"指定なし\";
  5345. \t\t\t{% for pd in p_d %}{% if pd %} pd = \"{{ pd }}\"; {% endif %}{% endfor %}
  5346. \t\t{% endif %}
  5347.         {% if p_h and (p_h|length == 1 or p_h|join == \"\") %}
  5348.             ph = \"指定なし\";
  5349. \t\t\t{% for ph in p_h %}{% if ph %} ph = \"{{ ph }}\"; {% endif %}{% endfor %}
  5350. \t\t{% endif %}
  5351.         {% if p_m and (p_m|length == 1 or p_m|join == \"\") %}
  5352.             pm = \"指定なし\";
  5353. \t\t\t{% for pm in p_m %}{% if pm %} pm = \"{{ pm }}\"; {% endif %}{% endfor %}
  5354. \t\t{% endif %}
  5355. \t\t// ページ読み込み時: タイプ別に quantity の初期値をセット
  5356. \t\t(function initQuantityByType(){
  5357. \t\t\tvar saleType = {{ ProductClass.SaleType.id }};
  5358. \t\t\tif(saleType == 2 && \$('#set_count').length){
  5359. \t\t\t\tvar _v = parseInt(\$('#set_count').val()) || 1;
  5360. \t\t\t\t\$('#quantity').val(_v);
  5361. \t\t\t\t\$('input[name=\"quantity\"]').val(_v);
  5362. \t\t\t} else if(saleType == 3 && \$('#daisu').length){
  5363. \t\t\t\t\$('#quantity').val(parseInt(\$('#daisu').val()) || 1);
  5364. \t\t\t} else if((saleType == 4 || saleType == 6) && \$('#maisu').length){
  5365. \t\t\t\t\$('#quantity').val(parseInt(\$('#maisu').val()) || 1);
  5366. \t\t\t} else if(saleType == 9 && \$('#quantity_only').length){
  5367. \t\t\t\t\$('#quantity').val(parseInt(\$('#quantity_only').val()) || 1);
  5368. \t\t\t}
  5369. \t\t})();
  5370. \t\t// type → ラベルのプレフィックス文字列
  5371. \t\tvar optLabelMap = {pc:'カラー', pw:'幅', pd:'奥行き', ph:'高さ', pm:'素材'};
  5372. \t\t// type → input[name]
  5373. \t\tvar optNameMap  = {pc:'color', pw:'pw', pd:'pd', ph:'ph', pm:'pm'};
  5374. \t\t// opt-btn用: 値を直接受け取るラッパー
  5375. \t\tfunction mitsumori_simulation_val(type, value) {
  5376. \t\t\tif (type === 'pc') pc = value;
  5377. \t\t\tif (type === 'pw') pw = value;
  5378. \t\t\tif (type === 'pd') pd = value;
  5379. \t\t\tif (type === 'ph') ph = value;
  5380. \t\t\tif (type === 'pm') pm = value;
  5381. \t\t\t// is-selected クラスを同グループ内で付け替え
  5382. \t\t\tvar inputName = optNameMap[type];
  5383. \t\t\tif (inputName) {
  5384. \t\t\t\tvar \$btns = \$('input[name=\"' + inputName + '\"]').closest('.opt-btn');
  5385. \t\t\t\t\$btns.removeClass('is-selected');
  5386. \t\t\t\t\$btns.filter(function(){
  5387. \t\t\t\t\treturn \$(this).find('input').val() === value;
  5388. \t\t\t\t}).addClass('is-selected');
  5389. \t\t\t}
  5390. \t\t\t// ラベル行の選択値テキストを更新(例: 「カラー: ブラック」)
  5391. \t\t\tvar labelPrefix = optLabelMap[type];
  5392. \t\t\tif (labelPrefix) {
  5393. \t\t\t\t// 対象のrp-section-labelを特定(input[name]を含む親を遡る)
  5394. \t\t\t\tvar \$group = \$('input[name=\"' + inputName + '\"]').first().closest('.form-group');
  5395. \t\t\t\tvar \$label = \$group.find('.rp-section-label');
  5396. \t\t\t\t\$label.html(labelPrefix + ': <span>' + value + '</span>');
  5397. \t\t\t}
  5398. \t\t\t// simulation本体を呼ぶ(value_idは空でOK、グローバル変数を使う)
  5399. \t\t\tmitsumori_simulation('', '');
  5400. \t\t}
  5401. \t\tmitsumori_simulation(\"\",\"\");
  5402. \t\t// ボタン群: 親幅を超える、または3行以上になる場合は is-scroll で1行横スクロール化
  5403. \t\tfunction applyBtnGroupScroll() {
  5404. \t\t\t\$('.rp-btn-group, .opt-btn-group').each(function() {
  5405. \t\t\t\tvar \$group = \$(this);
  5406. \t\t\t\t\$group.removeClass('is-scroll');
  5407. \t\t\t\tvar \$items = \$group.children();
  5408. \t\t\t\tif (\$items.length === 0) return;
  5409. \t\t\t\tvar parentWidth = \$group.parent().width() || \$group.width();
  5410. \t\t\t\tvar totalWidth = 0;
  5411. \t\t\t\tvar gap = parseInt(\$group.css('gap'), 10) || 8;
  5412. \t\t\t\t\$items.each(function() {
  5413. \t\t\t\t\ttotalWidth += this.offsetWidth + gap;
  5414. \t\t\t\t});
  5415. \t\t\t\t// 単一ボタンが親幅を超える、もしくは合計幅が親幅を超える → 横スクロール化
  5416. \t\t\t\tvar anyTooWide = false;
  5417. \t\t\t\t\$items.each(function() {
  5418. \t\t\t\t\tif (this.offsetWidth > parentWidth) { anyTooWide = true; return false; }
  5419. \t\t\t\t});
  5420. \t\t\t\t// 折り返し時の行数も計測
  5421. \t\t\t\tvar tops = {};
  5422. \t\t\t\t\$items.each(function() { tops[this.offsetTop] = true; });
  5423. \t\t\t\tvar rowCount = Object.keys(tops).length;
  5424. \t\t\t\tif (anyTooWide || totalWidth > parentWidth * 2 || rowCount >= 3) {
  5425. \t\t\t\t\t\$group.addClass('is-scroll');
  5426. \t\t\t\t}
  5427. \t\t\t});
  5428. \t\t}
  5429. \t\tapplyBtnGroupScroll();
  5430. \t\t\$(window).on('resize', function() {
  5431. \t\t\tclearTimeout(window._btnScrollTimer);
  5432. \t\t\twindow._btnScrollTimer = setTimeout(applyBtnGroupScroll, 150);
  5433. \t\t});
  5434. \t\t// onload: 見積金額が確定している場合は「工事費込み価格」表示を一致させる
  5435. \t\t(function syncPrice02Display() {
  5436. \t\t\tvar goukeiEl = document.getElementById('mitsumori_goukei');
  5437. \t\t\tvar displayEl = document.getElementById('price02-display');
  5438. \t\t\tif (!goukeiEl || !displayEl) return;
  5439. \t\t\tvar goukeiText = goukeiEl.textContent.trim();
  5440. \t\t\t// ---円(未確定)の場合は書き換えない
  5441. \t\t\tif (goukeiText && goukeiText !== '---円') {
  5442. \t\t\t\tdisplayEl.textContent = goukeiText;
  5443. \t\t\t}
  5444. \t\t\t// 以降の変更にも追従: mitsumori_goukei を監視
  5445. \t\t\tnew MutationObserver(function() {
  5446. \t\t\t\tvar text = goukeiEl.textContent.trim();
  5447. \t\t\t\tif (text && text !== '---円') {
  5448. \t\t\t\t\tdisplayEl.textContent = text;
  5449. \t\t\t\t}
  5450. \t\t\t}).observe(goukeiEl, { childList: true, subtree: true, characterData: true });
  5451. \t\t})();
  5452. \t\tfunction contact_form(product_id){
  5453. \t\t\t\$('#form1').attr('action', '{{ url('contact', {product:Product.id}) }}');
  5454. \t\t\t\$('#form1').submit();
  5455. \t\t}
  5456. \t\t// maisu / madoset は下部の新しい関数定義を使用
  5457. \t\tfunction heibei(bei){
  5458. \t\t\t\$('#heibei').val(parseInt(\$('#heibei').val()) + bei);
  5459. \t\t\tif(parseInt(\$('#heibei').val()) < 1){ \$('#heibei').val(1); }
  5460. \t\t\tif(parseInt(\$('#heibei').val()) > 100){ \$('#heibei').val(100); }
  5461. \t\t\t\$('#quantity').val(\$('#heibei').val());
  5462. \t\t\tmitsumori_simulation('heibei','heibei');
  5463. \t\t}
  5464. \t\tfunction daisu(dai){
  5465. \t\t\t\$('#daisu').val(parseInt(\$('#daisu').val()) + dai);
  5466. \t\t\tif(parseInt(\$('#daisu').val()) < 1){ \$('#daisu').val(1); }
  5467. \t\t\tif(parseInt(\$('#daisu').val()) > 10){ \$('#daisu').val(10); }
  5468. \t\t\t\$('#quantity').val(\$('#daisu').val());
  5469. \t\t\tmitsumori_simulation('daisu','daisu');
  5470. \t\t}
  5471. \t\tfunction maisu(mai){
  5472. \t\t\t\$('#maisu').val(parseInt(\$('#maisu').val()) + mai);
  5473. \t\t\tif(parseInt(\$('#maisu').val()) < 1){ \$('#maisu').val(1); }
  5474. \t\t\tif(parseInt(\$('#maisu').val()) > 100){ \$('#maisu').val(100); }
  5475. \t\t\t\$('#quantity').val(\$('#maisu').val());
  5476. \t\t\tmitsumori_simulation('maisu','maisu');
  5477. \t\t}
  5478. \t\t// タイプ2: セット数プルダウン連動
  5479. \t\tfunction madosetSelect(val){
  5480. \t\t\tvar v = parseInt(val);
  5481. \t\t\tif(v < 1) v = 1;
  5482. \t\t\tif(v > 20) v = 20;
  5483. \t\t\t// id=\"quantity\" と name=\"quantity\" 両方を確実に書き換え
  5484. \t\t\t\$('#quantity').val(v);
  5485. \t\t\t\$('input[name=\"quantity\"]').val(v);
  5486. \t\t\tmitsumori_simulation('set','set_count');
  5487. \t\t}
  5488. \t\t// タイプ2: ±ボタン版(後方互換)
  5489. \t\tfunction madoset(mai){
  5490. \t\t\tvar current = parseInt(\$('#set_count').val()) || 1;
  5491. \t\t\tvar next = current + mai;
  5492. \t\t\tif(next < 1) next = 1;
  5493. \t\t\tif(next > 20) next = 20;
  5494. \t\t\t\$('#set_count').val(next);
  5495. \t\t\tmadosetSelect(next);
  5496. \t\t}
  5497. \t\t// タイプ5: ステップ・フェンス選択値を mitsumori_json に保存するためのグローバル変数
  5498. \t\tvar deck_step = \"{% if mitsumori_json %}{{ mitsumori_json.deck_step|default('不要') }}{% else %}不要{% endif %}\";
  5499. \t\tvar deck_fence = \"{% if mitsumori_json %}{{ mitsumori_json.deck_fence|default('不要') }}{% else %}不要{% endif %}\";
  5500. \t\t// PDF出力: モーダルの mitsumori_json をフォームに同期してから送信
  5501. \t\tfunction syncPdfJson(){
  5502. \t\t\tvar jsonVal = \$('#mitsumori_json').val();
  5503. \t\t\t\$('#pdf_mitsumori_json').val(jsonVal);
  5504. \t\t}
  5505. \t\t// タイプ9: 商品のみ購入
  5506. \t\tfunction quantityOnly(val){
  5507. \t\t\tvar current = parseInt(\$('#quantity_only').val()) || 1;
  5508. \t\t\tvar next = current + val;
  5509. \t\t\tif(next < 1) next = 1;
  5510. \t\t\t\$('#quantity_only').val(next);
  5511. \t\t\t\$('#quantity').val(next);
  5512. \t\t}
  5513.         // ===== スマホ用下部固定バーへの金額同期 =====
  5514.         // mitsumori_message と mitsumori_goukei を監視して下部バーを更新
  5515.         (function() {
  5516.             var msgTarget   = document.getElementById('mitsumori_message');
  5517.             var goukeiTarget = document.getElementById('mitsumori_goukei');
  5518.             var spPrice     = document.getElementById('sp-mitsumori-price');
  5519.             var spBtn       = document.querySelector('#sp-mitsumori-bar .sp-bar__btn');
  5520.             if (!spPrice || !spBtn) return;
  5521.             function syncBar() {
  5522.                 var msg    = msgTarget ? msgTarget.textContent : '';
  5523.                 var goukei = goukeiTarget ? goukeiTarget.textContent : '---円';
  5524.                 // メッセージが「〇〇を選択してください」の場合はメッセージを表示しボタンを非表示
  5525.                 if (msg.indexOf('選択してください') !== -1) {
  5526.                     spPrice.textContent = msg;
  5527.                     spPrice.style.fontSize = '13px';
  5528.                     spPrice.style.color    = '#888';
  5529.                     spBtn.style.display    = 'none';
  5530.                 } else {
  5531.                     // 価格確定時はボタンを表示
  5532.                     spPrice.textContent = goukei;
  5533.                     spPrice.style.fontSize = '18px';
  5534.                     spPrice.style.color    = '#c00';
  5535.                     spBtn.style.display    = 'block';
  5536.                 }
  5537.             }
  5538.             // 初期値を同期
  5539.             syncBar();
  5540.             // mitsumori_message の変化を監視
  5541.             if (msgTarget) {
  5542.                 new MutationObserver(syncBar).observe(
  5543.                     msgTarget, { childList: true, subtree: true, characterData: true }
  5544.                 );
  5545.             }
  5546.             // mitsumori_goukei の変化も監視
  5547.             if (goukeiTarget) {
  5548.                 new MutationObserver(syncBar).observe(
  5549.                     goukeiTarget, { childList: true, subtree: true, characterData: true }
  5550.                 );
  5551.             }
  5552.         })();
  5553.         // ===== 現在のお見積り額: 折りたたみトグルボタンのテキスト切り替え =====
  5554.         (function() {
  5555.             var card = document.querySelector('.mitsumori-card-pc');
  5556.             var btn  = document.querySelector('.btn-mitsumori-toggle .toggle-icon');
  5557.             if (!card || !btn) return;
  5558.             // MutationObserverでcollapsed-cardクラスの変化を監視
  5559.             new MutationObserver(function() {
  5560.                 if (card.classList.contains('collapsed-card')) {
  5561.                     btn.textContent = '▼ 詳細';
  5562.                 } else {
  5563.                     btn.textContent = '▲ 閉じる';
  5564.                 }
  5565.             }).observe(card, { attributes: true, attributeFilter: ['class'] });
  5566.         })();
  5567.         // ===== エリア案内: スマホのみタップで展開 =====
  5568.         (function() {
  5569.             var notice = document.querySelector('.ec-areaNotice');
  5570.             if (!notice) return;
  5571.             notice.addEventListener('click', function(e) {
  5572.                 if (window.innerWidth > 767) return;
  5573.                 // リンククリック時は展開/折りたたみせずリンク遷移
  5574.                 if (e.target.tagName === 'A') return;
  5575.                 notice.classList.toggle('is-open');
  5576.             });
  5577.         })();
  5578.     </script>
  5579.     <script type=\"application/ld+json\">
  5580.     {
  5581.         \"@context\": \"https://schema.org/\",
  5582.         \"@type\": \"Product\",
  5583.         \"name\": \"{{ Product.name }}\",
  5584.         \"image\": [
  5585.             {% for img in Product.ProductImage %}
  5586.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
  5587.             {% else %}
  5588.                 \"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
  5589.             {% endfor %}
  5590.         ],
  5591.         \"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
  5592.         {% if Product.code_min %}
  5593.         \"sku\": \"{{ Product.code_min }}\",
  5594.         {% endif %}
  5595.         \"offers\": {
  5596.             \"@type\": \"Offer\",
  5597.             \"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
  5598.             \"priceCurrency\": \"{{ eccube_config.currency }}\",
  5599.             \"price\": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
  5600.             \"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
  5601.         }
  5602.     }
  5603.     </script>
  5604. {% endblock %}
  5605. {% block main %}
  5606.     <div class=\"ec-productRole\" style=\"margin-top:20px;\">
  5607.         <div class=\"ec-grid2\">
  5608.             <div class=\"ec-grid2__cell\">
  5609.                 <div class=\"ec-sliderItemRole\">
  5610. \t                {# 商品名 + ブランド名 + SNSシェア #}
  5611. \t                <div class=\"ec-productRole__title\">
  5612. \t                    <div class=\"ec-productRole__titleRow\">
  5613. \t                        <h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
  5614. \t                        <div class=\"ec-share-inline\">
  5615. \t                            <a href=\"https://twitter.com/share?url={{ app.request.uri|url_encode }}&text={{ Product.name|url_encode }}\"
  5616. \t                               class=\"share-twitter\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Xでシェア\">
  5617. \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>
  5618. \t                            </a>
  5619. \t                            <a href=\"https://www.instagram.com/\" class=\"share-facebook\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Instagram\">
  5620. \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>
  5621. \t                            </a>
  5622. \t                            <a href=\"https://social-plugins.line.me/lineit/share?url={{ app.request.uri|url_encode }}\"
  5623. \t                               class=\"share-line\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"LINEでシェア\">
  5624. \t                                <i class=\"fab fa-line\"></i>
  5625. \t                            </a>
  5626. \t                        </div>
  5627. \t                    </div>
  5628. \t                </div>
  5629.                     {% if BaseInfo.option_favorite_product %}
  5630.                      <div style=\"position:relative;top: 20px;left: 10px;z-index:100;\">
  5631. \t\t\t\t\t\t{% if is_favorite == false %}
  5632.                         <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  5633.                            <button type=\"submit\" id=\"favorite\" class=\"favorite\">&#9825;</button>
  5634.                         </form>
  5635.                         {% else %}
  5636.                         <form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
  5637.                            <button type=\"submit\" id=\"favorite\" class=\"favorite\" style=\"color:red;\">&#9829;</button>
  5638.                         </form>
  5639.                         {% endif %}
  5640.                      </div>
  5641.                     {% endif %}
  5642.                     <div class=\"item_visual\">
  5643.                         {% for ProductImage in Product.ProductImage %}
  5644.                             <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>
  5645.                         {% else %}
  5646.                             <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>
  5647.                         {% endfor %}
  5648.                     </div>
  5649.                     <div class=\"item_nav\">
  5650.                         {% for ProductImage in Product.ProductImage %}
  5651.                             <div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" width=\"80\" height=\"80\" loading=\"lazy\"></div>
  5652.                         {% endfor %}
  5653.                     </div>
  5654.                 </div>
  5655.                     {# ===== 施工エリア案内(見積シミュレーションの下)===== #}
  5656.                     <div class=\"ec-areaNotice\" style=\"margin-top:16px;margin-right:10px;\">
  5657.                         <div class=\"ec-areaNotice__inner\">
  5658.                             <div class=\"ec-areaNotice__icon\">📍</div>
  5659.                             <div class=\"ec-areaNotice__body\">
  5660.                                 <p class=\"ec-areaNotice__title\">施工対応エリアについて</p>
  5661.                                 <div class=\"ec-areaNotice__detail\">
  5662.                                     <p class=\"ec-areaNotice__text\">
  5663.                                         当店の施工サービスは、<strong>山梨県全域</strong>および<br>
  5664.                                         <strong>諏訪エリア(諏訪市・岡谷市・茅野市・諏訪郡)</strong>を対象としております。<br>
  5665.                                         上記エリア外のお客様には、商品のみのご購入が可能でございます。<br>
  5666.                                         ご不明な点がございましたら、お気軽にお問い合わせください。
  5667.                                     </p>
  5668.                                     <a class=\"ec-areaNotice__link\" href=\"{{ url('contact') }}\">エリア外のお客様・ご相談はこちら →</a>
  5669.                                 </div>
  5670.                             </div>
  5671.                         </div>
  5672.                     </div>
  5673.             </div>
  5674.             <div class=\"ec-grid2__cell2\">
  5675.                 <div class=\"ec-productRole__profile\" >
  5676.                     {# 関連カテゴリ #}
  5677.                     {% if Product.ProductCategories is not empty %}
  5678.                         <div class=\"ec-productRole__category\" style=\"padding:10px 0;\">
  5679.                             {% for ProductCategory in Product.ProductCategories %}
  5680.                                 <ul>
  5681.                                     <li>
  5682.                                         {% for Category in ProductCategory.Category.path %}
  5683.                                             <a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
  5684.                                             <span>></span>{% endif -%}
  5685.                                         {% endfor %}
  5686.                                     </li>
  5687.                                 </ul>
  5688.                             {% endfor %}
  5689.                         </div>
  5690.                     {% endif %}
  5691.                     {# 販売価格 #}
  5692.                     <div class=\"ec-productRole__price\">
  5693. \t\t\t\t\t\t<span style=\"color:black;font-size:15px;\">工事費込み価格</span>
  5694.                         {% if Product.hasProductClass -%}
  5695.                             {% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
  5696.                                 <div class=\"ec-price\">
  5697.                                     <span id=\"price02-display\" class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
  5698.                                     <span class=\"ec-price__tax\">({{ '税込'|trans }})~</span>
  5699.                                 </div>
  5700.                             {% else %}
  5701.                                 <div class=\"ec-price\">
  5702.                                     <span id=\"price02-display\" class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
  5703.                                     <span class=\"ec-price__tax\">({{ '税込'|trans }})</span>
  5704.                                 </div>
  5705.                             {% endif %}
  5706.                         {% else %}
  5707.                             <div class=\"ec-price\">
  5708.                                 <span id=\"price02-display\" class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
  5709.                                     <span class=\"ec-price__tax\">({{ '税込'|trans }})~</span>
  5710.                             </div>
  5711.                         {% endif %}
  5712.                     </div>
  5713.                     {# タグ #}
  5714.                     <ul class=\"ec-productRole__tags\">
  5715.                         {% for Tag in Product.Tags %}
  5716.                             <li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
  5717.                         {% endfor %}
  5718.                     </ul>
  5719.                     {# 商品コード #}
  5720.                     {% if Product.code_min is not empty %}
  5721.                         <div class=\"ec-productRole__code\">
  5722.                             {{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
  5723.                         </div>
  5724.                     {% endif %}
  5725.                     <div class=\"ec-productRole__description\">
  5726. \t\t\t\t        <div class=\"ec-rectHeading\">
  5727. \t\t\t\t            <h4>製品情報</h4>
  5728. \t\t\t\t        </div>
  5729. \t\t\t\t\t\t{{ Product.sales_infomation|raw|nl2br }}
  5730.                     </div>
  5731. \t\t\t\t\t<div class=\"card card-danger\" style=\"clear:both;margin:1px;\">
  5732. \t\t\t\t\t  <div class=\"card-header\">
  5733. \t\t\t\t\t    <h3 class=\"card-title\">見積シミュレーション</h3>
  5734. \t\t\t\t\t  </div>
  5735. \t\t\t\t\t  <div class=\"card-body p-2\">
  5736.                         {% set related_image = getProduct_field(Product.id,\"related_image\") %}
  5737.                         {# related_image は配列: [\"1段目画像あり\",\"2段目画像あり\",\"3段目画像あり\"] のうち該当するものが格納 #}
  5738.                         {% set img1 = related_image and (\"1段目画像あり\" in related_image) %}
  5739.                         {% set img2 = related_image and (\"2段目画像あり\" in related_image) %}
  5740.                         {% set img3 = related_image and (\"3段目画像あり\" in related_image) %}
  5741.                         {% set img4 = related_image and (\"4段目画像あり\" in related_image) %}
  5742. \t\t\t\t\t    {% set type1 = getProduct_field(Product.id,\"related_name1\") %}
  5743. \t\t\t\t\t\t{% set type2 = getProduct_field(Product.id,\"related_name2\") %}
  5744. \t\t\t\t\t\t{% set type3 = getProduct_field(Product.id,\"related_name3\") %}
  5745. \t\t\t\t\t\t{% set type4 = getProduct_field(Product.id,\"related_name4\") %}
  5746. \t\t\t\t\t\t{% set hasRelated = (type1 and related_product1 and related_product1|length)
  5747. \t\t\t\t\t\t                 or (type2 and related_product2 and related_product2|length)
  5748. \t\t\t\t\t\t                 or (type3 and related_product3 and related_product3|length)
  5749. \t\t\t\t\t\t                 or (type4 and related_product4 and related_product4|length) %}
  5750. \t\t\t\t\t\t{% if hasRelated %}
  5751. \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>
  5752. \t\t\t\t\t\t{% endif %}
  5753. \t\t\t\t\t\t{# ===== 1段目 ===== #}
  5754. \t\t\t\t\t\t{% if type1 and related_product1 and related_product1|length %}
  5755. \t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5756. \t\t\t\t\t\t  <div class=\"rp-section-label\">{{ type1 }}{% if img1 and base_select1 %}: <span>{{ base_select1 }}</span>{% endif %}</div>
  5757. \t\t\t\t\t\t  {% if img1 %}
  5758. \t\t\t\t\t\t    {# --- 画像付きカード --- #}
  5759. \t\t\t\t\t\t    <div class=\"rp-card-group\">
  5760. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product1 %}
  5761. \t\t\t\t\t\t        <label class=\"rp-card{% if base_select1 == rp_name %} is-selected{% endif %}\"
  5762. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5763. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp1\" value=\"{{ rp_name }}\"
  5764. \t\t\t\t\t\t                 {% if base_select1 == rp_name %}checked{% endif %}>
  5765. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  5766. \t\t\t\t\t\t               src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
  5767. \t\t\t\t\t\t               alt=\"{{ rp_name }}\"
  5768. \t\t\t\t\t\t               width=\"120\" height=\"120\" loading=\"lazy\"
  5769. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  5770. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  5771. \t\t\t\t\t\t          <span class=\"rp-card__name\">{{ rp_name }}</span>
  5772. \t\t\t\t\t\t        </label>
  5773. \t\t\t\t\t\t      {% endfor %}
  5774. \t\t\t\t\t\t    </div>
  5775. \t\t\t\t\t\t  {% else %}
  5776. \t\t\t\t\t\t    {# --- ボタン式ラジオ --- #}
  5777. \t\t\t\t\t\t    <div class=\"rp-btn-group\">
  5778. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product1 %}
  5779. \t\t\t\t\t\t        <label class=\"rp-btn{% if base_select1 == rp_name %} is-selected{% endif %}\"
  5780. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5781. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp1\" value=\"{{ rp_name }}\"
  5782. \t\t\t\t\t\t                 {% if base_select1 == rp_name %}checked{% endif %}>
  5783. \t\t\t\t\t\t          {{ rp_name }}
  5784. \t\t\t\t\t\t        </label>
  5785. \t\t\t\t\t\t      {% endfor %}
  5786. \t\t\t\t\t\t    </div>
  5787. \t\t\t\t\t\t  {% endif %}
  5788. \t\t\t\t\t\t</div>
  5789. \t\t\t\t\t\t{% endif %}
  5790. \t\t\t\t\t\t{# ===== 2段目 ===== #}
  5791. \t\t\t\t\t\t{% if type2 and related_product2 and related_product2|length %}
  5792. \t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5793. \t\t\t\t\t\t  <div class=\"rp-section-label\">{{ type2 }}{% if img2 and base_select2 %}: <span>{{ base_select2 }}</span>{% endif %}</div>
  5794. \t\t\t\t\t\t  {% if img2 %}
  5795. \t\t\t\t\t\t    <div class=\"rp-card-group\">
  5796. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product2 %}
  5797. \t\t\t\t\t\t        <label class=\"rp-card{% if base_select2 == rp_name %} is-selected{% endif %}\"
  5798. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5799. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp2\" value=\"{{ rp_name }}\"
  5800. \t\t\t\t\t\t                 {% if base_select2 == rp_name %}checked{% endif %}>
  5801. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  5802. \t\t\t\t\t\t               src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
  5803. \t\t\t\t\t\t               alt=\"{{ rp_name }}\"
  5804. \t\t\t\t\t\t               width=\"120\" height=\"120\" loading=\"lazy\"
  5805. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  5806. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  5807. \t\t\t\t\t\t          <span class=\"rp-card__name\">{{ rp_name }}</span>
  5808. \t\t\t\t\t\t        </label>
  5809. \t\t\t\t\t\t      {% endfor %}
  5810. \t\t\t\t\t\t    </div>
  5811. \t\t\t\t\t\t  {% else %}
  5812. \t\t\t\t\t\t    <div class=\"rp-btn-group\">
  5813. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product2 %}
  5814. \t\t\t\t\t\t        <label class=\"rp-btn{% if base_select2 == rp_name %} is-selected{% endif %}\"
  5815. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5816. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp2\" value=\"{{ rp_name }}\"
  5817. \t\t\t\t\t\t                 {% if base_select2 == rp_name %}checked{% endif %}>
  5818. \t\t\t\t\t\t          {{ rp_name }}
  5819. \t\t\t\t\t\t        </label>
  5820. \t\t\t\t\t\t      {% endfor %}
  5821. \t\t\t\t\t\t    </div>
  5822. \t\t\t\t\t\t  {% endif %}
  5823. \t\t\t\t\t\t</div>
  5824. \t\t\t\t\t\t{% endif %}
  5825. \t\t\t\t\t\t{# ===== 3段目 ===== #}
  5826. \t\t\t\t\t\t{% if type3 and related_product3 and related_product3|length %}
  5827. \t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5828. \t\t\t\t\t\t  <div class=\"rp-section-label\">{{ type3 }}{% if img3 and base_select3 %}: <span>{{ base_select3 }}</span>{% endif %}</div>
  5829. \t\t\t\t\t\t  {% if img3 %}
  5830. \t\t\t\t\t\t    <div class=\"rp-card-group\">
  5831. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product3 %}
  5832. \t\t\t\t\t\t        <label class=\"rp-card{% if base_select3 == rp_name %} is-selected{% endif %}\"
  5833. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5834. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp3\" value=\"{{ rp_name }}\"
  5835. \t\t\t\t\t\t                 {% if base_select3 == rp_name %}checked{% endif %}>
  5836. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  5837. \t\t\t\t\t\t               src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
  5838. \t\t\t\t\t\t               alt=\"{{ rp_name }}\"
  5839. \t\t\t\t\t\t               width=\"120\" height=\"120\" loading=\"lazy\"
  5840. \t\t\t\t\t\t               onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
  5841. \t\t\t\t\t\t          <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
  5842. \t\t\t\t\t\t          <span class=\"rp-card__name\">{{ rp_name }}</span>
  5843. \t\t\t\t\t\t        </label>
  5844. \t\t\t\t\t\t      {% endfor %}
  5845. \t\t\t\t\t\t    </div>
  5846. \t\t\t\t\t\t  {% else %}
  5847. \t\t\t\t\t\t    <div class=\"rp-btn-group\">
  5848. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product3 %}
  5849. \t\t\t\t\t\t        <label class=\"rp-btn{% if base_select3 == rp_name %} is-selected{% endif %}\"
  5850. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5851. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp3\" value=\"{{ rp_name }}\"
  5852. \t\t\t\t\t\t                 {% if base_select3 == rp_name %}checked{% endif %}>
  5853. \t\t\t\t\t\t          {{ rp_name }}
  5854. \t\t\t\t\t\t        </label>
  5855. \t\t\t\t\t\t      {% endfor %}
  5856. \t\t\t\t\t\t    </div>
  5857. \t\t\t\t\t\t  {% endif %}
  5858. \t\t\t\t\t\t</div>
  5859. \t\t\t\t\t\t{% endif %}
  5860. \t\t\t\t\t\t{# ===== 4段目 ===== #}
  5861. \t\t\t\t\t\t{% if type4 and related_product4 and related_product4|length %}
  5862. \t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5863. \t\t\t\t\t\t  <div class=\"rp-section-label\">{{ type4 }}{% if img4 and base_select4 %}: <span>{{ base_select4 }}</span>{% endif %}</div>
  5864. \t\t\t\t\t\t  {% if img4 %}
  5865. \t\t\t\t\t\t    {# --- 画像付きカード --- #}
  5866. \t\t\t\t\t\t    <div class=\"rp-card-group\">
  5867. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product4 %}
  5868. \t\t\t\t\t\t        <label class=\"rp-card{% if base_select4 == rp_name %} is-selected{% endif %}\"
  5869. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5870. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp4\" value=\"{{ rp_name }}\"
  5871. \t\t\t\t\t\t                 {% if base_select4 == rp_name %}checked{% endif %}>
  5872. \t\t\t\t\t\t          <img class=\"rp-card__image\"
  5873. \t\t\t\t\t\t               src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
  5874. \t\t\t\t\t\t               alt=\"{{ rp_name }}\" width=\"120\" height=\"120\" loading=\"lazy\">
  5875. \t\t\t\t\t\t          <span class=\"rp-card__label\">{{ rp_name }}</span>
  5876. \t\t\t\t\t\t        </label>
  5877. \t\t\t\t\t\t      {% endfor %}
  5878. \t\t\t\t\t\t    </div>
  5879. \t\t\t\t\t\t  {% else %}
  5880. \t\t\t\t\t\t    {# --- ボタン式ラジオ --- #}
  5881. \t\t\t\t\t\t    <div class=\"rp-btn-group\">
  5882. \t\t\t\t\t\t      {% for rp_id, rp_name in related_product4 %}
  5883. \t\t\t\t\t\t        <label class=\"rp-btn{% if base_select4 == rp_name %} is-selected{% endif %}\"
  5884. \t\t\t\t\t\t               onclick=\"location.href='/products/detail/{{ rp_id }}';\">
  5885. \t\t\t\t\t\t          <input type=\"radio\" name=\"rp4\" value=\"{{ rp_name }}\"
  5886. \t\t\t\t\t\t                 {% if base_select4 == rp_name %}checked{% endif %}>
  5887. \t\t\t\t\t\t          {{ rp_name }}
  5888. \t\t\t\t\t\t        </label>
  5889. \t\t\t\t\t\t      {% endfor %}
  5890. \t\t\t\t\t\t    </div>
  5891. \t\t\t\t\t\t  {% endif %}
  5892. \t\t\t\t\t\t</div>
  5893. \t\t\t\t\t\t{% endif %}
  5894. \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>
  5895.                         {% if color and color|length and ProductClass.SaleType.id != 3 %}
  5896.                         <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5897.                           <div class=\"rp-section-label\">カラー{% if mitsumori_json and mitsumori_json.pc %}: <span>{{ mitsumori_json.pc }}</span>{% endif %}</div>
  5898.                           <div class=\"opt-btn-group\">
  5899.                             {% set idx = 0 %}
  5900.                             {% for cc in color %}{% if cc and cc['name'] %}{% set idx = idx + 1 %}
  5901.                               <label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pc == cc['name']) or color|length == 1 %} is-selected{% endif %}\"
  5902.                                      onclick=\"mitsumori_simulation_val('pc', '{{ cc['name']|e('js') }}');\">
  5903.                                 <input type=\"radio\" name=\"color\" id=\"cc_{{ idx }}\" value=\"{{ cc['name'] }}\"
  5904.                                        {% if (mitsumori_json and mitsumori_json.pc == cc['name']) or color|length == 1 %}checked{% endif %}>
  5905.                                 {{ cc['name'] }}
  5906.                               </label>
  5907.                             {% endif %}{% endfor %}
  5908.                           </div>
  5909.                         </div>
  5910.                         {% endif %}
  5911.                         {% if p_w and p_w|length and p_w|join != \"\" %}
  5912.                         <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5913.                           <div class=\"rp-section-label\">幅{% if mitsumori_json and mitsumori_json.pw %}: <span>{{ mitsumori_json.pw }}</span>{% endif %}</div>
  5914.                           <div class=\"opt-btn-group\">
  5915.                             {% set idx = 0 %}
  5916.                             {% for pw in p_w %}{% if pw %}{% set idx = idx + 1 %}
  5917.                               <label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pw == pw) or p_w|length == 1 %} is-selected{% endif %}\"
  5918.                                      onclick=\"mitsumori_simulation_val('pw', '{{ pw|e('js') }}');\">
  5919.                                 <input type=\"radio\" name=\"pw\" id=\"pw_{{ idx }}\" value=\"{{ pw }}\"
  5920.                                        {% if (mitsumori_json and mitsumori_json.pw == pw) or p_w|length == 1 %}checked{% endif %}>
  5921.                                 {{ pw }}
  5922.                               </label>
  5923.                             {% endif %}{% endfor %}
  5924.                           </div>
  5925.                         </div>
  5926.                         {% endif %}
  5927.                         {% if p_d and p_d|length and p_d|join != \"\" %}
  5928.                         <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5929.                           <div class=\"rp-section-label\">奥行き{% if mitsumori_json and mitsumori_json.pd %}: <span>{{ mitsumori_json.pd }}</span>{% endif %}</div>
  5930.                           <div class=\"opt-btn-group\">
  5931.                             {% set idx = 0 %}
  5932.                             {% for pd in p_d %}{% if pd %}{% set idx = idx + 1 %}
  5933.                               <label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pd == pd) or p_d|length == 1 %} is-selected{% endif %}\"
  5934.                                      onclick=\"mitsumori_simulation_val('pd', '{{ pd|e('js') }}');\">
  5935.                                 <input type=\"radio\" name=\"pd\" id=\"pd_{{ idx }}\" value=\"{{ pd }}\"
  5936.                                        {% if (mitsumori_json and mitsumori_json.pd == pd) or p_d|length == 1 %}checked{% endif %}>
  5937.                                 {{ pd }}
  5938.                               </label>
  5939.                             {% endif %}{% endfor %}
  5940.                           </div>
  5941.                         </div>
  5942.                         {% endif %}
  5943.                         {% if p_h and p_h|length and p_h|join != \"\" %}
  5944.                         <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5945.                           <div class=\"rp-section-label\">高さ{% if mitsumori_json and mitsumori_json.ph %}: <span>{{ mitsumori_json.ph }}</span>{% endif %}</div>
  5946.                           <div class=\"opt-btn-group\">
  5947.                             {% set idx = 0 %}
  5948.                             {% for ph in p_h %}{% if ph %}{% set idx = idx + 1 %}
  5949.                               <label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.ph == ph) or p_h|length == 1 %} is-selected{% endif %}\"
  5950.                                      onclick=\"mitsumori_simulation_val('ph', '{{ ph|e('js') }}');\">
  5951.                                 <input type=\"radio\" name=\"ph\" id=\"ph_{{ idx }}\" value=\"{{ ph }}\"
  5952.                                        {% if (mitsumori_json and mitsumori_json.ph == ph) or p_h|length == 1 %}checked{% endif %}>
  5953.                                 {{ ph }}
  5954.                               </label>
  5955.                             {% endif %}{% endfor %}
  5956.                           </div>
  5957.                         </div>
  5958.                         {% endif %}
  5959.                         {% if p_m and p_m|length and p_m|join != \"\" %}
  5960.                         <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5961.                           <div class=\"rp-section-label\">素材{% if mitsumori_json and mitsumori_json.pm %}: <span>{{ mitsumori_json.pm }}</span>{% endif %}</div>
  5962.                           <div class=\"opt-btn-group\">
  5963.                             {% set idx = 0 %}
  5964.                             {% for pm in p_m %}{% if pm %}{% set idx = idx + 1 %}
  5965.                               <label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pm == pm) or p_m|length == 1 %} is-selected{% endif %}\"
  5966.                                      onclick=\"mitsumori_simulation_val('pm', '{{ pm|e('js') }}');\">
  5967.                                 <input type=\"radio\" name=\"pm\" id=\"pm_{{ idx }}\" value=\"{{ pm }}\"
  5968.                                        {% if (mitsumori_json and mitsumori_json.pm == pm) or p_m|length == 1 %}checked{% endif %}>
  5969.                                 {{ pm }}
  5970.                               </label>
  5971.                             {% endif %}{% endfor %}
  5972.                           </div>
  5973.                         </div>
  5974.                         {% endif %}
  5975. \t\t\t\t\t\t<!-- 1: 施工見積(通常) → 幅/奥行/高さ/素材/カラーは上部の共通ブロックで表示済み -->
  5976. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 1 %}
  5977. \t\t\t\t\t\t{% endif %}
  5978. \t\t\t\t\t\t<!-- 2: 施工見積(補助金・窓) -->
  5979. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 2 %}
  5980. \t\t\t\t\t\t\t{# 窓サイズ(自由入力) #}
  5981. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  5982. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">窓サイズ</label>
  5983. \t\t\t\t\t\t\t  <div class=\"col-4\">
  5984. \t\t\t\t\t\t\t    <div class=\"input-group\">
  5985. \t\t\t\t\t\t\t      <span class=\"input-group-text\">窓幅</span>
  5986. \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');\">
  5987. \t\t\t\t\t\t\t      <span class=\"input-group-text\">cm</span>
  5988. \t\t\t\t\t\t\t    </div>
  5989. \t\t\t\t\t\t\t  </div>
  5990. \t\t\t\t\t\t\t  <div class=\"col-4\">
  5991. \t\t\t\t\t\t\t    <div class=\"input-group\">
  5992. \t\t\t\t\t\t\t      <span class=\"input-group-text\">窓高さ</span>
  5993. \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');\">
  5994. \t\t\t\t\t\t\t      <span class=\"input-group-text\">cm</span>
  5995. \t\t\t\t\t\t\t    </div>
  5996. \t\t\t\t\t\t\t  </div>
  5997. \t\t\t\t\t\t\t</div>
  5998. \t\t\t\t\t\t\t{# 窓タイプ(p_d データから選択肢を生成) #}
  5999. \t\t\t\t\t\t\t{% if p_d and p_d|length and p_d|join != \"\" %}
  6000. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6001. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">窓タイプ</label>
  6002. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6003. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6004. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6005. \t\t\t\t\t\t\t    {% for pd_val in p_d %}
  6006. \t\t\t\t\t\t\t      {% if pd_val %}
  6007. \t\t\t\t\t\t\t      {% set idx = idx + 1 %}
  6008. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6009. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"mado_type\" id=\"mado_type_{{ idx }}\" value=\"{{ pd_val }}\"
  6010. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pd == pd_val) or (p_d|length == 1) %}checked{% endif %}
  6011. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pd','mado_type_{{ idx }}');\">
  6012. \t\t\t\t\t\t\t        <label for=\"mado_type_{{ idx }}\">{{ pd_val }}</label>
  6013. \t\t\t\t\t\t\t      </div>
  6014. \t\t\t\t\t\t\t      {% endif %}
  6015. \t\t\t\t\t\t\t    {% endfor %}
  6016. \t\t\t\t\t\t\t    </div>
  6017. \t\t\t\t\t\t\t  </div>
  6018. \t\t\t\t\t\t\t</div>
  6019. \t\t\t\t\t\t\t{% endif %}
  6020. \t\t\t\t\t\t\t{# ガラスタイプ(p_m データから選択肢を生成) #}
  6021. \t\t\t\t\t\t\t{% if p_m and p_m|length and p_m|join != \"\" %}
  6022. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6023. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">ガラスタイプ</label>
  6024. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6025. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6026. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6027. \t\t\t\t\t\t\t    {% for pm_val in p_m %}
  6028. \t\t\t\t\t\t\t      {% if pm_val %}
  6029. \t\t\t\t\t\t\t      {% set idx = idx + 1 %}
  6030. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6031. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"glass_type\" id=\"glass_type_{{ idx }}\" value=\"{{ pm_val }}\"
  6032. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pm == pm_val) or (p_m|length == 1) %}checked{% endif %}
  6033. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','glass_type_{{ idx }}');\">
  6034. \t\t\t\t\t\t\t        <label for=\"glass_type_{{ idx }}\">{{ pm_val }}</label>
  6035. \t\t\t\t\t\t\t      </div>
  6036. \t\t\t\t\t\t\t      {% endif %}
  6037. \t\t\t\t\t\t\t    {% endfor %}
  6038. \t\t\t\t\t\t\t    </div>
  6039. \t\t\t\t\t\t\t  </div>
  6040. \t\t\t\t\t\t\t</div>
  6041. \t\t\t\t\t\t\t{% endif %}
  6042. \t\t\t\t\t\t\t{# セット数(プルダウン) → quantity に連動 #}
  6043. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6044. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">セット数</label>
  6045. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6046. \t\t\t\t\t\t\t    <select name=\"set_count\" id=\"set_count\" class=\"form-control\" onchange=\"madosetSelect(this.value);\">
  6047. \t\t\t\t\t\t\t      {% for i in 1..20 %}
  6048. \t\t\t\t\t\t\t        <option value=\"{{ i }}\" {% if mitsumori_json and mitsumori_json.set_count == i %}selected{% endif %}>{{ i }} セット</option>
  6049. \t\t\t\t\t\t\t      {% endfor %}
  6050. \t\t\t\t\t\t\t    </select>
  6051. \t\t\t\t\t\t\t  </div>
  6052. \t\t\t\t\t\t\t</div>
  6053. \t\t\t\t\t\t{% endif %}
  6054. \t\t\t\t\t\t<!-- 3: 施工見積(物置・ゴミステーション) -->
  6055. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 3 %}
  6056. \t\t\t\t\t\t\t{# 幅・奥行き・高さ(p_w/p_d/p_h からラジオボタン生成) #}
  6057. \t\t\t\t\t\t\t{% if p_w and p_w|length and p_w|join != \"\" %}
  6058. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6059. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">幅</label>
  6060. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6061. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6062. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6063. \t\t\t\t\t\t\t    {% for pw_val in p_w %}{% if pw_val %}{% set idx = idx + 1 %}
  6064. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6065. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pw\" id=\"pw3_{{ idx }}\" value=\"{{ pw_val }}\"
  6066. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pw == pw_val) or p_w|length == 1 %}checked{% endif %}
  6067. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pw','pw3_{{ idx }}');\">
  6068. \t\t\t\t\t\t\t        <label for=\"pw3_{{ idx }}\">{{ pw_val }}</label>
  6069. \t\t\t\t\t\t\t      </div>
  6070. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6071. \t\t\t\t\t\t\t    </div>
  6072. \t\t\t\t\t\t\t  </div>
  6073. \t\t\t\t\t\t\t</div>
  6074. \t\t\t\t\t\t\t{% endif %}
  6075. \t\t\t\t\t\t\t{% if p_d and p_d|length and p_d|join != \"\" %}
  6076. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6077. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">奥行き</label>
  6078. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6079. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6080. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6081. \t\t\t\t\t\t\t    {% for pd_val in p_d %}{% if pd_val %}{% set idx = idx + 1 %}
  6082. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6083. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pd\" id=\"pd3_{{ idx }}\" value=\"{{ pd_val }}\"
  6084. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pd == pd_val) or p_d|length == 1 %}checked{% endif %}
  6085. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pd','pd3_{{ idx }}');\">
  6086. \t\t\t\t\t\t\t        <label for=\"pd3_{{ idx }}\">{{ pd_val }}</label>
  6087. \t\t\t\t\t\t\t      </div>
  6088. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6089. \t\t\t\t\t\t\t    </div>
  6090. \t\t\t\t\t\t\t  </div>
  6091. \t\t\t\t\t\t\t</div>
  6092. \t\t\t\t\t\t\t{% endif %}
  6093. \t\t\t\t\t\t\t{% if p_h and p_h|length and p_h|join != \"\" %}
  6094. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6095. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">高さ</label>
  6096. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6097. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6098. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6099. \t\t\t\t\t\t\t    {% for ph_val in p_h %}{% if ph_val %}{% set idx = idx + 1 %}
  6100. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6101. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"ph\" id=\"ph3_{{ idx }}\" value=\"{{ ph_val }}\"
  6102. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.ph == ph_val) or p_h|length == 1 %}checked{% endif %}
  6103. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('ph','ph3_{{ idx }}');\">
  6104. \t\t\t\t\t\t\t        <label for=\"ph3_{{ idx }}\">{{ ph_val }}</label>
  6105. \t\t\t\t\t\t\t      </div>
  6106. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6107. \t\t\t\t\t\t\t    </div>
  6108. \t\t\t\t\t\t\t  </div>
  6109. \t\t\t\t\t\t\t</div>
  6110. \t\t\t\t\t\t\t{% endif %}
  6111. \t\t\t\t\t\t\t{# 棚タイプ(p_m データから選択肢を生成) #}
  6112. \t\t\t\t\t\t\t{% if p_m and p_m|length and p_m|join != \"\" %}
  6113. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6114. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">棚タイプ<br><small class=\"text-muted\">(間仕切り仕様)</small></label>
  6115. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6116. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6117. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6118. \t\t\t\t\t\t\t    {% for pm_val in p_m %}{% if pm_val %}{% set idx = idx + 1 %}
  6119. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6120. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pm\" id=\"pm3_{{ idx }}\" value=\"{{ pm_val }}\"
  6121. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pm == pm_val) or p_m|length == 1 %}checked{% endif %}
  6122. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','pm3_{{ idx }}');\">
  6123. \t\t\t\t\t\t\t        <label for=\"pm3_{{ idx }}\">{{ pm_val }}</label>
  6124. \t\t\t\t\t\t\t      </div>
  6125. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6126. \t\t\t\t\t\t\t    </div>
  6127. \t\t\t\t\t\t\t  </div>
  6128. \t\t\t\t\t\t\t</div>
  6129. \t\t\t\t\t\t\t{% endif %}
  6130. \t\t\t\t\t\t\t{# カラー(共通の color データ使用) #}
  6131. \t\t\t\t\t\t\t{% if color and color|length %}
  6132. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6133. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">カラー</label>
  6134. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6135. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6136. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6137. \t\t\t\t\t\t\t    {% for cc in color %}{% if cc and cc['name'] %}{% set idx = idx + 1 %}
  6138. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6139. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"color3\" id=\"cc3_{{ idx }}\" value=\"{{ cc['name'] }}\"
  6140. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pc == cc['name']) or color|length == 1 %}checked{% endif %}
  6141. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pc','cc3_{{ idx }}');\">
  6142. \t\t\t\t\t\t\t        <label for=\"cc3_{{ idx }}\">{{ cc['name'] }}</label>
  6143. \t\t\t\t\t\t\t      </div>
  6144. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6145. \t\t\t\t\t\t\t    </div>
  6146. \t\t\t\t\t\t\t  </div>
  6147. \t\t\t\t\t\t\t</div>
  6148. \t\t\t\t\t\t\t{% endif %}
  6149. \t\t\t\t\t\t\t{# 台数 #}
  6150. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6151. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">台数</label>
  6152. \t\t\t\t\t\t\t  <div class=\"col-4\">
  6153. \t\t\t\t\t\t\t    <div class=\"input-group mb-3\">
  6154. \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');\">
  6155. \t\t\t\t\t\t\t      <span class=\"input-group-text\">台</span>
  6156. \t\t\t\t\t\t\t    </div>
  6157. \t\t\t\t\t\t\t  </div>
  6158. \t\t\t\t\t\t\t  <div class=\"col-4\">
  6159. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"daisu(+1);\">+</button>
  6160. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"daisu(-1);\">ー</button>
  6161. \t\t\t\t\t\t\t  </div>
  6162. \t\t\t\t\t\t\t</div>
  6163. \t\t\t\t\t\t{% endif %}
  6164. \t\t\t\t\t\t<!-- 4: 施工見積(フェンス・組み立て式) -->
  6165. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 4 %}
  6166. \t\t\t\t\t\t\t{# 枚数 #}
  6167. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6168. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">枚数</label>
  6169. \t\t\t\t\t\t\t  <div class=\"col-4 mb-3\">
  6170. \t\t\t\t\t\t\t    <div class=\"input-group\">
  6171. \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');\">
  6172. \t\t\t\t\t\t\t      <span class=\"input-group-text\">枚</span>
  6173. \t\t\t\t\t\t\t    </div>
  6174. \t\t\t\t\t\t\t  </div>
  6175. \t\t\t\t\t\t\t  <div class=\"col-4\">
  6176. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"maisu(+1);\">+</button>
  6177. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"maisu(-1);\">ー</button>
  6178. \t\t\t\t\t\t\t  </div>
  6179. \t\t\t\t\t\t\t</div>
  6180. \t\t\t\t\t\t{% endif %}
  6181. \t\t\t\t\t\t<!-- 5: 施工見積(ウッドデッキ・タイルデッキ) -->
  6182. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 5 %}
  6183. \t\t\t\t\t\t\t{# 施工面積(㎡ 直接入力) #}
  6184. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6185. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">施工面積</label>
  6186. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6187. \t\t\t\t\t\t\t    <div class=\"input-group\">
  6188. \t\t\t\t\t\t\t      <input type=\"number\" name=\"area\" id=\"area\"
  6189. \t\t\t\t\t\t\t        class=\"form-control\"
  6190. \t\t\t\t\t\t\t        value=\"{{ mitsumori_json.area|default('') }}\"
  6191. \t\t\t\t\t\t\t        placeholder=\"例: 7.5\"
  6192. \t\t\t\t\t\t\t        min=\"0.1\" step=\"0.1\"
  6193. \t\t\t\t\t\t\t        onchange=\"mitsumori_simulation('area','area');\">
  6194. \t\t\t\t\t\t\t      <span class=\"input-group-text\">㎡</span>
  6195. \t\t\t\t\t\t\t    </div>
  6196. \t\t\t\t\t\t\t    <small class=\"text-muted\">幅(cm) × 奥行き(cm) ÷ 10000 = ㎡</small>
  6197. \t\t\t\t\t\t\t  </div>
  6198. \t\t\t\t\t\t\t</div>
  6199. \t\t\t\t\t\t\t{# ステップの有無 #}
  6200. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6201. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">ステップ</label>
  6202. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6203. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  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_yes\" value=\"必要\"
  6206. \t\t\t\t\t\t\t          {% if mitsumori_json and mitsumori_json.deck_step == '必要' %}checked{% endif %}
  6207. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op0','deck_step_yes');\">
  6208. \t\t\t\t\t\t\t        <label for=\"deck_step_yes\">必要</label>
  6209. \t\t\t\t\t\t\t      </div>
  6210. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6211. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_step\" id=\"deck_step_no\" value=\"不要\"
  6212. \t\t\t\t\t\t\t          {% if not mitsumori_json or mitsumori_json.deck_step == '不要' or not mitsumori_json.deck_step %}checked{% endif %}
  6213. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op0','deck_step_no');\">
  6214. \t\t\t\t\t\t\t        <label for=\"deck_step_no\">不要</label>
  6215. \t\t\t\t\t\t\t      </div>
  6216. \t\t\t\t\t\t\t    </div>
  6217. \t\t\t\t\t\t\t  </div>
  6218. \t\t\t\t\t\t\t</div>
  6219. \t\t\t\t\t\t\t{# ウッドデッキフェンスの有無 #}
  6220. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6221. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">デッキフェンス</label>
  6222. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6223. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  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_yes\" value=\"必要\"
  6226. \t\t\t\t\t\t\t          {% if mitsumori_json and mitsumori_json.deck_fence == '必要' %}checked{% endif %}
  6227. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op1','deck_fence_yes');\">
  6228. \t\t\t\t\t\t\t        <label for=\"deck_fence_yes\">必要</label>
  6229. \t\t\t\t\t\t\t      </div>
  6230. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6231. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_no\" value=\"不要\"
  6232. \t\t\t\t\t\t\t          {% if not mitsumori_json or mitsumori_json.deck_fence == '不要' or not mitsumori_json.deck_fence %}checked{% endif %}
  6233. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('op1','deck_fence_no');\">
  6234. \t\t\t\t\t\t\t        <label for=\"deck_fence_no\">不要</label>
  6235. \t\t\t\t\t\t\t      </div>
  6236. \t\t\t\t\t\t\t    </div>
  6237. \t\t\t\t\t\t\t  </div>
  6238. \t\t\t\t\t\t\t</div>
  6239. \t\t\t\t\t\t{% endif %}
  6240. \t\t\t\t\t\t<!-- 6: 施工見積(芝生・枚数・数量買い) -->
  6241. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 6 %}
  6242. \t\t\t\t\t\t\t{# 規格(p_m データ → 素材から抽出) #}
  6243. \t\t\t\t\t\t\t{% if p_m and p_m|length and p_m|join != \"\" %}
  6244. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6245. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">規格</label>
  6246. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6247. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6248. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6249. \t\t\t\t\t\t\t    {% for pm_val in p_m %}{% if pm_val %}{% set idx = idx + 1 %}
  6250. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6251. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pm\" id=\"pm6_{{ idx }}\" value=\"{{ pm_val }}\"
  6252. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pm == pm_val) or p_m|length == 1 %}checked{% endif %}
  6253. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pm','pm6_{{ idx }}');\">
  6254. \t\t\t\t\t\t\t        <label for=\"pm6_{{ idx }}\">{{ pm_val }}</label>
  6255. \t\t\t\t\t\t\t      </div>
  6256. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6257. \t\t\t\t\t\t\t    </div>
  6258. \t\t\t\t\t\t\t  </div>
  6259. \t\t\t\t\t\t\t</div>
  6260. \t\t\t\t\t\t\t{% endif %}
  6261. \t\t\t\t\t\t\t{# 芝の長さ(p_w データ → 幅から抽出) #}
  6262. \t\t\t\t\t\t\t{% if p_w and p_w|length and p_w|join != \"\" %}
  6263. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6264. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">芝の長さ</label>
  6265. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6266. \t\t\t\t\t\t\t    <div class=\"form-group clearfix\">
  6267. \t\t\t\t\t\t\t    {% set idx = 0 %}
  6268. \t\t\t\t\t\t\t    {% for pw_val in p_w %}{% if pw_val %}{% set idx = idx + 1 %}
  6269. \t\t\t\t\t\t\t      <div class=\"icheck-danger d-inline\">
  6270. \t\t\t\t\t\t\t        <input type=\"radio\" name=\"pw\" id=\"pw6_{{ idx }}\" value=\"{{ pw_val }}\"
  6271. \t\t\t\t\t\t\t          {% if (mitsumori_json and mitsumori_json.pw == pw_val) or p_w|length == 1 %}checked{% endif %}
  6272. \t\t\t\t\t\t\t          onclick=\"mitsumori_simulation('pw','pw6_{{ idx }}');\">
  6273. \t\t\t\t\t\t\t        <label for=\"pw6_{{ idx }}\">{{ pw_val }}</label>
  6274. \t\t\t\t\t\t\t      </div>
  6275. \t\t\t\t\t\t\t    {% endif %}{% endfor %}
  6276. \t\t\t\t\t\t\t    </div>
  6277. \t\t\t\t\t\t\t  </div>
  6278. \t\t\t\t\t\t\t</div>
  6279. \t\t\t\t\t\t\t{% endif %}
  6280. \t\t\t\t\t\t\t{# 施工面積(㎡ 自由入力) #}
  6281. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6282. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">施工面積</label>
  6283. \t\t\t\t\t\t\t  <div class=\"col-8\">
  6284. \t\t\t\t\t\t\t    <div class=\"input-group\">
  6285. \t\t\t\t\t\t\t      <input type=\"number\" name=\"area\" id=\"area\"
  6286. \t\t\t\t\t\t\t        class=\"form-control\"
  6287. \t\t\t\t\t\t\t        value=\"{{ mitsumori_json.area|default('') }}\"
  6288. \t\t\t\t\t\t\t        placeholder=\"例: 10.5\"
  6289. \t\t\t\t\t\t\t        min=\"0.1\" step=\"0.1\"
  6290. \t\t\t\t\t\t\t        onchange=\"mitsumori_simulation('area','area');\">
  6291. \t\t\t\t\t\t\t      <span class=\"input-group-text\">平米</span>
  6292. \t\t\t\t\t\t\t    </div>
  6293. \t\t\t\t\t\t\t  </div>
  6294. \t\t\t\t\t\t\t</div>
  6295. \t\t\t\t\t\t{% endif %}
  6296. \t\t\t\t\t\t<!-- 9: 商品のみ購入 -->
  6297. \t\t\t\t\t\t{% if ProductClass.SaleType.id == 9 %}
  6298. \t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
  6299. \t\t\t\t\t\t\t  <label class=\"col-4 col-form-label\">数量</label>
  6300. \t\t\t\t\t\t\t  <div class=\"col-4\">
  6301. \t\t\t\t\t\t\t    <div class=\"input-group mb-3\">
  6302. \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);\">
  6303. \t\t\t\t\t\t\t      <span class=\"input-group-text\">個</span>
  6304. \t\t\t\t\t\t\t    </div>
  6305. \t\t\t\t\t\t\t  </div>
  6306. \t\t\t\t\t\t\t  <div class=\"col-4\">
  6307. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-info\" onclick=\"quantityOnly(+1);\">+</button>
  6308. \t\t\t\t\t\t\t    <button type=\"button\" class=\"btn btn-danger\" onclick=\"quantityOnly(-1);\">ー</button>
  6309. \t\t\t\t\t\t\t  </div>
  6310. \t\t\t\t\t\t\t</div>
  6311. \t\t\t\t\t\t{% endif %}
  6312. \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>
  6313. \t\t\t\t\t\t{% for i in 0..10 %}
  6314. \t\t\t\t\t\t\t{% if op and op|length >= i+1 %}
  6315. \t\t\t\t\t\t\t{% if op[i]['name'] %}
  6316. \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)\">
  6317. \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>
  6318. \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 %}
  6319. \t\t\t\t\t\t\t  <div class=\"opt-btn-group\">
  6320. \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 %}\"
  6321. \t\t\t\t\t\t\t           onclick=\"mitsumori_simulation('op{{ i }}','op{{ i }}_1');\">
  6322. \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 %}>
  6323. \t\t\t\t\t\t\t      {{ op[i]['on'] }}
  6324. \t\t\t\t\t\t\t    </label>
  6325. \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 %}\"
  6326. \t\t\t\t\t\t\t           onclick=\"mitsumori_simulation('op{{ i }}','op{{ i }}_2');\">
  6327. \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 %}>
  6328. \t\t\t\t\t\t\t      {{ op[i]['off'] }}
  6329. \t\t\t\t\t\t\t    </label>
  6330. \t\t\t\t\t\t\t  </div>
  6331. \t\t\t\t\t\t\t</div>
  6332. \t\t\t\t\t\t\t{% endif %}
  6333. \t\t\t\t\t\t\t{% endif %}
  6334. \t\t\t\t\t\t{% endfor %}
  6335. \t\t\t\t\t  </div>
  6336. \t\t\t\t\t  <!-- /.card-body -->
  6337. \t\t\t\t\t</div>
  6338.                     <form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
  6339.                         {% if Product.stock_find %}
  6340.                             <div class=\"ec-productRole__actions\">
  6341.                                 {% if form.classcategory_id1 is defined %}
  6342.                                     <div class=\"ec-select\">
  6343.                                         {{ form_row(form.classcategory_id1) }}
  6344.                                         {{ form_errors(form.classcategory_id1) }}
  6345.                                     </div>
  6346.                                     {% if form.classcategory_id2 is defined %}
  6347.                                         <div class=\"ec-select\">
  6348.                                             {{ form_row(form.classcategory_id2) }}
  6349.                                             {{ form_errors(form.classcategory_id2) }}
  6350.                                         </div>
  6351.                                     {% endif %}
  6352.                                 {% endif %}
  6353.                                 <div class=\"ec-numberInput\">
  6354.                                     {{ form_widget(form.quantity, { type: 'hidden' }) }}
  6355.                                     {{ form_errors(form.quantity) }}
  6356.                                 </div>
  6357.                             </div>
  6358.                         {% else %}
  6359.                             <div class=\"ec-productRole__btn\">
  6360.                                 <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  6361.                                     {{ 'ただいま品切れ中です。'|trans }}
  6362.                                 </button>
  6363.                             </div>
  6364.                         {% endif %}
  6365.                         <div class=\"ec-productRole__btn mt-3\">
  6366.                            <button type=\"submit\" id=\"cart_btn\" class=\"ec-blockBtn--action add-cart\">カートに入れる</button>
  6367.                         </div>
  6368.                         {{ form_rest(form) }}
  6369.                     </form>
  6370.                     <div class=\"ec-modal add-cart-modal\">
  6371.                         <div class=\"ec-modal-overlay\">
  6372.                             <div class=\"ec-modal-wrap add-cart-modal__wrap\">
  6373.                                 <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  6374.                                 <div id=\"ec-modal-header\" class=\"text-center add-cart-modal__header\">{{ 'カートに追加しました。'|trans }}</div>
  6375.                                 <div class=\"ec-modal-box add-cart-modal__box\">
  6376.                                     <div class=\"ec-role add-cart-modal__actions\">
  6377.                                         <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action add-cart-modal__primary\">{{ 'カートに進む'|trans }}</a>
  6378.                                         <span class=\"ec-inlineBtn--cancel add-cart-modal__secondary\">{{ '商品検索を続ける'|trans }}</span>
  6379.                                     </div>
  6380.                                 </div>
  6381.                             </div>
  6382.                         </div>
  6383.                     </div>
  6384.                     <div class=\"ec-productRole__description\">{{ Product.description_detail|raw|nl2br }}
  6385.                     </div>
  6386.                     {# SNSシェア #}
  6387.                     <div class=\"ec-productRole__share\">
  6388.                         <ul class=\"ec-share\">
  6389.                             <li class=\"ec-share__item\">
  6390.                                 <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\">
  6391.                                     <i class=\"fab fa-twitter\"></i>
  6392.                                 </a>
  6393.                             </li>
  6394.                             <li class=\"ec-share__item\">
  6395.                                 <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\">
  6396.                                     <i class=\"fab fa-facebook-f\"></i>
  6397.                                 </a>
  6398.                             </li>
  6399.                             <li class=\"ec-share__item\">
  6400.                                 <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\">
  6401.                                     <i class=\"fab fa-line\"></i>
  6402.                                 </a>
  6403.                             </li>
  6404.                         </ul>
  6405.                     </div>
  6406.                 </div>
  6407. \t\t\t\t{# ===== スマホ用 見積金額 下部固定バー ===== #}
  6408. \t\t\t\t<div id=\"sp-mitsumori-bar\">
  6409. \t\t\t\t    <div>
  6410. \t\t\t\t        <div class=\"sp-bar__label\">合計(工事費・税込)</div>
  6411. \t\t\t\t        <div class=\"sp-bar__price\" id=\"sp-mitsumori-price\">---円</div>
  6412. \t\t\t\t    </div>
  6413. \t\t\t\t    <button type=\"button\" class=\"sp-bar__btn\"
  6414. \t\t\t\t            onclick=\"document.getElementById('cart_btn2') && document.getElementById('cart_btn2').click();\">
  6415. \t\t\t\t        <i class=\"fas fa-shopping-cart\"></i>
  6416. \t\t\t\t        <span class=\"sp-bar__btn-label\">検討リストへ</span>
  6417. \t\t\t\t        {% set spTotalQty = get_carts_total_quantity() %}
  6418. \t\t\t\t        {% if spTotalQty > 0 %}
  6419. \t\t\t\t            <span class=\"sp-bar__cart-badge\">{{ spTotalQty|number_format }}</span>
  6420. \t\t\t\t        {% endif %}
  6421. \t\t\t\t    </button>
  6422. \t\t\t\t    <a href=\"{{ url('homepage') }}\" class=\"sp-bar__home-btn\" title=\"トップページへ\">
  6423. \t\t\t\t        <i class=\"fas fa-home\"></i>
  6424. \t\t\t\t    </a>
  6425. \t\t\t\t</div>
  6426. \t\t\t\t<div class=\"card col-12 collapsed-card sticky-top float-right mitsumori-card-pc\">
  6427. \t\t\t\t\t<div class=\"card-header\">
  6428. \t\t\t\t\t  <h3 class=\"card-title\">現在のお見積り額</h3>
  6429. \t\t\t\t\t  <div class=\"card-tools\">
  6430. \t\t\t\t\t    <span class=\"float-left\" id=\"mitsumori_message\">395000円</span>
  6431. \t\t\t\t\t    <button type=\"button\" class=\"btn btn-tool btn-mitsumori-toggle\" data-card-widget=\"collapse\" title=\"詳細を表示\">
  6432. \t\t\t\t\t      <span class=\"toggle-icon\">▼ 詳細</span>
  6433. \t\t\t\t\t    </button>
  6434. \t\t\t\t\t  </div>
  6435. \t\t\t\t\t</div>
  6436. \t\t\t\t\t<div class=\"card-body p-0\">
  6437. \t\t\t\t\t  <ul class=\"nav nav-pills flex-column\">
  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_goukei\">395,000円</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 active\">
  6445. \t\t\t\t\t      <a class=\"nav-link\">
  6446. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 商品価格
  6447. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_price\">307,008円</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=\"maker_price\">479,700円</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        &nbsp;&nbsp;<i class=\"far fa-file-alt\"></i> お値引き
  6459. \t\t\t\t\t        <span class=\"float-right\" id=\"mitsumori_off\">-172,692円</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_ct\">53,250円</span>
  6466. \t\t\t\t\t      </a>
  6467. \t\t\t\t\t    </li>
  6468. \t\t\t\t\t    <li class=\"nav-item\">
  6469. \t\t\t\t\t      <a class=\"nav-link\">
  6470. \t\t\t\t\t        <i class=\"far fa-file-alt\"></i> 施工オプション
  6471. \t\t\t\t\t        <span class=\"float-right\"id=\"mitsumori_option\">6,297円</span>
  6472. \t\t\t\t\t      </a>
  6473. \t\t\t\t\t    </li>
  6474. \t\t\t\t\t  </ul>
  6475. \t\t\t\t\t</div>
  6476. \t\t\t\t\t<div class=\"card-footer\">
  6477. \t\t                <button type=\"button\" id=\"mitsumori_btn\" class=\"btn btn-info\" data-toggle=\"modal\" data-target=\"#modal-mitsumori\">
  6478. \t\t                  見積書表示
  6479. \t\t                </button>
  6480.                         <button type=\"submit\" id=\"cart_btn2\" class=\"btn btn-info add-cart\">カートに入れる</button>
  6481. \t\t\t\t\t</div>
  6482. \t\t\t\t</div>
  6483.             </div>
  6484.         </div>
  6485.     </div>
  6486.   <div class=\"modal\" id=\"modal-mitsumori\">
  6487.     <div class=\"modal-dialog modal-mitsumori\" style=\"max-width:1000px\">
  6488.       <div class=\"modal-content\">
  6489.         <div class=\"modal-header\">
  6490.           <h4 class=\"modal-title\">お見積書</h4>
  6491.           <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  6492.             <span aria-hidden=\"true\">&times;</span>
  6493.           </button>
  6494.         </div>
  6495.         <div class=\"modal-body\">
  6496. \t\t\t<div class=\"invoice p-3 mb-5\" style=\"max-width:1000px; margin:auto;\">
  6497. \t\t\t  <!-- title row -->
  6498. \t\t\t  <div class=\"row\">
  6499. \t\t\t    <div class=\"col-12\">
  6500. \t\t\t      <h2>概算お見積書 
  6501. \t\t\t        <small class=\"float-right\" style=\"font-size:14px;\">発行日: 2025/03/14</small>
  6502. \t\t\t      </h2>
  6503. \t\t\t    </div>
  6504. \t\t\t    <!-- /.col -->
  6505. \t\t\t  </div>
  6506. \t\t\t  <!-- info row -->
  6507. \t\t\t  <div class=\"row invoice-info\">
  6508. \t\t\t    <div class=\"col-sm-8 invoice-col\">
  6509. \t\t\t      <h3>お客様</h3>
  6510. \t\t\t      <span>下記の通り、お見積もり申し上げます。</span>
  6511. \t\t\t      <br />
  6512. \t\t\t      <br / >
  6513. \t\t\t      <br />
  6514. \t\t\t      <h2>お見積金額: <span id=\"mitsumori_kei\">399,080円</span></h2>
  6515. \t\t\t      <span>
  6516. \t\t\t        <br/>
  6517. \t\t\t        <br/>
  6518. \t\t\t        <br/>
  6519. \t\t\t        <br/>
  6520. \t\t\t      </span>
  6521. \t\t\t    </div>
  6522. \t\t\t    <div class=\"col-sm-4 invoice-col\">
  6523. \t\t\t      <p>
  6524. \t\t\t        <img alt=\"\" src=\"/html/user_data/js/images/logo.png\" style=\"width: 260px; max-width: 100%; max-height: 10mm;\">
  6525. \t\t\t      </p>
  6526. \t\t\t      <p>有限会社プラス</p>
  6527. \t\t\t      <p>〒400-0334</p>
  6528. \t\t\t      <p>山梨県南アルプス市藤田1450番地2</p>
  6529. \t\t\t      <p>TEL: 055-284-6480</p>
  6530. \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;\">
  6531. \t\t\t    </div>
  6532. \t\t\t    <!-- /.col -->
  6533. \t\t\t    <!-- /.col -->
  6534. \t\t\t  </div>
  6535. \t\t\t  <!-- /.row -->
  6536. \t\t\t  <!-- Table row -->
  6537. \t\t\t  <div class=\"row\">
  6538. \t\t\t    <div class=\"col-12 table-responsive\">
  6539. \t\t\t      <table class=\"table table-striped\">
  6540. \t\t\t        <thead>
  6541. \t\t\t          <tr>
  6542. \t\t\t            <th>項目</th>
  6543. \t\t\t            <th>数量</th>
  6544. \t\t\t            <th>単位</th>
  6545. \t\t\t            <th>単価</th>
  6546. \t\t\t            <th>小計</th>
  6547. \t\t\t          </tr>
  6548. \t\t\t        </thead>
  6549. \t\t\t        <tbody>
  6550. \t\t\t          <tr>
  6551. \t\t\t            <td>プレーンルーフ 600タイプ 1台用 単体セット</td>
  6552. \t\t\t            <td>1</td>
  6553. \t\t\t            <td>式</td>
  6554. \t\t\t            <td id=\"mitsumori_price_01\">352,800</td>
  6555. \t\t\t            <td id=\"mitsumori_price_02\">352,800</td>
  6556. \t\t\t          </tr>
  6557. \t\t\t          <tr>
  6558. \t\t\t            <td>基本工事費</td>
  6559. \t\t\t            <td>1</td>
  6560. \t\t\t            <td>式</td>
  6561. \t\t\t            <td id=\"mitsumori_ct_01\">10,000</td>
  6562. \t\t\t            <td id=\"mitsumori_ct_02\">10,000</td>
  6563. \t\t\t          </tr>
  6564. \t\t\t          <tr>
  6565. \t\t\t            <td>残土・ガラ処理</td>
  6566. \t\t\t            <td>1</td>
  6567. \t\t\t            <td>式</td>
  6568. \t\t\t            <td>0円</td>
  6569. \t\t\t            <td></td>
  6570. \t\t\t          </tr>
  6571. \t\t\t          <tr>
  6572. \t\t\t            <td> </td>
  6573. \t\t\t            <td></td>
  6574. \t\t\t            <td></td>
  6575. \t\t\t            <td></td>
  6576. \t\t\t            <td></td>
  6577. \t\t\t          </tr>
  6578. \t\t\t        </tbody>
  6579. \t\t\t      </table>
  6580. \t\t\t    </div>
  6581. \t\t\t    <!-- /.col -->
  6582. \t\t\t  </div>
  6583. \t\t\t  <!-- /.row -->
  6584. \t\t\t  <div class=\"row\">
  6585. \t\t\t    <!-- accepted payments column -->
  6586. \t\t\t    <div class=\"col-6\">
  6587. \t\t\t      <p class=\"lead\">お支払い方法</p>
  6588. \t\t\t      <p class=\"text-muted well well-sm shadow-none\" style=\"margin-top: 10px;\">銀行振込、クレジットカード決済、PAYPAY決済
  6589. \t\t\t        <br>銀行振込:山梨中央銀行 白根支店 普通口座 391402
  6590. \t\t\t        <br>※商品代金と工事代金の総額が金100万円(税込)を超える場合、着手金として代金の半額をご契約後お支払いいただきます。 
  6591. \t\t\t      </p>
  6592. \t\t\t    </div>
  6593. \t\t\t    <!-- /.col -->
  6594. \t\t\t    <div class=\"col-6\">
  6595. \t\t\t      <div class=\"table-responsive\">
  6596. \t\t\t        <table class=\"table\">
  6597. \t\t\t          <tbody>
  6598. \t\t\t            <tr>
  6599. \t\t\t              <th style=\"width:50%\">小計:</th>
  6600. \t\t\t              <td id=\"mitsumori_shoukei\">362,800</td>
  6601. \t\t\t            </tr>
  6602. \t\t\t            <tr>
  6603. \t\t\t              <th>消費税 (10%)</th>
  6604. \t\t\t              <td id=\"mitsumori_tax\">36,280</td>
  6605. \t\t\t            </tr>
  6606. \t\t\t            <tr>
  6607. \t\t\t              <th>合計:</th>
  6608. \t\t\t              <td id=\"mitsumori_goukei_02\">399,080</td>
  6609. \t\t\t            </tr>
  6610. \t\t\t          </tbody>
  6611. \t\t\t        </table>
  6612. \t\t\t      </div>
  6613. \t\t\t    </div>
  6614. \t\t\t    <!-- /.col -->
  6615. \t\t\t  </div>
  6616. \t\t\t  <!-- /.row -->
  6617. \t\t\t</div>
  6618.         </div>
  6619.         <div class=\"modal-footer justify-content-between\">
  6620. \t\t\t      {# PDF出力: mitsumori_json を POST して PDF ダウンロード #}
  6621. \t\t\t      <form method=\"post\" action=\"{{ url('mitsumori_pdf') }}\" target=\"_blank\" id=\"pdf_download_form\">
  6622. \t\t\t        <input type=\"hidden\" name=\"_token\" value=\"{{ csrf_token('mitsumori_pdf') }}\">
  6623. \t\t\t        <input type=\"hidden\" name=\"mitsumori_json\" id=\"pdf_mitsumori_json\">
  6624. \t\t\t        <button type=\"submit\" class=\"btn btn-primary float-right\" style=\"margin-right: 5px;\" onclick=\"syncPdfJson();\">
  6625. \t\t\t          <i class=\"fas fa-download\"></i>PDF出力
  6626. \t\t\t        </button>
  6627. \t\t\t      </form>
  6628.                   <button type=\"submit\" id=\"cart_btn3\" class=\"btn btn-info add-cart\">カートに入れる</button>
  6629.         </div>
  6630.       </div>
  6631.       <!-- /.modal-content -->
  6632.     </div>
  6633.     <!-- /.modal-dialog -->
  6634.   </div>
  6635.   <!-- /.modal -->
  6636. {% endblock %}
  6637. ""Product/detail.twig""/home/xs538259/exterior-plus.jp/public_html/app/template/default/Product/detail.twig");
  6638.     }
  6639. }