@charset "utf-8";
@import url(//fonts.googleapis.com/css?family=Michroma);





/* ---------- base ---------- */

body {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	width:100%;
}

a {
	color:#003F97;
}

a:hover {
	color:#F90;
	text-decoration:none;
}





/* ---------- header ---------- */

#header {
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	margin:0 auto;
	overflow:hidden;
	padding:30px 30px 0;
	width:100%;
}

#header h1 {
	float:left;
	max-width:481px;
	width:40%;
}

#header h1 img {
	height:auto;
	width:100%;
}

#header nav {
	float:right;
	width:60%;
}

@media screen and (min-width: 641px) {

	#header h2 {
		display:none;
	}
	
	#header nav ul {
		text-align:right;
	}
	
	#header nav ul li {
		display:inline-block;
		font-size:80%;
		padding:0 0 15px 25px;
	}
	
	#header nav ul li a {
		background:url(../../images/top/bg_arrow_1.png) no-repeat 0 0;
		color:#003F97;
		display:block;
		padding:0 0 0 18px;
		text-decoration:none;
		transition:0.2s ease-in-out; 
	}
	
	#header nav ul li a:hover {
		background:url(../../images/top/bg_arrow_1.png) no-repeat 5px 0;
	}

}

@media screen and (max-width: 1024px) {

	#header h1 {
		width:60%;
	}

	#header nav {
		width:40%;
	}

}

@media screen and (max-width: 640px) {

	#header {
		padding:20px 20px 0 10px;
	}

	#header h1 {
		padding:5px 0 0;
		width:83%;
	}

	#header nav {
		width:12%;
	}

	#header nav img {
		height:auto;
		width:100%;
	}

	#header h2 {
		background:#003F97;
		float:right;
		display:block;
		padding:8px;
	}
	
	#header ul {
		background:#003F97;
		display:none;
		font-size:80%;
		padding:15px;
		position:absolute;
		top:65px;
		right:20px;
		z-index:1000;
		width:40%;
	}

	#header nav ul li a {
		background:url(../../images/top/bg_arrow_3.png) no-repeat 0 center;
		border-top:#fff 1px dashed;
		color:#fff;
		display:block;
		padding:15px 10px 15px 18px;
		text-decoration:none;
	}

	#header nav ul li:last-child a {
		border-bottom:#fff 1px dashed;
	}

}





/* ---------- footer ---------- */

#footer {
	background:#003F97 url(../../images/top/bg_footer.png) no-repeat 0 0;
	background-size:contain;
	color:#FFFFFF;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	margin:30px auto 0;
	overflow:hidden;
	padding:14% 30px 10px;
	position:relative;
	width:100%;
}

#footer aside {
	position:absolute;
	top:0;
	left:0;
	z-index:10;
	width:100%;
}

#footer aside ul {
	font-size:0;
	text-align:center;
	width:100%;
}

#footer aside ul li {
	display:inline-block;
	padding:0 10px;
}

#footer nav {
	float:left;
}

#footer nav ul {
	overflow:hidden;
}

#footer nav li {
	float:left;
	font-size:80%;
	line-height:1.5em;
	padding:0 25px 15px 0;
}

#footer nav ul li a {
	background:url(../../images/top/bg_arrow_3.png) no-repeat 0 3px;
	color:#fff;
	display:block;
	padding:0 0 0 19px;
	text-decoration:none;
	transition:0.2s ease-in-out;
}

#footer nav ul li a:hover {
	background:url(../../images/top/bg_arrow_3.png) no-repeat 5px 3px;
}

#footer .copy {
	float:right;
	font-size:80%;
	line-height:1.5em;
}

#footer .page {
	bottom:50px;
	cursor:pointer;
	padding:0;
	position:fixed;
	right:20px;
}

@media screen and (max-width: 1024px) {

	#footer {
		overflow:inherit;
	}

	#footer aside {
		top:-30px;
	}

	#footer nav {
		float:none;
		padding:10px 0 0;
	}

	#footer .copy {
		float:none;
		font-size:70%;
		line-height:1.5em;
	}

}





/* ---------- index ---------- */

#index {
	left:0;
	position:absolute;
	top:27%;
	width:100%;
}

#index ul {
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	margin:0 auto;
	max-width:1180px;
	padding:0 15px;
	position:relative;
	width:100%;
}

