@charset "utf-8";

/* 基本設定 */
article {
	font-size: 14px;
	color: #333 !important;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

/* Bootstrapのガター幅を調整するための汎用CSS */
.row-0{ margin-left:0px;  margin-right:0px}
.row-0 >div{ padding-right:0px;  padding-left:0px}
.row-10{ margin-left:-5px;  margin-right:-5px}
.row-10 >div{ padding-right:5px;  padding-left:5px}
.row-20{ margin-left:-10px;  margin-right:-10px}
.row-20 >div{ padding-right:10px;  padding-left:10px}
.row-30{ margin-left:-15px;  margin-right:-15px}
.row-30 >div{ padding-right:15px;  padding-left:15px}
.row-40{ margin-left:-20px;  margin-right:-20px}
.row-40 >div{ padding-right:20px;  padding-left:20px}
.row-50{ margin-left:-25px;  margin-right:-25px}
.row-50 >div{ padding-right:25px;  padding-left:25px}

#js-gallery a,#js-gallery2 a {
	position: static!important;
left: 180px !important; }


/* 共通 */

a:hover {
	text-decoration: none;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
 transition-property: all;
  transition: 0.3s linear;
}

a img:hover{
	background-color: #FFF;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	transition-property: all;
	transition: 0.3s linear;
}

.itembox img, #map-img img {
    width: 100%;
	height: 100%;
    }
    
    
   
    
.btn.focus, .btn:focus, .btn:hover {
    color: #fff;
    }

#newsflash-campaign{
	display: none;
}

.sticky-top {
    z-index: 20!important;
}

/* トリミングしたいサイズで枠を作る */
.thumb {
    width: 35%;
    padding-top: 35%;

  position: relative;
  overflow: hidden;
  float: left;
}




/* 横幅に合わせてトリミング */
.thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
}



/* モーダル */

.modal-open {
    padding-right:0px !important;
}


.modal-header{
	background:#FAFAFA;
	border-radius:0;
	min-height:35px;
	padding:0;
	padding: 10px;
}

.modal-header .close{
	color:#333;
	font-size:30px;
	padding:0;
	opacity:1.0;
	position: absolute;
	top:23px;
	right:25px;
}


.modal-title{
	font-size:18px;
	font-weight:bold;
	text-align:center;
	width:100%;
	max-width: 95%;
}

.modal .loc-title-zone{
	margin-bottom:10px;
}

.modal .areaconts{
	width:100%;
}

.modal .main-single,
.modal .box-d3{
	margin-bottom:0;
}

.modal-footer{
	display:block;
	border-top:none;
	text-align:center !important;
	position: sticky;
	position: -webkit-sticky;
	bottom: 0;
	width: 99.5%;
	background: rgba(255,255,255,0.8);
	z-index:10;
}

.modal-footer button{
	width:100%;
	background:#333 !important;
	border:none;
}


.modal-footer button:hover,
.modal-footer button:focus,
.modal-footer button:active{
	text-decoration: none;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
 transition-property: all;
  transition: 0.3s linear;
} 


.modal-content {

    border-radius: 0 !important;
}

.modal-footer .btn.focus, .modal-footer .btn:focus, .modal-footer .btn:hover {
    color: #fff;
}

/* メインビジュアル */


#main-img .title-main img { 
    width: 100%;
}
@media (min-width: 768px){ #main-img {  position: relative; max-height: 550px; } 
    #main-img .title-main {  position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%); transform: translate(-50%,-50%); height: 100%; text-align: center; } 
    #main-img .title-main img { width: auto; height: 100%;margin: 0 auto; } 
	#main-img .bg-main { margin: 0 auto; width: 100%;max-height: 550px;object-fit: cover;}
	}




.tour-type-wrap h5 {
    text-align: center;
    font-weight: bold;
    color: #660000;
    margin-bottom: 15px;
}

.tour-type-wrap {
    border-bottom: 1px dashed #660000;
    margin-bottom: 30px;
}


.tour-type-wrap:last-child {
    border-bottom: 0;
    margin-bottom: 0;
}
.tour-type-tum{
	float: left;
}



.tour-type-body p {
	padding-left:100px;
	font-size: 14px;
	padding-bottom: 30px;
}







