/*
Common ==========================================*/

#main.ext-check > div {
	margin-top: 40px;
}

/* common flag class ------------------------------*/
#main .module-keyvisual .content .nav ul li a.aus span,
.module-map_overlay h3.aus span {
	background-image: url(/images/railpass/icn-austria.png);
}

#main .module-keyvisual .content .nav ul li a.bel span,
.module-map_overlay h3.bel span {
	background-image: url(/images/railpass/icn-belgium.png);
}

#main .module-keyvisual .content .nav ul li a.bul span,
.module-map_overlay h3.bul span {
	background-image: url(/images/railpass/icn-bulgaria.png);
}

#main .module-keyvisual .content .nav ul li a.cro span,
.module-map_overlay h3.cro span {
	background-image: url(/images/railpass/icn-croatia.png);
}

#main .module-keyvisual .content .nav ul li a.cze span,
.module-map_overlay h3.cze span {
	background-image: url(/images/railpass/icn-czech.png);
}

#main .module-keyvisual .content .nav ul li a.den span,
.module-map_overlay h3.den span {
	background-image: url(/images/railpass/icn-denmark.png);
}

#main .module-keyvisual .content .nav ul li a.fin span,
.module-map_overlay h3.fin span {
	background-image: url(/images/railpass/icn-finland.png);
}

#main .module-keyvisual .content .nav ul li a.fra span,
.module-map_overlay h3.fra span {
	background-image: url(/images/railpass/icn-france.png);
}

#main .module-keyvisual .content .nav ul li a.ger span,
.module-map_overlay h3.ger span {
	background-image: url(/images/railpass/icn-germany.png);
}

#main .module-keyvisual .content .nav ul li a.gre span,
.module-map_overlay h3.gre span {
	background-image: url(/images/railpass/icn-greece.png);
}

#main .module-keyvisual .content .nav ul li a.hun span,
.module-map_overlay h3.hun span {
	background-image: url(/images/railpass/icn-hungary.png);
}

#main .module-keyvisual .content .nav ul li a.ire span,
.module-map_overlay h3.ire span {
	background-image: url(/images/railpass/icn-ireland.png);
}

#main .module-keyvisual .content .nav ul li a.ita span,
.module-map_overlay h3.ita span {
	background-image: url(/images/railpass/icn-italy.png);
}

#main .module-keyvisual .content .nav ul li a.lux span,
.module-map_overlay h3.lux span {
	background-image: url(/images/railpass/icn-luxembourg.png);
}

#main .module-keyvisual .content .nav ul li a.net span,
.module-map_overlay h3.net span {
	background-image: url(/images/railpass/icn-netherlands.png);
}

#main .module-keyvisual .content .nav ul li a.nor span,
.module-map_overlay h3.nor span {
	background-image: url(/images/railpass/icn-norway.png);
}

#main .module-keyvisual .content .nav ul li a.por span,
.module-map_overlay h3.por span {
	background-image: url(/images/railpass/icn-portugal.png);
}

#main .module-keyvisual .content .nav ul li a.rom span,
.module-map_overlay h3.rom span {
	background-image: url(/images/railpass/icn-romania.png);
}

#main .module-keyvisual .content .nav ul li a.slk span,
.module-map_overlay h3.slk span {
	background-image: url(/images/railpass/icn-slovakia.png);
}

#main .module-keyvisual .content .nav ul li a.sln span,
.module-map_overlay h3.sln span {
	background-image: url(/images/railpass/icn-slovenia.png);
}

#main .module-keyvisual .content .nav ul li a.spa span,
.module-map_overlay h3.spa span {
	background-image: url(/images/railpass/icn-spain.png);
}

#main .module-keyvisual .content .nav ul li a.swe span,
.module-map_overlay h3.swe span {
	background-image: url(/images/railpass/icn-sweden.png);
}

#main .module-keyvisual .content .nav ul li a.swi span,
.module-map_overlay h3.swi span {
	background-image: url(/images/railpass/icn-switzerland.png);
}

