@charset "utf-8";

/*-----------------
 　　　　予約フロー
 ----------------*/


/*---------------------
　　　ツアータイトル
---------------------*/

.tour-detail {
    background: #f7f7f7;
    border-bottom: #d4d4d4 solid 4px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    padding: 5px 10px;
    margin-bottom: 5px;
}

.tour-detail .tour-title{
    font-size: 110%;
    line-height: 1.3
}

.tour-detail .tour-icon{
    font-size: 0;
    margin-bottom: 5px;
}

.tour-detail .tour-icon li{
    font-size: 13px;
    display: inline-block;
    vertical-align: top;
    margin-right: 5px;
}

.tour-detail .tour-icon li p{
    background: #319da7;
    color: #fff;
    padding: 2px;
}

/*---------------------
　　　部屋割り選択
---------------------*/

.add0haku{
    margin: 0 0 10px;
    color: #ea0000;
    border: solid 1px;
    padding: 3px;
}

.box-room{
    overflow: hidden;
    margin-bottom: 10px;
}

.roomSelect{
    margin-top: 10px;
}

.room-caution {
    margin: 0 0 10px;
    color: #ea0000;
    display: block;
}

.roomtype-select {
    font-size: 125%;
    padding: 5px;
    width: 190px;
    border-radius: 5px;
    margin-bottom: 10px;
}

.room-selectarea{
    background: #fffbb5;
    padding: 10px 10px 1px 10px;
    font-size: 120%;
    position: relative;
}

.room-selectarea .deleteroom{
    position: absolute;
    top: 7px;
    right: 6px;
    display: inline-block;
    background: #ccc;
    border-radius: 5px;
    padding: 5px;
    font-size: 80%;
}

.room-selectarea p{
    margin-bottom: 10px;
}

.room-selectarea p select{
    font-size: 105%;
    padding: 5px;
    width: 50px;
    border-radius: 5px;
}

.room-selectarea .age{ margin-right: 10px;}
.room-selectarea .unit{ margin-left: 10px;}

.under-caption{
    font-size: 85%;
    text-align: center;
}

.room-more{
    display: inline-block;
    float: right;
    text-decoration: underline;
    font-size: 120%;
    padding: 10px 0 10px 18px;
    background: url(../img/plus_icon2.png) no-repeat 0 50%;
    background-size: 15px 14px;
}

.htl-list,
.flight-box,
.option-box{
    display: none;
    background: #fff;
}

.htl-opt span{ display: block;}

.htl-list .htl-select li.select {
    background: #fffbb5;
}

.htl-list .htl-selectname{
    width: 60%;
}

.htl-radio input{
    display: none;
}
.htl-radio label{
    background: #FF7F00;
    color: #fff;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    display: inline-block;
    padding: 5px 15px;
}
.htl-radio label.disa{
    background:#ccc;
}

.htl-radio.nochoice label {
    background: #ccc;
}

.htl-radio .selectNow{
    display: inline-block;
    color: #fff;
    background: #ff0000;
    padding: 2px 15px;
    margin: 10px 5px 0 10px;
}

.select .htl-radio label {
    background: #8C8A8A;
}

/*-----------------------
　　　　ツアー詳細
-----------------------*/

.htl-opt{
    position: relative;
    padding-left: 35px;
    margin-bottom: 10px;
}

.stayDate {
    position: absolute;
    top: 8px;
    left: 0;
}


/*-- ホテル　--*/

.htl-name{
    display: block;
}

.htl-change{
    position: absolute;
    top: 3px;
    right: 5px;
    text-decoration: underline;
    color: #000;
}

.roomtypeQty{
    display: inline-block;
    text-align: center;
    margin: 5px 3px;
}

.roomtypeQty strong{
    display: block;
    background: #7F7C7C;
    color: #fff;
    padding: 0 2px;
    margin-bottom: 3px;
}
.useroomtype {
    display: block;
    border-left: 4px solid #A0A0A0;
    padding: 5px 0 5px 5px;
    margin: 7px 0;
    font-size: 86%;
}
.common-table td p.date1 {
    border-top: none;
}
.htl-opt {
    position: relative;
    padding: 5px 0 0 35px;
    margin-bottom: 5px;
    border-top: dashed 1px #797676;
    margin: 5px 0;
}
.flight-opt{
    position: relative;
    padding-left: 42px;
    margin-bottom: 7px;
}

.flight-opt .flight-select{
    width: 55%;
    display: inline-block;
    margin-top: 25px;
    
}
.loading_all img{
    display: inline-block;
    margin-bottom: 5px;
}
.loading_all{
    border: 1px solid #989898;
    width: 99%;
    padding: 25px 0px;
    display: block;
}
.flight-ttl{
    position: absolute;
    top: 3px;
    left: 0;
}

