/*! Writen  by SCSS */
.boxSearch {
  border: 1px solid #2bb7b3;
  text-align: center;
  padding: 0 0 4.88%; }

.boxSearch .tit {
  font-weight: bold;
  color: #fff;
  line-height: 50px;
  background: #2bb7b3;
  font-size: 21px; }

.boxSearch .txt {
  padding: 30px 30px;
  font-size: 17px; }

.boxSearch #route {
  width: 87%;
  margin: 0 auto; }

.boxSearch #route ul {
  position: relative;
  display: flex;
  justify-content: space-between; }

.boxSearch #route ul:before {
  content: '';
  display: block;
  width: 23px;
  height: 18px;
  background: url("../img/access/ic_arr.png") no-repeat;
  position: absolute;
  top: 50%;
  left: 48%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }

.boxSearch #route li {
  width: 45%;
  margin: 0 7.7% 0 0;
  line-height: 50px;
  border: 1px solid #000;
  display: flex; }

.boxSearch #route li:last-of-type {
  margin: 0; }

.boxSearch #route li span {
  flex-basis: 108px;
  background: #2bb7b3;
  border-right: 1px solid #000;
  color: #fff;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center; }

.boxSearch #route li input {
  flex-basis: calc(100% - 108px);
  line-height: 56px;
  padding: 0 0 0 20px;
  display: block;
  border: none; }

.boxSearch #route label {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  position: relative;
  display: block;
  line-height: 1;
  margin: 40px auto 0; }

.boxSearch #route label i {
  font-size: 11px;
  font-weight: normal;
  display: block;
  font-style: normal; }

.boxSearch #route label span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  display: block;
  line-height: 1.5;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer; }

.boxSearch #route .btn-search {
  line-height: 78px;
  background: #2bb7b3 url("../img/access/ic_search.png");
  width: 100%;
  background-repeat: no-repeat;
  background-position: 38% center;
  cursor: pointer; }

@media screen and (max-width: 767px) {
  .boxSearch .tit {
    font-weight: 300;
    font-size: 17px;
    line-height: 30px; }

  .boxSearch .txt {
    font-size: 13px;
    font-weight: 300; }

  .boxSearch .txt {
    padding: 5vw 0 4vw;
    text-align: center; }

  .boxSearch #route {
    width: 91%; }

  .boxSearch #route ul {
    display: block; }

  .boxSearch #route ul:before {
    content: '';
    display: block;
    width: 3.52vw;
    height: 4.56vw;
    background: url("../img/access/ic_arr_sp.png") no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-background-size: 100% auto;
    background-size: 100% auto; }

  .boxSearch #route li {
    width: 100% !important;
    margin: 0 0 9.7vw;
    line-height: 1;
    font-size: 16px; }

  .boxSearch #route li span {
    flex-basis: 26%;
    padding: 3vw 0;
    width: 26%; }

  .boxSearch #route li input {
    flex-basis: 74%;
    line-height: 1;
    padding: 3vw 0 3vw 4vw;
    font-size: 3.2vw;
    width: 74%; }

  .boxSearch #route label {
    font-size: 3.8vw;
    margin: 6.5vw auto 0; }

  .boxSearch #route label i {
    font-size: 2.4vw; }

  .boxSearch #route .btn-search {
    line-height: 13vw;
    background: #2bb7b3 url("../img/access/ic_search@2x.png");
    background-repeat: no-repeat;
    background-position: 22% center;
    -webkit-background-size: 4vw;
    background-size: 4vw;
    border-radius: 0; } }
.main .inn .img {
  background: url("../img/access/main.jpg") center center/cover; }
  @media screen and (max-width: 767px) {
    .main .inn .img {
      background: url("../img/access/main_sp.jpg") center center/cover; }
      .main .inn .img .cap {
        top: 0;
        left: 0;
        right: auto;
        bottom: auto;
        text-align: left;
        color: #333;
        text-shadow: none; } }

.container_bg {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }

.container_bg .bg {
  background: url("../img/access/bg.jpg") top center; }
  @media screen and (max-width: 767px) {
    .container_bg .bg {
      background: url("../img/access/bg_sp.jpg") top center;
      background-size: cover; } }

