@charset "UTF-8";
/** ───────────────────────────────────────────────────────── **/
/*** ▼ 編集不要 ▼ ***/
#muted_select {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.muted_select {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #3e3d3c;
  color: #fff;
  z-index: 9999;
}
.muted_select dl {
  margin-top: 31vh;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media (max-width: 800px) {
  .muted_select dl {
    margin-top: 24vh;
  }
}
.muted_select dl dt {
  font-size: 1.9rem;
  font-weight: 400;
}
@media (max-width: 480px) {
  .muted_select dl dt {
    font-size: 1.7rem;
  }
}
.muted_select dl dt.f_sorts {
  font-size: 1.8rem;
  text-transform: uppercase;
}
@media (max-width: 480px) {
  .muted_select dl dt.f_sorts {
    font-size: 1.6rem;
  }
}
.muted_select dl dt.f_sorts + dt {
  margin: 24px 0 160px;
  letter-spacing: 0.1em;
}
.muted_select dl dd {
  font-size: 1.3rem;
}
@media (max-width: 480px) {
  .muted_select dl dd {
    font-size: 1.2rem;
  }
}
.muted_select dl dd.pic_wrap {
  margin-top: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.muted_select dl dd.pic_wrap .pic {
  width: 72.5px;
}
.muted_select dl dd.pic_wrap .pic + .pic {
  position: relative;
}
.muted_select dl dd.pic_wrap .pic + .pic::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: #fff;
}
.muted_select dl dd.pic_wrap + dd {
  margin-top: 28px;
  font-size: 1rem;
}

.f_wrap .ent_btn_wrap {
  display: none;
}

.mv_wrap {
  width: 100%;
}
.mv_wrap .mov_wrap {
  width: 100%;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
.mv_wrap .mov_wrap .movie {
  position: relative;
}
.mv_wrap .mov_wrap .movie video {
  width: 100%;
}
.mv_wrap .mov_wrap .movie .movie_btn {
  position: absolute;
  top: 20px;
  right: 23px;
  width: 79px;
  opacity: 1;
}
@media (max-width: 800px) {
  .mv_wrap .mov_wrap .movie .movie_btn {
    top: 0;
    right: 0;
  }
}

.sec01 {
  margin-top: 40px;
}
@media (max-width: 800px) {
  .sec01 {
    margin-top: 30px;
  }
}
.sec01 .sec01_01 {
  max-width: 930px;
  width: 96%;
  margin: 0 auto 60px;
}
@media (max-width: 800px) {
  .sec01 .sec01_01 {
    width: 270px;
  }
}
.sec01 .sec01_01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 28px 0;
}
@media (max-width: 800px) {
  .sec01 .sec01_01 ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px 0;
  }
}
.sec01 .sec01_01 ul li {
  font-size: 2.2rem;
  line-height: 3rem;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (max-width: 960px) {
  .sec01 .sec01_01 ul li {
    font-size: 2rem;
  }
}
@media (max-width: 960px) and (max-width: 800px) {
  .sec01 .sec01_01 ul li + li {
    position: relative;
  }
  .sec01 .sec01_01 ul li + li::after {
    content: "";
    width: 40px;
    height: 0.6px;
    background: #3e3d3c;
    position: absolute;
    left: 50%;
    top: -20px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.sec01 .sec01_01 ul li:nth-child(4), .sec01 .sec01_01 ul li:nth-child(5) {
  width: 326px;
}
@media (max-width: 800px) {
  .sec01 .sec01_01 ul li:nth-child(4), .sec01 .sec01_01 ul li:nth-child(5) {
    width: 100%;
  }
}
.sec01 .sec01_01 ul li:nth-child(5) {
  border-left: 1px solid #3e3d3c;
}
@media (max-width: 800px) {
  .sec01 .sec01_01 ul li:nth-child(5) {
    border: none;
  }
}
.sec01 .sec01_01 ul li:nth-child(1), .sec01 .sec01_01 ul li:nth-child(3) {
  width: 350px;
}
@media (max-width: 960px) {
  .sec01 .sec01_01 ul li:nth-child(1), .sec01 .sec01_01 ul li:nth-child(3) {
    width: 290px;
  }
}
@media (max-width: 960px) and (max-width: 800px) {
  .sec01 .sec01_01 ul li:nth-child(1), .sec01 .sec01_01 ul li:nth-child(3) {
    width: 100%;
  }
}
.sec01 .sec01_01 ul li:nth-child(2) {
  width: calc(100% - 700px);
  border-left: 1px solid #3e3d3c;
  border-right: 1px solid #3e3d3c;
}
@media (max-width: 960px) {
  .sec01 .sec01_01 ul li:nth-child(2) {
    width: calc(100% - 580px);
  }
}
@media (max-width: 960px) and (max-width: 800px) {
  .sec01 .sec01_01 ul li:nth-child(2) {
    width: 100%;
    border: none;
  }
}
.sec01 .sec01_01 ul li .size-s,
.sec01 .sec01_01 ul li .size-m {
  font-weight: 500;
  letter-spacing: 0;
}
.sec01 .sec01_01 ul li .size-s {
  font-size: 1.2rem;
}
.sec01 .sec01_01 ul li .size-m {
  font-size: 1.6rem;
}
@media (max-width: 960px) {
  .sec01 .sec01_01 ul li .size-m {
    font-size: 1.5rem;
  }
}
.sec01 .sec01_01 ul li .size-l {
  font-size: 2.4rem;
}
@media (max-width: 960px) {
  .sec01 .sec01_01 ul li .size-l {
    font-size: 2.2rem;
  }
}
.sec01 .sec01_01 ul li .size-l span {
  color: #a58b56;
}
.sec01 .sec01_02 {
  margin-bottom: 200px;
}
@media (max-width: 800px) {
  .sec01 .sec01_02 {
    margin-bottom: 160px;
  }
}
.sec01 .sec01_02 dl {
  text-align: center;
  line-height: 1;
  margin-bottom: 40px;
}
.sec01 .sec01_02 dl dt {
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  padding-bottom: 22px;
}
@media (max-width: 800px) {
  .sec01 .sec01_02 dl dt {
    font-size: 1.5rem;
  }
}
.sec01 .sec01_02 dl dd {
  font-size: 3.6rem;
  letter-spacing: 0.05em;
}
@media (max-width: 800px) {
  .sec01 .sec01_02 dl dd {
    font-size: 2.6rem;
  }
}
.sec01 .sec01_03 {
  margin-bottom: 160px;
}
@media (max-width: 800px) {
  .sec01 .sec01_03 {
    margin-bottom: 110px;
  }
}
.sec01 .sec01_03 .pic {
  width: 420px;
  margin: 0 auto 40px;
}
@media (max-width: 800px) {
  .sec01 .sec01_03 .pic {
    width: 270px;
    margin-bottom: 30px;
  }
}
.sec01 .sec01_03 p {
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  color: #aeb1a7;
}
@media (max-width: 800px) {
  .sec01 .sec01_03 p {
    font-size: 2rem;
  }
}

.sec02 .grad {
  position: relative;
  margin-bottom: -1px;
  background-image: url(../images/top/grad_pc.jpg);
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (max-width: 800px) {
  .sec02 .grad {
    background-image: url(../images/top/grad_sp.jpg);
  }
}
.sec02 .grad p {
  padding-top: 205px;
  color: #fff;
  font-size: 1.6rem;
  line-height: 2;
  text-align: center;
}
@media (max-width: 800px) {
  .sec02 .grad p {
    padding-top: 135px;
    font-size: 1.5rem;
  }
}
.sec02 .kusatsu {
  position: relative;
}
.sec02 .kusatsu .minutes {
  position: absolute;
  top: 5.8%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
  line-height: 1;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .minutes {
    top: 8.5%;
  }
}
.sec02 .kusatsu .minutes p {
  font-size: 1.23vw;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .minutes p {
    font-size: 4vw;
  }
}
.sec02 .kusatsu .minutes p.f_cardo {
  margin-top: 0.9vw;
  font-size: 2vw;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .minutes p.f_cardo {
    font-size: 6.9vw;
  }
}
.sec02 .kusatsu .minutes p.f_cardo span {
  font-size: 6.15vw;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .minutes p.f_cardo span {
    font-size: 21vw;
  }
}
.sec02 .kusatsu .spot {
  position: absolute;
  top: 31%;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .spot {
    top: 40.5%;
  }
}
.sec02 .kusatsu .spot .bar {
  position: relative;
}
.sec02 .kusatsu .spot .bar span {
  display: inline-block;
  width: 1.5px;
  background: #fff;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .spot .bar span {
    width: 1px;
    background: rgba(255, 255, 255, 0.8);
  }
}
.sec02 .kusatsu .spot .bar::after {
  width: 60px;
  position: absolute;
  left: 50%;
  top: -18px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 1.2rem;
  text-align: center;
  color: #fff;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .spot .bar::after {
    font-size: 0.8rem;
    top: -12px;
  }
}
.sec02 .kusatsu .spot.is-show .bar span {
  clip-path: inset(0 0 0 0);
}
.sec02 .kusatsu .spot.is-show .bar::after {
  opacity: 1;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.sec02 .kusatsu .spot.spot01 {
  left: 27%;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .spot.spot01 {
    left: 18.1%;
  }
}
.sec02 .kusatsu .spot.spot01 .bar span {
  height: 26vw;
  -webkit-transition: clip-path 4.72s 0.2s ease-out;
  transition: clip-path 4.72s 0.2s ease-out;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .spot.spot01 .bar span {
    height: 54.4vw;
  }
}
.sec02 .kusatsu .spot.spot01 .bar::after {
  content: "Route 330";
  -webkit-transition: all 0.5s 0.25s ease-out;
  transition: all 0.5s 0.25s ease-out;
}
.sec02 .kusatsu .spot.spot02 {
  left: 36%;
}
.sec02 .kusatsu .spot.spot02 .bar span {
  height: 29vw;
  -webkit-transition: clip-path 5.27s ease-out;
  transition: clip-path 5.27s ease-out;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .spot.spot02 .bar span {
    height: 60.8vw;
  }
}
.sec02 .kusatsu .spot.spot02 .bar::after {
  content: "「安里」駅";
  -webkit-transition: all 0.5s 0.05s ease-out;
  transition: all 0.5s 0.05s ease-out;
}
.sec02 .kusatsu .spot.spot03 {
  left: 49.5%;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .spot.spot03 {
    left: 63.5%;
  }
}
.sec02 .kusatsu .spot.spot03 .bar span {
  height: 19vw;
  -webkit-transition: clip-path 3.45s 0.4s ease-out;
  transition: clip-path 3.45s 0.4s ease-out;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .spot.spot03 .bar span {
    height: 37.85vw;
  }
}
.sec02 .kusatsu .spot.spot03 .bar::after {
  content: "国際通り";
  -webkit-transition: all 0.5s 0.45s ease-out;
  transition: all 0.5s 0.45s ease-out;
}
.sec02 .kusatsu .spot.spot04 {
  left: 55.5%;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .spot.spot04 {
    left: 75%;
  }
}
.sec02 .kusatsu .spot.spot04 .bar span {
  height: 5.5vw;
  -webkit-transition: clip-path 1s 0.6s ease-out;
  transition: clip-path 1s 0.6s ease-out;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .spot.spot04 .bar span {
    height: 11.8vw;
  }
}
.sec02 .kusatsu .spot.spot04 .bar::after {
  content: "那覇空港";
  -webkit-transition: all 0.5s 0.65s ease-out;
  transition: all 0.5s 0.65s ease-out;
}
.sec02 .kusatsu .bukken {
  position: absolute;
  top: 43.2%;
  left: 38.5%;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .bukken {
    top: 51.8%;
    left: 41%;
  }
}
.sec02 .kusatsu .bukken .bar {
  position: relative;
}
.sec02 .kusatsu .bukken .bar span {
  display: inline-block;
  width: 1.5px;
  height: 15.77vw;
  background: #fff;
  clip-path: inset(0 0 0 0);
  -webkit-transition: clip-path 2.86s 0.4s ease-out;
  transition: clip-path 2.86s 0.4s ease-out;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .bukken .bar span {
    width: 1px;
    height: 32vw;
    background: rgba(255, 255, 255, 0.8);
  }
}
.sec02 .kusatsu .bukken .bar::after {
  content: "";
  width: 3.7vw;
  height: 4.625vw;
  background-image: url(../images/top/kusatsu_logo.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  top: -5vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.8s 0.45s ease-out;
  transition: all 0.8s 0.45s ease-out;
}
@media (max-width: 800px) {
  .sec02 .kusatsu .bukken .bar::after {
    width: 7.46vw;
    height: 9.33vw;
    top: -10vw;
  }
}
.sec02 .kusatsu .bukken.is-show .bar span {
  clip-path: inset(0 0 0 0);
}
.sec02 .kusatsu .bukken.is-show .bar::after {
  opacity: 1;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

.sec03 > div {
  border-top: 1px solid #aeb1a7;
}
.sec03 > div .txt_wrap {
  font-size: 1.6rem;
}
@media (max-width: 960px) {
  .sec03 > div .txt_wrap {
    font-size: 1.5rem;
  }
}
.sec03 > div .txt_wrap dt .f_sorts {
  font-size: 3rem;
  letter-spacing: 0.05em;
}
@media (max-width: 960px) {
  .sec03 > div .txt_wrap dt .f_sorts {
    font-size: 2.8rem;
  }
}
.sec03 > div .txt_wrap dd.txt {
  margin-top: 25px;
  font-size: 2.2rem;
  line-height: 1.8;
}
@media (max-width: 960px) {
  .sec03 > div .txt_wrap dd.txt {
    font-size: 2rem;
  }
}
@media (max-width: 960px) and (max-width: 800px) {
  .sec03 > div .txt_wrap dd.txt {
    margin-top: 20px;
  }
}
.sec03 > div .txt_wrap dd.f_sorts {
  margin-top: 30px;
  width: 100px;
  letter-spacing: 0.02em;
}
@media (max-width: 800px) {
  .sec03 > div .txt_wrap dd.f_sorts {
    margin-top: 25px;
  }
}
.sec03 > div .txt_wrap dd.f_sorts p {
  position: relative;
  line-height: 1;
  padding: 7px 0;
}
@media (max-width: 960px) {
  .sec03 > div .txt_wrap dd.f_sorts p {
    font-size: 1.6rem;
  }
}
.sec03 > div .txt_wrap dd.f_sorts p .arrow {
  width: 8px;
  height: 8px;
  border-top: 1px solid #77827e;
  border-right: 1px solid #77827e;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.sec03 > div .txt_wrap dd.f_sorts p::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #aeb1a7;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transition: -webkit-transform 0.25s ease-out;
  transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
@media not all and (pointer: coarse) {
  .sec03 > div .txt_wrap a:hover dl dd.f_sorts p::after {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
}
.sec03 > .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 800px) {
  .sec03 > .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 0;
  }
}
.sec03 > .flex > *:first-child {
  width: 44.6%;
}
@media (max-width: 800px) {
  .sec03 > .flex > *:first-child {
    width: 100%;
  }
}
.sec03 > .flex > *:last-child {
  width: 55.4%;
}
@media (max-width: 800px) {
  .sec03 > .flex > *:last-child {
    width: 100%;
  }
}
.sec03 > .flex .txt_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 800px) {
  .sec03 > .flex .txt_wrap {
    width: 89%;
    margin: 0 auto 40px;
  }
}
.sec03 > .flex .scaleIn_wrap {
  position: relative;
  padding: 20px;
}
.sec03 > .flex .scaleIn_wrap::after {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  background: #aeb1a7;
}
@media (max-width: 800px) {
  .sec03 > .flex .scaleIn_wrap {
    width: 89%;
    margin: 0 auto;
    padding: 20px 0;
  }
  .sec03 > .flex .scaleIn_wrap::after {
    display: none;
  }
}
@media (max-width: 800px) {
  .sec03 .sec03_01,
  .sec03 .sec03_04 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.sec03 .sec03_01 .txt_wrap .spacer,
.sec03 .sec03_04 .txt_wrap .spacer {
  width: calc((100vw - 960px) / 2);
}
@media (max-width: 1078px) {
  .sec03 .sec03_01 .txt_wrap .spacer,
  .sec03 .sec03_04 .txt_wrap .spacer {
    width: 5.5vw;
  }
}
.sec03 .sec03_01 .scaleIn_wrap::after,
.sec03 .sec03_04 .scaleIn_wrap::after {
  left: 0;
}
.sec03 .sec03_02 .txt_wrap .spacer,
.sec03 .sec03_05 .txt_wrap .spacer {
  width: 79px;
}
.sec03 .sec03_02 .scaleIn_wrap::after,
.sec03 .sec03_05 .scaleIn_wrap::after {
  right: -1px;
}
.sec03 .sec03_03 {
  padding: 20px 0 40px;
}
.sec03 .sec03_03 .scaleIn_wrap {
  width: 100%;
  margin-bottom: 38px;
}

.sec04 {
  padding: 100px 0;
  background: #aeb1a7;
  text-align: center;
}
@media (max-width: 800px) {
  .sec04 {
    padding: 60px 0;
  }
}
.sec04 > p {
  margin: 20px 0 40px;
  font-size: 1.6rem;
  line-height: 1.625;
}
@media (max-width: 800px) {
  .sec04 > p {
    margin: 17px 0 37px;
    font-size: 1.5rem;
    line-height: 1.6;
  }
}
.sec04 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 40px;
}
@media (max-width: 800px) {
  .sec04 ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px 0;
  }
}
.sec04 ul li.arrow .pic {
  width: 16px;
}
@media (max-width: 800px) {
  .sec04 ul li.arrow .pic {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.sec04 ul li.step dl dt {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}
.sec04 ul li.step dl dt > span {
  display: inline-block;
  padding-bottom: 4px;
  border-bottom: 1px solid #3e3d3c;
}
.sec04 ul li.step dl dt > span span {
  text-transform: uppercase;
}
.sec04 ul li.step dl dd:nth-child(2) {
  margin: 20px 0;
  font-size: 1.8rem;
  line-height: 1;
}
.sec04 ul li.step dl dd:last-child {
  font-size: 1.4rem;
  line-height: 1.7;
}/*# sourceMappingURL=top.css.map */