@CHARSET "UTF-8";

* { margin: 0; padding: 0; }

/*
 * 汎用のパーツ
 */

body {
	font-family: 'Noto Sans JP', sans-serif;
}

/* ブロック　汎用ローダー */
#loading { display:none; }

/* ブロック　送信前ローダー */
#loader { text-align:center; font-size: 1.2em; padding: 1em; line-height: 2; }
.screenlock { position:absolute;left:0;top:0;width:100%;height:100%; }

/* ブロック　ダイアログ */
#dialog { display:none; }

/* ブロック　モーダル */
#modal { display:none; }

/* ブロック　ログイン */
#login-block { text-align: center; position: fixed; top:0; right:0; width:80px; border: solid 1px #CCCCCC; background:#FFFFFF; }
#login-block p { padding: 0.3em 0.6em; font-size:0.8em; }

/* ブロック　広告 */
.ad-block { margin:0.2em 0 0.4em; line-height:1.3; }

/* ブロック　ページTOPへ戻る */
.blk-page-top { margin-right: 10px; }
.page-top { margin-bottom: 1em; }
.page-top .ui-button-text { padding: 0.2em 1em 0.2em 2.1em;}

/* ブロック　注意事項 */
.notice-area { padding: 3px 6px; margin:0 0 1em; }
.notice-area p { font-size: 0.9em; }

