/* =============================================
* HOME
* ============================================= */
body.home main:before {
   content: '';
   width: 100%;
   height: 100vh;
   background: url("../img/top/body-deco.png") no-repeat center/100%;
   position: fixed;
   top: 0;
   left: 0;
   z-index: -1;
}

#mv {
   padding: 100px 0;
}

#mv .wrap {
   display: grid;
   grid-template-columns: 560px 505px;
   justify-content: center;
   align-items: flex-end;
   gap: 100px;
}

#mv .deco {
   width: 211px;
   margin: 0 auto 10px;
}

#mv h2 {
   font-family: "EB Garamond", serif;
   font-weight: 700;
   font-size: 55px;
   line-height: 72px;
   letter-spacing: 0;
   color: #2F2E2E;
   padding-bottom: 20px;
}

#mv .txt {
   color: #5A5A5A;
   padding-bottom: 20px;
}

@media screen and (max-width: 1200px) {
   #mv .wrap {
      grid-template-columns: 560px 350px;
      align-items: center;
      gap: 50px;
   }
}

@media screen and (max-width: 1023px) {
   #mv .wrap {
      display: block;
   }

   #mv .col {
      text-align: center;
   }

   #mv .slider {
      max-width: 505px;
      margin: 0 auto;
      padding-top: 50px;
   }
}

@media screen and (max-width: 767px) {
   #mv {
      padding: 50px 0;
   }

   #mv .deco {
      width: 120px;
   }

   #mv h2 {
      font-size: 35px;
      line-height: 48px;
   }
}

/* -- -- */
#top__books {
   padding: 100px 0;
   position: relative;
}

#top__books:before {
   content: '';
   width: 100%;
   background-color: #fcf6cc;
   position: absolute;
   top: 30%;
   bottom: 0;
   left: 0;
}

#top__books .wrap {
   max-width: 90%;
}

#top__books .box {
   line-height: 25px;
}

#top__books .box .slick-arrow {
   width: 20px;
   height: 42px;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
}

#top__books .box .slick-prev {
   left: -30px;
}

#top__books .box .slick-next {
   right: -30px;
}

#top__books .box .slick-list {
   margin: 0 -20px;
}

#top__books .box .slick-track {
   display: flex;
}

#top__books .box .slick-track:before,
#top__books .box .slick-track:after {
   display: none;
}

#top__books .box .col {
   height: auto;
   float: none;
   margin: 0 20px;
}

#top__books .box .col a {
   display: block;
   height: 100%;
   background-color: #fff4f3;
   padding: 40px;
   box-sizing: border-box;
}

#top__books .box figure {
   width: 100%;
   padding-top: 85%;
   position: relative;
   overflow: hidden;
}

#top__books .box figure img {
   position: absolute;
   top: 0;
   left: 0;
}

#top__books .box time {
   display: block;
   font-weight: 300;
   font-size: 14px;
   padding-top: 5px;
}

#top__books .box .ttl {
   padding-top: 5px;
}

#top__books .box .ttl span {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   overflow: hidden;
}

#top__books .box .cat {
   display: inline-block;
   min-width: 100px;
   background-color: #FC8A7B;
   color: #fff;
   font-size: 14px;
   margin-top: 5px;
   padding: 0 10px;
   text-align: center;
}

#top__books .button {
   padding-top: 50px;
}

@media screen and (max-width: 1200px) {
   #top__books .box .slick-list {
      margin: 0 -10px;
   }

   #top__books .box .col {
      margin: 0 10px;
   }

   #top__books .box .col a {
      padding: 20px;
   }
}

@media screen and (max-width: 767px) {
   #top__books {
      padding: 50px 0;
   }

   #top__books .button {
      padding-top: 30px;
   }
}

/* -- -- */
#top__search {
   border-bottom: 1px solid #000;
   padding: 100px 0;
}

#top__search .wrap {
   display: flex;
   align-items: center;
   gap: 20px;
}

#top__search h2 {
   color: #2F2E2E;
   font-weight: 700;
   font-size: 56px;
   line-height: 60px;
   letter-spacing: 0;
   flex: 1 0 0;
}

