@charset "utf-8";

/* ----------------------------------------------------------------
    ress
----------------------------------------------------------------- */
/*!
 * ress.css v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  overflow-y: scroll;
  box-sizing: border-box;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */
}

*, ::before, ::after {
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
  background-repeat: no-repeat;
}

::before, ::after {
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
  text-decoration: inherit;
}

* {
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
  padding: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block;
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden], template {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted;
  /* Add a bordered underline effect in all browsers */
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */

  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active, a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

b, strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic;
  /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub, sup {
  position: relative;
  margin-right: .5em;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button, [type='button'], [type='reset'], [type='submit'], [role='button'] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type='number'] {
  width: auto;
  /* Firefox 36+ */
}

[type='search'] {
  -webkit-appearance: textfield;
  /* Safari 8+ */
  -moz-appearance: textfield;
  appearance: field;
}

[type='search']::-webkit-search-cancel-button, [type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Safari 8 */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button, input, optgroup, select, textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button, html [type='button'], [type='reset'], [type='submit'] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
  -moz-appearance: button;
  appearance: button;
}

button, select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button, input, select, textarea {
  border-style: none;
  background-color: transparent;
  color: inherit;
}

legend {
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit;
  -webkit-appearance: button;
  /* Change font properties to `inherit` in Chrome and Safari */
}

[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  -moz-appearance: textfield;
  appearance: field;
  /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */
}

audio, canvas, progress, video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~='screen'] {
    display: inherit;
  }
  [hidden~='screen']:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy='true'] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */

::selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

/* ----------------------------------------------------------------
    base
----------------------------------------------------------------- */
:root {
  font-size: 62.5%;
}

html, body, h1, h2, h3, h4, h5, h6, li {
  margin: 0;
  padding: 0;
}

html {
  overflow: auto;
}

iframe {
  overflow: auto;
}

body {
  color: #000;
  font-size: 1.4rem;
  font-family: Meiryo, 'Hiragino Kaku Gothic ProN', sans-serif;
  line-height: 1.42857;
}

ul, ol {
  list-style-type: none;
}

a {
  color: #0f0f69;
  text-decoration: none;
}

a img {
  transition: opacity 1s cubic-bezier(.39, .575, .565, 1);
}

figure {
  margin: 0;
}

button {
  border: 0;
  cursor: pointer;
}

em {
  font-weight: bold;
  font-style: normal;
}

strong {
  font-weight: bold;
  font-style: normal;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

hr {
  display: none;
}

p, ul, ol, dl {
  margin: 0 0 20px;
  padding: 0;
}

ul > :last-child, ol > :last-child, dl > :last-child {
  margin-bottom: 0;
}

dfn {
  font-style: normal;
}

dd {
  margin: 0;
}

table {
  border-collapse: collapse;
}

table > a {
  text-decoration: underline;
}

table > a:hover, table > a:focus, table > a:active {
  text-decoration: none;
}

blockquote {
  margin: 0;
}

iframe {
  margin: 0;
  padding: 0;
  width: 100%;
  border: 0;
}

form > .form-lyt:last-child {
  margin-bottom: 40px;
}

input, select {
  padding: 1px;
}

input::-webkit-input-placeholder {
  color: #616161;
}

input::placeholder {
  color: #616161;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

/* ----------------------------------------------------------------
    Clearfix
----------------------------------------------------------------- */
/* ----------------------------------------------------------------
    Loading Spritesheet
----------------------------------------------------------------- */
#footer .f-inner_top .nav-top a::before, .icon-label-02._arrow::before, .icon-conf._wifi::before, .icon-conf._power::before, .icon-conf._monitor::before, .icon-conf._terminal::before, .list > li._anc::before, .commentList > li._anc::before, .list-spec > .list-spec_item._wifi::before, .list-spec > .list-spec_item._acusb::before, .list-spec > .list-spec_item._usb::before, .list-spec > .list-spec_item._ac::before, .list-spec > .list-spec_item._video > span._monitor::before, .list-spec > .list-spec_item._video > span._terminal::before, .link-condition > .link-condition_item._calendar::before, .link-condition-set._calendar .link-condition-set_list::before, .link-02._plane::before, .btn-change > span::before, .btn-change-02 > span::before, .btn-reserve > span::before, .btn-modal > span::after, .btn-anc > span::after, .panel-attention .panel-attention_hdg::before, .panel-modal-condition._calendar .panel-modal-condition_hdg::before, .panel-modal-condition._class .panel-modal-condition_hdg::before, .panel-modal-condition._headcount .panel-modal-condition_hdg::before, .panel-info_hdg._attention > .panel-info_hdg_inner::before, .panel-flight_hdg_txt::before, .panel-flight_btn_change::before, .lyt-reserve_inner._history::before, .toggle_hdg._note .toggle_hdg_inner > span::before, .toggle_hdg._board_01 .toggle_hdg_inner > span::before, .toggle_hdg._board_02 .toggle_hdg_inner > span::before, .toggle_hdg._price .toggle_hdg_inner > span::before {
  background-image: url(../img/sprite.png);
}

/* ----------------------------------------------------------------
    Pseudo element (Block)
----------------------------------------------------------------- */
#header .h-inner .h-link._qa a::before, #footer .f-inner_top .nav-top a::before, #footer .f-inner_list > li::before, .hdg-guide::before, .txt-select_intro ._route > span:last-child::before, .icon-label._change::before, .icon-label._alternate::before, .icon-label-02._arrow::before, .icon-conf::before, .list > li::before, .commentList > li::before, .list > li._anc::before, .commentList > li._anc::before, .list-error > li::before, .list-step > li:first-child::before, .list-step > li:last-child::before, .list-step_inner::before, .list-step_inner::after, .list-order_body::before, .list-embargo > li._item_01::before, .list-embargo > li._item_02::before, .list-embargo > li._item_03::before, .list-embargo > li._item_04::before, .list-embargo > li._item_05::before, .list-embargo > li._item_06::before, .list-embargo > li._item_07::before, .list-embargo > li._item_08::before, .list-select-time > li:first-child a::before, .list-select-time > li:last-child a::before, .list-spec > .list-spec_item._wifi::before, .list-spec > .list-spec_item._acusb::before, .list-spec > .list-spec_item._ac::before, .list-spec > .list-spec_item._usb::before, .list-spec > .list-spec_item._video > span::before, .list-sort ul > li::after, .list-flow-boarding > li::after, .link::before, .link-list > li a::before, .link-condition > .link-condition_item._calendar::before, .link-condition-set._calendar .link-condition-set_list::before, .link-02._add::before, .link-02._add::after, .link-02._plane::before, .link-02._transfer::before, .btn::before, .btn-03 > span::before, .btn-03 > span::after, .btn-04 > span::before, .btn-disable::before, .btn-next::before, .btn-next._code ._main::before, .btn-back::before, .btn-decision::before, .btn-decision-fixed::before, .btn-more::after, .btn-add > span::before, .btn-add > span::after, .btn-add-02 > span::before, .btn-add-02 > span::after, .btn-delete > span::before, .btn-delete > span::after, .btn-delete-02 > span::before, .btn-delete-02 > span::after, .btn-change > span::before, .btn-change-02 > span::before, .btn-reserve > span::before, .btn-modal > span::after, .btn-anc > span::after, .panel-attention .panel-attention_hdg::before, .panel-modal-condition._calendar .panel-modal-condition_hdg::before, .panel-modal-condition._class .panel-modal-condition_hdg::before, .panel-modal-condition._headcount .panel-modal-condition_hdg::before, .panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .minus::before, .panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .plus::before, .panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .plus::after, .panel-modal-condition .form-btn-set::before, .panel-section_head::before, .panel-section_head::after, .panel-section_content .panel-section_content_item._place::before, .panel-section_content .panel-section_content_item._timetable::after, .panel-section_foot .panel-section_foot_item_hdg > ._txt::before, .panel-howto_item .panel-howto_item_panel_list > li::before, .panel-info_hdg._attention > .panel-info_hdg_inner::before, .panel-flight_hdg_txt::before, .panel-flight_hdg_link > li::before, .panel-flight_btn_delete::before, .panel-flight_btn_delete::after, .panel-flight_btn_change::before, .panel-flight_body[role='button'] .panel-flight_body_btn::before, .panel-flight_body[role='button'] .panel-flight_body_btn::after, .panel-flight_txt_flight > span::before, .panel-flight_txt_flight > ._time::after, .panel-flight .panel-flight_list_grade > li > a > p > span::after, .panel-service::before, .panel-service::after, .panel-service_form .panel-service_form_head::after, .panel-service_list_btn > li > a::before, .panel-service_list_btn > li > a::after, .panel-service_hdg_02::before, .panel-option_list_btn > li > a::before, .panel-option_list_btn > li > a::after, .panel-action_head::after, .lyt-news_list > li > a > span::before, .lyt-reserve_inner._attention .lyt-reserve_content._em::after, .lyt-reserve_inner._history::before, .lyt-reserve_content::before, .lyt-reserve_content .lyt-reserve_content_inner::after, .lyt-reserve_content .lyt-reserve_content_inner + .lyt-reserve_content_txt_attention::after, .lyt-reserve_content .lyt-reserve_content_inner._line::before, .lyt-reserve_content .lyt-reserve_content_info._flight::before, .lyt-reserve_content .lyt-reserve_content_info ._airport::before, .lyt-reserve_content .lyt-reserve_content_info ._airport::after, .lyt-reserve_content .lyt-reserve_content_info_inner._business::before, .lyt-reserve_content .lyt-reserve_content_txt._flight::before, .lyt-flight-chart-header .lyt-desc-line_btn .btn-filter::before, .lyt-flight-chart-content_list_item._canceled .lyt-flight-chart-content_list_item_price ._txt > span::before, .lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_main::before, .lyt-flight-chart-content_list_item._available .lyt-flight-chart-content_list_item_price > a::after, .lyt-flight-chart-content_list_item_icon::before, .lyt-flight-chart-content_list_item_icon::after, .lyt-panel_plan_item::before, .lyt-panel_plan_price ._yen::after, .lyt-panel_plan_grade_list > li::before, .lyt-panel_plan_grade_list > li > a > p > span::after, .lyt-arrow::after, .lyt-detail .lyt-detail_inner::after, .lyt-detail .lyt-detail_inner + .lyt-detail_txt_attention::after, .lyt-detail .lyt-detail_inner._line::before, .lyt-detail .lyt-detail_info._flight::before, .lyt-detail .lyt-detail_info ._airport::before, .lyt-detail .lyt-detail_info ._airport::after, .lyt-detail .lyt-detail_txt._flight::before, .lyt-pager_list .lyt-pager_list_prev ._item::before, .lyt-pager_list .lyt-pager_list_next ._item::before, .lyt-ticket_header .lyt-ticket_header_btn .btn-filter::before, .tab_content::before, .form-radio_item::before, .form-radio_item::after, .form-radio-02_item::before, .form-radio-02_item::after, .form-radio-02_item._tab[checked='checked'] + label::before, .form-radio-02_item._tab[checked='checked'] + label::after, .form-checkbox_item::before, .form-checkbox_item::after, .form-checkbox-inline_item::before, .form-checkbox-inline_item::after, .form-select::before, .form-error::before, .form-link-calendar::before, .form-select-condition::before, .form-lyt-date_item + .form-lyt-date_item::before, .form-list-class > li.is-current::before, .form-list-class > li.is-current::after, .seatmap-list > li > a::before, .seatmap-list > li > a::after, .seatmap-list > li > a ._num::before, .seatmap-list > li > a ._num::after, .seatmap-emergency > li._left::before, .seatmap-emergency > li._right::after, .list-passenger .btn-03 > span::before, .list-passenger .btn-03 > span::after, .seatmap-tooltip_btn-close > button::before, .seatmap-tooltip_btn-close > button::after, .seatmap-modal .modal_inner::before, .seatmap-modal_guide .seatmap-modal_guide_hdg::before, .seatmap-modal .close_btn::before, .seatmap-modal .close_btn::after, .modal_btn-close > button::before, .modal_btn-close > button::after, .modal-refine .modal-refine-btn .lyt-btn-line .btn-reset > span::before, .modal-refine .close_btn::before, .modal-refine .close_btn::after, .toggle_hdg._note .toggle_hdg_inner > span::before, .toggle_hdg._board_01 .toggle_hdg_inner > span::before, .toggle_hdg._board_02 .toggle_hdg_inner > span::before, .toggle_hdg._price .toggle_hdg_inner > span::before, .toggle_hdg_inner::after, .lyt-panel_plan .toggle_btn span::before, .fn-sticky-seatmap-item .toggle_hdg_inner::before, .fn-sticky-seatmap-item .toggle_hdg_inner::after {
  display: block;
  content: '';
}

/* ----------------------------------------------------------------
    Header
----------------------------------------------------------------- */
/* #header
----------------------------------------------- */
#header {
  padding: 0 10px;
  border-bottom: 1px solid #b2b2b2;
}

#header .h-inner {
  display: flex;
  width: 100%;
  height: 55px;
  justify-content: space-between;
  align-items: center;
}

#header .h-inner .h-logo {
  margin-bottom: 0;
}

#header .h-inner .h-logo a {
  display: block;
}

#header .h-inner .h-logo a img {
  width: 209px;
  vertical-align: middle;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#header .h-inner .h-link {
  margin-bottom: 0;
  text-align: center;
}

#header .h-inner .h-link a {
  display: block;
}

#header .h-inner .h-link a span {
  display: block;
  margin-top: 2px;
  color: #333;
  font-weight: bold;
  font-size: .8rem;
}

#header .h-inner .h-link._qa a::before {
  width: 29px;
  height: 29px;
  background-image: url(../img/icon_qa.png);
  background-size: 100% auto;
}

/* ----------------------------------------------------------------
    Content
----------------------------------------------------------------- */
/* #body
----------------------------------------------- */
#body {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* #main
----------------------------------------------- */
#main {
  overflow: hidden;
  margin: 0 auto;
  padding-top: 24px;
  width: 100%;
  flex-grow: 1;
}

#main > .main-inner {
  margin: 0 10px 30px;
}

#main > .main-inner:last-child {
  margin-bottom: 0;
}

#main > .main-inner > :first-child {
  margin-top: 0;
}

#main > .main-inner > .main-inner_panel {
  padding: 20px 0 24px;
  border-top: 1px solid #ccc;
}

#main > .main-inner > .main-inner_panel > :first-child {
  margin-top: 0;
}

#main > .main-inner > .main-inner_panel > :last-child {
  margin-bottom: 0;
}

#main > .main-inner > .main-inner_panel + .hdg-guide {
  margin-top: 26px;
}

#main > .main-inner > .main-inner_panel._no-border {
  border-top: 0;
}

#main .main-inner_bottom {
  margin-right: -10px;
  margin-left: -10px;
  padding: 1px 10px 0;
  background-color: #fff;
}

#main .main-inner_bottom .main-inner_panel {
  padding: 20px 0 24px;
}

#main .main-inner_bottom .lyt-news {
  margin-bottom: 0;
}

#main._bg-gray {
  background-color: #f4f5f6;
}

#main._bg-gray .lyt-content {
  margin-bottom: 0;
}

#main._bg-gray .toggle {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------
    Footer
----------------------------------------------------------------- */
/* #footer
----------------------------------------------- */
#footer {
  margin-top: 50px;
  padding: 18px 0;
  background-color: #000;
  color: #fff;
}

#footer .f-inner {
  margin: 0 auto;
  width: 100%;
}

#footer .f-inner_top {
  margin-bottom: 10px;
  padding: 0 10px;
  border-bottom: 1px solid #343434;
}

#footer .f-inner_top .nav-top {
  margin-bottom: 12px;
  text-align: center;
}

#footer .f-inner_top .nav-top a {
  position: relative;
  padding-left: 20px;
  color: #fff;
  font-weight: bold;
  font-size: 1.4rem;
}

#footer .f-inner_top .nav-top a::before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 13px;
  height: 11.5px;
  background-position: -90px -58px;
  background-size: 113px auto;
}

#footer .f-inner_txt {
  margin-bottom: 0;
  text-align: center;
}

#footer .f-inner_txt small {
  color: #a7a7a7;
  font-size: 1.2rem;
}

#footer .f-inner_list {
  display: flex;
  margin: -6px 30px 10px;
  flex-wrap: wrap;
  justify-content: center;
}

#footer .f-inner_list > li {
  position: relative;
  margin: 6px 8px 0 0;
  padding-right: 8px;
}

#footer .f-inner_list > li::before {
  position: absolute;
  top: 3px;
  right: 0;
  width: 1px;
  height: 10px;
  background-color: #a7a7a7;
}

#footer .f-inner_list > li:last-child::before {
  content: none;
}

#footer .f-inner_list > li a {
  color: #a7a7a7;
  font-size: 1.2rem;
}

#footer .f-inner_list > li a .icon-blank {
  padding: 0 5px 5px 4px;
}

/* ----------------------------------------------------------------
    Heading
----------------------------------------------------------------- */
/* .hdg-l1
----------------------------------------------- */
.hdg-l1 {
  margin: 24px 0 20px;
}

.hdg-l1 > :last-child {
  margin-bottom: 0;
}

.hdg-l1_txt {
  font-weight: normal;
  font-size: 2rem;
  line-height: 1.3;
}

.hdg-l1_txt_sub {
  margin-top: 6px;
  font-size: 1.2rem;
}

.hdg-l1_reverse {
  display: flex;
  flex-direction: column-reverse;
}

.hdg-l1_reverse > .hdg-l1_link {
  margin-bottom: 10px;
}

.hdg-l1_reverse + .hdg-l1_txt_02 {
  margin-top: 6px;
}

.hdg-l1_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.hdg-l1_item > :last-child {
  margin-bottom: 0;
}

.hdg-l1_item._bottom {
  align-items: flex-end;
}

.hdg-l1_item_link {
  margin-top: 5px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e0e0e0;
  text-align: right;
}

.hdg-l1_item_link._no-border {
  padding-bottom: 0;
  border-bottom: 0;
}

.hdg-l1_item_txt {
  margin-bottom: 10px;
  text-align: right;
}

.hdg-l1_item_txt > span {
  padding-left: 25px;
  font-size: 1.4rem;
}

.hdg-l1 > :last-child {
  margin-bottom: 0;
}

/* .hdg-l2
----------------------------------------------- */
.hdg-l2 {
  background-color: #fff;
  background-image: linear-gradient(45deg, #f4f5f6 25%, #f4f5f6 25%, transparent 25%, transparent 75%, #f4f5f6 75%, #f4f5f6 75%), linear-gradient(-135deg, #f4f5f6 25%, #f4f5f6 25%, transparent 25%, transparent 75%, #f4f5f6 75%, #f4f5f6 75%);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
  background-repeat: repeat;
}

.hdg-l2_txt {
  margin-bottom: 10px;
  padding: 13px 10px;
  border-top: 1px solid #ccc;
  color: #333;
  font-size: 1.6rem;
}

.hdg-l2_txt > span {
  margin-left: 5px;
  font-weight: normal;
  font-size: 1.4rem;
}

.hdg-l2._seatmap {
  display: flex;
  margin-bottom: 10px;
  padding: 10px;
  border-top: 1px solid #ccc;
  justify-content: space-between;
  align-items: center;
}

.hdg-l2._seatmap .hdg-l2_txt {
  margin-bottom: 0;
  padding: 0;
  border: 0;
}

.hdg-l2._seatmap .hdg-l2_class {
  display: flex;
  margin-bottom: 0;
  font-size: 1.4rem;
}

.hdg-l2._seatmap .hdg-l2_class > dt {
  font-weight: normal;
}

.hdg-l2._seatmap .hdg-l2_class > dd {
  font-weight: bold;
}

/* .hdg-l2-02
----------------------------------------------- */
.hdg-l2-02 {
  margin: 50px 0 22px;
}

.hdg-l2-02_txt {
  padding: 2px 0 0 11px;
  border-left: 3px solid #2a344b;
  color: #333;
  font-size: 1.8rem;
  line-height: 1.22222;
}

.hdg-l2-02_txt + button {
  margin-top: 16px;
}

.hdg-l2-02_item {
  margin-top: 16px;
}

.hdg-l2-02_item > :last-child {
  margin-bottom: 0;
}

.panel-attention + .hdg-l2-02 {
  margin-top: 50px;
}

/* .hdg-l3
----------------------------------------------- */
.hdg-l3 {
  margin: 20px 0 10px;
  font-weight: bold;
  font-size: 1.6rem;
}

/* .hdg-guide
----------------------------------------------- */
.hdg-guide {
  position: relative;
  margin: 50px 0 13px;
  border-bottom: 2px solid #ccc;
  color: #333;
}

.hdg-guide::before {
  position: absolute;
  bottom: -2px;
  width: 100px;
  height: 2px;
  background-color: #c00;
}

.hdg-guide > :last-child {
  margin-bottom: 0;
}

.hdg-guide_txt {
  padding: 0 0 3px 8px;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.33333;
}

/* .hdg-select
----------------------------------------------- */
.hdg-select {
  margin: 0 -10px;
  background-image: url(../img/bg_hdg_001.png);
  background-size: cover;
  color: #fff;
}

.hdg-select_inner {
  display: flex;
  margin-top: -24px;
  padding: 10px 12px;
  justify-content: space-between;
  align-items: center;
}

.hdg-select_inner .hdg-select_inner_btn > a {
  display: block;
  padding: 10px 16px 9px;
  min-width: 76px;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 4px;
  background-color: rgba(42, 52, 75, .5);
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .3);
}

.hdg-select_inner .hdg-select_inner_btn > a > span {
  color: #fff;
  font-size: 1.4rem;
}

.hdg-select_inner_desc ._em {
  margin-bottom: 0;
  font-weight: bold;
  font-size: 1.2rem;
}

.hdg-select_inner_desc .hdg-select_inner_desc_item {
  display: flex;
  margin-top: 4px;
  font-size: 1.1rem;
}

.hdg-select_inner_desc .hdg-select_inner_desc_item p {
  margin-bottom: 0;
}

.hdg-select_inner_desc .member-list {
  display: flex;
  margin-bottom: 0;
  margin-left: -4px;
}

.hdg-select_inner_desc .member-list > li {
  margin-left: 4px;
}

.hdg-select_head {
  margin: 0 -10px;
  padding: 23px 0 13px;
  background-color: #fff;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .3);
}

.hdg-select_head + .panel-attention {
  margin-top: 20px;
}

.hdg-select_head .hdg-l1 {
  margin: 0 0 13px 0;
  padding-left: 10px;
}

