@keyframes heart {
  0% {
    transform: scale(1);
  }
  12% {
    transform: scale(1.2);
  }
  24% {
    transform: scale(1);
  }
  36% {
    transform: scale(1.2);
  }
  48% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes swing {
  0% {
    transform: rotate(0deg);
  }
  40% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(9deg);
  }
  60% {
    transform: rotate(-6deg);
  }
  70% {
    transform: rotate(3deg);
  }
  80% {
    transform: rotate(-3deg);
  }
  90% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes wave_loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
body#toppage .visual {
  position: relative;
  height: 100vh;
  min-height: 45rem;
  background: url("../images/toppage/visual_bg_pc.jpg") no-repeat center center;
  background-size: cover;
}
@media (max-width: 768px) {
  body#toppage .visual {
    height: 100dvh;
    min-height: 166.6666666667vw;
    background-image: url("../images/toppage/visual_bg_sp.jpg");
  }
}
body#toppage .visual::after {
  content: "";
  position: absolute;
  bottom: -0.1875rem;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 0.375rem;
  background: url("../images/line_gray.svg") repeat-x center center;
  background-size: contain;
}
@media (max-width: 768px) {
  body#toppage .visual::after {
    bottom: -0.625vw;
    height: 1.25vw;
  }
}
body#toppage .visual .copy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
body#toppage .visual .copy h2 {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 3rem;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.1em;
  text-shadow: 0.25em 0.25em 0.3125em rgba(0, 0, 0, 0.4);
  transition-delay: 0.7s;
}
@media (max-width: 768px) {
  body#toppage .visual .copy h2 {
    writing-mode: vertical-rl;
    font-size: 6.25vw;
  }
}
body#toppage .visual .copy h2 span {
  display: inline-block;
  font-family: "Zen Kurenaido", sans-serif;
}
body#toppage .visual .copy h2 span.dokidoki {
  animation: heart 2s ease-in-out infinite both;
}
body#toppage .visual .copy h2 span.wakuwaku {
  animation: swing 2s ease-in-out infinite forwards;
}
body#toppage .news {
  position: relative;
  margin-bottom: 2.5rem;
  padding: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .news {
    margin-bottom: 8.3333333333vw;
    padding: 8.3333333333vw 4.1666666667vw;
    flex-direction: column;
  }
}
body#toppage .news::after {
  content: "";
  position: absolute;
  right: 2.5rem;
  bottom: -0.1875rem;
  left: 2.5rem;
  height: 0.375rem;
  background: url("../images/line_h_black.svg") repeat-x center center;
  background-size: contain;
}
@media (max-width: 768px) {
  body#toppage .news::after {
    right: 4.1666666667vw;
    bottom: -0.625vw;
    left: 4.1666666667vw;
    height: 1.25vw;
  }
}
body#toppage .news dl {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  width: 80%;
  font-size: 1rem;
  line-height: 1.75;
}
@media (max-width: 768px) {
  body#toppage .news dl {
    width: 100%;
    font-size: 3.3333333333vw;
  }
}
body#toppage .news dl dt {
  flex-grow: 1;
  padding: 0 1.25rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  body#toppage .news dl dt {
    padding: 0 0 0 4.1666666667vw;
  }
}
body#toppage .news dl dt a {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body#toppage .news dl dd {
  white-space: nowrap;
}
body#toppage .news .nav {
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  body#toppage .news .nav {
    position: relative;
    top: 0;
    right: 0;
    margin-top: 2.0833333333vw;
    transform: translateY(0);
    text-align: right;
  }
}
body#toppage .news .nav a {
  transition-delay: 0.3s;
  position: relative;
  display: inline-block;
  padding: 0.3125rem 2.5rem 0.3125rem 1.25rem;
  border: solid 1px #231815;
  border-radius: 0.3125rem;
  font-size: 1rem;
  text-decoration: none;
  background-color: #fff;
}
@media (max-width: 768px) {
  body#toppage .news .nav a {
    padding: 1.0416666667vw 8.3333333333vw 1.0416666667vw 4.1666666667vw;
    border-radius: 1.0416666667vw;
    font-size: 3.3333333333vw;
  }
}
body#toppage .news .nav a::before, body#toppage .news .nav a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transition: right 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
@media (max-width: 768px) {
  body#toppage .news .nav a::before, body#toppage .news .nav a::after {
    right: 4.1666666667vw;
  }
}
body#toppage .news .nav a::before {
  width: 1rem;
  height: 1rem;
  border: solid 1px #900;
  border-radius: 50%;
  transform: translate(50%, -50%);
}
@media (max-width: 768px) {
  body#toppage .news .nav a::before {
    width: 4.1666666667vw;
    height: 4.1666666667vw;
  }
}
body#toppage .news .nav a::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.3125rem 0 0.3125rem 0.5rem;
  border-color: transparent transparent transparent #900;
  transform: translate(60%, -50%);
}
@media (max-width: 768px) {
  body#toppage .news .nav a::after {
    border-width: 1.25vw 0 1.25vw 1.6666666667vw;
  }
}
body#toppage .news .nav a:hover {
  border-color: #900;
}
body#toppage .news .nav a:hover::before, body#toppage .news .nav a:hover::after {
  right: 0.9375rem;
}
@media (max-width: 768px) {
  body#toppage .news .nav a:hover::before, body#toppage .news .nav a:hover::after {
    right: 3.125vw;
  }
}
body#toppage .introduction {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 2.5rem 0;
}
@media (max-width: 768px) {
  body#toppage .introduction {
    padding: 8.3333333333vw;
  }
}
body#toppage .introduction .subject {
  flex-basis: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .introduction .subject {
    margin-bottom: 8.3333333333vw;
  }
}
body#toppage .introduction .subject h3 {
  writing-mode: vertical-rl;
  font-family: "Shippori Mincho", serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