#main .module-keyvisual .content .nav ul li a.tur span,
.module-map_overlay h3.tur span {
	background-image: url(/images/railpass/icn-turkey.png);
}

#main .module-keyvisual .content .nav ul li a.uni span,
.module-map_overlay h3.uni span {
	background-image: url(/images/railpass/icn-united_kingdom.png);
}

/* module-license_option ------------------------------*/
#main .module-anchor_nav {
}
	#main .module-anchor_nav ul {
		text-align: center;
	}
	#main .module-anchor_nav li,
	#main .module-anchor_nav li a,
	#main .module-anchor_nav li a span {
		display: inline-block;
	}
	.ie7 #main .module-anchor_nav li,
	.ie7 #main .module-anchor_nav li a,
	.ie7 #main .module-anchor_nav li a span {
		display: inline;
		zoom: 1;
	}
	#main .module-anchor_nav li {
		border-left: 1px dotted #999;
		vertical-align: top;
	}
	#main .module-anchor_nav li:first-child {
		border-left: none;
	}
	#main .module-anchor_nav li a {
		padding: 50px 50px 0;
		font-size: 108%;
		line-height: 115%;
		height: 40px;
		color: #000;
	}
	#main .module-anchor_nav li a.type {
		background: url(/images/railpass/icn-nav_type.png) no-repeat center 7px;
	}
	#main .module-anchor_nav li a.about {
		background: url(/images/railpass/icn-nav_about.png) no-repeat center 7px;
	}
	#main .module-anchor_nav li a.policy {
		background: url(/images/railpass/icn-nav_policy.png) no-repeat center 7px;
	}
	#main .module-anchor_nav li a:hover {
		background-color: #eee;
	}
	#main .module-anchor_nav li a span {
		padding-left: 18px;
		background: url(/images/railpass/icn-nav_arrow.png) no-repeat left 6px;
	}