.hdg-select_head .lyt-indent, .hdg-select_head p {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------
    Text
----------------------------------------------------------------- */
/* .text-noscript
----------------------------------------------- */
.text-noscript {
  margin-bottom: 0;
  padding: 15px 15px 0;
  width: 100%;
}

/* text-strong
----------------------------------------------- */
.text-strong {
  color: #c00;
  font-weight: bold;
}

/* text-strong
----------------------------------------------- */
.text-attention {
  margin-bottom: 10px;
  color: #c00;
  font-weight: bold;
  font-size: 1.6rem;
}

/* .txt-total-price
----------------------------------------------- */
.txt-total-price {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.txt-total-price > span {
  font-weight: bold;
  font-size: 1.8rem;
}

.txt-total-price > strong {
  color: #c00;
  font-size: 2rem;
}

/* .txt-total-mile
----------------------------------------------- */
.txt-total-mile {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.txt-total-mile > span:not(:last-child) {
  color: #333;
  font-weight: bold;
}

.txt-total-price + .list-note + .txt-total-mile {
  margin-top: -12px;
}

/* .txt-select_intro
----------------------------------------------- */
.txt-select_intro {
  margin: 0 0 17px 0;
  padding: 0 10px;
  font-size: 1.4rem;
}

.txt-select_intro p {
  margin-bottom: 0;
}

.txt-select_intro ._route {
  display: flex;
  margin-top: 8px;
}

.txt-select_intro ._route > span {
  position: relative;
}

.txt-select_intro ._route > span:first-child::before {
  display: none;
}

.txt-select_intro ._route > span:last-child {
  margin-left: 40px;
}

.txt-select_intro ._route > span:last-child::before {
  position: absolute;
  top: 8px;
  left: -32px;
  width: 20px;
  height: 5px;
  background-image: url(../img/icon_arrow_006.png);
  background-size: contain;
  background-repeat: no-repeat;
}

/* .txt-strong
----------------------------------------------- */
.txt-strong {
  color: #c00;
  font-weight: normal;
}

.btn-lyt_txt .txt-strong {
  font-weight: bold;
}

/* .txt-price
----------------------------------------------- */
.txt-price p {
  margin-bottom: 0;
}

.txt-price_item {
  display: flex;
  margin-top: 12px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.txt-price_item:first-child {
  margin-top: 0;
}

.txt-price_hdg {
  width: 46%;
}

.txt-price_content {
  flex: 1;
  padding-left: 6px;
  text-align: right;
}

.txt-price_content._em > p {
  font-size: 1.6rem;
}

.txt-price_content._em > p > span {
  font-size: 1.2rem;
}

/* .txt-price_form
----------------------------------------------- */
.txt-price_form p {
  margin-bottom: 0;
}

.txt-price_form_item {
  padding: 12px 0;
  border-top: 1px dotted #d0d0d0;
}

.txt-price_form_item:first-child {
  padding-top: 0;
  border-top: none;
}

.txt-price_form_item:last-child {
  padding-bottom: 0;
}

.txt-price_form_item .txt-price_form_item_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.txt-price_form_item .txt-price_form_item_inner .form-lyt-yen {
  margin-top: 10px;
  width: 181px;
}

.txt-price_form_item .txt-price_form_item_inner > p {
  margin-top: 10px;
  margin-bottom: 0;
}

.txt-price_form_item .txt-price_form_item_inner._weak > p {
  font-size: 1.2rem;
}

.txt-price_form_hdg {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.txt-price_form_hdg > ._price._em {
  font-size: 1.6rem;
}

.txt-price_form_sub {
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 1.2rem;
}

.txt-price_form._entered .txt-price_form_item_inner > p {
  margin-left: auto;
}

.txt-price_form._entered .txt-price_form_sub {
  text-align: right;
}

/* ----------------------------------------------------------------
    Icon
----------------------------------------------------------------- */
/* .icon-blank
----------------------------------------------- */
.icon-blank {
  padding: 0 5px 7px 4px;
  width: 20px;
}

/* .icon-label
----------------------------------------------- */
.icon-label {
  display: inline-block;
  margin-top: -2px;
  padding: 2px 5px;
  border-radius: 3px;
  color: #fff;
  vertical-align: middle;
  font-size: 1.1rem;
}

.icon-label._normal {
  background-color: #f2f2f2;
  color: #565656;
}

.icon-label._em {
  background-color: #b22430;
}

.icon-label._change {
  position: absolute;
  top: 50%;
  left: -49px;
  padding-top: 4px;
  background-color: #2a344b;
  font-weight: bold;
  transform: translateY(-50%);
}

.icon-label._change::before {
  position: absolute;
  bottom: -65px;
  left: 50%;
  width: 10px;
  height: 55px;
  background-image: url(../img/icon_arrow_003.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateX(-50%);
}

.icon-label._alternate {
  position: relative;
  display: block;
  margin-bottom: 10px;
  padding-top: 4px;
  max-width: 34px;
  background-color: #e9eaed;
  color: #2a344b;
  font-weight: bold;
}

.icon-label._alternate::before {
  position: absolute;
  top: 50%;
  left: -32px;
  width: 10px;
  height: 10px;
  border: 1px solid #ccc;
  border-radius: 50%;
  background-color: #fff;
  transform: translateY(-50%);
}

/* .icon-label-02
----------------------------------------------- */
.icon-label-02 {
  display: inline-block;
  padding: 1px 4px;
  border-radius: 3px;
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
}

.icon-label-02._dimmed {
  padding: 2px 0;
  color: #616161;
}

.icon-label-02._arrow::before {
  display: inline-block;
  margin-top: 1px;
  margin-right: 2px;
  width: 6.85714px;
  height: 8px;
  background-position: -52px -25px;
  background-size: 64.57143px auto;
}

.icon-label-02._unused {
  background-color: #ffe7e7;
}

.icon-label-02._used {
  background-color: #d6ecfc;
}

.icon-label-02._refunded {
  background-color: #e0e0e0;
}

.list-desc-line .icon-label-02 {
  display: block;
  margin-bottom: 10px;
}

/* .icon-label_before
----------------------------------------------- */
.icon-label_before {
  padding-right: 8px;
}

/* .icon-modal
----------------------------------------------- */
.icon-modal {
  position: absolute;
  top: 17px;
  right: 18px;
}

/* .icon-conf
----------------------------------------------- */
.icon-conf {
  position: relative;
  display: inline-block;
  padding-left: 16px;
  color: #000;
  font-size: 1.1rem;
}

.icon-conf::before {
  position: absolute;
  top: 50%;
  left: 0;
}

.icon-conf._wifi {
  padding-left: 15px;
}

.icon-conf._wifi::before {
  top: 1px;
  width: 12px;
  height: 9px;
  background-position: -10px -86px;
  background-size: 113px auto;
}

.icon-conf._power {
  padding-left: 12px;
}

.icon-conf._power::before {
  top: 1px;
  width: 9px;
  height: 12px;
  background-position: -104px 0;
  background-size: 113px auto;
}

.icon-conf._monitor {
  padding-left: 15px;
}

.icon-conf._monitor::before {
  top: 1px;
  width: 12px;
  height: 10.5px;
  background-position: -77px -69px;
  background-size: 113px auto;
}

.icon-conf._terminal {
  padding-left: 15px;
}

.icon-conf._terminal::before {
  top: 1px;
  width: 10px;
  height: 10px;
  background-position: 0 -101px;
  background-size: 113px auto;
}

.list-conf > ._video .icon-conf {
  margin-left: 2px;
}

/* ----------------------------------------------------------------
    List
----------------------------------------------------------------- */
/* .list
----------------------------------------------- */
.list > li, .commentList > li {
  position: relative;
  margin-bottom: 4px;
  padding-left: 15px;
}

.list > li::before, .commentList > li::before {
  position: absolute;
  top: 7px;
  left: 4px;
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: #9e9e9e;
}

.list > li > .link, .commentList > li > .link {
  margin-left: 6px;
}

.list > li > .link::before, .commentList > li > .link::before {
  top: 7px;
}

.list > li strong, .commentList > li strong {
  color: #c00;
  font-weight: normal;
}

.list > li > ul, .list > li > ol, .commentList > li > ul, .commentList > li > ol {
  margin: 10px 0;
}

.list > li:last-child, .commentList > li:last-child {
  margin-bottom: 0;
}

.list > li._anc::before, .commentList > li._anc::before {
  position: absolute;
  top: 4px;
  left: -1px;
  width: 12.5px;
  height: 11.5px;
  border-radius: 0;
  background-color: transparent;
  background-position: -63px -69px;
  background-size: 113px auto;
}

.list + .link-list, .commentList + .link-list {
  margin-top: -12px;
}

.lyt-fids .list > li, .lyt-fids
.commentList > li {
  margin-bottom: 0;
  font-size: 1.1rem;
}

/* .list-desc
----------------------------------------------- */
.list-desc_inner {
  padding: 10px 0;
  border-top: 1px dotted #d0d0d0;
}

.list-desc_inner:first-child {
  border-top: none;
}

.list-desc_hdg {
  margin-bottom: 7px;
  color: #616161;
  font-size: 1.4rem;
}

.list-desc_body .form-txt {
  margin-top: 7px;
}

.list-desc_body .btn-wrap {
  margin: 20px 0;
}

.list-desc_body :first-child {
  margin-top: 0;
}

.list-desc_body :last-child {
  margin-bottom: 0;
}

.list-desc_txt {
  margin-top: 7px;
  margin-bottom: 0;
}

.list-desc_txt-02 {
  margin-top: 14px;
  margin-bottom: 0;
}

.list-desc._no-border .list-desc_inner {
  border-top: none;
}

/* .list-desc-02
----------------------------------------------- */
.list-desc-02 {
  margin-bottom: 20px;
  padding-top: 15px;
  padding-bottom: 15px;
  border-top: 1px dotted #d0d0d0;
  border-bottom: 1px dotted #d0d0d0;
}

.list-desc-02_item {
  margin-bottom: 10px;
}

.list-desc-02_item:last-child {
  margin-bottom: 0;
}

.list-desc-02_item dt {
  margin-bottom: 5px;
  color: #333;
  font-weight: bold;
  font-size: 1.6rem;
}

.list-desc-02_item dd {
  padding-left: 15px;
  font-size: 1.6rem;
}

/* .list-note
----------------------------------------------- */
.list-note > li {
  display: table;
  box-sizing: border-box;
  margin-bottom: 5px;
  color: #616161;
  font-size: 1.1rem;
}

.list-note > li:last-child {
  margin-bottom: 0;
}

.list-note_mark {
  display: inline-block;
  padding-right: 2px;
  white-space: nowrap;
}

.list-note_body {
  display: table-cell;
}

.list-note_body > ul, .list-note_body > ol {
  margin: 8px 0;
}

.list-note_body > :last-child {
  margin-bottom: 0;
}

.list-note._right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.form-lyt-set .list-note {
  margin-bottom: 5px;
}

.txt-total-price + .list-note {
  margin-top: -18px;
}

.lyt-total_txt_total + .list-note {
  margin-top: -9px;
}

.list + .list-note {
  margin-top: -12px;
}

.panel-info_inner .list + .list-note {
  margin-top: 0;
}

.list-note._em > li {
  color: #000;
}

/* .list-error
----------------------------------------------- */
.list-error {
  margin-bottom: 10px;
}

.list-error > li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 16px;
  color: #c00;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.5;
}

.list-error > li::before {
  position: absolute;
  top: 7px;
  left: 3px;
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: #9e9e9e;
}

.list-error > li:last-child {
  margin-bottom: 0;
}

.list-error > li > ul, .list-error > li > ol {
  margin: 10px 0;
}

.list-error > li .link-txt {
  padding-right: 5px;
}

.list-error > li .link-txt .icon-blank {
  padding: 0 5px 6px 0;
}

.list-error + .list-note {
  margin-top: -12px;
}

/* .list-step
----------------------------------------------- */
.list-step {
  position: relative;
  display: flex;
  overflow: hidden;
  margin: 0 0 30px;
  padding-bottom: 23px;
  justify-content: space-between;
}

#main > .main-inner > .list-step {
  margin-top: -12px;
}

.list-step > li {
  position: relative;
  display: flex;
  color: #333;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.16667;
}

.list-step > li:first-child::before, .list-step > li:last-child::before {
  position: absolute;
}

.list-step > li:first-child::before {
  bottom: -16px;
  left: 50%;
  width: 100vw;
  height: 1px;
  background-color: #aaaeb7;
}

.list-step > li:last-child::before {
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100vw;
  background-color: #fff;
}

.list-step > li.is-current .list-step_inner::before {
  border-color: #2a344b;
  background-color: #2a344b;
}

.list-step > li.is-checked .list-step_inner::before {
  bottom: -17px;
  margin-left: -4px;
  width: 8px;
  height: 5px;
  border-width: 0 0 2px 2px;
  border-style: solid;
  border-color: #2a344b;
  border-radius: 0;
  background: transparent;
  transform: rotate(-45deg);
}

.list-step._col3 > li {
  width: 33.3%;
}

.list-step_inner {
  position: relative;
  display: block;
  width: 100%;
}

.list-step_inner::before, .list-step_inner::after {
  position: absolute;
}

.list-step_inner::before {
  bottom: -20px;
  left: 50%;
  z-index: 1;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border: 1px solid #aaaeb7;
  border-radius: 5px;
  background-color: #fff;
  transform: translateX(-50%);
}

.list-step_inner::after {
  bottom: -20px;
  left: 50%;
  width: 16px;
  height: 10px;
  background-color: #fff;
  transform: translateX(-50%);
}

/* .list-conf
----------------------------------------------- */
.list-conf {
  display: flex;
  margin-top: -5px;
  flex-wrap: wrap;
}

.list-conf > li {
  margin: 5px 12px 0 0;
  font-size: 1.1rem;
}

.lyt-desc-line .list-conf {
  margin-bottom: 8px;
}

.list-flight-info + .list-conf {
  margin-top: -10px;
}

.list-conf._icon-only {
  margin-left: 10px;
}

.list-conf._icon-only ._wifi {
  width: 12px;
  height: 9px;
}

.list-conf._icon-only ._power {
  width: 8px;
  height: 12px;
}

.list-conf._icon-only ._monitor {
  width: 12px;
  height: 12px;
}

.list-conf._icon-only ._terminal {
  width: 10px;
  height: 10px;
}

.list-conf._icon-only > li {
  margin: 0 4px 0 0;
}

/* .list-order
----------------------------------------------- */
.list-order > li {
  position: relative;
  margin-bottom: 20px;
  padding-left: 45px;
}

.list-order > li:last-child {
  margin-bottom: 0;
}

.list-order > li:last-child .list-order_body::before {
  display: none;
}

.list-order > li ul, .list-order > li ol {
  margin: 5px 0;
}

.list-order_mark {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  padding: 5px;
  width: 30px;
  height: 30px;
  border: 2px solid #6a7181;
  border-radius: 15px;
  background-color: #fff;
  color: #6a7181;
  text-align: center;
  font-weight: bold;
  font-size: 1.4rem;
}

.list-order_mark._single {
  top: -5px;
}

.list-order_body {
  position: relative;
  line-height: 1.5;
}

.list-order_body::before {
  position: absolute;
  top: 15px;
  left: -31px;
  z-index: 0;
  width: 2px;
  height: calc(100% + 25px);
  background-color: #6a7181;
}

/* .list-embargo
----------------------------------------------- */
.list-embargo {
  display: flex;
  margin-top: -20px;
  flex-wrap: wrap;
}

.list-embargo > li {
  position: relative;
  display: flex;
  margin-top: 20px;
  padding: 0 10px 0 50px;
  min-height: 48px;
  width: 50%;
  font-size: 1.1rem;
  align-items: center;
}

.list-embargo > li > span {
  color: #000;
}

.list-embargo > li._item_01::before, .list-embargo > li._item_02::before, .list-embargo > li._item_03::before, .list-embargo > li._item_04::before, .list-embargo > li._item_05::before, .list-embargo > li._item_06::before, .list-embargo > li._item_07::before, .list-embargo > li._item_08::before {
  position: absolute;
  top: 0;
  left: 0;
  background-size: cover;
}

.list-embargo > li._item_01::before {
  width: calc(52px * .75);
  height: calc(60px * .75);
  background-image: url(../img/icon_baggage_001.png);
}

.list-embargo > li._item_02::before {
  width: calc(44px * .75);
  height: calc(65px * .75);
  background-image: url(../img/icon_baggage_002.png);
}

.list-embargo > li._item_03::before {
  width: calc(54px * .75);
  height: calc(56px * .75);
  background-image: url(../img/icon_baggage_003.png);
}

.list-embargo > li._item_04::before {
  width: calc(54px * .75);
  height: calc(58px * .75);
  background-image: url(../img/icon_baggage_004.png);
}

.list-embargo > li._item_05::before {
  width: calc(50px * .75);
  height: calc(54px * .75);
  background-image: url(../img/icon_baggage_005.png);
}

.list-embargo > li._item_06::before {
  width: calc(43px * .75);
  height: calc(62px * .75);
  background-image: url(../img/icon_baggage_006.png);
}

.list-embargo > li._item_07::before {
  width: calc(32px * .75);
  height: calc(60px * .75);
  background-image: url(../img/icon_baggage_007.png);
}

.list-embargo > li._item_08::before {
  width: calc(52px * .75);
  height: calc(61px * .75);
  background-image: url(../img/icon_baggage_008.png);
}

.list-embargo > :last-child {
  margin-bottom: 0;
}

/* .list-flight-via
----------------------------------------------- */
.list-flight-via {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 1.2rem;
}

/* .list-flight-info
----------------------------------------------- */
.list-flight-info {
  display: flex;
  margin-bottom: 12px;
  font-size: 1.1rem;
  flex-wrap: wrap;
}

.list-flight-info > div {
  display: flex;
  margin: 7px 10px 0 0;
}

.list-flight-info > div > dt {
  margin-top: 1px;
  color: #616161;
  white-space: nowrap;
}

.list-flight-info > div > dd {
  font-size: 1.3rem;
}

.list-flight-info > div > dd .link::before {
  top: 6px;
}

.list-flight-info > div > dd._checkin {
  font-weight: bold;
}

.list-flight-info + .list-flight-info {
  margin-top: -12px;
}

.lyt-desc-line_txt + .list-flight-info {
  margin-top: -7px;
}

/* .list-select-time
----------------------------------------------- */
.list-select-time {
  display: flex;
  margin: 0 -10px 0;
  padding: 15px 0 10px;
  background-color: #fff;
  justify-content: space-between;
  align-items: center;
}

.list-select-time > li {
  display: flex;
  height: 100%;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
}

.list-select-time > li .list-select-time_item {
  position: relative;
  font-size: 1.4rem;
}

.list-select-time > li .list-select-time_item.is-current {
  margin-bottom: -2px;
  padding: 2px 0;
  border-radius: 3px 3px 0 0;
}

.list-select-time > li .list-select-time_item.is-current .is-current_item {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
}

.list-select-time > li .list-select-time_item.is-current b {
  color: #333;
  text-align: center;
  font-size: 1.4rem;
}

.list-select-time > li .list-select-time_item.is-current b > span {
  display: block;
  color: #c00;
  font-size: 1.1rem;
}

.list-select-time > li .list-select-time_item ._yen {
  color: #c00;
  text-align: center;
  font-size: 1.3rem;
}

.list-select-time > li a {
  display: flex;
  color: #333;
  font-size: 1.4rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
  justify-content: center;
  align-items: center;
}

.list-select-time > li a:hover, .list-select-time > li a:active, .list-select-time > li a:focus {
  opacity: .8;
}

.list-select-time > li:first-child a, .list-select-time > li:last-child a {
  position: relative;
  width: 100%;
}

.list-select-time > li:first-child a::before, .list-select-time > li:last-child a::before {
  margin-top: -3px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #2a344b;
  border-right: 2px solid #2a344b;
  transform: rotate(45deg) translate3d(0, 0, 0);
}

.list-select-time > li:first-child a::before {
  right: auto;
  left: 10px;
  transform: rotate(-135deg) translate3d(0, 0, 0);
}

.list-select-time > li:first-child a > time {
  margin-left: 8px;
}

.list-select-time > li:last-child a {
  flex-direction: row-reverse;
}

/* .list-spec
----------------------------------------------- */
.list-spec {
  display: flex;
  margin: -5px 0 7px 0;
  flex-wrap: wrap;
}

.list-spec > .list-spec_item {
  margin: 5px 10px 0 0;
  font-size: 1.2rem;
}

.list-spec > .list-spec_item._wifi, .list-spec > .list-spec_item._acusb, .list-spec > .list-spec_item._ac, .list-spec > .list-spec_item._usb {
  position: relative;
}

.list-spec > .list-spec_item._wifi::before, .list-spec > .list-spec_item._acusb::before, .list-spec > .list-spec_item._ac::before, .list-spec > .list-spec_item._usb::before {
  position: absolute;
  top: 2px;
  left: 0;
}

.list-spec > .list-spec_item._wifi {
  padding-left: 22px;
}

.list-spec > .list-spec_item._wifi::before {
  width: 12px;
  height: 9px;
  background-position: -10px -86px;
  background-size: 113px auto;
}

.list-spec > .list-spec_item._acusb, .list-spec > .list-spec_item._usb {
  padding-left: 15px;
}

.list-spec > .list-spec_item._acusb::before, .list-spec > .list-spec_item._usb::before {
  width: 9px;
  height: 12px;
  background-position: -104px 0;
  background-size: 113px auto;
}

.list-spec > .list-spec_item._ac {
  padding-left: 15px;
}

.list-spec > .list-spec_item._ac::before {
  width: 9px;
  height: 12px;
  background-position: -104px 0;
  background-size: 113px auto;
}

.list-spec > .list-spec_item._cheap-day ._icon {
  margin-right: 4px;
  padding: 0 3px;
  border-radius: 2px;
  background-color: #c00;
  color: #fff;
  letter-spacing: 2px;
  font-weight: bold;
  font-size: 1.1rem;
}

.list-spec > .list-spec_item._cheap-flight ._icon {
  margin-right: 4px;
}

.list-spec > .list-spec_item._cheap-flight ._icon > img {
  width: 16px;
  height: 16px;
}

.list-spec > .list-spec_item._video > span {
  position: relative;
  display: inline-block;
  margin-left: 2px;
}

.list-spec > .list-spec_item._video > span::before {
  position: absolute;
  left: 0;
}

.list-spec > .list-spec_item._video > span._monitor {
  padding-left: 22px;
}

.list-spec > .list-spec_item._video > span._monitor::before {
  top: 2px;
  width: 12px;
  height: 10.5px;
  background-position: -77px -69px;
  background-size: 113px auto;
}

.list-spec > .list-spec_item._video > span._terminal {
  padding-left: 18px;
}

.list-spec > .list-spec_item._video > span._terminal::before {
  top: 2px;
  width: 10px;
  height: 10px;
  background-position: 0 -101px;
  background-size: 113px auto;
}

.list-spec > .list-spec_item._video > span:last-child {
  margin-right: 2px;
}

.list-desc-line_plan_option + .list-spec {
  margin-top: -15px;
}

/* .list-sort
----------------------------------------------- */
.list-sort {
  display: flex;
  margin-bottom: 0;
  align-items: flex-start;
}

.list-sort dt {
  padding-top: 2px;
  color: #565656;
  font-size: 1.1rem;
}

.list-sort dd {
  margin-left: 6px;
}

.list-sort ul {
  display: flex;
  margin-right: -25px;
  margin-bottom: 0;
}

.list-sort ul > li {
  position: relative;
  margin-right: 25px;
}

.list-sort ul > li::after {
  position: absolute;
  top: 10%;
  right: -12px;
  width: 1px;
  height: 12px;
  background-color: #ccc;
}

.list-sort ul > li:last-child::after {
  display: none;
}

.list-sort ul > li.is-current a {
  color: #000;
  font-weight: bold;
}

.list-sort ul > li.is-desc a > img, .list-sort ul > li.is-asc a > img {
  margin-right: 5px;
  width: 8px;
  height: 6px;
}

.list-sort ul > li > a {
  display: flex;
  font-size: 1.4rem;
  align-items: center;
}

.list-sort ul > li span {
  margin-top: 2px;
  font-size: 1rem;
}

/* .list-flow-boarding
----------------------------------------------- */
.list-flow-boarding {
  display: flex;
  flex-direction: column;
  margin-bottom: 60px;
  justify-content: center;
  align-items: center;
}

.list-flow-boarding > li {
  position: relative;
}

.list-flow-boarding > li::after {
  margin: 20px auto;
  width: 0;
  height: 0;
  border-top: 21px solid #f0c2c5;
  border-right: 26px solid transparent;
  border-left: 26px solid transparent;
}

.list-flow-boarding > li:last-child::after {
  display: none;
}

.list-flow-boarding_hdg {
  display: flex;
  margin-bottom: 8px;
  align-items: flex-start;
}

.list-flow-boarding_hdg ._num {
  margin-right: 6px;
  color: #ca3540;
  letter-spacing: -2.5px;
  font-weight: bold;
  font-size: 4.8rem;
  line-height: 1;
}

.list-flow-boarding_hdg ._title {
  font-weight: bold;
  font-size: 1.4rem;
}

.list-flow-boarding_hdg ._title > span {
  font-size: 1.6rem;
}

.list-flow-boarding_hdg ._title > span > b {
  font-size: 2.0rem;
}

.list-flow-boarding_img {
  margin: 0 auto;
  max-width: 230px;
}

.list-flow-boarding_txt {
  margin-top: 15px;
  max-width: 230px;
  font-size: 1.3rem;
}

.list-flow-boarding_txt_02 {
  color: #ca3540;
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
}

/* ----------------------------------------------------------------
    Link
----------------------------------------------------------------- */
/* .link
----------------------------------------------- */
.link {
  position: relative;
  display: inline-block;
  padding-left: 14px;
  transition: color .3s cubic-bezier(.39, .575, .565, 1);
}

.link::before {
  position: absolute;
  top: 5px;
  left: 0;
  width: 6px;
  height: 6px;
  border: 2px solid #b22430;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg);
}

.link:hover, .link:active, .link:focus {
  color: #ca0000;
  text-decoration: underline;
}

.link._line {
  text-decoration: underline;
}

/* .link-txt
----------------------------------------------- */
.link-txt._line {
  margin: 0 2px;
  text-decoration: underline;
}

.link-txt .icon-blank {
  padding: 0 5px 3px 0;
  width: 16px;
}

/* .link-list
----------------------------------------------- */
.link-list > li {
  margin-bottom: 10px;
}

.link-list > li:last-child {
  margin-bottom: 0;
}

.link-list > li > ul, .link-list > li > ol {
  margin: 10px 0;
}

.link-list > li > .link-list {
  margin-left: 18px;
}

.link-list > li a {
  position: relative;
  display: inline-block;
  padding-left: 12px;
  color: #0f0f69;
  text-decoration: none;
  font-size: 1.4rem;
  transition: color .3s cubic-bezier(.39, .575, .565, 1);
}

.link-list > li a::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid #d11b1b;
  border-right: 2px solid #d11b1b;
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transform: rotate(45deg) translate3d(0, 0, 0);
}

.link-list > li a .icon-blank {
  top: -6px;
}

.link-list._inline {
  display: flex;
  margin-bottom: 0;
  flex-wrap: wrap;
}

.link-list._inline > li {
  margin: 0 18px 24px 0;
}

.link-list_note {
  display: block;
  color: #616161;
  font-size: 1.1rem;
}

/* .link-condition
----------------------------------------------- */
.link-condition {
  position: relative;
  display: block;
  margin-bottom: 10px;
  width: 100%;
  height: auto;
  border: 1px solid #ccc;
  border-radius: 3px;
  background-color: #fff;
  font-size: 1.6rem;
}

.link-condition > .link-condition_item {
  display: flex;
  padding: 12px;
  padding-right: 20px;
  color: #000;
}

.link-condition > .link-condition_item._headcount .link-condition-list_data {
  display: flex;
  margin-bottom: 0;
  margin-left: 7px;
}

.link-condition > .link-condition_item._headcount .link-condition-list_data img {
  vertical-align: middle;
}

.link-condition > .link-condition_item._headcount .adult img {
  width: 8px;
}

.link-condition > .link-condition_item._headcount .junior img {
  width: 9px;
}

.link-condition > .link-condition_item._headcount .child img {
  width: 9px;
}

.link-condition > .link-condition_item._headcount .times {
  padding: 0 6px 0 10px;
  color: #686868;
  font-size: 1.6rem;
}

.link-condition > .link-condition_item._headcount .num {
  padding-right: 20px;
  color: #686868;
  font-size: 1.7rem;
}

.link-condition > .link-condition_item._headcount .is-active {
  color: #333;
}

.link-condition > .link-condition_item._calendar {
  position: relative;
  padding: 10px 46px 10px 40px;
}

.link-condition > .link-condition_item._calendar::before {
  position: absolute;
  top: 13px;
  left: 12px;
  width: 17px;
  height: 16px;
  background-position: -61px -45px;
  background-size: 113px auto;
}

.link-condition > .link-condition_item._calendar.is-error {
  padding: 9px 46px 9px 40px;
  border: 2px solid #c00;
  background-color: #fdf5f5;
}

.link-condition > .link-condition_item._calendar .link-condition_data {
  font-size: 1.3rem;
}

.link-condition > .link-condition_item._calendar .link-condition_data .month, .link-condition > .link-condition_item._calendar .link-condition_data .date {
  font-size: 1.9rem;
}

.link-condition > .link-condition_item._class {
  padding: 13px 20px 13px 46px;
}

.link-condition > .link-condition_item._class .link-condition_img {
  position: absolute;
  top: 12px;
  left: 16px;
  width: 13px;
}

.link-condition > .link-condition_item .link-condition_img {
  margin-bottom: 0;
}

.link-condition > .link-condition_item .link-condition_data {
  margin-bottom: 0;
}

.link-condition[role='button'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.link-condition .link-condition_exc {
  position: absolute;
  right: 10px;
  bottom: -27px;
  z-index: 1;
  width: 44px;
}

/* .link-condition-set
----------------------------------------------- */
.link-condition-set {
  position: relative;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.link-condition-set._calendar .link-condition-set_list {
  position: relative;
  padding-right: 10px;
  padding-left: 48px;
}

.link-condition-set._calendar .link-condition-set_list::before {
  position: absolute;
  top: 13px;
  left: 14px;
  width: 17px;
  height: 16px;
  background-position: -61px -45px;
  background-size: 113px auto;
}

@media screen and (max-width: 320px) {
  .link-condition-set._calendar .link-condition-set_list {
    padding-left: 45px;
  }
  .link-condition-set._calendar .link-condition-set_list .year, .link-condition-set._calendar .link-condition-set_list .month, .link-condition-set._calendar .link-condition-set_list .date {
    font-size: 1.6rem;
  }
  .link-condition-set._calendar .link-condition-set_list .month {
    padding-left: 4px;
  }
  .link-condition-set._calendar .link-condition-set_list > li:first-child {
    padding-right: 20px;
  }
  .link-condition-set._calendar .link-condition-set_list > li .label {
    padding-right: 6px;
    font-size: 1.3rem;
  }
}

.link-condition-set_list {
  margin-bottom: 0;
}

.link-condition-set_list > li {
  display: flex;
  padding: 12px 0;
  border-top: 1px solid #ccc;
}

.link-condition-set_list > li:first-child {
  padding-right: 25px;
  border-top: 0;
}

.link-condition-set_list > li .label {
  padding-right: 8px;
  color: #686868;
  font-size: 1.5rem;
}

.link-condition-set_data {
  color: #333;
  font-size: 1.3rem;
}

.link-condition-set_data .year, .link-condition-set_data .month, .link-condition-set_data .date {
  font-size: 1.8rem;
}

.link-condition-set_data .month {
  padding-left: 8px;
}

/* .link-02
----------------------------------------------- */
.link-02 {
  position: relative;
  display: inline-block;
}

.link-02._add {
  padding-left: 22px;
}

.link-02._add::before, .link-02._add::after {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -2px;
  width: 12px;
  height: 2px;
  background-color: #2a344b;
}

.link-02._add::after {
  transform: rotate(90deg);
}

.link-02._plane {
  padding-left: 27px;
}

.link-02._plane::before {
  position: absolute;
  top: 1px;
  left: 0;
  width: 15px;
  height: 16px;
  background-position: -34px -69px;
  background-size: 113px auto;
}

.link-02._transfer {
  padding-left: 27px;
}

.link-02._transfer::before {
  position: absolute;
  top: 1px;
  left: 0;
  width: 17px;
  height: 18px;
  background-image: url(../img/icon_transfer_001.png);
  background-size: contain;
  background-repeat: no-repeat;
}

/* ----------------------------------------------------------------
    Button
----------------------------------------------------------------- */
/* .btn
----------------------------------------------- */
.btn {
  position: relative;
  display: inline-block;
  padding: 18px 36px;
  min-width: 270px;
  background-color: #c00;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, .25);
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
}

.btn::before {
  position: absolute;
  top: 50%;
  right: 17px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border: 2px solid #fff;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg);
}

.panel-info-02 .btn {
  min-width: 0;
  width: 100%;
}

/* .btn-03
----------------------------------------------- */
.btn-03 {
  display: inline-block;
  color: #0f0f69;
  text-align: left;
  font-size: 1.4rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-03 > span {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.btn-03 > span::before {
  position: absolute;
  top: 2px;
  left: 0;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 1px solid #2a344b;
  border-radius: 2px;
}

.btn-03 > span::after {
  position: absolute;
  top: 6px;
  left: 3px;
  width: 6px;
  height: 6px;
  border: 2px solid #2a344b;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg);
}

.btn-03._small {
  font-size: 1.1rem;
}

.btn-03._small > span {
  padding-left: 14px;
}

.btn-03._small > span::before {
  top: 1px;
  width: 11px;
  height: 11px;
}

.btn-03._small > span::after {
  top: 5px;
  left: 3px;
  width: 3px;
  height: 3px;
  border-width: 1px;
}

.btn-03:hover, .btn-03:active, .btn-03:focus {
  opacity: .8;
}

/* .btn-04
----------------------------------------------- */
.btn-04 {
  position: relative;
  display: inline-block;
  padding: 13px 12px 11px;
  width: 100%;
  border: 1px solid #ccc;
  color: #0f0f69;
  font-size: 1.4rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-04 > span {
  position: relative;
  display: inline-block;
  padding-left: 10px;
}

.btn-04 > span::before {
  position: absolute;
  top: 50%;
  left: -2px;
  margin-top: -4px;
  width: 6px;
  height: 6px;
  border: 1px solid #c00;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg);
}

.btn-04:hover, .btn-04:active, .btn-04:focus {
  opacity: .8;
}

/* .btn-disable
----------------------------------------------- */
.btn-disable {
  position: relative;
  display: inline-block;
  padding: 18px 36px;
  min-width: 270px;
  background-color: #eee;
  color: #616161;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
}

.btn-disable::before {
  position: absolute;
  top: 50%;
  right: 17px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border: 2px solid #616161;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg);
}

.panel-info-02 .btn-disable {
  min-width: 0;
  width: 100%;
}

/* .btn-wrap
----------------------------------------------- */
.btn-wrap {
  margin: 30px 0;
}

.panel-info-02 .btn-wrap {
  margin-top: 0;
}

.btn-wrap + .btn-wrap {
  margin-top: -6px;
}

.btn-lyt_txt + .btn-wrap {
  margin-top: 11px;
}

.btn-wrap._separate {
  padding-top: 14px;
  border-top: 1px solid #ccc;
}

/* .btn-wrap-02
----------------------------------------------- */
.btn-wrap-02 {
  margin: 30px 0 60px;
}

.btn-wrap-02._separate {
  padding-top: 14px;
  border-top: 1px solid #ccc;
}

/* .btn-wrap-03
----------------------------------------------- */
.btn-wrap-03 {
  margin: 15px 0;
}

.btn-wrap-03._separate {
  padding-top: 14px;
  border-top: 1px solid #ccc;
}

/* .btn-next
----------------------------------------------- */
.btn-next {
  position: relative;
  display: inline-block;
  padding: 17px 36px 17px 22px;
  min-width: 270px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, .1);
  color: #333;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-next::before {
  position: absolute;
  top: 50%;
  right: 17px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border: 2px solid #c00;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg);
}

.btn-next:hover, .btn-next:active, .btn-next:focus {
  opacity: .8;
}

.panel-info-02 .btn-next {
  min-width: 0;
  width: 100%;
}

.btn-next._code {
  padding: 7px 46px 7px 32px;
}

.btn-next._code ._main {
  position: relative;
  display: block;
  padding-left: 30px;
}

.btn-next._code ._main::before {
  position: absolute;
  top: -1px;
  left: 4px;
  width: 18px;
  height: 18px;
  background-image: url(../img/icon_code_001.png);
}

.btn-next._code ._sup {
  font-weight: normal;
  font-size: 1.2rem;
}

.btn-next._long {
  padding-right: 0;
  padding-left: 0;
}

.btn-next._small {
  padding: 12px 31px 12px 17px;
  min-width: 200px;
}

/* .btn-back
----------------------------------------------- */
.btn-back {
  position: relative;
  display: inline-block;
  padding: 17px 22px 17px 36px;
  min-width: 270px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, .1);
  color: #333;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-back._small {
  min-width: 130px;
}

.btn-back::before {
  position: absolute;
  top: 50%;
  left: 17px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border: 2px solid #c00;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(225deg);
}

.btn-back:hover, .btn-back:active, .btn-back:focus {
  opacity: .8;
}

/* .btn-decision
----------------------------------------------- */
.btn-decision {
  position: relative;
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 16px 30px 14px;
  width: 84%;
  background-color: #2d2d2d;
  color: #fff;
  text-align: center;
  font-weight: bold;
}

.btn-decision::before {
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translate3d(0, 0, 0);
}

/* .btn-decision-fixed
----------------------------------------------- */
.btn-decision-fixed {
  position: relative;
  display: block;
  margin: 20px auto;
  padding: 16px 30px 14px;
  width: 84%;
  background-color: #2d2d2d;
  color: #fff;
  text-align: center;
  font-weight: bold;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-decision-fixed::before {
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translate3d(0, 0, 0);
}

.btn-decision-fixed.is-noactive {
  opacity: .3;
}

/* .btn-more
----------------------------------------------- */
.btn-more {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  padding: 17px 45px;
  min-width: 240px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  color: #333;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-more::after {
  position: absolute;
  top: 50%;
  right: 19px;
  margin-top: -5px;
  width: 8px;
  height: 8px;
  border: 2px solid #c00;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(135deg);
}

.btn-more:hover, .btn-more:active, .btn-more:focus {
  opacity: .8;
}

/* .btn-add
----------------------------------------------- */
.btn-add {
  position: relative;
  display: inline-block;
  padding: 13px 11px 11px;
  min-width: 270px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  color: #0f0f69;
  font-size: 1.4rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-add > span {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.btn-add > span::before, .btn-add > span::after {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -2px;
  width: 12px;
  height: 2px;
  background-color: #2a344b;
}

.btn-add > span::after {
  transform: rotate(90deg);
}

.btn-add:hover, .btn-add:active, .btn-add:focus {
  opacity: .8;
}

.btn-add[aria-expanded='true'] > span::after {
  display: none;
}

/* .btn-add-02
----------------------------------------------- */
.btn-add-02 {
  position: relative;
  color: #0f0f69;
  font-size: 1.4rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-add-02 > span {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.btn-add-02 > span::before, .btn-add-02 > span::after {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -2px;
  width: 12px;
  height: 2px;
  background-color: #2a344b;
}

.btn-add-02 > span::after {
  transform: rotate(90deg);
}

.btn-add-02:hover, .btn-add-02:active, .btn-add-02:focus {
  opacity: .8;
}

/* .btn-delete
----------------------------------------------- */
.btn-delete {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  padding: 8px 10px 7px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  color: #0f0f69;
  font-size: 1.2rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-delete > span {
  position: relative;
  display: inline-block;
  padding-left: 19px;
}

.btn-delete > span::before, .btn-delete > span::after {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -2px;
  width: 12px;
  height: 2px;
  background-color: #2a344b;
}

.btn-delete > span::before {
  transform: rotate(45deg);
}

.btn-delete > span::after {
  transform: rotate(-45deg);
}

.btn-delete:hover, .btn-delete:active, .btn-delete:focus {
  opacity: .8;
}

/* .btn-delete-02
----------------------------------------------- */
.btn-delete-02 {
  position: relative;
  display: inline-block;
  padding: 13px 11px 11px;
  min-width: 270px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  color: #0f0f69;
  font-size: 1.4rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-delete-02 > span {
  position: relative;
  display: inline-block;
  padding-left: 19px;
}

.btn-delete-02 > span::before, .btn-delete-02 > span::after {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -2px;
  width: 12px;
  height: 2px;
  background-color: #2a344b;
}

.btn-delete-02 > span::before {
  transform: rotate(45deg);
}

.btn-delete-02 > span::after {
  transform: rotate(-45deg);
}

.btn-delete-02:hover, .btn-delete-02:active, .btn-delete-02:focus {
  opacity: .8;
}

/* .btn-change
----------------------------------------------- */
.btn-change {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  padding: 8px 10px 7px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  color: #0f0f69;
  font-size: 1.2rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-change > span {
  position: relative;
  display: inline-block;
  padding-left: 19px;
}

.btn-change > span::before {
  position: absolute;
  top: 1px;
  left: 0;
  width: 12px;
  height: 12px;
  background-position: -90px -71px;
  background-size: 113px auto;
}

.btn-change:hover, .btn-change:active, .btn-change:focus {
  opacity: .8;
}

/* .btn-change-02
----------------------------------------------- */
.btn-change-02 {
  position: relative;
  display: inline-block;
  padding: 13px 11px 11px;
  min-width: 270px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  color: #0f0f69;
  font-size: 1.4rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-change-02 > span {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.btn-change-02 > span::before {
  position: absolute;
  top: 3px;
  left: 0;
  width: 12px;
  height: 12px;
  background-position: -90px -71px;
  background-size: 113px auto;
}

.btn-change-02:hover, .btn-change-02:active, .btn-change-02:focus {
  opacity: .8;
}

/* .btn-reserve
----------------------------------------------- */
.btn-reserve {
  position: relative;
  display: inline-block;
  padding: 13px 11px 11px;
  min-width: 270px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  color: #0f0f69;
  font-size: 1.4rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-reserve > span {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.btn-reserve > span::before {
  position: absolute;
  top: 1px;
  left: 0;
  width: 12px;
  height: 12px;
  background-position: -50px -69px;
  background-size: 113px auto;
}

.btn-reserve:hover, .btn-reserve:active, .btn-reserve:focus {
  opacity: .8;
}

/* .btn-modal
----------------------------------------------- */
.btn-modal {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  padding: 8px 10px 7px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  color: #0f0f69;
  font-size: 1.2rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-modal > span {
  position: relative;
  display: inline-block;
  padding-right: 17px;
}

.btn-modal > span::after {
  position: absolute;
  top: 2px;
  right: 0;
  width: 10px;
  height: 10px;
  background-position: -11px -101px;
  background-size: 113px auto;
}

.btn-modal:hover, .btn-modal:active, .btn-modal:focus {
  opacity: .8;
}

/* .btn-anc
----------------------------------------------- */
.btn-anc {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  padding: 10px 20px 9px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.btn-anc > span {
  position: relative;
  display: inline-block;
  padding-right: 19px;
}

.btn-anc > span::after {
  position: absolute;
  top: 4px;
  right: -9px;
  width: 12.5px;
  height: 11.5px;
  border-radius: 0;
  background-color: transparent;
  background-position: -63px -69px;
  background-size: 113px auto;
}

.btn-anc:hover, .btn-anc:active, .btn-anc:focus {
  opacity: .8;
}

/* .btn-list
----------------------------------------------- */
.btn-list {
  text-align: center;
}

.btn-list > li {
  margin-bottom: 14px;
}

.btn-list > li:last-child {
  margin-bottom: 0;
}

/* .btn-lyt
----------------------------------------------- */
.btn-lyt {
  margin-bottom: 30px;
}

.btn-lyt > :last-child {
  margin-bottom: 0;
}

.btn-lyt_txt {
  color: #616161;
}

.btn-lyt_txt + .btn-lyt_txt {
  margin-top: -12px;
}

/* ----------------------------------------------------------------
    Panel
----------------------------------------------------------------- */
/* .panel-02
----------------------------------------------- */
.panel-02 {
  margin: 40px 0;
}

.panel-02-inner {
  padding: 13px 0 30px;
  background-color: #fff;
}

.panel-02-inner > :last-child {
  margin-bottom: 0;
}

.panel-02_head {
  padding: 12px 0 8px;
  border-top: 1px solid #ccc;
  background-image: url(../img/bg_tile_001.png);
  background-repeat: repeat;
}

.panel-02_head_hdg {
  color: #333;
  font-size: 1.6rem;
}

.panel-02_head_hdg + .panel-02_txt {
  margin-top: -20px;
}

.panel-02._double .btn-wrap {
  margin-top: 20px;
}

.panel-02._double .btn-wrap:last-child {
  border-top: 1px dotted #d0d0d0;
}

.panel-02._double .btn-wrap:last-child > p {
  margin: 20px 0 10px;
  font-size: 1.4rem;
}

.panel-02._double .btn-wrap > p {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 1.2rem;
}

/* .panel-attention
----------------------------------------------- */
.panel-attention {
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #c00;
  background-color: #fdf5f5;
}

.panel-attention > :first-child {
  margin-top: 0;
}

.panel-attention > :last-child {
  margin-bottom: 0;
}

.panel-attention .panel-attention_hdg {
  position: relative;
  margin-bottom: 10px;
  padding-left: 24px;
  color: #c00;
  font-weight: bold;
  font-size: 1.6rem;
}

.panel-attention .panel-attention_hdg::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background-position: -22px -45px;
  background-size: 113px auto;
}

/* .panel-modal-condition
----------------------------------------------- */
.panel-modal-condition {
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.panel-modal-condition .panel-modal-condition_inner {
  margin: 0 10px;
}

.panel-modal-condition .panel-modal-condition_body {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.panel-modal-condition .panel-modal-condition_hdg {
  position: relative;
  padding: 12px 40px 12px 44px;
  background-color: #e9ecf0;
  color: #333;
  font-weight: bold;
  font-size: 1.6rem;
}

.panel-modal-condition._calendar .panel-modal-condition_body {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.panel-modal-condition._calendar .panel-modal-condition-fixed {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  overflow: hidden;
  width: 100%;
}

.panel-modal-condition._calendar .panel-modal-condition-content {
  position: relative;
  top: 0;
  z-index: 99;
  display: block;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  padding-top: 82px;
  padding-bottom: 80px;
  width: 100%;
  height: 100%;
}

.panel-modal-condition._calendar .panel-modal-condition_footer {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100%;
}

.panel-modal-condition._calendar .panel-modal-condition_hdg::before {
  position: absolute;
  top: 13px;
  left: 10px;
  width: 17px;
  height: 16px;
  background-position: -61px -45px;
  background-size: 113px auto;
}

.panel-modal-condition._class .panel-modal-condition_hdg::before {
  position: absolute;
  top: 12px;
  left: 16px;
  width: 13px;
  height: 19px;
  background-position: -90px 0;
  background-size: 113px auto;
}

.panel-modal-condition._headcount .panel-modal-condition_hdg::before {
  position: absolute;
  top: 12px;
  left: 16px;
  width: 17px;
  height: 17.5px;
  background-position: -43px -45px;
  background-size: 113px auto;
}

.panel-modal-condition._ticket .panel-modal-condition_body {
  position: relative;
}

.panel-modal-condition._ticket .panel-modal-condition_hdg {
  padding: 12px 40px 12px 12px;
}

.panel-modal-condition._ticket .panel-modal-condition-content {
  position: relative;
  padding: 20px;
}

.panel-modal-condition._ticket + .modal_btn-close {
  position: absolute;
}

.panel-modal-condition .panel-modal-condition_hdg02 {
  padding: 9px 10px;
  background-color: #282f39;
  color: #fff;
  font-weight: normal;
  font-size: 1.6rem;
}

.panel-modal-condition .panel-modal-condition_item {
  padding: 20px 25px;
}

.panel-modal-condition .panel-modal-condition_item > :last-child {
  margin-bottom: 0;
}

.panel-modal-condition .panel-modal-condition-fixed {
  position: fixed;
  top: 0;
  z-index: 100;
  display: block;
  width: 100%;
}

.panel-modal-condition .panel-modal-condition-fixed + .panel-modal-condition_item {
  padding-top: 105px;
}

.panel-modal-condition .panel-modal-condition-fixed + .panel-modal-condition_list-btn {
  padding-top: 44px;
}

.panel-modal-condition .panel-modal-condition-fixed + .panel-modal-condition_list-radio {
  padding-top: 85px;
}

.panel-modal-condition .panel-modal-condition-fixed + .panel-modal-condition_table-calendar {
  margin-top: 80px;
}

.panel-modal-condition .panel-modal-condition_list-radio > li {
  border-bottom: 1px solid #515151;
}

.panel-modal-condition .panel-modal-condition_list-btn-item {
  position: relative;
  padding-left: 40px;
}

.panel-modal-condition .panel-modal-condition_list-btn-item .img_adult {
  position: absolute;
  top: 0;
  left: 12px;
  width: 8px;
}

.panel-modal-condition .panel-modal-condition_list-btn-item .img_junior {
  position: absolute;
  top: 3px;
  left: 12px;
  width: 9px;
}

.panel-modal-condition .panel-modal-condition_list-btn-item .img_child {
  position: absolute;
  top: 5px;
  left: 12px;
  width: 9px;
}

.panel-modal-condition .panel-modal-condition_list-btn-item .num, .panel-modal-condition .panel-modal-condition_list-btn-item .unit {
  font-size: 1.8rem;
}

.panel-modal-condition .panel-modal-condition_list-btn-item .num.is-inactive, .panel-modal-condition .panel-modal-condition_list-btn-item .unit.is-inactive {
  color: #686868;
}

.panel-modal-condition .panel-modal-condition_list-btn-item .category {
  margin-left: 5px;
  font-size: 1.2rem;
}

.panel-modal-condition .panel-modal-condition_list-btn > li {
  display: flex;
  padding: 8px 10px;
  border-bottom: 1px solid #515151;
  justify-content: space-between;
  align-items: center;
}

.panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set {
  display: flex;
  width: 100px;
  justify-content: space-around;
}

.panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .minus, .panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .plus {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 34px;
  background-color: #626770;
  color: rgba(0, 0, 0, 0);
  font-size: 1rem;
}

.panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .minus:disabled, .panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .plus:disabled {
  background-color: #dbdee3;
}

.panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .minus::before, .panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .plus::before {
  position: absolute;
}

.panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .minus::before {
  top: 17px;
  left: 10px;
  width: 14px;
  height: 2px;
  background-color: #fff;
}

.panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .plus::before {
  top: 17px;
  left: 10px;
  width: 14px;
  height: 2px;
  background-color: #fff;
}

.panel-modal-condition .panel-modal-condition_list-btn .panel-modal-condition_list-btn-set .plus::after {
  position: absolute;
  top: 17px;
  left: 10px;
  width: 14px;
  height: 2px;
  background-color: #fff;
  transform: rotate(90deg);
}

.panel-modal-condition .panel-modal-condition_table-calendar {
  width: 100%;
  line-height: 1.3;
}

.panel-modal-condition .panel-modal-condition_table-calendar > caption {
  padding: 18px 10px 10px;
  font-weight: bold;
  font-size: 1.6rem;
}

.panel-modal-condition .panel-modal-condition_table-calendar > caption .is-info-txt {
  display: block;
  margin-top: 8px;
  text-align: right;
  font-weight: normal;
  font-size: 1.3rem;
}

.panel-modal-condition .panel-modal-condition_table-calendar > caption .is-info-txt img {
  padding-right: 5px;
  vertical-align: middle;
}

.panel-modal-condition .panel-modal-condition_table-calendar thead {
  width: 100%;
  height: 30px;
  border-bottom: 1px solid #bdc0c4;
  background: #ccc;
  background-color: #f4f4f4;
}

.panel-modal-condition .panel-modal-condition_table-calendar thead th {
  padding: 16px 0;
  width: calc(100% / 7);
  text-align: center;
  font-weight: normal;
}

.panel-modal-condition .panel-modal-condition_table-calendar thead .is-sunday {
  color: #ca3540;
}

.panel-modal-condition .panel-modal-condition_table-calendar thead .is-saturday {
  color: #0e5f9e;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td {
  position: relative;
  width: calc(100% / 7);
  border: 1px solid #e9ecf0;
  text-align: center;
  font-weight: normal;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td a {
  position: relative;
  display: block;
  padding: 16px 0;
  min-height: 53px;
  color: #333;
  font-size: 1.6rem;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td a.is-disabled {
  background-color: #e9ecf0;
  color: #999;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td a.is-between {
  background-color: #fbeded;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td a.is-selected-incoming {
  background-color: #d63333 !important;
  color: #fff !important;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td a.is-selected-incoming ._icon {
  position: absolute;
  top: 6px;
  left: 3px;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td a.is-selected-outgoing {
  background-color: #d63333 !important;
  color: #fff !important;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td a.is-selected-outgoing ._icon {
  position: absolute;
  top: 6px;
  right: 3px;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td a.is-selected-outgoing.is-selected-incoming ._icon {
  left: 3px;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td a.is-selected-outgoing.is-selected-incoming ._icon + ._icon {
  right: 3px;
  left: auto;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td a ._icon-holiday {
  position: absolute;
  top: 0;
  right: 0;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td .today {
  position: absolute;
  top: 3px;
  font-size: 1rem;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td.is-saturday a {
  color: #0e5f9e;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td.is-saturday a.is-disabled {
  color: #97aec9;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td.is-sunday a, .panel-modal-condition .panel-modal-condition_table-calendar tr td.is-holiday a {
  color: #ca3540;
}

.panel-modal-condition .panel-modal-condition_table-calendar tr td.is-sunday a.is-disabled, .panel-modal-condition .panel-modal-condition_table-calendar tr td.is-holiday a.is-disabled {
  color: #daa1a7;
}

.panel-modal-condition .panel-modal-condition_date {
  display: flex;
  padding: 9px 10px;
  background-color: #282f39;
  color: #fff;
  font-weight: normal;
  font-size: 1.4rem;
  align-items: center;
}

.panel-modal-condition .panel-modal-condition_date > span {
  width: 50%;
}

.panel-modal-condition .panel-modal-condition_date > span:nth-child(even) {
  padding-left: 10px;
  border-left: 1px solid #848484;
}

.panel-modal-condition .panel-modal-condition_date > span.date {
  color: #a9a9a9;
  white-space: nowrap;
  font-size: 1.2rem;
}

.panel-modal-condition .panel-modal-condition_date > span.date .month, .panel-modal-condition .panel-modal-condition_date > span.date .day {
  margin: 0 2px;
  font-size: 1.6rem;
}

@media screen and (max-width: 320px) {
  .panel-modal-condition .panel-modal-condition_date {
    padding: 9px 8px;
    font-size: 1.3rem;
  }
  .panel-modal-condition .panel-modal-condition_date > span.date .month, .panel-modal-condition .panel-modal-condition_date > span.date .day {
    margin: 0 2px;
    font-size: 1.5rem;
  }
}

.panel-modal-condition .form-btn-set {
  position: relative;
  padding: 15px 40px;
  background: #555;
  color: #fff;
}

.panel-modal-condition .form-btn-set::before {
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -5px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translate3d(0, 0, 0);
}

.panel-modal-condition_footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
}

.panel-modal-condition_footer > :last-child {
  margin-bottom: 0;
}

/* .panel-detail-booking
----------------------------------------------- */
.panel-detail-booking {
  margin-right: -10px;
  margin-bottom: 40px;
  margin-left: -10px;
  padding: 30px 10px;
  background: #f0f7ff;
}

.panel-detail-booking > :last-child {
  margin-top: 20px;
  margin-bottom: 0;
}

.panel-detail-booking_detail {
  margin-bottom: 0;
}

.panel-detail-booking_detail > div {
  display: flex;
  font-size: 1.4rem;
}

.panel-detail-booking_detail > div > dt {
  margin-bottom: 5px;
  color: #616161;
}

.panel-detail-booking_detail > div._num > dd {
  font-weight: bold;
}

.panel-detail-booking_detail > div._mile {
  font-weight: normal;
  font-size: 1.1rem;
}

.panel-detail-booking_detail > div._state > dd {
  color: #b22430;
}

.panel-detail-booking_detail > div._state > dd > strong {
  font-weight: normal;
}

.panel-detail-booking_detail > div._limit > dd {
  color: #2e7d32;
}

.panel-detail-booking_detail + .panel-detail-booking_detail {
  margin-top: 10px;
}

.panel-detail-booking_detail + p {
  margin-bottom: 10px;
}

.panel-detail-booking_foot {
  margin-top: 20px;
}

.panel-detail-booking_foot_item + .panel-detail-booking_foot_item {
  margin-top: 10px;
}

.panel-detail-booking_foot_item p {
  margin-top: 4px;
  margin-bottom: 0;
}

.panel-detail-booking_foot_item_hdg {
  margin-bottom: 5px;
  color: #333;
  font-size: 1.4rem;
}

.panel-detail-booking_head_btn + .panel-detail-booking_head_btn {
  margin-top: 14px;
}

.panel-detail-booking .link-list._inline {
  display: block;
  margin-top: -6px;
}

.panel-detail-booking .link-list._inline > li {
  margin: 6px 0 0 0;
}

.panel-detail-booking .link-list._inline > li a {
  padding-left: 0;
}

.panel-detail-booking .link-list._inline > li a::before {
  display: none;
}

.panel-detail-booking .btn-next {
  max-width: 272px;
}

.panel-detail-booking .btn-next + .btn-next {
  margin-top: 14px;
}

/* .panel-section
----------------------------------------------- */
.panel-section {
  position: relative;
  margin-top: 30px;
  padding-top: 4px;
  border: 1px solid #ccc;
  border-top: none;
  background-color: #fff;
  background-image: url(../img/bg_panel_border_001.png);
  background-position: 0 0;
  background-repeat: repeat-x;
}

.panel-section_head {
  position: relative;
  padding: 15px 20px 10px;
  color: #000;
}

.panel-section_head::before {
  position: absolute;
  bottom: -11px;
  left: -1px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  background-color: #f0f7ff;
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
}

.panel-section_head::after {
  position: absolute;
  right: -11px;
  bottom: -11px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  background-color: #f0f7ff;
  transform: translate3d(-50%, -50%, 0) rotate(-135deg);
}

.panel-section_head .panel-section_head_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.panel-section_head .panel-section_head_inner:nth-child(2) {
  margin: -2px 0 0 -13px;
}

.panel-section_head .panel-section_head_inner:nth-child(2) .panel-section_head_item_txt {
  margin: 2px 0 0 13px;
}

.panel-section_head .panel-section_head_inner + .panel-section_head_inner {
  margin-top: 8px;
}

.panel-section_head .panel-section_head_item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.panel-section_head .panel-section_head_item .list-spec {
  margin-top: 10px;
  margin-bottom: 0;
}

.panel-section_head .panel-section_head_item .list-spec > .list-spec_item {
  margin-right: 15px;
}

.panel-section_head .panel-section_head_item_hdg {
  margin-right: 10px;
  color: #333;
  font-size: 1.6rem;
}

.panel-section_head .panel-section_head_item_txt {
  margin: 0;
  font-size: 1.4rem;
}

.panel-section_head .panel-section_head_item_link {
  margin: 2px 0 0 13px;
  font-size: 1.2rem;
}

.panel-section_head .panel-section_head_item_desc ._item {
  display: inline-flex;
  margin-bottom: 0;
  width: 100%;
  color: #616161;
  flex-wrap: wrap;
}

.panel-section_head .panel-section_head_item_desc ._item strong {
  color: #b22430;
  font-weight: normal;
}

.panel-section_head .panel-section_head_item_desc ._item + ._item {
  margin-top: 6px;
}

.panel-section_content {
  position: relative;
  padding: 19px 15px 20px;
}

.panel-section_content:before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  margin: 0 auto;
  width: 91.74%;
  height: 1px;
  background-color: #ccc;
  content: '';
}

.panel-section_content .panel-section_content_attention {
  margin-bottom: 30px;
  width: 100%;
}

.panel-section_content .panel-section_content_attention > :last-child {
  margin-bottom: 0;
}

.panel-section_content .panel-section_content_attention ._hdg {
  margin-bottom: 0;
  font-size: 1.8rem;
}

.panel-section_content .panel-section_content_attention ._hdg strong {
  color: #c00;
  font-weight: bold;
}

.panel-section_content .panel-section_content_attention ._hdg + ._txt {
  margin-top: 10px;
}

.panel-section_content .panel-section_content_attention ._txt {
  font-size: 1.2rem;
}

.panel-section_content .panel-section_content_attention ._txt strong {
  color: #c00;
  font-weight: normal;
}

.panel-section_content .panel-section_content_item {
  position: relative;
}

.panel-section_content .panel-section_content_item._place {
  display: flex;
  justify-content: space-between;
}

.panel-section_content .panel-section_content_item._place::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 25px;
  height: 24px;
  background-image: url(../img/icon_reserve_004.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.panel-section_content .panel-section_content_item._place > p {
  margin-bottom: 0;
  width: 40%;
  color: #333;
  font-size: 1.4rem;
}

.panel-section_content .panel-section_content_item._place > p > span {
  padding-right: 5px;
  color: #000;
  font-size: 1.8rem;
}

.panel-section_content .panel-section_content_item._timetable {
  display: flex;
  justify-content: space-between;
}

.panel-section_content .panel-section_content_item._timetable::after {
  position: absolute;
  top: -5px;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 1px;
  height: 125%;
  background-color: #ccc;
}

.panel-section_content .panel-section_content_item._conf {
  padding-top: 10px;
  border-top: 1px solid #f1f5f9;
}

.panel-section_content .panel-section_content_item._conf .list-conf {
  margin-bottom: -10px;
}

.panel-section_content .panel-section_content_item + .panel-section_content_item {
  margin-top: 20px;
}

.panel-section_content .panel-section_content_item + .panel-section_content_item._conf {
  margin-top: 10px;
}

.panel-section_content .panel-section_content_item > div {
  width: 40%;
}

.panel-section_content .panel-section_content_item_departure {
  position: relative;
}

.panel-section_content .panel-section_content_item_departure > :last-child, .panel-section_content .panel-section_content_item_arrival > :last-child {
  margin-bottom: 0;
}

.panel-section_content .panel-section_content_item_table th, .panel-section_content .panel-section_content_item_table td {
  color: #000;
  vertical-align: top;
  text-align: center;
  font-weight: normal;
  font-size: 1.4rem;
}

.panel-section_content .panel-section_content_item_table thead th {
  padding: 0 20px 5px 20px;
  color: #616161;
}

.panel-section_content .panel-section_content_item_table thead th:first-child {
  padding-left: 0;
}

.panel-section_content .panel-section_content_item_table thead th:last-child {
  padding-right: 0;
}

.panel-section_content .panel-section_content_item_table tbody th, .panel-section_content .panel-section_content_item_table tbody td {
  padding: 5px 20px 0 20px;
  color: #000;
  font-size: 1.6rem;
}

.panel-section_content .panel-section_content_item_table tbody th:first-child, .panel-section_content .panel-section_content_item_table tbody td:first-child {
  padding-left: 0;
}

.panel-section_content .panel-section_content_item_table tbody th:last-child, .panel-section_content .panel-section_content_item_table tbody td:last-child {
  padding-right: 0;
}

.panel-section_content .panel-section_content_item_table tbody th strong, .panel-section_content .panel-section_content_item_table tbody td strong {
  font-weight: normal;
}

.panel-section_content .panel-section_content_item_table tbody th strong._state, .panel-section_content .panel-section_content_item_table tbody td strong._state {
  color: #b22430;
}

.panel-section_content .panel-section_content_item_table tbody th strong._date, .panel-section_content .panel-section_content_item_table tbody td strong._date {
  color: #2e7d32;
}

.panel-section_content .panel-section_content_item_via {
  margin-bottom: 5px;
  width: 100% !important;
  font-size: 1.2rem;
}

.panel-section_content .panel-section_content_item_desc {
  display: flex;
  margin: 0;
  margin-left: -16px;
  font-size: 1.1rem;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

.panel-section_content .panel-section_content_item_desc ._item {
  display: inline-flex;
  margin-left: 16px;
  padding: 2px 0;
  color: #616161;
  flex-wrap: wrap;
}

.panel-section_content .panel-section_content_item_desc ._item strong {
  color: #b22430;
  font-weight: normal;
}

.panel-section_content .panel-section_content_item_desc ._item dd {
  color: #000;
}

.panel-section_content .panel-section_content_item_desc ._item dd .link::before {
  top: 4px;
  left: 2px;
}

.panel-section_content .panel-section_content_item_desc ._item ._num {
  display: inline-block;
  margin-top: -2px;
  vertical-align: middle;
  font-size: 1.4rem;
}

.panel-section_foot {
  position: relative;
  padding: 24px 10px 20px 15px;
  background-color: #fafafa;
}

.panel-section_foot .panel-section_foot_item:last-child {
  position: absolute;
  top: 16px;
  right: 10px;
}

.panel-section_foot .panel-section_foot_item:only-child {
  position: static;
}

.panel-section_foot .panel-section_foot_item > :last-child {
  margin-bottom: 0;
}

.panel-section_foot .panel-section_foot_item .btn-next {
  padding: 5px 30px 5px 20px;
  min-width: 150px;
}

.panel-section_foot .panel-section_foot_item .btn-next > span {
  font-size: 1.4rem;
}

.panel-section_foot .panel-section_foot_item .btn-03 {
  margin-top: 9px;
}

.panel-section_foot .panel-section_foot_item .btn-03._small {
  margin-top: 2px;
}

.panel-section_foot .panel-section_foot_item_hdg {
  margin-bottom: 19px;
}

.panel-section_foot .panel-section_foot_item_hdg > ._txt {
  position: relative;
  padding: 0 0 0 33px;
  white-space: nowrap;
  font-weight: bold;
  font-size: 1.6rem;
}

.panel-section_foot .panel-section_foot_item_hdg > ._txt::before {
  position: absolute;
  top: -2px;
  left: 0;
  width: 22px;
  height: 21px;
  background-image: url(../img/icon_grade_002.png);
  background-size: 100% auto;
}

.panel-section_foot .panel-section_foot_item_list {
  margin: 0 0 10px;
  font-size: 1.2rem;
}

.panel-section_foot .panel-section_foot_item_list > dd {
  margin-top: 2px;
}

.panel-section_foot .panel-section_foot_item_list > dd > dl {
  display: flex;
  margin-bottom: 0;
  margin-left: -20px;
  flex-wrap: wrap;
  align-items: center;
}

.panel-section_foot .panel-section_foot_item_list > dd > dl > div {
  display: flex;
  margin-left: 20px;
  flex-wrap: wrap;
  align-items: center;
}

.panel-section_foot .panel-section_foot_item_list > dd > dl dt {
  color: #616161;
}

.panel-section_foot .panel-section_foot_item_list > dd > dl dd._em {
  color: #c00;
}

.panel-section_foot .panel-section_foot_item_list p {
  margin-bottom: 0;
}

.panel-section_btn {
  padding-right: 15px;
  padding-left: 15px;
  background-color: #fafafa;
}

.panel-section_btn .panel-section_btn_inner {
  padding-top: 20px;
  padding-bottom: 20px;
  border-top: 1px solid #ccc;
}

.panel-section_btn .panel-section_btn_item + .panel-section_btn_item {
  margin-top: 14px;
}

/* .panel-howto
----------------------------------------------- */
.panel-howto_item {
  background-color: #fff;
}

.panel-howto_item .panel-howto_item_inner {
  margin-bottom: 6px;
}

.panel-howto_item .panel-howto_item_inner > p {
  margin-bottom: 0;
}

.panel-howto_item .panel-howto_item_inner + .panel-howto_item_inner {
  padding-top: 0;
}

.panel-howto_item .panel-howto_item_hdg {
  position: relative;
  padding: 10px 0 20px 110px;
  color: #333;
  font-size: 1.8rem;
}

.panel-howto_item .panel-howto_item_hdg ._thum {
  position: absolute;
  top: -8px;
  left: -6px;
}

.panel-howto_item .panel-howto_item_hdg_02 {
  margin-bottom: 15px;
  color: #333;
  font-weight: normal;
  font-size: 1.6rem;
}

.panel-howto_item .panel-howto_item_panel {
  margin: 0 -10px 17px;
  padding: 10px;
  background: #fdf5f5;
}

.panel-howto_item .panel-howto_item_panel > :last-child {
  margin-bottom: 0;
}

.panel-howto_item .panel-howto_item_panel_hdg {
  color: #b22430;
  font-weight: bold;
}

.panel-howto_item .panel-howto_item_panel_list {
  margin-top: 3px;
}

.panel-howto_item .panel-howto_item_panel_list > li {
  position: relative;
  margin-bottom: 2px;
  padding-left: 20px;
  font-size: 1.4rem;
  line-height: 1.5;
}

.panel-howto_item .panel-howto_item_panel_list > li::before {
  position: absolute;
  top: 7px;
  left: 6px;
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: #9e9e9e;
}

.panel-howto_item .panel-howto_item_panel_list > li:last-child {
  margin-bottom: 0;
}

.panel-howto_item .panel-howto_item_panel_list > li > ul, .panel-howto_item .panel-howto_item_panel_list > li > ol {
  margin: 10px 0;
}

.panel-howto_item .panel-howto_item_panel_list > li > span {
  display: inline-block;
}

.panel-howto .list-order {
  margin-bottom: 24px;
}

/* .panel-info
----------------------------------------------- */
.panel-info {
  margin: 0 -10px 40px;
  padding: 20px 10px 20px;
  background: url(../img/bg_panel_001.png) repeat #fdf3f4;
}

.panel-info > :last-child {
  margin-bottom: 0;
}

.panel-info_hdg {
  margin: 0 0 20px;
  color: #c00;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.2727272727;
}

.panel-info_hdg > span {
  display: inline-block;
  margin: 0 0 5px;
  color: #000;
  font-size: 1.1rem;
  line-height: 1.7142857143;
}

.panel-info_hdg._attention > .panel-info_hdg_inner {
  position: relative;
  margin-bottom: 0;
  padding-left: 24px;
  color: #c00;
  font-size: 1.8rem;
  line-height: 1.2727272727;
}

.panel-info_hdg._attention > .panel-info_hdg_inner::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background-position: -22px -45px;
  background-size: 113px auto;
}

.panel-info_inner {
  margin: 0 0 10px;
  padding: 10px;
  background: #fff;
}

.panel-info_inner > :first-child {
  margin-top: 0;
}

.panel-info_inner > :last-child {
  margin-bottom: 0;
}

.panel-info_inner_hdg {
  display: flex;
  margin: 24px 0 10px;
  font-size: 1.4rem;
}

.panel-info_inner_hdg .panel-info_inner_hdg_txt {
  color: #333;
  font-size: 1.6rem;
  line-height: 1.5;
}

.panel-info_inner_hdg .panel-info_inner_hdg_sup {
  display: flex;
  padding-left: 15px;
  font-size: 1.4rem;
  align-items: center;
}

.panel-info .link-list._inline > li {
  margin: 0 15px 15px 0;
}

.panel-info .form-checkbox_item {
  font-size: 1.4rem;
}

/* .panel-info-02
----------------------------------------------- */
.panel-info-02 {
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #ccc;
  background-color: #fafafa;
}

.panel-info-02 p {
  margin-bottom: 13px;
}

.panel-info-02 .panel-info-02_hdg {
  margin-bottom: 6px;
}

.panel-info-02 > :last-child {
  margin-bottom: 0;
}

.panel-info-02_hdg {
  color: #333;
  font-weight: bold;
  font-size: 1.6rem;
}

.panel-info-02_hdg > strong > span {
  display: inline-block;
  color: #2e7d32;
}

.panel-info-02 + .panel-info-02 {
  margin-top: -10px;
}

/* .panel-info-card
----------------------------------------------- */
.panel-info-card {
  padding: 10px;
  background-image: url(../img/bg_tile_001.png);
  background-size: 5px;
  background-repeat: repeat;
}

.panel-info-card > :last-child {
  margin-bottom: 0;
}

.panel-info-card_txt {
  display: flex;
  flex-wrap: wrap;
}

.panel-info-card_sup {
  margin-right: 10px;
  color: #000;
  font-size: 1.4rem;
}

.panel-info-card_sup:last-child {
  margin-right: 0;
}

.panel-info-card_sup ._item {
  color: #616161;
}

/* .panel-flight
----------------------------------------------- */
.panel-flight {
  margin-bottom: 20px;
  border-radius: 2px;
  background-color: #fff;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .4);
}

.panel-flight_hdg {
  display: flex;
  padding: 11px 16px 10px 12px;
  border-bottom: 1px solid #e0e0e0;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  background-color: #fafafa;
  box-shadow: inset 0 2px 0 0 rgba(255, 255, 255, .004);
  justify-content: space-between;
}

.panel-flight_hdg_txt {
  position: relative;
  box-sizing: border-box;
  margin-bottom: 0;
  padding: 3px 0 0 31px;
  min-height: 23px;
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
}

.panel-flight_hdg_txt::before {
  position: absolute;
  top: 1px;
  left: 0;
  width: 21px;
  height: 23px;
  background-position: 0 -45px;
  background-size: 113px auto;
}

.panel-flight_hdg_link {
  display: inline-flex;
  margin-bottom: 0;
  align-items: center;
}

.panel-flight_hdg_link > li {
  position: relative;
  margin-left: 15px;
  padding-left: 17px;
}

.panel-flight_hdg_link > li::before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -8px;
  width: 1px;
  height: 14px;
  background-color: #ccc;
}

.panel-flight_hdg_link > li:first-child {
  margin-left: 0;
  padding-left: 0;
}

.panel-flight_hdg_link > li:first-child::before {
  display: none;
}

.panel-flight_btn_delete, .panel-flight_btn_change {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  color: #0f0f69;
  text-align: left;
  font-size: 1.2rem;
}

.panel-flight_btn_delete::before, .panel-flight_btn_delete::after {
  position: absolute;
  top: 50%;
  left: -1px;
  margin-top: -1px;
  width: 12px;
  height: 2px;
  background-color: #0f0f69;
}

.panel-flight_btn_delete::before {
  transform: rotate(45deg);
}

.panel-flight_btn_delete::after {
  transform: rotate(-45deg);
}

.panel-flight_btn_change::before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -6px;
  width: 12px;
  height: 12px;
  background-position: -90px -71px;
  background-size: 113px auto;
}

.panel-flight_body {
  padding: 11px 12px;
}

.panel-flight_body > :last-child {
  margin-bottom: 0;
}

.panel-flight_body[role='button'] {
  position: relative;
}

.panel-flight_body[role='button'] .panel-flight_body_btn {
  position: absolute;
  top: 45px;
  right: 12px;
}

.panel-flight_body[role='button'] .panel-flight_body_btn::before, .panel-flight_body[role='button'] .panel-flight_body_btn::after {
  position: absolute;
  top: 0;
  right: 0;
}

.panel-flight_body[role='button'] .panel-flight_body_btn::before {
  box-sizing: border-box;
  width: 22px;
  height: 22px;
  border: 1px solid #ccc;
  border-radius: 11px;
}

.panel-flight_body[role='button'] .panel-flight_body_btn::after {
  top: 5px;
  right: 7px;
  width: 8px;
  height: 8px;
  border: 2px solid #2a344b;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(135deg);
}

.panel-flight_body[role='button'] .panel-flight_body_btn > span {
  color: transparent;
}

.panel-flight_txt_date {
  margin-bottom: 4px;
  font-size: 1.1rem;
}

.panel-flight_inner {
  display: flex;
  justify-content: space-between;
}

.panel-flight_inner + .panel-flight_inner {
  margin-top: 8px;
}

.panel-flight_inner + .panel-flight_inner .panel-flight_inner_price {
  padding-right: 0;
}

.panel-flight_inner_info, .panel-flight_inner_price {
  width: calc(50% - 6px);
}

.panel-flight_inner_info > :last-child, .panel-flight_inner_price > :last-child {
  margin-bottom: 0;
}

.panel-flight_inner_info._single {
  width: 100%;
}

.panel-flight_inner_price {
  padding-right: 35px;
}

.panel-flight_txt_flight {
  margin-bottom: 8px;
}

.panel-flight_txt_flight > span {
  position: relative;
  display: block;
  padding-left: 16px;
}

.panel-flight_txt_flight > span::before {
  position: absolute;
}

.panel-flight_txt_flight > ._airport::before {
  top: .3em;
  left: 0;
  box-sizing: border-box;
  width: 9px;
  height: 9px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.panel-flight_txt_flight > ._time {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #616161;
  font-size: 1.1rem;
}

.panel-flight_txt_flight > ._time::before {
  top: 0;
  left: 4px;
  width: 1px;
  height: 100%;
  background-color: #ccc;
}

.panel-flight_txt_flight > ._time::after {
  position: absolute;
  bottom: 0;
  left: 5px;
  width: 1px;
  height: 5px;
  background-color: #ccc;
  transform: rotate(30deg);
}

.panel-flight_txt_flight._direct > ._time {
  padding-top: 4px;
  padding-bottom: 4px;
}

.panel-flight_txt_flight._direct > ._time::after {
  display: none;
}

.panel-flight_list_info {
  display: flex;
  margin-top: -8px;
  flex-wrap: wrap;
}

.panel-flight_list_info > li {
  margin: 8px 8px 0 0;
  color: #616161;
  font-size: 1.1rem;
}

.panel-flight_txt_price {
  margin-bottom: 4px;
  text-align: right;
  font-size: 1.1rem;
}

.panel-flight_txt_price:first-child {
  margin-top: -19px;
}

.panel-flight_txt_price:only-child {
  margin-top: 0;
}

.panel-flight_txt_price > span {
  display: block;
  margin-top: 4px;
  font-weight: bold;
  font-size: 1.8rem;
}

.panel-flight_txt_grade {
  color: #b22430;
  text-align: right;
  font-weight: bold;
  font-size: 1.1rem;
}

.panel-flight .panel-flight_footer {
  display: none;
  padding: 0 12px;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

.no-js .panel-flight .panel-flight_footer {
  display: block;
}

.panel-flight .panel-flight_footer > :last-child {
  margin-bottom: 0;
}

.panel-flight .panel-flight_footer_inner {
  padding-bottom: 11px;
}

.panel-flight .panel-flight_footer_inner > :last-child {
  margin-bottom: 0;
}

.panel-flight .panel-flight_list_grade {
  margin: 0 -12px;
}

.panel-flight .panel-flight_list_grade > li > a {
  display: flex;
  padding: 10px 12px 10px 10px;
  border-top: 1px dashed #ccc;
  background-color: #fafafa;
  color: #333;
  justify-content: space-between;
  align-items: center;
}

.panel-flight .panel-flight_list_grade > li > a > * {
  margin-bottom: 0;
}

.panel-flight .panel-flight_list_grade > li > a > dl {
  position: relative;
  padding-left: 38px;
  font-size: 1.1rem;
  flex-basis: 0;
  flex-grow: 1;

  flex-shrink: 0;
}

.panel-flight .panel-flight_list_grade > li > a > dl > dt {
  font-weight: bold;
}

.panel-flight .panel-flight_list_grade > li > a > dl > dt > img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 28px;
  transform: translateY(-50%);
}

.panel-flight .panel-flight_list_grade > li > a > dl > dd {
  margin-top: 3px;
}

.panel-flight .panel-flight_list_grade > li > a > p > span {
  position: relative;
  display: inline-block;
  padding-right: 15px;
  font-weight: bold;
}

.panel-flight .panel-flight_list_grade > li > a > p > span::after {
  position: absolute;
  top: 50%;
  right: 2px;
  margin-top: -5px;
  width: 8px;
  height: 8px;
  border: 2px solid #b22430;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg);
}

.panel-flight .panel-flight_list_grade > li:last-child > a {
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

.panel-flight.is-show .panel-flight_body_btn::after {
  top: 8px;
  transform: rotate(-45deg);
}

.panel-flight.is-show .panel-flight_footer {
  display: block;
}

.panel-flight.is-show .panel-flight_inner._about {
  display: none;
}

/* .panel-service
----------------------------------------------- */
.panel-service {
  position: relative;
  margin: 0 -10px 30px;
  padding: 40px 0;
}

.panel-service::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 12px;
  background: url('../img/bg_service_001.png') repeat-x;
}

.panel-service::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 12px;
  background: url('../img/bg_service_001.png') repeat-x;
}

.panel-service_item {
  margin-bottom: 20px;
  padding: 0 10px;
}

.panel-service_item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.panel-service_item > :last-child {
  margin-bottom: 0;
}

.panel-service_item_list > li {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
}

.panel-service_item_list > li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.panel-service_item_list > li > :last-child {
  margin-bottom: 0;
}

.panel-service_item_list_inner {
  display: flex;
  flex-wrap: wrap;
}

.panel-service_item_list_inner ._item {
  line-height: 1.5;
}

.panel-service_item_list_inner ._item > p {
  margin-bottom: 10px;
}

.panel-service_item_list_inner ._btn {
  width: 100%;
}

.panel-service_item_list_inner ._btn .btn-list {
  display: flex;
  margin-bottom: 0;
  width: 100%;
  flex-wrap: wrap;
  align-items: center;
}

.panel-service_item_list_inner ._btn .btn-list > li {
  margin-bottom: 10px;
  width: 100%;
}

.panel-service_item_list_inner ._btn .btn-list > :last-child {
  margin-bottom: 0;
}

.panel-service_form {
  display: flex;
  margin-bottom: 20px;
  width: 100%;
  border-bottom: 1px solid #ccc;
  flex-wrap: wrap;
}

.panel-service_form .panel-service_form_head {
  position: relative;
  display: block;
  padding: 15px 0 0 85px;
  width: 100%;
  background-color: #fff;
}

.panel-service_form .panel-service_form_head:first-child, .panel-service_form .panel-service_form_head:nth-child(3n+1) {
  margin-left: 0;
}

.panel-service_form .panel-service_form_head ._hdg {
  display: block;
  margin-bottom: 6px;
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
}

.panel-service_form .panel-service_form_head ._txt {
  display: block;
  color: #000;
  font-size: 1.4rem;
}

.panel-service_form .panel-service_form_head .link {
  margin-top: 5px;
}

.panel-service_form .panel-service_form_head::after {
  position: absolute;
}

.panel-service_form .panel-service_form_head._search::after {
  top: 10px;
  left: 13px;
  width: 60px;
  height: 55px;
  background-image: url(../img/icon_service_search_001.png);
  background-size: 100% auto;
}

.panel-service_form .panel-service_form_head._lounge::after {
  top: 20px;
  left: 8px;
  width: 60px;
  height: 55px;
  background-image: url(../img/icon_service_lounge_001.png);
  background-size: 100% auto;
}

.panel-service_form .panel-service_form_body {
  width: 100%;
}

.panel-service_form .panel-service_form_body .btn-wrap {
  margin-top: 20px;
}

.panel-service_list_btn {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

.panel-service_list_btn > li {
  width: 100%;
}

.panel-service_list_btn > li:first-child, .panel-service_list_btn > li:nth-child(3n+1) {
  margin-left: 0;
}

.panel-service_list_btn > li > a {
  position: relative;
  display: block;
  padding: 15px 35px 15px 85px;
  border-bottom: 1px solid #ccc;
  background-color: #fff;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.panel-service_list_btn > li > a:hover, .panel-service_list_btn > li > a:active, .panel-service_list_btn > li > a:focus {
  opacity: .8;
}

.panel-service_list_btn > li > a ._hdg {
  display: block;
  margin-bottom: 6px;
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
}

.panel-service_list_btn > li > a ._txt {
  display: block;
  color: #000;
  font-size: 1.4rem;
}

.panel-service_list_btn > li > a::before {
  position: absolute;
  top: 50%;
  right: 17px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #c00;
  border-right: 2px solid #c00;
  transform: rotate(45deg) translate3d(0, 0, 0);
}

.panel-service_list_btn > li > a::after {
  position: absolute;
}

.panel-service_list_btn > li > a._receipts::after {
  top: 8px;
  left: 8px;
  width: 59px;
  height: 58px;
  background-image: url(../img/icon_service_receipts_001.png);
}

.panel-service_list_btn > li > a._search::after {
  top: 10px;
  left: 13px;
  width: 60px;
  height: 50px;
  background-image: url(../img/icon_service_search_001.png);
}

.panel-service_list_btn > li > a._lounge::after {
  top: 20px;
  left: 8px;
  width: 60px;
  height: 55px;
  background-image: url(../img/icon_service_lounge_001.png);
}

.panel-service_hdg {
  margin-bottom: 15px;
  color: #b22430;
  font-weight: normal;
  font-size: 1.6rem;
}

.panel-service_hdg_02 {
  position: relative;
  margin-bottom: 8px;
  padding-left: 16px;
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
}

.panel-service_hdg_02::before {
  position: absolute;
  top: 2px;
  left: 0;
  width: 7px;
  height: 13px;
  background-image: url(../img/icon_service_001.png);
}

/* .panel-option
----------------------------------------------- */
.panel-option {
  position: relative;
  z-index: 1;
  margin: 0 -10px 20px;
  padding-bottom: 20px;
  background-color: #fff;
  background-image: linear-gradient(to left, #d0e1f5 0%, #f6f9fd 50%, #d0e1f5 100%);
}

.panel-option > :last-child {
  margin-bottom: 0;
}

.panel-option_hdg {
  display: flex;
  flex-direction: column-reverse;
  padding: 20px 0;
  color: #03428f;
  text-align: center;
  font-weight: normal;
  font-size: 1.8rem;
}

.panel-option_list {
  display: flex;
  margin-bottom: 0;
  padding: 0 10px;
}

.panel-option_list > li {
  position: relative;
  margin-bottom: 70px;
  padding: 0 18px;
  width: 25%;
  border-left: 1px solid #d0e1f5;
}

.panel-option_list > li:first-child {
  border-left: 0;
}

.panel-option_list_btn {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

.panel-option_list_btn > li {

  margin-bottom: 10px;
  width: 100%;
}

.panel-option_list_btn > li:first-child, .panel-option_list_btn > li:nth-child(3n+1) {
  margin-left: 0;
}

.panel-option_list_btn > li:last-child {
  margin-bottom: 0;
}

.panel-option_list_btn > li > a {
  position: relative;
  display: block;
  padding: 15px 25px 15px 80px;
  background-color: #fff;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.panel-option_list_btn > li > a:hover, .panel-option_list_btn > li > a:active, .panel-option_list_btn > li > a:focus {
  opacity: .8;
}

.panel-option_list_btn > li > a ._em {
  color: #c00;
  font-size: 1.1rem;
}

.panel-option_list_btn > li > a ._hdg {
  display: block;
  margin-bottom: 6px;
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
}

.panel-option_list_btn > li > a ._txt {
  display: block;
  color: #000;
  font-size: 1.4rem;
}

.panel-option_list_btn > li > a::before {
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #c00;
  border-right: 2px solid #c00;
  transform: rotate(45deg) translate3d(0, 0, 0);
}

.panel-option_list_btn > li > a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  margin: auto;
}

.panel-option_list_btn > li > a._jmb::after {
  width: 61px;
  height: 62px;
  background: url(https://www.jal.co.jp/jp/ja/guidance/dom/system_contents/sp/img/pic_option_jmb_001.png) no-repeat center 5px/100%;
}

.panel-option_list_btn > li > a._jalcard::after {
  width: 61px;
  height: 60px;
  background: url(https://www.jal.co.jp/jp/ja/guidance/dom/system_contents/sp/img/pic_option_jalcard_001.png) no-repeat center 5px/100%;
}

.panel-option_list_btn > li > a._hotel::after {
  width: 61px;
  height: 61px;
  background: url(../img/pic_option_hotel_001.png) no-repeat center/100%;
}

.panel-option_list_btn > li > a._support::after {
  width: 61px;
  height: 61px;
  background: url(../img/pic_option_support_001.png) no-repeat center/100%;
}

/* .panel-inner
----------------------------------------------- */
.panel-inner .btn-wrap p {
  margin-bottom: 10px;
}

.panel-inner .btn-wrap .btn + p {
  margin: 10px 0 0;
}

/* .panel-code
----------------------------------------------- */
.panel-code_hdg {
  display: flex;
  margin-bottom: 5px;
  padding: 7px 10px 6px;
  border-top: 1px solid #ccc;
  background-image: linear-gradient(45deg, #f4f5f6 25%, #f4f5f6 25%, transparent 25%, transparent 75%, #f4f5f6 75%, #f4f5f6 75%), linear-gradient(-135deg, #f4f5f6 25%, #f4f5f6 25%, transparent 25%, transparent 75%, #f4f5f6 75%, #f4f5f6 75%);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
  background-repeat: repeat;
  align-items: center;
}

.panel-code_hdg > ._col01 {
  margin-right: 10px;
}

.panel-code_hdg > ._col02 {
  word-break: break-all;
  flex-basis: 0;
  flex-grow: 1;

  flex-shrink: 0;
}

.panel-code_body {
  padding: 0 10px;
}

.panel-code_body > div {
  display: flex;
}

.panel-code_body > div + div {
  margin-top: 5px;
}

.panel-code_body dt {
  margin-right: 5px;
  color: #616161;

  flex-shrink: 0;
}

.panel-code_body dd {
  word-break: break-all;
}

/* .panel-action
----------------------------------------------- */
.panel-action_head {
  position: relative;
  display: block;
  padding: 15px 0 0 85px;
  width: 100%;
  background-color: #fff;
}

.panel-action_head ._hdg {
  display: block;
  margin-bottom: 6px;
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
}

.panel-action_head ._txt {
  display: block;
  color: #000;
  font-size: 1.4rem;
}

.panel-action_head::after {
  position: absolute;
}

.panel-action_head._search::after {
  top: 10px;
  left: 13px;
  width: 60px;
  height: 55px;
  background-image: url(../img/icon_service_search_001.png);
  background-size: 100% auto;
}

.panel-action_head._search-02::after {
  top: 10px;
  left: 13px;
  width: 60px;
  height: 55px;
  background-image: url(../img/icon_service_search_002.png);
  background-size: 100% auto;
}

.panel-action_body {
  width: 100%;
}

.panel-action_body .btn-wrap {
  margin-top: 20px;
}

/* ----------------------------------------------------------------
    Layout
----------------------------------------------------------------- */
/* .lyt-desc-line
----------------------------------------------- */
.lyt-desc-line {
  position: relative;
  margin-bottom: 20px;
}

.lyt-desc-line_body {
  position: relative;
  padding: 14px 0;
  border-top: 1px solid #e0e0e0;
}

.lyt-desc-line_body > :last-child {
  margin-bottom: 0;
}

.lyt-desc-line_body:last-child {
  padding-bottom: 0;
}

.lyt-desc-line_body._selected {
  background: #f9e6e5;
}

.lyt-desc-line_hdg {
  margin-bottom: 8px;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.375;
}

.lyt-desc-line_hdg > .selected {
  display: inline-block;
  margin-left: 6px;
  color: #c00;
  font-size: 1.4rem;
}

.lyt-desc-line_txt {
  margin-bottom: 8px;
  font-size: 1.6rem;
  line-height: 1.42857;
}

.lyt-desc-line_txt > span {
  display: inline-block;
}

.lyt-desc-line_via + .lyt-desc-line_list {
  margin-top: 0;
}

.lyt-desc-line_list {
  display: flex;
  margin: -7px 0 13px;
  font-size: 1.2rem;
}

.lyt-desc-line_list > div {
  margin: 7px 13px 0 0;
}

.lyt-desc-line_list > div > dt {
  color: #616161;
  white-space: nowrap;
}

.lyt-desc-line_list._parallel > div {
  display: flex;
}

.lyt-desc-line_list + .lyt-desc-line_list {
  margin-top: -16px;
}

.lyt-desc-line_panel {
  margin: 11px 0 10px;
  padding: 10px;
  background: #f4f5f6;
}

.lyt-desc-line_panel > :last-child {
  margin-bottom: 0;
}

.lyt-desc-line_panel_txt {
  font-size: 1.1rem;
}

.lyt-desc-line_panel_tbl {
  margin-bottom: 20px;
  width: 100%;
  font-size: 1.1rem;
}

.lyt-desc-line_panel_tbl tbody th, .lyt-desc-line_panel_tbl tbody td {
  padding-top: 5px;
}

.lyt-desc-line_panel_tbl tbody th {
  padding-right: 5px;
  text-align: left;
  font-weight: normal;
}

.lyt-desc-line_panel_tbl tbody tr:first-child th, .lyt-desc-line_panel_tbl tbody tr:first-child td {
  padding-top: 0;
}

.lyt-desc-line_panel_tbl_em {
  vertical-align: bottom;
  font-weight: bold;
}

.lyt-desc-line_panel_tbl_em th {
  color: #333;
}

.lyt-desc-line_panel_tbl_em td {
  font-size: 1.4rem;
}

.lyt-desc-line_btn {
  position: absolute;
  top: 12px;
  right: 0;
  display: flex;
}

.lyt-desc-line_btn > li {
  margin-right: 10px;
}

.lyt-desc-line_btn > li:last-child {
  margin-right: 0;
}

.lyt-desc-line_icon {
  position: absolute;
  top: 12px;
  right: 0;
}

.lyt-desc-line._reserve {
  margin-bottom: 20px;
  border-bottom: 1px solid #e0e0e0;
}

.lyt-desc-line._reserve .lyt-desc-line_hdg {
  margin-bottom: 20px;
}

.lyt-desc-line._reserve .lyt-desc-line_body:last-child {
  padding-bottom: 14px;
}

.lyt-desc-line._reserve .list-flight-info:last-of-type {
  margin-bottom: 0;
}

.lyt-desc-line._separate {
  border-bottom: 1px solid #e0e0e0;
}

.lyt-desc-line._separate .lyt-desc-line_body:last-child {
  padding-bottom: 14px;
}

/* .lyt-indent
----------------------------------------------- */
.lyt-indent {
  margin-bottom: 20px;
  padding: 0 10px;
}

.lyt-indent > :last-child {
  margin-bottom: 0;
}

/* .lyt-total
----------------------------------------------- */
.lyt-total {
  margin-bottom: 20px;
}

.lyt-total > :last-child {
  margin-bottom: 0;
}

.lyt-total_inner > :last-child {
  margin-bottom: 0;
}

.lyt-total_body {
  padding-top: 13px;
  border-top: 2px solid #e0e0e0;
}

.lyt-total_body > :last-child {
  margin-bottom: 0;
}

.lyt-total_inner + .lyt-total_body {
  margin-top: 6px;
  border-top-width: 1px;
}

.lyt-total_txt {
  display: flex;
  justify-content: space-between;
}

.lyt-total_txt > ._item {
  text-align: right;
}

.lyt-total_txt > ._item > span {
  font-size: 1.1rem;
}

.lyt-total_txt_total {
  display: flex;
  margin-bottom: 11px;
  justify-content: space-between;
  align-items: center;
}

.lyt-total_txt_total > ._label {
  font-size: 1.8rem;
}

.lyt-total_txt_total > ._label > span {
  display: block;
  margin-left: -5px;
  font-size: 1.1rem;
}

.lyt-total_txt_total > ._item {
  color: #c00;
  text-align: right;
  font-size: 2rem;
}

.lyt-total_txt_limit {
  display: flex;
  margin-bottom: 11px;
  justify-content: space-between;
  align-items: center;
}

.lyt-total_txt_limit > ._label > span {
  display: block;
  margin-left: -5px;
  font-size: 1.1rem;
}

.lyt-total_txt_limit > ._item {
  color: #c00;
  text-align: right;
}

.lyt-total_txt_mile {
  display: flex;
  justify-content: space-between;
}

.lyt-total_txt_mile > ._label {
  color: #333;
}

.lyt-total_txt_mile > ._item {
  text-align: right;
  font-weight: bold;
}

.list-note + .lyt-total_txt_mile {
  margin-top: -10px;
}

.lyt-total_txt_detail {
  display: flex;
  font-size: 1.1rem;
  justify-content: space-between;
}

.lyt-total_txt_detail > ._label {
  color: #616161;
}

.lyt-total_txt_detail > ._item {
  text-align: right;
}

.lyt-total_txt + .lyt-total_txt_detail {
  margin-top: -15px;
}

.lyt-total_list > li {
  margin-bottom: 4px;
  font-size: 1.1rem;
}

.lyt-total_list > li:last-child {
  margin-bottom: 0;
}

.lyt-total_type_list > div {
  margin-top: 11px;
}

.lyt-total_type_list dd {
  margin-top: 2px;
  padding-left: 8px;
  font-size: 1.1rem;
}

.lyt-total_type_list dd > span {
  margin-left: 20px;
}

.lyt-total_type_list dd > span:first-child {
  margin-left: 0;
}

.lyt-total_txt_attention {
  margin-bottom: 10px;
  color: #333;
  font-size: 1.1rem;
  line-height: 1.45455;
}

.lyt-total_txt_attention > strong {
  position: relative;
  display: inline-block;
  padding-left: 18px;
}

.lyt-total_txt_attention > strong > img {
  position: absolute;
  top: 1px;
  left: 0;
  width: 12px;
  height: 12px;
}

.lyt-total_txt_note {
  font-weight: bold;
  font-size: 1.6rem;
}

/* .lyt-news
----------------------------------------------- */
.lyt-news {
  margin-bottom: 32px;
}

.lyt-news > :last-child {
  margin-bottom: 0;
}

.lyt-news_hdg {
  padding: 7px 5px 6px;
  background-color: #2a344b;
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
}

.lyt-news_list {
padding: 10px;
border-bottom: 1px solid #ccc;
}

.lyt-news_list > li {
  /*border-bottom: 1px solid #ccc;*/
	padding-top: 10px;
}
.lyt-news_list > li:first-child{
padding-top: 0;
}

.lyt-news_list > li > a {
  display: block;
  padding: 13px 10px;
}

.lyt-news_list > li > a > span {
  position: relative;
  display: inline-block;
  padding-left: 8px;
}

.lyt-news_list > li > a > span::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 4px;
  height: 4px;
  border: 1px solid #c00;
  border-bottom: transparent;
  border-left: transparent;
  transition: transform .3s cubic-bezier(.39, .575, .565, 1);
  transform: rotate(45deg);
}

/* .lyt-embargo
----------------------------------------------- */
.lyt-embargo {
  min-height: 140px;
  background: url('../img/bg_embargo_001.png') no-repeat 50% 50%;
}

.lyt-embargo > :last-child {
  margin-bottom: 0;
}

/* .lyt-link
----------------------------------------------- */
.lyt-link {
  margin-bottom: 14px;
  padding-top: 13px;
  border-top: 1px solid #ccc;
}

/* .lyt-txt
----------------------------------------------- */
.lyt-txt_hdg {
  font-size: 1.1rem;
}

.lyt-txt_hdg + .lyt-txt_item {
  margin-top: -15px;
  font-size: 1.1rem;
}

.lyt-txt_hdg + .table-number {
  margin-bottom: 15px;
}

/* .lyt-content
----------------------------------------------- */
.lyt-content {
  margin: 0 -10px 20px;
  padding: 20px 10px;
  background-color: #f4f5f6;
  box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, .3);
}

.lyt-content > :last-child {
  margin-bottom: 0;
}

/* .lyt-btn
----------------------------------------------- */
.lyt-btn {
  display: flex;
  margin-bottom: 30px;
  justify-content: center;
  align-items: center;
}

.lyt-btn .lyt-btn-item {
  margin: 0 10px;
}

/* .lyt-reserve
----------------------------------------------- */
.lyt-reserve {
  margin-bottom: 20px;
  margin-left: -10px;
  padding: 20px 0 1px;
  width: calc(100% + 20px);
  background-color: #f4f5f6;
}

.lyt-reserve a {
  display: block;
  color: #000;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.lyt-reserve a > :last-child {
  margin-bottom: 0;
}

.lyt-reserve a:hover, .lyt-reserve a:active, .lyt-reserve a:focus {
  opacity: .9;
}

.lyt-reserve_inner {
  position: relative;
  margin: 0 auto 23px;
  width: calc(100% - 20px);
  border: 1px solid #ccc;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .2);
  line-height: 1.5;
}

.lyt-reserve_inner._attention .lyt-reserve_content._em::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 100%;
  background-color: #fdf5f5;
}

.lyt-reserve_inner._attention .lyt-reserve_inner {
  border-color: #c00;
}

.lyt-reserve_inner._attention .lyt-reserve_head {
  background-color: #c00;
  color: #fff;
}

.lyt-reserve_inner._attention .lyt-reserve_head .lyt-reserve_head_hdg > span {
  color: #fff;
}

.lyt-reserve_inner._attention .lyt-reserve_head_list dt {
  color: #fff;
}

.lyt-reserve_inner._attention .lyt-reserve_content_txt._flight._no::before {
  display: none;
}

.lyt-reserve_inner._attention .lyt-reserve_content_txt_attention {
  padding-right: 70px;
}

.lyt-reserve_inner._history {
  margin-top: 33px;
}

.lyt-reserve_inner._history::before {
  position: absolute;
  top: -25px;
  left: 50%;
  margin-left: -6px;
  width: 12px;
  height: 14px;
  background-position: -90px -43px;
  background-size: 113px auto;
}

.lyt-reserve_head {
  display: flex;
  padding: 10px 8px 8px;
  border-bottom: 1px solid #e0e0e0;
  border-radius: 4px 4px 0 0;
  background-color: #fafafa;
  font-weight: bold;
  justify-content: space-between;
  align-items: baseline;
}

.lyt-reserve_head._selected {
  background-color: #f9e6e5;
}

.lyt-reserve_head p {
  margin-bottom: 0;
}

.lyt-reserve_head .lyt-reserve_head_inner {
  width: 100%;
}

.lyt-reserve_head .lyt-reserve_head_hdg {
  display: flex;
  font-size: 1.4rem;
  flex-wrap: wrap;
  align-items: center;
}

.lyt-reserve_head .lyt-reserve_head_hdg > span {
  display: inline-block;
  color: #616161;
  font-size: 1.1rem;
}

.lyt-reserve_head .lyt-reserve_head_list {
  margin-top: 6px;
  margin-bottom: 0;
  font-size: 1.1rem;
}

.lyt-reserve_head .lyt-reserve_head_list > div dt {
  display: inline-block;
  float: left;
  color: #616161;
}

.lyt-reserve_head .lyt-reserve_head_list > div dd {
  display: inline-block;
}

.lyt-reserve_head .lyt-reserve_head_label {
  padding: 2px 4px;
  border: 1px solid #ccc;
  background-color: #fff;
  color: #333;
  text-align: center;
  white-space: nowrap;
  font-size: 1.0rem;
}

.lyt-reserve_head .lyt-reserve_head_label._em {
  border-color: #b22430;
  color: #b22430;
}

.lyt-reserve_head .lyt-reserve_head_label._selected {
  border-color: #b22430;
  background-color: #b22430;
  color: #fff;
}

.lyt-reserve_head .lyt-reserve_head_label_02 {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
}

.lyt-reserve_content {
  position: relative;
  border-radius: 0 0 4px 4px;
  background-color: #fff;
}

.lyt-reserve_content::before {
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 1;
  width: 8px;
  height: 12px;
  background-image: url(../img/icon_arrow_001.png);
  transform: translateY(-50%);
}

.lyt-reserve_content._no-arrow::before {
  display: none;
}

.lyt-reserve_content .lyt-reserve_content_inner {
  position: relative;
  padding: 17px 54px 12px 55px;
}

.lyt-reserve_content .lyt-reserve_content_inner::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 86.12%;
  height: 1px;
  background-image: url(../img/bg_dotted.png);
  background-repeat: repeat-x;
}

.lyt-reserve_content .lyt-reserve_content_inner:first-child::after {
  display: none;
}

.lyt-reserve_content .lyt-reserve_content_inner + .lyt-reserve_content_txt_attention::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 86.12%;
  height: 1px;
  background-image: url(../img/bg_dotted.png);
  background-repeat: repeat-x;
}

.lyt-reserve_content .lyt-reserve_content_inner._change {
  color: #616161;
}

.lyt-reserve_content .lyt-reserve_content_inner._change ~ .lyt-reserve_content_inner .lyt-reserve_content_txt, .lyt-reserve_content .lyt-reserve_content_inner._change ~ .lyt-reserve_content_inner .lyt-reserve_content_txt._flight, .lyt-reserve_content .lyt-reserve_content_inner._change ~ .lyt-reserve_content_inner .lyt-reserve_content_info, .lyt-reserve_content .lyt-reserve_content_inner._change ~ .lyt-reserve_content_inner .lyt-reserve_content_list {
  color: #000;
}

.lyt-reserve_content .lyt-reserve_content_inner._change::after {
  display: none;
}

.lyt-reserve_content .lyt-reserve_content_inner._line::before {
  position: absolute;
  top: 36px;
  left: 28px;
  width: 1px;
  height: 86%;
  background-color: #ccc;
}

.lyt-reserve_content .lyt-reserve_content_info {
  margin-top: 2px;
}

.lyt-reserve_content .lyt-reserve_content_info p {
  margin-bottom: 0;
}

.lyt-reserve_content .lyt-reserve_content_info._flight {
  position: relative;
  margin-top: 0;
}

.lyt-reserve_content .lyt-reserve_content_info._flight::before {
  position: absolute;
  top: 0;
  left: -47px;
  width: 24px;
  height: 24px;
  background-image: url(../img/icon_reserve_001.png);
}

.lyt-reserve_content .lyt-reserve_content_info ._airport {
  position: relative;
  display: block;
  padding-left: 16px;
  font-size: 1.4rem;
}

.lyt-reserve_content .lyt-reserve_content_info ._airport::before, .lyt-reserve_content .lyt-reserve_content_info ._airport::after {
  position: absolute;
  width: 1px;
}

.lyt-reserve_content .lyt-reserve_content_info ._airport::before {
  top: 5px;
  left: 0;
  box-sizing: border-box;
  width: 9px;
  height: 9px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.lyt-reserve_content .lyt-reserve_content_info ._airport::after {
  background-color: #ccc;
}

.lyt-reserve_content .lyt-reserve_content_info ._airport:first-child::after {
  top: 17px;
  left: 4px;
  height: 40%;
}

.lyt-reserve_content .lyt-reserve_content_info ._airport:last-child {
  margin-top: 2px;
}

.lyt-reserve_content .lyt-reserve_content_info ._airport:last-child::after {
  top: -2px;
  left: 5px;
  height: 5px;
  transform: rotate(30deg);
}

.lyt-reserve_content .lyt-reserve_content_info ._airport ._em {
  color: #c00;
}

.lyt-reserve_content .lyt-reserve_content_info_inner._business::before {
  position: relative;
  top: 21px;
  left: 3px;
  width: 1px;
  height: 5px;
  background-color: #ccc;
  transform: rotate(30deg);
}

.lyt-reserve_content .lyt-reserve_content_txt {
  margin-top: 4px;
  margin-bottom: 0;
  font-size: 1.1rem;
}

.lyt-reserve_content .lyt-reserve_content_txt._flight {
  position: relative;
  margin-top: 0;
}

.lyt-reserve_content .lyt-reserve_content_txt._flight::before {
  position: absolute;
  top: 0;
  left: -47px;
  width: 24px;
  height: 24px;
  background-image: url(../img/icon_reserve_001.png);
}

.lyt-reserve_content .lyt-reserve_content_txt_attention {
  position: relative;
  margin-bottom: 0;
  padding: 17px 8px 0;
  font-size: 1.2rem;
}

.lyt-reserve_content .lyt-reserve_content_txt_attention > strong {
  display: flex;
  color: #c00;
  align-items: flex-start;
}

.lyt-reserve_content .lyt-reserve_content_txt_attention > strong > img {
  margin-top: 1px;
  width: 16px;
}

.lyt-reserve_content .lyt-reserve_content_txt_attention > strong > span {
  margin-left: 5px;
}

.lyt-reserve_content .lyt-reserve_content_txt_attention + .lyt-reserve_content_inner::after {
  display: none;
}

.lyt-reserve_content .lyt-reserve_content_txt_msg {
  margin-right: -45px;
  margin-left: -45px;
  font-size: 1.2rem;
}

.lyt-reserve_content .lyt-reserve_content_list {
  display: flex;
  margin: 5px 0 0 -14px;
  font-size: 1.1rem;
  flex-wrap: wrap;
}

.lyt-reserve_content .lyt-reserve_content_list .lyt-reserve_content_list_em {
  color: #c00;
}

.lyt-reserve_content .lyt-reserve_content_list dt {
  color: #616161;
}

.lyt-reserve_content .lyt-reserve_content_list > div {
  display: flex;
  margin-top: 2px;
  margin-left: 14px;
  width: 100%;
  align-items: center;
}

.lyt-reserve_content .lyt-reserve_content_list > div:first-child {
  margin-top: 0;
}

.modal .lyt-reserve {
  background-color: #fff;
}

/* .lyt-flight-chart
----------------------------------------------- */
.lyt-flight-chart_inner, .lyt-flight-chart-header {
  margin-right: -10px;
  margin-left: -10px;
  background-color: #f4f5f6;
}

.lyt-flight-chart_inner {
  margin-right: -10px;
  margin-left: -10px;
  padding: 16px 10px 30px;
  border-top: 1px solid #ccc;
  background-color: #f4f5f6;
}

.lyt-flight-chart-header {
  position: relative;
  padding: 20px 10px;
  border-top: 1px solid #ccc;
}

.lyt-flight-chart-header .lyt-desc-line_btn {
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.lyt-flight-chart-header .lyt-desc-line_btn .btn-filter {
  display: flex;
  padding: 8px 0 7px;
  min-width: 99px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, .1);
  text-align: center;
  justify-content: center;
  align-items: center;
}

.lyt-flight-chart-header .lyt-desc-line_btn .btn-filter::before {
  width: 13px;
  height: 13px;
  background-image: url(../img/icon_find_001.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.lyt-flight-chart-header .lyt-desc-line_btn .btn-filter > span {
  margin-left: 5px;
}

.lyt-flight-chart-header._no-sort {
  height: 61px;
}

.lyt-flight-chart-content_list {
  margin-bottom: 0;
}

.lyt-flight-chart-content_list_item {
  background-color: #fafafa;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .3);
}

.lyt-flight-chart-content_list_item:first-child {
  margin-top: 0;
}

.lyt-flight-chart-content_list_item._canceled {
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .15);
}

.lyt-flight-chart-content_list_item._canceled .lyt-flight-chart-content_list_item_desc, .lyt-flight-chart-content_list_item._canceled .lyt-flight-chart-content_list_item_desc_main {
  color: #727272;
}

.lyt-flight-chart-content_list_item._canceled .lyt-flight-chart-content_list_item_inner {
  background-color: #fafafa;
}

.lyt-flight-chart-content_list_item._canceled .lyt-flight-chart-content_list_item_price {
  display: flex;
  padding-top: 0;
  align-items: center;
}

.lyt-flight-chart-content_list_item._canceled .lyt-flight-chart-content_list_item_price ._txt {
  margin-bottom: 0;
  margin-left: auto;
}

.lyt-flight-chart-content_list_item._canceled .lyt-flight-chart-content_list_item_price ._txt > span {
  position: relative;
  color: #727272;
  font-size: 1.4rem;
}

.lyt-flight-chart-content_list_item._canceled .lyt-flight-chart-content_list_item_price ._txt > span::before {
  position: absolute;
  top: 50%;
  left: -19px;
  width: 14px;
  height: 12px;
  background-image: url(../img/icon_notice_001.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
}

.lyt-flight-chart-content_list_item._checked {
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .15);
}

.lyt-flight-chart-content_list_item._checked .lyt-flight-chart-content_list_item_desc, .lyt-flight-chart-content_list_item._checked .lyt-flight-chart-content_list_item_desc_main {
  color: #727272;
}

.lyt-flight-chart-content_list_item._checked .lyt-flight-chart-content_list_item_inner {
  background-color: #fafafa;
}

.lyt-flight-chart-content_list_item._checked .checked-txt {
  margin-top: -5px;
  color: #2e7d32;
  font-size: 1.1rem;
}

.lyt-flight-chart-content_list_item._checked .checked-icon {
  margin-top: 5px;
  margin-left: auto;
  padding: 3px 8px;
  max-width: 80px;
  border-radius: 10px;
  background: #2e7d32;
  color: #fff;
  text-align: center;
  font-size: 1.1rem;
}

.lyt-flight-chart-content_list_item._open .lyt-flight-chart-content_list_item_desc_main {
  flex-wrap: wrap;
}

.lyt-flight-chart-content_list_item._open .lyt-flight-chart-content_list_item_desc_main::before {
  top: 5px;
  bottom: auto;
}

.lyt-flight-chart-content_list_item._open .lyt-flight-chart-content_list_item_desc_main ._txt {
  margin: 5px 0;
  font-size: 1.8rem;
  flex-basis: 100%;
}

.lyt-flight-chart-content_list_item._open .lyt-flight-chart-content_list_item_desc_sub {
  flex-wrap: wrap;
}

.lyt-flight-chart-content_list_item._open .lyt-flight-chart-content_list_item_desc_sub p {
  flex-basis: 100%;
}

.lyt-flight-chart-content_list_item._open .lyt-flight-chart-content_list_item_desc_sub .list-conf._icon-only {
  margin-left: 0;
}

.lyt-flight-chart-content_list_item._link {
  margin-top: 10px;
  background: transparent;
  box-shadow: none;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_inner {
  position: relative;
  display: flex;
  margin-top: 10px;
  padding: 12px 20px 12px 16px;
  width: 100%;
  border-radius: 4px;
  background-color: #fff;
  flex-wrap: wrap;
  justify-content: space-between;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_inner[aria-expanded='true'] ._toggle-txt::after {
  transform: rotate(180deg);
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc {
  min-width: 150px;
  width: 47%;
  text-align: left;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_main {
  position: relative;
  display: flex;
  color: #333;
  justify-content: space-between;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_main::before {
  position: absolute;
  bottom: 13px;
  left: 50%;
  max-width: 20px;
  width: 20px;
  height: 2px;
  background-color: #ccc;
  transform: translateX(-50%);
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_main._no-arrow::before {
  display: none;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_main > div {
  flex-basis: 59px;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_main ._place {
  margin-right: -20px;
  font-size: 1.1rem;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_main ._place._em {
  color: #c00;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_main ._time {
  position: relative;
  font-size: 2rem;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_txt {
  margin: 3px 0 0;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_txt._name {
  font-size: 2rem;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_sub {
  display: flex;
  margin: 0 -20px -10px -10px;
  flex-wrap: wrap;
  align-items: center;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_sub > * {
  margin-left: 10px;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_sub p {
  margin-top: 0;
  margin-bottom: 2px;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_desc_sub .list-conf {
  margin-bottom: 5px;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_price {
  position: relative;
  padding-top: 13px;
  width: 40%;
  text-align: right;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_price ._txt {
  margin-bottom: 11px;
  font-size: 2rem;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_price ._cancel, .lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_price ._check {
  color: #727272;
  font-size: 1.6rem;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_price ._toggle-txt {
  display: inline-block;
  margin: 0;
  padding: 0 8px 0 11px;
  border: 1px solid #ccc;
  border-radius: 19px;
  background: transparent;
  box-shadow: none;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_price ._toggle-txt span {
  display: inline-block;
  color: #565656;
  vertical-align: middle;
  font-size: 1.1rem;
  line-height: 1;
}

.lyt-flight-chart-content_list_item .lyt-flight-chart-content_list_item_price ._toggle-txt::after {
  display: inline-block;
  margin-left: 6px;
  width: 7px;
  height: 4px;
  background-image: url(../img/icon_arrow_004.png);
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
  vertical-align: middle;
  line-height: 1;
}

.lyt-flight-chart-content_list_item ._cheapest-icon {
  position: absolute;
  top: -3px;
  right: -3px;
}

.lyt-flight-chart-content_list_item ._cheapest-icon > img {
  width: 46px;
  height: 45px;
}

.lyt-flight-chart-content_list_item._available .lyt-flight-chart-content_list_item_price {
  padding-top: 0;
}

.lyt-flight-chart-content_list_item._available .lyt-flight-chart-content_list_item_price > a {
  position: relative;
  display: flex;
  padding-top: 0;
  padding-right: 13px;
  height: 100%;
  color: #333;
  align-items: center;
}

.lyt-flight-chart-content_list_item._available .lyt-flight-chart-content_list_item_price > a::after {
  position: absolute;
  top: 50%;
  right: -5px;
  margin-top: -8px;
  width: 10px;
  height: 10px;
  border: 2px solid #c00;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg);
}

.lyt-flight-chart-content_list_item._available .lyt-flight-chart-content_list_item_price > a ._txt {
  margin-bottom: 0;
  margin-left: auto;
  text-align: center;
}

.lyt-flight-chart-content_list_item._available .lyt-flight-chart-content_list_item_price > a ._txt-caution {
  color: #b22430;
  font-weight: normal;
  font-size: 1.4rem;
}

.lyt-flight-chart-content_list_item._unavailable {
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .15);
}

.lyt-flight-chart-content_list_item._unavailable .lyt-flight-chart-content_list_item_inner {
  background-color: #fafafa;
}

.lyt-flight-chart-content_list_item._unavailable .lyt-flight-chart-content_list_item_desc, .lyt-flight-chart-content_list_item._unavailable .lyt-flight-chart-content_list_item_desc_main {
  color: #727272;
}

.lyt-flight-chart-content_list_item._unavailable .lyt-flight-chart-content_list_item_price {
  display: flex;
  padding-top: 0;
  align-items: center;
}

.lyt-flight-chart-content_list_item._unavailable .lyt-flight-chart-content_list_item_price ._txt {
  margin-bottom: 0;
  margin-left: auto;
}

.lyt-flight-chart-content_list_item._unavailable .lyt-flight-chart-content_list_item_price ._txt > span {
  color: #727272;
  font-size: 1.4rem;
}

.lyt-flight-chart-content_list_item_icon {
  position: relative;
  right: 0;
  left: 0;
  margin-bottom: -10px;
  padding: 12px 0;
  text-align: center;
}

.lyt-flight-chart-content_list_item_icon > img {
  width: 17px;
  height: 18px;
  vertical-align: text-top;
}

.lyt-flight-chart-content_list_item_icon > span {
  margin-top: 1px;
}

.lyt-flight-chart-content_list_item_icon::before, .lyt-flight-chart-content_list_item_icon::after {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 3px;
  height: 10px;
  background-color: #565656;
}

.lyt-flight-chart-content_list_item_icon::before {
  top: 0;
}

.lyt-flight-chart-content_list_item_icon::after {
  bottom: 0;
}

.lyt-flight-chart-content_item.is_open .lyt-flight-chart-content_list_item_price ._toggle-txt {
  background-color: #fafafa;
}

.lyt-flight-chart-content_item.is_open .lyt-flight-chart-content_list_item_price ._toggle-txt::after {
  transform: rotate(180deg);
}

.lyt-flight-chart-transfer {
  margin: 0 30px;
  padding: 14px 18px 11px;
  border: 2px solid #fff;
  border-radius: 8px;
  background-color: #f0f7ff;
}

.lyt-flight-chart-transfer + .lyt-flight-chart-transfer {
  margin-top: 20px;
}

.lyt-flight-chart-transfer p {
  margin-bottom: 0;
}

.lyt-flight-chart-transfer .lyt-flight-chart-transfer-content {
  text-align: center;
}

.lyt-flight-chart-transfer ._time {
  font-weight: normal;
  font-size: 1.8rem;
}

.lyt-flight-chart-transfer ._time > span {
  font-size: 1.2rem;
}

.lyt-flight-chart-transfer ._route {
  display: flex;
  margin-top: 4px;
  font-weight: bold;
  font-size: 1.2rem;
  justify-content: center;
  align-items: center;
}

.lyt-flight-chart-transfer ._route > span {
  margin-left: 11px;
}

.lyt-flight-chart-transfer ._route > img {
  width: 17px;
  height: 18px;
}

.lyt-flight-chart-transfer .lyt-flight-chart-content_list_item {
  margin-right: -50px;
  margin-left: -50px;
}

.lyt-flight-chart-transfer .lyt-flight-chart-content_list_item._canceled, .lyt-flight-chart-transfer .lyt-flight-chart-content_list_item._checked {
  margin-right: -35px;
  margin-left: -35px;
}

.lyt-flight-chart-transfer_other {
  display: none;
  margin-top: 20px;
  padding: 0 15px;
}

.no-js .lyt-flight-chart-transfer_other {
  display: block;
}

.lyt-flight-chart-transfer_other p {
  margin-bottom: 0;
}

.lyt-flight-chart-transfer_other ._head {
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
}

.lyt-flight-chart-transfer_other ._time {
  margin-top: 9px;
  margin-bottom: 0;
  font-weight: normal;
  font-size: 1.4rem;
}

.lyt-flight-chart-transfer_other .lyt-flight-chart-content_list {
  margin-right: -15px;
  margin-left: -15px;
}

.lyt-flight-chart-transfer_other .lyt-flight-chart-content_list + ._time {
  margin-top: 17px;
}

.lyt-flight-chart-transfer_other-wrapper.is-show .btn-wrap {
  display: none;
}

.lyt-flight-chart-transfer_other-wrapper.is-show .lyt-flight-chart-transfer_other {
  display: block;
}

/* .lyt-panel_plan
----------------------------------------------- */
.lyt-panel_plan_list {
  margin-bottom: 0;
}

.lyt-panel_plan_item {
  position: relative;
  display: flex;
  padding: 10px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.lyt-panel_plan_item::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 94%;
  height: 1px;
  background-image: url(../img/bg_dotted.png);
  background-size: contain;
  background-repeat: repeat-x;
  transform: translateX(-50%);
}

.lyt-panel_plan_item:first-child {
  border-top: 1px solid #ccc;
}

.lyt-panel_plan_item:first-child::before {
  display: none;
}

.lyt-panel_plan_item._default-hidden {
  display: none;
}

.flight-toggle-content._more .lyt-panel_plan_item._default-hidden {
  display: flex;
}

.no-js .lyt-panel_plan_item._default-hidden {
  display: flex;
}

.lyt-panel_plan_desc {
  width: 26%;
}

.lyt-panel_plan_desc > p {
  margin-bottom: 2px;
  white-space: nowrap;
}

.lyt-panel_plan_desc .lyt-panel_plan_desc_inner {
  display: flex;
  align-items: center;
}

.lyt-panel_plan_desc .lyt-panel_plan_desc_list {
  display: flex;
  margin-bottom: 0;
  color: #333;
  font-size: 1.1rem;
}

.lyt-panel_plan_desc .lyt-panel_plan_desc_txt {
  margin-left: 5px;
  color: #333;
  font-size: 1.2rem;
}

.lyt-panel_plan_desc > p > .link {
  font-size: 1.1rem;
}

.lyt-panel_plan_desc > p > .link::before {
  top: 4px;
}

.lyt-panel_plan_price {
  z-index: 2;
  display: flex;
  padding-right: 20px;
  width: 74%;
  justify-content: space-between;
  align-items: flex-start;
}

.lyt-panel_plan_price._cheapest ._yen {
  color: #c00;
  font-weight: bold;
}

.lyt-panel_plan_price._cheapest ._caution {
  color: #c00;
}

.lyt-panel_plan_price._no-arrow ._yen {
  color: #727272;
}

.lyt-panel_plan_price._no-arrow ._yen::after {
  display: none;
}

.lyt-panel_plan_price._no-arrow ._caution {
  color: #727272;
}

.lyt-panel_plan_price > div {
  padding-bottom: 20px;
}

.lyt-panel_plan_price .lyt-panel_plan_desc_txt {
  margin-top: auto;
  color: #333;
  font-size: 1.2rem;
}

.lyt-panel_plan_price .lyt-panel_plan_price_txt {
  position: relative;
  display: flex;
  margin-bottom: 0;
  text-align: right;
  align-items: flex-start;
}

.lyt-panel_plan_price .lyt-panel_plan_price_txt ._cheap-icon {
  margin: 3px 10px 0 0;
  padding-bottom: 0;
  width: 13px;
  height: 13px;
}

.lyt-panel_plan_price ._yen {
  position: relative;
  margin-left: auto;
  color: #000;
  font-size: 1.6rem;
}

.lyt-panel_plan_price ._yen::after {
  position: absolute;
  top: 43%;
  right: -15px;
  width: 8px;
  height: 8px;
  border: 2px solid #c00;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg) translateY(-50%);
}

.lyt-panel_plan_price ._cheap-icon {
  display: inline-block;
  padding-bottom: 3px;
}

.lyt-panel_plan_price ._caution {
  display: block;
  color: #333;
  text-align: right;
  font-size: 1.2rem;
}

.lyt-panel_plan_attention {
  margin-top: 5px;
  margin-bottom: 0;
  padding: 3px 0 3px 10px;
  border-left: 1px solid #b22430;
  background: #fdf5f5;
  color: #b22430;
  font-size: 1.1rem;
  flex-basis: 100%;
}

.lyt-panel_plan_grade_list {
  margin-bottom: 0;
  width: 100%;
  border-top: 1px solid #ccc;
}

.lyt-panel_plan_grade_list > li {
  position: relative;
}

.lyt-panel_plan_grade_list > li::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 94%;
  height: 1px;
  background-image: url(../img/bg_dotted.png);
  background-size: contain;
  background-repeat: repeat-x;
  transform: translateX(-50%);
}

.lyt-panel_plan_grade_list > li:last-child::before {
  display: none;
}

.lyt-panel_plan_grade_list > li > a {
  display: flex;
  padding: 10px 16px;
  color: #333;
  justify-content: space-between;
  align-items: center;
}

.lyt-panel_plan_grade_list > li > a > * {
  margin-bottom: 0;
}

.lyt-panel_plan_grade_list > li > a > dl {
  position: relative;
  padding-left: 38px;
  font-size: 1.1rem;
  flex-basis: 0;
  flex-grow: 1;

  flex-shrink: 0;
}

.lyt-panel_plan_grade_list > li > a > dl > dt {
  font-weight: bold;
}

.lyt-panel_plan_grade_list > li > a > dl > dt > img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 28px;
  transform: translateY(-50%);
}

.lyt-panel_plan_grade_list > li > a > dl > dd {
  margin-top: 3px;
}

.lyt-panel_plan_grade_list > li > a > p > span {
  position: relative;
  display: inline-block;
  padding-right: 15px;
  font-weight: bold;
}

.lyt-panel_plan_grade_list > li > a > p > span::after {
  position: absolute;
  top: 50%;
  right: 2px;
  margin-top: -5px;
  width: 8px;
  height: 8px;
  border: 2px solid #b22430;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg);
}

/* .lyt-fids
----------------------------------------------- */
.lyt-fids {
  margin: 15px 0 8px;
}

.lyt-fids > :last-child {
  margin-bottom: 0;
}

.lyt-fids .lyt-fids_hdg {
  margin-bottom: 5px;
  color: #c00;
  font-weight: bold;
  font-size: 1.1rem;
}

/* .lyt-radio-info
----------------------------------------------- */
.lyt-radio-info {
  position: relative;
}

.lyt-radio-info_sup {
  margin-left: 15px;
  color: #000;
}

.lyt-radio-info_sup > .item {
  color: #616161;
}

.lyt-radio-info .lyt-radio-info_next {
  margin-bottom: 10px;
  padding: 0 15px 0 35px;
}

.lyt-radio-info .lyt-radio-info_next > li {
  font-size: 1.2rem;
}

.lyt-radio-info > .btn-update {
  margin-left: 20px;
}

.lyt-radio-info + .lyt-radio-info_next {
  position: relative;
  padding-top: 20px;
  padding-left: 30px;
}

.lyt-radio-info + .form-table-wrap {
  padding-top: 15px;
}

.lyt-radio-info .form-radio-02_item {
  padding: 13px 0 13px 38px;
}

.lyt-radio-info .form-radio-02_item::before {
  left: 9px;
  margin-top: -11px;
}

.lyt-radio-info .form-radio-02_item::after {
  left: 14px;
  margin-top: -6px;
}

/* .lyt-spec
----------------------------------------------- */
.lyt-spec_sup {
  margin-top: 15px;
}

/* .lyt-arrow
----------------------------------------------- */
.lyt-arrow {
  position: relative;
  margin-bottom: 40px;
  padding-bottom: 20px;
}

.lyt-arrow::after {
  position: absolute;
  left: 50%;
  margin-top: 25px;
  margin-left: -20px;
  width: 0;
  height: 0;
  border-top: 20px solid #a92730;
  border-right: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid transparent;
}

.lyt-arrow :last-child {
  margin-bottom: 0;
}

/* .lyt-info
----------------------------------------------- */
.lyt-info {
  margin-bottom: 20px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.lyt-info_inner {
  padding: 20px 10px;
}

.lyt-info_inner > :last-child {
  margin-bottom: 0;
}

.lyt-info_inner + .lyt-info_inner {
  border-top: 1px dashed #ccc;
}

/* .lyt-detail
----------------------------------------------- */
.lyt-detail {
  position: relative;
  background-color: #fff;
}

.lyt-detail .lyt-detail_inner {
  position: relative;
  padding: 17px 54px 12px 55px;
}

.lyt-detail .lyt-detail_inner::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 86.12%;
  height: 1px;
  background-image: url(../img/bg_dotted.png);
  background-repeat: repeat-x;
}

.lyt-detail .lyt-detail_inner:first-child::after {
  display: none;
}

.lyt-detail .lyt-detail_inner + .lyt-detail_txt_attention::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 86.12%;
  height: 1px;
  background-image: url(../img/bg_dotted.png);
  background-repeat: repeat-x;
}

.lyt-detail .lyt-detail_inner._change {
  color: #616161;
}

.lyt-detail .lyt-detail_inner._change ~ .lyt-detail_inner .lyt-detail_txt, .lyt-detail .lyt-detail_inner._change ~ .lyt-detail_inner .lyt-detail_txt._flight, .lyt-detail .lyt-detail_inner._change ~ .lyt-detail_inner .lyt-detail_info, .lyt-detail .lyt-detail_inner._change ~ .lyt-detail_inner .lyt-detail_list {
  color: #000;
}

.lyt-detail .lyt-detail_inner._change::after {
  display: none;
}

.lyt-detail .lyt-detail_inner._line::before {
  position: absolute;
  top: 36px;
  left: 28px;
  width: 1px;
  height: 86%;
  background-color: #ccc;
}

.lyt-detail .lyt-detail_info {
  margin-top: 2px;
}

.lyt-detail .lyt-detail_info p {
  margin-bottom: 0;
}

.lyt-detail .lyt-detail_info._flight {
  position: relative;
  margin-top: 0;
}

.lyt-detail .lyt-detail_info._flight::before {
  position: absolute;
  top: 0;
  left: -47px;
  width: 24px;
  height: 24px;
  background-image: url(../img/icon_reserve_001.png);
}

.lyt-detail .lyt-detail_info ._airport {
  position: relative;
  display: block;
  padding-left: 16px;
  font-size: 1.4rem;
}

.lyt-detail .lyt-detail_info ._airport::before, .lyt-detail .lyt-detail_info ._airport::after {
  position: absolute;
  width: 1px;
}

.lyt-detail .lyt-detail_info ._airport::before {
  top: 5px;
  left: 0;
  box-sizing: border-box;
  width: 9px;
  height: 9px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.lyt-detail .lyt-detail_info ._airport::after {
  background-color: #ccc;
}

.lyt-detail .lyt-detail_info ._airport:first-child::after {
  top: 17px;
  left: 4px;
  height: 40%;
}

.lyt-detail .lyt-detail_info ._airport:last-child {
  margin-top: 2px;
}

.lyt-detail .lyt-detail_info ._airport:last-child::after {
  top: -2px;
  left: 5px;
  height: 5px;
  transform: rotate(30deg);
}

.lyt-detail .lyt-detail_info ._airport ._em {
  color: #c00;
}

.lyt-detail .lyt-detail_txt {
  margin-top: 4px;
  margin-bottom: 0;
  font-size: 1.1rem;
}

.lyt-detail .lyt-detail_txt._flight {
  position: relative;
  margin-top: 0;
}

.lyt-detail .lyt-detail_txt._flight::before {
  position: absolute;
  top: 0;
  left: -47px;
  width: 24px;
  height: 24px;
  background-image: url(../img/icon_reserve_001.png);
}

.lyt-detail .lyt-detail_txt._flight._no::before {
  display: none;
}

.lyt-detail .lyt-detail_txt_attention {
  position: relative;
  margin-bottom: 0;
  padding: 17px 8px 0;
  font-size: 1.2rem;
}

.lyt-detail .lyt-detail_txt_attention > strong {
  display: flex;
  color: #c00;
  align-items: flex-start;
}

.lyt-detail .lyt-detail_txt_attention > strong > img {
  margin-top: 1px;
  width: 16px;
}

.lyt-detail .lyt-detail_txt_attention > strong > span {
  margin-left: 5px;
}

.lyt-detail .lyt-detail_txt_attention + .lyt-detail_inner::after {
  display: none;
}

.lyt-detail .lyt-detail_txt_msg {
  margin-right: -45px;
  margin-left: -45px;
  font-size: 1.2rem;
}

.lyt-detail .lyt-detail_list {
  display: flex;
  margin: 5px 0 0 -14px;
  font-size: 1.1rem;
  flex-wrap: wrap;
}

.lyt-detail .lyt-detail_list .lyt-detail_list_em {
  color: #c00;
}

.lyt-detail .lyt-detail_list dt {
  color: #616161;
}

.lyt-detail .lyt-detail_list > div {
  display: flex;
  margin-left: 14px;
  align-items: center;
}

.panel-section_content_attention + .lyt-detail {
  margin-top: -30px;
}

.lyt-detail + .btn-wrap {
  margin: 10px 0;
}

.lyt-detail + .btn-wrap .btn-next {
  padding: 5px 30px 5px 20px;
  min-width: 150px;
}

.lyt-detail + .btn-wrap .btn-next > span {
  font-size: 1.4rem;
}

/* .lyt-pager
----------------------------------------------- */
.lyt-pager_txt {
  text-align: center;
}

.lyt-pager_txt .num {
  margin-right: 2px;
  font-weight: bold;
  font-size: 1.6rem;
}

.lyt-pager_list {
  display: flex;
  margin-top: 8px;
  margin-bottom: 0;
  flex-wrap: wrap;
  justify-content: center;
}

.lyt-pager_list .lyt-pager_list_link > ul {
  display: flex;
  margin-bottom: 0;
}

.lyt-pager_list .lyt-pager_list_link > ul > li ._item {
  margin-right: 4px;
  margin-left: 4px;
  padding: 8px 0;
  width: 35px;
  border: 1px solid #ccc;
  background-color: #fff;
}

.lyt-pager_list .lyt-pager_list_link > ul > li.is-current ._item {
  border-color: #2a344b;
  background-color: #2a344b;
  color: #fff;
}

.lyt-pager_list .lyt-pager_list_link > ul > li:not(.is-current) ._item:hover, .lyt-pager_list .lyt-pager_list_link > ul > li:not(.is-current) ._item:active, .lyt-pager_list .lyt-pager_list_link > ul > li:not(.is-current) ._item:focus {
  opacity: .8;
}

.lyt-pager_list .lyt-pager_list_prev ._item, .lyt-pager_list .lyt-pager_list_next ._item {
  position: relative;
  margin-right: 2px;
  margin-left: 2px;
  padding: 9px 0;
  width: 35px;
  color: rgba(0, 0, 0, 0);
}

.lyt-pager_list .lyt-pager_list_prev ._item::before, .lyt-pager_list .lyt-pager_list_next ._item::before {
  position: absolute;
  top: 50%;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
}

.lyt-pager_list .lyt-pager_list_prev ._item:hover, .lyt-pager_list .lyt-pager_list_prev ._item:active, .lyt-pager_list .lyt-pager_list_prev ._item:focus, .lyt-pager_list .lyt-pager_list_next ._item:hover, .lyt-pager_list .lyt-pager_list_next ._item:active, .lyt-pager_list .lyt-pager_list_next ._item:focus {
  opacity: .8;
}

.lyt-pager_list .lyt-pager_list_prev._hidden, .lyt-pager_list .lyt-pager_list_next._hidden {
  visibility: hidden;
}

.lyt-pager_list .lyt-pager_list_prev ._item::before {
  left: 12px;
  transform: rotate(-135deg) translate3d(0, 0, 0);
}

.lyt-pager_list .lyt-pager_list_next ._item::before {
  right: 12px;
  transform: rotate(45deg) translate3d(0, 0, 0);
}

.lyt-pager_sup {
  display: flex;
  margin-top: 20px;
  justify-content: flex-end;
}

.lyt-pager_sup .list-note {
  margin-bottom: 0;
}

.lyt-pager + .btn-wrap {
  margin-top: 60px;
}

/* .lyt-ticket
----------------------------------------------- */
.lyt-ticket {
  margin-bottom: 20px;
  margin-left: -10px;
  padding: 20px 0 1px;
  width: calc(100% + 20px);
  background-color: #f4f5f6;
}

.lyt-ticket_inner {
  padding-right: 10px;
  padding-left: 10px;
}

.lyt-ticket_header {
  margin-bottom: 20px;
  border-bottom: 1px solid #ccc;
}

.lyt-ticket_header .lyt-ticket_header_btn {
  display: flex;
  justify-content: flex-end;
}

.lyt-ticket_header .lyt-ticket_header_btn .btn-filter {
  display: flex;
  padding: 8px 10px 7px;
  min-width: 99px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, .1);
  text-align: center;
  justify-content: center;
  align-items: center;
}

.lyt-ticket_header .lyt-ticket_header_btn .btn-filter::before {
  width: 13px;
  height: 13px;
  background-image: url(../img/icon_find_001.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.lyt-ticket_header .lyt-ticket_header_btn .btn-filter > span {
  margin-left: 5px;
}

.lyt-ticket_header .list-sort {
  margin-bottom: 20px;
}

.lyt-ticket_header .list-sort dt {
  white-space: nowrap;
}

.lyt-ticket_header .list-sort ul {
  flex-wrap: wrap;
}

.lyt-ticket .lyt-reserve {
  margin-bottom: 0;
  padding-top: 10px;
}

/* ----------------------------------------------------------------
    Media
----------------------------------------------------------------- */
/* media
----------------------------------------------- */
.media {
  margin-bottom: 20px;
}

.media > :last-child {
  margin-bottom: 0;
}

.media_item {
  text-align: center;
}

.media_item-border {
  padding: 10px;
  border: 2px solid #e0e0e0;
}

.media_caption {
  display: block;
  margin-top: 10px;
}

/* ----------------------------------------------------------------
    Tab
----------------------------------------------------------------- */
/* .tab
----------------------------------------------- */
.tab .form-btn-list > li {
  width: 100%;
}

.tab .form-btn-list > li:nth-child(even) {
  margin-left: 0;
}

.tab .form-btn-list > li .form-radio .form-radio_item {
  flex-direction: column;
  padding: 10px 12px 10px 35px;
  font-size: 1.4rem;
  justify-content: center;
  align-items: flex-start;
}

.tab .form-btn-list > li .form-radio .form-radio_item ._num {
  font-size: 1.1rem;
}

.tab_list.form-btn-list > li {
  margin-top: -1px;
}

.tab_list.form-btn-list > li > span {
  border-radius: 0;
}

.tab_list.form-btn-list > li:first-child > span {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.tab_list.form-btn-list > li:last-child > span {
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

.tab_list.form-btn-list > li .form-radio .form-radio_item {
  padding: 12px 14px 12px 39px;
}

.tab_list.form-btn-list > li .form-radio .form-radio_item::before {
  left: 10px;
}

.tab_list.form-btn-list > li .form-radio .form-radio_item::after {
  left: 15px;
}

.tab_content {
  position: relative;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 2px solid #b22430;
}

.tab_content::before {
  position: absolute;
  top: -2px;
  left: 50%;
  margin-top: -5px;
  margin-left: -8px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #b22430;
  border-right: 2px solid #b22430;
  background-color: #fff;
  transform: rotate(-45deg) translate3d(0, 0, 0);
}

.tab_hdg {
  margin-bottom: 15px;
  padding: 0 10px;
  text-align: center;
}

.tab_hdg > :last-child {
  margin-bottom: 0;
}

.tab_hdg_txt {
  margin-bottom: 5px;
  color: #333;
  font-size: 1.6rem;
}

.tab_hdg_02_txt {
  margin-bottom: 5px;
  padding: 0 10px;
  color: #616161;
  font-size: 1.1rem;
}

.tab_txt_point {
  text-align: center;
}

.tab_txt_point dt {
  color: #616161;
}

.tab_txt_point dt, .tab_txt_point dd {
  display: inline-block;
}

.tab_txt_point .num span {
  font-weight: normal;
  font-size: 1.2rem;
}

/* ----------------------------------------------------------------
    Tables
----------------------------------------------------------------- */
/* .table-number
----------------------------------------------- */
.table-number {
  margin-bottom: 20px;
}

.table-number caption {
  margin-bottom: 4px;
  text-align: left;
  font-weight: bold;
}

.table-number tbody th, .table-number tbody td {
  padding-bottom: 5px;
  text-align: left;
  font-size: 1.8rem;
}

.table-number tbody ._num {
  color: #c00;
  vertical-align: top;
}

.table-number tbody ._num-02 {
  color: #000;
  font-weight: bold;
}

.table-number tbody ._name {
  padding-left: 12px;
  font-weight: bold;
  font-size: 1.6rem;
}

.table-number tbody tr:last-child th, .table-number tbody tr:last-child td {
  padding-bottom: 0;
}

.table-number._full {
  width: 100%;
}

/* .table-price
----------------------------------------------- */
.table-price {
  margin-top: -7px;
  width: 100%;
}

.table-price tbody th, .table-price tbody td {
  padding: 7px 0;
  border-bottom: 1px solid #ccc;
}

.table-price tbody th {
  text-align: left;
  font-weight: normal;
}

.table-price + .lyt-total {
  margin-top: -1px;
}

.table-price_link {
  margin-left: 5px;
  font-weight: normal;
  font-size: 1.2rem;
}

/* ----------------------------------------------------------------
    Form
----------------------------------------------------------------- */
/* .form-condition
----------------------------------------------- */
.form-condition > :last-child {
  margin-bottom: 0;
}

/* .form-btn-list
----------------------------------------------- */
.form-btn-list {
  display: flex;
  margin-top: -8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.form-btn-list > li {
  margin-top: 8px;
  width: calc(50% - 4px);
}

.form-btn-list > li:nth-child(even) {
  margin-left: 8px;
}

.form-btn-list > li .form-radio {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.form-btn-list > li .form-radio.is-error {
  border: 2px solid #c00;
}

.form-btn-list > li .form-radio .form-radio_item {
  display: flex;
  padding: 14px 35px;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  justify-content: center;
  align-items: center;
}

.form-btn-list > li .form-radio .form-radio_item::before {
  top: 50%;
  left: 6px;
  margin-top: -10px;
}

.form-btn-list > li .form-radio .form-radio_item::after {
  top: 50%;
  left: 11px;
  margin-top: -5px;
}

@media screen and (max-width: 320px) {
  .form-btn-list > li .form-radio .form-radio_item {
    min-height: 68px;
  }
}

/* .form-list
----------------------------------------------- */
.form-list > li {
  margin-bottom: 10px;
}

.form-list > li:last-child {
  margin-bottom: 0;
}

.form-list._inline {
  display: flex;
  flex-wrap: wrap;
}

.form-list._inline > li {
  margin-right: 15px;
}

.form-list._col2, .form-list._col3 {
  display: flex;
  margin-top: -10px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.form-list._col2 > li, .form-list._col3 > li {
  margin: 10px 0 0;
}

.form-list._col2 > li {
  width: calc(50% - 4px);
}

.form-list._col3 > li {
  width: calc(33.3% - 4px);
}

.form-list_inner {
  margin-top: 10px;
}

.form-list_inner > :last-child {
  margin-bottom: 0;
}

.form-list_inner-02 {
  margin: 10px 0 0 37px;
}

.form-list_inner-02 > :last-child {
  margin-bottom: 0;
}

.form-list_txt {
  margin: 10px 0;
}

div[role='alert'] + .form-list, .form-txt + .form-list {
  margin-top: 0;
}

/* .form-list-02
----------------------------------------------- */
.form-list-02 > li {
  margin-bottom: 12px;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.form-list-02 > li:last-child {
  margin-bottom: 0;
}

.form-list-02._inline {
  padding: 0;
}

.form-list-02._inline > li {
  border: 0;
}

.form-list-02._inline > li ._inline_sup {
  padding-right: 15px;
}

.form-list-02_item {
  padding: 0 10px;
}

.form-list-02_item > :last-child {
  margin-bottom: 0;
}

/* .form-list-03
----------------------------------------------- */
.form-list-03 {
  padding: 0 10px;
}

.form-list-03._inline {
  padding: 0;
}

.form-list-03_item {
  padding-left: 40px;
}

.form-list-03_item > :last-child {
  margin-bottom: 0;
}

.form-list-03_link {
  margin-bottom: 10px;
}

/* .form-lyt
----------------------------------------------- */
.form-lyt {
  margin-top: 12px;
  margin-bottom: 20px;
  width: 100%;
}

.form-lyt .form-lyt-set + .form-lyt-set:not(._no-border) {
  border-top: 1px dotted #d0d0d0;
}

.form-lyt .form-lyt-set > :last-child {
  margin-bottom: 0;
}

.form-lyt .form-lyt-set:first-child > .form-lyt-set_hdg {
  padding-top: 0;
}

.form-lyt .form-lyt-set_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.form-lyt .form-lyt-set_inner .form-lyt-set_hdg {
  font-weight: normal;
}

.form-lyt .form-lyt-set_hdg {
  display: flex;
  margin-bottom: 0;
  padding: 12px 0 5px;
  color: #333;
  font-weight: bold;
  font-size: 1.6rem;
  justify-content: space-between;
}

.form-lyt .form-lyt-set_hdg .form-lyt_link, .form-lyt .form-lyt-set_hdg .form-lyt_txt {
  font-weight: normal;
}

.form-lyt .form-lyt-set_sup {
  margin: 5px 0 0;
  color: #616161;
  font-size: 1.4rem;
}

.form-lyt .form-lyt-set_sup + .list-note {
  margin-top: 5px;
}

.form-lyt .form-lyt-set_item {
  padding: 5px 0 12px;
}

.form-lyt .form-lyt-set_item > :last-child {
  margin-bottom: 0;
}

.form-lyt .form-lyt-set_item > .form-lyt_txt, .form-lyt .form-lyt-set_item > .form-lyt_link {
  margin: 10px 0;
}

.form-lyt .form-lyt-set_item > .form-lyt_txt + .form-lyt_txt, .form-lyt .form-lyt-set_item > .form-lyt_txt + .form-lyt_link, .form-lyt .form-lyt-set_item > .form-lyt_link + .form-lyt_txt, .form-lyt .form-lyt-set_item > .form-lyt_link + .form-lyt_link {
  margin-top: 0;
}

.form-lyt .form-lyt-set_item > .form-lyt_txt:first-child, .form-lyt .form-lyt-set_item > .form-lyt_link:first-child {
  margin-top: 0;
}

.form-lyt .form-lyt-set_item > .form-table-keep:last-child {
  margin-bottom: 0;
}

.form-lyt .form-lyt-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.form-lyt .form-lyt-label .form-lyt-label_txt {
  margin-bottom: 0;
  font-weight: normal;
}

.form-lyt .form-table-keep_hdg {
  vertical-align: top;
}

.form-lyt .form-table-keep_hdg .form-table-keep_hdg_item {
  display: block;
  padding-top: 12px;
  color: #333;
  white-space: nowrap;
  font-size: 1.6rem;
}

.form-lyt .form-lyt_txt {
  margin-bottom: 10px;
}

.form-lyt .icon-label {
  margin-right: 8px;
}

.form-lyt > :last-child {
  margin-bottom: 0;
}

.form-lyt._separate {
  padding-top: 12px;
  border-top: 1px dotted #d0d0d0;
}

/* .form-lyt-02
----------------------------------------------- */
.form-lyt-02 {
  margin-bottom: 20px;
  width: 100%;
}

.form-lyt-02 > p {
  margin-bottom: 5px;
}

.form-lyt-02 .form-lyt-02-set {
  margin-bottom: 15px;
}

.form-lyt-02 .form-lyt-02-set + .form-lyt-02-set {
  border-top: 1px dotted #d0d0d0;
}

.form-lyt-02 .form-lyt-02-set > :last-child {
  margin-bottom: 0;
}

.form-lyt-02 .form-lyt-02-set_hdg {
  display: flex;
  margin-bottom: 0;
  padding: 12px 0 0;
  color: #616161;
  font-weight: bold;
  font-size: 1.1rem;
  justify-content: space-between;
}

.form-lyt-02 .form-lyt-02-set_hdg .form-lyt-02_link, .form-lyt-02 .form-lyt-02-set_hdg .form-lyt-02_txt {
  font-weight: normal;
}

.form-lyt-02 .form-lyt-02-set_sup {
  margin: 5px 0 0;
  color: #616161;
  font-size: 1.4rem;
}

.form-lyt-02 .form-lyt-02-set_item {
  padding: 5px 0 0;
}

.form-lyt-02 .form-lyt-02-set_item ._company {
  display: flex;
  justify-content: space-between;
}

.form-lyt-02 .form-lyt-02-set_item ._company > span {
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
}

.form-lyt-02 .form-lyt-02-set_item ._company a {
  white-space: nowrap;
}

.form-lyt-02 .form-lyt-02-set_item > p {
  margin-bottom: 10px;
}

.form-lyt-02 .form-lyt-02-set_item > :last-child {
  margin-bottom: 0;
}

.form-lyt-02 .form-lyt-02-set_item > .form-lyt-02_txt, .form-lyt-02 .form-lyt-02-set_item > .form-lyt-02_link {
  margin: 10px 0;
}

.form-lyt-02 .form-lyt-02-set_item > .form-lyt-02_txt + .form-lyt-02_txt, .form-lyt-02 .form-lyt-02-set_item > .form-lyt-02_txt + .form-lyt-02_link, .form-lyt-02 .form-lyt-02-set_item > .form-lyt-02_link + .form-lyt-02_txt, .form-lyt-02 .form-lyt-02-set_item > .form-lyt-02_link + .form-lyt-02_link {
  margin-top: 0;
}

.form-lyt-02 .form-lyt-02-set_item > .form-lyt-02_txt:first-child, .form-lyt-02 .form-lyt-02-set_item > .form-lyt-02_link:first-child {
  margin-top: 0;
}

.form-lyt-02 .form-lyt-02-set_item > .form-table-keep:last-child {
  margin-bottom: 0;
}

.form-lyt-02 .form-lyt-02-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.form-lyt-02 .form-lyt-02-label .form-lyt-02-label_txt {
  margin-bottom: 0;
  font-weight: normal;
}

.form-lyt-02 .form-table-keep_hdg {
  vertical-align: top;
}

.form-lyt-02 .form-table-keep_hdg .form-table-keep_hdg_item {
  display: block;
  padding-top: 12px;
  color: #333;
  white-space: nowrap;
  font-size: 1.6rem;
}

.form-lyt-02 .form-lyt-02_txt {
  margin-bottom: 10px;
}

.form-lyt-02 .icon-label {
  margin-right: 8px;
}

.form-lyt-02 > :last-child {
  margin-bottom: 0;
}

/* .form-table-keep
----------------------------------------------- */
.form-table-keep {
  margin-bottom: 20px;
  padding: 0 10px;
  width: 100%;
}

.form-table-keep._noline > thead > tr, .form-table-keep._noline > tbody > tr {
  border-top: 0;
}

.form-table-keep > thead > tr, .form-table-keep > tbody > tr {
  padding-top: 10px;
  width: 100%;
  border-top: 1px dotted #d0d0d0;
}

.form-table-keep > thead > tr:first-child, .form-table-keep > tbody > tr:first-child {
  padding-top: 0;
  border-top: 0;
}

.form-table-keep > thead > tr:last-child > th, .form-table-keep > thead > tr:last-child > td, .form-table-keep > tbody > tr:last-child > th, .form-table-keep > tbody > tr:last-child > td {
  padding-bottom: 0;
}

.form-table-keep > thead > tr > th, .form-table-keep > tbody > tr > th {
  padding: 10px 5px 5px 0;
}

.form-table-keep > thead > tr > td, .form-table-keep > tbody > tr > td {
  padding: 10px 0 5px 5px;
}

.form-table-keep > thead > tr > th .form-table-label, .form-table-keep > thead > tr > td .form-table-label, .form-table-keep > tbody > tr > th .form-table-label, .form-table-keep > tbody > tr > td .form-table-label {
  color: #333;
  font-size: 1.6rem;
}

.form-table-keep > thead > tr > th .form-table-keep_txt, .form-table-keep > thead > tr > td .form-table-keep_txt, .form-table-keep > tbody > tr > th .form-table-keep_txt, .form-table-keep > tbody > tr > td .form-table-keep_txt {
  margin: 5px 0 0;
}

.form-table-keep > thead > tr > th .form-table-keep_txt._sup, .form-table-keep > thead > tr > td .form-table-keep_txt._sup, .form-table-keep > tbody > tr > th .form-table-keep_txt._sup, .form-table-keep > tbody > tr > td .form-table-keep_txt._sup {
  margin-left: 16px;
  padding: 5px 0 10px;
  min-height: 33px;
  word-break: break-all;
}

/* .form-txt
----------------------------------------------- */
.form-txt {
  box-sizing: border-box;
  padding: 12px 14px;
  max-width: 240px;
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 3px;
  background: #fff;
  font-size: 1.6rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-txt[disabled] {
  border: 1px solid #e0e0e0;
  background: #eee;
}

.form-txt[disabled]::-webkit-input-placeholder {
  color: #555;
  opacity: 1;
}

.form-txt[disabled]::placeholder {
  color: #555;
  opacity: 1;
}

.form-txt.is-error {
  padding: 11px 14px;
  border: 2px solid #c00;
}

.form-txt.is-blank {
  background-color: #fdf5f5;
}

.form-txt._full {
  max-width: none;
}

.form-txt._small {
  max-width: 120px;
}

/* .form-radio
----------------------------------------------- */
.form-radio {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.form-radio_item {
  position: relative;
  display: block;
  padding: 13px 16px 13px 55px;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  cursor: pointer;
}

.form-radio_item::before, .form-radio_item::after {
  position: absolute;
  top: 50%;
}

.form-radio_item::before {
  left: 16px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  border: 1px solid #9aa3b3;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 2px 2px #ccc inset;
}

.form-radio_item::after {
  left: 21px;
  z-index: 1;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #555;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.form-list._col2 .form-radio_item, .form-list._col3 .form-radio_item {
  display: flex;
  align-items: center;
}

.form-radio_item .list-note {
  display: flex;
  box-sizing: border-box;
  margin-bottom: 5px;
  color: #616161;
  font-size: 1.1rem;
}

.form-radio input[type='radio'] {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.form-radio input[type='radio']:focus + label {
  outline: 2px solid #a6c8ff;
}

.form-radio input[type='radio']:checked + .form-radio_item::after {
  opacity: 1;
}

.form-radio input[type='radio']:disabled + .form-radio_item {
  color: #bfbfbf;
}

.form-radio input[type='radio'].is-blank + .form-radio_item::before {
  background-color: #fdf5f5;
}

.form-radio input[type='radio'].is-blank:checked + .form-radio_item::before {
  background-color: #fff;
}

.form-radio.is-error {
  border: 2px solid #c00;
}

.form-radio.is-blank .form-radio_item {
  background-color: #fdf5f5;
}

.panel-modal-condition_list-radio .form-radio {
  border: none;
}

.panel-modal-condition_list-radio .form-radio_item {
  padding: 12px 10px 12px 38px;
  font-size: 1.4rem;
}

.panel-modal-condition_list-radio .form-radio_item::before {
  top: 10px;
  left: 8px;
  margin-top: 0;
}

.panel-modal-condition_list-radio .form-radio_item::after {
  top: 15px;
  left: 13px;
  margin-top: 0;
}

.form-radio + .list-note {
  margin-top: 5px;
}

/* .form-radio-02
----------------------------------------------- */
.form-radio-02 {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 3px;
}

.form-list-class .is-current .form-radio-02 .form-radio-02_item + span {
  font-weight: bold;
}

.form-radio-02_item {
  position: relative;
  display: block;
  padding: 13px 16px 13px 55px;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  cursor: pointer;
}

.form-radio-02_item::before, .form-radio-02_item::after {
  position: absolute;
  top: 50%;
}

.form-radio-02_item::before {
  left: 16px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  border: 1px solid #9aa3b3;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 2px 2px #ccc inset;
}

.form-radio-02_item::after {
  left: 21px;
  z-index: 1;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #555;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.form-list._col2 .form-radio-02_item, .form-list._col3 .form-radio-02_item {
  display: flex;
  align-items: center;
}

.form-radio-02_item._tab {
  position: absolute;
  z-index: -1;
  opacity: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-radio-02_item._tab:focus + label {
  outline: 2px solid #a6c8ff;
}

.form-radio-02_item._tab[checked='checked'] + label::before, .form-radio-02_item._tab[checked='checked'] + label::after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.form-radio-02_item._tab[checked='checked'] + label::before {
  bottom: -12px;
  width: 81.47%;
  height: 4px;
  background-color: #c00;
}

.form-radio-02_item._tab[checked='checked'] + label::after {
  bottom: -8px;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #c00;
  border-left: 5px solid transparent;
}

.form-radio-02 input[type='radio'] {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.form-radio-02 input[type='radio']:focus + label {
  outline: 2px solid #a6c8ff;
}

.form-radio-02 input[type='radio']:checked + .form-radio-02_item::after {
  opacity: 1;
}

.form-radio-02 input[type='radio']:disabled + .form-radio-02_item {
  color: #bfbfbf;
}

.form-radio-02.is-blank .form-radio-02_item::before {
  background-color: #fdf5f5;
}

.form-radio-02.is-blank input[type='radio']:checked + .form-radio-02_item::before {
  background-color: #fff;
}

.form-radio-02.is-error .form-radio-02_item::before {
  border: 2px solid #c00;
  background-color: #fdf5f5;
}

.panel-modal-condition_list-radio .form-radio-02 {
  border: none;
}

.panel-modal-condition_list-radio .form-radio-02_item {
  padding: 12px 10px 12px 38px;
  font-size: 1.4rem;
}

.panel-modal-condition_list-radio .form-radio-02_item::before {
  top: 10px;
  left: 8px;
  margin-top: 0;
}

.panel-modal-condition_list-radio .form-radio-02_item::after {
  top: 15px;
  left: 13px;
  margin-top: 0;
}

/* .form-checkbox
----------------------------------------------- */
.form-checkbox {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.form-checkbox input[type='checkbox'] {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.form-checkbox input[type='checkbox']:focus + label {
  outline: 2px solid #a6c8ff;
}

.form-checkbox input[type='checkbox']:checked + .form-checkbox_item::after {
  opacity: 1;
}

.form-checkbox input[type='checkbox']:disabled + .form-checkbox_item {
  color: #bfbfbf;
}

.form-checkbox input[type='checkbox'].is-blank + .form-checkbox_item {
  background-color: #fdf5f5;
}

.form-checkbox input[type='checkbox'].is-blank:checked + .form-checkbox_item {
  background-color: #fff;
}

.form-checkbox_item {
  position: relative;
  display: block;
  padding: 13px 16px 13px 55px;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  cursor: pointer;
}

.form-checkbox_item::before, .form-checkbox_item::after {
  position: absolute;
  top: 50%;
}

.form-checkbox_item::before {
  left: 16px;
  box-sizing: border-box;
  width: 22px;
  height: 22px;
  border: 1px solid #9aa3b3;
  border-radius: 3px;
  background-color: #fff;
  box-shadow: 0 1px 1px #ccc inset;
  transform: translateY(-50%);
}

.form-checkbox_item::after {
  left: 23px;
  margin-top: -2px;
  width: 13px;
  height: 6px;
  border-width: 0 0 2px 2px;
  border-style: solid;
  border-color: #555;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
  transform: rotate(-45deg) translateY(-50%);
}

.form-checkbox_item.is-blank {
  background-color: #fdf5f5;
}

.form-checkbox_item-inner {
  display: block;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #ccc;
  font-size: 1.4rem;
}

.form-checkbox.is-blank .form-checkbox_item {
  background-color: #fdf5f5;
}

.form-checkbox.is-error {
  border: 2px solid #c00;
}

.form-checkbox._noline {
  border: 0;
  border-radius: 0;
}

.form-checkbox._noline .form-checkbox_item {
  padding: 13px 0 13px 40px;
}

.form-checkbox._noline .form-checkbox_item::before {
  left: 10px;
}

.form-checkbox._noline .form-checkbox_item::after {
  left: 17px;
}

/* .form-checkbox-inline
----------------------------------------------- */
.form-checkbox-inline {
  display: block;
  width: 100%;
  height: 100%;
}

.form-checkbox-inline_item {
  position: relative;
  display: inline;
  padding: 5px 0 5px 35px;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  cursor: pointer;
}

.form-checkbox-inline_item::before, .form-checkbox-inline_item::after {
  position: absolute;
  top: 50%;
}

.form-checkbox-inline_item::before {
  left: 0;
  box-sizing: border-box;
  width: 22px;
  height: 22px;
  border: 1px solid #9aa3b3;
  border-radius: 3px;
  background-color: #fff;
  box-shadow: 0 1px 1px #ccc inset;
  transform: translateY(-50%);
}

.form-checkbox-inline_item::after {
  left: 7px;
  margin-top: -2px;
  width: 13px;
  height: 6px;
  border-width: 0 0 2px 2px;
  border-style: solid;
  border-color: #555;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
  transform: rotate(-45deg) translateY(-50%);
}

.form-checkbox-inline input[type='checkbox'] {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.form-checkbox-inline input[type='checkbox']:focus + label {
  outline: 2px solid #a6c8ff;
}

.form-checkbox-inline input[type='checkbox']:checked + .form-checkbox-inline_item::after {
  opacity: 1;
}

.form-checkbox-inline input[type='checkbox']:disabled + .form-checkbox-inline_item {
  color: #bfbfbf;
}

.form-checkbox-inline input[type='checkbox'].is-blank + .form-checkbox-inline_item::before {
  background-color: #fdf5f5;
}

.form-checkbox-inline input[type='checkbox'].is-blank:checked + .form-checkbox-inline_item::before {
  background-color: #fff;
}

.form-checkbox-inline.is-blank .form-checkbox-inline_item {
  background-color: #fdf5f5;
}

/* .form-checkbox-wrap
----------------------------------------------- */
.form-checkbox-wrap {
  margin: 5px 0 15px;
}

/* .form-select
----------------------------------------------- */
.form-select {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  max-width: 240px;
  width: 100%;
  background: #fff;
  font-size: 1.6rem;
}

.form-select::before {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 1;
  z-index: 1;
  width: 8px;
  height: 8px;
  border-top: 2px solid #c00;
  border-right: 2px solid #c00;
  transform: rotate(135deg) translate3d(0, 0, 0);
  pointer-events: none;
}

.form-select select {
  position: relative;
  display: block;
  padding: 12px 46px 12px 13px;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
  border-radius: 3px;
  background: #fff;
  font-size: 1.6rem;
  cursor: pointer;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-select select::-ms-expand {
  display: none;
}

.form-select._full {
  max-width: none;
}

.form-select._small {
  max-width: 120px;
}

.form-select.is-error select {
  padding: 11px 46px 11px 13px;
  border: 2px solid #c00;
}

.form-select.is-blank select {
  background-color: #fdf5f5;
}

.form-txt + .form-select, [role='alert'] + .form-select {
  margin-top: 10px;
}

.form-select + .form-txt {
  margin-top: 10px;
}

/* .form-error
----------------------------------------------- */
.form-error {
  position: relative;
  width: 100%;
}

.form-error::before {
  position: absolute;
  top: -3px;
  left: 20px;
  z-index: 1;
  width: 8px;
  height: 8px;
  border-right: 5px solid rgba(0, 0, 0, 0);
  border-bottom: 5px solid rgba(204, 0, 0, .8);
  border-left: 5px solid rgba(0, 0, 0, 0);
}

.form-error .form-error_txt {
  position: absolute;
  top: 4px;
  z-index: 1;
  margin-bottom: 0;
  padding: 6px 8px;
  border-radius: 3px;
  background-color: rgba(204, 0, 0, .8);
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, .25);
  color: #fff;
  font-size: 1.2rem;
}

/* .form-link-calendar
----------------------------------------------- */
.form-link-calendar {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  padding: 12px 34px 12px 12px;
  max-width: 240px;
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 3px;
  background: #fff;
  font-size: 1.6rem;
}

.form-link-calendar::before {
  position: absolute;
  top: 14px;
  right: 10px;
}

.form-link-calendar .form-link-calendar_data {
  margin-bottom: 0;
  color: #000;
}

.form-link-calendar.is-error {
  padding: 11px 34px 11px 12px;
  border: 2px solid #c00;
  background-color: #fdf5f5;
}

/* .form-select-condition
----------------------------------------------- */
.form-select-condition {
  position: relative;
  position: relative;
  margin-bottom: 10px;
  height: 100%;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.form-select-condition::before {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 1;
  z-index: 1;
  width: 8px;
  height: 8px;
  border-top: 2px solid #c00;
  border-right: 2px solid #c00;
  transform: rotate(135deg) translate3d(0, 0, 0);
  pointer-events: none;
}

.form-select-condition select {
  position: relative;
  padding: 13px 46px 13px 46px;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-select-condition select::-ms-expand {
  display: none;
}

.form-select-condition._exc > .link-condition_item {
  padding: 12px 60px 12px 12px;
}

.form-select-condition._exc > .link-condition_item > .link-condition_img {
  margin-right: 15px;
  margin-bottom: 0;
}

.form-select-condition._exc > .link-condition_item > .link-condition_data {
  margin-bottom: 0;
  color: #333;
}

.form-select-condition._exc > .link-condition_item._incoming .link-condition_img img, .form-select-condition._exc > .link-condition_item._outgoing .link-condition_img img {
  width: 19px;
  vertical-align: middle;
}

.form-select-condition .form-select-condition_exc {
  position: absolute;
  right: 10px;
  bottom: -27px;
  z-index: 1;
  width: 44px;
}

.form-select-condition_txt {
  position: absolute;
  top: 4px;
  left: 20px;
  margin-bottom: 0;
  color: #616161;
  font-size: 1.3rem;
}

.form-select-condition_img {
  position: absolute;
  top: 13px;
  left: 15px;
  width: 19px;
}

/* .form-panel
----------------------------------------------- */
.form-panel {
  margin-bottom: 10px;
}

.form-panel_hdg {
  display: flex;
  margin-bottom: 0;
  padding: 7px 10px 6px;
  border-top: 1px solid #ccc;
  background-image: linear-gradient(45deg, #f4f5f6 25%, #f4f5f6 25%, transparent 25%, transparent 75%, #f4f5f6 75%, #f4f5f6 75%), linear-gradient(-135deg, #f4f5f6 25%, #f4f5f6 25%, transparent 25%, transparent 75%, #f4f5f6 75%, #f4f5f6 75%);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
  background-repeat: repeat;
  align-items: center;
}

.form-panel_hdg._em {
  border-top: 1px solid #c00;
}

.form-panel_hdg > ._no {
  margin-right: 18px;
  width: 4em;
  color: #616161;
  font-weight: bold;
  font-size: 1.1rem;
}

.form-panel_hdg > ._name {
  word-break: break-all;
  flex-basis: 0;
  flex-grow: 1;

  flex-shrink: 0;
}

.form-panel_body {
  padding: 7px 0;
}

.form-panel_body > * {
  margin-bottom: 7px;
}

.form-panel_body ._company {
  display: inline-block;
}

.form-panel_body > :last-child {
  margin-bottom: 0;
}

.form-panel_txt {
  display: flex;
}

.form-panel_txt > ._age {
  margin-right: 3px;
  width: 3em;
}

.form-panel > div + div {
  margin-top: 10px;
}

.form-lyt-02-set_item .form-panel:last-child {
  border-bottom: 0;
}

.form-panel._space-wide + .form-panel._space-wide {
  margin-top: 22px;
}

/* .form-list-desc
----------------------------------------------- */
.form-list-desc > div {
  display: flex;
  margin-bottom: 7px;
  flex-wrap: wrap;
  align-items: center;
}

.form-list-desc > div:last-child {
  margin-bottom: 0;
}

.form-list-desc > div > dt {
  color: #616161;
}

.form-list-desc._separate > div:not(:first-child) {
  padding-top: 9px;
  border-top: 1px dotted #d0d0d0;
}

.form-list-desc._separate dd {
  word-break: break-all;
}

.form-list-desc + .list-note {
  margin-top: -10px;
}

/* .form-txt-sup
----------------------------------------------- */
.form-txt-sup {
  margin-left: 16px;
  padding: 5px 0 0;
  word-break: break-all;
}

/* .form-lyt-age
----------------------------------------------- */
.form-lyt-age {
  display: flex;
  align-items: center;
}

.form-lyt-age_txt {
  margin-left: 14px;
}

/* .form-lyt-yen
----------------------------------------------- */
.form-lyt-yen {
  display: flex;
  align-items: center;
}

.form-lyt-yen_txt {
  margin-left: 7px;
}

/* .form-lyt-date
----------------------------------------------- */
.form-lyt-date {
  display: flex;
  margin-bottom: 20px;
  align-items: center;
}

.form-lyt-date_item {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
}

.form-lyt-date_item .form-select > select {
  padding: 12px 33px 12px 13px;
  white-space: nowrap;
}

.form-lyt-date_item + .form-lyt-date_item {
  margin-left: 39px;
}

.form-lyt-date_item + .form-lyt-date_item::before {
  position: absolute;
  top: 17px;
  left: -27px;
  width: 1px;
  height: 13px;
  background-color: #000;
  transform: rotate(20deg);
}

.form-lyt-date_item_txt {
  margin-left: 10px;
}

/* .form-list-class-wrapper
----------------------------------------------- */
.form-list-class-wrapper {
  position: relative;
  margin: 15px -10px 5px;
}

/* .form-list-class
----------------------------------------------- */
.form-list-class {
  display: flex;
  padding: 12px 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .25);
  justify-content: center;
  align-items: center;
}

.form-list-class._stickey {
  z-index: 5;
}

.form-list-class > li {
  width: 100%;
  height: 45px;
  border-right: 1px solid #ccc;
}

.form-list-class > li:last-child {
  border-right: none;
}

.form-list-class > li > a {
  position: relative;
  display: block;
  height: 100%;
  color: #000;
  cursor: pointer;
}

.form-list-class > li > a > span {
  position: absolute;
  top: 50%;
  left: 50%;
  font-weight: bold;
  font-size: 1.5rem;
  transform: translate(-50%, -50%);
}

.form-list-class > li.is-current {
  position: relative;
}

.form-list-class > li.is-current::before, .form-list-class > li.is-current::after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.form-list-class > li.is-current::before {
  bottom: -12px;
  width: 81.47%;
  height: 4px;
  background-color: #c00;
}

.form-list-class > li.is-current::after {
  bottom: -8px;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #c00;
  border-left: 5px solid transparent;
}

.form-list-class ._class-j, .form-list-class ._first-class {
  width: 61px;
  height: 36px;
}

.form-list-class_item {
  position: relative;
}

/* ----------------------------------------------------------------
    Unique
----------------------------------------------------------------- */
/* seatmap
----------------------------------------------- */
.seatmap {
  position: relative;
  margin: 0 -10px;
  background-position: center 0;
  background-size: cover;
  background-repeat: no-repeat;
}

/* seatmap-list
----------------------------------------------- */
.seatmap-list {
  display: flex;
  justify-content: space-around;
}

.seatmap-list > li {
  position: absolute;
}

.seatmap-list > li > a {
  position: relative;
  display: block;
  border-radius: 1.06667vw;
  text-align: center;
  font-weight: bold;
}

.seatmap-list > li > a::before {
  position: absolute;
  top: .4vw;
  right: .4vw;
  bottom: 1.33333vw;
  left: .4vw;
  z-index: 2;
  border-radius: .8vw;
  background: #fff;
}

.seatmap-list > li > a::after {
  width: 100%;
  height: 100%;
  border-radius: 1.06667vw;
}

.seatmap-list > li > a ._num {
  position: absolute;
  right: 0;
  left: 0;
  z-index: 4;
  display: inline-block;
  margin-top: 1.86667vw;
  margin-right: auto;
  margin-left: auto;
  color: #2d2d2d;
  font-size: 2.4vw;
  line-height: 3.46667vw;
}

.seatmap-list > li > a ._num > span {
  display: block;
}

.seatmap-list > li > a ._num::before {
  position: absolute;
  bottom: -1.5vw;
  left: 50%;
  z-index: 4;
  visibility: hidden;
  border: solid transparent;
  border-width: 1.33333vw;
  border-bottom: solid #2a344b;
  border-bottom-width: 1.06667vw;
  transform: translateX(-50%);
}

.seatmap-list > li > a ._num::after {
  position: absolute;
  bottom: -1.73333vw;
  left: 50%;
  z-index: 5;
  visibility: hidden;
  border: solid transparent;
  border-width: 1.33333vw;
  border-bottom: solid #fff;
  border-bottom-width: 1.06667vw;
  transform: translateX(-50%);
}

.seatmap-list > li > a.is-show ._num {
  z-index: 7;
}

.seatmap-list > li > a.is-show ._num::before, .seatmap-list > li > a.is-show ._num::after {
  visibility: visible;
}

.seatmap-list > li > a ._class, .seatmap-list > li > a ._side {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
  font-size: 2.66667vw;
}

.seatmap-list > li > a ._other {
  position: absolute;
  top: -.8vw;
  left: -.8vw;
  z-index: 3;
  display: flex;
}

.seatmap-list > li > a ._other img[src*='icon_guide'] {
  width: 2.66667vw;
  height: 100%;
}

.seatmap-list > li > a ._other img[src*='icon_wide_floor'] {
  width: 2.93333vw;
  height: 100%;
}

.seatmap-list > li > a ._priority {
  position: absolute;
  bottom: -.8vw;
  left: -.8vw;
  z-index: 3;
}

.seatmap-list > li > a ._priority img[src*='icon_priority_child'] {
  width: 2.93333vw;
  height: 100%;
}

.seatmap-list > li > a ._priority img[src*='icon_priority_child2'] {
  width: 4.8vw;
  height: 100%;
}

.seatmap-list > li > a._rotate-r ._other, .seatmap-list > li > a._rotate-l ._other {
  top: -2.66667vw;
  left: -2.66667vw;
}

.seatmap-list > li > a._rotate-r ._priority, .seatmap-list > li > a._rotate-l ._priority {
  bottom: -2.66667vw;
  left: -2.66667vw;
}

.seatmap-list > li > a._rotate-r {
  margin-top: .1vw;
  margin-left: .3vw;
}

.seatmap-list > li > a._rotate-r::before, .seatmap-list > li > a._rotate-r::after {
  transform: rotate(30deg);
}

.seatmap-list > li > a._rotate-r ._num > span {
  margin-left: 1vw;
}

.seatmap-list > li > a._rotate-r:not(._assigned)::before {
  right: .13333vw;
  left: .66667vw;
}

.seatmap-list > li > a._rotate-l {
  margin-top: .3vw;
  margin-left: .1vw;
}

.seatmap-list > li > a._rotate-l::before, .seatmap-list > li > a._rotate-l::after {
  transform: rotate(-30deg);
}

.seatmap-list > li > a._rotate-l ._num > span {
  margin-right: 1vw;
}

.seatmap-list > li > a._rotate-l:not(._assigned)::before {
  right: .66667vw;
  left: .13333vw;
}

.seatmap-list > li > a._type-a {
  width: 10.13333vw;
  height: 10.93333vw;
}

.seatmap-list > li > a._type-b {
  width: 8vw;
  height: 10.66667vw;
}

.seatmap-list > li > a._type-c {
  width: 6.93333vw;
  height: 10.66667vw;
}

.seatmap-list > li > a._firstclass::after {
  background: #d7ae30;
  background-image: linear-gradient(to bottom, #d7ae30 0%, #e9d28e 90%, #d7ae30 100%);
  box-shadow: 0 .53333vw 0 rgba(215, 174, 48, .25);
}

.seatmap-list > li > a._firstclass._rotate-r::after {
  box-shadow: .2vw .53333vw 0 rgba(215, 174, 48, .25);
}

.seatmap-list > li > a._firstclass._rotate-l::after {
  box-shadow: -.2vw .53333vw 0 rgba(215, 174, 48, .25);
}

.seatmap-list > li > a._classj::after {
  background: #990d09;
  box-shadow: 0 .53333vw 0 rgba(153, 13, 9, .25);
}

.seatmap-list > li > a._classj._rotate-r::after {
  box-shadow: .2vw .53333vw 0 rgba(153, 13, 9, .25);
}

.seatmap-list > li > a._classj._rotate-l::after {
  box-shadow: -.2vw .53333vw 0 rgba(153, 13, 9, .25);
}

.seatmap-list > li > a._classj ._num {
  color: #990d09;
}

.seatmap-list > li > a._normalclass::after {
  background: #801950;
  box-shadow: 0 .53333vw 0 rgba(128, 25, 80, .25);
}

.seatmap-list > li > a._normalclass._rotate-r::after {
  box-shadow: .2vw .53333vw 0 rgba(128, 25, 80, .25);
}

.seatmap-list > li > a._normalclass._rotate-l::after {
  box-shadow: -.2vw .53333vw 0 rgba(128, 25, 80, .25);
}

.seatmap-list > li > a._normalclass ._num {
  color: #801950;
}

.seatmap-list > li > a._assigned::before {
  bottom: .4vw;
  background: #e0e0e0;
}

.seatmap-list > li > a._assigned::after {
  background: #ccc;
}

.seatmap-list > li > a._assigned ._num {
  color: transparent;
}

.seatmap-list > li > a._assigned ._status {
  position: absolute;
  z-index: 3;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}

.seatmap-list > li > a._assigned ._status img {
  width: 1.6vw;
}

.seatmap-list > li > a._assigned._child ._status img {
  width: 3.46667vw;
}

.seatmap-list > li > a._selected::before {
  display: none;
}

.seatmap-list > li > a._selected::after {
  background: #b22430;
  background-image: linear-gradient(to bottom, #c00 50%, #b22430 100%);
}

.seatmap-list > li > a._selected ._num {
  color: transparent;
}

.seatmap-list > li > a._selected ._status {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
}

.seatmap-list > li > a._selected ._assign {
  position: absolute;
  z-index: 1;
  display: flex;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 3.73333vw;
  justify-content: center;
  align-items: center;
}

/* seatmap-position
----------------------------------------------- */
.seatmap-position {
  position: absolute;
  right: 0;
  left: 0;
  z-index: -1;
  display: flex;
  margin: auto;
  width: 100%;
  text-align: center;
  font-size: 2.66667vw;
  justify-content: space-around;
}

/* seatmap-emergency
----------------------------------------------- */
.seatmap-emergency {
  position: absolute;
  width: 100%;
}

.seatmap-emergency > li {
  position: absolute;
  display: flex;
  width: 19.2vw;
  height: 7.46667vw;
  background: #fff;
  color: #525b6d;
  font-weight: bold;
  font-size: 3.2vw;
  justify-content: center;
  align-items: center;
}

.seatmap-emergency > li ._hidden {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
}

.seatmap-emergency > li._left {
  background-image: linear-gradient(to right, #fff, #f4f5f6);
}

.seatmap-emergency > li._left::before {
  display: inline-block;
  margin-right: 1.6vw;
  margin-left: -3.73333vw;
  border: solid transparent;
  border-width: 1.33333vw;
  border-right: solid #c00;
  border-right-width: 2.93333vw;
}

.seatmap-emergency > li._right {
  background-image: linear-gradient(to left, #fff, #f4f5f6);
}

.seatmap-emergency > li._right::after {
  display: inline-block;
  margin-right: -3.73333vw;
  margin-left: 1.6vw;
  border: solid transparent;
  border-width: 1.33333vw;
  border-left: solid #c00;
  border-left-width: 2.93333vw;
}

/* seatmap-notwindow
----------------------------------------------- */
.seatmap-notwindow {
  position: absolute;
  width: 100%;
}

.seatmap-notwindow > li {
  position: absolute;
}

.seatmap-notwindow > li > img {
  width: 1.33333vw;
}

/* .lyt-indent-seatmap
----------------------------------------------- */
.lyt-indent-seatmap {
  margin-bottom: 10px;
  padding-left: 10px;
}

.lyt-indent-seatmap > :last-child {
  margin-bottom: 0;
}

/* .list-passenger
----------------------------------------------- */
.list-passenger {
  margin-bottom: 0;
}

.list-passenger._upper {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.list-passenger > li {
  display: flex;
  padding: 10px;
  justify-content: space-between;
  align-items: center;
}

.list-passenger > li + li {
  border-top: 1px dashed #ccc;
}

.list-passenger > li .list-passenger_inner {
  display: flex;
  align-items: center;
}

.list-passenger > li ._num {
  margin-right: 10px;
  width: 28px;
  height: 28px;
  border-radius: 14px;
  background-color: #c00;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 28px;

  flex-shrink: 0;
}

.list-passenger > li ._detail {
  padding-right: 10px;
  word-break: break-all;
}

.list-passenger > li ._option {
  display: block;
  font-size: 1.1rem;
}

.list-passenger > li ._seat {
  display: flex;
  margin-bottom: 0;
  min-width: 95px;
}

.list-passenger > li ._seat > dt {
  margin-right: 5px;
  color: #616161;
}

.list-passenger > li ._seat > dd {
  font-size: 1.6rem;
}

.list-passenger ._btn {
  border: 1px solid #ccc;
}

.list-passenger .btn-03 {
  display: inline-block;
  padding: 5px 10px;
  color: #0f0f69;
  font-size: 1.4rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.list-passenger .btn-03 > span {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.list-passenger .btn-03 > span::before {
  position: absolute;
  top: 2px;
  left: 0;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 1px solid #2a344b;
  border-radius: 2px;
}

.list-passenger .btn-03 > span::after {
  position: absolute;
  top: 6px;
  left: 3px;
  width: 6px;
  height: 6px;
  border: 2px solid #2a344b;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(45deg);
}

/* .seatmap-legend
----------------------------------------------- */
.seatmap-legend {
  margin-top: 25px;
  padding: 12px 15px;
  border: 1px solid #ccc;
}

.seatmap-legend_hdg {
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 1.4rem;
}

.seatmap-legend_desc {
  margin-bottom: 0;
  font-size: 1.1rem;
}

.seatmap-legend_desc ._item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.seatmap-legend_desc ._item > dt {
  margin: 0 3px 10px 0;
  color: #565656;
  font-weight: bold;
}

.seatmap-legend_desc ._item > dd {
  margin: 0 10px 10px 0;
}

.seatmap-legend_desc ._item > dd:last-child {
  margin-right: 0;
}

.seatmap-legend_desc ._item ._priority-child02 {
  margin-right: 0;
}

.seatmap-legend_desc ._item ._link-priority {
  width: 100%;
}

.seatmap-legend_desc ._item:last-child > dt, .seatmap-legend_desc ._item:last-child > dd {
  margin-bottom: 0;
}

.seatmap-legend_desc ._icon {
  display: inline-block;
  vertical-align: middle;
}

.seatmap-legend_desc ._icon > img {
  vertical-align: middle;
}

.seatmap-legend_desc ._text {
  display: inline-block;
  margin-left: 4px;
  vertical-align: middle;
}

/* .seatmap-tooltip
----------------------------------------------- */
.seatmap-tooltip {
  position: absolute;
  z-index: 6;
  display: none;
  margin-top: -.8vw;
  width: 88vw;
  background: #fff;
}

.seatmap-tooltip.is-show {
  display: block;
}

.seatmap-tooltip .list-passenger li {
  display: block;
}

.seatmap-tooltip .list-passenger li:last-child {
  padding-bottom: 0;
}

.seatmap-tooltip .list-passenger li .list-passenger_inner._passenger-info {
  margin-bottom: 10px;
}

.seatmap-tooltip .list-passenger li .list-passenger_inner._seat-info {
  justify-content: space-between;
}

.seatmap-tooltip :last-child {
  margin-bottom: 0;
}

.seatmap-tooltip_inner {
  padding: 25px 10px 15px;
  width: 100%;
  border: solid #2a344b;
  border-width: .13333vw;
  background-color: #fff;
}

.seatmap-tooltip_hdg {
  padding: 0 55px 25px 15px;
  border-bottom: 1px solid #ccc;
  font-weight: bold;
}

.seatmap-tooltip_hdg .seatmap-tooltip_hdg_inner._seat {
  display: flex;
  align-items: center;
}

.seatmap-tooltip_hdg .seatmap-tooltip_hdg_inner._option {
  margin-top: 5px;
}

.seatmap-tooltip_hdg ._num {
  margin-right: 10px;
  font-size: 2.4rem;
  line-height: 1;
}

.seatmap-tooltip_hdg ._class {
  font-size: 1.4rem;
  line-height: 1;
}

.seatmap-tooltip_hdg ._txt {
  padding-right: 5px;
  border-right: 1px solid #ccc;
  font-weight: normal;
  font-size: 1.2rem;
}

.seatmap-tooltip_hdg :last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: 0;
}

.seatmap-tooltip_btn-close {
  position: absolute;
  top: 15px;
  right: 20px;
  width: 44px;
  height: 44px;
}

.seatmap-tooltip_btn-close > button {
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
  border-radius: 50%;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
}

.seatmap-tooltip_btn-close > button > span {
  color: transparent;
}

.seatmap-tooltip_btn-close > button::before, .seatmap-tooltip_btn-close > button::after {
  position: absolute;
  top: 50%;
  left: 12px;
  width: 20px;
  height: 1px;
  background-color: #2a344b;
  transform: rotate(45deg);
}

.seatmap-tooltip_btn-close > button::after {
  transform: rotate(135deg);
}

/* .seatmap-modal
----------------------------------------------- */
.seatmap-modal .modal_inner {
  flex-direction: column;
  -webkit-overflow-scrolling: touch;
  justify-content: flex-start;
}

.seatmap-modal .modal_inner::before {
  width: 100%;
  height: 4px;
  background: #2a344b;
}

.seatmap-modal .modal_body {
  padding: 0 10px 30px;
}

.seatmap-modal_hdg {
  display: flex;
  flex-direction: column;
  padding: 20px 55px 15px 10px;
  min-height: 83px;
  justify-content: center;
}

.seatmap-modal_hdg .seatmap-modal_hdg_inner._seat {
  display: flex;
  align-items: center;
}

.seatmap-modal_hdg .seatmap-modal_hdg_inner._option {
  margin-top: 5px;
}

.seatmap-modal_hdg .seatmap-modal_hdg_inner._option :last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: 0;
}

.seatmap-modal_hdg .seatmap-modal_hdg_inner ._alert {
  text-align: left;
}

.seatmap-modal_hdg ._num {
  margin-right: 10px;
  font-size: 2.4rem;
  line-height: 1;
}

.seatmap-modal_hdg ._class {
  font-size: 1.4rem;
  line-height: 1;
}

.seatmap-modal_hdg ._txt {
  padding-right: 5px;
  border-right: 1px solid #ccc;
  font-weight: normal;
  font-size: 1.2rem;
}

.seatmap-modal_guide {
  padding: 12px;
  background: #f8f8f8;

  flex-shrink: 1;
}

.seatmap-modal_guide .seatmap-modal_guide_hdg {
  position: relative;
  margin-bottom: 15px;
  color: #2a344b;
  font-size: 1.4rem;
}

.seatmap-modal_guide .seatmap-modal_guide_hdg::before {
  display: inline-block;
  margin-right: 5px;
  width: 11px;
  height: 12px;
  background: url(../img/seat/icon_guide.svg) no-repeat;
  vertical-align: -1px;
}

.seatmap-modal_guide .seatmap-modal_guide_hdg-02 {
  margin-bottom: 15px;
  font-size: 1.4rem;
}

.seatmap-modal_guide .inPara {
  margin: 0 2px;
  text-decoration: underline;
}

.seatmap-modal .close_btn {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  border: 1px solid #ccc;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
}

.seatmap-modal .close_btn::before, .seatmap-modal .close_btn::after {
  position: absolute;
  top: 50%;
  left: 12px;
  width: 20px;
  height: 1px;
  background-color: #2a344b;
  transform: rotate(45deg);
}

.seatmap-modal .close_btn::after {
  transform: rotate(135deg);
}

.seatmap-modal .close_btn > span {
  color: transparent;
}

.seatmap-modal._scroll {
  overflow: scroll;
}

.seatmap-modal._scroll:not(._alert) .modal_body {
  display: flex;
  flex-direction: column;
  padding-bottom: 20vh;
  height: 100vh;
}

.seatmap-modal._alert.is-modal-show {
  background-color: transparent;
}

.seatmap-modal._alert .modal_inner {
  position: relative;
  padding: 0 20px;
  justify-content: center;
  align-items: center;
}

.seatmap-modal._alert .modal_inner::before {
  display: none;
}

.seatmap-modal._alert .modal_body {
  padding: 30px 70px 30px 30px;
  background: #fff;
}

.seatmap-modal._alert .modal_body .list {
  margin-bottom: 0;
}

.seatmap-modal._alert ._alert-txt {
  color: #c00;
}

.seatmap-modal._alert .close_btn {
  top: 10px;
  right: 10px;
}

/* JavaScript Off
----------------------------------------------- */
.no-js .form-select-condition .form-select-condition_exc {
  display: none;
}

.no-js .panel-modal-condition .panel-modal-condition-fixed {
  position: relative;
  overflow-y: auto;
}

.no-js .panel-modal-condition .panel-modal-condition-fixed + .panel-modal-condition_list-radio, .no-js .panel-modal-condition .panel-modal-condition-fixed + .panel-modal-condition_table-calendar, .no-js .panel-modal-condition .panel-modal-condition-fixed + .panel-modal-condition_list-btn {
  margin-top: 0;
  padding-top: 0;
}

.no-js .tab > .tab_content > .tab_item {
  display: none;
}

/* ----------------------------------------------------------------
    Modal (.modal[-*])
----------------------------------------------------------------- */
/* .modal
----------------------------------------------- */
.modal_inner {
  position: relative;
  min-height: 100vh;
  max-width: 100%;
}

.modal_body {
  position: relative;
  padding: 0;
}

.modal_body > :nth-last-child(-n+2) {
  margin-bottom: 0;
}

.modal_overlay {
  background: #000;
}

.modal_btn-close {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 100;
  width: 22px;
  height: 22px;
}

.modal_btn-close > button {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  overflow: hidden;
  padding: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: none;
  color: transparent;
}

.modal_btn-close > button::before, .modal_btn-close > button::after {
  position: absolute;
  background: #919191;
  transform: rotate(45deg);
}

.modal_btn-close > button::before {
  top: 0;
  left: 10px;
  width: 2px;
  height: 22px;
}

.modal_btn-close > button::after {
  top: 10px;
  left: 0;
  width: 22px;
  height: 2px;
}

/* .modal-refine
----------------------------------------------- */
.modal-refine {
  background: rgba(0, 0, 0, .5);
}

.modal-refine .modal_body.fn-modal_body {
  margin-bottom: 0;
  padding: 30px 20px;
  width: 560px;
  background-color: #fff;
}

.modal-refine_hdg {
  padding-right: 50px;
  color: #333;
  font-size: 1.8rem;
}

.modal-refine .modal-refine-item {
  display: block;
  margin-top: 24px;
  color: #333;
}

.modal-refine .modal-refine-item .list-radio > li {
  border-bottom: 1px dotted #ccc;
}

.modal-refine .modal-refine-item .form-radio {
  border: none;
}

.modal-refine .modal-refine-item_hdg {
  margin-bottom: 12px;
  color: #333;
  font-size: 1.6rem;
}

.modal-refine .modal-refine-item_hdg {
  margin-bottom: 12px;
  color: #333;
  font-size: 1.6rem;
}

.modal-refine .modal-refine-btn {
  box-sizing: border-box;
  margin: 0 -20px;
  padding: 15px;
  background: #fafafa;
}

.modal-refine .modal-refine-btn .lyt-btn-line {
  margin-bottom: 0;
}

.modal-refine .modal-refine-btn .lyt-btn-line .btn-reset {
  position: relative;
  display: inline-block;
  padding: 17px 38px;
  min-width: 270px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, .1);
  color: #0f0f69;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.modal-refine .modal-refine-btn .lyt-btn-line .btn-reset > span {
  position: relative;
  padding-left: 24px;
  font-weight: normal;
}

.modal-refine .modal-refine-btn .lyt-btn-line .btn-reset > span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  height: 16px;
  background-image: url(../img/icon_reset_001.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
}

.modal-refine .modal-refine-btn .lyt-btn-line .btn-reset:hover, .modal-refine .modal-refine-btn .lyt-btn-line .btn-reset:active, .modal-refine .modal-refine-btn .lyt-btn-line .btn-reset:focus {
  opacity: .8;
}

.modal-refine .close_btn {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  border: 1px solid #ccc;
  border-radius: 50%;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
}

.modal-refine .close_btn::before, .modal-refine .close_btn::after {
  position: absolute;
  top: 50%;
  left: 12px;
  width: 20px;
  height: 1px;
  background-color: #2a344b;
  transform: rotate(45deg);
}

.modal-refine .close_btn::after {
  transform: rotate(135deg);
}

.modal-refine .close_btn > span {
  color: transparent;
}

.modal-refine._scroll {
  overflow: scroll;
}

/* ----------------------------------------------------------------
    Function Modal (.fn-modal[-*])
----------------------------------------------------------------- */
/* .fn-modal
----------------------------------------------- */
.fn-modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 500;
  display: none;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.fn-modal.is-modal-animate {
  will-change: opacity;
}

.fn-modal.is-modal-render {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
}

.fn-modal.is-modal-show {
  background-color: #fff;
  opacity: 1;
}

.fn-modal.is-modal-show.modal-refine .modal_body.fn-modal_body {
  width: 560px;
  background: #fff;
  color: #000;
}

.fn-modal.is-modal-hide {
  transition-delay: 0s;
}

.fn-modal_overlay {
  position: fixed;
  top: 0;
  right: 0;

  bottom: 0;
  left: 0;
  z-index: 400;
  transition: opacity .3s cubic-bezier(.39, .575, .565, 1);
}

.fn-modal_overlay.is-overlay-animate {
  will-change: opacity;
}

.fn-modal_overlay.is-overlay-render {
  opacity: 0;
}

.fn-modal_overlay.is-overlay-show {
  opacity: .5;
}

.fn-modal_overlay.is-overlay-hide {
  transition-delay: .2s;
}

.fn-modal_inner {
  display: flex;
  margin-right: auto;
  margin-left: auto;
  justify-content: center;
  align-items: flex-start;
}

.fn-modal_body {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.is-modal-animate .fn-modal_body {
  will-change: transform;
}

.is-modal-open .fn-modal_body {
  overflow-y: auto;
}

.is-modal-hide .fn-modal_body {
  transition-delay: 0s;
}

/* .is-modal-open
----------------------------------------------- */
.is-modal-open {
  overflow: hidden;
}

.is-modal-open #body {
  position: fixed;
  overflow-x: hidden;
  width: 100%;

  overscroll-behavior-y: none;
}

/* JavaScript Off
----------------------------------------------- */
.no-js .fn-modal {
  display: none;
}

.no-js .fn-modal_body {
  position: static;
}

.no-js .modal_inner {
  min-height: 0;
}

/* ----------------------------------------------------------------
    toggle
----------------------------------------------------------------- */
/* .toggle
----------------------------------------------- */
.toggle {
  margin-bottom: 30px;
  border: 1px solid #ccc;
  border-radius: 1px;
}

.toggle_hdg .toggle_hdg_inner ._thum {
  width: 44px;
  height: 44px;
}

.toggle_hdg .toggle_hdg_inner._add_thum {
  display: flex;
  padding: 8px 10px;
  align-items: center;
}

.toggle_hdg .toggle_hdg_inner._add_thum > span {
  margin-left: 14px;
}

.toggle_hdg._note .toggle_hdg_inner > span {
  padding-left: 27px;
}

.toggle_hdg._note .toggle_hdg_inner > span::before {
  position: absolute;
  top: 1px;
  left: 0;
  width: 16px;
  height: 16px;
  background-position: -17px -69px;
  background-size: 113px auto;
}

.toggle_hdg._board_01 .toggle_hdg_inner > span, .toggle_hdg._board_02 .toggle_hdg_inner > span {
  display: flex;
  padding-left: 60px;
  min-height: 44px;
  align-items: center;
}

.toggle_hdg._board_01 .toggle_hdg_inner > span::before, .toggle_hdg._board_02 .toggle_hdg_inner > span::before {
  position: absolute;
  top: 0;
  left: 0;
}

.toggle_hdg._board_01 .toggle_hdg_inner > span::before {
  width: 44px;
  height: 44px;
  background-position: 0 0;
  background-size: 113px auto;
}

.toggle_hdg._board_02 .toggle_hdg_inner > span::before {
  width: 44px;
  height: 44px;
  background-position: -45px 0;
  background-size: 113px auto;
}

.toggle_hdg._price .toggle_hdg_inner > span {
  padding-left: 25px;
}

.toggle_hdg._price .toggle_hdg_inner > span::before {
  position: absolute;
  top: 2px;
  left: 0;
  width: 16px;
  height: 16px;
  background-position: 0 -69px;
  background-size: 113px auto;
}

.toggle_hdg_inner {
  position: relative;
  padding: 14px 32px 12px 10px;
  width: 100%;
  border: 0;
  color: #333;
  text-align: left;
  font-weight: bold;
  font-size: 1.6rem;
}

.toggle_hdg_inner::after {
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -6px;
  width: 8px;
  height: 8px;
  border: 2px solid #c00;
  border-bottom: transparent;
  border-left: transparent;
  transform: rotate(135deg);
}

.toggle_hdg_inner > span {
  position: relative;
  display: inline-block;
}

.toggle_hdg_inner[aria-expanded='true']::after {
  margin-top: -2px;
  transform: rotate(-45deg);
}

.toggle_content {
  display: none;
}

.toggle_content.is-block {
  display: block;
}

.no-js .toggle_content {
  display: block;
}

.toggle_inner {
  padding: 0 10px 10px;
}

.toggle_inner > :last-child {
  margin-bottom: 0;
}

.toggle_hdg_02 {
  margin-bottom: 7px;
  color: #565656;
  font-size: 1.4rem;
}

.toggle + .toggle {
  margin-top: -20px;
}

.toggle + .lyt-news {
  margin-top: 30px;
}

.lyt-panel_plan .toggle_btn {
  position: relative;
  margin: 0 auto;
  padding: 12px 0;
  max-width: 313px;
  width: 100%;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  text-align: center;
}

.lyt-panel_plan .toggle_btn span {
  position: relative;
  margin-left: 8px;
  color: #0f0f69;
  font-size: 1.4rem;
}

.lyt-panel_plan .toggle_btn span::before {
  display: inline-block;
  margin-top: -1px;
  margin-right: 7px;
  width: 15px;
  height: 15px;
  background-image: url(../img/icon_arrow_005.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

/* .flight-toggle-content
----------------------------------------------- */
.flight-toggle-content {
  display: none;
}

.no-js .flight-toggle-content {
  display: block;
}

.flight-toggle-content._more .lyt-panel_plan._more-btn {
  display: none;
}

/* ----------------------------------------------------------------
    Sticky Seatmap
----------------------------------------------------------------- */
.fn-sticky-seatmap-item {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  padding: 15px;
  width: 100%;
  background: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .1);
  transition: all ease .5s;
  transform: translateY(-100%);
}

.fn-sticky-seatmap-item.is-fixed {
  transform: translateY(0);
}

.fn-sticky-seatmap-item.is-none {
  display: none;
}

.fn-sticky-seatmap-item .hdg-l1_txt {
  margin-bottom: 10px;
  color: #333;
  font-size: 1.4rem;
}

.fn-sticky-seatmap-item .hdg-l2_class {
  display: flex;
  margin-bottom: 0;
}

.fn-sticky-seatmap-item .hdg-l2_class > dt {
  color: #333;
}

.fn-sticky-seatmap-item .hdg-l2_class > dd {
  font-weight: bold;
}

.fn-sticky-seatmap-item .seatmap-legend_hdg {
  position: absolute;
  right: 15px;
  bottom: 15px;
  margin-bottom: 0;
}

.fn-sticky-seatmap-item .lyt-desc-line_txt {
  margin-bottom: 10px;
  font-size: 1.4rem;
}

.fn-sticky-seatmap-item .toggle {
  margin-top: 13px;
  margin-bottom: 0;
  padding: 0;
  border: 0;
}

.fn-sticky-seatmap-item .toggle_hdg {
  display: inline-block;
  margin-bottom: 0;
}

.fn-sticky-seatmap-item .toggle_hdg_inner {
  padding: 0 0 0 20px;
  color: #0f0f69;
  font-weight: normal;
  font-size: 1.4rem;
}

.fn-sticky-seatmap-item .toggle_hdg_inner::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 14px;
  border: 1px solid #262f43;
  border-radius: 7px;
  transform: translateY(-50%);
}

.fn-sticky-seatmap-item .toggle_hdg_inner::after {
  right: auto;
  left: 5px;
  width: 4px;
  height: 4px;
  border-width: 1px;
  border-color: #262f43;
}

.fn-sticky-seatmap-item .toggle_hdg_inner[aria-expanded='false']::after {
  top: 66%;
}

.fn-sticky-seatmap-item .toggle_inner {
  position: absolute;
  left: 0;
  margin-top: 15px;
  padding: 10px 15px 15px 25px;
  width: 100%;
  border-top: 1px solid #f4f5f6;
  background: #fff;
}

/* ----------------------------------------------------------------
    Helpers
----------------------------------------------------------------- */
/* Control Align
----------------------------------------------- */
.top {
  vertical-align: top !important;
}

.middle {
  vertical-align: middle !important;
}

.bottom {
  vertical-align: bottom !important;
}

.left {
  text-align: left !important;
}

.center {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

.right {
  text-align: right !important;
}

/* Control Width
----------------------------------------------- */
.w-5 {
  width: 5% !important;
}

.w-10 {
  width: 10% !important;
}

.w-15 {
  width: 15% !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-30 {
  width: 30% !important;
}

.w-35 {
  width: 35% !important;
}

.w-40 {
  width: 40% !important;
}

.w-45 {
  width: 45% !important;
}

.w-50 {
  width: 50% !important;
}

.w-55 {
  width: 55% !important;
}

.w-60 {
  width: 60% !important;
}

.w-65 {
  width: 65% !important;
}

.w-70 {
  width: 70% !important;
}

.w-75 {
  width: 75% !important;
}

.w-80 {
  width: 80% !important;
}

.w-85 {
  width: 85% !important;
}

.w-90 {
  width: 90% !important;
}

.w-95 {
  width: 95% !important;
}

.w-100 {
  width: 100% !important;
}

/* Control Margin and Padding
----------------------------------------------- */
.pt-0 {
  padding-top: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.pt-5 {
  padding-top: 5px !important;
}

.pr-5 {
  padding-right: 5px !important;
}

.pb-5 {
  padding-bottom: 5px !important;
}

.pl-5 {
  padding-left: 5px !important;
}

.mt-5 {
  margin-top: 5px !important;
}

.mr-5 {
  margin-right: 5px !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.ml-5 {
  margin-left: 5px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pr-15 {
  padding-right: 15px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pl-15 {
  padding-left: 15px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.pt-25 {
  padding-top: 25px !important;
}

.pr-25 {
  padding-right: 25px !important;
}

.pb-25 {
  padding-bottom: 25px !important;
}

.pl-25 {
  padding-left: 25px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mr-25 {
  margin-right: 25px !important;
}

.mb-25 {
  margin-bottom: 25px !important;
}

.ml-25 {
  margin-left: 25px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.pt-35 {
  padding-top: 35px !important;
}

.pr-35 {
  padding-right: 35px !important;
}

.pb-35 {
  padding-bottom: 35px !important;
}

.pl-35 {
  padding-left: 35px !important;
}

.mt-35 {
  margin-top: 35px !important;
}

.mr-35 {
  margin-right: 35px !important;
}

.mb-35 {
  margin-bottom: 35px !important;
}

.ml-35 {
  margin-left: 35px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.pt-45 {
  padding-top: 45px !important;
}

.pr-45 {
  padding-right: 45px !important;
}

.pb-45 {
  padding-bottom: 45px !important;
}

.pl-45 {
  padding-left: 45px !important;
}

.mt-45 {
  margin-top: 45px !important;
}

.mr-45 {
  margin-right: 45px !important;
}

.mb-45 {
  margin-bottom: 45px !important;
}

.ml-45 {
  margin-left: 45px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pr-50 {
  padding-right: 50px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pl-50 {
  padding-left: 50px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

/* Other
----------------------------------------------- */
.wide-none {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .wide-none {
    display: block !important;
  }
  .narrow-none {
    display: none !important;
  }
}

.fn-row-add-item.is-none {
  display: none;
}
