@charset "UTF-8";
/*! Writen  by SCSS */
/*下層ページ最初のセクション上部余白を統一する際は使用してみて下さい*/
.inner_main .main_bg {
  background-image: url("../images/access/main.jpg"); }

.sec01 {
  padding-bottom: 40px; }
  .sec01 .item01_group {
    display: grid;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(30px, 5.385vw, 70px) 0;
    grid-template-columns: 37% 56.67%;
    margin-bottom: clamp(60px, 10.834vw, 130px); }
    @media screen and (max-width: 820px) {
      .sec01 .item01_group {
        grid-template-columns: 40% 56.67%; } }
    @media screen and (max-width: 480px) {
      .sec01 .item01_group {
        grid-template-columns: 100%;
        gap: 40px 0; } }
    .sec01 .item01_group .route_map {
      grid-column: 2/3;
      grid-row: 1/3; }
      @media screen and (max-width: 480px) {
        .sec01 .item01_group .route_map {
          grid-column: auto;
          grid-row: auto; } }
      .sec01 .item01_group .route_map .cap {
        bottom: 12%; }
    .sec01 .item01_group .text_photo .text {
      font-size: clamp(14px, 1.834vw, 22px);
      line-height: 0.7;
      letter-spacing: 0.05em;
      margin-bottom: clamp(20px, 2.5vw, 30px); }
      @media screen and (max-width: 480px) {
        .sec01 .item01_group .text_photo .text {
          font-size: 4.2vw; } }
      .sec01 .item01_group .text_photo .text span {
        display: inline-block; }
        .sec01 .item01_group .text_photo .text span.line {
          display: block; }
        .sec01 .item01_group .text_photo .text span.big {
          font-size: 160%; }
        .sec01 .item01_group .text_photo .text span.big02 {
          font-size: 140%; }
        .sec01 .item01_group .text_photo .text span.big03 {
          font-size: 300%;
          color: #983531; }
        .sec01 .item01_group .text_photo .text span.meter {
          font-size: 70%; }
    .sec01 .item01_group .text_photo .photo {
      max-width: 380px;
      box-shadow: 10px 10px 0 0 rgba(0, 0, 0, 0.05); }
  .sec01 .item02_group {
    flex-wrap: wrap;
    row-gap: clamp(30px, 4.167vw, 50px);
    margin-bottom: clamp(60px, 8.334vw, 100px); }
    .sec01 .item02_group .item02_in {
      width: 49.92%;
      display: flex;
      flex-direction: column;
      row-gap: 10px; }
      @media screen and (max-width: 480px) {
        .sec01 .item02_group .item02_in {
          width: 100%; } }
      .sec01 .item02_group .item02_in .photo {
        position: relative; }
        .sec01 .item02_group .item02_in .photo .place_name {
          position: absolute;
          inset: 0;
          margin: auto;
          display: flex;
          justify-content: center;
          align-items: center;
          height: max-content;
          background: rgba(0, 143, 179, 0.5);
          padding: clamp(25px, 3.75vw, 45px) 5px;
          text-align: center;
          font-size: 26px;
          line-height: 1;
          color: #FFF; }
          @media screen and (max-width: 480px) {
            .sec01 .item02_group .item02_in .photo .place_name {
              padding: 25px 5px; } }
      .sec01 .item02_group .item02_in .distance {
        width: fit-content;
        margin: 0 auto;
        text-align: center;
        letter-spacing: 0.1em; }
        .sec01 .item02_group .item02_in .distance .dis_txt {
          font-size: clamp(24px, 2.167vw, 26px);
          line-height: 1; }
          @media screen and (max-width: 480px) {
            .sec01 .item02_group .item02_in .distance .dis_txt {
              font-size: 6vw; } }
          .sec01 .item02_group .item02_in .distance .dis_txt span {
            display: inline-block;
            line-height: 1.2; }
            .sec01 .item02_group .item02_in .distance .dis_txt span.small {
              font-size: 80%; }
            .sec01 .item02_group .item02_in .distance .dis_txt span.small02 {
              font-size: 70%; }
        .sec01 .item02_group .item02_in .distance .dis_txt02 {
          font-size: clamp(32px, 3vw, 36px);
          line-height: 1.3;
          width: fit-content;
          margin: 0 auto; }
          @media screen and (max-width: 480px) {
            .sec01 .item02_group .item02_in .distance .dis_txt02 {
              font-size: 9vw; } }
          .sec01 .item02_group .item02_in .distance .dis_txt02 span {
            display: inline-block;
            line-height: 1.2; }
            .sec01 .item02_group .item02_in .distance .dis_txt02 span.small {
              font-size: 60%; }
            .sec01 .item02_group .item02_in .distance .dis_txt02 span.small02 {
              font-size: 70%; }
            .sec01 .item02_group .item02_in .distance .dis_txt02 span.small03 {
              font-size: 41%; }
            .sec01 .item02_group .item02_in .distance .dis_txt02 span.small04 {
              font-size: 72%; }
            .sec01 .item02_group .item02_in .distance .dis_txt02 span.red {
              color: #983531; }
            .sec01 .item02_group .item02_in .distance .dis_txt02 span.transfer {
              display: block;
              font-size: clamp(11px, 1vw, 12px);
              letter-spacing: normal;
              margin-top: 5px; }
  .sec01 .item03_group {
    padding: clamp(40px, 5vw, 60px) 30px;
    background: #FFF;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
    position: relative; }
    @media screen and (max-width: 480px) {
      .sec01 .item03_group {
        padding: 40px 30px 30px; } }
    .sec01 .item03_group:after {
      content: "";
      position: absolute;
      inset: 10px;
      border: 1px solid #0098bb;
      pointer-events: none; }
      @media screen and (max-width: 480px) {
        .sec01 .item03_group:after {
          inset: 5px; } }
    .sec01 .item03_group .airport_in {
      flex-direction: column;
      row-gap: clamp(25px, 3.334vw, 40px); }
      .sec01 .item03_group .airport_in .airport_ttl {
        text-align: center;
        font-size: clamp(22px, 2.167vw, 26px);
        color: #0098bb;
        line-height: 1; }
        @media screen and (max-width: 480px) {
          .sec01 .item03_group .airport_in .airport_ttl {
            font-size: 6vw; } }
      .sec01 .item03_group .airport_in .read {
        text-align: center; }
        @media screen and (max-width: 480px) {
          .sec01 .item03_group .airport_in .read {
            text-align: left; } }
      .sec01 .item03_group .airport_in .photo_group {
        max-width: 990px;
        margin: 0 auto;
        width: 100%;
        align-items: flex-end; }
        @media screen and (max-width: 480px) {
          .sec01 .item03_group .airport_in .photo_group {
            flex-direction: column;
            row-gap: 20px; } }
        .sec01 .item03_group .airport_in .photo_group .photo_left {
          width: 44.45%; }
          @media screen and (max-width: 480px) {
            .sec01 .item03_group .airport_in .photo_group .photo_left {
              width: 100%; } }
        .sec01 .item03_group .airport_in .photo_group .photo_right {
          width: 50.51%; }
          @media screen and (max-width: 480px) {
            .sec01 .item03_group .airport_in .photo_group .photo_right {
              width: 100%; } }
          .sec01 .item03_group .airport_in .photo_group .photo_right .airport_text {
            font-size: clamp(17px, 2.167vw, 26px);
            line-height: 1.3;
            letter-spacing: 0.03em;
            margin-bottom: clamp(25px, 3.334vw, 40px); }
            @media screen and (max-width: 480px) {
              .sec01 .item03_group .airport_in .photo_group .photo_right .airport_text {
                font-size: 6vw;
                text-align: center; } }
            .sec01 .item03_group .airport_in .photo_group .photo_right .airport_text span {
              display: inline-block;
              line-height: 1.2; }
              .sec01 .item03_group .airport_in .photo_group .photo_right .airport_text span.small {
                font-size: 80%; }
              .sec01 .item03_group .airport_in .photo_group .photo_right .airport_text span.big {
                font-size: 138%; }
              .sec01 .item03_group .airport_in .photo_group .photo_right .airport_text span.small02 {
                font-size: 96%; }
              .sec01 .item03_group .airport_in .photo_group .photo_right .airport_text span.small03 {
                font-size: 57%; }
              .sec01 .item03_group .airport_in .photo_group .photo_right .airport_text span.red {
                color: #983531; }
              .sec01 .item03_group .airport_in .photo_group .photo_right .airport_text span.transfer {
                display: block;
                font-size: clamp(10px, 1vw, 12px);
                letter-spacing: normal;
                margin-top: 5px; }
          .sec01 .item03_group .airport_in .photo_group .photo_right .photo02 .photo {
            width: 48%; }
