.aArrowLink {
  padding: 0 20px 0 0;
  color: #808080;
  font-size: 12px;
  letter-spacing: 0.025em;
  text-decoration: none;
  position: relative; }
  .aArrowLink::before {
    content: '';
    width: 15px;
    height: 15px;
    background: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMTQgMTQiIHdpZHRoPSIxNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJtMCAwaDE0djE0aC0xNHoiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNhKSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJtYXRyaXgoMCAtMSAxIDAgMCAxNCkiPjxwYXRoIGQ9Im0wIDBoMTR2MTRoLTE0eiIvPjxwYXRoIGQ9Im02IDkgNCA1IDQtNSIgc3Ryb2tlPSIjODA4MDgwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMyAtNC41KSIvPjwvZz48L3N2Zz4=) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%); }

.mHeadingWrap {
  position: relative; }
  .mHeadingWrap .aArrowLink,
  .mHeadingWrap .mGrayLink {
    font-size: 12px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%); }
  .mHeadingWrap .mButtonsWrap {
    display: flex;
    transform: none;
    top: -11px;
    right: -16px;
    position: absolute; }
    .mHeadingWrap .mButtonsWrap .mButton {
      display: flex;
      width: 38px;
      height: 38px;
      justify-content: center;
      align-items: center;
      cursor: pointer; }
      .mHeadingWrap .mButtonsWrap .mButton + .mButton {
        margin-left: 10px; }

.mNavList {
  margin: 0;
  padding: 0;
  display: block;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  white-space: nowrap; }
  .mNavList::-webkit-scrollbar {
    display: none; }
  .mNavList .mNavItem {
    display: inline-block; }
    .mNavList .mNavItem .aNavLink {
      display: block;
      color: #242a36;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.2em;
      letter-spacing: 0.025em;
      text-decoration: none;
      opacity: 0.45;
      cursor: pointer;
      padding: 0 9px; }
      .mNavList .mNavItem .aNavLink:hover, .mNavList .mNavItem .aNavLink._active {
        opacity: 1; }

.lazyImage {
  opacity: 0; }

.aImage {
  transition: opacity 0.2s 0.2s; }

.mGeneralLink {
  color: inherit;
  text-decoration: none; }


