﻿@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
body, html {
	height: auto !important;
	position: relative;
	background-color: #fff;
	color: #333 !important;
	font-size: 14px;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Hiragino Sans', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	word-break: break-all;
	-webkit-print-color-adjust: exact;
}
section a:link {
	color: #337ab7;
	text-decoration: underline;
}
section a:visited {
	color: #337ab7;
	text-decoration: underline;
}
section a:hover {
	color: #67b2f3;
	text-decoration: underline;
}
section a:active {
	color: #337ab7;
	text-decoration: underline;
}
/* navbar */
.navbar-inverse {
	background-color: #fff !important;
	border-bottom: 1px #ccc solid;
}
.navbar-inverse .navbar-brand, .navbar-inverse .navbar-brand:hover {
	color: #333;
}
.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
	color: #333;
}
.navbar-inverse .navbar-nav > li > a {
	color: #333 !important;
}
.navbar-nav > li > a:hover {
	background-color: #d0d0d0 !important;
	cursor: pointer;
	color: #fff !important;
}
.navbar-nav > li > a {
	display: block;
	margin: 10px !important;
	padding: 5px !important;
}
.navbar-brand {
	height: 60px !important;
	font-weight: 700 !important;
	margin: 0 !important;
	line-height: 1.5em;
	display: flex;
	align-items: center;
}
.navbar-logo{
	display: inline-block !important;
}
.has-error {
	background-color: #ffdfdf;
	border: 1px #ccc solid;
}
.has-error input, .has-error optgroup, .has-error select, .has-error textarea {
	border: 1px solid #f44 !important;
}
.has-error .help-block {
	font-weight: 800;
	padding: 5px;
	border-radius: 3px;
}
.anchor {
	display: block;
	padding-top: 70px;
	margin-top: -70px;
}
/*============================
error SECTION STYLES
==============================*/
#error .error-wrapper {
	background-color: rgba(0, 0, 0, .1);
	padding: 20px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	margin-bottom: 40px;
	min-height: 250px;
}
#error .error-wrapper h3 {
	color: #dd4b39;
}
#error hr {
	border-top: 2px solid #dd4b39 !important;
}
#error .social-below {
	display: block;
	margin-top: 5px;
}
#error p.border {
	color: #dd4b39 !important;
	background-color: rgba(0, 0, 0, 0.1);
	border-radius: 3px;
	padding: 10px;
}
.modal {
	color: #000 !important;
}
.sign {}
.sign p {
	position: absolute;
	right: 5px;
	width: 165px;
}
hr {
	display: none;
}
.header {
	padding-bottom: 10px;
}
section {
	border-bottom: 1px #ccc solid;
	padding-bottom: 10px;
	padding-top: initial;
	border-bottom: none;
}
.btn{
	white-space: nowrap;
}
.btn-disable {
	pointer-events: none !important;
	background-image: none !important;
	background: #ccc !important;
	color: #666 !important;
}
table.table tr.hv td {
	background-color: #f9f9f9;
}
/*共通*/
.red {
	color: red;
}
.font-bold {
	font-weight: 600;
}
.font-s-1{
	font-size: 1em;
}
.text-bg-gray {
	background: #eaeaea;
	padding: 5px 8px;
	border-radius: 1px;
}
.box-border-gray{
	border: 2px solid #ddd;
	display: inline-block;
	border-radius: 3px;
	margin: 10px 0;
}
.box-border-gray-full {
	border: 2px solid #ddd;
	width: 100%;
	border-radius: 3px;
	margin: 10px 0;
}
.mtb-10 {
	margin: 10px 0;
}
.list-kome {
	list-style: none;
	margin-left: -2em;
}
.list-kome li::before {
	content: "※";
	margin-left: -1em;
}
.flexbox {
	display: flex;
}
.nowrap{
	white-space: nowrap;
}
.width-100{
	width: 100%;
}
.text-transform-none {
	text-transform: none !important;
}
.btn-float-right{
	float: right;
	margin-top: -45px;
}
.btn-float-right::after{
	content: "";
	clear: both;
}

