@charset "utf-8";
/**
 * bd-isbn.css
 *
 * @copyright    (C) ifollow Co., Ltd.
 * @version      $Id$
 */

/* common */
* {
	-webkit-text-size-adjust: none;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-family: "Oxygen", "モトヤ丸アポロ Std W4", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;
	vertical-align: baseline;
	background: transparent;
	position: relative;
}
html, body {
	width: auto;
	height: auto;
	position: relative;
}
form {
	width:                100%;
}
.form-control.form-readonly-white {
	background:           #ffffff;
	background:           transparent;
}
.hidden-block {
	display: block !important;
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	opacity: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	outline: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

.glyphicon.green { color: #008000; }
.glyphicon.blue  { color: #0000ff; }
.glyphicon.red   { color: #ff0000; }

img {
	max-width: calc( 100vw - 30px ) !important;
}

.bd-isbn ruby * {
	font-size: inherit;
	font-weight: normal;
}
.bd-isbn ruby rp, .bd-isbn ruby rt {
	font-size: 0.5em;
	line-height: 1em;
}
.bd-isbn ruby,
.bd-isbn ruby rb,
.bd-isbn ruby rp,
.bd-isbn ruby rt {
	text-align: left;
	ruby-align: start;
}
.bd-isbn rb, .bd-isbn .ruby-inline-block {
	display: inline-block;
	line-height: 120%;
}
.bd-isbn rp {
	margin-left: 0.25em;
	margin-right: 0.25em;
}
.bd-isbn a[href]:hover ruby, .bd-isbn a[href]:hover ruby * {
	text-decoration: underline;
}
.ruby-hide .bd-isbn rp, .ruby-hide .bd-isbn rt {
	display: none;
}
@-moz-document url-prefix() {
	.bd-isbn ruby,
	.bd-isbn rb,
	.bd-isbn rp,
	.bd-isbn rt,
	.bd-isbn .ruby-inline-block {
		display: inline;
		white-space: normal;
	}
	.bd-isbn ruby rp, .bd-isbn ruby rt {
		font-size: 0.75em;
	}
	.ruby-hide .bd-isbn rp,
	.ruby-hide .bd-isbn rt {
		display: none;
	}
	.bd-isbn .book-title-part {
		display: block;
	}
}

.iOS .bd-isbn ruby,
.iOS .bd-isbn rb,
.iOS .bd-isbn rp,
.iOS .bd-isbn rt,
.iOS .bd-isbn .ruby-inline-block {
	display: inline;
	white-space: normal;
}
.iOS .bd-isbn ruby rp,
.iOS .bd-isbn ruby rt {
	font-size: 0.75em;
}
.iOS .ruby-hide .bd-isbn rp,
.iOS .ruby-hide .bd-isbn rt {
	display: none;
}
.iOS .bd-isbn .book-title-part {
	display: block;
}

@media print {
	a[href]:after, abbr[title]:after {
		content: "" !important;
	}
}

.clearfix {
	clear: both;
}
.clearfix.size-0x0 {
	width:  0px !important;
	height: 0px !important;
}

.d-flex                  { display: flex;        }
.d-inline-flex           { display: inline-flex; }
.flex-column             { flex-direction: column;         }
.flex-column-reverse     { flex-direction: column-reverse; }
.flex-row                { flex-direction: row;            }
.flex-row-reverse        { flex-direction: row-reverse;    }
.flex-wrap               { flex-wrap: wrap;         }
.flex-nowrap             { flex-wrap: nowrap;       }
.flex-wrap-reverse       { flex-wrap: wrap-reverse; }
.d-flex        > *       { flex: 1 1 auto; }
.d-inline-flex > *       { flex: 1 1 auto; }
.flex-fill               { flex: 1 1 auto; }
.flex-auto               { flex: 0 0 auto; }
.flex-grow               { flex-grow:   1;  }
.flex-grow-0             { flex-grow:   0;  }
.flex-grow-1             { flex-grow:   1;  }
.flex-grow-2             { flex-grow:   2;  }
.flex-grow-3             { flex-grow:   3;  }
.flex-grow-4             { flex-grow:   4;  }
.flex-grow-5             { flex-grow:   5;  }
.flex-grow-6             { flex-grow:   6;  }
.flex-grow-7             { flex-grow:   7;  }
.flex-grow-8             { flex-grow:   8;  }
.flex-grow-9             { flex-grow:   9;  }
.flex-grow-10            { flex-grow:   10; }
.flex-grow-11            { flex-grow:   11; }
.flex-grow-12            { flex-grow:   12; }
.flex-shrink             { flex-shrink: 1;  }
.flex-shrink-0           { flex-shrink: 0;  }
.flex-shrink-1           { flex-shrink: 1;  }
.flex-shrink-2           { flex-shrink: 2;  }
.flex-shrink-3           { flex-shrink: 3;  }
.flex-shrink-4           { flex-shrink: 4;  }
.flex-shrink-5           { flex-shrink: 5;  }
.flex-shrink-6           { flex-shrink: 6;  }
.flex-shrink-7           { flex-shrink: 7;  }
.flex-shrink-8           { flex-shrink: 8;  }
.flex-shrink-9           { flex-shrink: 9;  }
.flex-shrink-10          { flex-shrink: 10; }
.flex-shrink-11          { flex-shrink: 11; }
.flex-shrink-12          { flex-shrink: 12; }
.flex-basis              { flex-basis: auto; }
.flex-basis-auto         { flex-basis: auto; }
.flex-basis-100          { flex-basis: 100%; }
.justify-content-start   { justify-content: start;    }
.justify-content-end     { justify-content: end;      }
.justify-content-center  { justify-content: center;   }
.justify-content-between { justify-content: between;  }
.justify-content-around  { justify-content: around;   }
.justify-content-evenly  { justify-content: evenly;   }
.align-items-start       { align-items:     start;    }
.align-items-end         { align-items:     end;      }
.align-items-center      { align-items:     center;   }
.align-items-baseline    { align-items:     baseline; }
.align-items-stretch     { align-items:     stretch;  }
.align-self-start        { align-self:      start;    }
.align-self-end          { align-self:      end;      }
.align-self-center       { align-self:      center;   }
.align-self-baseline     { align-self:      baseline; }
.align-self-stretch      { align-self:      stretch;  }
.align-content-start     { align-content:   start;    }
.align-content-end       { align-content:   end;      }
.align-content-center    { align-content:   center;   }
.align-content-around    { align-content:   around;   }
.align-content-stretch   { align-content:   stretch;  }

.m-0     { margin:         0;       }
.m-1     { margin:         0.25rem; }
.m-2     { margin:         0.5rem;  }
.m-3     { margin:         1rem;    }
.m-4     { margin:         1.5rem;  }
.m-5     { margin:         3rem;    }
.m-auto  { margin:         auto;    }
.mx-0    { margin-left:    0;       margin-right:  0;       }
.mx-1    { margin-left:    0.25rem; margin-right:  0.25rem; }
.mx-2    { margin-left:    0.5rem;  margin-right:  0.5rem;  }
.mx-3    { margin-left:    1rem;    margin-right:  1rem;    }
.mx-4    { margin-left:    1.5rem;  margin-right:  1.5rem;  }
.mx-5    { margin-left:    3rem;    margin-right:  3rem;    }
.mx-auto { margin-left:    auto;    margin-right:  auto;    }
.my-0    { margin-top:     0;       margin-bottom: 0;       }
.my-1    { margin-top:     0.25rem; margin-bottom: 0.25rem; }
.my-2    { margin-top:     0.5rem;  margin-bottom: 0.5rem;  }
.my-3    { margin-top:     1rem;    margin-bottom: 1rem;    }
.my-4    { margin-top:     1.5rem;  margin-bottom: 1.5rem;  }
.my-5    { margin-top:     3rem;    margin-bottom: 3rem;    }
.my-auto { margin-top:     auto;    margin-bottom: auto;    }
.ms-0    { margin-left:    0;       }
.ms-1    { margin-left:    0.25rem; }
.ms-2    { margin-left:    0.5rem;  }
.ms-3    { margin-left:    1rem;    }
.ms-4    { margin-left:    1.5rem;  }
.ms-5    { margin-left:    3rem;    }
.ms-auto { margin-left:    auto;    }
.me-0    { margin-right:   0;       }
.me-1    { margin-right:   0.25rem; }
.me-2    { margin-right:   0.5rem;  }
.me-3    { margin-right:   1rem;    }
.me-4    { margin-right:   1.5rem;  }
.me-5    { margin-right:   3rem;    }
.me-auto { margin-right:   auto;    }
.mt-0    { margin-top:     0;       }
.mt-1    { margin-top:     0.25rem; }
.mt-2    { margin-top:     0.5rem;  }
.mt-3    { margin-top:     1rem;    }
.mt-4    { margin-top:     1.5rem;  }
.mt-5    { margin-top:     3rem;    }
.mt-auto { margin-top:     auto;    }
.mb-0    { margin-bottom:  0;       }
.mb-1    { margin-bottom:  0.25rem; }
.mb-2    { margin-bottom:  0.5rem;  }
.mb-3    { margin-bottom:  1rem;    }
.mb-4    { margin-bottom:  1.5rem;  }
.mb-5    { margin-bottom:  3rem;    }
.mb-auto { margin-bottom:  auto;    }
.p-0     { padding:        0;       }
.p-1     { padding:        0.25rem; }
.p-2     { padding:        0.5rem;  }
.p-3     { padding:        1rem;    }
.p-4     { padding:        1.5rem;  }
.p-5     { padding:        3rem;    }
.px-0    { padding-left:   0;       padding-right:  0;       }
.px-1    { padding-left:   0.25rem; padding-right:  0.25rem; }
.px-2    { padding-left:   0.5rem;  padding-right:  0.5rem;  }
.px-3    { padding-left:   1rem;    padding-right:  1rem;    }
.px-4    { padding-left:   1.5rem;  padding-right:  1.5rem;  }
.px-5    { padding-left:   3rem;    padding-right:  3rem;    }
.py-0    { padding-top:    0;       padding-bottom: 0;       }
.py-1    { padding-top:    0.25rem; padding-bottom: 0.25rem; }
.py-2    { padding-top:    0.5rem;  padding-bottom: 0.5rem;  }
.py-3    { padding-top:    1rem;    padding-bottom: 1rem;    }
.py-4    { padding-top:    1.5rem;  padding-bottom: 1.5rem;  }
.py-5    { padding-top:    3rem;    padding-bottom: 3rem;    }
.ps-0    { padding-left:   0;       }
.ps-1    { padding-left:   0.25rem; }
.ps-2    { padding-left:   0.5rem;  }
.ps-3    { padding-left:   1rem;    }
.ps-4    { padding-left:   1.5rem;  }
.ps-5    { padding-left:   3rem;    }
.pe-0    { padding-right:  0;       }
.pe-1    { padding-right:  0.25rem; }
.pe-2    { padding-right:  0.5rem;  }
.pe-3    { padding-right:  1rem;    }
.pe-4    { padding-right:  1.5rem;  }
.pe-5    { padding-right:  3rem;    }
.pt-0    { padding-top:    0;       }
.pt-1    { padding-top:    0.25rem; }
.pt-2    { padding-top:    0.5rem;  }
.pt-3    { padding-top:    1rem;    }
.pt-4    { padding-top:    1.5rem;  }
.pt-5    { padding-top:    3rem;    }
.pb-0    { padding-bottom: 0;       }
.pb-1    { padding-bottom: 0.25rem; }
.pb-2    { padding-bottom: 0.5rem;  }
.pb-3    { padding-bottom: 1rem;    }
.pb-4    { padding-bottom: 1.5rem;  }
.pb-5    { padding-bottom: 3rem;    }

.fw-thin     { font-weight: 100;     }
.fw-light    { font-weight: 300;     }
.fw-normal   { font-weight: 400;     }
.fw-bold     { font-weight: 700;     }
.fw-black    { font-weight: 900;     }
.fw-lighter  { font-weight: lighter; }
.fw-bolder   { font-weight: bolder;  }

.w-10       { width:      10%;   }
.w-20       { width:      20%;   }
.w-25       { width:      25%;   }
.w-30       { width:      30%;   }
.w-40       { width:      40%;   }
.w-50       { width:      50%;   }
.w-60       { width:      60%;   }
.w-70       { width:      70%;   }
.w-75       { width:      75%;   }
.w-80       { width:      80%;   }
.w-90       { width:      90%;   }
.w-100      { width:      100%;  }
.w-auto     { width:      auto;  }
.vw-100     { width:      100vw; }
.h-10       { height:     10%;   }
.h-20       { height:     20%;   }
.h-25       { height:     25%;   }
.h-30       { height:     30%;   }
.h-40       { height:     40%;   }
.h-50       { height:     50%;   }
.h-60       { height:     60%;   }
.h-70       { height:     70%;   }
.h-75       { height:     75%;   }
.h-80       { height:     80%;   }
.h-90       { height:     90%;   }
.h-100      { height:     100%;  }
.h-auto     { height:     auto;  }
.vh-100     { height:     100vh; }
.mw-100     { max-width:  100%;  }
.mh-100     { max-height: 100%;  }
.min-vw-100 { min-width:  100vw; }
.min-vh-100 { min-height: 100vh; }

.text-wrap       { white-space: normal; }
.text-nowrap     { white-space: nowrap; }
.text-break      { word-break: break-word; word-wrap: break-word; }
.text-break-word { word-break: break-word; word-wrap: break-word; }
.text-break-all  { word-break: break-all;  }
.text-keep-all   { word-break: keep-all;   }

/* bd-isbn book block */
.body-bd-isbn header {
	margin-bottom: 24px;
}
.body-bd-isbn .container {
	overflow: hidden;
}
.body-bd-isbn .popover {
	min-width: 220px;
}
.body-bd-isbn .dropdown-menu > li {
  display: block;
}
.body-bd-isbn .dropdown-menu.list-group {
  padding: 0;
  min-width: 250px;
}

header nav > a {
	/* 詳細検索のリンクのみ */
	text-align: right;
	margin-top: 4px;
}
.book-images-frame > * {
	text-align: center;
}
.book-images img {
	border: 1px solid #eee;
	max-width: calc( 100% ) !important;
	box-sizing: content-box;
}
.book-images-cover {
}
.book-images-others {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.book-images-others > * {
	margin: 2px;
}
.book-image-modal .modal-dialog {
	width: 632px;
	max-width: calc( 100vw - 8px );
	margin: 10px auto;
}
.book-image-modal-close {
	z-index: 100;
}
.book-ssource {
	text-align: left;
	width: 200px;
	height: 8px;
	margin: 0 auto;
	font-size: 4px;
	line-height: 4px;
	letter-spacing: 4px;
	overflow: hidden;
}
.book-credittitle {
	font-size: 11px;
	line-height: 15px;
	margin: 12px 48px;
	padding: 0px 0px 0px 3px;
	text-align: center;
}
.book-try-links {
	text-align: center;
}
.book-try-links .badge-try {
	color:            #fff;
	background-color: #c00;
}
.book-try-links ul {
	margin: 0 auto;
}
.book-try-links li {
	line-height: 1.2rem;
}

.book-contacts {
	text-align: center;
}
.book-contacts ul {
	margin: 0 auto;
}
.book-contacts li {
	line-height: 1.2rem;
}

.book-clerk-info {
	margin: 0 auto;
}
.book-clerk-info > *{
	margin: 0;
	width: calc( 100% );
}
.book-clerk-info .hanmoto-info-block {
	margin: 8px 0 20px 0;
	text-align: left;
}
.book-clerk-info .hanmoto-info-block:first-child {
	margin-top: 0;
}
.book-clerk-info .hanmoto-info-block:last-child {
	margin-bottom: 0;
}
.book-clerk-info .hanmoto-info-block > h4 {
	text-align: center;
}
.book-clerk-info .hanmoto-info-block > div {
	margin-bottom: 8px;
	word-break: break-word;
}
.book-clerk-info .hanmoto-info-block > div.mb-0 {
	margin-bottom: 0;
}
.book-clerk-info .hanmoto-info-links,
.book-clerk-info .hanmoto-other-links {
	display: inline-block;
	line-height: 20px;
	padding-left: 12px;
}
.book-clerk-info .hanmoto-info-links > * {
	margin-right: 8px;
}
.book-clerk-info .book-barcode {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 5mm;
	min-height: 15.84mm;
}
.book-clerk-info .book-barcode-image {
	margin: 0;
	padding: 0;
	width: 39.6mm;
}

.book-content {
	display: flex;
	flex-direction: column;
}
.book-content > * {
	width: 100%;
	text-align: left;
}
.book-content h2, .book-content h3 {
	margin:  4px 0px 3px 0px;
	padding: 4px 4px 3px 4px;
}
.book-content p {
	margin:  0px 0px 4px 0px;
	padding: 4px 4px 4px 4px;
}
.book-content .table {
	margin:  0px 0px 4px 0px;
	padding: 0px 0px 4px 0px;
}
.book-subject {
	padding-right: 90px;
}
.book-title-block {
	margin: 0;
}

.book-title-ruby-showhide {
	display: inline-block;
}
           .book-title-ruby-showhide *[data-toggle="on"]  { display: none;   }
           .book-title-ruby-showhide *[data-toggle="off"] { display: inline; }
.ruby-hide .book-title-ruby-showhide *[data-toggle="on"]  { display: inline; }
.ruby-hide .book-title-ruby-showhide *[data-toggle="off"] { display: none;   }

.book-title-fav {
	display: inline-block;
}
.book-title-fav *[data-favorite      ] *[data-favorite      ] { display: none;   }
.book-title-fav *[data-favorite="on" ] *[data-favorite="on" ] { display: inline; }
.book-title-fav *[data-favorite="off"] *[data-favorite="off"] { display: inline; }

.book-title-fav .btn-outline-warning-fav {
	color: #ffc107;
	border: 1px solid #ffc107;
	background-color: transparent;
}
.book-title-fav .btn-outline-warning-fav:hover,
.book-title-fav .btn-outline-warning-fav:active,
.book-title-fav .btn-outline-warning-fav:focus {
	color: #000000;
	border-color: #ffc107;
	background-color: #ffc107;
}

.bd-isbn .clip-block {
	top: 0 !important;
}

.book-genre-mark {
	display: inline-block;
	background-color: #eee;
	font-size: 12px;
	padding: 3px 7px;
	margin: 3px 0;
	border-radius: 3px;
}

.book-label-mark,
.book-series-mark,
.book-title-partnumber-mark,
.book-title-go-mark,
.book-subtitle-mark,
.book-edition-mark,
.book-completion-mark,
.book-kenteikyokasho-mark {
	display: inline-block;
	background-color: #5cb85c;
	padding: 0.2em 0.5em 0.25em 0.5em;
	font-weight: 500;
	line-height: 18px;
	box-sizing: border-box;
	margin: 0 4px 0 4px;
	text-align: center;
	white-space: nowrap;
	vertical-align: top;
	border-radius: 5px;
}
.book-title-part            { vertical-align: middle; line-height: 140%; }
.book-subject  *            { vertical-align: middle; color: #666666; }
.book-subject  > *          { display: inline-block; }
.book-subtitle *            { vertical-align: middle; color: #666666; }
.book-eachtitle             { vertical-align: middle; color: #666666; }
.book-genshomei-part        { vertical-align: middle; color: #666666; }
.book-label                 { margin-right:  12px; }
.book-label, .book-series   { margin-bottom:  4px; }
.book-subject *             { font-size: 14px; font-weight: 500; }
.book-subtitle *            { font-size: 16px; font-weight: 500; }
.book-eachtitle             { font-size: 16px; font-weight: 500; }
.book-genshomei-part        { font-size: 16px; font-weight: 500; }
.book-label-mark            { font-size: 14px; background-color: #eeeeee; color: #666666; border-radius: 3px; }
.book-series-mark           { font-size: 14px; background-color: #eeeeee; color: #666666; border-radius: 3px; }
.book-title-partnumber-mark { font-size: 18px; background-color: #eeeeee; color: #000000; border-radius: 3px; }
.book-title-go-mark         { font-size: 18px; background-color: #eeeeee; color: #000000; border-radius: 0px; }
.book-subtitle-mark         { font-size: 16px; background-color: #eeeeee; color: #666666; border-radius: 3px; }
.book-edition-mark          { font-size: 16px; background-color: #ffe0e0; color: #000000; border-radius: 0px; }
.book-completion-mark       { font-size: 18px; background-color: #5cb85c; color: #ffffff; border-radius: 5px; }
.book-kenteikyokasho-mark   { font-size: 18px; background-color: #000000; color: #fee9a0; border-radius: 0px; }


.book-attribute-frame > div {
	position: relative;
	line-height: 25px;
	clear: both;
}
.book-attribute-frame > .close-to-next {
	margin-bottom: 0px;
}

.book-authors .book-author {
	position: relative;
}
.book-authors .book-author::before {
	display:  inline-block;
	content:  '，';
	margin:   0px;
	padding:  0px 4px 0px 4px;
}
.book-authors .book-author:first-child::before {
	display:  none;
}

.book-publishers .hanmoto-link {
	position: relative;
	display: inline-block;
	margin-left: 8px;
}
.book-publishers .hanmoto-link:nth-child(2) {
	margin-left: 32px;
}
.book-publishers .hanmoto-link .fa,
.book-publishers .hanmoto-link .fa-2x {
	font-size: 16px;
}

.book-productform-frame > div {
	display: inline-block;
	margin-right: 12px;
}
.book-productform > span {
	display: inline-block;
}
.book-productform-height {
	margin-left: 0px;
}
.book-productform-width {
	margin-left: 0px;
}
.book-productform-measure:nth-child(n+2)::before {
	position: relative;
	content: "\00D7";
	display: inline-block;
	margin:  0 4px 0 4px;
}

.book-price-amount > span {
	display: inline-block;
	margin-left: 0px;
}
.book-price-amount > span.book-price-amount-value {
	margin-left: 12px;
}

.book-codes > dl {
	position: relative;
	margin-bottom: 0;
}
.book-codes > dl > dt,
.book-codes > dl > dd {
	position: relative;
	display: inline-block;
	float: left;
	line-height: 25px;
	margin-right: 4px;
	font-weight: normal;
}
.book-codes small, .book-codes .small {
	font-size: 12px;
	line-height: 22px;
}
.book-codes > dl > dt {
	clear: both;
	width: 80px;
}
.book-codes > dl > dd {
	margin-left: 8px;
	width: calc( 100% - 80px - 10px * 2 );
}
.book-codes .book-ccode-num {
	position: relative;
	display: inline-block;
	line-height: 25px;
	margin-right: 4px;
	width: 80px;
}
.book-codes .book-ccode-desc {
	max-width: 300px;
	margin-left: 20px;
}
.book-codes .book-ccode-desc > span {
	display: inline-block;
}
.book-codes .book-ccode-desc > span::before {
	position: relative;
	content: "\00bb";
	display: inline-block;
	margin:  0 8px 0 8px;
}
.book-codes .book-ccode-desc > span:first-child::before {
	position: relative;
	content: '';
	display: none;
}

.badge.badge-copy {
	background: #4488ff;
	vertical-align: middle;
	line-height: 1em;
	font-size: 12px;
	padding: 3px 7px 2px 7px;
	margin-top: -3px;
}
small .badge.badge-copy,
.small .badge.badge-copy,
.badge.badge-copy.small {
	font-size: 8px;
	padding: 3px 6px 3px 6px;
	margin-top: -1px;
}
a.badge.badge-copy:hover,
a.badge.badge-copy:focus,
a.badge.badge-copy:focus-within,
a.badge.badge-copy:focus-visible {
	background: #00aaff;
}

.book-zaiko-frame > dl {
	position: relative;
}
.book-zaiko-frame > dl > dt,
.book-zaiko-frame > dl > dd {
	position: relative;
	display: inline-block;
	float: left;
	height: 25px;
	line-height: 25px;
	margin-right: 4px;
	font-weight: normal;
}
.book-zaiko-frame > dl > dt {
	clear: both;
	width: 120px;
}
.book-zaiko-frame > dl > dd {
}

.book-dates > dl {
	position: relative;
}
.book-dates > dl > dt,
.book-dates > dl > dd {
	position: relative;
	display: inline-block;
	float: left;
	height: 25px;
	line-height: 25px;
	margin-right: 4px;
	font-weight: normal;
}
.book-dates > dl > dt {
	clear: both;
	width: 88px;
}
.book-dates > dl > dd {
}

.book-sns-buttons {
	display: flex;
}
.book-sns-buttons-inline {
	display: inline-block;
	padding: 3px 3px;
	vertical-align: middle;
}
.book-sns-buttons > div, .book-sns-buttons > a, .book-sns-buttons > iframe {
	display: inline-block;
	margin-left: 0px;
	margin-right: 4px;
	line-height: 20px;
}
.book-sns-buttons .book-sns-button-hatena {
	width: 82px;
	height: 20px;
}

.book-reviews .table td {
	border: none;
}
.book-reviews tr > td:first-child {
	width: 88px;
}
.book-reviews .book-review-source {
	font-weight: bold;
}
.book-reviews .book-review-link .book-review-source {
	font-weight: normal;
}

.book-jyuhan .table td {
	border: none;
	padding-top: 3px;
	padding-bottom: 3px;
}
.book-jyuhan tr > td:first-child {
	width: 50px;
}
.book-jyuhan .table>tbody+tbody {
	border: none;
}

.book-author-profile {
	padding: 0 0px 0 8px;
}
.book-excuse {
	margin: 0px auto;
	width: 85%;
}
.book-old-edition {
	margin:  0px 0px 4px 0px;
	padding: 4px 4px 4px 4px;
}

.book-cart .book-order-box {
	min-height: 200px;
	width: 100%;
	margin: 32px 0 0 0;
}
.book-cart .book-order-box .loading {
	height: 136px;
	line-height: 136px;
}
.book-cart .book-order-box .book-price-amount > span.book-price-amount-value {
	font-size: 32px;
	color: #c00;
	margin-left: 0;
}
.book-order-box-frame > div {
}
.book-order-box-frame {
	display: flex;
	flex-direction: column;
	height: 128px;
}
.book-order-box-frame > div.book-price-amount {
	flex: 0 0 36px;
	margin-bottom: 12px;
}
.book-order-box-frame > div.book-zaiko {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.book-order-box-frame > div.book-hanbailink {
	margin-top: 16px;
	flex: 0 0 36px;
}

.book-order-box-frame .btn-action {
	padding: 6px 12px;
}

.book-shop-links > * {
	width: calc( 100% - 12px );
	padding: 0 4px;
}

.book-shop-links h4 {
	padding-bottom: 3px;
}

.online-shop *[data-shop-key] .small {
	font-size: 11px;
}
.online-shop *[data-shop-key] .shop-zaiko-status {
	position: relative;
}
.online-shop *[data-shop-key] .shop-zaiko-status:before {
	position: relative;
	display: inline;
	content: '（';
}
.online-shop *[data-shop-key] .shop-zaiko-status:after {
	position: relative;
	display: inline;
	content: '）';
}
.online-shop li {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.shop-zaiko-disclaimer {
	font-size:     12px;
	line-height:   12px;
	padding-left:  24px;
	margin-top:    -4px;
	margin-bottom:  4px;
}
.shop-zaiko-disclaimer-content * {
	font-size:     12px;
	line-height:   16px;
}
.shop-zaiko-disclaimer-content > * {
	margin:        4px 0px;
}
.shop-zaiko-disclaimer-content li {
	margin-bottom:  8px;
}
.shop-zaiko-disclaimer-content hr {
	margin:        12px 12px;
}

.sidebar ul {
	list-style: none;
	text-align: left;
}
.bd-isbn .book-shop-links ul li {
	text-align: left;
}

/* common screen */
@media screen and (min-width: 1px), print and (min-width: 1px) {
	.book-container-large {
	}
	.book-col-frame {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		height: auto;
		margin: 0 -15px 0 -15px;
		padding: 1px 15px 1px 15px;
		overflow: visible;
	}
	.book-col-frame > * {
		order: 1000;
	}
	.book-col {
		flex: 0 0 auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 0 auto;
	}
	.book-col-1 { width: calc( 25% - 10px ); }
	.book-col-2 { width: calc( 50% - 10px ); }
	.book-col-3 { width: calc( 25% - 10px ); }
	.book-col-mb-1 { margin-bottom:  4px; }
	.book-col-mb-2 { margin-bottom:  8px; }
	.book-col-mb-3 { margin-bottom: 12px; }
	.book-col-mb-4 { margin-bottom: 16px; }
	.book-col-mb-5 { margin-bottom: 20px; }
	.book-col-mb-6 { margin-bottom: 24px; }
	.book-col-mb-7 { margin-bottom: 28px; }
	.book-col-mb-8 { margin-bottom: 32px; }
	.book-col-break {
	}
	.book-cart-selectable {
		display: none;
	}
	.book-hide-section { }

	.book-info-more:after {
		display: none;
	}
	.book-table-row-more,
	.book-table-row-less {
		display: none;
	}

	.bd-isbn .clip-block {
		position: absolute;
		top: 0px;
	}
}

/* SmartPhone or smaller screen */
@media screen and (max-width: 767px) {
	.book-container-large {
	}
	.book-col-frame {
		flex-wrap: nowrap;
		height: auto !important;
	}
	.book-col-break {
		display: none;
	}
	.book-col-1 { width: calc( 100% - 10px ); }
	.book-col-2 { width: calc( 100% - 10px ); }
	.book-col-3 { width: calc( 100% - 10px ); }
	.book-col-mb-1,
	.book-col-mb-2,
	.book-col-mb-3,
	.book-col-mb-4,
	.book-col-mb-5,
	.book-col-mb-6,
	.book-col-mb-7,
	.book-col-mb-8 { margin-bottom: 0px; }

	.book-cart-selectable {
		width: 100%;
		padding-bottom: 4px;
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
	}

	.book-edit-link-section {
		display: none;
	}
	.book-images-cover-section    { order: 101; margin-bottom:  4px; }
	.book-try-links-section       { order: 102; margin-bottom:  4px; }

	.book-subject-section         { order: 201; margin-bottom:  4px; }
	.book-title-block-section     { order: 202; margin-bottom:  4px; }
	.book-genre-block-section     { order: 203; margin-bottom:  4px; }
	.book-authors-section         { order: 204; margin-bottom:  4px; }
	.book-publishers-section      { order: 205; margin-bottom:  4px; }

	.book-productform-section     { order: 221; margin-bottom:  4px; }
	.book-price-section           { order: 222; margin-bottom:  4px; }

	.book-isbn-section            { order: 251; margin-bottom:  4px; }
	.book-ccode-section           { order: 252; margin-bottom:  4px; }
	.book-gtin13-section          { order: 253; margin-bottom:  4px; }
	.book-jpecode-section         { order: 254; margin-bottom:  4px; }
	.book-jpmagazine-section      { order: 255; margin-bottom:  4px; }

	.book-zaiko-section           { order: 261; margin-bottom:  4px; }
	.book-dates-section           { order: 262; margin-bottom:  4px; }

	.book-images-others-section   { order: 281; margin-bottom:  4px; }
	.book-credittitle-section     { order: 282; margin-bottom:  4px; }

	.book-cart-selectable-section { order: 300; margin-bottom:  4px; }
	.book-cart-section            { order: 311; margin-bottom:  4px; }
	.book-shop-online-section     { order: 312; margin-bottom:  4px; }
	.book-shop-offline-section    { order: 313; margin-bottom:  4px; }
	.book-clerk-info-section      { order: 321; margin-bottom:  4px; }

	.book-sns-buttons-section     { order: 500; margin-bottom:  4px; }
	.book-jusho-section           { order: 501; margin-bottom:  4px; }
	.book-reviews-section         { order: 502; margin-bottom:  4px; }
	.book-jyuhan-section          { order: 503; margin-bottom:  4px; }
	.book-kaisetsu-section        { order: 504; margin-bottom:  4px; }
	.book-toc-section             { order: 505; margin-bottom:  4px; }
	.book-maegaki-section         { order: 506; margin-bottom:  4px; }
	.book-hitokoto-section        { order: 507; margin-bottom:  4px; }
	.book-author-profiles-section { order: 509; margin-bottom:  4px; }
	.book-kanren_link-section     { order: 510; margin-bottom:  4px; }
	.book-tsuiki-section          { order: 511; margin-bottom:  4px; }
	.book-excuse-section          { order: 599; margin-bottom:  4px; }

	.book-contacts-section        { order: 901; margin-bottom:  4px; }
	.book-banners-section         { order: 990; margin-bottom: 20px; }

	.book-hide-section            { display: none; margin: 0; }
	.book-clerk-info-link {
		align-self: flex-end;
		margin-right: -5px;
		text-align: right;
		font-size: 14px;
		font-family: 'Oxygen',"モトヤ丸アポロ Std W6",sans-serif;
		font-weight: bold;
	}

	.book-info-more {
		overflow: hidden;
		max-height: calc( 4px + 25px * 3 + 4px );
	}
	.book-info-more.book-info-height-0 {
		max-height: calc( 4px + 25px * 1 + 4px );
	}
	.book-info-more.book-info-height-1 {
		max-height: calc( 4px + 25px * 2 + 4px );
	}
	.book-info-more.book-info-height-2 {
		max-height: calc( 4px + 25px * 3 + 4px );
	}
	.book-info-more.book-info-height-3 {
		max-height: calc( 4px + 25px * 4 + 4px );
	}
	.book-info-more.book-info-height-4 {
		max-height: calc( 4px + 25px * 5 + 4px );
	}
	.book-info-more.book-info-height-5 {
		max-height: calc( 4px + 25px * 6 + 4px );
	}

	.book-info-more:after {
		position: absolute;
		display: block;
		content: 'MORE';
		font-family: 'Sarpanch', sans-serif;
		text-align: right;
		vertical-align: text-bottom;
		font-size: 16px;
		font-weight: bold;
		line-height: 16px;
		height: 28px;
		top: auto;
		bottom: 0px;
		width: 100%;
		left: 0;
		right: 0;
		padding: 12px 8px 0px 8px;
		margin: 0px;
		background: linear-gradient(to bottom,
			rgba(255,255,255,0)      0%,
			rgba(255,255,255,255)    16px,
			rgba(255,255,255,255)
		);
	}
	.book-info-less:after {
		position: relative;
		display: block;
		content: 'LESS';
		font-family: 'Sarpanch', sans-serif;
		text-align: right;
		vertical-align: text-bottom;
		font-size: 16px;
		font-weight: bold;
		line-height: 16px;
		height: 16px;
		top: auto;
		bottom: 0px;
		width: 100%;
		left: 0;
		right: 0;
		padding: 0px 8px 0px 8px;
		margin: 0px 0px 8px 0px;
	}
	.book-codes.book-info-more {
		max-height: 25px;
	}
	.book-isbn-section .book-codes.book-info-more > dl > dt {
		width: calc( 100% - 255px );
		min-width: 24px;
		max-width: 80px;
	}
	.book-codes.book-info-more:after {
		background: transparent;
		bottom: 3px;
	}

	.book-table-more[data-book-table-rows="1"] tr:nth-child(n+2),
	.book-table-more[data-book-table-rows="2"] tr:nth-child(n+3),
	.book-table-more[data-book-table-rows="3"] tr:nth-child(n+4),
	.book-table-more[data-book-table-rows="4"] tr:nth-child(n+5),
	.book-table-more[data-book-table-rows="5"] tr:nth-child(n+6) {
		display: none;
	}
	.book-table-row-more,
	.book-table-row-less {
		display: none;
	}
	.book-table-more tr.book-table-row-more,
	.book-table-less tr.book-table-row-less {
		display: table-row !important;
	}
	.book-table-more tr.book-table-row-more td,
	.book-table-less tr.book-table-row-less td {
		font-family: 'Sarpanch', sans-serif;
		text-align: right;
		vertical-align: text-bottom;
		font-size: 16px;
		font-weight: bold;
		line-height: 16px;
	}

	.bd-isbn .clip-block {
		display: none;
	}
}

/* Tablet screen */
@media screen and (min-width: 768px), print {
	.book-container-large {
		max-height: 100vh;
	}
	.book-col-frame {
		flex-wrap: wrap;
		height: 100000vh;
	}
	.book-col-break {
		flex-basis: 100%;
		width: 8px;
	}
	.book-col-1 { width: calc( 25%        ); }
	.book-col-2 { width: calc( 50% - 12px ); }
	.book-col-3 { width: calc( 25%        ); }
	.book-cart-selectable-section {
		display: none;
	}
	.book-hide-section { }
	.book-clerk-info-link {
		display: none;
	}
	header nav a {
		padding:
			calc( ( 100vw - 630px - 16px ) * 0.075 )
			calc( ( 100vw - 630px - 16px ) * 0.050 );
	}
}

/* PC or larger screen */
@media screen and (min-width: 1024px) {
	.book-col-break {
		width: 15px;
	}
	.book-col-1 { width: calc( 25% - 10px ); }
	.book-col-2 { width: calc( 50% - 10px ); }
	.book-col-3 { width: calc( 25% - 10px ); }
	header nav ul {
		margin: 0;
	}
	header nav a {
		padding: 30px 20px;
	}
}

/* print */
@media print {
	@page {
		size: A3;
		margin: 0mm;
	}
	:root {
		color-scheme: light;
	}
	*,
	*::before,
	*::after {
		text-shadow: none !important;
		box-shadow: none !important;
		color-adjust：exact;
		-webkit-print-color-adjust：exact;
		print-color-adjust：exact;
	}
	body {
		width: 1200px;
		min-width: auto !important;
	}
	.container {
		width: 1170px;
	}
	.book-col-frame {
		flex-wrap: wrap;
		height: 1000000vh;
	}
	.book-col-break {
		width: 15px;
	}
	.book-col-1 { width: calc( 25% - 10px ); }
	.book-col-2 { width: calc( 50% - 10px ); }
	.book-col-3 { width: calc( 25% - 10px ); }

	.book-edit-link-section {
		display: none;
	}

	header nav ul {
		margin: 0;
	}
	header nav a {
		padding: 30px 20px;
	}

	.bd-isbn .clip-block {
		display: none;
	}

	.bd-isbn .not-printable {
		display: none;
	}
}

/* 404 page */
.book-access-info {
	position: relative;
	width: 100%;
	margin: 48px auto 24px 24px;
}
.book-access-info > * {
	position: relative;
	display: inline-block;
	font-weight: normal;
	height: 24px;
	line-height: 24px;
	margin: 0 auto 0 0;
	padding: 0;
}
.book-access-info > dt {
	width: 144px;
}
.book-access-info > dd {
	width: calc( 100% - 144px - 24px - 4px );
}
.book-banner img {
	max-width: calc( 100% - 8px ) !important;
}
.book-error-messages {
	margin: 20px 0px;
}

.book-openbs {
	border: 0px solid #ccc;
	width: 100%;
	height: auto;
	max-height: calc(100vh - 20px);
	margin: 0;
	padding: 0 6px;
	position: relative;
}
.book-openbs-links > * {
	width: 100%;
	padding: 0 4px;
}
.book-openbs.denied {
	height: auto;
}
.book-openbs.denied iframe {
	display: none;
}
.book-openbs.denied .openbs-denied-message {
	padding: 0px 10px 10px 10px;
}
