@charset "UTF-8";
@import url("margin.css");

.vis-tb {
	display: none;
}

.hide-tb {
	display: block;
}

.vis-sp {
	display: none;
}

.hide-sp {
	display: block;
}
.-br10{
	border-radius: 10px;
}
.pageBody {
	margin-bottom: 0;
}

.inner {
	max-width: 1230px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

.hero {
	background-image: url('../img/img-cmn-head.jpg');
	background-repeat: no-repeat;
	background-position: top;
	background-size: cover;
	text-align: center;
	color: #FFF;
	padding: 80px 10%;
	line-height: 1;
}

.hero_ttl {}

.hero_ttl img {
	max-width: 100%;
	height: auto;
}

.hero_ttl em {
	display: block;
	font-size: 24px;
	margin-top: 30px;
	font-style: normal;
	font-weight: bold;
}

.contents {
	max-width: 990px;
	margin: 70px auto 0px;
	padding: 0 15px;
}

.sche {
	line-height: 1;
	margin-top: 40px;
}

.sche_link {
	position: relative;
	display: block;
	text-decoration: none;
	background: #469B7D;
	color: #fff;
	border-radius: 8px;
	padding: 15px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
	transition: opacity .3s;
}

.sche_link:hover {
	opacity: 0.8;
}

.sche_catch {
	font-size: 14px;
	display: inline-block;
	background: #FFFE88;
	color: #333;
	padding: 10px 25px;
	font-weight: bold;
	box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
	position: absolute;
	top: -15px;
	left: -10px;
	transform: rotate(-3deg);
}

.sche_ttl {
	text-align: center;
	flex: 1;
	margin-right: 20px;
	padding-top: 15px;
}

.sche_ttl img {
	vertical-align: middle;
	margin-right: 10px;
}

.sche_ttl em {
	display: inline-block;
	text-align: left;
	vertical-align: middle;
	font-size: 28px;
	font-weight: bold;
	font-style: normal;
}

.sche_text {
	background: #FFF;
	font-size: 13px;
	color: #333;
	padding: 15px;
	border-radius: 8px;
	line-height: 1.5;
}

.calcSystem {
	margin: 50px 0;
	font-size: 16px;
}

.calcSystem_title {
	background: #0AB777;
	color: #fff;
	font-size: 22px;
	font-weight: normal;
	line-height: 44px;
	padding: 0 0 0 20px;
	position: relative;
	z-index: 1;
}

.calcSystem_title>img {
	display: block;
	position: absolute;
	z-index: 1;
	left: -74px;
	top: -59px;
}

.calcSystem_inner {
	border: 1px solid #0AB777;
	background: #EEE;
	padding: 15px 15px;
}

.calcSystem_input {
	text-align: center;
}

.calcSystem_input>form>label {
	margin: 0 1em 0 0;
}

.calcSystem_button {
	display: block;
	background: #00B973;
	color: #fff;
	width: 340px;
	line-height: 50px;
	font-weight: bold;
	border-radius: 4px;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, .1);
	margin: 16px auto 0px;
	font-size: 18px;
	-webkit-transition: background-color 0.3s;
	transition: background-color 0.3s;
}

.calcSystem_button:hover {
	background: #33C78F;
}

.calcSystem_output {
	background: #fff;
	padding: 22px;
	margin-top: 20px;
}

.calcSystem_output_result {
	color: #FF5C26;
	font-size: 23px;
	font-weight: bold;
	text-align: center;
}

.timetable {
	margin-top: 50px;
}

.timetable_btn {
	display: flex;
	justify-content: center;
}

.timetable_btn a {
	display: block;
	color: #fff;
	text-decoration: none;
	font-size: 18px;
	width: 49%;
	margin-left: 2%;
	line-height: 1;
	padding: 28px;
	border-radius: 8px;
	box-shadow: 0 2px 0px #ccc;
	box-sizing: border-box;
	font-weight: bold;
	background: #337AC0;
	text-align: center;
	transition: opacity .8s;
}

.timetable_btn>a:first-child {
	margin-left: 0;
}

.timetable_btn>a:hover {
	opacity: 0.8;
	transition: opacity .3s;
}

.back {
	text-align: center;
	line-height: 1;
	background: #F5F6F8;
	padding: 80px 15px;
}

.back a {
	width: 100%;
	max-width: 540px;
	position: relative;
	line-height: 1;
	display: inline-block;
	padding: 30px 0;
	background: #169A64;
	text-decoration: none;
	border-radius: 42px;
	overflow: hidden;
}

.back a::before {
	content: "";
	display: block;
	background: #11AC75;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50%;
}