@media (max-width: 768px) {
  body#toppage .introduction .subject h3 {
    font-size: 6.25vw;
  }
}
body#toppage .introduction figure {
  flex-basis: 50%;
}
@media (max-width: 768px) {
  body#toppage .introduction figure {
    flex-basis: 100%;
  }
}
body#toppage .introduction .text {
  flex-basis: 50%;
  padding: 0 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .introduction .text {
    flex-basis: 100%;
    margin-top: 8.3333333333vw;
    padding: 0;
  }
}
body#toppage .introduction .text p {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  body#toppage .introduction .text p {
    font-size: 3.125vw;
  }
}
body#toppage .introduction .text p + p {
  margin-top: 2em;
}
body#toppage .introduction .text p strong {
  color: #900;
  font-size: 1.2em;
  font-weight: 400;
}
body#toppage .wrapping {
  display: flex;
  flex-wrap: wrap;
  padding: 2.5rem 0;
}
@media (max-width: 768px) {
  body#toppage .wrapping {
    padding: 8.3333333333vw;
  }
}
body#toppage .wrapping .contents, body#toppage .wrapping figure {
  flex-basis: 50%;
}
@media (max-width: 768px) {
  body#toppage .wrapping .contents, body#toppage .wrapping figure {
    flex-basis: 100%;
  }
}
body#toppage .wrapping .contents {
  align-self: center;
}
body#toppage .wrapping .subject {
  display: flex;
  justify-content: center;
  margin-bottom: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .wrapping .subject {
    margin-bottom: 8.3333333333vw;
  }
}
body#toppage .wrapping .subject h3 {
  writing-mode: vertical-rl;
  font-family: "Shippori Mincho", serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
