#content {
  /* http://meyerweb.com/eric/tools/css/reset/ 
     v2.0 | 20110126
     License: none (public domain)
  */
  /* HTML5 display-role reset for older browsers */
}

#content html,
#content body,
#content div,
#content span,
#content applet,
#content object,
#content iframe,
#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6,
#content p,
#content blockquote,
#content pre,
#content a,
#content abbr,
#content acronym,
#content address,
#content big,
#content cite,
#content code,
#content del,
#content dfn,
#content em,
#content img,
#content ins,
#content kbd,
#content q,
#content s,
#content samp,
#content small,
#content strike,
#content strong,
#content sub,
#content sup,
#content tt,
#content var,
#content b,
#content u,
#content i,
#content center,
#content dl,
#content dt,
#content dd,
#content ol,
#content ul,
#content li,
#content fieldset,
#content form,
#content label,
#content legend,
#content table,
#content caption,
#content tbody,
#content tfoot,
#content thead,
#content tr,
#content th,
#content td,
#content article,
#content aside,
#content canvas,
#content details,
#content embed,
#content figure,
#content figcaption,
#content footer,
#content header,
#content hgroup,
#content menu,
#content nav,
#content output,
#content ruby,
#content section,
#content summary,
#content time,
#content mark,
#content audio,
#content video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

#content article,
#content aside,
#content details,
#content figcaption,
#content figure,
#content footer,
#content header,
#content hgroup,
#content menu,
#content nav,
#content section {
  display: block;
}

#content body {
  line-height: 1;
}

#content ol,
#content ul {
  list-style: none;
}

#content blockquote,
#content q {
  quotes: none;
}

#content blockquote:before,
#content blockquote:after,
#content q:before,
#content q:after {
  content: "";
  content: none;
}

#content table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  width: 100%;
  display: block;
}

* {
  margin: 0;
  padding: 0;
}

header {
  background-color: #fff;
}

header .header_inner {
  padding: 15px 0;
  max-width: 1160px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  header .header_inner {
    padding: 2.051vw 0 2.051vw 2.604vw;
  }
}

header .header_inner .header_logo {
  width: 184px;
}

@media only screen and (max-width: 768px) {
  header .header_inner .header_logo {
    width: 134px;
  }
}

main {
  position: relative;
}

main #content {
  font-family: "M PLUS 1", sans-serif;
  background-color: #FFFADF;
}

main #content .keyvisual {
  position: relative;
  padding-bottom: 100px;
}

@media screen and (max-width: 959px) {
  main #content .keyvisual {
    padding-bottom: 60px;
  }
}

@media only screen and (max-width: 768px) {
  main #content .keyvisual {
    padding-bottom: 5.128vw;
  }
}

main #content .keyvisual h1 {
  display: block;
}

main #content .keyvisual_inner {
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
}

main #content .keyvisual_nurie {
  width: 285px;
  position: fixed;
  bottom: 90px;
  right: 24px;
  z-index: 2;
  filter: drop-shadow(0 2.766px 15.674px rgba(0, 0, 0, 0.25));
  opacity: 1;
  pointer-events: all;
  transition: opacity 0.5s;
}

@media screen and (max-width: 959px) {
  main #content .keyvisual_nurie {
    width: 28.125vw;
    right: 14px;
    bottom: 90px;
  }
}

@media only screen and (max-width: 768px) {
  main #content .keyvisual_nurie {
    display: none;
  }
}

main #content .keyvisual::after {
  position: absolute;
  z-index: 1;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 176px;
  display: block;
  content: "";
  background: url("../img/kv_triangle.svg") repeat no-repeat center top;
}

@media screen and (max-width: 959px) {
  main #content .keyvisual::after {
    height: 94px;
    background-size: 797px;
  }
}

@media only screen and (max-width: 768px) {
  main #content .keyvisual::after {
    background-size: 129.487vw;
    height: 15.385vw;
  }
}

main #content .keyvisual .hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s;
}