/* module-keyvisual ------------------------------*/
#main .module-keyvisual {
	margin-top: 15px;
	height: 320px;
	padding-bottom: 4px;
	background: url(/images/railpass/bg-shadow_keyvisual.jpg) no-repeat left bottom;
	position: relative;
}
	#main .module-keyvisual .content {
		position: absolute;
	}
	#main .module-keyvisual .content .ttl {
		position: absolute;
		left: 15px;
		top:10px;
	}
	#main .module-keyvisual .content .nav {
		position: absolute;
		left: 672px;
		top:5px;
		width: 288px;
	}
	#main .module-keyvisual .content .nav ul {
		float: left;
		width: 140px;
		margin-left: 2px;
	}
	#main .module-keyvisual .content .nav ul:first-child {
		margin-left: 1px;
	}
	#main .module-keyvisual .content .nav ul li {
		margin-top: 2px;
	}
	#main .module-keyvisual .content .nav ul li:first-child {
		margin-top: 0;
	}
	#main .module-keyvisual .content .nav ul li a {
		background: url(/images/railpass/bg-railmap_btn.png) repeat left top;
		color: #333;
		text-decoration: none;
		display: block;
		font-size: 12px;
		height: 22px;
		line-height: 22px;
	}
	#main .module-keyvisual .content .nav ul li a:hover {
		background: url(/images/railpass/bg-railmap_btn_active.png) repeat left top;
		color: #fff;
	}
	#main .module-keyvisual .content .nav ul li a span {
		padding-left: 28px;
		background-repeat: no-repeat;
		background-position: 3px center;
	}

	#main .module-keyvisual .flag {
		position: absolute;
		width: 338px;
		height: 320px;
		left: 334px;
		top:0;
		background: url(/images/railpass/img-map_flag.png);
	}
	#main .module-keyvisual .map {
		position: absolute;
		background: url(/images/railpass/img-map_euro.png);
		width: 338px;
		height: 320px;
		left: 334px;
		top:0;
	}
	
	#main .module-keyvisual .map .active {
		position: absolute;
	}
	
	#main .module-keyvisual .map .active.aus {
		content: url(/images/railpass/img-map_austria.png);
		left: 172px;
		top: 183px;
	}

	#main .module-keyvisual .map .active.bel {
		content: url(/images/railpass/img-map_belgium.png);
		left: 129px;
		top: 147px;
	}
	
	#main .module-keyvisual .map .active.bul {
		content: url(/images/railpass/img-map_bulgaria.png);
		left: 269px;
		top: 235px;
	}
	
	#main .module-keyvisual .map .active.cro {
		content: url(/images/railpass/img-map_croatia.png);
		left: 200px;
		top: 210px;
	}
	
	#main .module-keyvisual .map .active.cze {
		content: url(/images/railpass/img-map_czech.png);
		left: 194px;
		top: 161px;
	}
	
	#main .module-keyvisual .map .active.den {
		content: url(/images/railpass/img-map_denmark.png);
		left: 174px;
		top: 85px;
	}
	
	#main .module-keyvisual .map .active.fin {
		content: url(/images/railpass/img-map_finland.png);
		left: 248px;
		top: 0px;
	}
	
	#main .module-keyvisual .map .active.fra {
		content: url(/images/railpass/img-map_france.png);
		left: 71px;
		top: 148px;
	}
	
	#main .module-keyvisual .map .active.ger {
		content: url(/images/railpass/img-map_germany.png);
		left: 151px;
		top: 114px;
	}
	
	#main .module-keyvisual .map .active.gre {
		content: url(/images/railpass/img-map_greece.png);
		left: 248px;
		top: 261px;
	}
	
	#main .module-keyvisual .map .active.hun {
		content: url(/images/railpass/img-map_hungary.png);
		left: 222px;
		top: 189px;
	}
	
	#main .module-keyvisual .map .active.ire {
		content: url(/images/railpass/img-map_ireland.png);
		left: 49px;
		top: 83px;
	}
	
	#main .module-keyvisual .map .active.ita {
		content: url(/images/railpass/img-map_italy.png);
		left: 147px;
		top: 203px;
	}
	
	#main .module-keyvisual .map .active.lux {
		content: url(/images/railpass/img-map_luxembourg.png);
		left: 148px;
		top: 164px;
	}
	
	#main .module-keyvisual .map .active.net {
		content: url(/images/railpass/img-map_netherlands.png);
		left: 136px;
		top: 126px;
	}
	
	#main .module-keyvisual .map .active.nor {
		content: url(/images/railpass/img-map_norway.png);
		left: 166px;
		top: 0px;
	}
	
	#main .module-keyvisual .map .active.por {
		content: url(/images/railpass/img-map_portugal.png);
		left: 0px;
		top: 220px;
	}
	
	#main .module-keyvisual .map .active.rom {
		content: url(/images/railpass/img-map_romania.png);
		left: 252px;
		top: 189px;
	}
	
	#main .module-keyvisual .map .active.slk {
		content: url(/images/railpass/img-map_slovakia.png);
		left: 226px;
		top: 178px;
	}
	
	#main .module-keyvisual .map .active.sln {
		content: url(/images/railpass/img-map_slovenia.png);
		left: 199px;
		top: 207px;
	}
	
	#main .module-keyvisual .map .active.spa {
		content: url(/images/railpass/img-map_spain.png);
		left: 13px;
		top: 204px;
	}
	
	#main .module-keyvisual .map .active.swe {
		content: url(/images/railpass/img-map_sweden.png);
		left: 197px;
		top: 0px;
	}
	
	#main .module-keyvisual .map .active.swi {
		content: url(/images/railpass/img-map_switzerland.png);
		left: 143px;
		top: 192px;
	}
	
	#main .module-keyvisual .map .active.tur {
		content: url(/images/railpass/img-map_turkey.png);
		left: 306px;
		top: 264px;
	}
	
	#main .module-keyvisual .map .active.uni {
		content: url(/images/railpass/img-map_united_kingdom.png);
		left: 71px;
		top: 54px;
	}
	
	#main .module-keyvisual .image {
		position: absolute;
		background: url(/images/railpass/img-railpass.jpg) no-repeat left top;
		width: 960px;
		height: 320px;
	}