#index li {
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	float:left;
	padding:0 15px;
	width:20%;
}

#index li h2 {
	background:url(../../images/top/bg_arrow_2.png) no-repeat center bottom;
	overflow:hidden;
	padding:20px 0 0;
	transition:0.2s ease-in;
}

#index li h2 img {
	background:#003F97;
	border-radius:100px;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	height:auto;
	transition:0.2s ease-in;
	padding:10px;
	width:100%;
}

@media screen and (max-height: 640px) {

	#index {
		top:15%;
	}

}

@media screen and (min-width: 641px) {

	#index li h2:hover {
		padding:0 0 20px;
	}
	
	#index li h2:hover img {
		transform: rotate(-20deg);
		background:#F90;
	}
	
	#index li .summary {
		box-sizing:border-box;
		-webkit-box-sizing:border-box;
		left:0;
		opacity:0;
		padding:50px 30px 0;
		position:absolute;
		transition:0.3s ease-in-out;
		width:100%;
	}
	
	#index li h2:hover + .summary {
		opacity:1;
		z-index:100;
	}
	
	#index li div div {
		background:#003F97;
		border-radius:10px;
		color:#fff;
		padding:30px 40px 10px 310px;
		text-align:left;
	}
	
	#index li div div h3 {
		font-size:130%;
		font-weight:bold;
		padding:0 0 15px;
	}
	
	#index li div div .image {
		bottom:0;
		left:50px;
		padding:0;
		position:absolute;
	}

}

@media screen and (max-width: 640px) {

	#index {
		position:static;
	}

	#index ul {
		box-sizing:border-box;
		-webkit-box-sizing:border-box;
		clear:both;
		font-size:0;
		margin:0 auto;
		max-width:1180px;
		padding:15px 15px 50px;
		position:relative;
		text-align:center;
		width:100%;
	}

	#index li {
		display:inline-block;
		float:none;
		padding:15px 20px;
		width:50%;
	}

	#index li h2 img {
		max-width:180px;
		width:100%;
	}
	
	#index li .summary {
		display:none;
	}

}





/* ---------- company ---------- */

.organize {
	background:#E6EBED;
	margin:0 0 20px;
	padding:15px 0;
	text-align:center;
}

.organize img {
	max-width:100%;
	height:auto;
}





/* ---------- group ---------- */

#group ul {
	display:table;
	margin:30px 0 0;
	table-layout:fixed;
	width:100%;
}

#group li {
	border:#eee 1px solid;
	border-right:none;
	border-top:#003F97 3px solid;
	padding:0 25px;
	text-align:center;
}

#group li h3 {
	color:#003F97;
	font-size:130%;
	font-weight:bold;
	line-height:1.3em;
	padding:20px 0 5px;
}

#group li h4 {
	font-family:"HG明朝E","ヒラギノ明朝 Pro W3","ＭＳ Ｐ明朝","MS PMincho","Hiragino Mincho Pro",serif;
	font-size:100%;
	font-weight:bold;
	line-height:1.2em;
	padding:0 0 20px;
}

#group li .logo {
	border-top:#eee 1px solid;
	padding:15px 0;
}

#group li .logo img {
	max-width:100%;
	height:auto;
}

#group table {
	border-top:#eee 1px solid;
	margin:0 0 20px;
	text-align:left;
	width:100%;
}

#group table p {
	font-size:70%;
	line-height:1.8em;
	padding:0 0 10px;
}

#group table tr:nth-child(2n) {
	background:#fafafa;
}

#group table th {
	border-bottom:#eee 1px solid;
	font-weight:bold;
	padding:10px 0 0 10px;
	text-align:left;
	vertical-align:top;
	white-space:nowrap;
}

#group table td {
	border-bottom:#eee 1px solid;
	padding:10px 10px 0;
}

@media screen and (min-width: 641px) {

	#group ul {
		border-right:#eee 1px solid;
		display:table;
		table-layout:fixed;
	}

	#group li {
		display:table-cell;
	}

}

@media screen and (max-width: 640px) {

	#group ul {
	}
	
	#group li {
		border-right:#eee 1px solid;
		margin:0 0 30px;
	}

}





/* ---------- inquiry ---------- */