@media (max-width: 768px) {
  body#toppage .wrapping .subject h3 {
    font-size: 6.25vw;
  }
}
body#toppage .wrapping .text {
  padding: 0 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .wrapping .text {
    margin-top: 8.3333333333vw;
    padding: 0;
  }
}
body#toppage .wrapping .text p {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  body#toppage .wrapping .text p {
    font-size: 3.125vw;
  }
}
body#toppage .wrapping .text p + p {
  margin-top: 2em;
}
body#toppage .wrapping .text p strong {
  color: #900;
  font-size: 1.2em;
  font-weight: 400;
}
@media (max-width: 768px) {
  body#toppage .wrapping .pic01 {
    margin-top: 8.3333333333vw;
  }
}
body#toppage .wrapping .pic02 {
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .wrapping .pic02 {
    margin-top: 8.3333333333vw;
  }
}
body#toppage .production {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  padding: 2.5rem 0;
}
@media (max-width: 768px) {
  body#toppage .production {
    flex-direction: row;
    padding: 8.3333333333vw;
  }
}
body#toppage .production .contents, body#toppage .production figure {
  flex-basis: 50%;
}
@media (max-width: 768px) {
  body#toppage .production .contents, body#toppage .production figure {
    flex-basis: 100%;
  }
}
body#toppage .production .contents {
  align-self: center;
}
body#toppage .production .subject {
  display: flex;
  justify-content: center;
  margin-bottom: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .production .subject {
    margin-bottom: 8.3333333333vw;
  }
}
body#toppage .production .subject h3 {
  writing-mode: vertical-rl;
  font-family: "Shippori Mincho", serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
@media (max-width: 768px) {
  body#toppage .production .subject h3 {
    font-size: 6.25vw;
  }
}
body#toppage .production .text {
  padding: 0 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .production .text {
    margin-top: 8.3333333333vw;
    padding: 0;
  }
}
body#toppage .production .text p {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  body#toppage .production .text p {
    font-size: 3.125vw;
  }
}
body#toppage .production .text p + p {
  margin-top: 2em;
}
body#toppage .production .text p strong {
  color: #900;
  font-size: 1.2em;
  font-weight: 400;
}
@media (max-width: 768px) {
  body#toppage .production .pic01 {
    margin-top: 8.3333333333vw;
  }
}
body#toppage .production .pic02 {
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .production .pic02 {
    margin-top: 8.3333333333vw;
  }
}
body#toppage .lineup {
  display: flex;
  flex-direction: row-reverse;
  padding: 5rem 0;
}
@media (max-width: 768px) {
  body#toppage .lineup {
    padding: 16.6666666667vw 0;
  }
}
body#toppage .lineup .subject {
  flex-basis: 10%;
}
@media (max-width: 768px) {
  body#toppage .lineup .subject {
    flex-basis: 20%;
  }
}
body#toppage .lineup .subject .inner {
  position: sticky;
  top: 6.25rem;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .lineup .subject .inner {
    top: 20.8333333333vw;
    padding-top: 8.3333333333vw;
  }
}
body#toppage .lineup .subject h3 {
  position: relative;
  margin-bottom: 1.25rem;
  padding-top: 1em;
  writing-mode: vertical-rl;
  font-family: "Shippori Mincho", serif;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
