@charset "utf-8";

/*=====================================================
 * Description:SP　サイト内共通で使うパーツ
 * Version: 0.35
 * Last Up Date: 2018/02/22
=====================================================*/



/*-----  contents -------

	 1: common
	 2: section
	 3: paragraph
	 4: list
	 5: table
	 6: form
	 7: modal
	 8: loading
	 9: other
	 10: utility

----------------------*/


/*1:common
=================================*/
/* インフォメーション アイコン */
.informationIconLarge {
	font-size: 0;
	display: inline-block;
	margin-left: 5px;
	line-height: 1;
	vertical-align: 7.5px;
	position: relative;
}
.informationIconSmall,
.informationIconSP {
	font-size: 0;
	display: inline-block;
	margin-left: 5px;
	line-height: 1;
	vertical-align: 4.5px;
	position: relative;
}
.informationIcon {
	display: inline-block;
	vertical-align: middle;
}
.informationIcon img {
	vertical-align: middle;
}
.informationIconLarge .externalLinkIcon,
.informationIconSmall .externalLinkIcon,
.informationIconSP .externalLinkIcon {
	display: inline-block;
	vertical-align: middle;
}
.informationIconLarge .externalLinkIcon img,
.informationIconSmall .externalLinkIcon img,
.informationIconSP .externalLinkIcon img {
	vertical-align: middle;
}

h1.hiddenTitle {
	/* PC装飾用のスタイル */
}
h2 {
	position: relative;
	margin: 0 7px;
	padding: 14px 7px;
	background: #ffffff; /* 一部android端末のレンダリングハックのためbackground指定 */
	border-top: #012F64 3px solid;
	color: #002e64;
	font-size: 14px;
	font-weight: bold;
}
h2.midstream {
	border-bottom: #dddddd 1px solid;
}
h2.noDecorationTitle {
	padding-top: 4px;
	border-top: none;
}
.anchorList+h2.noDecorationTitle { /* anchorListの次に来る場合はpadding,border上書き */
	padding-top: 14px;
	border-top: #012F64 3px solid;
}
h2.minimumTitle {
	border-top: none;
	font-size: 12px;
	color: #1b1b1b;
}

h3 {
	position: relative;
	margin: 0 7px 10px;
	padding: 7px;
	background: #eeeeee;
	font-size: 14px;
	font-weight: bold;
}
h3.noBg {
	background: transparent;
}
h3.noPadding {
	padding: 0;
}
h3.subMenuTitle {
	padding: 14px 7px;
	background: #ffffff; /* 一部android端末のレンダリングハックのためbackground指定 */
	border-top: #1a1a1a 2px solid;
}
h3 span {
	position: absolute;
	top: 7px;
	right: 7px;
	font-weight: normal;
}
h3 .informationIconSP span {
	position: static;
}
h3.tableTitle {
	padding: 3px 7px;
	font-size: 13px;
	line-height: 1.3;
}

.hgroup h1 {
	margin: 0 7px;
	padding: 8px 7px;
	font-size: 12px;
	line-height: 1;
}
.hgroup .userName {
	margin: 0 7px;
	padding: 8px 7px;
	border-bottom: #cccccc 1px solid;
	font-weight: bold;
}

.separateLine {
	margin: 0 7px;
	border-bottom: #012F64 3px solid;
}

.iconInfo {
	display: inline-block;
	margin-left: 5px;
	padding: 0;
	width: 16px;
	height: 16px;
	background: url(../../image/icon/sp_icon_info.png?bdbc457) no-repeat left top;
	background-size: 16px 16px;
	vertical-align: -2px;
}
.iconInfo[target="_blank"] {
	padding: 0;
	background: url(../../image/icon/sp_icon_info.png?bdbc457) no-repeat left top;
	background-size: 16px 16px;
	vertical-align: -2px;
}
h3 .iconInfo,
h3 .iconInfo[target="_blank"] { vertical-align: -3px; }
.iconLarge {
	/* PC装飾用のスタイル */
}
.iconSmall {
	/* PC装飾用のスタイル */
}

/* フォーカスされた要素に対してのスタイリング（フォーカス可視化）デフォルト設定 */

button[type="button"]:focus,
textarea:focus,
input[type="text"]:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus,
input[type="password"]:focus{
	outline-offset: 3px;
}

.visuallyHidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.infoNoticeTxt { margin: 0 14px 8px; }
.section .infoNoticeTxt { margin: 0 7px 8px; }

.iconWifiAll {
	display: inline-block;
	margin: 0;
	padding: 0;
	width: 30px;
	height: 14px;
	background: url(../../image/icon/sp_icon_wifi_all.png?caf2486) no-repeat left top;
	background-size: 30px 14px;
}
.iconWifiSome {
	display: inline-block;
	margin: 0;
	padding: 0;
	width: 30px;
	height: 12px;
	background: url(../../image/icon/sp_icon_wifi_some.png?ce04a90) no-repeat left top;
	background-size: 30px 12px;
}

.spNoDisplay { display: none; }
.spNoTxt { visibility: hidden; }