#top__search .col dl {
   padding-bottom: 50px;
}

#top__search .col dl:last-child {
   padding-bottom: 0;
}

#top__search .col dt {
   color: #5A5A5A;
}

#top__search .col dd {
   display: flex;
   align-items: flex-start;
   flex-wrap: wrap;
   max-width: 860px;
   gap: 15px 30px;
   font-weight: 400;
   padding-top: 10px;
}

#top__search .col a {
   text-decoration: underline;
}

#top__search .col a:hover {
   text-decoration: none;
}

@media screen and (max-width: 767px) {
   #top__search {
      padding: 50px 0;
   }

   #top__search .wrap {
      flex-direction: column;
   }

   #top__search h2 {
      font-size: 35px;
      line-height: 48px;
   }

   #top__search .col dl {
      padding-bottom: 20px;
   }

   #top__search .col dl dd {
      gap: 10px 20px;
      padding-top: 0;
   }
}

/* -- -- */
#top__flow {
   background: #fcf6cc url("../img/top/flow-deco.png") no-repeat center/100% auto;
   padding: 100px 0;
}

#top__flow .desc {
   font-weight: 400;
   max-width: 620px;
   margin: 0 auto;
   padding-top: 30px;
}

#top__flow .box {
   display: grid;
   grid-template-columns: repeat(4, 240px);
   justify-content: center;
   gap: 5px;
   padding-top: 30px;
}

#top__flow .box .col {
   display: block;
   height: 100%;
   padding: 25px;
   background-color: #fc8a7b;
   color: #282626;
   box-sizing: border-box;
   position: relative;
   transition: all 0.4s ease-in-out 0s;
}

#top__flow .box figure {
   width: 60px;
   margin: 0 auto;
}

#top__flow .box h3 {
   font-weight: 400;
   padding-top: 10px;
}

#top__flow .box .txt {
   line-height: 24px;
   padding-top: 10px;
}

@media screen and (max-width: 1023px) {
   #top__flow .box {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 767px) {
   #top__flow {
      padding: 50px 0;
   }

   #top__flow .desc {
      padding-top: 20px;
   }

   #top__flow .box {
      grid-template-columns: 240px;
      justify-content: center;
   }
}

/* -- -- */
#top__voice {
   padding: 100px 0;
   position: relative;
}

#top__voice:before {
   content: '';
   width: 100%;
   background-color: #fcf6cc;
   position: absolute;
   top: 30%;
   bottom: 0;
   left: 0;
}

#top__voice .wrap {
   max-width: 90%;
}

#top__voice .box {
   display: flex;
   gap: 100px;
   padding-top: 50px;
}

#top__voice .box .col {
   display: flex;
   align-items: center;
   justify-content: center;
   width: calc(50% - 50px);
   padding: 50px;
   box-sizing: border-box;
}

#top__voice .box figure {
   max-width: 442px;
}

#top__voice .box .slider {
   width: 100%;
   max-width: 430px;
   padding: 0 50px;
}

#top__voice .box .slider .slide {
   background: url("../img/top/voice-icon.png") no-repeat center top/67px auto;
   padding-top: 80px;
}

#top__voice .box .slider .name {
   padding-top: 30px;
}

#top__voice .box .slider .slick-arrow {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
}

#top__voice .box .slider .slick-dots {
   padding-top: 30px;
}

#top__voice .box .slider .slick-dots .slick-active button,
#top__voice .box .slider .slick-dots li:hover button {
   border-color: #fff4f3;
}

#top__voice .photo-full {
   padding-top: 100px;
}

@media screen and (max-width: 1200px) {
   #top__voice .box {
      gap: 50px;
   }

   #top__voice .box .col {
      width: calc(50% - 50px);
      padding: 30px;
   }
}

@media screen and (max-width: 1023px) {
   #top__voice .box {
      flex-direction: column;
   }

   #top__voice .box .col {
      width: 100%;
   }
}

