@charset "utf-8";

/*
==============
library-sp.css
==============
*/

/* -----------------
■ デフォルトリセット
------------------- */
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0 none;
  border-collapse: collapse;
  color: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  list-style-type: none;
  margin: 0;
  outline: medium none;
  padding: 0;
  table-layout: fixed;
  text-decoration: none;
  vertical-align: baseline; }

/* -----------------
■ 全体
------------------- */
html {
  font-size: calc(100vw / 3.75); }

body {
  min-height: 1px;
  font-size: .16rem; }

#contents_body span.onlySpIn {
  display: inline-block; }


/* -----------------
■ keyvisual
------------------- */
.keyvisual {
  height: 146px;
  background: url(../images/interview/mv_sp.jpg) center center no-repeat;
  background-size: cover; }


/* -----------------
■ desc
------------------- */
.desc {
  margin-top: 6vw; }

.desc_ttl {
  width: 70.93333vw;
  margin: 0 auto;
  text-align: center; }

.desc_ttl span {
  display: block;
  position: relative;
  margin-bottom: 4vw;
  color: #a7965c;
  font-size: .11rem;
  font-weight: 700;
  letter-spacing: 0.02rem; }

.desc p {
  width: 74.93333vw;
  margin: 6.6666vw auto 0;
  color: #000;
  font-size: .13rem;
  line-height: 2;
  letter-spacing: .01rem;
  text-align: justify; }


/* -----------------
■ theme_block
------------------- */
.theme_block {
  margin-top: 13.3vw; }

.theme_block .ttl_theme {
  position: relative;
  width: 18.13333vw;
  margin: 0 auto 10vw; }

.theme_block .ttl_theme:after {
  content: "";
  position: absolute;
  top: 7vw;
  left: 50%;
  width: 1px;
  height: 4.66vw;
  background-color: #bdbab9; }

.theme_block .desc_block h2 {
  width: 88vw;
  margin: 0 auto; }

.theme_block .desc_block .text {
  width: 74.93333vw;
  margin: 6vw auto 0;
  color: #000;
  font-size: .13rem;
  line-height: 2.1;
  letter-spacing: .01rem;
  text-align: justify; }

.theme_block .desc_block .btn {
  width: 74.93333vw;
  margin: 5vw auto 0; }

.theme_block .booklist {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  width: 74.93333vw;
  margin: 0 auto;
  height: 65.6vw; }

.theme_block .booklist li {
  width: 34.6666vw;
  margin-top: 7.4vw; }

.theme_block .booklist li:nth-of-type(odd) {
  margin-right: 5.6vw; }

.theme_block .booklist li:nth-of-type(n+3) {
  opacity: 0;
  transition: opacity .4s; }

.theme_block .booklist li a {
  display: block;
  text-decoration: none; }

.theme_block .booklist .img img {
  max-width: 100%; }

.theme_block .booklist p {
  color: #000;
  font-size: .12rem;
  line-height: 1.5;
  letter-spacing: 0.02rem;
  font-feature-settings: "palt"; }

.theme_block .booklist .book_name {
  margin-top: 3vw; }


/* theme_block1 */
.theme_block1 {
  margin-top: 16vw; }

.theme_block1 .booklist {
  height: 80.5vw; }

/* theme_block2 */
.theme_block2 .booklist {
  height: 70.93333vw; }

/* theme_block3 */
.theme_block3 .booklist {
  height: 75.73333vw; }


/* more */
.more_block {
  margin-top: 6.9vw;
  text-align: center; }

.more_block img {
  width: 23.73333vw; }


/* open */
.theme_block.js-open .booklist {
  height: auto; }

.theme_block.js-open .booklist li {
  opacity: 1; }

#contents_body .theme_block.js-open .more_block {
  display: none; }



/* -----------------
■ footer
------------------- */
#footer {
  margin-top: 11.9vw; }

#footer .footer_inner {
  padding: 9.375vw 0;
  text-align: center; }

#footer .sns_list {
  display: flex;
  justify-content: center;
  align-items: center; }

#footer .sns_item {
  width: 10vw; }

#footer .sns_item a {
  display: block; }

#footer .sns_item:not(:first-child) {
  margin-left: 9.375vw; }

#footer .footer_logo {
  margin-top: 9.375vw; }

#footer .footer_logo img {
  width: 37.8125vw; }

#footer .copyright {
  margin-top: 3.4vw;
  line-height: 0; }

#footer .copyright img {
  width: 30.78125vw; }


/* -----------------
■ 詳細 共通
------------------- */
.theme_body {
  padding-bottom: 37vw; }

