@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%);
	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(/static/img/activity/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(/static/img/activity/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;
	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;
}
.sidebar #plan-search .card-header button[aria-expanded=false] {
	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;
	}
	.sidebar #plan-search .card-header button[aria-expanded=true] {
		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;
	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-notfound .plan-notfound-wrap {
	padding: 30px;
	text-align: left;
	border: 5px solid #f4f4f4;
	margin: 20px 0 100px 0;
}
#plan-notfound p {
	font-size: 16px;
	padding-left: 25px;
}
#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-notfound .plan-notfound-wrap {
		font-size: 14px;
		margin: 20px 0 50px;
		padding: 20px;
	}
	#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;
}
/* ピックアップ */
#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(/static/img/activity/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;
	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(/static/img/activity/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;
	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(/static/img/activity/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(/static/img/activity/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(/static/img/activity/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(/static/img/activity/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-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;
	background: #fff;
	overflow: hidden;
	padding: 15px;
}
#plan-wrap .itembox02 img {
	width: 100%;
	margin-bottom: 10px;
}
#plan-wrap .itembox02 .item-wrap {
	/*margin-left: 41%;*/
	text-align: left;
}
#plan-wrap.set-plan .itembox02 .item-wrap {
	margin-left: 0%;
	text-align: left;
}
#plan-wrap .itembox02 .itembox-body {
	padding: 6px 0px 5px 0px;
}
#plan-wrap.set-plan .itembox02 .itembox-body {
	margin-left: 0%;
	padding: 6px 0px 5px 0px;
}
#plan-wrap .itembox02 .itembox-book {
	padding: 6px 0px 5px 0px;
}
#plan-wrap .itembox02 h3 {
	font-size: 14px;
	margin-top: 0;
}
#plan-wrap .price-text {
	font-size: 14px;
	margin-right: 5px;
}
@media (max-width: 1189px) {
	#plan-wrap .price-text {
		text-align: left;
	}
}
#plan-wrap .num {
	font-size: 18px;
}
#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(/static/img/activity/ico-times.png) no-repeat;
	padding-left: 17px;
	background-position: top left;
}
#plan-wrap .data-wrap li.spots {
	background: url(/static/img/activity/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 {
	text-align: left;
	width: 100%;
	font-size: 16px;
	border-radius: 5px;
	padding: 10px 15px 15px 15px;
	background: #f4f4f4;
	overflow: hidden;
	line-height: 1.8;
}
#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;
	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;
}
/* 台湾の基本情報 */
/* テーブル */
article table a {
	color: #000;
}
article table a:hover {
	color: #333;
	text-decoration: underline;
}
article table {
	display: table;
	width: 100%;
	margin: 0 0 48px 0;
	border-collapse: collapse;
}
article table th, article table td {
	border: 1px solid #E7E7E7;
	padding: 10px;
}
article td {
	background-color: #ffffff;
	text-align: left;
}
article 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%;
}
/* キャンペーン */
#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(/static/img/activity/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;
	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;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	z-index: 10;
}
@media(max-width: 767px) {
	/* タブレット以下 */
	#campaign .itembox02 {
		margin-bottom: 15px;
	}
}
section#plan-wrap {}
@media (min-width: 768px) {
	#plan-wrap .itembox02 .item-wrap {
		margin-left: 0;
		text-align: left;
	}
	#plan-wrap .itembox02 .itembox-body {
		margin-left: 0;
	}
	/*#plan-wrap .itembox02 .itembox-book {
		margin-left: 0;
	}*/
	#plan-wrap a.btn-main {
		margin: 0 auto;
	}
	#plan-wrap a.btn-main {
		width: 100%;
	}
}
@media (max-width: 991px) {
	.itembox-body h3 a {
		font-size: 14px;
	}
	#plan-wrap .price-text {
		font-size: 12px;
	}
	#plan-wrap .num {
		font-size: 18px;
	}
	.itembox-body .example-txt {
		font-size: 14px;
	}
}
.plan-tab-box {
	width: 100%;
}
.plan-tab {
	display: flex;
}
span.tab-ico {
	font-size: 18px;
	margin-right: 5px;
}
span.tab-ico i {
	font-size: 18px;
}
.plan-tab a {
	font-size: 14px;
	font-weight: bold;
	color: #333;
	background: #eee;
	padding: 10px;
	border-radius: 5px 5px 0 0;
	display: block;
	text-align: center;
	border: 1px solid #DBDBDB;
}
.plan-tab a:hover, .plan-tab a.active {
	color: #fff;
	border: 1px solid #f53d7e;
	background: #f53d7e;
}
.plan-tab .plan-tab-item {
	margin-bottom: 0px;
}
.plan-tab li {
	width: 50%;
}
.plan-tab li + li {
	margin-left: 3px;
}
@media(max-width:767px) {
	.plan-tab a {
		font-size: 12px;
		padding: 10px;
	}
}
.tab-pane.active {
	animation: fadeIn 0.8s ease 0s 1 normal;
	-webkit-animation: fadeIn 0.8s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
#plan-wrap .item {
	padding: 2px 5px;
	color: #333;
	background: #fff;
	border: 1px solid;
	font-weight: bold;
	border-radius: 2px;
	font-size: 10px;
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 5px;
}
.goto, #plan-wrap .tag-goto {
	background: #f00;
	color: #fff;
	font-style: unset;
	padding: 2px 5px;
	border: none;
	border-radius: 2px;
	font-size: 10px;
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 5px;
}
.price-text-b, .num-b, .yen-b {
	font-size: 11px;
	color: #000;
}
.num-b, .yen-b {
	font-weight: bold;
}
.price-text-b {
	padding-right: 3px;
}
.card-header {
	background-color: rgba(0, 0, 0, 0) !important;
}
#plan-notfound {
	width: 100%;
}
/* reco */
#reco img {
	display: block !important;
	width: 100%;
	height: auto;
}
#reco dt {
	border: none !important;
}
/*#reco .card-plan-title {
	min-height: 48px;
}*/
#reco .card-plan-01 dd {
	padding-top: 10px;
	padding-bottom: 0;
}
#reco .card-inner {
	padding-bottom: 0;
	margin-bottom: 0;
}
/*@media (min-width:992px) {
	.card-plan-01 {
		min-height: 260px;
	}
}*/
@media (max-width:767px) {
	#reco img {
		height: 108px;
		object-fit: cover;
	}
}
/*----------20220516--------*/
.itembox a[data-toggle="modal"] {
	cursor: pointer;
}
.itembox-book button.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;
	transition: 0.5s ease;
}
.itembox-book button.btn-main:after {
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 15px;
	color: #fff !important;
}
.itembox-book button.btn-main:hover {
	opacity: 0.5;
}
.itembox .modal-body ul li {
	margin-bottom: 64px;
}
.itembox .modal-body ul li:last-child {
	margin-bottom: 24px;
}
.itembox .modal-body ul li h4 {
	font-size: 18px;
	font-weight: bold;
}
a.link_onModal {
	display: table;
	margin: 8px auto 0;
	background: #f53d7e;
	color: #fff;
	font-size: 16px;
	padding: 10px;
	width: 200px;
	text-align: center;
	border-radius: 8px;
}
.modal-footer button {
	color: #fff;
	display: table;
	width: auto;
	padding: 8px 12px;
	float: right;
	cursor: pointer;
	border-radius: 4px;
}
@media screen and (max-width: 767px) {
	.itembox-book button.btn-main {
		width: 78%;
	}
}
/* プラン金額あたりの調整
--------------------------------------------------------- */
@media screen and (min-width:768px) and (max-width:991px) {
	#pickup .price-text {
		display: block;
	}
}

