@charset "UTF-8";

  /*** more-btn ***/
.more-btn {
  padding: 5px 2em 5px 0.7em;
  font-size: 1.375rem;
  font-weight: 600;
  font-family: var(--font-en);
  cursor: pointer;
  position: relative;
}
.more-btn span {
  font-size: 1.375rem;
  font-weight: 600;
  margin-left: 0.3em;
  width: 25px;
  position: absolute;
  top: 40%;
  right: -25px;
  transform: translate(-50%, -50%);
}
.more-btn span::before{
  content: "";
  background-color: #000;
  width: 20px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
}

/*** contents-title ***/
.contents-title {
  font-weight: 900;
  font-size: 2.109rem;
  line-height: 1.2;
}
/*** contents-des ***/
.contents-des {
  font-weight: 700;
  font-size: 1.266rem;
}

  /*** main ***/
  .main {
    padding: 258px 60px 90px;
    text-align: center;
  }
  .main .main-slide-img {
    display: block;
    padding: 0 10px;
    width: 90%;
    height: 80vh;
    margin: 0 auto;
  }
  .main .main-slide-img img {
    height: 100%;
  }
  .main .txt-wrapper {
    padding: 20px 10px 0;
  }
  .main .txt-wrapper .main-txt {
    padding: 50px 20px;
  }
  .main .more-btn:hover {
    padding-right: 60px;
  }

  /* locations */
  .locations {
    padding: 40px 0 40px 60px;
    display: grid;
    grid-template-columns: 25% 75%;
  }
  .locations .locations-title {
    padding: 0;
    border-right: 2px solid #000;
    position: relative;
    z-index: 100;
  }
  .locations .locations-title .contents-title {
    padding: 0 10px 0;
  }
  .locations .locations-title .contents-des {
    margin: 30px 0 0 0;
    padding: 0 25px 40px 10px;
    line-height: 1.5;
    word-break: keep-all;
    vertical-align: baseline;
    box-sizing: border-box;
  }
  .locations .locations-title .swiper-pagination {
    width: 100%;
    padding: 0 30px 0 10px;
    margin: 0;
    flex-wrap: nowrap;
    flex-direction: column;
  }
  .locations .locations-title .swiper-pagination .swiper-pagination-bullet:first-child {
    border-top: 1px solid #000;
  }
  .locations .locations-title .swiper-pagination .swiper-pagination-bullet {
    width: 100%;
    height: 100%;
    text-align: left;
    font-size: 1.25rem;
    padding: 9px 0 8px 6px;
    border: none;
    border-bottom: 1px solid #000;
  }

  /* locations slide */
  .locations .main-slide {
    display: block;
    width: 100%;
    overflow: hidden;
  }
  .locations .main-slide .swiper-wrapper:hover {
    cursor: url(../images/swipe-cursor.svg) 12 12, auto;
  }
  .locations .main-slide .swiper-wrapper .swiper-slide .slide-link span img:hover {
    transform: scale(1.1);
    cursor: url(../images/swipe-cursor.svg) 12 12, auto;
  }
  
  /* community */
  .community {
    padding: 0 0 0 60px;
    display: grid;
    grid-template-columns: 25% 75%;
    position: relative;
    overflow: hidden;
  }
  .community .content-wrapper {
    padding: 40px 10px 20px;
    border-right: 1px solid #000;
  }
  .community .content-container {
    text-align: center;
    display: grid;
    grid-template-rows: 2fr 0.3fr 2fr;
    grid-template-columns: 1fr 1fr;
  }
  .community .content-container .grid-img {
    height: 25vw;
    border-bottom: 1px solid #000;
    grid-column: 1 / 3;
  }
  .community .content-container .grid-img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .community .content-container .contents-des {
    padding: 40px;
    font-weight: 700;
    word-wrap: break-word;
    grid-column: 1 / 3;
  }
  .community .community-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column: 1 / 3;
  }
  .community .community-list li {
    padding: 40px;
    font-size: var(--main-font-18);
    font-weight: 500;
    line-height: 1.6;
  }
  .community .community-list li:nth-child(1) {
    border-right: 1px solid #000;
  }
  .community .community-list li:nth-child(3) {
    border-right: 1px solid #000;
    border-bottom: none;
  }
  .community .community-list li:nth-child(4) {
    border-bottom: none;
  }
  .community .community-list h4 {
    font-size: 1.406rem;
    font-weight: 700;
    padding-bottom: 10px;
    line-height: 1.3;
  }
  .community .community-img {
    width: 28%;
    padding: 0;
    padding: 0 60px 0;
    position: absolute;
    bottom: 20px;
    left: 0;
  }
  .community .more-btn {
    background-color: var(--bg-color-yellow);
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    margin: 0;
    padding: 6.6px 44px 6.6px 15.4px;
    font-size: 1.375rem;
    position: absolute;
    top: 0;
    right: 0;
  }
  .community .more-btn:hover {
    padding-right: 60px;
  }

  /* journal */
  .journal {
    padding: 40px 0 40px 60px;
    display: grid;
    grid-template-columns: 25% 75%;
    position: relative;
  }
  .journal .sub-slide {
    margin-top: 67px;
    overflow: hidden;
  }
  .journal .sub-slide .swiper-wrapper {
    padding: 0 10px 0;
  }
  .journal .sub-slide .swiper-wrapper .swiper-slide {
    width: 36%;
    width: 36%;
  }
  .journal .sub-slide .swiper-wrapper .swiper-slide a {
    cursor: url(../images/swipe-cursor.svg) 12 12, auto;
  }
  .journal .more-btn {
    height: 50.5px;
    font-size: 1.375rem;
    position: absolute;
    top: 30px;
    right: 80px;
  }
  .journal .more-btn:hover {
    padding-right: 60px;
  }

  /* faq */
  .faq {
    padding: 40px 60px 60px;
    display: grid;
    grid-template-columns: 28% 72%;
  }
  .faq .faq-list {
    padding-top: 0;
    margin-bottom: 0;
  }
  .faq .faq-list > li {
    padding: 20px 0 15px;
    background-size: 30px 30px;
  }
  .faq .faq-list .list-title {
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1.4;
  }
  .faq .faq-list .list-txt {
    font-size: var(--main-font-16);
  }

  /* subs */
  .subs {
    padding: 40px 60px 60px;
    display: grid;
    grid-template-columns: 72% 28%;
  }
  .subs h3 {
    font-size: var(--title-font);
    font-weight: 500;
    padding-bottom: 40px;
    margin-bottom: 0;
  }
  .subs ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .subs ul li {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .subs ul li:nth-child(1) {
    padding: 0 5px 5px 0;
  }
  .subs ul li:nth-child(2) {
    padding: 0 0 5px 5px;
  }
  .subs ul li:nth-child(1) input, 
  .subs ul li:nth-child(2) input {
    padding: 15px 14px;
    font-size: 1.25rem;
    font-weight: 700;
  }
  .subs ul li:nth-child(3) {
    grid-column: span 2;
    padding-bottom: 0;
    line-height: 1.8em;
  }
  .subs ul li span {
    font-size: var(--main-font-16);
  }
  .subs button {
    font-size: 1.25rem;
    height: 52px;
    line-height: 56px
  }
  .subs .subs-img {
    padding: 0 10px 0;
    margin-bottom: 0;
    position: relative;
  }
  .subs .subs-img img {
    max-width: 180px;
    position: absolute;
    bottom: 0;
    right: 8%;
  }