@charset "UTF-8";
/*!  変数・関数
================================================ */
/*-----------------------------------------------
 main
-----------------------------------------------*/
h2 {
  margin-bottom: 55px; }

/*-----------------------------------------------
 news
-----------------------------------------------*/
.news {
  width: 1000px;
  margin: 0 auto;
  padding-bottom: 80px; }

.news-area {
  margin-bottom: 80px; }
  .news-area article {
    font-size: 1.9rem;
    border-bottom: 2px dotted #000;
    margin-bottom: 37px;
    padding-bottom: 80px;
    line-height: 1.8; }
    .news-area article:last-of-type {
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0; }
    .news-area article p {
      width: 90%; }

h3 {
  position: relative;
  font-size: 4.0rem;
  font-family: "Hiragino Mincho ProN W7", "ヒラギノ明朝 ProN W7", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
  margin-bottom: 32px;
  padding: 0 0 15px 65px;
  border-bottom: solid 2px #040404; }
  h3::before {
    position: absolute;
    display: block;
    content: "";
    top: -3px;
    left: 5px;
    width: 49px;
    height: 49px;
    background: url("../img/news/title-icon.png") no-repeat; }
  h3::after {
    position: absolute;
    display: block;
    content: "";
    top: 58px;
    left: 0;
    width: 100%;
    height: 2px;
    border-bottom: solid 2px #040404; }

article .inner {
  display: flex;
  width: 100%;
  margin-bottom: 26px; }
  article .inner .news-img {
    margin-right: 20px; }
  article .inner .news-text {
    padding-top: 34px; }
    article .inner .news-text p {
      width: 100%; }
    article .inner .news-text .chatch {
      font-size: 2.6rem;
      font-weight: bold;
      color: #2e64d8;
      line-height: 1.2;
      margin-bottom: 20px; }
    article .inner .news-text .book-title {
      font-weight: bold;
      margin-bottom: 17px;
      padding: 10px 0 12px;
      border-top: 2px solid #000;
      border-bottom: 2px solid #000; }
      article .inner .news-text .book-title h4 {
        font-size: 4.7rem;
        letter-spacing: -0.4rem;
        margin-bottom: 15px; }
        article .inner .news-text .book-title h4 span {
          font-size: 3.3rem;
          line-height: 1.8; }
      article .inner .news-text .book-title .author {
        font-size: 2.1rem; }

.news-btn {
  text-align: center; }

.article-title {
  color: #2e64d8;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 25px; }

.red {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  color: #fa0404; }

.mb30 {
  margin-bottom: 30px; }

.mb25 {
  margin-bottom: 25px; }

/* 記事ごとの設定
-----------------------------------------------*/
#books .news-img img {
  width: 499px; }

@media screen and (max-width: 640px) {
  /*-----------------------------------------------
   main
  -----------------------------------------------*/
  h2 {
    margin-bottom: 8.59375vw; }

  /*-----------------------------------------------
   news
  -----------------------------------------------*/
  .news {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 80px; }

  .news-area {
    margin-bottom: 9.375vw; }
    .news-area article {
      width: 93%;
      font-size: 3.4375vw;
      margin-right: auto;
      margin-bottom: 5.46875vw;
      margin-left: auto;
      padding-bottom: 12.5vw; }
    .news-area p {
      width: 100%; }

  h3 {
    width: 82.03125vw;
    font-size: 6.25vw;
    margin: 0 auto 4.6875vw;
    padding: 0 0 2.34375vw 10.15625vw; }
    h3::before {
      top: -0.46875vw;
      left: 0.78125vw;
      width: 7.65625vw;
      height: 7.65625vw;
      background-size: cover; }
    h3::after {
      top: 9.0625vw; }

  article .inner {
    display: block;
    width: 100%;
    margin: 0 auto 6.5625vw; }
    article .inner .news-img {
      margin-right: 0; }
    article .inner .news-text {
      padding-top: 5vw; }
      article .inner .news-text p {
        font-size: 3.4375vw; }
      article .inner .news-text .chatch {
        font-size: 3.90625vw;
        margin-bottom: 3.125vw; }
      article .inner .news-text .book-title {
        margin-bottom: 4.6875vw;
        padding: 3.90625vw 0 2.65625vw; }
        article .inner .news-text .book-title h4 {
          font-size: 7.8125vw;
          margin-bottom: 3.90625vw; }
          article .inner .news-text .book-title h4 span {
            font-size: 5.46875vw; }

  .news-btn img {
    width: 71.5625vw; }

  .article-title {
    color: #2e64d8;
    font-size: 3.90625vw;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 25px; }

  .red {
    font-size: 4.6875vw;
    line-height: 1.5; }

  .mb30 {
    margin-bottom: 4.6875vw; }

  .mb25 {
    margin-bottom: 3.90625vw; }

  /* 記事ごとの設定
  -----------------------------------------------*/
  #series div {
    text-align: center; }
    #series div img {
      width: 91.5625vw; }

  #books .news-img img {
    width: 93.75vw; }

  #goods .mb30 img {
    width: 93.75vw; } }
