@charset 'utf-8';

/* common
------------------------------------------------ */
.fs-l-main { background-color: #f3f3ef; overflow: hidden; }
.fs-c-breadcrumb { position: absolute; z-index: 5; }
.fs-c-productList__controller { margin-top: 50px; }
.fs-c-pagination__item--prev,
.fs-c-pagination__item--next { background-color: #fff; border-color: #6f463b; }
.device-click .fs-c-pagination__item--prev:hover,
.device-click .fs-c-pagination__item--next:hover { background-color: #6f463b; }
.fs-c-pagination__item--prev::before,
.fs-c-pagination__item--next::before { background-image: url(../../img/icon/arrow_brown1.svg); }
.pager-prev .link::before,
.pager-next .link::after { border-color: #6f463b; }
.device-click .pager-prev .link:hover::before,
.device-click .pager-next .link:hover::after { background-color: #6f463b; }
.pager-prev .link::after,
.pager-next .link::before { background-image: url(../../img/icon/arrow_brown1.svg); }

@media screen and (min-width: 769px) {
  .fs-c-productList__controller { margin-top: 60px; }
}

/* component
------------------------------------------------ */
.wave::before { content: ''; position: absolute; top: 0; left: 0; background-repeat: no-repeat; background-position: center center; background-size: 100%; z-index: -1; }

@media screen and (max-width: 768px) {
  .wave::before { left: -15px; width: calc(100% + 30px); }
}

@media screen and (min-width: 769px) {
  .wave::before { left: -367px; width: 100vw; }
}

/* header
------------------------------------------------ */
.library-hd { position: relative; padding-bottom: 42.6666666667%; width: 100%; height: 0; background-repeat: no-repeat; background-position: center center; background-size: 100%; overflow: hidden; z-index: 2; }
.library-hd::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center center; background-size: 100%; z-index: -1; }
.library-hd-title { position: absolute; z-index: 4; }

@media screen and (max-width: 768px) {
  .library-hd::after { background-image: url(../../img/library/head_bg.png); }
  .library-hd-title { top: 22.8125%; left: 25.3333333333%; width: 48.8%; }
}

@media screen and (min-width: 769px) {
  .library-hd { padding-bottom: 15.1333333333%; }
  .library-hd::after { background-image: url(../../img/library/head_bg-pc.png); }
  .library-hd-title { top: 25.550660793%; left: 50%; margin-left: -8.53333333333%; width: 16.8%; }
}

@media screen and (min-width: 1501px) {
  .library-hd { padding-bottom: 227px; }
  .library-hd::after { background-size: auto 100%; }
  .library-hd-title { top: 58px; margin-left: -128px; width: 252px; }
}

/* row
------------------------------------------------ */
.library-row { display: flex; position: relative; z-index: 1; }
.library-row-side { position: relative; padding: 35px 20px; background-color: #fff; border-radius: 20px; z-index: 2; }
.library-row-content { position: relative; z-index: 1; }
.library-row-btm { position: relative; margin-top: 55px; }

@media screen and (max-width: 768px) {
  .library-row { flex-flow: column; padding: 0 15px 42px; }
  .library-row-side { margin-top: 60px; order: 3; }
  .library-row-content { order: 1; }
  .library-row-btm { order: 2; }

}

@media screen and (min-width: 769px) {
  .library-row { flex-wrap: wrap; padding-bottom: 130px; }
  .library-row-side { margin-left: 12px; padding: 40px 24px; width: 300px; border: 2px solid #f3f1ed; border-radius: 25px; }
  .library-row-content { margin-left: 55px; width: calc(100% - 440px); }
  .library-row-btm { margin-top: 120px; width: 100%; }
}

/* side
------------------------------------------------ */
.library-side-search { position: relative; margin-bottom: 32px; }
.library-side-search > form { display: block; position: relative; width: 100%; }
.library-side-search input,
.library-side-search button { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; background: none; border: none; border-radius: 0; box-shadow: none; font-family: inherit; }
.library-side-search--input { position: relative; }
.library-side-search--input > input { display: block; padding: 12px 48px 12px 15px; background: #fff; border: solid #ccc 1px; border-radius: 20px; font-size: 1.2rem; line-height: 1.2; }
.library-side-search--submit { position: absolute; top: 50%; right: 14px; margin-top: -11px; width: 22px; height: 22px; }
.library-side-search--submit > button { display: block; position: relative; padding: 0; width: 100%; height: 100%; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.library-side-search--submit > button::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(../../img/icon/search4.svg) no-repeat center center; background-size: 100% 100%; }
.library-side-cat { position: relative; }
.library-side-cat--title { position: relative; margin-bottom: 6px; text-align: center; font-size: 1.6rem; font-weight: 700; line-height: 1.2; color: #6f463b; }
.library-side-cat--title::after { content: ''; display: block; margin-top: 10px; width: 100%; height: 3px; background: url(../../img/library/dotted1.png) repeat-x left top; background-size: auto 100%; }
.library-side-cat__content { position: relative; }
.library-side-cat--link,
.library-side-cat__box--title { font-size: 1.3rem; line-height: 1.2; }
.library-side-cat--link > a,
.library-side-cat__box--title > span { display: block; position: relative; padding: 16px 0 16px 20px; }
.library-side-cat--link > a::before,
.library-side-cat__box--title > span::before { content: ''; position: absolute; top: 50%; left: 0; transition: ease 0.3s; width: 7px; height: 12px; margin-top: -6px; background: url(../../img/icon/arrow_orange2.svg) no-repeat center center; background-size: 100% 100%; }
.library-side-cat--link { border-bottom: 1px solid #ddd; }
.library-side-cat__box { position: relative; border-bottom: 1px solid #ddd; }
.library-side-cat__box--title > span { cursor: pointer; }
.library-side-cat__box--title > span.active::before { transform: rotate(90deg); }
.library-side-cat__box__content { display: none; position: relative; padding: 2px 0 17px 34px; }
.library-side-cat__lists--item { margin-top: 24px; font-size: 1.3rem; line-height: 1.2; }
.library-side-cat__lists--item:first-child { margin-top: 0; }
.library-side-cat__lists--item > a { display: inline-block; text-decoration: underline; vertical-align: top; }
.device-click .library-side-cat__lists--item > a:hover { text-decoration: none; }

@media screen and (max-width: 768px) {
  .library-side-cat__content { margin: 0 20px; }
}

@media screen and (min-width: 769px) {
  .library-side-search { margin-bottom: 48px; }
  .library-side-search--input > input { padding: 12px 48px 12px 14px; font-size: 1.3rem; }
  .library-side-search--submit { margin-top: -10px; width: 20px; height: 20px; }
  .library-side-cat--title { margin-bottom: 6px; font-size: 1.6rem; }
  .library-side-cat--title::after { margin-top: 16px; height: 4px; }
  .library-side-cat--link,
  .library-side-cat__box--title { font-size: 1.5rem; }
  .library-side-cat--link > a,
  .library-side-cat__box--title > span { padding: 18px 0 18px 27px; }
  .library-side-cat--link > a::before,
  .library-side-cat__box--title > span::before { left: 4px; width: 9px; height: 16px; margin-top: -8px; }
  .library-side-cat__box__content { padding: 6px 0 30px 44px; }
  .library-side-cat__lists--item { margin-top: 16px; font-size: 1.5rem; }
}

/* title
------------------------------------------------ */
.library-title { position: relative; margin-bottom: 28px; z-index: 1; }
.library-title-en { font-family: 'Roboto', sans-serif; font-size: 1rem; font-weight: 700; line-height: 1.2; color: #e79141; }
.library-title-ja { position: relative; margin-top: 1px; font-size: 1.7rem; font-weight: 700; line-height: 1.2; color: #6f463b; }
.library-title-ja::after { content: ''; position: absolute; top: 2px; left: 2px; width: 100px; height: 30px; background: url(../../img/library/title_bg.png) no-repeat center center; background-size: 100%; z-index: -1; }

@media screen and (min-width: 769px) {
  .library-title { margin-bottom: 40px; }
  .library-title-en { font-size: 1.3rem; }
  .library-title-ja { margin-top: 2px; font-size: 2.4rem; }
  .library-title-ja::after { top: 4px; left: -4px; width: 143px; height: 43px; }
}

/* lists
------------------------------------------------ */
.library-lists { position: relative; }
.library-lists-item { position: relative; }
.library-lists-item > a { display: block; position: relative; }
.library-lists-frame { position: relative; margin-bottom: 16px; min-height: 50px; }
.library-lists-frame::after { content: ''; position: absolute; bottom: -5px; right: -5px; width: 100%; height: 100%; background-color: #fff; border-radius: 0 10px 10px 0; z-index: -1; }
.library-lists-frame .i-new { position: absolute; top: 8px; left: -6px; padding: 6px 16px; background-color: rgba(229,123,27,0.8); border-radius: 2.5px; font-family: 'Roboto', sans-serif; font-size: 1.2rem; font-weight: 700; font-style: normal; line-height: 1.2; color: #fff; z-index: 2; }
.library-lists-photo { position: relative; padding-bottom: 127.272727273%; width: 100%; height: 0; border-radius: 0 10px 10px 0; overflow: hidden; z-index: 1; }
.library-lists-photo img { position: absolute; top: 0; left: 0; }
.library-lists-info { position: relative; }
.library-lists-title { font-size: 1.3rem; line-height: 1.38461538462; }
.library-lists-date { margin-top: 12px; font-size: 1.2rem; line-height: 1.2; color: #999; }
.library-lists-cat { margin: 7px 0 0 -8px; }
.library-lists-cat > span { display: inline-block; margin: 8px 0 0 8px; padding: 4px 6px 3px; background-color: #fff; border: 1px solid #6f463b; border-radius: 12px; vertical-align: top; font-size: 1.1rem; line-height: 1.2; color: #6f463b; }
.library-lists-excerpt { margin-top: 12px; font-size: 1.2rem; line-height: 1.5; }

@media screen and (max-width: 768px) {
  .library-lists.line-sp-2 { display: flex; flex-wrap: wrap; }
  .line-sp-2 .library-lists-item { margin: 30px calc(8.695652174% - 5px) 0 0; width: 45.652173913%; }
  .line-sp-2 .library-lists-item:nth-of-type(-n+2) { margin-top: 0; }
  .line-sp-2 .library-lists-item:nth-of-type(2n) { margin-right: 0; }
}

@media screen and (min-width: 769px) {
  .library-lists-frame { margin-bottom: 26px; }
  .library-lists-frame::after { bottom: -10px; right: -10px; border-radius: 0 20px 20px 0; }
  .library-lists-frame .i-new { top: 10px; left: -10px; padding: 7px 20px; border-radius: 5px; font-size: 1.4rem; }
  .library-lists-photo { border-radius: 0 20px 20px 0; }
  .library-lists-title { font-size: 1.5rem; line-height: 1.4667; }
  .library-lists-date { margin-top: 5px; font-size: 1.3rem; }
  .library-lists-cat { margin-top: 5px; }
  .library-lists-cat > span { padding: 5px 10px 4px; font-size: 1.2rem; }
  .library-lists-excerpt { margin-top: 16px; font-size: 1.5rem; line-height: 1.4667; }

  .library-lists.line-pc-4,
  .library-lists.line-pc-5 { display: flex; flex-wrap: wrap; }
  .line-pc-4 .library-lists-item { margin: 60px 5.66037735853% 0 0; width: 20.7547169811%; }
  .line-pc-4 .library-lists-item:nth-of-type(-n+4) { margin-top: 0; }
  .line-pc-4 .library-lists-item:nth-of-type(4n) { margin-right: 0; }
  .line-pc-5 .library-lists-item { margin: 60px 4.47761194025% 0 0; width: 16.4179104478%; }
  .line-pc-5 .library-lists-item:nth-of-type(-n+5) { margin-top: 0; }
  .line-pc-5 .library-lists-item:nth-of-type(5n) { margin-right: 0; }
}

/* top
------------------------------------------------ */
.library-top { position: relative; }
.library-top .library-hd { padding-bottom: 104.533333333%; }
.library-hd-balloon,
.library-hd-character,
.library-hd-bookshelf { position: absolute; }
.library-hd-balloon { z-index: 2; }
.library-hd-character { z-index: 3; }
.library-hd-bookshelf { z-index: 1; }

@media screen and (max-width: 768px) {
  .library-top .library-hd::after { background-image: url(../../img/library/top_head_bg.png); }
  .library-top .library-hd-title { top: 14.5408163265%; left: 8.93333333333%; width: 48.9333333333%; }
  .library-hd-balloon { top: 53.443877551%; left: 18.9333333333%; width: 81.8666666667%; }
  .library-hd-character { bottom: 0.63775510204%; left: 86.5333333333%; width: 12.2666666667%; }
  .library-hd-bookshelf { top: 31.6%; left: 6.93333333333%; width: 87.2%; }
}

@media screen and (min-width: 769px) {
  .library-top .library-hd { padding-bottom: 29.2%; }
  .library-top .library-hd::after { background-image: url(../../img/library/top_head_bg-pc.png); }
  .library-top .library-hd-title { top: 19.8630136986%; left: 50%; margin-left: -31.7333%; width: 22.2%; }
  .library-hd-balloon { top: 43.3789954338%; left: 50%; margin-left: 11.8667%; width: 22.7333333333%; }
  .library-hd-character { bottom: 5.70776255708%; left: 50%; margin-left: 34.5333333333%; width: 5.46666666667%; }
  .library-hd-bookshelf { top: 18.4931506849%; left: 50%; margin-left: -15.9333%; width: 45.1333333333%; }
}

@media screen and (min-width: 1501px) {
  .library-top .library-hd { padding-bottom: 438px; }
  .library-top .library-hd::after { background-size: auto 100%; }
  .library-top .library-hd-title { top: 87px; margin-left: -476px; width: 333px; }
  .library-hd-balloon { top: 190px; margin-left: 178px; width: 341px; }
  .library-hd-character { bottom: 25px; margin-left: 518px; width: 82px; }
  .library-hd-bookshelf { top: 81px; margin-left: -239px; width: 677px; }
}

/* new
------------------------------------------------ */
.library-new { position: relative; }
.library-new .library-lists-photo { padding-bottom: 60.8695652174%; }
.library-new .library-lists-title { font-size: 1.7rem; line-height: 1.41176470588; }

@media screen and (max-width: 768px) {
  .library-new.wave::before { top: -11.2vw; padding-bottom: 35.4666666667vw; background-image: url(../../img/library/wave1.png); }
}

@media screen and (min-width: 769px) {
  .library-new.wave::before { top: -5.1333vw; padding-bottom: 13.2vw; background-image: url(../../img/library/wave1-pc.png); }
  .library-new .library-lists-item > a { display: flex; justify-content: space-between; align-items: flex-start; }
  .library-new .library-lists-frame { width: 52.8301886792%; }
  .library-new .library-lists-photo { margin-bottom: 0; padding-bottom: 60.8695652174%; }
  .library-new .library-lists-info { width: 100%; }
  .library-new .library-lists-frame + .library-lists-info { width: 43.3962264151%; }
  .library-new .library-lists-title { font-size: 2.4rem; line-height: 1.33333333333; }
}

/* recommend
------------------------------------------------ */
.library-recommend { position: relative; margin-top: 70px; }

@media screen and (max-width: 768px) {
  .library-recommend.wave::before { top: -8.26666666667vw; padding-bottom: 30.1333333333vw; background-image: url(../../img/library/wave2.png); }
}

@media screen and (min-width: 769px) {
  .library-recommend { margin-top: 125px; }
  .library-recommend.wave::before { top: -6.13333333333vw; padding-bottom: 15vw; background-image: url(../../img/library/wave2-pc.png); }
}

/* category
------------------------------------------------ */
.library-category { position: relative; }

@media screen and (max-width: 768px) {
  .library-category.wave::before { top: -11.2vw; padding-bottom: 35.4666666667vw; background-image: url(../../img/library/wave1.png); }
}

@media screen and (min-width: 769px) {
  .library-category.wave::before { top: -3.33333333333vw; padding-bottom: 13.2vw; background-image: url(../../img/library/wave1-pc.png); }
}

/* single
------------------------------------------------ */
.library-single { position: relative; }

/* detail
------------------------------------------------ */
.library-detail { position: relative; }
.library-detail-hd { position: relative; margin-bottom: 34px; }
.library-detail-hd .i-new { display: inline-block; margin-bottom: 12px; padding: 6px 16px; background-color: rgba(229,123,27,0.8); border-radius: 2.5px; vertical-align: top; font-family: 'Roboto', sans-serif; font-size: 1.2rem; font-weight: 700; font-style: normal; line-height: 1.2; color: #fff; z-index: 2; }
.library-detail-title { font-size: 1.8rem; font-weight: 500; line-height: 1.38888888889; }
.library-detail-date { margin-top: 12px; font-size: 1.3rem; line-height: 1.2; color: #999; }
.library-detail-cat { display: flex; flex-wrap: wrap; margin: 6px 0 0 -8px; }
.library-detail-cat > span { display: inline-block; margin: 8px 0 0 8px; padding: 4px 6px 3px; background-color: #fff; border: 1px solid #6f463b; border-radius: 12px; vertical-align: top; font-size: 1.1rem; line-height: 1.2; color: #6f463b; }
.library-detail-content { position: relative; font-size: 1.3rem; line-height: 2; }
.library-detail-content p + p { margin-top: 20px; }
.library-detail-content h2 { margin: 45px 0 20px; font-size: 1.5rem; font-weight: 700; line-height: 2; color: #e79141; }
.library-detail-content img.aligncenter { display: block; margin-right: auto; margin-left: auto; }
.library-detail-ft { position: relative; margin-top: 42px; }

@media screen and (max-width: 768px) {
  .library-detail.wave::before { top: -11.2vw; padding-bottom: 35.4666666667vw; background-image: url(../../img/library/wave1.png); }
}

@media screen and (min-width: 769px) {
  .library-detail { margin: 0 auto; max-width: 980px; }
  .library-detail.wave::before { top: -3.33333333333vw; padding-bottom: 13.2vw; background-image: url(../../img/library/wave1-pc.png); }
  .library-detail-hd { margin-bottom: 60px; }
  .library-detail-hd .i-new { top: 10px; left: -10px; padding: 7px 20px; border-radius: 5px; font-size: 1.4rem; }
  .library-detail-title { font-size: 2.2rem; }
  .library-detail-date { margin-bottom: 12px; font-size: 1.4rem; }
  .library-detail-cat { margin: 6px 0 0 -8px; }
  .library-detail-cat > span { padding: 5px 10px 4px; font-size: 1.2rem; }
  .library-detail-content { font-size: 1.5rem; }
  .library-detail-content p + p { margin-top: 32px; }
  .library-detail-content h2 { margin: 70px 0 32px; font-size: 1.8rem; }
  .library-detail-ft { margin-top: 70px; }
}

/* related
------------------------------------------------ */
.library-related { position: relative; }
.library-related-title { margin-bottom: 28px; text-align: center; font-size: 1.9rem; font-weight: 700; line-height: 1.2; color: #6f463b; }
.library-related-title > span { display: inline-block; vertical-align: top; }
.library-related-title > span::after { content: ''; display: block; margin-top: 2px; width: 100%; height: 3px; background: url(../../img/library/dotted1.png) repeat-x left top; background-size: auto 100%; }

@media screen and (max-width: 768px) {
}

@media screen and (min-width: 769px) {
  .library-related { margin: 0 auto; padding: 0 20px; max-width: 1380px; }
  .library-related-title { margin-bottom: 44px; font-size: 2.8rem; }
  .library-related-title > span::after { margin-top: 4px; height: 4px; }
}

/* detail tamplate
------------------------------------------------ */
.library-detail-content .btn-green { text-align: center; font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
.library-detail-content .btn-green > a { display: flex; justify-content: center; align-items: center; position: relative; padding: 16px 10px; background-color: #3d9665; border-radius: 25px; text-align: center; color: #fff; }
.library-detail-content .btn-green > a::after { content: ''; display: inline-block; margin-left: 22px; width: 8px; height: 12px; background: url(../../img/icon/arrow_white2.svg) no-repeat center center; background-size: 100% 100%; vertical-align: top; }
.library-detail-content .banner { position: relative; font-size: 1.4rem; line-height: 1.85714285714; }
.library-detail-content .banner p + p { margin-top: 22px; }
.library-detail-content .nav { position: relative; margin-top: 52px; }
.library-detail-content .nav h2 { margin: 0 0 22px; padding: 11px 20px; background-color: #6f463b; border-radius: 5px; font-size: 1.7rem; font-weight: 700; line-height: 1.41176470588; color: #fff; }
.library-detail-content .nav-lists > li { position: relative; display: block; padding: 12px 18px 18px; width: 100%; background-color: #fff; border: 2px solid #6f463b; border-radius: 5px; line-height: 1.15625; }
.library-detail-content .nav-lists > li::before,
.library-detail-content .nav-lists > li::after { content: ''; position: absolute; left: 50%; width: 0; height: 0; }
.library-detail-content .nav-lists > li::before { bottom: -5px; margin-left: -12px; border: 12px solid transparent; border-top: 12px solid #6f463b; border-bottom: none; }
.library-detail-content .nav-lists > li::after { bottom: -3px; margin-left: -10px; border: 10px solid transparent; border-top: 10px solid #fff; border-bottom: none; }
.library-detail-content .nav-lists h3 { font-size: 1.6rem; font-weight: 700; color: #0d7c3e; }
.library-detail-content .nav-lists h3 > a { display: inline; background: linear-gradient(transparent 70%, #f0e88f 30%); color: #0d7c3e; }
.library-detail-content .nav-lists h3 > a::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.library-detail-content .nav-lists .row { display: flex; flex-wrap: wrap; margin-top: 10px; }
.library-detail-content .nav-lists .photo { width: 28.6885245902%; }
.library-detail-content .nav-lists .photo + .info { margin-left: 4.9180327868%; width: 66.393442623%; }
.library-detail-content .nav-lists .info { width: 100%; font-size: 1.3rem; line-height: 1.30769230769; }
.library-detail-content .nav-lists .info p + p { margin-top: 8px; }
.library-detail-content .btn-staff-recoomend { margin-top: 44px; }
.library-detail-content .btn-staff-recoomend > a { display: block; }
.library-detail-content .product { position: relative; margin-top: 52px; }
.library-detail-content .product-lists > li { position: relative; padding: 20px 20px 25px; background-color: #fff; border-top: 2px solid #6f463b; border-radius: 5px; }
.library-detail-content .product-lists > li + li { margin-top: 36px; }
.library-detail-content .product-lists > li h3 { margin: 0 0 16px; font-size: 2rem; font-weight: 700; line-height: 1.25; }
.library-detail-content .product-lists > li h3 .hash-name { position: absolute; top: -2px; left: 0; }
.library-detail-content .product-lists .info { font-size: 1.3rem; line-height: 2; }
.library-detail-content .product-lists .info dl { position: relative; margin-top: 4px; padding-top: 16px; }
.library-detail-content .product-lists .info dl > dt { position: absolute; top: 0; left: -20px; padding: 20px 0 0 18px; width: 58px; height: 54px; background: url(../../img/library/deco1.png) no-repeat center center; background-size: 100% 100%; font-size: 1.1rem; font-weight: 700; line-height: 1.2; color: #6f463b; }
.library-detail-content .product-lists .info dl > dd { padding: 16px 20px 16px 40px; background-color: #ecf1e3; border-radius: 5px; }
.library-detail-content .product-lists .info dl > dd table { width: 100%; border-spacing: none; border-collapse: collapse; }
.library-detail-content .product-lists .info dl > dd table th,
.library-detail-content .product-lists .info dl > dd table td { padding: 6px 0; font-size: 1.3rem; line-height: 1.2; }
.library-detail-content .product-lists .info dl > dd table th { width: 88px; font-weight: 700; color: #20864d; }
.library-detail-content .product-lists .btn-green { margin-top: 20px; }
.library-detail-content .satff-recommend { position: relative; margin-top: 52px; font-size: 1.3rem; line-height: 2; }
.library-detail-content .satff-recommend h2 { margin: 0; }
.library-detail-content .satff-recommend .photo { margin-bottom: 24px; }
.library-detail-content .satff-recommend .btn-green { font-size: 1.4rem; }
.library-detail-content .satff-recommend .btn-green > a { padding: 17px 10px; }
.library-detail-content .satff-recommend .btn-green > a::after { margin-left: 8px; }
.library-detail-content .hr-dotted { display: block; margin: 40px 0; width: 100%; border-top: 3px dotted #6f463b; }
.library-detail-content .footnote { position: relative; margin-top: 40px; padding: 54px 20px; background-color: #f7dfa6; border-radius: 5px; font-size: 1.3rem; line-height: 2; }
.library-detail-content .footnote::before,
.library-detail-content .footnote::after { content: ''; position: absolute; background-position: center center; background-repeat: no-repeat; background-size: 100% 100%; }
.library-detail-content .footnote::before { top: -8px; left: 1px; width: 36px; height: 40px; background-image: url(../../img/library/deco2.png); }
.library-detail-content .footnote::after { right: -12px; bottom: -8px; width: 58px; height: 38px; background-image: url(../../img/library/deco3.png); }

@media screen and (max-width: 768px) {
  .library-detail-content .nav-lists > li + li { margin-top: 18px; }
  .library-detail-content .product-lists .photo { margin: 0 20px 18px; }
  .library-detail-content .satff-recommend h2 { margin: 0 0 20px -10px; width: calc(100% - 10px); }
  .library-detail-content .satff-recommend .btn-green { margin: 28px 20px 0; }
}

@media screen and (min-width: 769px) {
  .library-detail-content .btn-green { margin: 0 auto; max-width: 370px; font-size: 1.8rem; }
  .library-detail-content .btn-green > a { padding: 20px 10px; border-radius: 30px; }
  .library-detail-content .btn-green > a::after { margin-left: 22px; width: 9px; height: 16px; }
  .library-detail-content .banner { font-size: 2rem; line-height: 1.8; }
  .library-detail-content .banner p + p { margin-top: 40px; }
  .library-detail-content .nav { margin-top: 66px; }
  .library-detail-content .nav h2 { margin-bottom: 42px; padding: 12px 45px; border-radius: 10px; font-size: 2.2rem; line-height: 2.18181818182; }
  .library-detail-content .nav-lists { display: flex; flex-wrap: wrap; }
  .library-detail-content .nav-lists > li { margin: 37px 5.1207729468% 0 0; padding: 20px 26px 22px; width: 47.4396135266%; border-width: 3px; border-radius: 10px; }
  .library-detail-content .nav-lists > li:nth-of-type(-n+2) { margin-top: 0; }
  .library-detail-content .nav-lists > li:nth-of-type(2n) { margin-right: 0; }
  .library-detail-content .nav-lists > li::before { bottom: -8px; margin-left: -18px; border-top-width: 16px; border-right-width: 18px; border-left-width: 18px; }
  .library-detail-content .nav-lists > li::after { bottom: -5px; margin-left: -14px; border-top-width: 14px; border-right-width: 14px; border-left-width: 14px; }
  .library-detail-content .nav-lists h3 { font-size: 1.8rem; }
  .library-detail-content .nav-lists h3 > a { background: linear-gradient(transparent 60%, #f0e88f 40%); }
  .library-detail-content .nav-lists .row { margin-top: 26px; }
  .library-detail-content .nav-lists .photo { width: 23.2558139535%; }
  .library-detail-content .nav-lists .photo + .info { margin-left: 4.18604651163%; width: 72.5581395349%; font-size: 1.5rem; line-height: 2; }
  .library-detail-content .nav-lists .info p + p { margin-top: 6px; }
  .library-detail-content .btn-staff-recoomend { margin: 78px auto 0; max-width: 600px; }
  .library-detail-content .product { margin-top: 120px; }
  .library-detail-content .product-lists > li { padding: 44px 60px; border-top-width: 3px; border-radius: 10px; }
  .library-detail-content .product-lists > li + li { margin-top: 60px; }
  .library-detail-content .product-lists > li h3 { position: absolute; top: 44px; left: 60px; font-size: 2.2rem; }
  .library-detail-content .product-lists > li h3 .hash-name { top: -47px; left: -60px; }
  .library-detail-content .product-lists .row { display: flex; flex-flow: row-reverse; }
  .library-detail-content .product-lists .photo { width: 34.7921225383%; }
  .library-detail-content .product-lists .photo + .info { margin-right: 7.4398249453%; width: 57.7680525164%; }
  .library-detail-content .product-lists .info { padding-top: 70px; width: 100%; font-size: 1.5rem; }
  .library-detail-content .product-lists .info dl { margin-top: 26px; padding-top: 20px; }
  .library-detail-content .product-lists .info dl > dt { left: -25px; padding: 22px 0 0 22px; width: 71px; height: 64px; font-size: 1.3rem; }
  .library-detail-content .product-lists .info dl > dd { padding: 24px 46px; border-radius: 10px; }
  .library-detail-content .product-lists .info dl > dd table th,
  .library-detail-content .product-lists .info dl > dd table td { padding: 6px 0; font-size: 1.5rem; }
  .library-detail-content .product-lists .info dl > dd table th { width: 116px; }
  .library-detail-content .product-lists .btn-green { margin-top: 40px; }
  .library-detail-content .satff-recommend { margin-top: 100px; font-size: 1.5rem; }
  .library-detail-content .satff-recommend h2 { margin: 0 auto 48px; max-width: 553px; }
  .library-detail-content .satff-recommend .photo { margin: 0 auto 50px; width: 76.9379844961%; }
  .library-detail-content .satff-recommend .btn-green { margin-top: 42px; font-size: 1.6rem; }
  .library-detail-content .satff-recommend .btn-green > a { padding: 20px 10px; }
  .library-detail-content .satff-recommend .btn-green > a::after { margin-left: 16px; }
  .library-detail-content .hr-dotted { margin: 80px 0; border-top-width: 6px; }
  .library-detail-content .footnote { margin-top: 80px; padding: 65px 86px; border-radius: 10px; font-size: 1.5rem; }
  .library-detail-content .footnote::before { top: -17px; left: -1px; width: 72px; height: 81px; }
  .library-detail-content .footnote::after { right: -24px; bottom: -16px; width: 116px; height: 77px; }
}