.reason-wrap h5 {
    text-align: center;
    font-weight: bold;
    color: #660000;
    margin-bottom: 15px;
}

.reason-wrap {
    border-bottom: 1px dashed #660000;
    margin-bottom: 30px;
    clear: both;
    padding-bottom: 30px;

}


.reason-wrap:last-child {
    border-bottom: 0;
    margin-bottom: 0;
}
.reason-tum{
	float: left;

}



.reason-body p {
	padding-left: 175px;
	font-size: 14px;
	padding-bottom: 30px;
	min-height: 160px;

}




/* 固定メニュー */

#sticky-menu {
    border-top: 1px solid #fff;
    right: 0;
    left: 0;
    top: unset;
    position: fixed;
    width: 100%;
    bottom: 0px;
    font-size: 0;
    z-index: 20;
    margin: 0;
    background: #fff;
}


#sticky-menu ul {
    width: 100%;
   	background: #660000;
}

#sticky-menu li {
	border-right: 1px solid #fff;
    width: 33.33%;
    text-align: center;
    float: left;
    box-sizing: border-box;
    font-weight: bold;
}

#sticky-menu li:last-child {
    border-right: 0;
	box-sizing: border-box;

}


#sticky-menu li a.btn-chocolate {
    color: #fff;
    display: block;
    padding: 10px;
    font-size: 12px;
    cursor: pointer;
	background: #660000;
}


@media screen and (max-width: 767px) {

#sticky-menu li .taiwan-top {
    font-size: 9px;
    }

}


/* 説明ボタン */

#about-btn {clear: both;margin: 30px;}


@media screen and (max-width: 767px) {
#about-btn {clear: both;margin: 30px 0 ;}


    
}



#about-btn a.btn-chocolate.ico-taiwan {
    background: #660000;
    border-color: #660000;
    font-weight: bold;
    color: #fff!important;
    margin: 0 auto;
    padding: 15px;
	text-align: center;
    width: 100%;
    display: block;
    border-radius: .25rem;
    	position:relative;
	line-height:2em;
	padding-left:3em;
}

@media screen and (max-width: 767px) {

#about-btn a.btn-chocolate.ico-taiwan {
    font-size: 12px;

    margin-bottom:12px;}
    
}

#about-btn a.btn-chocolate.ico-taiwan:before {
	position:absolute;
	left:20px;
	content:"";
	display:inline-block;
	width:2em;
	height:2em;
	background:url(../img/ico_taiwan.png) no-repeat;
	background-size:contain;
}


#about-btn a.btn-chocolate.ico-willer {
    background: #660000;
    border-color: #660000;
    font-weight: bold;
    color: #fff!important;
    margin: 0 auto;
    padding: 15px;
	text-align: center;
    width: 100%;
    display: block;
    border-radius: .25rem;
    	position:relative;
	line-height:2em;
	padding-left:3em;
}



#about-btn a.btn-chocolate.ico-willer:before {
	position:absolute;
	left:20px;
	content:"";
	display:inline-block;
	width:2em;
	height:2em;
	background:url(../img/ico_willer.png) no-repeat;
	background-size:contain;
}


@media screen and (max-width: 767px) {

#about-btn a.btn-chocolate.ico-willer:before {
    left: 8px;
}

#about-btn a.btn-chocolate.ico-willer {
    font-size: 12px;
}

#about-btn a.btn-chocolate.ico-willer:before {
    left: 8px;
}
}





/* 検索窓 */

#plan-search {
    margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
#plan-search {
    margin-bottom: 70px;
}
}

    
#plan-search .card{
    position: relative;
    width: 100%!important;
        box-shadow: 0px 0px 6px #ccc;
}



#plan-search .card-header{
	text-align:center;
	z-index: 2;
	position: relative;
	padding: 0;
}

#plan-search .card {
	border: none;
}

#plan-search .btn {
	border: none;
    text-align: left;
    white-space: unset;
}


#plan-search .card-header button {
    padding: 15px 40px 15px 15px;
    display: block;
    background: #333;
    width: 100%;
    color: #fff;
    font-size: 18px;
    border: 0;
    -webkit-appearance: button;
    font-weight: bold;
    border-radius:.25rem;