@media (max-width: 768px) {
  body#toppage .lineup .subject h3 {
    margin-bottom: 4.1666666667vw;
    font-size: 5vw;
  }
}
body#toppage .lineup .subject h3::before, body#toppage .lineup .subject h3::after {
  content: "";
  position: absolute;
  width: 0.5em;
  height: 0.5em;
  border: solid 1px #900;
}
body#toppage .lineup .subject h3::before {
  top: 0;
  right: 0.5em;
  background-color: #900;
}
body#toppage .lineup .subject h3::after {
  top: 0.3em;
  left: 0.5em;
  background-color: #fff;
}
body#toppage .lineup .subject p {
  writing-mode: vertical-rl;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0 0.5em;
}
@media (max-width: 768px) {
  body#toppage .lineup .subject p {
    font-size: 3.3333333333vw;
  }
}
body#toppage .lineup .contents {
  flex-basis: 80%;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents {
    padding-left: 8.3333333333vw;
  }
}
body#toppage .lineup .contents .list > li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li + li {
    margin-top: 12.5vw;
  }
}
body#toppage .lineup .contents .list > li .detail {
  flex-basis: 50%;
  padding-right: 3.75rem;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail {
    flex-basis: 100%;
    margin-top: 8.3333333333vw;
    padding-right: 0;
  }
}
body#toppage .lineup .contents .list > li .detail .copy {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body#toppage .lineup .contents .list > li .detail .copy .badge {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 5rem;
  height: 5rem;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  background: url("../images/toppage/badge_bg.svg") no-repeat center center;
  background-size: contain;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .copy .badge {
    width: 12.5vw;
    height: 12.5vw;
  }
}
body#toppage .lineup .contents .list > li .detail .copy .badge dt {
  font-size: 0.875rem;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .copy .badge dt {
    font-size: 2.5vw;
  }
}
body#toppage .lineup .contents .list > li .detail .copy .badge dd {
  margin-top: 0.125rem;
  font-size: 1.5rem;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .copy .badge dd {
    margin-top: 0.4166666667vw;
    font-size: 3.75vw;
  }
}
body#toppage .lineup .contents .list > li .detail .copy .badge dd span {
  font-size: 0.625em;
}
body#toppage .lineup .contents .list > li .detail .copy h3 {
  align-self: flex-end;
  flex-basis: 22.5rem;
  font-family: "Shippori Mincho", serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .copy h3 {
    flex-basis: 56.25vw;
    font-size: 5vw;
  }
}
body#toppage .lineup .contents .list > li .detail .description {
  margin-top: 1.25rem;
  font-size: 1rem;
  line-height: 1.75;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .description {
    margin-top: 4.1666666667vw;
    font-size: 3.3333333333vw;
  }
}
body#toppage .lineup .contents .list > li .detail .product {
  position: relative;
  margin-top: 1.875rem;
  padding-top: 1.875rem;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .product {
    margin-top: 6.25vw;
    padding-top: 6.25vw;
  }
}
body#toppage .lineup .contents .list > li .detail .product::before {
  content: "";
  position: absolute;
  top: -0.125rem;
  left: 0;
  width: 100%;
  height: 0.25rem;
  background: url("../images/toppage/lineup_separator.svg") repeat-x center center;
  background-size: auto 0.25rem;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .product::before {
    top: -0.4166666667vw;
    height: 0.8333333333vw;
    background-size: auto 0.8333333333vw;
  }
}
body#toppage .lineup .contents .list > li .detail .product a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
}
body#toppage .lineup .contents .list > li .detail .product a figure {
  flex-basis: 32%;
}
body#toppage .lineup .contents .list > li .detail .product a figure .thumbnail {
  overflow: hidden;
}
body#toppage .lineup .contents .list > li .detail .product a figure .thumbnail img {
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
body#toppage .lineup .contents .list > li .detail .product a .info {
  flex-basis: 64%;
}
body#toppage .lineup .contents .list > li .detail .product a .info h4 {
  color: #000;
  font-family: "Shippori Mincho", serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .product a .info h4 {
    font-size: 3.75vw;
  }
}
body#toppage .lineup .contents .list > li .detail .product a .info p {
  margin-top: 0.3125rem;
  color: #808080;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .product a .info p {
    margin-top: 1.0416666667vw;
    font-size: 2.5vw;
  }
}
body#toppage .lineup .contents .list > li .detail .product a .info .nav {
  position: relative;
  display: inline-block;
}
body#toppage .lineup .contents .list > li .detail .product a .info .nav::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.125rem;
  background: url("../images/toppage/lineup_separator.svg") repeat-x center center;
  background-size: auto 0.125rem;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .product a .info .nav::after {
    height: 0.4166666667vw;
    background-size: auto 0.4166666667vw;
  }
}
body#toppage .lineup .contents .list > li .detail .product a .info .nav span {
  position: relative;
  display: inline-block;
  padding: 0.625rem 1.875rem 0.625rem 0;
  font-size: 0.875rem;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .product a .info .nav span {
    padding: 2.0833333333vw 6.25vw 2.0833333333vw 0;
    font-size: 2.9166666667vw;
  }
}
body#toppage .lineup .contents .list > li .detail .product a .info .nav span::before, body#toppage .lineup .contents .list > li .detail .product a .info .nav span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  transition: right 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .product a .info .nav span::before, body#toppage .lineup .contents .list > li .detail .product a .info .nav span::after {
    right: 2.0833333333vw;
  }
}
body#toppage .lineup .contents .list > li .detail .product a .info .nav span::before {
  width: 1rem;
  height: 1rem;
  border: solid 1px #900;
  border-radius: 50%;
  transform: translate(50%, -50%);
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .product a .info .nav span::before {
    width: 4.1666666667vw;
    height: 4.1666666667vw;
  }
}
body#toppage .lineup .contents .list > li .detail .product a .info .nav span::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.3125rem 0 0.3125rem 0.5rem;
  border-color: transparent transparent transparent #900;
  transform: translate(60%, -50%);
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .product a .info .nav span::after {
    border-width: 1.25vw 0 1.25vw 1.6666666667vw;
  }
}
body#toppage .lineup .contents .list > li .detail .product a:hover .info .nav span::before, body#toppage .lineup .contents .list > li .detail .product a:hover .info .nav span::after {
  right: 0.625rem;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .detail .product a:hover .info .nav span::before, body#toppage .lineup .contents .list > li .detail .product a:hover .info .nav span::after {
    right: 2.0833333333vw;
  }
}
body#toppage .lineup .contents .list > li .pic {
  flex-basis: 50%;
  height: 80vh;
  min-height: 30rem;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .pic {
    flex-basis: 100%;
    order: -1;
    height: 75vw;
    min-height: auto;
  }
}
body#toppage .lineup .contents .list > li .pic .panel {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 768px) {
  body#toppage .lineup .contents .list > li .pic .panel {
    background-position: center top !important;
  }
}
body#toppage .lineup .contents .list > li .pic .pic01 {
  background-image: url("../images/toppage/lineup_pic01.jpg");
}
body#toppage .lineup .contents .list > li .pic .pic02 {
  background-image: url("../images/toppage/lineup_pic02.jpg");
}
body#toppage .lineup .contents .list > li .pic .pic03 {
  background-image: url("../images/toppage/lineup_pic03.jpg");
}
body#toppage .waves {
  position: relative;
  width: 100%;
  height: 17.5rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  body#toppage .waves {
    height: 25vw;
  }
}
body#toppage .waves .wave {
  position: absolute;
  top: 4.375rem;
  left: 0;
  display: flex;
  width: 200%;
  height: 8.75rem;
}
@media (max-width: 768px) {
  body#toppage .waves .wave {
    top: 8.3333333333vw;
    height: 8.3333333333vw;
  }
}
body#toppage .waves .wave .obj {
  width: 50%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
}
body#toppage .waves .wave.wave01 .obj {
  background-image: url("../images/toppage/wave01.svg");
  animation: wave_loop 22s linear -11s infinite forwards;
}
body#toppage .waves .wave.wave02 .obj {
  background-image: url("../images/toppage/wave02.svg");
  animation: wave_loop 30s linear -15s infinite forwards;
}
body#toppage .waves .wave.wave03 .obj {
  background-image: url("../images/toppage/wave03.svg");
  animation: wave_loop 42s linear -21s infinite forwards;
}
body#toppage .voice {
  display: flex;
  padding: 5rem 0;
  background-color: rgba(153, 0, 0, 0.1);
}
@media (max-width: 768px) {
  body#toppage .voice {
    padding: 16.6666666667vw 0;
  }
}
body#toppage .voice .subject {
  flex-basis: 10%;
}
@media (max-width: 768px) {
  body#toppage .voice .subject {
    flex-basis: 20%;
  }
}
body#toppage .voice .subject .inner {
  position: sticky;
  top: 6.25rem;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .voice .subject .inner {
    top: 20.8333333333vw;
    padding-top: 8.3333333333vw;
  }
}
body#toppage .voice .subject h3 {
  position: relative;
  margin-bottom: 1.25rem;
  padding-top: 1em;
  writing-mode: vertical-rl;
  font-family: "Shippori Mincho", serif;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
