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



/* FONT size
---------------------------------------------------------------------
[ px ]	[ % ]
10px 	72  %		19px 	136 %
11px 	79  %		20px 	143 %
12px 	86 %		21px 	150 %
13px 	93 %		22px 	158 %
14px 	100 %		23px 	165 %
15px 	108 %		24px 	172 %
16px 	115 %		25px 	179 %
17px 	122 %		26px 	186 %
18px 	129 %
---------------------------------------------------------------------*/







/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#pagetitle {
	background: url(../img/pagetitle.jpg) no-repeat center;
	background-size: cover;
}
	#pagetitle .titbox {
		margin-top: -180px;
	}
		#pagetitle .titbox .head {
			font-size: 158%;
			font-weight: 600;
			margin-bottom: 20px;
		}
			#pagetitle .titbox .head .black {
				background: #000;
				padding: 2px 10px;
			}
			#pagetitle .titbox .head .blue {
				color: #00a0f7;
			}


		#pagetitle .titbox h1 {
			line-height: 1.4em;
			margin-bottom: 30px;
		}
			#pagetitle .titbox .en {
				font-size: 66px;
			}
			#pagetitle .titbox .number {
				font-size: 60px;
				font-weight: 700;
				font-family: "Noto Sans JP";
			}


		#pagetitle .titbox .txt {
			font-size: 129%;
			font-weight: 500;
			line-height: 42px;
		}


	#pagetitle ul.pop li {
		position: absolute;
	}
	#pagetitle ul.pop li:nth-child(1) {
		width: 220px;
		bottom: -70px;
		right: 100px;
	}
	#pagetitle ul.pop li:nth-child(2) {
		width: 96px;
		bottom: 35%;
		right: 3%;
	}
	#pagetitle ul.pop li:nth-child(3) {
		width: 156px;
		bottom: 10%;
		left: -2%;
	}
	#pagetitle ul.pop li:nth-child(4) {
		width: 96px;
		bottom: -150px;
		left: 8%;
	}
		#pagetitle ul.pop li img {
			width: 100%;
			height: auto;
			border-radius: 50%;
		}


	
	
/* cta
--------------------- */
.cta {
	width: 100%;
	padding: 80px 0;
	background: #0e0e0e;
}
	.cta p {
		font-size: 143%;
		font-weight: 600;
		text-align: center;
		color: #fff;
		margin-bottom: 40px;
	}


	.cta .btn {
		width: 560px;
		margin: auto;
	}
		.cta .btn a {
			height: 90px;
			font-size: 34px;
			line-height: 94px;
		}


	
	
