h1,
.h1,
h2,
.h2,
h3,
.h3,
.display {
  letter-spacing: normal;
  margin-bottom: .5em
}

h1,
.h1 {
  font-size: 1.3725rem;
  margin-bottom: 1em
}

h2,
.h2 {
  font-size: 1.25rem;
}

h3,
.h3 {
  font-size: 1rem;
  margin-bottom: 1em
}

h4,
.h4 {
  font-size: .9875rem;
  margin-bottom: var(--m);
}

h5,
.h5 {
  font-size: .875rem;
}

h6,
.h6 {
  font-size: .75rem
}

.display {
  font-size: 1.375rem;
}

.sml {
  font-size: .75rem;
}

.note {
  font-size: var(--h8);
  font-weight: 500;
  color: var(--c3) !important;
  margin-bottom: 1em;
}

.cap a {
  color: var(--c3) !important;
}

[class*="ico-"],
strong {
  color: var(--c1) !important;
}

[class*="ico-"]::before {
  filter: var(--filter2);
}

main .row:first-child {
  padding-top: var(--l)
}

.header .wrapper {
  max-width: var(--container);
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.yhsa-logo img {
  height: 70px;
  margin: 2.5rem auto 1rem;
}

a.ig img {
  width: 34px;
  filter: var(--filter);
  margin-top: 1rem;
}

#goTop {
  background-color: var(--c3);
}

@media (max-width: 639px) {

  .m2-1 .m2-1>a,
  .m2-2 .m2-2>a,
  .m2-3 .m2-3>a,
  .m2-4 .m2-4>a,
  .m2-5 .m2-5>a,
  .m2-6 .m2-6>a,
  .m2-7 .m2-7>a,
  .m2-8 .m2-8>a {
    color: var(--menu-current) !important;
    font-weight: var(--bold);
    opacity: 1;
  }
}

@media (min-width: 640px) {
  .header {
    position: relative;
    background: none;
  }

  .yhsa-logo img {
    margin-top: 2.5rem;
    height: 100px;
  }

  .menu li a {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .menu li:last-child ul {
    left: .5rem;
    right: auto;
  }

  .menu-item-has-children ul {
    border-radius: var(--rad);
  }

  .menu-item-has-children ul li a {
    font-size: var(--h7);
    padding: 1rem 2rem;
  }

  .menu-item-has-children ul li:nth-child(even) a {
    background-color: var(--c9);
  }

  .menu-item-has-children ul li.current-menu-item a {
    filter: none;
    background: var(--a2);
    color: #fff;
  }

  .menu-item-has-children ul li a:hover {
    filter: none;
    color: var(--c1);
    background-color: var(--c6);
  }

  a.ig {
    display: block;
    position: absolute;
    top: 0;
    right: 1rem;
    padding: 5px;
  }

  .m2-1 .m2-1>a,
  .m2-2 .m2-2>a,
  .m2-3 .m2-3>a,
  .m2-4 .m2-4>a,
  .m2-5 .m2-5>a,
  .m2-6 .m2-6>a,
  .m2-7 .m2-7>a,
  .m2-8 .m2-8>a {
    color: #fff !important;
    font-weight: var(--bold);
    background: var(--a2) !important;
  }
}

[class*=mono] * {
  background: #6d737b;
  filter: none;
  mix-blend-mode: normal;
  transition: filter .6s ease, mix-blend-mode .6s ease;
}

.mono2 * {
  filter: grayscale(1) invert(100%) brightness(1.5) saturate(0) contrast(0.8);
}

[class*=mono].active * {
  filter: grayscale(1) brightness(0.9) saturate(0) contrast(1.1);
  mix-blend-mode: luminosity;
}

.darker {
  background-color: var(--c8);
}

.darkest {
  background-color: var(--c9);
}

/* video */
.vid {
  position: relative;
  display: inline-block;
  background: var(--c9)
}

.vid img {
  display: block;
  width: 100%;
  height: auto;
}

.vid::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 1);
  transition: opacity .8s;
  opacity: .3;
  z-index: 1;
}

.vid::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 120px;
  aspect-ratio: 1;
  background: white;
  clip-path: polygon(30% 20%, 30% 80%, 80% 50%);
  opacity: 1;
  z-index: 2;
}

.vid:hover::before {
  opacity: .1;
}

.project-grid [class*=col-] {
  justify-content: flex-start;
}

.project-grid [class*=col-]>p {
  margin: 0;
}

.project-grid h4 {
  margin-bottom: .25rem;
  margin-top: 1.125rem;
  line-height: 1.1
}

.project-grid img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-duration: 1s
}

.project-grid a {
  display: flex;
  position: relative;
  overflow: hidden;
  background: var(--c9);
}

.project-grid p {
  font-size: var(--h8);
  font-weight: 500;
  color: var(--c3) !important
}

body:not(.is-cms) .project-grid a::after {
  content: "";
  background: rgba(0, 0, 0, .2);
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .4s ease-in-out;
}

body:not(.is-cms) .project-grid a:hover::after {
  opacity: 1;
}

body:not(.is-cms) .project-grid a:hover>* {
  transform: scale(1.05);
}

@media screen and (min-width: 640px) {
  .project-grid img {
    aspect-ratio: calc(1/1.5);
  }
}

.no a {
  pointer-events: none;
}

.no p {
  cursor: not-allowed;
}

/* Embla */
.embla,
.embla__viewport {
  position: relative;
  overflow: hidden;
  text-align: center;
}

.embla__container {
  display: inline-flex;
  margin: 0 auto;
}

.embla__slide {
  flex: 0 0 auto;
}

/* Homepage hero slider */
.embla1 .embla__slide {
  flex: 0 0 100%;
  padding-bottom: 0;
}

.embla__dots {
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: var(--m);
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  padding: 0;
}

.embla__dot {
  min-width: auto;
  width: var(--h8);
  height: var(--h8);
  border-radius: 50%;
  margin: 0 8px;
  border: none;
  background: #fff;
  cursor: pointer;
  opacity: .7;
  padding: 0;
  position: relative;
}

.embla__dot-selected {
  opacity: 1;
  background: var(--a1);
}

/* Project/gallery slider */
.embla2 {
  max-width: 100%;
  margin: 6px auto;
  --slide-spacing: 6px;
  height: 50vh;
}

.embla2 .embla__container {
  touch-action: pan-y pinch-zoom;
  margin-left: calc(var(--slide-spacing) * -1);
  background-color: var(--light);
}

.embla2 .embla__slide {
  height: 50vh;
  padding-left: var(--slide-spacing);
  display: flex;
  align-items: center;
  justify-content: center;
}

.embla2 .embla__slide a {
  display: inline-block;
  height: 100%;
}

.embla2 .embla__slide img {
  height: 100%;
  width: auto;
  display: block;
  user-select: none;
  object-fit: cover;
  background-color: var(--c9);
}

.project-details{
  font-size: 90%;
  background-color: var(--c6);
  min-height: 20vh;
}

.project-details .cap{
  color: var(--c1);
  margin-bottom: .25rem
}

.project-details em{
  color: var(--c1);
}