input[type=radio] + label,
input[type=checkbox] + label {
	font-size: 14px;
	vertical-align: middle;
}
label.error { color: #e80000; }

.disable {
	color: #c2c2c2;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
.attention { color: #e80000; }
.airportNotice { color: #d14704; }
.holiday { color: #e80000; }
.sunday { color: #e80000; }
.saturday { color: #285ad2; }
.anaWings { color: #8b703b; }

em.price { font-weight: bold; }
span.currencyCode { font-weight: bold; }
span.headCount { display: block; }

/* itinerary tooltip */
.seatMapAttention {
	display: none;
	position: absolute;
	padding: 3px 5px;
	background: #fffae4;
	border: #e2d9b2 1px solid;
	font-size: 12px;
}
.seatMap { display: none; }
.seatMapDisabled {
	color: #c2c2c2;
	text-decoration: underline;
}

.externalLinkIcon {
    margin-left: 4px;
}

.externalLinkIcon img {
vertical-align: inherit;
position: relative;
top: 1px;
}

.externalLinkIconStar img {
margin-bottom: 5px;
}

/* セッションキープ用hiddenボタン */
input[type="submit"]#cmnSessionKeepingButton { display: none; }

.weightNormal {
	font-weight: normal;
}
.weightBold {
	font-weight: bold;
}

/* フォーカスが当たった際に枠を表示させたくない場合に使用（aタグやinput等以外の要素にtabindexなどでフォーカス対応した際に使用） */
.focusHidden {
	outline: none;
}

.wordBreakNormal {
	word-break: normal;
}

/*2:section
=================================*/
/* section */
.section { margin: 0 7px; }
.section:after {
	content : '';
	display : block;
	clear : both;
}
.section.sectionNoFlow {
	/* PC装飾用のスタイル */
}
.section.sectionHasTop { margin-top: 10px; }
.section.sectionHasTop15 { margin-top: 15px; }
.section.sectionHasTop20 { margin-top: 20px; }
.section.sectionHasTop30 { margin-top: 30px; }
.section.sectionHasBottom { margin-bottom: 10px; }
.section.sectionHasBottom15 { margin-bottom: 15px; }
.section.sectionHasBottom20 { margin-bottom: 20px; }
.section.sectionHasBottom30 { margin-bottom: 30px; }
.section.sectionHasBottomLine { 
	padding-bottom: 10px;
	border-bottom: #cccccc 1px solid;
}
.section.sectionTab { margin-bottom: 10px; }
.section.sectionLine {
	margin-bottom: 10px;
	border-bottom: #eeeeee 1px solid;
}
.section.sectionTopLine {
	padding-top: 30px;
	border-top: #012F64 3px solid;
}

.section h2 { margin: 0; }
.section h2.midstream { margin-bottom: 10px; }
.section h3 { margin: 0 0 10px; }
.section h3.subMenuTitle { margin: 0; }


/* infoBox */
.infoBox {
	position: relative;
	margin: 0 7px 10px;
	border: #cccccc 1px solid;
	font-size: 14px;
}
.infoBox dt {
	padding: 8px 7px;
	font-weight: bold;
}
.infoBox dd,
.infoBox.onlyToggle ul {
	padding: 10px 7px 20px;
	border-top: #cccccc 1px solid;
}
.infoBox.noToggle dd {
	padding-bottom: 10px;
}
.infoBox.onlyToggle dd {
	padding: 0;
	border-top: none;
}
.infoBox dd li { margin: 0 0 10px 18px; }
.infoBox dd li:before {
	display: inline-block;
	content: "";
	width: 7px;
	height: 7px;
	margin: 0 9px 2px -16px;
	background: url(../../image/icon/icon_info_disc.png?4d423fa) no-repeat center center;
	background-size: 7px 7px;
}
.infoBox dd li div { display: inline; } /* jsバグ回避のため */
.infoBox dd li img { vertical-align: middle; }
.infoBox .toggleSwitch {
	position: absolute;
	right: 10px;
	bottom: 7px;
	width: 20px;
	height: 21px;
	background: url(../../image/btn/sp_toggle_s.png?dc9fb1d) left top no-repeat;
	background-size: 20px 42px;
	text-indent: -9999px;
}
.infoBox .infoBoxMoreText {
	position: absolute;
	right: 40px;
	bottom: 10px;
	color: #252525;
	font-size: 12px;
}

.toggleContents { display: none; }


/* infoBox accessibility */
.accessibility.infoBox .triggerSwitch {
	display: block;
	position: absolute;
	right: 10px;
	bottom: 7px;
	width: 20px;
	height: 21px;
	overflow: hidden;
}
.accessibility.infoBox dd div:focus,
.accessibility.infoBox dd li:focus {
	outline: none;
}

.accessibility.infoBox dd ul ul,
.accessibility.infoBox dd ul ol {
	margin-top: 5px;
}
.accessibility.infoBox.onlyToggle dd .accordionContents {
	padding: 10px 7px 20px;
	border-top: #cccccc 1px solid;
}
.accessibility.infoBox.onlyToggle ul {
	padding: 0;
	border-top: none;
}
.accessibility.infoBox dd > ul > li,
.accessibility.infoBox .accordionContents > ul > li {
	position: relative;
}
.accessibility.infoBox dd > ul > li:before,
.accessibility.infoBox .accordionContents > ul > li:before {
	position: absolute;
	left: 0;
	top: 5px;
}
.accessibility.infoBox dd .circleList li:before,
.accessibility.infoBox dd .komeList li:before,
.accessibility.infoBox dd .asteriskList li:before,
.accessibility.infoBox dd .numberList li:before {
	background: none;
	margin: 0;
	width: auto;
	height: auto;
}
.accessibility.infoBox dd .circleList li {
	list-style-type: circle;
}
.accessibility.infoBox dd .komeList li,
.accessibility.infoBox dd .asteriskList li {
	position: relative;
	list-style-type: none;
	margin-left: 0;
	padding-left: 18px;
}
.accessibility.infoBox dd .komeList li:before {
	position: absolute;
	left: 0;
	top: 0;
	content: "※";
}
.accessibility.infoBox dd .asteriskList li:before {
	position: absolute;
	left: 0;
	top: 2px;
	content: "*";
}
.accessibility.infoBox dd .numberList li {
	list-style-type: decimal;
}
.accessibility.infoBox .infoBoxMoreText {
	font-weight: bold;
}


/* menuList */
.menuList.hasTopLine { border-top: #eeeeee 1px solid; }
.menuList li {
	position: relative;
	border-bottom: #eeeeee 1px solid;
}
.spShowContents .menuList li:last-child {
	border-bottom: none;
}
.menuList.lastChild li:last-child {
	border-bottom: #cccccc 1px solid;
}
.menuList li a {
	display: block;
	padding: 12px 7px 12px 21px;
	color: #191919;
	font-weight: bold;
	text-decoration: none;
}
.menuList li a:before {
	content: "";
	display: block;
	position: absolute;
	left: 8px;
	top: 50%;
	margin-top: -4px;
	background: #0f396d;
	width: 9px;
	height: 9px;
}
.menuList li a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	margin-top: -1px;
	width: 2px;
	height: 2px;
	border-top: solid 1px #ffffff;
	border-right: solid 1px #ffffff;
	transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
}
.menuList.noBottomLine li:last-child { border-bottom: none; }

.sectionMenuList dt {
	padding: 3px 7px;
	background: #eeeeee;
	text-align: left;
}
/* emergencyNotice */
.emergencyNotice {
	margin: 7px 7px;
	padding: 0 7px 7px;
	color: #e80000;
	border: 2px solid #e80000;
}
.emergencyNotice p { margin-top: 7px; }
.emergencyNotice li {
	margin: 7px 0 0 18px;
}
.emergencyNotice li:before {
	display: inline-block;
	content: "";
	width: 7px;
	height: 7px;
	margin: 0 9px 2px -16px;
	background: url(../../image/icon/icon_emergency_disc.png?5a2cd07) no-repeat center center;
	background-size: 7px 7px;
}
.emergencyNotice li img { vertical-align: middle; }

.emergencyNotice a { color: #e80000; }

/* formCheckbox */
.formCheckbox {
	/* PC装飾用のスタイル */
}


.sectionCover:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #ededed;
	opacity: .8;
}


/*3:paragraph
=================================*/
#cmnWrapper .userName { display: none; }

.textBasicInformation {
	margin-bottom: 10px;
	padding: 10px 7px;
	border-top: #cccccc 1px solid;
	border-bottom: #cccccc 1px solid;
}


/*4:list
=================================*/

/* flow */
.flow { display: none; }


.horizontalList li {
	display: inline-block;
	margin-right: 25px;
	word-break: keep-all;
}
.horizontalList li:last-child { margin-right: 0; }


/* bookingTypeList */
.bookingTypeList {
	display: table;
	width: 100%;
	height: 100%;
	margin: 0 0 15px;
	padding: 0 7px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
.bookingTypeList li {
	display: table-cell;
	width: 50%;
	background: #e2e8f7;
	border: #c6cfe4 1px solid;
	border-right: none;
	vertical-align: middle;
	text-align: center;
}
.bookingTypeList li.selected {
	background: #05346c;
	border: #05346c 1px solid;
	border-right: none;
}
.bookingTypeList li.firstChild {
	border-radius: 3px 0 0 3px;
	-webkit-border-radius: 3px 0 0 3px;
}
.bookingTypeList li.lastChild {
	border-radius: 0 3px 3px 0;
	-webkit-border-radius: 0 3px 3px 0;
	border-right: #c6cfe4 1px solid;
}
.bookingTypeList li.lastChild.selected { border-right: #05346c 1px solid; }
.bookingTypeList li span {
	position: relative;
	display: table;
	width: 100%;
	height: 100%;
}
.bookingTypeList li.selected span:after {
	position: absolute;
	bottom: -17px;
	left: 48%;
	content: "";
	display: block;
	border: 8px solid transparent;
	border-top: #05346c 8px solid;
}

.bookingTypeList li input,
.bookingTypeList li em {
	display: table-cell;
	padding: 5px 0;
	background-color: transparent;
	color: #012f64;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	vertical-align: middle;
	line-height: inherit;
}
.bookingTypeList li.selected input,
.bookingTypeList li.selected em {
	color: #ffffff;
}
.bookingTypeList li.firstChild input,
.bookingTypeList li.firstChild em {
	border-radius: 3px 0 0 3px;
	-webkit-border-radius: 3px 0 0 3px;
}
.bookingTypeList li.firstChild.selected input,
.bookingTypeList li.firstChild.selected em {
	border-radius: 3px 0 0 3px;
	-webkit-border-radius: 3px 0 0 3px;
}
.bookingTypeList li.lastChild input,
.bookingTypeList li.lastChild em {
	border-radius: 0 3px 3px 0;
	-webkit-border-radius: 0 3px 3px 0;
}

/* tabList */
.tabList {
	display: table;
	width: 100%;
	padding: 0 7px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
.tabList li {
	display: table-cell;
	width: 33%;
	background: #e2e8f7;
	border: #c6cfe4 1px solid;
	border-right: none;
	vertical-align: middle;
}
.tabList li.selected {
	background: #05346c;
	border: #05346c 1px solid;
	border-right: none;
	box-shadow: none;
}
.tabList li.firstChild {
	border-radius: 3px 0 0 3px;
	-webkit-border-radius: 3px 0 0 3px;
}
.tabList li.lastChild {
	width: 34%;
	border-radius: 0 3px 3px 0;
	-webkit-border-radius: 0 3px 3px 0;
	border-right: #c6cfe4 1px solid;
}
.tabList li.lastChild.selected { border-right: #05346c 1px solid; }
.tabList li a {
	display: block;
	padding: 5px 0;
	color: #012f64;
	text-align: center;
	font-size: 14px;
	text-decoration: none;
}
.tabList li.selected a {
	color: #ffffff;
	text-align: center;
	font-weight: bold;
}
.tabList li.firstChild a {
	border-radius: 3px 0 0 3px;
	-webkit-border-radius: 3px 0 0 3px;
}
.tabList li.lastChild a {
	border-radius: 0 3px 3px 0;
	-webkit-border-radius: 0 3px 3px 0;
}

/* tabContents */
.tabContents div.formCheckbox {
	/* PC装飾用のスタイル */
}


/* tabLinkList */
.tabLinkListSection {
	margin: 0 7px;
}
.tabLinkListSection.noMargin {
	margin: 0;
}
.tabLinkList {
	display: table;
	margin-bottom: 10px;
	width: 100%;
	border-bottom: #012f64 3px solid;
}
.tabLinkList li {
	display: table-cell;
	background-color: #e2e8f7;
	border-top: #c6cfe4 1px solid;
	border-right: #c6cfe4 1px solid;
	font-size: 14px;
	vertical-align: middle;
}
.tabLinkList li:first-child {
	border-left: #c6cfe4 1px solid;
	border-radius: 3px 0 0 0;
	-webkit-border-radius: 3px 0 0 0;
}
.tabLinkList li:last-child {
	border-radius: 0 3px 0 0;
	-webkit-border-radius: 0 3px 0 0;
}
.tabLinkList li.selected {
	background-color: #012f64;
	border: #012f64 1px solid;
	border-right: none;
	border-bottom: none;
}
.tabLinkList li.disable {
	background-color: #e4e4e4;
	border-color: #cccccc;
}
.tabLinkList.tabTwo li { width: 50%; }
.tabLinkList.tabThree li { width: 33%; }
.tabLinkList li a,
.tabLinkList li>span {
	display: block;
	padding: 10px 0;
	color: #012f64;
	text-align: center;
	text-decoration: none;
	word-break: break-all;
}
.tabLinkList.multiLine li a,
.tabLinkList.multiLine li>span {
	padding: 5px 0;
}
.tabLinkList li.disable>span {
	color: #898989;
}
.tabLinkList li:first-child a,
.tabLinkList li:first-child>span {
	border-radius: 3px 0 0 0;
	-webkit-border-radius: 3px 0 0 0;
}
.tabLinkList li:last-child a,
.tabLinkList li:last-child>span {
	border-radius: 0 3px 0 0;
	-webkit-border-radius: 0 3px 0 0;
}
.tabLinkList li.selected a,
.tabLinkList li.selected>span {
	color: #ffffff;
}
.tabLinkList li em {
	font-weight: bold;
}
.tabLinkList.modifyTab li a,
.tabLinkList.modifyTab li>span {
    padding: 10px 6px;
    word-break: break-word;
}

/* anchorList */
.anchorList { margin: 0 7px 10px; }
.anchorList li {
	display: inline-block;
	margin-right: 14px;
}
.anchorList.spVertical li {
	display: block;
	margin-right: 0;
}
.anchorList li a {
	display: inline-block;
	padding: 5px 14px 5px 0;
	color: #1472df;
	background: url(../../image/icon/sp_icon_anchor.png?948c55c) right center no-repeat;
	background-size: 7px 12px;
	-webkit-background-size: 7px 12px;
	text-decoration: underline;
}
.tabLinkList+.anchorList { margin-top: 0; }


/* paxNameList */
.paxNameList {
	border-top: 1px solid #cccccc;
	margin-bottom: 10px;
}
.paxNameList li {
	font-size: 13px;
	font-weight: bold;
	padding: 10px 7px;
	border-bottom: 1px solid #cccccc;
}
.paxNameList li .child {
	display: block;
	margin-top: 3px;
	font-weight: normal;
}




/*5:table
=================================*/
table {
	width: 100%;
	border-spacing: 0;
	border-collapse: separate;
}
table.hasTopLine { border-top: #cccccc 1px solid; }
table.hasBottom { margin-bottom: 20px; }
table thead th {
	text-align: left;
	word-break: break-all;
}
table tbody th {
	text-align: left;
	word-break: break-all;
}
table tbody th li:after {
	content : '';
	display : block;
	clear : both;
}
table tbody th li span {
	float: left;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
table tbody th li span.headLabel {
	padding: 2px 0;
	width: 15%;
	background: #ffffff;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	font-weight: normal;
	text-align: center;
	word-break: break-all;
}
table tbody th li span+span {
	padding: 2px 0 2px 7px;
	width: 85%;
	font-weight: bold;
}

table tbody td {
	word-break: break-all;
}
table .firstChild th {
	/* PC装飾用のスタイル */
}
table .lastChild th {
	/* PC装飾用のスタイル */
}
table .infantName {
	/* PC装飾用のスタイル */
}

table tbody td .requested {
	font-size: 14px;
	font-weight: bold;
}
table tbody td .notRequested {
	color: #d14704;
	font-size: 14px;
}
table tbody td.noticeCell { background: #fff3e6; }
table tbody td.menuSelect {
	/* PC装飾用のスタイル */
}
table tbody td.separateRight {
	/* PC装飾用のスタイル */
}

table.tableColumn { margin-bottom: 10px; }
table.tableColumn.noBottomLine { margin-bottom: 0; }
table.tableColumn thead {
	display: none;
}
table.tableColumn tbody th {
	font-weight: normal;
}
table.tableColumn tbody th,
table.tableColumn tbody td {
	padding: 10px 7px;
	width: 50%;
	border-bottom: #eeeeee 1px solid;
	vertical-align: middle;
}
h3+table.tableColumn tbody tr:first-child th,
h3+table.tableColumn tbody tr:first-child td {
	padding-top: 0;
}
table.tableColumn tbody tr:last-child th,
table.tableColumn tbody tr:last-child td {
	border-bottom: #cccccc 1px solid;
}
table.tableColumn.tableStockholder tbody tr:last-child th,
table.tableColumn.noBottomLine tbody tr:last-child  th,
table.tableColumn.noBottomLine tbody tr:last-child  td {
	border-bottom: none;
}
table.tableColumn td .mailNewLine { display: block; }

table.tableColumn2 tbody td {
	/* PC装飾用のスタイル */
}
table.tableColumn3 tbody td {
	/* PC装飾用のスタイル */
}
table.tableColumn4 tbody td {
	/* PC装飾用のスタイル */
}
table.tableColumn5 tbody td {
	/* PC装飾用のスタイル */
}


table tr.btnAreaRow {
	/* PC装飾用のスタイル */
}


/* tableCommonSector */
.tableCommonSector {
	margin-bottom: 10px;
	border-bottom: #cccccc 1px solid;
}
.tableCommonSector thead th { display: none; }
.tableCommonSector tbody th {
	display: block;
	padding-bottom: 9px;
	border-bottom: #eeeeee 1px solid;
}
.tableCommonSector tbody .tableCommonSectorDate {
	padding: 3px 7px;
	background: #eeeeee;
	font-size: 14px;
	font-weight: bold;
}
.tableCommonSector tbody .tableCommonSectorDate em,
.tableCommonSector tbody .tableCommonSectorDate2 em {
	font-weight: bold;
}
.tableCommonSector tbody .tableCommonSectorDate span,
.tableCommonSector tbody .tableCommonSectorDate2 span {
	margin-left: 5px;
	font-weight: normal;
}
.tableCommonSector tbody .tableCommonSectorDate2 {
	font-size: 15px;
	font-weight: bold;
}
.tableCommonSector tbody td {
	display: block;
	padding: 10px 7px;
	border-bottom: #eeeeee 1px solid;
}
.tableCommonSector tbody td.hasSeparateLine {
	border-bottom: #cccccc 1px solid;
}
.tableCommonSector tbody td.lastCol {
	border: none;
}
.tableCommonSector tbody .tableCommonSectorDate+.tableCommonSectorRoute {
	padding: 10px 7px;
	font-weight: bold;
}
.tableCommonSector tbody .tableCommonSectorRoute .tableCommonSectorDepAirport {
	position: relative;
	display: inline-block;
	margin-right: 9px;
	padding-right: 15px;
}
.tableCommonSector tbody .tableCommonSectorRoute .tableCommonSectorDepAirport:after {
	position: absolute;
	top: 50%;
	right: -5px;
	content: "";
	display: block;
	margin-top: -4px;
	border: 5px solid transparent;
	border-left: #b3b3b3 5px solid;
}
.tableCommonSector tbody .tableCommonSectorRoute .crisscross .tableCommonSectorDepAirportSector {
	position: relative;
	display: inline-block;
	margin-right: 6px;
	padding-right: 20px;
}
.tableCommonSector tbody .tableCommonSectorRoute .crisscross .tableCommonSectorDepAirportSector:before {
	position: absolute;
	top: 50%;
	right: 9px;
	content: "";
	display: block;
	margin-top: -4px;
	border: 5px solid transparent;
	border-right: #b3b3b3 5px solid;
}
.tableCommonSector tbody .tableCommonSectorRoute .crisscross .tableCommonSectorDepAirportSector:after {
	position: absolute;
	top: 50%;
	right: -5px;
	content: "";
	display: block;
	margin-top: -4px;
	border: 5px solid transparent;
	border-left: #b3b3b3 5px solid;
}
.tableCommonSector tbody .tableCommonSectorRoute .tableCommonSectorArrAirport { display: inline-block; }
.tableCommonSector tbody .tableCommonSectorRoute2 span {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
}
.tableCommonSector tbody .tableCommonSectorRoute2 .tableCommonSectorDepAirport {
	margin-right: 8px;
	padding-right: 25px;
	background: url(../../image/bg/sp_bg_plain.png?5d5039f) no-repeat right center;
	background-size: 12px 13px;
}

.tableCommonSector tbody td.tableCommonSectorTdCell1 {
	/* PC装飾用のスタイル */
}
.tableCommonSector tbody td.tableCommonSectorTdCell2 {
	/* PC装飾用のスタイル */
}
.tableCommonSector tbody td.tableCommonSectorTdCell3 {
	/* PC装飾用のスタイル */
}
.tableCommonSector tbody td.tableCommonSectorTdCell4 {
	/* PC装飾用のスタイル */
}
.tableCommonSector tbody .tableCommonSectorBold { font-weight: bold; }
.tableCommonSector tbody .tableCommonSectorBold .crisscross span:first-of-type { font-weight: normal; }
.tableCommonSector tbody .tableCommonSectorAttention { color: #d14704; }
.tableCommonSector tbody .tableCommonSectorWarning { color: #e80000; }


/* tableCommonSector accessibility */
.tableCommonSector.accessibility tbody .tableCommonSectorRoute2 .tableCommonSectorDepAirport {
	background: none;
	padding-right: 0;
	margin-right: 13px;
}
.tableCommonSector.accessibility tbody .tableCommonSectorRoute2 .iconPlain {
	margin: 0 8px 0 0;
	vertical-align: -1px;
	width: 12px;
	height: 12px;
}

.tableCommonSector.accessibility tbody .tableCommonSectorRoute .tableCommonSectorDepAirport {
	padding-right: 0;
}
.tableCommonSector.accessibility tbody .tableCommonSectorRoute .tableCommonSectorDepAirport:after {
	display: none;
}
.tableCommonSector.accessibility tbody .tableCommonSectorRoute .tableCommonSectorDepAirport + .iconAirportArrow {
	margin: 0 9px 0 0;
}

/* crisscross新定義 */
span.crisscross {
	display: table;
	width: 100%;
	border: none;
}
span.crisscross>span {
	display: table-cell;
	width: 50%;
	padding: 0 7px 0 0;
	text-align: left;
	word-break: keep-all;
}
span.crisscross>span+span { padding: 0 0 0 7px; }
span.crisscross>span em { font-weight: bold; }
span.crisscross>span.col70 { width: 70%; }
span.crisscross>span.col30 { width: 30%; }

/* seatRequest */
.seatRequest {
	margin-bottom: 10px;
	border-bottom: #cccccc 1px solid;
}
.seatRequest th {
	padding-bottom: 9px;
	border-bottom: #eeeeee 1px solid;
}
.seatRequest th .seatRequestDate {
	margin-bottom: 10px;
	padding: 3px 7px;
	background: #eeeeee;
	font-weight: bold;
}
.seatRequest th .seatRequestDate em {
	font-weight: bold;
}
.seatRequest th .seatRequestDate span {
	margin-left: 5px;
	font-weight: normal;
}
.seatRequest th .seatRequestAirport {
	margin: 0 7px;
	font-weight: bold;
}
.seatRequest th .seatRequestAirport span { display: inline-block; }
.seatRequest th .seatRequestAirport span:first-child {
	position: relative;
	margin-right: 9px;
	padding-right: 15px;
}
.seatRequest th .seatRequestAirport span:first-child:after {
	position: absolute;
	top: 50%;
	right: -5px;
	content: "";
	display: block;
	margin-top: -4px;
	border: 5px solid transparent;
	border-left: #b3b3b3 5px solid;
}
.seatRequest td {
	padding: 10px 7px;
	width: 25%;
	border-bottom: #eeeeee 1px solid;
}
.seatRequest td.seatRequestPaxName {
	width: 75%
}
.seatRequest tr.noLine td {
	border-bottom: none;
}
.seatRequest tr.disabledFlight {
	background: #F4F4F4;
}
.seatRequest tr.disabledFlight th,
.seatRequest tr.disabledFlight td,
.seatRequest tr.disabledFlight td .notRequested {
	color: #c7c7c7;
}


.fare {
	margin-bottom: 0;
	border-bottom: #eeeeee 1px solid;
}
.fare thead { display: none; }
.fare tbody th {
	display: block;
	width: auto;
	padding: 3px 7px;
	background: #eeeeee;
	border: none;
	font-weight: bold;
}
.fare tbody th li { margin-bottom: 5px; }
.fare tbody th li:last-child { margin-bottom: 0; }
.fare tbody td {
	display: block;
	padding: 5px 7px;
	width: auto;
	border-bottom: #eeeeee 1px solid;
}
.fare tbody td:last-child {
	border-bottom: none;
}
.fare td a { font-weight: normal; }



/* SEG単位旅程 segItinerary */
.segItinerary.tableCommonSector {
	border-collapse: collapse;
	display: block;
	border-bottom: none;
}
.segItinerary.tableCommonSector tbody {
	display: block;
}
.segItinerary.tableCommonSector tr {
	display: block;
	padding: 10px 7px;
	border-bottom: 1px solid #cccccc;
	letter-spacing: -.4em;
}
.segItinerary.tableCommonSector tr:first-child {
	padding-top: 0;
}
.segItinerary.tableCommonSector tbody th,
.segItinerary.tableCommonSector tbody td {
	border: none;
	padding: 0;
	letter-spacing: normal;
}
.segItinerary.tableCommonSector .segItineraryDate {
	border-bottom: none;
}
.segItinerary.tableCommonSector .segItineraryRoute {
	margin: 5px 0;
}
.segItinerary.tableCommonSector .segItineraryRoute .route {
	font-weight: bold;
}
.segItinerary.tableCommonSector .segItineraryRoute .route .multiAirportLocation01 {
	font-weight: bold;
	color: #012f64;
}
.segItinerary.tableCommonSector .segItineraryRoute .route .multiAirportLocation02 {
	font-weight: bold;
	color: #1b8900;
}
.segItinerary.tableCommonSector .segItineraryRoute .route .multiAirportLocation03 {
	font-weight: bold;
	color: #db00ad;
}
.segItinerary.tableCommonSector .segItineraryRoute .route + .time {
	margin-top: 5px;
}
.segItinerary.tableCommonSector .segItineraryNumber,
.segItinerary.tableCommonSector .segItineraryFleet,
.segItinerary.tableCommonSector .segItineraryClass {
	display: inline;
	word-break: normal;
}
.segItinerary.tableCommonSector .segItineraryNumber > span,
.segItinerary.tableCommonSector .segItineraryFleet > span {
	display: inline;
	margin-right: 13px;
}
.segItinerary.tableCommonSector .segItineraryNumber span .externalLinkIcon,
.segItinerary.tableCommonSector .segItineraryFleet span .externalLinkIcon {
	margin-left: 4px;
	margin-top: 0;
}

/* SEG単位旅程 segItinerary nonDate（日付なし） */
.segItinerary.tableCommonSector.nonDate .segItineraryRoute .time {
	font-weight: bold;
	font-size: 17px;
	line-height: 1;
}

/* SEG単位旅程 微調整 */
.segItinerary.tableCommonSector.spNonBottom {
	margin-bottom: 0;
}
.segItinerary.tableCommonSector.spNonBottom tr:last-child {
	border-bottom: none;
}


/* マイレージ確認 mileNumber */
.mileNumber.tableCommonSector {
	display: block;
	border: none;
}
.mileNumber.tableCommonSector tbody{
	display: block;
}
.mileNumber.tableCommonSector tr {
	display: block;
	border-bottom: 1px solid #cccccc;
}
.mileNumber.tableCommonSector tr:after {
	content : '';
	display : block;
	clear : both;
}
.mileNumber.tableCommonSector tbody td {
	border: none;
	font-weight: bold;
	font-size: 14px;
	padding: 8px 7px;
}
.mileNumber.tableCommonSector .mileNumberPax {
	padding: 8px 7px;
	border-bottom: none;
}
.mileNumber.tableCommonSector tr:first-child .mileNumberPax {
	padding-top: 0;
}
.mileNumber.tableCommonSector .mileNumberPax .child {
	display: block;
	font-weight: normal;
	margin-top: 4px;
}
.mileNumber.tableCommonSector .mileNumberProgram,
.mileNumber.tableCommonSector .mileNumberNumber {
	float: left;
	box-sizing: border-box;
}
.mileNumber.tableCommonSector .mileNumberAge {
	padding-top: 0;
	font-weight: normal;
}
.mileNumber.tableCommonSector .mileNumberProgram {
	width: 58%;
	border-top: 1px solid #eeeeee;
	word-break: normal;
}
.mileNumber.tableCommonSector .mileNumberNumber {
	width: 42%;
	border-top: 1px solid #eeeeee;
	word-break: normal;
}
.mileNumber.tableCommonSector .mileNumberProgram {
	border-right: 1px solid #eeeeee;
}
.mileNumber.tableCommonSector tbody td .heading {
	display: block;
	margin-bottom: 5px;
	font-weight: normal;
	font-size: 13px;
}
.mileNumber.tableCommonSector tbody th .heading,
.mileNumber.tableCommonSector tbody td.mileNumberAge .heading {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/* 印刷画面フライト情報 checkinFlightInfo */
.checkinFlightInfo.tableCommonSector {
	border-collapse: collapse;
	margin-bottom: 20px;
}
.checkinFlightInfo.tableCommonSector + h3 {
	margin-top: 20px;
}
.checkinFlightInfo.tableCommonSector tr {
	border-bottom: 1px solid #cccccc;
}
.checkinFlightInfo.tableCommonSector tbody th {
	padding: 10px 7px;
}
.checkinFlightInfo.tableCommonSector tr td:last-child {
	border-bottom: none;
}
.checkinFlightInfo.tableCommonSector tbody tr:first-child .checkinFlightInfoDate {
	border-top: 1px solid #cccccc;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoDate {
	border-bottom: none;
	padding-bottom: 2px;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoRoute {
	padding: 2px 7px 3px;
	border-bottom: none;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoRoute .route {
	font-weight: bold;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoRoute .time {
	margin-top: 5px;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoFlight {
	border-bottom: none;
	padding: 2px 7px 3px;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoFlight > span {
	margin-right: 13px;
	word-break: normal;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoWaitingStatus {
	padding: 2px 7px 10px;
}
.checkinFlightInfo.tableCommonSector dl dd {
	font-size: 14px;
	font-weight: bold;
	margin-top: 5px;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoSeatStatus {
	padding: 0;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoSeatStatus .inner {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoSeatStatus .inner dl {
	display: table-cell;
	padding: 10px 7px;
	vertical-align: top;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoSeatStatus .inner dl dd {
	word-break: normal;
}
.checkinFlightInfo.tableCommonSector .checkinFlightInfoSeatStatus .inner dl + dl {
	border-left: 1px solid #eeeeee;
}


/* 空席待ち番号発行 waitingNumber */
.waitingNumberTable thead th {
	padding: 0 0 6px 7px;
	text-align: left;
	border-bottom: #cccccc 1px solid;
}
.waitingNumberTable tbody th {
	padding: 10px 0 10px 7px;
	background: none;
	border-bottom: #cccccc 1px solid;
	text-align: left;
	vertical-align: text-top;
}
.waitingNumberTable tbody td {
	padding: 10px 0 10px 7px;
	border-bottom: 1px solid #cccccc;
	text-align: left;
}
.waitingNumberTable .waitingNumberPax {
	width: 50%;
	vertical-align: middle;
	box-sizing: border-box;
}
.waitingNumberTable .waitingNumberPax .child {
	display: block;
	font-weight: normal;
	margin-top: 4px;
}


/*6:form
=================================*/
.hiddenField { display: none; }
input[type="text"] {
	width: 100%;
	padding: 5px 7px;
	border: 1px solid #bbbbbb;
	-webkit-appearance: none;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	box-shadow: 0 1px 1px rgba(0,0,0,0.2) inset;
	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2) inset;
	font-size: 14px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
input[type="password"] {
	width: 100%;
	padding: 5px 7px;
	border: 1px solid #bbbbbb;
	-webkit-appearance: none;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	box-shadow: 0 1px 1px rgba(0,0,0,0.2) inset;
	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2) inset;
	font-size: 14px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

input[type="checkbox"] {
	margin-right: 5px;
	background: none;
	border: 1px solid #bbbbbb;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-ms-box-shadow: none;
	vertical-align: middle;
}

input[type="radio"] {
	margin-right: 5px;
	background: none;
	border: 1px solid #bbbbbb;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-ms-box-shadow: none;
	vertical-align: middle;
}
input[type="radio"]:checked { background: #012f64; }
input[type="radio"].hiddenField { display: none; }
input[type="radio"]+input[type="text"] {
	width: 91%;
}
input.inputMandatory { background-color: #fffcf0; }
input.disabled {
	color: #898989;
	background-color: #e6e6e6;
	border-color: #e6e6e6;
	box-shadow: none;
	-webkit-box-shadow: none;
}

select {
	position: relative;
	width: 100%;
	padding: 5px 7px;
	background: url("../../image/bg/sp_bg_select.png?6906a4e") no-repeat 96% 49% #ffffff;
	background-size: 7px 6px;
	border: 1px solid #bbbbbb;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	box-shadow: 0 1px 1px rgba(0,0,0,0.2) inset;
	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2) inset;
	font-size: 14px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	appearance: button;
	-webkit-appearance: button;
}

select.inputMandatory { background-color: #fffcf0; }
select.disabled {
	background-color: #cccccc;
	border-color: #e6e6e6;
	box-shadow: none;
	-webkit-box-shadow: none;
	opacity: 0.5;
}
/*
aswbed_applyinputelement_utility.jsから付与されるクラス名へのスタイリング
input.focus { border: 1px solid #012f64; }
select.focus { border: 1px solid #012f64; }
*/

/* error */
input[type="text"].error {
	background: #feeeef;
	border: #e80000 1px solid;
}
input[type="password"].error {
	background: #feeeef;
	border: #e80000 1px solid;
}
select.error {
	background-color: #feeeef;
	border: #e80000 1px solid;
}
textarea.error {
	background: #feeeef;
	border: #e80000 1px solid !important;
}
.errorTxt,
div.errorTxt span {
	display: block;
	margin: 5px 7px 0;
	color: #e80000;
}
div.errorTxt,
.section .errorTxt,
.section div.errorTxt span {
	margin-left: 0;
	margin-right: 0;
}
.errorTxt,
div.errorTxt { margin-bottom: 20px; }

div.errorTxt span.externalLinkIcon {
	display: inline;
	margin: 0 0 0 4px;
}

/* infoErrorArea */
.infoErrorArea {
	margin: 10px 7px;
}
.infoErrorArea .text {
	color: #e80000;
}

/* noticeTxt */
span.noticeTxt {
	display: block;
	margin-top: 5px;
}

/* codicil */
span.codicil { font-weight: normal; }

/* infantMame */
span.infantName {
	display: block;
	font-weight: normal;
}


/* registered */
.registered { color: #c2c2c2; }
.registered.cascadedSwitch {
	/* PC装飾用のスタイル */
}
.registered.cascadedSwitch li {
	/* PC装飾用のスタイル */
}
.registered .radioSwitch li {
	background: none;
	border-color: #e8e8e8;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-ms-box-shadow: none;
}
.registered input[type="text"]:disabled {
	color: #c2c2c2;
	background: #e8e8e8;
	border-color: #e8e8e8;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-ms-box-shadow: none;
	opacity: 1;
	-webkit-text-fill-color: #c2c2c2;
}
.registered select {
	color: #c2c2c2;
	background: #e8e8e8;
	border-color: #f0f0f0;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-ms-box-shadow: none;
}


/* input width */
.widthName {
	/* PC装飾用のスタイル */
}
.widthNameMiddle {
	/* PC装飾用のスタイル */
}
.widthShort {
	/* PC装飾用のスタイル */
}
.widthMiddle {
	/* PC装飾用のスタイル */
}
.widthLarge {
	/* PC装飾用のスタイル */
}
.widthCountry {
    /* PC装飾用のスタイル */
}
select.basicWidth {
	/* PC装飾用のスタイル */
}
select.widthSelectShort {
	/* PC装飾用のスタイル */
}
select.widthSelectMiddle {
	/* PC装飾用のスタイル */
}
.downLineInput {
	/* PC装飾用のスタイル */
}
.articleLine {
	margin: 0 7px 10px;
	padding: 0 7px;
	border-bottom: #eeeeee 1px solid;
}

/* btn */
.btnAreaBlockRelated.hasBottom,
.btnAreaBlockRelatedWrap li.hasBottom { margin-bottom: 20px; }
.btnAreaBlockRelated.hasBottom30,
.btnAreaBlockRelatedWrap li.hasBottom30 { margin-bottom: 30px; }
.section .mileageButton {
	margin: 10px 0;
	text-align: center;
}
.section .noBottomButton { margin-bottom: 0; }
.btnBase {
	position: relative;
	display: inline-block;
	width: 80%;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	font-size: 14px;
	font-weight: bold;
	background: none;
	text-decoration: none;
	-webkit-appearance: none;
	word-wrap: break-word;
}
.btnBase[type="submit"],
.btnBase[type="button"] { white-space: pre-wrap; }
span.btnBase {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
a.btnBase {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	color: #ffffff;
	cursor: default;
	text-decoration: none;
}
a.btnBase:focus {
	outline-offset: 3px;
}
.btnBase.btnSendEmail { width: 78.5%; }
.btnMainStream {
	background-color: #d54100;
	border: 1px solid #d54100;
	border-bottom: 2px solid #95530b;
	color: #ffffff;
}
.btnAside {
	background-color: #ffffff;
	border: 1px solid #013063;
	border-bottom: 2px solid #013063;
	color: #002c64;
}
a.btnAside { color: #002c64; }

.btnSubStream {
	background-color: #012f64;
	border: 1px solid #011f3f;
	border-bottom: 2px solid #011f3f;
	color: #ffffff;
}
.btnCancel {
	background-color: #535353;
	border: 1px solid #535353;
	border-bottom: 2px solid #333333;
	color: #ffffff;
}

.btnDeactive {
	background-color: #e4e4e4;
	border: 1px solid #e4e4e4;
	border-bottom: 2px solid #e4e4e4;
	color: #c2c2c2;
	opacity: 1;
	-webkit-text-fill-color: #c2c2c2;
}

.btnFunction {
	background-color: #ffffff;
	border: 1px solid #cccccc;
	color: #002c64;
}
a.btnFunction { color: #002c64; }

/* 画面遷移しないボタン */
.btnNonTransition {
	color: #012f64;
	background: #ffffff;
	border: 1px solid #bbbbbb;
}
.btnReset {
	text-decoration:underline;
	background: #ffffff;
	border: 1px solid #bbbbbb;
}
.btnReset:hover {
	text-decoration: underline;
	color: #196ed3;
}


.btnAppurtenant {
	/* PC装飾用のスタイル */
}
.btnHasTopLine {
	padding-top: 30px;
	border-top: #cccccc 1px solid;
}
.btnHasTopLine .btnAreaSubmitWrap {
	margin-top: 0;
}
.btnHasTopLineSector {
	padding-top: 30px;
	border-top: #012f64 3px solid;
}

/* 新定義 */
.btnAreaSubmit {
	margin: 0 7px 10px;
	text-align: center;
}
.btnAreaSubmit+.btnAreaSubmit {
	margin-top: 0;
}
.btnAreaSubmit.hasBottom {
	margin-bottom: 30px;
}
.btnAreaSubmitSpBorder {
	margin: 0 7px 30px;
	padding-top: 30px;
	border-top: #cccccc 1px solid;
	text-align: center;
}
.btnAreaSubmitWrap li.btnAreaSubmitSpBorder {
	margin: 0 0 30px;
}
.btnAreaBlockRelated,
.btnAreaBlockRelatedWrap li,
.btnAreaSubmitFloat li {
	margin: 0 7px 10px;
	text-align: center;
}
.btnAreaAnotherFlow {
	margin: 30px 7px;
	padding-top: 30px;
	border-top: #cccccc 1px solid;
	text-align: center;
}
.btnAreaAnotherFlow + .btnAreaAnotherFlow {
	margin-top: -20px; /* デザイン再現のためのネガティブmargin */
	padding-top: 0;
	border-top: none;
}
.btnAreaSpBorderAnnexed {
	margin: 0 7px 15px;
	padding-top: 10px;
	border-top: #cccccc 1px solid;
	text-align: center;
}
.btnAreaBlock {
	margin: 0 7px 30px;
	text-align: center;
}
.btnAreaBlockRelatedSub {
	margin: 15px 7px 20px;
}

.positionRightBtnArea {
	text-align: right;
}
.positionRightBtnArea li{
	margin: 0 7px 10px 0;
}
.positionRightBtnArea .btnBase {
	width: auto;
}

/* 上下幅装飾用 */
.btnVerticalMain { padding: 9px 15px; }
.btnVerticalMain.btnCancel,
.btnVerticalSub { padding: 5px 15px; }

.btnBaseShort { padding: 9px 15px; }
.btnBaseMiddle { padding: 5px 15px; }
.btnSendEmail { padding: 5px 15px; }
/*座席選択テーブル内のボタン*/
.btnSeatSelect { padding: 5px 15px; }
/* Modal button */
.btnModal { padding: 5px 15px; line-height: 1.4; }

/* 横幅装飾用 */
.btnWidthFixed {
	/* PC装飾用のスタイル */
}
.btnWidthVariable {
	/* PC装飾用のスタイル */
}

.btnArrowNext {
	position: relative;
}
.btnArrowNext:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 13%;
	width: 6px;
	height: 6px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	margin-top: -4px;
	transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
}
.btnArrowNext.disabled:after {
	display: none;
}
.btnAreaSubmitSpBorder.btnArrowNext:after { margin-top: 9px; }
.btnHasTopLine.btnArrowNext:after,
.btnHasTopLine.btnArrowBack:after,
.btnAreaSubmitSpBorder.btnArrowBack:after,
.btnHasTopLineSector.btnArrowNext:after { margin-top: 10px; }
.btnAreaAnotherFlow.btnArrowNext:after { margin-top: 11px; }
.btnAreaAnotherFlow + .btnAreaAnotherFlow.btnArrowNext:after { margin-top: -4px; }
.btnAreaSpBorderAnnexed.btnArrowNext:after { margin-top: 0; }
.btnArrowNextAside:after {
	border-color: #0f396d;
}

.btnArrowBack {
	position: relative;
}
.btnArrowBack:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 13%;
	width: 6px;
	height: 6px;
	border-top: solid 2px #ffffff;
	border-left: solid 2px #ffffff;
	margin-top: -4px;
	transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
}

/* 横並びボタン　新定義 */
.btnAreaSubmitWrap { margin: 30px 7px; }
.btnAreaSubmitWrap li { text-align: center; }
.btnAreaSubmitWrap li.lastChild { margin-top: 10px; }
.btnAreaSubmitWrap li.hasBottom10 { margin-bottom: 10px; }
.btnAreaSubmitWrap li.hasBottom30 { margin-bottom: 30px; }
.btnAreaSubmitWrap li p { margin-bottom: 10px; }
.btnAreaSubmitWrap li p:last-child { margin-bottom: 30px; } /* 中止ボタン等でボタンが3つになる場合、子要素にてmargin調整 */
.btnAreaSubmitWrap li.btnFloat {
	/* PC装飾用のスタイル */
}
.btnAreaSubmitWrap li.btnNoFloat {
	/* PC装飾用のスタイル */
}

.btnAreaSubmitWrap+.btnAreaBlockRelated { margin: 10px 7px 0; }

.btnAreaSubmitWrap li.btnFloat .nextRoute {
	width: 80%;
	margin: 0 auto 20px;
	letter-spacing: normal;
	text-align: left;
}
.btnAreaSubmitWrap li.btnFloat .nextRoute .nextText {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 4px;
}
.btnAreaSubmitWrap li.btnFloat .nextRoute .route {
	font-size: 14px;
}
.btnAreaSubmitWrap li.btnFloat .nextRoute .route .depAirport {
	display: inline-block;
	margin-right: 16px;
}
.btnAreaSubmitWrap li.btnFloat .nextRoute .route .iconTo {
	margin-right: 13px;
	vertical-align: 1px;
}
.btnAreaSubmitWrap li.btnFloat .nextRoute .route .arrAirport {
	display: inline-block;
}

/* ワンソース用 */
.btnAreaSubmitWrap.oneSouce {
	display: flex;
	flex-flow: column nowrap;
}
.btnAreaSubmitWrap.oneSouce .btnArrowBack {
	order: 1;
}

/* 逆区間アイコンボタン */
.btnReverse2 {
	display: inline-block;
	overflow: hidden;
	width: 25px;
	height: 25px;
	background: url(../../image/btn/sp_btn_reverse2.png?00a1622) left top no-repeat;
	background-size: 25px;
	text-indent: 100%;
	white-space: nowrap;
	vertical-align: middle;
}

/* 個別選択アイコンボタン */
.btnBase.hasIndividualIcon {
	padding: 5px 12px 3px 28px;
	background: url(../../image/btn/btn_individual.png?f9fb58e) 8px center no-repeat;
	background-size: 14px 16px;
	font-size: 12px;
}
/* まとめて選択アイコンボタン */
.btnBase.hasGroupIcon {
	padding: 5px 12px 3px 28px;
	background: url(../../image/btn/btn_group.png?a6ccec4) 8px center no-repeat;
	background-size: 14px 16px;
	font-size: 12px;
}

.btnHasTopMargin {
	margin-top: 30px;
}

/* section内のボタン幅 */
.section .btnAreaSubmit,
.section .btnAreaSubmitSpBorder,
.section .btnAreaBlockRelated,
.section .btnAreaBlockRelatedWrap li,
.section .btnAreaSubmitFloat li,
.section .btnAreaAnotherFlow,
.section .btnAreaSpBorderAnnexed,
.section .btnAreaBlock,
.section .btnAreaBlockRelatedSub,
.section .btnAreaSubmitWrap,
.section .btnAreaSubmitWrap+.btnAreaBlockRelated {
	margin-left: 0;
	margin-right: 0;
}

/* btnAreaGrayLine */
.btnAreaGrayLine {
	position: relative;
	padding: 30px 0 0;
	margin: 30px 0;
	border-top: 1px solid #cccccc;
	text-align: center;
}


/* radioボタンの必須 */
.radioMandatory li {
	background: #fffcf0;
}

/* radioSwitch */
.radioSwitch:after {
	content : '';
	display : block;
	clear : both;
}
.radioSwitch li {
	position: relative;
	display: block;
	float: left;
	margin-right: 0;
	width: 50%;
	border: #bbbbbb 1px solid;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
.radioSwitch li:first-child { border-radius: 3px 0 0 3px; }
.radioSwitch li:last-child {
	border-left: 0;
	border-radius: 0 3px 3px 0;
}
.radioSwitch input[type="radio"] {
	position: absolute;
	left: 5px;
	top: 50%;
	margin-top: -8px;
}
.radioSwitch label {
	display: block;
	padding: 5px 0 5px 10px;
	text-align: center;
}
.radioSwitch label span {
	display: table;
	width: 100%;
	height: 100%;
}
.radioSwitch label span span {
	display: table-cell;
	padding-left: 10px;
	padding-right: 3px;
	vertical-align: middle;
}
.radioSwitch.inputMandatory label { background-color: #fffcf0; }
.radioSwitch input[type="radio"]:checked + label { background: #caedff; }
.radioSwitch li:first-child input[type="radio"]:checked + label { border-radius: 2px 0 0 2px; }
.radioSwitch li:last-child input[type="radio"]:checked + label { border-radius: 0 2px 2px 0; }

.radioSwitch.error li {
	background: #feeeef;
	border-color: #e80000;
}

/*jsを使用しない高さ揃えラジオ*/
.radioSwitch.modifyRadio {
    display: flex;
}
.radioSwitch.modifyRadio li {
    width: 50%;
    position: relative;
}
.radioSwitch.modifyRadio li label{
    box-sizing: border-box;
    height: 100%;
    padding: 5px 9px 5px 26px;
    word-break:break-word;
    display: flex;
    justify-content: center;
    align-items: center;
}
.radioSwitch.modifyRadio label span span {
    word-break:break-word;
    padding: 0;
}

/* cascadedSwitch */
ul.cascadedSwitch {
	/* PC装飾用のスタイル */
}
ul.cascadedSwitch li {
	position: relative;
	margin: 0;
}
ul.cascadedSwitch input[type="radio"] {
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -7px;
}
ul.cascadedSwitch label {
	display: block;
	padding: 8px 0 8px 20px;
}
ul.cascadedSwitch .hasInputText { height: 30px; }
ul.cascadedSwitch .hasInputText input[type="text"] {
	position: absolute;
	left: 20px;
	top: 0;
	width: 94%;
}

/* changeSwitch */
.changeSwitch:after {
	content : '';
	display : block;
	clear : both;
}
.changeSwitch li {
	position: relative;
	display: block;
	border: #bbbbbb 1px solid;
	border-bottom: none;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
.changeSwitch li:first-child { border-radius: 4px 4px 0 0; }
.changeSwitch li:last-child {
	border-bottom: #bbbbbb 1px solid;
	border-radius: 0 0 4px 4px;
}
.changeSwitch input[type="radio"] {
	position: absolute;
	left: 10px;
	top: 10px;
}
.changeSwitch label {
	display: block;
	padding: 8px 8px 8px 28px;
}
.changeSwitch input[type="radio"]:checked + label { background: #caedff; }
.changeSwitch li:first-child input[type="radio"]:checked + label { border-radius: 4px 4px 0 0; }
.changeSwitch li:last-child input[type="radio"]:checked + label { border-radius: 0 0 4px 4px; }

.changeSwitch.error li {
	background: #feeeef;
	border-color: #e80000;
}



/* inputModalWindow */
.inputModalWindow {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0;
	background: #ffffff;
	z-index: 1000;
}
.inputModalWindow h2 {
	margin-top: 10px;
	padding: 0 7px;
	border: none;
	color: #012F64;
}
.inputModalWindow h3 {
	margin: 10px 0 0;
	padding: 5px 8px;
	background: #eeeeee;
}
.inputModalWindow h3 span {
	position: static;
	display: inline-block;
	float: right;
}
.inputModalWindow .linkList li a.selected {
	position: relative;
	background: #caedff;
}
.inputModalWindow .linkList li a.selected:before {
	content: "";
	display: block;
	position: absolute;
	top: 10px;
	right: 10px;
	width: 3px;
	height: 15px;
	background: #012f64;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
.inputModalWindow .linkList li a.selected:after {
	content: "";
	display: block;
	position: absolute;
	top: 15px;
	right: 17px;
	width: 3px;
	height: 8px;
	background: #012f64;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

#maskForClose {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
	z-index: 100;
	cursor: pointer;
}

.modalHeader {
	position: relative;
	top: 0;
	left: 0;
	height: 28px;
	padding: 8px;
	background: #999999;
	z-index: 1001;
}
.modalHeader:after {
	content : '';
	display : block;
	clear : both;
}

.historyContainer .linkList span {
	display: block;
	padding: 10px;
	color: #cccccc;
}

.listContainer {
	position: relative;
	width: auto;
	z-index: 990;
}

.modalBack a {
	position: absolute;
	padding: 6px 10px 6px 20px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	background: #ffffff;
	color: #012f64;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	text-decoration: none;
	z-index: 5;
}
.modalBack a:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 6px;
	width: 6px;
	height: 6px;
	border-top: solid 2px #012f64;
	border-right: solid 2px #012f64;
	margin-top: -4px;
	transform: rotate(225deg);
		-webkit-transform: rotate(225deg);
}

.modalClose { float: right; }
.modalClose a {
	position: relative;
	display: inline-block;
	width: 25px;
	height: 25px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	background: #ffffff;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	text-indent: -9999px;
}
.modalClose a:before {
	content: "";
	display: block;
	position: absolute;
	top: 7px;
	right: 11px;
	width: 2px;
	height: 11px;
	background: #012f64;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
.modalClose a:after {
	content: "";
	display: block;
	position: absolute;
	top: 7px;
	right: 11px;
	width: 2px;
	height: 11px;
	background: #012f64;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

.btnAreaViewAll {
	text-align: center;
}
.btnAreaViewAll a {
	padding: 5px;
	background: #ffffff;
	border: 1px solid #cccccc;
	color: #012f64;
}
.btnAreaViewAll a:after {
	position: absolute;
	top: 50%;
	right: 6px;
	content: "";
	display: block;
	margin-top: -3px;
	border: 7px solid transparent;
	border-top: #012f64 7px solid;
}
.linkList + .btnAreaViewAll { margin-top: 10px; }

.btnClose {
	margin-top: 10px;
	text-align: center;
}
.btnClose a {
	padding: 5px;
	background: #ffffff;
	border: 1px solid #cccccc;
	color: #012f64;
}
.btnClose a:after {
	position: absolute;
	top: 50%;
	right: 6px;
	content: "";
	display: block;
	margin-top: -10px;
	border: 7px solid transparent;
	border-bottom: #012f64 7px solid;
}

.btnModalClose {
	margin-top: 20px;
	padding: 8px 0px;
	background: #999999;
	text-align: center;
}
.btnModalClose a {
	padding: 5px;
	background: #ffffff;
	color: #012f64;
}



/* 入国管理情報入力 */
.visaInformation { display: none; }
.greenCardInformation { display: none; }
.destinationInformation { display: none; }


/*7: modal
=================================*/
#modalArea,
#displayExpireModalArea {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 5000;
	overflow: auto;
}
#modalArea [tabindex] { outline: none; }
#displayExpireModalArea { z-index: 10000; }
#displayExpireModalArea.float {
  position: fixed;
  height: 100%;
  background: url("../../image/bg/bg_modal_window.png?503635b");
}
.modalContainer {
	position: relative;
	top: 0;
	padding: 10px 10px 20px;
	background: #ffffff;
	z-index: 5002;
}
.modalContainer img { vertical-align: middle; }
.modalContainer ul.errorTxt { margin: 0 0 10px; }
.modalContainer ul.errorTxt li { margin: 0 0 10px; }
.modalContainer .dialogTitle {
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: bold;
}
.modalContainer p.modalButton {
	margin: 20px 0 0;
	text-align: center;
}
.modalContainer ul.modalBtnHorizontal { margin: 20px 0 0; }
.modalContainer ul.modalBtnHorizontal li { text-align: center; }
.modalContainer ul.modalBtnHorizontal li + li { margin-top: 20px; }
.modalError {
	display: none;
	border: 6px solid #e80000;
	color: #e80000;
}
.modalConfirm {
	display: none;
	border: 6px solid #f1830a;
}
.modalWarn {
	display: none;
	border: 6px solid #f1830a;
}

/* モーダルの幅指定 */
.modalSmall {
	/* PC装飾用のスタイル */
}
.modalMedium {
	/* PC装飾用のスタイル */
}
.modalLarge {
	/* PC装飾用のスタイル */
}

.modalExpire {
	display: none;
	border-radius: 3px;
}
.modalExpire.modalContainer {
	padding: 13px 12px 16px;
	width: 90%;
	margin: 19px auto 0;
	box-sizing: border-box;
}
.modalExpireHead {
	margin-bottom: 5px;
}
.modalExpireHead .heading {
	display: block;
	margin: 0;
	color: #012f64;
	font-weight: bold;
	font-size: 15px;
	line-height: 1.3;
}
.modalExpireBody p {
	padding: 0;
}
.modalExpire.modalContainer .modalMessage {
	margin-bottom: 10px;
}
.modalExpire.modalContainer p.modalButton {
	padding: 0px;
	margin: 0;
}
.modalExpire.modalContainer p.modalButton .btnMainStream {
  border: 1px solid #012F64;
  background-color: #012F64;
  width: 87%;
  font-weight: normal;
}


.modalContainer.modalCommon {
	padding: 0;
	width: 90%;
	margin: 19px auto 0;
	box-sizing: border-box;
	display: none;
}
.modalContainer.modalCommon .modalCommonHead {
	position: relative;
	background: #012f64;
}
.modalContainer.modalCommon .modalCommonHead .heading {
	padding: 12px;
	margin: 0;
	font-size: 15px;
	font-weight: bold;
	color: #ffffff;
}
.modalContainer.modalCommon .modalCommonHead .modalCommonClose {
	position: absolute;
	position: absolute;
	top: 50%;
	margin-top: -12px;
	right: 10px;
}
.modalContainer.modalCommon .modalCommonBody {
	padding: 15px 10px;
}

/* Peach Aviationのサイトへ遷移確認モーダル */
.modalConfirm.peachConfirmDialog {
	border-color: #9b308c;
}
.modalContainer.peachConfirmDialog .dialogMessage {
	text-align: center;
	margin-bottom: 20px;
}
.modalContainer.peachConfirmDialog .peachLogo {
	text-align: center;
	margin: 13px 0 17px;
}
.modalContainer.peachConfirmDialog .note {
	font-size: 11px;
	margin-top: 17px;
}

/* 確認番号注意喚起モーダル */
.modalConfirmationNo {
	border: 6px solid #e80000;
}
.modalConfirmationNo .dialogMessage p {
	padding: 0;
}
.modalConfirmationNo .messageText {
	margin-bottom: 10px;
}
.modalConfirmationNo .messageText em {
	font-weight: bold;
}
.modalConfirmationNo .messageWarning {
	font-size: 108%;
	text-align: center;
}
.modalConfirmationNo .messageWarning em {
	color: #e80000;
	font-weight: bold;
}

/* spCloseContents */
.spCloseContents { position: relative; }
.spShowContents {
	position: relative;
	margin-bottom: 20px;
}
.spToggleContents {
	display: none;
	margin-bottom: 10px;
	padding-bottom: 43px;
}
.spToggle a {
	position: absolute;
	right: 10px;
	bottom: 8px;
	width: 25px;
	height: 26px;
	background: url(../../image/btn/sp_toggle_l.png?80b8316) left top no-repeat;
	background-size: 25px 52px;
	-webkit-background-size: 25px 52px;
	text-indent: -9999px;
}



.bothEndsBorder {
	/* PC装飾用のスタイル */
}


/* priceSummary */
.priceSummaryWrap {
	/* PC装飾用のスタイル */
}

.priceSummary { border-top: #eeeeee 1px solid; }
.priceSummary+.priceSummary { border-top: none; }
.priceSummary dl {
	display: table;
	width: 100%;
	border-bottom: #eeeeee 1px solid;
}
.priceSummary dl.multiBox {
	display: block;
	padding: 10px 0;
}
.priceSummary dl.multiBox > div {
	display: table;
	width: 100%;
}
.priceSummary dl.multiBox > div + div{
	margin-top: 4px;
}
.priceSummary dl.noBottomLine { border-bottom: none; }
.priceSummary dt {
	display: table-cell;
	padding: 10px 7px;
	width: 50%;
	font-weight: bold;
	word-break: break-all;
	vertical-align: middle;
}
.priceSummary .iconPromotion {
	margin-left: 5px;
	display: inline-block;
	padding: 1px;
	background: #ffe100;
	border: #dcc200 1px solid;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	font-size: 10px;
	font-weight: bold;
	text-align: center;
}
.priceSummary dd {
	display: table-cell;
	padding: 7px;
	width: 50%;
	font-weight: bold;
	text-align: right;
	vertical-align: middle;
	word-break: break-all;
}
.priceSummary dl.multiBox > div dt,
.priceSummary dl.multiBox > div dd {
	padding: 0 7px;
	word-break: normal;
}

.priceSummary dd span.currencyCode { margin-right: 7px; font-size: 14px; }
.priceSummary dd em.price+span.currencyCode { margin-right: 0; }
.priceSummary dd em.price { margin-right: 7px; font-size: 20px; }
.priceSummary dd em.price span { margin-right: 5px; }
.priceSummary dd span.note { display: block; }
.priceSummary dd span.note + br { display: none; }
.priceSummary .priceSmall dd span.currencyCode { font-weight: normal; }
.priceSummary .priceSmall dd em.price { font-weight: normal; }
.priceSummary dd span.headCount { font-weight: normal; }

.priceSummary dl+dl { border: none; }
.priceSummary dl+dl dt { padding-bottom: 0; }
.priceSummary dl+dl dd { padding-bottom: 0; }
.priceSummary dl+dl dd em.price,
.priceSummary dl+dl dd span.currencyCode { font-size: 13px; }
.priceSummary dl+dl.priceSummaryMileage dd em.price { font-size: 20px; }
.priceSummary dl+dl.hasBottom {	border-bottom: #eeeeee 1px solid; }
.priceSummary dl+dl.hasBottom dt,
.priceSummary dl+dl.hasBottom dd { padding-bottom: 10px; }

.priceSummary dl:first-child+dl dt,
.priceSummary dl:first-child+dl dd { padding-top: 10px; }
.priceSummary dl:last-child dt,
.priceSummary dl:last-child dd { padding-bottom: 10px; }

.priceSummary.upgradePayment .currencyCode+.price,
.priceSummary.upgradeRefunds .currencyCode+.price { margin-right: 0;}

.breakdown {
	/* PC装飾用のスタイル */
}
.price {
	/* PC装飾用のスタイル */
}

.priceSummary dl.inactive {
	color: #aaa;
}
.priceSummary dl.inactive dt,
.priceSummary dl.inactive dd em.price,
.priceSummary dl.inactive span.currencyCode {
	font-weight: normal;
}

.priceSummary dt.col70 {
	width: 70%;
}
.priceSummary dd.col30 {
	width: 30%;
}
.priceSummary dt.col65 {
	width: 65%;
}
.priceSummary dd.col35 {
	width: 35%;
}
.priceSummary dt.col60 {
	width: 60%;
}
.priceSummary dd.col40 {
	width: 40%;
}

/* mileage */
.mileage {
	/* PC装飾用のスタイル */
}
.totalMileage {
	display: table;
	width: 100%;
	border-top: #eeeeee 1px solid;
	border-bottom: #eeeeee 1px solid;
}
.totalMileage dt {
	display: table-cell;
	padding: 5px 7px;
	width: 50%;
}
.totalMileage dd {
	display: table-cell;
	padding: 5px 7px;
	width: 50%;
	font-weight: bold;
}


/* serviceMenu */
.serviceMenu .menuList { border-top: 1px solid #eeeeee; }
.serviceMenu .menuList li:last-child { border-bottom: 1px solid #cccccc;}

/* reserveMenu */
.reserveMenu {
	/* PC装飾用のスタイル */
}


/* formCheckbox */
.formCheckbox {
	min-height: 30px;
	margin: 10px 0 0;
	background: #eeeeee;
}
.formCheckbox .checkboxImage {
	display: block;
	width: 30px;
	height: 30px;
	background: url(../../image/bg/sp_bg_checkbox_note.png?c51a0c9) left top no-repeat;
	background-size: 30px 30px;
}
.formCheckbox .checkboxImage.checked { background-image: url(../../image/bg/sp_bg_checkbox_note_checked.png?a5c6fdc); }
.formCheckbox input[type=checkbox] {
	position: absolute;
	visibility: hidden;
}
.formCheckbox.error { border: #e80000 1px solid; }
.formCheckbox .formCheckboxContents { padding: 10px; }
.formCheckbox.error .formCheckboxContents { padding: 9px; }
.formCheckbox .formCheckboxContents+.formCheckboxContents { border-top: #d8d8d8 1px solid; }

.formCheckbox .checkTitle {
	margin-bottom: 10px;
	font-weight: bold;
}
.formCheckbox .checkSubTitle,
.formCheckbox .captchaImage {
	margin-bottom: 10px;
}
.captchaInput span {
	display: block;
	margin-bottom: 5px;
}
.formCheckbox dl {
	margin-bottom: 10px;
}
.formCheckbox dt {
	margin-bottom: 10px;
	font-weight: bold;
}
.formCheckbox dd {
	margin-top: 5px;
}
.formCheckbox ul {
	margin-bottom: 10px;
}
.formCheckbox ul li {
	margin-left: 14px;
}
.formCheckbox li+li {
	margin-top: 5px;
}
.formCheckbox ul li:before {
	display: inline-block;
	content: "";
	width: 7px;
	height: 7px;
	margin: 0 3px 2px -10px;
	background: url(../../image/icon/icon_info_disc.png?4d423fa) no-repeat center center;
	background-size: 7px 7px;
}
.formCheckbox table td {
	padding: 0;
}
.formCheckbox table+table {
	margin-top: 7px;
	border-top: #d8d8d8 1px solid;
}
.formCheckbox table+table td {
	padding-top: 7px;
}
.formCheckbox table td.selectCheckboxCell {
	width: 30px;
	vertical-align: top;
}
.formCheckbox table td.textCell {
	padding-left: 7px;
	vertical-align: middle;
}
.formCheckbox .requiredTxt {
	color: #da0303;
}

/* formCheckbox accessibility*/
.accessibility.formCheckbox {
	background: #f5f5f5;
}
.accessibility.formCheckbox input[type=checkbox] {
	position: static;
	visibility: visible;
	margin-right: 0;
}
.accessibility.formCheckbox .checkboxWrap {
	display: inline-block;
	padding: 6px;
	background: #d74100;
	font-size: 0;
}
.accessibility.formCheckbox .checkboxWrap span {
	display: inline-block;
	padding: 3px;
	background: #ffffff;
	border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	-o-border-radius: 2px;
	font-size: 0;
}
.accessibility.formCheckbox .lead {
	margin-bottom: 10px;
}
.accessibility.formCheckbox .lead + p,
.accessibility.formCheckbox .leadTxt + p {
	margin-top: 5px;
}
.accessibility.formCheckbox .leadTxt {
   margin: 0 0 10px 0;
   padding: 0;
   background: none;
   border: none;
   font-size: 100%;
   line-height: 1.3;
   color: #252525;
}
.accessibility.formCheckbox p + ul,
.accessibility.formCheckbox p + table {
	margin-top: 10px;
}



/* completedText */
.completedText {
	margin-top: 7px;
	padding: 6px;
	border: #012f64 1px solid;
}
.completedText em {
	display: block;
	color: #012f64;
	font-size: 18px;
	font-weight: bold;
}
.completedText span {
	display: block;
	margin-top: 8px;
}
.completedText .colorTxt {
	color: #d14704;
}
.completedText.nonTopMargin {
	margin-top: 0;
}
.completedText .colorTxt em {
	font-size: 13px;
	color: inherit;
	font-weight: normal;
}


/* 運賃選択 */
.selectedClass {
	display: none;
	position: relative;
	margin-bottom: 20px;
	width: 100%;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	font-size: 12px;
	box-sizing: border-box;
}
.selectedClass a {
	display: block;
	padding: 5px 7px 6px;
	color: #ffffff;
	text-decoration: none;
}
.selectedClass img {
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -13px;
}
.selectedClass em {
	font-size: 16px;
	font-weight: bold;
}
.selectedClass.fareFamily01 { background-color: #1a6dfa; }
.selectedClass.fareFamily02 { background-color: #185ae2; }
.selectedClass.fareFamily03 { background-color: #1648cb; }
.selectedClass.fareFamily04 { background-color: #1435b3; }
.selectedClass.fareFamily05 { background-color: #12239c; }
.selectedClass.fareFamily06 { background-color: #101084; }


.itineraryDate {
	display: table;
	margin: 0 0 15px;
	padding-bottom: 10px;
	width: 100%;
	border-bottom: #012f64 1px solid;
}
.itineraryDate.multiLine {
	margin-top: -3px;
	padding-bottom: 7px;
}
.itineraryDate li {
	display: table-cell;
	padding: 0 7px;
	width: 50%;
	vertical-align: middle;
}
.itineraryDate li a,
.itineraryDate li span {
	display: inline-block;
	padding-top: 5px;
	min-height: 20px;
	color: #252525;
	text-decoration: none;
}
.itineraryDate.multiLine li a,
.itineraryDate.multiLine li span {
	padding-top: 0;
	min-height: 25px;
}
.itineraryDate.multiLine li span.fromSuffix,
.itineraryDate.multiLine li span.fromPrefix {
	min-height: auto;
}
.itineraryDate.multiLine li span.fromPrefix {
	margin-right: 5px;
}
.itineraryDate .prev a {
	padding-left: 31px;
	background: url(../../image/icon/sp_btn_prev_02.png?c07b052) no-repeat left center;
	background-size: 25px 25px;
}
.itineraryDate .next {
	text-align: right;
}
.itineraryDate .next a {
	padding-right: 31px;
	background: url(../../image/icon/sp_btn_next_02.png?d82d6dd) no-repeat right center;
	background-size: 25px 25px;
}



.btnPopup {
	border: #bbbbbb 1px solid;
	text-decoration: underline;
}
.btnPopup img { margin-left: 5px; }


/* 合計 */
.itineraryTotal {
	margin-bottom: 30px;
}
.itineraryTotal>div {
	margin: 20px 0 10px;
	padding: 10px 0;
	border-top: #012f64 3px solid;
	border-bottom: #dddddd 1px solid;
}
.itineraryTotal .fareTotal {
	position: relative;
	margin: 0 7px;
	text-align: right;
}
.itineraryTotal .totalAmount {
	position: absolute;
	left: 0;
	top: 10px;
	font-weight: bold;
}
.itineraryTotal em.price { font-size: 18px; }
.itineraryTotal span.currencyCode {
	margin-left: 5px;
}
.itineraryTotal .fareNote {
	margin: 0 7px;
	text-align: right;
}

.itineraryTotal .iconPromotion {
	position: absolute;
	top: 33px;
	left: 7px;
	display: inline-block;
	padding: 1px;
	background: #ffe100;
	border: #dcc200 1px solid;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	font-size: 10px;
	font-weight: bold;
	text-align: center;
}

.itineraryTotal.multiBox > div {
	text-align: right;
}
.itineraryTotal.multiBox > div .totalAmount {
	font-size: 15px;
	font-weight: bold;
	display: block;
	top: 0;
}
.itineraryTotal.multiBox > div .fareTotal > dl {
	padding-left: 83px;
	display: inline-block;
}
.itineraryTotal.multiBox > div .fareTotal > dl > div {
	display: flex;
	justify-content: space-between;
}
.itineraryTotal.multiBox > div .fareTotal > dl > div + div {
	margin-top: 4px;
}
.itineraryTotal.multiBox > div .fareTotal > dl dt {
	padding-top: 2px;
	width: 100px;
	text-align: left;
}
.itineraryTotal.multiBox > div .fareTotal > dl dd {
	min-width: 120px;
	margin-left: 4px;
	text-align: right;
}
.itineraryTotal.multiBox > div .fareTotal > dl dd em.price {
	margin: 0;
}
.itineraryTotal.multiBox > div .fareTotal > dl dd span.currencyCode {
	margin: 0;
	font-weight: normal;
	display: inline-block;
}
.itineraryTotal.multiBox > div .fareTotal > dl dd em.price + span.currencyCode,
.itineraryTotal.multiBox > div .fareTotal > dl dd span.currencyCode + em.price {
	margin-left: 5px;
}
.itineraryTotal.multiBox > div .note {
	display: block;
	font-size: 13px;
	margin: 2px 7px 0;
}


/* flightSummary */
.flightSummary { margin-bottom: 20px; }
.flightSummary dl {
	padding: 7px;
	border-top: #eeeeee 1px solid;
}
.flightSummary dl:after {
	content : '';
	display : block;
	clear : both;
}
.flightSummary dl:last-child { border-bottom: #eeeeee 1px solid; }
.flightSummary dt {
	float: left;
	width: 50%;
}
.flightSummary dd {
	float: right;
	width: 50%;
	font-weight: bold;
}

.itinerarySection.flightRouteDetail {
	border: #dddddd 1px solid;
}
.flightRouteDetail .flag {
	position: relative;
	display: inline-block;
	padding: 2px 5px 1px 5px;
	color: #ffffff;
	background: #eb7309;
	font-size: 10px;
	vertical-align: top;
}
.flightRouteDetail .flag:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -8px;
	width: 0;
	height: 0;
	border: 8px solid transparent;
	border-top: 8px solid #eb7309;
	border-bottom: 8px solid #eb7309;
}
.flightRouteDetail .flag span { font-weight: bold; }
.flightRouteDetail .timeSchedule { padding: 0 5px 5px; }

.flightRouteDetail .timeRequired {
	padding: 3px 5px;
	background: #f4f4f4;
}
.flightRouteDetail .timeRequired em { font-weight: bold; }
.flightRouteDetail .timeSchedule .dateChange {
	padding: 3px 0;
	border-bottom: none;
}


/* reservationSummary */
.reservationSummary { margin-bottom: 10px; }
.reservationSummary dl {
	padding: 7px;
	border-bottom: #eeeeee 1px solid;
	*zoom: 1; /* IE hack */
}
.reservationSummary dl:after {
	content : '';
	display : block;
	clear : both;
}
.reservationSummary dt {
	float: left;
	width: 50%;
	padding: 3px 7px 0 0;
	word-break: break-all;
	box-sizing: border-box;
	--webkit-box-sizing: border-box;
}
.reservationSummary dd {
	float: right;
	width: 50%;
	word-break: break-all;
}
.reservationSummary dd span.status {
	margin-right: 5px;
	font-size: 16px;
	font-weight: bold;
}
.reservationSummary .confirmNo dd {
	color: #d14704;
	font-size: 18px;
	font-weight: bold;
}
.reservationSummary dd span.currencyCode,
.reservationSummary dd span.headCount { font-weight: normal; }
.reservationSummary dd span.currencyCode + em.price,
.reservationSummary dd span.currencyCode + span.slash { margin-left: 5px; }
.reservationSummary dd em {
	margin-right: 5px;
	font-size: 18px;
	font-weight: bold;
	}

.reservationSummary .btnReservationSummary {
	margin-top: 10px;
	text-align: right;
}
.reservationSummary .btnReservationSummary li {
	display: inline-block;
	margin-left: 10px;
}
.reservationSummary .btnBase {
	border: none;
	width: auto;
	color: #196ed3;
	font-size: 13px;
	font-weight: normal;
	text-decoration: underline;
}
.reservationSummary .btnBase:hover {
	color: #707070;
	text-decoration: none;
}

.nextStep {
	margin: 0 7px;
	border: #cccccc 1px solid;
}
.reservationSummary+.nextStep { margin-bottom: 10px; }
.tabContents+.section.hasBottom { margin-bottom: 20px; }
.nextStep p.btnAreaNextStep {
	margin: 7px 0 0;
	text-align: center;
}

.paymentLimit+.paymentLimit {
	margin: 7px 0;
	padding-top: 7px;
	border-top: #dddddd 1px solid;
}
.paymentLimit {
	margin-bottom: 7px;
	text-align: center;
}
.paymentLimit dt {
	display: inline-block;
	margin-right: 5px;
	font-weight: bold;
}
.paymentLimit dt span { font-weight: normal; }
.paymentLimit dd {
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
}
.bankLimit .bankName dt { margin: 0; }
.bankLimit .bankName dd {
	display: block;
	margin-top: 5px;
	font-size: inherit;
	font-weight: normal;
}
.paymentLimit dd em { font-weight: bold; }

.paymentDueOnHold {
	padding: 7px 7px 15px;
	background: #fdf1e1;
}
.paymentDueOnHold .btnAreaNextStep {
	text-align: center;
}
.paymentDueOnHold.bankLimit { padding: 7px 0; }
.paymentDueOnHold.bankLimit .paymentDueBank { margin-top: 7px; padding-bottom: 0; }
.paymentDueOnHold.bankLimit .paymentLimit { margin-bottom: 0; }


.paymentDueBank {
	padding: 10px 7px 13px;
	border-top: #dddddd 1px solid;
	background: #fdf1e1;
}
.paymentDueBank dt {
	margin-bottom: 5px;
	font-weight: bold;
	text-align: center;
}
.paymentDueBank dd {
	text-align: center;
}
.paymentDueBank dd .btnAreaNextStep {
	margin-top: 7px;
}

.mainOperation {
	padding: 10px 7px;
	background: #fdf1e1;
}
.nextStep>.mainOperation:last-of-type {
	padding-bottom: 13px;
}
.paymentDueOnHold+.mainOperation,
.mainOperation+.mainOperation {
	padding-top: 10px;
	border-top: #dddddd 1px solid;
}
.mainOperation.eticket {
	background: #ffffff;
}
.mainOperation.eticket dt img {
	margin: 0 3px;
	vertical-align: -3px;
}
.mainOperation.cooperation {
	background: #ffffff;
}


.mainOperation dt {
	margin-bottom: 7px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}
.mainOperation dt span { font-weight: normal; }
.mainOperation dt span.note { font-size: 11px; }
.mainOperation dd { text-align: center; }
.mainOperation dd+dd { margin-top: 10px; }
.mainOperation.emphasisItem dt em {
	color: #D04705;
	font-weight: bold;
}

.mainOperation.emphasisItem,
.paymentDueOnHold.emphasisItem {
	position: relative;
}
.mainOperation.emphasisItem:after,
.paymentDueOnHold.emphasisItem:after {
	content: "";
	position: absolute;
	left: -1px;
	top: -1px;
	display: block;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	box-sizing: border-box;
	border: 2px solid #CB720F;
	z-index: 1;
}
.mainOperation.emphasisItem dt,
.mainOperation.emphasisItem dd {
	position: relative;
	z-index: 2;
}
.paymentDueOnHold.emphasisItem dt,
.paymentDueOnHold.emphasisItem dd,
.paymentDueOnHold.emphasisItem div {
	position: relative;
	z-index: 2;
}

.selectDateCalendar {
	margin-bottom: 20px;
	border-collapse: collapse;
}
.selectDateCalendar td {
	padding: 0;
	border: #999999 1px solid;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
.selectDateCalendar td.deactive {
	color: #c1c1c1;
}
.selectDateCalendar td .wrapDateFare {
	position: relative;
	display: table;
	width: 100%;
}
.selectDateCalendar td .date {
	display: table-cell;
	width: 50%;
}
.selectDateCalendar td .date div {
	position: relative;
	padding: 20px 0 20px 32px;
	font-size: 16px;
	font-weight: bold;
}
.selectDateCalendar td .date span {
	font-size: 13px;
	font-weight: normal;
}
.selectDateCalendar td .date .holiday {
	color: #e33f4c;
}
.selectDateCalendar td.deactive .holiday {
	color: #c1c1c1;
}
.selectDateCalendar td.disable .date div {
	color: #1b1b1b; /* 非活性でも文字色をグレーにしないため上書き */
}
.selectDateCalendar td .date input[type="radio"] {
	position: absolute;
	top: 50%;
	left: 10px;
	margin-top: -7px;
}
.selectDateCalendar td .fare {
	display: table-cell;
	width: 50%;
	text-align: right;
}
.selectDateCalendar td.deactive .fare { display: none; }
.selectDateCalendar td .fare div {
	position: relative;
	padding: 20px 7px 20px 0;
	width: auto;
	font-size: 16px;
	font-weight: bold;
}
.selectDateCalendar .selected td .fare div { padding-right: 6px; } /* 選択時のズレ防止のためpadding-right上書き */
.selectDateCalendar td.disable .fare div {
	color: #1b1b1b; /* 非活性でも文字色をグレーにしないため上書き */
	font-weight: normal;
}
.selectDateCalendar .selected td .wrapDateFare:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 102%;
	border: #012f64 3px solid;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}



/*8: loading
=================================*/
#loadingArea {
	width: 100%;
	background: #ffffff;
	z-index: 5000;
	height: 100%;
}
#cmnLoadingForPost {
	display: none;
	position: relative;
	top: 0;
}
#cmnLoadingForAjax {
	display: none;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.loadingArea {
	width: 100%;
	height: 100%;
}
.loadingArea .publicityImage {
	position: relative;
	width: 320px;
	height: 250px;
	margin: 0 auto 15px;
	overflow: hidden;
}
.loadingArea .publicityImage:after {
	content : '';
	display : block;
	clear : both;
}
.loadingArea .publicityImage li {
	position: absolute;
	top: 0;
	left: 0;
}
.loadingArea p.lodingImage {
	text-align: center;
}
#cmnLoadingForAjax .loadingArea p.lodingImage {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 31px;
	height: 31px;
	margin: -15px 0 0 -15px;
	padding: 6px;
	background: #ffffff;
	border-radius: 3px;
	-webkit-border-radius: 3px;
}


/*9: other
=================================*/

/* checkSms */
#checkSms {
    margin-right: 5px;
}
div.checkSmsRow {
    margin-top: 10px;
}

/* noticeArea */
.noticeArea {
	padding: 10px 7px;
	border-bottom: #cccccc 1px solid;
}
h2+.noticeArea { padding-top: 0; }
.noticeArea p,
.noticeArea ul {
	margin-bottom: 7px;
}
.noticeArea p.lastChild,
.noticeArea ul.lastChild {
	margin-bottom: 0;
}
.noticeArea p em {
	font-weight: bold;
}
.noticeArea ul li { margin: 0 0 0 18px; }
.noticeArea ul li:before {
	display: inline-block;
	content: "";
	width: 7px;
	height: 7px;
	margin: 0 9px 2px -16px;
	background: url(../../image/icon/icon_info_disc.png?4d423fa) no-repeat center center;
	background-size: 7px 7px;
}
.noticeArea ul li+li {
	margin-top: 5px;
}

.noticeArea.overlap {
	margin: 10px 7px 30px;
	padding-top: 15px;
	border: #d14704 1px solid;
	color: #d14704;
}
.noticeArea.overlap h2 {
	margin-bottom: 10px;
	padding: 0;
	border: none;
	color: #d14704;
	font-size: 18px;
}
.noticeArea ul li+li { margin-top: 0; }
.noticeArea.overlap ul li { margin: 0; }
.noticeArea.overlap ul li:before { display: none; }



/* notfound error */
.notfoundErrorTitle h1 {
	color: #e80000;
	text-align: center;
}
.notfoundErrorContents {
	margin: 15px 14px 0;
	color: #e80000;
}
.notfoundErrorContents p { margin-bottom: 15px; }
.notfoundErrorContents .notfoundErrorDate { text-align: right; }
.notfoundErrorContents .btnAreaSubmit { margin-top: 30px; }



/* conductor area */
.conductorArea {
	border: 1px solid #cccccc;
	background: #fff3e6;
	margin-bottom: 10px;
}
.conductorArea .block {
	padding: 10px;
}
.conductorArea .block.bgWhite {
	background: #ffffff;
}
.conductorArea .block + .block {
	border-top: 1px solid #cccccc;
}
.conductorArea .block .leadText {
	font-size: 14px;
	text-align: center;
	margin-bottom: 10px;
}
.conductorArea .block .btn {
	text-align: center;
	margin: 0 -11px;
}
.conductorArea .block .btn .btnVerticalMain {
	padding: 5px 15px;
}

/* accompany pax */
.accompanyPax p {
	font-weight: bold;
	padding: 0px 7px 10px;
	border-bottom: 1px solid #cccccc;
}

/* waitlisting area */
.waitlistingArea {
	background: #FFE1BF;
	padding: 5px;
	margin: 0 7px 10px;
	text-align: center;
}
.waitlistingArea em {
	font-weight: bold;
}


/* 合計レイアウト（PC/SP共通） */
.totalStyle01 {
	border-top: #012f64 3px solid;
	border-bottom: 1px solid #cccccc;
	margin: 20px 0 30px;
	padding: 10px 7px;
}
.totalStyle01 .totalBlock {
	position: relative;
}
.totalStyle01 .totalHead {
	position: absolute;
	top: 5px;
	left: 0;
	font-weight: bold;
}
.totalStyle01 .totalBody {
	text-align: right;
	letter-spacing: -.4em;
}
.totalStyle01 .totalBody > * {
	letter-spacing: normal;
}
.totalStyle01 .price {
	font-size: 18px;
	font-weight: bold;
}
.totalStyle01 .currencyCode {
	font-weight: bold;
}
.totalStyle01 .note {
	display: block;
}
.totalStyle01 .currencyCode + .price {
	margin-left: 5px;
}
.totalStyle01 .price + .currencyCode {
	margin-left: 5px;
}

/* confirmationNo */

.confirmationNoArea {
	padding: 18px 10px 20px;
	background-color: #012F64;
	color: #fff;
	text-align: center;
}
.otherPaymentGroup .confirmationNoArea {
	margin: 20px 0;
}
.confirmationNoArea .confirmationNoTitle {
	margin-bottom: 12px;
	font-size: 18px;
}
.confirmationNoArea .confirmationNoTitle em {
	font-weight: bold;
}
.confirmationNoArea .confirmationNoTitle img {
	margin-right: 10px;
	position: relative;
	top:2px;
}
.confirmationNoArea .confirmationNoNotice {
	margin-bottom: 14px;
	font-size:14px;
	line-height: 1.5;
	text-align: left;
}
.confirmationNoArea .confirmationNoNotice .bold {
	font-weight: bold;
}
.confirmationNoArea .confirmationNoNotice em {
	text-decoration: underline;
}
.confirmationNoArea .confirmationNumber {
	margin: 0 auto;
	padding: 7px 20px;
	display: inline-block;
	background-color: #fff;
	color: #012F64;
	vertical-align: middle;
}
.confirmationNoArea .confirmationNumber span {
	margin-right: 10px;
	font-weight: bold;
	position: relative;
	top:-2px;
}
.confirmationNoArea .confirmationNumber .number {
	font-weight: bold;
	font-size: 20px;
}


/* 認証画面ローディング */
.cardLoadingArea {
	height: 339px;
	box-sizing: border-box;
	border: 1px solid #cccccc;
}
.spinnerBox {
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	height: 339px;
	box-sizing: border-box;
}
.spinnerBox .spinner,
.spinnerBox .text,
.spinnerBox .card {
	text-align: center;
}
.spinnerBox .text {
	margin: 20px 0;
	font-size: 12px;
}


/*10: utility
=================================*/
/* 微調整用 - PC/SP共用 */
.utilityGrayLineTop { border-top: 1px solid #cccccc; }
.utilityGrayLineBottom { border-bottom: 1px solid #cccccc; }
.utilityBlueLineTop { border-top: 3px solid #012f64; }
.utilityBlueLineBottom { border-bottom: 3px solid #012f64; } 

.utilityMTop0 { margin-top: 0 !important; }
.utilityMTop10 { margin-top: 10px !important; }
.utilityMTop15 { margin-top: 15px !important; }
.utilityMTop20 { margin-top: 20px !important; }
.utilityMTop25 { margin-top: 25px !important; }
.utilityMTop30 { margin-top: 30px !important; }
.utilityMTop35 { margin-top: 35px !important; }
.utilityMTop40 { margin-top: 40px !important; }
.utilityMTop45 { margin-top: 45px !important; }
.utilityMTop50 { margin-top: 50px !important; }
.utilityMTop55 { margin-top: 55px !important; }
.utilityMTop60 { margin-top: 60px !important; }
.utilityMRight0 { margin-right: 0 !important; }
.utilityMRight10 { margin-right: 10px !important; }
.utilityMRight15 { margin-right: 15px !important; }
.utilityMRight20 { margin-right: 20px !important; }
.utilityMRight25 { margin-right: 25px !important; }
.utilityMRight30 { margin-right: 30px !important; }
.utilityMRight35 { margin-right: 35px !important; }
.utilityMRight40 { margin-right: 40px !important; }
.utilityMRight45 { margin-right: 45px !important; }
.utilityMRight50 { margin-right: 50px !important; }
.utilityMRight55 { margin-right: 55px !important; }
.utilityMRight60 { margin-right: 60px !important; }
.utilityMBottom0 { margin-bottom: 0 !important; }
.utilityMBottom10 { margin-bottom: 10px !important; }
.utilityMBottom15 { margin-bottom: 15px !important; }
.utilityMBottom20 { margin-bottom: 20px !important; }
.utilityMBottom25 { margin-bottom: 25px !important; }
.utilityMBottom30 { margin-bottom: 30px !important; }
.utilityMBottom35 { margin-bottom: 35px !important; }
.utilityMBottom40 { margin-bottom: 40px !important; }
.utilityMBottom45 { margin-bottom: 45px !important; }
.utilityMBottom50 { margin-bottom: 50px !important; }
.utilityMBottom55 { margin-bottom: 55px !important; }
.utilityMBottom60 { margin-bottom: 60px !important; }
.utilityMLeft0 { margin-left: 0 !important; }
.utilityMLeft10 { margin-left: 10px !important; }
.utilityMLeft15 { margin-left: 15px !important; }
.utilityMLeft20 { margin-left: 20px !important; }
.utilityMLeft25 { margin-left: 25px !important; }
.utilityMLeft30 { margin-left: 30px !important; }
.utilityMLeft35 { margin-left: 35px !important; }
.utilityMLeft40 { margin-left: 40px !important; }
.utilityMLeft45 { margin-left: 45px !important; }
.utilityMLeft50 { margin-left: 50px !important; }
.utilityMLeft55 { margin-left: 55px !important; }
.utilityMLeft60 { margin-left: 60px !important; }

.utilityPTop0 { padding-top: 0 !important; }
.utilityPTop10 { padding-top: 10px !important; }
.utilityPTop15 { padding-top: 15px !important; }
.utilityPTop20 { padding-top: 20px !important; }
.utilityPTop25 { padding-top: 25px !important; }
.utilityPTop30 { padding-top: 30px !important; }
.utilityPTop35 { padding-top: 35px !important; }
.utilityPTop40 { padding-top: 40px !important; }
.utilityPTop45 { padding-top: 45px !important; }
.utilityPTop50 { padding-top: 50px !important; }
.utilityPTop55 { padding-top: 55px !important; }
.utilityPTop60 { padding-top: 60px !important; }
.utilityPRight0 { padding-right: 0 !important; }
.utilityPRight10 { padding-right: 10px !important; }
.utilityPRight15 { padding-right: 15px !important; }
.utilityPRight20 { padding-right: 20px !important; }
.utilityPRight25 { padding-right: 25px !important; }
.utilityPRight30 { padding-right: 30px !important; }
.utilityPRight35 { padding-right: 35px !important; }
.utilityPRight40 { padding-right: 40px !important; }
.utilityPRight45 { padding-right: 45px !important; }
.utilityPRight50 { padding-right: 50px !important; }
.utilityPRight55 { padding-right: 55px !important; }
.utilityPRight60 { padding-right: 60px !important; }
.utilityPBottom0 { padding-bottom: 0 !important; }
.utilityPBottom10 { padding-bottom: 10px !important; }
.utilityPBottom15 { padding-bottom: 15px !important; }
.utilityPBottom20 { padding-bottom: 20px !important; }
.utilityPBottom25 { padding-bottom: 25px !important; }
.utilityPBottom30 { padding-bottom: 30px !important; }
.utilityPBottom35 { padding-bottom: 35px !important; }
.utilityPBottom40 { padding-bottom: 40px !important; }
.utilityPBottom45 { padding-bottom: 45px !important; }
.utilityPBottom50 { padding-bottom: 50px !important; }
.utilityPBottom55 { padding-bottom: 55px !important; }
.utilityPBottom60 { padding-bottom: 60px !important; }
.utilityPLeft0 { padding-left: 0 !important; }
.utilityPLeft10 { padding-left: 10px !important; }
.utilityPLeft15 { padding-left: 15px !important; }
.utilityPLeft20 { padding-left: 20px !important; }
.utilityPLeft25 { padding-left: 25px !important; }
.utilityPLeft30 { padding-left: 30px !important; }
.utilityPLeft35 { padding-left: 35px !important; }
.utilityPLeft40 { padding-left: 40px !important; }
.utilityPLeft45 { padding-left: 45px !important; }
.utilityPLeft50 { padding-left: 50px !important; }
.utilityPLeft55 { padding-left: 55px !important; }
.utilityPLeft60 { padding-left: 60px !important; }

.utilityVAlignTop { vertical-align:  top; }
.utilityVAlignMiddle { vertical-align: middle; }
.utilityVAlignBottom { vertical-align: bottom; }

/* 微調整用 - SP専用 */
.spUtilityGrayLineTop { border-top: 1px solid #cccccc; }
.spUtilityGrayLineBottom { border-bottom: 1px solid #cccccc; }
.spUtilityBlueLineTop { border-top: 3px solid #012f64; }
.spUtilityBlueLineBottom { border-bottom: 3px solid #012f64; } 

.spUtilityMTop0 { margin-top: 0 !important; }
.spUtilityMTop10 { margin-top: 10px !important; }
.spUtilityMTop15 { margin-top: 15px !important; }
.spUtilityMTop20 { margin-top: 20px !important; }
.spUtilityMTop25 { margin-top: 25px !important; }
.spUtilityMTop30 { margin-top: 30px !important; }
.spUtilityMTop35 { margin-top: 35px !important; }
.spUtilityMTop40 { margin-top: 40px !important; }
.spUtilityMTop45 { margin-top: 45px !important; }
.spUtilityMTop50 { margin-top: 50px !important; }
.spUtilityMTop55 { margin-top: 55px !important; }
.spUtilityMTop60 { margin-top: 60px !important; }
.spUtilityMRight0 { margin-right: 0 !important; }
.spUtilityMRight10 { margin-right: 10px !important; }
.spUtilityMRight15 { margin-right: 15px !important; }
.spUtilityMRight20 { margin-right: 20px !important; }
.spUtilityMRight25 { margin-right: 25px !important; }
.spUtilityMRight30 { margin-right: 30px !important; }
.spUtilityMRight35 { margin-right: 35px !important; }
.spUtilityMRight40 { margin-right: 40px !important; }
.spUtilityMRight45 { margin-right: 45px !important; }
.spUtilityMRight50 { margin-right: 50px !important; }
.spUtilityMRight55 { margin-right: 55px !important; }
.spUtilityMRight60 { margin-right: 60px !important; }
.spUtilityMBottom0 { margin-bottom: 0 !important; }
.spUtilityMBottom10 { margin-bottom: 10px !important; }
.spUtilityMBottom15 { margin-bottom: 15px !important; }
.spUtilityMBottom20 { margin-bottom: 20px !important; }
.spUtilityMBottom25 { margin-bottom: 25px !important; }
.spUtilityMBottom30 { margin-bottom: 30px !important; }
.spUtilityMBottom35 { margin-bottom: 35px !important; }
.spUtilityMBottom40 { margin-bottom: 40px !important; }
.spUtilityMBottom45 { margin-bottom: 45px !important; }
.spUtilityMBottom50 { margin-bottom: 50px !important; }
.spUtilityMBottom55 { margin-bottom: 55px !important; }
.spUtilityMBottom60 { margin-bottom: 60px !important; }
.spUtilityMLeft0 { margin-left: 0 !important; }
.spUtilityMLeft10 { margin-left: 10px !important; }
.spUtilityMLeft15 { margin-left: 15px !important; }
.spUtilityMLeft20 { margin-left: 20px !important; }
.spUtilityMLeft25 { margin-left: 25px !important; }
.spUtilityMLeft30 { margin-left: 30px !important; }
.spUtilityMLeft35 { margin-left: 35px !important; }
.spUtilityMLeft40 { margin-left: 40px !important; }
.spUtilityMLeft45 { margin-left: 45px !important; }
.spUtilityMLeft50 { margin-left: 50px !important; }
.spUtilityMLeft55 { margin-left: 55px !important; }
.spUtilityMLeft60 { margin-left: 60px !important; }

.spUtilityPTop0 { padding-top: 0 !important; }
.spUtilityPTop10 { padding-top: 10px !important; }
.spUtilityPTop15 { padding-top: 15px !important; }
.spUtilityPTop20 { padding-top: 20px !important; }
.spUtilityPTop25 { padding-top: 25px !important; }
.spUtilityPTop30 { padding-top: 30px !important; }
.spUtilityPTop35 { padding-top: 35px !important; }
.spUtilityPTop40 { padding-top: 40px !important; }
.spUtilityPTop45 { padding-top: 45px !important; }
.spUtilityPTop50 { padding-top: 50px !important; }
.spUtilityPTop55 { padding-top: 55px !important; }
.spUtilityPTop60 { padding-top: 60px !important; }
.spUtilityPRight0 { padding-right: 0 !important; }
.spUtilityPRight10 { padding-right: 10px !important; }
.spUtilityPRight15 { padding-right: 15px !important; }
.spUtilityPRight20 { padding-right: 20px !important; }
.spUtilityPRight25 { padding-right: 25px !important; }
.spUtilityPRight30 { padding-right: 30px !important; }
.spUtilityPRight35 { padding-right: 35px !important; }
.spUtilityPRight40 { padding-right: 40px !important; }
.spUtilityPRight45 { padding-right: 45px !important; }
.spUtilityPRight50 { padding-right: 50px !important; }
.spUtilityPRight55 { padding-right: 55px !important; }
.spUtilityPRight60 { padding-right: 60px !important; }
.spUtilityPBottom0 { padding-bottom: 0 !important; }
.spUtilityPBottom10 { padding-bottom: 10px !important; }
.spUtilityPBottom15 { padding-bottom: 15px !important; }
.spUtilityPBottom20 { padding-bottom: 20px !important; }
.spUtilityPBottom25 { padding-bottom: 25px !important; }
.spUtilityPBottom30 { padding-bottom: 30px !important; }
.spUtilityPBottom35 { padding-bottom: 35px !important; }
.spUtilityPBottom40 { padding-bottom: 40px !important; }
.spUtilityPBottom45 { padding-bottom: 45px !important; }
.spUtilityPBottom50 { padding-bottom: 50px !important; }
.spUtilityPBottom55 { padding-bottom: 55px !important; }
.spUtilityPBottom60 { padding-bottom: 60px !important; }
.spUtilityPLeft0 { padding-left: 0 !important; }
.spUtilityPLeft10 { padding-left: 10px !important; }
.spUtilityPLeft15 { padding-left: 15px !important; }
.spUtilityPLeft20 { padding-left: 20px !important; }
.spUtilityPLeft25 { padding-left: 25px !important; }
.spUtilityPLeft30 { padding-left: 30px !important; }
.spUtilityPLeft35 { padding-left: 35px !important; }
.spUtilityPLeft40 { padding-left: 40px !important; }
.spUtilityPLeft45 { padding-left: 45px !important; }
.spUtilityPLeft50 { padding-left: 50px !important; }
.spUtilityPLeft55 { padding-left: 55px !important; }
.spUtilityPLeft60 { padding-left: 60px !important; }

.spUtilityVAlignTop { vertical-align:  top; }
.spUtilityVAlignMiddle { vertical-align: middle; }
.spUtilityVAlignBottom { vertical-align: bottom; }