-webkit-border-radius:.25rem;
-moz-border-radius:.25rem;
cursor: pointer;
}



@media screen and (max-width: 767px) {

#plan-search .card-header button {
    font-size: 16px;
    }
}
    
    

#plan-search .card-header button:hover {
    text-decoration: none;
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
    transition-property: all;
    transition: 0.3s linear;
}

.sidebar #plan-search .card-header button {
    padding: 15px 40px 15px 15px;
    display: block;
    background: #333;
    width: 100%;
    color: #fff;
    pointer-events: none;
    font-size: 18px;
    cursor: initial;
    border: 0;
    -webkit-appearance: button;
    font-weight: bold;

}


.sidebar #plan-search .card-header button:after{

	content: none;
}
	
	

.sidebar #plan-search .card-header button[aria-expanded=true]{
    border-radius:.25rem;
-webkit-border-radius:.25rem;
-moz-border-radius:.25rem;
}

.sidebar #plan-search .card-header button[aria-expanded=false]{
    border-radius: .25rem .25rem 0 0 / .25rem .25rem 0 0;
    -webkit-border-radius: .25rem .25rem 0 0 / .25rem .25rem 0 0;
    -moz-border-radius: .25rem .25rem 0 0 / .25rem .25rem 0 0;
}






@media screen and (max-width: 991px) {

.sidebar #plan-search .card-header button {
    pointer-events: initial;
    cursor: pointer;
	}
	
.sidebar #plan-search .card-header button:hover {
	text-decoration: none;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
 transition-property: all;
  transition: 0.3s linear;
}

.sidebar #plan-search .card-header button[aria-expanded=false]{
    border-radius:.25rem;
-webkit-border-radius:.25rem;
-moz-border-radius:.25rem;
}

.sidebar #plan-search .card-header button[aria-expanded=true]{
    border-radius: .25rem .25rem 0 0 / .25rem .25rem 0 0;
    -webkit-border-radius: .25rem .25rem 0 0 / .25rem .25rem 0 0;
    -moz-border-radius: .25rem .25rem 0 0 / .25rem .25rem 0 0;
}
	

	
}

.sidebar #plan-search .collapse:not(.show) {
    display: block;
}



@media screen and (max-width: 991px) {

.sidebar #plan-search .collapse:not(.show){
	display: none;
}

.sidebar #plan-search .card-header button[aria-expanded=false]::after{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 20px;
	content: "\f067";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	font-size: 22px;
    color: #fff;
}



.sidebar #plan-search .card-header button[aria-expanded=true]::after{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 20px;
	content: "\f068";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	font-size: 22px;
    color: #fff;
}


}








@media screen and (max-width: 1199px) {


	

	
.sidebar #plan-search .card-header button {

    font-size: 15px;

}

.sidebar #plan-search .card-header button:after {
    font-size: 22px;
    }
}


.card-header button:after{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 20px;
	content: "\f068";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	font-size: 22px;
    color: #fff;
}





.card-header button.collapsed:after{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 20px;
	content: "\f067";
	font-family: "Font Awesome 5 Free";
	font-weight:900;
	font-size: 22px;
    color: #fff;
}

@media screen and (max-width: 767px) {
.card-header button.collapsed:after {
    font-size: 16px;
}
}

@media screen and (max-width: 991px) {

	
.sidebar #plan-search .card-header button {

    font-size: 18px;

}

.sidebar #plan-search .card-header button:after {
    font-size: 26px;
    }
}


button:focus {
    outline: 0;
    }


#plan-search .card-header h2 {

}


#plan-search .card-body {
    padding: 20px;
    border: none;

    z-index: 1;
}

.hotel-box a.about-tourtype {
    font-size: 10px;
    font-weight: normal;
    color: #333;
    padding-left: 12px;
    cursor: pointer;
    display: block;
    margin-bottom: 10px;
}

.hotel-box a.about-tourtype:before {
    content: "\f24d";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    left: 0px;
    z-index: 1;
    font-size: 10px;
}

.card-header, .card-body {
border: none!important;
}



#plan-search dl dt{
    min-width: 120px;
    display: table-cell;


}

