<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* Product/detail.twig */
class __TwigTemplate_da5ad31feda8695d41b76c2e300641cf69fccce492d7fb053b687f2a0b3adb3c extends \Eccube\Twig\Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'stylesheet' => [$this, 'block_stylesheet'],
'javascript' => [$this, 'block_javascript'],
'main' => [$this, 'block_main'],
];
}
protected function doGetParent(array $context)
{
// line 11
return "default_frame.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "Product/detail.twig"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "Product/detail.twig"));
// line 13
$context["body_class"] = "product_page";
// line 11
$this->parent = $this->loadTemplate("default_frame.twig", "Product/detail.twig", 11);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
}
// line 15
public function block_stylesheet($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
// line 16
echo " <style>
.slick-slider {
margin-bottom: 10px;
\t\t\tmargin-top: -20px;
}
.slick-dots {
position: absolute;
bottom: -45px;
display: block;
width: 100%;
padding: 0;
list-style: none;
text-align: center;
}
.slick-dots li {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
margin: 0 5px;
padding: 0;
cursor: pointer;
}
.slick-dots li button {
font-size: 0;
line-height: 0;
display: block;
width: 20px;
height: 20px;
padding: 5px;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
opacity: 1;
}
.slick-dots li button:before {
content: \" \";
line-height: 20px;
position: absolute;
top: 0;
left: 0;
width: 12px;
height: 12px;
text-align: center;
opacity: .25;
background-color: black;
border-radius: 50%;
}
.slick-dots li.slick-active button:before {
opacity: .75;
background-color: black;
}
.slick-dots li button.thumbnail img {
width: 0;
height: 0;
}
</style>
<link rel=\"stylesheet\" href=\"/html/user_data/js/style.css\">
<link rel=\"stylesheet\" href=\"/html/plugins/icheck-bootstrap/icheck-bootstrap.min.css\">
<style>
/* ============================================
商品詳細グリッド: 画像50% / 内容50%(均等)
============================================ */
@media (min-width: 768px) {
body.product_page .ec-grid2 {
display: flex;
align-items: flex-start;
}
body.product_page .ec-grid2 .ec-grid2__cell {
width: 50%;
flex: 0 0 50%;
min-width: 0;
}
body.product_page .ec-grid2 .ec-grid2__cell2 {
width: 50%;
flex: 0 0 50%;
min-width: 0;
}
}
/* ============================================
商品説明欄内のHTMLが画面幅を突き抜けないように
============================================ */
body.product_page .ec-productRole__description {
min-width: 0;
overflow-wrap: break-word;
word-break: break-word;
}
body.product_page .ec-productRole__description img,
body.product_page .ec-productRole__description table,
body.product_page .ec-productRole__description iframe,
body.product_page .ec-productRole__description video {
max-width: 100% !important;
height: auto;
}
body.product_page .ec-productRole__description table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
/* ============================================
スマホ用 見積金額 下部固定バー
============================================ */
#sp-mitsumori-bar {
display: none;
}
/* ============================================
商品タイプ選択 共通スタイル
============================================ */
/* セクションラベル */
.rp-section-label {
font-size: 14px;
font-weight: bold;
color: #333;
margin-bottom: 10px;
}
.rp-section-label span {
font-weight: normal;
color: #c00;
}
/* ---- 1. 画像付きカード ---- */
.rp-card-group {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 4px;
}
.rp-card {
position: relative;
cursor: pointer;
width: 110px;
border: 2px solid #ddd;
border-radius: 10px;
overflow: hidden;
transition: border-color 0.2s, box-shadow 0.2s;
background: #fff;
}
.rp-card:hover {
border-color: #999;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.rp-card.is-selected {
border-color: #1a6fcf;
box-shadow: 0 2px 10px rgba(26,111,207,0.25);
}
.rp-card input[type=\"radio\"] { display: none; }
.rp-card__image {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
display: block;
background: #f5f5f5;
}
.rp-card__placeholder {
width: 100%;
aspect-ratio: 1 / 1;
background: #f0f0f0;
display: flex;
align-items: center;
justify-content: center;
color: #bbb;
font-size: 24px;
}
.rp-card__name {
display: block;
padding: 5px 5px;
font-size: 11px;
color: #333;
text-align: center;
line-height: 1.4;
word-break: break-all;
}
.rp-card.is-selected .rp-card__name { color: #1a6fcf; font-weight: bold; }
.rp-card.is-selected::after {
content: \"✓\";
position: absolute;
top: 3px; right: 6px;
color: #1a6fcf;
font-size: 13px;
font-weight: bold;
}
/* ---- 2. ボタン式ラジオ(画像なし・8個以内)---- */
.rp-btn-group {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 4px;
max-width: 100%;
min-width: 0;
}
.rp-btn {
cursor: pointer;
padding: 8px 14px;
border: 2px solid #ddd;
border-radius: 10px;
font-size: 13px;
color: #333;
background: #fff;
transition: border-color 0.2s, background 0.2s;
white-space: nowrap;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
.rp-btn:hover { border-color: #999; }
.rp-btn.is-selected {
border-color: #1a6fcf;
color: #1a6fcf;
font-weight: bold;
background: #f0f6ff;
}
.rp-btn input[type=\"radio\"] { display: none; }
/* ---- ボタン群が3行以上になる場合は1行横スクロール ---- */
.rp-btn-group.is-scroll,
.opt-btn-group.is-scroll {
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
padding-bottom: 6px;
}
.rp-btn-group.is-scroll::-webkit-scrollbar,
.opt-btn-group.is-scroll::-webkit-scrollbar {
height: 6px;
}
.rp-btn-group.is-scroll::-webkit-scrollbar-thumb,
.opt-btn-group.is-scroll::-webkit-scrollbar-thumb {
background: #c0c0c0;
border-radius: 3px;
}
.rp-btn-group.is-scroll > .rp-btn,
.opt-btn-group.is-scroll > .opt-btn {
flex: 0 0 auto;
}
/* ---- 3. プルダウン(画像なし・9個以上)---- */
.rp-select-wrap {
margin-bottom: 4px;
}
.rp-select {
width: 100%;
max-width: 420px;
padding: 8px 12px;
border: 2px solid #ddd;
border-radius: 10px;
font-size: 13px;
color: #333;
background: #fff;
appearance: none;
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\");
background-repeat: no-repeat;
background-position: right 12px center;
cursor: pointer;
}
.rp-select:focus {
outline: none;
border-color: #1a6fcf;
}
/* ---- オプション選択ボタン(枠線ラジオ)---- */
.opt-btn-group {
display: flex;
flex-wrap: wrap;
gap: 8px;
padding: 6px 0;
max-width: 100%;
min-width: 0;
}
.opt-btn {
cursor: pointer;
padding: 7px 14px;
border: 2px solid #ddd;
border-radius: 10px;
font-size: 13px;
color: #333;
background: #fff;
transition: border-color 0.2s, background 0.2s;
white-space: nowrap;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
.opt-btn:hover { border-color: #999; }
.opt-btn.is-selected {
border-color: #1a6fcf;
color: #1a6fcf;
font-weight: bold;
background: #f0f6ff;
}
.opt-btn input[type=\"radio\"] { display: none; }
/* ============================================
施工エリア案内
============================================ */
.ec-areaNotice {
margin: 16px 0;
padding: 16px 20px;
background: #f8f9fa;
border-left: 4px solid #1a6fcf;
border-radius: 0 8px 8px 0;
}
.ec-areaNotice__inner {
display: flex;
align-items: flex-start;
gap: 12px;
}
.ec-areaNotice__icon {
font-size: 22px;
line-height: 1;
flex-shrink: 0;
margin-top: 2px;
}
.ec-areaNotice__body {
flex: 1;
}
.ec-areaNotice__title {
font-size: 13px;
font-weight: bold;
color: #1a6fcf;
margin: 0 0 6px;
}
.ec-areaNotice__text {
font-size: 13px;
color: #444;
line-height: 1.7;
margin: 0;
}
.ec-areaNotice__text strong {
color: #222;
}
.ec-areaNotice__link {
display: inline-block;
margin-top: 8px;
font-size: 12px;
color: #1a6fcf;
text-decoration: underline;
}
.ec-areaNotice__link:hover {
color: #0d4fa0;
}
/* ============================================
SNSシェア + ブランド名 タイトル行
============================================ */
.ec-productRole__titleRow {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
margin-bottom: 4px;
}
.ec-productRole__titleRow .ec-headingTitle {
margin: 0;
flex: 1;
font-size: 18px;
}
.ec-share-inline {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0;
}
@media (max-width: 767px) {
/* maker_area の float を解除して独立表示 */
#maker_area {
float: none !important;
width: auto !important;
height: auto !important;
display: block;
margin-bottom: 4px;
}
/* タイトル行: 商品名が全幅を占有しSNSは右寄せ下段 */
.ec-productRole__titleRow {
flex-wrap: wrap;
clear: both;
}
.ec-productRole__titleRow .ec-headingTitle {
flex: 1 1 100%;
font-size: 16px;
}
.ec-share-inline {
flex: 0 0 auto;
margin-left: auto;
}
}
.ec-share-inline a {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
font-size: 15px;
color: #fff;
text-decoration: none;
transition: opacity 0.2s;
}
.ec-share-inline a:hover { opacity: 0.8; }
.ec-share-inline .share-twitter { background: #000; }
.ec-share-inline .share-facebook { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.ec-share-inline .share-line { background: #06c755; }
/* description_detail下のシェアブロックはPC/スマホ共通で非表示(タイトル行に移動) */
.ec-productRole__share { display: none; }
/* ============================================
PC用: 現在のお見積り額カード強調
============================================ */
@media (min-width: 768px) {
.mitsumori-card-pc {
border: 2px solid #1a6fcf !important;
border-radius: 10px !important;
box-shadow: 0 4px 16px rgba(26,111,207,0.18) !important;
margin-top: 20px;
overflow: hidden;
background: linear-gradient(135deg, #1a6fcf, #0d4fa0) !important;
}
.mitsumori-card-pc .card-header {
background: linear-gradient(135deg, #1a6fcf, #0d4fa0) !important;
color: #fff !important;
padding: 14px 16px !important;
border-bottom: none !important;
}
.mitsumori-card-pc .card-title {
color: #fff !important;
font-size: 15px !important;
font-weight: bold !important;
margin: 0 !important;
}
.mitsumori-card-pc #mitsumori_message {
font-size: 22px !important;
font-weight: bold !important;
color: #fff !important;
}
.mitsumori-card-pc .btn-tool {
color: #fff !important;
}
/* 合計行を大きく強調 */
.mitsumori-card-pc .nav-item:first-child .nav-link {
font-size: 16px !important;
font-weight: bold !important;
color: #c00 !important;
background: #fff8f8 !important;
padding: 12px 16px !important;
}
.mitsumori-card-pc .nav-item:first-child #mitsumori_goukei {
font-size: 20px !important;
font-weight: bold !important;
color: #c00 !important;
}
/* card-body(明細リスト)を白背景に */
.mitsumori-card-pc .card-body {
background: #fff !important;
}
.mitsumori-card-pc .card-footer {
background: #f8faff !important;
border-top: 1px solid #dce8fb !important;
padding: 12px 16px !important;
}
}
@media (max-width: 767px) {
/* スマホでは現在のお見積り額カードの強調スタイルをすべてリセット */
.mitsumori-card-pc {
border: none !important;
border-radius: 0 !important;
box-shadow: none !important;
margin-top: 0 !important;
overflow: visible !important;
background: none !important;
}
.mitsumori-card-pc .card-header {
background: none !important;
color: inherit !important;
padding: inherit !important;
border-bottom: inherit !important;
}
.mitsumori-card-pc .card-title { color: inherit !important; }
.mitsumori-card-pc #mitsumori_message { font-size: inherit !important; color: inherit !important; }
.mitsumori-card-pc .btn-tool { color: inherit !important; }
/* 折りたたみトグルボタン */
.btn-mitsumori-toggle {
background: none !important;
border: 1px solid #aaa !important;
border-radius: 4px !important;
padding: 2px 8px !important;
font-size: 12px !important;
color: #333 !important;
line-height: 1.4 !important;
}
.btn-mitsumori-toggle .toggle-icon {
display: inline-block;
transition: transform 0.2s;
}
/* 展開状態: ▼→▲ */
.card:not(.collapsed-card) .btn-mitsumori-toggle .toggle-icon::before {
content: \"▲ 閉じる\";
}
.card:not(.collapsed-card) .btn-mitsumori-toggle .toggle-icon {
display: none;
}
.card:not(.collapsed-card) .btn-mitsumori-toggle::after {
content: \"▲ 閉じる\";
font-size: 12px;
}
.mitsumori-card-pc .nav-item:first-child .nav-link {
font-size: inherit !important;
color: inherit !important;
background: none !important;
padding: inherit !important;
}
.mitsumori-card-pc .nav-item:first-child #mitsumori_goukei {
font-size: inherit !important;
color: inherit !important;
}
.mitsumori-card-pc .card-footer {
background: none !important;
border-top: inherit !important;
padding: inherit !important;
}
/* 横スクロール禁止 */
body, html {
overflow-x: hidden;
max-width: 100vw;
}
/* ボタンの折り返しを許可(nowrapが原因で横スクロール発生するため) */
.opt-btn,
.rp-btn {
white-space: normal;
word-break: break-all;
}
/* エリア案内: スマホでコンパクト */
.ec-areaNotice {
margin: 8px 0;
padding: 8px 10px;
border-left-width: 3px;
cursor: pointer;
}
.ec-areaNotice__inner {
flex-direction: row;
gap: 8px;
align-items: flex-start;
}
.ec-areaNotice__icon { font-size: 15px; }
/* タイトル行: 展開トグル */
.ec-areaNotice__title {
font-size: 11px;
margin-bottom: 3px;
display: flex;
justify-content: space-between;
align-items: center;
}
.ec-areaNotice__title::after {
content: \"▼\";
font-size: 9px;
color: #888;
margin-left: 6px;
transition: transform 0.2s;
}
.ec-areaNotice.is-open .ec-areaNotice__title::after {
transform: rotate(180deg);
}
/* 折りたたみ対象: 閉じた状態では非表示 */
.ec-areaNotice__detail {
display: none;
}
.ec-areaNotice.is-open .ec-areaNotice__detail {
display: block;
}
.ec-areaNotice__text { font-size: 11px; line-height: 1.5; }
.ec-areaNotice__text br { display: none; }
.ec-areaNotice__link { font-size: 11px; margin-top: 3px; }
.rp-card { width: calc(33.333% - 6px); min-width: 80px; }
#sp-mitsumori-bar {
display: flex;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 1000;
background: #fff;
border-top: 2px solid #e0e0e0;
box-shadow: 0 -2px 8px rgba(0,0,0,0.12);
align-items: center;
padding: 8px 12px;
gap: 10px;
}
#sp-mitsumori-bar .sp-bar__label {
font-size: 11px;
color: #666;
white-space: nowrap;
}
#sp-mitsumori-bar .sp-bar__price {
font-size: 18px;
font-weight: bold;
color: #c00;
flex: 1;
}
#sp-mitsumori-bar .sp-bar__btn {
font-size: 12px;
padding: 8px 12px;
background: #333;
color: #fff;
border: none;
border-radius: 6px;
white-space: nowrap;
cursor: pointer;
}
/* 下部バーの高さ分ページ下部にpaddingを追加 */
body {
padding-bottom: 64px;
}
}
</style>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 661
public function block_javascript($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
// line 662
echo "
<script>
eccube.classCategories = ";
// line 664
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.', 664, $this->source); })()));
echo ";
// 規格2に選択肢を割り当てる。
function fnSetClassCategories(form, classcat_id2_selected) {
var \$form = \$(form);
var product_id = \$form.find('input[name=product_id]').val();
var \$sele1 = \$form.find('select[name=classcategory_id1]');
var \$sele2 = \$form.find('select[name=classcategory_id2]');
eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
}
";
// line 675
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 675)) {
// line 676
echo " fnSetClassCategories(
\$('#form1'), ";
// line 677
echo json_encode(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, 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.', 677, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 677), "vars", [], "any", false, false, false, 677), "value", [], "any", false, false, false, 677));
echo "
);
";
} elseif (twig_get_attribute($this->env, $this->source, // line 679
($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 679)) {
// line 680
echo " eccube.checkStock(\$('#form1'), ";
echo twig_escape_filter($this->env, 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.', 680, $this->source); })()), "id", [], "any", false, false, false, 680), "html", null, true);
echo ", ";
echo json_encode(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, 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.', 680, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 680), "vars", [], "any", false, false, false, 680), "value", [], "any", false, false, false, 680));
echo ", null);
";
}
// line 682
echo " </script>
<script>
\$(function() {
// bfcache無効化
\$(window).bind('pageshow', function(event) {
if (event.originalEvent.persisted) {
location.reload(true);
}
});
// Core Web Vital の Cumulative Layout Shift(CLS)対策のため
// img タグに width, height が付与されている.
// 630px 未満の画面サイズでは縦横比が壊れるための対策
// see https://github.com/EC-CUBE/ec-cube/pull/5023
\$('.ec-grid2__cell').hide();
var removeSize = function () {
\$('.slide-item').height('');
\$('.slide-item img')
.removeAttr('width')
.removeAttr('height')
.removeAttr('style');
};
var slickInitial = function(slick) {
\$('.ec-grid2__cell').fadeIn(1500);
var baseHeight = \$(slick.target).height();
var baseWidth = \$(slick.target).width();
var rate = baseWidth / baseHeight;
\t\t\t\tif(baseHeight * rate < 400){
\t \$('.slide-item').height(baseHeight * rate); // 余白を削除する
\t\t\t\t}else{
\t \$('.slide-item').height(400); // 余白を削除する
\t\t\t\t}
// transform を使用することでCLSの影響を受けないようにする
\$('.slide-item img')
.css(
{
'transform-origin': 'top left',
'transform': 'scaleY(' + rate + ')',
'transition': 'transform .1s'
}
);
// 正しいサイズに近くなったら属性を解除する
setTimeout(removeSize, 500);
};
\$('.item_visual').on('init', slickInitial);
// リサイズ時は CLS の影響を受けないため属性を解除する
\$(window).resize(removeSize);
\$('.item_visual').slick({
dots: false,
arrows: true,
responsive: [{
breakpoint: 768,
settings: {
dots: true,
\t\tarrows: false
}
}]
});
\$('.slideThumb').on('click', function() {
var index = \$(this).attr('data-index');
\$('.item_visual').slick('slickGoTo', index, false);
})
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
";
// line 752
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 752)) {
// line 753
echo " // 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('";
// line 755
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
";
}
// line 761
echo "
";
// line 762
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 762)) {
// line 763
echo " // 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('";
// line 765
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("項目が選択されていません"), "html", null, true);
echo "');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
";
}
// line 771
echo "
// タイプ2: カート送信直前に set_count を quantity に同期
if(\$('#set_count').length){
var _sc = parseInt(\$('#set_count').val()) || 1;
\$('#quantity').val(_sc);
\$('input[name=\"quantity\"]').val(_sc);
}
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('";
// line 781
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html", null, true);
echo "');
return true;
} else {
\$('#quantity')[0].setCustomValidity('');
}
event.preventDefault();
\$form = \$('#form1');
\$.ajax({
url: \$form.attr('action'),
type: \$form.attr('method'),
data: \$form.serialize(),
dataType: 'json',
beforeSend: function(xhr, settings) {
// Buttonを無効にする
\$('.add-cart').prop('disabled', true);
}
}).done(function(data) {
// レスポンス内のメッセージをalertで表示
\$.each(data.messages, function() {
\$('#ec-modal-header').text(this);
});
\$('.ec-modal').show()
// カートブロックを更新する
\$.ajax({
url: \"";
// line 808
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
echo "\",
type: 'GET',
dataType: 'html'
}).done(function(html) {
\$('.ec-headerRole__cart').html(html);
});
}).fail(function(data) {
alert('";
// line 815
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("施工検討リストへの追加に失敗しました。"), "html", null, true);
echo "');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
});
\$('.ec-modal-wrap').on('click', function(e) {
// モーダル内の処理は外側にバブリングさせない
e.stopPropagation();
});
\$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
\$('.ec-modal').hide()
});
\t\tvar pw = \"";
// line 832
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 832, $this->source); })())) {
echo twig_escape_filter($this->env, 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.', 832, $this->source); })()), "pw", [], "any", false, false, false, 832), "html", null, true);
}
echo "\";
\t\tvar pd = \"";
// line 833
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 833, $this->source); })())) {
echo twig_escape_filter($this->env, 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.', 833, $this->source); })()), "pd", [], "any", false, false, false, 833), "html", null, true);
}
echo "\";
\t\tvar ph = \"";
// line 834
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 834, $this->source); })())) {
echo twig_escape_filter($this->env, 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.', 834, $this->source); })()), "ph", [], "any", false, false, false, 834), "html", null, true);
}
echo "\";
\t\tvar pm = \"";
// line 835
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 835, $this->source); })())) {
echo twig_escape_filter($this->env, 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.', 835, $this->source); })()), "pm", [], "any", false, false, false, 835), "html", null, true);
}
echo "\";
\t\tvar pc = \"";
// line 836
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 836, $this->source); })())) {
echo twig_escape_filter($this->env, 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.', 836, $this->source); })()), "pc", [], "any", false, false, false, 836), "html", null, true);
}
echo "\";
\t\tvar op0 = \"";
// line 837
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 837, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 837, $this->source); })()), "op", [], "any", false, false, false, 837), 0, [], "array", false, false, false, 837), "html", null, true);
}
echo "\";
\t\tvar op1 = \"";
// line 838
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 838, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 838, $this->source); })()), "op", [], "any", false, false, false, 838), 1, [], "array", false, false, false, 838), "html", null, true);
}
echo "\";
\t\tvar op2 = \"";
// line 839
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 839, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 839, $this->source); })()), "op", [], "any", false, false, false, 839), 2, [], "array", false, false, false, 839), "html", null, true);
}
echo "\";
\t\tvar op3 = \"";
// line 840
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 840, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 840, $this->source); })()), "op", [], "any", false, false, false, 840), 3, [], "array", false, false, false, 840), "html", null, true);
}
echo "\";
\t\tvar op4 = \"";
// line 841
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 841, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 841, $this->source); })()), "op", [], "any", false, false, false, 841), 4, [], "array", false, false, false, 841), "html", null, true);
}
echo "\";
\t\tvar op5 = \"";
// line 842
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 842, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 842, $this->source); })()), "op", [], "any", false, false, false, 842), 5, [], "array", false, false, false, 842), "html", null, true);
}
echo "\";
\t\tvar op6 = \"";
// line 843
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 843, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 843, $this->source); })()), "op", [], "any", false, false, false, 843), 6, [], "array", false, false, false, 843), "html", null, true);
}
echo "\";
\t\tvar op7 = \"";
// line 844
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 844, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 844, $this->source); })()), "op", [], "any", false, false, false, 844), 7, [], "array", false, false, false, 844), "html", null, true);
}
echo "\";
\t\tvar op8 = \"";
// line 845
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 845, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 845, $this->source); })()), "op", [], "any", false, false, false, 845), 8, [], "array", false, false, false, 845), "html", null, true);
}
echo "\";
\t\tvar op9 = \"";
// line 846
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 846, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 846, $this->source); })()), "op", [], "any", false, false, false, 846), 9, [], "array", false, false, false, 846), "html", null, true);
}
echo "\";
\t\tvar op10 = \"";
// line 847
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 847, $this->source); })())) {
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 847, $this->source); })()), "op", [], "any", false, false, false, 847), 10, [], "array", false, false, false, 847), "html", null, true);
}
echo "\";
\t\tconst formatter = new Intl.NumberFormat('ja-JP');
\t\tfunction mitsumori_simulation(type , value_id){
\t\t\tvar pp = ";
// line 852
echo (isset($context["pp"]) || array_key_exists("pp", $context) ? $context["pp"] : (function () { throw new RuntimeError('Variable "pp" does not exist.', 852, $this->source); })());
echo ";
\t\t\tif(type == \"pw\"){
\t\t\t\tpw = \$('#'+value_id).val();
\t\t\t}
\t\t\tif(type == \"pd\"){
\t\t\t\tpd = \$('#'+value_id).val();
\t\t\t}
\t\t\tif(type == \"ph\"){
\t\t\t\tph = \$('#'+value_id).val();
\t\t\t}
\t\t\tif(type == \"pm\"){
\t\t\t\tpm = \$('#'+value_id).val();
\t\t\t}
\t\t\tif(type == \"pc\"){
\t\t\t\tpc = \$('#'+value_id).val();
\t\t\t}
\t\t\tif(type == \"op0\"){ op0 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op1\"){ op1 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op2\"){ op2 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op3\"){ op3 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op4\"){ op4 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op5\"){ op5 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op6\"){ op6 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op7\"){ op7 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op8\"){ op8 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op9\"){ op9 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op10\"){ op10 = \$('#'+value_id).val(); }
\t\t\t// op系: ボタンの is-selected を選択中のものに付け替え + radio チェック
\t\t\tif(/^op\\d+\$/.test(type)) {
\t\t\t\tvar \$clicked = \$('#' + value_id);
\t\t\t\t\$clicked.prop('checked', true);
\t\t\t\tvar groupName = \$clicked.attr('name');
\t\t\t\t\$('input[name=\"' + groupName + '\"]').closest('.opt-btn').removeClass('is-selected');
\t\t\t\t\$clicked.closest('.opt-btn').addClass('is-selected');
\t\t\t\t// ラベルの選択値テキスト更新
\t\t\t\tvar \$group = \$clicked.closest('.form-group');
\t\t\t\tvar \$label = \$group.find('.rp-section-label');
\t\t\t\tif (\$label.length) {
\t\t\t\t\tvar labelText = \$label.text().split(':')[0].trim();
\t\t\t\t\t\$label.html(labelText + ': <span>' + \$clicked.val() + '</span>');
\t\t\t\t}
\t\t\t}
\t\t\tif(pm == \"\"){
\t\t\t\t\$('#mitsumori_message').text(\"素材を選択してください\");
\t\t\t}
\t\t\tif(ph == \"\"){
\t\t\t\t\$('#mitsumori_message').text(\"高さを選択してください\");
\t\t\t}
\t\t\tif(pd == \"\"){
\t\t\t\t\$('#mitsumori_message').text(\"奥行きを選択してください\");
\t\t\t}
\t\t\tif(pw == \"\"){
\t\t\t\t\$('#mitsumori_message').text(\"幅を選択してください\");
\t\t\t}
\t\t\tif(pc == \"\"){
\t\t\t\t\$('#mitsumori_message').text(\"カラーを選択してください\");
\t\t\t\t\$('#mitsumori_btn').hide();
\t\t\t\t\$('#mitsumori_goukei').text(\"---円\");
\t\t\t\t\$('#mitsumori_off').text(\"---円\");
\t\t\t\t\$('#mitsumori_price').text(\"---円\");
\t\t\t\t\$('#maker_price').text(\"---円\");
\t\t\t\t\$('#mitsumori_ct').text(\"---円\");
\t\t\t\t\$('#mitsumori_option').text(\"---円\");
\t\t\t}
\t\t\tif(pw != \"\" && pd != \"\" && ph != \"\" && pm != \"\" && pc != \"\"){
\t\t\t\t\$('#mitsumori_btn').show();
\t\t\t\tvar pp_matched = false;
\t\t\t\tpp.forEach((el) => {
\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 == \"指定なし\")){
\t\t\t\t\tpp_matched = true;
\t\t\t\t\tif(op0 == \"商品購入のみ\" || op1 == \"商品購入のみ\" || op2 == \"商品購入のみ\" || op3 == \"商品購入のみ\" || op4 == \"商品購入のみ\"
\t\t\t\t\t\t|| op5 == \"商品購入のみ\" || op6 == \"商品購入のみ\" || op7 == \"商品購入のみ\" || op8 == \"商品購入のみ\" || op9 == \"商品購入のみ\"){
\t\t\t\t\t \t\$('#mitsumori_message').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_goukei').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_off').text(formatter.format(parseInt(el.price) - parseInt(el.maker_price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#maker_price').text(formatter.format(parseInt(el.maker_price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_ct').text(\"0円\");
\t\t\t\t\t \t\$('#mitsumori_option').text(\"0円\");
\t\t\t\t\t \t\$('#mitsumori_kei').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price_01').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price_02').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_ct_01').text(\"0円\");
\t\t\t\t\t \t\$('#mitsumori_ct_02').text(\"0円\");
\t\t\t\t\t \t\$('#mitsumori_goukei_02').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t\tmitsumori_goukei = (parseInt(el.price));
\t\t\t\t\t\tshoukei = mitsumori_goukei / 1.1;
\t\t\t\t\t\ttax = parseInt(mitsumori_goukei - shoukei);
\t\t\t\t\t \t\$('#mitsumori_shoukei').text(formatter.format(parseInt(shoukei)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_tax').text(formatter.format(parseInt(tax)) + \"円\");
\t\t\t\t\t}else{
\t\t\t\t\t \t\$('#mitsumori_message').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_goukei').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_off').text(formatter.format(parseInt(el.price) - parseInt(el.maker_price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#maker_price').text(formatter.format(parseInt(el.maker_price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_ct').text(formatter.format(parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_option').text(\"0円\");
\t\t\t\t\t \t\$('#mitsumori_kei').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price_01').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price_02').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_ct_01').text(formatter.format(parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_ct_02').text(formatter.format(parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_goukei_02').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
\t\t\t\t\t\tmitsumori_goukei = (parseInt(el.price) + parseInt(el.ct));
\t\t\t\t\t\tshoukei = mitsumori_goukei / 1.1;
\t\t\t\t\t\ttax = parseInt(mitsumori_goukei - shoukei);
\t\t\t\t\t \t\$('#mitsumori_shoukei').text(formatter.format(parseInt(shoukei)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_tax').text(formatter.format(parseInt(tax)) + \"円\");
\t\t\t\t\t}
\t\t\t\t }
\t\t\t\t});
\t\t\t\tif (!pp_matched) {
\t\t\t\t\t\$('#mitsumori_message').text(\"この組み合わせは対応しておりません\");
\t\t\t\t\t\$('#mitsumori_btn').hide();
\t\t\t\t\t\$('#mitsumori_goukei').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_off').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_price').text(\"---円\");
\t\t\t\t\t\$('#maker_price').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_ct').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_option').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_kei').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_shoukei').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_tax').text(\"---円\");
\t\t\t\t}\t
\t\t\t\t// タイプ5: ステップ・フェンス・面積の現在値を取得
\t\t\t\tif(\$('input[name=deck_step]:checked').length){ deck_step = \$('input[name=deck_step]:checked').val(); }
\t\t\t\tif(\$('input[name=deck_fence]:checked').length){ deck_fence = \$('input[name=deck_fence]:checked').val(); }
\t\t\t\t// タイプ2: 窓サイズ・窓タイプ・ガラスタイプ・セット数
\t\t\t\tvar mado_w_val = \$('#mado_w').val() || '';
\t\t\t\tvar mado_h_val = \$('#mado_h').val() || '';
\t\t\t\tvar mado_type_val = \$('input[name=mado_type]:checked').val() || '';
\t\t\t\tvar glass_type_val = \$('input[name=glass_type]:checked').val() || '';
\t\t\t\tvar set_count_val = parseInt(\$('#set_count').val()) || 1;
\t\t\t\t// タイプ3: 台数
\t\t\t\tvar daisu_val = parseInt(\$('#daisu').val()) || 1;
\t\t\t\t// タイプ4・6: 枚数
\t\t\t\tvar maisu_val = parseInt(\$('#maisu').val()) || 1;
\t\t\t\t// タイプ5: 面積
\t\t\t\tvar area_val = \$('#area').val() || '';
\t\t\t\t// sale_type
\t\t\t\tvar sale_type_id = ";
// line 1013
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_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.', 1013, $this->source); })()), "SaleType", [], "any", false, false, false, 1013), "id", [], "any", false, false, false, 1013), "html", null, true);
echo ";
\t\t\t\tvar mitsumori_json = { \"mitsumori_goukei\": \$('#mitsumori_goukei').text(),
\t\t\t\t\t\t\t\t\t\t\"mitsumori_goukei_02\": \$('#mitsumori_goukei_02').text(),
\t\t\t\t\t\t\t\t\t\t\"mitsumori_price\": \$('#mitsumori_price').text(),
\t\t\t\t\t\t\t\t\t\t\"maker_price\": \$('#maker_price').text(),
\t\t\t\t\t\t\t\t\t\t\"mitsumori_off\": \$('#mitsumori_off').text(),
\t\t\t\t\t\t\t\t\t\t\"mitsumori_ct\": \$('#mitsumori_ct').text(),
\t\t\t\t\t\t\t\t\t\t\"mitsumori_option\": \$('#mitsumori_option').text(),
\t\t\t\t\t\t\t\t\t\t\"product_id\": ";
// line 1022
echo twig_escape_filter($this->env, 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.', 1022, $this->source); })()), "id", [], "any", false, false, false, 1022), "html", null, true);
echo ",
\t\t\t\t\t\t\t\t\t\t\"sale_type\": sale_type_id,
\t\t\t\t\t\t\t\t\t\t\"pw\": pw,
\t\t\t\t\t\t\t\t\t\t\"pd\": pd,
\t\t\t\t\t\t\t\t\t\t\"ph\": ph,
\t\t\t\t\t\t\t\t\t\t\"pm\": pm,
\t\t\t\t\t\t\t\t\t\t\"pc\": pc,
\t\t\t\t\t\t\t\t\t\t\"op\": [op0,op1,op2,op3,op4,op5,op6,op7,op8,op9,op10],
\t\t\t\t\t\t\t\t\t\t\"mado_w\": mado_w_val,
\t\t\t\t\t\t\t\t\t\t\"mado_h\": mado_h_val,
\t\t\t\t\t\t\t\t\t\t\"mado_type\": mado_type_val,
\t\t\t\t\t\t\t\t\t\t\"glass_type\": glass_type_val,
\t\t\t\t\t\t\t\t\t\t\"set_count\": set_count_val,
\t\t\t\t\t\t\t\t\t\t\"daisu\": daisu_val,
\t\t\t\t\t\t\t\t\t\t\"maisu\": maisu_val,
\t\t\t\t\t\t\t\t\t\t\"area\": area_val,
\t\t\t\t\t\t\t\t\t\t\"deck_step\": deck_step,
\t\t\t\t\t\t\t\t\t\t\"deck_fence\": deck_fence };
\t\t\t\t\$('#mitsumori_json').val(JSON.stringify(mitsumori_json));
\t\t\t\t
\t\t\t}
\t\t\t
\t\t}
";
// line 1048
if (((isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1048, $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.', 1048, $this->source); })())) == 1))) {
// line 1049
echo " pc = \"指定なし\";
\t\t\t";
// line 1050
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1050, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["cc"]) {
if (($context["cc"] && twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1050))) {
echo " pc = \"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1050), "html", null, true);
echo "\"; ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cc'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1051
echo "\t\t";
}
// line 1052
echo "
";
// line 1053
if (((isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1053, $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.', 1053, $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.', 1053, $this->source); })())) == "")))) {
// line 1054
echo " pw = \"指定なし\";
\t\t\t";
// line 1055
$context['_parent'] = $context;
$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.', 1055, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pw"]) {
if ($context["pw"]) {
echo " pw = \"";
echo twig_escape_filter($this->env, $context["pw"], "html", null, true);
echo "\"; ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1056
echo "\t\t";
}
// line 1057
echo "
";
// line 1058
if (((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1058, $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.', 1058, $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.', 1058, $this->source); })())) == "")))) {
// line 1059
echo " pd = \"指定なし\";
\t\t\t";
// line 1060
$context['_parent'] = $context;
$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.', 1060, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pd"]) {
if ($context["pd"]) {
echo " pd = \"";
echo twig_escape_filter($this->env, $context["pd"], "html", null, true);
echo "\"; ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1061
echo "\t\t";
}
// line 1062
echo "
";
// line 1063
if (((isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1063, $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.', 1063, $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.', 1063, $this->source); })())) == "")))) {
// line 1064
echo " ph = \"指定なし\";
\t\t\t";
// line 1065
$context['_parent'] = $context;
$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.', 1065, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["ph"]) {
if ($context["ph"]) {
echo " ph = \"";
echo twig_escape_filter($this->env, $context["ph"], "html", null, true);
echo "\"; ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ph'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1066
echo "\t\t";
}
// line 1067
echo "
";
// line 1068
if (((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1068, $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.', 1068, $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.', 1068, $this->source); })())) == "")))) {
// line 1069
echo " pm = \"指定なし\";
\t\t\t";
// line 1070
$context['_parent'] = $context;
$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.', 1070, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pm"]) {
if ($context["pm"]) {
echo " pm = \"";
echo twig_escape_filter($this->env, $context["pm"], "html", null, true);
echo "\"; ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1071
echo "\t\t";
}
// line 1072
echo "
\t\t// ページ読み込み時: タイプ別に quantity の初期値をセット
\t\t(function initQuantityByType(){
\t\t\tvar saleType = ";
// line 1075
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_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.', 1075, $this->source); })()), "SaleType", [], "any", false, false, false, 1075), "id", [], "any", false, false, false, 1075), "html", null, true);
echo ";
\t\t\tif(saleType == 2 && \$('#set_count').length){
\t\t\t\tvar _v = parseInt(\$('#set_count').val()) || 1;
\t\t\t\t\$('#quantity').val(_v);
\t\t\t\t\$('input[name=\"quantity\"]').val(_v);
\t\t\t} else if(saleType == 3 && \$('#daisu').length){
\t\t\t\t\$('#quantity').val(parseInt(\$('#daisu').val()) || 1);
\t\t\t} else if((saleType == 4 || saleType == 6) && \$('#maisu').length){
\t\t\t\t\$('#quantity').val(parseInt(\$('#maisu').val()) || 1);
\t\t\t} else if(saleType == 9 && \$('#quantity_only').length){
\t\t\t\t\$('#quantity').val(parseInt(\$('#quantity_only').val()) || 1);
\t\t\t}
\t\t})();
\t\t// type → ラベルのプレフィックス文字列
\t\tvar optLabelMap = {pc:'カラー', pw:'幅', pd:'奥行き', ph:'高さ', pm:'素材'};
\t\t// type → input[name]
\t\tvar optNameMap = {pc:'color', pw:'pw', pd:'pd', ph:'ph', pm:'pm'};
\t\t// opt-btn用: 値を直接受け取るラッパー
\t\tfunction mitsumori_simulation_val(type, value) {
\t\t\tif (type === 'pc') pc = value;
\t\t\tif (type === 'pw') pw = value;
\t\t\tif (type === 'pd') pd = value;
\t\t\tif (type === 'ph') ph = value;
\t\t\tif (type === 'pm') pm = value;
\t\t\t// is-selected クラスを同グループ内で付け替え
\t\t\tvar inputName = optNameMap[type];
\t\t\tif (inputName) {
\t\t\t\tvar \$btns = \$('input[name=\"' + inputName + '\"]').closest('.opt-btn');
\t\t\t\t\$btns.removeClass('is-selected');
\t\t\t\t\$btns.filter(function(){
\t\t\t\t\treturn \$(this).find('input').val() === value;
\t\t\t\t}).addClass('is-selected');
\t\t\t}
\t\t\t// ラベル行の選択値テキストを更新(例: 「カラー: ブラック」)
\t\t\tvar labelPrefix = optLabelMap[type];
\t\t\tif (labelPrefix) {
\t\t\t\t// 対象のrp-section-labelを特定(input[name]を含む親を遡る)
\t\t\t\tvar \$group = \$('input[name=\"' + inputName + '\"]').first().closest('.form-group');
\t\t\t\tvar \$label = \$group.find('.rp-section-label');
\t\t\t\t\$label.html(labelPrefix + ': <span>' + value + '</span>');
\t\t\t}
\t\t\t// simulation本体を呼ぶ(value_idは空でOK、グローバル変数を使う)
\t\t\tmitsumori_simulation('', '');
\t\t}
\t\tmitsumori_simulation(\"\",\"\");
\t\t// ボタン群: 親幅を超える、または3行以上になる場合は is-scroll で1行横スクロール化
\t\tfunction applyBtnGroupScroll() {
\t\t\t\$('.rp-btn-group, .opt-btn-group').each(function() {
\t\t\t\tvar \$group = \$(this);
\t\t\t\t\$group.removeClass('is-scroll');
\t\t\t\tvar \$items = \$group.children();
\t\t\t\tif (\$items.length === 0) return;
\t\t\t\tvar parentWidth = \$group.parent().width() || \$group.width();
\t\t\t\tvar totalWidth = 0;
\t\t\t\tvar gap = parseInt(\$group.css('gap'), 10) || 8;
\t\t\t\t\$items.each(function() {
\t\t\t\t\ttotalWidth += this.offsetWidth + gap;
\t\t\t\t});
\t\t\t\t// 単一ボタンが親幅を超える、もしくは合計幅が親幅を超える → 横スクロール化
\t\t\t\tvar anyTooWide = false;
\t\t\t\t\$items.each(function() {
\t\t\t\t\tif (this.offsetWidth > parentWidth) { anyTooWide = true; return false; }
\t\t\t\t});
\t\t\t\t// 折り返し時の行数も計測
\t\t\t\tvar tops = {};
\t\t\t\t\$items.each(function() { tops[this.offsetTop] = true; });
\t\t\t\tvar rowCount = Object.keys(tops).length;
\t\t\t\tif (anyTooWide || totalWidth > parentWidth * 2 || rowCount >= 3) {
\t\t\t\t\t\$group.addClass('is-scroll');
\t\t\t\t}
\t\t\t});
\t\t}
\t\tapplyBtnGroupScroll();
\t\t\$(window).on('resize', function() {
\t\t\tclearTimeout(window._btnScrollTimer);
\t\t\twindow._btnScrollTimer = setTimeout(applyBtnGroupScroll, 150);
\t\t});
\t\t// onload: 見積金額が確定している場合は「工事費込み価格」表示を一致させる
\t\t(function syncPrice02Display() {
\t\t\tvar goukeiEl = document.getElementById('mitsumori_goukei');
\t\t\tvar displayEl = document.getElementById('price02-display');
\t\t\tif (!goukeiEl || !displayEl) return;
\t\t\tvar goukeiText = goukeiEl.textContent.trim();
\t\t\t// ---円(未確定)の場合は書き換えない
\t\t\tif (goukeiText && goukeiText !== '---円') {
\t\t\t\tdisplayEl.textContent = goukeiText;
\t\t\t}
\t\t\t// 以降の変更にも追従: mitsumori_goukei を監視
\t\t\tnew MutationObserver(function() {
\t\t\t\tvar text = goukeiEl.textContent.trim();
\t\t\t\tif (text && text !== '---円') {
\t\t\t\t\tdisplayEl.textContent = text;
\t\t\t\t}
\t\t\t}).observe(goukeiEl, { childList: true, subtree: true, characterData: true });
\t\t})();
\t\tfunction contact_form(product_id){
\t\t\t\$('#form1').attr('action', '";
// line 1183
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.', 1183, $this->source); })()), "id", [], "any", false, false, false, 1183)]), "html", null, true);
echo "');
\t\t\t\$('#form1').submit();
\t\t}
\t\t// maisu / madoset は下部の新しい関数定義を使用
\t\tfunction heibei(bei){
\t\t\t\$('#heibei').val(parseInt(\$('#heibei').val()) + bei);
\t\t\tif(parseInt(\$('#heibei').val()) < 1){ \$('#heibei').val(1); }
\t\t\tif(parseInt(\$('#heibei').val()) > 100){ \$('#heibei').val(100); }
\t\t\t\$('#quantity').val(\$('#heibei').val());
\t\t\tmitsumori_simulation('heibei','heibei');
\t\t}
\t\tfunction daisu(dai){
\t\t\t\$('#daisu').val(parseInt(\$('#daisu').val()) + dai);
\t\t\tif(parseInt(\$('#daisu').val()) < 1){ \$('#daisu').val(1); }
\t\t\tif(parseInt(\$('#daisu').val()) > 10){ \$('#daisu').val(10); }
\t\t\t\$('#quantity').val(\$('#daisu').val());
\t\t\tmitsumori_simulation('daisu','daisu');
\t\t}
\t\tfunction maisu(mai){
\t\t\t\$('#maisu').val(parseInt(\$('#maisu').val()) + mai);
\t\t\tif(parseInt(\$('#maisu').val()) < 1){ \$('#maisu').val(1); }
\t\t\tif(parseInt(\$('#maisu').val()) > 100){ \$('#maisu').val(100); }
\t\t\t\$('#quantity').val(\$('#maisu').val());
\t\t\tmitsumori_simulation('maisu','maisu');
\t\t}
\t\t// タイプ2: セット数プルダウン連動
\t\tfunction madosetSelect(val){
\t\t\tvar v = parseInt(val);
\t\t\tif(v < 1) v = 1;
\t\t\tif(v > 20) v = 20;
\t\t\t// id=\"quantity\" と name=\"quantity\" 両方を確実に書き換え
\t\t\t\$('#quantity').val(v);
\t\t\t\$('input[name=\"quantity\"]').val(v);
\t\t\tmitsumori_simulation('set','set_count');
\t\t}
\t\t// タイプ2: ±ボタン版(後方互換)
\t\tfunction madoset(mai){
\t\t\tvar current = parseInt(\$('#set_count').val()) || 1;
\t\t\tvar next = current + mai;
\t\t\tif(next < 1) next = 1;
\t\t\tif(next > 20) next = 20;
\t\t\t\$('#set_count').val(next);
\t\t\tmadosetSelect(next);
\t\t}
\t\t// タイプ5: ステップ・フェンス選択値を mitsumori_json に保存するためのグローバル変数
\t\tvar deck_step = \"";
// line 1233
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1233, $this->source); })())) {
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "deck_step", [], "any", true, true, false, 1233)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "deck_step", [], "any", false, false, false, 1233), "不要")) : ("不要")), "html", null, true);
} else {
echo "不要";
}
echo "\";
\t\tvar deck_fence = \"";
// line 1234
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1234, $this->source); })())) {
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "deck_fence", [], "any", true, true, false, 1234)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "deck_fence", [], "any", false, false, false, 1234), "不要")) : ("不要")), "html", null, true);
} else {
echo "不要";
}
echo "\";
\t\t// PDF出力: モーダルの mitsumori_json をフォームに同期してから送信
\t\tfunction syncPdfJson(){
\t\t\tvar jsonVal = \$('#mitsumori_json').val();
\t\t\t\$('#pdf_mitsumori_json').val(jsonVal);
\t\t}
\t\t// タイプ9: 商品のみ購入
\t\tfunction quantityOnly(val){
\t\t\tvar current = parseInt(\$('#quantity_only').val()) || 1;
\t\t\tvar next = current + val;
\t\t\tif(next < 1) next = 1;
\t\t\t\$('#quantity_only').val(next);
\t\t\t\$('#quantity').val(next);
\t\t}
// ===== スマホ用下部固定バーへの金額同期 =====
// mitsumori_message と mitsumori_goukei を監視して下部バーを更新
(function() {
var msgTarget = document.getElementById('mitsumori_message');
var goukeiTarget = document.getElementById('mitsumori_goukei');
var spPrice = document.getElementById('sp-mitsumori-price');
var spBtn = document.querySelector('#sp-mitsumori-bar .sp-bar__btn');
if (!spPrice || !spBtn) return;
function syncBar() {
var msg = msgTarget ? msgTarget.textContent : '';
var goukei = goukeiTarget ? goukeiTarget.textContent : '---円';
// メッセージが「〇〇を選択してください」の場合はメッセージを表示しボタンを非表示
if (msg.indexOf('選択してください') !== -1) {
spPrice.textContent = msg;
spPrice.style.fontSize = '13px';
spPrice.style.color = '#888';
spBtn.style.display = 'none';
} else {
// 価格確定時はボタンを表示
spPrice.textContent = goukei;
spPrice.style.fontSize = '18px';
spPrice.style.color = '#c00';
spBtn.style.display = 'block';
}
}
// 初期値を同期
syncBar();
// mitsumori_message の変化を監視
if (msgTarget) {
new MutationObserver(syncBar).observe(
msgTarget, { childList: true, subtree: true, characterData: true }
);
}
// mitsumori_goukei の変化も監視
if (goukeiTarget) {
new MutationObserver(syncBar).observe(
goukeiTarget, { childList: true, subtree: true, characterData: true }
);
}
})();
// ===== 現在のお見積り額: 折りたたみトグルボタンのテキスト切り替え =====
(function() {
var card = document.querySelector('.mitsumori-card-pc');
var btn = document.querySelector('.btn-mitsumori-toggle .toggle-icon');
if (!card || !btn) return;
// MutationObserverでcollapsed-cardクラスの変化を監視
new MutationObserver(function() {
if (card.classList.contains('collapsed-card')) {
btn.textContent = '▼ 詳細';
} else {
btn.textContent = '▲ 閉じる';
}
}).observe(card, { attributes: true, attributeFilter: ['class'] });
})();
// ===== エリア案内: スマホのみタップで展開 =====
(function() {
var notice = document.querySelector('.ec-areaNotice');
if (!notice) return;
notice.addEventListener('click', function(e) {
if (window.innerWidth > 767) return;
// リンククリック時は展開/折りたたみせずリンク遷移
if (e.target.tagName === 'A') return;
notice.classList.toggle('is-open');
});
})();
</script>
<script type=\"application/ld+json\">
{
\"@context\": \"https://schema.org/\",
\"@type\": \"Product\",
\"name\": \"";
// line 1328
echo twig_escape_filter($this->env, 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.', 1328, $this->source); })()), "name", [], "any", false, false, false, 1328), "html", null, true);
echo "\",
\"image\": [
";
// line 1330
$context['_parent'] = $context;
$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.', 1330, $this->source); })()), "ProductImage", [], "any", false, false, false, 1330));
$context['_iterated'] = false;
$context['loop'] = [
'parent' => $context['_parent'],
'index0' => 0,
'index' => 1,
'first' => true,
];
if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
$length = count($context['_seq']);
$context['loop']['revindex0'] = $length - 1;
$context['loop']['revindex'] = $length;
$context['loop']['length'] = $length;
$context['loop']['last'] = 1 === $length;
}
foreach ($context['_seq'] as $context["_key"] => $context["img"]) {
// line 1331
echo " \"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1331, $this->source); })()), "request", [], "any", false, false, false, 1331), "schemeAndHttpHost", [], "any", false, false, false, 1331), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["img"], "save_image"), "html", null, true);
echo "\"";
if ( !twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 1331)) {
echo ",";
}
// line 1332
echo "
";
$context['_iterated'] = true;
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
if (!$context['_iterated']) {
// line 1334
echo " \"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1334, $this->source); })()), "request", [], "any", false, false, false, 1334), "schemeAndHttpHost", [], "any", false, false, false, 1334), "html", null, true);
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html", null, true);
echo "\"
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['img'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1336
echo " ],
\"description\": \"";
// line 1337
echo twig_escape_filter($this->env, twig_slice($this->env, twig_replace_filter(((twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", true, true, false, 1337)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", false, false, false, 1337), 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.', 1337, $this->source); })()), "description_detail", [], "any", false, false, false, 1337))) : (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.', 1337, $this->source); })()), "description_detail", [], "any", false, false, false, 1337))), ["
" => "", "
" => ""]), 0, 300), "html", null, true);
echo "\",
";
// line 1338
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1338, $this->source); })()), "code_min", [], "any", false, false, false, 1338)) {
// line 1339
echo " \"sku\": \"";
echo twig_escape_filter($this->env, 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.', 1339, $this->source); })()), "code_min", [], "any", false, false, false, 1339), "html", null, true);
echo "\",
";
}
// line 1341
echo " \"offers\": {
\"@type\": \"Offer\",
\"url\": \"";
// line 1343
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.', 1343, $this->source); })()), "id", [], "any", false, false, false, 1343)]), "html", null, true);
echo "\",
\"priceCurrency\": \"";
// line 1344
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["eccube_config"]) || array_key_exists("eccube_config", $context) ? $context["eccube_config"] : (function () { throw new RuntimeError('Variable "eccube_config" does not exist.', 1344, $this->source); })()), "currency", [], "any", false, false, false, 1344), "html", null, true);
echo "\",
\"price\": ";
// line 1345
((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.', 1345, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1345)) ? (print (twig_escape_filter($this->env, 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.', 1345, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1345), "html", null, true))) : (print (0)));
echo ",
\"availability\": \"";
// line 1346
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.', 1346, $this->source); })()), "stock_find", [], "any", false, false, false, 1346)) ? ("InStock") : ("OutOfStock"));
echo "\"
}
}
</script>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 1353
public function block_main($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
// line 1354
echo " <div class=\"ec-productRole\" style=\"margin-top:20px;\">
<div class=\"ec-grid2\">
<div class=\"ec-grid2__cell\">
<div class=\"ec-sliderItemRole\">
\t ";
// line 1359
echo "\t <div class=\"ec-productRole__title\">
\t <div class=\"ec-productRole__titleRow\">
\t <h2 class=\"ec-headingTitle\">";
// line 1361
echo twig_escape_filter($this->env, 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.', 1361, $this->source); })()), "name", [], "any", false, false, false, 1361), "html", null, true);
echo "</h2>
\t <div class=\"ec-share-inline\">
\t <a href=\"https://twitter.com/share?url=";
// line 1363
echo twig_escape_filter($this->env, twig_urlencode_filter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1363, $this->source); })()), "request", [], "any", false, false, false, 1363), "uri", [], "any", false, false, false, 1363)), "html", null, true);
echo "&text=";
echo twig_escape_filter($this->env, twig_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.', 1363, $this->source); })()), "name", [], "any", false, false, false, 1363)), "html", null, true);
echo "\"
\t class=\"share-twitter\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Xでシェア\">
\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>
\t </a>
\t <a href=\"https://www.instagram.com/\" class=\"share-facebook\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Instagram\">
\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>
\t </a>
\t <a href=\"https://social-plugins.line.me/lineit/share?url=";
// line 1370
echo twig_escape_filter($this->env, twig_urlencode_filter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 1370, $this->source); })()), "request", [], "any", false, false, false, 1370), "uri", [], "any", false, false, false, 1370)), "html", null, true);
echo "\"
\t class=\"share-line\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"LINEでシェア\">
\t <i class=\"fab fa-line\"></i>
\t </a>
\t </div>
\t </div>
\t </div>
";
// line 1377
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.', 1377, $this->source); })()), "option_favorite_product", [], "any", false, false, false, 1377)) {
// line 1378
echo " <div style=\"position:relative;top: 20px;left: 10px;z-index:100;\">
\t\t\t\t\t\t";
// line 1379
if (((isset($context["is_favorite"]) || array_key_exists("is_favorite", $context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.', 1379, $this->source); })()) == false)) {
// line 1380
echo " <form action=\"";
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.', 1380, $this->source); })()), "id", [], "any", false, false, false, 1380)]), "html", null, true);
echo "\" method=\"post\">
<button type=\"submit\" id=\"favorite\" class=\"favorite\">♡</button>
</form>
";
} else {
// line 1384
echo " <form action=\"";
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.', 1384, $this->source); })()), "id", [], "any", false, false, false, 1384)]), "html", null, true);
echo "\" method=\"post\">
<button type=\"submit\" id=\"favorite\" class=\"favorite\" style=\"color:red;\">♥</button>
</form>
";
}
// line 1388
echo " </div>
";
}
// line 1390
echo " <div class=\"item_visual\">
";
// line 1391
$context['_parent'] = $context;
$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.', 1391, $this->source); })()), "ProductImage", [], "any", false, false, false, 1391));
$context['_iterated'] = false;
$context['loop'] = [
'parent' => $context['_parent'],
'index0' => 0,
'index' => 1,
'first' => true,
];
if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
$length = count($context['_seq']);
$context['loop']['revindex0'] = $length - 1;
$context['loop']['revindex'] = $length;
$context['loop']['length'] = $length;
$context['loop']['last'] = 1 === $length;
}
foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
// line 1392
echo " <div class=\"slide-item\"><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html", null, true);
echo "\" alt=\"";
((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 1392)) ? (print (twig_escape_filter($this->env, 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.', 1392, $this->source); })()), "name", [], "any", false, false, false, 1392), "html", null, true))) : (print ("")));
echo "\" width=\"550\" height=\"550\" style=\"max-height: 400px;\"";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 1392) > 1)) {
echo " loading=\"lazy\"";
}
echo "></div>
";
$context['_iterated'] = true;
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
if (!$context['_iterated']) {
// line 1394
echo " <div class=\"slide-item\"><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html", null, true);
echo "\" alt=\"";
((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 1394)) ? (print (twig_escape_filter($this->env, 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.', 1394, $this->source); })()), "name", [], "any", false, false, false, 1394), "html", null, true))) : (print ("")));
echo "\" width=\"550\" height=\"550\" style=\"max-height: 400px;\"></div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1396
echo " </div>
<div class=\"item_nav\">
";
// line 1398
$context['_parent'] = $context;
$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.', 1398, $this->source); })()), "ProductImage", [], "any", false, false, false, 1398));
$context['loop'] = [
'parent' => $context['_parent'],
'index0' => 0,
'index' => 1,
'first' => true,
];
if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
$length = count($context['_seq']);
$context['loop']['revindex0'] = $length - 1;
$context['loop']['revindex'] = $length;
$context['loop']['length'] = $length;
$context['loop']['last'] = 1 === $length;
}
foreach ($context['_seq'] as $context["_key"] => $context["ProductImage"]) {
// line 1399
echo " <div class=\"slideThumb\" data-index=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["loop"], "index0", [], "any", false, false, false, 1399), "html", null, true);
echo "\"><img src=\"";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["ProductImage"], "save_image"), "html", null, true);
echo "\" alt=\"\" width=\"80\" height=\"80\" loading=\"lazy\"></div>
";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductImage'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1401
echo " </div>
</div>
";
// line 1406
echo " <div class=\"ec-areaNotice\" style=\"margin-top:16px;margin-right:10px;\">
<div class=\"ec-areaNotice__inner\">
<div class=\"ec-areaNotice__icon\">📍</div>
<div class=\"ec-areaNotice__body\">
<p class=\"ec-areaNotice__title\">施工対応エリアについて</p>
<div class=\"ec-areaNotice__detail\">
<p class=\"ec-areaNotice__text\">
当店の施工サービスは、<strong>山梨県全域</strong>および<br>
<strong>諏訪エリア(諏訪市・岡谷市・茅野市・諏訪郡)</strong>を対象としております。<br>
上記エリア外のお客様には、商品のみのご購入が可能でございます。<br>
ご不明な点がございましたら、お気軽にお問い合わせください。
</p>
<a class=\"ec-areaNotice__link\" href=\"";
// line 1418
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("contact");
echo "\">エリア外のお客様・ご相談はこちら →</a>
</div>
</div>
</div>
</div>
</div>
<div class=\"ec-grid2__cell2\">
<div class=\"ec-productRole__profile\" >
";
// line 1429
echo " ";
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.', 1429, $this->source); })()), "ProductCategories", [], "any", false, false, false, 1429))) {
// line 1430
echo " <div class=\"ec-productRole__category\" style=\"padding:10px 0;\">
";
// line 1431
$context['_parent'] = $context;
$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.', 1431, $this->source); })()), "ProductCategories", [], "any", false, false, false, 1431));
foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
// line 1432
echo " <ul>
<li>
";
// line 1434
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["ProductCategory"], "Category", [], "any", false, false, false, 1434), "path", [], "any", false, false, false, 1434));
$context['loop'] = [
'parent' => $context['_parent'],
'index0' => 0,
'index' => 1,
'first' => true,
];
if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
$length = count($context['_seq']);
$context['loop']['revindex0'] = $length - 1;
$context['loop']['revindex'] = $length;
$context['loop']['length'] = $length;
$context['loop']['last'] = 1 === $length;
}
foreach ($context['_seq'] as $context["_key"] => $context["Category"]) {
// line 1435
echo " <a href=\"";
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
echo "?category_id=";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Category"], "id", [], "any", false, false, false, 1435), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Category"], "name", [], "any", false, false, false, 1435), "html", null, true);
echo "</a>";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 1435) == false)) {
// line 1436
echo " <span>></span>";
}
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Category'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1438
echo " </li>
</ul>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ProductCategory'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1441
echo " </div>
";
}
// line 1443
echo " ";
// line 1444
echo " <div class=\"ec-productRole__price\">
\t\t\t\t\t\t<span style=\"color:black;font-size:15px;\">工事費込み価格</span>
";
// line 1446
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.', 1446, $this->source); })()), "hasProductClass", [], "any", false, false, false, 1446)) {
// line 1447
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.', 1447, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1447) == 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.', 1447, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 1447))) {
// line 1448
echo " <div class=\"ec-price\">
<span id=\"price02-display\" class=\"ec-price__price price02-default\">";
// line 1449
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.', 1449, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1449)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">(";
// line 1450
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo ")~</span>
</div>
";
} else {
// line 1453
echo " <div class=\"ec-price\">
<span id=\"price02-display\" class=\"ec-price__price price02-default\">";
// line 1454
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.', 1454, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1454)), "html", null, true);
echo " ~ ";
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.', 1454, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 1454)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">(";
// line 1455
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo ")</span>
</div>
";
}
// line 1458
echo " ";
} else {
// line 1459
echo " <div class=\"ec-price\">
<span id=\"price02-display\" class=\"ec-price__price\">";
// line 1460
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.', 1460, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1460)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">(";
// line 1461
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo ")~</span>
</div>
";
}
// line 1464
echo " </div>
";
// line 1466
echo " <ul class=\"ec-productRole__tags\">
";
// line 1467
$context['_parent'] = $context;
$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.', 1467, $this->source); })()), "Tags", [], "any", false, false, false, 1467));
foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
// line 1468
echo " <li class=\"ec-productRole__tag tag_";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Tag"], "id", [], "any", false, false, false, 1468), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["Tag"], "html", null, true);
echo "</li>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Tag'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1470
echo " </ul>
";
// line 1472
echo " ";
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.', 1472, $this->source); })()), "code_min", [], "any", false, false, false, 1472))) {
// line 1473
echo " <div class=\"ec-productRole__code\">
";
// line 1474
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品コード"), "html", null, true);
echo ": <span class=\"product-code-default\">";
echo twig_escape_filter($this->env, 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.', 1474, $this->source); })()), "code_min", [], "any", false, false, false, 1474), "html", null, true);
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.', 1474, $this->source); })()), "code_min", [], "any", false, false, false, 1474) != 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.', 1474, $this->source); })()), "code_max", [], "any", false, false, false, 1474))) {
echo " ~ ";
echo twig_escape_filter($this->env, 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.', 1474, $this->source); })()), "code_max", [], "any", false, false, false, 1474), "html", null, true);
}
echo "</span>
</div>
";
}
// line 1477
echo "
<div class=\"ec-productRole__description\">
\t\t\t\t <div class=\"ec-rectHeading\">
\t\t\t\t <h4>製品情報</h4>
\t\t\t\t </div>
\t\t\t\t\t\t";
// line 1482
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.', 1482, $this->source); })()), "sales_infomation", [], "any", false, false, false, 1482));
echo "
</div>
\t\t\t\t\t<div class=\"card card-danger\" style=\"clear:both;margin:1px;\">
\t\t\t\t\t <div class=\"card-header\">
\t\t\t\t\t <h3 class=\"card-title\">見積シミュレーション</h3>
\t\t\t\t\t </div>
\t\t\t\t\t <div class=\"card-body p-2\">
";
// line 1491
$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.', 1491, $this->source); })()), "id", [], "any", false, false, false, 1491), "related_image");
// line 1492
echo " ";
// line 1493
echo " ";
$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.', 1493, $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.', 1493, $this->source); })())));
// line 1494
echo " ";
$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.', 1494, $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.', 1494, $this->source); })())));
// line 1495
echo " ";
$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.', 1495, $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.', 1495, $this->source); })())));
// line 1496
echo " ";
$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.', 1496, $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.', 1496, $this->source); })())));
// line 1497
echo "\t\t\t\t\t ";
$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.', 1497, $this->source); })()), "id", [], "any", false, false, false, 1497), "related_name1");
// line 1498
echo "\t\t\t\t\t\t";
$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.', 1498, $this->source); })()), "id", [], "any", false, false, false, 1498), "related_name2");
// line 1499
echo "\t\t\t\t\t\t";
$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.', 1499, $this->source); })()), "id", [], "any", false, false, false, 1499), "related_name3");
// line 1500
echo "\t\t\t\t\t\t";
$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.', 1500, $this->source); })()), "id", [], "any", false, false, false, 1500), "related_name4");
// line 1501
echo "\t\t\t\t\t\t";
$context["hasRelated"] = ((((((isset($context["type1"]) || array_key_exists("type1", $context) ? $context["type1"] : (function () { throw new RuntimeError('Variable "type1" does not exist.', 1501, $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.', 1501, $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.', 1501, $this->source); })()))) || (( // line 1502
(isset($context["type2"]) || array_key_exists("type2", $context) ? $context["type2"] : (function () { throw new RuntimeError('Variable "type2" does not exist.', 1502, $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.', 1502, $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.', 1502, $this->source); })())))) || (( // line 1503
(isset($context["type3"]) || array_key_exists("type3", $context) ? $context["type3"] : (function () { throw new RuntimeError('Variable "type3" does not exist.', 1503, $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.', 1503, $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.', 1503, $this->source); })())))) || (( // line 1504
(isset($context["type4"]) || array_key_exists("type4", $context) ? $context["type4"] : (function () { throw new RuntimeError('Variable "type4" does not exist.', 1504, $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.', 1504, $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.', 1504, $this->source); })()))));
// line 1505
echo "\t\t\t\t\t\t";
if ((isset($context["hasRelated"]) || array_key_exists("hasRelated", $context) ? $context["hasRelated"] : (function () { throw new RuntimeError('Variable "hasRelated" does not exist.', 1505, $this->source); })())) {
// line 1506
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>
\t\t\t\t\t\t";
}
// line 1508
echo "
\t\t\t\t\t\t";
// line 1510
echo "\t\t\t\t\t\t";
if ((((isset($context["type1"]) || array_key_exists("type1", $context) ? $context["type1"] : (function () { throw new RuntimeError('Variable "type1" does not exist.', 1510, $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.', 1510, $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.', 1510, $this->source); })())))) {
// line 1511
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)\">
\t\t\t\t\t\t <div class=\"rp-section-label\">";
// line 1512
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.', 1512, $this->source); })()), "html", null, true);
if (((isset($context["img1"]) || array_key_exists("img1", $context) ? $context["img1"] : (function () { throw new RuntimeError('Variable "img1" does not exist.', 1512, $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.', 1512, $this->source); })()))) {
echo ": <span>";
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.', 1512, $this->source); })()), "html", null, true);
echo "</span>";
}
echo "</div>
\t\t\t\t\t\t ";
// line 1513
if ((isset($context["img1"]) || array_key_exists("img1", $context) ? $context["img1"] : (function () { throw new RuntimeError('Variable "img1" does not exist.', 1513, $this->source); })())) {
// line 1514
echo "\t\t\t\t\t\t ";
// line 1515
echo "\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t ";
// line 1516
$context['_parent'] = $context;
$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.', 1516, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1517
echo "\t\t\t\t\t\t <label class=\"rp-card";
if (((isset($context["base_select1"]) || array_key_exists("base_select1", $context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.', 1517, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1518
echo twig_escape_filter($this->env, $context["rp_id"], "html", null, true);
echo "';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp1\" value=\"";
// line 1519
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1520
if (((isset($context["base_select1"]) || array_key_exists("base_select1", $context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.', 1520, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"";
// line 1522
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((("p" . $context["rp_id"]) . "_cp_1.jpg"), "save_image"), "html", null, true);
echo "\"
\t\t\t\t\t\t alt=\"";
// line 1523
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
\t\t\t\t\t\t <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
\t\t\t\t\t\t <span class=\"rp-card__name\">";
// line 1526
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "</span>
\t\t\t\t\t\t </label>
\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1529
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
} else {
// line 1531
echo "\t\t\t\t\t\t ";
// line 1532
echo "\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t ";
// line 1533
$context['_parent'] = $context;
$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.', 1533, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1534
echo "\t\t\t\t\t\t <label class=\"rp-btn";
if (((isset($context["base_select1"]) || array_key_exists("base_select1", $context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.', 1534, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1535
echo twig_escape_filter($this->env, $context["rp_id"], "html", null, true);
echo "';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp1\" value=\"";
// line 1536
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1537
if (((isset($context["base_select1"]) || array_key_exists("base_select1", $context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.', 1537, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t ";
// line 1538
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "
\t\t\t\t\t\t </label>
\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1541
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
}
// line 1543
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1545
echo "
\t\t\t\t\t\t";
// line 1547
echo "\t\t\t\t\t\t";
if ((((isset($context["type2"]) || array_key_exists("type2", $context) ? $context["type2"] : (function () { throw new RuntimeError('Variable "type2" does not exist.', 1547, $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.', 1547, $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.', 1547, $this->source); })())))) {
// line 1548
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)\">
\t\t\t\t\t\t <div class=\"rp-section-label\">";
// line 1549
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.', 1549, $this->source); })()), "html", null, true);
if (((isset($context["img2"]) || array_key_exists("img2", $context) ? $context["img2"] : (function () { throw new RuntimeError('Variable "img2" does not exist.', 1549, $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.', 1549, $this->source); })()))) {
echo ": <span>";
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.', 1549, $this->source); })()), "html", null, true);
echo "</span>";
}
echo "</div>
\t\t\t\t\t\t ";
// line 1550
if ((isset($context["img2"]) || array_key_exists("img2", $context) ? $context["img2"] : (function () { throw new RuntimeError('Variable "img2" does not exist.', 1550, $this->source); })())) {
// line 1551
echo "\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t ";
// line 1552
$context['_parent'] = $context;
$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.', 1552, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1553
echo "\t\t\t\t\t\t <label class=\"rp-card";
if (((isset($context["base_select2"]) || array_key_exists("base_select2", $context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.', 1553, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1554
echo twig_escape_filter($this->env, $context["rp_id"], "html", null, true);
echo "';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp2\" value=\"";
// line 1555
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1556
if (((isset($context["base_select2"]) || array_key_exists("base_select2", $context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.', 1556, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"";
// line 1558
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((("p" . $context["rp_id"]) . "_cp_1.jpg"), "save_image"), "html", null, true);
echo "\"
\t\t\t\t\t\t alt=\"";
// line 1559
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
\t\t\t\t\t\t <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
\t\t\t\t\t\t <span class=\"rp-card__name\">";
// line 1562
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "</span>
\t\t\t\t\t\t </label>
\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1565
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
} else {
// line 1567
echo "\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t ";
// line 1568
$context['_parent'] = $context;
$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.', 1568, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1569
echo "\t\t\t\t\t\t <label class=\"rp-btn";
if (((isset($context["base_select2"]) || array_key_exists("base_select2", $context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.', 1569, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1570
echo twig_escape_filter($this->env, $context["rp_id"], "html", null, true);
echo "';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp2\" value=\"";
// line 1571
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1572
if (((isset($context["base_select2"]) || array_key_exists("base_select2", $context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.', 1572, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t ";
// line 1573
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "
\t\t\t\t\t\t </label>
\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1576
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
}
// line 1578
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1580
echo "
\t\t\t\t\t\t";
// line 1582
echo "\t\t\t\t\t\t";
if ((((isset($context["type3"]) || array_key_exists("type3", $context) ? $context["type3"] : (function () { throw new RuntimeError('Variable "type3" does not exist.', 1582, $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.', 1582, $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.', 1582, $this->source); })())))) {
// line 1583
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)\">
\t\t\t\t\t\t <div class=\"rp-section-label\">";
// line 1584
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.', 1584, $this->source); })()), "html", null, true);
if (((isset($context["img3"]) || array_key_exists("img3", $context) ? $context["img3"] : (function () { throw new RuntimeError('Variable "img3" does not exist.', 1584, $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.', 1584, $this->source); })()))) {
echo ": <span>";
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.', 1584, $this->source); })()), "html", null, true);
echo "</span>";
}
echo "</div>
\t\t\t\t\t\t ";
// line 1585
if ((isset($context["img3"]) || array_key_exists("img3", $context) ? $context["img3"] : (function () { throw new RuntimeError('Variable "img3" does not exist.', 1585, $this->source); })())) {
// line 1586
echo "\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t ";
// line 1587
$context['_parent'] = $context;
$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.', 1587, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1588
echo "\t\t\t\t\t\t <label class=\"rp-card";
if (((isset($context["base_select3"]) || array_key_exists("base_select3", $context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.', 1588, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1589
echo twig_escape_filter($this->env, $context["rp_id"], "html", null, true);
echo "';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp3\" value=\"";
// line 1590
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1591
if (((isset($context["base_select3"]) || array_key_exists("base_select3", $context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.', 1591, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"";
// line 1593
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((("p" . $context["rp_id"]) . "_cp_1.jpg"), "save_image"), "html", null, true);
echo "\"
\t\t\t\t\t\t alt=\"";
// line 1594
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
\t\t\t\t\t\t <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
\t\t\t\t\t\t <span class=\"rp-card__name\">";
// line 1597
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "</span>
\t\t\t\t\t\t </label>
\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1600
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
} else {
// line 1602
echo "\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t ";
// line 1603
$context['_parent'] = $context;
$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.', 1603, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1604
echo "\t\t\t\t\t\t <label class=\"rp-btn";
if (((isset($context["base_select3"]) || array_key_exists("base_select3", $context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.', 1604, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1605
echo twig_escape_filter($this->env, $context["rp_id"], "html", null, true);
echo "';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp3\" value=\"";
// line 1606
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1607
if (((isset($context["base_select3"]) || array_key_exists("base_select3", $context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.', 1607, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t ";
// line 1608
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "
\t\t\t\t\t\t </label>
\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1611
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
}
// line 1613
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1615
echo "
\t\t\t\t\t\t";
// line 1617
echo "\t\t\t\t\t\t";
if ((((isset($context["type4"]) || array_key_exists("type4", $context) ? $context["type4"] : (function () { throw new RuntimeError('Variable "type4" does not exist.', 1617, $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.', 1617, $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.', 1617, $this->source); })())))) {
// line 1618
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)\">
\t\t\t\t\t\t <div class=\"rp-section-label\">";
// line 1619
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.', 1619, $this->source); })()), "html", null, true);
if (((isset($context["img4"]) || array_key_exists("img4", $context) ? $context["img4"] : (function () { throw new RuntimeError('Variable "img4" does not exist.', 1619, $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.', 1619, $this->source); })()))) {
echo ": <span>";
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.', 1619, $this->source); })()), "html", null, true);
echo "</span>";
}
echo "</div>
\t\t\t\t\t\t ";
// line 1620
if ((isset($context["img4"]) || array_key_exists("img4", $context) ? $context["img4"] : (function () { throw new RuntimeError('Variable "img4" does not exist.', 1620, $this->source); })())) {
// line 1621
echo "\t\t\t\t\t\t ";
// line 1622
echo "\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t ";
// line 1623
$context['_parent'] = $context;
$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.', 1623, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1624
echo "\t\t\t\t\t\t <label class=\"rp-card";
if (((isset($context["base_select4"]) || array_key_exists("base_select4", $context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.', 1624, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1625
echo twig_escape_filter($this->env, $context["rp_id"], "html", null, true);
echo "';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp4\" value=\"";
// line 1626
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1627
if (((isset($context["base_select4"]) || array_key_exists("base_select4", $context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.', 1627, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"";
// line 1629
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((("p" . $context["rp_id"]) . "_cp_1.jpg"), "save_image"), "html", null, true);
echo "\"
\t\t\t\t\t\t alt=\"";
// line 1630
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\" loading=\"lazy\">
\t\t\t\t\t\t <span class=\"rp-card__label\">";
// line 1631
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "</span>
\t\t\t\t\t\t </label>
\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1634
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
} else {
// line 1636
echo "\t\t\t\t\t\t ";
// line 1637
echo "\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t ";
// line 1638
$context['_parent'] = $context;
$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.', 1638, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1639
echo "\t\t\t\t\t\t <label class=\"rp-btn";
if (((isset($context["base_select4"]) || array_key_exists("base_select4", $context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.', 1639, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1640
echo twig_escape_filter($this->env, $context["rp_id"], "html", null, true);
echo "';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp4\" value=\"";
// line 1641
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1642
if (((isset($context["base_select4"]) || array_key_exists("base_select4", $context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.', 1642, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t ";
// line 1643
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "
\t\t\t\t\t\t </label>
\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['rp_id'], $context['rp_name'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1646
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
}
// line 1648
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1650
echo "
\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>
";
// line 1654
if ((((isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1654, $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.', 1654, $this->source); })()))) && (twig_get_attribute($this->env, $this->source, twig_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.', 1654, $this->source); })()), "SaleType", [], "any", false, false, false, 1654), "id", [], "any", false, false, false, 1654) != 3))) {
// line 1655
echo " <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
<div class=\"rp-section-label\">カラー";
// line 1656
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1656, $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.', 1656, $this->source); })()), "pc", [], "any", false, false, false, 1656))) {
echo ": <span>";
echo twig_escape_filter($this->env, 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.', 1656, $this->source); })()), "pc", [], "any", false, false, false, 1656), "html", null, true);
echo "</span>";
}
echo "</div>
<div class=\"opt-btn-group\">
";
// line 1658
$context["idx"] = 0;
// line 1659
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1659, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["cc"]) {
if (($context["cc"] && twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1659))) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1659, $this->source); })()) + 1);
// line 1660
echo " <label class=\"opt-btn";
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1660, $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.', 1660, $this->source); })()), "pc", [], "any", false, false, false, 1660) == twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1660))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1660, $this->source); })())) == 1))) {
echo " is-selected";
}
echo "\"
onclick=\"mitsumori_simulation_val('pc', '";
// line 1661
echo twig_escape_filter($this->env, twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1661), "js"), "html", null, true);
echo "');\">
<input type=\"radio\" name=\"color\" id=\"cc_";
// line 1662
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.', 1662, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1662), "html", null, true);
echo "\"
";
// line 1663
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1663, $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.', 1663, $this->source); })()), "pc", [], "any", false, false, false, 1663) == twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1663))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1663, $this->source); })())) == 1))) {
echo "checked";
}
echo ">
";
// line 1664
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1664), "html", null, true);
echo "
</label>
";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cc'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1667
echo " </div>
</div>
";
}
// line 1670
echo "
";
// line 1671
if ((((isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1671, $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.', 1671, $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.', 1671, $this->source); })())) != ""))) {
// line 1672
echo " <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
<div class=\"rp-section-label\">幅";
// line 1673
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1673, $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.', 1673, $this->source); })()), "pw", [], "any", false, false, false, 1673))) {
echo ": <span>";
echo twig_escape_filter($this->env, 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.', 1673, $this->source); })()), "pw", [], "any", false, false, false, 1673), "html", null, true);
echo "</span>";
}
echo "</div>
<div class=\"opt-btn-group\">
";
// line 1675
$context["idx"] = 0;
// line 1676
echo " ";
$context['_parent'] = $context;
$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.', 1676, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pw"]) {
if ($context["pw"]) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1676, $this->source); })()) + 1);
// line 1677
echo " <label class=\"opt-btn";
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1677, $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.', 1677, $this->source); })()), "pw", [], "any", false, false, false, 1677) == $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.', 1677, $this->source); })())) == 1))) {
echo " is-selected";
}
echo "\"
onclick=\"mitsumori_simulation_val('pw', '";
// line 1678
echo twig_escape_filter($this->env, twig_escape_filter($this->env, $context["pw"], "js"), "html", null, true);
echo "');\">
<input type=\"radio\" name=\"pw\" id=\"pw_";
// line 1679
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.', 1679, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pw"], "html", null, true);
echo "\"
";
// line 1680
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1680, $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.', 1680, $this->source); })()), "pw", [], "any", false, false, false, 1680) == $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.', 1680, $this->source); })())) == 1))) {
echo "checked";
}
echo ">
";
// line 1681
echo twig_escape_filter($this->env, $context["pw"], "html", null, true);
echo "
</label>
";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1684
echo " </div>
</div>
";
}
// line 1687
echo "
";
// line 1688
if ((((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1688, $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.', 1688, $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.', 1688, $this->source); })())) != ""))) {
// line 1689
echo " <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
<div class=\"rp-section-label\">奥行き";
// line 1690
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1690, $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.', 1690, $this->source); })()), "pd", [], "any", false, false, false, 1690))) {
echo ": <span>";
echo twig_escape_filter($this->env, 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.', 1690, $this->source); })()), "pd", [], "any", false, false, false, 1690), "html", null, true);
echo "</span>";
}
echo "</div>
<div class=\"opt-btn-group\">
";
// line 1692
$context["idx"] = 0;
// line 1693
echo " ";
$context['_parent'] = $context;
$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.', 1693, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pd"]) {
if ($context["pd"]) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1693, $this->source); })()) + 1);
// line 1694
echo " <label class=\"opt-btn";
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1694, $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.', 1694, $this->source); })()), "pd", [], "any", false, false, false, 1694) == $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.', 1694, $this->source); })())) == 1))) {
echo " is-selected";
}
echo "\"
onclick=\"mitsumori_simulation_val('pd', '";
// line 1695
echo twig_escape_filter($this->env, twig_escape_filter($this->env, $context["pd"], "js"), "html", null, true);
echo "');\">
<input type=\"radio\" name=\"pd\" id=\"pd_";
// line 1696
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.', 1696, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pd"], "html", null, true);
echo "\"
";
// line 1697
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1697, $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.', 1697, $this->source); })()), "pd", [], "any", false, false, false, 1697) == $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.', 1697, $this->source); })())) == 1))) {
echo "checked";
}
echo ">
";
// line 1698
echo twig_escape_filter($this->env, $context["pd"], "html", null, true);
echo "
</label>
";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1701
echo " </div>
</div>
";
}
// line 1704
echo "
";
// line 1705
if ((((isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1705, $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.', 1705, $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.', 1705, $this->source); })())) != ""))) {
// line 1706
echo " <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
<div class=\"rp-section-label\">高さ";
// line 1707
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1707, $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.', 1707, $this->source); })()), "ph", [], "any", false, false, false, 1707))) {
echo ": <span>";
echo twig_escape_filter($this->env, 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.', 1707, $this->source); })()), "ph", [], "any", false, false, false, 1707), "html", null, true);
echo "</span>";
}
echo "</div>
<div class=\"opt-btn-group\">
";
// line 1709
$context["idx"] = 0;
// line 1710
echo " ";
$context['_parent'] = $context;
$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.', 1710, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["ph"]) {
if ($context["ph"]) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1710, $this->source); })()) + 1);
// line 1711
echo " <label class=\"opt-btn";
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1711, $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.', 1711, $this->source); })()), "ph", [], "any", false, false, false, 1711) == $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.', 1711, $this->source); })())) == 1))) {
echo " is-selected";
}
echo "\"
onclick=\"mitsumori_simulation_val('ph', '";
// line 1712
echo twig_escape_filter($this->env, twig_escape_filter($this->env, $context["ph"], "js"), "html", null, true);
echo "');\">
<input type=\"radio\" name=\"ph\" id=\"ph_";
// line 1713
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.', 1713, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["ph"], "html", null, true);
echo "\"
";
// line 1714
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1714, $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.', 1714, $this->source); })()), "ph", [], "any", false, false, false, 1714) == $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.', 1714, $this->source); })())) == 1))) {
echo "checked";
}
echo ">
";
// line 1715
echo twig_escape_filter($this->env, $context["ph"], "html", null, true);
echo "
</label>
";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ph'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1718
echo " </div>
</div>
";
}
// line 1721
echo "
";
// line 1722
if ((((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1722, $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.', 1722, $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.', 1722, $this->source); })())) != ""))) {
// line 1723
echo " <div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
<div class=\"rp-section-label\">素材";
// line 1724
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1724, $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.', 1724, $this->source); })()), "pm", [], "any", false, false, false, 1724))) {
echo ": <span>";
echo twig_escape_filter($this->env, 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.', 1724, $this->source); })()), "pm", [], "any", false, false, false, 1724), "html", null, true);
echo "</span>";
}
echo "</div>
<div class=\"opt-btn-group\">
";
// line 1726
$context["idx"] = 0;
// line 1727
echo " ";
$context['_parent'] = $context;
$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.', 1727, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pm"]) {
if ($context["pm"]) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1727, $this->source); })()) + 1);
// line 1728
echo " <label class=\"opt-btn";
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1728, $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.', 1728, $this->source); })()), "pm", [], "any", false, false, false, 1728) == $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.', 1728, $this->source); })())) == 1))) {
echo " is-selected";
}
echo "\"
onclick=\"mitsumori_simulation_val('pm', '";
// line 1729
echo twig_escape_filter($this->env, twig_escape_filter($this->env, $context["pm"], "js"), "html", null, true);
echo "');\">
<input type=\"radio\" name=\"pm\" id=\"pm_";
// line 1730
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.', 1730, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pm"], "html", null, true);
echo "\"
";
// line 1731
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1731, $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.', 1731, $this->source); })()), "pm", [], "any", false, false, false, 1731) == $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.', 1731, $this->source); })())) == 1))) {
echo "checked";
}
echo ">
";
// line 1732
echo twig_escape_filter($this->env, $context["pm"], "html", null, true);
echo "
</label>
";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1735
echo " </div>
</div>
";
}
// line 1738
echo "
\t\t\t\t\t\t<!-- 1: 施工見積(通常) → 幅/奥行/高さ/素材/カラーは上部の共通ブロックで表示済み -->
\t\t\t\t\t\t";
// line 1740
if ((twig_get_attribute($this->env, $this->source, twig_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.', 1740, $this->source); })()), "SaleType", [], "any", false, false, false, 1740), "id", [], "any", false, false, false, 1740) == 1)) {
// line 1741
echo "\t\t\t\t\t\t";
}
// line 1742
echo "
\t\t\t\t\t\t<!-- 2: 施工見積(補助金・窓) -->
\t\t\t\t\t\t";
// line 1744
if ((twig_get_attribute($this->env, $this->source, twig_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.', 1744, $this->source); })()), "SaleType", [], "any", false, false, false, 1744), "id", [], "any", false, false, false, 1744) == 2)) {
// line 1745
echo "
\t\t\t\t\t\t\t";
// line 1747
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">窓サイズ</label>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <div class=\"input-group\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">窓幅</span>
\t\t\t\t\t\t\t <input type=\"number\" name=\"mado_w\" id=\"mado_w\" class=\"form-control\" value=\"";
// line 1752
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "mado_w", [], "any", true, true, false, 1752)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "mado_w", [], "any", false, false, false, 1752), "")) : ("")), "html", null, true);
echo "\" placeholder=\"例: 90\" min=\"1\" onchange=\"mitsumori_simulation('mado_w','mado_w');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">cm</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <div class=\"input-group\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">窓高さ</span>
\t\t\t\t\t\t\t <input type=\"number\" name=\"mado_h\" id=\"mado_h\" class=\"form-control\" value=\"";
// line 1759
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "mado_h", [], "any", true, true, false, 1759)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "mado_h", [], "any", false, false, false, 1759), "")) : ("")), "html", null, true);
echo "\" placeholder=\"例: 110\" min=\"1\" onchange=\"mitsumori_simulation('mado_h','mado_h');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">cm</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
// line 1766
echo "\t\t\t\t\t\t\t";
if ((((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1766, $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.', 1766, $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.', 1766, $this->source); })())) != ""))) {
// line 1767
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">窓タイプ</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t ";
// line 1771
$context["idx"] = 0;
// line 1772
echo "\t\t\t\t\t\t\t ";
$context['_parent'] = $context;
$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.', 1772, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pd_val"]) {
// line 1773
echo "\t\t\t\t\t\t\t ";
if ($context["pd_val"]) {
// line 1774
echo "\t\t\t\t\t\t\t ";
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1774, $this->source); })()) + 1);
// line 1775
echo "\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"mado_type\" id=\"mado_type_";
// line 1776
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1776, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pd_val"], "html", null, true);
echo "\"
\t\t\t\t\t\t\t ";
// line 1777
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); })()), "pd", [], "any", false, false, false, 1777) == $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.', 1777, $this->source); })())) == 1))) {
echo "checked";
}
// line 1778
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pd','mado_type_";
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.', 1778, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"mado_type_";
// line 1779
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", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["pd_val"], "html", null, true);
echo "</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t ";
}
// line 1782
echo "\t\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd_val'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1783
echo "\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
}
// line 1787
echo "
\t\t\t\t\t\t\t";
// line 1789
echo "\t\t\t\t\t\t\t";
if ((((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1789, $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.', 1789, $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.', 1789, $this->source); })())) != ""))) {
// line 1790
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">ガラスタイプ</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t ";
// line 1794
$context["idx"] = 0;
// line 1795
echo "\t\t\t\t\t\t\t ";
$context['_parent'] = $context;
$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.', 1795, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pm_val"]) {
// line 1796
echo "\t\t\t\t\t\t\t ";
if ($context["pm_val"]) {
// line 1797
echo "\t\t\t\t\t\t\t ";
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1797, $this->source); })()) + 1);
// line 1798
echo "\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"glass_type\" id=\"glass_type_";
// line 1799
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.', 1799, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pm_val"], "html", null, true);
echo "\"
\t\t\t\t\t\t\t ";
// line 1800
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1800, $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.', 1800, $this->source); })()), "pm", [], "any", false, false, false, 1800) == $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.', 1800, $this->source); })())) == 1))) {
echo "checked";
}
// line 1801
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pm','glass_type_";
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.', 1801, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"glass_type_";
// line 1802
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.', 1802, $this->source); })()), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["pm_val"], "html", null, true);
echo "</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t ";
}
// line 1805
echo "\t\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm_val'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1806
echo "\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
}
// line 1810
echo "
\t\t\t\t\t\t\t";
// line 1812
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">セット数</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <select name=\"set_count\" id=\"set_count\" class=\"form-control\" onchange=\"madosetSelect(this.value);\">
\t\t\t\t\t\t\t ";
// line 1816
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(range(1, 20));
foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
// line 1817
echo "\t\t\t\t\t\t\t <option value=\"";
echo twig_escape_filter($this->env, $context["i"], "html", null, true);
echo "\" ";
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1817, $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.', 1817, $this->source); })()), "set_count", [], "any", false, false, false, 1817) == $context["i"]))) {
echo "selected";
}
echo ">";
echo twig_escape_filter($this->env, $context["i"], "html", null, true);
echo " セット</option>
\t\t\t\t\t\t\t ";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1819
echo "\t\t\t\t\t\t\t </select>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1824
echo "
\t\t\t\t\t\t<!-- 3: 施工見積(物置・ゴミステーション) -->
\t\t\t\t\t\t";
// line 1826
if ((twig_get_attribute($this->env, $this->source, twig_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.', 1826, $this->source); })()), "SaleType", [], "any", false, false, false, 1826), "id", [], "any", false, false, false, 1826) == 3)) {
// line 1827
echo "
\t\t\t\t\t\t\t";
// line 1829
echo "\t\t\t\t\t\t\t";
if ((((isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1829, $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.', 1829, $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.', 1829, $this->source); })())) != ""))) {
// line 1830
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">幅</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t ";
// line 1834
$context["idx"] = 0;
// line 1835
echo "\t\t\t\t\t\t\t ";
$context['_parent'] = $context;
$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.', 1835, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pw_val"]) {
if ($context["pw_val"]) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1835, $this->source); })()) + 1);
// line 1836
echo "\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"pw\" id=\"pw3_";
// line 1837
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.', 1837, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pw_val"], "html", null, true);
echo "\"
\t\t\t\t\t\t\t ";
// line 1838
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1838, $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.', 1838, $this->source); })()), "pw", [], "any", false, false, false, 1838) == $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.', 1838, $this->source); })())) == 1))) {
echo "checked";
}
// line 1839
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pw','pw3_";
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.', 1839, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"pw3_";
// line 1840
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.', 1840, $this->source); })()), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["pw_val"], "html", null, true);
echo "</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw_val'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1843
echo "\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
}
// line 1847
echo "
\t\t\t\t\t\t\t";
// line 1848
if ((((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1848, $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.', 1848, $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.', 1848, $this->source); })())) != ""))) {
// line 1849
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">奥行き</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t ";
// line 1853
$context["idx"] = 0;
// line 1854
echo "\t\t\t\t\t\t\t ";
$context['_parent'] = $context;
$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.', 1854, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pd_val"]) {
if ($context["pd_val"]) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1854, $this->source); })()) + 1);
// line 1855
echo "\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"pd\" id=\"pd3_";
// line 1856
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.', 1856, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pd_val"], "html", null, true);
echo "\"
\t\t\t\t\t\t\t ";
// line 1857
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1857, $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.', 1857, $this->source); })()), "pd", [], "any", false, false, false, 1857) == $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.', 1857, $this->source); })())) == 1))) {
echo "checked";
}
// line 1858
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pd','pd3_";
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.', 1858, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"pd3_";
// line 1859
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.', 1859, $this->source); })()), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["pd_val"], "html", null, true);
echo "</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pd_val'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1862
echo "\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
}
// line 1866
echo "
\t\t\t\t\t\t\t";
// line 1867
if ((((isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1867, $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.', 1867, $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.', 1867, $this->source); })())) != ""))) {
// line 1868
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">高さ</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t ";
// line 1872
$context["idx"] = 0;
// line 1873
echo "\t\t\t\t\t\t\t ";
$context['_parent'] = $context;
$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.', 1873, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["ph_val"]) {
if ($context["ph_val"]) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1873, $this->source); })()) + 1);
// line 1874
echo "\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"ph\" id=\"ph3_";
// line 1875
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1875, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["ph_val"], "html", null, true);
echo "\"
\t\t\t\t\t\t\t ";
// line 1876
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1876, $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.', 1876, $this->source); })()), "ph", [], "any", false, false, false, 1876) == $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.', 1876, $this->source); })())) == 1))) {
echo "checked";
}
// line 1877
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('ph','ph3_";
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.', 1877, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"ph3_";
// line 1878
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", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["ph_val"], "html", null, true);
echo "</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['ph_val'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1881
echo "\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
}
// line 1885
echo "
\t\t\t\t\t\t\t";
// line 1887
echo "\t\t\t\t\t\t\t";
if ((((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1887, $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.', 1887, $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.', 1887, $this->source); })())) != ""))) {
// line 1888
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">棚タイプ<br><small class=\"text-muted\">(間仕切り仕様)</small></label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t ";
// line 1892
$context["idx"] = 0;
// line 1893
echo "\t\t\t\t\t\t\t ";
$context['_parent'] = $context;
$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.', 1893, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pm_val"]) {
if ($context["pm_val"]) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1893, $this->source); })()) + 1);
// line 1894
echo "\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"pm\" id=\"pm3_";
// line 1895
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.', 1895, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pm_val"], "html", null, true);
echo "\"
\t\t\t\t\t\t\t ";
// line 1896
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1896, $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.', 1896, $this->source); })()), "pm", [], "any", false, false, false, 1896) == $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.', 1896, $this->source); })())) == 1))) {
echo "checked";
}
// line 1897
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pm','pm3_";
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.', 1897, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"pm3_";
// line 1898
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1898, $this->source); })()), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["pm_val"], "html", null, true);
echo "</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm_val'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1901
echo "\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
}
// line 1905
echo "
\t\t\t\t\t\t\t";
// line 1907
echo "\t\t\t\t\t\t\t";
if (((isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1907, $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.', 1907, $this->source); })())))) {
// line 1908
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">カラー</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t ";
// line 1912
$context["idx"] = 0;
// line 1913
echo "\t\t\t\t\t\t\t ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable((isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1913, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["cc"]) {
if (($context["cc"] && twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1913))) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1913, $this->source); })()) + 1);
// line 1914
echo "\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"color3\" id=\"cc3_";
// line 1915
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.', 1915, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1915), "html", null, true);
echo "\"
\t\t\t\t\t\t\t ";
// line 1916
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1916, $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.', 1916, $this->source); })()), "pc", [], "any", false, false, false, 1916) == twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1916))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1916, $this->source); })())) == 1))) {
echo "checked";
}
// line 1917
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pc','cc3_";
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.', 1917, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"cc3_";
// line 1918
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.', 1918, $this->source); })()), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1918), "html", null, true);
echo "</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['cc'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 1921
echo "\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
}
// line 1925
echo "
\t\t\t\t\t\t\t";
// line 1927
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">台数</label>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <div class=\"input-group mb-3\">
\t\t\t\t\t\t\t <input type=\"number\" name=\"daisu\" id=\"daisu\" class=\"form-control\" value=\"";
// line 1931
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "daisu", [], "any", true, true, false, 1931)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "daisu", [], "any", false, false, false, 1931), "1")) : ("1")), "html", null, true);
echo "\" min=\"1\" max=\"10\" onchange=\"mitsumori_simulation('daisu','daisu');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">台</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-info\" onclick=\"daisu(+1);\">+</button>
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-danger\" onclick=\"daisu(-1);\">ー</button>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1942
echo "
\t\t\t\t\t\t<!-- 4: 施工見積(フェンス・組み立て式) -->
\t\t\t\t\t\t";
// line 1944
if ((twig_get_attribute($this->env, $this->source, twig_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.', 1944, $this->source); })()), "SaleType", [], "any", false, false, false, 1944), "id", [], "any", false, false, false, 1944) == 4)) {
// line 1945
echo "
\t\t\t\t\t\t\t";
// line 1947
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">枚数</label>
\t\t\t\t\t\t\t <div class=\"col-4 mb-3\">
\t\t\t\t\t\t\t <div class=\"input-group\">
\t\t\t\t\t\t\t <input type=\"number\" name=\"maisu\" id=\"maisu\" class=\"form-control\" value=\"";
// line 1951
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "maisu", [], "any", true, true, false, 1951)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "maisu", [], "any", false, false, false, 1951), "3")) : ("3")), "html", null, true);
echo "\" min=\"3\" max=\"20\" onchange=\"mitsumori_simulation('maisu','maisu');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">枚</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-info\" onclick=\"maisu(+1);\">+</button>
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-danger\" onclick=\"maisu(-1);\">ー</button>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1962
echo "
\t\t\t\t\t\t<!-- 5: 施工見積(ウッドデッキ・タイルデッキ) -->
\t\t\t\t\t\t";
// line 1964
if ((twig_get_attribute($this->env, $this->source, twig_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.', 1964, $this->source); })()), "SaleType", [], "any", false, false, false, 1964), "id", [], "any", false, false, false, 1964) == 5)) {
// line 1965
echo "
\t\t\t\t\t\t\t";
// line 1967
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">施工面積</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"input-group\">
\t\t\t\t\t\t\t <input type=\"number\" name=\"area\" id=\"area\"
\t\t\t\t\t\t\t class=\"form-control\"
\t\t\t\t\t\t\t value=\"";
// line 1973
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "area", [], "any", true, true, false, 1973)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "area", [], "any", false, false, false, 1973), "")) : ("")), "html", null, true);
echo "\"
\t\t\t\t\t\t\t placeholder=\"例: 7.5\"
\t\t\t\t\t\t\t min=\"0.1\" step=\"0.1\"
\t\t\t\t\t\t\t onchange=\"mitsumori_simulation('area','area');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">㎡</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <small class=\"text-muted\">幅(cm) × 奥行き(cm) ÷ 10000 = ㎡</small>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
// line 1984
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">ステップ</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"deck_step\" id=\"deck_step_yes\" value=\"必要\"
\t\t\t\t\t\t\t ";
// line 1990
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1990, $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.', 1990, $this->source); })()), "deck_step", [], "any", false, false, false, 1990) == "必要"))) {
echo "checked";
}
// line 1991
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op0','deck_step_yes');\">
\t\t\t\t\t\t\t <label for=\"deck_step_yes\">必要</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"deck_step\" id=\"deck_step_no\" value=\"不要\"
\t\t\t\t\t\t\t ";
// line 1996
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); })()), "deck_step", [], "any", false, false, false, 1996) == "不要")) || !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); })()), "deck_step", [], "any", false, false, false, 1996))) {
echo "checked";
}
// line 1997
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op0','deck_step_no');\">
\t\t\t\t\t\t\t <label for=\"deck_step_no\">不要</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
// line 2005
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">デッキフェンス</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_yes\" value=\"必要\"
\t\t\t\t\t\t\t ";
// line 2011
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2011, $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.', 2011, $this->source); })()), "deck_fence", [], "any", false, false, false, 2011) == "必要"))) {
echo "checked";
}
// line 2012
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op1','deck_fence_yes');\">
\t\t\t\t\t\t\t <label for=\"deck_fence_yes\">必要</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_no\" value=\"不要\"
\t\t\t\t\t\t\t ";
// line 2017
if ((( !(isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2017, $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.', 2017, $this->source); })()), "deck_fence", [], "any", false, false, false, 2017) == "不要")) || !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.', 2017, $this->source); })()), "deck_fence", [], "any", false, false, false, 2017))) {
echo "checked";
}
// line 2018
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op1','deck_fence_no');\">
\t\t\t\t\t\t\t <label for=\"deck_fence_no\">不要</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 2026
echo "
\t\t\t\t\t\t<!-- 6: 施工見積(芝生・枚数・数量買い) -->
\t\t\t\t\t\t";
// line 2028
if ((twig_get_attribute($this->env, $this->source, twig_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.', 2028, $this->source); })()), "SaleType", [], "any", false, false, false, 2028), "id", [], "any", false, false, false, 2028) == 6)) {
// line 2029
echo "
\t\t\t\t\t\t\t";
// line 2031
echo "\t\t\t\t\t\t\t";
if ((((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 2031, $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.', 2031, $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.', 2031, $this->source); })())) != ""))) {
// line 2032
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">規格</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t ";
// line 2036
$context["idx"] = 0;
// line 2037
echo "\t\t\t\t\t\t\t ";
$context['_parent'] = $context;
$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.', 2037, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pm_val"]) {
if ($context["pm_val"]) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 2037, $this->source); })()) + 1);
// line 2038
echo "\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"pm\" id=\"pm6_";
// line 2039
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.', 2039, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pm_val"], "html", null, true);
echo "\"
\t\t\t\t\t\t\t ";
// line 2040
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2040, $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.', 2040, $this->source); })()), "pm", [], "any", false, false, false, 2040) == $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.', 2040, $this->source); })())) == 1))) {
echo "checked";
}
// line 2041
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pm','pm6_";
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.', 2041, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"pm6_";
// line 2042
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.', 2042, $this->source); })()), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["pm_val"], "html", null, true);
echo "</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pm_val'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 2045
echo "\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
}
// line 2049
echo "
\t\t\t\t\t\t\t";
// line 2051
echo "\t\t\t\t\t\t\t";
if ((((isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 2051, $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.', 2051, $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.', 2051, $this->source); })())) != ""))) {
// line 2052
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">芝の長さ</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t ";
// line 2056
$context["idx"] = 0;
// line 2057
echo "\t\t\t\t\t\t\t ";
$context['_parent'] = $context;
$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.', 2057, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pw_val"]) {
if ($context["pw_val"]) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 2057, $this->source); })()) + 1);
// line 2058
echo "\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"pw\" id=\"pw6_";
// line 2059
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.', 2059, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pw_val"], "html", null, true);
echo "\"
\t\t\t\t\t\t\t ";
// line 2060
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2060, $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.', 2060, $this->source); })()), "pw", [], "any", false, false, false, 2060) == $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.', 2060, $this->source); })())) == 1))) {
echo "checked";
}
// line 2061
echo "\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pw','pw6_";
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.', 2061, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"pw6_";
// line 2062
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.', 2062, $this->source); })()), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, $context["pw_val"], "html", null, true);
echo "</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t ";
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['pw_val'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 2065
echo "\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
}
// line 2069
echo "
\t\t\t\t\t\t\t";
// line 2071
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">施工面積</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"input-group\">
\t\t\t\t\t\t\t <input type=\"number\" name=\"area\" id=\"area\"
\t\t\t\t\t\t\t class=\"form-control\"
\t\t\t\t\t\t\t value=\"";
// line 2077
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "area", [], "any", true, true, false, 2077)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "area", [], "any", false, false, false, 2077), "")) : ("")), "html", null, true);
echo "\"
\t\t\t\t\t\t\t placeholder=\"例: 10.5\"
\t\t\t\t\t\t\t min=\"0.1\" step=\"0.1\"
\t\t\t\t\t\t\t onchange=\"mitsumori_simulation('area','area');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">平米</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 2087
echo "
\t\t\t\t\t\t<!-- 9: 商品のみ購入 -->
\t\t\t\t\t\t";
// line 2089
if ((twig_get_attribute($this->env, $this->source, twig_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.', 2089, $this->source); })()), "SaleType", [], "any", false, false, false, 2089), "id", [], "any", false, false, false, 2089) == 9)) {
// line 2090
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)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">数量</label>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <div class=\"input-group mb-3\">
\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);\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">個</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-info\" onclick=\"quantityOnly(+1);\">+</button>
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-danger\" onclick=\"quantityOnly(-1);\">ー</button>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 2104
echo "
\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>
\t\t\t\t\t\t";
// line 2109
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(range(0, 10));
foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
// line 2110
echo "\t\t\t\t\t\t\t";
if (((isset($context["op"]) || array_key_exists("op", $context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.', 2110, $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.', 2110, $this->source); })())) >= ($context["i"] + 1)))) {
// line 2111
echo "\t\t\t\t\t\t\t";
if (twig_get_attribute($this->env, $this->source, twig_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.', 2111, $this->source); })()), $context["i"], [], "array", false, false, false, 2111), "name", [], "array", false, false, false, 2111)) {
// line 2112
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)\">
\t\t\t\t\t\t\t <div class=\"rp-section-label\">";
// line 2113
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_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.', 2113, $this->source); })()), $context["i"], [], "array", false, false, false, 2113), "name", [], "array", false, false, false, 2113), "html", null, true);
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2113, $this->source); })()) && twig_get_attribute($this->env, $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.', 2113, $this->source); })()), "op", [], "any", false, false, false, 2113), $context["i"], [], "array", false, false, false, 2113))) {
echo ": <span>";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $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.', 2113, $this->source); })()), "op", [], "any", false, false, false, 2113), $context["i"], [], "array", false, false, false, 2113), "html", null, true);
echo "</span>";
}
echo "</div>
\t\t\t\t\t\t\t ";
// line 2114
if (twig_get_attribute($this->env, $this->source, twig_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.', 2114, $this->source); })()), $context["i"], [], "array", false, false, false, 2114), "comment", [], "array", false, false, false, 2114)) {
echo "<div class=\"opt-comment\" style=\"font-size:12px;color:#666;margin:4px 0 6px;\">";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_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.', 2114, $this->source); })()), $context["i"], [], "array", false, false, false, 2114), "comment", [], "array", false, false, false, 2114), "html", null, true);
echo "</div>";
}
// line 2115
echo "\t\t\t\t\t\t\t <div class=\"opt-btn-group\">
\t\t\t\t\t\t\t <label class=\"opt-btn";
// line 2116
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2116, $this->source); })()) && (twig_get_attribute($this->env, $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.', 2116, $this->source); })()), "op", [], "any", false, false, false, 2116), $context["i"], [], "array", false, false, false, 2116) == twig_get_attribute($this->env, $this->source, twig_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.', 2116, $this->source); })()), $context["i"], [], "array", false, false, false, 2116), "on", [], "array", false, false, false, 2116)))) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op";
// line 2117
echo twig_escape_filter($this->env, $context["i"], "html", null, true);
echo "','op";
echo twig_escape_filter($this->env, $context["i"], "html", null, true);
echo "_1');\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"op";
// line 2118
echo twig_escape_filter($this->env, $context["i"], "html", null, true);
echo "\" id=\"op";
echo twig_escape_filter($this->env, $context["i"], "html", null, true);
echo "_1\" value=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_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.', 2118, $this->source); })()), $context["i"], [], "array", false, false, false, 2118), "on", [], "array", false, false, false, 2118), "html", null, true);
echo "\" ";
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2118, $this->source); })()) && (twig_get_attribute($this->env, $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.', 2118, $this->source); })()), "op", [], "any", false, false, false, 2118), $context["i"], [], "array", false, false, false, 2118) == twig_get_attribute($this->env, $this->source, twig_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.', 2118, $this->source); })()), $context["i"], [], "array", false, false, false, 2118), "on", [], "array", false, false, false, 2118)))) {
echo "checked";
}
echo ">
\t\t\t\t\t\t\t ";
// line 2119
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_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.', 2119, $this->source); })()), $context["i"], [], "array", false, false, false, 2119), "on", [], "array", false, false, false, 2119), "html", null, true);
echo "
\t\t\t\t\t\t\t </label>
\t\t\t\t\t\t\t <label class=\"opt-btn";
// line 2121
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2121, $this->source); })()) && (twig_get_attribute($this->env, $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.', 2121, $this->source); })()), "op", [], "any", false, false, false, 2121), $context["i"], [], "array", false, false, false, 2121) == twig_get_attribute($this->env, $this->source, twig_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.', 2121, $this->source); })()), $context["i"], [], "array", false, false, false, 2121), "off", [], "array", false, false, false, 2121)))) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op";
// line 2122
echo twig_escape_filter($this->env, $context["i"], "html", null, true);
echo "','op";
echo twig_escape_filter($this->env, $context["i"], "html", null, true);
echo "_2');\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"op";
// line 2123
echo twig_escape_filter($this->env, $context["i"], "html", null, true);
echo "\" id=\"op";
echo twig_escape_filter($this->env, $context["i"], "html", null, true);
echo "_2\" value=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_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.', 2123, $this->source); })()), $context["i"], [], "array", false, false, false, 2123), "off", [], "array", false, false, false, 2123), "html", null, true);
echo "\" ";
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2123, $this->source); })()) && (twig_get_attribute($this->env, $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.', 2123, $this->source); })()), "op", [], "any", false, false, false, 2123), $context["i"], [], "array", false, false, false, 2123) == twig_get_attribute($this->env, $this->source, twig_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.', 2123, $this->source); })()), $context["i"], [], "array", false, false, false, 2123), "off", [], "array", false, false, false, 2123)))) {
echo "checked";
}
echo ">
\t\t\t\t\t\t\t ";
// line 2124
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_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.', 2124, $this->source); })()), $context["i"], [], "array", false, false, false, 2124), "off", [], "array", false, false, false, 2124), "html", null, true);
echo "
\t\t\t\t\t\t\t </label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t";
}
// line 2129
echo "\t\t\t\t\t\t\t";
}
// line 2130
echo "\t\t\t\t\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 2131
echo "
\t\t\t\t\t </div>
\t\t\t\t\t <!-- /.card-body -->
\t\t\t\t\t</div>
<form action=\"";
// line 2137
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.', 2137, $this->source); })()), "id", [], "any", false, false, false, 2137)]), "html", null, true);
echo "\" method=\"post\" id=\"form1\" name=\"form1\">
";
// line 2138
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.', 2138, $this->source); })()), "stock_find", [], "any", false, false, false, 2138)) {
// line 2139
echo " <div class=\"ec-productRole__actions\">
";
// line 2140
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 2140)) {
// line 2141
echo " <div class=\"ec-select\">
";
// line 2142
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.', 2142, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 2142), 'row');
echo "
";
// line 2143
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.', 2143, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 2143), 'errors');
echo "
</div>
";
// line 2145
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 2145)) {
// line 2146
echo " <div class=\"ec-select\">
";
// line 2147
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.', 2147, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 2147), 'row');
echo "
";
// line 2148
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.', 2148, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 2148), 'errors');
echo "
</div>
";
}
// line 2151
echo " ";
}
// line 2152
echo " <div class=\"ec-numberInput\">
";
// line 2153
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.', 2153, $this->source); })()), "quantity", [], "any", false, false, false, 2153), 'widget', ["type" => "hidden"]);
echo "
";
// line 2154
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.', 2154, $this->source); })()), "quantity", [], "any", false, false, false, 2154), 'errors');
echo "
</div>
</div>
";
} else {
// line 2159
echo " <div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
";
// line 2161
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html", null, true);
echo "
</button>
</div>
";
}
// line 2165
echo " <div class=\"ec-productRole__btn mt-3\">
<button type=\"submit\" id=\"cart_btn\" class=\"ec-blockBtn--action add-cart\">施工検討リストに入れる</button>
</div>
";
// line 2168
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.', 2168, $this->source); })()), 'rest');
echo "
</form>
<div class=\"ec-modal\">
<div class=\"ec-modal-overlay\">
<div class=\"ec-modal-wrap\">
<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
// line 2173
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/icon/cross-dark.svg"), "html", null, true);
echo "\" alt=\"\"/></span></span>
<div id=\"ec-modal-header\" class=\"text-center\">";
// line 2174
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("施工検討リストに追加しました。"), "html", null, true);
echo "</div>
<div class=\"ec-modal-box\">
<div class=\"ec-role\">
<span class=\"ec-inlineBtn--cancel\">";
// line 2177
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品検索を続ける"), "html", null, true);
echo "</span>
<a href=\"";
// line 2178
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
echo "\" class=\"ec-inlineBtn--action\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("施工検討リストへ進む"), "html", null, true);
echo "</a>
</div>
</div>
</div>
</div>
</div>
<div class=\"ec-productRole__description\">";
// line 2184
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.', 2184, $this->source); })()), "description_detail", [], "any", false, false, false, 2184));
echo "
</div>
";
// line 2188
echo " <div class=\"ec-productRole__share\">
<ul class=\"ec-share\">
<li class=\"ec-share__item\">
<a href=\"https://twitter.com/share?url=";
// line 2191
echo twig_escape_filter($this->env, twig_urlencode_filter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 2191, $this->source); })()), "request", [], "any", false, false, false, 2191), "uri", [], "any", false, false, false, 2191)), "html", null, true);
echo "&text=";
echo twig_escape_filter($this->env, twig_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.', 2191, $this->source); })()), "name", [], "any", false, false, false, 2191)), "html", null, true);
echo "\" class=\"ec-share__link ec-share__link--twitter\" target=\"_blank\" rel=\"noreferrer noopener\">
<i class=\"fab fa-twitter\"></i>
</a>
</li>
<li class=\"ec-share__item\">
<a href=\"https://www.facebook.com/sharer/sharer.php?u=";
// line 2196
echo twig_escape_filter($this->env, twig_urlencode_filter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 2196, $this->source); })()), "request", [], "any", false, false, false, 2196), "uri", [], "any", false, false, false, 2196)), "html", null, true);
echo "\" class=\"ec-share__link ec-share__link--facebook\" target=\"_blank\" rel=\"noreferrer noopener\">
<i class=\"fab fa-facebook-f\"></i>
</a>
</li>
<li class=\"ec-share__item\">
<a href=\"https://social-plugins.line.me/lineit/share?url=";
// line 2201
echo twig_escape_filter($this->env, twig_urlencode_filter(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 2201, $this->source); })()), "request", [], "any", false, false, false, 2201), "uri", [], "any", false, false, false, 2201)), "html", null, true);
echo "\" class=\"ec-share__link ec-share__link--line\" target=\"_blank\" rel=\"noreferrer noopener\">
<i class=\"fab fa-line\"></i>
</a>
</li>
</ul>
</div>
</div>
\t\t\t\t";
// line 2209
echo "\t\t\t\t<div id=\"sp-mitsumori-bar\">
\t\t\t\t <div>
\t\t\t\t <div class=\"sp-bar__label\">合計(工事費・税込)</div>
\t\t\t\t <div class=\"sp-bar__price\" id=\"sp-mitsumori-price\">---円</div>
\t\t\t\t </div>
\t\t\t\t <button type=\"button\" class=\"sp-bar__btn\"
\t\t\t\t onclick=\"document.getElementById('cart_btn2') && document.getElementById('cart_btn2').click();\">
\t\t\t\t 検討リストへ
\t\t\t\t </button>
\t\t\t\t</div>
\t\t\t\t<div class=\"card col-12 collapsed-card sticky-top float-right mitsumori-card-pc\">
\t\t\t\t\t<div class=\"card-header\">
\t\t\t\t\t <h3 class=\"card-title\">現在のお見積り額</h3>
\t\t\t\t\t <div class=\"card-tools\">
\t\t\t\t\t <span class=\"float-left\" id=\"mitsumori_message\">395000円</span>
\t\t\t\t\t <button type=\"button\" class=\"btn btn-tool btn-mitsumori-toggle\" data-card-widget=\"collapse\" title=\"詳細を表示\">
\t\t\t\t\t <span class=\"toggle-icon\">▼ 詳細</span>
\t\t\t\t\t </button>
\t\t\t\t\t </div>
\t\t\t\t\t</div>
\t\t\t\t\t<div class=\"card-body p-0\">
\t\t\t\t\t <ul class=\"nav nav-pills flex-column\">
\t\t\t\t\t <li class=\"nav-item active\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> 合計(工事費・税込)
\t\t\t\t\t <span class=\"float-right\" id=\"mitsumori_goukei\">395,000円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t <li class=\"nav-item active\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> 商品価格
\t\t\t\t\t <span class=\"float-right\" id=\"mitsumori_price\">307,008円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t <li class=\"nav-item\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> カタログ価格
\t\t\t\t\t <span class=\"float-right\" id=\"maker_price\">479,700円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t <li class=\"nav-item\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> お値引き
\t\t\t\t\t <span class=\"float-right\" id=\"mitsumori_off\">-172,692円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t <li class=\"nav-item\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> 基本工事費
\t\t\t\t\t <span class=\"float-right\" id=\"mitsumori_ct\">53,250円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t <li class=\"nav-item\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> 施工オプション
\t\t\t\t\t <span class=\"float-right\"id=\"mitsumori_option\">6,297円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t </ul>
\t\t\t\t\t</div>
\t\t\t\t\t<div class=\"card-footer\">
\t\t <button type=\"button\" id=\"mitsumori_btn\" class=\"btn btn-info\" data-toggle=\"modal\" data-target=\"#modal-mitsumori\">
\t\t 見積書表示
\t\t </button>
<button type=\"submit\" id=\"cart_btn2\" class=\"btn btn-info add-cart\">施工検討リストに入れる</button>
\t\t\t\t\t</div>
\t\t\t\t</div>
</div>
</div>
</div>
<div class=\"modal\" id=\"modal-mitsumori\">
<div class=\"modal-dialog modal-mitsumori\" style=\"max-width:1000px\">
<div class=\"modal-content\">
<div class=\"modal-header\">
<h4 class=\"modal-title\">お見積書</h4>
<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
<span aria-hidden=\"true\">×</span>
</button>
</div>
<div class=\"modal-body\">
\t\t\t<div class=\"invoice p-3 mb-5\" style=\"max-width:1000px; margin:auto;\">
\t\t\t <!-- title row -->
\t\t\t <div class=\"row\">
\t\t\t <div class=\"col-12\">
\t\t\t <h2>概算お見積書
\t\t\t <small class=\"float-right\" style=\"font-size:14px;\">発行日: 2025/03/14</small>
\t\t\t </h2>
\t\t\t </div>
\t\t\t <!-- /.col -->
\t\t\t </div>
\t\t\t <!-- info row -->
\t\t\t <div class=\"row invoice-info\">
\t\t\t <div class=\"col-sm-8 invoice-col\">
\t\t\t <h3>お客様</h3>
\t\t\t <span>下記の通り、お見積もり申し上げます。</span>
\t\t\t <br />
\t\t\t <br / >
\t\t\t <br />
\t\t\t <h2>お見積金額: <span id=\"mitsumori_kei\">399,080円</span></h2>
\t\t\t <span>
\t\t\t <br/>
\t\t\t <br/>
\t\t\t <br/>
\t\t\t <br/>
\t\t\t </span>
\t\t\t </div>
\t\t\t <div class=\"col-sm-4 invoice-col\">
\t\t\t <p>
\t\t\t <img alt=\"\" src=\"/html/user_data/js/images/logo.png\" style=\"width: 260px; max-width: 100%; max-height: 10mm;\">
\t\t\t </p>
\t\t\t <p>有限会社プラス</p>
\t\t\t <p>〒400-0334</p>
\t\t\t <p>山梨県南アルプス市藤田1450番地2</p>
\t\t\t <p>TEL: 055-284-6480</p>
\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;\">
\t\t\t </div>
\t\t\t <!-- /.col -->
\t\t\t <!-- /.col -->
\t\t\t </div>
\t\t\t <!-- /.row -->
\t\t\t <!-- Table row -->
\t\t\t <div class=\"row\">
\t\t\t <div class=\"col-12 table-responsive\">
\t\t\t <table class=\"table table-striped\">
\t\t\t <thead>
\t\t\t <tr>
\t\t\t <th>項目</th>
\t\t\t <th>数量</th>
\t\t\t <th>単位</th>
\t\t\t <th>単価</th>
\t\t\t <th>小計</th>
\t\t\t </tr>
\t\t\t </thead>
\t\t\t <tbody>
\t\t\t <tr>
\t\t\t <td>プレーンルーフ 600タイプ 1台用 単体セット</td>
\t\t\t <td>1</td>
\t\t\t <td>式</td>
\t\t\t <td id=\"mitsumori_price_01\">352,800</td>
\t\t\t <td id=\"mitsumori_price_02\">352,800</td>
\t\t\t </tr>
\t\t\t <tr>
\t\t\t <td>基本工事費</td>
\t\t\t <td>1</td>
\t\t\t <td>式</td>
\t\t\t <td id=\"mitsumori_ct_01\">10,000</td>
\t\t\t <td id=\"mitsumori_ct_02\">10,000</td>
\t\t\t </tr>
\t\t\t <tr>
\t\t\t <td>残土・ガラ処理</td>
\t\t\t <td>1</td>
\t\t\t <td>式</td>
\t\t\t <td>0円</td>
\t\t\t <td></td>
\t\t\t </tr>
\t\t\t <tr>
\t\t\t <td> </td>
\t\t\t <td></td>
\t\t\t <td></td>
\t\t\t <td></td>
\t\t\t <td></td>
\t\t\t </tr>
\t\t\t </tbody>
\t\t\t </table>
\t\t\t </div>
\t\t\t <!-- /.col -->
\t\t\t </div>
\t\t\t <!-- /.row -->
\t\t\t <div class=\"row\">
\t\t\t <!-- accepted payments column -->
\t\t\t <div class=\"col-6\">
\t\t\t <p class=\"lead\">お支払い方法</p>
\t\t\t <p class=\"text-muted well well-sm shadow-none\" style=\"margin-top: 10px;\">銀行振込、クレジットカード決済、PAYPAY決済
\t\t\t <br>銀行振込:山梨中央銀行 白根支店 普通口座 391402
\t\t\t <br>※商品代金と工事代金の総額が金100万円(税込)を超える場合、着手金として代金の半額をご契約後お支払いいただきます。
\t\t\t </p>
\t\t\t </div>
\t\t\t <!-- /.col -->
\t\t\t <div class=\"col-6\">
\t\t\t <div class=\"table-responsive\">
\t\t\t <table class=\"table\">
\t\t\t <tbody>
\t\t\t <tr>
\t\t\t <th style=\"width:50%\">小計:</th>
\t\t\t <td id=\"mitsumori_shoukei\">362,800</td>
\t\t\t </tr>
\t\t\t <tr>
\t\t\t <th>消費税 (10%)</th>
\t\t\t <td id=\"mitsumori_tax\">36,280</td>
\t\t\t </tr>
\t\t\t <tr>
\t\t\t <th>合計:</th>
\t\t\t <td id=\"mitsumori_goukei_02\">399,080</td>
\t\t\t </tr>
\t\t\t </tbody>
\t\t\t </table>
\t\t\t </div>
\t\t\t </div>
\t\t\t <!-- /.col -->
\t\t\t </div>
\t\t\t <!-- /.row -->
\t\t\t</div>
</div>
<div class=\"modal-footer justify-content-between\">
\t\t\t ";
// line 2419
echo "\t\t\t <form method=\"post\" action=\"";
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("mitsumori_pdf");
echo "\" target=\"_blank\" id=\"pdf_download_form\">
\t\t\t <input type=\"hidden\" name=\"_token\" value=\"";
// line 2420
echo twig_escape_filter($this->env, $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderCsrfToken("mitsumori_pdf"), "html", null, true);
echo "\">
\t\t\t <input type=\"hidden\" name=\"mitsumori_json\" id=\"pdf_mitsumori_json\">
\t\t\t <button type=\"submit\" class=\"btn btn-primary float-right\" style=\"margin-right: 5px;\" onclick=\"syncPdfJson();\">
\t\t\t <i class=\"fas fa-download\"></i>PDF出力
\t\t\t </button>
\t\t\t </form>
<button type=\"submit\" id=\"cart_btn3\" class=\"btn btn-info add-cart\">施工検討リストに入れる</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
public function getTemplateName()
{
return "Product/detail.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 4255 => 2420, 4250 => 2419, 4039 => 2209, 4029 => 2201, 4021 => 2196, 4011 => 2191, 4006 => 2188, 4000 => 2184, 3989 => 2178, 3985 => 2177, 3979 => 2174, 3975 => 2173, 3967 => 2168, 3962 => 2165, 3955 => 2161, 3951 => 2159, 3943 => 2154, 3939 => 2153, 3936 => 2152, 3933 => 2151, 3927 => 2148, 3923 => 2147, 3920 => 2146, 3918 => 2145, 3913 => 2143, 3909 => 2142, 3906 => 2141, 3904 => 2140, 3901 => 2139, 3899 => 2138, 3895 => 2137, 3887 => 2131, 3881 => 2130, 3878 => 2129, 3870 => 2124, 3858 => 2123, 3852 => 2122, 3846 => 2121, 3841 => 2119, 3829 => 2118, 3823 => 2117, 3817 => 2116, 3814 => 2115, 3808 => 2114, 3799 => 2113, 3796 => 2112, 3793 => 2111, 3790 => 2110, 3786 => 2109, 3779 => 2104, 3763 => 2090, 3761 => 2089, 3757 => 2087, 3744 => 2077, 3736 => 2071, 3733 => 2069, 3727 => 2065, 3715 => 2062, 3710 => 2061, 3706 => 2060, 3700 => 2059, 3697 => 2058, 3690 => 2057, 3688 => 2056, 3682 => 2052, 3679 => 2051, 3676 => 2049, 3670 => 2045, 3658 => 2042, 3653 => 2041, 3649 => 2040, 3643 => 2039, 3640 => 2038, 3633 => 2037, 3631 => 2036, 3625 => 2032, 3622 => 2031, 3619 => 2029, 3617 => 2028, 3613 => 2026, 3603 => 2018, 3599 => 2017, 3592 => 2012, 3588 => 2011, 3580 => 2005, 3571 => 1997, 3567 => 1996, 3560 => 1991, 3556 => 1990, 3548 => 1984, 3535 => 1973, 3527 => 1967, 3524 => 1965, 3522 => 1964, 3518 => 1962, 3504 => 1951, 3498 => 1947, 3495 => 1945, 3493 => 1944, 3489 => 1942, 3475 => 1931, 3469 => 1927, 3466 => 1925, 3460 => 1921, 3448 => 1918, 3443 => 1917, 3439 => 1916, 3433 => 1915, 3430 => 1914, 3423 => 1913, 3421 => 1912, 3415 => 1908, 3412 => 1907, 3409 => 1905, 3403 => 1901, 3391 => 1898, 3386 => 1897, 3382 => 1896, 3376 => 1895, 3373 => 1894, 3366 => 1893, 3364 => 1892, 3358 => 1888, 3355 => 1887, 3352 => 1885, 3346 => 1881, 3334 => 1878, 3329 => 1877, 3325 => 1876, 3319 => 1875, 3316 => 1874, 3309 => 1873, 3307 => 1872, 3301 => 1868, 3299 => 1867, 3296 => 1866, 3290 => 1862, 3278 => 1859, 3273 => 1858, 3269 => 1857, 3263 => 1856, 3260 => 1855, 3253 => 1854, 3251 => 1853, 3245 => 1849, 3243 => 1848, 3240 => 1847, 3234 => 1843, 3222 => 1840, 3217 => 1839, 3213 => 1838, 3207 => 1837, 3204 => 1836, 3197 => 1835, 3195 => 1834, 3189 => 1830, 3186 => 1829, 3183 => 1827, 3181 => 1826, 3177 => 1824, 3170 => 1819, 3155 => 1817, 3151 => 1816, 3145 => 1812, 3142 => 1810, 3136 => 1806, 3130 => 1805, 3122 => 1802, 3117 => 1801, 3113 => 1800, 3107 => 1799, 3104 => 1798, 3101 => 1797, 3098 => 1796, 3093 => 1795, 3091 => 1794, 3085 => 1790, 3082 => 1789, 3079 => 1787, 3073 => 1783, 3067 => 1782, 3059 => 1779, 3054 => 1778, 3050 => 1777, 3044 => 1776, 3041 => 1775, 3038 => 1774, 3035 => 1773, 3030 => 1772, 3028 => 1771, 3022 => 1767, 3019 => 1766, 3010 => 1759, 3000 => 1752, 2993 => 1747, 2990 => 1745, 2988 => 1744, 2984 => 1742, 2981 => 1741, 2979 => 1740, 2975 => 1738, 2970 => 1735, 2960 => 1732, 2954 => 1731, 2948 => 1730, 2944 => 1729, 2937 => 1728, 2930 => 1727, 2928 => 1726, 2919 => 1724, 2916 => 1723, 2914 => 1722, 2911 => 1721, 2906 => 1718, 2896 => 1715, 2890 => 1714, 2884 => 1713, 2880 => 1712, 2873 => 1711, 2866 => 1710, 2864 => 1709, 2855 => 1707, 2852 => 1706, 2850 => 1705, 2847 => 1704, 2842 => 1701, 2832 => 1698, 2826 => 1697, 2820 => 1696, 2816 => 1695, 2809 => 1694, 2802 => 1693, 2800 => 1692, 2791 => 1690, 2788 => 1689, 2786 => 1688, 2783 => 1687, 2778 => 1684, 2768 => 1681, 2762 => 1680, 2756 => 1679, 2752 => 1678, 2745 => 1677, 2738 => 1676, 2736 => 1675, 2727 => 1673, 2724 => 1672, 2722 => 1671, 2719 => 1670, 2714 => 1667, 2704 => 1664, 2698 => 1663, 2692 => 1662, 2688 => 1661, 2681 => 1660, 2674 => 1659, 2672 => 1658, 2663 => 1656, 2660 => 1655, 2658 => 1654, 2652 => 1650, 2648 => 1648, 2644 => 1646, 2635 => 1643, 2629 => 1642, 2625 => 1641, 2621 => 1640, 2614 => 1639, 2610 => 1638, 2607 => 1637, 2605 => 1636, 2601 => 1634, 2592 => 1631, 2588 => 1630, 2584 => 1629, 2577 => 1627, 2573 => 1626, 2569 => 1625, 2562 => 1624, 2558 => 1623, 2555 => 1622, 2553 => 1621, 2551 => 1620, 2542 => 1619, 2539 => 1618, 2536 => 1617, 2533 => 1615, 2529 => 1613, 2525 => 1611, 2516 => 1608, 2510 => 1607, 2506 => 1606, 2502 => 1605, 2495 => 1604, 2491 => 1603, 2488 => 1602, 2484 => 1600, 2475 => 1597, 2469 => 1594, 2465 => 1593, 2458 => 1591, 2454 => 1590, 2450 => 1589, 2443 => 1588, 2439 => 1587, 2436 => 1586, 2434 => 1585, 2425 => 1584, 2422 => 1583, 2419 => 1582, 2416 => 1580, 2412 => 1578, 2408 => 1576, 2399 => 1573, 2393 => 1572, 2389 => 1571, 2385 => 1570, 2378 => 1569, 2374 => 1568, 2371 => 1567, 2367 => 1565, 2358 => 1562, 2352 => 1559, 2348 => 1558, 2341 => 1556, 2337 => 1555, 2333 => 1554, 2326 => 1553, 2322 => 1552, 2319 => 1551, 2317 => 1550, 2308 => 1549, 2305 => 1548, 2302 => 1547, 2299 => 1545, 2295 => 1543, 2291 => 1541, 2282 => 1538, 2276 => 1537, 2272 => 1536, 2268 => 1535, 2261 => 1534, 2257 => 1533, 2254 => 1532, 2252 => 1531, 2248 => 1529, 2239 => 1526, 2233 => 1523, 2229 => 1522, 2222 => 1520, 2218 => 1519, 2214 => 1518, 2207 => 1517, 2203 => 1516, 2200 => 1515, 2198 => 1514, 2196 => 1513, 2187 => 1512, 2184 => 1511, 2181 => 1510, 2178 => 1508, 2174 => 1506, 2171 => 1505, 2169 => 1504, 2168 => 1503, 2167 => 1502, 2165 => 1501, 2162 => 1500, 2159 => 1499, 2156 => 1498, 2153 => 1497, 2150 => 1496, 2147 => 1495, 2144 => 1494, 2141 => 1493, 2139 => 1492, 2137 => 1491, 2125 => 1482, 2118 => 1477, 2106 => 1474, 2103 => 1473, 2100 => 1472, 2097 => 1470, 2086 => 1468, 2082 => 1467, 2079 => 1466, 2076 => 1464, 2070 => 1461, 2066 => 1460, 2063 => 1459, 2060 => 1458, 2054 => 1455, 2048 => 1454, 2045 => 1453, 2039 => 1450, 2035 => 1449, 2032 => 1448, 2030 => 1447, 2028 => 1446, 2024 => 1444, 2022 => 1443, 2018 => 1441, 2010 => 1438, 1995 => 1436, 1986 => 1435, 1969 => 1434, 1965 => 1432, 1961 => 1431, 1958 => 1430, 1955 => 1429, 1942 => 1418, 1928 => 1406, 1922 => 1401, 1903 => 1399, 1886 => 1398, 1882 => 1396, 1871 => 1394, 1849 => 1392, 1831 => 1391, 1828 => 1390, 1824 => 1388, 1816 => 1384, 1808 => 1380, 1806 => 1379, 1803 => 1378, 1801 => 1377, 1791 => 1370, 1779 => 1363, 1774 => 1361, 1770 => 1359, 1764 => 1354, 1754 => 1353, 1738 => 1346, 1734 => 1345, 1730 => 1344, 1726 => 1343, 1722 => 1341, 1716 => 1339, 1714 => 1338, 1709 => 1337, 1706 => 1336, 1696 => 1334, 1682 => 1332, 1674 => 1331, 1656 => 1330, 1651 => 1328, 1550 => 1234, 1542 => 1233, 1489 => 1183, 1378 => 1075, 1373 => 1072, 1370 => 1071, 1357 => 1070, 1354 => 1069, 1352 => 1068, 1349 => 1067, 1346 => 1066, 1333 => 1065, 1330 => 1064, 1328 => 1063, 1325 => 1062, 1322 => 1061, 1309 => 1060, 1306 => 1059, 1304 => 1058, 1301 => 1057, 1298 => 1056, 1285 => 1055, 1282 => 1054, 1280 => 1053, 1277 => 1052, 1274 => 1051, 1261 => 1050, 1258 => 1049, 1256 => 1048, 1227 => 1022, 1215 => 1013, 1051 => 852, 1041 => 847, 1035 => 846, 1029 => 845, 1023 => 844, 1017 => 843, 1011 => 842, 1005 => 841, 999 => 840, 993 => 839, 987 => 838, 981 => 837, 975 => 836, 969 => 835, 963 => 834, 957 => 833, 951 => 832, 931 => 815, 921 => 808, 891 => 781, 879 => 771, 870 => 765, 866 => 763, 864 => 762, 861 => 761, 852 => 755, 848 => 753, 846 => 752, 774 => 682, 766 => 680, 764 => 679, 759 => 677, 756 => 676, 754 => 675, 740 => 664, 736 => 662, 726 => 661, 73 => 16, 63 => 15, 52 => 11, 50 => 13, 37 => 11,);
}
public function getSourceContext()
{
return new Source("{#
This file is part of EC-CUBE
Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
http://www.ec-cube.co.jp/
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
#}
{% extends 'default_frame.twig' %}
{% set body_class = 'product_page' %}
{% block stylesheet %}
<style>
.slick-slider {
margin-bottom: 10px;
\t\t\tmargin-top: -20px;
}
.slick-dots {
position: absolute;
bottom: -45px;
display: block;
width: 100%;
padding: 0;
list-style: none;
text-align: center;
}
.slick-dots li {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
margin: 0 5px;
padding: 0;
cursor: pointer;
}
.slick-dots li button {
font-size: 0;
line-height: 0;
display: block;
width: 20px;
height: 20px;
padding: 5px;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
opacity: 1;
}
.slick-dots li button:before {
content: \" \";
line-height: 20px;
position: absolute;
top: 0;
left: 0;
width: 12px;
height: 12px;
text-align: center;
opacity: .25;
background-color: black;
border-radius: 50%;
}
.slick-dots li.slick-active button:before {
opacity: .75;
background-color: black;
}
.slick-dots li button.thumbnail img {
width: 0;
height: 0;
}
</style>
<link rel=\"stylesheet\" href=\"/html/user_data/js/style.css\">
<link rel=\"stylesheet\" href=\"/html/plugins/icheck-bootstrap/icheck-bootstrap.min.css\">
<style>
/* ============================================
商品詳細グリッド: 画像50% / 内容50%(均等)
============================================ */
@media (min-width: 768px) {
body.product_page .ec-grid2 {
display: flex;
align-items: flex-start;
}
body.product_page .ec-grid2 .ec-grid2__cell {
width: 50%;
flex: 0 0 50%;
min-width: 0;
}
body.product_page .ec-grid2 .ec-grid2__cell2 {
width: 50%;
flex: 0 0 50%;
min-width: 0;
}
}
/* ============================================
商品説明欄内のHTMLが画面幅を突き抜けないように
============================================ */
body.product_page .ec-productRole__description {
min-width: 0;
overflow-wrap: break-word;
word-break: break-word;
}
body.product_page .ec-productRole__description img,
body.product_page .ec-productRole__description table,
body.product_page .ec-productRole__description iframe,
body.product_page .ec-productRole__description video {
max-width: 100% !important;
height: auto;
}
body.product_page .ec-productRole__description table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
/* ============================================
スマホ用 見積金額 下部固定バー
============================================ */
#sp-mitsumori-bar {
display: none;
}
/* ============================================
商品タイプ選択 共通スタイル
============================================ */
/* セクションラベル */
.rp-section-label {
font-size: 14px;
font-weight: bold;
color: #333;
margin-bottom: 10px;
}
.rp-section-label span {
font-weight: normal;
color: #c00;
}
/* ---- 1. 画像付きカード ---- */
.rp-card-group {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 4px;
}
.rp-card {
position: relative;
cursor: pointer;
width: 110px;
border: 2px solid #ddd;
border-radius: 10px;
overflow: hidden;
transition: border-color 0.2s, box-shadow 0.2s;
background: #fff;
}
.rp-card:hover {
border-color: #999;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.rp-card.is-selected {
border-color: #1a6fcf;
box-shadow: 0 2px 10px rgba(26,111,207,0.25);
}
.rp-card input[type=\"radio\"] { display: none; }
.rp-card__image {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
display: block;
background: #f5f5f5;
}
.rp-card__placeholder {
width: 100%;
aspect-ratio: 1 / 1;
background: #f0f0f0;
display: flex;
align-items: center;
justify-content: center;
color: #bbb;
font-size: 24px;
}
.rp-card__name {
display: block;
padding: 5px 5px;
font-size: 11px;
color: #333;
text-align: center;
line-height: 1.4;
word-break: break-all;
}
.rp-card.is-selected .rp-card__name { color: #1a6fcf; font-weight: bold; }
.rp-card.is-selected::after {
content: \"✓\";
position: absolute;
top: 3px; right: 6px;
color: #1a6fcf;
font-size: 13px;
font-weight: bold;
}
/* ---- 2. ボタン式ラジオ(画像なし・8個以内)---- */
.rp-btn-group {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 4px;
max-width: 100%;
min-width: 0;
}
.rp-btn {
cursor: pointer;
padding: 8px 14px;
border: 2px solid #ddd;
border-radius: 10px;
font-size: 13px;
color: #333;
background: #fff;
transition: border-color 0.2s, background 0.2s;
white-space: nowrap;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
.rp-btn:hover { border-color: #999; }
.rp-btn.is-selected {
border-color: #1a6fcf;
color: #1a6fcf;
font-weight: bold;
background: #f0f6ff;
}
.rp-btn input[type=\"radio\"] { display: none; }
/* ---- ボタン群が3行以上になる場合は1行横スクロール ---- */
.rp-btn-group.is-scroll,
.opt-btn-group.is-scroll {
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
padding-bottom: 6px;
}
.rp-btn-group.is-scroll::-webkit-scrollbar,
.opt-btn-group.is-scroll::-webkit-scrollbar {
height: 6px;
}
.rp-btn-group.is-scroll::-webkit-scrollbar-thumb,
.opt-btn-group.is-scroll::-webkit-scrollbar-thumb {
background: #c0c0c0;
border-radius: 3px;
}
.rp-btn-group.is-scroll > .rp-btn,
.opt-btn-group.is-scroll > .opt-btn {
flex: 0 0 auto;
}
/* ---- 3. プルダウン(画像なし・9個以上)---- */
.rp-select-wrap {
margin-bottom: 4px;
}
.rp-select {
width: 100%;
max-width: 420px;
padding: 8px 12px;
border: 2px solid #ddd;
border-radius: 10px;
font-size: 13px;
color: #333;
background: #fff;
appearance: none;
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\");
background-repeat: no-repeat;
background-position: right 12px center;
cursor: pointer;
}
.rp-select:focus {
outline: none;
border-color: #1a6fcf;
}
/* ---- オプション選択ボタン(枠線ラジオ)---- */
.opt-btn-group {
display: flex;
flex-wrap: wrap;
gap: 8px;
padding: 6px 0;
max-width: 100%;
min-width: 0;
}
.opt-btn {
cursor: pointer;
padding: 7px 14px;
border: 2px solid #ddd;
border-radius: 10px;
font-size: 13px;
color: #333;
background: #fff;
transition: border-color 0.2s, background 0.2s;
white-space: nowrap;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
.opt-btn:hover { border-color: #999; }
.opt-btn.is-selected {
border-color: #1a6fcf;
color: #1a6fcf;
font-weight: bold;
background: #f0f6ff;
}
.opt-btn input[type=\"radio\"] { display: none; }
/* ============================================
施工エリア案内
============================================ */
.ec-areaNotice {
margin: 16px 0;
padding: 16px 20px;
background: #f8f9fa;
border-left: 4px solid #1a6fcf;
border-radius: 0 8px 8px 0;
}
.ec-areaNotice__inner {
display: flex;
align-items: flex-start;
gap: 12px;
}
.ec-areaNotice__icon {
font-size: 22px;
line-height: 1;
flex-shrink: 0;
margin-top: 2px;
}
.ec-areaNotice__body {
flex: 1;
}
.ec-areaNotice__title {
font-size: 13px;
font-weight: bold;
color: #1a6fcf;
margin: 0 0 6px;
}
.ec-areaNotice__text {
font-size: 13px;
color: #444;
line-height: 1.7;
margin: 0;
}
.ec-areaNotice__text strong {
color: #222;
}
.ec-areaNotice__link {
display: inline-block;
margin-top: 8px;
font-size: 12px;
color: #1a6fcf;
text-decoration: underline;
}
.ec-areaNotice__link:hover {
color: #0d4fa0;
}
/* ============================================
SNSシェア + ブランド名 タイトル行
============================================ */
.ec-productRole__titleRow {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
margin-bottom: 4px;
}
.ec-productRole__titleRow .ec-headingTitle {
margin: 0;
flex: 1;
font-size: 18px;
}
.ec-share-inline {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0;
}
@media (max-width: 767px) {
/* maker_area の float を解除して独立表示 */
#maker_area {
float: none !important;
width: auto !important;
height: auto !important;
display: block;
margin-bottom: 4px;
}
/* タイトル行: 商品名が全幅を占有しSNSは右寄せ下段 */
.ec-productRole__titleRow {
flex-wrap: wrap;
clear: both;
}
.ec-productRole__titleRow .ec-headingTitle {
flex: 1 1 100%;
font-size: 16px;
}
.ec-share-inline {
flex: 0 0 auto;
margin-left: auto;
}
}
.ec-share-inline a {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
font-size: 15px;
color: #fff;
text-decoration: none;
transition: opacity 0.2s;
}
.ec-share-inline a:hover { opacity: 0.8; }
.ec-share-inline .share-twitter { background: #000; }
.ec-share-inline .share-facebook { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.ec-share-inline .share-line { background: #06c755; }
/* description_detail下のシェアブロックはPC/スマホ共通で非表示(タイトル行に移動) */
.ec-productRole__share { display: none; }
/* ============================================
PC用: 現在のお見積り額カード強調
============================================ */
@media (min-width: 768px) {
.mitsumori-card-pc {
border: 2px solid #1a6fcf !important;
border-radius: 10px !important;
box-shadow: 0 4px 16px rgba(26,111,207,0.18) !important;
margin-top: 20px;
overflow: hidden;
background: linear-gradient(135deg, #1a6fcf, #0d4fa0) !important;
}
.mitsumori-card-pc .card-header {
background: linear-gradient(135deg, #1a6fcf, #0d4fa0) !important;
color: #fff !important;
padding: 14px 16px !important;
border-bottom: none !important;
}
.mitsumori-card-pc .card-title {
color: #fff !important;
font-size: 15px !important;
font-weight: bold !important;
margin: 0 !important;
}
.mitsumori-card-pc #mitsumori_message {
font-size: 22px !important;
font-weight: bold !important;
color: #fff !important;
}
.mitsumori-card-pc .btn-tool {
color: #fff !important;
}
/* 合計行を大きく強調 */
.mitsumori-card-pc .nav-item:first-child .nav-link {
font-size: 16px !important;
font-weight: bold !important;
color: #c00 !important;
background: #fff8f8 !important;
padding: 12px 16px !important;
}
.mitsumori-card-pc .nav-item:first-child #mitsumori_goukei {
font-size: 20px !important;
font-weight: bold !important;
color: #c00 !important;
}
/* card-body(明細リスト)を白背景に */
.mitsumori-card-pc .card-body {
background: #fff !important;
}
.mitsumori-card-pc .card-footer {
background: #f8faff !important;
border-top: 1px solid #dce8fb !important;
padding: 12px 16px !important;
}
}
@media (max-width: 767px) {
/* スマホでは現在のお見積り額カードの強調スタイルをすべてリセット */
.mitsumori-card-pc {
border: none !important;
border-radius: 0 !important;
box-shadow: none !important;
margin-top: 0 !important;
overflow: visible !important;
background: none !important;
}
.mitsumori-card-pc .card-header {
background: none !important;
color: inherit !important;
padding: inherit !important;
border-bottom: inherit !important;
}
.mitsumori-card-pc .card-title { color: inherit !important; }
.mitsumori-card-pc #mitsumori_message { font-size: inherit !important; color: inherit !important; }
.mitsumori-card-pc .btn-tool { color: inherit !important; }
/* 折りたたみトグルボタン */
.btn-mitsumori-toggle {
background: none !important;
border: 1px solid #aaa !important;
border-radius: 4px !important;
padding: 2px 8px !important;
font-size: 12px !important;
color: #333 !important;
line-height: 1.4 !important;
}
.btn-mitsumori-toggle .toggle-icon {
display: inline-block;
transition: transform 0.2s;
}
/* 展開状態: ▼→▲ */
.card:not(.collapsed-card) .btn-mitsumori-toggle .toggle-icon::before {
content: \"▲ 閉じる\";
}
.card:not(.collapsed-card) .btn-mitsumori-toggle .toggle-icon {
display: none;
}
.card:not(.collapsed-card) .btn-mitsumori-toggle::after {
content: \"▲ 閉じる\";
font-size: 12px;
}
.mitsumori-card-pc .nav-item:first-child .nav-link {
font-size: inherit !important;
color: inherit !important;
background: none !important;
padding: inherit !important;
}
.mitsumori-card-pc .nav-item:first-child #mitsumori_goukei {
font-size: inherit !important;
color: inherit !important;
}
.mitsumori-card-pc .card-footer {
background: none !important;
border-top: inherit !important;
padding: inherit !important;
}
/* 横スクロール禁止 */
body, html {
overflow-x: hidden;
max-width: 100vw;
}
/* ボタンの折り返しを許可(nowrapが原因で横スクロール発生するため) */
.opt-btn,
.rp-btn {
white-space: normal;
word-break: break-all;
}
/* エリア案内: スマホでコンパクト */
.ec-areaNotice {
margin: 8px 0;
padding: 8px 10px;
border-left-width: 3px;
cursor: pointer;
}
.ec-areaNotice__inner {
flex-direction: row;
gap: 8px;
align-items: flex-start;
}
.ec-areaNotice__icon { font-size: 15px; }
/* タイトル行: 展開トグル */
.ec-areaNotice__title {
font-size: 11px;
margin-bottom: 3px;
display: flex;
justify-content: space-between;
align-items: center;
}
.ec-areaNotice__title::after {
content: \"▼\";
font-size: 9px;
color: #888;
margin-left: 6px;
transition: transform 0.2s;
}
.ec-areaNotice.is-open .ec-areaNotice__title::after {
transform: rotate(180deg);
}
/* 折りたたみ対象: 閉じた状態では非表示 */
.ec-areaNotice__detail {
display: none;
}
.ec-areaNotice.is-open .ec-areaNotice__detail {
display: block;
}
.ec-areaNotice__text { font-size: 11px; line-height: 1.5; }
.ec-areaNotice__text br { display: none; }
.ec-areaNotice__link { font-size: 11px; margin-top: 3px; }
.rp-card { width: calc(33.333% - 6px); min-width: 80px; }
#sp-mitsumori-bar {
display: flex;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 1000;
background: #fff;
border-top: 2px solid #e0e0e0;
box-shadow: 0 -2px 8px rgba(0,0,0,0.12);
align-items: center;
padding: 8px 12px;
gap: 10px;
}
#sp-mitsumori-bar .sp-bar__label {
font-size: 11px;
color: #666;
white-space: nowrap;
}
#sp-mitsumori-bar .sp-bar__price {
font-size: 18px;
font-weight: bold;
color: #c00;
flex: 1;
}
#sp-mitsumori-bar .sp-bar__btn {
font-size: 12px;
padding: 8px 12px;
background: #333;
color: #fff;
border: none;
border-radius: 6px;
white-space: nowrap;
cursor: pointer;
}
/* 下部バーの高さ分ページ下部にpaddingを追加 */
body {
padding-bottom: 64px;
}
}
</style>
{% endblock %}
{% block javascript %}
<script>
eccube.classCategories = {{ class_categories_as_json(Product)|raw }};
// 規格2に選択肢を割り当てる。
function fnSetClassCategories(form, classcat_id2_selected) {
var \$form = \$(form);
var product_id = \$form.find('input[name=product_id]').val();
var \$sele1 = \$form.find('select[name=classcategory_id1]');
var \$sele2 = \$form.find('select[name=classcategory_id2]');
eccube.setClassCategories(\$form, product_id, \$sele1, \$sele2, classcat_id2_selected);
}
{% if form.classcategory_id2 is defined %}
fnSetClassCategories(
\$('#form1'), {{ form.classcategory_id2.vars.value|json_encode|raw }}
);
{% elseif form.classcategory_id1 is defined %}
eccube.checkStock(\$('#form1'), {{ Product.id }}, {{ form.classcategory_id1.vars.value|json_encode|raw }}, null);
{% endif %}
</script>
<script>
\$(function() {
// bfcache無効化
\$(window).bind('pageshow', function(event) {
if (event.originalEvent.persisted) {
location.reload(true);
}
});
// Core Web Vital の Cumulative Layout Shift(CLS)対策のため
// img タグに width, height が付与されている.
// 630px 未満の画面サイズでは縦横比が壊れるための対策
// see https://github.com/EC-CUBE/ec-cube/pull/5023
\$('.ec-grid2__cell').hide();
var removeSize = function () {
\$('.slide-item').height('');
\$('.slide-item img')
.removeAttr('width')
.removeAttr('height')
.removeAttr('style');
};
var slickInitial = function(slick) {
\$('.ec-grid2__cell').fadeIn(1500);
var baseHeight = \$(slick.target).height();
var baseWidth = \$(slick.target).width();
var rate = baseWidth / baseHeight;
\t\t\t\tif(baseHeight * rate < 400){
\t \$('.slide-item').height(baseHeight * rate); // 余白を削除する
\t\t\t\t}else{
\t \$('.slide-item').height(400); // 余白を削除する
\t\t\t\t}
// transform を使用することでCLSの影響を受けないようにする
\$('.slide-item img')
.css(
{
'transform-origin': 'top left',
'transform': 'scaleY(' + rate + ')',
'transition': 'transform .1s'
}
);
// 正しいサイズに近くなったら属性を解除する
setTimeout(removeSize, 500);
};
\$('.item_visual').on('init', slickInitial);
// リサイズ時は CLS の影響を受けないため属性を解除する
\$(window).resize(removeSize);
\$('.item_visual').slick({
dots: false,
arrows: true,
responsive: [{
breakpoint: 768,
settings: {
dots: true,
\t\tarrows: false
}
}]
});
\$('.slideThumb').on('click', function() {
var index = \$(this).attr('data-index');
\$('.item_visual').slick('slickGoTo', index, false);
})
});
</script>
<script>
\$(function() {
\$('.add-cart').on('click', function(event) {
{% if form.classcategory_id1 is defined %}
// 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
return true;
} else {
\$('#classcategory_id1')[0].setCustomValidity('');
}
{% endif %}
{% if form.classcategory_id2 is defined %}
// 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('{{ '項目が選択されていません'|trans }}');
return true;
} else {
\$('#classcategory_id2')[0].setCustomValidity('');
}
{% endif %}
// タイプ2: カート送信直前に set_count を quantity に同期
if(\$('#set_count').length){
var _sc = parseInt(\$('#set_count').val()) || 1;
\$('#quantity').val(_sc);
\$('input[name=\"quantity\"]').val(_sc);
}
// 個数フォームのチェック
if (\$('#quantity').val() < 1) {
\$('#quantity')[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
return true;
} else {
\$('#quantity')[0].setCustomValidity('');
}
event.preventDefault();
\$form = \$('#form1');
\$.ajax({
url: \$form.attr('action'),
type: \$form.attr('method'),
data: \$form.serialize(),
dataType: 'json',
beforeSend: function(xhr, settings) {
// Buttonを無効にする
\$('.add-cart').prop('disabled', true);
}
}).done(function(data) {
// レスポンス内のメッセージをalertで表示
\$.each(data.messages, function() {
\$('#ec-modal-header').text(this);
});
\$('.ec-modal').show()
// カートブロックを更新する
\$.ajax({
url: \"{{ url('block_cart') }}\",
type: 'GET',
dataType: 'html'
}).done(function(html) {
\$('.ec-headerRole__cart').html(html);
});
}).fail(function(data) {
alert('{{ '施工検討リストへの追加に失敗しました。'|trans }}');
}).always(function(data) {
// Buttonを有効にする
\$('.add-cart').prop('disabled', false);
});
});
});
\$('.ec-modal-wrap').on('click', function(e) {
// モーダル内の処理は外側にバブリングさせない
e.stopPropagation();
});
\$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
\$('.ec-modal').hide()
});
\t\tvar pw = \"{% if mitsumori_json %}{{ mitsumori_json.pw }}{% endif %}\";
\t\tvar pd = \"{% if mitsumori_json %}{{ mitsumori_json.pd }}{% endif %}\";
\t\tvar ph = \"{% if mitsumori_json %}{{ mitsumori_json.ph }}{% endif %}\";
\t\tvar pm = \"{% if mitsumori_json %}{{ mitsumori_json.pm }}{% endif %}\";
\t\tvar pc = \"{% if mitsumori_json %}{{ mitsumori_json.pc }}{% endif %}\";
\t\tvar op0 = \"{% if mitsumori_json %}{{ mitsumori_json.op[0] }}{% endif %}\";
\t\tvar op1 = \"{% if mitsumori_json %}{{ mitsumori_json.op[1] }}{% endif %}\";
\t\tvar op2 = \"{% if mitsumori_json %}{{ mitsumori_json.op[2] }}{% endif %}\";
\t\tvar op3 = \"{% if mitsumori_json %}{{ mitsumori_json.op[3] }}{% endif %}\";
\t\tvar op4 = \"{% if mitsumori_json %}{{ mitsumori_json.op[4] }}{% endif %}\";
\t\tvar op5 = \"{% if mitsumori_json %}{{ mitsumori_json.op[5] }}{% endif %}\";
\t\tvar op6 = \"{% if mitsumori_json %}{{ mitsumori_json.op[6] }}{% endif %}\";
\t\tvar op7 = \"{% if mitsumori_json %}{{ mitsumori_json.op[7] }}{% endif %}\";
\t\tvar op8 = \"{% if mitsumori_json %}{{ mitsumori_json.op[8] }}{% endif %}\";
\t\tvar op9 = \"{% if mitsumori_json %}{{ mitsumori_json.op[9] }}{% endif %}\";
\t\tvar op10 = \"{% if mitsumori_json %}{{ mitsumori_json.op[10] }}{% endif %}\";
\t\tconst formatter = new Intl.NumberFormat('ja-JP');
\t\tfunction mitsumori_simulation(type , value_id){
\t\t\tvar pp = {{ pp|raw }};
\t\t\tif(type == \"pw\"){
\t\t\t\tpw = \$('#'+value_id).val();
\t\t\t}
\t\t\tif(type == \"pd\"){
\t\t\t\tpd = \$('#'+value_id).val();
\t\t\t}
\t\t\tif(type == \"ph\"){
\t\t\t\tph = \$('#'+value_id).val();
\t\t\t}
\t\t\tif(type == \"pm\"){
\t\t\t\tpm = \$('#'+value_id).val();
\t\t\t}
\t\t\tif(type == \"pc\"){
\t\t\t\tpc = \$('#'+value_id).val();
\t\t\t}
\t\t\tif(type == \"op0\"){ op0 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op1\"){ op1 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op2\"){ op2 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op3\"){ op3 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op4\"){ op4 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op5\"){ op5 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op6\"){ op6 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op7\"){ op7 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op8\"){ op8 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op9\"){ op9 = \$('#'+value_id).val(); }
\t\t\tif(type == \"op10\"){ op10 = \$('#'+value_id).val(); }
\t\t\t// op系: ボタンの is-selected を選択中のものに付け替え + radio チェック
\t\t\tif(/^op\\d+\$/.test(type)) {
\t\t\t\tvar \$clicked = \$('#' + value_id);
\t\t\t\t\$clicked.prop('checked', true);
\t\t\t\tvar groupName = \$clicked.attr('name');
\t\t\t\t\$('input[name=\"' + groupName + '\"]').closest('.opt-btn').removeClass('is-selected');
\t\t\t\t\$clicked.closest('.opt-btn').addClass('is-selected');
\t\t\t\t// ラベルの選択値テキスト更新
\t\t\t\tvar \$group = \$clicked.closest('.form-group');
\t\t\t\tvar \$label = \$group.find('.rp-section-label');
\t\t\t\tif (\$label.length) {
\t\t\t\t\tvar labelText = \$label.text().split(':')[0].trim();
\t\t\t\t\t\$label.html(labelText + ': <span>' + \$clicked.val() + '</span>');
\t\t\t\t}
\t\t\t}
\t\t\tif(pm == \"\"){
\t\t\t\t\$('#mitsumori_message').text(\"素材を選択してください\");
\t\t\t}
\t\t\tif(ph == \"\"){
\t\t\t\t\$('#mitsumori_message').text(\"高さを選択してください\");
\t\t\t}
\t\t\tif(pd == \"\"){
\t\t\t\t\$('#mitsumori_message').text(\"奥行きを選択してください\");
\t\t\t}
\t\t\tif(pw == \"\"){
\t\t\t\t\$('#mitsumori_message').text(\"幅を選択してください\");
\t\t\t}
\t\t\tif(pc == \"\"){
\t\t\t\t\$('#mitsumori_message').text(\"カラーを選択してください\");
\t\t\t\t\$('#mitsumori_btn').hide();
\t\t\t\t\$('#mitsumori_goukei').text(\"---円\");
\t\t\t\t\$('#mitsumori_off').text(\"---円\");
\t\t\t\t\$('#mitsumori_price').text(\"---円\");
\t\t\t\t\$('#maker_price').text(\"---円\");
\t\t\t\t\$('#mitsumori_ct').text(\"---円\");
\t\t\t\t\$('#mitsumori_option').text(\"---円\");
\t\t\t}
\t\t\tif(pw != \"\" && pd != \"\" && ph != \"\" && pm != \"\" && pc != \"\"){
\t\t\t\t\$('#mitsumori_btn').show();
\t\t\t\tvar pp_matched = false;
\t\t\t\tpp.forEach((el) => {
\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 == \"指定なし\")){
\t\t\t\t\tpp_matched = true;
\t\t\t\t\tif(op0 == \"商品購入のみ\" || op1 == \"商品購入のみ\" || op2 == \"商品購入のみ\" || op3 == \"商品購入のみ\" || op4 == \"商品購入のみ\"
\t\t\t\t\t\t|| op5 == \"商品購入のみ\" || op6 == \"商品購入のみ\" || op7 == \"商品購入のみ\" || op8 == \"商品購入のみ\" || op9 == \"商品購入のみ\"){
\t\t\t\t\t \t\$('#mitsumori_message').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_goukei').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_off').text(formatter.format(parseInt(el.price) - parseInt(el.maker_price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#maker_price').text(formatter.format(parseInt(el.maker_price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_ct').text(\"0円\");
\t\t\t\t\t \t\$('#mitsumori_option').text(\"0円\");
\t\t\t\t\t \t\$('#mitsumori_kei').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price_01').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price_02').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_ct_01').text(\"0円\");
\t\t\t\t\t \t\$('#mitsumori_ct_02').text(\"0円\");
\t\t\t\t\t \t\$('#mitsumori_goukei_02').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t\tmitsumori_goukei = (parseInt(el.price));
\t\t\t\t\t\tshoukei = mitsumori_goukei / 1.1;
\t\t\t\t\t\ttax = parseInt(mitsumori_goukei - shoukei);
\t\t\t\t\t \t\$('#mitsumori_shoukei').text(formatter.format(parseInt(shoukei)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_tax').text(formatter.format(parseInt(tax)) + \"円\");
\t\t\t\t\t}else{
\t\t\t\t\t \t\$('#mitsumori_message').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_goukei').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_off').text(formatter.format(parseInt(el.price) - parseInt(el.maker_price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#maker_price').text(formatter.format(parseInt(el.maker_price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_ct').text(formatter.format(parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_option').text(\"0円\");
\t\t\t\t\t \t\$('#mitsumori_kei').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price_01').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_price_02').text(formatter.format(parseInt(el.price)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_ct_01').text(formatter.format(parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_ct_02').text(formatter.format(parseInt(el.ct)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_goukei_02').text(formatter.format(parseInt(el.price) + parseInt(el.ct)) + \"円\");
\t\t\t\t\t\tmitsumori_goukei = (parseInt(el.price) + parseInt(el.ct));
\t\t\t\t\t\tshoukei = mitsumori_goukei / 1.1;
\t\t\t\t\t\ttax = parseInt(mitsumori_goukei - shoukei);
\t\t\t\t\t \t\$('#mitsumori_shoukei').text(formatter.format(parseInt(shoukei)) + \"円\");
\t\t\t\t\t \t\$('#mitsumori_tax').text(formatter.format(parseInt(tax)) + \"円\");
\t\t\t\t\t}
\t\t\t\t }
\t\t\t\t});
\t\t\t\tif (!pp_matched) {
\t\t\t\t\t\$('#mitsumori_message').text(\"この組み合わせは対応しておりません\");
\t\t\t\t\t\$('#mitsumori_btn').hide();
\t\t\t\t\t\$('#mitsumori_goukei').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_off').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_price').text(\"---円\");
\t\t\t\t\t\$('#maker_price').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_ct').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_option').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_kei').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_shoukei').text(\"---円\");
\t\t\t\t\t\$('#mitsumori_tax').text(\"---円\");
\t\t\t\t}\t
\t\t\t\t// タイプ5: ステップ・フェンス・面積の現在値を取得
\t\t\t\tif(\$('input[name=deck_step]:checked').length){ deck_step = \$('input[name=deck_step]:checked').val(); }
\t\t\t\tif(\$('input[name=deck_fence]:checked').length){ deck_fence = \$('input[name=deck_fence]:checked').val(); }
\t\t\t\t// タイプ2: 窓サイズ・窓タイプ・ガラスタイプ・セット数
\t\t\t\tvar mado_w_val = \$('#mado_w').val() || '';
\t\t\t\tvar mado_h_val = \$('#mado_h').val() || '';
\t\t\t\tvar mado_type_val = \$('input[name=mado_type]:checked').val() || '';
\t\t\t\tvar glass_type_val = \$('input[name=glass_type]:checked').val() || '';
\t\t\t\tvar set_count_val = parseInt(\$('#set_count').val()) || 1;
\t\t\t\t// タイプ3: 台数
\t\t\t\tvar daisu_val = parseInt(\$('#daisu').val()) || 1;
\t\t\t\t// タイプ4・6: 枚数
\t\t\t\tvar maisu_val = parseInt(\$('#maisu').val()) || 1;
\t\t\t\t// タイプ5: 面積
\t\t\t\tvar area_val = \$('#area').val() || '';
\t\t\t\t// sale_type
\t\t\t\tvar sale_type_id = {{ ProductClass.SaleType.id }};
\t\t\t\tvar mitsumori_json = { \"mitsumori_goukei\": \$('#mitsumori_goukei').text(),
\t\t\t\t\t\t\t\t\t\t\"mitsumori_goukei_02\": \$('#mitsumori_goukei_02').text(),
\t\t\t\t\t\t\t\t\t\t\"mitsumori_price\": \$('#mitsumori_price').text(),
\t\t\t\t\t\t\t\t\t\t\"maker_price\": \$('#maker_price').text(),
\t\t\t\t\t\t\t\t\t\t\"mitsumori_off\": \$('#mitsumori_off').text(),
\t\t\t\t\t\t\t\t\t\t\"mitsumori_ct\": \$('#mitsumori_ct').text(),
\t\t\t\t\t\t\t\t\t\t\"mitsumori_option\": \$('#mitsumori_option').text(),
\t\t\t\t\t\t\t\t\t\t\"product_id\": {{ Product.id }},
\t\t\t\t\t\t\t\t\t\t\"sale_type\": sale_type_id,
\t\t\t\t\t\t\t\t\t\t\"pw\": pw,
\t\t\t\t\t\t\t\t\t\t\"pd\": pd,
\t\t\t\t\t\t\t\t\t\t\"ph\": ph,
\t\t\t\t\t\t\t\t\t\t\"pm\": pm,
\t\t\t\t\t\t\t\t\t\t\"pc\": pc,
\t\t\t\t\t\t\t\t\t\t\"op\": [op0,op1,op2,op3,op4,op5,op6,op7,op8,op9,op10],
\t\t\t\t\t\t\t\t\t\t\"mado_w\": mado_w_val,
\t\t\t\t\t\t\t\t\t\t\"mado_h\": mado_h_val,
\t\t\t\t\t\t\t\t\t\t\"mado_type\": mado_type_val,
\t\t\t\t\t\t\t\t\t\t\"glass_type\": glass_type_val,
\t\t\t\t\t\t\t\t\t\t\"set_count\": set_count_val,
\t\t\t\t\t\t\t\t\t\t\"daisu\": daisu_val,
\t\t\t\t\t\t\t\t\t\t\"maisu\": maisu_val,
\t\t\t\t\t\t\t\t\t\t\"area\": area_val,
\t\t\t\t\t\t\t\t\t\t\"deck_step\": deck_step,
\t\t\t\t\t\t\t\t\t\t\"deck_fence\": deck_fence };
\t\t\t\t\$('#mitsumori_json').val(JSON.stringify(mitsumori_json));
\t\t\t\t
\t\t\t}
\t\t\t
\t\t}
{% if color and color|length == 1 %}
pc = \"指定なし\";
\t\t\t{% for cc in color %}{% if cc and cc['name'] %} pc = \"{{ cc['name'] }}\"; {% endif %}{% endfor %}
\t\t{% endif %}
{% if p_w and (p_w|length == 1 or p_w|join == \"\") %}
pw = \"指定なし\";
\t\t\t{% for pw in p_w %}{% if pw %} pw = \"{{ pw }}\"; {% endif %}{% endfor %}
\t\t{% endif %}
{% if p_d and (p_d|length == 1 or p_d|join == \"\") %}
pd = \"指定なし\";
\t\t\t{% for pd in p_d %}{% if pd %} pd = \"{{ pd }}\"; {% endif %}{% endfor %}
\t\t{% endif %}
{% if p_h and (p_h|length == 1 or p_h|join == \"\") %}
ph = \"指定なし\";
\t\t\t{% for ph in p_h %}{% if ph %} ph = \"{{ ph }}\"; {% endif %}{% endfor %}
\t\t{% endif %}
{% if p_m and (p_m|length == 1 or p_m|join == \"\") %}
pm = \"指定なし\";
\t\t\t{% for pm in p_m %}{% if pm %} pm = \"{{ pm }}\"; {% endif %}{% endfor %}
\t\t{% endif %}
\t\t// ページ読み込み時: タイプ別に quantity の初期値をセット
\t\t(function initQuantityByType(){
\t\t\tvar saleType = {{ ProductClass.SaleType.id }};
\t\t\tif(saleType == 2 && \$('#set_count').length){
\t\t\t\tvar _v = parseInt(\$('#set_count').val()) || 1;
\t\t\t\t\$('#quantity').val(_v);
\t\t\t\t\$('input[name=\"quantity\"]').val(_v);
\t\t\t} else if(saleType == 3 && \$('#daisu').length){
\t\t\t\t\$('#quantity').val(parseInt(\$('#daisu').val()) || 1);
\t\t\t} else if((saleType == 4 || saleType == 6) && \$('#maisu').length){
\t\t\t\t\$('#quantity').val(parseInt(\$('#maisu').val()) || 1);
\t\t\t} else if(saleType == 9 && \$('#quantity_only').length){
\t\t\t\t\$('#quantity').val(parseInt(\$('#quantity_only').val()) || 1);
\t\t\t}
\t\t})();
\t\t// type → ラベルのプレフィックス文字列
\t\tvar optLabelMap = {pc:'カラー', pw:'幅', pd:'奥行き', ph:'高さ', pm:'素材'};
\t\t// type → input[name]
\t\tvar optNameMap = {pc:'color', pw:'pw', pd:'pd', ph:'ph', pm:'pm'};
\t\t// opt-btn用: 値を直接受け取るラッパー
\t\tfunction mitsumori_simulation_val(type, value) {
\t\t\tif (type === 'pc') pc = value;
\t\t\tif (type === 'pw') pw = value;
\t\t\tif (type === 'pd') pd = value;
\t\t\tif (type === 'ph') ph = value;
\t\t\tif (type === 'pm') pm = value;
\t\t\t// is-selected クラスを同グループ内で付け替え
\t\t\tvar inputName = optNameMap[type];
\t\t\tif (inputName) {
\t\t\t\tvar \$btns = \$('input[name=\"' + inputName + '\"]').closest('.opt-btn');
\t\t\t\t\$btns.removeClass('is-selected');
\t\t\t\t\$btns.filter(function(){
\t\t\t\t\treturn \$(this).find('input').val() === value;
\t\t\t\t}).addClass('is-selected');
\t\t\t}
\t\t\t// ラベル行の選択値テキストを更新(例: 「カラー: ブラック」)
\t\t\tvar labelPrefix = optLabelMap[type];
\t\t\tif (labelPrefix) {
\t\t\t\t// 対象のrp-section-labelを特定(input[name]を含む親を遡る)
\t\t\t\tvar \$group = \$('input[name=\"' + inputName + '\"]').first().closest('.form-group');
\t\t\t\tvar \$label = \$group.find('.rp-section-label');
\t\t\t\t\$label.html(labelPrefix + ': <span>' + value + '</span>');
\t\t\t}
\t\t\t// simulation本体を呼ぶ(value_idは空でOK、グローバル変数を使う)
\t\t\tmitsumori_simulation('', '');
\t\t}
\t\tmitsumori_simulation(\"\",\"\");
\t\t// ボタン群: 親幅を超える、または3行以上になる場合は is-scroll で1行横スクロール化
\t\tfunction applyBtnGroupScroll() {
\t\t\t\$('.rp-btn-group, .opt-btn-group').each(function() {
\t\t\t\tvar \$group = \$(this);
\t\t\t\t\$group.removeClass('is-scroll');
\t\t\t\tvar \$items = \$group.children();
\t\t\t\tif (\$items.length === 0) return;
\t\t\t\tvar parentWidth = \$group.parent().width() || \$group.width();
\t\t\t\tvar totalWidth = 0;
\t\t\t\tvar gap = parseInt(\$group.css('gap'), 10) || 8;
\t\t\t\t\$items.each(function() {
\t\t\t\t\ttotalWidth += this.offsetWidth + gap;
\t\t\t\t});
\t\t\t\t// 単一ボタンが親幅を超える、もしくは合計幅が親幅を超える → 横スクロール化
\t\t\t\tvar anyTooWide = false;
\t\t\t\t\$items.each(function() {
\t\t\t\t\tif (this.offsetWidth > parentWidth) { anyTooWide = true; return false; }
\t\t\t\t});
\t\t\t\t// 折り返し時の行数も計測
\t\t\t\tvar tops = {};
\t\t\t\t\$items.each(function() { tops[this.offsetTop] = true; });
\t\t\t\tvar rowCount = Object.keys(tops).length;
\t\t\t\tif (anyTooWide || totalWidth > parentWidth * 2 || rowCount >= 3) {
\t\t\t\t\t\$group.addClass('is-scroll');
\t\t\t\t}
\t\t\t});
\t\t}
\t\tapplyBtnGroupScroll();
\t\t\$(window).on('resize', function() {
\t\t\tclearTimeout(window._btnScrollTimer);
\t\t\twindow._btnScrollTimer = setTimeout(applyBtnGroupScroll, 150);
\t\t});
\t\t// onload: 見積金額が確定している場合は「工事費込み価格」表示を一致させる
\t\t(function syncPrice02Display() {
\t\t\tvar goukeiEl = document.getElementById('mitsumori_goukei');
\t\t\tvar displayEl = document.getElementById('price02-display');
\t\t\tif (!goukeiEl || !displayEl) return;
\t\t\tvar goukeiText = goukeiEl.textContent.trim();
\t\t\t// ---円(未確定)の場合は書き換えない
\t\t\tif (goukeiText && goukeiText !== '---円') {
\t\t\t\tdisplayEl.textContent = goukeiText;
\t\t\t}
\t\t\t// 以降の変更にも追従: mitsumori_goukei を監視
\t\t\tnew MutationObserver(function() {
\t\t\t\tvar text = goukeiEl.textContent.trim();
\t\t\t\tif (text && text !== '---円') {
\t\t\t\t\tdisplayEl.textContent = text;
\t\t\t\t}
\t\t\t}).observe(goukeiEl, { childList: true, subtree: true, characterData: true });
\t\t})();
\t\tfunction contact_form(product_id){
\t\t\t\$('#form1').attr('action', '{{ url('contact', {product:Product.id}) }}');
\t\t\t\$('#form1').submit();
\t\t}
\t\t// maisu / madoset は下部の新しい関数定義を使用
\t\tfunction heibei(bei){
\t\t\t\$('#heibei').val(parseInt(\$('#heibei').val()) + bei);
\t\t\tif(parseInt(\$('#heibei').val()) < 1){ \$('#heibei').val(1); }
\t\t\tif(parseInt(\$('#heibei').val()) > 100){ \$('#heibei').val(100); }
\t\t\t\$('#quantity').val(\$('#heibei').val());
\t\t\tmitsumori_simulation('heibei','heibei');
\t\t}
\t\tfunction daisu(dai){
\t\t\t\$('#daisu').val(parseInt(\$('#daisu').val()) + dai);
\t\t\tif(parseInt(\$('#daisu').val()) < 1){ \$('#daisu').val(1); }
\t\t\tif(parseInt(\$('#daisu').val()) > 10){ \$('#daisu').val(10); }
\t\t\t\$('#quantity').val(\$('#daisu').val());
\t\t\tmitsumori_simulation('daisu','daisu');
\t\t}
\t\tfunction maisu(mai){
\t\t\t\$('#maisu').val(parseInt(\$('#maisu').val()) + mai);
\t\t\tif(parseInt(\$('#maisu').val()) < 1){ \$('#maisu').val(1); }
\t\t\tif(parseInt(\$('#maisu').val()) > 100){ \$('#maisu').val(100); }
\t\t\t\$('#quantity').val(\$('#maisu').val());
\t\t\tmitsumori_simulation('maisu','maisu');
\t\t}
\t\t// タイプ2: セット数プルダウン連動
\t\tfunction madosetSelect(val){
\t\t\tvar v = parseInt(val);
\t\t\tif(v < 1) v = 1;
\t\t\tif(v > 20) v = 20;
\t\t\t// id=\"quantity\" と name=\"quantity\" 両方を確実に書き換え
\t\t\t\$('#quantity').val(v);
\t\t\t\$('input[name=\"quantity\"]').val(v);
\t\t\tmitsumori_simulation('set','set_count');
\t\t}
\t\t// タイプ2: ±ボタン版(後方互換)
\t\tfunction madoset(mai){
\t\t\tvar current = parseInt(\$('#set_count').val()) || 1;
\t\t\tvar next = current + mai;
\t\t\tif(next < 1) next = 1;
\t\t\tif(next > 20) next = 20;
\t\t\t\$('#set_count').val(next);
\t\t\tmadosetSelect(next);
\t\t}
\t\t// タイプ5: ステップ・フェンス選択値を mitsumori_json に保存するためのグローバル変数
\t\tvar deck_step = \"{% if mitsumori_json %}{{ mitsumori_json.deck_step|default('不要') }}{% else %}不要{% endif %}\";
\t\tvar deck_fence = \"{% if mitsumori_json %}{{ mitsumori_json.deck_fence|default('不要') }}{% else %}不要{% endif %}\";
\t\t// PDF出力: モーダルの mitsumori_json をフォームに同期してから送信
\t\tfunction syncPdfJson(){
\t\t\tvar jsonVal = \$('#mitsumori_json').val();
\t\t\t\$('#pdf_mitsumori_json').val(jsonVal);
\t\t}
\t\t// タイプ9: 商品のみ購入
\t\tfunction quantityOnly(val){
\t\t\tvar current = parseInt(\$('#quantity_only').val()) || 1;
\t\t\tvar next = current + val;
\t\t\tif(next < 1) next = 1;
\t\t\t\$('#quantity_only').val(next);
\t\t\t\$('#quantity').val(next);
\t\t}
// ===== スマホ用下部固定バーへの金額同期 =====
// mitsumori_message と mitsumori_goukei を監視して下部バーを更新
(function() {
var msgTarget = document.getElementById('mitsumori_message');
var goukeiTarget = document.getElementById('mitsumori_goukei');
var spPrice = document.getElementById('sp-mitsumori-price');
var spBtn = document.querySelector('#sp-mitsumori-bar .sp-bar__btn');
if (!spPrice || !spBtn) return;
function syncBar() {
var msg = msgTarget ? msgTarget.textContent : '';
var goukei = goukeiTarget ? goukeiTarget.textContent : '---円';
// メッセージが「〇〇を選択してください」の場合はメッセージを表示しボタンを非表示
if (msg.indexOf('選択してください') !== -1) {
spPrice.textContent = msg;
spPrice.style.fontSize = '13px';
spPrice.style.color = '#888';
spBtn.style.display = 'none';
} else {
// 価格確定時はボタンを表示
spPrice.textContent = goukei;
spPrice.style.fontSize = '18px';
spPrice.style.color = '#c00';
spBtn.style.display = 'block';
}
}
// 初期値を同期
syncBar();
// mitsumori_message の変化を監視
if (msgTarget) {
new MutationObserver(syncBar).observe(
msgTarget, { childList: true, subtree: true, characterData: true }
);
}
// mitsumori_goukei の変化も監視
if (goukeiTarget) {
new MutationObserver(syncBar).observe(
goukeiTarget, { childList: true, subtree: true, characterData: true }
);
}
})();
// ===== 現在のお見積り額: 折りたたみトグルボタンのテキスト切り替え =====
(function() {
var card = document.querySelector('.mitsumori-card-pc');
var btn = document.querySelector('.btn-mitsumori-toggle .toggle-icon');
if (!card || !btn) return;
// MutationObserverでcollapsed-cardクラスの変化を監視
new MutationObserver(function() {
if (card.classList.contains('collapsed-card')) {
btn.textContent = '▼ 詳細';
} else {
btn.textContent = '▲ 閉じる';
}
}).observe(card, { attributes: true, attributeFilter: ['class'] });
})();
// ===== エリア案内: スマホのみタップで展開 =====
(function() {
var notice = document.querySelector('.ec-areaNotice');
if (!notice) return;
notice.addEventListener('click', function(e) {
if (window.innerWidth > 767) return;
// リンククリック時は展開/折りたたみせずリンク遷移
if (e.target.tagName === 'A') return;
notice.classList.toggle('is-open');
});
})();
</script>
<script type=\"application/ld+json\">
{
\"@context\": \"https://schema.org/\",
\"@type\": \"Product\",
\"name\": \"{{ Product.name }}\",
\"image\": [
{% for img in Product.ProductImage %}
\"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}\"{% if not loop.last %},{% endif %}
{% else %}
\"{{ app.request.schemeAndHttpHost }}{{ asset(''|no_image_product, 'save_image') }}\"
{% endfor %}
],
\"description\": \"{{ Product.description_list | default(Product.description_detail) | replace({'\\n': '', '\\r': ''}) | slice(0,300) }}\",
{% if Product.code_min %}
\"sku\": \"{{ Product.code_min }}\",
{% endif %}
\"offers\": {
\"@type\": \"Offer\",
\"url\": \"{{ url('product_detail', {'id': Product.id}) }}\",
\"priceCurrency\": \"{{ eccube_config.currency }}\",
\"price\": {{ Product.getPrice02IncTaxMin ? Product.getPrice02IncTaxMin : 0}},
\"availability\": \"{{ Product.stock_find ? \"InStock\" : \"OutOfStock\" }}\"
}
}
</script>
{% endblock %}
{% block main %}
<div class=\"ec-productRole\" style=\"margin-top:20px;\">
<div class=\"ec-grid2\">
<div class=\"ec-grid2__cell\">
<div class=\"ec-sliderItemRole\">
\t {# 商品名 + ブランド名 + SNSシェア #}
\t <div class=\"ec-productRole__title\">
\t <div class=\"ec-productRole__titleRow\">
\t <h2 class=\"ec-headingTitle\">{{ Product.name }}</h2>
\t <div class=\"ec-share-inline\">
\t <a href=\"https://twitter.com/share?url={{ app.request.uri|url_encode }}&text={{ Product.name|url_encode }}\"
\t class=\"share-twitter\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Xでシェア\">
\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>
\t </a>
\t <a href=\"https://www.instagram.com/\" class=\"share-facebook\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Instagram\">
\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>
\t </a>
\t <a href=\"https://social-plugins.line.me/lineit/share?url={{ app.request.uri|url_encode }}\"
\t class=\"share-line\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"LINEでシェア\">
\t <i class=\"fab fa-line\"></i>
\t </a>
\t </div>
\t </div>
\t </div>
{% if BaseInfo.option_favorite_product %}
<div style=\"position:relative;top: 20px;left: 10px;z-index:100;\">
\t\t\t\t\t\t{% if is_favorite == false %}
<form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
<button type=\"submit\" id=\"favorite\" class=\"favorite\">♡</button>
</form>
{% else %}
<form action=\"{{ url('product_add_favorite', {id:Product.id}) }}\" method=\"post\">
<button type=\"submit\" id=\"favorite\" class=\"favorite\" style=\"color:red;\">♥</button>
</form>
{% endif %}
</div>
{% endif %}
<div class=\"item_visual\">
{% for ProductImage in Product.ProductImage %}
<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>
{% else %}
<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>
{% endfor %}
</div>
<div class=\"item_nav\">
{% for ProductImage in Product.ProductImage %}
<div class=\"slideThumb\" data-index=\"{{ loop.index0 }}\"><img src=\"{{ asset(ProductImage, 'save_image') }}\" alt=\"\" width=\"80\" height=\"80\" loading=\"lazy\"></div>
{% endfor %}
</div>
</div>
{# ===== 施工エリア案内(見積シミュレーションの下)===== #}
<div class=\"ec-areaNotice\" style=\"margin-top:16px;margin-right:10px;\">
<div class=\"ec-areaNotice__inner\">
<div class=\"ec-areaNotice__icon\">📍</div>
<div class=\"ec-areaNotice__body\">
<p class=\"ec-areaNotice__title\">施工対応エリアについて</p>
<div class=\"ec-areaNotice__detail\">
<p class=\"ec-areaNotice__text\">
当店の施工サービスは、<strong>山梨県全域</strong>および<br>
<strong>諏訪エリア(諏訪市・岡谷市・茅野市・諏訪郡)</strong>を対象としております。<br>
上記エリア外のお客様には、商品のみのご購入が可能でございます。<br>
ご不明な点がございましたら、お気軽にお問い合わせください。
</p>
<a class=\"ec-areaNotice__link\" href=\"{{ url('contact') }}\">エリア外のお客様・ご相談はこちら →</a>
</div>
</div>
</div>
</div>
</div>
<div class=\"ec-grid2__cell2\">
<div class=\"ec-productRole__profile\" >
{# 関連カテゴリ #}
{% if Product.ProductCategories is not empty %}
<div class=\"ec-productRole__category\" style=\"padding:10px 0;\">
{% for ProductCategory in Product.ProductCategories %}
<ul>
<li>
{% for Category in ProductCategory.Category.path %}
<a href=\"{{ url('product_list') }}?category_id={{ Category.id }}\">{{ Category.name }}</a> {%- if loop.last == false %}
<span>></span>{% endif -%}
{% endfor %}
</li>
</ul>
{% endfor %}
</div>
{% endif %}
{# 販売価格 #}
<div class=\"ec-productRole__price\">
\t\t\t\t\t\t<span style=\"color:black;font-size:15px;\">工事費込み価格</span>
{% if Product.hasProductClass -%}
{% if Product.getPrice02IncTaxMin == Product.getPrice02IncTaxMax %}
<div class=\"ec-price\">
<span id=\"price02-display\" class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }}</span>
<span class=\"ec-price__tax\">({{ '税込'|trans }})~</span>
</div>
{% else %}
<div class=\"ec-price\">
<span id=\"price02-display\" class=\"ec-price__price price02-default\">{{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}</span>
<span class=\"ec-price__tax\">({{ '税込'|trans }})</span>
</div>
{% endif %}
{% else %}
<div class=\"ec-price\">
<span id=\"price02-display\" class=\"ec-price__price\">{{ Product.getPrice02IncTaxMin|price }}</span>
<span class=\"ec-price__tax\">({{ '税込'|trans }})~</span>
</div>
{% endif %}
</div>
{# タグ #}
<ul class=\"ec-productRole__tags\">
{% for Tag in Product.Tags %}
<li class=\"ec-productRole__tag tag_{{ Tag.id }}\">{{ Tag }}</li>
{% endfor %}
</ul>
{# 商品コード #}
{% if Product.code_min is not empty %}
<div class=\"ec-productRole__code\">
{{ '商品コード'|trans }}: <span class=\"product-code-default\">{{ Product.code_min }}{% if Product.code_min != Product.code_max %} ~ {{ Product.code_max }}{% endif %}</span>
</div>
{% endif %}
<div class=\"ec-productRole__description\">
\t\t\t\t <div class=\"ec-rectHeading\">
\t\t\t\t <h4>製品情報</h4>
\t\t\t\t </div>
\t\t\t\t\t\t{{ Product.sales_infomation|raw|nl2br }}
</div>
\t\t\t\t\t<div class=\"card card-danger\" style=\"clear:both;margin:1px;\">
\t\t\t\t\t <div class=\"card-header\">
\t\t\t\t\t <h3 class=\"card-title\">見積シミュレーション</h3>
\t\t\t\t\t </div>
\t\t\t\t\t <div class=\"card-body p-2\">
{% set related_image = getProduct_field(Product.id,\"related_image\") %}
{# related_image は配列: [\"1段目画像あり\",\"2段目画像あり\",\"3段目画像あり\"] のうち該当するものが格納 #}
{% set img1 = related_image and (\"1段目画像あり\" in related_image) %}
{% set img2 = related_image and (\"2段目画像あり\" in related_image) %}
{% set img3 = related_image and (\"3段目画像あり\" in related_image) %}
{% set img4 = related_image and (\"4段目画像あり\" in related_image) %}
\t\t\t\t\t {% set type1 = getProduct_field(Product.id,\"related_name1\") %}
\t\t\t\t\t\t{% set type2 = getProduct_field(Product.id,\"related_name2\") %}
\t\t\t\t\t\t{% set type3 = getProduct_field(Product.id,\"related_name3\") %}
\t\t\t\t\t\t{% set type4 = getProduct_field(Product.id,\"related_name4\") %}
\t\t\t\t\t\t{% set hasRelated = (type1 and related_product1 and related_product1|length)
\t\t\t\t\t\t or (type2 and related_product2 and related_product2|length)
\t\t\t\t\t\t or (type3 and related_product3 and related_product3|length)
\t\t\t\t\t\t or (type4 and related_product4 and related_product4|length) %}
\t\t\t\t\t\t{% if hasRelated %}
\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>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t{# ===== 1段目 ===== #}
\t\t\t\t\t\t{% if type1 and related_product1 and related_product1|length %}
\t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t <div class=\"rp-section-label\">{{ type1 }}{% if img1 and base_select1 %}: <span>{{ base_select1 }}</span>{% endif %}</div>
\t\t\t\t\t\t {% if img1 %}
\t\t\t\t\t\t {# --- 画像付きカード --- #}
\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t {% for rp_id, rp_name in related_product1 %}
\t\t\t\t\t\t <label class=\"rp-card{% if base_select1 == rp_name %} is-selected{% endif %}\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/{{ rp_id }}';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp1\" value=\"{{ rp_name }}\"
\t\t\t\t\t\t {% if base_select1 == rp_name %}checked{% endif %}>
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
\t\t\t\t\t\t alt=\"{{ rp_name }}\"
\t\t\t\t\t\t onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
\t\t\t\t\t\t <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
\t\t\t\t\t\t <span class=\"rp-card__name\">{{ rp_name }}</span>
\t\t\t\t\t\t </label>
\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t </div>
\t\t\t\t\t\t {% else %}
\t\t\t\t\t\t {# --- ボタン式ラジオ --- #}
\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t {% for rp_id, rp_name in related_product1 %}
\t\t\t\t\t\t <label class=\"rp-btn{% if base_select1 == rp_name %} is-selected{% endif %}\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/{{ rp_id }}';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp1\" value=\"{{ rp_name }}\"
\t\t\t\t\t\t {% if base_select1 == rp_name %}checked{% endif %}>
\t\t\t\t\t\t {{ rp_name }}
\t\t\t\t\t\t </label>
\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t </div>
\t\t\t\t\t\t {% endif %}
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t{# ===== 2段目 ===== #}
\t\t\t\t\t\t{% if type2 and related_product2 and related_product2|length %}
\t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t <div class=\"rp-section-label\">{{ type2 }}{% if img2 and base_select2 %}: <span>{{ base_select2 }}</span>{% endif %}</div>
\t\t\t\t\t\t {% if img2 %}
\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t {% for rp_id, rp_name in related_product2 %}
\t\t\t\t\t\t <label class=\"rp-card{% if base_select2 == rp_name %} is-selected{% endif %}\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/{{ rp_id }}';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp2\" value=\"{{ rp_name }}\"
\t\t\t\t\t\t {% if base_select2 == rp_name %}checked{% endif %}>
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
\t\t\t\t\t\t alt=\"{{ rp_name }}\"
\t\t\t\t\t\t onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
\t\t\t\t\t\t <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
\t\t\t\t\t\t <span class=\"rp-card__name\">{{ rp_name }}</span>
\t\t\t\t\t\t </label>
\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t </div>
\t\t\t\t\t\t {% else %}
\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t {% for rp_id, rp_name in related_product2 %}
\t\t\t\t\t\t <label class=\"rp-btn{% if base_select2 == rp_name %} is-selected{% endif %}\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/{{ rp_id }}';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp2\" value=\"{{ rp_name }}\"
\t\t\t\t\t\t {% if base_select2 == rp_name %}checked{% endif %}>
\t\t\t\t\t\t {{ rp_name }}
\t\t\t\t\t\t </label>
\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t </div>
\t\t\t\t\t\t {% endif %}
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t{# ===== 3段目 ===== #}
\t\t\t\t\t\t{% if type3 and related_product3 and related_product3|length %}
\t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t <div class=\"rp-section-label\">{{ type3 }}{% if img3 and base_select3 %}: <span>{{ base_select3 }}</span>{% endif %}</div>
\t\t\t\t\t\t {% if img3 %}
\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t {% for rp_id, rp_name in related_product3 %}
\t\t\t\t\t\t <label class=\"rp-card{% if base_select3 == rp_name %} is-selected{% endif %}\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/{{ rp_id }}';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp3\" value=\"{{ rp_name }}\"
\t\t\t\t\t\t {% if base_select3 == rp_name %}checked{% endif %}>
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
\t\t\t\t\t\t alt=\"{{ rp_name }}\"
\t\t\t\t\t\t onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">
\t\t\t\t\t\t <div class=\"rp-card__placeholder\" style=\"display:none;\">📦</div>
\t\t\t\t\t\t <span class=\"rp-card__name\">{{ rp_name }}</span>
\t\t\t\t\t\t </label>
\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t </div>
\t\t\t\t\t\t {% else %}
\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t {% for rp_id, rp_name in related_product3 %}
\t\t\t\t\t\t <label class=\"rp-btn{% if base_select3 == rp_name %} is-selected{% endif %}\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/{{ rp_id }}';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp3\" value=\"{{ rp_name }}\"
\t\t\t\t\t\t {% if base_select3 == rp_name %}checked{% endif %}>
\t\t\t\t\t\t {{ rp_name }}
\t\t\t\t\t\t </label>
\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t </div>
\t\t\t\t\t\t {% endif %}
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t{# ===== 4段目 ===== #}
\t\t\t\t\t\t{% if type4 and related_product4 and related_product4|length %}
\t\t\t\t\t\t<div class=\"form-group mt-3 pb-3\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t <div class=\"rp-section-label\">{{ type4 }}{% if img4 and base_select4 %}: <span>{{ base_select4 }}</span>{% endif %}</div>
\t\t\t\t\t\t {% if img4 %}
\t\t\t\t\t\t {# --- 画像付きカード --- #}
\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t {% for rp_id, rp_name in related_product4 %}
\t\t\t\t\t\t <label class=\"rp-card{% if base_select4 == rp_name %} is-selected{% endif %}\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/{{ rp_id }}';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp4\" value=\"{{ rp_name }}\"
\t\t\t\t\t\t {% if base_select4 == rp_name %}checked{% endif %}>
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"{{ asset('p' ~ rp_id ~ '_cp_1.jpg', 'save_image') }}\"
\t\t\t\t\t\t alt=\"{{ rp_name }}\" loading=\"lazy\">
\t\t\t\t\t\t <span class=\"rp-card__label\">{{ rp_name }}</span>
\t\t\t\t\t\t </label>
\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t </div>
\t\t\t\t\t\t {% else %}
\t\t\t\t\t\t {# --- ボタン式ラジオ --- #}
\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t {% for rp_id, rp_name in related_product4 %}
\t\t\t\t\t\t <label class=\"rp-btn{% if base_select4 == rp_name %} is-selected{% endif %}\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/{{ rp_id }}';\">
\t\t\t\t\t\t <input type=\"radio\" name=\"rp4\" value=\"{{ rp_name }}\"
\t\t\t\t\t\t {% if base_select4 == rp_name %}checked{% endif %}>
\t\t\t\t\t\t {{ rp_name }}
\t\t\t\t\t\t </label>
\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t </div>
\t\t\t\t\t\t {% endif %}
\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\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>
{% if color and color|length and ProductClass.SaleType.id != 3 %}
<div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
<div class=\"rp-section-label\">カラー{% if mitsumori_json and mitsumori_json.pc %}: <span>{{ mitsumori_json.pc }}</span>{% endif %}</div>
<div class=\"opt-btn-group\">
{% set idx = 0 %}
{% for cc in color %}{% if cc and cc['name'] %}{% set idx = idx + 1 %}
<label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pc == cc['name']) or color|length == 1 %} is-selected{% endif %}\"
onclick=\"mitsumori_simulation_val('pc', '{{ cc['name']|e('js') }}');\">
<input type=\"radio\" name=\"color\" id=\"cc_{{ idx }}\" value=\"{{ cc['name'] }}\"
{% if (mitsumori_json and mitsumori_json.pc == cc['name']) or color|length == 1 %}checked{% endif %}>
{{ cc['name'] }}
</label>
{% endif %}{% endfor %}
</div>
</div>
{% endif %}
{% if p_w and p_w|length and p_w|join != \"\" %}
<div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
<div class=\"rp-section-label\">幅{% if mitsumori_json and mitsumori_json.pw %}: <span>{{ mitsumori_json.pw }}</span>{% endif %}</div>
<div class=\"opt-btn-group\">
{% set idx = 0 %}
{% for pw in p_w %}{% if pw %}{% set idx = idx + 1 %}
<label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pw == pw) or p_w|length == 1 %} is-selected{% endif %}\"
onclick=\"mitsumori_simulation_val('pw', '{{ pw|e('js') }}');\">
<input type=\"radio\" name=\"pw\" id=\"pw_{{ idx }}\" value=\"{{ pw }}\"
{% if (mitsumori_json and mitsumori_json.pw == pw) or p_w|length == 1 %}checked{% endif %}>
{{ pw }}
</label>
{% endif %}{% endfor %}
</div>
</div>
{% endif %}
{% if p_d and p_d|length and p_d|join != \"\" %}
<div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
<div class=\"rp-section-label\">奥行き{% if mitsumori_json and mitsumori_json.pd %}: <span>{{ mitsumori_json.pd }}</span>{% endif %}</div>
<div class=\"opt-btn-group\">
{% set idx = 0 %}
{% for pd in p_d %}{% if pd %}{% set idx = idx + 1 %}
<label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pd == pd) or p_d|length == 1 %} is-selected{% endif %}\"
onclick=\"mitsumori_simulation_val('pd', '{{ pd|e('js') }}');\">
<input type=\"radio\" name=\"pd\" id=\"pd_{{ idx }}\" value=\"{{ pd }}\"
{% if (mitsumori_json and mitsumori_json.pd == pd) or p_d|length == 1 %}checked{% endif %}>
{{ pd }}
</label>
{% endif %}{% endfor %}
</div>
</div>
{% endif %}
{% if p_h and p_h|length and p_h|join != \"\" %}
<div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
<div class=\"rp-section-label\">高さ{% if mitsumori_json and mitsumori_json.ph %}: <span>{{ mitsumori_json.ph }}</span>{% endif %}</div>
<div class=\"opt-btn-group\">
{% set idx = 0 %}
{% for ph in p_h %}{% if ph %}{% set idx = idx + 1 %}
<label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.ph == ph) or p_h|length == 1 %} is-selected{% endif %}\"
onclick=\"mitsumori_simulation_val('ph', '{{ ph|e('js') }}');\">
<input type=\"radio\" name=\"ph\" id=\"ph_{{ idx }}\" value=\"{{ ph }}\"
{% if (mitsumori_json and mitsumori_json.ph == ph) or p_h|length == 1 %}checked{% endif %}>
{{ ph }}
</label>
{% endif %}{% endfor %}
</div>
</div>
{% endif %}
{% if p_m and p_m|length and p_m|join != \"\" %}
<div class=\"form-group mt-3 pb-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
<div class=\"rp-section-label\">素材{% if mitsumori_json and mitsumori_json.pm %}: <span>{{ mitsumori_json.pm }}</span>{% endif %}</div>
<div class=\"opt-btn-group\">
{% set idx = 0 %}
{% for pm in p_m %}{% if pm %}{% set idx = idx + 1 %}
<label class=\"opt-btn{% if (mitsumori_json and mitsumori_json.pm == pm) or p_m|length == 1 %} is-selected{% endif %}\"
onclick=\"mitsumori_simulation_val('pm', '{{ pm|e('js') }}');\">
<input type=\"radio\" name=\"pm\" id=\"pm_{{ idx }}\" value=\"{{ pm }}\"
{% if (mitsumori_json and mitsumori_json.pm == pm) or p_m|length == 1 %}checked{% endif %}>
{{ pm }}
</label>
{% endif %}{% endfor %}
</div>
</div>
{% endif %}
\t\t\t\t\t\t<!-- 1: 施工見積(通常) → 幅/奥行/高さ/素材/カラーは上部の共通ブロックで表示済み -->
\t\t\t\t\t\t{% if ProductClass.SaleType.id == 1 %}
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t<!-- 2: 施工見積(補助金・窓) -->
\t\t\t\t\t\t{% if ProductClass.SaleType.id == 2 %}
\t\t\t\t\t\t\t{# 窓サイズ(自由入力) #}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">窓サイズ</label>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <div class=\"input-group\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">窓幅</span>
\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');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">cm</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <div class=\"input-group\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">窓高さ</span>
\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');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">cm</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{# 窓タイプ(p_d データから選択肢を生成) #}
\t\t\t\t\t\t\t{% if p_d and p_d|length and p_d|join != \"\" %}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">窓タイプ</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t {% set idx = 0 %}
\t\t\t\t\t\t\t {% for pd_val in p_d %}
\t\t\t\t\t\t\t {% if pd_val %}
\t\t\t\t\t\t\t {% set idx = idx + 1 %}
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"mado_type\" id=\"mado_type_{{ idx }}\" value=\"{{ pd_val }}\"
\t\t\t\t\t\t\t {% if (mitsumori_json and mitsumori_json.pd == pd_val) or (p_d|length == 1) %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pd','mado_type_{{ idx }}');\">
\t\t\t\t\t\t\t <label for=\"mado_type_{{ idx }}\">{{ pd_val }}</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t {% endif %}
\t\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{# ガラスタイプ(p_m データから選択肢を生成) #}
\t\t\t\t\t\t\t{% if p_m and p_m|length and p_m|join != \"\" %}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">ガラスタイプ</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t {% set idx = 0 %}
\t\t\t\t\t\t\t {% for pm_val in p_m %}
\t\t\t\t\t\t\t {% if pm_val %}
\t\t\t\t\t\t\t {% set idx = idx + 1 %}
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"glass_type\" id=\"glass_type_{{ idx }}\" value=\"{{ pm_val }}\"
\t\t\t\t\t\t\t {% if (mitsumori_json and mitsumori_json.pm == pm_val) or (p_m|length == 1) %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pm','glass_type_{{ idx }}');\">
\t\t\t\t\t\t\t <label for=\"glass_type_{{ idx }}\">{{ pm_val }}</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t {% endif %}
\t\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{# セット数(プルダウン) → quantity に連動 #}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">セット数</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <select name=\"set_count\" id=\"set_count\" class=\"form-control\" onchange=\"madosetSelect(this.value);\">
\t\t\t\t\t\t\t {% for i in 1..20 %}
\t\t\t\t\t\t\t <option value=\"{{ i }}\" {% if mitsumori_json and mitsumori_json.set_count == i %}selected{% endif %}>{{ i }} セット</option>
\t\t\t\t\t\t\t {% endfor %}
\t\t\t\t\t\t\t </select>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t<!-- 3: 施工見積(物置・ゴミステーション) -->
\t\t\t\t\t\t{% if ProductClass.SaleType.id == 3 %}
\t\t\t\t\t\t\t{# 幅・奥行き・高さ(p_w/p_d/p_h からラジオボタン生成) #}
\t\t\t\t\t\t\t{% if p_w and p_w|length and p_w|join != \"\" %}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">幅</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t {% set idx = 0 %}
\t\t\t\t\t\t\t {% for pw_val in p_w %}{% if pw_val %}{% set idx = idx + 1 %}
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"pw\" id=\"pw3_{{ idx }}\" value=\"{{ pw_val }}\"
\t\t\t\t\t\t\t {% if (mitsumori_json and mitsumori_json.pw == pw_val) or p_w|length == 1 %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pw','pw3_{{ idx }}');\">
\t\t\t\t\t\t\t <label for=\"pw3_{{ idx }}\">{{ pw_val }}</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t {% endif %}{% endfor %}
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{% if p_d and p_d|length and p_d|join != \"\" %}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">奥行き</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t {% set idx = 0 %}
\t\t\t\t\t\t\t {% for pd_val in p_d %}{% if pd_val %}{% set idx = idx + 1 %}
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"pd\" id=\"pd3_{{ idx }}\" value=\"{{ pd_val }}\"
\t\t\t\t\t\t\t {% if (mitsumori_json and mitsumori_json.pd == pd_val) or p_d|length == 1 %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pd','pd3_{{ idx }}');\">
\t\t\t\t\t\t\t <label for=\"pd3_{{ idx }}\">{{ pd_val }}</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t {% endif %}{% endfor %}
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{% if p_h and p_h|length and p_h|join != \"\" %}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">高さ</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t {% set idx = 0 %}
\t\t\t\t\t\t\t {% for ph_val in p_h %}{% if ph_val %}{% set idx = idx + 1 %}
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"ph\" id=\"ph3_{{ idx }}\" value=\"{{ ph_val }}\"
\t\t\t\t\t\t\t {% if (mitsumori_json and mitsumori_json.ph == ph_val) or p_h|length == 1 %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('ph','ph3_{{ idx }}');\">
\t\t\t\t\t\t\t <label for=\"ph3_{{ idx }}\">{{ ph_val }}</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t {% endif %}{% endfor %}
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{# 棚タイプ(p_m データから選択肢を生成) #}
\t\t\t\t\t\t\t{% if p_m and p_m|length and p_m|join != \"\" %}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">棚タイプ<br><small class=\"text-muted\">(間仕切り仕様)</small></label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t {% set idx = 0 %}
\t\t\t\t\t\t\t {% for pm_val in p_m %}{% if pm_val %}{% set idx = idx + 1 %}
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"pm\" id=\"pm3_{{ idx }}\" value=\"{{ pm_val }}\"
\t\t\t\t\t\t\t {% if (mitsumori_json and mitsumori_json.pm == pm_val) or p_m|length == 1 %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pm','pm3_{{ idx }}');\">
\t\t\t\t\t\t\t <label for=\"pm3_{{ idx }}\">{{ pm_val }}</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t {% endif %}{% endfor %}
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{# カラー(共通の color データ使用) #}
\t\t\t\t\t\t\t{% if color and color|length %}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">カラー</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t {% set idx = 0 %}
\t\t\t\t\t\t\t {% for cc in color %}{% if cc and cc['name'] %}{% set idx = idx + 1 %}
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"color3\" id=\"cc3_{{ idx }}\" value=\"{{ cc['name'] }}\"
\t\t\t\t\t\t\t {% if (mitsumori_json and mitsumori_json.pc == cc['name']) or color|length == 1 %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pc','cc3_{{ idx }}');\">
\t\t\t\t\t\t\t <label for=\"cc3_{{ idx }}\">{{ cc['name'] }}</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t {% endif %}{% endfor %}
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{# 台数 #}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">台数</label>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <div class=\"input-group mb-3\">
\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');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">台</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-info\" onclick=\"daisu(+1);\">+</button>
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-danger\" onclick=\"daisu(-1);\">ー</button>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t<!-- 4: 施工見積(フェンス・組み立て式) -->
\t\t\t\t\t\t{% if ProductClass.SaleType.id == 4 %}
\t\t\t\t\t\t\t{# 枚数 #}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">枚数</label>
\t\t\t\t\t\t\t <div class=\"col-4 mb-3\">
\t\t\t\t\t\t\t <div class=\"input-group\">
\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');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">枚</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-info\" onclick=\"maisu(+1);\">+</button>
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-danger\" onclick=\"maisu(-1);\">ー</button>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t<!-- 5: 施工見積(ウッドデッキ・タイルデッキ) -->
\t\t\t\t\t\t{% if ProductClass.SaleType.id == 5 %}
\t\t\t\t\t\t\t{# 施工面積(㎡ 直接入力) #}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">施工面積</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"input-group\">
\t\t\t\t\t\t\t <input type=\"number\" name=\"area\" id=\"area\"
\t\t\t\t\t\t\t class=\"form-control\"
\t\t\t\t\t\t\t value=\"{{ mitsumori_json.area|default('') }}\"
\t\t\t\t\t\t\t placeholder=\"例: 7.5\"
\t\t\t\t\t\t\t min=\"0.1\" step=\"0.1\"
\t\t\t\t\t\t\t onchange=\"mitsumori_simulation('area','area');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">㎡</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <small class=\"text-muted\">幅(cm) × 奥行き(cm) ÷ 10000 = ㎡</small>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{# ステップの有無 #}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">ステップ</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"deck_step\" id=\"deck_step_yes\" value=\"必要\"
\t\t\t\t\t\t\t {% if mitsumori_json and mitsumori_json.deck_step == '必要' %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op0','deck_step_yes');\">
\t\t\t\t\t\t\t <label for=\"deck_step_yes\">必要</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"deck_step\" id=\"deck_step_no\" value=\"不要\"
\t\t\t\t\t\t\t {% if not mitsumori_json or mitsumori_json.deck_step == '不要' or not mitsumori_json.deck_step %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op0','deck_step_no');\">
\t\t\t\t\t\t\t <label for=\"deck_step_no\">不要</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{# ウッドデッキフェンスの有無 #}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">デッキフェンス</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_yes\" value=\"必要\"
\t\t\t\t\t\t\t {% if mitsumori_json and mitsumori_json.deck_fence == '必要' %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op1','deck_fence_yes');\">
\t\t\t\t\t\t\t <label for=\"deck_fence_yes\">必要</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"deck_fence\" id=\"deck_fence_no\" value=\"不要\"
\t\t\t\t\t\t\t {% if not mitsumori_json or mitsumori_json.deck_fence == '不要' or not mitsumori_json.deck_fence %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op1','deck_fence_no');\">
\t\t\t\t\t\t\t <label for=\"deck_fence_no\">不要</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t<!-- 6: 施工見積(芝生・枚数・数量買い) -->
\t\t\t\t\t\t{% if ProductClass.SaleType.id == 6 %}
\t\t\t\t\t\t\t{# 規格(p_m データ → 素材から抽出) #}
\t\t\t\t\t\t\t{% if p_m and p_m|length and p_m|join != \"\" %}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">規格</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t {% set idx = 0 %}
\t\t\t\t\t\t\t {% for pm_val in p_m %}{% if pm_val %}{% set idx = idx + 1 %}
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"pm\" id=\"pm6_{{ idx }}\" value=\"{{ pm_val }}\"
\t\t\t\t\t\t\t {% if (mitsumori_json and mitsumori_json.pm == pm_val) or p_m|length == 1 %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pm','pm6_{{ idx }}');\">
\t\t\t\t\t\t\t <label for=\"pm6_{{ idx }}\">{{ pm_val }}</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t {% endif %}{% endfor %}
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{# 芝の長さ(p_w データ → 幅から抽出) #}
\t\t\t\t\t\t\t{% if p_w and p_w|length and p_w|join != \"\" %}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">芝の長さ</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t {% set idx = 0 %}
\t\t\t\t\t\t\t {% for pw_val in p_w %}{% if pw_val %}{% set idx = idx + 1 %}
\t\t\t\t\t\t\t <div class=\"icheck-danger d-inline\">
\t\t\t\t\t\t\t <input type=\"radio\" name=\"pw\" id=\"pw6_{{ idx }}\" value=\"{{ pw_val }}\"
\t\t\t\t\t\t\t {% if (mitsumori_json and mitsumori_json.pw == pw_val) or p_w|length == 1 %}checked{% endif %}
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('pw','pw6_{{ idx }}');\">
\t\t\t\t\t\t\t <label for=\"pw6_{{ idx }}\">{{ pw_val }}</label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t {% endif %}{% endfor %}
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{# 施工面積(㎡ 自由入力) #}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">施工面積</label>
\t\t\t\t\t\t\t <div class=\"col-8\">
\t\t\t\t\t\t\t <div class=\"input-group\">
\t\t\t\t\t\t\t <input type=\"number\" name=\"area\" id=\"area\"
\t\t\t\t\t\t\t class=\"form-control\"
\t\t\t\t\t\t\t value=\"{{ mitsumori_json.area|default('') }}\"
\t\t\t\t\t\t\t placeholder=\"例: 10.5\"
\t\t\t\t\t\t\t min=\"0.1\" step=\"0.1\"
\t\t\t\t\t\t\t onchange=\"mitsumori_simulation('area','area');\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">平米</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t<!-- 9: 商品のみ購入 -->
\t\t\t\t\t\t{% if ProductClass.SaleType.id == 9 %}
\t\t\t\t\t\t\t<div class=\"form-group row mt-2\" style=\"border-bottom:1px solid rgba(0,0,0,.125)\">
\t\t\t\t\t\t\t <label class=\"col-4 col-form-label\">数量</label>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <div class=\"input-group mb-3\">
\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);\">
\t\t\t\t\t\t\t <span class=\"input-group-text\">個</span>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t <div class=\"col-4\">
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-info\" onclick=\"quantityOnly(+1);\">+</button>
\t\t\t\t\t\t\t <button type=\"button\" class=\"btn btn-danger\" onclick=\"quantityOnly(-1);\">ー</button>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t{% endif %}
\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>
\t\t\t\t\t\t{% for i in 0..10 %}
\t\t\t\t\t\t\t{% if op and op|length >= i+1 %}
\t\t\t\t\t\t\t{% if op[i]['name'] %}
\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)\">
\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>
\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 %}
\t\t\t\t\t\t\t <div class=\"opt-btn-group\">
\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 %}\"
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op{{ i }}','op{{ i }}_1');\">
\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 %}>
\t\t\t\t\t\t\t {{ op[i]['on'] }}
\t\t\t\t\t\t\t </label>
\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 %}\"
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op{{ i }}','op{{ i }}_2');\">
\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 %}>
\t\t\t\t\t\t\t {{ op[i]['off'] }}
\t\t\t\t\t\t\t </label>
\t\t\t\t\t\t\t </div>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t\t{% endif %}
\t\t\t\t\t\t{% endfor %}
\t\t\t\t\t </div>
\t\t\t\t\t <!-- /.card-body -->
\t\t\t\t\t</div>
<form action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\" id=\"form1\" name=\"form1\">
{% if Product.stock_find %}
<div class=\"ec-productRole__actions\">
{% if form.classcategory_id1 is defined %}
<div class=\"ec-select\">
{{ form_row(form.classcategory_id1) }}
{{ form_errors(form.classcategory_id1) }}
</div>
{% if form.classcategory_id2 is defined %}
<div class=\"ec-select\">
{{ form_row(form.classcategory_id2) }}
{{ form_errors(form.classcategory_id2) }}
</div>
{% endif %}
{% endif %}
<div class=\"ec-numberInput\">
{{ form_widget(form.quantity, { type: 'hidden' }) }}
{{ form_errors(form.quantity) }}
</div>
</div>
{% else %}
<div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
{{ 'ただいま品切れ中です。'|trans }}
</button>
</div>
{% endif %}
<div class=\"ec-productRole__btn mt-3\">
<button type=\"submit\" id=\"cart_btn\" class=\"ec-blockBtn--action add-cart\">施工検討リストに入れる</button>
</div>
{{ form_rest(form) }}
</form>
<div class=\"ec-modal\">
<div class=\"ec-modal-overlay\">
<div class=\"ec-modal-wrap\">
<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
<div id=\"ec-modal-header\" class=\"text-center\">{{ '施工検討リストに追加しました。'|trans }}</div>
<div class=\"ec-modal-box\">
<div class=\"ec-role\">
<span class=\"ec-inlineBtn--cancel\">{{ '商品検索を続ける'|trans }}</span>
<a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ '施工検討リストへ進む'|trans }}</a>
</div>
</div>
</div>
</div>
</div>
<div class=\"ec-productRole__description\">{{ Product.description_detail|raw|nl2br }}
</div>
{# SNSシェア #}
<div class=\"ec-productRole__share\">
<ul class=\"ec-share\">
<li class=\"ec-share__item\">
<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\">
<i class=\"fab fa-twitter\"></i>
</a>
</li>
<li class=\"ec-share__item\">
<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\">
<i class=\"fab fa-facebook-f\"></i>
</a>
</li>
<li class=\"ec-share__item\">
<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\">
<i class=\"fab fa-line\"></i>
</a>
</li>
</ul>
</div>
</div>
\t\t\t\t{# ===== スマホ用 見積金額 下部固定バー ===== #}
\t\t\t\t<div id=\"sp-mitsumori-bar\">
\t\t\t\t <div>
\t\t\t\t <div class=\"sp-bar__label\">合計(工事費・税込)</div>
\t\t\t\t <div class=\"sp-bar__price\" id=\"sp-mitsumori-price\">---円</div>
\t\t\t\t </div>
\t\t\t\t <button type=\"button\" class=\"sp-bar__btn\"
\t\t\t\t onclick=\"document.getElementById('cart_btn2') && document.getElementById('cart_btn2').click();\">
\t\t\t\t 検討リストへ
\t\t\t\t </button>
\t\t\t\t</div>
\t\t\t\t<div class=\"card col-12 collapsed-card sticky-top float-right mitsumori-card-pc\">
\t\t\t\t\t<div class=\"card-header\">
\t\t\t\t\t <h3 class=\"card-title\">現在のお見積り額</h3>
\t\t\t\t\t <div class=\"card-tools\">
\t\t\t\t\t <span class=\"float-left\" id=\"mitsumori_message\">395000円</span>
\t\t\t\t\t <button type=\"button\" class=\"btn btn-tool btn-mitsumori-toggle\" data-card-widget=\"collapse\" title=\"詳細を表示\">
\t\t\t\t\t <span class=\"toggle-icon\">▼ 詳細</span>
\t\t\t\t\t </button>
\t\t\t\t\t </div>
\t\t\t\t\t</div>
\t\t\t\t\t<div class=\"card-body p-0\">
\t\t\t\t\t <ul class=\"nav nav-pills flex-column\">
\t\t\t\t\t <li class=\"nav-item active\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> 合計(工事費・税込)
\t\t\t\t\t <span class=\"float-right\" id=\"mitsumori_goukei\">395,000円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t <li class=\"nav-item active\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> 商品価格
\t\t\t\t\t <span class=\"float-right\" id=\"mitsumori_price\">307,008円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t <li class=\"nav-item\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> カタログ価格
\t\t\t\t\t <span class=\"float-right\" id=\"maker_price\">479,700円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t <li class=\"nav-item\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> お値引き
\t\t\t\t\t <span class=\"float-right\" id=\"mitsumori_off\">-172,692円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t <li class=\"nav-item\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> 基本工事費
\t\t\t\t\t <span class=\"float-right\" id=\"mitsumori_ct\">53,250円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t <li class=\"nav-item\">
\t\t\t\t\t <a class=\"nav-link\">
\t\t\t\t\t <i class=\"far fa-file-alt\"></i> 施工オプション
\t\t\t\t\t <span class=\"float-right\"id=\"mitsumori_option\">6,297円</span>
\t\t\t\t\t </a>
\t\t\t\t\t </li>
\t\t\t\t\t </ul>
\t\t\t\t\t</div>
\t\t\t\t\t<div class=\"card-footer\">
\t\t <button type=\"button\" id=\"mitsumori_btn\" class=\"btn btn-info\" data-toggle=\"modal\" data-target=\"#modal-mitsumori\">
\t\t 見積書表示
\t\t </button>
<button type=\"submit\" id=\"cart_btn2\" class=\"btn btn-info add-cart\">施工検討リストに入れる</button>
\t\t\t\t\t</div>
\t\t\t\t</div>
</div>
</div>
</div>
<div class=\"modal\" id=\"modal-mitsumori\">
<div class=\"modal-dialog modal-mitsumori\" style=\"max-width:1000px\">
<div class=\"modal-content\">
<div class=\"modal-header\">
<h4 class=\"modal-title\">お見積書</h4>
<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
<span aria-hidden=\"true\">×</span>
</button>
</div>
<div class=\"modal-body\">
\t\t\t<div class=\"invoice p-3 mb-5\" style=\"max-width:1000px; margin:auto;\">
\t\t\t <!-- title row -->
\t\t\t <div class=\"row\">
\t\t\t <div class=\"col-12\">
\t\t\t <h2>概算お見積書
\t\t\t <small class=\"float-right\" style=\"font-size:14px;\">発行日: 2025/03/14</small>
\t\t\t </h2>
\t\t\t </div>
\t\t\t <!-- /.col -->
\t\t\t </div>
\t\t\t <!-- info row -->
\t\t\t <div class=\"row invoice-info\">
\t\t\t <div class=\"col-sm-8 invoice-col\">
\t\t\t <h3>お客様</h3>
\t\t\t <span>下記の通り、お見積もり申し上げます。</span>
\t\t\t <br />
\t\t\t <br / >
\t\t\t <br />
\t\t\t <h2>お見積金額: <span id=\"mitsumori_kei\">399,080円</span></h2>
\t\t\t <span>
\t\t\t <br/>
\t\t\t <br/>
\t\t\t <br/>
\t\t\t <br/>
\t\t\t </span>
\t\t\t </div>
\t\t\t <div class=\"col-sm-4 invoice-col\">
\t\t\t <p>
\t\t\t <img alt=\"\" src=\"/html/user_data/js/images/logo.png\" style=\"width: 260px; max-width: 100%; max-height: 10mm;\">
\t\t\t </p>
\t\t\t <p>有限会社プラス</p>
\t\t\t <p>〒400-0334</p>
\t\t\t <p>山梨県南アルプス市藤田1450番地2</p>
\t\t\t <p>TEL: 055-284-6480</p>
\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;\">
\t\t\t </div>
\t\t\t <!-- /.col -->
\t\t\t <!-- /.col -->
\t\t\t </div>
\t\t\t <!-- /.row -->
\t\t\t <!-- Table row -->
\t\t\t <div class=\"row\">
\t\t\t <div class=\"col-12 table-responsive\">
\t\t\t <table class=\"table table-striped\">
\t\t\t <thead>
\t\t\t <tr>
\t\t\t <th>項目</th>
\t\t\t <th>数量</th>
\t\t\t <th>単位</th>
\t\t\t <th>単価</th>
\t\t\t <th>小計</th>
\t\t\t </tr>
\t\t\t </thead>
\t\t\t <tbody>
\t\t\t <tr>
\t\t\t <td>プレーンルーフ 600タイプ 1台用 単体セット</td>
\t\t\t <td>1</td>
\t\t\t <td>式</td>
\t\t\t <td id=\"mitsumori_price_01\">352,800</td>
\t\t\t <td id=\"mitsumori_price_02\">352,800</td>
\t\t\t </tr>
\t\t\t <tr>
\t\t\t <td>基本工事費</td>
\t\t\t <td>1</td>
\t\t\t <td>式</td>
\t\t\t <td id=\"mitsumori_ct_01\">10,000</td>
\t\t\t <td id=\"mitsumori_ct_02\">10,000</td>
\t\t\t </tr>
\t\t\t <tr>
\t\t\t <td>残土・ガラ処理</td>
\t\t\t <td>1</td>
\t\t\t <td>式</td>
\t\t\t <td>0円</td>
\t\t\t <td></td>
\t\t\t </tr>
\t\t\t <tr>
\t\t\t <td> </td>
\t\t\t <td></td>
\t\t\t <td></td>
\t\t\t <td></td>
\t\t\t <td></td>
\t\t\t </tr>
\t\t\t </tbody>
\t\t\t </table>
\t\t\t </div>
\t\t\t <!-- /.col -->
\t\t\t </div>
\t\t\t <!-- /.row -->
\t\t\t <div class=\"row\">
\t\t\t <!-- accepted payments column -->
\t\t\t <div class=\"col-6\">
\t\t\t <p class=\"lead\">お支払い方法</p>
\t\t\t <p class=\"text-muted well well-sm shadow-none\" style=\"margin-top: 10px;\">銀行振込、クレジットカード決済、PAYPAY決済
\t\t\t <br>銀行振込:山梨中央銀行 白根支店 普通口座 391402
\t\t\t <br>※商品代金と工事代金の総額が金100万円(税込)を超える場合、着手金として代金の半額をご契約後お支払いいただきます。
\t\t\t </p>
\t\t\t </div>
\t\t\t <!-- /.col -->
\t\t\t <div class=\"col-6\">
\t\t\t <div class=\"table-responsive\">
\t\t\t <table class=\"table\">
\t\t\t <tbody>
\t\t\t <tr>
\t\t\t <th style=\"width:50%\">小計:</th>
\t\t\t <td id=\"mitsumori_shoukei\">362,800</td>
\t\t\t </tr>
\t\t\t <tr>
\t\t\t <th>消費税 (10%)</th>
\t\t\t <td id=\"mitsumori_tax\">36,280</td>
\t\t\t </tr>
\t\t\t <tr>
\t\t\t <th>合計:</th>
\t\t\t <td id=\"mitsumori_goukei_02\">399,080</td>
\t\t\t </tr>
\t\t\t </tbody>
\t\t\t </table>
\t\t\t </div>
\t\t\t </div>
\t\t\t <!-- /.col -->
\t\t\t </div>
\t\t\t <!-- /.row -->
\t\t\t</div>
</div>
<div class=\"modal-footer justify-content-between\">
\t\t\t {# PDF出力: mitsumori_json を POST して PDF ダウンロード #}
\t\t\t <form method=\"post\" action=\"{{ url('mitsumori_pdf') }}\" target=\"_blank\" id=\"pdf_download_form\">
\t\t\t <input type=\"hidden\" name=\"_token\" value=\"{{ csrf_token('mitsumori_pdf') }}\">
\t\t\t <input type=\"hidden\" name=\"mitsumori_json\" id=\"pdf_mitsumori_json\">
\t\t\t <button type=\"submit\" class=\"btn btn-primary float-right\" style=\"margin-right: 5px;\" onclick=\"syncPdfJson();\">
\t\t\t <i class=\"fas fa-download\"></i>PDF出力
\t\t\t </button>
\t\t\t </form>
<button type=\"submit\" id=\"cart_btn3\" class=\"btn btn-info add-cart\">施工検討リストに入れる</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
{% endblock %}
", "Product/detail.twig", "/home/xs538259/exterior-plus.jp/public_html/app/template/default/Product/detail.twig");
}
}