@charset "UTF-8";

/*component.css
  各パーツのスタイル指定
*/

/*====================================================================== 
  汎用ボックス
======================================================================*/

.appearance select {
  height: 28px;
  padding-right: 28px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-overflow: ellipsis;
  border: 1px solid #d0d0d0;
  border-radius: 3px;
  cursor: pointer;
  background: #fff url(../images/icon/select_arrow.svg) no-repeat right center;
}
/*
.appearance select:focus {
  outline: none;
  background-color: #fffbc4;
}

.no-appearance select {
  height: 28px;
  text-overflow: ellipsis;
  cursor: pointer;
}

.appearance option {
  padding: 5px 5px 4px;
  border-bottom: 1px solid #d0d0d0;
}
*/



/*全体*/
.cont-box01,
.cont-box02,
.cont-box03 {
    border: 1px solid #c1c1c1;
    border-radius: 4px;
    background-color: #fff;
    /*overflow: hidden;*/
}
.cont-box01 {
    margin-bottom: 20px;
}
.cont-box02 {
    margin-bottom: 20px;
}
.cont-box03 {
    margin-bottom: 30px;
}

/*内側*/
.inner-box01 {
    padding: 15px;
    border: 1px solid #dadada;
    border-radius: 4px;
}

/*====================================================================== 
  テキストリンク
======================================================================*/

.link-arrow {
    padding-left: 9px;
    background: url(../images/link_arrow01.png) no-repeat left center;
}
.link-arrow:hover {
    text-decoration: underline;
}

/*====================================================================== 
  見出し
======================================================================*/

/*ページ見出し*/
.page-header01 {
    padding: 15px 0;
    font-size: 20px;
    line-height: 28px;
    font-weight: bold;
}

/*コンテンツ見出し*/
.cont-header01 {
    padding: 10px 10px 9px;
    color: #fff;
}
.cont-header02 {
    padding: 7px 10px 6px;
    color: #fff;
}
.cont-header03 {
    padding-left: 7px;
    margin-bottom: 10px;
    border-left: 5px solid #12bdc3;
}

/*====================================================================== 
  リスト（ul, dl, ol）
======================================================================*/

/*リストの先頭にマークを指定する場合*/
.indent-box {
    padding-left: 1em;
}
.list-indent {
    padding-left: 1em;
    text-indent: -1em;
}
.style-disc li {
    padding-left: 1em;
    text-indent: -1em;
    list-style-type: disc;
    list-style-position:inside;
}

/*汎用リスト*/
.list-detail01 li {
    width: 31%;
    float: left;
    margin-right: 3.5%;
}
.list-detail01 li:nth-child(3n) {
    margin-right: 0;
}
.list-select01,
.cbox-list01 {
    border: 1px solid #dadada;
    border-radius: 4px;
}
.list-select01 li,
.cbox-list01 li {
    padding: 10px 15px 9px;
    border-bottom: 1px solid #dadada;
}
.list-select01 li:last-child,
.cbox-list01 li:last-child {
     border-bottom: none;
}

/*テキストリンクリスト*/
.list-txt-link01 li {
    float: left;
    margin-right: 15px;
}

/*航空券情報*/
.flight-info-list01 dt {
    width: 100px;
    float: left;
}
.flight-info-list01 dd {
    margin-left: 100px;
}

/*アイコンリスト用*/
.icon-list01 li {
    margin: 0 5px 5px 0;
    float: left;
}
.icon-list02 li {
    margin: 0 5px 0 0;
    float: left;
}
.icon-list02 li:last-child {
    margin-right: 0;
}

/*====================================================================== 
  テーブル
======================================================================*/

/*table*/
.tbl-style01,
.tbl-style02,
.tbl-style03,
.hz-tbl-style01 {
    width: 100%;
    border: 1px solid #c1c1c1;
    background-color: #fff;
}

/*th, td*/
.tbl-style01 th,
.tbl-style01 td {
    padding: 8px 10px 7px;
    border: 1px solid #dadada;
    text-align: right;
}
.tbl-style01 th,
.tbl-style02 th,
.tbl-style03 th,
.hz-tbl-style01 th {
    font-weight: bold;
}
.tbl-style02 th,
.tbl-style02 td,
.tbl-style03 th,
.tbl-style03 td,
.hz-tbl-style01 th,
.hz-tbl-style01 td {
    padding: 8px 10px;
    border: 1px solid #dadada;
    text-align: left;
}
.tbl-style02 th {
    width: 25%;
}
.tbl-style02 td {
    width: 75%;
}


