@charset "UTF-8";
html {
  min-height: 100%;
  position: relative;
  font-size: 62.5%;
  background: #fff
}
body, dd, dl, dt, ol, p, ul {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Verdana, "メイリオ", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  padding: 0;
  margin: 0
}
body {
  min-height: 100%;
  padding-bottom: 30px;
  -webkit-text-size-adjust: 100%;
  padding: 0
}
img, video {
  border: none;
  vertical-align: bottom
}
ol, ul {
  list-style: none;
  padding-start: 0;
  -webkit-padding-start: 0;
  -moz-padding-start: 0
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 700;
  margin: 0;
  padding: 0
}
a, a:active, a:hover, a:link, a:visited {
  text-decoration: none
}
a {
  text-decoration: none;
  tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent
}
a:link {
  color: #000
}
a:visited {
  color: #000
}
a:hover {
  color: #b3b3b3
}
a:hover img {
  opacity: .6
}
.clearfix {
  min-height: 1px;
  zoom: 1
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0
}
span.ja {
  font-family: san-serif
}
.fl {
  float: left
}
.fr {
  float: right
}
.b_none {
  border: none !important
}
abbr, acronym {
  text-decoration: none
}
a, div, input[type=password], input[type=text], select, textarea {
  outline: 0
}
.sp_only {
  display: none
}
@media only screen and (max-width:768px) {
  img, video {
    width: 100%;
    height: auto
  }
  body {
    padding-bottom: 3.7rem;
    padding-bottom: 9.86vw
  }
  a:hover img {
    opacity: 1
  }
  a:hover {
    color: #000
  }
  .pc_only {
    display: none
  }
}
.color_e {
  color: #ef826d !important
}
.color_e_sub01 {
  color: #ea5547 !important
}
.color_e_sub02 {
  color: #fde9e2 !important
}
.color_jh {
  color: #f39627 !important
}
.color_jh_sub01 {
  color: #ed6f00 !important
}
.color_jh_sub02 {
  color: #fdead3 !important
}
.color_college {
  color: #1886c4 !important
}
.color_college_sub01 {
  color: #005dad !important
}
.color_college_sub02 {
  color: #daebf2 !important
}
.color_math {
  color: #0078b9 !important
}
.color_math_sub01 {
  color: #889ecc !important
}
.color_math_sub02 {
  color: #e8eef7 !important
}
.color_rika {
  color: #45b036 !important
}
.color_rika_sub01 {
  color: #a9c963 !important
}
.color_rika_sub02 {
  color: #f0f4d5 !important
}
.color_seikatsu {
  color: #ee791d !important
}
.color_seikatsu_sub01 {
  color: #f7a94b !important
}
.color_seikatsu_sub02 {
  color: #fdf0dd !important
}
.color_pe {
  color: #7d4798 !important
}
.color_pe_sub01 {
  color: #bba1cb !important
}
.color_pe_sub02 {
  color: #ede6f2 !important
}
.color_news {
  color: red !important
}
.color_pickup {
  color: #5a4a3f !important
}
.color_forum {
  color: #00a45e !important
}
.color_data {
  color: #a77aa5 !important
}
.color_kuraberu {
  color: #5d5283 !important
}
.color_textbook {
  color: #073190 !important
}
.color_digital {
  color: #008169 !important
}
.color_books {
  color: #5fbfb0 !important
}
.color_newbooks {
  color: #f18e1d !important
}
.color_other {
  color: #666 !important
}
.color_teacher {
  color: #008cd6 !important
}
.color_general {
  color: #f39800 !important
}
.color_corporate {
  color: #e71f19 !important
}
.color_corporate_sub01 {
  color: #ea545d !important
}
.color_contact {
  color: #7c6854 !important
}
.color_guide {
  color: #685746 !important
}
.color_guide_sub01 {
  color: #e2d0c1 !important
}
.color_guide_sub02 {
  color: #7c6854 !important
}
.border_e {
  border-color: #ef826d !important
}
.border_e_sub01 {
  border-color: #ea5547 !important
}
.border_e_sub02 {
  border-color: #fde9e2 !important
}
.border_jh {
  border-color: #f39627 !important
}
.border_jh_sub01 {
  border-color: #ed6f00 !important
}
.border_jh_sub02 {
  border-color: #fdead3 !important
}
.border_college {
  border-color: #1886c4 !important
}
.border_college_sub01 {
  border-color: #005dad !important
}
.border_college_sub02 {
  border-color: #daebf2 !important
}
.border_math {
  border-color: #0078b9 !important
}
.border_math_sub01 {
  border-color: #889ecc !important
}
.border_math_sub02 {
  border-color: #e8eef7 !important
}
.border_rika {
  border-color: #45b036 !important
}
.border_rika_sub01 {
  border-color: #a9c963 !important
}
.border_rika_sub02 {
  border-color: #f0f4d5 !important
}
.border_seikatsu {
  border-color: #ee791d !important
}
.border_seikatsu_sub01 {
  border-color: #f7a94b !important
}
.border_seikatsu_sub02 {
  border-color: #fdf0dd !important
}
.border_pe {
  border-color: #7d4798 !important
}
.border_pe_sub01 {
  border-color: #bba1cb !important
}
.border_pe_sub02 {
  border-color: #ede6f2 !important
}
.border_news {
  border-color: red !important
}
.border_pickup {
  border-color: #5a4a3f !important
}
.border_forum {
  border-color: #00a45e !important
}
.border_data {
  border-color: #a77aa5 !important
}
.border_kuraberu {
  border-color: #5d5283 !important
}
.border_textbook {
  border-color: #073190 !important
}
.border_digital {
  border-color: #008169 !important
}
.border_books {
  border-color: #5fbfb0 !important
}
.border_newbooks {
  border-color: #f18e1d !important
}
.border_other {
  border-color: #666 !important
}
.gray_border {
  border: 1px solid #bbb !important
}
.border_corporate {
  border-color: #e71f19 !important
}
.border_corporate_sub01 {
  border-color: #ea545d !important
}
.border_contact {
  border-color: #7c6854 !important
}
.border_guide {
  border-color: #685746 !important
}
.border_guide_sub01 {
  border-color: #e2d0c1 !important
}
.border_guide_sub02 {
  border-color: #7c6854 !important
}
.background_e {
  background-color: #ef826d !important
}
.background_e_sub01 {
  background-color: #ea5547 !important
}
.background_e_sub02 {
  background-color: #fde9e2 !important
}
.background_jh {
  background-color: #f39627 !important
}
.background_jh_sub01 {
  background-color: #ed6f00 !important
}
.background_jh_sub02 {
  background-color: #fdead3 !important
}
.background_college {
  background-color: #1886c4 !important
}
.background_college_sub01 {
  background-color: #005dad !important
}
.background_college_sub02 {
  background-color: #daebf2 !important
}
.background_math {
  background-color: #0078b9 !important
}
.background_math_sub01 {
  background-color: #889ecc !important
}
.background_math_sub02 {
  background-color: #e8eef7 !important
}
.background_rika {
  background-color: #45b036 !important
}
.background_rika_sub01 {
  background-color: #a9c963 !important
}
.background_rika_sub02 {
  background-color: #f0f4d5 !important
}
.background_seikatsu {
  background-color: #ee791d !important
}
.background_seikatsu_sub01 {
  background-color: #f7a94b !important
}
.background_seikatsu_sub02 {
  background-color: #fdf0dd !important
}
.background_pe {
  background-color: #7d4798 !important
}
.background_pe_sub01 {
  background-color: #bba1cb !important
}
.background_pe_sub02 {
  background-color: #ede6f2 !important
}
.background_news {
  background-color: red !important
}
.background_pickup {
  background-color: #5a4a3f !important
}
.background_forum {
  background-color: #00a45e !important
}
.background_data {
  background-color: #a77aa5 !important
}
.background_kuraberu {
  background-color: #5d5283 !important
}
.background_textbook {
  background-color: #073190 !important
}
.background_digital {
  background-color: #008169 !important
}
.background_books {
  background-color: #5fbfb0 !important
}
.background_newbooks {
  background-color: #f18e1d !important
}
.background_other {
  background-color: #666 !important
}
.background_corporate {
  background-color: #e71f19 !important
}
.background_corporate_sub01 {
  background-color: #ea545d !important
}
.background_contact {
  background-color: #7c6854 !important
}
.background_guide {
  background-color: #685746 !important
}
.background_guide_sub01 {
  background-color: #e2d0c1 !important
}
.background_guide_sub02 {
  background-color: #7c6854 !important
}
#header .slicknav_menu {
  display: none
}
#header .slicknav_spacer {
  display: none
}
@media only screen and (max-width:768px) {
  .logo, .slicknav_spacer .logo {
    width: 7%;
    margin: 0 1% 1% 2%;
    padding: 0
  }
  .slicknav_spacer.sp_only {
    display: block;
    width: 100%;
    visibility: hidden
  }
  #header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10002
  }
  #header .slicknav_menu {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 4.26vw
  }
  #header .slicknav_brand {
    position: relative;
    float: none;
    color: #fff;
    font-size: 1em;
    line-height: 1em;
    padding: 0;
    height: auto;
    background: #888;
    background: -moz-linear-gradient(top, #888 0, #444 50%, #000 100%);
    background: -webkit-linear-gradient(top, #888 0, #444 50%, #000 100%);
    background: linear-gradient(to bottom, #888 0, #444 50%, #000 100%)
  }
  #header .sp_header_title {
    display: inline-block;
    width: 78.5%;
    text-align: center;
    line-height: 11.73vw;
    height: 11.73vw;
    vertical-align: top
  }
  #header .sp_header_title h2 {
    display: inline-block;
    padding: 0;
    margin: 0;
    text-align: center;
    color: #fff;
    font-weight: 400;
    font-size: 1.92rem;
    font-size: 5.12vw;
    word-break: keep-all;
    white-space: nowrap
  }
  #header .bt_box {
    position: absolute;
    right: 1.8vw;
    top: 50%;
    height: 46%;
    transform: translateY(-50%);
    width: 6.5%
  }
  #header .slicknav_btn {
    margin: 0;
    padding: 0;
    border-radius: 0;
    text-shadow: none;
    background: 0 0;
    font-weight: 400;
    width: 100%;
    height: 100%
  }
  #header .slicknav_btn .slicknav_menutxt {
    float: none;
    text-shadow: none
  }
  #header .slicknav_btn .slicknav_menutxt img {
    width: 100%
  }
  #header .slicknav_nav {
    background: 0 0;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow: auto
  }
  #header .slicknav_nav li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border-top: solid 1px #fff
  }
  #header .slicknav_nav li a {
    position: relative;
    display: block;
    text-align: left;
    background-color: #ccc;
    margin: 0;
    padding: 1em 4.6rem 1em 1em;
    color: #555;
    font-size: 4.26vw;
    line-height: 1.25;
    text-decoration: none
  }
  #header .slicknav_nav a:hover {
    border-radius: 0
  }
  #header .slicknav_nav .active a {
    background-image: none;
    background-color: #6b93cc
  }
  #header .dn_closedSymbol, #header .dn_openedSymbol {
    position: absolute;
    display: inline-block;
    width: 5.33vw;
    height: 5.33vw;
    right: 5.33vw;
    border: 2px solid;
    transform: rotate(-45deg)
  }
  #header .dn_closedSymbol {
    top: 2.2vw;
    border-color: transparent transparent #555 #555
  }
  #header .dn_openedSymbol {
    bottom: 2.2vw;
    border-color: #fff #fff transparent transparent
  }
  #header .slicknav_nav li.slicknav_parent.slicknav_open a {
    background-color: #888 !important;
    color: #fff
  }
  #header ul li > ul {
    float: none;
    margin: 0
  }
  #header .slicknav_nav li.slicknav_parent.slicknav_open:nth-child(n) li {
    border-top: none;
    background: #eee !important
  }
  #header .slicknav_nav li.slicknav_parent.slicknav_open:nth-child(n) li a {
    width: 94%;
    margin: auto;
    background-color: #eee !important;
    color: #555;
    border-top: solid 1px #555;
    padding: 1em;
    line-height: 1.25em
  }
  #header .slicknav_nav li.slicknav_parent.slicknav_open:nth-child(n) li:nth-child(1) a {
    border-top: none !important
  }
  #header .slicknav_icon, #header .slicknav_icon span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box
  }
  #header .slicknav_icon {
    position: relative
  }
  #header .slicknav_menu .slicknav_icon-bar {
    position: absolute;
    left: 0;
    box-shadow: none;
    width: 100%
  }
  #header .slicknav_menu .slicknav_icon {
    height: 1em
  }
  #header .slicknav_icon span:nth-of-type(1) {
    top: 0
  }
  #header .slicknav_icon span:nth-of-type(2) {
    margin-top: calc((1em/2.25))
  }
  #header .slicknav_icon span:nth-of-type(3) {
    bottom: 0
  }
  #header .slicknav_open .slicknav_icon-bar:nth-of-type(1) {
    -webkit-transform: translateY(2.6vw) rotate(-45deg);
    transform: translateY(2.6vw) rotate(-45deg)
  }
  #header .slicknav_open .slicknav_icon-bar:nth-of-type(2) {
    opacity: 0
  }
  #header .slicknav_open .slicknav_icon-bar:nth-of-type(3) {
    -webkit-transform: translateY(-1.2vw) rotate(45deg);
    transform: translateY(-1.2vw) rotate(45deg)
  }
  #header .slicknav_menu .slicknav_icon {
    float: left;
    width: 100%
  }
  #header .slicknav_menu .slicknav_icon:before {
    background: 0 0;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    position: absolute
  }
}
@media only screen and (device-height:568px) {
  #header .sp_header_title {
    width: 77.5%
  }
  #header .bt_box {
    width: 7.5%
  }
}
#contents {
  width: 100%;
  min-width: 960px;
  overflow: hidden;
  margin-bottom: 30px;
  padding: 20px 0 0 0
}
@media only screen and (max-width:768px) {
  #contents {
    min-width: 94%;
    padding: 5% 0 0 0;
    margin-bottom: 0
  }
}
#footer {
  width: 100%;
  height: 30px;
  margin: 0 auto;
  background: #fff;
  position: absolute;
  bottom: 0;
  color: #999
}
#footerColumn {
  width: 960px;
  margin: 0 auto;
  padding-top: 10px;
  text-align: right;
  line-height: 1em;
  font-size: 10px;
  font-size: 1rem
}
* html #footerColumn {
  height: 1%
}
@media only screen and (max-width:768px) {
  #footer {
    width: 100%;
    min-height: auto;
    height: auto;
    margin: 0 auto;
    position: static
  }
  #footerColumn {
    width: 100%;
    margin: 0 auto;
    padding: 2% 0;
    text-align: center;
    line-height: 6vw;
    font-size: .9rem;
    font-size: 2.5vw
  }
  * html #footerColumn {
    height: 1%
  }
}
#topBtn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999
}
#topBtn {
  text-align: right
}
#topBtn a:hover {
  opacity: .4
}
.btn_pageTop {
  width: 72px
}
@media only screen and (max-width:768px) {
  #topBtn {
    bottom: 3%;
    right: 4%
  }
  #topBtn img.btn_pageTop {
    width: 45.5px;
    max-width: 100%
  }
  #topBtn a:hover {
    opacity: 1
  }
}
.mainText {
  font-size: 1.6rem;
  line-height: 1.75em
}
@media only screen and (max-width:768px) {
  .mainText {
    font-size: 1.6rem;
    font-size: 4.26vw
  }
}
@media only screen and (device-height:568px) {
  .mainText {
    font-size: 5vw
  }
}
#zoom-window {
  background: rgba(0, 0, 0, .8);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999
}
#zoom-wrapper {
  position: relative;
  top: 0;
  left: 0
}
#zoom-buttons {
  width: 100%;
  background: rgba(0, 0, 0, .4);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 9999
}
#zoom-buttons span {
  display: inline-block;
  width: 7.4rem;
  height: 7.4rem;
  background: no-repeat center center;
  background-size: 5.2rem;
  text-indent: -999em;
  cursor: pointer;
  overflow: hidden;
  margin: 0 1em 0 0
}
#zoom-buttons .zoom_in {
  background-image: url(/common/images/icon_zoom_in.png)
}
#zoom-buttons .zoom_out {
  background-image: url(/common/images/icon_zoom_out.png)
}
#zoom-buttons .zoom_close {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  background-image: url(/common/images/icon_close.png)
}
@media only screen and (max-width:768px) {
  #zoom-buttons span {
    width: 6.4rem;
    width: 17vw;
    height: 6.4rem;
    height: 17vw;
    background-size: 3.2rem;
    background-size: 8.53vw
  }
}
.icon_file {
  width: 3.2em;
  height: 3.5em
}
.icon_file_area {
  display: inline-block;
  text-align: center;
  position: relative;
  color: #fff;
  font-size: 1.1rem;
  line-height: normal;
  vertical-align: middle
}
.icon_file_area::before {
  content: "";
  width: 100%;
  display: inline-table;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%)
}
.icon_file_area.excel::before {
  content: "excel"
}
.excel .icon_file {
  fill: #388d39
}
.icon_file_area.pdf::before {
  content: "pdf"
}
.pdf .icon_file {
  fill: #e13972
}
.icon_file_area.word::before {
  content: "word"
}
.word .icon_file {
  fill: #2f67aa
}
.icon_file_area.zip::before {
  content: "zip"
}
.zip .icon_file {
  fill: #333
}
.icon_file_area.ichitaro::before {
  content: "一太郎"
}
.ichitaro .icon_file {
  fill: #d72518
}
.fileLink {
  vertical-align: middle;
  vertical-align: -webkit-baseline-middle;
  display: inline-block
}
.fileLink div {
  display: table-cell;
  vertical-align: middle
}
.fileLink_info {
  font-size: 1.1rem;
  line-height: normal;
  padding-left: 8px;
  vertical-align: middle
}
@media only screen and (max-width:768px) {
  .icon_file {
    width: 3.2em;
    height: 3em
  }
  .icon_file_area {
    font-size: 2.667vw
  }
  .fileLink_info {
    font-size: 2.93vw
  }
}
.caption {
  margin-top: 2rem
}
.caption dt {
  width: 1.5em;
  float: left
}
.caption dt.cap_longS {
  width: 2em;
  float: left
}
.caption dt.cap_long {
  width: 3em;
  float: left
}
.caption dt.cap_longL {
  width: 4em;
  float: left
}
.caption dd {
  line-height: 1.75em;
  overflow: hidden;
  zoom: 1;
  float: none
}
@media only screen and (max-width:768px) {
  .caption {
    margin-top: 5.33vw
  }
  .caption dt.cap_longS {
    width: 2.05em
  }
  .caption dt.cap_long {
    width: 3.15em
  }
  .caption dt.cap_longL {
    width: 4.25em
  }
}
.break_line {
  padding-bottom: 30px;
  margin-bottom: 30px !important;
  background-image: linear-gradient(to right, #5a4a3f, #5a4a3f 4px, transparent 1px, transparent 2px);
  background-size: 10px 1px;
  background-position: left bottom;
  background-repeat: repeat-x
}
@media screen and (min-width:0\0) and (min-resolution:.001dpcm) {
  .break_line {
    border-bottom: 1px dashed #5a4a3f
  }
}
@media only screen and (max-width:768px) {
  .break_line {
    padding-bottom: 8vw;
    margin-bottom: 8vw !important
  }
}
.strike_through {
  text-decoration: line-through
}