@media (max-width: 768px) {
  body#toppage .voice .subject h3 {
    margin-bottom: 4.1666666667vw;
    font-size: 5vw;
  }
}
body#toppage .voice .subject h3::before, body#toppage .voice .subject h3::after {
  content: "";
  position: absolute;
  width: 0.5em;
  height: 0.5em;
  border: solid 1px #900;
}
body#toppage .voice .subject h3::before {
  top: 0;
  right: 0.5em;
  background-color: #900;
}
body#toppage .voice .subject h3::after {
  top: 0.3em;
  left: 0.5em;
  background-color: #fff;
}
body#toppage .voice .subject p {
  writing-mode: vertical-rl;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0 0.5em;
}
@media (max-width: 768px) {
  body#toppage .voice .subject p {
    font-size: 3.3333333333vw;
  }
}
body#toppage .voice .contents {
  width: 82%;
  overflow: clip;
}
@media (max-width: 768px) {
  body#toppage .voice .contents {
    width: 72.9166666667vw;
  }
}
body#toppage .voice .contents .carousel {
  display: none;
}
body#toppage .voice .contents .carousel.slick-initialized {
  display: block;
}
body#toppage .voice .contents .carousel .slick-track {
  display: flex;
}
body#toppage .voice .contents .carousel .slick-slide {
  float: none;
}
body#toppage .voice .contents .carousel .item {
  position: relative;
  width: 21.875rem;
  padding-right: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .voice .contents .carousel .item {
    width: 72.9166666667vw;
    padding-right: 2.0833333333vw;
  }
}
body#toppage .voice .contents .carousel .item .pic {
  position: relative;
  padding-top: 100%;
}
body#toppage .voice .contents .carousel .item .pic::before {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  z-index: 1;
  width: 5rem;
  height: 5rem;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media (max-width: 768px) {
  body#toppage .voice .contents .carousel .item .pic::before {
    top: 2.0833333333vw;
    left: 2.0833333333vw;
    width: 16.6666666667vw;
    height: 16.6666666667vw;
  }
}
body#toppage .voice .contents .carousel .item .pic.olderm::before {
  background-image: url("../images/toppage/icon_olderm.svg");
}
body#toppage .voice .contents .carousel .item .pic.olderf::before {
  background-image: url("../images/toppage/icon_olderf.svg");
}
body#toppage .voice .contents .carousel .item .pic.male::before {
  background-image: url("../images/toppage/icon_male.svg");
}
body#toppage .voice .contents .carousel .item .pic.female::before {
  background-image: url("../images/toppage/icon_female.svg");
}
body#toppage .voice .contents .carousel .item .pic img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body#toppage .voice .contents .carousel .item h4 {
  margin-top: 0.625rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  body#toppage .voice .contents .carousel .item h4 {
    margin-top: 2.0833333333vw;
    font-size: 4.1666666667vw;
  }
}
body#toppage .voice .contents .carousel .item p {
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  body#toppage .voice .contents .carousel .item p {
    margin-top: 1.0416666667vw;
    font-size: 2.9166666667vw;
  }
}
body#toppage .voice .contents .carousel .item dl {
  display: flex;
  align-items: flex-start;
  margin-top: 0.625rem;
  padding-top: 0.625rem;
  border-top: solid 1px #000;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  body#toppage .voice .contents .carousel .item dl {
    margin-top: 2.0833333333vw;
    padding-top: 2.0833333333vw;
    font-size: 3.3333333333vw;
  }
}
body#toppage .voice .contents .carousel .item dl dt {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
body#toppage .voice .contents .carousel .item dl dt::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.25em;
  background-color: #900;
  border-radius: 50%;
}
body#toppage .voice .contents .carousel .item dl dd {
  flex-grow: 1;
}
body#toppage .voice .contents .carousel .slick-dots {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .voice .contents .carousel .slick-dots {
    margin-top: 6.25vw;
  }
}
body#toppage .voice .contents .carousel .slick-dots li {
  width: 1.875rem;
  height: 1.875rem;
}
@media (max-width: 768px) {
  body#toppage .voice .contents .carousel .slick-dots li {
    width: 6.25vw;
    height: 6.25vw;
  }
}
body#toppage .voice .contents .carousel .slick-dots li button {
  position: relative;
  display: block;
  width: 1.875rem;
  height: 1.875rem;
  padding: 0;
  cursor: pointer;
  font-size: 0;
}
@media (max-width: 768px) {
  body#toppage .voice .contents .carousel .slick-dots li button {
    width: 6.25vw;
    height: 6.25vw;
  }
}
body#toppage .voice .contents .carousel .slick-dots li button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  border: solid 1px #900;
  background-color: #fff;
  transform: translate(-50%, -50%);
  transition: background-color 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