.tbl-style03 th {
	background-color: #e9f8fb !important;
	font-size:11px;
	font-weight:bold;
	text-align:center;
}
.tbl-style03 td.center {
	text-align:center;
}
.tbl-style03 th.need {
	background-color: #ffefcf !important;
}

/*予約内容確認テーブル*/
.tbl-select-item-info {
    width: 100%;
    border: 1px solid #c1c1c1;
}
.tbl-select-item-info colgroup #kind { width: 10%; }
.tbl-select-item-info colgroup #item { width: 34%; }
.tbl-select-item-info colgroup #date { width: 24%; }
.tbl-select-item-info colgroup #num { width: 10%; }
.tbl-select-item-info colgroup #price { width: 21%; }
.tbl-select-item-info thead th {
    text-align: center;
    font-weight: bold;
    padding: 7px 10px 6px;
}
.tbl-select-item-info th,
.tbl-select-item-info td {
    border: 1px solid #dadada;
}
.tbl-select-item-info tbody th,
.tbl-select-item-info tbody td {
    text-align: left;
    padding: 10px;
}
.tbl-select-item-info tbody tr td:last-child {
    text-align: right;
}
.tbl-select-item-info tfoot th,
.tbl-select-item-info tfoot td {
    padding: 15px 10px;
    font-weight: bold;
}
.tbl-select-item-info tfoot th {
    text-align: left;
}
.tbl-select-item-info tfoot td {
    text-align: right;
}

/*======================================================================
 //フォーム
======================================================================*/

/*汎用ボックス*/
.search-box01 {
    margin-bottom: 10px;
}
.search-box02 {
    padding: 10px;
    border-bottom: 1px solid #dadada;
    box-shadow: rgba(255,255,255,1.0) 0 1px 0;
}
.search-box03 {
    padding: 10px;
}
.input-label01,
.input-label02,
.input-wrap-box01 {
    display: inline-block;
    vertical-align: middle;
}
.input-label01 {
    width: 70px;
    padding-right: 5px;
}
.input-label02 {
    padding-right: 5px;
}

/*===== default =====*/

