@charset "utf-8";

/* media */ /* ## PC/SP切り替え */
@media (min-width: 769px) {
  .u-sp {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .u-pc {
    display: none !important;
  }
  .u-sp {
    display: block;
  }
}

/* ## 記事の間隔ルール */
.u-content-rule p + p {
  margin-top: 2em;
}
.u-content-rule p + p:has(:is(img:not(.emoji), picture)),
.u-content-rule p:has(:is(img:not(.emoji), picture)) + p {
  margin-top: 4em;
}
.u-content-rule
  p:has(:is(img:not(.emoji), picture))
  + p:has(:is(img:not(.emoji), picture)) {
  margin-top: 1em;
}
.u-content-rule :is(img, picture) {
  width: 100%;
}
@media (max-width: 768px) {
  .u-content-rule p + p:has(:is(img:not(.emoji), picture)),
  .u-content-rule p:has(:is(img:not(.emoji), picture)) + p {
    margin-top: 3em;
  }
}

/* ## 言語 */
.u-en-2 {
  font-family: var(--en-2);
  font-weight: 300;
}
.u-en-1 {
  font-family: var(--en-1);
  font-weight: 200;
}
.u-ja-1 {
  font-family: var(--ja-1);
}
.u-ja-2 {
  font-family: var(--ja-2);
}

/* ## imgのトリミング */
.u-img-cover :is(img, picture) {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.u-img-contain :is(img, picture) {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

/* ## クリックエリアを拡大 */
.u-expand-click {
  position: relative;
}
.u-expand-click::before {
  content: "";
  position: absolute;
  inset: -12px;
}

/* ## 背景画像 */
.u-bg-default {
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* ## uppercase */
.u-uppercase {
  text-transform: uppercase;
}

/* ## underline */
.u-underline {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.u-map-cover iframe {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.u-hover-txt {
  transition: opacity 0.4s;
}
.u-hover-txt:hover {
  opacity: 0.6;
}

.u-hover-article .c-posts-list__txt-wrap {
  transition: opacity 0.4s;
}
.u-hover-article:hover .c-posts-list__txt-wrap {
  opacity: 0.6;
}
