@charset "utf-8";

/*-----------------------------------------
SP　非表示 
-------------------------------------------*/
.nosp {
    display: none;
}
/*-----------------------------------------
バナースライダー赤帯
-------------------------------------------*/
.slide-reco-banner__lineup--item--text .point {
    display: block;
    background-color: #e90000;
    color: #fff;
    font-size: calc(23vw / 7.5);
    padding: 0.3vw 0 0.8vw;
    text-align: center;
    margin-bottom: 1vw;
    letter-spacing: .5px;
}

/*-----------------------------------------
商品アイコン設置
-------------------------------------------*/
.product__list--label > [class*="product__list--label--"] {
    width: 24vw;
    font-size: calc(23vw / 7.5);
    padding: 0.25em!important;
}
.airhotel .product__list--label > [class*="product__list--label--"] {
    width: initial;
}

/*.product__list--label > [class*="product__list--label--"]:empty {
    display: none;
}*/

/*▼関西用jsonのアイコン設置用CSS（関東の商材を読み込んでるのを除く。でも宿泊プランは出す）*/
body:not(.is-kaigai) .product__list:not(.is-activities):not(.is-oe) .product__list--label > [class*="product__list--label--"]:empty {
    display: none;
}
/*国内宿泊プラン用。フェア開始前のみ出す。開始後はコメントアウト*/
/*body:not(.is-kaigai) .product__lineup .product__list--label > [class*="product__list--label--"]:empty {
    display: block!important;
}*/


.is-kaigai .product__list:not(.is-hotels):not(.is-cars):not(.is-activities):not(.is-oe) .product__list--label > [class*="product__list--label--"]:empty {
    display: none;
}
/*国内ホテルアワード用*/
.product__list--label--awbest,
.product__list--label--awgood,
.product__list--label--awgrand {
	display: block!important;
}

/*▲---------------------------*/
.product__list--label--fair,
.product__list--label--shien,
.product__list--label--goto,
.product__list--label--awbest,
.product__list--label--awgood,
.product__list--label--awgrand {
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
}
.product__list--label--cm {
	background: #e70012;
}
.product__list--label--tv {
	font-size: calc(22vw / 7.5)!important;
	background: #e70012;
}
.product__list--label--line {
  background: #07b53b;
}
.product__list--label--news {
  background: #ff6000;
}
.product__list--label--mail {
    background: #ff6000;
}
.product__list--label--other {
  background: #e70012!important;
}
/*▼下層スクロール用*/
.sp_scroll .product__list--label {
    position:absolute;
    width: 90px;
}
.sp_scroll .product__list--label > [class*="product__list--label--"] {
    padding: 0.2em;
    margin-bottom: 0;
    /*font-size: calc(20vw / 7.5);
    height: calc(40vw / 7.5);*/
}
.sp_scroll .product__list--label--fair {
    background-size: contain;
    background-color: #1853a4;
    background-position: center;
}
/*▲下層スクロール用*/

.product__list--point:empty {
    display: none;
}

/*------------------------------------
 商品空のとき
-------------------------------------*/
.product__list--item:empty,
.product__list--item--sp:empty {
  display:none;
}

/*------------------------------------
広告掲載商品完売
-------------------------------------*/
.product__list--item .kanbai .soldout {
  position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
}
.product__list--item .kanbai .soldout span {
    display: block;
    font-size: 6.0vw;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding-top: 12vw;
}
/*------------------------------------
発着地の帯 段落ち予防
-------------------------------------*/
.product__list--type--sp.port-type{
    font-size: calc(23vw / 7.5);
}

/*------------------------------------
 新旧上下限js混在応急処置
-------------------------------------*/
.product__list--minmax .minmax-new:not(:empty) + .minmax-old,
.product__list--dep .js-split-departure:not(:empty) + span,
.product__list--type .js-split-airport:not(:empty) + span,
.product__list--type--sp .js-split-airport:not(:empty) + span{
  display: none;
}
.product__list--dep .js-split-departure::after,
.product__list--dep span[id*="dep_"]::after{
  content: "出発"
}
.product__list--type.port-type::after,
.product__list--type--sp.port-type::after{
  content: "発着"
}
.product__list--type.port-type.hotel::after,
.product__list--type--sp.port-type.hotel::after{
  content: ""
}
.product__list--type.port-type.train::after,
.product__list--type--sp.port-type.train::after{
  content: "発"
}
.product__list--type.port-type.bus::after,
.product__list--type--sp.port-type.bus::after{
  content: "発"
}
.product__list--dep .js-split-departure:empty::after,
.product__list--dep span[id*="dep_"]:empty::after,
.js-split-airport:empty::after{
  display: none;
}
.product__list--dep, .product__list--notes {
	width: 100%;
}
/*------------------------------------
comming soon　ラベル
-------------------------------------*/
a.product__list--inner.pre,
a.product__list--inner--sp.pre {
    pointer-events: none; 
}
.product__list--inner.pre::before,
.product__list--inner--sp.pre::before {
    content: "";
    background: url(../../../../../assets/common/images/product_icon_coming_right.png) no-repeat 0 0 / cover;
    width: calc(208vw / 7.5);
    height: calc(76vw / 7.5);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
}
/*横スクロール用*/
.sp_scroll a.product__list--inner--sp.pre {
    display: block;
}

