@charset "utf-8";

/*html {
  scroll-behavior: smooth;
}*/
/*-----------------------------------------
PC　非表示 
-------------------------------------------*/
.nopc {
  display: none;
}
/*-----------------------------------------
バナースライダー赤帯
-------------------------------------------*/
.slide-reco-banner__lineup--item--text .point {
    display: block;
    background-color: #e90000;
    color: #fff;
    font-size: 12px;
    padding: 1px 0 3px;
    text-align: center;
    margin-bottom: 3px;
}

/*-----------------------------------------
商品アイコン設置
-------------------------------------------*/
.product__list--label > [class*="product__list--label--"] {
    width: 100%;
}
/*.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: 100%;
    white-space: nowrap;
    overflow: hidden;
}
.product__list--label--cm {
  background: #e70012;
}
.product__list--label--tv {
    font-size: 11px!important;
    background: #e70012;
}
.product__list--label--line {
  background: #07b53b;
}
.product__list--label--news {
  background: #ff6000;
}
.product__list--label--mail {
    font-size: 10px!important;
    background: #ff6000;
}
.product__list--label--other {
  background: #e70012!important;
}
.product__list--point:empty {
    display: none;
}
/*------------------------------------
 ipad safariのフォント調整
-------------------------------------*/
.product__list--item {
	-webkit-text-size-adjust: none;
}

/*------------------------------------
 商品空のとき
-------------------------------------*/
.product__list--item:empty {
  display:none;
}


/*------------------------------------
広告掲載商品完売
-------------------------------------*/
.product__list--item .kanbai.product__list--inner:hover {
    opacity: 1;
    color: #000;
}
.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: 26px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding-top: 30px;
}
.is-koukoku .product__list--inner {
  display: flex;
  flex-wrap: wrap;
}
.is-koukoku .product__list--label {
  position: initial;
  width: 100%;
  display: flex;
  flex-direction: row;
  margin-bottom: 5px;
}
.is-koukoku .product__list--label > [class*="product__list--label--"] {
  width: 90px;
  margin-right: 5px;
}

/*------------------------------------
発着地の帯 段落ち予防
-------------------------------------*/
.product__list--type.port-type{
    font-size: 12px!important;
}
/*safari*/
::-webkit-full-page-media, :future, :root .product__list--type.port-type::after{
    font-size: 12px!important;
}
.product__list--type.port-type::after{
    font-size: 12px!important;
}
_:lang(x)+_:-webkit-full-screen-document, :root .product__list--type.port-type::after{
    font-size: 12px!important;
}


/*------------------------------------
 出発日 段落ち予防
-------------------------------------*/
.product__list--dep{
	font-size:11px!important;
	/*letter-spacing: 0.2px;*/
}

/*------------------------------------
 新旧上下限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{
  display: none;
}
.product__list--dep .js-split-departure::after,
.product__list--dep span[id*="dep_"]::after{
  content: "出発"
}
.product__list--type.port-type::after{
  content: "発着"
}
.product__list--type.port-type.hotel::after{
  content: ""
}
.product__list--type.port-type.train::after{
  content: "発"
}
.product__list--type.port-type.bus::after{
  content: "発"
}
.product__list--dep .js-split-departure:empty::after,
.product__list--dep span[id*="dep_"]:empty::after{
  display: none;
}

/*------------------------------------
comming soon ラベル
-------------------------------------*/
a.product__list--inner.pre {
    pointer-events: none;  
}
.product__list--inner.pre::before {
    content: "";
    background: url(../../../../../assets/common/images/product_icon_coming_right.png) no-repeat 0 0 / cover;
    width: 146px;
    height: 53px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
}

/*------------------------------------
FIT特典部分調整
-------------------------------------*/
.is-air .product__list--tokuten,
.is-airhotel .product__list--tokuten {
    border-top:none;
    margin: 10px 10px 0;
}
.is-air .product__list--tokuten--item,
.is-airhotel .product__list--tokuten--item {
    border-top: 1px dashed;
    padding-top: 5px;
}
.is-air .product__list--tokuten--item:empty,
.is-airhotel .product__list--tokuten--item:empty {
    display: none;
}
.is-pc .is-airhotel .product__list--title {
    font-size: 16px;
}
/*------------------------------------
バナー
-------------------------------------*/
.bnr_area {
    text-align: center;
    margin: 30px 0px 15px;
}
.bnr_area a:hover {
    opacity: 0.8;
}
/*2列ver*/
.bnr_area.col2 {
    display: flex;
	width: 960px;
	margin: 30px auto;
	justify-content: space-between;
	flex-wrap: wrap;
}
.bnr_area.col2 a {
    width: 49.4%;
}


/*施策バナー下用*/
.bnr_area_top {
    text-align: center;
    margin: 30px auto ;
    width: 960px;
}
.bnr_area_top a {
    display: block;
}
.bnr_area_top a:hover {
    opacity: 0.8;
}
.bnr_area_top.col2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.bnr_area_top.col2 p {
    width: calc(50% - 10px);
}

/*施策バナー見出しあり*/
#shisaku_kansai {
    margin-top: 25px!important;
