.txt {
  font-weight: bold;
  line-height: 2;
}
.pattern {
  position: absolute;
  z-index: 0;
  overflow: hidden;
}
.pattern span {
  display: block;
  width: 100%;
  height: 300%;
  background: url("../img/common/pattern.jpg") 0 0 repeat;
}
@media print, screen and (min-width: 769px) {
  .pattern span {
    background-size: 33.6rem auto;
  }
}
@media print, screen and (max-width: 768px) {
  .pattern span {
    background-size: 70.933vw auto;
  }
}
.sec-title h2 {
  text-align: center;
  color: #2E2E2E;
  font-family: Arial, san-serif;
  font-weight: bold;
}
.sec-title h2.-pattern {
  color: transparent;
  background-image: url("../img/common/f-bg.jpg");
  background-size: auto 4rem;
  -webkit-background-clip: text;
}
.sec-title p {
  font-weight: bold;
  line-height: 2;
}
@media print, screen and (min-width: 769px) {
  .sec-title h2 {
    font-size: 4rem;
  }
  .sec-title p {
    margin-top: 2rem;
    text-align: center;
  }
  .sec-title p.-sm {
    font-size: 1.2rem;
  }
}
@media print, screen and (max-width: 768px) {
  .sec-title {
    width: 85.333vw;
    margin: auto;
  }
  .sec-title h2 {
    font-size: 8.266vw;
  }
  .sec-title p {
    margin-top: 2.666vw;
    font-size: 4.266vw;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  .sec-title p.-sm {
    font-size: 3.2vw;
  }
}
.mv {
  overflow: hidden;
}
.mv video {
  position: fixed;
  left: 0;
  top: 0;
}
.mv::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
}
@media print, screen and (min-width: 769px) {
  .mv {
    padding-top: 56.25%;
  }
  .mv video {
    width: 100%;
  }
}
@media print, screen and (max-width: 768px) {
  .mv {
    padding-top: 127vw;
  }
  .mv video {
    width: 100%;
  }
}
.about {
  overflow: hidden;
}
@media print, screen and (min-width: 769px) {
  .about {
    padding-top: 31rem;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), white 56.25vw);
  }
}
@media print, screen and (max-width: 768px) {
  .about {
    padding-top: 28vw;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), white 70vw);
  }
}
.about-title {
  text-align: center;
  color: #2E2E2E;
  font-weight: bold;
}
.about-title h2 {
  font-family: Arial, san-serif;
}
@media print, screen and (min-width: 769px) {
  .about-title {
    margin-bottom: 13rem;
  }
  .about-title h2 {
    margin-bottom: 2rem;
    font-size: 6rem;
  }
  .about-title p {
    font-size: 2.4rem;
  }
}
@media print, screen and (max-width: 768px) {
  .about-title {
    margin-bottom: 17.333vw;
  }
  .about-title h2 {
    margin-bottom: 4.266vw;
    font-size: 10.133vw;
  }
  .about-title p {
    font-size: 4.533vw;
  }
}
.about-summary dl {
  margin: auto;
}
.about-summary dl dt {
  margin: auto;
}
.about-summary dl dd {
  font-weight: bold;
  line-height: 2;
}
@media print, screen and (min-width: 769px) {
  .about-summary {
    margin-bottom: 10rem;
  }
  .about-summary dl {
    width: 82rem;
  }
  .about-summary dl dt {
    width: 25.4rem;
    margin-bottom: 5rem;
  }
  .about-summary dl dd {
    font-size: 2rem;
    text-align: center;
  }
}
@media print, screen and (max-width: 768px) {
  .about-summary {
    margin-bottom: 14.933vw;
  }
  .about-summary dl {
    width: 85.333vw;
  }
  .about-summary dl dt {
    width: 51.733vw;
    margin-bottom: 13.333vw;
  }
  .about-summary dl dd {
    font-size: 4.266vw;
    text-align: justify;
    text-justify: inter-ideograph;
  }
}
.about-banner {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .about-banner {
    width: 106rem;
    overflow: hidden;
  }
  .about-banner img {
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
  }
  .about-banner:hover img {
    opacity: 0.6;
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
  }
}
@media print, screen and (max-width: 768px) {
  .about-banner {
    width: 85.333vw;
  }
}
.concept {
  background-color: white;
}
@media print, screen and (min-width: 769px) {
  .concept {
    padding-top: 18rem;
  }
}
@media print, screen and (max-width: 768px) {
  .concept {
    padding-top: 21.333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .concept-summary.summary-1 {
    margin-bottom: 14.5rem;
  }
}
@media print, screen and (max-width: 768px) {
  .concept-summary.summary-1 {
    margin-bottom: 21.333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .concept-summary__title {
    margin-bottom: 6rem;
  }
}
@media print, screen and (max-width: 768px) {
  .concept-summary__title {
    margin-bottom: 6.933vw;
  }
}
.concept-summary__text {
  margin: auto;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media print, screen and (min-width: 769px) {
  .concept-summary__text {
    width: 86rem;
    font-size: 2rem;
  }
}
@media print, screen and (max-width: 768px) {
  .concept-summary__text {
    width: 84.266vw;
    font-size: 4.266vw;
  }
}
.concept-guide {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin: auto;
}
.concept-guide li a {
  display: block;
  overflow: hidden;
}
.concept-guide li picture {
  display: block;
}
.concept-guide li p {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  font-family: Arial, san-serif;
  font-weight: bold;
  text-align: center;
  color: white;
  line-height: 1.1;
}
@media print, screen and (min-width: 769px) {
  .concept-guide {
    width: 106rem;
    margin-top: 10rem;
  }
  .concept-guide li {
    width: 25rem;
  }
  .concept-guide li p {
    bottom: 1.4rem;
  }
  .concept-guide li img {
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
  }
  .concept-guide li:hover img {
    opacity: 0.7;
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
  }
}
@media print, screen and (max-width: 768px) {
  .concept-guide {
    width: 84.266vw;
    margin-top: 19.733vw;
    gap: 3.733vw;
  }
  .concept-guide li {
    width: 40.266vw;
  }
  .concept-guide li p {
    bottom: 2.666vw;
    font-size: 3.2vw;
  }
}
.chara {
  background-color: white;
}
@media print, screen and (min-width: 769px) {
  .chara {
    padding-top: 19rem;
  }
}
@media print, screen and (max-width: 768px) {
  .chara {
    padding-top: 29.333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .chara-title {
    margin-bottom: 8rem;
  }
}
@media print, screen and (max-width: 768px) {
  .chara-title {
    margin-bottom: 4.8vw;
  }
  .chara-title h2 {
    line-height: 1.43;
    color: #707070;
    letter-spacing: -0.02em;
  }
}
.chara-summary {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .chara-summary {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 74.6rem;
  }
}
@media print, screen and (max-width: 768px) {
  .chara-summary {
    width: 84.266vw;
  }
}
@media print, screen and (min-width: 769px) {
  .chara-summary__image {
    width: 16rem;
  }
}
@media print, screen and (max-width: 768px) {
  .chara-summary__image {
    width: 61.333vw;
    margin: 0 auto 5.866vw;
  }
}
.chara-summary__text {
  text-align: justify;
  text-justify: inter-ideograph;
}
@media print, screen and (min-width: 769px) {
  .chara-summary__text {
    width: 55rem;
  }
}
.manga {
  margin: auto;
  border-bottom: solid 1px #707070;
}
@media print, screen and (min-width: 769px) {
  .manga {
    width: 120rem;
    padding-top: 11rem;
  }
}
@media print, screen and (max-width: 768px) {
  .manga {
    padding-top: 40vw;
    margin-top: 10.666vw;
  }
}
.manga-chara {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .manga-chara {
    width: 21.2rem;
  }
}
@media print, screen and (max-width: 768px) {
  .manga-chara {
    width: 33.066vw;
  }
}
.manga-popup {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.manga-popup .popup {
  position: absolute;
  transition: 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  will-change: opacity, transform;
  -webkit-transform: translateY(-10%);
  transform: translateY(-10%);
  opacity: 0;
}
.manga-popup .popup div {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  will-change: transform;
}
.manga-popup .popup picture {
  display: block;
  width: 100%;
}
.manga-popup .popup p {
  position: absolute;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  width: 100%;
}
.manga-popup .popup p span {
  position: relative;
  display: block;
  font-weight: bold;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.manga-popup .popup p span i {
  display: inline-block;
}
.manga-popup .popup p span i:nth-of-type(odd) {
  padding-top: 0.2em;
  height: 0.75em;
  -webkit-transform: translateX(0.3em);
  transform: translateX(0.3em);
}
.manga-popup .popup p span i:nth-of-type(even) {
  padding-top: 0.1em;
  height: 0.85em;
  -webkit-transform: translateX(-0.3em);
  transform: translateX(-0.3em);
}
.manga-popup .popup p span::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transform-origin: 0 bottom;
  transform-origin: 0 bottom;
  transition: -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.manga-popup .popup p span:nth-of-type(1)::after {
  transition-delay: 0.5s;
}
.manga-popup .popup p span:nth-of-type(2)::after {
  transition-delay: 0.8s;
}
.manga-popup .popup p span:nth-of-type(3)::after {
  transition-delay: 1.1s;
}
.manga-popup .popup p span:nth-of-type(4)::after {
  transition-delay: 1.4s;
}
.manga-popup .popup.show {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.manga-popup .popup.show p span::after {
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
}
@media print, screen and (min-width: 769px) {
  .manga-popup .popup p {
    gap: 2rem;
  }
  .manga-popup .popup p span {
    font-size: 2rem;
  }
  .manga-popup .popup.popup-1 {
    top: 0;
    left: 50%;
    margin-left: 32.8rem;
    width: 27.4rem;
  }
  .manga-popup .popup.popup-2 {
    top: 44rem;
    left: 50%;
    margin-left: 25.4rem;
    width: 27.4rem;
  }
  .manga-popup .popup.popup-3 {
    top: 18.5rem;
    left: 50%;
    margin-left: 12rem;
    width: 25rem;
  }
  .manga-popup .popup.popup-4 {
    top: 36.8rem;
    right: 50%;
    margin-right: 12rem;
    width: 21rem;
  }
  .manga-popup .popup.popup-5 {
    top: 9rem;
    right: 50%;
    margin-right: 19.5rem;
    width: 27.4rem;
  }
  .manga-popup .popup.popup-6 {
    top: 48rem;
    right: 50%;
    margin-right: 32rem;
    width: 25.4rem;
  }
}
@media print, screen and (max-width: 768px) {
  .manga-popup .popup p {
    gap: 4.266vw;
  }
  .manga-popup .popup p span {
    font-size: 4.266vw;
    letter-spacing: 0.15em;
  }
  .manga-popup .popup.popup-1 {
    top: 0;
    left: 60.8vw;
    width: 42.133vw;
  }
  .manga-popup .popup.popup-2 {
    top: 76.266vw;
    left: 59.733vw;
    width: 41.6vw;
  }
  .manga-popup .popup.popup-3 {
    top: 10.133vw;
    left: 6.4vw;
    width: 40vw;
  }
  .manga-popup .popup.popup-4 {
    top: 75.733vw;
    left: -3.734vw;
    width: 41.6vw;
  }
}
.what {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .what {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 116rem;
    padding-top: 11rem;
  }
}
@media print, screen and (max-width: 768px) {
  .what {
    padding-top: 25.333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .what-item {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 53rem;
  }
}
@media print, screen and (max-width: 768px) {
  .what-item {
    padding: 0 7.466vw;
  }
  .what-item.-bag {
    margin-bottom: 8vw;
  }
  .what-item.-manga {
    padding-top: 12vw;
    padding-bottom: 16vw;
    background-color: #F7F7F7;
  }
}
@media print, screen and (min-width: 769px) {
  .what-item__image {
    width: 19rem;
  }
}
@media print, screen and (max-width: 768px) {
  .what-item__image {
    margin-bottom: 9.6vw;
  }
}
.what-item__text {
  font-weight: bold;
}
.what-item__text h3 {
  color: #2E2E2E;
}
.what-item__text h3 span {
  font-family: Arial, san-serif;
}
.what-item__text p {
  text-align: justify;
  text-justify: inter-ideograph;
}
.what-item__text > span {
  display: inline-block;
  margin-top: 1em;
}
@media print, screen and (min-width: 769px) {
  .what-item__text {
    width: 29rem;
  }
  .what-item__text h3 {
    margin-bottom: 1.8rem;
    font-size: 3.2rem;
  }
  .what-item__text > span {
    font-size: 1.4rem;
  }
}
@media print, screen and (max-width: 768px) {
  .what-item__text h3 {
    padding-left: 2.666vw;
    margin-bottom: 4.8vw;
    font-size: 8.533vw;
  }
  .what-item__text p {
    font-size: 4.266vw;
  }
  .what-item__text > span {
    font-size: 3.733vw;
  }
}
.collabo {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .collabo {
    width: 116rem;
    padding-top: 18rem;
  }
}
@media print, screen and (max-width: 768px) {
  .collabo {
    padding-top: 16vw;
  }
}
@media print, screen and (min-width: 769px) {
  .collabo-title {
    margin-bottom: 5rem;
  }
}
@media print, screen and (max-width: 768px) {
  .collabo-title {
    margin-bottom: 9.333vw;
  }
  .collabo-title h2 {
    line-height: 1.4;
  }
}
.collabo-kv {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .collabo-kv {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 15rem;
  }
}
@media print, screen and (max-width: 768px) {
  .collabo-kv {
    width: 84.266vw;
    margin-bottom: 16vw;
  }
}
.collabo-main {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .collabo-main {
    height: 107rem;
  }
}
@media print, screen and (max-width: 768px) {
  .collabo-main {
    width: 84.266vw;
  }
}
.collabo-main__catch h3 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #C6B190;
  color: white;
  font-family: Arial;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
}
.collabo-main__catch p {
  line-height: 1.6;
}
@media print, screen and (min-width: 769px) {
  .collabo-main__catch {
    width: 41rem;
    margin-left: 3rem;
  }
  .collabo-main__catch h3 {
    height: 41rem;
    margin-bottom: 8.5rem;
    font-size: 4.2rem;
  }
  .collabo-main__catch p {
    text-align: justify;
    text-justify: inter-ideograph;
    font-size: 2rem;
  }
}
@media print, screen and (max-width: 768px) {
  .collabo-main__catch {
    margin-bottom: 12vw;
  }
  .collabo-main__catch h3 {
    height: 84.266vw;
    margin-bottom: 5.333vw;
    font-size: 8.533vw;
  }
  .collabo-main__catch p {
    text-align: justify;
    text-justify: inter-ideograph;
    font-size: 5.066vw;
  }
}
@media print, screen and (min-width: 769px) {
  .collabo-main__image {
    position: absolute;
    top: 10.8rem;
    right: 0;
    width: 63.8rem;
  }
}
@media print, screen and (max-width: 768px) {
  .collabo-main__image {
    margin-bottom: 10.666vw;
  }
}
.collabo-main__desc p {
  text-align: justify;
  text-justify: inter-ideograph;
}
@media print, screen and (min-width: 769px) {
  .collabo-main__desc {
    width: 41rem;
    padding-top: 5rem;
    margin-top: 5rem;
    margin-left: 3rem;
    border-top: solid 1px #D6D6D6;
  }
  .collabo-main__desc p {
    font-size: 1.2rem;
  }
}
@media print, screen and (max-width: 768px) {
  .collabo-main__desc p {
    font-size: 3.2vw;
  }
}
.profile {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .profile {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 93.5rem;
  }
}
@media print, screen and (max-width: 768px) {
  .profile {
    width: 73.333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .profile-image {
    width: 38rem;
  }
}
@media print, screen and (max-width: 768px) {
  .profile-image {
    margin-bottom: 3.8rem;
  }
}
.profile-summary h3 {
  font-family: Arial;
  font-weight: bold;
  color: #2E2E2E;
}
.profile-summary p {
  text-align: justify;
  text-justify: inter-ideograph;
}
.profile-summary hr {
  border: none;
  border-top: solid 1px #D6D6D6;
}
@media print, screen and (min-width: 769px) {
  .profile-summary {
    width: 48rem;
    margin-top: 2.5rem;
  }
  .profile-summary h3 {
    margin-bottom: 1.6rem;
    font-size: 3.2rem;
  }
  .profile-summary p {
    font-size: 1.2rem;
  }
  .profile-summary hr {
    margin: 3.5rem 0;
  }
}
@media print, screen and (max-width: 768px) {
  .profile-summary {
    margin-top: 6.666vw;
  }
  .profile-summary h3 {
    margin-bottom: 4.266vw;
    font-size: 8.533vw;
  }
  .profile-summary p {
    font-size: 3.2vw;
  }
  .profile-summary p:last-of-type {
    margin-top: 4rem;
  }
  .profile-summary hr {
    display: none;
  }
}
.scene {
  margin: auto;
}
.scene::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  display: block;
  width: 100%;
  background-color: #F7F7F7;
}
@media print, screen and (min-width: 769px) {
  .scene {
    padding-top: 15rem;
    padding-bottom: 7rem;
  }
  .scene::before {
    height: calc(100% - 17rem);
  }
}
@media print, screen and (max-width: 768px) {
  .scene {
    padding-top: 26.666vw;
    padding-bottom: 13.333vw;
  }
  .scene::before {
    height: calc(100% - 30.933vw);
  }
}
@media print, screen and (min-width: 769px) {
  .scene-title {
    margin-bottom: 4rem;
  }
  .scene-title p {
    color: #2E2E2E;
  }
}
@media print, screen and (max-width: 768px) {
  .scene-title {
    margin-bottom: 10.666vw;
  }
  .scene-title h2 {
    color: #707070;
  }
  .scene-title p {
    padding: 0 4vw;
  }
}
.scene-movie {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .scene-movie {
    width: 77.5rem;
    height: 43.6rem;
    margin-bottom: 4rem;
  }
}
@media print, screen and (max-width: 768px) {
  .scene-movie {
    width: 89.333vw;
    height: 50.133vw;
    margin-bottom: 10.666vw;
  }
}
.scene-credit {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .scene-credit {
    width: 77.5rem;
    padding: 0 6rem;
  }
  .scene-credit p {
    font-size: 1.2rem;
  }
}
@media print, screen and (max-width: 768px) {
  .scene-credit {
    width: 78.666vw;
  }
  .scene-credit p {
    font-size: 3.2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .qa {
    padding-top: 11rem;
    padding-bottom: 13rem;
  }
}
@media print, screen and (max-width: 768px) {
  .qa {
    padding-top: 14.666vw;
    padding-bottom: 20vw;
  }
}
@media print, screen and (min-width: 769px) {
  .qa .pattern.pattern-1 {
    top: 15rem;
    right: 50%;
    width: 78rem;
    height: 128rem;
  }
  .qa .pattern.pattern-3 {
    top: -20rem;
    right: calc(50% + 48rem);
    width: 46rem;
    height: 100rem;
  }
}
@media print, screen and (max-width: 768px) {
  .qa .pattern.pattern-1 {
    top: 0;
    left: 0;
    width: 100%;
    height: 114.666vw;
  }
  .qa .pattern.pattern-2 {
    top: 0;
    left: 0;
    width: 100%;
    height: 57.333vw;
  }
  .qa .pattern.pattern-3 {
    top: 0;
    left: 0;
    width: 100%;
    height: 77.333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .qa-item {
    display: -webkit-flex;
    display: flex;
  }
}
.qa-item__summary__text {
  font-weight: bold;
  line-height: 2;
  text-align: justify;
  text-justify: inter-ideograph;
}
.qa-item__summary__qa > div {
  display: -webkit-flex;
  display: flex;
}
.qa-item__summary__qa > div::before {
  content: "";
  position: relative;
  display: block;
  height: 40px;
  background: 0 0 no-repeat;
}
.qa-item__summary__qa > div p {
  font-weight: bold;
  line-height: 2;
  margin-top: -0.4em;
  text-align: justify;
  text-justify: inter-ideograph;
}
.qa-item__summary__qa > div.Q {
  border-bottom: solid 1px #D6D6D6;
}
.qa-item__summary__qa > div.Q::before {
  background-image: url("../img/top/qa-Q.png");
}
.qa-item__summary__qa > div.A::before {
  background-image: url("../img/top/qa-A.png");
}
@media print, screen and (min-width: 769px) {
  .qa-item__summary {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column;
    flex-flow: column;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .qa-item__summary__text {
    font-size: 1.2rem;
  }
  .qa-item__summary__qa > div::before {
    width: 6.5rem;
    background-size: 3rem auto;
  }
  .qa-item__summary__qa > div p {
    width: calc(100% - 6.5rem);
  }
  .qa-item__summary__qa > div.Q {
    padding-bottom: 2.8rem;
    margin-bottom: 3rem;
  }
  .qa-item__summary__qa > div:nth-of-type(3) {
    margin-top: 5rem;
  }
}
@media print, screen and (max-width: 768px) {
  .qa-item__summary__text {
    width: 85.333vw;
    margin: 10.666vw auto 14.666vw;
    font-size: 3.2vw;
  }
  .qa-item__summary__qa {
    padding-left: 8vw;
  }
  .qa-item__summary__qa > div::before {
    width: 16vw;
    background-size: 8.8vw auto;
  }
  .qa-item__summary__qa > div p {
    width: 74.666vw;
    padding-right: 7.2vw;
  }
  .qa-item__summary__qa > div.Q {
    padding-bottom: 10.133vw;
    margin-bottom: 10.666vw;
  }
  .qa-item__summary__qa > div:nth-of-type(3) {
    margin-top: 16vw;
  }
}
.qa-item.qa-1 {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .qa-item.qa-1 {
    margin-bottom: 19rem;
  }
  .qa-item.qa-1 .qa-item__image {
    width: 40.995%;
    margin-left: 16.837%;
  }
  .qa-item.qa-1 .qa-item__summary {
    width: 42.459%;
    padding-right: 7.32%;
    padding-left: 5.124%;
  }
  .qa-item.qa-1 .qa-item__summary__text {
    margin-top: 7.5rem;
  }
}
@media print, screen and (max-width: 768px) {
  .qa-item.qa-1 {
    padding-top: 14.666vw;
    padding-bottom: 17.333vw;
  }
  .qa-item.qa-1 .qa-item__image {
    padding-left: 24vw;
  }
}
.qa-item.qa-2 {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .qa-item.qa-2 {
    z-index: 2;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-bottom: 16rem;
  }
  .qa-item.qa-2 .qa-item__image {
    width: 61.932%;
  }
  .qa-item.qa-2 .qa-item__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .qa-item.qa-2 .qa-item__summary {
    width: 27.232%;
    margin-right: 7.32%;
  }
  .qa-item.qa-2 .qa-item__summary__text {
    margin-top: 7.5rem;
  }
}
@media print, screen and (max-width: 768px) {
  .qa-item.qa-2 {
    padding-top: 17.333vw;
    padding-bottom: 17.333vw;
  }
  .qa-item.qa-2 .qa-item__image {
    padding-right: 16vw;
  }
}
.qa-item.qa-3 {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .qa-item.qa-3 {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-bottom: 16rem;
  }
  .qa-item.qa-3 .qa-item__image {
    width: 47.071%;
  }
  .qa-item.qa-3 .qa-item__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .qa-item.qa-3 .qa-item__summary {
    z-index: 1;
    width: 41.215%;
    padding-left: 9rem;
    padding-right: 8rem;
  }
  .qa-item.qa-3 .qa-item__summary__text {
    margin-top: 6rem;
  }
  .qa-item.qa-3 .qa-item__summary::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 50%;
    width: 100%;
    height: calc(100% + 40rem);
    background-color: white;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
  }
}
@media print, screen and (max-width: 768px) {
  .qa-item.qa-3 {
    padding-top: 17.333vw;
    padding-bottom: 17.333vw;
  }
  .qa-item.qa-3 .qa-item__image {
    padding-left: 10.666vw;
  }
}
.qa-item.qa-4 {
  margin: auto;
  z-index: 3;
}
@media print, screen and (min-width: 769px) {
  .qa-item.qa-4 {
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .qa-item.qa-4 .qa-item__image {
    width: 52.855%;
  }
  .qa-item.qa-4 .qa-item__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .qa-item.qa-4 .qa-item__summary {
    width: 47.144%;
    padding-right: 9.516%;
    padding-left: 6.734%;
  }
  .qa-item.qa-4 .qa-item__summary__text {
    margin-top: 3rem;
  }
}
@media print, screen and (max-width: 768px) {
  .qa-item.qa-4 {
    padding-top: 17.333vw;
  }
  .qa-item.qa-4 .qa-item__image {
    padding-right: 16vw;
  }
}
.lolabag {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .lolabag {
    padding: 10rem 0;
  }
}
@media print, screen and (max-width: 768px) {
  .lolabag {
    padding-top: 16vw;
  }
}
@media print, screen and (min-width: 769px) {
  .lolabag-title {
    margin-bottom: 7rem;
  }
  .lolabag-title p {
    color: #2E2E2E;
  }
}
@media print, screen and (max-width: 768px) {
  .lolabag-title {
    width: 78.666vw;
    margin: 0 auto 12vw;
  }
  .lolabag-title p {
    font-size: 3.2vw;
  }
}
@media print, screen and (max-width: 768px) {
  .lolabag-container {
    width: 100%;
  }
}
.lolabag-items {
  margin: auto;
  width: 106rem;
}
@media print, screen and (min-width: 769px) {
  .lolabag-items {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    gap: 3.5rem;
  }
}
.lolabag-items li p {
  line-height: 1.2;
  text-align: right;
}
@media print, screen and (min-width: 769px) {
  .lolabag-items li {
    width: 33rem;
  }
  .lolabag-items li p {
    margin-top: 1.2rem;
    font-size: 1.2rem;
  }
}
@media print, screen and (max-width: 768px) {
  .lolabag-items li {
    width: 85.333vw;
    padding-left: 8vw;
  }
  .lolabag-items li p {
    margin-top: 2.666vw;
    font-size: 3.2vw;
  }
}
.special {
  margin: auto;
}
@media print, screen and (min-width: 769px) {
  .special {
    display: -webkit-flex;
    display: flex;
    padding-top: 13.5rem;
  }
}
@media print, screen and (max-width: 768px) {
  .special {
    padding-top: 16vw;
  }
}
@media print, screen and (min-width: 769px) {
  .special-image {
    width: 50%;
    background: url("../img/top/special-img.jpg") center center no-repeat;
    background-size: cover;
  }
  .special-image img {
    display: none;
  }
}
.special-info {
  background: url("../img/top/special-bg.jpg") center center no-repeat;
  background-size: cover;
}
@media print, screen and (min-width: 769px) {
  .special-info {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column;
    flex-flow: column;
    -webkit-justify-content: center;
    justify-content: center;
    width: 50%;
    padding: 9rem 7rem;
  }
}
@media print, screen and (max-width: 768px) {
  .special-info {
    padding: 8vw 8vw 13.333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .special-info__title {
    margin-bottom: 2rem;
  }
  .special-info__title h2 {
    text-align: left;
  }
}
@media print, screen and (max-width: 768px) {
  .special-info__title {
    margin-bottom: 6.4vw;
  }
  .special-info__title h2 {
    font-size: 8.533vw;
  }
}
.special-info__summary .txt {
  text-align: justify;
  text-justify: inter-ideograph;
}
.special-info__summary a {
  position: relative;
  display: inline-block;
  padding-right: 0.8em;
  font-weight: bold;
  color: #2E2E2E;
}
.special-info__summary a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 0.6em;
  height: 0.6em;
  margin: auto;
  border-top: solid 2px black;
  border-right: solid 2px black;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media print, screen and (min-width: 769px) {
  .special-info__summary p.link {
    margin: 2rem 0;
  }
  .special-info__summary a {
    font-size: 1.8rem;
    transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
  }
  .special-info__summary a:hover {
    opacity: 0.6;
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
}
@media print, screen and (max-width: 768px) {
  .special-info__summary p.link {
    margin: 5.333vw 0;
  }
  .special-info__summary a {
    font-size: 4.8vw;
  }
}