/*------------------------------------
FIT特典部分調整
-------------------------------------*/
.is-air .product__list--tokuten,
.is-airhotel .product__list--tokuten {
    border-top:none;
}
.is-air .product__list--tokuten--item,
.is-airhotel .product__list--tokuten--item {
    border-top: calc(1vw / 7.5) dashed;
    padding-top: 2vw;
}
.is-air .product__list--tokuten--item:empty,
.is-airhotel .product__list--tokuten--item:empty {
    display: none;
}

/*------------------------------------
バナー
-------------------------------------*/
.bnr_area {
    margin-top: calc(45vw / 7.5);
}
.bnr_area a{
    display: block;
}
.bnr_area a:not(:last-child){
    margin-bottom: 2vw;
}
.bnr_area img {
    width: 100%;
}
/*施策バナー下用*/
.bnr_area_top {
    margin: 5vw auto 0;
}

/*施策バナー見出しあり*/
#shisaku_kansai {
margin-bottom: min((120vw / 7.5), 100px);
}
#shisaku_kansai .product__title--main-text{
	/*font-size: calc(44vw / 7.5);*/
    font-size: calc(47vw / 7.5);
    line-height: 1.2;
}
/*------------------------------------
fair_pages関西用
-------------------------------------*/
.is-sp .is-kokunaiwedding .fair-page-list__link::before {
    --icon: url(/cmn/icon/icon_wedding_kokunai.svg);
}
.is-sp .is-kaigaiwedding .fair-page-list__link::before {
    --icon: url(/cmn/icon/icon_wedding_kaigai.svg);
}
.is-sp .is-cruise .fair-page-list__link::before {
    --icon: url(/cmn/icon/icon_cruise_kaigai.svg);
}
.is-sp .is-tour_special .fair-page-list__link::before {
    --icon: url(/cmn/icon/icon_purpose_blue.svg);
}
.is-sp .is-tour_business .fair-page-list__link::before {
    --icon: url(/cmn/icon/icon_business_first_kaigai.svg);
}
.is-sp .is-tour_kaigai_price .fair-page-list__link::before {
    --icon: url(/fair/sss/kansai/assets/common/images/icon/icon_price_kaigai.svg);
}
.is-sp .is-tour_kokunai_price .fair-page-list__link::before {
    --icon: url(/fair/sss/kansai/assets/common/images/icon/icon_price_kokunai.svg);
}
.is-sp .is-railhotel .fair-page-list__link::before {
    --icon: url(/cmn/icon/icon_train_hotel_kokunai.svg);
}

/*-------------------------------------
変動制の注釈調整
------------------------------------- */
.is-sp .product__lineup--notes {
  margin-top: calc(45vw / 7.5);
}
/*------------------------------------
タイムセール用期間
-------------------------------------*/
.product__lead {
    font-weight: bold;
    text-align: center;
    font-size: calc(30vw / 7.5);
	margin-top:-3vw;
}
/*------------------------------------
LINEボタン中央寄せ
-------------------------------------*/
.line__button{
	text-align: center;
}
/*------------------------------------
下部4個バナー スマホ横向き時のサイズ調整
-------------------------------------*/
.banner__reco .banner__reco--item a img{
	width: 100%;
    height: 100%;
    object-fit: contain;
}

/*------------------------------------
海外スライダーアイコン　関西用
-------------------------------------*/
.swiper-pagination-bullet.is-kaigai-special {
  --pagination-icon: url("/cmn/icon/icon_purpose_blue.svg");
}
.swiper-pagination-bullet.is-kaigai-price {
  --pagination-icon: url("/fair/sss/kansai/assets/common/images/icon/icon_price_kaigai.svg");
}
.swiper-pagination-bullet.is-kaigai-tour02 {
  --pagination-icon: url("/cmn/icon/icon_tour_plane_kaigai.svg");
}
.swiper-pagination-bullet.is-kaigai-tour03 {
  --pagination-icon: url("/cmn/icon/icon_tour_plane_kaigai.svg");
}
.swiper-pagination-bullet.is-kokunai-price {
  --pagination-icon: url("/fair/sss/kansai/assets/common/images/icon/icon_price_kokunai.svg");
}
.swiper-pagination-bullet.is-kokunai-tour02 {
  --pagination-icon: url("/cmn/icon/icon_tour_plane_kokunai.svg");
}
.swiper-pagination-bullet.is-kokunai-tour03 {
  --pagination-icon: url("/cmn/icon/icon_tour_plane_kokunai.svg");
}
/*------------------------------------
 SPのみボタン色、形変更
-------------------------------------*/
.is-sp #mainArea .product__button {
	/*margin-top: calc(65vw / 7.5);*/
	margin-bottom: calc(65vw / 7.5);
}
.is-sp #mainArea .button-base:not(.flex) {
	width: 90%;
}
.is-sp #mainArea .button-base__link {
	/*background-color: #0052d4;*/
	border-radius: calc(50vw / 7.5);
	font-size: calc(30vw / 7.5);
}
#mainArea .product__button > .fukidashi {
	text-align: center;
	font-size: 5.0vw;
	font-weight: bold;
	margin-bottom: 1vw;
}