@media screen and (max-width: 1199px) {


.sidebar #plan-search dl dt {
    display: block;
}
	
}


@media screen and (max-width: 991px) {

.sidebar #plan-search dl dt {
    display: table-cell;
}
	
}


#plan-search dl dd{
    display: table-cell;
    width: 100%;
}

.hotel-box {
    padding: 15px !important;
    background: #f1f1f1;
}


#plan-search h3 {font-size: 14px;
    margin-bottom: 10px;
        margin-top: 30px;}

.btn-group, .btn-group-vertical {

    display: block;

}

.form-control {
    display: inline-block;
    width: auto;
	    margin: 5px 0;
}


.btn-group>.btn-group:not(:first-child)>.btn, .btn-group>.btn:not(:first-child) {
    padding: 0;
}


.btn-group>.btn-group:not(:last-child)>.btn, .btn-group>.btn:not(:last-child):not(.dropdown-toggle) {
	padding: 0;
    margin-right: 30px;
}

select #rsd {
margin-left: 10px;
}
    
    
    
.btn-search {
	width: 40%;
	display: block !important;
	padding: 15px;
	margin: 20px auto 20px auto;
	color: #fff;
	font-size: 16px;
	background: #333;
	border: none;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	cursor: pointer;
} 

@media screen and (max-width: 1199px) {

.sidebar #plan-search .btn-search {
	width: 60%;
} 
}
    
.btn-search:hover {
	text-decoration: none;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
 transition-property: all;
  transition: 0.3s linear;
} 
    
.btn.focus, .btn:focus, .btn:hover {
    color: #333;
}


/* 検索結果なし */



#plan-wrap #plan-notfound .plan-notfound-wrap {
    padding: 30px;
    text-align: left;

    border: 5px solid #f4f4f4;
    margin: 20px 0 100px 0;
}

#plan-wrap #plan-notfound p {
    font-size: 16px;
    padding-left: 25px;
    }

#plan-wrap #plan-notfound i {
    font-style: normal;
    font-size: 16px;
    position: absolute;
    margin-top: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
	color:#f53d7e;
}




@media(max-width:991px) {

#plan-wrap #plan-notfound .plan-notfound-wrap{
		font-size: 14px;
		margin:20px 0 50px; 
		padding:20px;	
	}

#plan-wrap #plan-notfound p {
	font-size: 14px;
    padding-left: 25px;
    }	




}

/* 目的地からオプショナルツアーを探す */




.itembox {margin-bottom: 30px;}


.itembox-body h3 {
	text-align: left;
    font-size: 14px;
    margin: 5px 0;
}

.itembox-body h3 a{
	color: #333;
	font-size:18px;
	font-weight: bold;
	margin: 5px 0;

}




@media screen and (max-width: 767px) {
.itembox-body h3 a{
	font-size:14px;
	}
	
	.itembox-body .example-txt {
	font-size:12px;
}
}


.itembox-body .example-txt {
	text-align: left;
}


#discover {
    text-align: center;
}


#discover h2 {
	position: absolute;
	font-size: 30px;
	top: 31px;
	left: 0;
	right: 0;
	margin: auto;
	color: #660000;
	text-align: center;
	font-weight: bold;
}


#discover .itembox02 .itembox-book{
		padding:6px 0px 5px 0px;
	}


#discover  .itembox-book a.btn-main {
background: #333;
    border-color: #333;
    font-weight: bold;
    color: #fff!important;
	margin: 8px auto 20px auto;
    padding: 8px;
    width: 50%;
    display: block;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
#discover .itembox-book a.btn-main {
    width: 78%;}

}

#discover .itembox-book a.btn-main:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 15px;
    color: #fff!important;
}





@media screen and (max-width: 767px) {
#discover h2 {
	font-size: 18px;}
	
}

#discover .title-wrap img{
	margin: 0 auto;
	width: auto;
}

#discover .title-wrap {
	margin:0 auto 30px auto;
	position: relative;
    width: 100%;
}


/* ピックアップ */

#plan-pickup {
    width: 100%;
}

#plan-pickup h2 {
	font-size: 20px;
	margin: auto;
	color: #660000;
	text-align: center;
	font-weight: bold;
	margin-bottom: 30px;
}