@media screen and (max-width: 767px) {
   #top__voice {
      padding: 50px 0;
   }

   #top__voice:before {
      top: 20%;
   }

   #top__voice .wrap {
      max-width: 100%;
   }

   #top__voice .box {
      gap: 30px;
      padding-top: 30px;
   }

   #top__voice .box .col {
      padding: 20px 10px;
   }

   #top__voice .box .slider {
      padding: 0 20px;
   }

   #top__voice .photo-full {
      padding-top: 50px;
   }
}

/* -- -- */
#top__about {
   padding: 100px 0;
}

#top__about .wrap {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   gap: 50px;
}

#top__about .col {
   width: 560px;
}

#top__about h2 {
   padding-bottom: 30px;
}

#top__about .txt {
   line-height: 24px;
   padding-bottom: 30px;
}

#top__about .txt p {
   padding-bottom: 30px;
}

#top__about .txt p:last-child {
   padding-bottom: 0;
}

#top__about figure {
   width: 510px;
}

@media screen and (max-width: 1023px) {
   #top__about .wrap {
      flex-direction: column;
      align-items: center;
   }

   #top__about .button {
      text-align: center;
   }
}

@media screen and (max-width: 767px) {
   #top__about {
      padding: 50px 0;
   }

   #top__about .wrap {
      gap: 30px;
   }

   #top__about h2 {
      padding-bottom: 20px;
   }

   #top__about .col {
      width: 100%;
   }

   #top__about figure {
      width: 100%;
   }
}

/* -- -- */
#top__faq {
   padding: 100px 0;
}

#top__faq .wrap {
   display: grid;
   grid-template-columns: 400px 1fr;
}

#top__faq h2 {
   width: 300px;
}

#top__faq .col dl {
   padding-bottom: 20px;
}

#top__faq .col dl:last-child {
   padding-bottom: 0;
}

#top__faq .col dl dt {
   display: inline-grid;
   grid-template-columns: 1fr 20px;
   align-items: center;
   gap: 10px;
   font-size: 18px;
   position: relative;
   cursor: pointer;
}

#top__faq .col dl dt i {
   transition: all 0.3s;
}

#top__faq .col dl dd {
   display: none;
   padding: 10px 0 30px;
}

#top__faq .col dl dd a:not([href^="tel:"]) {
   text-decoration: underline;
}

#top__faq .col dl dd a:not([href^="tel:"]):hover {
   text-decoration: none;
}

#top__faq .col dl.active dt i {
   transform: rotate(-180deg);
}

#top__faq .button {
   padding-top: 50px;
}

.page-id-102 #top__faq {
   padding-top: 0;
}

@media screen and (max-width: 1023px) {
   #top__faq .wrap {
      grid-template-columns: 1fr;
      gap: 50px;
   }
}

@media screen and (max-width: 767px) {
   #top__faq {
      padding: 50px 0;
   }

   #top__faq .wrap {
      gap: 30px;
   }
}

/* -- -- */
#top__contact {
   padding: 100px 0;
}

#top__contact .form-wrap {
   max-width: 826px;
   margin: 0 auto;
   padding-top: 30px;
}

#top__contact .wpcf7-form {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
}

#top__contact .form-row {
   width: 100%;
}

#top__contact .form-row.w50 {
   width: calc(50% - 15px);
}

#top__contact .form-row .caption {
   font-size: 18px;
   font-weight: 300;
}

#top__contact .form-row .input {
   padding-top: 10px;
}

#top__contact .form-btn,
#top__contact .wpcf7-response-output {
   width: 100%;
}

#top__contact .wpcf7-response-output {
   margin: 0;
}

#top__contact .privacy {
   display: flex;
   justify-content: center;
   gap: 20px;
   font-size: 15px;
   padding-top: 30px;
}

#top__contact .privacy a {
   border-bottom: 1px solid;
}

#top__contact .privacy a:hover {
   border-bottom-color: transparent;
}

@media screen and (max-width: 767px) {
   #top__contact {
      padding: 50px 0;
   }

   #top__contact .form-row.w50 {
      width: 100%;
   }

   #top__contact .form-row .caption {
      font-size: 15px;
      line-height: 20px;
   }

   #top__contact .privacy {
      flex-direction: column;
      align-items: center;
      gap: 10px;
      font-size: 14px;
   }
}

