

/*

Detail ============================================

*/

#main > div {
	margin-top: 30px;
}

#main > div:first-child {
	margin-top: 0;
}

#side.fixed {
    position: fixed;
    top: 10px;
    z-index: 10000;
}


/* module-title_detail ------------------------------*/

#main .module-title_detail {
	border-top: 4px solid #333333;
	padding-top: 15px;
	position: relative;
	z-index: 2;
}
	#main .module-title_detail h2 {
		font-size: 138.5%;
		width: 560px;
	}
	#main .module-title_detail > ul {
		position: absolute;
		right: 10px;
		top:19px;
		text-align: right;
	}
	#main .module-title_detail > ul > li {
		display: inline;
		margin-left: 20px;
	}
	#main .module-title_detail > ul >  li >  a {
		display: inline-block;
		padding-left: 20px;
	}
	.ie7 #main .module-title_detail > ul >  li >  a {
		display: inline;  
	    zoom: 1;
	}
	#main .module-title_detail > ul > li > a.btn-print {
		background: url(../../images/common/icn-print.gif) no-repeat left center;
	}
	#main .module-title_detail > ul > li > a.btn-share {
		background: url(../../images/common/icn-share.gif) no-repeat left center;
	}
	#main .module-title_detail p.label {
		margin-top: 3px;
	}
	#main .module-title_detail p.label span {
		line-height: 100%;
		white-space: nowrap;
		display: inline-block;
		color: #fff;
		font-size: 85%;
		margin-right: 3px;
		background: #7FBACF;
		padding: 5px;
		margin-top: 3px;
	}
	.ie7 #main .module-title_detail p.label span {
		display: inline;  
	    zoom: 1;
	}
	#main .module-title_detail dl {
		margin-top: 12px;
		text-align: right;
		font-size: 93%;
	}
	#main .module-title_detail dl dt,
	#main .module-title_detail dl dd {
		display: inline;
	}
	#main .module-title_detail dl dt{
		margin-left: 35px;
	}

/* module-carousel ------------------------------*/

#main .module-carousel {
	margin-top: 25px;
}
	#main .module-carousel .viewport {
		width: 680px;
		margin: 0 auto;
		background-color: #fff;
		background-repeat: no-repeat;
		background-position: center center;
		position: relative;
		z-index: 1;
	}
	#main .module-carousel .viewport .image {
		width: 680px;
		height: 510px;
		position: relative;
	}
	#main .module-carousel .viewport .image img {
		position: absolute;
		top:50%;
		left:50%;
	}
	#main .module-carousel .viewport .prev {
		position: absolute;
		top:50%;
		left: -38px;
		margin-top: -25px;
	}
	#main .module-carousel .viewport .next {
		position: absolute;
		top:50%;
		right: -38px;
		margin-top: -25px;
		
	}
	#main .module-carousel .nav {
		margin-top: 10px;
		width: 684px;
		margin-left:38px;
	}
	#main .module-carousel .nav li {
		float: left;
		margin-right: 4px;
		margin-bottom: 4px;
		width: 110px;
		height: 83px;
		text-align: center;
	}
	#main .module-carousel .nav li a {
		display: table-cell;
		width: 110px;
		height: 83px;
		text-align: center;
		line-height: 83px;
		vertical-align: middle;
	}

	#main .module-carousel .nav li img {
		width: auto;
		height: auto;
		max-width: 110px;
		max-height: 83px;
	}
	#main .module-carousel .caption {
		margin-top: 15px;
		width: 680px;
		margin: 15px auto 0;
		font-size: 108%;
	}
	
	#main .module-carousel .img_review {
		z-index: 9999;
		vertical-align: middle;
		border: 5px solid #fff;
		-webkit-box-shadow: 4px 4px 4px 0 rgba(0,0,0,0.3);
		box-shadow: 4px 4px 4px 0 rgba(0,0,0,0.3);
		display: none;
		background: #fff;
	}
	
	#main .module-carousel .img_review img {
		width: auto;
		height: auto;
		max-width: 240px;
		max-height: 180px;
	}

/* module-schedule ------------------------------*/

#main .module-schedule {
	margin-top: 30px;
}

	#main .module-schedule th {
		width: 60px;
	}
	#main .module-schedule th+th {
		width: 359px;
	}
	#main .module-schedule th+th+th {
		width: 275px;
	}

/* module-schedule ------------------------------*/

#main .module-tour_detail {
}	
	#main .module-tour_detail table th {
		width: 120px;
	}
	
	#main .module-tour_detail table td {
		width: 238px;
	}

	#main .module-tour_detail table td[colspan] {
		width: 636px;
	}

/* module-tour_price ------------------------------*/

