@charset "UTF-8";
/* ------------------------------------- */
/* ライブラリー（東郷堂文庫） */
/* ------------------------------------- */
.library .libraryttl {
  padding: 13.8rem 0 0;
}
.library .libraryttl .main-ttl img {
  max-width: 536px;
  margin: 0 auto 2rem;
}
.library .libraryttl .main-ttl {
  display: block;
}
.library .libraryttl .main-ttl .ttl-caps, .library .libraryttl .main-ttl .main-subttl, .library #libraryArea .main-ttl {
  font-size: clamp(1.9rem, 2vw + 1rem, 2.4rem);
  display: block;
}
.library #libraryArea {
  background: linear-gradient(180deg, #fff 0%, #fff 101px, #eee 101px, #eee 100%);
  padding: 0 0 6rem;
}
.library #libraryArea .inner {
  max-width: 900px;
  width: 90%;
  margin: 0 auto;
  padding: 0;
}
.library #libraryArea .accordion .inner {
  max-width: 100%;
  width: 100%;
}
.library #libraryArea .main-ttl {
  margin: 0 auto 5rem;
}
.library #libraryArea .tit-read {
  max-width: 738px;
  width: 100%;
  margin: 0 auto 7.5rem;
  text-align: justify;
  line-height: 4.6rem;
}
.library #libraryArea .tit-img {
  max-width: 299px;
  width: 50%;
  margin: 0 auto 6.5rem;
}
.library #libraryArea li {
  z-index: 2;
  margin: 0 auto 13rem;
}
.library #libraryArea li figure.img {
  position: relative;
  z-index: -1;
  margin: 0 auto -5rem;
  max-width: 738px;
  width: 85%;
}
.library #libraryArea li h3 {
  display: flex;
  align-items: center;
  padding: 0 2%;
  position: relative;
  top: 2px;
  width: max-content;
}
.library #libraryArea li h3 span {
  display: inline-block;
}
.library #libraryArea li h3 .archivo {
  font-size: 1.4rem;
}
.library #libraryArea li h3 .num-bd {
  color: #FFF38E;
  font-size: 2.4rem;
  margin-left: .5rem;
  letter-spacing: .2rem;
}
.library #libraryArea .accordion .bdR-t, .library #libraryArea .accordion .bdR-rl {
  border: 2px solid #000;
  background: #fff;
  overflow: hidden;
}
.library #libraryArea .accordion .bdR-rl {
  display: block;
}
.library #libraryArea .libraryBox {
  max-width: 900px;
  width: 100%;
  text-align: left;
  letter-spacing: .1rem;
}
.library #libraryArea .libraryBox .inner {
  max-width: 100%;
  width: 100%;
}
.library #libraryArea .libraryBox h4 {
  font-size: 2.7rem;
  font-weight: 700;
  padding: 3.2% 5% 3%;
  letter-spacing: .2rem;
}
.library #libraryArea .libraryBox h4 .small {
  font-size: 1.6rem;
  line-height: 3rem;
  display: block;
  margin-top: 1.1rem;
  letter-spacing: .1rem;
  font-weight: 500;
}
.library #libraryArea .libraryBox .box h5 {
  width: auto;
  background: #fff28d;
  font-size: 2.7rem;
  line-height: 3.9rem;
  padding: 1.5% 3.5rem 2%;
  letter-spacing: .2rem;
}
.library #libraryArea .libraryBox .box h5 .small {
  display: block;
  font-size: 1.6rem;
  letter-spacing: .1rem;
}
.library #libraryArea .libraryBox .box h6 {
  font-size: 1.8rem;
  line-height: 3.1rem;
}
.library #libraryArea .libraryBox .box p {
  font-size: 1.6rem;
  line-height: 3rem;
  text-align: justify;
}
.library #libraryArea .libraryBox .box .speech {
  padding: 0.5rem 15% 1rem;
  margin: -3.5rem auto 0;
}
.library #libraryArea .libraryBox .box .speech .small {
  font-size: 1.4rem;
  margin-top: 0;
  display: inline-block;
}
.library #libraryArea .libraryBox .box .speech .large {
  font-size: 2.5rem;
  line-height: normal;
  display: inline-block;
}
.library #libraryArea .libraryBox .box .speech::after {
  top: -17px;
  right: 16%;
}
.library #libraryArea .libraryBox .box ol {
  margin-bottom: 5.5rem;
}
.library #libraryArea .libraryBox .box ol h5 {
  position: relative;
  z-index: 2;
  padding: 0;
  display: flex;
  align-items: center;
  background: none;
  width: auto;
  margin-bottom: 2.8rem;
}
.library #libraryArea .libraryBox .box ol h5 .wt {
  background: #fff;
  position: relative;
  border-radius: 10px 0 0 10px;
  border: 1px solid #000;
  border-right: none;
  padding: 0 1rem 0 2rem;
  min-width: 130px;
  height: 68px;
  display: flex;
  align-items: center;
}
.library #libraryArea .libraryBox .box ol h5 .wt .archivo {
  font-size: 1.4rem;
}
.library #libraryArea .libraryBox .box ol h5 .wt .nscJ {
  font-size: 1.9rem;
  position: relative;
  top: -.2rem;
}
.library #libraryArea .libraryBox .box ol h5 .wt .num-bd {
  position: relative;
  top: -.3rem;
  font-size: 3.7rem;
  color: #fff28d;
  margin-left: .5rem;
}
.library #libraryArea .libraryBox .box ol h5 .wt::after {
  content: '';
  position: absolute;
  right: -22%;
  top: -1px;
  width: 34px;
  height: 68px;
  background: url("../img/library/library_num_item.svg") center/100% no-repeat;
}
.library #libraryArea .libraryBox .box ol h5 .ylw {
  z-index: -1;
  padding: 0 1rem 0 2rem;
  border-radius: 0 10px 10px 0;
  border: 1px solid #000;
  margin-left: 6px;
  min-height: 68px;
  height: auto;
  background: #fff28d;
  display: flex;
  align-items: center;
}
.library #libraryArea .libraryBox .box ol h5 .ylw span {
  padding: 0 2rem 0 3rem;
}
.library #libraryArea .libraryBox .box ol:last-of-type {
  margin-bottom: 0;
}
.library #libraryArea .libraryBox .box ol figure img {
  width: 100%;
}
.library #libraryArea .libraryBox .box .txtBox {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-bottom: 5.5rem;
}
.library #libraryArea .libraryBox .box .txtBox .txt b {
  display: inline-block;
  font-weight: 400;
  color: #fff;
  background-color: #000;
  padding: .5% 1.5% 1%;
}
.library #libraryArea .libraryBox .box .txtBox .txt h6 {
  margin: 0 0 1.8rem;
}
.library #libraryArea .libraryBox .box .txtBox figure {
  max-width: 205px;
  width: 26%;
}
.library #libraryArea .libraryBox .box .txtBox:last-of-type {
  margin-bottom: 0;
}
.library #libraryArea .libraryBox .box .txtBox.column .txt {
  max-width: 536px;
  width: 70%;
}
.library #libraryArea .libraryBox .box .titBox {
  display: flex;
  align-items: flex-start;
}
.library #libraryArea .libraryBox .box .titBox .tit {
  width: 59%;
  position: relative;
}
.library #libraryArea .libraryBox .box .methodBox.column {
  display: flex;
}
.library #libraryArea .libraryBox .box .methodBox.column div {
  width: calc(100% / 2);
}
.library #libraryArea .libraryBox .box .methodBox div {
  display: block;
}
.library #libraryArea .libraryBox .box .methodBox div h6 {
  font-size: 1.9rem;
  margin-bottom: 2rem;
  padding: 0.2rem 2rem;
}
.library #libraryArea .libraryBox .box .methodBox div:not(:last-of-type) {
  border-right: 3px dotted #999;
}
.library #libraryArea .libraryBox .box .methodBox .gray {
  padding-right: 5%;
}
.library #libraryArea .libraryBox .box .methodBox .gray h6 {
  background-color: #eee;
}
.library #libraryArea .libraryBox .box .methodBox .ylw {
  padding-left: 5%;
}
.library #libraryArea .libraryBox .box .methodBox .ylw h6 {
  background-color: #fff28d;
}
.library #libraryArea .libraryBox figure.main {
  float: right;
  max-width: 280px;
  width: 36%;
  margin: 0 0 4% 5%;
  text-align: center;
}
.library #libraryArea .libraryBox figure.main img {
  width: 100%;
}
.library #libraryArea .libraryBox figure figcaption {
  display: block;
  font-size: 1.4rem;
  text-align: right;
  margin: .5rem 0 2rem;
  font-weight: 300;
}
.library #libraryArea .one .box h6 {
  margin: 5.5rem 0 1.8rem;
}
.library #libraryArea .three .box .txtBox .txt h6 {
  margin: 1.2rem 0 1.8rem;
}
.library #libraryArea .three .box .speech {
  margin-top: 5rem;
  max-width: 435px;
  width: 95%;
}
.library #libraryArea .three .box .speech .large {
  margin-bottom: .5rem;
}
.library #libraryArea .four .box .speech {
  margin-top: 2rem;
  max-width: 200px;
  width: 45%;
}
.library #libraryArea .four .box h5 {
  margin-bottom: 4rem;
}
.library #libraryArea .four .box .titBox {
  margin-top: 7.5rem;
}
.library #libraryArea .three .box figure.main, .library #libraryArea .four .box figure.main {
  max-width: 280px;
  width: 36%;
}
.library #libraryArea .three .box figure.main img, .library #libraryArea .four .box figure.main img {
  width: 100%;
}
.library #libraryArea .three .box .speech, .library #libraryArea .four .box .speech {
  float: right;
  padding: 0.5rem 6% 1rem;
  text-align: center;
}
.library #libraryArea .three .box .speech .small, .library #libraryArea .four .box .speech .small {
  text-align: justify;
}
.library #libraryArea .three .box .speech::after, .library #libraryArea .four .box .speech::after {
  transform: rotate(90deg);
  bottom: 20%;
  right: -16px;
  top: auto;
}
.library #libraryArea .three .box p, .library #libraryArea .four .box p {
  text-align: justify;
}
.library #libraryArea .six .libraryBox .box ol {
  position: relative;
  padding-right: 25%;
}
.library #libraryArea .six .libraryBox .box ol figure {
  text-align: center;
}
.library #libraryArea .six .libraryBox .box ol figure img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  max-width: 170px;
  width: 25%;
}
.library .fan {
  padding: 10rem 0 6rem;
}
.library .fan .inner {
  padding: 0;
}
.library .fan .main-ttl {
  margin: 0 auto 7rem;
  font-size: 2.3rem;
}
.library .fan .main-ttl, .library #partner .main-ttl {
  margin-top: 1.5rem;
  font-size: 2.4rem;
  font-weight: 700;
}
.library .banner .inner {
  max-width: 750px;
  width: 95%;
  margin: 0 auto;
}
.library .banner .inner figcaption {
  max-width: 570px;
  width: 80%;
  margin: 2rem auto 0;
  text-align: justify;
  line-height: 3rem;
}
.library #mamas {
  background-color: #fff28d;
  padding: 10rem 0 7rem;
}
.library #mamas a,.library #partner a {
  display: inline-block;
}
.library #mamas a:hover {
  opacity: .8;
}
.library #partner a:hover {
  opacity: .7;
}
.library #partner {
  padding: 10rem 0 13rem;
}
.library #partner .main-ttl {
  margin: 0 auto 5rem;
  font-size: 2.3rem;
}
.library #partner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.library #partner ul:has(:only-child) {
  justify-content: center;
}
.library #partner ul li {
  width: 100%;
}
.library #partner ul li.column {
  width: calc(100% / 2 - 2%);
  margin-top: 5.3rem;
}
@media all and (-ms-high-contrast: none) {
  /* --- IEのみ --- */
  .library .libraryttl .main-ttl .ttl-caps, .library .libraryttl .main-ttl .main-subttl, .library #libraryArea .main-ttl {
    font-size: 2.4rem;
  }
  .library #libraryArea li h3 {
    width: 170px;
  }
}
@supports (-ms-ime-align: auto) {
  /* --- Edgeのみ --- */
  .library .libraryttl .main-ttl .ttl-caps, .library .libraryttl .main-ttl .main-subttl, .library #libraryArea .main-ttl {
    font-size: 2.4rem;
  }
  .library #libraryArea li h3 {
    width: 170px;
  }
  .fan .inner ol li {
    min-height: 380px;
    padding: 2rem 0 3rem;
  }
}
@media only screen and (max-width: 768px) {
  /* --- タブレット縦 / スマートフォン横 --- */
  .library #libraryArea .libraryBox .box h5 {
    font-size: 2.4rem;
    line-height: 3.6rem;
  }
  .library #libraryArea .libraryBox .box ol h5 .ylw {
    padding: 0 1rem 0 3rem;
  }
  .library #libraryArea .libraryBox .box ol h5 .ylw span {
    padding: 0 2rem 0 1rem;
  }
  .library #libraryArea .libraryBox .box .speech {
    padding: 0.5rem 13% 1rem;
  }
  .library #libraryArea .libraryBox .box .speech .large {
    font-size: 2.1rem;
  }
  .library #libraryArea .three .box .speech {
    margin-top: 3rem;
  }
  .library #libraryArea .four .box .titBox {
    position: relative;
    margin-bottom: 4rem;
  }
  .library #libraryArea .four .box .titBox .tit {
    position: initial;
  }
  .library #libraryArea .four .box .speech {
    right: 1%;
    margin: 0;
    position: absolute;
    top: 79%;
  }
  .library #libraryArea .three .box .speech, .library #libraryArea .four .box .speech {
    padding: 0.5rem 3% 1rem;
  }
  .library #libraryArea .three .box .speech::after, .library #libraryArea .four .box .speech::after {
    transform: rotate(0deg);
    bottom: auto;
    top: -16px;
    right: 16px;
  }
  .library #libraryArea .six .libraryBox .box ol {
    padding: 0;
  }
  .library #libraryArea .six .libraryBox .box ol figure img {
    position: initial;
    max-width: 146px;
    width: 100%;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 599px) {
  /* --- スマートフォン縦 --- */
  .library .libraryttl {
    padding: 9rem 0 0;
  }
  .library .libraryttl .main-ttl img {
    max-width: 180px;
  }
  .library #libraryArea {
    background: linear-gradient(180deg, #fff 0%, #fff 71px, #eee 71px, #eee 100%);
    padding-bottom: 2.8rem;
  }
  .library #libraryArea .main-ttl {
    margin: 0 auto 2.3rem;
  }
  .library #libraryArea .tit-img {
    max-width: 210px;
    width: 100%;
    margin: 0 auto 5rem;
  }
  .library #libraryArea .ttl-txt {
    margin: 3rem auto 6.5rem;
    line-height: 3.8rem;
  }
  .library #libraryArea li {
    margin: 0 auto 9.3rem;
  }
  .library #libraryArea li h3 {
    padding: 0 5%;
  }
  .library #libraryArea figure.main {
    float: none !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto 4rem !important;
  }
  .library #libraryArea figure.main img {
    max-width: 195px !important;
  }
  .library #libraryArea .libraryBox .inner {
    text-align: center;
  }
  .library #libraryArea .libraryBox h4 {
    font-size: 1.8rem;
    padding: 6% 5% 7%;
  }
  .library #libraryArea .libraryBox h4 .small {
    font-size: 1.4rem;
    line-height: 2.5rem;
    text-align: justify;
  }
  .library #libraryArea .libraryBox .box h5 {
    font-size: 1.8rem;
    line-height: 2.7rem;
    padding: 4% 2rem;
    margin: 0 auto 4rem;
    width: 100%;
  }
  .library #libraryArea .libraryBox .box h5 .small {
    font-size: 1.4rem;
    line-height: normal;
    margin-bottom: .5rem;
  }
  .library #libraryArea .libraryBox .box h6 {
    text-align: left;
    margin: 3rem 0 1.1rem;
    font-size: 1.7rem;
  }
  .library #libraryArea .libraryBox .box p {
    font-size: 1.5rem;
  }
  .library #libraryArea .libraryBox .box ol {
    margin-bottom: 4rem;
  }
  .library #libraryArea .libraryBox .box ol h5 {
    display: block;
    margin-bottom: 3rem;
  }
  .library #libraryArea .libraryBox .box ol h5 .wt {
    width: max-content;
    min-width: auto;
    height: auto;
    border-right: 1px solid #000;
    border-radius: 6px;
    padding: .7rem 1rem .5rem 1.3rem;
    position: relative;
    left: -7px;
    top: 7px;
  }
  .library #libraryArea .libraryBox .box ol h5 .wt::after {
    background: url("../img/library/speech.svg") center/100% no-repeat;
    min-width: 14px;
    min-height: 14px;
    width: 14px;
    height: 14px;
    transform: rotate(180deg);
    right: auto;
    left: 8%;
    bottom: -12px;
    top: auto;
  }
  .library #libraryArea .libraryBox .box ol h5 .wt .num-bd {
    font-size: 2.5rem;
  }
  .library #libraryArea .libraryBox .box ol h5 .wt .nscJ {
    font-size: 1.5rem;
  }
  .library #libraryArea .libraryBox .box ol h5 .ylw {
    border-radius: 8px;
    margin: 0 auto;
    display: block;
    text-align: center;
    min-height: auto;
    padding: 2rem 1.5rem;
  }
  .library #libraryArea .libraryBox .box ol h5 .ylw span {
    padding: 0;
  }
  .library #libraryArea .libraryBox .box .titBox {
    display: block;
  }
  .library #libraryArea .libraryBox .box .txtBox {
    flex-direction: column;
    text-align: justify;
  }
  .library #libraryArea .libraryBox .box .txtBox.column .txt {
    max-width: 100%;
    width: 100%;
  }
  .library #libraryArea .libraryBox .box .txtBox figure {
    max-width: 195px;
    width: 100%;
    margin-top: 3.5rem;
  }
  .library #libraryArea .libraryBox .box .methodBox.column {
    display: block;
  }
  .library #libraryArea .libraryBox .box .methodBox.column div {
    width: 100%;
  }
  .library #libraryArea .libraryBox .box .methodBox.column div:not(:last-of-type) {
    border-right: none;
  }
  .library #libraryArea .libraryBox .box .methodBox.column div h6 {
    font-size: 1.7rem;
  }
  .library #libraryArea .libraryBox .box .methodBox .gray, .library #libraryArea .libraryBox .box .methodBox .ylw {
    padding: 0;
  }
  .library #libraryArea .libraryBox .speech {
    padding: 2% 8% 3%;
  }
  .library #libraryArea .libraryBox figure {
    font-size: 1.3rem;
  }
  .library #libraryArea .three .box .titBox {
    display: block;
    position: relative;
    margin-bottom: 16rem;
  }
  .library #libraryArea .three .box .titBox .tit {
    width: 100%;
    position: initial;
  }
  .library #libraryArea .three .box .titBox .speech {
    position: absolute;
    bottom: -29%;
    left: 0;
    right: 0;
    margin: auto;
    padding: 3% 9% 4%;
  }
  .library #libraryArea .three .box .titBox .speech::after {
    right: 22%;
  }
  .library #libraryArea .four .box .titBox {
    margin: 4rem auto 7rem;
  }
  .library #libraryArea .four .box .titBox .tit {
    width: 100%;
  }
  .library #libraryArea .four .box figure.main {
    margin: 3rem auto 4rem !important;
  }
  .library #libraryArea .four .box .speech {
    max-width: max-width;
    width: auto;
    top: auto;
    bottom: -3rem;
    left: 0;
    right: 0;
    margin: auto;
    padding: 2% 8% 3%;
  }
  .library .fan {
    padding: 6rem 0 4rem;
  }
  .library .fan .inner {
    width: 100%;
  }
  .library .fan .main-ttl {
    margin-top: .5rem;
    font-size: 2.3rem;
  }
  .library .fan .main-ttl, .library #partner .main-ttl {
    font-size: 1.4rem;
  }
  .library #mamas {
    padding: 6rem 0 5rem;
  }
  .library #partner {
    padding: 6rem 0;
  }
  .library #partner .main-ttl {
    margin-top: .5rem;
    font-size: 2.3rem;
  }
  .library #partner ul li.column {
    margin-top: 4rem;
  }
  .library .banner .inner {
    width: 90%;
  }
  .library .banner .inner figcaption {
    font-size: 1.4rem;
    line-height: 2.4rem;
    max-width: 100%;
    width: 100%;
  }
  .library .banner .inner a {
    display: block;
  }
}