/* ブロック　カレンダー */
.calendar-month { width:50px;text-align:center; }
.calendar-day { width:18px;text-align:center; }
.holiday { background-color:#FFCCCC; }
.w0 { color:red; }
.w1 { color:black; }
.w2 { color:black; }
.w3 { color:black; }
.w4 { color:black; }
.w5 { color:black; }
.w6 { color:blue; }
.pointer { cursor:pointer; }

/* ブロック　汎用ボタン */
.button-area { margin:0 auto 30px; padding:15px 0; text-align: center; }
.radio-button { padding: 0.6em 2em; font-size: 1.1em; display: block; text-align: left; }
.big-button { font-size: 12px; width: 280px; margin-bottom: 1em; }
.big-button.block-button { width: 100%; }

.back-button {
	background: #fbbc88 url('../../images/parts/ui-bg_highlight-hard_100_fafaf4_1x100.png') 50% 50% repeat-x !important;
	border : solid 1px #999996 !important;
	color : #333333 !important;
	text-shadow: 1px 1px 1px #aaaaa9 !important;
}

.next-button {
	background: #fbbc88 url('../../images/parts/ui-bg_highlight-soft_55_f6a828_1x100.png') 50% 50% repeat-x !important;
	border : solid 1px #c99633 !important;
	color : #FFFFFF !important;
	text-shadow: 1px 1px 1px #996633 !important;
}

.login-button {
	background: #fbbc88 url('../../images/parts/ui-bg_highlight-soft_55_f6a828_1x100.png') 50% 50% repeat-x !important;
	border : solid 1px #c99633 !important;
	color : #FFFFFF !important;
	text-shadow: 1px 1px 1px #996633 !important;
}

.primary-button {
	background: -moz-linear-gradient(top, #e12b31 0%,#c71c22 80%,#b5191f 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#e12b31),color-stop(0.8, #c71c22),to(#b5191f));
	background: -ms-linear-gradient(top, #e12b31 0%, #c71c22 80%, #c71c22 100%);
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#e12b31', endColorstr='#c71c22', GradientType=0)";
	border : solid 1px #9a161a !important;
	color : #FFFFFF !important;
	text-shadow: 1px 1px 1px #9a161a !important;
}
.primary-button a{
	color: #ffffff !important;
}
/*
 * ライブラリのオーバーライド
 */

/* bootstrap dropdown-submenu */
.dropdown-submenu { /* position: relative; */ position: static; cursor: pointer; }
.dropdown-submenu .glyphicon { font-size: 0.5em; margin: 0 0 0 5px; vertical-align: middle; }
.dropdown-submenu > div { font-size: 14px; }
.dropdown-submenu>.dropdown-menu { top: 0; left: 90%; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176); /* margin-top: -6px; */ margin-top: -1px; margin-left: -1px; -webkit-border-radius: 0 6px 6px 6px; -moz-border-radius: 0 6px 6px; border-radius: 0 6px 6px 6px; }
.dropdown-submenu:hover>.dropdown-menu { /* display: block; */ }
.dropdown-submenu>a:after { display: block; content: " "; float: right; width: 0; height: 0; border-color: transparent; border-style: solid; border-width: 5px 0 5px 5px; border-left-color: #ccc; margin-top: 5px; margin-right: -10px; }
.dropdown-submenu:hover>a:after { /* border-left-color: #fff; */ }
.dropdown-submenu.pull-left { float: none; }
.dropdown-submenu.pull-left>.dropdown-menu { left: -100%; margin-left: 10px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px; }
/* bootstrap dropdown-submenu */
.dropdown-menu .dep-code,
.dropdown-menu .arr-code,
.dropdown-menu .time-code,
.dropdown-menu .type-code { cursor: pointer; }
.dropdown-menu > li > span { clear: both; color: #333; display: block; font-weight: 400; line-height: 1.42857; padding: 3px 20px; white-space: nowrap; }
.dropdown-parent { /z-index: 5; }

/* bootstrap table オーバーライド */
.bs-table { width: 100%; font-size: 1em; line-height: 1.5; font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif; }
.bs-table th,.bs-table td { padding: 0.3em !important; }
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td { border: 1px solid #CCCCCC; }

/* bootstrap label */
.label { padding: 0.2em 0.6em 0.1em; }
/* .row { margin-left: -15px; margin-right: -15px; } */
.row { margin: 0 }

/* bootstrap select オーバーライド ※標準ブラウザ対策 */
.form-control { -webkit-appearance: none; }

/* bootstrap placeholder オーバーライド */
.mem .form-control:-moz-placeholder{font-size:0.85em;}
.mem .form-control::-moz-placeholder{font-size:0.85em;}
.mem .form-control:-ms-input-placeholder{font-size:0.85em;}
.mem .form-control::-webkit-input-placeholder{font-size:0.85em;}

/* bootstrap label オーバーライド */
.label {
  margin: 0 .2em;
}

/* bootstrap datepicker オーバーライド */

@media (max-width: 768px) {
	.datepicker.datepicker-dropdown {
		width:100%;
		/* top: 0 !important;*/
		left: 0 !important;
	}
	.datepicker.datepicker-dropdown table {
		width:100%;
		max-width: 100%;
	}

	.datepicker table tr td.day {
		font-size: 20px;
		line-height: 1.5;
	}
	.dropdown-submenu > div{
		font-size: 20px;
		padding: 5px;
	}
	.dropdown-menu > li > span{
		font-size: 20px;
		padding: 5px 20px;
	}
}

/* exvalidation オーバーライド */
select.chkselect,
textarea.chkrequired,
input[type=text].chkrequired,
.chkrequired input[type=text] {
	background: #fff0f0 none repeat scroll 0 0;
}
.chkradio {
	display: block;
}
.chkradio input[type=radio] {
	background: #fff0f0 none repeat scroll 0 0;
}
.chkradio .deco-radio  {
	background: #fff6f6 none repeat scroll 0 0;
}
.chkradio .deco-radio:hover  {
	background: #ffe6e6 none repeat scroll 0 0;
}

/* google recaptcha */
#recaptcha_area { border: solid 1px #333333; }
#recaptcha_inbox { width: 500px; margin: 0 auto; font-size: 0.85em; }
#recaptcha_widget { text-align: center; }
#recaptcha_widget #recaptcha_image { float:left; }

/* jquery ui override */
.ui-dialog { font-size:0.9em; }
.ui-tabs .ui-tabs-panel { padding: 0; }
.ui-datepicker { z-index: 1000 !important; }
.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{ color: black; }
.jq-ui-button .ui-button-text { padding: 0.2em 0.4em; }
.ui-widget { font-size:12px; font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif !important; }

/* radio checkbox 装飾 */
/*
input[type=radio], input[type=checkbox] { display: none; }
*/
.deco-radio, .deco-checkbox { box-sizing: border-box; -webkit-transition: background-color 0.2s linear; transition: background-color 0.2s linear; position: relative; display: inline-block; margin: 0 0 8px 0; padding: 6px 6px 6px 30px !important; border-radius: 3px; background-color: #f6f7f8; vertical-align: middle; cursor: pointer; }
.deco-radio:hover, .deco-checkbox:hover { background-color: #dddddd; }
.deco-radio:hover:after, .checkbox:hover:after { border-color: #53b300; }
.deco-radio:after { border-radius: 6px; }
.deco-radio:after, .deco-checkbox:after { -webkit-transition: border-color 0.2s linear; transition: border-color 0.2s linear; position: absolute; top: 50%; left: 8px; display: block; margin-top: -10px; width: 16px; height: 16px; border: 2px solid #bbbbbb; content: ''; }
.deco-radio:before { -webkit-transition: opacity 0.2s linear; transition: opacity 0.2s linear; position: absolute; top: 46%; left: 12px; display: block; margin-top: -5px; width: 8px; height: 8px; border-radius: 50%; background-color: #53b300; content: ''; opacity: 0; }
input[type=radio]:checked + .deco-radio:before { opacity: 1; }
input[type=radio]:disabled + .deco-radio:after { background-color: #dddddd; }
input[type=radio]:disabled + .deco-radio { background-color: #f6f6f6; color:#666666; }
.deco-checkbox:before { -webkit-transition: opacity 0.2s linear; transition: opacity 0.2s linear; position: absolute; top: 46%; left: 12px; display: block; margin-top: -7px; width: 5px; height: 9px; border-right: 3px solid #53b300; border-bottom: 3px solid #53b300; content: ''; opacity: 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
input[type=checkbox]:checked + .deco-checkbox:before { opacity: 1; }
input[type=checkbox]:disabled + .deco-checkbox:before { background-color: #dddddd; }
input[type=checkbox]:disabled + .deco-checkbox { background-color: #f6f6f6; color:#666666; }

#payment_id  .radio-button { word-break: break-all; word-break: break-word; white-space: normal; }

/*
 * 個別のページ
 */

/* 結果一覧 */
#search-result { margin:0 auto; font-weight: normal; line-height: 1.1em; padding-bottom: 10px; margin:0 10px auto; font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif !important;}
#modal .explain,
#search-result .explain { margin:0 0 1em; font-size: 1em; line-height: 2; font-weight: normal; text-align: left; color: #333333; padding:3px; background: #FEE; border:solid 1px #FCC; }
#modal .explain > div,
#search-result .explain > div { display: inline-block; margin: 0 5px; }

/* 入力枠 */
#input-area sub { bottom: 0; }

/* 予約内容確認画面 */
#confirm-area label{
	margin: 0.8em 0.4em 0.8em 0px; display: block; border: 2px solid red; border-radius: 3px;
}

/* 空港一覧 */
.tab-content { padding: 5px 0; }

/* フリーページ　キャンセル料金表テーブル */
.cancel_tbl { width: 100%; border-collapse:collapse; border-spacing:1px; border: solid 1px #cfcfcf; text-align:center; line-height:1.5em; }
.cancel_tbl th { border: solid 1px #cfcfcf; padding:3px; text-align:center; background:#ccd6f5; color:#333333; }
.cancel_tbl td { border: solid 1px #cfcfcf; padding:3px; text-align:left; }
.cancel_tbl2 { border-collapse:collapse; text-align:left; padding:10px; }
.cancel_tbl2 td { line-height:1.5em; padding:8px; text-align:left; }

/* フリーページ　既定用 */
.p-title { line-height: 2; }
#main_contents ol,#main_contents ul { list-style-position: inside; }

/* フリーページ　キャンセル料 */
#main_contents .table thead { background: none repeat scroll 0 0 #e6e6e6; }
.td_red { background: none repeat scroll 0 0 #FFE6E6; }
.td_yellow { background: none repeat scroll 0 0 #FFFFE6; }
.td_green { background: none repeat scroll 0 0 #E6FFE6; }
.td_blue { background: none repeat scroll 0 0 #E6E6FF; }
#contentcontainerbox ul { list-style-position:inside; }

/* フリーページ　キャンセル料(bootstrapベース) */
.cancel-table span { display: block; width: 1.4em; float:right; font-weight: bold; padding: 0 0.2em; }
.cancel-table td { display: block; }

/* フリーページ　チケットレスサービス */
div.waku_b { padding:10px; margin:10px 50px 10px 50px; border-color:#669999; border-width:1px; border-style:dashed; }
div.waku_b p {color:#666666; font-size: 18px; padding-left: 15px; font-weight:bold; }
.waku_b .ana { color: #1177a3; }
.waku_b .jal { color: #cc3468; }
.waku_b .sfj { color: #000000; }
.forgetnumber { background-color:#F0F0F0; border:1px solid #999999; margin:10px 50px 10px 50px; padding:5px; }

/* 会員 予約履歴 */
.history-table { }
.history-table p { margin: 0; }

.member .mypage-pager ul{
	margin: 0;
}
.member.history .mypage-panel .panel-body {
	padding: 10px 0;
}]

.member.history .panel-heading small { display:block; }
@media (min-width: 768px) {
	.member.history .panel-heading small { display:inline; }
}
.member.history .panel-body { margin: 0; padding: 0.5em; line-height: 1.8; }
.member.history h5 { font-size: 16px; font-weight: bold; }

.member.history .panel-body .label { font-size: 100%; }
@media (min-width: 768px) {
	.member.history .panel-body .label { font-size: 75%; }
}
.member.history .dl-horizontal dd {
	text-align: left;
}
.pane-passenger .panel-body:not(:last-child)  {
	border-bottom: solid 1px #ccc;
}

.member.bill table {
	font-size: 0.85em;
}
.member.passenger table {
	font-size: 0.85em;
}
/*
 * パーツ
 */

/* 空港選択ウィンドウ */
#modal-window { position: absolute; text-align:center; z-index: 150; display: none; background-color: #CCCCCC; opacity: 0.6;filter: alpha(opacity=60);-moz-opacity: 0.6; }

#airport-box { z-index: 250; position: absolute; display:none; margin: 0 auto }
#airport-box dt { clear:both; padding: 1px 3px;line-height:1.5; margin:3px; }
#airport-box dd { width:48%; padding: 0.2% 0.5%; line-height:1.5; margin: 0.2% 0.5% 1%; cursor:pointer; text-align:center; }
@media (min-width: 768px) {
	#airport-box dd { width:12.8%; padding: 0.2% 0.5%; line-height:1.5; margin: 0.2% 0.5% 1%; }

}

/* 郵便番号検索 */
#zip-search { cursor: pointer; }

/* 処理状態 */
.status1 {color:#000;background-color:#FFF;}
.status2 {color:#600;background-color:#FEE;}
.status3 {color:#060;background-color:#EFE;}
.status4 {color:#006;background-color:#EEF;}
.status5 {background-color:#CCC;}
.status6 {color:#606;background-color:#FEF;}
.status7 {color:#066;background-color:#EFF;}
.status8 {color:#CCC;background-color:#666;}

/*
 * 汎用CSS
 */

/* 汎用　画像 */
.img-middle { vertical-align:middle; }
.img-baseline { vertical-align:baseline; }

/* 汎用　その他 */
#remarks {font-size:0.9em; }
.hissu { color:#FF0000; }
.needs { color:#FF0000; }

.error { color:red; margin:3px 0; font-weight:bold; padding-left: 20px; background-color: #ffffff; }
.attention { color:red; }
.warning { color:red; background-color:#FFF6F6;border:solid 1px #F00;padding:1px 4px;margin-bottom:5px; }
.notice{ font-weight:normal; text-align:left; }
.tax { font-size:0.8em; }

.white { color: #FFFFFF !important; }
.red { color: red !important; }
.deepred { color: #CC0000; }
.orange { color: orange !important; }
.blue { color: blue !important; }
.bold { font-weight:bold !important; }

.bg-eee { background:none repeat scroll 0 0 #eeeeee; }
.invisible { filter:alpha( opacity=50 );background:#EEEEEE;-moz-opacity:0.50;opacity:0.50; }

.under-line { text-decoration: underline; }

.x-small { font-size:0.7em; }
.small { font-size:0.85em; }
.em1 { font-size:1em; }
.em11 { font-size: 1.1em; }
.em12 { font-size: 1.2em; }
.em14 { font-size: 1.4em; }
.em16 { font-size: 1.6em; }

.left {text-align:left !important;}
.center {text-align:center !important;}
.right {text-align:right !important;}

.top { vertical-align: top !important; }
.middle { vertical-align: middle !important; }
.bottom { vertical-align: bottom !important; }

.clearboth { clear:both; }

.clearFix:after { display:block; clear:both; height:0; visibility:hidden; content:"."; zoom:1; }

.ticket_info {
  padding: 0.2em 0 0.6em;
  font-size: 1.1em;
}


.col-mem > div {
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 5px;
	padding-left: 5px;
	margin-bottom: 5px;
}
.col-mem > .col-em-2 {
	line-height: 2.4;
}
@media (max-width: 768px) {
	.col-mem > .col-em-2 {
		line-height: 1.2em;
	}
}

/* input-group-addonの拡張 */
.input-group-attach {
  color: #555555;
  background: none;
  border: none;
  border-radius: 0;
}

/* moal の背景より一部のボタンなどが前に来る問題 */
.modal-backdrop {
	z-index: 10;
}

dl.dl-fromcheck dd,
dl.dl-fromcheck dt {
	margin-bottom: 10px;
}

.row-eq-height {
	display: flex;
	flex-wrap: wrap;
}


.spin {
    -webkit-animation: spin 1.5s linear infinite;
    -moz-animation: spin 1.5s linear infinite;
    -ms-animation: spin 1.5s linear infinite;
    -o-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}

@-webkit-keyframes spin {
	0% {-webkit-transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes spin {
	0% {-moz-transform: rotate(0deg);}
	100% {-moz-transform: rotate(360deg);}
}
@-ms-keyframes spin {
	0% {-ms-transform: rotate(0deg);}
	100% {-ms-transform: rotate(360deg);}
}
@-o-keyframes spin {
	0% {-o-transform: rotate(0deg);}
	100% {-o-transform: rotate(360deg);}
}
@keyframes spin {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}

.modal-price div {
	margin-bottom: 10px;
}
.modal-price div {
	font-weight: bold;
	color: #CC0000;
	font-size: 1.2em;
	line-height: 1.1;
}
.modal-price div.modal-price-title {
	color: #000000;
}

.modal-price span {
	font-weight: normal;
	color: #333333;
	font-size: 0.6em;
}

.modal-hotel {

}
.modal-hotel h3 {
	margin: 3px;
}
.modal-hotel p {
	margin: 3px;
}
.modal-hotel .goto,
.modal-hotel .price {
	color: #F33;
	font-size: 24px;
}
.modal-hotel .no-price {
	color: #666;
	font-size: 24px;
}

.panel-hotel p {
	margin: 6px 0;
}
.panel-hotel li {
	margin: 6px 0;
	text-align: left;
	list-style-type: none;
}

.panel-hotel p.cancel {
	font-size: 1em;
	font-weight: bold;
}
.panel-hotel p.cancel em {
	font-size: 0.8em;
	font-weight: normal;
}


.panel-title {
	padding: 10px 15px;
	border-radius: 3px;
	margin-bottom: 3px;
}

@media (min-width: 768px) {
	.btn-flex {
		display: flex;
		flex-direction: row-reverse;
		align-items: stretch;
	}
	.btn-flex > div {
		flex-grow: 1;
		text-align: center;
		padding: 10px;
	}
}
/* アイコンサイズ */
.material-icons.md-12 { font-size: 12px; }
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }
.material-icons {
  display: inline-flex;
  vertical-align: middle;
}
/* ツアー */
.facilities {
	line-height: 2;
}

/* Material icons IEサポート */
.material-icons {
	font-feature-settings: 'liga';
}

/* bootstrap margin,padding */
.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

/* 宿泊用 */
.topsearch .row-8 {
    margin-left:-4px;
    margin-right:-4px;
}
.topsearch .row-8 [class^="col-"] {
    padding-right:4px;
    padding-left:4px;
}
.topsearch label{
	font-size:12px;

}
.topsearch .bg-pink{
	background:#FADCE9;
	padding:4px;
	font-size:14px;
}
.topsearch .my10{
	margin-top:10px;
	margin-bottom:10px;
}
.topsearch .my5{
	margin-top:5px;
	margin-bottom:5px;
}
.border-b{
	border-bottom:dotted 1px #ddd;
	padding-bottom:10px;
}

.reserve-tour .price-list-header,
.reserve-tour .price-list-body {
	font-size: 0.85em;
}

.reserve-tour .price-list-body .box-set {
	height: 32px;
	line-height: 32px;
	text-align: center;
}

.reserve-tour .price-list-body .img-carrier {
	height: 24px;
	width: 24px;
}
#homeward-list .price-list-body .img-carrier,
#backward-list .price-list-body .img-carrier {
	height: 24px;
	width: 24px;
}

.reserve-tour .price-list-body .body-carrier {
	line-height: 32px;
}
.reserve-tour .price-list-body .body-name {
	font-size: 1.0em;;
	line-height: 32px;
}
.reserve-tour .price-list-body .body-arrow {
	line-height: 32px;
}

.reserve-tour .price-list-body .body-time {
	font-size: 1em;;
	line-height: 17px;
}
.reserve-tour .price-list-body .body-airport {
	font-size: 1em;;
	line-height: 17px;
}

.reserve-tour .ticket-list {
	cursor: pointer;
}

.reserve-tour .block-ticket-list {
	display: none;
}

.reserve-tour .btn-ticket-list .price {
	font-size: 1.85em;
	font-weight: bold;
}

.reserve-tour .block-hotel-list .goto,
.reserve-tour .block-hotel-list .price {
	font-size: 1.85em;
	font-weight: bold;
	color: #CC0000;
}

.modal-hotel .blk-price > div {
	position: relative;
	padding-top: 0.5em;
}
.modal-hotel .price:before,
.reserve-tour .block-hotel-list .price:before {
	content: "旅行代金";
}
.modal-hotel .goto:before,
.reserve-tour .block-hotel-list .goto:before {
	content: "キャンペーン適用後";
}
.modal-hotel .goto:before,
.modal-hotel .price:before{
	position: relative;
	left: 0;
	top: 0;
	font-size: 0.5em;
	font-weight: normal;
	color: #000000;
	display: block;
}
.reserve-tour .block-hotel-list .goto:before,
.reserve-tour .block-hotel-list .price:before {
	position: absolute;
	left: 15px;
	font-size: 0.5em;
	font-weight: normal;
	color: #000000;
}

.reserve-tour .price-list-body .btn-ticket-list {
	text-align: right;
	font-size: 1.4em;
	position: relative;
}

.reserve-tour .price-list-body .ticket-list .box-set > div {
	line-height: 32px;
}

.reserve-tour .price-list-body .btn-ticket-list.min_price::before {
	content: "最安値";
	position: absolute;
	left: 5px;
	background: #cc0000;
	color: #ffffff;
	padding: 3px;
	font-size: 12px;
	line-height: 12px;
	top: 6px;
	border-radius: 2px;
}

.reserve-tour .member_ages_area label {
	font-size: 0.8em;
}
@media (max-width:767px){
	.reserve-tour .member_ages_area label span {
		display: block;
	}
}
.btn-decide-reserve {
	font-size: 2.4em;
}
.col-icon { width: 8%; }
.col-name { width: 17%; }
.col-flight { width: 22%; }
.col-arrow { width: 3%; }
.col-price { width: 28%; }
@media (max-width: 768px) {
	.col-icon { width: 16.66666667%; }
	.col-name { width: 25%; }
	.col-flight { width: 25%; }
	.col-arrow { width: 8.33333333%; }
	.col-price { width: 25%; }
}
/* 入力画面　決済方法 */
.payment_radio {
	display: flex;
	width:100%;
	align-items: stretch;
	flex-wrap: wrap;
}
.payment_radio > div {
	overflow-wrap : break-word;
	word-break:break-word;
	white-space: break-spaces;
}
.payment_radio .payment_name {
	width: 45%;
}
.payment_radio .payment_fee {
	width: 25%;
}
.payment_radio .payment_limit {
	width: 30%;
}
.payment_detail {
}
@media (max-width: 768px) {
	.payment_radio {
	}
	.payment_radio .payment_name {
		width: 100%;
	}
	.payment_radio .payment_fee {
		width: 100%;
	}
	.payment_radio .payment_limit {
		width: 100%;
	}
	.payment_detail {
	}
}

.good:hover {
  color: #ffffff;
  background-color: #E0F0FF;
  border-color: 1px solid #6699ff !important;
}
.minLine:hover {
  color: #ffffff;
  background-color: #FFD0D0;
  border-color: 1px solid #cc0000 !important;
}
.minList:hover {
  color: #ffffff;
  background-color: #FFA0A0;
  border-color: 1px solid #cc0000 !important;
}
.lock {
	pointer-events:none;
	cursor:not-allowed;
	filter:alpha(opacity=65);
	-webkit-box-shadow:none;
	box-shadow:none;
	opacity:.65;
	position: relative;
	color: #CCCCCC;
}
.lock::before {
	content: "組合せ不可";
	position: absolute;
	line-height: 2;
	font-size: 2em;
	font-weight: bold;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	color: black;
	z-index: 2000;
	text-shadow: 1px 1px 1px #FFFFFF;
	width: 100%;
}



.flex-box {
	display: flex;
	width:100%;
	flex-wrap:wrap;
	align-items: stretch;
}
.flex-box > div,
.flex-box > div.col-6 {
	text-align: center;
	padding: 10px;
	width: 50%;
}
.flex-box > div.col-12 {
	text-align: center;
	padding: 10px;
	width: 100%;
}

@media (max-width:767px){
	.flex-box > div,
	.flex-box > div.col-6 {
		width: 100%;
	}
}

#result .flex-box {
	flex-wrap: nowrap;
}
#result .flex-box div {
	padding: 0;
}

table.table-responsive {
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

table.table-responsive > caption {
  font-size: 1.5em;
  margin: .5em 0 .75em;
}

table.table-responsive > tbody > tr {
  border: 1px solid #ddd;
  padding: .35em;
}

table.table-responsive > tbody > tr > th,
table.table-responsive > tbody > tr > td {
  padding: .625em;
}

table.table-responsive p {
  margin: 0;
}
table.table-responsive > thead > tr > th.detail,
table.table-responsive > tbody > tr > td.detail {
  width: 50%;
}
table.table-responsive > thead > tr > th.console,
table.table-responsive > tbody > tr > td.console {
  width: 10%;
}
table.table-responsive > tbody > tr >  th {
  font-size: .85em;
  letter-spacing: .1em;
  text-transform: uppercase;
}

@media (max-width:767px){
  table.table-responsive {
    border: 0;
  }

  table.table-responsive > caption {
    font-size: 1.3em;
  }

  table.table-responsive > thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  table.table-responsive > tbody > tr {
    border-bottom: 3px solid #ddd;
    display: block;
  }

  table.table-responsive > tbody > tr > td {
    border-bottom: 1px solid #ddd;
    display: block;
    font-size: .8em;
  }

  table.table-responsive p {
    display: inline-block;
    margin: 0 0.4em;
  }

table.table-responsive > tbody > tr > td.detail ,
table.table-responsive > tbody > tr > td.console {
  width: auto;
}

  table.table-responsive > tbody > tr > td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    text-transform: uppercase;
  }

  table.table-responsive > tbody > tr > td:last-child {
    border-bottom: 0;
  }
}

.assigned.age::before {
	content:"：";
}
.entered.age::after,
.assigned.age::after {
	content:"歳";
}


/* ブロック　料金詳細 */
.price-detail {  }
.price-detail .cell-detail div { margin-bottom: 0.5em; }
.price-detail .cell-price div { line-height: 1; margin-bottom: 0.5em; }

@media (min-width: 768px) {
	.price-detail .cell-detail { width: 66%; }
	.price-detail .cell-price { width: 33%; }
}

/* ブロック　旅行条件 */
.tour-detail {  }
.tour-detail .cell-title div { margin-bottom: 0.5em; }
.tour-detail .cell-price div { line-height: 1; margin-bottom: 0.5em; }

@media (min-width: 768px) {
	.tour-detail .cell-title { width: 12%; }
	.tour-detail .cell-detail { width: 88%; }
}

/* CSSローダー */
.loader {
  width: 12rem;;
  padding: 12px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #5c9ccc;
  margin: 5rem auto;
  --_m:
    conic-gradient(#0000 10%,#000),
    linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
          mask: var(--_m);
  -webkit-mask-composite: source-out;
          mask-composite: subtract;
  animation: l3 1s infinite linear;
}
@keyframes l3 {to{transform: rotate(1turn)}}

.icon-loader {rgba(92, 156, 204, .1);
  width: 90px;
  aspect-ratio: 8;
  background: radial-gradient(circle closest-side, #999 90%,#0000) 0/calc(100%/6) 100% no-repeat;
  animation: l2 1s steps(6) infinite;
  position: absolute;
  margin: 0.3rem 0;
  z-index: 200;
}
@keyframes l2 {to{background-position: 150%}}

.btn-act1 {
  border: solid 1px #4cae4c;
  color: #FFFFFF;
  background-color: #5cb85c;
}
.btn-act1:hover,
.btn-act1:focus {
  background-color: #4cae4c;
  color: #FFFFFF;
}
.btn-act2 {
  border: solid 1px #d43f3a;
  color: #FFFFFF;
  background-color: #d9534f;
}
.btn-act2:hover,
.btn-act2:focus {
  background-color: #d43f3a;
  color: #FFFFFF;
}

.media,
.media-body {
  overflow:hidden;
  zoom:1
}
.media-body {
  width:10000px;
}
.media-object {
  display:block
}
#price-list .min_list .btn-ticket-list {
  background-color: rgba(255, 178, 178, 0.1);
  border-color: rgb(255, 178, 178);
}


.ticket-set span.flg_change,
.ticket-set span.flg_nochange{
	display:inline-block;
	min-width:10px;
	padding:3px 7px;
	font-size:10px;
	font-weight:700;
	line-height:1;
	color:#fff;
	text-align:center;
	white-space:nowrap;
	vertical-align:baseline;
	border-radius: 10px;
	bottom: 2px;
	position: relative;
}
.ticket-set span.flg_change {
	color: #fff;
	background-color: #a94442;
}
.ticket-set span.flg_nochange {
	color: #fff;
	background-color: #333;
}