.flight-opt .change-flight{
    position: absolute;
    top: 3px;
    right: 5px;
    text-decoration: underline;
}

.flight-opt strong{
    display: block;
    font-weight: normal;
    margin-top: 3px;
}

.tour-infomation .txt-red{
    display: block;
}

.opt-select{
    border: #989898 1px solid;
    margin-top: 15px;
}

.opt-select dt{
    font-size: 90%;
    padding: 5px;
    background: #fffbb5;
    margin-bottom: 5px;
}

.opt-select dd{
    padding: 5px;
}

.opt-select p{
    margin-bottom: 7px;
}

.opt-select label{
    margin-left: 5px;
    vertical-align: middle;
    display: block;
}

.opt-select .includeOptAdult{
    margin-left: 25px;
}

.opt-select .includeOptChild{
    margin-left: 5px;
}

.opt-select input{
    margin-right: 5px;
}

.add-opt{
    text-align: center;
    margin: 10px auto;
}

.add-opt a{
    display: inline-block;
    background: #b0b0b0 url(../img/plus_icon2.png) no-repeat 4% 50%;
    color: #000;
    padding: 11px 15px 10px 38px;
    border-radius: 5px;
    font-size: 120%;
}

.extra-opt{
    position: relative;
    margin-top: 10px;
}

.extra-opt .delete{
    position: absolute;
    top: 7px;
    right: 6px;
    display: inline-block;
    background: #ccc;
    border-radius: 5px;
    padding: 5px;
    font-size: 80%;
}

.extra-opt table{
    border: #989898 1px solid;
    width: 100%;
}

.extra-opt table th{
    background: #fcfaf2;
    width: 66px;
    vertical-align: top;
    padding: 10px 0 0 8px;
}

.extra-opt table td{
    padding: 10px 0 0 10px;
    line-height: 1.5;
}

.extra-opt table tr:last-child td{ padding: 10px 0 10px 10px;}

.extra-opt table tr:last-child th{ padding: 10px 0 10px 8px;}

.option-price{
    border: #989898 1px solid;
    overflow: hidden;
    margin-top: 10px;
}

.option-price dt{
    font-size: 13px;
    float: left;
    vertical-align: top;
    background: #fffbb5;
    padding: 8px 9px 8px 4px;
}

.option-price dd{
    font-size: 13px;
    float: right;
    vertical-align: top;
    text-align: right;
    padding: 8px 5px;
}

.option-price dd p{
    line-height: 1.0;
}

/*---------------------
　　　   合計金額
---------------------*/

.sum-price{ margin-top: 15px;}

.sum-price dl{
    border: #989898 2px solid;
    overflow: hidden;
    font-size: 140%;
}

.sum-price dt{
    float: left;
    padding: 11px 8px;
    background: #23afef;
    color: #fff;
    font-weight: bold;
}

.sum-price dd{
    float: right;
    padding: 8px;
}

.sum-price dd p{
    color: #ff0000;
    font-weight: bold;
}

/*-------------------
　フライトモーダル
-------------------*/

.flight-txt{
    padding: 8px 5px 0;
    text-align: left;
}

.airport{
    margin-top: 10px;
    font-size: 110%;
    text-align: left;
    padding: 0 5px;
}

.airport select{
    padding: 3px 5px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    font-size: 114%;
    margin-bottom: 10px;

}

.airport-ttl{
    background: #808080;
    color: #fff;
    padding: 5px;
}

.flight-box{ text-align: center;}

.flight-inner{
    max-height: 250px;
    overflow: auto;
    margin: 0 5px 15px;
}

.flight-inner tr.active{
    background: #fffbb5;
}

.flight-inner::-webkit-scrollbar,
.extraList::-webkit-scrollbar{
    width: 4px;
}

.flight-inner::-webkit-scrollbar-thumb,
.extraList::-webkit-scrollbar-thumb{
    border-radius: 10px;
    background: #ccc;
}

.flight-inner::-webkit-scrollbar-track,
.extraList::-webkit-scrollbar-track{
    background: #fff;
    border: 1px solid #D8D8D8;
}

.dep{
    text-align: center;
    background: #23afef;
    padding: 5px 0;
    margin: 15px 5px 0;
    color: #fff;
}

.flight-box table {
    width: 100%;
    border-collapse: collapse;
}

.flight-box tr{
    border-bottom: 1px solid #989898;
}