#main .module-tour_price {
}	
	#main .module-tour_price table.ext-step {
		margin: 0 12px 0;
		border-collapse: separate;
		border-spacing: 0 10px;
	}
	#main .module-tour_price table.ext-step,
	#main .module-tour_price table.ext-step th,
	#main .module-tour_price table.ext-step td {
		border: none;
	}
	#main .module-tour_price table.ext-step th {
		width: 46px;
		padding: 6px 0;
		background: #FF3366;
		-webkit-border-radius: 3px;
		border-radius: 3px;
		color: #fff;
		text-align: center;
	}
	#main .module-tour_price .note {
		font-size: 85%;
	}
	#main .module-tour_price .selectors {
		padding: 3px 0;
	}
	#main .module-tour_price .selectors select {
		display: block;
		float: left;
		margin-right: 5px;
	}
	#main .module-tour_price .calendar {
		margin-top: 10px;
	}
	
		#main .module-tour_price .calendar .nav {
			background: #7FBACF;
			color: #fff;
			position: relative;
			font-size: 	 123.1%;
			text-align: center;
			min-height: 30px;
			line-height: 30px;
			border-bottom: 1px solid #fff;
		}
		#main .module-tour_price .calendar .nav .prev {
			position: absolute;
			left: 4px;
			top:50%;
			margin-top: -8px;
			padding: 0 10px;
		}
		#main .module-tour_price .calendar .nav .next {
			position: absolute;
			right: 4px;
			top:50%;
			margin-top: -8px;
			padding: 0 10px;
		}
		
		#main .module-tour_price .calendar table th,
		#main .module-tour_price .calendar table td {
			width: 108px;
			box-sizing: border-box;
		}
		#main .module-tour_price .calendar table tr:first-child th {
			border-top:none;
		}
		#main .module-tour_price .calendar table th {
			text-align: center;
			font-size: 	 123.1%;
			font-weight: 400;
			padding: 3px 0;
		}
		#main .module-tour_price .calendar table th.sun {
			color: #fff;
			background: #FF6666;
		}
		#main .module-tour_price .calendar table th.sat {
			color: #fff;
			background: #0099CC;
		}
		#main .module-tour_price .calendar table th+th {
			border-left: 1px solid #ccc;
		}
		#main .module-tour_price .calendar table td {
			font-size: 123.1%;
			border-top:none;
			border-bottom: 1px solid #ccc;
			padding: 11px 8px;
			line-height: 100%;
		}
		#main .module-tour_price .calendar table td.vacant {
			background: #FFBAC4;
		}
		#main .module-tour_price .calendar table td.no_vacant {
			background: #e6e6e6;
		}
		#main .module-tour_price .calendar table td.request {
			background: #BCE4ED;
		}
		#main .module-tour_price .calendar table td a {
			display: block;
			padding: 10px 8px;
			text-decoration: none;
			height: 100%;
		}
		#main .module-tour_price .calendar table td span {
			display: block;
			margin-top: 10px;
			font-size: 66%;
			line-height: 120%;
		}
		#main .module-tour_price .calendar table td.vacant a:hover {
			background: #FFDCE1;
		}
		#main .module-tour_price .calendar table td.request a:hover {
			background: #DDF1F6;
		}
		#main .module-tour_price .calendar table td a span.calendar_date {
			display: block;
			margin-top: 0px;
			font-size: 100%;
			color:black;
		}
		#main .module-tour_price .calendar table td a span.calendar_link {
			text-decoration: underline;
		}
		#main .module-tour_price .calendar table td a:hover > span.calendar_link{
			text-decoration: none;
		}
			
		#main .module-tour_price .calendar p.explain {
			font-size: 93%;
			margin-top: 15px;
		}
		#main .module-tour_price .calendar p.explain span {
			margin-right: 20px;
			margin-bottom: 5px;
			display: inline-block;
		}
		.ie7 #main .module-tour_price .calendar p.explain span {
			display: inline;
			zoom:1;
		}
		#main .module-tour_price .calendar p.explain img {
			vertical-align: middle;
			margin-right: 2px;
		}
		
/* module-tour_policy ------------------------------*/

#main .module-tour_policy {
}
	
	#main .module-tour_policy th {
		width: 230px;
	}

/* module-summary ------------------------------*/
#side .module-summary {
	background: #EEEEEE;
}
	#side .module-summary h2 {
		background: #FFCC42;
		padding: 6px 10px;
		font-weight: 700;
		font-size: 108%;
		border-bottom: 1px solid #fff;
	}
	#side .module-summary h3 {
		background: #dadada;
		padding: 4px 12px;
		font-weight: 700;
		font-size: 108%;
	}
	#side .module-summary > .inner {
		padding:10px 10px 15px;
	}
	#side .module-summary table {
		width: 100%;
	}
	#side .module-summary table th,
	#side .module-summary table td {
		font-size: 93%;
		padding-top: 5px;
	}
	#side .module-summary table tr:first-child th,
	#side .module-summary table tr:first-child td {
		padding-top: 0;
	}
	#side .module-summary table td {
		text-align: right;
		font-weight: 700;
	}
	#side .module-summary table+p 
	{
		margin-top: 20px;
	}
	#side .module-summary table+p a {
		font-size: 93%;
	}
	#side .module-summary p.price {
		font-weight: 700;
		text-align: right;
	}
	#side .module-summary p.total_price {
		font-weight: 700;
		text-align: right;
		color: #FF0033;
		font-size: 138.5%;
	}
	#side .module-summary p.total_price span {
		font-size: 77%;
	}
	#side .module-summary p.total_price+p {
		margin-top: 25px;
	}