.agreement {
	border:#ddd 1px solid;
	height:300px;
	margin:0 0 35px;
	overflow:auto;
	padding:25px 25px 10px;
}





/* ---------- agency ---------- */

#agency nav ul {
	overflow:hidden;
	margin:0 -10px;
}

#agency nav ul li {
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	float:left;
	padding:0 10px;
	width:20%;
}

#agency nav ul li a {
	background:#003F97;
	border:none;
	border-radius:5px;
	color:#fff;
	display:block;
	line-height:1.2em;
	padding:10px 0;
	text-align:center;
	text-decoration:none;
	transition:0.2s ease-in-out; 
}

#agency nav ul li a:hover {
	background:#F90;
}





/* ---------- title ---------- */

.ttl_p {
	background:#003F97;
	color:#fff;
	font-size:200%;
	margin:30px 0 0;
	padding:30px 0;
	text-align:center;
}

.ttl_p span {
	display:block;
	font-size:35%;
	font-family: 'Michroma', sans-serif;
	padding:5px 0 0;
}

.ttl_l {
	color:#09F;
	font-size:180%;
	line-height:1.3em;
	padding:0 0 25px;
}

.ttl_l span {
	display:block;
	font-size:35%;
	font-family: 'Michroma', sans-serif;
	padding:5px 0 0;
}


.ttl_m {
	border-left:#003F97 3px solid;
	font-size:120%;
	line-height:1.4em;
	margin:0 0 20px;
	padding:3px 0 0 10px;
}

.ttl_s {
	border-bottom:#aaa 1px dotted;
	font-size:95%;
	line-height:1.4em;
	margin:0 0 15px;
	padding:0 0 10px;
}

.ttl_x {
	background:#eee;
	font-size:85%;
	line-height:1.4em;
	padding:10px;
}





/* ---------- box ---------- */

.division {
	border-top:#eee 1px solid;
	padding:45px 0 0;
}

.section {
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	margin:0 auto;
	max-width:100%;
	overflow:hidden;
	padding:0 30px 40px;
	width:1260px;
}

.block {
	padding:40px 0 0;
}

.inner {
	padding:20px 0 0;
}





/* ---------- float ---------- */

.aln_c {
	text-align:center;
}

.flt_r {
	float:right;
}

.img_r {
	float:right;
	padding:0 0 20px 30px;
	width:40%;
}

.img_r img {
	height:auto;
	width:100%;
}

@media screen and (max-width: 640px) {

	.img_r {
		float:none;
		padding:0 0 20px;
		width:100%;
	}

}





/* ---------- list ---------- */

.decimal {
	font-size:80%;
	line-height:1.8em;
	padding:0 0 5px;
}
 
.decimal li {
	list-style:decimal;
	margin:0 0 0 25px;
	padding:0 0 10px;
}
 
.decimal li ol {
	padding:0;
}
 
.decimal li ol li {
	padding:10px 0 0;
}

.disc {
	font-size:80%;
	line-height:1.8em;
	padding:0 0 5px;
}
 
.disc li {
	list-style:disc;
	margin:0 0 0 20px;
	padding:0 0 10px;
}





/* ---------- font ---------- */

p {
	font-size:80%;
	line-height:1.8em;
	padding:0 0 15px;
}





/* ---------- link ---------- */

.link {
	padding:5px 0 25px;
}

.link a {
	background:#003F97 url(../../images/top/bg_arrow_3.png) no-repeat 10px center;
	border:none;
	border-radius:5px;
	color:#fff;
	display:inline-block;
	line-height:1.2em;
	padding:6px 15px 5px 30px;
	text-decoration:none;
	transition:0.2s ease-in-out; 
}

.link a:hover {
	background:#003F97 url(../../images/top/bg_arrow_3.png) no-repeat 15px center;
}





/* ---------- button ---------- */

.button {
	text-align:center;
	padding:10px 0 20px;
}

.button a ,
.button button {
	border:none;
	border-radius:5px;
	color:#fff;
	display:inline-block;
	font-size:130%;
	line-height:1.2em;
	min-width:150px;
	padding:10px 20px;
	text-decoration:none;
}

.button .next {
	background:#FF9900;
	font-weight:bold;
}

.button .back {
	background:#999;
}





/* ---------- .table ---------- */