/*=============================================*
* shipping
*=============================================*/
#shipping {
   min-height: calc(100vh - 802px);
}

#shipping h2:not(:first-child) {
   margin-top: 50px;
}

#shipping .txt {
   padding-top: 20px;
}

#shipping a:not([href^="tel:"]) {
   border-bottom: 1px solid;
}

#shipping a:not([href^="tel:"]):hover {
   border-color: transparent;
}

@media screen and (max-width: 767px) {
   #shipping {
      min-height: inherit;
   }

   #shipping h2:not(:first-child) {
      margin-top: 30px;
   }

   #shipping .txt {
      padding-top: 15px;
   }
}

/*=============================================*
* privacy
*=============================================*/
#privacy h3 {
   font-weight: 700;
   font-size: 20px;
   line-height: 32px;
   margin: 50px 0 10px;
}

#privacy h3 strong {
   font-weight: inherit;
}

#privacy a:not([href^="tel:"]) {
   border-bottom: 1px solid;
}

#privacy a:not([href^="tel:"]):hover {
   border-color: transparent;
}

@media screen and (max-width: 767px) {
   #privacy h3 {
      font-size: 18px;
      margin: 30px 0 10px;
   }
}

/*=============================================*
* refund
*=============================================*/
#refund h2 {
   padding-bottom: 20px;
}

#refund ol {
   list-style: decimal;
   padding-left: 20px;
}

#refund a:not([href^="tel:"]) {
   border-bottom: 1px solid;
}

#refund a:not([href^="tel:"]):hover {
   border-color: transparent;
}

/*=============================================*
* Post type
*=============================================*/
.wp-pagenavi {
   display: flex;
   align-items: center;
   justify-content: center;
   flex-wrap: wrap;
   gap: 10px;
   position: relative;
}

.wp-pagenavi .pages {
   display: none;
}

.wp-pagenavi span,
.wp-pagenavi a {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 40px;
   height: 40px;
   background-color: #fc8a7b;
   color: #000;
   border-radius: 50%;
   font-weight: 700;
   font-size: 16px;
   letter-spacing: 0;
   padding-bottom: 2px;
   box-sizing: border-box;
}

.wp-pagenavi a:hover {
   background-color: #000;
   color: #fff;
   opacity: 1;
}

.wp-pagenavi .current {
   pointer-events: none;
   background-color: #000;
   color: #fff;
}

@media screen and (max-width: 767px) {
   .wp-pagenavi .previouspostslink {
      margin-right: 0px;
   }

   .wp-pagenavi .nextpostslink {
      margin-left: 0px;
   }
}

/* -- -- */
.sidebar {
   display: flex;
   flex-direction: column;
   gap: 30px;
}

.sidebar h3 {
   display: flex;
   align-items: center;
   gap: 10px;
}

.sidebar h3:after {
   content: "";
   flex: 1 0 0;
   border-top: 1px solid;
}

.sidebar .searchform {
   position: relative;
}

.sidebar .searchform input[name='s'] {
   display: block;
   width: 100%;
   background-color: #fff;
   border: 1px solid #000;
   line-height: 30px;
   border-radius: 0px !important;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   box-sizing: border-box;
   padding: 5px 50px 5px 20px;
}

.sidebar .searchform .icon-search {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 42px;
   height: 42px;
   position: absolute;
   top: 0;
   right: 0;
}

.sidebar .searchform .icon-search input {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   opacity: 0;
   cursor: pointer;
}

.sidebar .most-popular .list .item {
   padding-top: 15px;
}

.sidebar .most-popular .list .item a {
   display: grid;
   grid-template-columns: 100px 1fr;
   align-items: center;
   gap: 10px;
}

.sidebar .most-popular .list figure {
   padding-top: 100%;
   position: relative;
   box-sizing: border-box;
}

.sidebar .most-popular .list figure img {
   position: absolute;
   top: 0;
   left: 0;
}

.sidebar .most-popular .list figure.no-img {
   background-color: #fcf6cc;
}

.sidebar .most-popular .list figure.no-img img {
   mix-blend-mode: multiply;
}

