.hero {
  position: relative;
}

.hero-ttl {
  position: absolute;
  top: 170px;
  left: 0;
  z-index: 100;
  letter-spacing: 0.12em;
}

.hero-ttl span {
  display: block;
  padding: 10px 16px;
  background-color: var(--white);
  font-size: 50px;
  font-weight: bold;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 20px;
}

.hero .slick-prev,
.hero .slick-next {
  display: none !important;
}

.hero .slick-prev {
  left: 0;
}

.hero .slick-next {
  right: 0;
}

.herobox {
  background-color: #000;
  padding: 40px 0;
  text-align: center;
  color: #fff;
  position: absolute;
  z-index: 100;
  bottom: 0;
  width: 100%;
  right: 0;
  font-size: 33px;
}

@media screen and (max-width: 1024px) {
  .hero-ttl {
    position: relative;
    top: auto;
    bottom: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
  .hero-ttl span {
    background-color: rgba(255, 255, 255, 0.4);
    background-color: transparent;
    display: block;
    padding: 10px 10px;
    font-size: clamp(21.33333px, 6.66667vw, 50px);
    margin-bottom: 0;
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5);
  }
  .herobox {
    font-size: clamp(15.36px, 4.8vw, 36px);
    padding: 16px 0;
  }
}

/*------------
section
-------------*/
section [class$="-ttl"] {
  padding-bottom: 70px;
}

section [class$="-ttl"] .en {
  display: block;
  font-size: 33px;
}

section [class$="-ttl"] .l-text {
  font-size: 70px;
  font-weight: 500;
}

section [class$="-ttl"] .ja {
  font-size: 18px;
}

