@charset "UTF-8";
/* CSS INFORMATION =====================================================
File name : intro.css
Description : イントロ
===================================================================== */
/* ========================================================
    intro
======================================================== */
.intro {
  position: relative;
  width: 100%;
  padding: 16rem 0;
}
@media screen and (min-width: 768px) {
  .intro {
    padding: 12rem 0;
  }
}
.intro_ttl {
  position: absolute;
  left: calc(50% - 27.5rem);
  top: 10rem;
  display: block;
  width: auto;
  padding: 0;
  text-align: left;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .intro_ttl {
    left: 15.4545454545%;
    top: 4.6189376443%;
  }
}
.intro_ttl > h2 {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  width: auto;
}
.intro_ttl > h2::before {
  content: "";
  position: absolute;
  left: -17.3rem;
  top: calc(50% - 22.15rem);
  display: block;
  width: 34.6rem;
  aspect-ratio: 346/443;
  background-image: url(../images/intro/intro_bg01.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
@media screen and (min-width: 768px) {
  .intro_ttl > h2::before {
    left: -12.9rem;
    top: calc(50% - 16.5rem);
    width: 25.8rem;
  }
}
.intro_ttl > h2 > em {
  position: relative;
  color: #000000;
  font-family: "Goudy Bookletter 1911", serif;
  font-size: 6rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .intro_ttl > h2 > em {
    font-size: 5rem;
  }
}
.intro_ttl > h2 > span {
  position: relative;
  color: #060203;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .intro_ttl > h2 > span {
    font-size: 2rem;
  }
}
.intro_ttl > h2 > span > span {
  font-family: "Shippori Mincho", serif;
}
.intro_column {
  position: relative;
  width: 100%;
}
.intro_img {
  position: relative;
  width: 98.7692307692%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .intro_img {
    width: 101.2%;
    margin: 0 -0.6%;
  }
}

main:has(+ .footer .pagetop:first-child) section.intro {
  padding-bottom: 34rem;
}
@media screen and (min-width: 768px) {
  main:has(+ .footer .pagetop:first-child) section.intro {
    padding-bottom: 18rem;
  }
}/*# sourceMappingURL=intro.css.map */