#plan-pickup h2:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 40px;/*画像の幅*/
  height: 34px;/*画像の高さ*/
  background-image: url(../img/ico_plan_pickup.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
}



#plan-pickup .itembox02 h3 {
    color: #000;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
}



#plan-pickup .itembox02 h3 a{
    color: #000;
    font-size: 14px;
}

#plan-pickup .itembox02{
	border:1px solid #ccc;
	margin-bottom:20px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	background:#fff;
	overflow:hidden;
	padding: 15px;
}


	
#plan-pickup .itembox02 img{
		float:left;
		margin-right: 0px;
	}



	
#plan-pickup .itembox02 .itembox-body{
		margin-left:41%;
	}
	
#plan-pickup .itembox02 .itembox-book{
		padding:6px 0px 5px 0px;
	}
	
	
#plan-pickup .itembox02 h3{
		font-size:14px;
		margin-top:0;
	}

#plan-pickup .itembox02 .example-txt {
    font-size: 14px;
    padding-right: 3px;
    color: #000;
    margin: 5px 0;
}



.num {
    font-size: 16px;
    font-weight: bold;
    color:#f53c7f;

    display: inline;
}


.yen{
    font-size: 12px;
    font-weight: bold;
    color: #f53c7f;
    display: inline;
    padding-right: 3px;
}

#plan-pickup .itembox-book a.btn-main {
background: #f53d7e;
    border-color: #f53d7e;
    font-weight: bold;
    color: #fff!important;
    margin: 0 auto;
    padding: 8px;
    width: 100%;
    display: block;
    font-size: 14px;
}

#plan-pickup .itembox-book a.btn-main:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 15px;
    color: #fff!important;
}


@media(max-width: 767px) {
/* タブレット以下 */

#plan-pickup .itembox02 {
    margin-bottom: 15px;
}


	

	
.price-text{
		font-size:12px;
		text-align:center;
	}
	
.num{
		font-size:18px;
	}


}

.price-text-wrap {
	display: inline-block;
    width: 100%;

 

}



#plan-pickup .price-text-wrap {
    display: inline;
    margin-right: 10px;
	color: #f53c7f;
    font-weight: bold;
}

#plan-pickup .price-text-wrap:lastlastchild {
    margin-right: 0px;
}



@media (max-width: 767px) {
	
.num {
    font-size: 14px;
}

	#plan-pickup {
	margin-bottom: 30px;
}
#plan-pickup h2 {
	margin-bottom: 15px;
}
}










/* アクセスバス */

#access-bus {
    width: 100%;
	margin-top: 50px;
}

#access-bus h2 {
	font-size: 20px;
	margin: auto;
	color: #660000;
	text-align: center;
	font-weight: bold;
	margin-bottom:50px;
}

#access-bus h2:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 60px;/*画像の幅*/
  height: 24px;/*画像の高さ*/
  background-image: url(../img/ico_access_bus.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
}




#access-bus .itembox02 h3 {
    color: #000;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
}



#access-bus .itembox02 h3 a{
    color: #000;
    font-size: 14px;
}

#access-bus .itembox02{
	border:1px solid #ccc;
	margin-bottom:20px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	background:#fff;
	overflow:hidden;
	padding: 15px;
}


	
#access-bus .itembox02 img{
		float:left;
		margin-right: 0px;
	}





	
#access-bus .itembox02 .itembox-body{
		margin-left:41%;
	}
	
#access-bus .itembox02 .itembox-book{
		padding:6px 0px 5px 0px;
	}
	
	
#plan-pickup .itembox02 h3{
		font-size:14px;
		margin-top:0;
	}

#access-bus .itembox02 .example-txt {
    font-size: 14px;
    padding-right: 3px;
    color: #333;
    margin: 5px 0;
}



#access-bus  .itembox-book a.btn-main {
background: #333;
    border-color: #333;
    font-weight: bold;
    color: #fff!important;
    margin: 0 auto;
    padding: 8px;
    width: 100%;
    display: block;
    font-size: 14px;
}

#access-bus .itembox-book a.btn-main:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 15px;
    color: #fff!important;
}