button { cursor: pointer; }
select { height: 25px; }
input[type="text"]::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="password"]::-moz-placeholder {
	color: #666;
}
input[type="text"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder {
	color: #666;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus {
	background-color: #fff;
    box-shadow: rgba(0,0,0,0.15) 0 0 3px;
}

/*===== select,input width/height =====*/

/*width*/
.fw-60 { width: 60px; }
.fw-70 { width: 70px; }
.fw-75 { width: 75px; }
.fw-80 { width: 80px; }
.fw-100 { width: 100px; }
.fw-118 { width: 118px; }
.fw-120 { width: 120px; }
.fw-150 { width: 150px; }
.fw-200 { width: 200px; }
.fw-250 { width: 250px; }
.fw-300 { width: 300px; }
.fw-350 { width: 350px; }
.fw-400 { width: 400px; }
.fw-600 { width: 600px; }
.fw-full { width: 100%; }

/*height*/
.fh-31 { height: 25px; }

/*===== 装飾 =====*/

.custom-input {
	background: url(../images/background/bg_input.jpg) repeat-x 0 0;
	border: 1px solid #dcdcdc;
	border-radius: 4px;
	padding: 0 5px;
	line-height: 29px;
}
.custom-input:focus { background-position: 0 -29px; }
.custom-input-02, .custom-input-03 {
    height: 25px;
    padding: 0 5px;
	border: 1px solid #dcdcdc;
	border-radius: 4px;
	line-height: 23px;
}
.custom-input-02 {
    background-color: #fff;
}
.custom-input-03 {
    background-color: #fffbc4;
}
input[type="text"].custom-input-02::-webkit-input-placeholder,
input[type="text"].custom-input-03::-webkit-input-placeholder {
    line-height: 23px;
}
input[type="text"].custom-input-02::-moz-placeholder,
input[type="text"].custom-input-03::-moz-placeholder {
    line-height: 23px;
}

/*===== ui datepicker =====*/
    /*background: url(../images/background/bg_input.jpg) repeat-x 0 0;*/
/*
.datepicker {
    height: 25px;
    padding: 0 35px 0 5px;
    background-color: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
	line-height: 25px;
}

.ui-datepicker-trigger {
	width: 23px;
	height: 23px;
	cursor: pointer;
	text-indent: -999em;
	position: absolute;
	top: 1px;
	right: 1px;
	background: url(../images/background/bg_datepicker.jpg) no-repeat 0 0;
	border-left: 1px solid #dcdcdc;
	border-radius: 0 3px 3px 0;
}

.ui-datepicker-trigger.active { background-position: 0 -29px; }
*/
/*===== textarea =====*/

.txt-area01 {
    width: 100%;
    padding: 10px;
    max-height: 400px;
    min-height: 150px;
    border: 1px solid #dadada;
    border-radius: 4px;
}

/*======================================================================
 //フォーム（サイドバー）
======================================================================*/

/*===== 汎用スタイル =====*/

.sidebar {
    border: 1px solid #c1c1c1;
    border-radius: 4px;
    overflow: hidden;
    background-color: #f5f5f5;
}
.col-left .sidebar:nth-child(n+2) {
    margin-top: 10px;
}
.sidebar-inner {
    padding: 10px 15px;
}
.sidebar-header01 {
    padding: 10px;
}
.sidebar-header02 {
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ccc;
    background-color: #00347c;
}
.sidebar-header03 {
    line-height: 40px;
    padding: 0 15px;
}
.sidebar-header03 img {
	float: right;
	padding-top:4px;
	vertical-align: center;
}
.search-condition-box .cbox {
    display: block;
    float: left;
}
.search-condition-box .txt {
    display: block;
    margin-left: 18px;
}
.condition-select dt {
    line-height: 25px;
}
.room-select dd span {
    display: inline-block;
    vertical-align: middle;
    margin-left: 5px;
}
.detail-condition-box h4 {
    padding: 6px 10px 5px;
    background-color: #00347c;
    color: #fff;
    font-weight: bold;
}

/*===== 絞り込み検索 =====*/

.search-select-tab-panel {
	display:none;
}
#search-select-tab  {
	display:table;
	table-layout: fixed;
	width:100%;
	border-left: 1px solid #dcdcdc;
	border-right: 1px solid #dcdcdc;
}
#search-select-tab li {
	display:table-cell;
	padding:3px;
	text-align:center;
	background-color:#ccc;
}
#search-select-tab li a {
	text-decoration:none;
	color:#000;
}
#search-select-tab li.ui-state-active {
	background-color:#fff;
	border:none;
	
}

/*====================================================================== 
  パンくず
======================================================================*/

#breadcrumb {
    height: 32px;
    margin-bottom: 10px;
    overflow: hidden;
    background-color: #fff;
}
#breadcrumb-inner {
    height: 30px;
    padding: 1px;
    background: url(../images/common/bg_breadcrumb.jpg) no-repeat 0 0;
}
#breadcrumb a, #breadcrumb span, #breadcrumb strong {
    display: inline-block;
    position: relative;
    font-size: 12px;
    line-height: 30px;
}
#breadcrumb a:after, #breadcrumb span:after {
    content: url("../images/common/breadcrumb_arrow.png");
    width: 9px;
    height: 29px;
    position: absolute;
    top: -1px;
    left: 100%;
}
.home {
    padding: 0 15px;
}
.home img {
    vertical-align: middle;
}
.prev, .current {
    padding: 0 15px 0 24px;
}

/*====================================================================== 
  ページネーション
======================================================================*/

.reslut-pagenation {
    background-color: #fff;
}
.pagenation-bodered {
    border-top: 5px solid #ffe100!important;
    border-radius: 3px 3px 0 0;
}
.result-pagenation-inner {
    padding: 10px;
    border-bottom: 1px solid #dadada;
}
.result-total-num {
    float: left;
    padding-top: 5px;
}
.reslut-pageing {
    float: right;
}
.result-sorter, .result-pagenation-number {
    display: inline-block;
}
.result-sorter {
    padding-right: 20px;
}
.result-sorter a, #result-sorter span,
.result-pagenation-number a, .result-pagenation-number span {
    display: inline-block;
    line-height: 13px;
    padding-top: 5px;
}
.number-pdb {
    padding: 0 10px;
}