/* program
--------------------- */
.program {
	width: 100%;
	padding: 100px 0 100px 0;
}
	.program .title {
		text-align: center;
	}
		.program .title h2 {
			line-height: 1.4em;
			margin-bottom: 20px;
		}

		.program .title .en .number {
			font-family: "Noto Sans JP";
			font-weight: 700;
		}

		.program .title .pick {
			margin: 0 auto;
			height: 30px;
			font-size: 129%;
			font-weight: 700;
			line-height: 30px;
			border-radius: 30px;
			color: #fff;
			background: #00a0f7;
		}
		#program_3day .title .pick {
			width: 340px;
		}
		#program_1day .title .pick {
			width: 755px;
		}
			.program .title .pick span {
				color: #ffff00;
			}


	.program .point {
		margin-bottom: 50px;
	}
		.program .point ul li {
			width: 31%;
			background: url(../img/icon_list.png) no-repeat 20px center;
			padding: 20px 0 20px 60px;
			margin-right: 3.3333333%;
			font-size: 143%;
			font-weight: 700;
			border-top: solid 1px #ddd;
		}
		.program .point ul li:nth-child(4),
		.program .point ul li:nth-child(5),
		.program .point ul li:nth-child(6) {
			border-bottom: solid 1px #ddd;
		}
		#program_1day .point ul li:nth-child(2),
		#program_1day .point ul li:nth-child(3) {
			border-bottom: solid 1px #ddd;
		}
		.program .point ul li:nth-child(3n) {
			margin-right: 0;
		}

		.program .point p {
			padding-top: 50px;
			font-size: 108%;
			text-align: center;
		}


	.program .item {
		padding-top: 20px;
		margin-bottom: 80px;
	}
		.program .item dl {
			width: 31%;
			background: #f6f6f6;
			text-align: center;
			padding: 40px 30px;
		}
			.program .item dl dt {
				font-size: 158%;
				font-weight: 700;
				margin-bottom: 10px;
			}
				.program .item dl dt span {
					color: #00a0f7;
				}

			.program .item dl dd {
				font-size: 108%;
			}


	.program .contact {
		padding: 40px 70px;
		background: #f6f6f6;
		margin-bottom: 105px;
	}
		.program .contact h3 {
			font-size: 172%;
			text-align: center;
			margin-bottom: 15px;
		}
			.program .contact h3 span {
				color: #00a0f7;
			}

		.program .contact p {
			font-size: 108%;
			text-align: center;
			letter-spacing: 1.5px;
			margin-bottom: 35px;
		}

		.program .contact dl {
			background: #fff;
			padding: 20px 20px 20px 10px;
		}
			.program .contact dl dt {
				width: 23%;
				font-size: 143%;
				font-weight: 700;
				text-align: center;
				line-height: 1.3em;
				color: #00a0f7;
				border-right: solid 1px #ddd;
			}
				.program .contact dl dt span {
					font-size: 15px;
					letter-spacing: 1px;
				}
			.program .contact dl dd {
				width: 77%;
				padding-left: 30px;
				letter-spacing: 1.5px;
				word-wrap: break-word;
			}
				.program .contact dl dd a:hover {
					text-decoration: underline;
				}


	.program .pbox {
		border: solid 1px #000000;
		padding: 80px 70px 70px 70px;
		margin-bottom: 80px;
		position: relative;
	}
		.program .pbox .tit {
			width: 100%;
			text-align: center;
			position: absolute;
			top: -28px;
			left: 0;
		}
			.program .pbox .tit h3 {
				font-size: 34px;
			}
				.program .pbox .tit h3 span {
					background: #fff;
					padding: 0 25px;
				}

		.program .pbox .list_txt {
			margin-bottom: 35px;
		}
			.program .pbox .list_txt li {
				font-size: 115%;
				padding-left: 16px;
				margin-bottom: 5px;
				position: relative;
			}
			.program .pbox .list_txt li:before {
				content: "";
				width: 8px;
				height: 8px;
				background: #00a0f7;
				border-radius: 50%;
				position: absolute;
				top: 11px;
				left: 0;
			}

		.program .pbox .list_pht li {
			width: 33%;
		}
			.program .pbox .list_pht li img {
				width: 100%;
				height: auto;
			}


	.program .interview {
		margin-bottom: 80px;
	}
		.program .interview h3 {
			font-size: 34px;
			text-align: center;
			margin-bottom: 30px;
		}

		.program .interview .voice {
			width: 24%;
		}
			.program .interview .voice .text {
				background: #dff3fe;
				padding: 25px;
				position: relative;
			}
			.program .interview .voice .text:before {
				content: "";
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 0 20px 20px 0;
				border-color: transparent #dff3fe transparent transparent;
				position: absolute;
				bottom: -20px;
				right: 22px;
			}
				.program .interview .voice .text p span {
					background: #ff0;
					font-weight: 700;
				}

			.program .interview .voice dl {
				padding-top: 25px;
			}
				.program .interview .voice dl dt {
					width: -webkit-calc(100% - 44px);
					width: calc(100% - 44px);
					font-size: 86%;
					text-align: right;
					padding-top: 16px;
				}
				.program .interview .voice dl dd {
					width: 44px;
				}
					.program .interview .voice dl dd img {
						width: 100%;
						height: auto;
					}


	.program .overview {
	}
		.program .overview h3 {
			font-size: 34px;
			text-align: center;
			margin-bottom: 30px;
		}

		.program .overview table {
			width: 100%;
			border-collapse: collapse;
			border-bottom: solid 3px #000;
		}
			.program .overview table th {
				width: 250px;
				border-top: solid 3px #000;
				font-size: 115%;
				font-weight: 700;
				text-align: left;
				vertical-align: top;
				padding: 30px 0 50px 0;
			}
			.program .overview table td {
				border-top: solid 3px #000;
				vertical-align: top;
				padding: 30px 0 50px 0;
			}
				.program .overview table td a {
					color: #00A0F7;
				}
				.program .overview table td a:hover {
					text-decoration: underline;
				}