/* module-railpass_type,
   module-map_overlay  ------------------------------*/
   
/* railpass type */
#main .module-railpass_type {
	margin-top: 24px;
}
	#main .module-railpass_type .ttl-border.ext-type {
		color: #F89F20;
		border-color: #F89F20;
	}
	#main .module-railpass_type .ttl-border.ext-type span {
		background: url(/images/railpass/icn-ttl_type.png) no-repeat left center;
		padding-left: 63px;
	}
	#main .module-railpass_type .ttl-border.ext-type + * {
		margin-top: 10px;
	}

/* modal */	
.module-map_overlay {
	width: 960px;
	position: relative;
}
	.module-map_overlay .title {
		font-size: 123.1%;
		font-weight: 700;
		padding: 25px 35px 15px;
	}
	.module-map_overlay .title span {
		padding-left: 30px;
		background-repeat: no-repeat;
		background-position: left center;
	}
	.module-map_overlay .close {
		top:25px;
		right: 35px;
	}
	.module-map_overlay .close a {
		color: #666;
		background-image: url(/images/railpass/icn-close.png);
		padding-left: 23px;
		min-height: 16px;
		font-size: 108%;
	}
	
	/* railpass type & modal*/
	#main .module-railpass_type .item,
	.module-map_overlay .item{
		padding: 10px;
		width: 440px;
		background: #eee;
		float: left;
		border:10px solid #fff;
	}
	#main .module-railpass_type .item .top_unit,
	.module-map_overlay .item .top_unit{
	}
	#main .module-railpass_type .item .img,
	.module-map_overlay .item .img{
		float: left;
		width: 190px;
	}
	#main .module-railpass_type .item .img img,
	.module-map_overlay .item .img img{
		vertical-align: bottom;
	}
	#main .module-railpass_type .item .detail,
	.module-map_overlay .item .detail{
		width: 240px;
		float: right;
	}
	#main .module-railpass_type .item .detail h3,
	.module-map_overlay .item .detail h3{
		font-size: 108%;
	}
	#main .module-railpass_type .item .detail p,
	.module-map_overlay .item .detail p{
		font-size: 100%;
		margin-top: 12px;
	}
	#main .module-railpass_type .item .detail p span,
	.module-map_overlay .item .detail p span{
		font-size: 100%;
	}
	#main .module-railpass_type .item .bottom_unit,
	.module-map_overlay .item .bottom_unit{
		margin-top: 2px;
		display: table;
	}
	#main .module-railpass_type .item .bottom_unit .col,
	.module-map_overlay .item .bottom_unit .col{
		width: 197px;
		display: table-cell;
		vertical-align: bottom;
	}
	.ie7 #main .module-railpass_type .item .bottom_unit .col,
	.ie7 .module-map_overlay .item .bottom_unit .col{
		display: block;
		float: left;
	}
	#main .module-railpass_type .item .bottom_unit .col+.col,
	.module-map_overlay .item .bottom_unit .col+.col{
		width: 240px;
		display: table-cell;
		vertical-align: bottom;
		text-align: right;
	}
	.ie7 #main .module-railpass_type .item .bottom_unit .col+.col,
	.ie7 .module-map_overlay .item .bottom_unit .col+.col{
		display: block;
		float: right;
		margin-top: 8px;
	}
	#main .module-railpass_type .item .bottom_unit .label,
	.module-map_overlay .item .bottom_unit .label{
		font-size: 85%;
		background: #FF3333;
		color: #fff;
		padding: 4px 8px;
		line-height: 100%;
		display: inline-block;
		margin-top: 6px;
	}
	#main .module-railpass_type .item .bottom_unit .note,
	.module-map_overlay .item .bottom_unit .note{
		font-size: 93%;
		display: block;
		margin-top: 6px;
	}
	#main .module-railpass_type .item .bottom_unit .price,
	.module-map_overlay .item .bottom_unit .price{
		margin-top: 3px;
		color: #f03;
		font-weight: 700;
		font-size: 138.5%;
		display: block;
	}
	#main .module-railpass_type .item .bottom_unit .btn-submit.ext-size,
	.module-map_overlay .item .bottom_unit .btn-submit.ext-size{
		min-width: 166px;
	}