/* モーダルウィンドウ内スタイル
============================================== */
#modal {
	padding: 8px 20px 20px 20px;
	word-wrap: break-word;
}
#modal header {
	width: 100%;
	margin: 0 0 10px;
}
#cboxClose {
	display: block;
	width: 55px;
	margin: 0 auto 0 0;
	padding: 1px 0 1px 20px;
	background: url("colorbox/ico_modalclose_01.png") no-repeat 0 0;
	cursor: pointer;
}
#modal .tit {
	background: #e5eff9 none repeat scroll 0 0;
	padding: 10px;
	vertical-align: middle;
	margin-bottom: 20px;
}
#modal .tit h1 {
	font-size: 1.6em !important;
	margin: 0;
}
#modal h2 {
	font-size: 1.6em !important;
	border-left: 3px solid #317ec7;
	margin-bottom: 20px;
	padding-left: 10px;
}
#modal h3 {
	font-size: 1.4em !important;
	margin-bottom: 20px;
}
#cboxClose {
	background-image: url("colorbox/ico_modalclose_01.png");
	background-position: 0 5px;
	color: #3a96a5;
	font-size: 95%;
	padding: 1px 0 1px 20px;
	right: 5px;
	text-indent: 0;
	width: 70px;
}
#cboxClose:hover {
	color: #ff8800;
	text-decoration: underline;
}
.sp_block {
	display: none;
}
.sp_block_th {
	display: none;
}
.pc_block {
	display: block;
}
.br_sp {
	display: none;
}
.bigblock {
	height: 400px;
}
.navbar-nav {
	color: #333;
	list-style: none;
}
.navbar-nav a:link {
	color: #333;
	text-decoration: none;
}
.navbar-nav a:visited {
	color: #333;
	text-decoration: none;
}
.navbar-nav a:hover {
	color: #333;
	text-decoration: none;
}
.navbar-nav a:active {
	color: #333;
	text-decoration: none;
}
/* ログイン */
section.login {}
h3 {
	font-size: 1.5em;
	font-weight: 500;
}
.login p {
	margin: 10px 0 0 !important;
}
.login hr {
	margin: -12px 0;
	width: 100% !important;
}
.login h3 {
	padding: 10px 15px;
	text-align: center;
	color: #333;
}
#contact .contact-wrapper h3 {
	color: #333 !important;
	border-bottom: 1px #333 solid;
}
.login .contact-wrapper {
	background-color: rgba(0, 0, 0, .25) !important;
}
#contact .contact-wrapper {
	background-color: #ededed !important;
	padding: 20px;
	margin-bottom: 10px !important;
}
.btn-custom-three {
	color: #fff;
	background-color: #ff891d;
	border: 2px solid #ff891d;
}
.btn-custom-three:hover {
	border: 1px solid #ff891d;
	text-decoration: none;
	color: #BDBDBD !important;
	background-color: rgba(0, 0, 0, .3);
	font-weight: 800;
}
#footer {
	width: 100%;
	position: relative;
	border-color: transparent;
	padding: 20px 0 0 0;
}
.footer-logo{
	margin-bottom: 5px;
}
.footlink_over {
	background-color: #dfdfdf;
	padding: 20px 0;
	text-align: center;
	margin-top: 10px;
}
.footlink ul {
	list-style: none;
	margin-bottom: 20px;
	margin-left: 0;
	padding: 0;
}
.footlink li {
	margin: 0;
	display: inline-block;
	padding: 0 10px;
}
.footlink a:link {
	text-decoration: none;
}
.footlink a:visited {
	text-decoration: none;
}
.footlink a:hover {
	text-decoration: none;
}
.footlink a:active {
	text-decoration: none;
}

/* 旅程表 */
#reservation {
	padding-top: 0px;
	padding-bottom: 0;
}
#reservation hr {
	margin: -12px 0;
	width: 100% !important;
}
#reservation h3 {
	text-align: left;
	padding: 10px 15px 10px 15px;
	border-left: 5px #ccc solid;
	color: #333;
	border-bottom: none;
}
#reservation h5 {
	background-color: rgba(0, 0, 0, .6);
	border-radius: 3px;
	padding: 8px 5px;
}
#reservation p {
	margin: 0 0 5px;
}
#reservation .contents-wrapper {
	padding: 0 20px;
	margin-bottom: 20px;
	color: #333;
}
#reservation .services-wrapper {
	margin-bottom: 20px;
}
#reservation .icon-carrier {
	width: 48px;
}
#reservation .table {
	border-bottom: 1px solid #ddd;
}
#reservation .table th, #reservation .table th.grayth, #cancel .table th, #confirmation .table th{
	background-color: #eaeaea;
	font-weight: normal;
}
#reservation .table th.grayth {
	border-bottom: #fff 1px solid;
}
#reservation .table .border-r{
	border-right: 1px solid #ddd;
}
#reservation .table .border-r-white{
	border-right: 1px solid #fff;
}
#reservation .table_spstyle tbody th {
	background-color: #fff;
}
#reservation .table td.price {
	text-align: right;
}
#reservation .table tr.sum-price {
	border-top: 3px double #ddd;
}
#reservation .table tr.sum-price .price {
	font-size: 1.5em;
}
#reservation .table tr.split {
	background-color: rgba(238, 238, 238, .4);
	text-align: center;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