/* 1160px */
@media screen and (max-width: 1160px) {







/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#pagetitle .titbox h1 {
	line-height: 1.3em;
	margin-bottom: 30px;
}
	#pagetitle .titbox h1 br {
		display: block;
	}
	#pagetitle .titbox .en {
		font-size: 48px;
	}
	#pagetitle .titbox .number {
		font-size: 44px;
	}


#pagetitle .titbox .txt {
	font-size: 100%;
	line-height: 34px;
}


#pagetitle ul.pop li {
	position: absolute;
}
#pagetitle ul.pop li:nth-child(1) {
	width: 150px;
	bottom: 30px;
	right: 5%;
}
#pagetitle ul.pop li:nth-child(2) {
	bottom: 75%;
	right: 30%;
}
#pagetitle ul.pop li:nth-child(4) {
	bottom: -40px;
	left: 23%;
}


	
	
/* program
--------------------- */
#program_3day .title .pick {
	width: 340px;
}
#program_1day .title .pick {
	width: 520px;
	height: 60px;
	padding-top: 5px;
	line-height: 1.4em;
}
	.program .title .pick br {
		display: block;
	}


.program .point ul li {
	width: 48%;
	margin-right: 4%;
}
.program .point ul li:nth-child(4) {
	border-bottom: none;
}
#program_1day .point ul li:nth-child(4) {
	border-bottom: solid 1px #ddd;
}
#program_1day .point ul li:nth-child(2) {
	border-bottom: none;
}
.program .point ul li:nth-child(2n) {
	margin-right: 0;
}
.program .point ul li:nth-child(3) {
	margin-right: 4%;
}

	
.program .contact {
	padding: 40px;
}
	.program .contact dl {
		display: block;
		padding: 20px 40px;
	}
		.program .contact dl dt {
			width: 100%;
			border-right: none;
			margin-bottom: 15px;
		}
		.program .contact dl dd {
			width: 100%;
			padding-left: 0;
			text-align: center;
		}
			.program .contact dl dd span.pc {
				display: none;
			}
			.program .contact dl dd br.sp {
				display: block;
			}


.program .pbox {
	padding: 80px 40px 40px 40px;
}



.program .interview {
	margin-bottom: 60px;
}
	.program .interview .flex-start {
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
		.program .interview .voice {
			width: 48%;
			margin-right: 4%;
			margin-bottom: 4%;
		}
		.program .interview .voice:nth-child(2n) {
			margin-right: 0;
		}



.program .overview table th {
	width: 150px;
}









}

	







/* max 767px */
@media screen and (max-width: 767px) {







/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#pagetitle .titbox {
	webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	margin-top: 20px;
}
	#pagetitle .titbox .head {
		font-size: 86%;
		letter-spacing: 0px;
	}
		#pagetitle .titbox .head .black {
			padding: 2px 5px;
		}


	#pagetitle .titbox h1 {
		line-height: 1.4em;
		margin-bottom: 10px;
		text-indent: 25px;
	}
		#pagetitle .titbox .en {
			font-size: 20px;
		}
		#pagetitle .titbox .number {
			font-size: 18px;
		}


	#pagetitle .titbox .txt {
		font-size: 93%;
		line-height: 2em;
		padding: 0 5%;
		text-align: left;
	}
		#pagetitle .titbox .txt br {
			display: none;
		}


#pagetitle ul.pop {
	display: none;
}


	
	