main #content .about {
  background-color: #3C9A46;
}

main #content .about_inner {
  position: relative;
  padding-bottom: 120px;
  max-width: 1160px;
  margin: 0 auto;
}

@media screen and (max-width: 959px) {
  main #content .about_inner {
    padding-bottom: 0;
  }
}

@media only screen and (max-width: 768px) {
  main #content .about_inner {
    padding-top: 12.821vw;
    padding-bottom: 0;
  }
}

main #content .about_inner p {
  padding-left: 120px;
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  line-height: 260%;
}

@media screen and (max-width: 959px) {
  main #content .about_inner p {
    max-width: 462px;
    margin: 0 auto 10px;
    padding-left: 0;
  }
}

@media only screen and (max-width: 768px) {
  main #content .about_inner p {
    font-size: 4.615vw;
    width: 84.615vw;
    margin-bottom: 10px;
  }
}

main #content .about_inner_img {
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 576px;
}

@media screen and (max-width: 1115px) {
  main #content .about_inner_img {
    width: 40vw;
  }
}

@media screen and (max-width: 959px) {
  main #content .about_inner_img {
    width: 348px;
    position: static;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 768px) {
  main #content .about_inner_img {
    width: 89.231vw;
  }
}

main #content .profile {
  position: relative;
  padding-top: 117px;
  padding-bottom: 220px;
}

@media screen and (max-width: 959px) {
  main #content .profile {
    padding-top: 100px;
    padding-bottom: 200px;
  }
}

@media only screen and (max-width: 768px) {
  main #content .profile {
    padding-top: 12.821vw;
    padding-bottom: 10.256vw;
  }
}

main #content .profile h2 {
  max-width: 950px;
  margin: 0 auto 60px;
}

@media screen and (max-width: 959px) {
  main #content .profile h2 {
    width: 584px;
  }
}

@media screen and (max-width: 768px) {
  main #content .profile h2 {
    width: 76.042vw;
    margin-bottom: 7.813vw;
  }
}

@media only screen and (max-width: 768px) {
  main #content .profile h2 {
    width: 90.769vw;
    margin-bottom: 7.692vw;
  }
}

main #content .profile_aiebakun {
  max-width: 880px;
  padding: 50px 30px;
  margin: 0 auto 100px;
  display: flex;
  gap: 33px;
  border-radius: 0 60px;
  border: 11px solid #AFD05C;
  background: #FFF;
  box-shadow: -20px 20px 0 0 #329041;
}

@media screen and (max-width: 959px) {
  main #content .profile_aiebakun {
    max-width: 600px;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  main #content .profile_aiebakun {
    max-width: none;
    width: 78.125vw;
    padding: 6.51vw 5.208vw;
    margin: 0 auto 13.021vw;
    border-radius: 0 7.813vw;
    border: 1.432vw solid #AFD05C;
    background: #FFF;
    box-shadow: -2.604vw 2.604vw 0 0 #329041;
  }
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun {
    width: 85.897vw;
    padding: 6.51vw 3.906vw;
    margin: 0 0 12.821vw;
    border-radius: 0 15.385vw;
    border: 2.821vw solid #AFD05C;
    background: #FFF;
    box-shadow: 0 5.128vw 0 0 #329041;
  }
}

main #content .profile_aiebakun h3 {
  font-size: 32px;
  font-weight: 800;
  border-radius: 0 10px;
  background: #3C9A46;
  color: #FFF;
  padding: 20px 0;
  text-align: center;
  width: 337px;
  line-height: 100%;
  margin-bottom: 64px;
  letter-spacing: 3.2px;
}

@media screen and (max-width: 959px) {
  main #content .profile_aiebakun h3 {
    width: 100%;
    border-radius: 0 10px;
    padding: 20px 0;
  }
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun h3 {
    font-size: 8.205vw;
    font-weight: 800;
    line-height: 100%;
    /* 32px */
    letter-spacing: 0.821vw;
    padding: 5.128vw 0;
    border-radius: 0 2.564vw;
  }
}