.theme01 {
  background-color: #f7f2eb; }

.theme02 {
  background-color: #e4efe4; }

.theme03 {
  background-color: #e6edef; }


/* kv */
.theme_body .keyvisual {
  height: 36.66666vw; }

/* desc */
.theme_body .desc {
  margin-top: 6vw; }

.theme_body .desc_ttl {
  width: auto; }

.theme_body .desc_ttl span {
  position: relative;
  width: 16.4vw;
  margin: 0 auto; }

.theme_body .desc_ttl span:after {
  content: "";
  position: absolute;
  top: 5.4vw;
  left: 50%;
  width: 1px;
  height: 4.2666vw;
  background-color: #af9758; }

.theme_body .desc_ttl figure {
  margin: 9vw auto 0; }

.theme_body .desc .text {
  width: 74.93333vw;
  margin: 8.2vw auto 0;
  font-size: .13rem;
  line-height: 2.15;
  letter-spacing: .01rem;
  text-align: left; }


/* book_block */
.theme_body .book_block {
  width: auto;
  margin: 23vw auto 0; }

.theme_body .book_block .book_list {
  width: 74.93333vw;
  margin: 0 auto; }

.theme_body .book_block .book_list li {
  position: relative; }

.theme_body .book_block .number {
  margin: 0 auto; }

.theme_body .catchcopy {
  width: 64vw;
  margin: 8.5vw auto 0; }

.theme_body .catchcopy h2 {
  font-size: .16rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .01rem;
  font-feature-settings: "palt"; }

.theme_body .catchcopy p {
  margin-top: 1vw;
  font-size: .09rem;
  line-height: 1;
  letter-spacing: .01rem; }

.theme_body .book_list .img {
  width: 64vw;
  margin: 7vw auto 0; }

.theme_body .book_info {
  width: 64vw;
  margin: 6vw auto 0; }

.theme_body .book_info p {
  position: relative;
  padding-left: 8vw;
  font-feature-settings: "palt"; }

.theme_body .book_info p.book_title {
  font-size: .11rem;
  line-height: 1.4;
  letter-spacing: .01rem; }

.theme_body .book_info p.book_publish {
  margin-top: 2vw;
  font-size: .12rem;
  line-height: 1.2;
  letter-spacing: .01rem; }

.theme_body .book_info p:after {
  content: "";
  position: absolute;
  top: 1.8vw;
  left: 0;
  width: 6.6vw;
  height: 1px;
  background-color: #bdbab9; }

.theme_body .book_info .book_publish {
  margin-top: 2vw; }

.theme_body .book_block .text_block {
  position: relative;
  width: auto;
  margin-top: 4.6vw; }

.theme_body .book_block .more_block {
  text-align: left; }

.theme_body .book_block .text {
  width: 64vw;
  margin: 0 auto;
  font-size: .13rem;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: .01rem; }


/* arrow */
.theme_body .slick-arrow {
  top: 36.5%;
  width: 3.6vw;
  height: 7.2vw; }

.theme_body .slick-arrow:before {
  display: none; }

.theme_body .slick-prev {
  left: -5vw;
  background: url(../images/library/btn_prev.svg) no-repeat;
  background-size: cover; }

.theme_body .slick-next {
  right: -5vw;
  background: url(../images/library/btn_next.svg) no-repeat;
  background-size: cover; }


/* -----------------
■ 詳細 theme01
------------------- */
.theme01 .keyvisual {
  background: url(../images/theme01/mv_sp.jpg) center center no-repeat;
  background-size: cover; }

.theme01 .desc_ttl figure {
  width: 72.8vw; }

.theme01 .book_block .number {
  width: 67.1875vw; }


/* -----------------
■ 詳細 theme02
------------------- */
.theme02 .keyvisual {
  background: url(../images/theme02/mv_sp.jpg) center center no-repeat;
  background-size: cover; }

.theme02 .desc_ttl figure {
  width: 48.13333vw; }

.theme02 .book_block .number {
  width: 58.4375vw; }

.theme02 .book14 p.book_title {
  letter-spacing: .02em; }


/* -----------------
■ 詳細 theme03
------------------- */
.theme03 .keyvisual {
  background: url(../images/theme03/mv_sp.jpg) center center no-repeat;
  background-size: cover; }

.theme03 .desc_ttl figure {
  width: 48vw; }

.theme03 .book_block .number {
  width: 40.625vw; }

.theme03 .book_block .book6 h2 img {
  display: inline-block;
  width: 9.375vw;
  margin: 0 1vw;
  padding-top: 2.7vw;
  vertical-align: top; }


/* -----------------
■ other_block
------------------- */
.other_block {
  padding: 8vw 0 0;
  text-align: center;
  background-color: #fff; }

.other_block .listBtn {
  width: 87.73333vw;
  margin: 0 auto; }

.other_block .listBtn a {
  display: block;
  padding: 7.4vw 0;
  text-align: center;
  background-color: #9b7d2e; }

.other_block .listBtn a img {
  width: 64.26666vw; }

.other_block h2 img {
  width: 40.66666vw; }

.other_block .bnr_block {
  width: 87.73333vw;
  margin: 3.3333vw auto 0; }

.other_block .bnr_block .bnr:nth-of-type(n+2) {
  margin-top: 1.333vw; }

.theme_wrapper #footer .footer_inner {
  padding: 0 0 9vw; }

