@charset "UTF-8";
/* ====================
Layout
 ==================== */
.l-in__title {
  width: 44rem;
}
@media screen and (max-width: 960px) {
  .l-in__title {
    width: 73.5294117647%;
    max-width: 50rem;
  }
}
.l-in__header {
  margin: 0 auto 6.8rem;
}
@media screen and (max-width: 960px) {
  .l-in__header {
    margin-bottom: 1.8rem;
  }
}

.l-footer {
  margin: 5.5rem auto 0;
}
@media screen and (max-width: 960px) {
  .l-footer {
    margin: 0 auto 0;
  }
}

/* ====================
Project
 ==================== */
.p-about {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.p-about__container {
  width: 81.9444444444%;
  max-width: 118rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-about__container {
    width: 90.6666666667%;
    max-width: 56rem;
  }
}
.p-about__header {
  width: 100%;
  position: relative;
  margin: 0 auto 4rem;
}
.p-about__title {
  width: 38rem;
  position: relative;
  margin: 0 auto;
}
.p-about__data {
  display: block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
}
@media screen and (min-width: 961px) {
  .p-about__data {
    margin-bottom: -5.6rem;
  }
}
@media screen and (min-width: 961px) {
  .p-about__footer {
    position: absolute;
    right: 0;
    top: 0;
    padding-top: 4rem;
  }
}

.p-about_data {
  display: block;
  position: relative;
  padding: 0 2.7vw;
}
@media screen and (min-width: 961px) {
  .p-about_data:nth-child(2n) {
    margin-right: 0;
  }
  .p-about_data.-character {
    padding-top: 4rem;
    padding-right: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-about_data {
    width: 100%;
    padding: 6.5rem 0 0;
  }
}
.p-about_data.-history {
  background: url(../img/about/ptn_blue.png) repeat 0 0;
  background-size: 20rem;
}
.p-about_data.-author {
  background: url(../img/about/ptn_gray.png) repeat 0 0;
  background-size: 20rem;
}
.p-about_data__container {
  width: 100%;
  position: relative;
  margin: 0 auto;
  display: flex;
  align-items: center;
  max-width: 150rem;
}
@media screen and (min-width: 961px) {
  .p-about_data:nth-child(even) .p-about_data__container {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 960px) {
  .p-about_data__container {
    width: 90%;
    flex-direction: column-reverse;
  }
}
.p-about_data__thumb {
  width: 48%;
  display: block;
  position: relative;
  flex-shrink: 0;
}
@media screen and (min-width: 961px) {
  .p-about_data:nth-child(odd) .p-about_data__thumb {
    margin-right: 5%;
  }
  .p-about_data:nth-child(even) .p-about_data__thumb {
    margin-left: 5%;
  }
  .-character .p-about_data__thumb {
    width: 59%;
    margin-left: 0 !important;
    margin-right: -2%;
  }
  .-author .p-about_data__thumb {
    width: 53%;
    margin-right: 0 !important;
  }
  .-book .p-about_data__thumb {
    width: 54%;
    margin-right: -3%;
    margin-left: 3% !important;
  }
}
@media screen and (max-width: 960px) {
  .p-about_data__thumb {
    width: 100vw;
    margin-top: 3%;
  }
  .-character .p-about_data__thumb {
    margin-top: -2%;
  }
}
.p-about_data__thumb-img {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.p-about_data__content {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-about_data:nth-child(even) .p-about_data__content {
    padding-left: 10%;
  }
  .p-about_data:nth-child(odd) .p-about_data__content {
    padding-right: 10%;
  }
}
.p-about_data__ttl {
  display: block;
  position: relative;
  font-size: 2.6rem;
  letter-spacing: 0.3rem;
  line-height: 1.5;
  margin-bottom: 2.2rem;
  font-family: "hiragino-mincho-pron", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
}
@media screen and (max-width: 960px) {
  .p-about_data__ttl {
    font-size: 1.7rem;
  }
}
.p-about_data__lead {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 960px) {
  .p-about_data__lead {
    font-size: 1.2rem;
  }
}
.p-about_data__more {
  display: block;
  position: relative;
  margin-top: 3.2rem;
}

/* ====================
COMPONENT
 ==================== */