margin-bottom: min((120vw / 7.5), 100px);
}
#shisaku_kansai .product__title {
    margin-bottom: 14px;
}
#shisaku_kansai .product__title--sub-text {
    font-size: 16px;
    margin-bottom: 5px;
}
#shisaku_kansai .product__title--main-text {
    font-size: 36px;
}
/*-----------------------------------------
検索ボタン２列ver
-------------------------------------------*/
.product__button.type2col {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.product__button.type2col .button-base {
    width: 490px;
    margin-bottom: 10px;
}
.product__button.type2col .button-base + .button-base {
    margin-top: 0;
}

/*------------------------------------
国内tour-navi調整
-------------------------------------*/
/*body:not(.is-kaigai) .tour-navi__maindst .tour-navi__list--item{
	width: 110px;
    height: 110px;
}*/
/*body:not(.is-kaigai) .tour-navi__list--title{
	font-size: 12px;
}*/
body:not(.is-kaigai) .tour-navi__maindst .tour-navi__list{
	margin: 0;
}
/*body:not(.is-kaigai) .tour-navi__purpose .tour-navi__list--item{
	width: 110px;
    height: 110px;
}*/

/*------------------------------------
海外tour-navi調整
-------------------------------------*/
.tour-navi__wrapper.is-kaigai {
	.tour-navi__list--item {
		.is-pc .tour-navi__maindst & {
		  width: 116px;
		  height: 116px;
		}
	}
}

/*------------------------------------
海外dst-navi調整
-------------------------------------*/
/*.is-kaigai .tour-navi__purpose .tour-navi__list--item{
	width: 116px;
    height: 116px;
}
.is-pc.is-kaigai .tour-navi__purpose{
	padding-left: 10px;
    padding-right: 10px;
}*/
/*------------------------------------
国内tour-navi調整
-------------------------------------*/
.tour-navi__wrapper.is-kokunai {
	.tour-navi__list--item {
		.is-pc .tour-navi__maindst & {
		  width: 120px;
		  height: 120px;
		}
	}
}

/*------------------------------------
タイムセール用期間
-------------------------------------*/
.product__lead {
    font-weight: bold;
    text-align: center;
	font-size: 18px;
	margin-bottom:1em;
	margin-top:-10px;
}

/*------------------------------------
海外スライダーアイコン　関西用
-------------------------------------*/
.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");
}

/*--------------------------------------------
検索ボタン消してツアー導入ボタン
--------------------------------------------*/
.js-float-search-button {
	display: none!important;
}
#fix-bnr-pc {
    display: none;
    position: fixed;
    right: 10px;
    top: 200px;
    z-index: 100;
}
#fix-bnr-pc a {
    display: block;
}
#fix-bnr-pc .close {
  position: absolute;
  right: 10px;
  top:10px;
}
#fix-bnr-pc .close a{
	width: 25px;
	height: 25px;
	background-color: #fff;
	border-radius: 50%;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	line-height: 25px;
	color: #888;
}
/*------------------------------------------------
	TOPの決算SALEバナー非表示
--------------------------------------------------*/
.is-pc .is-top .is-kaigai .banner__other {
    display: none!important;
}
/*------------------------------------------------
	ツアーTOP流入導線　ホバーアクション
--------------------------------------------------*/
#bnrarea-foot a:hover {
    opacity: 0.8;
}
/*------------------------------------------------
	TOPPC商品カセット枠の高さ調整
--------------------------------------------------*/
/*商材枠の位置変更や、リンクボタンの設置個数変更により要変更
*/

.is-pc .is-height-change .product__button {
  height: 104px; /*ボタン2つ分*/
}
.is-pc .is-height-change-3piece .product__button {
  height: 166px; /*ボタン3つ分*/
}
.is-pc .is-height-change-4piece .product__button {
  height: 228px; /*ボタン4つ分*/
}
/*------------------------------------------------
        LINEお友達登録ボタン
--------------------------------------------------*/
.line-wrap-detail {
	padding: 50px 0 0;/*ページによって調整*/
}
.line-inner {
	width: 992px;
	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;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	letter-spacing: 1px;
}
.line-inner .head {
	width: 100%;
	text-align: center;
	background-color: #15c618;
	padding: 6px;
	color: #fff;
	font-size: 20px;
	line-height: 1.5;
	font-weight: bold;
}
.line-inner .textarea {
	width: 75%;
	text-align: left;
	padding: 30px 0 30px 30px;
}
.line-inner .btnarea {
	width: 23%;
	padding: 10px 20px 10px 0;
}
.line-inner .text1 {
	font-size: 17px;
	line-height: 1.4;
}
.line-inner .text1 span {
	display: inline-block;
	font-weight: bold;
	color: #fb0b0b;
	background-color: #ffe1e1;
	padding: 0 2px;
}
.line-inner .text2 {
	font-size: 21px;
	font-weight: bold;
	margin-bottom: -2px;
	background: linear-gradient(transparent 60%, #fff231 0%);
	display: inline-block;
	line-height: 1.7em;
	padding: 0 4px;
}
.line-button a {
	display: block;
	color: #fff;
	font-size: 15px;
	text-align: center;
	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: 50px;
	background-position: 12px;
	background-color: #15c618;
	padding: 10px 10px 6px 70px;
	position: relative;
	text-decoration: none;
}
.line-button a:hover {
	opacity: .8;
	transition: all 0.6s ease;        
}
.line-button a span.small {
	width: 88%;
	display: block;
	font-size: 14px;
	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: 15px;
	margin-left: 6px;
	padding-right: 14px;
}
.line-button a span.line-friend {
	font-size: 1.3;
	color: #fff231;
	padding: 0 2px;
}
.line-qr {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.line-qr span:nth-child(1) {
	width: 50%;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.3;
}
.line-qr img {
	width: 50%;
}
.line-qr span:nth-child(3) {
	width: 100%;
	font-size: 13px;
}
.line-qr a {
	text-decoration: underline;
}