@import url("https://fonts.googleapis.com/css2?family=Dancing+Script:wght@700&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 76%;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  background-image: url("images/bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}
body.no-scroll {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
}

.sp-br {
  display: none;
}

header {
  width: 100%;
  padding: 3rem 0;
}
header .container {
  display: flex;
  padding: 1rem 6rem;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  width: 92%;
  max-width: 1200px;
  background-color: #fff;
  box-shadow: 0.2rem 0.5rem 0.5rem rgba(0, 0, 0, 0.2);
  border-radius: 100vh;
}
header .container .logo {
  width: 20rem;
  z-index: 100;
  position: relative;
  vertical-align: top;
}
header .container .navigation-items {
  display: flex;
  align-items: center;
  cursor: pointer;
}
header .container .navigation-items .navigation-item {
  margin: 0 1rem;
  font-size: 1.2rem;
  display: inline-block;
  padding-right: 2.5rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.87);
  text-decoration: none;
  display: inline-block;
}
header .container .navigation-items .navigation-item:hover {
  color: rgba(0, 0, 0, 0.5);
}
header .container .hamburger-menu {
  display: none;
  width: 30px;
  height: 20px;
  position: relative;
  cursor: pointer;
  z-index: 100;
}
header .container .hamburger-menu span {
  display: block;
  height: 3px;
  width: 100%;
  background: #e4bc5f;
  position: absolute;
  left: 0;
  transition: 0.3s ease-in-out;
}
header .container .hamburger-menu span:nth-child(1) {
  top: 0;
}
header .container .hamburger-menu span:nth-child(2) {
  top: 9px;
}
header .container .hamburger-menu span:nth-child(3) {
  bottom: 0;
}
header .container .hamburger-menu.active span:nth-child(1) {
  top: 9px;
  transform: rotate(-45deg);
}
header .container .hamburger-menu.active span:nth-child(2) {
  opacity: 0;
}
header .container .hamburger-menu.active span:nth-child(3) {
  bottom: 9px;
  transform: rotate(45deg);
}
header .sp-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  z-index: 99;
  padding-top: 10rem;
}
header .sp-nav ul {
  list-style: none;
  text-align: center;
}
header .sp-nav ul li {
  border-bottom: 1px solid #46ad55;
  width: 92%;
  margin: 0 auto;
}
header .sp-nav ul li a {
  color: rgba(0, 0, 0, 0.87);
  font-size: 1.8rem;
  text-decoration: none;
  font-weight: 700;
  display: block;
  width: 100%;
  padding: 2rem 0;
}
header .sp-nav.active {
  display: block;
}