@media(max-width: 767px) {
/* タブレット以下 */

#access-bus .itembox02 {
    margin-bottom: 15px;
}


}





/* よくある質問 */

#faq {
    width: 100%;
	margin-top: 50px;
}

#faq h2 {
	font-size: 20px;
	margin: auto;
	color: #660000;
	text-align: center;
	font-weight: bold;
	margin-bottom: 30px;
}

#faq h2:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 35px;/*画像の幅*/
  height: 35px;/*画像の高さ*/
  background-image: url(../img/ico_faq.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
}


.faq-wrap {
    border-bottom: 1px dashed #660000;
    margin-bottom: 15px;
}


.faq-wrap:last-child {
    border-bottom: 0;
}


.faq-header button h3 {
	font-size: 16px;
    font-weight: bold;
    text-align: left;
    padding-left: 25px;
    padding-bottom: 15px;
    padding-right: 24px;

}

.faq-header button {
	position: relative;
    cursor: pointer;
    background-color: #fff;
	padding: 0;
width: 100%;
}

.faq-header button:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
	width: 20px;
    height: 20px;
    float: left;
  background-image: url(../img/ico_question.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
}


.faq-header button.collapsed:after  {
    position: absolute;
    top: 20%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 4px;
    content: "\f067";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 17px;
    color: #ccc;
}




.faq-header button:after  {
    position: absolute;
    top: 20%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 4px;
    content: "\f068";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 17px;
    color: #ccc;
}



.faq-body p{
	font-size: 16px;
	padding-left: 25px;
	padding-bottom: 15px;
}

.faq-body:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
	width: 20px;
    height: 20px;
    float: left;
  background-image: url(../img/ico_answer.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
}

.faq-more-btn {
	margin: 0 auto;
}

.faq-more-btn a {
    text-align: center;
    background: #660000;
    border-color: #660000;
    font-weight: bold;
    color: #fff!important;
    padding: 8px;
    width: 50%;
    margin: 0 auto;
    display: block;
    font-size: 14px;
    border-radius: .25rem;
}

.faq-more-btn a:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 15px;
    color: #fff!important;
}


/* お客様の声 */

#voice {
    width: 100%;
	margin-top: 50px;
}

#voice h2 {
	font-size: 20px;
	margin: auto;
	color: #660000;
	text-align: center;
	font-weight: bold;
	margin-bottom: 30px;
}

#voice h2:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 45px;/*画像の幅*/
  height: 34px;/*画像の高さ*/
  background-image: url(../img/ico_voice.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
}

.voice-wrap {
    border-bottom: 1px dashed #660000;
    margin-bottom: 15px;
}


.voice-wrap:last-child {
    border-bottom: 0;
}
.voice-tum{
	float: left;
}

.voice-tum img {
    width: 40px;

}
.voice-body p {
	color: #660000;
	padding-left: 55px;
	font-size: 14px;
	padding-bottom: 15px;
}




/* プラン一覧 */



.ttl-box{
	padding:20px 0px 20px 0px;
	background:#fff;
	border-bottom:1px solid #E7E7E7;
	margin-bottom: 30px;
}

.ttl-box h1{
	font-size:14px;
	font-weight:bold;
	line-height: 1.4;
	display:inline-block;
	font-size: 22px;
	width: 100%;
}

@media screen and (max-width: 767px) {
.ttl-box h1 {
    font-size: 16px;
 }
 }

#plan-wrap .itembox02 h3 {
    color: #000;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
margin-bottom: 5px;
}



#plan-wrap .itembox02 h3 a{
    color: #000;
}

#plan-wrap .itembox02{
	border:1px solid #ccc;
	margin-bottom:20px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	background:#fff;
	overflow:hidden;
	padding: 15px;
}



	
#plan-wrap .itembox02 img{
		width:39%;
		float:left;
		margin-right: 0px;
	}
	
	
#plan-wrap .itembox02 .itembox-body{
		margin-left:41%;
		padding:6px 0px 5px 0px;
	}
	
#plan-wrap .itembox02 .itembox-book{
		margin-left:41%;
		padding:6px 0px 5px 0px;
	}
	
	
#plan-wrap .itembox02 h3{
		font-size:14px;
		margin-top:0;
	}

	

	