/* cta
--------------------- */
.cta {
	padding: 45px 0 50px 0;
}
	.cta p {
		font-size: 108%;
		margin-bottom: 25px;
	}


	.cta .btn {
		width: 90%;
	}
		.cta .btn a {
			height: 60px;
			font-size: 129%;
			line-height: 64px;
		}


	
	
/* program
--------------------- */
.program {
	padding: 50px 0 50px 0;
}
	.program .title .pick {
		height: auto;
		font-size: 108%;
		line-height: 1.4em;
		letter-spacing: 1px;
		border-radius: 0;
		color: #000111;
		background: none;
	}
	#program_3day .title .pick {
		width: 100%;
	}
	#program_1day .title .pick {
		width: 100%;
	}
		.program .title .pick span {
			color: #00a0f7;
		}


.program .point {
	margin-bottom: 40px;
}
	.program .point ul {
		display: block;
		border-bottom: solid 1px #ddd;
	}
		.program .point ul li {
			width: 100%;
			background: url(../img/icon_list.png) no-repeat 10px center / 20px;
			padding: 10px 0 10px 40px;
			margin-right: 0 !important;
			font-size: 115%;
			font-weight: 700;
			border-bottom: none !important;
		}

	.program .point p {
		padding-top: 30px;
		font-size: 93%;
		line-height: 2em;
		text-align: left;
	}


.program .item {
	display: block;
	padding-top: 0;
	margin-bottom: 35px;
}
	.program .item dl {
		width: 100%;
		background: #f6f6f6;
		text-align: left;
		padding: 25px;
		margin-bottom: 3%;
	}
		.program .item dl dt {
			font-size: 115%;
			margin-bottom: 5px;
		}

		.program .item dl dd {
			font-size: 93%;
		}


.program .contact {
	padding: 25px;
	background: #f6f6f6;
	margin-bottom: 105px;
}
	.program .contact h3 {
		font-size: 129%;
		line-height: 1.4em;
		text-align: center;
		margin-bottom: 15px;
	}
		.program .contact h3 span {
			color: #00a0f7;
		}

	.program .contact p {
		font-size: 93%;
		line-height: 2em;
		text-align: left;
		margin-bottom: 25px;
	}

	.program .contact dl {
		padding: 15px 25px 20px 25px;
	}
		.program .contact dl dt {
			font-size: 129%;
		}
			.program .contact dl dt span {
				font-size: 12px;
			}
		.program .contact dl dd {
			font-size: 86%;
			text-align: left;
		}


.program .pbox {
	padding: 25px;
	margin-bottom: 40px;
}
	.program .pbox .tit {
		text-align: center;
		position: static;
		margin-bottom: 20px;
	}
		.program .pbox .tit h3 {
			font-size: 129%;
		}
			.program .pbox .tit h3 span {
				background: none;
				padding: 0;
			}

		.program .pbox .tit .cap {
			font-size: 72%;
		}

	.program .pbox .list_txt {
		margin-bottom: 25px;
	}
		.program .pbox .list_txt li {
			font-size: 93%;
			margin-bottom: 10px;
			padding-left: 12px;
		}
		.program .pbox .list_txt li:before {
			width: 6px;
			height: 6px;
			top: 9.5px;
		}


.program .interview {
	margin-bottom: 15px;
}
	.program .interview h3 {
		font-size: 129%;
		margin-bottom: 20px;
	}

	.program .interview .vbox {
		display: block;
	}
	.program .interview .voice {
		width: 100%;
		margin-right: 0;
		margin-bottom: 25px;
	}
		.program .interview .voice .text {
			font-size: 93%;
			line-height: 2em;
		}



.program .overview h3 {
	font-size: 129%;
	margin-bottom: 20px;
}

.program .overview table {
	width: 100%;
	border-collapse: collapse;
	border-bottom: solid 3px #000;
}
	.program .overview table th {
		font-size: 100%;
		display: block;
		width: 100%;
		padding: 20px 0 5px 0;
	}
	.program .overview table td {
		display: block;
		width: 100%;
		font-size: 93%;
		padding: 0 0 40px 0;
		border-top: none;
	}


	
	





}


	
