.visual {
  height: 95vh;
  background: url("../image/visual_bg.png") no-repeat center bottom;
  background-size: cover;

  display: flex;
  justify-content: center;
  align-items: flex-start;

  animation: load_bg 2s both;
  animation-delay: 0.2s;
}
.visual .title {
  width: 55vw;
  height: 55vw;
  /* border: 1px outset black; */
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-direction: column;
  margin-top: 10vw;

  position: relative;
}
.visual .title div {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.visual .title div.top {
}
.visual .title div.cnt {
}
.visual .title div.btn {
}
.visual .title div img {
  animation: load_B 1.5s both;
}
.visual .title div.top img.vi_top01 {
  width: 10.385vw;
  animation-delay: 1s;
}
.visual .title div.top img.vi_top02 {
  width: 11.538vw;
  animation-delay: 1.5s;
}
.visual .title div.top img.vi_top03 {
  width: 10.192vw;
  animation-delay: 1.7s;
}
.visual .title div.top img.vi_top04 {
  width: 10.769vw;
  animation-delay: 1.3s;
}

.visual .title div.cnt img.vi_cut01 {
  width: 12.115vw;
  animation-delay: 1.2s;
}
.visual .title div.cnt img.vi_cut02 {
  width: 11.346vw;
  animation-delay: 1.7s;
}
.visual .title div.cnt img.vi_cut03 {
  width: 10vw;
  animation-delay: 1.8s;
}
.visual .title div.cnt img.vi_cut04 {
  width: 12.115vw;
  animation-delay: 1.5s;
}

.visual .title div.btm img.vi_btm01 {
  width: 10.385vw;
  animation-delay: 1.4s;
}
.visual .title div.btm img.vi_btm02 {
  width: 12.115vw;
  animation-delay: 1.9s;
}
.visual .title div.btm img.vi_btm03 {
  width: 10.192vw;
  animation-delay: 2.1s;
}
.visual .title div.btm img.vi_btm04 {
  width: 10.385vw;
  animation-delay: 1.7s;
}
.visual .title span {
  position: absolute;
  right: 0;
  bottom: -8vw;

  font-size: 6.5vw;
  color: #0071bb;

  animation: load_B 1.5s both;
  animation-delay: 2.4s;
}

.vi_point {
  position: absolute;
  left: 50%;
  bottom: -1.5vw;
  transform: translateX(-50%);
  width: 100%;

  background: pink;
  opacity: 1;
}
.vi_point img {
  position: absolute;
  bottom: 0;
}
.vi_point img.vi_cg {
  width: 80vw;
  left: 0;

  animation: load_T 1.5s both;
  animation-delay: 0.65s;
}
.vi_point img.vi_item01 {
  width: 8vw;
  right: 15.5vw;

  animation: load_T 1.5s both;
  animation-delay: 1.05s;
}
.vi_point img.vi_item02 {
  width: 8vw;
  right: 7vw;

  animation: load_T 1.5s both;
  animation-delay: 0.85s;
}

/* premium */
.premium {
  padding: 16vw 0;
}
.premium .title {
  width: 61.67vw;
  margin: 0 auto 7.22vw;
}
.premium .title img {
  width: 100%;
}

.pre_slider {
  width: 91.67vw;
  margin: 0 auto;
}
.pre_slider .item {
}
.pre_slider .item .pre_img {
  width: 100%;
  height: 55.56vw;
  position: relative;
}
.pre_slider .item .pre_img.pre_img01 {
  background: url("../image/pre_slider01.png") no-repeat center center;
  background-size: cover;
}
.pre_slider .item .pre_img.pre_img02 {
  background: url("../image/pre_slider02.png") no-repeat center center;
  background-size: cover;
}
.pre_slider .item .pre_img.pre_img03 {
  background: url("../image/pre_slider03.png") no-repeat center center;
  background-size: cover;
}
.pre_slider .item .pre_img.pre_img04 {
  background: url("../image/pre_slider04.png") no-repeat center center;
  background-size: cover;
}
.pre_slider .item .pre_img.pre_img05 {
  background: url("../image/pre_slider05.png") no-repeat center center;
  background-size: cover;
}
.pre_slider .item .pre_img.pre_img06 {
  background: url("../image/pre_slider06.png") no-repeat center center;
  background-size: cover;
}
.pre_slider .item .pre_img.pre_img07 {
  background: url("../image/pre_slider07.jpg") no-repeat center center;
  background-size: cover;
}

.pre_slider .item .txt {
  text-align: center;
  margin-top: 7.22vw;
}
.pre_slider .item .txt span {
  font-size: 4.44vw;
  font-weight: 400;
  color: #0f0f0f;
}
.pre_slider .item .txt h3 {
  font-size: 5.83vw;
  font-weight: 700;
  color: #0071bb;
  margin: 3.06vw 0 4.44vw;
}
.pre_slider .item .txt p {
  font-size: 3.89vw;
  font-weight: 400;
  color: #0f0f0f;
}

.slick-dots {
  /* width: 60%; */
  height: 3vw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1vw;
  margin-top: 10vw;
}
.slick-dots li {
  width: 3vw;
  height: 3vw;
  border: 1px solid #0071bb;
  border-radius: 50px;
  background: #fff;
}
.slick-dots li.slick-active {
  background: #0071bb;
}
.slick-dots li button {
  display: none;
}

/* location */
.location {
  height: 130.56vw;
}
.location .title {
  width: 100%;
  position: absolute;
  left: 50%;
  top: 13.89vw;
  transform: translateX(-50%);
  text-align: center;
  z-index: 555;
}
.location .title h2 {
  font-size: 8.61vw;
  font-weight: 300;
  line-height: 10.28vw;
  color: #fff;
}
.location .title h2 span {
  font-weight: 700;
  color: #fff100;
  display: block;
}

.lo_slider {
  width: 100%;
  height: 130.56vw;
}
.lo_slider .item {
  width: 100%;
  height: 130.56vw;
  position: relative;
}
.lo_slider .item .lo_img {
  width: 100%;
  height: 130.56vw;
}
.lo_slider .item .lo_img.lo_img01 {
  background: url("../image/location_img01.png") no-repeat center center;
  background-size: cover;
}
.lo_slider .item .lo_img.lo_img02 {
  background: url("../image/location_img02.png") no-repeat center center;
  background-size: cover;
}
.lo_slider .item .lo_img.lo_img03 {
  background: url("../image/location_img03.png") no-repeat center center;
  background-size: cover;
}
.lo_slider .item .lo_img.lo_img04 {
  background: url("../image/location_img04.png") no-repeat center center;
  background-size: cover;
}
.lo_slider .item .txt {
  width: 100%;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  text-align: center;
}
.lo_slider .item .txt h3 {
  font-size: 5.83vw;
  font-weight: 300;
  color: #fff;
}
.lo_slider .item .txt h3 span {
  font-weight: 700;
  color: #fff100;
}
.lo_slider .item .txt p {
  font-size: 3.06vw;
  font-weight: 400;
  line-height: 5.56vw;
  color: #fff;

  margin: 3.75vw 0 16.67vw;
}

.point {
  padding: 16vw 0;
}
.point .title {
  text-align: center;
}
.point .title h2 {
  font-size: 8.61vw;
  font-weight: 700;
  line-height: 10.28vw;
  color: #0071bb;
}

.po_desc {
}
.po_desc .item {
}
.po_desc .item .po_img {
  position: relative;
  width: 91.67vw;
  height: 55.56vw;
  margin: 7.22vw auto 13.89vw;
}
.po_desc .item .po_img.po_img01 {
  background: url("../image/po_slider01.png") no-repeat center center;
  background-size: cover;
}
.po_desc .item .po_img.po_img02 {
  background: url("../image/po_slider02.png") no-repeat center center;
  background-size: cover;
}
.po_desc .item .po_img.po_img03 {
  background: url("../image/po_slider03.png") no-repeat center center;
  background-size: cover;
}
.po_desc .item .po_img.po_img04 {
  background: url("../image/po_slider04.png") no-repeat center center;
  background-size: cover;
}

.po_desc .item .txt {
  width: 100%;
  text-align: center;
}
.po_desc .item .txt h3 {
  font-size: 5.83vw;
  font-weight: 600;
  color: #0071bb;
}
.po_desc .item .txt p {
  font-size: 3.5vw;
  font-weight: 400;
  line-height: 5.44vw;
  color: #0f0f0f;
  margin-top: 4.44vw;
}

/* contact */
.contact {
  text-align: center;
  background: #f7f7f7;
  padding: 15vw 0 20vw;
}
.contact h2 {
  font-size: 8.61vw;
  font-weight: 700;
  line-height: 10.28vw;
  color: #0071bb;
  margin-bottom: 6vw;
}
.contact .contact_map {
  width: 98%;
  margin: 0 auto;
  display: block;
}
.contact .desc {
  width: 98%;
  height: 16vw;
  margin: 0 auto;
  background: #333;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.contact .desc h3 {
  font-size: 4vw;
  font-weight: 500;
  /* line-height: 10.28vw; */
  color: #fff;
}
.contact .desc h3:first-child {
  margin-bottom: 2vw;
}

.nav {
}
.nav h4 {
  font-size: 7vw;
  font-weight: 700;
  color: #333;
  margin: 10vw 0 8vw;
}
.nav .items {
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nav .items .item {
  width: 18vw;
  height: 18vw;
  background: #fff;
  border-radius: 20px;
  border: 1px solid #7e7e7e;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.nav .items .item img {
  width: 10vw;
}
.nav .items .item:nth-child(2) img {
  width: 7vw;
}
.nav .items .item span {
  font-size: 3.9vw;
  font-weight: 500;
  color: #333;
  position: absolute;
  left: 50%;
  bottom: -30%;
  transform: translateX(-50%);
  display: block;
  width: 100%;
}