#plan-wrap .price-text{
		font-size:16px;
		text-align:center;
	}
	
#plan-wrap .num{
		font-size:22px;
	margin-left: 10px;
	}





#plan-wrap .tag {
    padding: 2px 5px;
    color: #333;
    background: #dedfe0;
    border: none;
    border-radius: 2px;
    font-size:10px;
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 5px;

}



#plan-wrap .data-wrap {color: #333;
    display: inline-block;
    font-size: 12px;}

#plan-wrap .data-wrap li{
	float: left;
	margin-right: 10px;
	}

#plan-wrap .data-wrap li:last-child{
	margin-right: 0px;
	}

#plan-wrap .data-wrap li.times {
background: url(../img/ico-times.png) no-repeat;
    padding-left: 17px;
    background-position: top left;

}


#plan-wrap .data-wrap li.spots {
background: url(../img/ico-spots.png) no-repeat;
	padding-left: 17px;
	background-position: top left;
}


#plan-wrap i {font-style:normal;
  font-size: 10px;
margin-right: 5px;
margin-bottom: 5px;}



#plan-wrap a.btn-main {
background: #f53d7e;
    border-color: #f53d7e;
    font-weight: bold;
    color: #fff!important;
    margin: 0 0 0 auto;
    padding: 10px 10px;
    width: 50%;
    display: block;
}



@media screen and (max-width: 767px) {
#plan-wrap a.btn-main {
    width: 100%;
}
 }
    
#plan-wrap a.btn-main:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 15px;
    color: #fff!important;
}



/* ピックアップ */


h2.search-conditions-title {
    padding-right: 15px;
    padding-left: 15px;
    width: 100%;
    font-size: 16px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    padding: 10px 15px;
    background: #f4f4f4;
    overflow: hidden;
    line-height: 1.8;
    margin: 0 15px 15px 15px;
}




#sort-wrap {
width: 100%;
    text-align: right;
    margin: 15px 0;
    padding-right: 15px;
    padding-left: 15px;
}

#sort-wrap li {
padding: 2px 7px;
    display: inline-block;
    color: black;
    text-align: right;
    font-size: 12px;
}

#sort-wrap .current {      
color: #fff;
    text-align: center;
    font-weight: 400;
    background-color: #7c7c7c;
    border-radius: .3em;
    -moz-border-radius: .3em;
    -webkit-border-radius: .3em;
    -o-border-radius: .3em;
    -ms-border-radius: .3em;
    padding: 2px 7px;
}

#sort-wrap a{
	color:#333;
}

#sort-wrap .current a{  
	color: #fff;
}


/* ページネーション */

.pagination ul.flex {
    display: flex;
    justify-content: center;
}

.pagination {
	display: block;
	margin: 5px 0;
	width: 100%;
	color:#666;
}

.pagination .pagemae {
    text-align: center;
    margin-top: 10px;
}


.pagination ul {

	text-align: center;
}
.pagination li {
	float: left;
	display: inline-block;
	margin: 5px;



}


.pagination li.pagemae {
	margin-top: 11px;

}
.pagination li a {
	color: #333;
	padding: 10px 16px;
display: block;
	border: 1px solid #ccc;
	border-radius: 50%;
}




.pagination li span {
	padding: 10px 16px;
	    display: block;
	    	border: 1px solid #ccc;
	border-radius: 50%;
}

.pagination li a:hover,.pagination li.current  {
	color: #fff;
	background-color: #ccc;
	border-radius: 50%;
	    opacity: unset;
    transition-property: unset;
    transition: unset;
}




/* 台湾の基本情報 */


/* テーブル */

table a {
    color: #000;
}

table a:hover {
    color: #333;
    text-decoration: underline;}


table {
    display: table;
    width:100%;
    margin: 0 0 48px 0;
    border-collapse: collapse;
}
table th,table td {
	border: 1px solid #E7E7E7;
    padding:10px;
}

td{background-color:#ffffff;text-align: left;}
th{background-color:#f7f7f7;font-weight:bold;white-space: nowrap;width:25%;text-align: left;}

#taiwan-info h2, #taiwan-food h2, #taiwan-spot h2{
	font-size: 18px;
    font-weight: bold;
    padding-bottom: 8px;
    margin: 20px 0 20px 0;
    border-bottom: solid 1px #ccc;
}


#taiwan-info img {
    width: 100%;
        margin:0 0 30px 0;
    height: auto;}
    
    