/* Letter Spacing
----------------------------------------------------*/
.ls--05 {
	letter-spacing: -0.5px;
}
.ls--1 {
	letter-spacing: -1px;
}
.ls--15 {
	letter-spacing: -1.5px;
}
.ls--2 {
	letter-spacing: -2px;
}
/* Recomend
--------------------------------------------------------- */
/* 北海道 */
.reco-sapporo .sapporo,
.reco-furano .furano,
.reco-nemuro .nemuro,
/* 関東 */
.reco-tokyo-restaurantbus .tokyo-restaurantbus,
.reco-yokohama .yokohama,
.reco-tdr .tdr,
/* 中部 */
.reco-fujinomiya .fujinomiya,
.reco-izu .izu,
/* 関西 */
.reco-kyoto .kyoto,
.reco-tantetsu .tantetsu,
.reco-nara .nara,
.reco-kumano .kumano,
.reco-osaka .osaka,
.reco-kobe .kobe,
.reco-kyoto-restaurantbus .kyoto-restaurantbus,
.reco-usj .usj,
/* 中国 */
.reco-shimane .shimane,
.reco-hiroshima .hiroshima,
/* 四国 */
.reco-kochi .kochi,
.reco-shimanto .shimanto,
.reco-shodoshima .shodoshima,
/* 九州 */
.reco-shimatetsu .shimatetsu,
.reco-beppu .beppu,
.reco-huistenbosch .huistenbosch {
	display: none;
}