.back a em {
	font-size: 24px;
	color: #FFF;
	font-weight: bold;
	position: relative;
	font-style: normal;
}

.course {
	padding: 100px 0;
	overflow: hidden;
}

.course_head {
	text-align: center;
	line-height: 1;
}

.course_head_ttl {
	font-size: 36px;
	line-height: 1.4;
	padding-top: 80px;
	position: relative;
}

.course_head_ttl::before {
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -70px;
	width: 139px;
	height: 49px;
	background-image: url('../img/img-cmn-mountain@2x.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: "";
	display: block;
	width: 139px;
	height: 49px;
}

.course_head_info {
	margin: 30px auto 0;
	max-width: 1080px;
}

.course_head_ticket {
	display: table;
	width: 100%;
	border: 3px solid #1c6bae;
	border-radius: 10px;
	font-size: 18px;
	text-align: left;
	line-height: 1.3;
	box-sizing: border-box;
}

.course_head_ticket dt,
.course_head_ticket dd {
	display: table-cell;
	vertical-align: middle;
	font-weight: bold;
	padding: 20px 20px 16px;
}

.course_head_ticket dt {
	color: #FFF;
	background: #1C6BAE;
	width: 5em;
	text-align: center;
}

.course_head_ticket dd {}

.course_head_keyword {
	margin-top: 15px;
	line-height: 1.4;
	padding: 20px 20px 16px;
	border-radius: 10px;
	background: #FEF9DC;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	display: none;
}

.course_head_keyword em {
	min-width: 125px;
	line-height: 1;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	font-size: 17px;
	font-weight: bold;
}

.course_head_keyword em::after {
	content: "";
	margin-left: 1em;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3.5px 0 3.5px 6px;
	border-color: transparent transparent transparent #000333;
	display: block;
}

.course_head_keyword_list {
	list-style: none;
	font-size: 0;
}

.course_head_keyword_list li {
	display: inline-block;
	font-size: 16px;
}

.course_head_keyword_list li::after {
	content: "／";
}

.course_head_keyword_list li:last-child::after {
	content: none;
}

.course_flow {
	margin-top: 20px;
	list-style-type: none;
	line-height: 1;
	font-size: 0;
}

.course_flow>li {
	display: block;
	font-size: 14px;
}
.course_flow>li.vis-sp{
	display: none;
}

.course_start {
	margin: 0 auto 45px;
	max-width: 730px;
	width: 100%;
	line-height: 1;
	padding: 30px 0;
	border-radius: 42px;
	background: #11ac75;
	display: block;
	text-align: center;
	font-size: 24px;
	color: #FFF;
	font-weight: bold;
	text-decoration: none;
	position: relative;
}

.course_start::after {
	content: "";
	margin-left: -12px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20.8px 12px 0 12px;
	border-color: #11ac75 transparent transparent transparent;
	display: block;
	position: absolute;
	left: 50%;
	bottom: -20px;
}

.course_early {
	font-size: 24px;
	text-align: center;
	font-weight: bold;
	padding-top: 20px;
}

.course_vehicle {
	margin: 30px 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.course_vehicle::before {
	content: "";
	max-width: 300px;
	width: 100%;
	background-position: right;
	background-size: contain;
	background-repeat: no-repeat;
	display: none;
	order: 1;
}

.course_vehicle.-kanbus::before {
	background-image: url('../img/img-cmn-way-kanbus@2x.png');
	height: 56px;
	display: block;
}

.course_vehicle.-koubus::before {
	background-image: url('../img/img-cmn-way-koubus_2412.png');
	height: 49px;
	display: block;
}

.course_vehicle.-kurocable::before {
	background-image: url('../img/img-cmn-way-kurocable@2x.png');
	height: 86px;
	display: block;
}

.course_vehicle.-ropeway::before {
	background-image: url('../img/img-cmn-way-ropeway@2x.png');
	height: 75px;
	display: block;
}

.course_vehicle.-tatecable::before {
	background-image: url('../img/img-cmn-way-tatecable@2x.png');
	height: 89px;
	display: block;
}

.course_vehicle.-torobus::before {
	background-image: url('../img/img-cmn-way-tateyama_denki.png');
	height: 53px;
	display: block;
}

.course_vehicle.-walk::before {
	background-image: url('../img/img-cmn-way-walk@2x.png');
	height: 96px;
	display: block;
}

.course_vehicle::after {
	content: "";
	margin: 0;
	width: 70px;
	height: 70px;
	background-image: radial-gradient(circle at center center, #11ac75 0px, #11ac75 7px, transparent 7px, transparent 100%);
	background-size: 14px 28px;
	background-repeat: repeat-y;
	background-position: center;
	z-index: 10;
	order: 2;
}

.course_vehicle_bal {
	max-width: 300px;
	width: 100%;
	order: 3;
}

.course_vehicle_bal p {
	margin-right: auto;
	height: 50px;
	padding: 0 20px;
	border-radius: 10px;
	background: #FFE400;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	font-weight: bold;
	position: relative;
}

.course_vehicle_bal p::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 10px 4px 0;
	border-color: transparent #FFE400 transparent transparent;
	display: block;
	position: absolute;
	left: -10px;
	top: 50%;
	transform: translate(0%, -50%);
}

.spot {}

.spot_cnt {
	background: #f5f6f8;
	padding: 40px 80px 60px;
	border-radius: 10px;
	display: inline-block;
}

.spot_head {
	text-align: center;
	font-size: 14px;
}

.spot_head_ttl {
	margin: 30px 0;
	line-height: 1.2;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 40px;
	font-style: normal;
	position: relative;
	z-index: 10;
}

.spot_head_ttl::before {
	content: "";
	margin-right: 15px;
	width: 53px;
	height: 71px;
	background-image: url('../img/img-cmn-marker@2x.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
}

.spot_head_ttl span>* {
	display: block;
}

.spot_head_ttl * {
	font-weight: inherit;
}

.spot_head_ttl em {
	font-size: inherit;
}

.spot_head_ttl small {
	font-size: 20px;
}

.spot_head_return {
	font-size: 24px;
	text-align: center;
	line-height: 1.2;
	margin: 25px 0;
}

.spot_row {
	position: relative;
	margin-top: 15px;
}

.spot_row.-center {
	text-align: center;
}

.spot_row.-right {
	text-align: right;
}

.spot_row.-left {
	text-align: left;
}

.spot_col {
	position: relative;
	display: inline-block;
	vertical-align: middle;
}

.spot_back {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
}

.spot_arrow {
	text-align: center;
	margin: 30px 0;
}

.spot_arrow em {
	font-weight: bold;
	display: inline-block;
	font-size: 40px;
	padding-top: 80px;
}

.spot_arrow em::before {
	position: absolute;
	content: "";
	display: block;
	width: 0;
	height: 0;
	left: 50%;
	top: 0;
	margin-left: -50px;
	border-style: solid;
	border-width: 50px 50px 0 50px;
	border-color: #079f6f transparent transparent transparent;
}

.spot_main {
	position: relative;
	z-index: 1;
	display: inline-block;
}

.spot_main img {
	max-width: 100%;
	height: auto;
}

.spot_sub {
	position: absolute;
	z-index: 10;
}

.spot_sub img {
	max-width: 100%;
	height: auto;
}

.spot_image {}

.spot_image > img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
}

.spot_image-nMt10 {
	margin-top: -10px;
}

.spot_image-nMt20 {
	margin-top: -20px;
}

.spot_image-nMt30 {
	margin-top: -30px;
}

.spot_image-nMt40 {
	margin-top: -40px;
}

.spot_image-nMt50 {
	margin-top: -50px;
}

.spot_image-nMt60 {
	margin-top: -60px;
}

.spot_image-nMt70 {
	margin-top: -70px;
}

.spot_image-nMt80 {
	margin-top: -80px;
}

.spot_image-nMt90 {
	margin-top: -90px;
}

.spot_image-nMt100 {
	margin-top: -100px;
}

.spot_image-nMt110 {
	margin-top: -110px;
}

.spot_image-nMt120 {
	margin-top: -120px;
}

.spot_image-nMt130 {
	margin-top: -130px;
}

.spot_image-nMt140 {
	margin-top: -140px;
}

.spot_image-nMt150 {
	margin-top: -150px;
}

.spot_image-nMt170 {
	margin-top: -170px;
}

.spot_image-nMt220 {
	margin-top: -220px;
}

.spot_image-nMt250 {
	margin-top: -250px;
}

.spot_image-nMt300 {
	margin-top: -300px;
}

.spot_image-nMt330 {
	margin-top: -330px;
}

.spot_image-nMt400 {
	margin-top: -400px;
}

.spot_image-nMb10 {
	margin-bottom: -10px;
}

.spot_image-nMb20 {
	margin-bottom: -20px;
}

.spot_image-nMb30 {
	margin-bottom: -30px;
}

.spot_image-nMb40 {
	margin-bottom: -40px;
}

.spot_image-nMb50 {
	margin-bottom: -50px;
}

.spot_image-nMb60 {
	margin-bottom: -60px;
}

.spot_image-nMb70 {
	margin-bottom: -70px;
}

.spot_image-nMb80 {
	margin-bottom: -80px;
}

.spot_image-nMb90 {
	margin-bottom: -90px;
}

.spot_image-nMb100 {
	margin-bottom: -100px;
}

.spot_image-nMb110 {
	margin-bottom: -110px;
}

.spot_image-nMb120 {
	margin-bottom: -120px;
}

.spot_image-nMb130 {
	margin-bottom: -130px;
}

.spot_image-nMb140 {
	margin-bottom: -140px;
}

.spot_image-nMb150 {
	margin-bottom: -150px;
}

.spot_image-nMl150pc {
	margin-left: -150px;
}

/* 2105追加クラス */
.spot_item {
	position: relative;
}

.spot_item img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}

.spot_item.-left img {
	margin-left: 0;
}

.spot_item.-right img {
	margin-right: 0;
}

.spot_item img.-sub{
	position: absolute;
}

.spot_flex {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.spot_flex.-left {
	justify-content: flex-start;
}

.spot_flex.-center {
	justify-content: center;
}

.spot_flex.-right {
	justify-content: flex-end;
}

.spot_flex img{
	max-width: 100%;
	height: auto;
}

/* タブレット以下設定 */
@media screen and (max-width:999px) {
	.vis-tb {
		display: block;
	}

	.hide-tb {
		display: none;
	}

	.spot_sub {
		max-width: 45%;
	}

	.sche_ttl em {
		font-size: 21px;
		line-height: 1.2;
	}

	.sche_text {
		flex: 1;
	}

	.calcSystem {
		margin: 4.7% 0 5.4%;
		font-size: 14px;
	}

	.calcSystem_title {
		font-size: 19px;
		line-height: 38px;
		padding: 0 0 0 15px;
	}

	.calcSystem_title>img {
		display: none;
	}

	.calcSystem_inner {
		padding: 15px;
	}

	.calcSystem_button {
		width: 300px;
		line-height: 45px;
		margin: 2% auto 0;
		font-size: 16px;
	}

	.calcSystem_output {
		padding: 15px;
	}

	.calcSystem_output_result {
		font-size: 20px;
	}

	.timetable {
		margin-top: 5.4%;
	}

	.timetable_btn a {
		line-height: 1.4;
	}

	.spot_head_ttl {
		font-size: 28px;
	}

	.spot_image-nMt10 {
		margin-top: -1vw;
	}

	.spot_image-nMt20 {
		margin-top: -2vw;
	}

	.spot_image-nMt30 {
		margin-top: -3vw;
	}

	.spot_image-nMt40 {
		margin-top: -4vw;
	}

	.spot_image-nMt50 {
		margin-top: -5vw;
	}

	.spot_image-nMt60 {
		margin-top: -6vw;
	}

	.spot_image-nMt70 {
		margin-top: -7vw;
	}

	.spot_image-nMt80 {
		margin-top: -8vw;
	}

	.spot_image-nMt90 {
		margin-top: -9vw;
	}

	.spot_image-nMt100 {
		margin-top: -10vw;
	}

	.spot_image-nMt110 {
		margin-top: -11vw;
	}

	.spot_image-nMt120 {
		margin-top: -12vw;
	}

	.spot_image-nMt130 {
		margin-top: -13vw;
	}

	.spot_image-nMt140 {
		margin-top: -14vw;
	}

	.spot_image-nMt150 {
		margin-top: -15vw;
	}

	.spot_image-nMt170 {
		margin-top: -17vw;
	}

	.spot_image-nMt220 {
		margin-top: -22vw;
	}

	.spot_image-nMt250 {
		margin-top: -25vw;
	}

	.spot_image-nMt300 {
		margin-top: -30vw;
	}

	.spot_image-nMt330 {
		margin-top: -33vw;
	}

	.spot_image-nMt400 {
		margin-top: -40vw;
	}

	.spot_image-nMb10 {
		margin-bottom: -1vw
	}

	.spot_image-nMb20 {
		margin-bottom: -2vw
	}

	.spot_image-nMb30 {
		margin-bottom: -3vw
	}

	.spot_image-nMb40 {
		margin-bottom: -4vw
	}

	.spot_image-nMb50 {
		margin-bottom: -5vw
	}

	.spot_image-nMb60 {
		margin-bottom: -6vw
	}

	.spot_image-nMb70 {
		margin-bottom: -7vw
	}

	.spot_image-nMb80 {
		margin-bottom: -8vw
	}

	.spot_image-nMb90 {
		margin-bottom: -9vw
	}

	.spot_image-nMb100 {
		margin-bottom: -10vw
	}

	.spot_image-nMb110 {
		margin-bottom: -11vw
	}

	.spot_image-nMb120 {
		margin-bottom: -12vw
	}

	.spot_image-nMb130 {
		margin-bottom: -13vw
	}

	.spot_image-nMb140 {
		margin-bottom: -14vw
	}

	.spot_image-nMb150 {
		margin-bottom: -15vw
	}

	.spot_image-nMl150pc {
		margin-left: 0;
	}

}

/* All SP */
@media screen and (max-width:639px) {
	.vis-sp {
		display: block;
	}

	.hide-sp {
		display: none;
	}
	.course_flow>li.vis-sp{
		display: block;
	}

	.hero {
		padding: 40px 20px;
	}

	.hero_ttl {}

	.hero_ttl img {}

	.hero_ttl em {
		font-size: 18px;
		margin-top: 20px;
	}

	.contents {
		margin: 0 auto 0px;
	}

	.sche {}

	.sche_link {
		display: block;
	}

	.sche_catch {}

	.sche_ttl {
		margin-right: 0;
		padding-top: 20px;
	}

	.sche_ttl img {
		width: 24px;
		height: auto;
		margin: 0 5px;
	}

	.sche_ttl em {
		font-size: 18px;
	}

	.sche_ttl em br {
		display: none;
	}

	.sche_text {
		margin-top: 15px;
	}

	.timetable {}

	.timetable_btn {
		display: block;
	}

	.timetable_btn a {
		width: 100%;
		margin-left: 0;
		padding: 22px;
	}

	.timetable_btn>a:first-child {
		margin-bottom: 20px;
	}

	.back {
		padding: 30px 15px;
	}

	.back a {}

	.back a::before {}

	.back a em {
		font-size: 18px;
		letter-spacing: normal;
	}

	.course {
		padding: 50px 0;
	}

	.course_head {}

	.course_head_ttl {
		font-size: 20px;
		padding-top: 45px;
	}

	.course_head_ttl::before {
		width: 80px;
		height: 30px;
		margin-left: -40px;
	}

	.course_head_info {}

	.course_head_ticket {
		display: table;
	}

	.course_head_ticket dt,
	.course_head_ticket dd {
		display: block;
	}

	.course_head_ticket dt {
		width: 100%;
		box-sizing: border-box;
		font-size: 16px;
		padding: 10px;
	}

	.course_head_ticket dd {
		padding: 15px;
		font-size: 16px;
	}

	.course_head_keyword {
		font-size: 14px;
		text-align: left;
	}

	.course_head_keyword dt,
	.course_head_keyword dd {}

	.course_head_keyword dt {}

	.course_head_keyword dt::after {}

	.course_head_keyword dd {
		display: block;
	}

	.course_flow {}

	.course_start {
		padding: 20px 0;
		font-size: 20px;
	}

	.course_start::after {}

	.course_vehicle {
		margin: 15px 0;
	}

	.course_vehicle::before {
		transform: scale(0.75);
		transform-origin: right;
	}

	.course_vehicle::after {
		background-image: radial-gradient(circle at center center, #11ac75 0px, #11ac75 5px, transparent 5px, transparent 100%);
		background-size: 10px 20px;
		height: 50px;
		width: 50px;
	}

	.course_vehicle_dot {}

	.course_vehicle_bal {}

	.course_vehicle_bal p {
		padding: 0 15px;
		font-size: 14px;
	}

	.course_vehicle_bal p::before {}

	.spot {}

	.spot_cnt {
		padding: 30px 15px 40px;
	}

	.spot_head {}

	.spot_head_ttl {
		margin: 20px 0;
		font-size: 24px;
	}

	.spot_head_ttl::before {
		width: 30px;
		height: 41px;
	}

	.spot_head_ttl em {
	}

	.spot_head_ttl small {
		font-size: 13px;
	}
	.spot_head_return {
		font-size: 16px;
		margin: 10px 0;
	}

	.spot_row {}

	.spot_row.-center {}

	.spot_row.-right {}

	.spot_row.-left {}

	.spot_col {}

	.spot_back {
		font-size: 20px;
	}

	.spot_arrow {
		margin: 20px 0;
	}

	.spot_arrow em {
		font-size: 20px;
		padding-top: 40px;
	}

	.spot_arrow em::before {
		margin-left: -20px;
		border-width: 20px 20px 0 20px;
	}

	.spot_main {}

	.spot_main img {}

	.spot_sub {}

	.spot_sub img {}

	/* 2105追加クラス */

	.spot_flex {
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
	}

}