.sidebar .most-popular .list .txt {
   display: flex;
   flex-direction: column;
   gap: 5px;
   font-size: 14px;
   line-height: 20px;
}

.sidebar .most-popular .list .ttl span {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   overflow: hidden;
}

.sidebar .category a {
   display: inline-flex;
   position: relative;
   padding-left: 10px;
}

.sidebar .category a:before {
   content: '-';
   position: absolute;
   top: 0;
   left: 0;
}

.sidebar .category a:hover {
   text-decoration: underline;
}

/* -- -- */
.article__list {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px 20px;
}

.article__list figure {
   padding-top: 100%;
   position: relative;
   box-sizing: border-box;
}

.article__list figure img {
   position: absolute;
   top: 0;
   left: 0;
}

.article__list figure.no-img {
   background-color: #fcf6cc;
}

.article__list figure.no-img img {
   mix-blend-mode: multiply;
}

.article__list .txt {
   line-height: 24px;
}

.article__list .ttl {
   font-weight: 500;
   padding-top: 10px;
}

.article__list .ttl span {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   overflow: hidden;
}

.article__list time {
   display: block;
   padding-top: 5px;
}

.article__list .cat {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   padding-top: 5px;
}

.article__list .cat span {
   display: block;
   min-width: 80px;
   background-color: #FC8A7B;
   color: #fff;
   font-size: 14px;
   padding: 0 10px;
   text-align: center;
}

.article__list .cat span:hover {
   background-color: #000;
   opacity: 1;
}

.article__list .price {
   padding-top: 5px;
}

@media screen and (max-width: 767px) {
   .article__list {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px 10px;
   }
}

/* -- -- */
.cpt-template {
   position: relative;
   padding-bottom: 120px;
}

.cpt-template .wrap {
   display: flex;
   align-items: flex-start;
   flex-wrap: wrap;
   gap: 50px 5%;
}

.cpt-template .contents {
   width: 70%;
   order: 1;
}

.cpt-template .sidebar {
   width: 25%;
   order: 2;
}

.cpt-template .wp-pagenavi {
   width: 70%;
   order: 3;
}

.cpt-template .book-filter {
   padding-bottom: 20px;
}

.cpt-template .book-filter form {
   display: flex;
   justify-content: flex-end;
}

.cpt-template .book-filter select {
   width: 220px;
   height: 35px;
   padding: 0 10px;
}

@media screen and (max-width: 1023px) {
   .cpt-template .sidebar {
      width: 100%;
      order: 3;
   }

   .cpt-template .contents {
      width: 100%;
      order: 1;
   }

   .cpt-template .wp-pagenavi {
      width: 100%;
      order: 2;
   }
}

@media screen and (max-width: 767px) {
   .cpt-template {
      padding-bottom: 50px;
   }

   .cpt-template .book-filter select {
      width: 100%;
   }
}

/* -- -- */
#cpt-detail {
   position: relative;
}

#cpt-detail .books-info {
   padding-bottom: 120px;
}

#cpt-detail .books-info .wrap {
   display: flex;
   gap: 50px;
}

#cpt-detail .books-info .photo {
   width: 50%;
}

#cpt-detail .books-info .slider-for .slide-item figure {
   width: 100%;
   padding-top: 100%;
   position: relative;
}

#cpt-detail .books-info .slider-for .slide-item figure img {
   max-height: 100%;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

#cpt-detail .books-info .slider-for .slick-arrow {
   width: 16px;
   height: 30px;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
}

#cpt-detail .books-info .slider-for .slick-prev {
   left: 15px;
}

#cpt-detail .books-info .slider-for .slick-next {
   right: 15px;
}

#cpt-detail .books-info .slider-for .slick-dots {
   width: 100%;
   position: absolute;
   bottom: 20px;
   left: 0;
}

#cpt-detail .books-info .slider-nav {
   padding-top: 10px;
}

#cpt-detail .books-info .slider-nav .slick-list {
   margin: 0 -5px;
}

#cpt-detail .books-info .slider-nav .slide-item {
   margin: 0 5px;
   border: 2px solid transparent;
   cursor: pointer;
   transition: all 0.3s;
}