#reservation .table.table-itinerary th {
	border-bottom: 1px solid #ddd;
}
#reservation .table.table-itinerary td {
	border: medium none;
}
#reservation .table-ticket, #reservation .box-ticket-btn {
	margin-bottom: 20px;
}
#reservation .table-ticket .table-hover-none:hover, #reservation .table-ticket tr.hv td {
	background-color: #fff !important;
}
#reservation .table-ticket .flight-name::before {
	content: "\f072";
	font-family: "Font Awesome 5 Pro";
	font-weight: 600;
	margin-right: 5px;
}
#reservation .table_spstyle .flight-schedule__seatclass {
	margin-left: 10px;
}
#reservation .table_spstyle .flight-schedule table {
	display: table;
	width: 100%;
	table-layout: fixed;
}
#reservation .table_spstyle .flight-schedule table tr {
	margin-bottom: 10px;
}
#reservation .table_spstyle .flight-schedule table td {
	display: table-cell;
	vertical-align: top;
}
#reservation .table_spstyle .flight-schedule table td.flight-schedule__time {
	padding-right: 20px !important;
}
#reservation .table_spstyle .flight-schedule__seat {
	width: 5em;
	text-align: center;
}
#reservation .table_spstyle td.flight-schedule__seat {
	width: 4em;
	text-align: center;
}
#reservation .table_spstyle .flight-schedule__date {
	width: 10em;
}
#reservation .table_spstyle .flight-schedule table tr:last-child {
	margin-bottom: 0;
}
#reservation .table_spstyle .flight-schedule table tr:last-child td {
	border: none;
}
#reservation .table_spstyle .flight-schedule_detail{
	margin-bottom: 10px;
}
#reservation .table_spstyle .flight-schedule_detail:last-child{
	margin-bottom: 0;
}
#reservation .table-flight-detail tr {
	margin-bottom: 15px;
}
#reservation .services-wrapper blockquote {
	font-size: 14px;
}
/* PC */
@media screen and (min-width: 769px) {
	#table_g tr th:nth-child(1) {
		width: 19%;
	}
	#table_g tr th:nth-child(2) {
		width: 9%;
	}
	#table_g tr th:nth-child(3) {
		width: 18%;
	}
	#table_g tr th:nth-child(4) {
		width: 14%;
	}
	#reservation .flight-description {
		width: 100%;
		margin-bottom: 15px;
		display: flex;
	}
	#reservation .flight-description p {
		width: auto;
		text-align: left;
		margin-right: 3%;
	}
	#reservation .flight-description button {
		width: 40%;
	}
	#reservation .table-flight-detail {
		vertical-align: top;
	}
	#reservation .table-flight-detail thead th {
		vertical-align: middle;
	}
	#reservation .table-flight-detail thead th p {
		margin: 0;
	}
	#reservation .table-flight-detail .detail-title {
		display: inline-block;
		padding: 1px 3px;
		margin: 0 8px 0 -8px;
		width: 80px;
		text-align: center;
		background: #f1f1f1;
	}
	#reservation .table-flight-detail .detail-date {
		white-space: nowrap;
	}
	#reservation .table-flight-detail .flight-number {
		margin: 0 0 5px 0;
		width: 100%;
		border-bottom: 1px solid #dee2e6;
		padding: 0 0 5px 5px;
	}
	#reservation .table-flight-detail .flight-number:last-child{
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	#reservation .table-flight-detail .flight-number td {
		border-bottom: 1px dotted #ccc;
	}
	#reservation .table-flight-detail .flight-number:last-child tr:last-child td {
		border: none;
	}
	#reservation .table-flight-detail .flight-number td p {
		padding: 5px 0 0 0;
	}
	#reservation .table-flight-detail .flight-number-name {
		vertical-align: top;
	}
	#reservation .table-flight-detail .flight-number-number {
		text-align: right;
		vertical-align: top;
	}
	#reservation .table .title-short{
		width: 150px;
	}
	#reservation .table .title-carrentaldp{
		width: 200px;
	}
	table.table-receipt .table_spstyle,
	table.table-receipt .table_spstyle tr,
	table.table-receipt .table_spstyle th,
	table.table-receipt .table_spstyle td{
		border: 1px solid #666;
	}
}
/* キャンセル */
#cancel hr {
	margin: -12px 0;
	width: 100% !important;
}
#cancel h3 {
	text-align: left;
	padding: 10px 15px 10px 15px;
	border-left: 5px #ccc solid;
	color: #333;
	border-bottom: none;
}
#cancel h4,
#reservation-cancel h4 {
	text-align: left;
	color: #333;
	font-weight: 600;
	font-size: 1.3em;
	margin-bottom: 15px;
}
#cancel h5 {
	background-color: rgba(0, 0, 0, .6);
	border-radius: 3px;
	padding: 8px 5px;
}
#cancel .contents-wrapper {
	padding: 0 20px;
	margin-bottom: 20px;
	color: #333;
}
#cancel #bank-account-input-flg :hover {
	text-decoration: underline;
}
#cancel #bank-account-input-flg label {
	display: inline-block;
	margin-right: 20px;
	cursor: pointer;
}
#cancel #bank-account-input-flg input[type="radio"] {
	margin-right: 10px;
	cursor: pointer;
}
#cancel #bank-account-input dt {
	width: 13em;
	font-weight: normal;
	float: left;
}
#cancel #bank-account-input dd {
	padding-left: 13em;
	margin-bottom: 10px;
}
#cancel #bank-account-input dd input[type="radio"] {
	margin-right: 10px;
	cursor: pointer
}
#cancel #bank-account-input dd input[type="text"] {
	padding: 3px 10px;
}
#cancel #bank-account-input dd input[type="tel"] {
	padding: 3px 10px;
	width: 140px;
}
#cancel #cancel-reason-input {
	font-size: 17.5px;
	font-weight: normal;
}
#cancel #cancel-reason-input textarea {
	border: 1px solid #999;
	border-radius: 8px;
	color: #000;
	width: 100%;
	padding: 5px;
}
#cancel .help-block {
	font-size: 17.5px;
	font-weight: normal;
}
#cancel .container #account-type label {
	margin-right: 20px;
	margin-bottom: 0;
}
#cancel .container #account-type input {
	margin-right: 10px;
}
#cancel .table-price tr:last-child td,
#cancel .table-cancelprice tr:last-child td{
	border-top: 2px solid #ddd;
	font-weight: 600;
}
#bank-account-input .table_spstyle tbody th{
	background: #fff;
}
#reservation-cancel label,
#bank-account-input label{
	margin-bottom: 0;
}
#bank-account-input .table,
#bank-account-input .table_spstyle tbody th,
#bank-account-input .table_spstyle tbody td{
	border: none !important;
}