.title-wrap {
    width: 100%;
}



#plan-notfound {
    width: 100%;
}




/* キャンペーン */

#campaign {
    width: 100%;
	margin-top: 50px;
	margin-bottom: 50px;
}

#campaign h2 {
	font-size: 20px;
	margin: auto;
	color: #660000;
	text-align: center;
	font-weight: bold;
	margin-bottom:50px;
	width: 100%;
}

#campaign h2:before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 60px;/*画像の幅*/
  height: 24px;/*画像の高さ*/
  background-image: url(../img/ico_access_bus.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
}




#campaign .itembox02 h3 {
    color: #000;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
}

#campaign .itembox02 .price-text-wrap {
	color: #f53c7f;
	font-weight: bold;
}




#campaign .itembox02 h3 a{
    color: #000;
    font-size: 14px;
}

#campaign .itembox02{
	border:1px solid #ccc;
	margin-bottom:20px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	background:#fff;
	overflow:hidden;
	padding: 15px;
}


	
#campaign .itembox02 img{
		float:left;
		margin-right: 0px;
	}





	
#campaign .itembox02 .itembox-body{
		margin-left:41%;
	}
	
#campaign .itembox02 .itembox-book{
		padding:6px 0px 5px 0px;
	}
	
	
#plan-pickup .itembox02 h3{
		font-size:14px;
		margin-top:0;
	}

#campaign .itembox02 .example-txt {
    font-size: 14px;
    padding-right: 3px;
    color: #333;
    margin: 5px 0;
}



#campaign  .itembox-book a.btn-main {
background: #f53d7e;
    border-color: #f53d7e;
    font-weight: bold;
    color: #fff!important;
    margin: 0 auto;
    padding: 8px;
    width: 100%;
    display: block;
    font-size: 14px;
}

#campaign .itembox-book a.btn-main:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 15px;
    color: #fff!important;
}


.ribbon-wrapper {
  display: block;
  position: relative;
  margin: 15px auto;
  padding: 10px 0;
  width: 300px;
  height: 150px;
  background: #f1f1f1;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14);
  box-sizing: border-box;
}

.ribbon-content {
  position: absolute;
  top: 0;
  left: 15px;
  width: 85px;
  height: 85px;
  overflow: hidden;
  }

.ribbon {
  display: inline-block;
  position: absolute;
  padding: 5px 0;
  left: -51px;
  top: 20px;
  width: 160px;
  text-align: center;
  font-size: 18px;
  line-height: 16px;
  background: #cc0000;
  color: #fff;
  -webkit-transform: rotate(-45deg);
  z-index: 10;
}


@media(max-width: 767px) {
/* タブレット以下 */

#campaign .itembox02 {
    margin-bottom: 15px;
}


}


/* button
--------------------------------------*/
.button {
  display: block;
  max-width: 300px;
  width: 100%;
  margin: 30px auto;
  padding: 0;
}

.button-back {
  max-width: 947px;
  text-align: center;
  margin: 30px auto 10px;
}

.button-link {
  position: relative;
  display: block;
  width: 100%;
  padding: 22px 30px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.6;
  text-align: center;
  color: #212529;
  transition: 0.3s;
  background: #fdfcf0;
  border-radius: 10px;
  border: 2px solid #212529;
}
.button-link:hover {
  opacity: 0.6;
  color:#212529;
  text-decoration: none;
}

.button-link::after {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 20px;
  font-size: 24px;
  color: #212529;
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .button {
    max-width: 100%;
    margin: 20px auto;
  }

  .button-link {
    padding: 20px;
    font-size: 16px;
  }

  .button-link::after {
    top: auto;
    right: 20px;
    width: 20px;
    height: 18px;
    font-size: 26px;
  }
}

@media (max-width: 480px) {
  .button-link::after {
    top: calc(50% - 3px);
    right: 10px;
    width: 20px;
    height: 18px;
    font-size: 16px;
    transform: translateY(-50%);
  }
}