#cpt-detail .books-info .slider-nav .slide-item figure {
   width: 100%;
   padding-top: 100%;
   position: relative;
}

#cpt-detail .books-info .slider-nav .slide-item figure img {
   position: absolute;
   top: 0;
   left: 0;
}

#cpt-detail .books-info .slider-nav .slide-item:hover {
   opacity: 0.7;
}

#cpt-detail .books-info .slider-nav .slick-current {
   border-color: #000;
}

#cpt-detail .books-info .slider-nav.no-transform .slick-track {
   transform: translate3d(0, 0, 0) !important;
}

#cpt-detail .books-info .col {
   flex: 1 0 calc(50% - 50px);
}

#cpt-detail .books-info .col>p,
#cpt-detail .books-info .col>div {
   padding-bottom: 20px;
}

#cpt-detail .books-info .col>p:last-child,
#cpt-detail .books-info .col>div:last-child {
   padding-bottom: 0;
}

#cpt-detail .books-info .col .toggle {
   padding-bottom: 10px;
}

#cpt-detail .books-info .star {
   color: #ffd15a;
   font-size: 18px;
   line-height: 1;
}

#cpt-detail .books-info .cate {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 5px;
}

#cpt-detail .books-info .cate a {
   display: block;
   min-width: 80px;
   background-color: #FC8A7B;
   color: #fff;
   font-size: 14px;
   padding: 0 10px;
   text-align: center;
}

#cpt-detail .books-info .cate a:hover {
   background-color: #000;
   opacity: 1;
}

#cpt-detail .books-info .toggle-link {
   display: inline-grid;
   grid-template-columns: 1fr 20px;
   align-items: center;
   gap: 5px;
}

#cpt-detail .books-info .toggle-link i {
   text-align: center;
   transition: all 0.3s;
}

#cpt-detail .books-info .toggle.active .toggle-link i {
   transform: rotate(-180deg);
}

#cpt-detail .the_title {
   padding-bottom: 20px;
}

#cpt-detail .intro {
   padding: 120px 0;
}

#cpt-detail .intro .box {
   display: flex;
   align-items: center;
   gap: 50px;
}

#cpt-detail .intro .box+.box {
   padding-top: 50px;
}

#cpt-detail .intro .box:nth-child(even) {
   flex-direction: row-reverse;
}

#cpt-detail .intro .box figure {
   width: 50%;
}

#cpt-detail .intro .box .col {
   flex: 1 0 calc(50% - 50px);
}

#cpt-detail .intro .box .txt {
   padding-top: 15px;
}

#cpt-detail .intro .box .txt a {
   color: #fc8a7b;
   text-decoration: underline;
}

#cpt-detail .intro .box .txt a:hover {
   text-decoration: none;
}

#cpt-detail .related-posts {
   padding: 120px 0;
}

#cpt-detail .related-posts .article__list {
   grid-template-columns: repeat(4, 1fr);
   padding-top: 30px;
}

#cpt-detail .the_content {
   padding-top: 40px;
}

#cpt-detail .the_content h2 {
   background-color: #f5f5f5;
   font-weight: 700;
   font-size: 26px;
   line-height: 36px;
   letter-spacing: 0;
   margin: 50px 0 30px;
   padding: 10px 20px;
}

#cpt-detail .the_content h3 {
   font-weight: 700;
   font-size: 22px;
   letter-spacing: 0;
   border-bottom: 2px solid #FC8A7B;
   margin: 50px 0 30px;
   padding: 0 0 10px;
}

#cpt-detail .the_content h4 {
   font-weight: 700;
   font-size: 20px;
   letter-spacing: 0;
   border-left: 5px solid #FC8A7B;
   margin: 50px 0 30px;
   padding: 0 0 0 15px;
}

#cpt-detail .the_content h2:first-child,
#cpt-detail .the_content h3:first-child,
#cpt-detail .the_content h4:first-child {
   margin-top: 0;
}

#cpt-detail .the_content h2+h3,
#cpt-detail .the_content h2+h4,
#cpt-detail .the_content h2+h5,
#cpt-detail .the_content h3+h4,
#cpt-detail .the_content h3+h5,
#cpt-detail .the_content h4+h5 {
   margin-top: 0;
}

