@font-face {
    font-family: 'iconset';
    src: url("/_shared-wws/css/fonts/iconset.eot?tveyq0");
    src: url("/_shared-wws/css/fonts/iconset.eot?tveyq0#iefix") format("embedded-opentype"),
         url("/_shared-wws/css/fonts/iconset.ttf?tveyq0") format("truetype"),
         url("/_shared-wws/css/fonts/iconset.woff?tveyq0") format("woff"),
         url("/_shared-wws/css/fonts/iconset.svg?tveyq0#iconset") format("svg");
    font-weight: normal;
    font-style: normal
}

/* PC限定のcssは　body#mx>div[id*=Container]　*/
/* SP限定のcssは　body:not([id=mx])>div[id=content]　*/

html.is-moduleModal body {
    overflow: hidden
}

html.is-moduleModal-fixed .js-modalContent {
    position: fixed
}

html.is-moduleModal-sp{
  width: 100%;
  overflow-x: hidden;
}

html.is-moduleModal-sp body {
    overflow: hidden;
}

.moduleModal,
.js-modal {
    position: absolute;
    z-index: 9999;
    background: #FFF;
    display: none;
    top: 0px;
    left: 0px;
    width: 100%
}

.moduleModalContent,
.js-modalContent {
    z-index: 100000;
    position: relative;
    top: 0px;
    left: 0px;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    z-index: 1
}

.js-modalContent iframe {
    width: 100%;
    height: 100%
}

.modal {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1010;
    display: none;
    width: 100%;
    z-index: 99999
}

.moduleModalOverlay,
.js-modalOverlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #fff;
    cursor: pointer;
    display: none
}

.sr-only {
    position: absolute;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    z-index: -10;
    width: 0;
    height: 0;
}

.ico-close {
    padding: 0;
    border: none;
    background: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    position: absolute;
    text-align: center;
    z-index: 2;
}
.ico-close span {
    display: block;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    text-indent: -9999px;
    overflow: hidden;
}

.ico-close:before {
    content: "\e909";
    font-family: iconset;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: normal;
}

.moduleModalCloseBtn {
    width: 50px;
    height: 50px;
    text-align: center;
    top: 0;
    right: 0;
    z-index: 3
}

.moduleModalCloseBtn:before {
    color: #13448f;
    font-size: 16px;
}

.modal-title {
    background: #fff;
    border-bottom: #13448f 1px solid;
    color: #13448f;
    padding: 15px 10px;
    position: relative;
    font-size: 20px;
    text-align: center
}

.modal-sub-text {
    background: #13448f;
    color: #fff;
    padding: 15px 10px;
    margin: 0;
    font-size: 14px;
}

.set-calendar {
    width: 103%;
    margin-left: -3%
}

.set-calendar .calbox {
    float: left;
    margin-left: 3%;
    width: 47%;
    background: #FFF;
    color: #333
}

.set-calendar .ico-calendar {
    background: #fff url(/_shared-wws/images/ico_calendar.png) no-repeat right -1px center
}

.set-calendar .mod-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.mod-toggleContents {
    display: none
}

.calendar-module .moduleModalContent {
    min-height: 485px
}

.calendar-module.moduleModal-narrow #module-calendar {
    background: #fff;
    width: 100%;
    line-height: 1.3;
    position: relative;
    height: auto;
    border: none;
}

.calendar-module.moduleModal-narrow #module-calendar #calendar-wrap {
    padding: 1px 2.5% 30px
}

.calendar-module.moduleModal-narrow #module-calendar .calendar-box {
    max-width: 320px;
    margin: 30px auto 0
}

.calendar-module.moduleModal-narrow #module-calendar .monthly {
    position: relative;
    height: 26px;
    line-height: 1.3
}

.calendar-module.moduleModal-narrow #module-calendar .monthly .month {
    font-weight: bold;
    vertical-align: baseline;
    text-align: center;
    font-size: 18px;
    background: #e9eef4;
    padding: 5px 0;
    color: #333;
    border-bottom: none;
}

.calendar-module.moduleModal-narrow #module-calendar .monthly .month span {
    font-size: 20px
}