main #content .profile_aiebakun .profile_aiebakun_img {
  width: 302px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  main #content .profile_aiebakun .profile_aiebakun_img {
    width: 39.323vw;
    margin: 0 auto 4.297vw;
  }
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun .profile_aiebakun_img {
    width: 58.188vw;
  }
}

main #content .profile_aiebakun h4 {
  color: #005428;
  font-size: 24px;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 15px;
  margin-top: 30px;
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun h4 {
    font-size: 6.154vw;
    margin-bottom: 3.846vw;
  }
}

main #content .profile_aiebakun p {
  color: #005428;
  font-size: 16px;
  font-weight: 700;
  line-height: 240%;
  margin-bottom: 24px;
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun p {
    font-size: 4.103vw;
    margin-bottom: 6.154vw;
  }
}

main #content .profile_aiebakun dl {
  margin-bottom: 11px;
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun dl {
    margin-bottom: 4.103vw;
  }
}

main #content .profile_aiebakun dl div {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun dl div {
    margin-bottom: 2.051vw;
  }
}

main #content .profile_aiebakun dl div dt {
  display: flex;
  align-items: center;
  color: #005428;
  width: 110px;
  border-right: 1px solid #EAEEF0;
  gap: 10px;
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun dl div dt {
    width: 28.205vw;
  }
}

main #content .profile_aiebakun dl div dt::before {
  display: block;
  content: "";
  width: 19.603px;
  height: 16.524px;
  background: url("../img/aiebakun_icon.svg") no-repeat left top;
  background-size: contain;
}

main #content .profile_aiebakun dl div dd {
  padding-left: 10px;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  flex: 1;
  line-height: 200%;
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun dl div dd {
    font-size: 4.103vw;
    line-height: 160%;
  }
}

main #content .profile_aiebakun dl .birthday dt {
  font-size: 16px;
  font-weight: 700;
  line-height: 120%;
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun dl .birthday dt {
    padding: 1.628vw 0;
    font-size: 4.103vw;
  }
}

main #content .profile_aiebakun dl .hobby dt {
  font-size: 14px;
  font-weight: 700;
  line-height: 120%;
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun dl .hobby dt {
    font-size: 3.59vw;
    padding: 1.538vw 0;
  }
}

main #content .profile_aiebakun dl .place dt {
  font-size: 12px;
  font-weight: 700;
  line-height: 120%;
  /* 14.4px */
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun dl .place dt {
    font-size: 3.077vw;
  }
}

main #content .profile_aiebakun dl .dream dt {
  font-size: 16px;
  font-weight: 700;
  line-height: 120%;
}

@media only screen and (max-width: 768px) {
  main #content .profile_aiebakun dl .dream dt {
    font-size: 4.103vw;
    padding: 0.781vw 0;
  }
}

main #content .profile_waigurikun {
  max-width: 880px;
  padding: 50px 30px;
  margin: 0 auto;
  display: flex;
  flex-direction: row-reverse;
  gap: 33px;
  border-radius: 0 60px;
  border: 11px solid #EACB42;
  background: #FFF;
  box-shadow: -20px 20px 0 0 #E07F00;
}

@media screen and (max-width: 959px) {
  main #content .profile_waigurikun {
    max-width: 600px;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  main #content .profile_waigurikun {
    max-width: none;
    width: 78.125vw;
    padding: 6.51vw 5.208vw;
    margin: 0 auto 13.021vw;
    display: flex;
    align-items: center;
    gap: 4.297vw;
    border-radius: 0 7.813vw;
    border: 1.432vw solid #EACB42;
    background: #FFF;
    box-shadow: -2.604vw 2.604vw 0 0 #E07F00;
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun {
    width: 85.897vw;
    padding: 6.51vw 3.906vw;
    margin: 0 0 12.821vw;
    border-radius: 0 15.385vw;
    border: 2.821vw solid #EACB42;
    background: #FFF;
    box-shadow: 0 5.128vw 0 0 #E07F00;
  }
}

