@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap&subset=japanese');

#wrap {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	color: #333;
	font-size: 3.5vw;
}
#wrap * {
	box-sizing: border-box;
}
.nosp {
	display: none;
}

/* メインビジュアル
------------------------------ */
#mainWrap {
	position: relative;
    width: 100%;
    height: 62vw;
    background: #fff url(../img/sp/main_bg.jpg) no-repeat center top;
    background-size: 100%;
    padding-bottom: 3vw;
}
#mainWrap .title {
    padding-top: 5vw;
    width: 88vw;
    margin: 0 auto;
}
#mainWrap .title img {
	width: 100%;
}
#mainWrap .read {
	color: #e95623;
	width: 90%;
	margin: 0 auto;
	font-size: 3.3vw;
	line-height: 1.5em;
	font-weight: bold;
}
#mainWrap::before {
    content: "";
    display: inline-block;
    width: 15vw;
    height: 13.5vw;
    background-image: url(../img/sp/mv_photo01.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
}
#mainWrap::after {
    content: "";
    display: inline-block;
    width: 10vw;
    height: 13vw;
    background-image: url(../img/sp/mv_photo02.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    right: 3vw;
}

/* リード
------------------------------ */
#read {
    background-color: #e74f00;
    padding: 3vw 3vw;
    color: #fff;
	font-size: 3.4vw;
}
/* トップナビ
------------------------------ */
#topNavi {
    width: 100%;
    padding: 2vw 0;
    position: relative;
    padding-bottom: 3vw;
    background-color: #e74f00;
}
#topNavi .read {
    font-size: 13px;
    line-height: 1.5em;
    color: #fff;
    margin-bottom: 10px;
    padding: 5px 10px;
}
#topNavi ul{
    width: 96vw;
    margin: 0 auto;
    display: flex;
}
#topNavi ul li {
    width: 32vw;
    height: 50px;
    margin: 0 0.5vw 1vw;
    text-align: center;
    font-size: 11.5px;
    font-weight: bold;
    line-height: 1.2em;
}
#topNavi ul li a{
    color: #51221c;
    text-decoration: none;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 3px;
    position: relative;
    letter-spacing: .1em;
}
#topNavi ul li a:after {
    font-family: FontAwesome;
	content: "\f107";
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
}
/*上部固定時のcss*/
#topNavi.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    box-shadow: 0px 1px 2px 0px rgb(0 0 0 / 30%);
	border-top: none;
    background: #e74f00;
	padding: 2vw 0;
}
#topNavi.fixed ul {
	display: flex;
	justify-content: space-between;
}
#topNavi.fixed ul li {
	/*line-height: 1.4em;
    font-size: 3.2vw;
    font-weight: 700;
	border-radius: 5px;
	background: #fff;
	margin: 0.8vw;
	overflow: hidden;*/
}
#topNavi.fixed ul li a {
	/*width: 100%;
	padding: 1vw;
	display: flex;
	align-items: center;
	justify-content: center;*/
	filter: none;
	background: #fff;
	color: #6a3906;
	padding: 3vw 0 4vw;
}
#topNavi.fixed ul li a::before {
	content: none;
}
#topNavi.fixed ul li img {
    width: 75%;
}
#topNavi.fixed ul .active {
	background: #ffff6f;
}

/* カレンダー
------------------------------ */
#calender {
	width: 100%;
	background-color: #fbf4e1;
	padding: 5vw 3vw 14vw;
}
#calender h2 {
	font-size: 4.0vw;
	font-weight: bold;
	color: #3b1505;
	margin-bottom: 3vw;
}
#calender h2:before {
    font-family: FontAwesome;
    content: "\f002";
	padding-right: 5px;
}
#calender ul {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#calender ul li {
	margin: 0 1vw 2vw 0;
	filter: drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.2));	
}
#calender ul li img {
	width: 14vw;
	height: auto;
	vertical-align: bottom;
}
#calender ul li a {
	display: block;
}

/* おすすめベスト3
------------------------------ */
#recoBest {
	width: 100%;
	background: #f8e3b1 url("../img/sp/recobest_bg.png") no-repeat bottom center;
	background-size: 100%;
	position: relative;
	padding: 16vw 0 12vw;
}
#recoBest h2 {
	position: absolute;
	top:-4vw;
	right: 0;
	left: 0;
	text-align: center;
}
#recoBest h2 img {
	width: 90vw;
}
#recoBest .item-box-badge {
	position: absolute;
    top: -7vw;
    left: -3vw;
}
#recoBest .item-box-badge img {
	width: 20vw;
}