/* キャンセル内容確認 */
#confirmation hr {
	margin: -12px 0;
	width: 100% !important;
}
#confirmation h3 {
	text-align: left;
	padding: 10px 15px 10px 15px;
	border-left: 5px #ccc solid;
	color: #333;
	border-bottom: none;
}
#confirmation h4 {
	text-align: left;
	color: #333;
	font-weight: 600;
	font-size: 1.3em;
	margin-bottom: 15px;
}
#confirmation h5 {
	background-color: rgba(0, 0, 0, .6);
	border-radius: 3px;
	padding: 8px 5px;
}
#confirmation p {
	margin: 0 0 5px !important;
}
#confirmation .contents-wrapper {
	padding: 0 20px;
	margin-bottom: 20px;
	color: #333;
}
#confirmation #bank-account-confirmation dt {
	width: 8em;
	font-weight: normal;
	float: left;
}
#confirmation #bank-account-confirmation dd {
	padding-left: 8em;
	margin-bottom: 5px;
}
#confirmation .table-price tr:last-child td,
#confirmation .table-cancelprice tr:last-child td{
	border-top: 2px solid #ddd;
	font-weight: 800;
}
/* キャンセル完了 */
#complete h3 {
	text-align: left;
	padding: 10px 15px 10px 15px;
	border-left: 5px #ccc solid;
	color: #333;
	border-bottom: none;
}
#complete p {
	margin: 0 0 5px !important;
}
#complete .contents-wrapper {
	padding: 0 20px;
	margin-bottom: 20px;
	color: #333;
}
/* エラー */
#error .contents-wrapper {
	padding: 0 20px;
	margin-bottom: 20px;
	color: #333;
}
#cancel-error .services-wrapper blockquote {
	font-size: 14px;
}
/* 共通 */
.margin-bottom-10 {
	margin-bottom: 10px;
}

.margin-bottom-20 {
	margin-bottom: 20px;
}

.margin-top-10 {
	margin-top: 10px;
}

.margin-left-15 {
	margin-left: 15px;
}

.pad-bottom {
	padding-bottom: 0px;
}
.pad-bottom-half {
	padding-bottom: 30px;
}

.pad-right-15 {
	padding-right: 15px;
}

.text-red {
	color: #dd4b39 !important;
}
.text-right {
	text-align: right;
}
.box-border-gray,
.box-border-gray-full {
	padding: 20px;
}
.middle {
	vertical-align: middle;
}
.nobreak {
	word-break: normal;
}
.borderbox {
	border-bottom: 1px #ccc solid;
	padding: 20px 10px;
}
.messagebox-pink {
	background-color: #ffdfdf;
	padding: 10px;
	text-align: center;
}
.messagebox-pink span {
	color: #f00;
}
.is-error {
	background-color: #ffc0cb
}

.h3 {
	text-align: left;
	padding: 10px 15px 10px 15px;
	border-left: 5px #ccc solid;
	color: #333;
	border-bottom: none;
}

.consent-area {
	margin: 20px 0 20px 0;
	padding: 20px;
	border: 1px solid #dddddd;
	background: #cdd5e0;
	text-align: center;
	font-size: 110%;
}

.error-area {
	border-color: #f00;
	background-color: #ffdfdf;
}

