@charset "UTF-8";
#container,
#container *,
#container *::before,
#container *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  word-break: normal;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%; }

img {
  max-width: 100%; }

@media screen and (max-width: 750px) {
  .br--pc {
    display: none; } }

.br--sp {
  display: none; }
  @media screen and (max-width: 750px) {
    .br--sp {
      display: block; } }

.show--pc {
  display: block; }
  @media screen and (max-width: 750px) {
    .show--pc {
      display: none; } }

.show--sp {
  display: none; }
  @media screen and (max-width: 750px) {
    .show--sp {
      display: block; } }

.main {
  overflow: hidden; }

#wrapper {
  min-width: initial;
  min-width: 100%;
  overflow: hidden; }

.wrap {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .wrap {
      padding: 5vw; } }

/*パンくず*/
.breadcrumb {
  width: 100%;
  margin: 5px auto 1em;
  position: relative;
  max-width: 1024px;
  font-size: 12px;
  color: #b7b7b7; }
  .breadcrumb a {
    color: #000; }
  @media (max-width: 1240px) {
    .breadcrumb {
      margin: 5px 0 1em;
      padding-left: 15px; } }

.mv {
  position: relative;
  width: 100%;
  padding-top: calc(100% * 9 / 17);
  max-height: 768px;
  background-image: url("../img/direct3/mv__bg--pc.jpg");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat; }
  @media screen and (max-width: 1024px) {
    .mv {
      padding: calc(100% * 9 / 17) 0 0; } }
  @media screen and (max-width: 750px) {
    .mv {
      padding: calc(100% * 1.25) 5% 5% 0;
      background-image: url("../img/direct3/mv__bg.jpg"); } }
  .mv__wrap {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 1024px;
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (max-width: 1024px) {
      .mv__wrap {
        width: 100%;
        padding: 0 5%; } }
    @media screen and (max-width: 750px) {
      .mv__wrap {
        height: calc(100% * 1.25); } }
  .mv__ttl {
    position: absolute;
    top: 0;
    right: 0;
    padding-top: 5%;
    width: 20%;
    height: calc(20% * 2 / 1);
    max-width: 210px; }
    @media screen and (max-width: 1060px) {
      .mv__ttl {
        margin-right: 5%;
        width: 15%; } }
    @media screen and (max-width: 750px) {
      .mv__ttl {
        top: 0;
        left: 5%;
        width: 45%;
        max-width: 345px;
        margin-right: 0; } }
  .mv__read {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 10%;
    width: 57%;
    max-width: 590px; }
    @media screen and (max-width: 1060px) {
      .mv__read {
        margin-left: 5%;
        padding-top: 7%; } }
    @media screen and (max-width: 750px) {
      .mv__read {
        bottom: 25%;
        top: initial;
        padding-top: 0;
        left: 0;
        width: 90%;
        max-width: 670px; } }

.merit {
  background-color: #955877;
  padding: 48px; }
  @media screen and (max-width: 1024px) {
    .merit {
      padding-left: 5%;
      padding-right: 5%;
      margin: 0 auto; } }
  @media screen and (max-width: 750px) {
    .merit {
      padding: 10vw 5vw; } }
  .merit__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-width: 1024px;
    margin: 0 auto 40px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .merit__wrap:last-child {
      margin-bottom: 0; }
    @media screen and (max-width: 750px) {
      .merit__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column wrap;
        flex-flow: column wrap;
        margin-bottom: 10vw; } }
  .merit .merit__img--01 {
    width: 45%;
    max-width: 450px;
    position: relative; }
    .merit .merit__img--01:after {
      content: "";
      background-image: url(../img/direct3/merit__ttl--01.svg);
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      width: 85px;
      height: 75px;
      top: 0;
      right: -15%; }
    @media screen and (max-width: 750px) {
      .merit .merit__img--01 {
        width: 100%;
        margin: 0 auto 5vw; }
        .merit .merit__img--01:after {
          content: none; } }
  .merit .merit__img--02 {
    width: 45%;
    max-width: 450px;
    position: relative; }
    .merit .merit__img--02:after {
      content: "";
      background-image: url(../img/direct3/merit__ttl--02.svg);
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      width: 85px;
      height: 75px;
      top: 0;
      right: -15%; }
    @media screen and (max-width: 750px) {
      .merit .merit__img--02 {
        width: 100%;
        margin: 0 auto 5vw; }
        .merit .merit__img--02:after {
          content: none; } }
  .merit .merit__img--03 {
    width: 45%;
    max-width: 450px;
    position: relative; }
    .merit .merit__img--03:after {
      content: "";
      background-image: url(../img/direct3/merit__ttl--03.svg);
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      width: 85px;
      height: 75px;
      top: 0;
      right: -15%; }
    @media screen and (max-width: 750px) {
      .merit .merit__img--03 {
        width: 100%;
        margin: 0 auto 5vw; }
        .merit .merit__img--03:after {
          content: none; } }
  .merit__txt {
    color: #fff;
    text-align: left;
    width: 45%; }
    @media screen and (max-width: 750px) {
      .merit__txt {
        width: 100%; } }
  .merit .merit__ttl {
    font-family: "ten-mincho", "serif";
    line-height: 1.4;
    letter-spacing: 1.2;
    font-size: 30px;
    margin-bottom: 32px; }
    @media screen and (max-width: 750px) {
      .merit .merit__ttl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        margin: 0 auto 5vw;
        position: relative; }
        .merit .merit__ttl img {
          width: 15%;
          margin-right: 5%; } }
  .merit__txtArea {
    font-family: "ten-mincho-text", "serif";
    font-size: 18px;
    line-height: 1.4; }
    @media screen and (max-width: 750px) {
      .merit__txtArea {
        text-align: center;
        line-height: 1.8; } }

.direct-flights {
  margin: 96px auto; }
  @media screen and (max-width: 1024px) {
    .direct-flights {
      margin-top: 5vw; } }
  @media screen and (max-width: 750px) {
    .direct-flights {
      padding: 5vw;
      margin-top: 10vw; } }
  .direct-flights__ttl {
    text-align: left;
    margin-bottom: 44px; }
  .direct-flights__wrap {
    width: 100%;
    max-width: 1024px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap; }
    .direct-flights__wrap li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      width: 48%;
      margin-bottom: 0;
      margin-right: 4%; }
      .direct-flights__wrap li:nth-child(-n+2) {
        margin-bottom: 70px; }
      .direct-flights__wrap li:nth-child(2n) {
        margin-right: 0; }
      @media screen and (max-width: 750px) {
        .direct-flights__wrap li {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-flow: column wrap;
          flex-flow: column wrap; } }
    .direct-flights__wrap .thumbnail {
      width: 45%;
      padding-top: calc(40% * 3 / 4);
      -ms-flex-negative: 0;
      flex-shrink: 0;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      @media screen and (max-width: 750px) {
        .direct-flights__wrap .thumbnail {
          width: 100%;
          padding-top: calc(100% * 3 / 4);
          margin-bottom: 2vw; } }
    .direct-flights__wrap .new {
      position: relative; }
      .direct-flights__wrap .new:before {
        content: "";
        top: 0;
        left: 0;
        border-bottom: 4em solid transparent;
        border-left: 4em solid #00a195;
        /* ラベルの色はここで変更 */
        position: absolute;
        z-index: 2; }
      .direct-flights__wrap .new:after {
        content: "NEW";
        display: block;
        top: 10px;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        color: #fff;
        left: 3px;
        position: absolute;
        z-index: 2;
        font-family: "a-otf-futo-go-b101-pr6n", "sans-serif"; }
    .direct-flights__wrap .content {
      width: 50%;
      text-align: left;
      margin-left: 5%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-flow: column wrap;
      flex-flow: column wrap; }
      @media screen and (max-width: 750px) {
        .direct-flights__wrap .content {
          width: 100%;
          margin-left: 0; } }
      .direct-flights__wrap .content p {
        margin-bottom: auto;
        font-size: 15px;
        color: #955877;
        font-family: "a-otf-futo-go-b101-pr6n", "sans-serif";
        margin-bottom: 16px; }
        .direct-flights__wrap .content p time {
          background-color: #955877;
          color: #fff;
          padding: 0 6px 3px 6px; }
        @media screen and (max-width: 1024px) {
          .direct-flights__wrap .content p {
            font-size: .8rem; } }
      .direct-flights__wrap .content h3 a {
        font-family: "ten-mincho", "serif";
        color: #955877;
        line-height: 1.2;
        font-size: 18px;
        letter-spacing: .2rem; }
        @media screen and (max-width: 1024px) {
          .direct-flights__wrap .content h3 a {
            font-size: 1rem; } }
        @media screen and (max-width: 750px) {
          .direct-flights__wrap .content h3 a {
            letter-spacing: 0; } }
      .direct-flights__wrap .content .detail {
        background-color: #666666;
        border-radius: 5px;
        padding: 6px 0;
        color: #fff;
        margin-top: auto;
        width: 45%;
        text-align: center;
        font-family: "a-otf-futo-go-b101-pr6n", "sans-serif"; }
        @media screen and (max-width: 1024px) {
          .direct-flights__wrap .content .detail {
            width: 60%;
            font-size: .8rem;
            margin-top: 20px; } }

.flights-map {
  margin-bottom: 104px; }
  @media screen and (max-width: 750px) {
    .flights-map {
      margin-bottom: 64px; } }
  .flights-map__ttl {
    text-align: left; }
  .flights-map__img {
    position: relative;
    width: 100%;
    max-width: 780px;
    margin: 0 auto 50px;
    padding-top: 42%;
    background: url("../img/direct3/map__bg.png") no-repeat center right/95% auto; }
    @media screen and (max-width: 1024px) {
      .flights-map__img {
        padding-top: 52%; } }
    @media screen and (max-width: 750px) {
      .flights-map__img {
        background: url("../img/direct3/map__bg--sp.png") no-repeat center right/95% auto;
        padding-top: 52%; } }

#map_from {
  position: absolute;
  width: 95%;
  height: 100%;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat; }
  #map_from.tokyo {
    background-image: url("../img/direct3/map__route--tokyo.png"); }
    @media screen and (max-width: 750px) {
      #map_from.tokyo {
        background-image: url("../img/direct3/map__route--tokyo--sp.png"); } }
  #map_from.kansai {
    background-image: url("../img/direct3/map__route--kansai.png"); }
    @media screen and (max-width: 750px) {
      #map_from.kansai {
        background-image: url("../img/direct3/map__route--kansai--sp.png"); } }
  #map_from.chubu {
    background-image: url("../img/direct3/map__route--nagoya.png"); }
    @media screen and (max-width: 750px) {
      #map_from.chubu {
        background-image: url("../img/direct3/map__route--nagoya--sp.png"); } }
  #map_from.fukuoka {
    background-image: url("../img/direct3/map__route--fukuoka.png"); }
    @media screen and (max-width: 750px) {
      #map_from.fukuoka {
        background-image: url("../img/direct3/map__route--fukuoka--sp.png"); } }