.sort-seat, .sort-seat li {
    float: left;
}
.page {
    font-weight: bold;
    padding-left: 10px;
}
.result-item  .causion{
	background:#00b0f0;
	text-align:center;
	padding:4px;
	margin-bottom:10px;
	color:#fff;
	width:120px;
	float:left;
}
.result-item  .detailbtn {
	background:#ff6600;
	text-align:center;
	padding:4px;
	color:#fff;
	margin-bottom:10px;
	float:left;
	width:89px;
	border-radius:0px 6px 0px 0px;
	border-left:1px solid #ccc;
	text-shadow:1px 1px 1px #ccc;
}
.result-item  .detailbtn:hover {
	background:#ff8833;
}

/*ソート（並べ替え）*/

#result-list-soter {
    padding: 1px;
}
#result-list-soter ul li {
    float: left;
}
#result-list-soter ul li a {
    display: block;
    padding: 3px 10px 2px;
}
#result-list-soter ul li a.selected {
    color: #fff;
    background-color: #3b5998;
    position: relative;
}

/*====================================================================== 
  スライダー
======================================================================*/

.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} 
.flexslider .slides img {width: auto; height: 250px; margin: 0 auto; display: block;}
.flex-pauseplay span {text-transform: capitalize;}
.slides:after {content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}
.no-js .slides > li:first-child {display: block;}
.flexslider { margin: 0; background: #fff;position: relative; zoom: 1; }
.flex-viewport { max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; }
.loading .flex-viewport { max-height: 300px; }
.flexslider .slides { zoom: 1; }
.carousel li { margin-right: 5px; }
.flex-direction-nav {*height: 0;}
.flex-direction-nav a  { text-indent: -999em; text-decoration:none; display: block; width: 30px; height: 30px; margin: -20px 0 0; position: absolute; top: 50%; z-index: 10; overflow: hidden; opacity: 0; cursor: pointer; color: rgba(0,0,0,0.8); text-shadow: 1px 1px 0 rgba(255,255,255,0.3); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }
.flexslider:hover .flex-prev { opacity: 0.5; left: 10px; width: 30px; height: 30px; background: url("../images/icon/icon_flexslider_prev.png") no-repeat scroll center center #00afc0; }
.flexslider:hover .flex-next { opacity: 0.5; right: 10px; width: 30px; height: 30px; background: url("../images/icon/icon_flexslider_next.png") no-repeat scroll center center #00afc0; }
.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover { opacity: 0.8; }
.flex-direction-nav .flex-disabled { opacity: 0!important; filter:alpha(opacity=0); cursor: default; }
.flex-direction-nav a:before  {  display: inline-block; }
.flex-direction-nav a.flex-next:before  {}
.flex-pauseplay a { display: block; width: 20px; height: 20px; position: absolute; bottom: 5px; left: 10px; opacity: 0.8; z-index: 10; overflow: hidden; cursor: pointer; color: #000; }
.flex-pauseplay a:before  {  display: inline-block; content: ''; }
.flex-pauseplay a:hover  { opacity: 1; }
.flex-control-nav {width: 100%; position: absolute; bottom: -30px; text-align: center;}
.flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; }
.flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
.flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }
.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.flex-control-thumbs li {width: 25%; float: left; margin: 0;}
.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.flex-control-thumbs img:hover {opacity: 1;}
.flex-control-thumbs .flex-active {opacity: 1; cursor: default;}

/*汎用スライダーボックス*/
.slider-box01 {
    width: 500px;
    float: left;
}

/*スライダー画像*/
.slider-box01 .slides img {
    width: auto;
    height: 300px;
    display: block;
    margin: 0 auto;
}
.thumbnail-slider01 {
    height: 140px;
    overflow-y: scroll;
}
.thumbnail-slider01 .slides li {
    width: 25%;
    float: left;
    border: 1px solid #000;
}
.thumbnail-slider01 .slides img {
    width: 100%;
    height: auto;
    cursor: pointer;
}

/*====================================================================== 
  タブ
======================================================================*/

/*===== タブボタン =====*/

/*base*/
.tabs02 {
    text-align: center;
}
.tabs01 li {
    float: left;
    margin-right: 5px;
}
.tabs02 li {
    display: inline-block;
    margin: 0 5px;
}
.tabs01 li a,
.tabs02 li a {
    display: block;
    text-align: center;
}

/*btn color*/
.tab-color01 {
    background-color: #0071bc;
}
.tab-color02 {
    background-color: #f5f5f5;
}
.tab-color03 {
    background-color: #fff;
}
.tab-color04 {
    background-color: #0089dd;
}
.tab-color05 {
    background-color: #f7921e;
}
.tab-color06 {
    background-color: #00afc0;
}

/*btn active color*/
.active > .tab-color01 {
    background-color: #fff;
    color: #0071bc;
    font-weight: bold;
}
.active > .tab-color02 {
    background-color: #fff;
    font-weight: bold;
}

/*style*/
.tab-btn01 {
    padding: 10px 20px;
    border-top: 1px solid #dadada;
    border-left: 1px solid #dadada;
    border-right: 1px solid #dadada;
    border-radius: 4px 4px 0 0;
    color: #fff;
    position: relative;
}
.tab-btn02 {
    padding: 7px 15px 6px;
    border: 1px solid #dadada;
    border-radius: 4px;
}
.tab-btn03 {
    padding: 15px 30px 14px;
    color: #fff;
    border-radius: 4px 4px 0 0;
    font-weight: bold;
}

/*before・after*/
.active .tab-btn01:after {
    width: 100%;
    content: '';
    border-bottom: 1px solid #fff;
    position: absolute;
    left: 0;
    bottom: -1px;
}

/*===== タブボックス =====*/

.tab-box01,
.tab-box02,
.tab-box03 {
    display: none;
}
.tab-box01.active,
.tab-box02.active,
.tab-box03.active {
    display: block;
}
.tab-box01 {
    padding: 25px 15px;
    border: 1px solid #c1c1c1;
    border-radius: 4px;
}
.tab-box02 {
    padding: 15px;
    border: 1px solid #c1c1c1;
    border-radius: 4px;
}

/*チェックリスト*/
.checklist-tab-container .checklist-tab-box {
    display: none;
}
.checklist-tab-container .checklist-tab-box.active {
    display: block;
}
.checklist-tab-container .checklist-tab-box:nth-child(1) {
    border-top: 4px solid #0089dd;
}
.checklist-tab-container .checklist-tab-box:nth-child(2) {
    border-top: 4px solid #f7921e;
}
.checklist-tab-container .checklist-tab-box:nth-child(3) {
    border-top: 4px solid #00afc0;
}
.checklist-tab-container .checklist-tab-box .checklist {
    padding: 15px;
    border-bottom: 1px solid #dadada;
}
.checklist-tab-container .checklist-tab-box .checklist:last-child {
    border-bottom: none;
}

/*====================================================================== 
  汎用スタイル
======================================================================*/

/*===== コンテンツボックス =====*/

/*汎用ボックス*/
.detail-box01 {
    width: 455px;
    padding: 10px;
    display: table-cell;
    vertical-align: top;
    border-right: 1px solid #dadada;
}
.detail-box02 {
    margin-bottom: 10px;
    background-color: #fff;
    border: 1px solid #dadada;
}
.detail-box03 {
    padding: 10px;
    border-bottom: 1px solid #dadada;
}
.detail-box04 {
    width: 400px;
    float: right;
}
.detail-box05 {
    padding: 20px 15px;
}
.detail-box06 {
    padding: 0 10px 10px;
}
.detail-box07 {
    width: 504px;
    display: table-cell;
    vertical-align: top;
    padding: 10px;
    border-right: 1px solid #dadada;
}

/*テーブルボックス*/
.tbl-wrapper01 {
    padding: 20px 15px 0;
}
.tbl-wrapper02 {
    padding: 20px 15px 10px;
}
.tbl-wrapper03 {
    padding: 10px;
    border-bottom: 1px solid #dadada;
}
.tbl-block01 {
    padding-bottom: 20px;
}
.tbl-block02 {
    padding-bottom: 10px;
}

/*アイテム詳細*/
.item-spec01 {
    overflow: hidden;
}
.item-spec02 {
    width: 300px;
    float: left;
    margin-right: 10px;
}
.item-spec03 {
    width: 260px;
    display: table-cell;
    vertical-align: top;
    padding: 10px 10px 5px;
}
.item-spec04 {
    width: 504px;
    display: table-cell;
    vertical-align: top;
    padding: 10px 10px 5px;
    border-right: 1px solid #dadada;
}

/*航空券+ホテル選択ボックス*/
.select-contents01 {
    display: none;
    padding: 10px 10px 15px;
    border-top: 1px solid #dadada;
}
.select-contents02 {
    display: none;
    padding: 10px;
    border-top: 1px solid #dadada;
}
.toggle-wrap {
    padding: 10px;
    border-top: 1px solid #dadada;
}

/*子ボックス(nth-child, first・last-child）*/
.child-box01 {
    padding: 15px;
}
.child-box01 .children:nth-child(n+2) {
    padding-top: 15px;
}

/*ボタンボックス（予約ステップ他）*/
.btn-wrap-box {
    width: 100%;
    padding: 15px;
    border: 1px solid #c1c1c1;
    border-radius: 4px;
    overflow: hidden;
}
.btn-wrap-box .attention-txt01 {
    display: table-cell;
    vertical-align: middle;
    font-weight: bold;
    color: #fff;
}
.btn-wrap-box .attention-txt02 {
    display: table-cell;
    vertical-align: middle;
    font-weight: bold;
}
.btn-wrap-box .right {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
}
.btn-wrap-box .center {
    text-align: center;
}
.btn-wrap-box .center li {
    display: inline-block;
    margin: 0 10px;
}

/*汎用テキストボックス*/
.txt-box01 {
    padding: 15px;
    border: 1px solid #c1c1c1;
    border-radius: 4px;
    max-height: 150px;
    overflow: auto;
}

/*ポップアップ*/
#popup-container {
    padding: 30px;
}

/*google map*/
.gmap-box01 {
    height: 70px;
    padding: 5px;
    border: 1px solid #c1c1c1;
}

/*===== 画像 =====*/

/*検索アイテム画像*/
.item-thumbnail01 {
    width: 180px;
    max-height: 140px;
    float: left;
    margin-right: 10px;
    overflow: hidden;
}
.item-thumbnail02 {
    width: 150px;
    float: left;
    margin-right: 10px;
}
.item-thumbnail01 img,
.item-thumbnail02 img {
    width: 100%;
    height: auto;
}

/*画像 + 商品名*/
.img-wrap-box01 dt {
    width: 80px;
    float: left;
}
.img-wrap-box01 dd {
    padding-top: 5px;
    margin-left: 90px;
}
.img-wrap-box01 .air-logo01 {
    padding: 5px;
    margin-right: 10px;
    border: 1px solid #dadada;
}
.img-wrap-box01 .air-logo01 img,
.img-wrap-box01 .hotel-img01 img {
    width: 100%;
    height: auto;
}

/*===== 価格表示 =====*/

.price-box01 {
    width: 251px;
    display: table-cell;
    padding: 10px;
}
.price-box02 {
    width: 244px;
    display: table-cell;
    vertical-align: top;
    padding: 10px;
    border-right: 1px solid #dadada;
}
.price-list01 {
    border-bottom: 1px solid #dadada;
    padding: 10px;
}

/*航空券+ホテルのセット価格表示*/
.origin {
    border-bottom: 1px solid #dadada;
    margin-bottom: 7px;
    padding-bottom: 6px;
}
.origin dl dt, .set-total dt {
    float: left;
}
.origin dl dd, .set-total dd {
    float: right;
}

/*合計価格表示*/
.total-price01 {
    padding: 10px;
}
.total-price02 {
    float: right;
}
.total-price03 {
    padding-bottom: 5px;
    margin-bottom: 15px;
    border-bottom: 1px dotted #999;
}
.total-price04 {
    width: 202px;
    display: table-cell;
    vertical-align: top;
    padding: 10px;
}

/*予約確認〜完了*/
.sl-item-price-box {
    border-left: 1px solid #dadada;
    border-right: 1px solid #dadada;
    border-top: 1px solid #dadada;
}
.sl-item-price-list {
    padding: 6px 10px 5px;
    border-bottom: 1px solid #dadada;
}
.sl-item-price-title {
    float: left;
}
.sl-item-price {
    float: right;
}
.sl-item-price-total {
    padding: 10px 10px 9px;
    border-bottom: 1px solid #dadada;
}
.sl-payment-price-box {
    width: 100%;
    display: table;
    border: 1px solid #dadada;
    border-radius: 4px;
    overflow: hidden;
}
.sl-payment-price-box .title {
    width: 75%;
    padding: 12px 15px 11px;
    display: table-cell;
    vertical-align: middle;
    border-right: 1px solid #dadada;
}
.sl-payment-price-box .price {
    width: 25%;
    padding: 12px 15px 11px;
    display: table-cell;
    vertical-align: middle;
}

/*b2b専用（off, コミッション価格）*/
.off {
    padding: 2px 2px 1px;
    background-color: #ed1c24;
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    line-height: 1;
}
.com {
    padding: 2px 2px 1px;
    background-color: #0071bc;
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    line-height: 1;
}

/*===== 航空券追加／ホテル追加表示 =====*/

.add-item-detail-box {
    margin-bottom: 20px;
    background-color: #fff;
    border: 2px solid #0071bc;
    border-radius: 4px;
    overflow: hidden;
}
.add-item-detail-header {
    padding: 10px 10px 9px;
    border-bottom: 1px solid #dadada;
}

/*===== アイコン =====*/

/*ホテルランク・クチコミ*/
.rating span,
.tripadvisor span {
    width: 81px;
    height: 13px;
    display: inline-block;
}
.rating span img,
.tripadvisor span img {
    width: 100%;
    height: auto;
    margin-top: -4px;
    vertical-align: middle;
}
.special {
    padding-left: 21px;
    background: url("../images/icon/icon_check_red.png") no-repeat scroll left 0 rgba(0, 0, 0, 0);
    color: #333;
    font-weight: bold;
}
.s-price {
    padding-left: 21px;
    background: url("../images/icon/icon_check_blue.png") no-repeat scroll left 0 rgba(0, 0, 0, 0);
    color: #069;
    font-weight: bold;
}
.free {
    padding-left: 21px;
    background: url("../images/icon/icon_check_orange.png") no-repeat scroll left 0 rgba(0, 0, 0, 0);
    color: #f93;
    font-weight: bold;
}

/*客室情報アイコン*/
.internet {
    padding: 1px 3px 0 22px;
    border: 1px solid #dadada;
    background: url(../images/icon_internet.png) no-repeat 3px 2px;
}
.no-smoking {
    padding: 1px 3px 0 22px;
    border: 1px solid #dadada;
    background: url(../images/icon_no_smoking.png) no-repeat 3px 2px;
}
.no-cancel {
    padding: 1px 3px 0 22px;
    color: #fff;
    border: 1px solid #ed1c24;
    background: #ed1c24 url(../images/icon_no_cancel.png) no-repeat 3px 2px;
}

.breakfast {
    padding: 1px 3px 0 22px;
    border: 1px solid #dadada;
    background: url(../images/icon_breakfast.png) no-repeat 3px 2px;
}

/*その他*/
.causion {
    background: #00b0f0 none repeat scroll 0 0;
    color: #fff;
    float: left;
    padding: 2px;
    text-align: center;
    width: 50%;
}
.current-allow {
    padding: 10px;
    text-align: center;
}

/*====================================================================== 
  予約ページ全般
======================================================================*/

/*注意事項*/
.attention-box01 {
    padding: 20px 10px 20px;
    border-radius: 4px;
    background-color: #ed1c24;
}
.attention-contents01 {
    padding: 15px 10px;
    background-color: #fff;
}

/*旅行者情報入力*/
.passport-name-input-box {
    border: 3px solid #f15a24;
}
.passport-name-input-box .title {
    padding: 10px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    background-color: #f15a24;
}
.passport-name-input-box .info {
    padding: 5px 10px 4px;
    border-bottom: 1px solid #dadada;
    text-align: center;
}
.passport-name-input-box .inner {
    width: 50%;
    padding: 10px;
    float: left;
}
.passport-name-input-box .inner:last-child {
    border-left: 1px solid #dadada;
}

/*完了*/
.rv-complete-info {
    width: 100%;
    margin-bottom: 20px;
    display: table;
    border: 1px solid #c1c1c1;
    border-radius: 4px;
    overflow: hidden;
    background-color: #fff;
}
.rv-complete-info .info-txt {
    width: 70%;
    padding: 20px 15px;
    display: table-cell;
    border-right: 1px solid #dadada;
}
.rv-complete-info .info-support {
    width: 30%;
    padding: 20px 15px;
    display: table-cell;
}