main #content .profile_waigurikun h3 {
  font-size: 32px;
  font-weight: 800;
  border-radius: 0 10px;
  background: #E07F00;
  padding: 20px 0;
  color: #FFF;
  text-align: center;
  width: 337px;
  line-height: 100%;
  margin-bottom: 64px;
}

@media screen and (max-width: 959px) {
  main #content .profile_waigurikun h3 {
    width: 100%;
    border-radius: 0 10px;
    padding: 20px 0;
  }
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun h3 {
    font-size: 8.205vw;
    font-weight: 800;
    line-height: 100%;
    /* 32px */
    letter-spacing: 0.821vw;
    padding: 5.128vw 0;
    border-radius: 0 2.564vw;
  }
}

main #content .profile_waigurikun .profile_waigurikun_img {
  width: 228px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  main #content .profile_waigurikun .profile_waigurikun_img {
    width: 29.557vw;
    margin: 0 auto 4.297vw;
  }
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun .profile_waigurikun_img {
    width: 58.462vw;
  }
}

main #content .profile_waigurikun h4 {
  color: #543800;
  font-size: 24px;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 15px;
  margin-top: 30px;
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun h4 {
    font-size: 6.154vw;
    margin-bottom: 3.846vw;
  }
}

main #content .profile_waigurikun p {
  color: #543800;
  font-size: 16px;
  font-weight: 700;
  line-height: 240%;
  margin-bottom: 24px;
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun p {
    font-size: 4.103vw;
    margin-bottom: 6.154vw;
  }
}

main #content .profile_waigurikun dl {
  margin-bottom: 11px;
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun dl {
    margin-bottom: 4.103vw;
  }
}

main #content .profile_waigurikun dl div {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun dl div {
    margin-bottom: 2.051vw;
  }
}

main #content .profile_waigurikun dl div dt {
  display: flex;
  align-items: center;
  color: #543800;
  width: 110px;
  border-right: 1px solid #EAEEF0;
  gap: 10px;
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun dl div dt {
    width: 28.205vw;
  }
}

main #content .profile_waigurikun dl div dt::before {
  display: block;
  content: "";
  width: 19.603px;
  height: 16.524px;
  background: url("../img/waigurkun_icon.svg") no-repeat left top;
  background-size: contain;
}

main #content .profile_waigurikun dl div dd {
  padding-left: 10px;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  line-height: 260%;
  flex: 1;
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun dl div dd {
    font-size: 4.103vw;
    line-height: 160%;
  }
}

main #content .profile_waigurikun dl .birthday dt {
  font-size: 16px;
  font-weight: 700;
  line-height: 120%;
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun dl .birthday dt {
    font-size: 4.103vw;
    padding: 3.205vw 0;
  }
}

main #content .profile_waigurikun dl .hobby dt {
  font-size: 14px;
  font-weight: 700;
  line-height: 120%;
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun dl .hobby dt {
    font-size: 3.59vw;
    padding: 1.538vw 0;
  }
}

main #content .profile_waigurikun dl .place dt {
  font-size: 12px;
  font-weight: 700;
  line-height: 120%;
  /* 14.4px */
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun dl .place dt {
    font-size: 3.077vw;
  }
}

main #content .profile_waigurikun dl .dream dt {
  font-size: 16px;
  font-weight: 700;
  line-height: 120%;
}

@media only screen and (max-width: 768px) {
  main #content .profile_waigurikun dl .dream dt {
    font-size: 4.103vw;
    padding: 1.282vw 0;
  }
}

main #content .profile::after {
  position: absolute;
  width: 100%;
  display: block;
  content: "";
  height: 100px;
  background: url("../img/playground_triangle.svg") repeat no-repeat center top;
  background-size: 1496px;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  main #content .profile::after {
    background-size: 97.396vw;
    height: 7.031vw;
  }
}

@media only screen and (max-width: 768px) {
  main #content .profile::after {
    background-size: 191.795vw;
  }
}