.flight-box tr.disabled{background: #CCC;}

.flight-box .hide{
	display:none!important;
}

.flight-box tr.select{
    background: #fffbb5;
}

.flight-box th {
    padding: 5px 0;
    text-align: center;
    border: 1px solid #989898;
    background: #ebf6fd;
}

.flight-box td{
    text-align: center;
    padding: 5px 0;
    border: 1px solid #989898;
}

/*
.flight-box .selectBox{ width: 40px;}
.flight-box .flightName{ width: 100px;}
.flight-box .flightDep{ width: 70px;}
.flight-box .flightArr{ width: 70px;}
.flight-box .seatBox{ width: 40px;}
.flight-box .priceExtra{ width: 70px;}
*/
.flight-box .selectBox2{ width: 10%;}
.flight-box .flightName2{ width: 45%;}
.flight-box .seatBox2{ width: 29%;}
.flight-box .priceExtra2{ width: 16%;}

.flight-box .selectBox{ width: 5%;}
.flight-box .flightName{ width: 30%;}
.flight-box .flightDep{ width: 20%;}
.flight-box .flightArr{ width: 20%;}
.flight-box .seatBox{ width: 10%;}
.flight-box .priceExtra{ width: 15%;}

.flight-box .modalClose2 {
    background: #FF7F00;
    width: 100px;
    color: #FFF;
    margin: 25px auto;
    padding: 15px;
    cursor: pointer;
    border-radius: 5px;
}

.flight-decide{
    display: inline-block;
    text-align: center;
    margin: 0 auto;
    background: #ff8400;
    color: #fff;
    padding: 10px 28px 10px 15px;
    font-size: 130%;
    border-radius: 5px;
    position: relative;
    margin-bottom: 30px;
}

.flight-decide.flight-up{
    margin-bottom: 0; 
}

.flight-decide:after{
    position: absolute;
    top: 40%;
    right: 13px;
    content: " ";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 5px;
    border-color: transparent transparent transparent #fff;
}

.noflight-text{
	text-align:center;
	margin:20px 5px;
}

.flight-box .depinfo span,
.flight-box .arrinfo span{
	display:block;
}

.codeshare{
	color:#F00;
	margin: 0 20px 10px;
}

/*-- 追加オプション --*/

.optionSelectdate{
    font-size: 125%;
    padding: 5px;
    width: 105px;
    border-radius: 5px;
    margin: 10px 0;
}

#option_show{
    border: #989898 1px solid;
    overflow: auto;
    max-height: 300px;
}

.info_text{
    padding: 20px 5px;
}


.extraList{
    margin-bottom: 10px;
}

.extraList li{
    overflow: hidden;
    padding: 5px 5px;
    margin: 0 5px;
    border-bottom: solid 1px #000;
}

.extraList li.select{
    background: #fffbb5;
}

.extraList .selectNow{
    position: absolute;
    display: inline-block;
    left: -85px;
    top: 5px;
    color: #fff;
    background: #ea0000;
    padding: 2px 15px;
}

.extraList .opt-adultPrice,
.extraList .opt-childPrice {
    display: inline-block;
    margin-right: 10px;
}

.extraList .opt-adultPrice span {
    background: #23afef;
    color: #fff;
    font-size: 84%;
    padding: 0px 4px;
    margin-right: 5px;
}

.extraList .opt-childPrice span {
    background: #f9417e;
    color: #fff;
    font-size: 84%;
    padding: 0px 4px;
    margin-right: 5px;
}

.extraList .fr{ margin: 20px 0 5px; position: relative;}

.extraList .extraIcon{
    color: #fff;
    padding: 2px;
    display: inline-block;
    margin-right: 5px;
}

a.common-btn2{
    display: inline-block;
    background: #acacac;
    color: #404040;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    padding: 8px 17px 8px 11px;
    position: relative;
}

.common-btn2:after {
    position: absolute;
    top: 13px;
    right: 7px;
    content: " ";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.5px 0 3.5px 5px;
    border-color: transparent transparent transparent #404040;
}

.option-box dl{
    margin: 15px 0;
}

.option-box .opt-ttl{
    display: block;
}

.option-inner{
    padding: 15px 3%;
    text-align: center;
}

.option-inner img{ width: 80%;}

.optionTitle{
    font-size: 130%;
    padding-bottom: 5px;
    text-align: left;
}

.price-box{
    border-left: solid 4px #6F6F6F;
    padding: 2px 0 2px 5px;
    text-align: left;
}

.price-box strong{
    display: inline-block;
    color: #fff;
    line-height: 1.0;
    padding: 3px 2px 2px;
    margin: 0 5px;
}

.add-btn{
    position: relative;
    display: inline-block;
    background-color: #FF7F00;
    color: #fff;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    padding: 10px 12px 10px 31px;
    margin-top: 15px;
}

.add-btn:before {
    content: " ";
    display: block;
    background-image: url(../img/plus_icon.png);
    width: 20px;
    height: 19px;
    position: absolute;
    top: 8px;
    left: 7px;
}

.price-box .adult-bg {
    background: #23afef;
}

