@charset "utf-8";
/* CSS Document */

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

#campaign_main_block {
	margin: 0;
	padding: 0;
	min-height: 510px;	
	background:url("images/top-image.jpg") no-repeat center top;
	background-size: cover;	
}

.clear {
	clear: both;
}

.content_main {
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
}

#campaign_main_block h1 {
	padding: 50px 0 15px 0;
	text-align: center;
	color: #FFF;
	font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;
	font-size: 3em;
	text-shadow: 0px 0px 3px rgba(70, 61, 142, 1);
}

#campaign_main_block h2 {
	padding: 0 0 50px 0;
	text-align: center;
	color: #FFF;
	font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;
	font-size: 2.4em;
	text-shadow: 0px 0px 3px rgba(70, 61, 142, 1);
}

#description {
	margin: 20px 40px;
	padding: 20px;
	text-align: center;
	background: rgba(255,255,255,0.7);
	font-size: 1.2em;
}

#description h2{
	text-align: center;
	color: #000;
	font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;
	font-size: 2.4em;
	text-shadow: 0px 0px 0px;
}


#point {
	padding: 0 0 30px 0;
}

.img_fasttrack {
	display: block;
	margin: 5px auto;
}	

#point h2,
#flow h2 {
	padding: 50px 0 15px 0;
	text-align: center;
	color: #223f9a;
	font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;
	font-size: 2.6em;
}

.point_block {
	float: left;
	margin: 0 1%;
	width: 31.33%;
}

.point_block img {
	margin: 0 auto;
	display: block;
}

.point_block p {
	text-align: center;
}



#flow {
	padding: 0 0 30px 0;
	background: #f6f6f6;
}

#flow h2 span {
	font-size: 0.6em;
}

#flow h3 {
	padding: 0 0 15px 0;
	text-align: center;
	color: #223f9a;
	font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;
	font-size: 2em;
}



#flowchart {
	padding: 20px 0;
}

#flowchart_departure {
	float: left;
	width: 53%;
	margin: 0 1%;
}

#flowchart_departure tbody th {
	padding: 10px;
	background: #223f9a;
	color: #fff;
	text-align: center;
	font-weight: 700;
	width: 15%;
}




#flowchart_departure tbody td {
	width: 69%;
	padding: 20px;
	background: #FFF;
}


#flowchart_immigration {
	float: left;
	width: 44%;
	margin: 0;	
}

#flowchart_immigration th {
	display: none;
}

#flowchart_immigration tbody td {
	width: 69%;
	padding: 20px 10px 20px 10px;
	background: #FFF;
}





#privatesuite {
	margin: 0;
	padding: 0;
	min-height: 350px;	
	background-color:#deebf4; 
	background-size: cover;	
}

#privatesuite h2 {
	padding: 50px 0 15px 0;
	text-align: center;
	color: #000;
	font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;
	font-size: 2.6em;
}

#privatesuite p{ 
	padding: 15px 0px;
	text-align: center;
}

#privatesuite img {
	display: block;
	margin: 0 auto; 
}

#privatesuite h2 span {
	font-size: 0.6em;
}




#price ul li {
	list-style: disc;
	margin: 0 0 0 20px;
}

#contact {
	padding: 20px 0;
}	

#contact_block {
	max-width: 800px;
	width: 95%;
	background: rgba(255,255,255,0.8);	
	margin: 0 auto;
	padding: 20px;
	color: #22409a;
	border: 1px solid #22409a;
	border-radius: 5px;	
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;	
}

#call {
	float: left;
	width: 50%;
}

#call h4 {
	width: 200px;
	height: 35px;
	margin: 0 auto;	
	text-align: center;
	font-weight: bolder;
}

#call h5 {
	text-align: center;
	font-size: 40px;
	font-style: italic;
	font-weight: 400;
	color: #22409a;	
}

#call p {
	text-align: center;
	font-size: 84%;
	color: #22409a;	 
}

#email {
	float: left;
	width: 50%;
}

#email h4 {
	width: 235px;
	height: 35px;
	margin: 0 auto;
	text-align: center;
	font-weight: bolder;
	
}

#email p {
	margin: 20px 0 0 0;
	text-align: center;
}

#email a {
	padding: 15px 100px;
	color: #FFF;
	background: #22409a;
}

#email a:hover {
	background: #00b3f0;
	text-decoration: none;
}


.bottom_banner {
	float: left;
	width: 31.3%;
	margin: 0 1%;
}

.bottom_banner img {
	width: 100%;
	border: 1px solid #D9D9D9;
	padding: 1px;
}

.bottom_banner2 {
	text-align: center;
	margin: 0 1% 1% 1%;
	width: 95%;
}

.bottom_banner2 img {
	border: 1px solid #D9D9D9;
	padding: 1px;
	width: 95%;
}

