@charset "utf-8";

@import url("/kokunai/___common/css/fonts.css");

/* 共通
============================================================================= */
body,input,button,textarea,select{font-size:1.6rem;font-family:"Work Sans","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";}
.main{font-size:1.6rem}

@media print,screen and (min-width:768px){
.main{font-size:1.8rem}
}

.main img{width:100%;height:auto;vertical-align:bottom}
p.kome,.kome li{position:relative;padding-left:calc(1em + 4px)}
p.kome:before,.kome li:before{position:absolute;left:0;top:0;content:"※"}

@media print,screen and (max-width:767px){
.inner{padding:0 16px}
}
.pageWp{position:relative}

/* ページHEAD
============================================================================= */
/* パンくず */
.breadcrumbWp{position:absolute;left:0;top:0;z-index:1;width:100%}
.breadcrumbs{padding:0 8px;background-color:rgba(255,255,255,.7)}
a.breadcrumbs_anchor{color:#3498db!important}
.breadcrumbs_item:not(:last-child):after{border-color:#c0c5cb!important}
.f-breadcrumbs{margin-bottom:0;padding:20px 0;border-bottom:solid 1px #BCBDC2;background:none}
.f-breadcrumbs .breadcrumbs{margin:0}
.breadcrumbWp a.breadcrumbs_anchor,.breadcrumbWp .breadcrumbs_item{color:#323743!important}
.breadcrumbWp .breadcrumbs_item:not(:last-child):after{border-color:#323743}

@media print,screen and (min-width:760px){
.breadcrumbs{margin:0 auto;max-width:1280px;background:none}
.breadcrumbs .inr{display:inline-block;padding:2px 10px;border-radius:0 0 5px 5px;background-color:rgba(255,255,255,.7)}
}

/* h1 */
.pgTtl{margin:8px 8px 0;font-weight:700}
.pgTtl_mlb{font-style:italic;font-weight:700}
.pgTxt{margin:16px 8px 0;font-size:1.6rem;line-height:1.8}

@media print,screen and (min-width:760px){
.pgTtl.-tourdetail{margin-top:24px}
.pgTxt{margin:24px auto 0;max-width:1280px;font-size:1.8rem}
}

/*  MV
============================================================================= */
.mv {position: relative; padding: 24px 0 50px; height: 100%; background-size: cover;}
.mvInr { margin: 0 auto; width: 100%; height: 100%; max-width: 1280px; }
.mvTtl { position: relative; top: 80px; left: 10px; display: inline-block; text-align: center; font-size: 5.0rem; font-weight: bold; letter-spacing: 0.2rem; color: #064AAC; z-index: 1; }
.mvTtl::before { transform: skewX(350deg); content: ""; background-color:#fff; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; }
.mvTtl em { background: linear-gradient(transparent 65%, #fae7fb 70%); font-weight: 700; font-size: 5rem; }
.mvImg { position:absolute; left:0; top:0; z-index:-1; width:100%; height:100%; }
.mvImg img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; text-align:center; margin:0 auto; }
.mvImgCaption { position:absolute; right:0; bottom:0; padding:0 4px; line-height:1.3; color:#fff; font-size:1.2rem; }

.mvLinkbox { position: relative; }
.other-feature { position: absolute; right: 10px; bottom: 60px; z-index: 2; }
.other-feature a { position: relative; display: block; padding: 8px 30px 8px 20px; color: #fff; font-weight: bold; border: solid 1px #fff; background-color: rgba(0, 0, 0, 0.5); transition: ease .2s; }
.other-feature em { font-size: 16px; font-weight: bold; }
.other-feature a:before { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); display: inline-block; font-family: 'Material Icons Round'; content: "\e5cc"; transition: all .5s ease; }

@media print,screen and (min-width:760px){
.mv { height:400px; overflow:hidden; }
.mvTtl { font-size:4.5rem; padding: 2px 20px; margin: 3px; }
}

@media screen and (max-width: 767px) {
.mv { padding: 30px 0 0 0; }
.mvBox { position: absolute; }
.mvTtl { top: 170px; left: 10px; font-size: 2rem; letter-spacing: 0.5rem; padding: 5px; margin: 2px; }
.mvTtl em { font-size: 3.2rem; }
.mvImg { position: relative; }
.mvImg img { position: relative; height: revert-layer; object-position:0% 0%; }

.other-feature { position: absolute; top: 265px; right: 15px; bottom: 0px; width: 100%; max-width: 215px; }
.other-feature a { padding: 5px 10px 5px 10px; font-size: 10px; }
.other-feature em { font-size: 12px; font-weight: bold; }

}

/*  PAGENAV
====================================== */
.pageNav{ position:sticky;left:0;top:0;z-index:900;background:#fff;box-shadow:0 0 5px rgba(0,0,0,.2) }
.pageNav_list{ display:flex }
.pageNav_item{ position:relative; flex:1 0 auto; width: calc(calc(100%) / 5);}
.pageNav_item:before,.pageNav_item:last-child:after{ position:absolute;top:50%;transform:translateY(-50%);content:"";display:inline-block;width:1px;height:50%;border-radius:50vw;background:#064aac; }
.pageNav_item:before{ left:-1.5px }
.pageNav_item:last-child:after{ right:-1.5px }
.pageNav_item a{ display:flex; flex-direction:column; align-items:center; padding-top:8px; color:#064aac; font-size:1.3rem; font-weight:700; text-align:center; transition:color .2s }
.pageNavBox{ display:flex; justify-content:center; align-items:center; min-height:40px; line-height:1.3 }
.pageNav_item .arrow{ margin:-5px 0; line-height:1; color:#064aac; font-size:3rem; font-weight:400 }



@media print,screen and (max-width:759px){
.pageNav .inner{ padding:0 }
.pageNav_item:first-child:before,.pageNav_item:last-child:after{ display:none }
.pageNavTxt em { display: none; }
.pageNavTxt span { font-weight: 500; }
}

@media print,screen and (min-width:760px){
.pageNav_item a{padding:16px 16px 0;font-size:100%}
.pageNav_item a:hover{opacity:.6}
.pageNavBox{min-height:50px}
.pageNavTxt em { display: block; font-size: 1.6rem; font-weight: bold; }
.pageNavTxt span { display: none; }
}

/*  PAGE全体
====================================== */
.l-page { font-family: 'Noto Sans JP', sans-serif; font-size: 16px; line-height: 1.6; margin-top:30px; }
.l-page * { -ms-box-sizing: border-box; box-sizing: border-box; }
.l-page h1 { font-size: 18px; font-weight: bold; line-height: 1; margin: 0 auto 25px; max-width: 1236px; text-align: left; }
.l-page a, .l-page a img { transition: all .3s ease; }
.l-page img { display: block; margin: 0 auto; max-width: 100%; }
.l-page strong { font-weight: bold; }
.sect { background: #ebf3ff; }
#coupon.sect { background: #fff; }
#feature.sect { background: #fff; }
#point.sect { background: #fff; }


.caution { text-align: right; margin: 5rem auto 0; }

.morebtn-box { width: 100%; max-width: 500px; margin: 30px auto 0; }
.morebtn-box a { display: flex; align-items: center; text-align: center; justify-content: center; background: #fff; border-radius: 50vw; border: 1px solid #a3a3a3; font-size: 1.8rem; font-weight: bold; transition: opacity 0.3s; min-height: 60px; }
.morebtn-box .m-ico.-link:before { transform: rotate(-90deg); }


@media screen and (min-width:768px) and ( max-width:1236px) {
  .l-page { font-size: 1.294498vw; margin: 0; width: 100vw; }
}

@media screen and (min-width: 768px) {
  .sp-item { display: none; }
}

@media print,screen and (max-width:759px){
  .l-page { margin-top:10px; }
  .caution { margin: 1rem auto; font-size: 1.2rem; }
  .sect { padding: 20px 0px 20px; }
  .morebtn-box { margin: 20px auto 0; }
  .morebtn-box a { font-size: 1.6rem; min-height: 55px; }
}


/*  羽田発直行便で行くおすすめ海外ツアー
====================================== */
.c-sec__head { text-align: center; margin: 30px 25px; }
.c-sec__title { position: relative; }
.c-sec__title span { font-weight: 700; font-size: 2.4rem; }
.c-sec__title::after { position: absolute; content: ""; width: 115px; bottom: -5px; left: 50%; transform: translateX(-50%); border-bottom: 2px #ff9fde dotted; }

.c-inner { margin: 0 auto; max-width: 1236px; width: 88%; }
.c-area__list { margin-top: 1em; }
.c-flex { display: flex; justify-content: space-between; }

.c-area__item, .c-point__item { display: flex; flex-direction: column; width: calc(calc(100% - 5.25em) / 4); padding: 1em; box-shadow: 0 0 0.5em rgb(0 0 0 / 20%); background: #fff; }
.c-area__item .c-data { position: relative; display: flex; flex: 1; flex-direction: column; }
.c-area__item .c-data .c-area { position: relative; text-align: center; border-bottom: 1px solid #ababab; background-color: #fff; margin-bottom: 1.5rem; padding-bottom: 0.1rem; }
.c-area__item .c-data .c-area span { color: #323743; font-size: 1.6rem; font-weight: 700; }
.c-area__item .c-data .c-area:before { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%) skew(-25deg); width: 10px; height: 10px; border-right: 1px solid #ababab; background-color: #fff;  }
.c-area__item .c-data p { margin-top: .75em; text-align: left; margin-bottom: auto; font-size: 1.4rem; }

.c-area__item .c-data .c-btn { height: 3.5em; margin-top: 1em; padding: 10px 5px; }
.c-btn { align-items: center; display: flex; justify-content: center; position: relative; width: 100%; background-color: #f3e3ed; border: 1px solid #c4146f; }
.c-btn span { line-height: 1.4; z-index: 1; font-size: 1.2rem; color: #c4146f; }
.c-btn em { font-weight: 700; font-size: 1.4rem; }
.c-btn__white { background-color: #fff; border: 1px solid #064aac; }
.c-btn__white span, .c-btn__white span::before { color: #064aac; }
.c-pic img { width: 100%; }

.notes { text-align: right; margin-bottom: 0px; }

@media screen and (min-width: 768px) {
    .c-sec__head { margin: 20px auto; }
    .c-sec { padding-top: 2.75em; }
    .c-sec__title span { font-size: 3rem; }
}

@media print,screen and (max-width:759px){
    #tour .c-inner { margin: 50px auto 0; }
    .c-area__list { margin-top: 0; }
    .c-flex { flex-wrap: wrap; /*margin-top: 0px*/ }
    .c-area__item, .c-point__item { width: calc(calc(100% - 0em) / 1); margin-bottom: 20px; }
    .c-area__item .c-data .c-area { padding-bottom: 0.3rem; }
    .c-area__item .c-data .c-area span { font-size: 1.6rem; }
    .notes { margin-top: -20px; margin-bottom: 25px; font-size: 12px; }
    .c-area__item .c-data .c-btn { margin-top: .5em; padding: 10px 5px; }
}

/*  おすすめのクーポン
============================================================================= */
.c-coupon__list { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 50px 50px 0; }
.c-coupon__list::before { content: ""; display: block; order: 1; width: calc(calc(100% - 3.75em) / 4); }
.c-coupon__item { margin: .625em 0; width: calc(calc(100% - 3.75em) / 4); transition: 1s; background-color: #fff; border-radius: 0.2em; box-shadow: 0 0 0.5em rgb(0 0 0 / 20%); display: flex; flex-direction: column; overflow: hidden; position: relative; }
.c-coupon__price { font-size: 1.2rem; text-align: center; line-height: 1.35; border-radius: 3px; color: #fff; position: relative; left: 0px; top: 8px; }
.c-coupon__price em { font-size: 2.5em; font-weight: 700; font-style: unset; }
.c-coupon__bottom { display: flex; flex: 1 0 auto; flex-direction: column; padding: 1.5rem 1.5rem 1rem; text-align: left; color: #323743; }
.c-coupon__title { font-size: 1em; line-height: 1.4; margin-bottom: 15px; color: #125687; }
.c-coupon__term { font-size: 1rem; }

.c-coupon__head { background: #333; color: #323743; padding: 1em; position: relative; text-align: left; }
.c-coupon__head::after { background-image: linear-gradient(to right, #333, #333 .4375em, transparent .4375em, transparent .625em); background-repeat: repeat-x; background-size: .625em .1875em; bottom: -.1875em; content: ""; display: block; height: .1875em; left: 0; position: absolute; width: 100%; }

.dp-bgcolor { background: #f3e3ed; }
.dp-color { color: #c4146f; }
.dp-bgcolor::after { background-image: linear-gradient(to right, #f3e3ed, #f3e3ed .4375em, transparent .4375em, transparent .625em); }

.air-bgcolor { background: #e6f0da; }
.air-color { color: #3b7514; }
.air-bgcolor::after { background-image: linear-gradient(to right, #e6f0da, #e6f0da .4375em, transparent .4375em, transparent .625em); }

.airhtl-bgcolor { background: #e6f6fc; }
.airhtl-color { background: #10727d; }
.airhtl-bgcolor::after { background-image: linear-gradient(to right, #e6f6fc, #e6f6fc .4375em, transparent .4375em, transparent .625em); }

.op-bgcolor { background: #fcf3eb; }
.op-color { background: #d12300; }
.op-bgcolor::after { background-image: linear-gradient(to right, #fcf3eb, #fcf3eb .4375em, transparent .4375em, transparent .625em); }

.c-coupon__area { background-color: #fff; border-radius: 1em; display: inline-block; font-size: 1.2rem; font-weight: 500; padding: 0 0.5rem; text-align: center; position: absolute; top: 10px; left: 10px;}
.c-coupon__detail { border-radius: 1em; display: inline-block; font-size: 1.2rem; font-weight: 500; padding: 0 1rem; text-align: center; margin: 0 1em 1em;}


@media print,screen and (max-width:759px){
.c-coupon__list { margin: 0; }
.c-coupon__item { width: calc(calc(100% - 0.7rem) / 2); }
.c-coupon__title { font-size: 1.6rem; }
.c-coupon__term { font-size: 1rem; }
.c-coupon__price em { font-size: 2.4rem; }
.c-coupon__area { font-size: 1rem; padding: 0 0.5em; }
.c-coupon__detail { font-size: 1rem; padding: 0 0.5em; }
.c-coupon__head { padding: 0.6em; }

.c-coupon__area { top: 5px; }

}


/*  航空券CMS
============================================================================= */
.air-tabbody { margin-top: 40px; }
.air-cassette_item a { display: block; overflow: hidden; background: #fff; box-shadow: 0 0 0.5em rgb(0 0 0 / 20%); transition: opacity 0.2s ease; border-radius: 0.2em; flex-grow: 1; }
.air-cassette { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 20px 50px 0; }
.air-cassette_item { margin: 0 0 20px 0; width: calc(calc(100% - 3.25em) / 4); transition: 0.7s; flex-direction: column; display: flex; }
.air-cassette_item:hover { opacity: 0.6; transition: 0.7s; }
.ga-air { display: block; overflow: hidden; background: #fff; box-shadow: 1px 1px 4px rgb(0 0 0 / 30%); transition: opacity 0.2s ease; }
.air-cassette_wrap { display: flex; flex-direction: column; padding-bottom: 15px; }
.air-cassette_name { margin: 15px 10px 0; text-align: center; font-size: 1.6rem; }
.air-cassette_name span { font-weight: bold; }
.air-cassette_ico { order: -1; display: flex; margin: 15px 15px 0 11px; }
.air-cassette_ico li { margin-left: 4px; }
.air-cassette_ico li span { display: inline-block; padding: 5px 10px; color: #323743; font-size: 1.4rem; font-weight: bold; line-height: 1; border-radius: 50vw; text-align: center; }
.air-cassette_class .economy{ background-color: #fae7fb; }
.air-cassette_type .flight { color: #3b7514; background: #e6f0da; }
.air-cassette_price { margin: 10px 1px 0; text-align: center; font-size: 1.4rem; }
.air-cassette_price span { color: #CC0D21; font-weight: bold; }
.air-cassette_price em { font-size: 2.4rem; font-weight: bold; }
.air-cassette_price-txt { margin: 0 10px; text-align: center; font-size: 1.4rem; }
.air-cassette_att { margin: 10px 1px 0; text-align: center; color: #999; font-size: 1.2rem; }



@media print, screen and (min-width: 768px) {
    .air-cassette_wrap { padding-bottom: 20px; }
    .air-cassette_ico { margin: 15px 20px 0 16px; }
    .air-cassette_link { display: block; margin: 15px 20px 0; padding: 5px; color: #3b752e; font-weight: bold; text-align: center; border: solid 1px #3b752e; background: #e6f0da; font-size: 1.4rem;}
}

@media screen and (max-width: 767px) {
    .air-cassette { display: flex; margin: 0; justify-content: space-between; flex-wrap: wrap; }
    .air-cassette_item { margin-bottom: 10px; margin-left: 0; width: calc(calc(100% - 1em) / 2); }
    .air-cassette_link { display: none; }
    .air-cassette_name { font-size: 1.6rem; }
    .air-cassette_name span data-tup2-dept-cd { display: none; }
    .air-cassette_ico { margin: 15px 10px 0 10px; }
    .air-cassette_ico li span { font-size: 1.2rem; }
    .priceicon { font-size: 1.2rem; }
    .air-cassette_price { margin: 0px 1px 0; }
    .air-cassette_att { margin: 0px 1px 0; }
}

/*  羽田空港国際線利用のポイント
============================================================================= */
.outer-framebox { border-radius: 30px; background: #ebf3ff; max-width: 870px; margin: 5rem auto 0; padding: 3rem; }
.middle-framebox { border-radius: 5px; background: #fff; width: 100%; max-width: 635px; margin: 2rem auto; padding: 2rem; box-shadow: 0 0 0.5em rgb(0 0 0 / 20%); }
.hndpoint-title { background: #064aac; margin: 15px auto; padding: 5px 20px; text-align: center; color: #fff; border-radius: 20px; font-size: 1.6rem; width: 100%; max-width: 350px;}
h3 { font-weight: 700; }
.hndpoint-textbox { margin: 20px auto; padding: 0 1rem; text-align: left; font-size: 1.4rem; width: 100%; max-width: 555px; }
.shading-box { background: #fffde7; margin: 15px auto; padding: 10px; width: 100%; max-width: 545px; }
.shading-box-txt { font-weight: bold; text-align: left; font-size: 1.4rem;}
.shading-box-txt span { font-size: 1.2rem; }
a.hndhtlLink { color: #3498DB; }

@media screen and (max-width: 767px) {
.outer-framebox { padding: 2rem; }
.middle-framebox { width: auto; }
.hndpoint-title { margin: 10px auto; font-size: 1.6rem; }
.hndpoint-textbox { margin: 20px auto; padding: 0 10px;  font-size: 1.4rem; }
.shading-box { margin: 20px auto; padding: 5px 10px; }
.shading-box-txt { font-size: 1.4rem; }
.shading-box-txt span { font-size: 1.2rem; }
}

/*  条件検索パネル
============================================================================= */

/*
.search-wrap { margin-top: 30px; }
.search-tab { display: flex; margin-left: -5px; padding: 0 10px; }
.search-tab_item { margin-left: 5px; }
.search-tab_item-box { display: flex; align-items: center; padding: 5px 10px; height: 100%; min-height: 50px; font-weight: bold; border-radius: 4px 4px 0 0; }
.search-tab_item:not(.is-active) .search-tab_item-box { color: #fff; background: #999; }
.is-active .search-tab_item-box { border-top: solid 1px #ccc; border-left: solid 1px #ccc; border-right: solid 1px #ccc; background-color: rgba(255, 255, 255, .95); }
.js-tab_search .search-tab_item .search-tab_item-box { transition: background 0.3s; }

.searchtour .main-content { padding: 11px 20px 20px; border-radius: 0 4px 4px 4px; background-color: rgba(255, 255, 255, .95); }
.search-panel-wrapper { position: relative; }
.c-fullmodal { width: 100%; height: 100%; position: fixed; top: 0; left: 100%; }
.c-fullmodal_cnt { position: relative; padding-top: 56px; height: 100%; overflow: hidden; }
.c-fullmodal_header { padding: 0 10px; background-color: #fff; border-bottom: 1px solid #000; position: absolute; top: 0; left: 0; width: 100%; height: 50px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; z-index: 2; box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3); height: 56px;}
.c-fullmodal_bt { width: 40px; height: 24px; font-size: 1.3rem; color: #323743; }
.c-fullmodal_bt.is-fullModal-back { visibility: hidden; }

.c-fullmodal_bt i { color: #95999e; font-size: 2.0rem; }
.material-icon { display: inline-flex; vertical-align: middle; }
.material-icon::before { display: inline-block; transform: scale(1.3); font-family: 'Material Icons Round'; content: attr(data-icon); }


@media print, screen and (min-width: 760px) {
    .search-tab { padding: 0; }
    .search-tab_item-box { padding: 5px 30px; }
    .is-active .search-tab_item-box { border: none; }
    .js-tab_search .search-tab_item:not(.is-active) .search-tab_item-box { cursor: pointer; }
}

@media print, screen and (min-width: 1000px) {
    .c-fullmodal { opacity: 0; position: fixed; left: 100%; z-index: 10000; width: 848px; -webkit-transition: opacity .5s; transition: opacity 0.5s; }
    .c-fullmodal_cnt { height: auto; background: #fff; }
    .c-fullmodal_header { height: 60px; }
    .c-fullmodal_bt, .c-clear_bt { font-size: 1.6rem; width: 50px; text-align: center; }
}

*/

/*  クーポン情報・注目の特集
============================================================================= */
.cpn-cas { display: flex; flex-wrap: wrap; justify-content: center; margin: 0 0 0 -20px;; }
.cpn-cas:before { content: ""; order: 1; margin: 0 0 0 20px; width: calc(100% / 4 - 20px); max-width: 260px; }
.cpn-cas_item { margin: 30px 0 0 20px; width: calc(100% / 4 - 20px); max-width: 260px; background: #fff; }
.cpn-cas_item > a { display: flex; flex-direction: column; margin: 0 auto; width: 100%; color: #323743; transition: all 0.3s ease; }
.cpn-cas_ttl { margin-top: 10px; font-weight: bold; line-height: 1.4; }
.cpn-cas_ttl { font-size: 1.6rem; }
.cpn-cas_img { order: -1; }


@media print, screen and (min-width: 1000px) {
    .cpn-cas:after { content: ""; margin: 0 0 0 20px; width: calc(100% / 4 - 20px); max-width: 260px; }
}

@media screen and (max-width: 767px) {
    .cpn-cas { margin: 30px 0 0 0px; }
    .cpn-cas_item { width: calc(100% / 2 - 10px); margin: 10px 0 0 10px; }
    .cpn-cas_ttl { font-size: 1.2rem; }
}