@media (max-width: 768px) {
  body#toppage .voice .contents .carousel .slick-dots li button::before {
    width: 2.9166666667vw;
    height: 2.9166666667vw;
  }
}
body#toppage .voice .contents .carousel .slick-dots li:hover button::before, body#toppage .voice .contents .carousel .slick-dots li.slick-active button::before {
  background-color: #900;
}
body#toppage .crowdfunding {
  padding: 5rem 0;
  background-color: #fff;
}
@media (max-width: 768px) {
  body#toppage .crowdfunding {
    padding: 16.6666666667vw 0;
  }
}
body#toppage .crowdfunding .copy {
  display: flex;
  justify-content: center;
}
body#toppage .crowdfunding .copy h3 {
  padding: 0 2.5em;
  font-family: "Shippori Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
  background-image: url("../images/toppage/crowdfunding_fig01.svg"), url("../images/toppage/crowdfunding_fig02.svg");
  background-repeat: no-repeat;
  background-position: 0 0, 100% 0;
  background-size: contain;
}
@media (max-width: 768px) {
  body#toppage .crowdfunding .copy h3 {
    font-size: 4.1666666667vw;
  }
}
body#toppage .crowdfunding .bnr {
  margin-top: 1.875rem;
  text-align: center;
}
@media (max-width: 768px) {
  body#toppage .crowdfunding .bnr {
    margin-top: 6.25vw;
    padding: 0 4.1666666667vw;
  }
}
body#toppage .crowdfunding .bnr img {
  max-width: 62.5rem;
}
@media (max-width: 768px) {
  body#toppage .crowdfunding .bnr img {
    max-width: 100%;
  }
}
body#toppage .crowdfunding .lead {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .crowdfunding .lead {
    margin-top: 4.1666666667vw;
  }
}
body#toppage .crowdfunding .lead p {
  padding: 0.9375rem 0.625rem;
  color: #900;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  background: url("../images/toppage/crowdfunding_marker.svg") no-repeat center bottom;
  background-size: contain;
}
@media (max-width: 768px) {
  body#toppage .crowdfunding .lead p {
    padding: 2.0833333333vw;
    font-size: 5vw;
  }
}
body#toppage .others {
  padding: 5rem 0;
  background-color: rgba(0, 0, 0, 0.6);
}
@media (max-width: 768px) {
  body#toppage .others {
    padding: 8.3333333333vw 0;
  }
}
body#toppage .others .bnr {
  width: 62.5rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  body#toppage .others .bnr {
    width: 100%;
    padding: 0 4.1666666667vw;
  }
}
body#toppage .others a:hover {
  opacity: 0.6;
}
body#toppage .concept {
  position: relative;
}
body#toppage .concept .contents {
  position: absolute;
  bottom: 6.25rem;
  left: 0;
  width: 100%;
  padding: 0 1.25rem;
}
@media (max-width: 768px) {
  body#toppage .concept .contents {
    bottom: 6.25vw;
    padding: 0 4.1666666667vw;
  }
}
body#toppage .concept .contents p {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.05em;
  text-shadow: 0 0 0.25em #000, 0 0 0.25em #000, 0 0 0.25em #000, 0 0 0.25em #000;
}
@media (max-width: 768px) {
  body#toppage .concept .contents p {
    font-size: 5vw;
  }
}
body#toppage .concept .contents .nav {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .concept .contents .nav {
    margin-top: 2.0833333333vw;
  }
}
body#toppage .concept .contents .nav a {
  position: relative;
  padding: 0.625rem 2.5rem 0.625rem 1.25rem;
  border: solid 0.125rem #fff;
  border-radius: 1.875rem;
  color: #fff;
  font-size: 1.125rem;
  text-decoration: none;
}
@media (max-width: 768px) {
  body#toppage .concept .contents .nav a {
    padding: 2.0833333333vw 8.3333333333vw 2.0833333333vw 4.1666666667vw;
    border-width: 0.4166666667vw;
    border-radius: 6.25vw;
    font-size: 3.75vw;
  }
}
body#toppage .concept .contents .nav a::before, body#toppage .concept .contents .nav a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transition: right 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
@media (max-width: 768px) {
  body#toppage .concept .contents .nav a::before, body#toppage .concept .contents .nav a::after {
    right: 4.1666666667vw;
  }
}
body#toppage .concept .contents .nav a::before {
  width: 1rem;
  height: 1rem;
  border: solid 1px #fff;
  border-radius: 50%;
  transform: translate(50%, -50%);
}
@media (max-width: 768px) {
  body#toppage .concept .contents .nav a::before {
    width: 4.1666666667vw;
    height: 4.1666666667vw;
  }
}
body#toppage .concept .contents .nav a::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.3125rem 0 0.3125rem 0.5rem;
  border-color: transparent transparent transparent #fff;
  transform: translate(60%, -50%);
}
@media (max-width: 768px) {
  body#toppage .concept .contents .nav a::after {
    border-width: 1.25vw 0 1.25vw 1.6666666667vw;
  }
}
body#toppage .concept .contents .nav a:hover {
  background-color: #900;
}
body#toppage .concept .contents .nav a:hover::before, body#toppage .concept .contents .nav a:hover::after {
  right: 0.9375rem;
}
@media (max-width: 768px) {
  body#toppage .concept .contents .nav a:hover::before, body#toppage .concept .contents .nav a:hover::after {
    right: 3.125vw;
  }
}
body#toppage .sns {
  padding: 5rem 0;
  background-color: rgba(0, 0, 0, 0.17);
}
@media (max-width: 768px) {
  body#toppage .sns {
    padding: 16.6666666667vw 0;
  }
}
body#toppage .sns h3 {
  font-family: "Shippori Mincho", serif;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  body#toppage .sns h3 {
    font-size: 6.25vw;
  }
}
body#toppage .sns ul {
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
  padding: 0 1.25rem;
}
@media (max-width: 768px) {
  body#toppage .sns ul {
    flex-direction: column;
    margin-top: 4.1666666667vw;
    padding: 0 4.1666666667vw;
  }
}
body#toppage .sns ul li {
  padding: 1.25rem;
}
@media (max-width: 768px) {
  body#toppage .sns ul li {
    padding: 2.0833333333vw;
  }
}
body#toppage .sns ul li + li {
  transition-delay: 0.3s;
}
@media (max-width: 768px) {
  body#toppage .sns ul li + li {
    transition-delay: 0.1s;
  }
}
body#toppage .sns ul li a {
  display: block;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
body#toppage .sns ul li a:hover {
  transform: scale(1.1);
}