.item_ttl {
  text-align: center;
  display: flex;
  flex-direction: column;
  row-gap: clamp(20px, 2.344vw, 30px); }
  .item_ttl .txt_in {
    line-height: 1;
    font-size: clamp(20px, 2.5vw, 32px);
    font-size: clamp(24px, 2.813vw, 36px);
    font-weight: 600; }
    .item_ttl .txt_in .txt01 {
      margin-bottom: 0.5em; }
    .item_ttl .txt_in .txt02 {
      color: #2bb7b3;
      font-size: 60%; }

.sec_ttl {
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-size: clamp(12px, calc(18vw / 9.6), 18px);
  margin-bottom: 0.3em;
  margin-bottom: 0.8em; }
  @media screen and (max-width: 480px) {
    .sec_ttl {
      font-size: calc(17vw / 3.9);
      letter-spacing: 0; } }

.read {
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.8;
  font-size: clamp(12px, calc(17vw / 9.6), 17px); }
  @media screen and (max-width: 480px) {
    .read {
      font-size: calc(14vw / 3.9); } }

.sec1 {
  margin-bottom: clamp(90px, 17.5vw, 210px); }
  @media screen and (max-width: 480px) {
    .sec1 {
      margin-bottom: 50px; } }
  .sec1 .item_ttl .sec_ttl {
    font-size: clamp(20px, 1.917vw, 23px);
    line-height: 1.7;
    font-weight: 600;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 480px) {
      .sec1 .item_ttl .sec_ttl {
        letter-spacing: 0;
        font-size: calc(17vw / 3.9); } }
  .sec1 .item_ttl .read {
    font-size: clamp(12px, 1.417vw, 17px);
    line-height: 1.95; }
    @media screen and (max-width: 480px) {
      .sec1 .item_ttl .read {
        font-size: calc(14vw / 3.9);
        line-height: 2.2; } }
  .sec1 .cap01 {
    font-size: 12px;
    /*display: block;
    padding:3px 5px;
    line-height: 1.5;
    color: #FFF;
    @include t_shadow_spr(8,rgba(#000,0.8));*/
    font-weight: 500;
    text-align: right; }
    @media screen and (max-width: 767px) {
      .sec1 .cap01 {
        font-size: 10px; } }
  .sec1 .sec01_wrap01 {
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: clamp(20px, 1.563vw, 25px);
    /*max-width: 1560px;
    max-width: 1280px;
    margin-inline: auto;
    width: calc(100% - 40px);*/ }
    .sec1 .sec01_wrap01 .item {
      position: relative;
      width: 31.25%; }
      @media screen and (max-width: 480px) {
        .sec1 .sec01_wrap01 .item {
          width: 48%; } }
      @media screen and (max-width: 767px) {
        .sec1 .sec01_wrap01 .item .img {
          aspect-ratio: 320/280;
          aspect-ratio: 320/340; }
          .sec1 .sec01_wrap01 .item .img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: left; } }
      .sec1 .sec01_wrap01 .item .txt_img {
        position: absolute;
        top: 0;
        right: 0;
        width: 56.46%;
        text-align: right; }
        @media screen and (max-width: 480px) {
          .sec1 .sec01_wrap01 .item .txt_img {
            width: 90%; } }
  .sec1 .map_img {
    text-align: center;
    max-width: 859px;
    margin-inline: auto; }
  .sec1 .sec01_wrap02 .head {
    color: #2bb7b3;
    font-size: clamp(16px, 1.584vw, 19px);
    margin-bottom: 1em; }
    @media screen and (max-width: 480px) {
      .sec1 .sec01_wrap02 .head {
        text-align: center;
        line-height: 1.5;
        font-weight: 700; } }
  .sec1 .sec01_wrap02 .item_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 20px; }
    @media screen and (max-width: 480px) {
      .sec1 .sec01_wrap02 .item_wrap {
        row-gap: 10px; } }
    .sec1 .sec01_wrap02 .item_wrap .item {
      width: 31.25%;
      padding: 20px 0;
      border-top: 1px solid #b7b7b7;
      border-bottom: 1px solid #b7b7b7; }
      @media screen and (max-width: 480px) {
        .sec1 .sec01_wrap02 .item_wrap .item {
          width: 100%;
          padding: 10px 0; } }
      .sec1 .sec01_wrap02 .item_wrap .item:nth-child(n+4) {
        border-top: none;
        padding-top: 0; }
      @media screen and (max-width: 480px) {
        .sec1 .sec01_wrap02 .item_wrap .item:nth-child(n+2) {
          border-top: none;
          padding-top: 0; } }
      .sec1 .sec01_wrap02 .item_wrap .item .item_in {
        font-size: clamp(16px, 1.797vw, 23px);
        line-height: 1;
        align-items: baseline;
        margin-bottom: clamp(10px, 1.25vw, 15px);
        letter-spacing: 0.1em; }
        @media screen and (max-width: 480px) {
          .sec1 .sec01_wrap02 .item_wrap .item .item_in {
            font-size: calc(18vw / 3.9); } }
        .sec1 .sec01_wrap02 .item_wrap .item .item_in .txt01 {
          font-feature-settings: "palt"; }
        .sec1 .sec01_wrap02 .item_wrap .item .item_in .txt02 .color {
          color: #2bb7b3; }
        .sec1 .sec01_wrap02 .item_wrap .item .item_in .txt02 .big {
          font-size: 160%; }
      .sec1 .sec01_wrap02 .item_wrap .item .txt03 {
        font-size: clamp(11px, 1.016vw, 13px);
        font-feature-settings: "palt"; }
  .sec1 .sec01_wrap03 {
    padding: 40px 30px;
    background: url("../img/access/bg01.png") center center/cover no-repeat;
    color: #fff;
    justify-content: space-between;
    display: grid;
    grid-template-columns: 15% 32.38% 48.94%;
    align-items: flex-start;
    align-content: start;
    grid-auto-flow: dense;
    row-gap: clamp(20px, 2.46vw, 30px); }
    @media screen and (max-width: 480px) {
      .sec1 .sec01_wrap03 {
        grid-template-columns: 33.74% 62.09%;
        margin-inline: -20px;
        padding: 30px 20px; } }
    .sec1 .sec01_wrap03 .img {
      grid-row: span 2; }
      @media screen and (max-width: 480px) {
        .sec1 .sec01_wrap03 .img {
          grid-row: span 1;
          height: 100%; }
          .sec1 .sec01_wrap03 .img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: left; } }
    .sec1 .sec01_wrap03 .ttl {
      grid-column: span 2;
      font-size: clamp(17px, 2.334vw, 28px);
      font-weight: 600;
      letter-spacing: 0.08em;
      line-height: 1.5;
      font-size: clamp(12px, calc(18vw / 12), 18px);
      font-size: clamp(12px, calc(20vw / 12), 20px);
      margin-bottom: 0.3em;
      margin-bottom: 0.8em; }
      @media screen and (max-width: 480px) {
        .sec1 .sec01_wrap03 .ttl {
          font-size: calc(16vw / 3.9);
          font-size: calc(17vw / 3.9);
          margin-bottom: 0; } }
      @media screen and (max-width: 480px) {
        .sec1 .sec01_wrap03 .ttl {
          grid-row: 1/2;
          text-align: center; } }
    .sec1 .sec01_wrap03 .read {
      font-size: clamp(12px, calc(17vw / 9.6), 17px); }
    .sec1 .sec01_wrap03 .icon {
      height: 100%;
      align-content: center; }
      @media screen and (max-width: 480px) {
        .sec1 .sec01_wrap03 .icon {
          grid-column: span 2;
          max-width: 268px;
          max-width: 240px;
          margin-inline: auto; } }
  .sec1 .sec01_wrap04 .inner {
    max-width: 960px;
    margin-inline: auto;
    width: 100%; }
  .sec1 .sec01_wrap04 .boxSearch {
    background: #fff; }
  .sec1 .sec01_wrap04 .boxSearch #route li {
    border: none; }
  .sec1 .sec01_wrap04 .boxSearch #route li span {
    border: none; }
  .sec1 .sec01_wrap04 .boxSearch #route li input {
    border: 1px solid #000; }

