@charset "utf-8";
/*
-------------------------------------------------------------------------------- width: 721px -
*/
/* ---------------- main column ---------------- */
/* headings */
h1 {
    margin: 0 0 40px 15px;
}
h2 {
    margin: 0 0 20px 15px;
    font-size: 138%;
    font-weight: bold;
}
.headingSet {
    position: relative;
    margin: 0 0 20px 15px;
}
.headingSet h2 {
    margin: 0;
}
.headingSet a {
    display: inline-block;
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 82%;
    font-weight: normal !important;
}
/* takushoku search */
#takushokuSearch {
    margin: 0 0 40px 15px;
    padding: 25px 20px 20px;
    background-color: #fff;
}
#takushokuSearch .img {
    margin: 0 0 20px 0;
    text-align: center;
}
#takushokuSearch form {
    position: relative;
    width: 660px;
    height: 40px;
    margin: 0 auto 10px;
    border: 1px solid #d3ccce;
    border-radius: 1px;
    background-color: #fff;
    box-shadow: 1px 1px 2px rgba(111,104,106,.3) inset;
}
#takushokuSearch form .searchTxt {
    position: absolute;
    left: 0;
    top: 0;
    box-sizing: border-box;
    width: 620px;
    height: 40px;
    margin: 0;
    padding: 0 0 0 10px;
    border-style: none;
    background-color: transparent;
    outline: 0;
    font-size: 82%;
    line-height: 40px;
}
#takushokuSearch form .searchBtn {
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border-style: none;
    background-color: transparent;
    background-image: url(/library/img/icon_search.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 20px 20px;
    outline: 0;
    text-indent: -9999px;
    cursor: pointer;
}
#takushokuSearch form .searchBtn:active,
#takushokuSearch form .searchBtn:hover {
    opacity: .7;
}
#takushokuSearch .bodyText {
    padding-right: 20px;
}
#takushokuSearch .bodyText a {
    font-weight: normal !important;
}
/* database list */
#databaseList {
    margin: 0 0 10px 15px;
}
#databaseList dt {
    position: relative;
    margin-top: 10px;
    padding: 15px;
    border-top: 4px solid #396eb6;
    background-color: #fff;
    font-size: 93%;
    font-weight: bold;
}
#databaseList dt a {
    display: block;
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -13px;
    padding: 7px;
    border-radius: 4px;
    background-color: #eaeff6;
}
#databaseList dt a img {
    display: block;
    width: 12px;
    height: 12px;
}
#databaseList dd {
    display: none;
    padding: 9px 20px 15px 20px;
    background-color: #eaeff6;
}
#databaseList dd ul.linkList {
    margin: 0;
}
#databaseList dd ul.linkList li a {
    font-weight: normal !important;
}
#main a.textButton {
    border-top-color: #396eb6;
}
/* ---------------- sub column ---------------- */
/* headings */
.subHeading {
    padding: 15px;
    border-top: 5px solid #396eb6;
    background-color: #c3daf9;
    font-size: 100%;
    font-weight: bold;
    text-align: center;
}
/* calendar */
ul.subCalendar {
    margin-bottom: 30px;
    background-color: #fff;
}
ul.subCalendar li {
    padding: 12px 20px 10px;
    border-top: 1px solid #ddd9d6;
    font-size: 88%;
    text-align: center;
}
ul.subCalendar li:first-child {
    border-top-style: none;
}
ul.subCalendar li a {
    display: block;
    margin-bottom: 4px;
    background-color: #396eb6;
    text-decoration: none;
    text-align: center;
}
ul.subCalendar li a:active,
ul.subCalendar li a:hover {
    text-decoration: none;
    opacity: .7;
}
ul.subCalendar li a span {
    display: inline-block;
    padding: 12px 0 12px 24px;
    background-image: url(/library/img/icon_calendar.png);
    background-repeat: no-repeat;
    background-position: 0 50%;
    color: #fff;
    font-weight: bold;
    text-align: left;
}
ul.subCalendar li > span {
    font-weight: bold;
    line-height: 1.8;
}
/* my library */
a#myLibraryBtn {
    display: block;
    margin-bottom: 8px;
    padding: 12px 10px 12px 50px;
    border: 2px solid #396eb6;
    background-color: #fff;
    background-image: url(/common/img/icon_angle_orange.png);
    background-repeat: no-repeat;
    background-position: 10px 50%;
    background-size: 11px 16px;
}
a#myLibraryBtn:active,
a#myLibraryBtn:hover {
    text-decoration: none;
}
a#myLibraryBtn strong {
    color: #396eb6;
    font-size: 113%;
    font-weight: bold;
}
a#myLibraryBtn span {
    display: block;
    width: 130px;
    margin-top: 8px;
    padding: 7px 0;
    background-color: #396eb6;
    color: #fff;
    font-size: 82%;
    font-weight: bold;
    text-align: center;
}
a#myLibraryBtn:active span,
a#myLibraryBtn:hover span {
    opacity: .7;
}
a#myLibraryBtn + div {
    margin-bottom: 30px;
    font-size: 88%;
    font-weight: normal;
}
a#myLibraryBtn + div a {
    display: inline-block;
    padding: 0 0 0 16px;
    background-image: url(/common/img/icon_angle_orange.png);
    background-repeat: no-repeat;
    background-position: 0 50%;
    background-size: 6px 9px;
    color: #404040;
}
a#myLibraryBtn + div a:active,
a#myLibraryBtn + div a:hover {
    color: #e54800;
    text-decoration: none;
}
/* links */
ul.subLinks {
    background-color: #fff;
}
ul.subLinks li {
    border-top: 1px solid #ddd9d6;
}
ul.subLinks li:first-child {
    border-top-style: none;
}
ul.subLinks li a {
    display: block;
    padding: 10px 10px 10px 25px;
    background-image: url(/common/img/icon_angle_orange.png);
    background-repeat: no-repeat;
    background-position: 10px 15px;
    background-size: 6px 9px;
    color: #404040;
    font-size: 88%;
    line-height: 1.4;
}
ul.subLinks li a:active,
ul.subLinks li a:hover {
    color: #e54800;
    text-decoration: none;
}
ul.subLinks li a.current {
    font-weight: bold;
}
/* contact */
ul.subContact {
    background-color: #fff;
}
ul.subContact li {
    border-top: 1px solid #ddd9d6;
}
ul.subContact li:first-child {
    border-top-style: none;
}
ul.subContact li a.tel {
    display: block;
    padding: 15px 10px 10px;
    color: #404040;
    font-size: 100%;
    font-weight: bold;
    text-align: center;
}
ul.subContact li a.tel.noLink {
    cursor: default;
}
ul.subContact li a.tel:active,
ul.subContact li a.tel:hover {
    color: #404040;
    text-decoration: none;
}
ul.subContact li a.tel span {
    display: inline-block;
    margin-top: 8px;
    padding: 4px 0 4px 20px;
    background-image: url(/library/img/icon_tel.png);
    background-repeat: no-repeat;
    background-position: 0 50%;
    font-size: 88%;
    font-weight: normal;
}
ul.subContact li.button {
    padding: 10px 20px;
}
ul.subContact li.button a {
    display: block;
    background-color: #396eb6;
    text-align: center;
}
ul.subContact li.button a:active,
ul.subContact li.button a:hover {
    text-decoration: none;
    opacity: .7;
}
ul.subContact li.button a span {
    display: inline-block;
    padding: 12px 0 12px 30px;
    background-image: url(/library/img/icon_email.png);
    background-repeat: no-repeat;
    background-position: 0 50%;
    color: #fff;
    font-size: 88%;
    font-weight: bold;
}
/* ---------------- calendar ---------------- */
/* container */
#calendarCover {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 100;
}
#calendar {
    display: none;
    position: absolute;
    top: 50px;
    left: 50%;
    width: 980px;
    margin-left: -490px;
    z-index: 101;
}
#calendar > div {
    display: none;
    position: relative;
    width: 840px;
    padding: 40px 80px 20px 60px;
    background-color: #fff;
}
#calendar > div:before, #calendar > div:after { content: ""; display: table; }
#calendar > div:after { clear: both; }
/* header */
#calendar .heading {
    margin: 0 0 10px 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd9d6;
    font-size: 93%;
    font-weight: bold;
}
#calendar ul.legend {
    margin: 0 0 10px 20px;
}
#calendar ul.legend:before, #calendar ul.legend:after { content: ""; display: table; }
#calendar ul.legend:after { clear: both; }
#calendar ul.legend li {
    display: table;
    float: left;
    margin: 0 20px 4px 0;
    font-size: 75%;
}
#calendar ul.legend li span {
    display: table-cell;
    padding-left: 8px;
    vertical-align: middle;
}
#calendar ul.legend li span:first-child {
    width: 1em;
    height: 1em;
    padding-left: 0;
    border: 1px solid #404040;
    text-indent: -9999px;
}
#calendar .open_1 { background-color: #fff; }
#calendar .open_2 { background-color: #f9dc16; }
#calendar .open_3 { background-color: #c1e962; }
#calendar .open_4 { background-color: #f39132; }
#calendar .open_5 { background-color: #58b400; }
#calendar .open_6 { background-color: #9acdf8; }
#calendar .open_7 { background-color: #d494e9; }
#calendar .closed { background-color: #f10c42; color: #fff; }
/* calendar */
table.calendar {
    float: left;
    width: 190px;
    margin: 0 0 20px 20px;
    border-top: 1px solid #dcdcdc;
    border-left: 1px solid #dcdcdc;
}
table.calendar:nth-of-type(4n+1) {
    /*clear: left;*/
}
table.calendar th,
table.calendar td {
    height: 1em;
    padding: 4px 0;
    border-right: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    color: #666;
    font-size: 63%;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    empty-cells: show;
}
table.calendar th {
    background-color: #404040;
    color: #fff;
}
table.calendar td {
    background-color: #f1f0f0;
    color: #666;
}
table.calendar td .redT {
    color: #f10c42;
    font-weight: bold;
}
table.calendar td.cal_txt {
    height: 2.4em;
    padding: 6px 8px;
    color: #404040;
    font-weight: normal;
    line-height: 1.2;
    text-align: left;
    vertical-align: top;
}
/* buttons */
#calendar a.closeBtn {
    display: block;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 27px;
    height: 27px;
}
#calendar a.printBtn {
    display: block;
    position: absolute;
    top: 20px;
    right: 80px;
    padding: 12px 30px 11px 50px;
    background-color: #e54800;
    background-image: url(/common/img/icon_print.png);
    background-repeat: no-repeat;
    background-position: 22px 50%;
    color: #fff;
    font-size: 75%;
    font-weight: bold;
}
#calendar a.closeBtn:active,
#calendar a.closeBtn:hover,
#calendar a.printBtn:active,
#calendar a.printBtn:hover {
    color: #fff;
    opacity: .7;
    text-decoration: none;
}
/*
-------------------------------------------------------------------------------- width: - 720px
*/
@media screen and (max-width: 720px) {
/* ---------------- main column ---------------- */
/* headings */
h1 {
    margin: 0 0 20px 10px;
}
h2 {
    margin: 0 0 15px 10px;
    font-size: 113%;
}
.headingSet {
    margin: 0 0 15px 10px;
    padding-bottom: 1.3em;
}
.headingSet a {
    font-size: 75%;
}
/* takushoku search */
#takushokuSearch {
    margin: 0 0 20px 10px;
    padding: 12px 20px 10px;
}
#takushokuSearch .img {
    margin: 0 0 10px 0;
}
#takushokuSearch .img img {
    width: 160px;
}
#takushokuSearch form {
    position: relative;
    width: 100%;
}
#takushokuSearch form .searchTxt {
    font-size: 100%;
}
#takushokuSearch .bodyText {
    font-size: 75%;
}
/* database list */
#databaseList {
    margin: 0 0 10px 10px;
}
#databaseList dt {
    padding: 15px 10px;
    border-top: 3px solid #396eb6;
    font-size: 88%;
}
#databaseList dt a {
    right: 10px;
}
#databaseList dd {
    padding: 0;
}
#databaseList dd ul.linkList {
    margin: 0;
    border-top-style: none;
}
ul.linkList li {
    margin-top: 0;
    border-bottom: 1px solid #dad3cd;
}
ul.linkList li:last-child {
    border-bottom-style: none;
}
/* ---------------- sub column ---------------- */
/* headings */
.subHeading {
    padding: 10px;
    border-top: 3px solid #396eb6;
}
/* calendar */
ul.subCalendar {
    margin-bottom: 15px;
    background-color: #f9f4f0;
}
/* my library */
a#myLibraryBtn {
    padding: 12px 10px 12px 20px;
    text-align: center;
}
a#myLibraryBtn span {
    margin: 8px auto 0;
}
a#myLibraryBtn + div {
    margin-bottom: 15px;
    font-size: 75%;
}
/* links */
ul.subLinks {
    background-color: #f9f4f0;
}
ul.subLinks li {
    border-top-style: none;
    border-bottom: 1px solid #ddd9d6;
}
ul.subLinks li a {
    font-size: 82%;
}
ul#sideBanners {
    margin-bottom: 0 !important;
}
/* contact */
ul.subContact {
    background-color: #f9f4f0;
}
ul.subContact li a.tel span {
    margin-top: 4px;
}
/* ---------------- calendar ---------------- */
/* container */
#calendar {
    box-sizing: border-box;
    top: 15px;
    left: 0;
    width: 100%;
    margin-left: 0;
    padding: 0 10px;
}
#calendar > div {
    width: auto;
    padding: 50px 10px 10px 10px;
}
/* header */
#calendar .heading {
    margin: 0 0 10px 0;
    font-size: 88%;
}
#calendar ul.legend {
    margin: 0 0 10px 0;
}
#calendar ul.legend li {
    margin: 0 12px 4px 0;
    font-size: 69%;
}
#calendar ul.legend li span {
    padding-left: 5px;
}
/* calendar */
table.calendar {
    float: none;
    width: 100%;
    margin: 0 0 10px 0;
}
/* buttons */
#calendar a.closeBtn {
    top: 10px;
    right: 20px;
}
#calendar a.printBtn {
    display: none;
}
} /* width: - 720px */
/*
-------------------------------------------------------------------------------- print
*/
@media print {
body {
    width: 100%;
    background-color: #fff;
    -webkit-print-color-adjust: exact;
}
#calendar {
    display: block;
    position: static;
    width: 960px;
    margin: 0 auto;
}
#calendar > div {
    display: block;
    position: relative;
    width: 940px;
    padding: 0 20px 0 0;
}
#calendar p {
    clear:both;
}
table.calendar th,
table.calendar td {
    height: 24px;
}
table.calendar td.cal_txt {
    height: 40px;
}
#calendar a.closeBtn,
#calendar a.printBtn {
    display: none;
}
} /* print */
