Index: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php	(revision 19862)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php	(revision 19868)
@@ -118,7 +118,5 @@
                         }
                         $sqlval[$other_deliv_id]['deliv_id'] = $objPurchase->getDeliv($this->cartKey);
-                        $sqlval[$other_deliv_id]['shipment_item'][$params['product_class_id' . $i]]['shipping_id'] = $other_deliv_id;
-                        $sqlval[$other_deliv_id]['shipment_item'][$params['product_class_id' . $i]]['quantity'] += $params['quantity' . $i];
-                        $sqlval[$other_deliv_id]['shipment_item'][$params['product_class_id' . $i]]['product_class_id'] = $params['product_class_id' . $i];
+                        $objPurchase->setShipmentItemTemp($other_deliv_id, $params['product_class_id' . $i], $params['quantity' . $i]);
                         $i++;
                     }
Index: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php	(revision 19861)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php	(revision 19868)
@@ -79,4 +79,6 @@
         $objPurchase = new SC_Helper_Purchase_Ex();
 
+        $this->isMultiple = $objPurchase->isMultiple();
+
         // 前のページで正しく登録手続きが行われた記録があるか判定
         SC_Utils_Ex::sfIsPrePage($objSiteSess);
@@ -128,4 +130,6 @@
         $this->payment_type = $payment_type;
 
+        $this->shipping = $objPurchase->getShippingTemp();
+
         if (!isset($_POST['mode'])) $_POST['mode'] = "";
 
@@ -143,6 +147,4 @@
 
             // 集計結果を受注一時テーブルに反映
-            unset($arrData[0]); // FIXME
-            unset($arrData[1]);
             $objPurchase->saveOrderTemp($uniqid, $arrData, $objCustomer);
             // 正常に登録されたことを記録しておく
Index: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	(revision 19861)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	(revision 19868)
@@ -54,4 +54,6 @@
         $this->tpl_onload = "fnCheckInputPoint(); fnSetDelivTime('payment','payment_id','deliv_time_id');";
         $this->tpl_title = "お支払方法・お届け時間等の指定";
+        $masterData = new SC_DB_MasterData();
+        $this->arrPref = $masterData->getMasterData('mtb_pref');
     }
 
@@ -78,4 +80,7 @@
         $objPurchase = new SC_Helper_Purchase_Ex();
         $this->objCustomer = new SC_Customer();
+
+        $this->shipping =& $objPurchase->getShippingTemp();
+        $this->isMultiple = $objPurchase->isMultiple();
 
         // パラメータ管理クラス
@@ -366,8 +371,11 @@
         $this->objFormParam->addParam("お支払い方法", "payment_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
         $this->objFormParam->addParam("ポイント", "use_point", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK", "ZERO_START"));
-        $this->objFormParam->addParam("お届け時間", "deliv_time_id", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
         $this->objFormParam->addParam("ご質問", "message", LTEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
         $this->objFormParam->addParam("ポイントを使用する", "point_check", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), '2');
-        $this->objFormParam->addParam("お届け日", "deliv_date", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
+
+        for ($i = 0; $i < count($this->shipping); $i++) {
+            $this->objFormParam->addParam("お届け時間", "deliv_time_id" . $i, INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+            $this->objFormParam->addParam("お届け日", "deliv_date" . $i, STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
+        }
     }
 
Index: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php	(revision 19862)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php	(revision 19868)
@@ -219,4 +219,5 @@
 
         default:
+            //$objPurchase->unsetShippingTemp();
             $arrOrderTemp = $objPurchase->getOrderTemp($uniqid);
             if (empty($arrOrderTemp)) $arrOrderTemp = array("");
Index: branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	(revision 19862)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	(revision 19868)
@@ -79,4 +79,5 @@
             }
         }
+
         $this->registerShipping($orderId, $shippingTemp);
         $objQuery->commit();
@@ -188,17 +189,34 @@
 
     /**
+     * 配送商品を設定する.
+     */
+    function setShipmentItemTemp($otherDelivId, $productClassId, $quantity) {
+        $_SESSION['shipping'][$otherDelivId]['shipment_item'][$productClassId]['shipping_id'] = $otherDelivId;
+        $_SESSION['shipping'][$otherDelivId]['shipment_item'][$productClassId]['product_class_id'] = $productClassId;
+        $_SESSION['shipping'][$otherDelivId]['shipment_item'][$productClassId]['quantity'] += $quantity;
+
+        $objProduct = new SC_Product();
+        if (empty($_SESSION['shipping'][$otherDelivId]['shipment_item'][$productClassId]['productsClass'])) {
+            $product = $objProduct->getDetailAndProductsClass($productClassId);
+            $_SESSION['shipping'][$otherDelivId]['shipment_item'][$productClassId]['productsClass'] = $product;
+        }
+        $incTax = SC_Helper_DB_Ex::sfCalcIncTax($_SESSION['shipping'][$otherDelivId]['shipment_item'][$productClassId]['productsClass']['price02']);
+        $_SESSION['shipping'][$otherDelivId]['shipment_item'][$productClassId]['total_inctax'] = $incTax * $_SESSION['shipping'][$otherDelivId]['shipment_item'][$productClassId]['quantity'];
+    }
+
+    /**
+     * 複数配送指定の購入かどうか.
+     *
+     * @return boolean 複数配送指定の購入の場合 true
+     */
+    function isMultiple() {
+        return (count($this->getShippingTemp()) > 1);
+    }
+
+    /**
      * 配送情報をセッションに保存する.
      */
-    function saveShippingTemp(&$src, $other_deliv_id = 0,
-                              $keys = array('name01', 'name02', 'kana01', 'kana02',
-                                            'sex', 'zip01', 'zip02', 'pref',
-                                            'addr01', 'addr02',
-                                            'tel01', 'tel02', 'tel03'),
-                              $prefix = 'shipping') {
-        $dest = array();
-        foreach ($keys as $key) {
-            $dest[$prefix . '_' . $key] = $src[$prefix . '_' . $key];
-        }
-        $_SESSION['shipping'][$other_deliv_id] = $src;
+    function saveShippingTemp(&$src, $otherDelivId = 0) {
+        $_SESSION['shipping'][$otherDelivId] = array_merge($_SESSION['shipping'][$otherDelivId], $src);
     }
 