#map i {
  width: 5%;
  height: 7%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 8%;
  z-index: 4;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  cursor: pointer; }
  #map i:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
  #map i#airport_tokyo {
    left: 67%;
    top: 68%; }
  #map i#airport_chubu {
    left: 58%;
    top: 69%; }
  #map i#airport_kansai {
    left: 52%;
    top: 70%; }
  #map i#airport_fukuoka {
    left: 39%;
    top: 72%; }

#table_button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  #table_button li {
    width: calc(25% - 20px);
    background-color: #955877;
    color: #FFF;
    padding: 10px 0;
    text-align: center;
    font-weight: bold;
    cursor: pointer; }
    #table_button li.current, #table_button li:hover {
      background-color: #cfcbe4;
      color: #955877; }
    @media screen and (max-width: 750px) {
      #table_button li {
        width: calc(25% - 2px);
        font-size: 11px; } }

#table .table_content {
  background-color: #cfcbe4;
  padding: 40px 40px 0; }
  @media screen and (max-width: 750px) {
    #table .table_content {
      padding: 5% 5% 0; } }

#table .airline_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  background: #FFF;
  padding: 25px 15px; }
  @media screen and (max-width: 750px) {
    #table .airline_wrapper {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-flow: column wrap;
      flex-flow: column wrap;
      padding: 5% 3%; } }
  #table .airline_wrapper ul {
    width: 50%;
    padding: 0 10px; }
    @media screen and (max-width: 750px) {
      #table .airline_wrapper ul {
        width: 100%;
        padding: 0; } }
    #table .airline_wrapper ul.right {
      border-left: 1px solid #00a195; }
      @media screen and (max-width: 750px) {
        #table .airline_wrapper ul.right {
          border-left: initial;
          border-top: 1px solid #00a195;
          padding-top: 20px; } }
    #table .airline_wrapper ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100%; }
      #table .airline_wrapper ul li div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
      #table .airline_wrapper ul li .places {
        color: #00a195;
        border: 1px solid currentColor;
        width: 100%;
        max-width: 195px;
        height: 35px;
        border-radius: 10px;
        padding: 5px;
        background: #FFF;
        margin-right: 15px;
        font-size: 15px;
        font-weight: bold; }
        #table .airline_wrapper ul li .places .arrow {
          margin: 0 0.5em; }
        #table .airline_wrapper ul li .places .to_sub {
          margin-left: 0.5em;
          font-size: 11px; }
          @media screen and (max-width: 750px) {
            #table .airline_wrapper ul li .places .to_sub {
              font-size: 9px; } }
        @media screen and (max-width: 1024px) {
          #table .airline_wrapper ul li .places {
            font-size: .9em; } }
        @media screen and (max-width: 750px) {
          #table .airline_wrapper ul li .places {
            height: 35px;
            width: 135px;
            -ms-flex-negative: 0;
            flex-shrink: 0;
            font-size: 11px;
            padding: 5px 0; } }
      #table .airline_wrapper ul li .companies {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        width: 90%; }
        #table .airline_wrapper ul li .companies div {
          margin-right: 5%;
          -ms-flex-negative: 0;
          flex-shrink: 0;
          margin-bottom: 10px;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-flow: column wrap;
          flex-flow: column wrap;
          -webkit-box-align: baseline;
          -ms-flex-align: baseline;
          align-items: baseline; }
          @media screen and (max-width: 750px) {
            #table .airline_wrapper ul li .companies div:last-child {
              -ms-flex-negative: 1;
              flex-shrink: 1;
              margin-right: 0; } }
        #table .airline_wrapper ul li .companies div a {
          max-width: 82px;
          width: 100%;
          background: #E6E6E6;
          height: 35px;
          padding: 8px 16px;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; }
          @media screen and (max-width: 1024px) {
            #table .airline_wrapper ul li .companies div a {
              width: 58px;
              padding: 5px 8px;
              max-width: calc((100vw - 60px - 155px - 10px) / 2); } }
        #table .airline_wrapper ul li .companies span {
          color: #00a195;
          font-size: 11px;
          display: block;
          text-align: left;
          margin-top: 5px;
          width: 100%; }

#table .table_ttl {
  font-size: 14px;
  font-family: "a-otf-futo-go-b101-pr6n", "sans-serif";
  padding: 10px 0;
  color: #000; }

.recommend {
  margin-bottom: 96px; }
  .recommend__ttl {
    margin-bottom: 44px; }
  .recommend__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap; }
    .recommend__wrap li {
      margin-top: 0;
      padding: 0 5px;
      max-width: 305px;
      width: 25%;
      text-align: left;
      color: #000;
      font-weight: bold; }
      .recommend__wrap li a {
        color: #000; }
      @media screen and (max-width: 750px) {
        .recommend__wrap li {
          width: 50%; }
          .recommend__wrap li:nth-child(-n+2) {
            margin-bottom: 40px; } }
  .recommend .img-background {
    position: relative;
    width: 100%; }
  .recommend .category {
    margin-bottom: 5px;
    font-size: 16px;
    letter-spacing: initial; }
    .recommend .category-yaeyama {
      color: #ff77a5; }
    .recommend .category-miyako {
      color: #61a3e3; }
  .recommend .topicDate {
    font-size: 10px; }

#top_link {
  margin-bottom: 44px; }
  #top_link a {
    color: #000; }
