/*==============================
        content
==============================*/
#header .header .header_inner .header_btn {
  background-color: #FFFFFF;
}
#header .header .header_inner .header_btn::before, #header .header .header_inner .header_btn::after {
  background-color: var(--color_blue);
}

#pagetitle {
  padding: 300px 0 0;
}
#pagetitle .title {
  width: calc(100% - 150px);
  max-width: 1680px;
  margin: 0 auto;
  text-align: center;
}
#pagetitle .title h1 {
  font-size: 12.8rem;
  line-height: 1;
}
#pagetitle .title .ttl {
  font-size: 3.6rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 500;
  padding-top: 0.5em;
}
#pagetitle .title .subttl {
  display: block;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 500;
  padding-top: 0.5em;
}
#pagetitle .title .img {
  margin-top: 40px;
}
#pagetitle .title .img img {
  display: block;
  border-radius: 80px;
}

section .wrap {
  padding-top: 180px;
}
section .wrap .contents {
  max-width: 1600px;
}

main section:not(.noobserve) {
  transition: 1s;
  opacity: 0;
  transform: translateY(50px);
}
main section:not(.noobserve).show {
  opacity: 1;
  transform: translateY(0);
}
@media (hover: hover) {
  body.menuopen #header .header .header_inner .header_btn {
    background-color: var(--color_blue);
  }
  body.menuopen #header .header .header_inner .header_btn::before, body.menuopen #header .header .header_inner .header_btn::after {
    background-color: #FFFFFF;
  }
}
@media screen and (max-width: 1500px) {
  #pagetitle .title {
    width: calc(100% - 100px);
  }
}
@media screen and (max-width: 1200px) {
  #pagetitle .title {
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 1024px) {
  #pagetitle {
    padding: 250px 0 0;
  }
  #pagetitle .title {
    width: calc(100% - 40px);
  }
  #pagetitle .title h1 {
    font-size: 9.8rem;
  }
  #pagetitle .title .ttl {
    font-size: 3rem;
  }
  #pagetitle .title .subttl {
    font-size: 1.6rem;
  }
  #pagetitle .title .img img {
    display: block;
    border-radius: 60px;
  }
  section .wrap {
    padding-top: 120px;
  }
}
@media screen and (max-width: 768px) {
  #pagetitle {
    padding: 200px 0 0;
  }
  #pagetitle .title h1 {
    font-size: 5.2rem;
  }
  #pagetitle .title .ttl {
    font-size: 1.8rem;
  }
  #pagetitle .title .subttl {
    font-size: 1.2rem;
  }
  #pagetitle .title .img {
    margin-top: 30px;
  }
  #pagetitle .title .img img {
    border-radius: 20px;
  }
  section .wrap {
    padding-top: 90px;
  }
}