section [class$="Flex"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

section .link {
  margin-top: 60px;
}

section .link a {
  position: relative;
  width: 214px;
  display: block;
  margin: 0 0 0 auto;
  padding: 16px 0;
  border-bottom: 1px solid var(--black);
}

section .link a:hover {
  color: var(--orange);
  border-bottom: 1px solid var(--orange);
}

section .link .arrow {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 24px;
}

@media screen and (max-width: 1024px) {
  section [class$="-ttl"] {
    padding-bottom: 35px;
  }
  section [class$="-ttl"] .en {
    font-size: clamp(14.08px, 4.4vw, 33px);
  }
  section [class$="-ttl"] .l-text {
    font-size: clamp(29.86667px, 9.33333vw, 70px);
  }
  section [class$="-ttl"] .ja {
    font-size: clamp(12.8px, 4vw, 30px);
  }
  section [class$="Flex"] {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  section .link {
    margin-top: 35px;
  }
  section .link a {
    width: 38.66667vw;
    max-width: 290px;
    padding: 10px 0;
    font-size: clamp(12.8px, 4vw, 30px);
  }
}

/*-----------
about
------------*/
.about {
  margin-top: 250px;
  padding-left: 5%;
}

.aboutText {
  padding-right: 17%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.about-img {
  width: 50%;
}

.about h3 {
  font-size: 30px;
  font-weight: bold;
}

.about-text {
  margin-top: 40px;
  line-height: 2.5;
}

@media screen and (max-width: 1024px) {
  .about {
    margin-top: 45px;
    padding-left: 0;
  }
  .aboutText {
    padding-left: 5.06667%;
    padding-right: 5.06667%;
  }
  .about-img {
    width: 100%;
    margin-top: 45px;
  }
  .about h3 {
    font-size: clamp(15.36px, 4.8vw, 36px);
  }
  .about-text {
    margin-top: 15px;
    line-height: 1.66667;
  }
}

/*-----------
concept
------------*/
.concept {
  margin-top: 150px;
  padding-left: 5%;
}

.conceptFlex:nth-of-type(1) .conceptText {
  width: 51.28205%;
}

.conceptFlex:nth-of-type(1) .concept-img {
  width: 36.85897%;
}

.conceptFlex:nth-of-type(2) .conceptText {
  padding-right: 17%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.conceptFlex:nth-of-type(2) .concept-img {
  width: 50%;
}

@media screen and (max-width: 1024px) {
  .concept {
    margin-top: 45px;
    padding-left: 0;
  }
  .concept .ja {
    text-align: right;
    width: 100%;
    display: block;
    margin-top: 10px;
  }
  .concept .concept-ttl {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  .conceptFlex {
    padding-left: 5.06667%;
    padding-right: 5.06667%;
  }
  .conceptFlex:nth-of-type(1) .conceptText {
    width: auto;
  }
  .conceptFlex:nth-of-type(1) .concept-img {
    width: auto;
  }
  .conceptFlex:nth-of-type(2) .conceptText {
    padding-right: 0;
  }
  .conceptFlex:nth-of-type(2) .concept-img {
    width: auto;
  }
  .concept .about-img {
    margin-top: -30px;
  }
}

/*------------
facility
-------------*/
.facility {
  margin-top: 150px;
  padding-left: 5%;
  padding-right: 5%;
}

.facility h2 {
  padding-bottom: 55px;
  position: relative;
}

.facility h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 6px;
  content: '';
  background-color: var(--orange);
}

.facility h3 {
  margin-top: 70px;
  font-size: 30px;
  font-weight: bold;
}

.facility h4,
.facility h5 {
  font-size: 30px;
  font-weight: bold;
}

.facilityFlex {
  margin-bottom: 80px;
}

.facilityFlex:nth-of-type(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.facility-img {
  width: 58.57143%;
}

.facilityText {
  width: 37.14286%;
}

.facility-text {
  margin-top: 40px;
  line-height: 2.375;
}

@media screen and (max-width: 1024px) {
  .facility {
    margin-top: 45px;
    padding-left: 0;
    padding-right: 0;
  }
  .facility h2 {
    padding-bottom: 25px;
    padding-left: 5.06667%;
    padding-right: 5.06667%;
  }
  .facility h2::after {
    width: 5.33333vw;
    height: 3px;
    left: 5.06667%;
  }
  .facility h3 {
    margin-top: 35px;
    font-size: 20px;
  }
  .facility h4,
  .facility h5 {
    font-size: clamp(15.36px, 4.8vw, 36px);
  }
  .facilityFlex {
    margin-bottom: 40px;
  }
  .facilityFlex:nth-of-type(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .facility-img {
    width: 90vw;
    max-width: 675px;
    margin: 0 0 0 auto;
  }
  .facilityText {
    width: auto;
    padding-left: 5.06667%;
    padding-right: 5.06667%;
  }
  .facility-text {
    margin-top: 20px;
    line-height: 1.66667;
    padding-bottom: 25px;
  }
}

/*------------
news
-------------*/
.news {
  margin-top: 230px;
  padding-left: 5%;
  padding-right: 5%;
}

.news .link {
  margin-top: 18px;
}

.news h2 {
  padding-bottom: 55px;
  position: relative;
}

.news h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 6px;
  content: '';
  background-color: var(--orange);
}

.news ul {
  margin-top: 80px;
}

.news li {
  width: 25%;
}

.news time {
  font-size: 17px;
  color: var(--orange);
  font-weight: bold;
  padding: 20px 0;
  display: inline-block;
}

.news h3 {
  font-size: 18px;
  line-height: 1.38889;
  font-weight: bold;
  width: 60%;
}

.news .slick-prev,
.news .slick-next {
  display: none !important;
}

@media screen and (max-width: 1024px) {
  .news {
    margin-top: 70px;
    padding-left: 5.06667%;
    padding-right: 5.06667%;
  }
  .news .link.sp {
    margin: 30px 0 0 auto;
    display: block !important;
  }
  .news h2 {
    padding-bottom: 25px;
  }
  .news h2::after {
    width: 5.33333vw;
    height: 3px;
  }
  .news ul {
    margin-top: 40px;
  }
  .news ul li {
    padding-left: 8vw;
  }
  .news time {
    font-size: clamp(12.8px, 4vw, 30px);
    padding: 20px 0 10px;
  }
  .news h3 {
    font-size: clamp(12.8px, 4vw, 30px);
    line-height: 1.66667;
    width: auto;
  }
}

/*------------
access
-------------*/
.access {
  margin-top: 230px;
  padding-left: 5%;
}

.access h2 {
  padding-bottom: 55px;
  position: relative;
}

.access h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 6px;
  content: '';
  background-color: var(--orange);
}

.accessSummary {
  margin-top: 70px;
}

.access dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 2.0625;
}

.access dt {
  width: 130px;
}

.access dd {
  width: calc(100% - 130px);
}

.access dl:nth-of-type(n+2) {
  margin-top: 40px;
}

@media screen and (max-width: 1024px) {
  .access {
    margin-top: 100px;
    padding-left: 0;
  }
  .access h2 {
    padding-bottom: 25px;
    padding-left: 5.06667%;
    padding-right: 5.06667%;
  }
  .access h2::after {
    width: 5.33333vw;
    height: 3px;
    left: 5.06667%;
  }
  .accessSummary {
    margin-top: 35px;
    padding-bottom: 45px;
    padding-left: 5.06667%;
    padding-right: 5.06667%;
  }
  .access dl {
    line-height: 1.66667;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .access dt {
    width: auto;
  }
  .access dd {
    width: auto;
  }
  .access dl:nth-of-type(n+2) {
    margin-top: 20px;
  }
  .access-img img {
    width: 100%;
  }
}
/*# sourceMappingURL=style.css.map */