/*領収書発行*/
#receipt{
	background: #fff;
}
#receipt .container{
	margin-top: 30px;
}
.receipt-logo {
	width: 180px;
	display: block;
}
.receipt-title {
	font-size: 20px;
	font-weight: 800;
	margin: 20px auto;
	text-align: center;
}
table.table-receipt {
	width: 100%;
	max-width: 100%;
	margin-bottom: 20px;
	border: 2px solid #666;
}
table.table-receipt th, table.table-receipt td {
	padding: 15px;
}
table.table-receipt tr {
	margin-bottom: 10px;
	border-top: 2px solid #666;
}
table.table-receipt th {
	background-color: #eaeaea;
	text-align: right;
	width: 250px;
}
table.table-receipt th.border-bottom-none {
	border-bottom: none;
}
table.table-receipt td {
	border-right: 2px solid #666;
}
table.table-receipt .table-price{
	margin-bottom: 0;
}
table.table-receipt .table-price tr,
table.table-receipt .table-price th,
table.table-receipt .table-price td{
	border: 1px solid #dee2e6 !important;
}
table.table-receipt td .form-control {
	max-width: 27em;
	padding: 7px 10px;
	display: inline-block;
	margin-right: 5px;
}
table.table-receipt td .form-control:focus {
	outline: 0;
}
.receipt-seal {
	text-align: right;
}
.td-seal {
	display: block;
	text-align: right;
	min-height: 100px;
}
.td-seal img {
	width: 100px;
}
.seal-text {
	position: relative;
	right: 20px;
	top: -70px;
	font-weight: 500;
}
.signature{
	position: initial;
	font-weight: 500;
	margin: 30px 10px;
}
.registrationnumber {
	position: relative;
	right: 20px;
	top: -20px;
	font-weight: 500;
}
/*地図画面*/
.map-detail-body h3 {
	font-size: 18px;
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 15px;
	line-height: 1.5;
}

.map-detail-body h4 {
  font-size: 15px;
  font-weight: bold;
  border-bottom: 2px solid #a6ad32;
  margin: 10px 0;
  display: inline-block;
  line-height: 1.5;
}

.map-detail-body p {
  font-size: 13px;
  margin-bottom: 10px;
  line-height: 1.5;
}

#map {
  margin-bottom: 20px;
}

#map #map-contents {
  position: relative;
  padding-bottom: 95%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

#map #map-contents iframe, #hotelmap #map-contents object, #hotelmap #map-contents embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.optionaltouraffiliatebanner-mypage-pc img {
	max-width: 100%;
}

/* カルーセル */
@keyframes tonext {
	75% {
		left: 0;
	}
	95% {
		left: 100%;
	}
	98% {
		left: 100%;
	}
	99% {
		left: 0;
	}
}
@keyframes tostart {
	75% {
		left: 0;
	}
	95% {
		left: -300%;
	}
	98% {
		left: -300%;
	}
	99% {
		left: 0;
	}
}
@keyframes snap {
	96% {
		scroll-snap-align: center;
	}
	97% {
		scroll-snap-align: none;
	}
	99% {
		scroll-snap-align: none;
	}
	100% {
		scroll-snap-align: center;
	}
}
#MypageCarousel::-webkit-scrollbar {
	width: 0;
}
#MypageCarousel::-webkit-scrollbar-track {
	background: transparent;
}
#MypageCarousel::-webkit-scrollbar-thumb {
	background: transparent;
	border: none;
}
#MypageCarousel {
	width: 1110px;
	margin: auto;
	box-sizing: border-box;
	scrollbar-color: transparent transparent; /* thumb and track color */
	scrollbar-width: 0px;
	-ms-overflow-style: none;
}
#MypageCarousel h3{
	border: none;
	padding-left: 0;
}
#MypageCarousel .mypage-carousel ol, #MypageCarousel .mypage-carousel li {
	list-style: none;
	margin: 0;
	padding: 0;
}
#MypageCarousel .mypage-carousel {
	position: relative;
	height: 200px;
	margin-bottom: 50px;
	perspective: 100px;
}
#MypageCarousel .mypage-carousel__viewport {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	overflow-x: hidden;
	overflow-y: hidden;
	counter-reset: item;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
}
#MypageCarousel .mypage-carousel__slide {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	background-color: #dedede;
	counter-increment: item;
}
#MypageCarousel .mypage-carousel:hover .mypage-carousel__snapper, #MypageCarousel .mypage-carousel:focus-within .mypage-carousel__snapper {
	animation-name: none;
}
#MypageCarousel .mypage-carousel__navigation {
	position: absolute;
	right: 0;
	bottom: -25px;
	left: 0;
	text-align: center;
}
#MypageCarousel .mypage-carousel__navigation-list, #MypageCarousel .mypage-carousel__navigation-item {
	display: inline-block;
}
#MypageCarousel .mypage-carousel__navigation-button {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-color: #999;
	background-clip: content-box;
	border: 0.25rem solid transparent;
	border-radius: 50%;
	font-size: 0;
	transition: transform 0.1s;
}
#MypageCarousel .mypage-carousel::before, #MypageCarousel .mypage-carousel::after, #MypageCarousel .mypage-carousel__prev, #MypageCarousel .mypage-carousel__next {
	position: absolute;
	bottom: 0;
	width: 4rem;
	height: 4rem;
	font-size: 0;
	outline: 0;
	margin-bottom: 10px;
}
#MypageCarousel .mypage-carousel::before, #MypageCarousel .mypage-carousel__prev {
	right: 60px;
}
#MypageCarousel .mypage-carousel::after, #MypageCarousel .mypage-carousel__next {
	right: 20px;
}
#MypageCarousel .mypage-carousel::before, #MypageCarousel .mypage-carousel::after {
	z-index: 1;
	pointer-events: none;
	text-align: center;
	font-family: "Font Awesome 5 Pro";
	font-weight: 400;
	color: #333;
	font-size: 2rem;
	padding-top: 5px;
}
#MypageCarousel .mypage-carousel::before {
	content: "\f053";
}
#MypageCarousel .mypage-carousel::after {
	content: "\f054";
}
#MypageCarousel .option-carousel_img {
	width: 300px;
	height: 200px;
}
#MypageCarousel .option-carousel_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#MypageCarousel .option-carousel_text {
	width: calc(100% - 300px);
	padding: 20px;
}
#MypageCarousel .option-carousel_text h3 {
	margin-bottom: 10px;
}
#MypageCarousel .option-carousel_text .option-carousel_text_detail {
	overflow-y: auto;
	overflow-x: hidden;
	height: 60px;
	margin-bottom: 10px;
}
#MypageCarousel .option-carousel_text .option-carousel_text_detail::-webkit-scrollbar {
	-webkit-appearance: none;
	width: 7px;
}
#MypageCarousel .option-carousel_text .option-carousel_text_detail::-webkit-scrollbar-thumb {
	border-radius: 4px;
	background-color: rgba(0, 0, 0, 0.5);
	box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}
