@charset "UTF-8";
/*header -----------------------------------------------------------------*/
#abroad .main_ha .bg_15{
background: #fff5fb;
padding: 3em 0 3em;
}
.ha_logo_box {
padding: 1.5em 0 2em;
}
.main_ha{}
.mb-4em{margin-bottom: -4em !important;}
.ha_header{
width: 100%;
background: #f1f1f1;
}
.ha_header h2,
.ha_hospitality_wrap h2{
text-align: center;
padding: 0.5em 0;
font-size: 1.8em;
font-weight: bold;
background: linear-gradient(to right,#ce0c88,#85368a);
color: #fff;
}
.ha_header_img{
width: 1040px;
margin: 0 auto;
position: relative;
}
.logo_ha15{
position: absolute;
top: 30px;
left: 30px;
width: 120px;
}
.logo_ha_dual{
position: absolute;
bottom: 10px;
right: 10px;
width: 240px;
}

.ha_header_text{
background: #463c8f;
color: #fff;
padding: 2.5em 0;
margin-bottom: 0em !important;
}
.lead_h3{
text-align: center;
font-size: 1.8em;
font-weight: bold;
margin-bottom: 0.5em;
}
.ha_header_text p{
text-align: center;
font-size: 1.4em;
}

/* キャンペーン特典 -----------------------------------------------------------------*/
.flex_wrap.bene15_wrap{
align-items: center;
justify-content: space-between;
}
.logo_bene15{width: 17%;}
.flex_wrap.bene15{
background: #fff;
padding: 0em 1.3em 1em;
border-radius: 10px;
font-size: 1.2em;
width: 79%;
}
.bene_h3{
transform: rotate(-4deg);
font-size: 1.4em;
font-weight: bold;
color: #fff;
padding: 0.2em 2em 0;
background: linear-gradient(to right,#ce0c88,#85368a);
margin-bottom: 0.6em;
}
.bene_text{width: 100%;}
.bene_text span{font-weight: bold;}
.bene15 ul{
width: 100%;
margin: 1em 1em 0;
}
.bene15 li{
position: relative;
padding: 0em 0em 0.5em 1.8em;
list-style: none;
}
.bene15 li::before {
font-family: "Font Awesome 5 Free";
content: '\f06b';
font-weight: bold;
font-size: 1.4em;
position: absolute;
left: 0.0em;
color: #463c8f;
top: -0.3em;
}
.bene15 li span{font-weight: bold;}
.bene_red{
color: #d60d8c;
margin: 0 0.3em;
font-size: 1.1em;
}

/* キャンペーン対象ホテル -----------------------------------------------------------------*/
section.cam_hotel{margin-bottom: 0em !important;}

.swiper_s{margin-bottom: 3em;}
.swiper_s .swiper-pagination{display: none;}

.swiper_s .swiper-wrapper{height: auto;flex-wrap: wrap;}
.swiper_s .swiper-slide{
width: calc(100% / 2 - 2%) !important;
margin: 1% 1% 2em;
height: auto;
}
.swiper_s .tour_co{width: 100%;}
.swiper_s .swiper-slide img {
position: unset;
transform: unset;
min-width: unset;
}
.swiper_s .tour_co.hw h3{height: auto;}
.swiper_s .tour_co .price{
text-align: right;
font-size: 1.6em;
margin-bottom: 0.3em;
color: #cc0000;
font-weight: bold;
height: auto;
}
.swiper_s .tour_co .price span{font-size: 0.7em;margin-left: 0.2em;}
.swiper_s .dep_wrap{
display: flex;
flex-wrap: wrap;
margin: 0 1em 1em;
}
.main_ha .swiper_s .dep_wrap a{
text-align: center;
padding: 0.4em 0.5em;
width: calc(100% / 2 - 4%);
font-size: 1.1em;
margin: 0 2% 0.2em;
border-radius: 50px;
color: #fff;
background: #463C8F;
}

/* 路線図 -----------------------------------------------------------------*/
.flex_wrap.ha_img100_wrap{
flex-wrap: nowrap !important;
margin-bottom: 3em;
background: linear-gradient(to right,#ce0c88,#85368a);
padding: 4em 0 3px;
}
.flex_wrap.ha_img100_wrap img{width: calc(100% / 4);}
.main_ha section{margin-bottom: 4em;}
.lead_text{
text-align: center;
font-size: 1.2em;
width: 800px;
margin: 0 auto 2.5em;
}
.ha_airline_wrap{
justify-content: space-between;
align-items: flex-start;
}
.ha_airline_wrap img.ha_map{width: 460px;}
.ha_airline_wrap img.timetable{width: 550px;margin-bottom: 0.5em;}
.flight_sch_wrap{width: 550px;}
.flight_sch_wrap ul{}
.flight_sch_wrap li{
list-style: none;
font-size: 1.0em;
margin-left: 1.3em;
}
.flight_sch_wrap li::before {
content: "※";
margin-left: -1.2em;
padding-right: 0.2em;
}
.starlink_wrap{align-items: center;}
.starlink_wrap h4{
font-size: 1.2em;
font-weight: bold;
margin-bottom: 0.5em;
}
.starlink_co{
width: 60%;
padding: 0 2em 0 0.5em;
font-size: 1.2em;
order: 1;
}
.starlink_wrap img{
width: 40%;
margin-top: 1em;
order: 2;
}

/* エクストラ・コンフォート -----------------------------------------------------------------*/
.seat_wrap{}
.seat_wrap h2{}
.seat_co{}
.seat_co h3,
.starlink_wrap h3{
width: 100%;
font-size: 1.4em;
font-weight: bold;
color: #fff;
background: #463c8f;
padding: 0.5em 0.8em;
}
.seat_co h3 span,
.starlink_wrap h3 span{margin-left: 0.5em;font-size: 0.9em;}
.seat_co img{width: 50%;}
.seat_co p{
font-size: 1.3em;
text-align: center;
margin: 1em auto 3em;
}

.point_co{
width: calc(100% /2 - 1em);
font-size: 1.1em;
margin: 0 0.5em 1em;
justify-content: space-between;
align-items: flex-start;
background-color: #fff;
padding: 1em;
position: relative;
}
.point_co h4{
font-weight: bold;
color: #fff;
background: #463c8f;
padding: 0em 0.6em;
position: absolute;
top: -0.2em;
left: -0.4em;
transform: rotate(-4deg);
font-size: 1.1em;
}
.point_co h4 span{
font-size: 1.5em;
margin-left: 0.2em;
color: #f4badd;
}
.point_co h5{
font-weight: bold;
color: #d60d8c;
font-size: 1.1em;
margin-bottom: 0.5em;
}
.point_co img{width: 35%;}
.point_text{width: 63%;}
.point_co p{}
.point_co p span{display: block;font-size: 0.8em;}

/* シートマップ -----------------------------------------------------------------*/
.seat_map_wrap{}
.seat_map_img{
width: 80%;
margin: 0 10% 1em;
}
.seat_map_co{margin-left: 10%;}
.seat_map_co h3{
font-size: 1.2em;
margin-bottom: 0.5em;
}
.seat_map_co dl{
display: flex;
align-items: center;
}
.seat_map_co dt{
width: 40px;
height: 30px;
border: solid 1px #ccc;
margin-right: 5px;
border-radius: 6px;
}
.seat_map_co dd{width: 30%;}
.seat_map_co dt,.seat_map_co dd{}
.seat_map_co dt.class1{background: #dfca99;}
.seat_map_co dt.class2{background: #007db2;}
.seat_map_co dt.class3{background: #cf0c8a;}


@media screen and (max-width: 767px) {
/*header -----------------------------------------------------------------*/
#abroad .main_ha .bg_15{}
.ha_logo_box {text-align: center;}
.main_ha{}
.ha_header{}
.ha_header h2,
.ha_hospitality_wrap h2{font-size: 1.4em;}
.ha_header_img{
width: 100%;
position: relative;
height: 300px;
overflow: hidden;
}
.img_main{
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
height: 100%;
max-width: unset;
}
.logo_ha15{top: 10px;left: 10px;width: 70px;}
.logo_ha_dual{bottom: 5px;right: 5px;width: 100px;}
.ha_header_text{padding: 2em 0;}
.lead_h3{font-size: 1.4em;}
.ha_header_text p{font-size: 1.1em;margin: 0 0.7em;text-align: left;}

/* キャンペーン特典 -----------------------------------------------------------------*/
.flex_wrap.bene15_wrap{}
.logo_bene15{width: 30%;margin: 0 auto 2em;}
.flex_wrap.bene15{
width: 96%;
margin: 0 auto;
padding: 0em 0.8em 1em;
font-size: 1.1em;
}
.bene_h3{font-size: 1.3em;padding: 0.1em 1.4em 0;}
.bene_text{}
.bene_text span{}
.bene15 ul{margin: 1em 0em 0;}
.bene15 li{padding: 0em 0em 0.5em 1.6em;}
.bene15 li::before {font-size: 1.2em;top: -0.1em;}
.bene15 li span{}
.bene_red{}

/* キャンペーン対象ホテル -----------------------------------------------------------------*/
section.cam_hotel{}
.swiper_s{
overflow: hidden;
position: relative;
margin-bottom: 1em;
}
.swiper_s .swiper-pagination{
display: block;
bottom: 0;
z-index:1;
}
.swiper_s .swiper-pagination-bullet-active {
opacity: 1;
background: #ff574a;
}
.swiper_s .swiper-wrapper{}
.swiper_s .swiper-slide{
margin: 0 1% 2em !important;
width: 48% !important;
}
.swiper_s .swiper-slide img {height: auto;}
.swiper_s .tour_co.hw h3{margin: 0.5em 0.5em;}
.swiper_s .tour_co .price{font-size: 1.3em;margin: 0em 0.4em 0.5em;}
.swiper_s .tour_co .price span{}

.main_ha .swiper_s .dep_wrap{margin: auto 0.1em 1em;}
.main_ha .swiper_s .dep_wrap a{width: calc(100% / 2 - 2%);margin: 0 1% 0.2em;}

/* 路線図 -----------------------------------------------------------------*/
.flex_wrap.ha_img100_wrap{flex-wrap: wrap !important;padding: 1em 5px;margin-bottom: 1em;}
.flex_wrap.ha_img100_wrap img{width: calc(100% / 2);}
.main_ha section{margin-bottom: 2em;}
.lead_text{font-size: 1.1em;text-align: left;margin: 0 auto 1em;width: 94%;}
.ha_airline_wrap{margin-bottom: 2em;}
.flight_sch_wrap{width: 98%;margin: 0 auto;}
.ha_airline_wrap img.ha_map{width: 94%;margin: 0 auto;}
.ha_airline_wrap img.timetable{max-width: unset !important;width: 570px;}
.flight_sch_wrap{}
.table-scroll{
overflow: auto; /*スクロールさせる*/
white-space: nowrap; /*文字の折り返しを禁止*/
width:96%; 
margin-bottom: 0.5em;
}
.flight_sch_wrap ul{}
.flight_sch_wrap li{}
.flight_sch_wrap li::before {}
.starlink_wrap{width: 98%;margin: 0 auto;}
.starlink_wrap h4{font-size: 1.2em;font-weight: bold;margin-bottom: 0.5em;}
.starlink_co{
width: 100%;
margin: 0 auto 0;
padding: 1em 0.5em 0 0.5em;
font-size: 1.1em;
order: 2;
}
.starlink_wrap img{order: 1;width: 80%;margin: 1em auto 0;}

/* エクストラ・コンフォート -----------------------------------------------------------------*/
.seat_wrap{width: 98%;margin: 0 auto;}
#abroad.country .seat_wrap h2.h2_line{font-size: 1.4em;}
.seat_co{}
.seat_co h3,
.starlink_wrap h3{padding: 0.3em 0.6em;font-size: 1.2em;}
.seat_co h3 span,
.starlink_wrap h3 span{}
.seat_co img{}
.seat_co p{font-size: 1.1em;text-align: left;margin: 1em 0.5em 2em;}
.point_co{width: calc(100% /1 - 1em);padding: 1em 0.5em;}
.point_co h4{font-size: 0.9em;}
.point_co h4 span{}
.point_co h5{font-size: 1.1em;}
.point_co img{width: 30%;}
.point_text{width: 67%;}
.point_co p{}
.point_co p span{}

/* シートマップ -----------------------------------------------------------------*/
.seat_map_wrap{}
.seat_map_img{width: 90%;margin: 0 5% 1em;}
.seat_map_co{margin: 0 5%;}
.seat_map_co h3{}
.seat_map_co dl{flex-wrap: wrap;}
.seat_map_co dt{width: 30px;}
.seat_map_co dd{width: calc(100% - 45px);}
.seat_map_co dt,.seat_map_co dd{margin-bottom: 5px;}

}