/* テーマナビ
------------------------------ */
#themeNavi {
	width: 100%;
	background-color: #5aab1e;
	padding: 4vw 0 1vw;
}
#themeNavi .inner {
}
#themeNavi h2 {
	font-size: 4.0vw;
	font-weight: bold;
	color: #fff;
	margin-bottom: 3vw;
	padding-left: 3vw;
}
#themeNavi h2:before {
    font-family: FontAwesome;
    content: "\f02c";
	padding-right: 5px;
}
#themeNavi ul {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#themeNavi ul li {
	width: 30vw;
	font-size: 3.4vw;
	line-height: 1.2em;
	margin: 0 0.7vw 2vw;
	font-weight: bold;
    color: #397d07;
    text-align: center;
    background-color: #fff;
    border-radius: 5px;
    padding-bottom: .5vw;
    position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
    height: 12vw;	
}
#themeNavi ul li:first-child {
	background-color: #f9f239;
}
#themeNavi ul li:after {
	font-family: FontAwesome;
	content: "\f107";
	position: absolute;
	bottom: -.8vw;
	right: 0;
	left: 0;
}
#themeNavi ul li.tab-button-active {
	background-color: #0f5700;
	color: #fff;
}


/* ツアー
------------------------------ */
#tourWrap {
	width: 100%;
	background: url("../img/tour_bg.png");
	/*background-size: 200px auto;*/
	padding-bottom: 15vw;
    position: relative;
}
#tourWrap:after{
    content: '';
    display: inline-block;
    width: 24vw;
    height: 8vw;
    background-image: url(../img/bus.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    left: 5vw;
    bottom: 0;
}
#tourWrap .product-inner {
	padding-top: 5vw;
}
#tourWrap #title {
    width: 94vw;
    margin: 0 auto;
}
#tourWrap h3 {
	background: url(../img/sp/title_bg.png) no-repeat bottom center;
	background-size: contain;	
    display: none;
	margin: 0 auto;
	color: #4f231d;
	text-align: center;
	margin-bottom: 3vw;
}
#tourWrap h3 .theme {
	font-size: 4.8vw;
	font-weight: bold;
	display: block;
}
#tourWrap h3 .text {
	font-size: 3.4vw;
	line-height: 1.4em;
	font-weight: bold;
	display: flex;
    justify-content: center;
    align-items: center;
    height: 13vw;
    margin-top: 1.5vw;
	padding-top: .5vw;
}


/* 商品設定
------------------------------ */
.item-wrap,
.reco-item-wrap {
	width: 94vw;
	margin: 0 auto;
}
.item-wrap > li {
	margin-bottom: 2vw;
}
.item-wrap > li:empty {
    display: none;
}
.reco-item-wrap > li {
	margin-bottom: 6vw;
}
.item-box {
	width: 100%;
	padding: 2vw;
	background-color: #fff;
	display: inline-block;
	position: relative;
    border: solid 1px #e4dac3; 
}
.item-box a {
	display: flex;
    justify-content: space-between;
	color: #333;
	text-decoration: none;
}
.item-box:after {
    content: "";
    bottom: 0;
    right: 0;
    border-top: 0.8em solid transparent;
    border-right: 0.8em solid #fdd000;
    position: absolute;
    z-index: 100;
}
.item-box .item-box-info_left {
	width: 26vw;
    position: relative;
}