#MypageCarousel .option-carousel_text p {
	height: auto;
	overflow: hidden;
}
#MypageCarousel .option-carousel_text .btn {
	background: #fff;
	color: #333;
}

/* SP
============================================== */
@media screen and (max-width: 769px) {
	/* 共通 */
	.sp_block {
		display: block;
	}
	.sp_block_th {
		display: block;
		background-color: #ededed;
	}
	.pc_block {
		display: none !important;
	}
	.br_sp {
		display: inline-block;
	}
	.box-border-gray,
	.box-border-gray-full {
		padding: 10px;
	}
	.header {
		margin-left: 8px;
	}
	.navbar-nav {
		display: none;
	}
	.navbar-header {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.navbar-header .logoutbtn {
		float: right;
	}
	blockquote {
		margin: 0 0 0px;
		padding: 0 0 0 10px;
	}
	.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
		padding: 5px !important;
	}
	.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
		border-top: none;
	}
	table.table {
		margin-bottom: 0px;
	}
	table.table tr.hv td {
		background-color: #fff;
	}
	table.table.table_mb0 {
		margin-bottom: 0px;
		border-bottom: 0px;
	}
	.table-price td span, .table-payment td span {
		font-size: 0.9em;
	}
	.table-price .item br, .table-payment .item br {
		display: none;
	}
	a.morebtn {
		border: 1px #ccc solid;
		border-radius: 5px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		margin-bottom: 10px;
		padding: 5px;
		text-align: center;
	}
	a.morebtn:link {
		color: #333;
		text-decoration: none;
	}
	a.morebtn:visited {
		color: #333;
		text-decoration: none;
	}
	a.morebtn:hover {
		color: #333;
		text-decoration: none;
	}
	a.morebtn:active {
		color: #333;
		text-decoration: none;
	}
	.fixed {
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 10000;
	}
	.container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse {
		margin-left: 0px;
		margin-right: 0px;
	}
	.navbar-brand {
		padding: 15px 15px 15px 0;
	}
	.navbar-logo{
		display: inline-block !important;
		width: 120px !important;
	}
	.card-body{
		padding: 1rem 0.8rem;
	}
	.footlink li {
		width: 48%;
		padding: 0;
	}
	.footlink li a {
		display: block;
		background-color: #fff;
		border: 1px #ccc solid;
		border-radius: 5px;
		padding: 10px 0;
		margin-bottom: 5px;
	}
	/* 旅程表 */
	#reservation .flight-description {
		width: 100%;
		margin-bottom: 15px;
	}
	#reservation .flight-description p {
		width: 100%;
		text-align: left;
		margin-bottom: 10px;
	}
	#reservation .flight-description button {
		width: 100%;
	}
	#reservation .table {
		border-bottom: none;
	}
	#reservation .table_spstyle table {
		display: block;
	}
	#reservation .table_spstyle thead {
		display: none;
	}
	#reservation .table_spstyle tbody {
		display: block;
	}
	#reservation .table_spstyle tbody tr,
	#bank-account-input .table_spstyle tbody tr {
		display: block;
		margin-bottom: 1em;
	}
	#reservation .table_spstyle tbody th, 
	#reservation .table_spstyle tbody td,
	#bank-account-input .table_spstyle tbody th,
	#bank-account-input .table_spstyle tbody td {
		display: list-item;
		border: none;
	}
	#reservation .table_spstyle tbody th.grayth,
	#bank-account-input .table_spstyle tbody th.grayth {
		background-color: #dfdfdf;
		font-weight: normal;
	}
	#reservation .table_spstyle tbody th,
	#bank-account-input .table_spstyle tbody th {
		margin-bottom: 5px;
		list-style-type: none;
		color: #333;
		background: #ededed;
		border: 1px #ccc solid;
		padding: 2px 5px !important;
	}
	#reservation .table_spstyle tbody td,
	#bank-account-input .table_spstyle tbody td {
		margin-left: 0px;
		margin-bottom: 10px;
		padding: 0 0 5px 0 !important;
		list-style-type: none;
		border-bottom: 1px #ccc dotted;
		width: 100%;
	}
	#reservation .table_spstyle .passenger-name {
		border-bottom: none !important;
		margin: -5px 0 0 0 !important;
	}
	#reservation .table-ticket .btn, #reservation .table-ticket .flight-name {
		font-size: 90% !important;
	}
	#reservation .table_spstyle .grayth-sub {
		background-color: #eaeaea;
		border: none;
		margin-top: -5px !important;
		margin-bottom: 20px !important;
	}
	#reservation .table_spstyle .flight-schedule__seat {
		width: 20%;
		min-width: 5em;
	}
	#reservation .table-price td,
	#reservation .table-cancelprice td,
	#reservation .table-payment td,
	#reservation .table-cancelpolicy td {
		border-bottom: 1px #ededed solid;
	}
	#table_a tbody td:before, #table_b tbody td:before, #table_c tbody td:before, #table_d tbody td:before, #table_e tbody td:before, #table_g tbody td:before, #table_g tbody td.flight-detail-name-number .flight-number-name:before, #table_g tbody td.flight-detail-name-number .flight-number-number:before {
		font-size: 0.9em;
		background: #ededed;
		color: #000;
		padding: 2px;
		border-radius: 3px;
		margin-right: 10px;
	}
	#table_a tbody td.flight-schedule table td.flight-schedule__seat:before {
		padding: 0;
		background-color: #fff;
		margin-right: 3px;
	}
	#table_g tbody td:before,
	#table_g tbody td.flight-detail-name-number .flight-number-name:before ,
	#table_g tbody td.flight-detail-name-number .flight-number-number:before {
		float: left;
		margin-right: 2%;
		width: 33%;
		text-align: center;
	}
	#table_a tbody td:nth-of-type(2):before {
		content: "席数";
	}
	#table_b tbody td:nth-of-type(1):before {
		content: "乗降場所";
	}
	#table_b tbody td:nth-of-type(2):before {
		content: "便情報";
	}
	#table_b tbody td:nth-of-type(3):before {
		content: "説明";
	}
	#table_b tbody td:nth-of-type(4):before {
		content: "利用人数(大人)";
	}
	#table_b tbody td:nth-of-type(5):before {
		content: "利用人数(子供)";
	}
	#table_c tbody td:nth-of-type(1):before {
		content: "台数";
	}
	#table_c tbody td:nth-of-type(2):before {
		content: "貸出場所";
	}
	#table_c tbody td:nth-of-type(3):before {
		content: "返却場所";
	}
	#table_c tbody td:nth-of-type(4):before {
		content: "提供会社連絡先";
	}
	#table_d tbody td:nth-of-type(1):before {
		content: "利用人数";
	}
	#table_d tbody td:nth-of-type(2):before {
		content: "説明";
	}
	#table_d tbody td:nth-of-type(3):before {
		content: "提供会社名";
	}
	#table_d tbody td:nth-of-type(4):before {
		content: "提供会社連絡先";
	}
	#table_e tbody td:nth-of-type(1):before {
		content: "所属会社名";
	}
	#table_e tbody td:nth-of-type(2):before {
		content: "会員ID";
	}
	#table_g tbody td:nth-of-type(1):before {
		content: "便名";
	}
	#table_g tbody td:nth-of-type(2):before {
		content: "航空会社";
	}
	#table_g tbody td:nth-of-type(3):before {
		content: "航空会社予約番号";
	}
	#table_g tbody td.flight-detail-name-number {
		border-bottom: none;
	}
	#table_g tbody td.flight-detail-name-number .flight-number-name:before {
		content: "姓名";
	}
	#table_g tbody td.flight-detail-name-number .flight-number-number:before {
		content: "確認番号";
	}
	#table_g tbody td p {
		float: left;
		width: 58%
	}
	#table_g tbody td:after {
		content: "";
		display: block;
	}
	#table_g tbody td:after {
		clear: both;
	}
	#table_g tbody td {
		zoom: 1;
	}
	#table_g tbody td table.flight-number .flight-number-name {
		border-bottom: none;
		margin-bottom: 0;
	}
	#table_g tbody td.flight-detail-name-number .flight-number-name,
	#table_g tbody td.flight-detail-name-number .flight-number-number {
		margin-bottom: 10px;
	}
	#table_g tbody td table.flight-number tr {
		margin-bottom: 10px;
	}
	#reservation .table-flight-detail .detail-title {
		margin-right: 8px;
	}
	
	#reservation .table-flight-detail .flight-number {
		margin: 0 0 5px 0;
		width: 100%;
		border-bottom: 1px solid #dee2e6;
		padding: 0;
		flex-direction: column;
	}
	#reservation .table-flight-detail .flight-number:last-child{
		margin-bottom: 0;
	}
	/* キャンセル */
	#bank-account-input-flg label {
		padding: 5px 0;
		width: 100%;
		display: block;
		margin-right: 0;
	}
	#bank-account-input {
		display: block;
		margin-left: 0px;
	}
	#cancel #bank-account-input dt {
		width: 100%;
		float: none;
	}
	#cancel #bank-account-input dd {
		width: 100%;
		padding-left: 0;
	}
	#cancel #bank-account-input dd input[type="radio"] {
		margin-right: 10px;
	}
	#cancel #bank-account-input dd input[type="text"] {
		width: 100%;
	}
	#cancel #bank-account-input dd input[type="tel"] {
		width: 6em;
	}
	#cancel #bank-account-input dd label.selected {
		background-color: #eee;
	}
	#cancel .container #account-type {
		width: 100%;
	}
	#cancel #bank-account-input dd div.has-error label {
		border: none;
		background-color: #ffdfdf;
	}
	#cancel .table-cancelpolicy td, #cancel .table-price td, #cancel .table-cancelprice td {
		border-bottom: 1px #ededed solid;
	}
	/* キャンセル内容確認 */
	#confirmation .table > tbody > tr > td{
		border-top: 1px solid #dee2e6;
	}
	#confirmation #bank-account-confirmation {
		margin-left: 0px;
		margin-top: 20px;
		padding-top: 20px;
		border-top: #eee 1px solid;
	}
	/* 領収書発行 */
	table.table-receipt th, table.table-receipt td {
		display: block;
		width: 100%;
		padding: 10px;
	}
	table.table-receipt tr {
		margin-bottom: 10px;
		border-top: none;
	}
	table.table-receipt th {
		border-bottom: none;
		text-align: left;
		width: 100%;
	}
	table.table-receipt td {
		border-right: none;
	}
	table.table-receipt td .form-control {
		max-width: 23em;
	}
	table.table-receipt .table_spstyle .grayth{
		background: #d5d5d5;
	}
	table.table-receipt .table_spstyle .l-grayth{
		background: #eaeaea;
	}
	table.table-receipt .table_spstyle{
		border: 1px solid #666;
	}
	table.table-receipt .table_spstyle tr{
		border: none;
	}
	
	/* GTM用class */
	.optionaltouraffiliatebanner-mypage-sp {
		text-align: center;
	}
	.optionaltouraffiliatebanner-mypage-sp img {
		max-width: 100%;
	}
	
	/* カルーセル */
	#MypageCarousel{
		width: calc(100% - 30px);
	}
	#MypageCarousel .mypage-carousel {
		position: relative;
		height: 380px;
		margin-bottom: 50px;
		perspective: 100px;
	}
	#MypageCarousel .mypage-carousel__slide .flexbox {
		flex-direction: column;
	}
	#MypageCarousel .option-carousel_img {
		width: 100%;
		height: 150px;
	}
	#MypageCarousel .option-carousel_img img {
		height: 100%;
		object-fit: cover;
	}
	#MypageCarousel .option-carousel_text {
		width: 100%;
		padding: 15px;
		height: 180px;
		overflow: hidden;
	}
	#MypageCarousel .option-carousel_text h3 {
		width: calc(100% - 30px);
		font-size: 1.2em !important;
		border: none;
		margin: 0 0 5px;
		background: none;
		color: #333;
		padding: 0;
		font-weight: 600;
		position: relative;
		left: 0;
		top: 0;
	}
	#MypageCarousel .option-carousel_text .option-carousel_text_detail {
		height: 130px;
	}
	#MypageCarousel .option-carousel_text .btn {
		position: absolute;
		bottom: 20px;
	}
	#MypageCarousel .option-carousel_text .btn {
		position: absolute;
		bottom: 20px;
	}
	#MypageCarousel .option-carousel_text p {
		line-height: 1.3;
	}
}

@media screen {
	#print {
		display: none !important;
	}
}

@media screen {
	/* 対象クラスは画面には非表示、印刷時には表示 */
	div.no-screen {
		display: none;
	}

	tr.no-screen {
		display: none;
	}
}
