<?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;
position: relative;
display: inline-flex;
align-items: center;
gap: 6px;
}
#sp-mitsumori-bar .sp-bar__btn i {
font-size: 14px;
}
#sp-mitsumori-bar .sp-bar__cart-badge {
position: absolute;
top: -6px;
right: -6px;
background: #c00;
color: #fff;
border-radius: 50%;
min-width: 16px;
height: 16px;
font-size: 10px;
line-height: 16px;
padding: 0 4px;
font-weight: bold;
}
#sp-mitsumori-bar .sp-bar__home-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border: 1px solid #ccc;
border-radius: 6px;
background: #fff;
color: #333;
text-decoration: none;
cursor: pointer;
}
#sp-mitsumori-bar .sp-bar__home-btn i {
font-size: 16px;
}
#sp-mitsumori-bar .sp-bar__home-btn:hover {
background: #f0f0f0;
}
/* 下部バーの高さ分ページ下部にpaddingを追加 */
body {
padding-bottom: 64px;
}
}
/* ============================================
カート追加モーダル: 縦並び中央配置
============================================ */
.add-cart-modal__wrap {
text-align: center;
}
.add-cart-modal__header {
font-size: 16px;
margin: 20px 0 24px;
text-align: center;
}
.add-cart-modal__actions {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
padding: 0 20px 20px;
}
.add-cart-modal__primary {
display: inline-block;
width: 80%;
max-width: 320px;
padding: 14px 20px;
font-size: 15px;
font-weight: bold;
text-align: center;
background: #d9534f;
color: #fff !important;
border-radius: 6px;
text-decoration: none;
cursor: pointer;
}
.add-cart-modal__primary:hover {
background: #c9302c;
color: #fff !important;
text-decoration: none;
}
.add-cart-modal__secondary {
display: inline-block;
padding: 6px 14px;
font-size: 12px;
color: #666;
border: 1px solid #ccc;
border-radius: 4px;
background: #fff;
cursor: pointer;
}
.add-cart-modal__secondary:hover {
background: #f0f0f0;
color: #333;
}
@media (max-width: 767px) {
.add-cart-modal__actions {
gap: 20px;
}
}
</style>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 758
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 759
echo "
<script>
eccube.classCategories = ";
// line 761
echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson((isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 761, $this->source); })()));
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 772
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 772)) {
// line 773
echo " fnSetClassCategories(
\$('#form1'), ";
// line 774
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.', 774, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 774), "vars", [], "any", false, false, false, 774), "value", [], "any", false, false, false, 774));
echo "
);
";
} elseif (twig_get_attribute($this->env, $this->source, // line 776
($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 776)) {
// line 777
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.', 777, $this->source); })()), "id", [], "any", false, false, false, 777), "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.', 777, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 777), "vars", [], "any", false, false, false, 777), "value", [], "any", false, false, false, 777));
echo ", null);
";
}
// line 779
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 849
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 849)) {
// line 850
echo " // 規格1フォームの必須チェック
if (\$('#classcategory_id1').val() == '__unselected' || \$('#classcategory_id1').val() == '') {
\$('#classcategory_id1')[0].setCustomValidity('";
// line 852
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 858
echo "
";
// line 859
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 859)) {
// line 860
echo " // 規格2フォームの必須チェック
if (\$('#classcategory_id2').val() == '__unselected' || \$('#classcategory_id2').val() == '') {
\$('#classcategory_id2')[0].setCustomValidity('";
// line 862
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 868
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 878
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 905
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 912
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 929
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 929, $this->source); })())) {
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.', 929, $this->source); })()), "pw", [], "any", false, false, false, 929), "html", null, true);
}
echo "\";
\t\tvar pd = \"";
// line 930
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 930, $this->source); })())) {
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.', 930, $this->source); })()), "pd", [], "any", false, false, false, 930), "html", null, true);
}
echo "\";
\t\tvar ph = \"";
// line 931
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 931, $this->source); })())) {
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.', 931, $this->source); })()), "ph", [], "any", false, false, false, 931), "html", null, true);
}
echo "\";
\t\tvar pm = \"";
// line 932
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 932, $this->source); })())) {
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.', 932, $this->source); })()), "pm", [], "any", false, false, false, 932), "html", null, true);
}
echo "\";
\t\tvar pc = \"";
// line 933
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 933, $this->source); })())) {
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.', 933, $this->source); })()), "pc", [], "any", false, false, false, 933), "html", null, true);
}
echo "\";
\t\tvar op0 = \"";
// line 934
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 934, $this->source); })())) {
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.', 934, $this->source); })()), "op", [], "any", false, false, false, 934), 0, [], "array", false, false, false, 934), "html", null, true);
}
echo "\";
\t\tvar op1 = \"";
// line 935
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 935, $this->source); })())) {
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.', 935, $this->source); })()), "op", [], "any", false, false, false, 935), 1, [], "array", false, false, false, 935), "html", null, true);
}
echo "\";
\t\tvar op2 = \"";
// line 936
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 936, $this->source); })())) {
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.', 936, $this->source); })()), "op", [], "any", false, false, false, 936), 2, [], "array", false, false, false, 936), "html", null, true);
}
echo "\";
\t\tvar op3 = \"";
// line 937
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 937, $this->source); })())) {
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.', 937, $this->source); })()), "op", [], "any", false, false, false, 937), 3, [], "array", false, false, false, 937), "html", null, true);
}
echo "\";
\t\tvar op4 = \"";
// line 938
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 938, $this->source); })())) {
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.', 938, $this->source); })()), "op", [], "any", false, false, false, 938), 4, [], "array", false, false, false, 938), "html", null, true);
}
echo "\";
\t\tvar op5 = \"";
// line 939
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 939, $this->source); })())) {
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.', 939, $this->source); })()), "op", [], "any", false, false, false, 939), 5, [], "array", false, false, false, 939), "html", null, true);
}
echo "\";
\t\tvar op6 = \"";
// line 940
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 940, $this->source); })())) {
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.', 940, $this->source); })()), "op", [], "any", false, false, false, 940), 6, [], "array", false, false, false, 940), "html", null, true);
}
echo "\";
\t\tvar op7 = \"";
// line 941
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 941, $this->source); })())) {
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.', 941, $this->source); })()), "op", [], "any", false, false, false, 941), 7, [], "array", false, false, false, 941), "html", null, true);
}
echo "\";
\t\tvar op8 = \"";
// line 942
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 942, $this->source); })())) {
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.', 942, $this->source); })()), "op", [], "any", false, false, false, 942), 8, [], "array", false, false, false, 942), "html", null, true);
}
echo "\";
\t\tvar op9 = \"";
// line 943
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 943, $this->source); })())) {
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.', 943, $this->source); })()), "op", [], "any", false, false, false, 943), 9, [], "array", false, false, false, 943), "html", null, true);
}
echo "\";
\t\tvar op10 = \"";
// line 944
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 944, $this->source); })())) {
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.', 944, $this->source); })()), "op", [], "any", false, false, false, 944), 10, [], "array", false, false, false, 944), "html", null, true);
}
echo "\";
\t\tconst formatter = new Intl.NumberFormat('ja-JP');
\t\tfunction mitsumori_simulation(type , value_id){
\t\t\tvar pp = ";
// line 949
echo (isset($context["pp"]) || array_key_exists("pp", $context) ? $context["pp"] : (function () { throw new RuntimeError('Variable "pp" does not exist.', 949, $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 1110
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.', 1110, $this->source); })()), "SaleType", [], "any", false, false, false, 1110), "id", [], "any", false, false, false, 1110), "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 1119
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.', 1119, $this->source); })()), "id", [], "any", false, false, false, 1119), "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 1145
if (((isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1145, $this->source); })()) && (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1145, $this->source); })())) == 1))) {
// line 1146
echo " pc = \"指定なし\";
\t\t\t";
// line 1147
$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.', 1147, $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, 1147))) {
echo " pc = \"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1147), "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 1148
echo "\t\t";
}
// line 1149
echo "
";
// line 1150
if (((isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1150, $this->source); })()) && ((twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1150, $this->source); })())) == 1) || (twig_join_filter((isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1150, $this->source); })())) == "")))) {
// line 1151
echo " pw = \"指定なし\";
\t\t\t";
// line 1152
$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.', 1152, $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 1153
echo "\t\t";
}
// line 1154
echo "
";
// line 1155
if (((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1155, $this->source); })()) && ((twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1155, $this->source); })())) == 1) || (twig_join_filter((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1155, $this->source); })())) == "")))) {
// line 1156
echo " pd = \"指定なし\";
\t\t\t";
// line 1157
$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.', 1157, $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 1158
echo "\t\t";
}
// line 1159
echo "
";
// line 1160
if (((isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1160, $this->source); })()) && ((twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1160, $this->source); })())) == 1) || (twig_join_filter((isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1160, $this->source); })())) == "")))) {
// line 1161
echo " ph = \"指定なし\";
\t\t\t";
// line 1162
$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.', 1162, $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 1163
echo "\t\t";
}
// line 1164
echo "
";
// line 1165
if (((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1165, $this->source); })()) && ((twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1165, $this->source); })())) == 1) || (twig_join_filter((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1165, $this->source); })())) == "")))) {
// line 1166
echo " pm = \"指定なし\";
\t\t\t";
// line 1167
$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.', 1167, $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 1168
echo "\t\t";
}
// line 1169
echo "
\t\t// ページ読み込み時: タイプ別に quantity の初期値をセット
\t\t(function initQuantityByType(){
\t\t\tvar saleType = ";
// line 1172
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.', 1172, $this->source); })()), "SaleType", [], "any", false, false, false, 1172), "id", [], "any", false, false, false, 1172), "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 1280
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("contact", ["product" => twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1280, $this->source); })()), "id", [], "any", false, false, false, 1280)]), "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 1330
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1330, $this->source); })())) {
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "deck_step", [], "any", true, true, false, 1330)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "deck_step", [], "any", false, false, false, 1330), "不要")) : ("不要")), "html", null, true);
} else {
echo "不要";
}
echo "\";
\t\tvar deck_fence = \"";
// line 1331
if ((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1331, $this->source); })())) {
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "deck_fence", [], "any", true, true, false, 1331)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "deck_fence", [], "any", false, false, false, 1331), "不要")) : ("不要")), "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 1425
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.', 1425, $this->source); })()), "name", [], "any", false, false, false, 1425), "html", null, true);
echo "\",
\"image\": [
";
// line 1427
$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.', 1427, $this->source); })()), "ProductImage", [], "any", false, false, false, 1427));
$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 1428
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.', 1428, $this->source); })()), "request", [], "any", false, false, false, 1428), "schemeAndHttpHost", [], "any", false, false, false, 1428), "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, 1428)) {
echo ",";
}
// line 1429
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 1431
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.', 1431, $this->source); })()), "request", [], "any", false, false, false, 1431), "schemeAndHttpHost", [], "any", false, false, false, 1431), "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 1433
echo " ],
\"description\": \"";
// line 1434
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, 1434)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["Product"] ?? null), "description_list", [], "any", false, false, false, 1434), twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1434, $this->source); })()), "description_detail", [], "any", false, false, false, 1434))) : (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1434, $this->source); })()), "description_detail", [], "any", false, false, false, 1434))), ["
" => "", "
" => ""]), 0, 300), "html", null, true);
echo "\",
";
// line 1435
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1435, $this->source); })()), "code_min", [], "any", false, false, false, 1435)) {
// line 1436
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.', 1436, $this->source); })()), "code_min", [], "any", false, false, false, 1436), "html", null, true);
echo "\",
";
}
// line 1438
echo " \"offers\": {
\"@type\": \"Offer\",
\"url\": \"";
// line 1440
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1440, $this->source); })()), "id", [], "any", false, false, false, 1440)]), "html", null, true);
echo "\",
\"priceCurrency\": \"";
// line 1441
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.', 1441, $this->source); })()), "currency", [], "any", false, false, false, 1441), "html", null, true);
echo "\",
\"price\": ";
// line 1442
((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1442, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1442)) ? (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.', 1442, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1442), "html", null, true))) : (print (0)));
echo ",
\"availability\": \"";
// line 1443
echo ((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1443, $this->source); })()), "stock_find", [], "any", false, false, false, 1443)) ? ("InStock") : ("OutOfStock"));
echo "\"
}
}
</script>
";
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
}
// line 1450
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 1451
echo " <div class=\"ec-productRole\" style=\"margin-top:20px;\">
<div class=\"ec-grid2\">
<div class=\"ec-grid2__cell\">
<div class=\"ec-sliderItemRole\">
\t ";
// line 1456
echo "\t <div class=\"ec-productRole__title\">
\t <div class=\"ec-productRole__titleRow\">
\t <h2 class=\"ec-headingTitle\">";
// line 1458
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.', 1458, $this->source); })()), "name", [], "any", false, false, false, 1458), "html", null, true);
echo "</h2>
\t <div class=\"ec-share-inline\">
\t <a href=\"https://twitter.com/share?url=";
// line 1460
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.', 1460, $this->source); })()), "request", [], "any", false, false, false, 1460), "uri", [], "any", false, false, false, 1460)), "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.', 1460, $this->source); })()), "name", [], "any", false, false, false, 1460)), "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 1467
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.', 1467, $this->source); })()), "request", [], "any", false, false, false, 1467), "uri", [], "any", false, false, false, 1467)), "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 1474
if (twig_get_attribute($this->env, $this->source, (isset($context["BaseInfo"]) || array_key_exists("BaseInfo", $context) ? $context["BaseInfo"] : (function () { throw new RuntimeError('Variable "BaseInfo" does not exist.', 1474, $this->source); })()), "option_favorite_product", [], "any", false, false, false, 1474)) {
// line 1475
echo " <div style=\"position:relative;top: 20px;left: 10px;z-index:100;\">
\t\t\t\t\t\t";
// line 1476
if (((isset($context["is_favorite"]) || array_key_exists("is_favorite", $context) ? $context["is_favorite"] : (function () { throw new RuntimeError('Variable "is_favorite" does not exist.', 1476, $this->source); })()) == false)) {
// line 1477
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.', 1477, $this->source); })()), "id", [], "any", false, false, false, 1477)]), "html", null, true);
echo "\" method=\"post\">
<button type=\"submit\" id=\"favorite\" class=\"favorite\">♡</button>
</form>
";
} else {
// line 1481
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.', 1481, $this->source); })()), "id", [], "any", false, false, false, 1481)]), "html", null, true);
echo "\" method=\"post\">
<button type=\"submit\" id=\"favorite\" class=\"favorite\" style=\"color:red;\">♥</button>
</form>
";
}
// line 1485
echo " </div>
";
}
// line 1487
echo " <div class=\"item_visual\">
";
// line 1488
$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.', 1488, $this->source); })()), "ProductImage", [], "any", false, false, false, 1488));
$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 1489
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, 1489)) ? (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.', 1489, $this->source); })()), "name", [], "any", false, false, false, 1489), "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, 1489) > 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 1491
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, 1491)) ? (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.', 1491, $this->source); })()), "name", [], "any", false, false, false, 1491), "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 1493
echo " </div>
<div class=\"item_nav\">
";
// line 1495
$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.', 1495, $this->source); })()), "ProductImage", [], "any", false, false, false, 1495));
$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 1496
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, 1496), "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 1498
echo " </div>
</div>
";
// line 1503
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 1515
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 1526
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.', 1526, $this->source); })()), "ProductCategories", [], "any", false, false, false, 1526))) {
// line 1527
echo " <div class=\"ec-productRole__category\" style=\"padding:10px 0;\">
";
// line 1528
$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.', 1528, $this->source); })()), "ProductCategories", [], "any", false, false, false, 1528));
foreach ($context['_seq'] as $context["_key"] => $context["ProductCategory"]) {
// line 1529
echo " <ul>
<li>
";
// line 1531
$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, 1531), "path", [], "any", false, false, false, 1531));
$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 1532
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, 1532), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["Category"], "name", [], "any", false, false, false, 1532), "html", null, true);
echo "</a>";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 1532) == false)) {
// line 1533
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 1535
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 1538
echo " </div>
";
}
// line 1540
echo " ";
// line 1541
echo " <div class=\"ec-productRole__price\">
\t\t\t\t\t\t<span style=\"color:black;font-size:15px;\">工事費込み価格</span>
";
// line 1543
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1543, $this->source); })()), "hasProductClass", [], "any", false, false, false, 1543)) {
// line 1544
if ((twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1544, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1544) == twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1544, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 1544))) {
// line 1545
echo " <div class=\"ec-price\">
<span id=\"price02-display\" class=\"ec-price__price price02-default\">";
// line 1546
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1546, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1546)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">(";
// line 1547
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo ")~</span>
</div>
";
} else {
// line 1550
echo " <div class=\"ec-price\">
<span id=\"price02-display\" class=\"ec-price__price price02-default\">";
// line 1551
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1551, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1551)), "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.', 1551, $this->source); })()), "getPrice02IncTaxMax", [], "any", false, false, false, 1551)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">(";
// line 1552
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo ")</span>
</div>
";
}
// line 1555
echo " ";
} else {
// line 1556
echo " <div class=\"ec-price\">
<span id=\"price02-display\" class=\"ec-price__price\">";
// line 1557
echo twig_escape_filter($this->env, $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getPriceFilter(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1557, $this->source); })()), "getPrice02IncTaxMin", [], "any", false, false, false, 1557)), "html", null, true);
echo "</span>
<span class=\"ec-price__tax\">(";
// line 1558
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("税込"), "html", null, true);
echo ")~</span>
</div>
";
}
// line 1561
echo " </div>
";
// line 1563
echo " <ul class=\"ec-productRole__tags\">
";
// line 1564
$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.', 1564, $this->source); })()), "Tags", [], "any", false, false, false, 1564));
foreach ($context['_seq'] as $context["_key"] => $context["Tag"]) {
// line 1565
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, 1565), "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 1567
echo " </ul>
";
// line 1569
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.', 1569, $this->source); })()), "code_min", [], "any", false, false, false, 1569))) {
// line 1570
echo " <div class=\"ec-productRole__code\">
";
// line 1571
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.', 1571, $this->source); })()), "code_min", [], "any", false, false, false, 1571), "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.', 1571, $this->source); })()), "code_min", [], "any", false, false, false, 1571) != twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1571, $this->source); })()), "code_max", [], "any", false, false, false, 1571))) {
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.', 1571, $this->source); })()), "code_max", [], "any", false, false, false, 1571), "html", null, true);
}
echo "</span>
</div>
";
}
// line 1574
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 1579
echo twig_nl2br(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1579, $this->source); })()), "sales_infomation", [], "any", false, false, false, 1579));
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 1588
$context["related_image"] = $this->extensions['Plugin\ProductField\Twig\Extension\EccubeExtension']->getProduct_field(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 1588, $this->source); })()), "id", [], "any", false, false, false, 1588), "related_image");
// line 1589
echo " ";
// line 1590
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.', 1590, $this->source); })()) && twig_in_filter("1段目画像あり", (isset($context["related_image"]) || array_key_exists("related_image", $context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.', 1590, $this->source); })())));
// line 1591
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.', 1591, $this->source); })()) && twig_in_filter("2段目画像あり", (isset($context["related_image"]) || array_key_exists("related_image", $context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.', 1591, $this->source); })())));
// line 1592
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.', 1592, $this->source); })()) && twig_in_filter("3段目画像あり", (isset($context["related_image"]) || array_key_exists("related_image", $context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.', 1592, $this->source); })())));
// line 1593
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.', 1593, $this->source); })()) && twig_in_filter("4段目画像あり", (isset($context["related_image"]) || array_key_exists("related_image", $context) ? $context["related_image"] : (function () { throw new RuntimeError('Variable "related_image" does not exist.', 1593, $this->source); })())));
// line 1594
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.', 1594, $this->source); })()), "id", [], "any", false, false, false, 1594), "related_name1");
// line 1595
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.', 1595, $this->source); })()), "id", [], "any", false, false, false, 1595), "related_name2");
// line 1596
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.', 1596, $this->source); })()), "id", [], "any", false, false, false, 1596), "related_name3");
// line 1597
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.', 1597, $this->source); })()), "id", [], "any", false, false, false, 1597), "related_name4");
// line 1598
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.', 1598, $this->source); })()) && (isset($context["related_product1"]) || array_key_exists("related_product1", $context) ? $context["related_product1"] : (function () { throw new RuntimeError('Variable "related_product1" does not exist.', 1598, $this->source); })())) && twig_length_filter($this->env, (isset($context["related_product1"]) || array_key_exists("related_product1", $context) ? $context["related_product1"] : (function () { throw new RuntimeError('Variable "related_product1" does not exist.', 1598, $this->source); })()))) || (( // line 1599
(isset($context["type2"]) || array_key_exists("type2", $context) ? $context["type2"] : (function () { throw new RuntimeError('Variable "type2" does not exist.', 1599, $this->source); })()) && (isset($context["related_product2"]) || array_key_exists("related_product2", $context) ? $context["related_product2"] : (function () { throw new RuntimeError('Variable "related_product2" does not exist.', 1599, $this->source); })())) && twig_length_filter($this->env, (isset($context["related_product2"]) || array_key_exists("related_product2", $context) ? $context["related_product2"] : (function () { throw new RuntimeError('Variable "related_product2" does not exist.', 1599, $this->source); })())))) || (( // line 1600
(isset($context["type3"]) || array_key_exists("type3", $context) ? $context["type3"] : (function () { throw new RuntimeError('Variable "type3" does not exist.', 1600, $this->source); })()) && (isset($context["related_product3"]) || array_key_exists("related_product3", $context) ? $context["related_product3"] : (function () { throw new RuntimeError('Variable "related_product3" does not exist.', 1600, $this->source); })())) && twig_length_filter($this->env, (isset($context["related_product3"]) || array_key_exists("related_product3", $context) ? $context["related_product3"] : (function () { throw new RuntimeError('Variable "related_product3" does not exist.', 1600, $this->source); })())))) || (( // line 1601
(isset($context["type4"]) || array_key_exists("type4", $context) ? $context["type4"] : (function () { throw new RuntimeError('Variable "type4" does not exist.', 1601, $this->source); })()) && (isset($context["related_product4"]) || array_key_exists("related_product4", $context) ? $context["related_product4"] : (function () { throw new RuntimeError('Variable "related_product4" does not exist.', 1601, $this->source); })())) && twig_length_filter($this->env, (isset($context["related_product4"]) || array_key_exists("related_product4", $context) ? $context["related_product4"] : (function () { throw new RuntimeError('Variable "related_product4" does not exist.', 1601, $this->source); })()))));
// line 1602
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.', 1602, $this->source); })())) {
// line 1603
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 1605
echo "
\t\t\t\t\t\t";
// line 1607
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.', 1607, $this->source); })()) && (isset($context["related_product1"]) || array_key_exists("related_product1", $context) ? $context["related_product1"] : (function () { throw new RuntimeError('Variable "related_product1" does not exist.', 1607, $this->source); })())) && twig_length_filter($this->env, (isset($context["related_product1"]) || array_key_exists("related_product1", $context) ? $context["related_product1"] : (function () { throw new RuntimeError('Variable "related_product1" does not exist.', 1607, $this->source); })())))) {
// line 1608
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 1609
echo twig_escape_filter($this->env, (isset($context["type1"]) || array_key_exists("type1", $context) ? $context["type1"] : (function () { throw new RuntimeError('Variable "type1" does not exist.', 1609, $this->source); })()), "html", null, true);
if (((isset($context["img1"]) || array_key_exists("img1", $context) ? $context["img1"] : (function () { throw new RuntimeError('Variable "img1" does not exist.', 1609, $this->source); })()) && (isset($context["base_select1"]) || array_key_exists("base_select1", $context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.', 1609, $this->source); })()))) {
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.', 1609, $this->source); })()), "html", null, true);
echo "</span>";
}
echo "</div>
\t\t\t\t\t\t ";
// line 1610
if ((isset($context["img1"]) || array_key_exists("img1", $context) ? $context["img1"] : (function () { throw new RuntimeError('Variable "img1" does not exist.', 1610, $this->source); })())) {
// line 1611
echo "\t\t\t\t\t\t ";
// line 1612
echo "\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t ";
// line 1613
$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.', 1613, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1614
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.', 1614, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1615
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 1616
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1617
if (((isset($context["base_select1"]) || array_key_exists("base_select1", $context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.', 1617, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"";
// line 1619
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 1620
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 1623
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 1626
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
} else {
// line 1628
echo "\t\t\t\t\t\t ";
// line 1629
echo "\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t ";
// line 1630
$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.', 1630, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1631
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.', 1631, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1632
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 1633
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1634
if (((isset($context["base_select1"]) || array_key_exists("base_select1", $context) ? $context["base_select1"] : (function () { throw new RuntimeError('Variable "base_select1" does not exist.', 1634, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t ";
// line 1635
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 1638
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
}
// line 1640
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1642
echo "
\t\t\t\t\t\t";
// line 1644
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.', 1644, $this->source); })()) && (isset($context["related_product2"]) || array_key_exists("related_product2", $context) ? $context["related_product2"] : (function () { throw new RuntimeError('Variable "related_product2" does not exist.', 1644, $this->source); })())) && twig_length_filter($this->env, (isset($context["related_product2"]) || array_key_exists("related_product2", $context) ? $context["related_product2"] : (function () { throw new RuntimeError('Variable "related_product2" does not exist.', 1644, $this->source); })())))) {
// line 1645
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 1646
echo twig_escape_filter($this->env, (isset($context["type2"]) || array_key_exists("type2", $context) ? $context["type2"] : (function () { throw new RuntimeError('Variable "type2" does not exist.', 1646, $this->source); })()), "html", null, true);
if (((isset($context["img2"]) || array_key_exists("img2", $context) ? $context["img2"] : (function () { throw new RuntimeError('Variable "img2" does not exist.', 1646, $this->source); })()) && (isset($context["base_select2"]) || array_key_exists("base_select2", $context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.', 1646, $this->source); })()))) {
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.', 1646, $this->source); })()), "html", null, true);
echo "</span>";
}
echo "</div>
\t\t\t\t\t\t ";
// line 1647
if ((isset($context["img2"]) || array_key_exists("img2", $context) ? $context["img2"] : (function () { throw new RuntimeError('Variable "img2" does not exist.', 1647, $this->source); })())) {
// line 1648
echo "\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t ";
// line 1649
$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.', 1649, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1650
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.', 1650, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1651
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 1652
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1653
if (((isset($context["base_select2"]) || array_key_exists("base_select2", $context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.', 1653, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"";
// line 1655
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 1656
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 1659
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 1662
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
} else {
// line 1664
echo "\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t ";
// line 1665
$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.', 1665, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1666
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.', 1666, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1667
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 1668
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1669
if (((isset($context["base_select2"]) || array_key_exists("base_select2", $context) ? $context["base_select2"] : (function () { throw new RuntimeError('Variable "base_select2" does not exist.', 1669, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t ";
// line 1670
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 1673
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
}
// line 1675
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1677
echo "
\t\t\t\t\t\t";
// line 1679
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.', 1679, $this->source); })()) && (isset($context["related_product3"]) || array_key_exists("related_product3", $context) ? $context["related_product3"] : (function () { throw new RuntimeError('Variable "related_product3" does not exist.', 1679, $this->source); })())) && twig_length_filter($this->env, (isset($context["related_product3"]) || array_key_exists("related_product3", $context) ? $context["related_product3"] : (function () { throw new RuntimeError('Variable "related_product3" does not exist.', 1679, $this->source); })())))) {
// line 1680
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 1681
echo twig_escape_filter($this->env, (isset($context["type3"]) || array_key_exists("type3", $context) ? $context["type3"] : (function () { throw new RuntimeError('Variable "type3" does not exist.', 1681, $this->source); })()), "html", null, true);
if (((isset($context["img3"]) || array_key_exists("img3", $context) ? $context["img3"] : (function () { throw new RuntimeError('Variable "img3" does not exist.', 1681, $this->source); })()) && (isset($context["base_select3"]) || array_key_exists("base_select3", $context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.', 1681, $this->source); })()))) {
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.', 1681, $this->source); })()), "html", null, true);
echo "</span>";
}
echo "</div>
\t\t\t\t\t\t ";
// line 1682
if ((isset($context["img3"]) || array_key_exists("img3", $context) ? $context["img3"] : (function () { throw new RuntimeError('Variable "img3" does not exist.', 1682, $this->source); })())) {
// line 1683
echo "\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t ";
// line 1684
$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.', 1684, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1685
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.', 1685, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1686
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 1687
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1688
if (((isset($context["base_select3"]) || array_key_exists("base_select3", $context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.', 1688, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"";
// line 1690
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 1691
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 1694
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 1697
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
} else {
// line 1699
echo "\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t ";
// line 1700
$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.', 1700, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1701
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.', 1701, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1702
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 1703
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1704
if (((isset($context["base_select3"]) || array_key_exists("base_select3", $context) ? $context["base_select3"] : (function () { throw new RuntimeError('Variable "base_select3" does not exist.', 1704, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t ";
// line 1705
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 1708
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
}
// line 1710
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1712
echo "
\t\t\t\t\t\t";
// line 1714
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.', 1714, $this->source); })()) && (isset($context["related_product4"]) || array_key_exists("related_product4", $context) ? $context["related_product4"] : (function () { throw new RuntimeError('Variable "related_product4" does not exist.', 1714, $this->source); })())) && twig_length_filter($this->env, (isset($context["related_product4"]) || array_key_exists("related_product4", $context) ? $context["related_product4"] : (function () { throw new RuntimeError('Variable "related_product4" does not exist.', 1714, $this->source); })())))) {
// line 1715
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 1716
echo twig_escape_filter($this->env, (isset($context["type4"]) || array_key_exists("type4", $context) ? $context["type4"] : (function () { throw new RuntimeError('Variable "type4" does not exist.', 1716, $this->source); })()), "html", null, true);
if (((isset($context["img4"]) || array_key_exists("img4", $context) ? $context["img4"] : (function () { throw new RuntimeError('Variable "img4" does not exist.', 1716, $this->source); })()) && (isset($context["base_select4"]) || array_key_exists("base_select4", $context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.', 1716, $this->source); })()))) {
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.', 1716, $this->source); })()), "html", null, true);
echo "</span>";
}
echo "</div>
\t\t\t\t\t\t ";
// line 1717
if ((isset($context["img4"]) || array_key_exists("img4", $context) ? $context["img4"] : (function () { throw new RuntimeError('Variable "img4" does not exist.', 1717, $this->source); })())) {
// line 1718
echo "\t\t\t\t\t\t ";
// line 1719
echo "\t\t\t\t\t\t <div class=\"rp-card-group\">
\t\t\t\t\t\t ";
// line 1720
$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.', 1720, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1721
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.', 1721, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1722
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 1723
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1724
if (((isset($context["base_select4"]) || array_key_exists("base_select4", $context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.', 1724, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t <img class=\"rp-card__image\"
\t\t\t\t\t\t src=\"";
// line 1726
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 1727
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 1728
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 1731
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
} else {
// line 1733
echo "\t\t\t\t\t\t ";
// line 1734
echo "\t\t\t\t\t\t <div class=\"rp-btn-group\">
\t\t\t\t\t\t ";
// line 1735
$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.', 1735, $this->source); })()));
foreach ($context['_seq'] as $context["rp_id"] => $context["rp_name"]) {
// line 1736
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.', 1736, $this->source); })()) == $context["rp_name"])) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t onclick=\"location.href='/products/detail/";
// line 1737
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 1738
echo twig_escape_filter($this->env, $context["rp_name"], "html", null, true);
echo "\"
\t\t\t\t\t\t ";
// line 1739
if (((isset($context["base_select4"]) || array_key_exists("base_select4", $context) ? $context["base_select4"] : (function () { throw new RuntimeError('Variable "base_select4" does not exist.', 1739, $this->source); })()) == $context["rp_name"])) {
echo "checked";
}
echo ">
\t\t\t\t\t\t ";
// line 1740
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 1743
echo "\t\t\t\t\t\t </div>
\t\t\t\t\t\t ";
}
// line 1745
echo "\t\t\t\t\t\t</div>
\t\t\t\t\t\t";
}
// line 1747
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 1751
if ((((isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1751, $this->source); })()) && twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1751, $this->source); })()))) && (twig_get_attribute($this->env, $this->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.', 1751, $this->source); })()), "SaleType", [], "any", false, false, false, 1751), "id", [], "any", false, false, false, 1751) != 3))) {
// line 1752
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 1753
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1753, $this->source); })()) && twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1753, $this->source); })()), "pc", [], "any", false, false, false, 1753))) {
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.', 1753, $this->source); })()), "pc", [], "any", false, false, false, 1753), "html", null, true);
echo "</span>";
}
echo "</div>
<div class=\"opt-btn-group\">
";
// line 1755
$context["idx"] = 0;
// line 1756
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.', 1756, $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, 1756))) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1756, $this->source); })()) + 1);
// line 1757
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.', 1757, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1757, $this->source); })()), "pc", [], "any", false, false, false, 1757) == twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1757))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1757, $this->source); })())) == 1))) {
echo " is-selected";
}
echo "\"
onclick=\"mitsumori_simulation_val('pc', '";
// line 1758
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, 1758), "js"), "html", null, true);
echo "');\">
<input type=\"radio\" name=\"color\" id=\"cc_";
// line 1759
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1759, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1759), "html", null, true);
echo "\"
";
// line 1760
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1760, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1760, $this->source); })()), "pc", [], "any", false, false, false, 1760) == twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1760))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 1760, $this->source); })())) == 1))) {
echo "checked";
}
echo ">
";
// line 1761
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 1761), "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 1764
echo " </div>
</div>
";
}
// line 1767
echo "
";
// line 1768
if ((((isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1768, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1768, $this->source); })()))) && (twig_join_filter((isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1768, $this->source); })())) != ""))) {
// line 1769
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 1770
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1770, $this->source); })()) && twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1770, $this->source); })()), "pw", [], "any", false, false, false, 1770))) {
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.', 1770, $this->source); })()), "pw", [], "any", false, false, false, 1770), "html", null, true);
echo "</span>";
}
echo "</div>
<div class=\"opt-btn-group\">
";
// line 1772
$context["idx"] = 0;
// line 1773
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.', 1773, $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.', 1773, $this->source); })()) + 1);
// line 1774
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.', 1774, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1774, $this->source); })()), "pw", [], "any", false, false, false, 1774) == $context["pw"])) || (twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1774, $this->source); })())) == 1))) {
echo " is-selected";
}
echo "\"
onclick=\"mitsumori_simulation_val('pw', '";
// line 1775
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 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["pw"], "html", null, true);
echo "\"
";
// 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); })()), "pw", [], "any", false, false, false, 1777) == $context["pw"])) || (twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1777, $this->source); })())) == 1))) {
echo "checked";
}
echo ">
";
// line 1778
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 1781
echo " </div>
</div>
";
}
// line 1784
echo "
";
// line 1785
if ((((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1785, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1785, $this->source); })()))) && (twig_join_filter((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1785, $this->source); })())) != ""))) {
// line 1786
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 1787
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1787, $this->source); })()) && twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1787, $this->source); })()), "pd", [], "any", false, false, false, 1787))) {
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.', 1787, $this->source); })()), "pd", [], "any", false, false, false, 1787), "html", null, true);
echo "</span>";
}
echo "</div>
<div class=\"opt-btn-group\">
";
// line 1789
$context["idx"] = 0;
// line 1790
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.', 1790, $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.', 1790, $this->source); })()) + 1);
// line 1791
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.', 1791, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1791, $this->source); })()), "pd", [], "any", false, false, false, 1791) == $context["pd"])) || (twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1791, $this->source); })())) == 1))) {
echo " is-selected";
}
echo "\"
onclick=\"mitsumori_simulation_val('pd', '";
// line 1792
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 1793
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1793, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pd"], "html", null, true);
echo "\"
";
// line 1794
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1794, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1794, $this->source); })()), "pd", [], "any", false, false, false, 1794) == $context["pd"])) || (twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1794, $this->source); })())) == 1))) {
echo "checked";
}
echo ">
";
// line 1795
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 1798
echo " </div>
</div>
";
}
// line 1801
echo "
";
// line 1802
if ((((isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1802, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1802, $this->source); })()))) && (twig_join_filter((isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1802, $this->source); })())) != ""))) {
// line 1803
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 1804
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1804, $this->source); })()) && twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1804, $this->source); })()), "ph", [], "any", false, false, false, 1804))) {
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.', 1804, $this->source); })()), "ph", [], "any", false, false, false, 1804), "html", null, true);
echo "</span>";
}
echo "</div>
<div class=\"opt-btn-group\">
";
// line 1806
$context["idx"] = 0;
// line 1807
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.', 1807, $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.', 1807, $this->source); })()) + 1);
// line 1808
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.', 1808, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1808, $this->source); })()), "ph", [], "any", false, false, false, 1808) == $context["ph"])) || (twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1808, $this->source); })())) == 1))) {
echo " is-selected";
}
echo "\"
onclick=\"mitsumori_simulation_val('ph', '";
// line 1809
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 1810
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1810, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["ph"], "html", null, true);
echo "\"
";
// line 1811
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1811, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1811, $this->source); })()), "ph", [], "any", false, false, false, 1811) == $context["ph"])) || (twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1811, $this->source); })())) == 1))) {
echo "checked";
}
echo ">
";
// line 1812
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 1815
echo " </div>
</div>
";
}
// line 1818
echo "
";
// line 1819
if ((((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1819, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1819, $this->source); })()))) && (twig_join_filter((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1819, $this->source); })())) != ""))) {
// line 1820
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 1821
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1821, $this->source); })()) && twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1821, $this->source); })()), "pm", [], "any", false, false, false, 1821))) {
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.', 1821, $this->source); })()), "pm", [], "any", false, false, false, 1821), "html", null, true);
echo "</span>";
}
echo "</div>
<div class=\"opt-btn-group\">
";
// line 1823
$context["idx"] = 0;
// line 1824
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.', 1824, $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.', 1824, $this->source); })()) + 1);
// line 1825
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.', 1825, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1825, $this->source); })()), "pm", [], "any", false, false, false, 1825) == $context["pm"])) || (twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1825, $this->source); })())) == 1))) {
echo " is-selected";
}
echo "\"
onclick=\"mitsumori_simulation_val('pm', '";
// line 1826
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 1827
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1827, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, $context["pm"], "html", null, true);
echo "\"
";
// line 1828
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1828, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1828, $this->source); })()), "pm", [], "any", false, false, false, 1828) == $context["pm"])) || (twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1828, $this->source); })())) == 1))) {
echo "checked";
}
echo ">
";
// line 1829
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 1832
echo " </div>
</div>
";
}
// line 1835
echo "
\t\t\t\t\t\t<!-- 1: 施工見積(通常) → 幅/奥行/高さ/素材/カラーは上部の共通ブロックで表示済み -->
\t\t\t\t\t\t";
// line 1837
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.', 1837, $this->source); })()), "SaleType", [], "any", false, false, false, 1837), "id", [], "any", false, false, false, 1837) == 1)) {
// line 1838
echo "\t\t\t\t\t\t";
}
// line 1839
echo "
\t\t\t\t\t\t<!-- 2: 施工見積(補助金・窓) -->
\t\t\t\t\t\t";
// line 1841
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.', 1841, $this->source); })()), "SaleType", [], "any", false, false, false, 1841), "id", [], "any", false, false, false, 1841) == 2)) {
// line 1842
echo "
\t\t\t\t\t\t\t";
// line 1844
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 1849
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "mado_w", [], "any", true, true, false, 1849)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "mado_w", [], "any", false, false, false, 1849), "")) : ("")), "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 1856
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "mado_h", [], "any", true, true, false, 1856)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "mado_h", [], "any", false, false, false, 1856), "")) : ("")), "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 1863
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.', 1863, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1863, $this->source); })()))) && (twig_join_filter((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1863, $this->source); })())) != ""))) {
// line 1864
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 1868
$context["idx"] = 0;
// line 1869
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.', 1869, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pd_val"]) {
// line 1870
echo "\t\t\t\t\t\t\t ";
if ($context["pd_val"]) {
// line 1871
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.', 1871, $this->source); })()) + 1);
// line 1872
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 1873
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1873, $this->source); })()), "html", 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 1874
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1874, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1874, $this->source); })()), "pd", [], "any", false, false, false, 1874) == $context["pd_val"])) || (twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1874, $this->source); })())) == 1))) {
echo "checked";
}
// line 1875
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.', 1875, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"mado_type_";
// line 1876
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1876, $this->source); })()), "html", 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 1879
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 1880
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 1884
echo "
\t\t\t\t\t\t\t";
// line 1886
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.', 1886, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1886, $this->source); })()))) && (twig_join_filter((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1886, $this->source); })())) != ""))) {
// line 1887
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 1891
$context["idx"] = 0;
// line 1892
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.', 1892, $this->source); })()));
foreach ($context['_seq'] as $context["_key"] => $context["pm_val"]) {
// line 1893
echo "\t\t\t\t\t\t\t ";
if ($context["pm_val"]) {
// line 1894
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.', 1894, $this->source); })()) + 1);
// line 1895
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 1896
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1896, $this->source); })()), "html", 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 1897
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1897, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1897, $this->source); })()), "pm", [], "any", false, false, false, 1897) == $context["pm_val"])) || (twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1897, $this->source); })())) == 1))) {
echo "checked";
}
// line 1898
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.', 1898, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"glass_type_";
// line 1899
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1899, $this->source); })()), "html", 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 1902
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 1903
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 1907
echo "
\t\t\t\t\t\t\t";
// line 1909
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 1913
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(range(1, 20));
foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
// line 1914
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.', 1914, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1914, $this->source); })()), "set_count", [], "any", false, false, false, 1914) == $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 1916
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 1921
echo "
\t\t\t\t\t\t<!-- 3: 施工見積(物置・ゴミステーション) -->
\t\t\t\t\t\t";
// line 1923
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.', 1923, $this->source); })()), "SaleType", [], "any", false, false, false, 1923), "id", [], "any", false, false, false, 1923) == 3)) {
// line 1924
echo "
\t\t\t\t\t\t\t";
// line 1926
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.', 1926, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1926, $this->source); })()))) && (twig_join_filter((isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1926, $this->source); })())) != ""))) {
// 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-8\">
\t\t\t\t\t\t\t <div class=\"form-group clearfix\">
\t\t\t\t\t\t\t ";
// line 1931
$context["idx"] = 0;
// line 1932
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.', 1932, $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.', 1932, $this->source); })()) + 1);
// line 1933
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 1934
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1934, $this->source); })()), "html", 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 1935
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1935, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1935, $this->source); })()), "pw", [], "any", false, false, false, 1935) == $context["pw_val"])) || (twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 1935, $this->source); })())) == 1))) {
echo "checked";
}
// line 1936
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.', 1936, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"pw3_";
// line 1937
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1937, $this->source); })()), "html", 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 1940
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 1944
echo "
\t\t\t\t\t\t\t";
// line 1945
if ((((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1945, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1945, $this->source); })()))) && (twig_join_filter((isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1945, $this->source); })())) != ""))) {
// line 1946
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 1950
$context["idx"] = 0;
// line 1951
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.', 1951, $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.', 1951, $this->source); })()) + 1);
// line 1952
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 1953
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1953, $this->source); })()), "html", 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 1954
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1954, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1954, $this->source); })()), "pd", [], "any", false, false, false, 1954) == $context["pd_val"])) || (twig_length_filter($this->env, (isset($context["p_d"]) || array_key_exists("p_d", $context) ? $context["p_d"] : (function () { throw new RuntimeError('Variable "p_d" does not exist.', 1954, $this->source); })())) == 1))) {
echo "checked";
}
// line 1955
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.', 1955, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"pd3_";
// line 1956
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1956, $this->source); })()), "html", 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 1959
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 1963
echo "
\t\t\t\t\t\t\t";
// line 1964
if ((((isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1964, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1964, $this->source); })()))) && (twig_join_filter((isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1964, $this->source); })())) != ""))) {
// line 1965
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 1969
$context["idx"] = 0;
// line 1970
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.', 1970, $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.', 1970, $this->source); })()) + 1);
// line 1971
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 1972
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1972, $this->source); })()), "html", 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 1973
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1973, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1973, $this->source); })()), "ph", [], "any", false, false, false, 1973) == $context["ph_val"])) || (twig_length_filter($this->env, (isset($context["p_h"]) || array_key_exists("p_h", $context) ? $context["p_h"] : (function () { throw new RuntimeError('Variable "p_h" does not exist.', 1973, $this->source); })())) == 1))) {
echo "checked";
}
// line 1974
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.', 1974, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"ph3_";
// line 1975
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1975, $this->source); })()), "html", 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 1978
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 1982
echo "
\t\t\t\t\t\t\t";
// line 1984
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.', 1984, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1984, $this->source); })()))) && (twig_join_filter((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1984, $this->source); })())) != ""))) {
// line 1985
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 1989
$context["idx"] = 0;
// line 1990
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.', 1990, $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.', 1990, $this->source); })()) + 1);
// line 1991
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 1992
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1992, $this->source); })()), "html", 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 1993
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1993, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 1993, $this->source); })()), "pm", [], "any", false, false, false, 1993) == $context["pm_val"])) || (twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 1993, $this->source); })())) == 1))) {
echo "checked";
}
// line 1994
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.', 1994, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"pm3_";
// line 1995
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 1995, $this->source); })()), "html", 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 1998
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 2002
echo "
\t\t\t\t\t\t\t";
// line 2004
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.', 2004, $this->source); })()) && twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 2004, $this->source); })())))) {
// 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 ";
// line 2009
$context["idx"] = 0;
// line 2010
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.', 2010, $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, 2010))) {
$context["idx"] = ((isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 2010, $this->source); })()) + 1);
// line 2011
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 2012
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 2012, $this->source); })()), "html", null, true);
echo "\" value=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 2012), "html", null, true);
echo "\"
\t\t\t\t\t\t\t ";
// line 2013
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2013, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2013, $this->source); })()), "pc", [], "any", false, false, false, 2013) == twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 2013))) || (twig_length_filter($this->env, (isset($context["color"]) || array_key_exists("color", $context) ? $context["color"] : (function () { throw new RuntimeError('Variable "color" does not exist.', 2013, $this->source); })())) == 1))) {
echo "checked";
}
// line 2014
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.', 2014, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"cc3_";
// line 2015
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 2015, $this->source); })()), "html", null, true);
echo "\">";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["cc"], "name", [], "array", false, false, false, 2015), "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 2018
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 2022
echo "
\t\t\t\t\t\t\t";
// line 2024
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 2028
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "daisu", [], "any", true, true, false, 2028)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "daisu", [], "any", false, false, false, 2028), "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 2039
echo "
\t\t\t\t\t\t<!-- 4: 施工見積(フェンス・組み立て式) -->
\t\t\t\t\t\t";
// line 2041
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.', 2041, $this->source); })()), "SaleType", [], "any", false, false, false, 2041), "id", [], "any", false, false, false, 2041) == 4)) {
// line 2042
echo "
\t\t\t\t\t\t\t";
// line 2044
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 2048
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "maisu", [], "any", true, true, false, 2048)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "maisu", [], "any", false, false, false, 2048), "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 2059
echo "
\t\t\t\t\t\t<!-- 5: 施工見積(ウッドデッキ・タイルデッキ) -->
\t\t\t\t\t\t";
// line 2061
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.', 2061, $this->source); })()), "SaleType", [], "any", false, false, false, 2061), "id", [], "any", false, false, false, 2061) == 5)) {
// line 2062
echo "
\t\t\t\t\t\t\t";
// line 2064
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 2070
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "area", [], "any", true, true, false, 2070)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "area", [], "any", false, false, false, 2070), "")) : ("")), "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 2081
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 2087
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2087, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2087, $this->source); })()), "deck_step", [], "any", false, false, false, 2087) == "必要"))) {
echo "checked";
}
// line 2088
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 2093
if ((( !(isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2093, $this->source); })()) || (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2093, $this->source); })()), "deck_step", [], "any", false, false, false, 2093) == "不要")) || !twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2093, $this->source); })()), "deck_step", [], "any", false, false, false, 2093))) {
echo "checked";
}
// line 2094
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 2102
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 2108
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2108, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2108, $this->source); })()), "deck_fence", [], "any", false, false, false, 2108) == "必要"))) {
echo "checked";
}
// line 2109
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 2114
if ((( !(isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2114, $this->source); })()) || (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2114, $this->source); })()), "deck_fence", [], "any", false, false, false, 2114) == "不要")) || !twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2114, $this->source); })()), "deck_fence", [], "any", false, false, false, 2114))) {
echo "checked";
}
// line 2115
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 2123
echo "
\t\t\t\t\t\t<!-- 6: 施工見積(芝生・枚数・数量買い) -->
\t\t\t\t\t\t";
// line 2125
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.', 2125, $this->source); })()), "SaleType", [], "any", false, false, false, 2125), "id", [], "any", false, false, false, 2125) == 6)) {
// line 2126
echo "
\t\t\t\t\t\t\t";
// line 2128
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.', 2128, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 2128, $this->source); })()))) && (twig_join_filter((isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 2128, $this->source); })())) != ""))) {
// line 2129
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 2133
$context["idx"] = 0;
// line 2134
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.', 2134, $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.', 2134, $this->source); })()) + 1);
// line 2135
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 2136
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 2136, $this->source); })()), "html", 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 2137
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2137, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2137, $this->source); })()), "pm", [], "any", false, false, false, 2137) == $context["pm_val"])) || (twig_length_filter($this->env, (isset($context["p_m"]) || array_key_exists("p_m", $context) ? $context["p_m"] : (function () { throw new RuntimeError('Variable "p_m" does not exist.', 2137, $this->source); })())) == 1))) {
echo "checked";
}
// line 2138
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.', 2138, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"pm6_";
// line 2139
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 2139, $this->source); })()), "html", 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 2142
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 2146
echo "
\t\t\t\t\t\t\t";
// line 2148
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.', 2148, $this->source); })()) && twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 2148, $this->source); })()))) && (twig_join_filter((isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 2148, $this->source); })())) != ""))) {
// line 2149
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 2153
$context["idx"] = 0;
// line 2154
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.', 2154, $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.', 2154, $this->source); })()) + 1);
// line 2155
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 2156
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 2156, $this->source); })()), "html", 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 2157
if ((((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2157, $this->source); })()) && (twig_get_attribute($this->env, $this->source, (isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2157, $this->source); })()), "pw", [], "any", false, false, false, 2157) == $context["pw_val"])) || (twig_length_filter($this->env, (isset($context["p_w"]) || array_key_exists("p_w", $context) ? $context["p_w"] : (function () { throw new RuntimeError('Variable "p_w" does not exist.', 2157, $this->source); })())) == 1))) {
echo "checked";
}
// line 2158
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.', 2158, $this->source); })()), "html", null, true);
echo "');\">
\t\t\t\t\t\t\t <label for=\"pw6_";
// line 2159
echo twig_escape_filter($this->env, (isset($context["idx"]) || array_key_exists("idx", $context) ? $context["idx"] : (function () { throw new RuntimeError('Variable "idx" does not exist.', 2159, $this->source); })()), "html", 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 2162
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 2166
echo "
\t\t\t\t\t\t\t";
// line 2168
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 2174
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "area", [], "any", true, true, false, 2174)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["mitsumori_json"] ?? null), "area", [], "any", false, false, false, 2174), "")) : ("")), "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 2184
echo "
\t\t\t\t\t\t<!-- 9: 商品のみ購入 -->
\t\t\t\t\t\t";
// line 2186
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.', 2186, $this->source); })()), "SaleType", [], "any", false, false, false, 2186), "id", [], "any", false, false, false, 2186) == 9)) {
// line 2187
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 2201
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 2206
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(range(0, 10));
foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
// line 2207
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.', 2207, $this->source); })()) && (twig_length_filter($this->env, (isset($context["op"]) || array_key_exists("op", $context) ? $context["op"] : (function () { throw new RuntimeError('Variable "op" does not exist.', 2207, $this->source); })())) >= ($context["i"] + 1)))) {
// line 2208
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.', 2208, $this->source); })()), $context["i"], [], "array", false, false, false, 2208), "name", [], "array", false, false, false, 2208)) {
// line 2209
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 2210
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.', 2210, $this->source); })()), $context["i"], [], "array", false, false, false, 2210), "name", [], "array", false, false, false, 2210), "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.', 2210, $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.', 2210, $this->source); })()), "op", [], "any", false, false, false, 2210), $context["i"], [], "array", false, false, false, 2210))) {
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.', 2210, $this->source); })()), "op", [], "any", false, false, false, 2210), $context["i"], [], "array", false, false, false, 2210), "html", null, true);
echo "</span>";
}
echo "</div>
\t\t\t\t\t\t\t ";
// line 2211
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.', 2211, $this->source); })()), $context["i"], [], "array", false, false, false, 2211), "comment", [], "array", false, false, false, 2211)) {
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.', 2211, $this->source); })()), $context["i"], [], "array", false, false, false, 2211), "comment", [], "array", false, false, false, 2211), "html", null, true);
echo "</div>";
}
// line 2212
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 2213
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2213, $this->source); })()) && (twig_get_attribute($this->env, $this->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.', 2213, $this->source); })()), "op", [], "any", false, false, false, 2213), $context["i"], [], "array", false, false, false, 2213) == 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.', 2213, $this->source); })()), $context["i"], [], "array", false, false, false, 2213), "on", [], "array", false, false, false, 2213)))) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op";
// line 2214
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 2215
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.', 2215, $this->source); })()), $context["i"], [], "array", false, false, false, 2215), "on", [], "array", false, false, false, 2215), "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.', 2215, $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.', 2215, $this->source); })()), "op", [], "any", false, false, false, 2215), $context["i"], [], "array", false, false, false, 2215) == 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.', 2215, $this->source); })()), $context["i"], [], "array", false, false, false, 2215), "on", [], "array", false, false, false, 2215)))) {
echo "checked";
}
echo ">
\t\t\t\t\t\t\t ";
// line 2216
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.', 2216, $this->source); })()), $context["i"], [], "array", false, false, false, 2216), "on", [], "array", false, false, false, 2216), "html", null, true);
echo "
\t\t\t\t\t\t\t </label>
\t\t\t\t\t\t\t <label class=\"opt-btn";
// line 2218
if (((isset($context["mitsumori_json"]) || array_key_exists("mitsumori_json", $context) ? $context["mitsumori_json"] : (function () { throw new RuntimeError('Variable "mitsumori_json" does not exist.', 2218, $this->source); })()) && (twig_get_attribute($this->env, $this->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.', 2218, $this->source); })()), "op", [], "any", false, false, false, 2218), $context["i"], [], "array", false, false, false, 2218) == 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.', 2218, $this->source); })()), $context["i"], [], "array", false, false, false, 2218), "off", [], "array", false, false, false, 2218)))) {
echo " is-selected";
}
echo "\"
\t\t\t\t\t\t\t onclick=\"mitsumori_simulation('op";
// line 2219
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 2220
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.', 2220, $this->source); })()), $context["i"], [], "array", false, false, false, 2220), "off", [], "array", false, false, false, 2220), "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.', 2220, $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.', 2220, $this->source); })()), "op", [], "any", false, false, false, 2220), $context["i"], [], "array", false, false, false, 2220) == 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.', 2220, $this->source); })()), $context["i"], [], "array", false, false, false, 2220), "off", [], "array", false, false, false, 2220)))) {
echo "checked";
}
echo ">
\t\t\t\t\t\t\t ";
// line 2221
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.', 2221, $this->source); })()), $context["i"], [], "array", false, false, false, 2221), "off", [], "array", false, false, false, 2221), "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 2226
echo "\t\t\t\t\t\t\t";
}
// line 2227
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 2228
echo "
\t\t\t\t\t </div>
\t\t\t\t\t <!-- /.card-body -->
\t\t\t\t\t</div>
<form action=\"";
// line 2234
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_add_cart", ["id" => twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 2234, $this->source); })()), "id", [], "any", false, false, false, 2234)]), "html", null, true);
echo "\" method=\"post\" id=\"form1\" name=\"form1\">
";
// line 2235
if (twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 2235, $this->source); })()), "stock_find", [], "any", false, false, false, 2235)) {
// line 2236
echo " <div class=\"ec-productRole__actions\">
";
// line 2237
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id1", [], "any", true, true, false, 2237)) {
// line 2238
echo " <div class=\"ec-select\">
";
// line 2239
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 2239, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 2239), 'row');
echo "
";
// line 2240
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 2240, $this->source); })()), "classcategory_id1", [], "any", false, false, false, 2240), 'errors');
echo "
</div>
";
// line 2242
if (twig_get_attribute($this->env, $this->source, ($context["form"] ?? null), "classcategory_id2", [], "any", true, true, false, 2242)) {
// line 2243
echo " <div class=\"ec-select\">
";
// line 2244
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 2244, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 2244), 'row');
echo "
";
// line 2245
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 2245, $this->source); })()), "classcategory_id2", [], "any", false, false, false, 2245), 'errors');
echo "
</div>
";
}
// line 2248
echo " ";
}
// line 2249
echo " <div class=\"ec-numberInput\">
";
// line 2250
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 2250, $this->source); })()), "quantity", [], "any", false, false, false, 2250), 'widget', ["type" => "hidden"]);
echo "
";
// line 2251
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env, $this->source, (isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 2251, $this->source); })()), "quantity", [], "any", false, false, false, 2251), 'errors');
echo "
</div>
</div>
";
} else {
// line 2256
echo " <div class=\"ec-productRole__btn\">
<button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
";
// line 2258
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ただいま品切れ中です。"), "html", null, true);
echo "
</button>
</div>
";
}
// line 2262
echo " <div class=\"ec-productRole__btn mt-3\">
<button type=\"submit\" id=\"cart_btn\" class=\"ec-blockBtn--action add-cart\">施工検討リストに入れる</button>
</div>
";
// line 2265
echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["form"]) || array_key_exists("form", $context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.', 2265, $this->source); })()), 'rest');
echo "
</form>
<div class=\"ec-modal add-cart-modal\">
<div class=\"ec-modal-overlay\">
<div class=\"ec-modal-wrap add-cart-modal__wrap\">
<span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"";
// line 2270
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 add-cart-modal__header\">";
// line 2271
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("施工検討リストに追加しました。"), "html", null, true);
echo "</div>
<div class=\"ec-modal-box add-cart-modal__box\">
<div class=\"ec-role add-cart-modal__actions\">
<a href=\"";
// line 2274
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("cart");
echo "\" class=\"ec-inlineBtn--action add-cart-modal__primary\">";
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("施工検討リストへ進む"), "html", null, true);
echo "</a>
<span class=\"ec-inlineBtn--cancel add-cart-modal__secondary\">";
// line 2275
echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("商品検索を続ける"), "html", null, true);
echo "</span>
</div>
</div>
</div>
</div>
</div>
<div class=\"ec-productRole__description\">";
// line 2281
echo twig_nl2br(twig_get_attribute($this->env, $this->source, (isset($context["Product"]) || array_key_exists("Product", $context) ? $context["Product"] : (function () { throw new RuntimeError('Variable "Product" does not exist.', 2281, $this->source); })()), "description_detail", [], "any", false, false, false, 2281));
echo "
</div>
";
// line 2285
echo " <div class=\"ec-productRole__share\">
<ul class=\"ec-share\">
<li class=\"ec-share__item\">
<a href=\"https://twitter.com/share?url=";
// line 2288
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.', 2288, $this->source); })()), "request", [], "any", false, false, false, 2288), "uri", [], "any", false, false, false, 2288)), "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.', 2288, $this->source); })()), "name", [], "any", false, false, false, 2288)), "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 2293
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.', 2293, $this->source); })()), "request", [], "any", false, false, false, 2293), "uri", [], "any", false, false, false, 2293)), "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 2298
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.', 2298, $this->source); })()), "request", [], "any", false, false, false, 2298), "uri", [], "any", false, false, false, 2298)), "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 2306
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 <i class=\"fas fa-shopping-cart\"></i>
\t\t\t\t <span class=\"sp-bar__btn-label\">検討リストへ</span>
\t\t\t\t ";
// line 2315
$context["spTotalQty"] = $this->extensions['Eccube\Twig\Extension\CartServiceExtension']->get_carts_total_quantity();
// line 2316
echo "\t\t\t\t ";
if (((isset($context["spTotalQty"]) || array_key_exists("spTotalQty", $context) ? $context["spTotalQty"] : (function () { throw new RuntimeError('Variable "spTotalQty" does not exist.', 2316, $this->source); })()) > 0)) {
// line 2317
echo "\t\t\t\t <span class=\"sp-bar__cart-badge\">";
echo twig_escape_filter($this->env, twig_number_format_filter($this->env, (isset($context["spTotalQty"]) || array_key_exists("spTotalQty", $context) ? $context["spTotalQty"] : (function () { throw new RuntimeError('Variable "spTotalQty" does not exist.', 2317, $this->source); })())), "html", null, true);
echo "</span>
\t\t\t\t ";
}
// line 2319
echo "\t\t\t\t </button>
\t\t\t\t <a href=\"";
// line 2320
echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
echo "\" class=\"sp-bar__home-btn\" title=\"トップページへ\">
\t\t\t\t <i class=\"fas fa-home\"></i>
\t\t\t\t </a>
\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 2524
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 2525
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 ( 4372 => 2525, 4367 => 2524, 4161 => 2320, 4158 => 2319, 4152 => 2317, 4149 => 2316, 4147 => 2315, 4136 => 2306, 4126 => 2298, 4118 => 2293, 4108 => 2288, 4103 => 2285, 4097 => 2281, 4088 => 2275, 4082 => 2274, 4076 => 2271, 4072 => 2270, 4064 => 2265, 4059 => 2262, 4052 => 2258, 4048 => 2256, 4040 => 2251, 4036 => 2250, 4033 => 2249, 4030 => 2248, 4024 => 2245, 4020 => 2244, 4017 => 2243, 4015 => 2242, 4010 => 2240, 4006 => 2239, 4003 => 2238, 4001 => 2237, 3998 => 2236, 3996 => 2235, 3992 => 2234, 3984 => 2228, 3978 => 2227, 3975 => 2226, 3967 => 2221, 3955 => 2220, 3949 => 2219, 3943 => 2218, 3938 => 2216, 3926 => 2215, 3920 => 2214, 3914 => 2213, 3911 => 2212, 3905 => 2211, 3896 => 2210, 3893 => 2209, 3890 => 2208, 3887 => 2207, 3883 => 2206, 3876 => 2201, 3860 => 2187, 3858 => 2186, 3854 => 2184, 3841 => 2174, 3833 => 2168, 3830 => 2166, 3824 => 2162, 3812 => 2159, 3807 => 2158, 3803 => 2157, 3797 => 2156, 3794 => 2155, 3787 => 2154, 3785 => 2153, 3779 => 2149, 3776 => 2148, 3773 => 2146, 3767 => 2142, 3755 => 2139, 3750 => 2138, 3746 => 2137, 3740 => 2136, 3737 => 2135, 3730 => 2134, 3728 => 2133, 3722 => 2129, 3719 => 2128, 3716 => 2126, 3714 => 2125, 3710 => 2123, 3700 => 2115, 3696 => 2114, 3689 => 2109, 3685 => 2108, 3677 => 2102, 3668 => 2094, 3664 => 2093, 3657 => 2088, 3653 => 2087, 3645 => 2081, 3632 => 2070, 3624 => 2064, 3621 => 2062, 3619 => 2061, 3615 => 2059, 3601 => 2048, 3595 => 2044, 3592 => 2042, 3590 => 2041, 3586 => 2039, 3572 => 2028, 3566 => 2024, 3563 => 2022, 3557 => 2018, 3545 => 2015, 3540 => 2014, 3536 => 2013, 3530 => 2012, 3527 => 2011, 3520 => 2010, 3518 => 2009, 3512 => 2005, 3509 => 2004, 3506 => 2002, 3500 => 1998, 3488 => 1995, 3483 => 1994, 3479 => 1993, 3473 => 1992, 3470 => 1991, 3463 => 1990, 3461 => 1989, 3455 => 1985, 3452 => 1984, 3449 => 1982, 3443 => 1978, 3431 => 1975, 3426 => 1974, 3422 => 1973, 3416 => 1972, 3413 => 1971, 3406 => 1970, 3404 => 1969, 3398 => 1965, 3396 => 1964, 3393 => 1963, 3387 => 1959, 3375 => 1956, 3370 => 1955, 3366 => 1954, 3360 => 1953, 3357 => 1952, 3350 => 1951, 3348 => 1950, 3342 => 1946, 3340 => 1945, 3337 => 1944, 3331 => 1940, 3319 => 1937, 3314 => 1936, 3310 => 1935, 3304 => 1934, 3301 => 1933, 3294 => 1932, 3292 => 1931, 3286 => 1927, 3283 => 1926, 3280 => 1924, 3278 => 1923, 3274 => 1921, 3267 => 1916, 3252 => 1914, 3248 => 1913, 3242 => 1909, 3239 => 1907, 3233 => 1903, 3227 => 1902, 3219 => 1899, 3214 => 1898, 3210 => 1897, 3204 => 1896, 3201 => 1895, 3198 => 1894, 3195 => 1893, 3190 => 1892, 3188 => 1891, 3182 => 1887, 3179 => 1886, 3176 => 1884, 3170 => 1880, 3164 => 1879, 3156 => 1876, 3151 => 1875, 3147 => 1874, 3141 => 1873, 3138 => 1872, 3135 => 1871, 3132 => 1870, 3127 => 1869, 3125 => 1868, 3119 => 1864, 3116 => 1863, 3107 => 1856, 3097 => 1849, 3090 => 1844, 3087 => 1842, 3085 => 1841, 3081 => 1839, 3078 => 1838, 3076 => 1837, 3072 => 1835, 3067 => 1832, 3057 => 1829, 3051 => 1828, 3045 => 1827, 3041 => 1826, 3034 => 1825, 3027 => 1824, 3025 => 1823, 3016 => 1821, 3013 => 1820, 3011 => 1819, 3008 => 1818, 3003 => 1815, 2993 => 1812, 2987 => 1811, 2981 => 1810, 2977 => 1809, 2970 => 1808, 2963 => 1807, 2961 => 1806, 2952 => 1804, 2949 => 1803, 2947 => 1802, 2944 => 1801, 2939 => 1798, 2929 => 1795, 2923 => 1794, 2917 => 1793, 2913 => 1792, 2906 => 1791, 2899 => 1790, 2897 => 1789, 2888 => 1787, 2885 => 1786, 2883 => 1785, 2880 => 1784, 2875 => 1781, 2865 => 1778, 2859 => 1777, 2853 => 1776, 2849 => 1775, 2842 => 1774, 2835 => 1773, 2833 => 1772, 2824 => 1770, 2821 => 1769, 2819 => 1768, 2816 => 1767, 2811 => 1764, 2801 => 1761, 2795 => 1760, 2789 => 1759, 2785 => 1758, 2778 => 1757, 2771 => 1756, 2769 => 1755, 2760 => 1753, 2757 => 1752, 2755 => 1751, 2749 => 1747, 2745 => 1745, 2741 => 1743, 2732 => 1740, 2726 => 1739, 2722 => 1738, 2718 => 1737, 2711 => 1736, 2707 => 1735, 2704 => 1734, 2702 => 1733, 2698 => 1731, 2689 => 1728, 2685 => 1727, 2681 => 1726, 2674 => 1724, 2670 => 1723, 2666 => 1722, 2659 => 1721, 2655 => 1720, 2652 => 1719, 2650 => 1718, 2648 => 1717, 2639 => 1716, 2636 => 1715, 2633 => 1714, 2630 => 1712, 2626 => 1710, 2622 => 1708, 2613 => 1705, 2607 => 1704, 2603 => 1703, 2599 => 1702, 2592 => 1701, 2588 => 1700, 2585 => 1699, 2581 => 1697, 2572 => 1694, 2566 => 1691, 2562 => 1690, 2555 => 1688, 2551 => 1687, 2547 => 1686, 2540 => 1685, 2536 => 1684, 2533 => 1683, 2531 => 1682, 2522 => 1681, 2519 => 1680, 2516 => 1679, 2513 => 1677, 2509 => 1675, 2505 => 1673, 2496 => 1670, 2490 => 1669, 2486 => 1668, 2482 => 1667, 2475 => 1666, 2471 => 1665, 2468 => 1664, 2464 => 1662, 2455 => 1659, 2449 => 1656, 2445 => 1655, 2438 => 1653, 2434 => 1652, 2430 => 1651, 2423 => 1650, 2419 => 1649, 2416 => 1648, 2414 => 1647, 2405 => 1646, 2402 => 1645, 2399 => 1644, 2396 => 1642, 2392 => 1640, 2388 => 1638, 2379 => 1635, 2373 => 1634, 2369 => 1633, 2365 => 1632, 2358 => 1631, 2354 => 1630, 2351 => 1629, 2349 => 1628, 2345 => 1626, 2336 => 1623, 2330 => 1620, 2326 => 1619, 2319 => 1617, 2315 => 1616, 2311 => 1615, 2304 => 1614, 2300 => 1613, 2297 => 1612, 2295 => 1611, 2293 => 1610, 2284 => 1609, 2281 => 1608, 2278 => 1607, 2275 => 1605, 2271 => 1603, 2268 => 1602, 2266 => 1601, 2265 => 1600, 2264 => 1599, 2262 => 1598, 2259 => 1597, 2256 => 1596, 2253 => 1595, 2250 => 1594, 2247 => 1593, 2244 => 1592, 2241 => 1591, 2238 => 1590, 2236 => 1589, 2234 => 1588, 2222 => 1579, 2215 => 1574, 2203 => 1571, 2200 => 1570, 2197 => 1569, 2194 => 1567, 2183 => 1565, 2179 => 1564, 2176 => 1563, 2173 => 1561, 2167 => 1558, 2163 => 1557, 2160 => 1556, 2157 => 1555, 2151 => 1552, 2145 => 1551, 2142 => 1550, 2136 => 1547, 2132 => 1546, 2129 => 1545, 2127 => 1544, 2125 => 1543, 2121 => 1541, 2119 => 1540, 2115 => 1538, 2107 => 1535, 2092 => 1533, 2083 => 1532, 2066 => 1531, 2062 => 1529, 2058 => 1528, 2055 => 1527, 2052 => 1526, 2039 => 1515, 2025 => 1503, 2019 => 1498, 2000 => 1496, 1983 => 1495, 1979 => 1493, 1968 => 1491, 1946 => 1489, 1928 => 1488, 1925 => 1487, 1921 => 1485, 1913 => 1481, 1905 => 1477, 1903 => 1476, 1900 => 1475, 1898 => 1474, 1888 => 1467, 1876 => 1460, 1871 => 1458, 1867 => 1456, 1861 => 1451, 1851 => 1450, 1835 => 1443, 1831 => 1442, 1827 => 1441, 1823 => 1440, 1819 => 1438, 1813 => 1436, 1811 => 1435, 1806 => 1434, 1803 => 1433, 1793 => 1431, 1779 => 1429, 1771 => 1428, 1753 => 1427, 1748 => 1425, 1647 => 1331, 1639 => 1330, 1586 => 1280, 1475 => 1172, 1470 => 1169, 1467 => 1168, 1454 => 1167, 1451 => 1166, 1449 => 1165, 1446 => 1164, 1443 => 1163, 1430 => 1162, 1427 => 1161, 1425 => 1160, 1422 => 1159, 1419 => 1158, 1406 => 1157, 1403 => 1156, 1401 => 1155, 1398 => 1154, 1395 => 1153, 1382 => 1152, 1379 => 1151, 1377 => 1150, 1374 => 1149, 1371 => 1148, 1358 => 1147, 1355 => 1146, 1353 => 1145, 1324 => 1119, 1312 => 1110, 1148 => 949, 1138 => 944, 1132 => 943, 1126 => 942, 1120 => 941, 1114 => 940, 1108 => 939, 1102 => 938, 1096 => 937, 1090 => 936, 1084 => 935, 1078 => 934, 1072 => 933, 1066 => 932, 1060 => 931, 1054 => 930, 1048 => 929, 1028 => 912, 1018 => 905, 988 => 878, 976 => 868, 967 => 862, 963 => 860, 961 => 859, 958 => 858, 949 => 852, 945 => 850, 943 => 849, 871 => 779, 863 => 777, 861 => 776, 856 => 774, 853 => 773, 851 => 772, 837 => 761, 833 => 759, 823 => 758, 73 => 16, 63 => 15, 52 => 11, 50 => 13, 37 => 11,);
}
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;
position: relative;
display: inline-flex;
align-items: center;
gap: 6px;
}
#sp-mitsumori-bar .sp-bar__btn i {
font-size: 14px;
}
#sp-mitsumori-bar .sp-bar__cart-badge {
position: absolute;
top: -6px;
right: -6px;
background: #c00;
color: #fff;
border-radius: 50%;
min-width: 16px;
height: 16px;
font-size: 10px;
line-height: 16px;
padding: 0 4px;
font-weight: bold;
}
#sp-mitsumori-bar .sp-bar__home-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border: 1px solid #ccc;
border-radius: 6px;
background: #fff;
color: #333;
text-decoration: none;
cursor: pointer;
}
#sp-mitsumori-bar .sp-bar__home-btn i {
font-size: 16px;
}
#sp-mitsumori-bar .sp-bar__home-btn:hover {
background: #f0f0f0;
}
/* 下部バーの高さ分ページ下部にpaddingを追加 */
body {
padding-bottom: 64px;
}
}
/* ============================================
カート追加モーダル: 縦並び中央配置
============================================ */
.add-cart-modal__wrap {
text-align: center;
}
.add-cart-modal__header {
font-size: 16px;
margin: 20px 0 24px;
text-align: center;
}
.add-cart-modal__actions {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
padding: 0 20px 20px;
}
.add-cart-modal__primary {
display: inline-block;
width: 80%;
max-width: 320px;
padding: 14px 20px;
font-size: 15px;
font-weight: bold;
text-align: center;
background: #d9534f;
color: #fff !important;
border-radius: 6px;
text-decoration: none;
cursor: pointer;
}
.add-cart-modal__primary:hover {
background: #c9302c;
color: #fff !important;
text-decoration: none;
}
.add-cart-modal__secondary {
display: inline-block;
padding: 6px 14px;
font-size: 12px;
color: #666;
border: 1px solid #ccc;
border-radius: 4px;
background: #fff;
cursor: pointer;
}
.add-cart-modal__secondary:hover {
background: #f0f0f0;
color: #333;
}
@media (max-width: 767px) {
.add-cart-modal__actions {
gap: 20px;
}
}
</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 add-cart-modal\">
<div class=\"ec-modal-overlay\">
<div class=\"ec-modal-wrap add-cart-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 add-cart-modal__header\">{{ '施工検討リストに追加しました。'|trans }}</div>
<div class=\"ec-modal-box add-cart-modal__box\">
<div class=\"ec-role add-cart-modal__actions\">
<a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action add-cart-modal__primary\">{{ '施工検討リストへ進む'|trans }}</a>
<span class=\"ec-inlineBtn--cancel add-cart-modal__secondary\">{{ '商品検索を続ける'|trans }}</span>
</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 <i class=\"fas fa-shopping-cart\"></i>
\t\t\t\t <span class=\"sp-bar__btn-label\">検討リストへ</span>
\t\t\t\t {% set spTotalQty = get_carts_total_quantity() %}
\t\t\t\t {% if spTotalQty > 0 %}
\t\t\t\t <span class=\"sp-bar__cart-badge\">{{ spTotalQty|number_format }}</span>
\t\t\t\t {% endif %}
\t\t\t\t </button>
\t\t\t\t <a href=\"{{ url('homepage') }}\" class=\"sp-bar__home-btn\" title=\"トップページへ\">
\t\t\t\t <i class=\"fas fa-home\"></i>
\t\t\t\t </a>
\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");
}
}