main .fv {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 3rem;
  position: relative;
}
main .fv .item {
  width: 100%;
  padding: 0 70px;
}
main .fv .item img {
  width: 100%;
}
main .fv .item img.sp-image {
  display: none;
}
main .fv .item h2, main .fv .item h3, main .fv .item p {
  display: none;
}
main .fv .slick-arrow {
  background-color: #fff;
  border-radius: 50%;
  opacity: 0.7;
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
}
main .fv .slick-arrow.prev {
  left: 0;
}
main .fv .slick-arrow.next {
  right: 0;
}
main .about {
  margin-bottom: 8rem;
}
main .about .container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
main .about .container .content {
  width: 90%;
  padding: 4rem 30rem 4rem 3rem;
  border-radius: 2rem;
  box-shadow: 3px 3px 6px 4px #f4f4f4;
  background-color: #fff;
}
main .about .container .content .title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}
main .about .container .content .title img {
  padding: 0;
  width: auto;
  height: 4rem;
  margin: 0 1rem 0 0;
}
main .about .container .content .title h2 {
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0;
  color: #3eb44f;
}
main .about .container .content .line {
  height: 3px;
  background: radial-gradient(circle, #3eb44f 0, transparent 100%);
  margin-bottom: 2rem;
}
main .about .container .content .info {
  width: 100%;
}
main .about .container .content .info h3 {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 2rem;
  font-weight: 500;
}
main .about .container .content .info p {
  margin: 0 auto;
  font-size: 1.5rem;
  max-width: 500px;
}
main .about .container > img {
  width: 32%;
  right: 0;
  bottom: -2rem;
  position: absolute;
  border-radius: 2rem;
}
main .connect .container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 3rem 0;
}
main .connect .container .content {
  width: 40%;
}
main .connect .container .content .title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}
main .connect .container .content .title img {
  padding: 0;
  width: auto;
  height: 4rem;
  margin: 0 1rem 0 0;
}
main .connect .container .content .title h2 {
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0;
  color: #3eb44f;
}
main .connect .container .content .line {
  height: 3px;
  background: radial-gradient(circle, #3eb44f 0, transparent 100%);
  margin-bottom: 2rem;
}
main .connect .container .content .info {
  width: 100%;
}
main .connect .container .content .info h3 {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 2rem;
  font-weight: 500;
}
main .connect .container .content .info p {
  margin: 0 auto;
  font-size: 1.5rem;
  max-width: 500px;
}
main .connect .container .image {
  width: 60%;
}
main .connect .container .image img {
  width: 100%;
}
main .connect .container .image.sp {
  display: none;
}
main .mission {
  background-image: url("images/mission-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 17rem 0;
  margin-top: 3rem;
}
main .mission .container {
  background-color: hsla(0, 0%, 100%, 0.9);
  border-radius: 1rem;
  padding: 3rem;
  width: 550px;
  margin: 0 auto;
}
main .mission .container > img {
  display: none;
}
main .mission .container .content .title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}
main .mission .container .content .title img {
  padding: 0;
  width: auto;
  height: 4rem;
  margin: 0 1rem 0 0;
}
main .mission .container .content .title h2 {
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0;
  color: #3eb44f;
}
main .mission .container .content .line {
  height: 3px;
  background: radial-gradient(circle, #3eb44f 0, transparent 100%);
  margin-bottom: 2rem;
}
main .mission .container .content .info {
  width: 100%;
}
main .mission .container .content .info h3 {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 2rem;
  font-weight: 500;
}
main .mission .container .content .info p {
  margin: 0 auto 3rem;
  font-size: 1.5rem;
}
main .mission .container .content .info a {
  max-width: 350px;
  background-color: #3eb44f;
  border-radius: 100vh;
  cursor: pointer;
  display: block;
  width: 100%;
  padding: 1rem 3rem;
  text-align: center;
  margin: 0 auto;
  color: #fff;
  text-decoration: none;
  position: relative;
}
main .mission .container .content .info a::after {
  content: "";
  width: 22.88px;
  height: 13.97px;
  background-image: url("images/arrow.svg");
  background-position: center;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  transition: transform 0.2s;
}
main .mission .container .content .info a:hover {
  background-color: rgba(62, 180, 80, 0.8);
}
main .mission .container .content .info a:hover::after {
  transform: translate(-0.3rem, -50%);
}
main .member {
  margin-top: 3rem;
}
main .member .container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
main .member .container .image {
  width: 40%;
  background-image: url("images/member.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left top;
  display: block;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
}
main .member .container .image img {
  display: none;
}
main .member .container .content {
  flex: 1;
  padding: 4rem;
  background-color: #f4f4f4;
  display: block;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
}
main .member .container .content .title {
  margin-bottom: 1rem;
}
main .member .container .content .title h2 {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0;
  color: #3eb44f;
}
main .member .container .content .line {
  height: 3px;
  background: radial-gradient(circle, #3eb44f 0, transparent 100%);
  margin-bottom: 2rem;
}
main .member .container .content .info {
  width: 100%;
}
main .member .container .content .info h3 {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 2rem;
  font-weight: 500;
}
main .member .container .content .info p {
  margin: 0 auto;
  font-size: 1.6rem;
  margin: 0 auto 3rem;
  max-width: 500px;
}
main .member .container .content .info a {
  max-width: 350px;
  background-color: #3eb44f;
  border-radius: 100vh;
  cursor: pointer;
  display: block;
  width: 100%;
  padding: 1rem 3rem;
  text-align: center;
  margin: 0 auto;
  color: #fff;
  text-decoration: none;
  position: relative;
}
main .member .container .content .info a::after {
  content: "";
  width: 22.88px;
  height: 13.97px;
  background-image: url("images/arrow.svg");
  background-position: center;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  transition: transform 0.2s;
}
main .member .container .content .info a:hover {
  background-color: rgba(62, 180, 80, 0.8);
}
main .member .container .content .info a:hover::after {
  transform: translate(-0.3rem, -50%);
}
main .about-fv {
  text-align: center;
  margin-bottom: 3rem;
  height: 33rem;
  background-image: url("images/about-fv.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  position: relative;
}
main .about-fv::after {
  content: "";
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, #fff 0, transparent 100%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
}
main .about-fv h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 20;
  text-align: center;
  font-size: 3rem;
  width: 100%;
}
main .about-top {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
main .about-top h3 {
  font-size: 2rem;
  color: #3eb44f;
  font-weight: 700;
  margin-bottom: 1rem;
}
main .about-top h2 {
  font-size: 2.7rem;
  margin-bottom: 3rem;
}
main .about-top p {
  font-size: 1.6rem;
  margin-bottom: 3rem;
}
main .about-top h4 {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 3rem;
}
main .about-image {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
main .about-image img {
  width: 100%;
  border-radius: 2rem;
}
main .about-content {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 3rem;
  padding: 0 10rem;
}
main .about-content h2 {
  font-size: 2rem;
  color: #3eb44f;
  font-weight: 700;
  margin-bottom: 2rem;
  margin-top: 3rem;
}
main .about-content p {
  font-size: 1.6rem;
}
main .about-president {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10rem;
}
main .about-president h3 {
  color: #3eb44f;
  margin-bottom: 2rem;
  text-align: center;
  font-size: 1.6rem;
}
main .about-president h2 {
  margin-bottom: 2rem;
  font-size: 2rem;
  text-align: center;
  font-weight: 400;
}
main .about-president .line {
  height: 3px;
  background: radial-gradient(circle, #3eb44f 0, transparent 100%);
  margin-bottom: 2rem;
}
main .about-president .president-inner {
  display: flex;
  justify-content: space-between;
  align-items: top;
}
main .about-president .president-inner .president-image {
  width: 50%;
}
main .about-president .president-inner .president-image .image {
  width: 100%;
  height: 0;
  padding-bottom: 88%;
  background-image: url("images/member.jpg");
  background-position: top left;
  background-size: cover;
  background-repeat: no-repeat;
  margin-bottom: 2rem;
}
main .about-president .president-inner .president-image .sp-image {
  display: none;
  width: 100%;
  height: auto;
  margin-bottom: 2rem;
}
main .about-president .president-inner .president-image p {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
main .about-president .president-inner .president-image a {
  max-width: 400px;
  background-color: #3eb44f;
  border-radius: 100vh;
  cursor: pointer;
  display: block;
  width: 100%;
  padding: 1rem 3rem;
  text-align: center;
  color: #fff;
  text-decoration: none;
  position: relative;
}
main .about-president .president-inner .president-image a::after {
  content: "";
  width: 22.88px;
  height: 13.97px;
  background-image: url("images/arrow.svg");
  background-position: center;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  transition: transform 0.2s;
}
main .about-president .president-inner .president-image a:hover {
  background-color: rgba(62, 180, 80, 0.8);
}
main .about-president .president-inner .president-image a:hover::after {
  transform: translate(-0.3rem, -50%);
}
main .about-president .president-inner .president-info {
  width: 45%;
}
main .about-president .president-inner .president-info h4 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
main .about-president .president-inner .president-info p {
  margin-bottom: 2rem;
  font-size: 1.6rem;
}
main .about-president .president-inner .president-info .sp-text {
  display: none;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
main .about-president .president-inner .president-info a {
  display: none;
  max-width: 400px;
  background-color: #3eb44f;
  border-radius: 100vh;
  cursor: pointer;
  width: 100%;
  padding: 1rem 3rem;
  text-align: center;
  color: #fff;
  text-decoration: none;
  position: relative;
}
main .about-president .president-inner .president-info a::after {
  content: "";
  width: 22.88px;
  height: 13.97px;
  background-image: url("images/arrow.svg");
  background-position: center;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  transition: transform 0.2s;
}

.site-footer {
  position: relative;
  margin-top: 8rem;
}
.site-footer .move-top {
  position: absolute;
  right: 2rem;
  top: 0;
  transform: translateY(-100%);
  height: 4rem;
  padding: 2rem;
  border-radius: 1.5rem 1.5rem 0 0;
  font-weight: 700;
  background-color: #494a55;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
  text-decoration: none;
}
.site-footer .move-top:hover {
  background-color: rgba(73, 74, 85, 0.8235294118);
}
.site-footer .container {
  padding: 3rem 0;
  background-color: #3eb44f;
}
.site-footer .container .footer-content {
  display: flex;
  padding: 1rem 6rem;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  width: 90%;
  max-width: 1200px;
  background-color: #fff;
  box-shadow: 0.2rem 0.5rem 0.5rem rgba(0, 0, 0, 0.2);
  border-radius: 100vh;
}
.site-footer .container .footer-content .logo {
  width: 20rem;
  z-index: 100;
  position: relative;
  vertical-align: top;
}
.site-footer .container .footer-content .navigation-items {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.site-footer .container .footer-content .navigation-items .navigation-item {
  margin: 0 1rem;
  font-size: 1.2rem;
  display: inline-block;
  padding-right: 2.5rem;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.87);
  text-decoration: none;
}
.site-footer .container .footer-content .navigation-items .navigation-item:hover {
  color: rgba(0, 0, 0, 0.5);
}
.site-footer .container .copyright {
  text-align: center;
  padding-top: 2rem;
  color: #fff;
  font-size: 1.2rem;
}

@media screen and (max-width: 960px) {
  html {
    font-size: 67%;
  }
  .sp-br {
    display: block;
  }
  .pc-br {
    display: none;
  }
  header {
    padding: 2rem 0;
  }
  header .container {
    padding: 0;
    background-color: inherit;
    box-shadow: none;
    border-radius: 0;
  }
  header .container .navigation-items {
    display: none;
  }
  header .container .hamburger-menu {
    display: block;
  }
  main .fv .item {
    padding: 0;
  }
  main .fv .item img {
    margin-bottom: 1rem;
  }
  main .fv .item img.pc-image {
    display: none;
  }
  main .fv .item img.sp-image {
    display: block;
  }
  main .fv .item h2, main .fv .item h3, main .fv .item p {
    display: block;
  }
  main .fv .item h2 {
    font-size: 3.2rem;
    line-height: 1.1;
  }
  main .fv .item h3 {
    font-size: 2.2rem;
    line-height: 1.2;
  }
  main .fv .item p {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.3;
    margin-top: 1rem;
  }
  main .fv .slick-dots {
    display: flex;
    justify-content: center;
    gap: 20px;
    list-style: none;
    padding: 0;
    margin-top: 23px;
  }
  main .fv .slick-dots li {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 50%;
    padding: 0;
  }
  main .fv .slick-dots li button {
    font-size: 0;
    line-height: 0;
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    background-color: transparent;
    border-radius: 50%;
    cursor: pointer;
  }
  main .fv .slick-dots li button:focus {
    outline: none;
  }
  main .fv .slick-dots li button::before {
    content: none;
  }
  main .fv .slick-dots li.slick-active button {
    background-color: rgba(0, 0, 0, 0.8);
  }
  main .about {
    background-color: #fff;
    padding: 3rem 0;
    margin: 0;
  }
  main .about .container {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: wrap;
    gap: 2rem;
  }
  main .about .container .content {
    width: 100%;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    background-color: inherit;
  }
  main .about .container .content .title {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  main .about .container .content .title img {
    margin: 0;
  }
  main .about .container .content .title h2 {
    width: 100%;
    text-align: center;
  }
  main .about .container > img {
    width: 100%;
    right: inherit;
    bottom: inherit;
    position: inherit;
  }
  main .connect .container {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 0;
    width: 100%;
  }
  main .connect .container .content {
    width: 90%;
    margin: 0 auto;
  }
  main .connect .container .content .title {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  main .connect .container .content .title img {
    margin: 0;
  }
  main .connect .container .content .title h2 {
    width: 100%;
    text-align: center;
  }
  main .connect .container .image {
    width: 100%;
  }
  main .connect .container .image.sp {
    display: block;
  }
  main .connect .container .image.pc {
    display: none;
  }
  main .mission {
    background-image: inherit;
    padding: 0;
  }
  main .mission .container {
    background-color: inherit;
    border-radius: 0;
    padding: 0;
    width: 100%;
  }
  main .mission .container > img {
    width: 100%;
    display: block;
  }
  main .mission .container .content {
    width: 90%;
    margin: 0 auto;
    padding: 2rem 0;
  }
  main .mission .container .content .title {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  main .mission .container .content .title img {
    margin: 0;
  }
  main .mission .container .content .title h2 {
    width: 100%;
    text-align: center;
  }
  main .member .container {
    width: 100%;
  }
  main .member .container .image {
    width: 100%;
    background-image: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  main .member .container .image img {
    display: block;
    width: 100%;
    height: auto;
  }
  main .member .container .content {
    flex: none;
    width: 100%;
    padding: 2rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  main .about-fv {
    height: 25rem;
  }
  main .about-fv h1 {
    font-size: 2.6rem;
  }
  main .about-top h3 {
    font-size: 1.6rem;
  }
  main .about-top h2 {
    font-size: 1.8rem;
  }
  main .about-top p {
    text-align: left;
  }
  main .about-top h4 {
    text-align: left;
    font-size: 1.6rem;
  }
  main .about-image img {
    border-radius: 0;
  }
  main .about-content {
    padding: 0;
  }
  main .about-content h2 {
    font-size: 1.8rem;
  }
  main .about-president {
    padding: 0;
  }
  main .about-president h3 {
    font-size: 1.6rem;
  }
  main .about-president h2 {
    font-size: 1.8rem;
  }
  main .about-president .president-inner {
    flex-wrap: wrap;
  }
  main .about-president .president-inner .president-image {
    width: 100%;
  }
  main .about-president .president-inner .president-image .image {
    display: none;
  }
  main .about-president .president-inner .president-image .sp-image {
    display: block;
  }
  main .about-president .president-inner .president-image p {
    display: none;
  }
  main .about-president .president-inner .president-image a {
    display: none;
  }
  main .about-president .president-inner .president-info {
    width: 100%;
  }
  main .about-president .president-inner .president-info h4 {
    font-size: 2rem;
  }
  main .about-president .president-inner .president-info p {
    margin-bottom: 2rem;
    font-size: 1.6rem;
  }
  main .about-president .president-inner .president-info .sp-text {
    display: block;
  }
  main .about-president .president-inner .president-info a {
    display: block;
  }
  .site-footer .move-top {
    right: 1rem;
  }
  .site-footer .container {
    padding: 3rem 0;
    background-color: #3eb44f;
  }
  .site-footer .container .footer-content {
    flex-wrap: wrap;
    gap: 2rem;
    padding: 2rem;
    box-shadow: none;
    border-radius: 1.5rem;
  }
  .site-footer .container .footer-content .navigation-items {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .site-footer .container .footer-content .navigation-items .navigation-item {
    margin: 0;
    font-size: 1.4rem;
    width: 100%;
  }
}/*# sourceMappingURL=style.css.map */