@charset "utf-8";
/* model common*/
.model .d-flex{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.model .fc-gray-brown{
	color:#7a6a55;
}
.model .fc-black{
	color:#000;
}
.model .heading3 {
	color: #3eaa43;
}
.model .btn-box{
	width: 180px;
	margin: 0 auto;
}
.model .btn{
	width: 100%;
	padding: 10px;
	display:inline-block;
  position: relative;
	border:1px solid #c8c8c8;
	border-radius: 10px;
	background-color: #fff;
	background-image: linear-gradient(to bottom, #fff, #dadada);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1),
							inset 1px 0 0 rgba(255, 255, 255, 1),
							inset -1px 0 0 rgba(255, 255, 255, 1),
							inset 0 -1px 0 rgba(255, 255, 255, 1);
	font-size: 2.0rem;
	font-weight:bold;
	color: #404040;
	text-align: center;
}
.model .btn:hover{
	border:1px solid #cccccc;
	background-color: #fff;
	background-image: linear-gradient(to bottom, #dadada, #fff);
}

.model .btn-box .arrow::before,
.model .btn-box .arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.model .btn-box .arrow::before{
    left: 10px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #676767;
    border-left: 2px solid #676767;
    -webkit-transform: rotate(45deg);
    transform: rotate(-45deg);
}

/* model */
.model .bg-lightgray .heading {
	margin:0;
	padding: 1em 0;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.3;
}
.model .secSpace1{
	padding-top:0; 
}
.model figure {
  display: block;
  position: relative;
  overflow: hidden;
}
 
.model figcaption {
	width: 100%;
	height: 80px;
  padding: 10px 20px;
  position: absolute;
	bottom:0;
	left: 0;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  background: rgba(0,0,0,0.75);
  color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
}
.model .tag_box{
	position: absolute;
	top:0;
	left: 0;
}
.model .tag{
	width: 65px;
	padding: 4px 0;
	display: inline-block;
	text-align: center;
	color:#fff;
	font-size: 1.3rem;
}
.model .spring{
	background: #90cf37;
}
.model .summer{
	background: #3290e9;
}
.model .fall{
	background: #f69f2f;
}
.model .winter{
	background: #52c2e2;
}
.model .days{
	min-width: 85px;
	padding: 4px 14px;
	display: inline-block;
	position: absolute;
	bottom:80px;
	right: 0;
	background: #ff6000;
	text-align: center;
	color:#fff;
	font-size: 1.3rem;
}
.model .days:before{
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-bottom: 26px solid #ff6000;
}

/* model-detail */
.model-detail .mainv{
	height: 480px;
	padding: 5em 3em;
	position: relative;
    /* 
	background: url("../../images/travel/model/bg_course01_mainv.jpg")no-repeat top center;
    */
}
.model-detail .mainv-ttl{
	font-size: 2.8rem;
	font-weight: 700;
	color:#fff;
  text-shadow:2px 2px 0 #000, -2px -2px 0 #000,
		-2px 2px 0 #000, 2px -2px 0 #000,
		0px 2px 0 #000,  0-2px 0 #000,
		-2px 0 0 #000, 2px 0 0 #000;
}
.model-detail .tag_box{
	position: absolute;
	top:0;
	left: 5%;
}
.model-detail .tag{
	width: 130px;
	font-size: 2.6rem;
}
@media (max-width: 575.98px) {
	.model-detail .mainv{
		height: 200px;
		padding: 3em 1em;
        /*
		background: url("../../images/travel/model/bg_course01_mainv.jpg")no-repeat top center;
		background-size: cover;
        */
	}
.model-detail .mainv-ttl{
		font-size: 1.8rem;
	}
	.model-detail .tag{
		width: 90px;
		font-size: 1.6rem;
	}
}
.model-detail .schedule{
	margin-top: 30px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.model-detail .schedule-ttl{
	padding-left: 20px;
	display: inline-block;
	background: #fff;
	border:3px solid #ff6000;
	font-size: 2.2rem;
	font-weight: 700;
	color:#ff6000;
}
.model-detail .schedule-ttl p{
	margin-bottom: 0;
}
.model-detail .schedule-ttl .number{
	margin-left: 20px;
	padding: 0 14px;
	background: #ff6000;
	display: inline-block;
	color:#fff;
}
.model-detail .star{
    margin-right: 0.4rem;
    font-size: 1.8rem;
	font-weight: 400;
	color:#ff6000;
}
.model-detail .schedule-route{
	margin:10px 0 20px 0;
	font-weight: 700;
}
.model-detail .schedule-route .arrow{
	padding: 0 4px;
	color:#ff6000;
}
.model-detail .schedule-map{
	text-align: center;
}
.model-detail .course-detail-line {
	text-align: center;
	position: relative;
}
.model-detail .course-detail-line:before{
	content: "";
	width: 100%;
	display: block;
	position: absolute;
	top: 18px;
	border-bottom: 5px dotted #655a4c;
	z-index: -1;
}
.model-detail .course-detail-line:after{
	content: "";
	position: absolute;
	right: 0;
}
.model-detail .course-detail-ttl {
	padding: 4px 20px;
	display: inline-block;
	background: #fff;
	border:2px solid #7a6a55;
	border-radius: 5px;
	font-size: 2.0rem;
	font-weight: 700;
	color:#7a6a55;
	z-index: 1;
}
.model-detail .course-detail .schedule-ttl{
	padding: 0 .75em;
}
.model-detail .day-route .course-detail-subttl{
	margin-bottom: 14px;
	position: relative;
	text-align: center;
}
.model-detail .day-route .course-detail-subttl:before{
	content: "";
	width: 100%;
	display: block;
	position: absolute;
	top: 18px;
	border:2px solid #ff6000;
	z-index: -1;
}
.model-detail .day-route .course-detail-subttl:after{
	content: "";
	right:0;
}
.model-detail .course-detail .number{
	margin:0 .75em;
}
.model-detail .course-detail .price{
	margin-left:.75em;
}
@media (max-width: 375px) {
	.model-detail .course-detail .schedule-ttl{
		padding-left: 8px;
		font-size: 1.6rem;
	}
	.model-detail .day-route .course-detail-subttl:before{
		top: 35%;
	}
	.model-detail .course-detail .number{
		margin:0 .5em;
    line-height: 2.0;
	}
}
.model-detail .course-route-list{
	list-style: none;
	padding-left: 0;
}

.model-detail .course-route-list .station{
	width: 100%;
	margin-bottom: 0;
	text-align: center;
}
.model-detail .course-route-list .transport{
  margin-bottom: 0;
	padding: 10px 0;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	font-size: 1.4rem;
}
.model-detail .course-route-list .transport:before{
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 10px;
	z-index: -1;
}

.model-detail .course-route-list .on-train{
	background: url("../../images/travel/model/icon_train.png")no-repeat 34px center;
	background-size: 26px;
}
.model-detail .course-route-list .on-bus{
	background: url("../../images/travel/model/icon_bus.png")no-repeat 28px center;
	background-size: 36px;
}
.model-detail .course-route-list .on-car{
	background: url("../../images/travel/model/icon_car.png")no-repeat 28px center;
	background-size: 36px;
}
.model-detail .course-route-list .on-walk{
	background: url("../../images/travel/model/icn_walk.png")no-repeat 28px center;
	background-size: 26px;
}
.model-detail .course-route-list .on-train:before{
	content: "";
	background: url(../../images/travel/model/bg_transport_train.png)repeat-y left -10px;
}
.model-detail .course-route-list .on-bus:before{
	content: "";
	background: url(../../images/travel/model/bg_transport_bus.png)repeat-y left -10px;
}
.model-detail .course-route-list .on-car:before{
	content: "";
	background: url(../../images/travel/model/bg_transport_stay.png)repeat-y left -10px;
}
.model-detail .course-route-list .on-stay:before{
	content: "";
	background: url(../../images/travel/model/bg_transport_stay.png)repeat-y left -10px;
}
.model-detail .course-route-list .on-walk:before{
	content: "";
	background: url(../../images/travel/model/bg_transport_walk.png)repeat-y left -10px;
}
.model-detail .course-route-list .transport .time{
	width: 30%;
	margin-left: 50px;	
	display: block;
	text-align: center;
}
.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{
	width: 70%;
}
.model-detail .total-price dl{
	width: calc(100% / 3);
	margin-bottom: 0;
	border:2px solid #655a4c;
	color: #fff;
	text-align: center;
}
.model-detail .total-price dl:nth-child(1),
.model-detail .total-price dl:nth-child(2) {
	border-right: 0;
}
.model-detail .total-price dt{
	padding: 5px;
	background: #655a4c;
	border-bottom:2px solid #655a4c;
	font-size: 2.0rem;
}
.model-detail .total-price dl:nth-child(2) dt{
	background: #ff005a;
}
.model-detail .total-price dl:nth-child(3) dt{
	background: #ff6000;
}
.model-detail .total-price dd{
	padding: 6px 0;
	color: #655a4c;
	font-size: 4.0rem;
	font-weight: 700;
}
.model-detail .total-price dl:nth-child(2) dd{
	color: #ff005a;
}
.model-detail .total-price dl:nth-child(3) dd{
	color: #ff6000;
}
@media (max-width: 575.98px) {
	.model-detail .total-price dl{
		width: 100%;
		margin-bottom: 0;
	}
	.model-detail .total-price dl:nth-child(1),
	.model-detail .total-price dl:nth-child(2) {
		border:2px solid #655a4c;
		border-bottom: 0;
	}
}
.model-detail .total-price .notes{
	list-style: none;
	padding-left: 0;
}


.travelex img.hotel {
	border: solid;
	border-color: white;
	border-width: 5px;
}



/* airport*/
.airport .airporttitle {
	padding-top: 0px;
	margin: 0px;
	font-size: 28px;
	line-height: 140%;
	margin-bottom: 30px;
}
.airport .airporttitle strong {
	color: #FF8E00;
	font-size: 40px;
}
.airport .subttl {
	border-bottom: 1px solid #249231;
	padding: 10px;
}
.otaru .card4 {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	padding-bottom: 30px;
	padding-top: 30px;
}
.otaruBox {
	max-width: 861px;
	margin-left: auto;
	margin-right: auto;
}
.distance-gmap {
	height: 800px;
}
@media (max-width: 900px) {
	.distance-gmap {
		height: 80vh;
	}
}
@media (max-width: 600px) {
	.distance-gmap {
		height: 80vw;
	}
}

.model-detail .schedule .hrpbox{
    margin-bottom: 20px;
	display: inline-block;
	background: #ff6000;
	font-size: 1.8rem;
	font-weight: 600;
	color:#fff;
	padding: 5px 10px;
}


/* 202103追加*/
.model .tag-2{
	width: 100px;
	padding: 4px 0;
	display: inline-block;
	text-align: center;
	color:#fff;
	font-size: 1.3rem;
}
.model .all{
	background: #990000;
}


/* 202307 モデルコース修正 */
.modeltop table {
    border-collapse: collapse;
    width: 100%;
}
 
.modeltop table th,td {
    padding: 5px 10px;
    border: 2px solid #fff;
}
 
.modeltop th {
    background-color:  #93a1ad;
    color:  #fff;
    font-weight:  bold;
}
 
.modeltop td {
    background-color:  #e7eced;
}

.modeltop .period{
    text-align: center;
}

.model .seasonal{
	background: #B752E2;
}

.model .tag-3{
	padding: 4px 0;
	display: inline-block;
	text-align: center;
	color:#fff;
	font-size: 1.3rem;
}

.lavender{
    background: #eeefff;
    padding: 20px;
    border-radius: 10px;
    color: #5d2a9f;
	margin-bottom: 15px;
}
.lavender h3{
    margin: 0px;
    padding: 0px;
    margin-bottom: 10px;
    font-size: 2rem;
}
.lavender p{
    margin-bottom: 0px;
}

.lavender p a{
	text-decoration: underline;
    color: #5d2a9f;

}

.lavender2{
    background: #ffeeff;
    padding: 20px;
    border-radius: 10px;
    color: #e700ca;
	margin-bottom: 15px;
}
.lavender2 p{
    margin-bottom: 0px;
}

.lavender2 p a{
	text-decoration: underline;
    color: #5d2a9f;

}

/* airport-202402追加*/

#airport {
    font-size: 1.6rem;
    min-height: 100vh;
    border: 0 solid transparent
}
@media (min-width: 768px){
	#airport{
    font-size: 1.125em;
	}	
}

#airport h1{
	margin-top: 0px!important;
}
#airport h2{
	font-size: 2.0rem;
}
@media (min-width: 768px){
	#airport h2{
	    font-size: 2.8rem;
	}
}

.number_img {
    width: 135px;
}
.info_list {
    list-style: none;
    margin: 1.5rem auto;
    padding: 1.5rem;
	display: inline-block;
}
.info_list > li::before {
    content: '';
    display: inline-block;
    margin-left: -1em;
    margin-right: 0.2em;
    width: 0;
    height: 0;
    border-radius: 50%;
    border: solid 0.4em #004ba0;
    background-color: #004ba0;
}
.info_list li{
	display: block;
	text-align: left;
}

#point01 .station{
	overflow: auto;
	padding: 10px 0;
}
#point01 .station img{
	min-width: 700px;
}
#point01 .cap{
	font-size: 0.75em;
}

#point01 figure{
	margin: 30px auto;
}

.marker {
	background-color: #c8efcc;
	font-weight: bold; 
	padding: 10px 5px;
	display: block;
	width: 100%;
	border-radius: 10px;
   }

   /* airport-otaru*/
   .airport_otaru .notice ul{
	list-style: none;
	padding: 0;
   }