@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/*=============================================================
 02_layout
=============================================================*/
/* kv
-------------------------------------------------*/
.kv {
  position: relative;
  width: 96.875%;
  margin: min(1.875svw, 12px) auto min(1.71875svw, 11px);
}
@media print, screen and (min-width: 641px) {
  .kv {
    width: min(100%, 1800px);
    margin: 0 auto 16px;
  }
}
.kv .kv-main {
  opacity: 0;
  animation: fadeIn 0.5s 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.kv .logo {
  position: absolute;
  bottom: min(0.15625svw, 1px);
  left: min(4.53125svw, 29px);
  width: 9.8387096774%;
  opacity: 0;
  animation: fadeIn 0.5s 1.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
@media print, screen and (min-width: 641px) {
  .kv .logo {
    bottom: -5px;
    left: 53px;
    width: 147.5px;
  }
}

@media screen and (min-width: 641px) and (max-width: 1800px) {
  .kv {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }
  .kv img {
    width: 100%;
    height: auto;
    display: block;
  }
  .kv .logo {
    width: min(8.1944444444%, 147.5px);
  }
}
/* nav
-------------------------------------------------*/
.nav {
  position: relative;
  width: 92.578125%;
  margin: 0 auto min(8.75svw, 56px);
}
@media print, screen and (min-width: 641px) {
  .nav {
    width: 1000px;
    margin-bottom: 104px;
  }
}
.nav .nav-links {
  opacity: 0;
  animation: fadeUp 0.5s 1.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.nav .nav-links > li:not(:last-of-type) {
  margin-bottom: min(1.25svw, 8px);
}
@media print, screen and (min-width: 641px) {
  .nav .nav-links > li:not(:last-of-type) {
    margin-bottom: 15px;
  }
}

/* fair
-------------------------------------------------*/
.fair {
  position: relative;
  width: 92.5%;
  margin: 0 auto 0;
  padding: min(1.875svw, 12px) 0 0;
  border: clamp(2.5px, 0.78125vw + 0px, 5px) solid #e5e5e5;
  box-shadow: 0px 0px 20px 10px rgba(0, 168, 255, 0.78);
  border-radius: clamp(15px, 4.6875vw + 0px, 30px);
  box-sizing: border-box;
  background: #fff url(../img/ebookfair/sp/book_bg.png) no-repeat max(-4.6875svw, -30px) max(-2.34375svw, -15px)/30.6759098787% auto;
}
@media print, screen and (min-width: 641px) {
  .fair {
    width: 1100px;
    margin-bottom: 0;
    padding: 20px 0 0;
    border-width: 9px;
    box-shadow: 0px 0px 50px 10px rgba(0, 168, 255, 0.78);
    border-radius: 99px;
    background: #fff url(../img/ebookfair/sp/book_bg.png) no-repeat -71px -81px/333.5px auto;
  }
}
.fair + .fair {
  margin-top: min(10.78125svw, 69px);
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .fair + .fair {
    margin-top: 104px;
  }
}
.fair .hgroup {
  position: relative;
  margin-bottom: min(2.96875svw, 19px);
}
@media print, screen and (min-width: 641px) {
  .fair .hgroup {
    margin-bottom: 0;
  }
}
.fair .hgroup .headline {
  width: 82.582322357%;
  margin: 0 auto 0;
}
@media print, screen and (min-width: 641px) {
  .fair .hgroup .headline {
    width: 819px;
  }
}
.fair .hgroup .part {
  position: absolute;
  top: max(-4.53125svw, -29px);
  left: max(-3.75svw, -24px);
  width: 15.5112651646%;
}
@media print, screen and (min-width: 641px) {
  .fair .hgroup .part {
    top: -41px;
    left: 18px;
    width: 134.5px;
  }
}
.fair .hgroup .icon-book {
  position: absolute;
  top: max(-2.96875svw, -19px);
  right: min(4.6875svw, 30px);
  width: 8.0589254766%;
}
@media print, screen and (min-width: 641px) {
  .fair .hgroup .icon-book {
    top: -33px;
    right: 96px;
    width: 77px;
  }
}
.fair .leadbox {
  position: relative;
  width: 89.3581081081%;
  margin: 0 auto 0;
  padding: 0 min(0.546875svw, 3.5px) min(4.375svw, 28px);
}
@media print, screen and (min-width: 641px) {
  .fair .leadbox {
    width: 996.5px;
    padding: 0 0 21.5px;
  }
}
.fair .leadbox::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1065/8;
  margin: 0 auto;
  background: url(../img/ebookfair/sp/line01.png) no-repeat 50% 0/100% auto;
}
@media print, screen and (min-width: 641px) {
  .fair .leadbox::after {
    aspect-ratio: 1993/8;
    background-image: url(../img/ebookfair/pc/line01.png);
  }
}
.fair .leadbox .text {
  font-size: clamp(11px, 3.4375vw + 0px, 22px);
  font-weight: 500;
  line-height: 1.3636363636;
}
@media print, screen and (min-width: 641px) {
  .fair .leadbox .text {
    font-size: 18px;
    line-height: 1.6666666667;
  }
}
.fair .leadbox .text .strong {
  font-size: clamp(13px, 4.0625vw + 0px, 26px);
  font-weight: bold;
  line-height: 1.1538461538;
  color: #e60012;
}
@media print, screen and (min-width: 641px) {
  .fair .leadbox .text .strong {
    font-size: 26px;
    line-height: 1.1538461538;
  }
}
@media print, screen and (min-width: 641px) {
  .fair .leadbox .text .strong .fs-small {
    font-size: 18px;
    line-height: 1.6666666667;
  }
}
.fair .leadbox .text + .text {
  margin-top: min(0.625svw, 4px);
}
@media print, screen and (min-width: 641px) {
  .fair .leadbox .text + .text {
    margin-top: 2px;
  }
}

/* eligible-series
-------------------------------------------------*/
.eligible-series {
  width: 92.9054054054%;
  margin: min(6.875svw, 44px) auto 0;
  padding-bottom: min(10.78125svw, 69px);
}
@media print, screen and (min-width: 641px) {
  .eligible-series {
    width: 1000px;
    margin-top: 57px;
    padding-bottom: 56.5px;
  }
}
.eligible-series .eligible-headline {
  position: relative;
  margin-bottom: min(2.96875svw, 19px);
  padding-left: min(6.25svw, 40px);
  font-size: clamp(13px, 4.0625vw + 0px, 26px);
  font-weight: bold;
}
@media print, screen and (min-width: 641px) {
  .eligible-series .eligible-headline {
    margin-bottom: 20px;
    padding-left: 41px;
    font-size: 26px;
  }
}
.eligible-series .eligible-headline::before {
  content: "";
  position: absolute;
  top: min(0.15625svw, 1px);
  left: 0;
  display: inline-block;
  width: 1.3846153846em;
  height: auto;
  aspect-ratio: 1/1;
  background: url(../img/ebookfair/sp/dengeki_primary.png) no-repeat 0 0/100% auto;
}
@media print, screen and (min-width: 641px) {
  .eligible-series .eligible-headline::before {
    top: 2px;
    left: 0;
    width: 36px;
    background-image: url(../img/ebookfair/pc/dengeki_primary.png);
  }
}
.eligible-series .eligible-headline .fs-small {
  font-size: clamp(9px, 2.8125vw + 0px, 18px);
}
@media print, screen and (min-width: 641px) {
  .eligible-series .eligible-headline .fs-small {
    font-size: 18px;
  }
}
.eligible-series .series-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(4.375svw, 28px) min(7.8125svw, 50px);
  width: 87.7272727273%;
  margin: 0 auto 0;
}
@media print, screen and (min-width: 641px) {
  .eligible-series .series-list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 50px 50.6666666667px;
    width: 100%;
  }
}
.eligible-series .series-list .cover {
  margin: 0 0 min(2.8125svw, 18px);
  border: 1px solid #e5e5e5;
  aspect-ratio: 420/600;
  overflow: hidden;
}
@media print, screen and (min-width: 641px) {
  .eligible-series .series-list .cover {
    margin-bottom: 19px;
    border-width: 2px;
  }
}
.eligible-series .series-list .cover img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.4, 0, 1, 1); /* 値の変化をアニメーションさせる */
}
@media print and (hover: hover), screen and (hover: hover) and (min-width: 641px) {
  .eligible-series .series-list .cover:hover img {
    transform: scale(1.1);
  }
}
.eligible-series .series-list .title {
  margin-bottom: min(0.78125svw, 5px);
  font-size: clamp(9px, 2.8125vw + 0px, 18px);
  font-weight: bold;
  line-height: 1.4444444444;
}
@media print, screen and (min-width: 641px) {
  .eligible-series .series-list .title {
    margin-bottom: 5px;
    font-size: 18px;
  }
}
.eligible-series .series-list .author {
  font-size: clamp(7px, 2.1875vw + 0px, 14px);
  font-weight: 500;
  line-height: 1.5;
}
@media print, screen and (min-width: 641px) {
  .eligible-series .series-list .author {
    font-size: 14px;
  }
}
.eligible-series .series-list .btns {
  margin-top: min(2.8125svw, 18px);
}
@media print, screen and (min-width: 641px) {
  .eligible-series .series-list .btns {
    margin-top: 18px;
  }
}
.eligible-series .series-list .btns > li:not(:last-of-type) {
  margin-bottom: min(1.71875svw, 11px);
}
@media print, screen and (min-width: 641px) {
  .eligible-series .series-list .btns > li:not(:last-of-type) {
    margin-bottom: 11px;
  }
}
.eligible-series .series-list .btns a {
  position: relative;
  display: block;
  padding: min(1.40625svw, 9px) min(4.6875svw, 30px) min(1.5625svw, 10px);
  background-color: #e60012;
  border-radius: 999px;
  font-size: clamp(7px, 2.1875vw + 0px, 14px);
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}
@media print, screen and (min-width: 641px) {
  .eligible-series .series-list .btns a {
    padding: 9px 30px 10px;
    font-size: 14px;
  }
}
.eligible-series .series-list .btns a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(2.8125svw, 18px);
  transform: translateY(-50%);
  display: block;
  width: min(1.25svw, 8px);
  height: auto;
  aspect-ratio: 16/24;
  background-color: #fff;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
@media print, screen and (min-width: 641px) {
  .eligible-series .series-list .btns a::after {
    right: 18px;
    width: 8px;
    height: 12px;
  }
}
@media print and (hover: hover), screen and (hover: hover) and (min-width: 641px) {
  .eligible-series .series-list .btns a {
    transition: all 0.2s;
  }
}
@media print and (hover: hover), screen and (hover: hover) and (min-width: 641px) {
  .eligible-series .series-list .btns a:hover {
    background-color: rgba(230, 0, 18, 0.7);
  }
}

/* footer
-------------------------------------------------*/
.content-copyright .copyright {
  text-align: center;
}

#content::after {
  aspect-ratio: 1280/1100;
}
@media print, screen and (min-width: 641px) {
  #content::after {
    aspect-ratio: 3600/1453;
  }
}