.item-box .item-box-pic {
	width: 26vw;
}
.item-box .item-box-pic img {
	width: 100%;
	height: 19vw;
	object-fit: cover;
}
.item-box .item-box-pic span {
	position: absolute;
	right: 0px;
	top: 17.5vw;
	color: 333;
	font-size: 0.8rem;
	line-height: 1.1em;
	text-align: right;
}
.item-box .item-box-info_right {
	width: 61vw;
}
.item-box .item-box-ttl {
	font-size: 3.6vw;
    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: 3vw;
    line-height: 1.4em;
    margin-bottom: 1vw;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
.item-box ul {
	color: #a63807;
	font-size: 3.0vw;
	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: 4.0vw;
    line-height: 1.4em;
	font-weight: bold;
	text-align: right;
}
.item-box .item-box-dep{
    text-align: right;
    font-size: 2.4vw;
}
/*他地区発*/
.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: 1vw 3vw;
    text-decoration: none;
    border-radius: 3px;
}
.item-search-link a:after {
	content: "\f105";
	font-family: FontAwesome;
	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: 2.8vw;
    line-height: 1.0em;
	color: #fff;
    padding: 1vw 2vw;
	display: none;
}
.item-box-icon span.show {
	display: inline-block;
}
.ico-shukuhaku{background-color: #945d89;}
.ico-yuttari{background-color: #228d2b;}
.ico-tabehodai{background-color: #77af46;}
.ico-gourmet{background-color: #ffa000;}
.ico-ichigo{background-color: #e44949}
.ico-powerspot{background-color: #39a5a6;}
.ico-flower{background-color: #ec439d;}
.ico-activity{background-color: #5c67d9;}


/*------------------------------------------------
	バストップへのボタン
--------------------------------------------------*/
.btn-bustop {
    width: 86vw;
    margin: 6vw auto 0;
    text-align: center;
    font-size: 3.2vw;
    line-height: 3.0em;
    border-radius: 1.5em;
}
.btn-bustop a {
    display: block;
    background-color: #ff6c00;
    color: #fff;
    text-decoration: none;
    border-radius: 1.5em;
    filter: drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.2));	
}
.btn-bustop a::after {
    content: "▶";
 padding-left: 2vw;
}
/*------------------------------------------------
	theme.js調整
--------------------------------------------------*/
#feature .slick-prev, #feature .slick-next{
	margin-top: -15px!important;
}
/*------------------------------------------------
    スマホ横向き時の余白調整
--------------------------------------------------*/
.breadcrumb {
    width: 100%;
}

/* ページトップ
------------------------------ */
#pagetop {
    position: fixed;
    bottom: 10px;
    right: -40px;
    opacity: 0.9;
    z-index: 100;
}
#pagetop img {
	width: 54%;
}

/* 終了テキスト
------------------------------ */
.text-wrap {
    text-align: center;
    font-size: 13px;
    padding-bottom: 20px;
    font-weight: bold;
    text-decoration: none;
}

/*クローズ
--------------------------------*/
#close {
    padding: 10vw 0;
    text-align: center;
    font-size: 3.7vw;
    line-height: 1.6em;
	background-color: #fbf4e1;
	background:linear-gradient(#fff, #fdedc4);
}
#close a {
    color: #1a7acd;
}

/*------------------------------------------------
        LINEお友達登録ボタン
--------------------------------------------------*/
.line-wrap-simple {
        padding: 6vw 0 12vw;/*ページによって調整*/
	    background: #fffbf0;
}
.line-wrap-detail {
        padding: 5vw 0;/*ページによって調整*/
        background-color: #fff;
}
.line-inner {
        width: 94vw;
        margin: 0 auto;
        text-align: center;
        letter-spacing: 0.1vw;
        line-height: 1.5;
}
.line-wrap-detail .line-inner {
        background: #fcfff6;/*ページによって調整*/
        border: solid 1px #d3d3d3;
}
.line-inner .fukidashi {
        font-size: 4.1vw;
        font-weight: bold;
        margin-bottom: 2vw;
}
.line-inner .head {
    background-color: #15c618;
    padding: 2vw 0;
    color: #fff;
    font-size: 4.3vw;
    font-weight: bold;
}
.line-inner .textarea {
        padding: 4vw 2vw 2vw;
}
.line-inner .btnarea {
        padding: 2vw 2vw 5vw;
}
.line-inner .text1 {
        font-size: 3.4vw;
        line-height: 1.5em;
        margin-bottom: 1vw;
}
.line-inner .text1 span {
        display: inline-block;
        font-weight: bold;
        color: #fb0b0b;
        background-color: #ffe1e1;
        padding: 0 0.5vw;
}
.line-inner .text2 {
        font-size: 4.1vw;
        font-weight: bold;
        background: linear-gradient(transparent 60%, #fff231 0%);
        line-height: 1.7em;        
        display: inline-block;
}
.line-button {
        margin: 0 auto;
}
.line-wrap-simple .line-button {width: 90vw;}
.line-wrap-detail .line-button {width: 80vw;}

.line-button a {
        display: block;
        color: #fff;
        font-size: 3.5vw;
        font-weight: bold;
        border-radius: 8vw;
        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 {
        display: block;
}
.line-button a span.strong::after {
        font-family: "FontAwesome", "Font Awesome 5 Free";
        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;
}