.table {
	border-top:#eee 1px solid;
	margin:0 0 20px;
	width:100%;
}

.table th {
	border-bottom:#eee 1px solid;
	padding:15px 0;
	text-align:left;
	vertical-align:top;
}

.table th p {
	background:#f7f7f7;
	padding:10px 20px;
}

.table td {
	border-bottom:#eee 1px solid;
	vertical-align:middle;
	padding:15px 0 0 30px;
}

.table input,
.table textarea {
	border:#ccc 1px solid;
	font-size:150%;
	padding:3px;
}

.table .error {
	background:#FFCC00;
}

.table .require p {
	background:#f7f7f7 url(../../images/under/bg_require.png) no-repeat right center;
}

@media screen and (max-width: 640px) {
	
	.table,
	.table tbody,
	.table tr,
	.table th,
	.table td {
		display:block;
	}

	.table th {
		border-bottom:none;
		padding:15px 0 0;
	}
	
	.table td {
		padding:15px 20px 10px 20px;
	}

	.table input,
	.table textarea {
		box-sizing:border-box;
	-webkit-box-sizing:border-box;
		width:100%;
	}
	
}





/* ---------- .table_cancel ---------- */

.table_cancel {
	border-left:#eee 1px solid;
	border-top:#eee 1px solid;
	font-size:75%;
	line-height:1.7em;
	margin:0 0 20px;
	table-layout:fixed;
	width:100%;
}

.table_cancel th,
.table_cancel td {
	border-bottom:#eee 1px solid;
	border-right:#eee 1px solid;
	padding:10px;
	text-align:center;
}

.table_cancel th,
.table_cancel th.thead {
	background:#fafafa;
}

@media screen and (max-width: 640px) {
	
	.table_cancel,
	.table_cancel tbody,
	.table_cancel tr,
	.table_cancel td {
		display:block;
	}
	
	.table_cancel th {
		display:none;
	}
	
	.table_cancel td {
		text-align:left;
		padding:0;
	}
	
	.table_cancel td:before {
		background:#f7f7f7;
		content: attr(data-th) "";
		display: inline-block;
		margin:0 10px 0 0;
		padding:10px;
		width:40%;
	}
	
}





/* ---------- .table_compensation ---------- */

.table_compensation {
	border-left:#eee 1px solid;
	border-top:#eee 1px solid;
	font-size:75%;
	line-height:1.7em;
	margin:0 0 20px;
	width:100%;
}

.table_compensation th,
.table_compensation td {
	border-bottom:#eee 1px solid;
	border-right:#eee 1px solid;
	padding:10px;
	text-align:left;
	vertical-align:middle;
}

.table_compensation th {
	background:#fafafa;
	font-weight:bold;
	white-space:nowrap;
}

.table_compensation th {
	background:#fafafa;
}

.table_compensation .center {
	text-align:center;
}

.table_compensation .right {
	text-align:right;
}

@media screen and (max-width: 640px) {
	
	.table_compensation,
	.table_compensation tbody,
	.table_compensation tr,
	.table_compensation td {
		display:block;
	}
	
	.table_compensation th {
		display:none;
	}
	
	.table_compensation td {
		text-align:left;
	}

	.table_compensation .center {
		padding:10px 10px 10px 20px;
		text-align:left;
	}

	.table_compensation td:before {
		content: attr(data-th) "";
		display: inline-block;
	}
	
	.table_compensation td:nth-of-type(1) {
		background:#f7f7f7;
	}
	
	.tour td:nth-of-type(1):before {
		content: "ツアー：";
	}
	
	.tour td:nth-of-type(2):before {
		content: "出発地：";
	}
	
	.tour td:nth-of-type(3):before {
		content: "内容：";
	}
	
	.change td:nth-of-type(2):before {
		content: "旅行開始日の前日までにお客様に通知した場合：";
	}
	
	.change td:nth-of-type(3):before {
		content: "旅行開始日以降にお客様に通知した場合：";
	}
	
	.cancel td:nth-of-type(2):before {
		content: "取消料：";
	}
	
	.compensation td:nth-of-type(2):before {
		content: "旅行開始前 一件あたりの率（％）：";
	}
	
	.compensation td:nth-of-type(3):before {
		content: "旅行開始後 一件あたりの率（％）：";
	}
	
}