.button-wrapper {
		display: block;
		margin: 0 auto;
	}
	.dark-button,
	.dark-button-2 {
		background: #333;
	}
	.button {
		background: #fff;
		border: none;
		padding: 2px;
		cursor: pointer;
		display: block;
		position: relative;
		overflow: hidden;
		transition: all .35s ease-in-out .35s;
	    margin: 5px auto;
	    width: 270px;
	    text-align: center;
	}
	.dark-button .button,
	.dark-button .button span {
		background: #e38813;
		color: #fff;
	}
	.dark-button .button:after,
	.dark-button .button:before,
	.dark-button .button:hover span {
		background: #fff;
		color: #444;
	} 
	.dark-button-2 .button,
	.dark-button-2 .button span {
		background: #333;
		color: #fff;
	}
	.dark-button-2 .button:after,
	.dark-button-2 .button:before,
	.dark-button-2 .button:hover span {
		background: #fff;
		color: #444;
	} 
	.button span {
		display: block;
		background: #e38813;
		z-index: 100;
		position: relative;
		transition: all .35s ease-in-out .35s;
	}
	
	.button a {
		display: block;
		padding: 15px 20px;
		text-decoration: none;
		color: #FFF;
	}

	.button:hover span {
		background: #d26300;
		color: #fff;
		transition: all .35s ease-in-out .35s;
	}
	.button:after {
		bottom: -100%;
		right: -100%;
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		background: #d26300;
		transition: all .35s ease-in-out .5s;
	}
	.button:hover:after {
		right: 0;
		bottom: 0;
		transition: all ease-in-out .35s;
	}
	.button:before {
		top: -100%;
		left: -100%;
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		background: #d26300;
		transition: all .35s ease-in-out .5s;
	}
	.button:hover:before {
		left: 0;
		top: 0;
		transition: all ease-in-out .35s;
	}



/* Tablet */
/* ====================================================================== */

@media screen and (max-width: 768px){

#campaign_main_block {
	padding: 0 0 20px 0;
	min-height: 550px;	
}

#campaign_main_block h1 {
	padding: 30px 0 15px 0;
	font-size: 2.4em;
}

#campaign_main_block h2 {
	padding: 0 0 20px 0;
	font-size: 2em;
}

#description {
	margin: 20px 50px;
	font-size: 1em;
}

#point h2,
#flow h2 {
	padding: 50px 0 15px 0;
	font-size: 2em;
}

#flow h3 {
	font-size: 1.6em;
}

#privatesuite {
	background-size: 200%;	
}

#privatesuite p {
	text-align: center;
	font-size: 0.8em;
	padding: 10px 20px;
}

#contact_block {
	width: 96%;
}

}

/* SmartPhone */
/* ====================================================================== */

@media screen and (max-width:640px){



#campaign_main_block {
	background-position: 0% 0%;
	background-size: cover;	
	min-height: 400px;	
}

#contact_block {
	width: 96%;
}

#campaign_main_block h1 {
	font-size: 2.3em;
}

#campaign_main_block h2 {
	font-size: 1.4em;
}

#description {
	margin: 10px;
	padding: 10px;
	font-size: 0.9em;
}

.img_fasttrack {
	width: 80%;
}	
	
#flowchart_departure {
	float: none;
	width: 98%;
	margin: 0 1% 5% 1%;
}

#flowchart_immigration {
	float: none;
	width: 98%;
	margin: 0 1%;
}

#flowchart_departure th,
#flowchart_immigration th {
	display: table-cell;
	width: 20%;
	
}


	
#flowchart_immigration tbody th {
	background: #223f9a;
	color:#fff;
	text-align: center;
	padding: 10px;
	font-weight: normal;
}

#flowchart_departure tbody td,
#flowchart_immigration tbody td {
	width: 69%;
	padding: 10px;
	background: #FFF;
}	
	
.point_block {
	float: none;
	margin: 0 1%;
	width: 100%;
}	



#point h2,
#flow h2 {
	font-size: 1.6em;
}

#flow h2 span {
	display: block;
	font-size: 0.55em;
}

#privatesuite h2 {
	font-size: 1.6em;
}
	
#privatesuite img {
	float: none;
}


#call {
	float: none;
	width: 96%;
}

#call h5 {
	font-size: 2em;
}

#call p {
	font-size: 74%;
}

#email {
	float: none;
	width: 96%;
	padding: 20px 0;
}


#email a {
	padding: 15px 40px;
	color: #FFF;
	background: #22409a;
}

#price table {
	width: 100%;
	margin: 0;
	text-align: center;
}

#price table th,
#price table td {
	padding: 5px;
	font-size: 0.6em;
}


#price {
	background-size: 400%;	
}

#price.en {
	background-size: 500%;	
}