.price-box .child-bg {
    background: #f9417e;
}

.option-box select{
    padding: 3px;
    font-size: 130%;
    border-radius: 5px;
}

.opt-iconBox{
    overflow: hidden;
    margin: 15px 0 10px;
}

.person-select{
    margin-top: 15px;
    text-align: left;
}

.dateSelect{
   border-top: #999 dashed 1px;
   margin-top: 10px;
   padding-top: 10px; 
}

.extra-select{
    margin: 0 2px 10px 0;
    text-align: left;
}

.extra-select span{
    line-height: 1.0;
    text-align: center;
    display: inline-block;
}

.plan-name{
    box-shadow: rgb(178, 195, 210) 2px 3px 0px 0px;
    -webkit-box-shadow: rgb(178, 195, 210) 2px 3px 0px 0px;
    -moz-box-shadow: rgb(178, 195, 210) 2px 3px 0px 0px;
    color: #fff;
    padding: 5px 5px 3px;
    display: inline-block;
    float: left;
    margin-top: 9px;
}

.lesson { background: #00a0f0;}
 .koutsu{ background: #00b81e;}
 .htlplan{ background: #ff4fe4;}
 .spa{ background: #ff9c00;}
 .eat{ background: #8533ff;}

.plan-icon{
    font-size: 0;
    float: right;
    margin-top: 2px;
}

.plan-icon li{
    display: inline-block;
    font-size: 13px;
    margin-left: 2px;
}

.plan-icon li p{
    color: #fff;
    padding: 2px 2px;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    width: 65px;
    height: 34px;
}

.resavation{ background: #00a0f0;}
.popular{background: #ff9c00;}
.family{background: #232dff;}
.stuff{ background: #00b81e;}
.couple{ background: #ff4fe4;}
.naiyou{ background: #8533ff;}

.optionInfo{
    margin: 10px 0;
    width: 100%;
    border: #999 solid 1px;
}

.optionInfo tr{
    border-bottom: #999 solid 1px;
}

.optionInfo th{
    padding: 5px 0;
    background: #fcfaf2;
}

.optionInfo td{
    padding: 5px 5px;
}

/*-- クーポン --*/
.coupon p{
	display: inline-block;
    margin-left: 20px;
	color: #f00;
	font-weight: bold;
}

/*-- 国内傷害保険 --*/

.insuranceNum select{
    font-size: 125%;
    padding: 5px;
    border-radius: 5px;
    margin: 10px 0;
}

.insurance-info{
    text-align: right;
}

.insurance-info a {
    color: #000;
    text-decoration: underline;
}

/*-- レンタカーオプション --*/

.rentcar_option .rent_box{
    font-size: 0;
    margin-bottom: 15px;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 5px;
    overflow: hidden;
}
.rentcar_option .rent0{
    margin-top: 10px;
}
.rentcar_option .rent4{
    border-bottom: 2px solid #ccc;
    margin-bottom: 0;
}
.rentcar_option .rent5{
    border-bottom: none;
    padding-top: 20px;
    background: #ebf6fd;
}
.rentcar_option .rent_select {
    display: inline-block;
    vertical-align: top;
    font-size: 13px;
    margin: 0 0 2px 10px;
}
.rentcar_option .rent_select select{
    margin-left: 5px;
    padding: 5px;
    font-size: 16px;
}
.rentcar_option .rent_select input{
    margin: 0 5px;
    padding: 5px;
    font-size: 16px;
}
span.minitext {
    margin:0 !important;
    font-size: 80% !important;
    display: block !important;
    vertical-align: middle !important;
}
.leftBox {
    width: 30%;
    display: inline-block;
    vertical-align: top;
    margin-left: 10px;
}
.common-table .leftBox img{width:100%;height:auto;}
.common-table .rightBox {
    display: inline-block;
    width: 65%;
    vertical-align: top;
}
.common-table .leftBox span{
    font-size: 70%;
}
input[name="rent_price0"]{width:80%;}

.maru{
    color: #26a1fb;
    font-weight: bold;
    font-size: 140%;
    display: block;
    text-align: center;
}
.qty-red{
    color: #da0a0a;
    font-weight: bold;
    font-size: 130%;
}
.disablelink{
	pointer-events: none;

	color: #d6dbdf !important;
}

/*-- GOTOキャンペーン --*/
.goto_iconst {
    display: inline-block;
    padding: 7px 9px 4px;
    margin-right: 5px;
    font-size: 74%;
}
.goto000 {
  background: #ff818b;
  color: #fff;
  border-radius: 4px;
}
.goto001 {
  background: #5d5d5d;
  color: #fff;
  border-radius: 4px;
}
.goto002 {
  background: #5d5d5d;
  color: #fff;
  border-radius: 4px;
}