main #content .playground {
  background-color: #AFD05C;
}

main #content .playground .inner {
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 111px;
  position: relative;
  padding-top: 20px;
}

@media screen and (max-width: 768px) {
  main #content .playground .inner {
    padding-bottom: 7.813vw;
  }
}

@media only screen and (max-width: 768px) {
  main #content .playground .inner {
    padding-bottom: 34.359vw;
    padding-top: 15.385vw;
  }
}

main #content .playground .inner h2 {
  max-width: 522px;
  margin: 0 auto 63px;
}

@media screen and (max-width: 768px) {
  main #content .playground .inner h2 {
    width: 67.969vw;
    margin-bottom: 8.203vw;
  }
}

@media only screen and (max-width: 768px) {
  main #content .playground .inner h2 {
    width: 84.615vw;
    margin-bottom: 10.256vw;
  }
}

main #content .playground .inner .playground_list {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 959px) {
  main #content .playground .inner .playground_list {
    display: block;
    max-width: none;
  }
}

main #content .playground .inner .playground_list_btn {
  max-width: 470px;
  filter: drop-shadow(0px 2.779px 2.779px rgba(0, 0, 0, 0.25));
}

@media screen and (max-width: 959px) {
  main #content .playground .inner .playground_list_btn {
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  main #content .playground .inner .playground_list_btn {
    width: 61.849vw;
  }
}

@media only screen and (max-width: 768px) {
  main #content .playground .inner .playground_list_btn {
    width: 84.615vw;
  }
}

main #content .playground .inner .playground_img {
  max-width: 334px;
  position: absolute;
  bottom: 64px;
  right: 65px;
  z-index: 1;
}

@media screen and (max-width: 959px) {
  main #content .playground .inner .playground_img {
    display: none;
  }
}

main .pagetop {
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
}

main .pagetop_link {
  width: 57px;
  position: absolute;
  right: 0;
  bottom: -40px;
}

@media screen and (max-width: 768px) {
  main .pagetop_link {
    width: 57px;
    right: 9.115vw;
    bottom: -5.208vw;
  }
}

@media only screen and (max-width: 768px) {
  main .pagetop_link {
    width: 57px;
    bottom: 2.821vw;
    right: 4.615vw;
  }
}

main .pagetop_link a {
  text-decoration: none;
}

main .pagetop_link a div {
  margin: 0 auto 8px;
  width: 46px;
  height: 46px;
  border-radius: 46px;
  background-color: #3C9A46;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  main .pagetop_link a div {
    width: 46px;
    height: 46px;
    border-radius: 46px;
    margin-bottom: 1.042vw;
  }
}

@media only screen and (max-width: 768px) {
  main .pagetop_link a div {
    width: 46px;
    height: 46px;
    border-radius: 46px;
    margin-bottom: 8px;
  }
}

main .pagetop_link a div img {
  width: 22px;
}

@media screen and (max-width: 768px) {
  main .pagetop_link a div img {
    width: 22px;
  }
}

@media only screen and (max-width: 768px) {
  main .pagetop_link a div img {
    width: 22px;
  }
}

main .pagetop_link a p {
  text-align: center;
  color: #000;
  font-size: 12px;
  font-weight: 500;
  line-height: 100%;
}

@media screen and (max-width: 768px) {
  main .pagetop_link a p {
    font-size: 12px;
  }
}

@media only screen and (max-width: 768px) {
  main .pagetop_link a p {
    font-size: 12px;
  }
}

.pagetop,
footer {
  font-family: "Noto Sans JP", sans-serif;
}

footer {
  padding: 36px 50px;
  max-width: 1160px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  footer {
    padding: 30px 20px;
  }
}

footer p {
  color: #000;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  /* 150% */
}

@media only screen and (max-width: 768px) {
  footer p {
    font-size: 3.077vw;
    text-align: center;
    margin: 0 auto;
  }
}

.pc {
  display: block;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

picture {
  display: block;
}