.oContentContainer {
  padding: 24px;
  overflow: hidden;
  background-color: #fff;
  box-sizing: border-box;
  position: relative; }
  .oContentContainer.gray {
    background-color: #EBEBEB; }
  .oContentContainer .mBookListViewItem + .mBookListViewItem::before {
    content: '';
    border-top: 1px solid #ebebeb;
    position: absolute;
    top: 0;
    left: -22px;
    right: -22px; }
  .oContentContainer .mContentContainerSecondaryOver {
    position: relative;
    left: 0;
    right: 0;
    bottom: 0;
    margin-top: -40px; }

.mContentContainer + .oContentContainer,
.oContentContainer + .oContentContainer,
.oContentContainerList + .oContentContainer {
  border-top: 2px solid #ebebeb; }

.aBooksListItemTitle {
  font-size: 10px;
  line-height: 10px;
  height: 10px;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis; }

.aBookLabel {
  padding: 5px;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  border-radius: 10px;
  background: linear-gradient(to right, #fb8325, #fb674b); }

.aBookCaption {
  color: #fff;
  font-size: 10px;
  background: rgba(36, 42, 54, 0.75); }

.mBookImage {
  margin: 0;
  overflow: hidden;
  position: relative; }
  .mBookImage > ._imageWrap {
    display: block;
    position: relative;
    height: 0;
    width: 100%;
    padding-top: 140%;
    overflow: hidden; }
    .mBookImage > ._imageWrap > .aImage {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      height: auto;
      transform: translateY(-50%) translateX(-50%); }
      @supports (object-fit: cover) {
        .mBookImage > ._imageWrap > .aImage {
          height: 100%;
          object-fit: cover; } }
    .mBookImage > ._imageWrap > ._noImageText {
      position: absolute;
      left: 5%;
      right: 5%;
      top: 15%;
      font-size: 12px;
      line-height: 16px;
      color: #FFF;
      white-space: normal;
      word-break: break-all; }
  .mBookImage .aBookCaption {
    line-height: 22px;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0; }

.mTitleImageWrap {
  position: relative; }
  .mTitleImageWrap .mIconWrap._bookmark {
    width: 32px;
    height: 32px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(36, 42, 54, 0.75);
    border-radius: 100%;
    overflow: hidden;
    position: absolute;
    right: 6px;
    bottom: 6px; }
  .mTitleImageWrap .mIconWrap._rank {
    position: absolute;
    top: -5px;
    left: -5px; }
  .mTitleImageWrap .aBookLabel {
    position: absolute;
    top: -3px;
    right: -3px; }
  .mTitleImageWrap._cover .mBookImage .aImage {
    width: 100%;
    height: auto; }

.aText {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.025em; }

.aNumberText {
  font-family: 'comicspace-scorefont', 'DINosaur', sans-serif; }

.aRatingStar {
  width: 10px;
  height: 10px;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDEwIDEwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmJjODMyOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01LDAsNi41NjMsMy4yODksMTAsMy44MTYsNy41LDYuMzgyLDguMDYzLDEwLDUsOC4yODksMS45MzgsMTAsMi41LDYuMzgyLDAsMy44MTZsMy40MzgtLjUyNloiLz4KPC9zdmc+Cg==) repeat center left;
  background-size: contain;
  display: inline-block; }

.mRatingStarBar {
  width: 50px;
  height: 10px;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDEwIDEwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZDhkOGQ4OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01LDAsNi41NjMsMy4yODksMTAsMy44MTYsNy41LDYuMzgyLDguMDYzLDEwLDUsOC4yODksMS45MzgsMTAsMi41LDYuMzgyLDAsMy44MTZsMy40MzgtLjUyNloiLz4KPC9zdmc+Cg==) repeat center left;
  background-size: contain;
  display: flex; }
  .mRatingStarBar._high .aRatingStar {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDEwIDEwIj4KICAgIDxkZWZzPgogICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgLmNscy0xIHsKICAgICAgICAgICAgZmlsbDogI2YxODI0NjsKICAgICAgICAgICAgfQogICAgICAgIDwvc3R5bGU+CiAgICA8L2RlZnM+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01LDAsNi41NjMsMy4yODksMTAsMy44MTYsNy41LDYuMzgyLDguMDYzLDEwLDUsOC4yODksMS45MzgsMTAsMi41LDYuMzgyLDAsMy44MTZsMy40MzgtLjUyNloiLz4KPC9zdmc+Cg==); }

.mRatingWrap {
  display: flex;
  align-content: center;
  justify-content: center; }
  .mRatingWrap .aNumberText {
    margin: 0;
    font-family: comicspace-scorefont; }
  .mRatingWrap > ._point {
    font-size: 10.18px;
    display: flex;
    align-items: center;
    font-weight: bold; }

.mButtonsWrap {
  display: flex; }

.mButton {
  cursor: pointer;
  color: #fff;
  text-decoration: none;
  border-radius: 3px;
  box-sizing: border-box; }
  .mButton .aText {
    font-size: 12px;
    font-weight: 700; }
  .mButton .mIconWrap + .aText {
    margin-left: 5px; }

.mYomitaiButton {
  color: #fff;
  background-color: #4b9ebf;
  box-sizing: border-box;
  text-align: center; }
  .mYomitaiButton._active {
    background-color: #FFF;
    color: #808080;
    border: 1px solid #D8D8D8; }

.mRankingBadge {
  position: absolute;
  z-index: 2;
  width: 32px;
  height: 32px; }
  .mRankingBadge ._num {
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 24px;
    color: #fff;
    font-size: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    font-family: comicspace-scorefont;
    background: #242a36;
    border-radius: 100%; }
  .mRankingBadge._rank1 ._num, .mRankingBadge._rank2 ._num, .mRankingBadge._rank3 ._num {
    line-height: 24px;
    background: transparent; }
  .mRankingBadge._rank2 svg g {
    fill: #a0a09c; }
  .mRankingBadge._rank3 svg g {
    fill: #ce714f; }

._modalCommon {
  position: absolute;
  width: 620px;
  top: 105px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  border-radius: 6px 6px 0 0 / 6px 6px 0 0;
  overflow-y: auto; }
  @media screen and (max-width: 725px) {
    ._modalCommon {
      width: 100%;
      left: 0;
      transform: none;
      top: 125px;
      border-radius: 6px 6px 0 0; } }
  ._modalCommon .mButtonCircle {
    margin-top: 28px;
    margin-left: 22px;
    background-color: #fff;
    width: 50px;
    height: 50px; }

._modalCommonCentered {
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #fff;
  border-radius: 6px;
  transform: translateY(-50%) translateX(-50%); }
  @media screen and (max-width: 725px) {
    ._modalCommonCentered {
      width: 100%;
      left: 0;
      top: auto;
      bottom: 0;
      border-radius: 6px 6px 0 0;
      transform: none; } }

.ReactModal__Overlay {
  opacity: 0;
  transition: all 300ms ease; }
  .ReactModal__Overlay.ReactModal__Overlay--after-open {
    opacity: 1; }
  .ReactModal__Overlay .ReactModal__Content.oModalCommon {
    opacity: 0;
    transition: all 300ms ease 100ms; }
    @media screen and (max-width: 725px) {
      .ReactModal__Overlay .ReactModal__Content.oModalCommon {
        width: 100%; } }
    .ReactModal__Overlay .ReactModal__Content.oModalCommon._modalCommonCentered {
      margin-top: 20px; }
      @media screen and (min-width: 1021px) {
        .ReactModal__Overlay .ReactModal__Content.oModalCommon._modalCommonCentered {
          margin-top: 60px; } }
    .ReactModal__Overlay .ReactModal__Content.oModalCommon._modalCommon {
      margin-top: 20px; }
    .ReactModal__Overlay .ReactModal__Content.oModalCommon.ReactModal__Content--after-open {
      opacity: 1; }
      .ReactModal__Overlay .ReactModal__Content.oModalCommon.ReactModal__Content--after-open._modalCommonCentered {
        margin-top: 0; }
        @media screen and (min-width: 1021px) {
          .ReactModal__Overlay .ReactModal__Content.oModalCommon.ReactModal__Content--after-open._modalCommonCentered {
            margin-top: 40px; } }
      .ReactModal__Overlay .ReactModal__Content.oModalCommon.ReactModal__Content--after-open._modalCommon {
        margin-top: 0; }
  .ReactModal__Overlay._close {
    opacity: 0; }
    .ReactModal__Overlay._close .ReactModal__Content.oModalCommon._modalCommonCentered.ReactModal__Content--after-open {
      margin-top: 20px; }
      @media screen and (min-width: 1021px) {
        .ReactModal__Overlay._close .ReactModal__Content.oModalCommon._modalCommonCentered.ReactModal__Content--after-open {
          margin-top: 60px; } }
    .ReactModal__Overlay._close .ReactModal__Content._modalCommon {
      margin-top: 20px; }

.oModalListAlert {
  width: 300px;
  padding: 10px 0; }
  .oModalListAlert ul li a {
    height: 50px;
    padding: 0 22px;
    display: flex;
    align-items: center;
    font-size: 15px;
    cursor: pointer; }

.mYondaButton {
  color: #fff;
  background-color: #4b9ebf;
  box-sizing: border-box;
  text-align: center; }
  .mYondaButton._active {
    background-color: #FFF;
    color: #808080;
    border: 1px solid #D8D8D8; }

.aSubText {
  margin: 0;
  color: #808080;
  font-weight: 400;
  letter-spacing: 0.025em; }

.mUserCommentUpper {
  display: flex;
  align-items: center; }
  .mUserCommentUpper .mIconWrap i {
    transform: translateY(-1px); }
  .mUserCommentUpper .aNumberText {
    margin: 0 0 0 8px;
    font-size: 18px;
    font-weight: 700; }
  .mUserCommentUpper .aSubText {
    margin: 0 0 0 12px;
    font-size: 12px; }

.oCardTitle {
  list-style: none;
  margin: 0 6px;
  width: 115px;
  position: relative; }
  .oCardTitle .mRankingBadge {
    top: -6px;
    left: -6px; }
  .oCardTitle .mGeneralLink {
    display: block; }
    .oCardTitle .mGeneralLink .aBooksListItemTitle {
      margin: 12px 0 8px;
      text-align: center;
      white-space: nowrap;
      text-overflow: ellipsis; }
    .oCardTitle .mGeneralLink .mRatingWrap {
      position: relative;
      height: 15px; }
      .oCardTitle .mGeneralLink .mRatingWrap .mRatingStarBar {
        transform: translateY(2px);
        margin-right: 6px; }
      .oCardTitle .mGeneralLink .mRatingWrap .aNumberText {
        font-size: 16px;
        line-height: 15px; }
  .oCardTitle .mUserCommentUpper {
    justify-content: center; }
  .oCardTitle .mButtonsWrap {
    margin-top: 12px;
    justify-content: space-between;
    position: relative; }
    .oCardTitle .mButtonsWrap > .mButton {
      width: calc(50% - 2px);
      font-size: 10px;
      font-weight: 700;
      height: 25px;
      display: flex;
      justify-content: center;
      align-items: center; }
      .oCardTitle .mButtonsWrap > .mButton._active {
        line-height: 23px; }
        .oCardTitle .mButtonsWrap > .mButton._active.mYondaButton {
          position: absolute;
          left: 0;
          top: 0;
          right: 0;
          width: 100%; }
      .oCardTitle .mButtonsWrap > .mButton.selected {
        width: 100%;
        color: #808080;
        border: 1px solid #d8d8d8;
        text-align: center; }
      .oCardTitle .mButtonsWrap > .mButton.noSelected {
        color: #fff;
        background-color: #0189ec;
        text-align: center;
        width: 100%; }

.oHorizonListContainer {
  overflow-x: auto;
  margin: 0 -24px;
  transition: opacity 300ms ease; }
  .oHorizonListContainer .mHorizonList {
    padding: 10px 16px;
    white-space: nowrap;
    display: table; }
    .oHorizonListContainer .mHorizonList > * {
      display: inline-block; }
    .oHorizonListContainer .mHorizonList .oHorizonListItem .mUserComment {
      width: 490px; }
  .oHorizonListContainer.fadeOut {
    opacity: 0; }

.mBookMarkButton {
  cursor: pointer; }

.mVolumeImageWrap {
  display: block;
  position: relative; }
  .mVolumeImageWrap > .mBookImage {
    border-radius: 6px; }
  .mVolumeImageWrap .mBookMarkButton {
    position: absolute;
    right: 6px;
    bottom: 6px;
    width: 32px;
    height: 32px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(36, 42, 54, 0.75);
    border-radius: 100%;
    overflow: hidden; }
    .mVolumeImageWrap .mBookMarkButton.isBookMark .aIconBookmark {
      background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCI+CiAgICA8Zz4KICAgICAgICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIGZpbGw9Im5vbmUiLz4KICAgICAgICA8cGF0aCBkPSJNMTUsMTdsLTUtMy44ODlMNSwxN1Y0LjU1NkExLjUsMS41LDAsMCwxLDYuNDI5LDNoNy4xNDNBMS41LDEuNSwwLDAsMSwxNSw0LjU1NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMCkiIGZpbGw9IiNGQkM4MzIiIHN0cm9rZT0iI0ZCQzgzMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNSIvPgogICAgPC9nPgo8L3N2Zz4K); }
  .mVolumeImageWrap .mIconWrap._rank {
    position: absolute;
    top: -5px;
    left: -5px; }
  .mVolumeImageWrap .aBookLabel {
    position: absolute;
    top: -3px;
    right: -3px; }
  .mVolumeImageWrap._cover .mBookImage .aImage {
    width: 100%;
    height: auto; }

.aBoldText {
  font-weight: 700;
  letter-spacing: 0.025em; }

.mAuthorFunButton {
  background: #4b9ebf;
  display: flex;
  align-items: center;
  justify-content: center; }
  .mAuthorFunButton._active {
    background-color: #FFF;
    color: #808080;
    border: 1px solid #D8D8D8; }

.mTagItem .mGeneralLink {
  padding: 5px 8px;
  color: #242a36;
  font-size: 12px;
  text-decoration: none;
  border: 1px solid #d8d8d8;
  border-radius: 2px;
  display: block; }

.mTagList {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap; }
  .mTagList .mTagItem {
    margin: 10px 8px 0 0;
    padding: 0; }

.oAdBlock {
  text-align: center;
  margin: 24px 0; }
  @media screen and (max-width: 725px) {
    .oAdBlock {
      margin: 8px 0; } }