.sec2 {
  padding-bottom: 90px; }
  @media screen and (max-width: 480px) {
    .sec2 {
      padding-bottom: 80px; } }
  .sec2 .inner {
    max-width: 1365px; }
  @media screen and (max-width: 800px) {
    .sec2 .sec2_wrap {
      row-gap: 30px;
      flex-direction: column-reverse; } }
  @media screen and (max-width: 800px) {
    .sec2 .sec2_wrap .img .img01 {
      aspect-ratio: 2.5/1.5; }
      .sec2 .sec2_wrap .img .img01 img {
        width: 100%;
        height: 100%;
        object-fit: cover; } }
  .sec2 .sec2_wrap .img .small_img {
    display: block; }
    @media screen and (max-width: 800px) {
      .sec2 .sec2_wrap .img .small_img {
        display: none !important; } }
  @media screen and (max-width: 800px) {
    .sec2 .sec2_wrap .txt_in {
      text-align: center; } }
  .sec2 .sec2_wrap01 {
    display: flex;
    justify-content: space-between; }
    .sec2 .sec2_wrap01 .text_wrap {
      text-align: left;
      width: 42.5%;
      margin-top: -10px; }
      @media screen and (max-width: 800px) {
        .sec2 .sec2_wrap01 .text_wrap {
          width: 100%;
          margin-top: 0;
          row-gap: 20px; } }
      .sec2 .sec2_wrap01 .text_wrap .text_group01 .txt01 {
        margin-bottom: 0.75em;
        line-height: 1;
        font-weight: 400; }
        @media screen and (max-width: 480px) {
          .sec2 .sec2_wrap01 .text_wrap .text_group01 .txt01 {
            font-size: 16px; } }
      .sec2 .sec2_wrap01 .text_wrap .text_group01 .txt02 {
        font-size: clamp(12px, 1vw, 14px); }
      .sec2 .sec2_wrap01 .text_wrap .text_group02 .txt01 {
        font-weight: 400;
        line-height: 1;
        font-size: clamp(12px, 2vw, 28px);
        letter-spacing: 0.03em; }
        @media screen and (max-width: 480px) {
          .sec2 .sec2_wrap01 .text_wrap .text_group02 .txt01 {
            font-size: calc(18vw / 3.9);
            font-size: calc(17vw / 3.9);
            font-weight: 600;
            font-weight: 400; } }
        .sec2 .sec2_wrap01 .text_wrap .text_group02 .txt01 .big {
          font-size: 150%; }
    .sec2 .sec2_wrap01 .img {
      position: relative;
      width: 52.02%; }
      @media screen and (max-width: 800px) {
        .sec2 .sec2_wrap01 .img {
          width: 100%;
          width: calc(100% + 40px);
          margin-inline: -20px; } }
      .sec2 .sec2_wrap01 .img span {
        display: block; }
      .sec2 .sec2_wrap01 .img .small_img {
        width: 46.48%;
        position: absolute;
        left: -21.12%;
        top: -37.5%; }
  .sec2 .sec2_wrap02_cont .cap01 {
    width: 42.5%;
    margin-right: 0;
    margin-top: 5px;
    font-size: clamp(10px, 0.858vw, 12px);
    margin-left: auto; }
    @media screen and (max-width: 800px) {
      .sec2 .sec2_wrap02_cont .cap01 {
        width: 100%; } }
  .sec2 .sec2_wrap02 {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    @media screen and (max-width: 800px) {
      .sec2 .sec2_wrap02 {
        flex-direction: column; } }
    .sec2 .sec2_wrap02 .text_wrap {
      width: 42.5%; }
      @media screen and (max-width: 800px) {
        .sec2 .sec2_wrap02 .text_wrap {
          width: 100%; } }
      .sec2 .sec2_wrap02 .text_wrap .item_ttl {
        text-align: left;
        width: fit-content;
        margin-inline: auto;
        margin-bottom: clamp(20px, 1.954vw, 25px); }
        @media screen and (max-width: 800px) {
          .sec2 .sec2_wrap02 .text_wrap .item_ttl {
            width: 100%;
            row-gap: 20px; } }
        @media screen and (max-width: 480px) {
          .sec2 .sec2_wrap02 .text_wrap .item_ttl .sec_ttl {
            font-size: 16px; } }
        .sec2 .sec2_wrap02 .text_wrap .item_ttl .read {
          line-height: 1.4;
          font-size: clamp(10px, 1vw, 14px);
          margin-top: clamp(5px, 0.834vw, 10px);
          margin-bottom: 0; }
    .sec2 .sec2_wrap02 .img {
      position: relative;
      width: 52.02%; }
      @media screen and (max-width: 800px) {
        .sec2 .sec2_wrap02 .img {
          width: 100%;
          width: calc(100% + 40px);
          margin-inline: -20px; } }
      .sec2 .sec2_wrap02 .img span {
        display: block; }
      .sec2 .sec2_wrap02 .img .small_img {
        width: 46.48%;
        position: absolute;
        right: -15.49%;
        top: -35%; }
  .sec2 .sec2_wrap03_cont .cap01 {
    width: 42.5%;
    margin-right: 0;
    margin-top: 5px;
    font-size: clamp(10px, 0.858vw, 12px);
    margin-left: auto; }
    @media screen and (max-width: 800px) {
      .sec2 .sec2_wrap03_cont .cap01 {
        width: 100%; } }
  .sec2 .sec2_wrap03 {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    @media screen and (max-width: 800px) {
      .sec2 .sec2_wrap03 {
        flex-direction: column; } }
    .sec2 .sec2_wrap03 .text_wrap {
      width: 42.5%; }
      @media screen and (max-width: 800px) {
        .sec2 .sec2_wrap03 .text_wrap {
          width: 100%; } }
      .sec2 .sec2_wrap03 .text_wrap .item_ttl {
        text-align: left;
        width: fit-content;
        margin-inline: auto;
        margin-bottom: clamp(20px, 1.954vw, 25px); }
        @media screen and (max-width: 800px) {
          .sec2 .sec2_wrap03 .text_wrap .item_ttl {
            width: 100%;
            row-gap: 20px; } }
        .sec2 .sec2_wrap03 .text_wrap .item_ttl .sec_ttl {
          font-weight: 400;
          font-size: clamp(12px, 1.643vw, 23px); }
          @media screen and (max-width: 480px) {
            .sec2 .sec2_wrap03 .text_wrap .item_ttl .sec_ttl {
              font-size: 16px;
              font-size: calc(16vw / 3.9);
              text-align: center; } }
        .sec2 .sec2_wrap03 .text_wrap .item_ttl .read {
          line-height: 1.4;
          font-size: clamp(10px, 1vw, 14px);
          margin-top: clamp(5px, 0.834vw, 10px);
          margin-bottom: 0; }
      .sec2 .sec2_wrap03 .text_wrap .text_group02 {
        width: fit-content; }
        @media screen and (max-width: 800px) {
          .sec2 .sec2_wrap03 .text_wrap .text_group02 {
            margin-inline: auto; } }
        .sec2 .sec2_wrap03 .text_wrap .text_group02 .txt01 {
          width: fit-content;
          font-weight: 600;
          font-weight: 400;
          line-height: 1;
          font-size: clamp(16px, 2vw, 28px);
          letter-spacing: 0.03em;
          font-feature-settings: "palt"; }
          @media screen and (max-width: 480px) {
            .sec2 .sec2_wrap03 .text_wrap .text_group02 .txt01 {
              font-size: calc(18vw / 3.9);
              font-weight: 600;
              font-weight: 400; } }
          .sec2 .sec2_wrap03 .text_wrap .text_group02 .txt01 .big {
            font-size: 150%; }
        @media screen and (max-width: 800px) {
          .sec2 .sec2_wrap03 .text_wrap .text_group02 .cap_r.sp_center {
            text-align: center; } }
    .sec2 .sec2_wrap03 .img {
      position: relative;
      width: 52.02%; }
      @media screen and (max-width: 800px) {
        .sec2 .sec2_wrap03 .img {
          width: 100%;
          width: calc(100% + 40px);
          margin-inline: -20px; } }
      .sec2 .sec2_wrap03 .img span {
        display: block; }
      .sec2 .sec2_wrap03 .img .small_img {
        width: 46.48%;
        position: absolute;
        right: -15.49%;
        top: -35%;
        top: -25%; }
        @media screen and (max-width: 1220px) {
          .sec2 .sec2_wrap03 .img .small_img {
            right: -12.67%;
            top: -30%; } }
  .sec2 .sp_fig {
    max-width: 330px;
    margin-inline: auto; }
    @media screen and (max-width: 800px) {
      .sec2 .sp_fig {
        width: 80%; } }

.swipe1 .swipe_inn {
  text-align: center; }
  .swipe1 .swipe_inn figure {
    display: inline-block; }
    @media screen and (max-width: 480px) {
      .swipe1 .swipe_inn figure {
        display: block;
        width: 600px;
        width: 500px; } }
    .swipe1 .swipe_inn figure .cap {
      bottom: 8%;
      left: 12%; }

/*# sourceMappingURL=access.css.map */
