a:6:{i:0;s:12939:"				<div class="h1"><h1>A Japanese Journey Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.pragyatravels.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.pragyatravels.com/tour-packages.htm" title="Packages">Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>A Japanese Journey Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						6 Nights / 7 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Tokyo, Kyoto, Hakone</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.pragyatravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="A Japanese Journey Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="68540"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_15/434232/124769.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_15/434232/124769.jpg"  width="150" height="150"    alt="A Japanese Journey Tour" title="A Japanese Journey Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
											<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Tokyo
								</p>
								<p class="aj">Fly USA to Tokyo.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Welcome to Tokyo, Japan
								</p>
								<p class="aj">Upon arrival, you will clear customs and immigration before being transferred to your hotel.<br />
<br />
From its bright billboards and crowded sidewalks, one could confuse Tokyo for New York City, but hiding in the shadows of the skyscrapers, neatly-clipped bonsai trees frame ancient wooden houses and kimono-clad women shuffle down narrow streets. Pass spring days under a pink cloud of fragrant cherry blossoms in Ueno Park, or awake early to witness the madness of a tuna auction at Tsukiji Fish Market. Sail down the Sumida River and make a grand entrance at Sensoji, Tokyo�s oldest temple, or feast your eyes on the world�s largest collection of Japanese art at the Tokyo National Museum.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Dynamic Tokyo
								</p>
								<p class="aj">Your first stop today is the observation deck of the Tokyo Tower where you can get sweeping 360� views across the city and on a clear morning even Mount Fuji. Tokyo Tower is 1,091 ft / 333 m tall, making it the tallest man-made structure in Japan. Visit Happo-en Garden, embodies Japan's history of celebrating each of the four seasons. At a garden tea room witness a tea ceremony demonstration (or sado 'the way of tea'), a traditional ritual influenced by Zen Buddhism in which powdered green tea is ceremonially prepared by a skilled practitioner.<br />
<br />
Following a barbeque-style lunch at Chinzan-so Restaurant, drive by the Diet - Japan's parliamentary seat of power. Heading to the center of the city now you will stop at the large plaza in front of the Imperial Palace, where you can view the Nijubashi (two bridges that form an entrance to the inner palace grounds). The palace buildings and inner gardens are not open to the public.<br />
<br />
Then enjoy a forty-minute Sumida River boat ride from Hinode pier to Asakusa. The river was the most important waterway for the development of Tokyo, and sights along the way include the twelve bridges of Sumida, the traditional neighborhoods of old Edo. Back on land the Asaukusa Kannon Temple - or Senso-ji - is a few minutes walk away. It is Tokyo's oldest temple, and one of its most significant. Adjacent to the temple is a Shinto shrine, the Asakusa Jinja and entrance to the temple is through the Nakamise shopping arcade, one of the oldest arcades in Japan dating back to the 17th century, selling toys, sweets, snacks and souvenirs.<br />
<br />
Return to the central Tokyo again with a drive through the famous Ginza, Tokyo's Fifth Avenue.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Tokyo to Hakone (Via Mount Fuji)
								</p>
								<p class="aj">Depart for Hakone by coach, en route drive halfway up to Mt Fuji and stop at 5th station. You will enjoy a western style lunch at a local restaurant. Upon arrival in Hakone, you will take a mini cruise on Lake Ashi, and take a cable car ride to Mt Komagatake. At the top of the mountain, you will have spectacular views of Mt Fuji and Hakone National Park.<br />
<br />
Hakone is a favorite weekend getaway for Tokyoites, offering everything from hot-spring resorts to magnificent views of Mount Fuji. Getting to Hakone is an experience in itself. Depart Tokyo on a high speed train, switch to a small mountain tram, and zigzag through forests and over streams. Enjoy unbelievable views as you ride a cable car and skim across Lake Ashi by boat before entering an alpine wonderland.<br />
<br />
After enjoying the sights of Hakone, relax in the hot spring baths.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Bullet train to Kyoto
								</p>
								<p class="aj">Experience a ride on a �Shinkansen� (Bullet train) as you journey to Kyoto. The distance is 430 miles.<br />
<br />
With its Zen rock gardens and air of tradition, Kyoto is a city for lovers. Young couples drift down the Oi River in wooden boats glowing with red lanterns while older sweethearts stroll along the narrow streets of historic Eastern Kyoto. As home to 20% of Japan�s national treasures, Kyoto is a massive museum.<br />
<br />
The city boasts an impressive catalog of 1,700 well-preserved Buddhist temples and 300 Shinto shrines. Kinkakuji, the Temple of the Golden Pavilion, is one of Kyoto�s most famous and elaborate attractions. Featuring a three-story pavilion covered in gold-leaf and crowned by a phoenix, one has to shade their eyes from its brilliance. Rivaling this luster is Nara�s Great Buddha, Daibutsu, one of the largest bronze statues in the world containing 286 pounds of pure gold.<br />
<br />
For a trip back in time this is the perfect place to stay at a traditional ryokan. While the experience is not inexpensive when compared with some hotel options, it is certainly a unique way to experience the simplistic beauty of genuine Japan. Gleaming polished wood, tatami floors, rice-paper sliding doors, meticulously groomed gardens, and kimono-clad hostesses will all ensure this cultural insight is an absolute highlight of your visit.<br />
<br />
Nara tour<br />
This afternoon you will visit Todaiji Temple with its huge Image of Buddha; Sacred Deer Park; and Kasuga Shinto Shrine famous for its hundreds of stone lanterns.<br />
<br />
Buddhism gained a foothold in Japan after monks from the Korean kingdom of Paekche introduced the faith to the Japanese court. It quickly won an influential following, reaching the highest circles of imperial power by the 7th century. In 685 the Emperor Temmu ordered that every family throughout the land should establish a Buddhist Altar. His descendent Prince Shotuku went further, decreeing that a national branch temple be built in every province. Two years later, in 743, he ordered the construction of a grand national temple to oversee them all. Todaiji was the result.<br />
<br />
Completed in just four years by 751, Todaiji was truly a wonder of the world. It housed the largest wooden building the world has yet seen. Even the 2/3 scale reconstruction, finished in the 17th century, it remains the largest wooden building on earth today.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Kyoto city tour
								</p>
								<p class="aj">Please assemble in your hotel lobby to start a morning tour of Kyoto. Today you will discover the historical sites of this interesting city. The first site will be the Nijo Castle, the old residence of the Shogun, followed by the famous golden pavilions at the Kinkakuji Temple, the Higashi Honganji, and finishing at the Kyoto handicraft Center.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 7:</b> USA
								</p>
								<p class="aj">Fly Kyoto to USA.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.pragyatravels.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="A Japanese Journey Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="button p7px pl12px pr12px c5px b large dib mt10px">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="68540"/>
						</form>
						</div>
						
						";i:1;s:62:"Book A Japanese Journey Tour - 6 Nights / 7 Days Tour Packages";i:2;s:122:"book a japanese journey tour - 6 nights / 7 days tour packages, heritage tour packages, tokyo, kyoto, hakone tour packages";i:3;s:149:"Pr Travels offers A Japanese Journey Tour - 6 Nights / 7 Days tour package, budget Heritage tour packages for Tokyo, Kyoto, Hakone at exciting price.";i:4;s:415:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Tokyo, Kyoto, Hakone"        
		                 },
		      "description": "",
		      "name": "A Japanese Journey Tour",
		      "telephone": "+91-7060220730"
		    }
		    </script>
			";i:5;N;}