@charset"utf-8";

/* ------------------------------------------------
2カラム横長カセットタイプ 
------------------------------------------------ */

.tourbox {
    /*background:#FFF;*/
    margin: 0 auto;
    padding: 0;
}

.tourbox.tourbox__bg {
    background: #FFF;
}

.tour-list * {
    box-sizing: border-box;
}

.tour-list {
    margin: 10px auto;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.tour-list>li {
    width: calc(98% / 2);
    margin-bottom: 10px;
    padding: 0.5em;
    border: 1px solid #0366D6;
    background: #FFF;
    position: relative;
}

.tour-list>li:after {
    content: "";
    border: 6px solid transparent;
    border-bottom: 6px solid #0366D6;
    border-right: 6px solid #0366D6;
    position: absolute;
    bottom: 0;
    right: 0;
}

.tour-list>li:hover {
    background: #DBEBFE;
    transition: 0.3s;
}

.tour-list>li a {
    display: block;
}

.product {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.tour-photo {
    width: 42%;
    position: relative;
}

.tour-photo img,
.imp-photo img {
    border-radius: 10px;
    position: relative;
}

.credit-txt {
    width: 100%;
    font-size: 11px;
    color: #fff;
    padding: 0.3em;
    background: rgba(0, 0, 0, 0.8);
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
}

.tour-item {
    width: 58%;
    padding-left: 5px;
}

.icon {
    line-height: 1.0;
}

.icon span {
    display: inline-block;
    line-height: 1.0
}

.icon span::after {
    display: inline-block;
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: top;
  margin-bottom: 3px
}

.icon .ana::after {
    background-image: url("../../dst/common/img/carrier/ana.png");
    width: 58px;
    height: 17px;
  margin-right: 3px;
}

.icon .ado::after {
    background-image: url("../../dst/common/img/carrier/ado.png");
    width: 58px;
    height: 17px;
  margin-right: 3px;
}

.icon .apj::after {
    background-image: url("../../dst/common/img/carrier/apj.png");
    width: 58px;
    height: 17px;
  margin-right: 3px;
}

.icon .fda::after {
    background-image: url("../../dst/common/img/carrier/fda.png");
    width: 58px;
    height: 17px;
  margin-right: 3px;
}

.icon .jal::after {
    background-image: url("../../dst/common/img/carrier/jal.png");
    width: 58px;
    height: 17px;
  margin-right: 3px;
}

.icon .jet::after {
    background-image: url("../../dst/common/img/carrier/jet.png");
    width: 58px;
    height: 17px;
  margin-right: 3px;
}

.icon .sfj::after {
    background-image: url("../../dst/common/img/carrier/sfj.png");
    width: 58px;
    height: 17px;
  margin-right: 3px;
}

.icon .sjo::after {
    background-image: url("../../dst/common/img/carrier/sjo.png");
    width: 58px;
    height: 17px;
  margin-right: 3px;
}

.icon .snj::after {
    background-image: url("../../dst/common/img/carrier/snj.png");
    width: 58px;
    height: 17px;
  margin-right: 3px;
}

.icon .sky::after {
    background-image: url("../../dst/common/img/carrier/sky.png");
    width: 58px;
    height: 17px;
  margin-right: 3px;
}

.icon .jr::after {
    background-image: url("../../dst/common/img/icon_jr.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .odakyu::after {
    background-image: url("../../dst/common/img/icon_odakyu.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .tobu::after {
    background-image: url("../../dst/common/img/icon_tobu.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .bus1::after {
    background-image: url("../../dst/common/img/icon_daybus.png");
    width: 80px;
    height: 15px;
  margin-right: 3px;
}

.icon .bus2::after {
    background-image: url("../../dst/common/img/icon_staybus.png");
    width: 80px;
    height: 15px;
  margin-right: 3px;
}

.icon .bus3::after {
    background-image: url("../../dst/common/img/icon_nightbus.png");
    width: 80px;
    height: 15px;
  margin-right: 3px;
}

.icon .hotel::after {
    background-image: url("../../dst/common/img/icon_hotel.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .imp1::after {
    background-image: url("../../dst/common/img/icon_localguide.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .imp2::after {
    background-image: url("../../dst/common/img/icon_imp.png");
    width: 70px;
    height: 17px;
  margin-right: 3px;
}

.icon .eco::after {
    background-image: url("../../dst/common/img/icon_ecotour.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .ship::after {
    background-image: url("../../dst/common/img/icon_ship.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .air::after {
    background-image: url("../../dst/common/img/icon_air.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .train::after {
    background-image: url("../../dst/common/img/icon_train.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .car::after {
    background-image: url("../../dst/common/img/icon_car.png");
    width: 80px;
    height: 15px;
  margin-right: 3px;
}


.icon .skh::after {
    background-image: url("../../dst/common/img/icon_skh.png");
    width: 110px;
    height: 15px;
  margin-right: 3px;
}

.icon .jalpak::after {
    background-image: url("../../dst/common/img/icon_jalpak.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .rentcar1::after {
    background-image: url("../../dst/common/img/icon_rentacar.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

.icon .rentcar2::after {
    background-image: url("../../dst/common/img/icon_gas.png");
    width: 110px;
    height: 15px;
  margin-right: 3px;
}

.icon .web::after {
    background-image: url("../../dst/common/img/icon_webcc.png");
    width: 160px;
    height: 15px;
  margin-right: 3px;
}

.icon .web2::after {
    background-image: url("../../dst/common/img/icon_web.png");
    width: 110px;
    height: 15px;
  margin-right: 3px;
}

.icon .line::after {
    background-image: url("../../dst/common/img/icon_line.png");
    width: 70px;
    height: 15px;
  margin-right: 3px;
}

/*.icon .d_price::after {
    background-image: url("../../dst/common/img/icon_dynamic_price.png");
    width: 70px;
    height: 15px;
margin-right: 3px;
}*/

.depart {
    display: block;
    font-size: 13px;
    font-weight: bold;
    color: #333;
}

.depart:before {
    content: "【";
}

.depart:after {
    content: "】";
}

.depart.js-split-airport:after {
    content: "発着】";
}

.tour-title {
    font-size: 15px;
    font-weight: bold;
    line-height: 1.4em;
    color: #1A0DAB;
}

.tour-price .air_tour_code {
    display: block;
    font-size: 20px;
    color: #C00;
    font-weight: bold;
}

.tour-price .price__detail {
    display: block;
    color: #333;
    font-size: 11px;
    font-weight: normal;
}

.tour-price .price__detail:before {
    content: "（";
}

.tour-price .price__detail:after {
    content: "）";
}


/* .tour-price:not(.no-goto)::before {
content: "Go To トラベル 表示価格より最大半額補助";
background-color: #C00;
font-size: 12px;
color: #FFF;
padding: 0.3em;
display: block;
margin-top: 5px;
width: 20em;
} */

.tour-date,
.tour-note {
    color: #333;
    font-size: 12px;
    padding-left: 0.5em;
}

.tour-date:after {
    content: "出発";
}

.tour-note {
    color: #333;
    font-size: 11px;
}

.tour-point {
    width: 100%;
    font-size: 12px;
    margin-top: 5px;
    padding-left: 1.0em;
    position: relative;
}

.tour-point+.tour-point {
    margin-top: 0;
}

.tour-point:before {
    content: "◆";
    position: absolute;
    top: 0;
    left: 0;
}

.add-depart {
    display: flex;
    margin: 5px auto 0;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.add-depart:before {
    content: "◆その他の出発地：";
    font-size: 12px;
}

.add-depart li {
    padding-right: 0.8em;
    margin-right: 0.5em;
    position: relative;
    font-size: 12px;
}

.add-depart li>a {
    text-decoration: underline;
}

.add-depart li:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}


/* ------------------------------------------------
1カラム横長カセットタイプ（spはカードタイプ表示）
------------------------------------------------ */

.tour-list.single {
    margin: 10px auto;
    padding: 0;
}

.tour-list.single>li {
    width: 100%;
}

.product.product__single {}

.product.product__single .tour-photo {
    width: 30%;
}

.product.product__single .tour-item {
    width: 70%;
    padding-left: 10px;
}

.product.product__single .tour-title {
    font-size: 18px;
}

.product.product__single .tour-price {
    font-size: 20px;
    display: inline-block;
}

.product.product__single .tour-price .air_tour_code {
    display: inline-block;
}

.product.product__single .tour-price .price__detail {
    display: inline-block;
}

.product.product__single .tour-date {
    margin-bottom: 10px;
}

.product.product__single .tour-point__single {
    font-size: 14px;
    padding-left: 1.0em;
    position: relative;
}

.product.product__single .tour-point__single:before {
    content: "◆";
    position: absolute;
    top: 0;
    left: 0;
}


/* ------------------------------------------------
カードタイプ
------------------------------------------------ */

.tour-cardbox {
    margin: 10px auto;
}

.tour-card * {
    box-sizing: border-box;
}

.tour-card {
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

.tour-card>li {
    margin-right: 1%;
    /*border:1px solid #0366D6;*/
    background: #FFF;
    position: relative;
    margin-bottom: 20px;
}

.tour-card>li:last-child {
    margin-right: 0;
}


/* 2カラム */

.tour-card.tour-card__type2>li {
    width: calc(99% / 2);
}

.tour-card.tour-card__type2>li:nth-child(2n) {
    margin-right: 0;
}


/* 3カラム */

.tour-card.tour-card__type3>li {
    width: calc(98% / 3);
}

.tour-card.tour-card__type3>li:nth-child(3n) {
    margin-right: 0;
}


/* 4カラム */

.tour-card.tour-card__type4>li {
    width: calc(97% / 4);
}
.tour-card.tour-card__type4>li:nth-child(4n) {
    margin-right: 0;
}


.tour-card>li:after {
    content: "";
    border: 6px solid transparent;
    border-bottom: 6px solid #0366D6;
    border-right: 6px solid #0366D6;
    position: absolute;
    bottom: 0;
    right: 0;
}

.tour-card>li:hover {
    background: #DBEBFE;
    transition: 0.3s;
}

.tour-card>li a {
    display: block;
}

.card-dst__name {
    background: #009;
    text-align: center;
    color: #FFF;
    padding: 0.3em;
    font-size: 12px;
}

.card-photo {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.card-photo.card-photo__type3 {
    height: 200px;
}

.card-photo.card-photo__type4 {
    height: 150px;
}

.card-photo>img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.port {
    display: block;
    width: 100%;
    padding: 0.3em;
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 12px;
    color: #FFF;
    background: #009;
}

.port.train {
    background: #006633;
}


/* .port::after {
  content: "出発";
} */

.card-photo::before {
    display: inline-block;
    background: #e62c36;
    font-size: 12px;
    line-height: 1;
    font-weight: bold;
    color: #fff;
    padding: 6px 8px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.tour-card>li.OL .card-photo::before {
    content: "オンライン予約限定";
}

.tour-card>li.OLCC .card-photo::before {
    content: "オンライン・コールセンター予約限定";
}

.card-item {
    padding: 8px;
}

.tour-card.tour-card__type4>li .card-item {
    padding: 4px;
}

.card-title {
    margin-bottom: 5px;
    font-size: 17px;
    font-weight: bold;
    line-height: 1.2em;
    color: #1A0DAB;
}

.tour-card.tour-card__type4>li .card-item .card-title {
    margin-top: 5px;
    margin-bottom: 0;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.2em;
    color: #1A0DAB;
}

.card-point {
    font-size: 12px;
    margin-top: 5px;
    padding-left: 1.0em;
    position: relative;
}

.card-point:before {
    content: "◆";
    position: absolute;
    top: 0;
    left: 0;
}

.card-holdon {
    background: #c09e40;
    padding: 3px 3px 3px 6em;
    margin: 5px auto;
    color: #FFF;
    font-size: 11px;
    position: relative
}

.card-holdon::before {
    content: "催行決定日:";
    position: absolute;
    top: 3px;
    left: 3px;
}

.card-price .air_tour_code {
    display: block;
    font-size: 18px;
    color: #C00;
    font-weight: bold;
}

.card-price .card-price__detail {
    display: block;
    color: #333;
    font-size: 11px;
    font-weight: normal;
}

.card-price .card-price__detail:before {
    content: "（";
}

.card-price .card-price__detail:after {
    content: "）";
}


/* .card-price:not(.no-goto)::before {
  content: "GoToトラベル表示価格より最大半額補助";
  background-color: #C00;
  font-size: 12px;
  color: #FFF;
  padding: 0.3em;
  display: inline-block;
  margin-top: 5px;
} */

.card-dap {
    color: #333;
    font-size: 12px;
}

.card-dap:after {
    content: "出発";
}

.card-date {
    color: #333;
    font-size: 12px;
}

.card-date:after {
    content: "出発";
}

.js-d-price__area {
    width: 992px;
    margin: auto;
}

.d-price__note {
    margin: 10px auto;
    padding-left: 1.0em;
    font-size: 12px;
    position: relative
}

.d-price__note::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}


/* ------------------------------------------------
DP商品用
------------------------------------------------ */

.card-title.dp-title {
    font-size: 24px;
    text-align: center
}

.card-price.dp-price {
    text-align: center;
}

.card-price.dp-price::after {
    content: "（大人1名様）";
    display: inline-block;
    margin-left: 0.3em;
    font-size: 12px;
    font-weight: normal;
    color: #333
}

.card-price.dp-price .price {
    font-size: 18px;
    color: #C00;
    font-weight: bold;
}

.card-price.dp-price .price::after {
    content: "円"
}

.dp-list {
    font-size: 12px;
    line-height: 1.3;
    display: flex;
    align-items: baseline;
}

.dp-list+.dp-list {
    margin-top: 2px;
}

.dp-list .dp-list__item {
    display: inline-block;
    background: #7d7d7d;
    color: #FFF;
    text-align: center;
    width: 72px;
    padding: 2px 0 1px;
    margin-right: 5px;
}

.dp-list>span+span {
    width: calc(100% - 72px - 5px)
}

.dp-list .date::after {
    content: "出発"
}

.dp-notice,
.tour-notice {
    margin: 10px auto
}

.dp-notice>li,
.tour-notice>li {
    font-size: 12px;
    padding-left: 1.0em;
    position: relative
}

.dp-notice>li::after,
.tour-notice>li::after {
    content: "※";
    position: absolute;
    top: 0;
    left: 0
}


/*** 割引前と割引後 ***/

.tour-price .air_tour_code.price__before,
.card-price .air_tour_code.price__before {
    font-size: 13px;
    font-weight: normal;
    margin-top: 5px;
    padding-left: 5.5em;
    position: relative;
}

.tour-price .air_tour_code.price__before::before,
.card-price .air_tour_code.price__before::before {
    content: "割引前価格";
    position: absolute;
    top: 0;
    left: 0;
}

.price__after,
.card-price__after {
    display: block;
    font-size: 18px;
    color: #C00;
    font-weight: bold;
    position: relative;
    padding-top: 1em;
}

.price__after::before,
.card-price__after::before {
    display: block;
    content: "割引後価格";
    font-size: 14px;
    position: absolute;
    top: 0;
    left: 0;
}