.calendar-module.moduleModal-narrow #module-calendar .monthly .this-month {
    display: none
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar {
    width: 100%;
    margin-top: 15px;
    table-layout: fixed;
    border-collapse: separate
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar th {
    padding: 0 0 2px;
    border-bottom: 1px solid #ddd;
    text-align: center;
    font-size: 14px;
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td {
    border: 2px solid #fff;
    border-top: none;
    color: #bdbdbd;
    height: 34px;
    line-height: 34px;
    text-align: center;
    vertical-align: middle;
    font-size: 14px;
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td a {
    display: block;
    color: #333;
    height: 34px;
    line-height: 34px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 14px;
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td a span {
    position: relative;
    z-index: 3
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.sat {
    border-right: none
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.today a {
    border: 2px solid #ddd;
    margin-right: 0 !important
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.today a:before,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.today a:after {
    display: none
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.select a {
    background: #ffc600 !important;
    font-weight: bold
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.select a span {
    font-weight: bold
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.first_select a {
    background: #ffc600 !important
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.duration a {
    background-color: #ffdd66 !important;
    font-weight: bold
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.duration a span {
    font-weight: bold
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.last_select a {
    background: #ffc600 !important
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end a {
    border: 1px solid #13448f;
    position: relative
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start.today a:before,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start.today a:after,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end.today a:before,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end.today a:after {
    display: block
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a:before,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a:after,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end a:before,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end a:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    position: absolute;
    top: 50%
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a:before,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end a:before {
    margin-top: -16px;
    z-index: 2
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a:after,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end a:after {
    margin-top: -17px;
    z-index: 1
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a {
    -webkit-border-radius: 4px 0 0 4px;
    border-radius: 4px 0 0 4px;
    border-right: none;
    margin-right: 8px;
    text-indent: .3em
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a:before {
    border-width: 16px 0 16px 10px;
    border-left-color: #ffc600;
    right: -10px
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a:after {
    border-width: 17px 0 17px 11px;
    border-left-color: #13448f;
    right: -11px
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end a {
    -webkit-border-radius: 0 4px 4px 0;
    border-radius: 0 4px 4px 0;
    border-left: none;
    margin-left: 8px;
    text-indent: -.25em
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end a:before {
    border-width: 16px 10px 16px 0;
    margin-top: -16px;
    border-right-color: #ffc600;
    left: -10px
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end a:after {
    border-width: 17px 11px 17px;
    border-right-color: #13448f;
    left: -22px
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.end.today a {
    margin-left: 8px !important
}

.calendar-module.moduleModal-narrow #module-calendar .calendar-nav {
    display: none
}

.calendar-module.moduleModal-narrow #module-calendar .calendar-box {
    max-width: 100%;
}

.calbox.departureDate_ticket{
    width:100%;
    position: relative;
}

.calbox.departureDate_ticket .no-bgimg-calendar-inner img{
    position: absolute;
    top: 50%;
    width: 26px;
    height: 16px;
    margin-top: -8px;
    right: 0;
}

.calbox.departureDate_ticket .ico-calendar{
    text-align:unset;
    width: 100%;
    padding: 6px 30px 6px 7px !important;
    font-size: 14px;
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a {
    border-radius: 4px;
    border: 1px solid #13448f;
    margin-right: 0px !important;
    text-indent: 0em;
}

.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a:before,
.calendar-module.moduleModal-narrow #module-calendar .tbl-calendar td.start a:after {
    display:none !important
}

[id^="depApoDate_ticket_FlightSts"].mod-txt.ico-calendar{
  cursor: pointer;
}

input[id*="depApoDate_ticket_FlightSts"]:focus{
  outline: solid 2px #B2B2B2;
}

.calbox.no-bgimg-calendar .no-bgimg-calendar-inner{
  cursor: pointer;
}

/* PC限定CSS */
body#mx .moduleModal,
body#mx .js-modal {
    background:transparent
}

body#mx .moduleModalContent,
body#mx .js-modalContent {
    width: 80%;
    background: #FFF;
    overflow: auto;
    overflow: hidden;
    left: 10%;
    min-width: 970px;
}

body#mx .moduleModalOverlay,
body#mx .js-modalOverlay {
    background: rgba(0,0,0,0.6);
    cursor: pointer;
    display: block
}

body#mx .is-moduleModal-sp .moduleModal {
    display: none !important
}

body#mx .moduleModal .moduleModalContent {
    border: #fff 1px solid;
    -webkit-border-radius: 10px;
    border-radius: 10px
}

body#mx .moduleModalCloseBtn {
    width: 50px;
    height: 50px;
    top: 15px;
    right: 8px
}

body#mx .moduleModalCloseBtn:before {
    color: #fff;
    font-size: 22px;
}

body#mx .modal-title {
    background: #13448f;
    color: #fff;
    padding: 25px 30px;
    -webkit-border-radius: 10px 10px 0 0;
    border-radius: 10px 10px 0 0;
    font-size: 28px;
    text-align: left;
    line-height: 28px;
    width: auto;
}

body#mx .modal-sub-text {
    display: none
}

body#mx .calendar-module.moduleModal-narrow #module-calendar #calendar-wrap {
    width: 100%;
    max-width: 1010px;
    padding: 20px 30px 20px 39px;
    min-height: 325px;
    margin: 0 auto;
    zoom:1
}

body#mx .calendar-module.moduleModal-narrow #module-calendar #calendar-wrap:after {
    content: "";
    display: block;
    clear: both
}

body#mx .calendar-module.moduleModal-narrow #module-calendar #calendar-wrap .tbl-calendar a:hover {
    text-decoration: underline
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-box {
    width: 100%;
    max-width: 32.33333%;
    margin: 0;
    float: left;
    margin-left: 1%
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-box:first-child {
    margin-left: 0
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .monthly .month {
    background: transparent;
    padding: 0
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav {
    display: block;
    width: 100%;
    max-width: 1010px;
    padding: 20px 80px 15px;
    margin: 0 auto;
    position: relative
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li {
    border: 1px solid #ddd;
    width: 30px;
    line-height: 1.2;
    text-align: center;
    overflow: hidden;
    -webkit-border-radius: 4px;
    border-radius: 4px
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li a {
    display: block;
    padding: 12px 12px;
    color: 333;
    text-decoration: none
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.current {
    width: auto;
    display: inline-block;
    margin: 0
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.current a {
    padding: 10px 20px;
    position: relative;
    cursor: pointer !important
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev,
body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next {
    position: absolute
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev a,
body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next a {
    height: 40px;
    cursor: pointer !important
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev a:before,
body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next a:before {
    display: inline-block;
    position: absolute;
    content: "";
    font-family: iconset;
    color: #13448f;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    top: 50%;
    left: 50%;
    margin-top: -6px;
    margin-left: -6px
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev {
    left: -1px;
    top: 180px
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev a:before {
    content: "\e901"
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next {
    right: 0;
    top: -180px
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next a:before {
    content: "\e902"
}

@media screen and (max-width: 1024px) {
    body#mx .moduleModalContent,
    body#mx .js-modalContent {
        width:96%;
        height: auto;
        left: 2%
    }
}

@media screen and (max-width: 1320px) {
    body#mx .moduleModalContent,
    body#mx .js-modalContent {
        width:96%;
        left: 2%
    }
}

@media screen and (max-width: 1100px) {
    body#mx .calendar-module.moduleModal-narrow #module-calendar #calendar-wrap {
        padding-left:15px;
        padding-right: 15px
    }

    body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav {
        max-width: none;
        padding: 0 1% 15px;
        text-align: center;
        height: 0;
        position: static
    }

    body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li {
        width: 60px
    }

    body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.current {
        width: auto;
        display: inline-block;
        margin: 0
    }

    body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.current a {
        padding: 10px 20px
    }

    body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev,
    body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next {
        top: auto;
        bottom: -23px
    }

    body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev a,
    body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next a {
        height: 36px
    }

    body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev {
        left: 15px
    }

    body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next {
        right: 15px
    }

    body#mx #module-cont {
        left: 10px
    }
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .tbl-calendar {
    width: 305px;
    margin-left: auto;
    margin-right: auto;
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev,
body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next {
    top: 180px;
    bottom: auto;
    width: 30px;
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev {
    left: 15px;
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next {
    right: 15px;
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav {
    max-width: none;
    padding: 0 1% 15px;
    text-align: center;
    height: 0;
    position: static;
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.current a {
    padding: 10px 20px;
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev a:before,
body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next a:before{
    font-size: 12px;
}

body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.prev a,
body#mx .calendar-module.moduleModal-narrow #module-calendar .calendar-nav li.next a{
    box-sizing: border-box;
}

body#mx .calendar-module.moduleModal-narrow #module-calendar #calendar-wrap{
    box-sizing: border-box;
}

body#mx .flightNameSrcInt .calbox.departureDate_ticket{
    width: 162px;
}

body#mx .routeSrcInt .calbox.departureDate_ticket{
    width: 203px;
}

/* SP限定CSS */
body#wrapper .calendar-module.moduleModal-narrow .modal-title{
    font-weight: normal;
}

body#wrapper .calbox.departureDate_ticket .ico-calendar{
    width: calc( 100% - 10px );
    padding-right: 0 !important;
    padding-left: 0 !important;
    font-size: 18px;
}

/* 20200220追加 ASWTOPの時だけ休日に色を付ける */
body > #Wrap ~ .calendar-module #module-calendar .tbl-calendar td.sun a{
    color: #da0303;
}
body > #Wrap ~ .calendar-module #module-calendar .tbl-calendar td.sat a{
    color: #134490;
}
