@charset "utf-8";
/*--------------------------------------
header
---------------------------------------*/
.local .header {
	background: url("../images/bg_header.jpg") no-repeat;
	background-size: cover;
}
@media screen and (max-width:767.98px) {
	.local .header {
		background-position: 50% 50%;
	}
}
.local .header .mainv {
  height: 215px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.local .header .mainv img {
	width: 60%;
	margin: 0 auto;
	display: block;
}
/*--------------------------------------
.train
---------------------------------------*/
.train .bg-lightgray{
	padding: 45px 0;
}
.train .train-block{
  margin-bottom: 60px;
	background: #fff;
}
.train .train-block:last-child {
  margin-bottom: 0;
}
.train .train-block__heading{
	padding: 8px 0;
	color: #fff;
	text-align: center;
	font-size: 2.8rem;
}
@media screen and (max-width:320px) {
	.train .train-block__heading{
		font-size: 2.2rem;
	}
}
@media screen and (max-width:1199.98px) {
	.train .train-block__heading{
		margin-right: -6%;
		margin-left: -6%;
	}
}
.train .train-block__lead{
	padding-top: 20px;
	margin-bottom: 20px;
	text-align: center;
	font-size: 2.0rem;
	font-weight: 700;
}
.train .train-block__info{
	padding: 8px 0;
	background: #fffad9;
	font-weight: 700;
	text-align: center;
}
.train .lavender .train-block__info{
	border-top:1px solid #000;
	border-bottom:1px solid #000;
}
.train .furano-green .train-block__info{
	border-top:1px solid #000;
	border-bottom:1px solid #000;
}
.train .furano-blue .train-block__info{
	border-top:1px solid #000;
	border-bottom:1px solid #000;
}
.train .train-block__info span{
	display: block;
	font-size: 2.0rem;
}
.train .train-item{
	padding: 25px 20px;
}
@media screen and (max-width:767.98px) {
	.train .train-item{
		padding: 25px 0;
	}
}
.train .train-item__ttl{
	padding: 5px 0;
	color: #fff;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
}
.train .train-item__date{
	padding: 18px 0;
}
.train .train-item__date dt{
	margin-bottom: 6px;
	font-size: 1.7rem;
}
.train .train-item__date dd span{
	display: inline-block;
}
.train .train-item__price{
	padding: 18px 0;
}
.train .train-item__price span{
	margin-bottom: 6px;
}
.train .tab-r-line {
	position: relative;
	top: calc(50% - 1px);
	margin: 0 10px;
	border: none;
	border-top: dotted 2px #808080;
}
.train .train-item__line {
	flex: auto;
}
.train .train-item__note{
	margin-bottom: 18px;
}
.train .furano-green .train-item__catch{
	margin-bottom: 25px;
	padding: 8px 0;
	border-top:1px solid #ff0000;
	border-bottom:1px solid #ff0000;
	text-align: center;
	font-size: 2.0rem;
	font-weight: 700;
}
.train-item__catch2{
	margin-bottom: 25px;
	padding: 8px 0;
	border-top:1px solid #ff0000;
	border-bottom:1px solid #ff0000;
	text-align: center;
	font-size: 2.0rem;
	font-weight: 700;
}
@media screen and (max-width:767.98px) {
	.train .furano-green .train-item__catch{
		text-align: left;
	}
}
.train .furano-green .train-item__note{
	margin-bottom: 0;
}
.train .furano-blue .train-item__note{
	margin-bottom: 0;
	padding-left:0.5em;
	text-indent:-0.5em;
}
.train .train-item__set .train-item__ttl{
	font-size: 1.8rem;
}
/*--------------------------------------
.ticket
---------------------------------------*/
.ticket .bg-lightgray{
	padding-top: 40px;
	padding-bottom: 52px;
}
.ticket .ticket-block__item{
	padding: 10px;
	background: #fff;
	box-shadow: 0 0 4px #ccc; 
}
.ticket .ticket-block__inner{
	padding: 30px 20px 20px 20px;
	border:1px solid #000;
}
.ticket .ticket-block__heading{
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom:2px solid #000;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.ticket .ticket-block__lead{
	margin-bottom: 26px;
	text-align: center;
	font-weight: 700;
}
@media screen and (max-width:768px) {
	.ticket .ticket-block__inner{
		padding: 10px;
		border:1px solid #000;
	}
	.ticket .ticket-block__heading{
		margin-bottom: 10px;
		padding-bottom: 5px;
	}
	.ticket .ticket-block__lead{
		margin-bottom: 10px;
	}
}
.ticket .ticket-block__info {
	margin-bottom: 14px;
	text-align: center;
}
.ticket .ticket-block__info span{
	display: inline-block;
	vertical-align: super;
	font-weight: 700;
}
.ticket .ticket-block__info .area{
  margin-top: 10px;
	padding: 4px 12px;
	border: 1px solid #000;
	text-align: center;
	vertical-align: top;
	font-size: 2.0rem;
}
.ticket .ticket-block__info .price{
	font-size: 4.4rem;
}
@media screen and (max-width:768px) {
	.ticket .ticket-block__info .area{
		margin-top: 10px;
		padding: 4px 12px;
		border: 1px solid #000;
		text-align: center;
		vertical-align: top;
		font-size: 1.8rem;
	}
	.ticket .ticket-block__info .price{
		font-size: 4.0rem;
	}
}
@media screen and (max-width:992px) {
	.ticket .ticket-block__info .fc-normal{
		display: block;
		margin-bottom: 30px;
	}
}
.ticket .ticket-block__icn{
	margin-bottom: 18px;
}
.ticket .ticket-block__icn .flex{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.ticket .ticket-block__icn .flex li{
	max-width: 16.6%;
	padding: 0 .6%;
	text-align: center;
	position: relative;
}
.ticket .ticket-block__icn span{
	font-size: 1.2rem;
	font-weight: 700;
}
.ticket .ticket-block__icn .text-free{
	position: absolute;
	top:-35px;
	left:6%;
}
.ticket .ticket-block__icn .text-round{
	position: absolute;
	top:-35px;
	left:22%;
}
@media (max-width: 1199.98px) {
	.ticket .ticket-block__icn .text-free{
		position: absolute;
		left:-14%;
	}
	.ticket .ticket-block__icn .text-round{
		position: absolute;
		left:23%
	}
}
.ticket .free-pass .ticket-block__date{
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #000;
}
.ticket .ticket-block__list{
	padding-bottom: 22px;
	background: #fff;
}
.ticket .ticket-block__sub-heading{
	margin-bottom: 22px;
	padding: 6px 0;
	text-align: center;
	font-weight: 700;
	color:#fff;
}
.ticket .ticket-block__list .ticket-item{
	padding: 0 20px;
}
.ticket .ticket-block__list .thumb{
	width: 20%;
	margin-right: 2%;
	text-align: center;
}
.ticket .ticket-block__list li:not(:last-child){
	margin-bottom: 20px;
}
@media screen and (max-width:767.98px) {
	.ticket .ticket-block__list li{
		margin-bottom: 20px;
	}
		.ticket .ticket-block__list .secondary-list li:last-child{
		margin-bottom: 0;
	}
}
.ticket .ticket-block__list dt{
	font-size: 1.7rem;
}
.ticket .ticket-block__list .text{
	width: 78%;
}
.ticket .ticket-freeblock{
  padding-top: 50px;
	padding-bottom: 50px;
}
.ticket .ticket-freeblock__heading{
	margin-bottom: 20px;
  padding: 8px 0;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	text-align: center;
}
.ticket .ticket-freeblock__heading span{
	font-size: 1.7rem;
}

.ticket .ticket-freeblock .howto-block{
	margin-bottom: 30px;
	max-width: 100%;
	position: relative;
}
.ticket .ticket-freeblock .howto-block__text{
	width: 35%;
	padding-left:1em;
	text-indent:-1em;
	position: absolute;
	right: 3%;
	bottom:5%;
	font-size: 1.4rem;
}
@media screen and (max-width:892px) {
	.ticket .ticket-freeblock .howto-block__text{
		position: absolute;
    right: 3%;
    bottom: 2%;
    font-size: 1.4rem;
	}
}
@media screen and (max-width:820px) {
	.ticket .ticket-freeblock .howto-block__text{
		position: absolute;
    right: 3%;
    bottom: 4%;
    font-size: 1.3rem;
    line-height: 1.2;
	}
}
@media screen and (max-width:767.98px) {
	.ticket .ticket-freeblock .howto-block__text{
		width: 80%;
		position: absolute;
		left: 11%;
		bottom:35%;
		font-size: 1.6rem;
		line-height: 1.4;
	}
}
@media screen and (max-width:414px) {
	.ticket .ticket-freeblock .howto-block__text{
		position: absolute;
		left: 11%;
		bottom:35%;
		font-size: 1.4rem;
	}
}
@media screen and (max-width:320px) {
	.ticket .ticket-freeblock .howto-block__text{
		position: absolute;
		left: 11%;
		bottom:35%;
		font-size: 1.2rem;
	}
}
.ticket-freeblock__note{
	line-height: 1.6;
}
.ticket .ticket-freeblock .square{
	width: 40px;
	height: 18px;
	display: inline-block;
	background: #fffbda;
	border: 1px solid #eb615a;
	vertical-align: sub;
}
.ticket .ticket-rental{
	padding-top: 20px;
	padding-bottom: 30px;
	padding-left: 20px;
	padding-right: 20px;
	background: #fff;
	border-top: #008ed0 solid 20px;
}
@media (max-width: 1199.98px) {
	.ticket .ticket-rental{
		padding: 20px 4% 30px 4%;
		background: #fff;
	}
}
.ticket-rental__detail{
	margin-bottom: 55px;
}
.ticket .ticket-rental_catch{
	background: #50c13a;
	text-align: center;
	font-weight: 700;
	color:#fff;
}
@media screen and (max-width:767px) {
	.ticket .ticket-rental_catch{
		padding: 5px 0;
		font-size: 2.4rem;
		line-height: 1.2;
	}
}
.ticket .emphasis-line{
	margin-bottom: 35px;
	padding: 5px 0;
	border-top:1px solid #ff0000;
	border-bottom:1px solid #ff0000;
	text-align: center;
	font-weight: 700;
	font-size: 2.0rem;
}
.ticket .ticket-rental .tiket-rental__ttl{
	padding: 5px 0;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
}
.ticket .ticket-rental .tiket-rental__date{
	padding: 30px 0;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
}
.ticket .ticket-rental .tiket-rental__date span{
	display: inline-block;
	margin-right: 12px;
	padding: 0 4px;
	border: 1px solid #000;
	font-size: 1.9rem;
}
.ticket .tiket-step__stap{
	margin-bottom: 60px;
}
.ticket .tiket-step__stap a {
	text-decoration: underline;
	color: #00a95f;
}
.ticket .tiket-step__heading {
	margin-bottom: 36px;
	padding: 8px 0;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 700;
	color: #fff;
}
@media screen and (max-width:320px) {
	.ticket .tiket-step__heading {
		font-size: 2.4rem;
	}
}
.ticket .tiket-step__stap .tiket-step__heading{
	background: #eb615a;
}
.ticket .tiket-step__tokuten .tiket-step__heading{
	background: #4fbaa1;
}
.ticket .tiket-step__ttl{
	margin-bottom: 10px;
	padding-bottom: 12px;
	text-align: center;
  font-weight: 700;
	font-size: 1.8rem;
}
.ticket .tiket-step__stap .tiket-step__ttl{
	border-bottom: 1px solid #eb615a;
	color: #eb615a;
}
.ticket .tiket-step__tokuten .tiket-step__ttl{
	text-align: center;
	font-size: 1.8rem;
}
.ticket .tiket-step__tokuten .tiket-step__ttl span{
	color: #4fbaa1;
}
@media screen and (max-width:767.98px) {
	.ticket .tiket-step__tokuten .tiket-step__ttl span{
		display: block;
	}
}
.ticket .tiket-step__stap dd {
  margin-bottom: 15px;
}
.ticket .tiket-step__stap .emphasis-line{
	margin-bottom: 40px;
}
.ticket .tiket-step__stap img{
	vertical-align: bottom;
}
.ticket .tiket-step__tokuten .btn{
	display: block;
	width: 235px;
	padding: 12px 0;
	background: #4fbaa1;
	text-align: center;
	font-weight: 700;
	color: #fff;
}
@media screen and (max-width:767.98px) {
	.ticket .tiket-step__tokuten .btn{
		margin: 0 auto;
	}
}	
.ticket .tiket-step__tokuten .arrow-right::before {
	content: "";
	display: block;
	position: absolute;
	top: 52%;
	right: 15px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
	transform: translateX(-50%) rotate(45deg);
}

.ticket h2.jrcarttl{
	color: #6f6f6f;
	font-size: 4.8rem;
	font-weight: bold;
	text-align: center;
}
@media screen and (max-width:767.98px) {
	.ticket h2.jrcarttl{
		font-size: 4.0rem;
	}
}	
.ticket h2.jrcarttl span.green{
	color: #50c13a;
	font-weight: 900;
} 
.ticket h2.jrcarttl span.orange{
	color: #ff8a00;
	font-weight: 900;
} 
.ticket h2.jrcarttl span.yellowmarker{
	background: linear-gradient(transparent 70%, #fff799 70%);
	font-weight: bold; 
	border-radius:6px;
} 
.ticket .ticket-rental .period{
	background-color: #008ed0;
	color: #ffea00;
	font-size: 2.8rem;
	padding: 10px;
	font-weight: 900;
	text-align: center;
}
.ticket .ticket-rental .period span{
	color: #ffffff;
	font-size: 2.2rem;
	display: block;
}

@media screen and (max-width:767.98px) {
	.ticket .ticket-rental .period span{
		display: inline;
		font-size: 2.4rem;
	}
}	
.ticket .border-period{
	border-top: #008ed0 dotted 1px;
}
.ticket .border-ad02{
	border-top: #008ed0 solid 1px;
	border-bottom: #008ed0 solid 1px;
}

.ticket ul.indent li{
	padding-left:0.5em;
	text-indent:-0.5em;
}
.ticket a.uline{
	text-decoration: underline;
}
/*--------------------------------------
.course
---------------------------------------*/
.course .main-heading{
	margin-bottom: 44px;
	line-height: 1.6;
}
.course .main-heading .station{
	font-size: 1.8rem;
}
@media screen and (max-width:767.98px) {
	.course .main-heading .station{
		display: block;
	}
}	
.course .main-visual{
	margin-bottom: 36px;
}
.model-detail .course-detail__link{
	margin-bottom: 40px;
	text-align: center;
	font-size: 2.0rem;
	font-weight: 700;
}
.model-detail .course-detail__link a{
	display: inline-block;
	color: #fff;
	margin-left: 10px;
	padding: 10px 40px;
}
.model-detail .course-detail__link .arrow-right::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
	transform: translateX(-50%) rotate(45deg);
}
@media screen and (max-width:767.98px) {
	.model-detail .course-detail__link{
		font-size: 1.8rem;
	}
	.model-detail .course-detail__link a{
		margin-top: 10px;
		padding: 10px 40px;
	}
}	
.model-detail .course-detail-route{
	padding: 30px;
}
@media screen and (max-width:767.98px) {
	.model-detail .course-detail-route{
		padding: 4%;
	}
}	
.model-detail .course-route__list{
	list-style: none;
	padding-left: 0;
}

.model-detail .course-detail__ttl {
	padding: 4px 20px;
	display: inline-block;
	background: #fff;
	border:1px solid #000;
	z-index: 1;
}
.model-detail .course-detail__subttl{
	margin-bottom: 8px;
	padding: 4px 0 6px 0;
	padding-left: 6px;
	border-bottom: 1px solid #00a0ad;
	font-size: 1.7rem;
}
@media screen and (max-width:767.98px) {
	.model-detail .course-detail__subttl{
		font-size: 1.6rem;
	}	
}	
.model-detail .course-detail__subttl span{
	display: inline-block;
	margin-right: 4px;
	padding: 2px 4px;
	background:#B0E5E9;
}
.model-detail .course-detail__period{
	font-size: 1.5rem;
}
.model-detail .course-route__list .station{
	width: 100%;
	font-size: 1.7rem;
	font-weight: 700;
	margin-bottom: 0;
}
.model-detail .course-route__list .time{
	padding-left: 10px;
}
.model-detail .course-route__list .time-2{
	padding-left: 0px;
}
@media (max-width: 1199.98px) {
	.model-detail .course-route__list .bg-yellow .time,
	.model-detail .course-route__list .time-2{
		display: block;
		padding-left: 0;
	}
}
@media (max-width: 1199.98px) {
	.model-detail .course-route__list .bg-white-block .time,
	.model-detail .course-route__list .time-2{
		display: block;
		padding-left: 0;
	}
}
.model-detail .course-route__list .transport{
  margin-bottom: 0;
	padding: 18px 0;
	position: relative;
}
.model-detail .course-route__list .transport:before{
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 10px;
	pointer-events: none; 
}
.model-detail .course-route__list .on-train{
	background: url(../images/icn_course_train.png)no-repeat 8% center;
	background-size: 23px;
}
.model-detail .course-route__list .on-bus{
	background: url(../images/icn_course_bus.png)no-repeat 8% center;
	background-size: 24px;
}
.model-detail .course-route__list .on-walk{
	background: url(../images/icn_course_walk.png)no-repeat 7% center;
	background-size: 30px;
}
@media screen and (max-width:767.98px) {
	.model-detail .course-route__list .on-train{
		background-size: 20px;
	}
	.model-detail .course-route__list .on-bus{
		background-size: 21px;
	}
	.model-detail .course-route__list .on-walk{
		background-size: 27px;
	}
}
.model-detail .course-route__list .on-train:before{
	content: "";
	background: url(../images/bg_transport_train.png)repeat-y left -10px;
}
.model-detail .course-route__list .on-bus:before{
	content: "";
	background: url(../images/bg_transport_bus.png)repeat-y left -10px;
}
.model-detail .course-route__list .on-stay:before{
	content: "";
	background: url(../images/bg_transport_stay.png)repeat-y left -10px;
}
.model-detail .course-route__list .on-walk:before{
	content: "";
	background: url(../images/bg_transport_walk.png)repeat-y left -10px;
}
.course-detail__icn{
  margin-bottom: 0;
	padding: 18px 0;
	position: relative;
}
.model-detail .course-route__list .on-train .time{
	color: #6fb92c;
}
.model-detail .course-route__list .on-bus .time{
	color: #0093f0;
}
.model-detail .course-route__list .transport .route{
	display: block;
	padding-left: 18%;
}
.model-detail .course-route__list .transport .note{
	display: inline-block;
  margin: 4px 0 4px 18%!important;
  font-weight: 700;
}
@media screen and (max-width:767.98px) {
	.model-detail .course-route__list .transport .route{
		padding-left: 24%;
	}
	.model-detail .course-route__list .transport .note{
		padding-left: 6%;
	}
}	
.course .stay-plan .balloon {
  position: relative;
  display: inline-block;
  margin-left:18%!important;
  padding: 7px 10px;
  width: 82%;
  background: #e1efef;
  border: solid 1px #000;
	border-radius: 5px;
  box-sizing: border-box;
	font-weight: 700;
}
@media screen and (max-width:767.98px) {
	.course .stay-plan .balloon {
		margin: 18px 0 18px 22%!important;
	  width: 78%;
	}
}	
.course .stay-plan .balloon-left:before {
	content: "";
	position: absolute;
	top: 50%;
	left: -12px;
	margin-top: -5px;
	border: 4px solid transparent;
	border-right: 8px solid #e1efef;
	z-index: 2;
}
.course .stay-plan .balloon-left:after {
	content: "";
	position: absolute;
	top: 50%;
	left: -14px;
	margin-top: -6px;
	border: 5px solid transparent;
	border-right: 9px solid #000;
	z-index: 1;
}
.course .stay-plan__note{
	font-size: 1.5rem;
	font-weight: 700;
	color:#00a0ad;
}
.course .course-detail__photo{
	position: relative;
}
.course .course-detail__photo-item{
	width: 150px;
	position: absolute;
	top: -38%;
	right: 0;
}
.course .course-detail__photo-item-2{
	width: 110px;
	position: absolute;
	top: -10%;
	right: 0;
}
.course .course-detail__photo-item-3{
	width: 110px;
	position: absolute;
	top: 6%;
	right: 1%;
}
.course .course-detail__photo-item img,
.course .course-detail__photo-item-2 img,
.course .course-detail__photo-item-3 img{
  border: 4px solid #fff;
	box-shadow: 0 0 3px #d2d2d2;
}
@media (max-width: 1199.98px) {
	.course .course-detail__photo-item{
		width: 140px;
		position: absolute;
		top: -18%;
		right: 0;
	}
}
@media (max-width: 1199.98px) {
	.course .course-detail__photo-item-2{
		width: 110px;
		position: absolute;
		top: 1%;
		right: 0;
	}
}
@media (max-width: 1199.98px) {
	.course .course-detail__photo-item-3{
	width: 110px;
	position: absolute;
	top: 6%;
	right: 1%;
	}
}
.course .map-box{
	text-align: center;
	background-color: #f6f4db;
	padding: 40px 10px;
}
@media screen and (max-width:767.98px) {
	.course .map-box{
		padding: 20px 5px;
	}
}
.model-detail .course-detail-cycling__subttl{
	margin-bottom: 8px;
	padding: 4px 0 6px 0;
	padding-left: 6px;
	border-bottom: 1px solid #FF6D02;
	font-size: 1.7rem;
}
@media screen and (max-width:767.98px) {
	.model-detail .course-detail-cycling__subttl{
		font-size: 1.6rem;
	}	
}	
.model-detail .course-detail-cycling__subttl span{
	display: inline-block;
	margin-right: 4px;
	padding: 2px 4px;
	background:#FFCDA8;
}
.model-detail .course-route__list .on-cycling{
	background: url("../images/icn_course_cycling.png")no-repeat 7% center;
	background-size: 30px;
}
@media screen and (max-width:767.98px) {
	.model-detail .course-route__list .on-cycling{
		background-size: 30px;
	}
}
.model-detail .course-route__list .on-cycling:before{
	content: "";
	background: url(../images/bg_transport_cycling.png)repeat-y left -10px;
}
.course .stay-plan .balloon-cycling {
  position: relative;
  display: inline-block;
  margin-left:18%!important;
  padding: 7px 10px;
  width: 82%;
  background: #FFBA51;
  border: solid 1px #000;
	border-radius: 5px;
  box-sizing: border-box;
	font-weight: 700;
}
@media screen and (max-width:767.98px) {
	.course .stay-plan .balloon-cycling {
		margin: 18px 0 18px 22%!important;
	  width: 78%;
	}
}	
.course .stay-plan .balloon-cycling-left:before {
	content: "";
	position: absolute;
	top: 50%;
	left: -12px;
	margin-top: -5px;
	border: 4px solid transparent;
	border-right: 8px solid #FFBA51;
	z-index: 2;
}
.course .stay-plan .balloon-cycling-left:after {
	content: "";
	position: absolute;
	top: 50%;
	left: -14px;
	margin-top: -6px;
	border: 5px solid transparent;
	border-right: 9px solid #000;
	z-index: 1;
}
.course .stay-plan__note-cycling{
	font-size: 1.5rem;
	font-weight: 700;
	color:#FF6D02;
}

/*--------------------------------------
.course（20200624追加）
---------------------------------------*/
.course .course-detail__photo-item-4{
	width: 100px;
	position: absolute;
	top: 4%;
	right: 1%;
}

.course .course-detail__photo-item-4 img{
  border: 4px solid #fff;
	box-shadow: 0 0 3px #d2d2d2;
}

@media (max-width: 1199.98px) {
	.course .course-detail__photo-item-4{
	width: 100px;
	position: absolute;
	top: 4%;
	right: 1%;
	}
}
@media (max-width: 399px) {
	.course .course-detail__photo-item-4{
	width: 110px;
	position: absolute;
	top: 7%;
	right: 1%;
	}
}
.course .course-detail__photo-item-5{
	width: 150px;
	position: absolute;
	top: -20%;
	right: 0;
}
.course .course-detail__photo-item-5 img{
	border: 4px solid #fff;
	box-shadow: 0 0 3px #d2d2d2;
}
@media (max-width: 1199.98px) {
	.course .course-detail__photo-item-5{
		width: 140px;
		position: absolute;
		top: -18%;
		right: 0;
	}
}
@media (max-width: 399px) {
	.course .course-detail__photo-item-5{
	width: 100px;
	position: absolute;
	top: 4%;
	right: 1%;
	}
}




.price-block{
    border: solid 1px #ff0000;
    padding: 1em;
}
.price-block span{
	background-color: #ff0000;
	color: #fff;
	padding: 5px 0px;
	width: 100%;
	margin-bottom: 5px;
	display: block;
	text-align: center;
}
.price-block span.price{
	color: #ff0000;
	font-weight: bold;
	display: inline;
	background-color: #fff;
}




.multiple { padding: 0;}
.multiple img { width: 100%;}
.multiple div { margin: 1px ;}
.multiple .slick-next { right: 17px; z-index: 100;}
.multiple .slick-prev { left: 23px; z-index: 100;}



/*--------------------------------------
.course（20241124追加）
---------------------------------------*/
.model-detail .course-route__list .on-localbus{
	background: url("../images/icn_course_localbus.png")no-repeat 8% center;
	background-size: 24px;
}
.model-detail .course-route__list .on-localbus:before {
    content: "";
    background: url("../images/bg_transport_localbus.png") repeat-y left -10px;
}
.course .stay-plan .balloon-localbus {
    position: relative;
    display: inline-block;
    margin-left: 18% !important;
    padding: 7px 10px;
    width: 82%;
    background: #e7e7e7;
    border: solid 1px #000;
    border-radius: 5px;
    box-sizing: border-box;
    font-weight: 700;
}
.course .stay-plan .balloon-localbus-left:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -12px;
    margin-top: -5px;
    border: 4px solid transparent;
    border-right: 8px solid #c6c6c6;
    z-index: 2;
}
.model-detail .course-detail__subttl span {
    display: inline-block;
    margin-right: 4px;
    padding: 2px 4px;
    background: #B0E5E9;
}

/*--------------------------------------
.course（202504追加）
---------------------------------------*/
.model-detail .course-route__list .on-rail:before{
	content: "";
	background: url(../images/bg_transport_train.png)repeat-y left -10px;
}



/*-------------------
20250415追記
-------------------*/
.course .inner.course-detail{
	padding-bottom: 80px;
}
.course-detail-list{
	list-style: none;
	display: flex;
	justify-content: center;
	margin:  30px -10px 0;
	padding: 0;
}
@media screen and (max-width:767px) {
	.course-detail-list{
		flex-direction: column;
		align-items: center;
		margin: 0;
	}
}
.course-detail-list-wrap{
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}
.course-detail-list-item{
	writing-mode: vertical-lr;
	text-orientation: upright;
	padding: 0 10px;
	position: relative;
}
@media screen and (max-width:767px) {
	.course-detail-list-item{
		writing-mode: lr-tb;
		padding: 0;
		margin-bottom: 20px;
		width: 100%;

	}
}
.course-detail-list-item::before{
	position: absolute;
	top: 50%;
	right: 100%;
	transform: translate(50%,-50%);
	width: 20px;
	height: 4px;
	content: "";
}
@media screen and (max-width:767px) {
	.course-detail-list-item::before{
		top: auto;
		bottom: 100%;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		width: 4px;
		height: 20px;
		content: "";
	}
}
.course-detail-list-item:first-child::before{
	content: none;
}
.course-detail-list-item-green::before{
	background-color: #50B03F;
}
.course-detail-list-item-purple::before{
	background-color: #7F70D3;
}
.course-detail-list-item-green + .course-detail-list-item-purple::before{
	background-color: #999999;
}
.course-detail-list-item-purple + .course-detail-list-item-green::before{
	background-color: #999999;
}
.course-detail-list-item-btn{
	font-size: 20px;
	color: #000000;
	background-color: #F4F4F4;
	border-radius: 20px;
	padding: 20px 5px;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width:1023px) {
	.course-detail-list-item-btn{
		font-size: 14px;
		padding: 20px 1px;
	}
}
@media screen and (max-width:767px) {
	.course-detail-list-item-btn{
		padding: 10px 20px;
		width: 100%;
		max-width: 380px;
		margin: 0 auto;
	}
}
.course-detail-list-item-btn:hover{
	text-decoration: none;
	color: #000000;
}
.course-detail-list-item-btn-green{
	border: 2px solid #91CC85;
}
.course-detail-list-item-btn-green:hover{
	box-shadow:0px 0px 3px 3px #91CC85 inset;
}
.course-detail-list-item-btn-purple{
	border: 2px solid #BDBAD8;
}
.course-detail-list-item-btn-purple:hover{
	box-shadow:0px 0px 3px 3px #BDBAD8 inset;
}
.couse-detail-content{
	background-color: #F8F6F4;
	padding: 60px 0 90px;
}
.couse-detail-content-inner{
	width: 100%;
	max-width: 850px;
	margin: 0 auto;
}
.couse-detail-spot{
	text-align: center;
}
.couse-detail-spot > span,.couse-detail-spot > a{
	font-size: 22px;
	text-align: center;
	display: inline-block;
	background-color: #FFFFFF;
	border-radius: 4px;
	border: 1.5px solid #BCBCBC;
	padding: 5px;
	margin: 0 auto;
	position: relative;
}
@media screen and (max-width:767px) {
	.couse-detail-spot > span,.couse-detail-spot > a{
		font-size: 18px;
	}
}
.couse-detail-spot > span > span{
	font-size: 16px;
	color: #404040;
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translate(2em,-50%);
	white-space: nowrap;
}
@media screen and (max-width:767px) {
	.couse-detail-spot > span > span{
		font-size: 14px;
		position: absolute;
		top: 50%;
		left: 97%;
		transform: translate(1em,-50%);
		white-space: nowrap;
	}
}
.couse-detail-spot-purple > span{
	color: #7259D1;
	border-color: #7259D1;
}
.couse-detail-spot-white > span{
	color: #FFFFFF;
	background-color: #8C76DD;
	border-color: #8C76DD;
}
.couse-detail-spot-white > span > span{
	display: inline-block;
	font-size: 15px;
	border-radius: 12px;
	border: 1px solid #A8A8A8;
	background-color: #FFFFFF;
	padding: 0 1em;
}
@media screen and (max-width:767px) {
	.couse-detail-spot-white > span > span{
		font-size: 12px;
	}
}
.couse-detail-spot > a{
	background-color: #fff700;
}
.course-detail-spot-variable > span,.couse-detail-spot > a{
	display: inline-block;
	width: auto;
	padding: 0 0.2em;
}
.couse-detail-rail{
	text-align: center;
	position: relative;
}
.couse-detail-rail-inner{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 -30px;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
}
@media screen and (max-width:767px) {
	.couse-detail-rail-inner{
		margin: 0 -50px;
		left: 50%;
		transform: translate(-49%,-50%);
		width: 100%;
	}
}
.couse-detail-rail-inner-noimg{
	padding-left: 205px;
}
@media screen and (max-width:767px) {
	.couse-detail-rail-inner-noimg{
		padding-left: 0;
		padding-right: 150px;
	}
}
.couse-detail-rail-inner-item{
	padding: 0 8px;	
}
@media screen and (max-width:767px) {
	.couse-detail-rail-inner-item{
		padding: 0 30px 0 40px;
	}
	.couse-detail-rail-inner-item:first-child{
		order: 2;
	}
	.couse-detail-rail-inner-item:last-child{
		order: 1;
	}
}
.couse-detail-rail-inner-item img{
	border-radius: 50%;
	width: 90%;
}
@media screen and (max-width:767px) {
	.couse-detail-rail-inner-item img{
		width: 90px;
	}
}
.couse-detail-rail-inner-item p{
	font-size: 18px;
	text-align: right;
	position: relative;
}
@media screen and (max-width:1023px) {
	.couse-detail-rail-inner-item p{
		font-size: 16px;
	}
}
@media screen and (max-width:767px) {
	.couse-detail-rail-inner-item p{
		font-size: 16px;
	}
}
.couse-detail-rail-inner-item p::before{
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translate(.5em,-50%);
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-left-color: #A682EE;
	border-width: 9px 18px;
}
.couse-detail-walk{
	width: 3px;
	height: 32px;
	background-color: #C9C9C9;
	margin: 0 auto;
}
.couse-detail-content-inner-box{
	background-color: #FFFFFF;
	padding: 18px 46px 0 46px;
}
.couse-detail-content-inner-box-title{
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	color: #775FD3;
	margin-bottom: .75em;
}
.couse-detail-content-inner-box-term{
	border-radius: 3px;
	border: 1px solid #707070;
	font-size: 18px;
	padding: 1em;
	justify-content: center;
	margin-bottom: 20px !important;
	text-align: center;
}
@media screen and (max-width:767px) {
	.couse-detail-content-inner-box-term{
		display: block;
		padding: .5em 1em;
	}
}
.couse-detail-content-inner-box-term dt{
	min-width: 4.5em;
	font-weight: 300;
}
.couse-detail-content-inner-box-term dd{
	font-weight: 300;
}
.couse-detail-dot{
	text-align: center;
	padding: 10px 0;
	position: relative;
}
.couse-detail-dot-time{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(1em,-50%);
}
.course-map{
	position: fixed;
	top: 50%;
	right: 30px;
	opacity: 0;
	z-index: -1;
	transition: ease-in-out .3s;
}
@media screen and (max-width:1023px) {
	.course-map{
		top: 70%;
	}
}
@media screen and (max-width:767px) {
	.course-map{
		top: auto;
		bottom: 50px;
		right: 0px;
	}
}
.course-map.visible{
	opacity: 1;
	z-index: 1;
}
@media screen and (max-width:1023px) {
	.course-map img{
		width: 100px;
	}
}
@media screen and (max-width:1023px) {
	.course-map img{
		width: 80px;
	}
}
.course-map:hover img{
	opacity: .8;
	transition: ease-in-out .3s;
}
.couse-detail-rail-inner-item .btn-course{
	display: block;
    width: 100px;
    margin: 10px auto 0;
    padding: 5px;
    text-align: center;
    font-weight: 700;
    color: #fff !important;
    border: none;
    font-size: 14px;
}
@media screen and (max-width:767px){
	.couse-detail-rail-inner-item .btn-course{
		font-size: 12px;
		margin: 2px auto 0;
		padding: 3px;
	}
}
.couse-detail-content-inner-box-cycling{
	border-radius: 3px;
    border: 1px solid #707070;
    font-size: 18px;
    padding: 1em;
	margin: 1em auto;
}
.cyclingimg{
	width: 100%;
	max-width: 120px;
}
.cyclingtext{
	text-align: center;
	padding-top: 30px;
	margin-bottom: 10px;
}
@media (max-width: 767px){
	.cyclingtext{
		padding: 0px 0 10px 0;
	}
}
.fz-14px {
    font-size: 1.4rem;
}

/*--------------------------------------
.course（202604追加）
---------------------------------------*/
.course .notes{
	background-color: #fff;
	border: 3px solid #ff0000;
	border-radius: 5px;
	padding: 20px;
	margin: 20px auto 40px;
	font-weight: 700;
}
.couse-detail-rail-inner-item-exp p{
	text-align: center;
}
.couse-detail-rail-inner-item-exp p::before {
	    left: 88%;
}
@media (max-width: 767px){
	.couse-detail-rail-inner-item-exp p::before {
		left: 100%;
	}
}
.couse-detail-rail-inner-exp{
	display: block;
}
@media (max-width: 767px){
	.couse-detail-rail-inner-exp{
		display: flex;
	}
}
@media (max-width: 767px){
	.couse-detail-rail-inner-exp-sp{
		        left: 30%;
			} 
}
@media (max-width: 767px){
	.couse-detail-rail-inner-exp-sp2{
		        left: 60%;
			} 
}

.couse-emphasis{
	background-color: #f7d6d6;
	border-bottom: solid 1px #ff0000;
}
.tab-select{
	text-align: center;
	font-size: 2.0rem; 
	border: 2px solid #000; 
	border-radius: 15px;
	padding: 3px 20px; 
	display: inline-block; 
	margin: 30px auto 10px;
}
/*--------------------------------------
tab（202604追加）
---------------------------------------*/

.tab-1 {
  display: flex;
  margin: 0 auto 2em;
  flex-wrap: wrap;
  gap: 0 10px;
  justify-content: center;
  align-items: center;
}

.tab-1 > label {
  flex: 1 1;
  order: -1;
  opacity: .5;
  min-width: 70px;
  padding: .6em 1em;
  border-radius: 5px;
  background-color: #2589d0;
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.tab-1 > label:hover {
  opacity: .8;
}

.tab-1 input {
  display: none;
}

.tab-1 > div {
  display: none;
  width: 100%;
  padding: 1.5em 1em;
}

.tab-1 label:has(:checked) {
  opacity: 1;
}

.tab-1 label:has(:checked) + div {
  display: block;
}