@charset "utf-8";

.contents {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	color: #333;
	font-size: 3.5vw;
	line-height: 1.4em;
    background-color: #e1f6fa;
}
.contents .inner {
    width: 94vw;
    margin: 0 auto;
}
/*------------------------------------------------
	メインビジュアル
--------------------------------------------------*/
#mainvisual {
	width: 100%;
	height: 100vw;
	background: url("../img/main-bg-sp.jpg") no-repeat top center / 100%;
}
#mainvisual .title {
    padding-top: 18vw;
    width: 80vw;
    margin: 0 auto 18vw;
}
#mainvisual .title img {
    width: 100%;
}
#mainvisual .lead {
	font-size: 3.6vw;
	line-height: 1.4em;
    font-weight: bold;
    color: #fc5857;
    text-align: justify;
    text-shadow: 2px 2px 0 #fff,
               -1px 1px 0 #fff,
               1px -1px 0 #fff,
               -1px -1px 0 #fff;
}
/*------------------------------------------------
	クーポン
--------------------------------------------------*/
#coupon {
    width: 100%;
    padding: 6vw 0;
    background-color: #46bac1;
}
#coupon .inner {
    position: relative;
}
#coupon h2 {
	position: absolute;
	top: 5vw;
	left: 0;
    width: 35vw;
}
#coupon h2 img {
    width: 100%;
}
#coupon .catch {
	margin-left: 34vw;
    width: 60vw;
}
#coupon .catch img {
    width: 100%;
}
#coupon .text {
    padding-top: 5vw;
    border-top: dashed 1px #fff;
    font-size: 3.3vw;
    line-height: 1.3em;
    margin: 5vw 0 1vw;
}
#coupon .text li {
    margin-bottom: 0.5vw;
}
#coupon .text .coupon-icon {
    display: inline-block;
    background-color: #15c618;
    color: #fff;
    font-size: 0.9em;
    padding: 0 5px;
    border: solid 1px #fff;
    margin: 0 2px;
}
#coupon .illust-camera {
    position: absolute;
    top: 42vw;
    left: 22vw;
}
#coupon .illust-camera img {
    width: 15vw;
}
#coupon .illust-bus {
    position: absolute;
    top: 49vw;
    right: 0;
}
#coupon .illust-bus img {
    width: 16vw;
}
#coupon .btn-line img,
#coupon .btn-stamp img {
    width: 100%;
	margin-top: 4vw;
}
#coupon a {
    display: block;
}
/*------------------------------------------------
	新着
--------------------------------------------------*/
#news {
    width: 100%;
    background-color: #e1f6fb;
    padding-top: 5vw;
}
#news h2 {
	font-size: 4.6vw;
    line-height: 1.6em;
	font-weight: bold;
    text-align: center;
    color: #666;
	margin-bottom: 3vw;
}
#news h2:before {
    font-family: FontAwesome;
    content: "\f05a";
	padding-right: 2vw;
}
#news .news-list {
    background-color: #fff;
    padding: 2vw;
}
#news .news-list li {
    display: flex;
    flex-wrap: wrap;
}
#news .news-list li:not(:first-child) {
    border-top: dashed 1px #ccc;
    padding-top: 1.5vw;
    margin-top: 1.5vw;
}
#news .news-list li .date {
    width: 24%;
}
#news .news-list li .tag {
    width: 20%;
    background-color: #fc5857;
    color: #fff;
    text-align: center;
    font-size: 3.3vw;
}
#news .news-list li .text {
    margin-top: 1vw;
    width: 100%;
}
#news .news-list li:has(a[href=""])  {
    pointer-events: none;
}
#news .news-list li a {
    color: inherit;
    text-decoration: none;;
}
#news .news-list li:empty {
    display: none;
}
/*------------------------------------------------
	テーマナビ
--------------------------------------------------*/
#themeNavi {
	width: 100%;
	padding: 8vw 0 0;
}
#themeNavi h2 {
	font-size: 4.6vw;
    line-height: 1.6em;
	font-weight: bold;
    text-align: center;
	color: #2776a9;
	margin-bottom: 3vw;
}
#themeNavi h2:before {
    font-family: FontAwesome;
    content: "\f03d";
	padding-right: 2vw;
}
#themeNavi ul {
    width: 100%;
    margin-bottom: 2vw;
    display: flex;
}
#themeNavi ul li {
    width: 100%;
	font-size: 3.5vw;
	font-weight: bold;
	color: #fff;
    text-align: center;
    background-color: #2776a9;
    border-radius: 1vw;
	padding: 3.5vw 0 5vw;
    margin: 0 0.5vw;
    position: relative;
}
#themeNavi ul li:after {
	font-family: FontAwesome;
	content: "\f107";
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
}
#themeNavi ul li.tab-button-active {
	background-color: #fc5857!important;
}
#themeNavi ul li:first-child,
#themeNavi ul li:first-child.tab-button-active{
    background-color: #0e4d75!important;
}
/*------------------------------------------------
	ツアー
--------------------------------------------------*/
#tourWrap {
	width: 100%;
	padding: 3vw 0 10vw;
}
#tourWrap h3 {
    display: none;
	text-align: center;
	font-weight: bold;
    padding: 0 5vw;
	margin-bottom: 3vw;
}
#tourWrap h3 .theme {
	font-size: 6.0vw;
    line-height: 1.0em;
    color: #333;
    margin-bottom: 3vw;
    display: block;
    vertical-align: bottom;
}
#tourWrap h3 .text {
    font-size: 3.5vw;
	color: #333;
	line-height: 1.4em;
    background: linear-gradient(transparent 60%, #ff6 60%);
}
#tourWrap .aori {
    font-size: 5.0vw;
    line-height: 1.5em;
    font-weight: bold;
    text-align: center;
    margin-top: 8vw;
    color: #0e4d75;
}
#tourWrap .aori span {
    background:linear-gradient(transparent 60%, #fff551 60%);
}
/*------------------------------------------------
	商品設定
--------------------------------------------------*/
.item-wrap {
	width: 94vw;
	margin: 0 auto;
}
.item-wrap > li{
	margin-bottom: 4vw;
}
.item-wrap > li:empty{
	display: none;
}
.item-box {
	width: 100%;
	padding: 2vw 2vw;
	background-color: #fff;
	border: solid 1px #999;
    margin: 2vw 0 0;
}
.item-box a {
	display: block;
	color: #333;
	text-decoration: none;
}
.item-box .item-box-ttl {
	font-size: 4.0vw;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 1vw;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
.item-box .item-box-point {
	font-size: 3.4vw;
    line-height: 1.4em;
    margin-bottom: 1vw;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
.item-box ul {
	color: #a63807;
	font-size: 3.4vw;
	margin-bottom: 2vw;
}
.item-box ul li {
	display: inline;
	margin-right: 1vw;
}
.item-box ul li.item-box-type:before {
	content: '';
	display: inline-block;
	width: 3.5vw;
	height: 4vw;
	background: url(../img/ico-calendar.svg) no-repeat;
	vertical-align: middle;
	margin-right: 1vw;
}
.item-box ul li.item-box-area:before {
	content: '';
	display: inline-block;
	width: 3vw;
	height: 4vw;
	background: url(../img/ico-spot.svg) no-repeat;
	vertical-align: middle;
	margin-right: 1vw;
}
.item-box ul li.item-box-dpt:before {
	content: '';
	display: inline-block;
	width: 3vw;
	height: 4vw;
	background: url(../img/ico-busstop.svg) no-repeat;
	vertical-align: middle;
	margin-right: 1vw;
}
.item-box .item-box-price {
	color: #db1010;
	font-size: 5.0vw;
    line-height: 1.4em;
	font-weight: bold;
	text-align: right;
}
.item-box-memo{
    text-align: right;
    font-size: 2.4vw;
}
.item-box .item-btn {
    width: 86vw;
    margin: 2vw auto;
    font-weight: bold;
    background-color: #F56A20;
    text-align: center;
    color: #fff;
    border-radius: 1.5em;
    padding: 3vw 0;
}
.item-box .item-btn:after {
	content: "\f105";
	font-family: FontAwesome;
	margin-left: 5px;
}

/*他地区発ボタン*/
.item-search-link {
    display: flex;
    justify-content: flex-end;
}
.item-search-link a[href="https://bus-tour.his-j.com/osa/item/?cc="] {
    display: none;
}
.item-search-link a {
    display: inline-block;
    margin: 1vw 0 0 2vw;
    background-color: #c59d13;
    color: #fff;
    font-size: 3.4vw;
    padding: 2vw 3vw;
    text-decoration: none;
    border-radius: 3px;
}
.item-search-link a:after {
	font-family: FontAwesome;
	content: "\f105";
	margin-left: 2vw;
}

/*アイコン*/
.item-box-icon:empty,
.item-box-icon span:empty{
	display: none;
}
.item-box-icon {
	display: flex;
	flex-wrap: wrap;
}
.item-box-icon span {
    margin-right: 1vw;
    margin-bottom: 1vw;
    font-size: 3.0vw;
    line-height: 1.0em;
	color: #fff;
    padding: 1.5vw 2vw;
	display: none;
}
.item-box-icon span.show {
	display: inline-block;
}
.ico-tabehodai{background-color: #dd1717;}
.ico-mikaku{background-color: #ad630c;}
.ico-zekkei{background-color: #37279f;}
.ico-joshi{background-color: #f97da3;}
.ico-coupon{background-color: #15c618;}
.item-box iframe {
    width: 100%;
    height: 50vw;
    border-radius: 4vw;
    margin-bottom: 2vw;
}

/*------------------------------------------------
	バストップへのボタン
--------------------------------------------------*/
.btn-bustop {
    width: 86vw;
    margin: 6vw auto 0;
    text-align: center;
    font-size: 3.4vw;
    line-height: 3.0em;
    border-radius: 1.5em;
}
.btn-bustop a {
    display: block;
    background-color: #f58920;
    color: #fff;
    text-decoration: none;
    border-radius: 1.5em;
}
.btn-bustop a::after {
    content: "▶";
    padding-left: 2vw;
}
/*------------------------------------------------
	ページ内テーマリスト
--------------------------------------------------*/
#themeListWrap {
	width: 100%;
    background-color: #fffce7;
	padding: 8vw 0;
}
#themeListWrap h2 {
	font-size: 4.6vw;
    line-height: 1.6em;
	font-weight: bold;
    text-align: center;
	color: #615607;
	margin-bottom: 8vw;
}
#themeListWrap h2:before {
	font-family: FontAwesome;
    content: "\f02c";
	padding-right: 2vw;
}
#themeListWrap .fukidashi {
    color: #615607;
    font-size: 3.8vw;
    font-weight: bold;
    text-align: center;
}
/*------------------------------------------------
	終了処理
--------------------------------------------------*/
#end{
	width: 100%;
    background-color: #e0030d;
    position: relative;
}
#end .text{
    padding:5vw;
    color: #fff;
    text-align: center;
	line-height: 1.8em;
}
#end p a {
    color: #fff;
}
/*------------------------------------------------
        スマホ横向き時の余白調整
--------------------------------------------------*/
.breadcrumb {
    width: 100%;
}
/*#themeListWrap ul {
    width: 100%;
}*/
/*------------------------------------------------
        LINEお友達登録ボタン
--------------------------------------------------*/
.line-wrap {
    margin: 0;
    padding: 10vw 0 15vw;
    /* background: #fff; */
    line-height: 1.5; /* 親要素からの継承が1.5以外の数値なら記載する */
}
.line-button-wrap {
    width: 94vw;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 0.1vw;
}
.line-button-wrap .fukidashi {
    font-size: 4.1vw;
    text-align: center;
    font-weight: bold;
    margin-bottom: 1vw;
}
.line-button {
    width: 90vw; /* デフォルト88% */
    margin: 0 auto;
}
.line-button a {
    display: block;
    color: #fff;
    font-size: 3.5vw;
    text-align: center;
    font-weight: bold;
    border-radius: 10vw;
    box-shadow: 0px 3px 0px 0 rgba(0, 0, 0, .14);
    background: url(/kansai/images/icon/icon-linekansai.png) no-repeat;
    background-size: 12vw;
    background-position: 3vw; /* 左端からの位置 */
    background-color: #15c618;
    padding: 2.4vw 4vw 1.8vw 16vw;
    position: relative;
    text-decoration: none;
}
.line-button a span.small {
    display: block;
    font-size: 2.8vw;
    font-weight: normal;
}
.line-button a span.strong {
    /*width: 90%;*/
    display: block;
}
.line-button a span.strong::after {
    font-family: "FontAwesome";
    font-weight: 900;
    content: "\f138";
    font-size: 4vw;
    margin-left: 1.4vw;
}
.line-button a span.line-friend {
    font-size: 1.3em;
    color: #fff231;
    padding: 0 0.5vw;
}