/* module-railpass_about ------------------------------*/
#main .module-railpass_about {
}
	#main .module-railpass_about .ttl-border.ext-about {
		color: #669900;
		border-color: #669900;
	}
	#main .module-railpass_about .ttl-border.ext-about span {
		background: url(/images/railpass/icn-ttl_about.png) no-repeat 4px center;
		padding-left: 53px;
	}
	#main .module-railpass_about p {
		font-size: 108%;
		line-height: 140%;
	}
	#main .module-railpass_about p+p {
		margin-top: 12px;
	}


/* module-railpass_about ------------------------------*/
#main .module-railpass_policy {
}
#main.ext-check .module-railpass_policy {
	margin-top: 0;
}
	#main .module-railpass_policy .ttl-border.ext-policy {
		color: #0099CC;
		border-color: #0099CC;
	}
	#main .module-railpass_policy .ttl-border.ext-policy span {
		background: url(/images/railpass/icn-ttl_policy.png) no-repeat 12px center;
		padding-left: 53px;
	}
	#main .module-railpass_policy h3 {
		color: #0099CC;
		font-size: 138.5%;
		font-weight: 700;
	}
	#main .module-railpass_policy p.txt-notice.ext-policy {
		margin-top: 20px;
		font-weight: 700;
	}
	
	#main .module-railpass_policy .ttl-border+p+h3 {
		margin-top: 20px;
	} 
	#main .module-railpass_policy *+h3 {
		margin-top: 40px;
	}
	#main .module-railpass_policy h3+* {
		margin-top: 20px;
	}
	#main .module-railpass_policy dl {
		margin-top: 12px;
	}
	#main .module-railpass_policy dl.remarks {
		margin-top: 14px;
	}
	#main .module-railpass_policy dt {
		font-size: 108%;
		font-weight: 700;
		line-height: 120%;
	}
	#main .module-railpass_policy dd {
		font-size: 108%;
		line-height: 120%;
	}
	#main .module-railpass_policy dd+dt {
		margin-top: 25px;
	}
	#main .module-railpass_policy dt+dd {
		margin-top: 7px;
	}
	#main .module-railpass_policy p {
		font-size: 108%;
		line-height: 120%;
		margin-top: 12px;
	}
	#main .module-railpass_policy .shadow {
		margin-top: 20px;
		padding-bottom: 6px;
		background: url(/images/railpass/bg-shadow_item_large.jpg) no-repeat left bottom;
	}
	#main .module-railpass_policy table {
	}
	#main .module-railpass_policy .shadow table {
		border-bottom: 0;
	}
	#main .module-railpass_policy table th {
		background: #7FBACF;
		color: #fff;
		text-align: left;
		border-color: #fff;
	}
	#main .module-railpass_policy table th,
	#main .module-railpass_policy table td {
		padding: 8px 10px;	
		font-size: 108%;
	}
	#main .module-railpass_policy table .type {
		width: 230px;
	}
	#main .module-railpass_policy table .before {
		width: 400px;
	}
	#main .module-railpass_policy table .after {
		width: 308px;
	}


/* module-confirm ------------------------------*/
#main .module-confirm {
	margin-top: 20px;
}
	#main .module-confirm .viewport {
		padding: 20px 25px;
		border: 1px solid #666666;
		width: 910px;
		height: 330px;
		overflow: auto;
		overflow-x: hidden;
	}
	#main .module-confirm .viewport p {
		font-size: 100%;
		line-height: 140%;
	}
	#main .module-confirm .viewport *+p {
		margin-top: 20px;
	}
	#main .module-confirm p.agree {
		font-size: 100%;
		margin-top: 20px;
		font-weight: 700;
	}
	#main .module-confirm p.agree input {
		margin-right: 5px;
	}