/*------------------------------------------------
        LINEお友達登録ボタン
--------------------------------------------------*/
.line-wrap-simple {
    padding: 0;/*ページによって調整*/
}
.line-wrap-detail {
    padding: 10vw 0 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: #fff;/*ページによって調整*/
    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;
}
/*上部LINE誘導追加時*/ /*予約開始してから出す*/
/*↓全ページに出す用*/
.is-sp .fair-navi--oepn {
    top: 27px;
}
/*.is-sp:not(.is-tour) .fair-navi--oepn, .is-sp.is-special .fair-navi--oepn {
    top: 27px;
}*/
/*.is-sp:not(.is-tour) .is-fixed .fair-navi--oepn,.is-sp.is-special .is-fixed .fair-navi--oepn {
    top: 0px;
}*/
/*.is-sp:not(.is-tour) #headerArea, .is-sp.is-special #headerArea{
    background-position: center top 56px;
}*/
/*海外非表示*/
/*.is-sp.is-kaigai .fair-navi--oepn{
    top: 0px;
}*/
/*.is-sp.is-kaigai #headerArea{
    background-position: center top;
}*/

/*----------------------------------------------
サイドボタン
------------------------------------------------*/
#side-btn-sp {
    position: fixed;
    bottom: 49vw;
    right: 0;
    writing-mode: vertical-rl;
	font-size: 12px;
    line-height: 1.3em!important;
	padding-right: 5px;
    opacity: 0.8;
    z-index: 1000;
    border-bottom-left-radius: 5px;
    border-top-left-radius: 5px;
    display: none;
	vertical-align: middle;
}
#side-btn-sp.kaigai-tour-btn {background-color: #014099;}
#side-btn-sp.kokunai-tour-btn {background-color: #5db92e;}
#side-btn-sp a {
	display: block;
    padding: 10px 7px 10px 5px!important;
	color: #fff;
	text-decoration: none;
}
/*フッターまでスクロールしたら消す*/
/*.is-hidden {
  opacity: 0;
}*/
@media (orientation: landscape){
	#side-btn-sp {
		bottom: 10vw;
	}
	.is-sp .js-float-search-button .search-float__button {
		right: 32px;
	}
}

.search-float {
	display: none!important;
}

/*--------------------------------------------
ツアー導入ボタン
--------------------------------------------*/
#fix-bnr-sp {
    /*display: none;*/
    position: fixed;
    right: 0;
    bottom: 15vw;
    z-index: 100;
}
@media (orientation: landscape){
	#fix-bnr-sp {
		display: none;
	}
}
#fix-bnr-sp a {
    display: block;
}
#fix-bnr-sp a img {
	width: 100px;
}
#fix-bnr-sp .close {
  position: absolute;
  right: 5px;
  top: 5px;
}
#fix-bnr-sp .close a{
	width: 20px;
	height: 20px;
	background-color: #fff;
	border-radius: 50%;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	line-height: 20px;
	color: #888;
}

/*------------------------------------------------
	TOPの決算SALEバナー非表示
--------------------------------------------------*/
.is-sp .is-top .is-kaigai .banner__other {
    display: none!important;
}

/*------------------------------------------------
	海外・国内TOPのデフォルト検索ボタン非表示＆余白詰め
--------------------------------------------------*/
.is-sp.is-top .fair-page-list__link{
	min-height: calc(100vw / 7.5);
}

.is-sp.is-top.is-kaigai .section:not(:first-of-type){
	margin-top: 0;
}
.is-sp.is-top .search,
.is-sp.is-bus .search{
	display: none;
}
/*バスページ*/
.is-sp.is-bus .section:not(:first-of-type){
	margin-top: 0;
	padding-top: 0;
}
.is-sp.is-bus .line-button-wrap {
	margin-top: 0;
	margin-bottom: 8vw;
}

/*------------------------------------------------
	トップナビ、2カラムの時のみフォントサイズ変更
--------------------------------------------------*/
.is-sp .fair-page-list.is-column-max-4 .fair-page-list__item.is-size-2 a {
	font-size: calc(25vw / 7.5);
}
/*------------------------------------------------
       tour-navi調整
--------------------------------------------------*/
.tour-navi__title{
	font-size: calc(38vw / 7.5);
}

/*------------------------------------------------
	anchor__list 枠調整　(SSS時のみ)
--------------------------------------------------*/
.is-sp .anchor__list--link{
border: 1px solid #c9c9c9;
}