#cpt-detail .the_content ul {
   list-style: disc;
   padding-left: 30px;
}

#cpt-detail .the_content ol {
   list-style: decimal;
   padding-left: 30px;
}

#cpt-detail .the_content a {
   text-decoration: underline;
}

#cpt-detail .the_content a:hover {
   text-decoration: none;
}

#cpt-detail .the_content p img {
   display: inline-block;
   vertical-align: top;
   margin-right: 20px;
}

#cpt-detail .the_content p img.aligncenter {
   display: block;
   margin: 0 auto;
}

#cpt-detail .the_content p img.alignright {
   display: block;
   margin-left: auto;
}

#cpt-detail .the_content p img:last-child {
   margin-right: 0;
}

#cpt-detail .the_content pre {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   align-items: flex-start;
   gap: 20px 66px;
}

#cpt-detail .button {
   padding-top: 60px;
}

@media screen and (max-width: 1023px) {
   #cpt-detail .books-info .wrap {
      flex-direction: column;
   }

   #cpt-detail .books-info .photo {
      width: 100%;
   }

   #cpt-detail .books-info .col {
      width: 100%;
      flex: inherit;
   }

   #cpt-detail .intro .box {
      flex-direction: column;
      gap: 30px;
   }

   #cpt-detail .intro .box:nth-child(even) {
      flex-direction: column;
   }

   #cpt-detail .intro .box figure {
      width: 100%;
      text-align: center;
   }

   #cpt-detail .intro .box .col {
      width: 100%;
      flex: inherit;
   }

   #cpt-detail .the_content p img {
      display: block;
      margin: 0 auto 15px;
   }

   #cpt-detail .the_content p img:last-child {
      margin: 0 auto;
   }

   #cpt-detail .other {
      gap: 30px;
   }

   #cpt-detail .other:before {
      top: 8%;
   }
}

@media screen and (max-width: 767px) {
   #cpt-detail .books-info {
      padding-bottom: 50px;
   }

   #cpt-detail .books-info .slider-for .slick-prev {
      left: 0px;
   }

   #cpt-detail .books-info .slider-for .slick-next {
      right: 0px;
   }

   #cpt-detail .intro {
      padding: 50px 0;
   }

   #cpt-detail .intro .box .txt {
      padding-top: 20px;
   }

   #cpt-detail .related-posts {
      padding: 50px 0;
   }

   #cpt-detail .related-posts .article__list {
      grid-template-columns: repeat(2, 1fr);
      padding-top: 20px;
   }

   #cpt-detail .the_content {
      padding-top: 30px;
   }

   #cpt-detail .the_content h2 {
      font-size: 22px;
   }

   #cpt-detail .the_content h3 {
      font-size: 20px;
   }

   #cpt-detail .the_content h4 {
      font-size: 18px;
   }

   #cpt-detail .the_content ul,
   #cpt-detail .the_content ol {
      padding-left: 15px;
   }

   #cpt-detail .the_content p img {
      display: block;
      margin: 0 auto 15px;
   }

   #cpt-detail .the_content p img.alignright {
      margin: 0 auto 15px;
   }

   #cpt-detail .the_content p img:last-child {
      margin: 0 auto !important;
   }

   #cpt-detail .the_content pre {
      grid-template-columns: 1fr;
   }

   #cpt-detail .button {
      padding-top: 40px;
   }
}

/*=============================================*
* search
*=============================================*/
#search__results {
   padding-bottom: 120px;
}

#search__results .wrap {
   min-height: calc(100vh - 802px);
}

#search__results .article__list {
   grid-template-columns: repeat(4, 1fr);
   padding-top: 30px;
}

#search__results .alert {
   padding-top: 30px;
}

#search__results .alert .button {
   padding-top: 20px;
}

@media screen and (max-width: 767px) {
   #search__results {
      padding-bottom: 50px;
   }

   #search__results .wrap {
      min-height: inherit;
   }

   #search__results .article__list {
      grid-template-columns: repeat(2, 1fr);
      padding-top: 15px;
   }
}