@charset "UTF-8";
/**
 * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
 * http://cssreset.com
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* -------------------------------------------------------------
基本設定
--------------------------------------------------------------*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"), local("YuGothic-Medium");                    }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold")  , local("YuGothic-Bold")  ; font-weight: bold; }

body {
  -webkit-text-size-adjust: 100%;
  font-family: helvetica, arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
  color: #000;
  background-color: #fff;
  font-size: 14px;
  font-size: 100%;
  line-height: 1.8;
}

a {
  color: #0096e0;
}

main {
  display: block;
}

/* -------------------------------------------------------------
PC
--------------------------------------------------------------*/
@media all and (min-width: 769px) {

  @viewport {
    width: 1200px !important;
  }
	
body{
	min-width: 1200px;
}
  /*　ヘッダー　*/
  .header {
    border-top: 5px solid #0098DF;
    width: 100%;
  }
.header_contents__01{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px;
}
.header_navi_wrap{
}
.header_navi_wrap>div{
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header_navi_wrap>div:first-child{
  margin-bottom: 10px;
}
.header_navi{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-right: 15px;
}
.header_navi li{
    position: relative;
    padding: 0 10px;
}
.header_navi li:after{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 1px;
  height: 14px;
  background-color: #333;
  transform: translateY(-50%);
}
.header_navi li:first-of-type:after{
  display: none;
}
.header_navi li a{
  color: #333;
  text-decoration: none;
}
.header_navi__english{
  margin-left: 15px;
  color: #333;
  text-decoration: none;
}
a.header_btn__01{
  position: relative;
  line-height: 24px;
  margin: 0 10px;
  padding: 4px 15px 4px 40px;
  color: #fff;
  background-color: #1560b1;
  text-decoration: none;
}
a.header_btn__01:hover{
  background-color: #0098df;
}
a.header_btn__01:after{
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  display: block;
  width: 18px;
  height: 18px;
  background: url(/img/common/header_mail.png) center no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
.header_btn__02{
  position: relative;
  line-height: 24px;
  margin: 0 10px;
  padding: 4px 15px 4px 40px;
  background-color: #f2f2f2;
  border: 1px solid #ddd;
  text-decoration: none;
  cursor: pointer;
}
.header_btn__02:hover{
  background-color: #e4eefa;
}
.header_btn__02:after{
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  display: block;
  width: 19px;
  height: 19px;
  background: url(/img/common/header_search.png) center no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
a.header_btn__enet{
  margin-left: 30px;
}
a.header_btn__enet:hover{
  opacity: 0.7;
}
a.header_btn__enet img{
  display: block;
  margin: 0;
}
.header_contents__02{
  position: relative;
  background-color: #0098df;
  overflow-x: hidden;
}
.header_contents__02:after{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: calc((100% - 1200px) / 2);
  background-color: #1786cb;
}
.header_contents__02 .header_contents__inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.header_contents__02 h2{
  position: relative;
  line-height: 30px;
  box-sizing: border-box;
  width: 100px;
  padding: 10px 0 10px 35px;
  white-space: nowrap;
  color: #fff;
  background-color: #1786cb;
  text-align: left;
  font-size: 18px;
  font-size: 128.57143%;
}
.header_contents__02 h2:after{
  content: "";
  position: absolute;
  top: 0;
  right: -14px;
  display: block;
  border-width: 25px 0 25px 14px;
  border-color: transparent transparent transparent #1786cb;
  border-style: solid;
  z-index: 1;
}
.header_contents__list{
  position: relative;
  display: flex;
  justify-content: stretch;
  align-items: center;
  width: calc(100% - 120px);
  padding-left: 14px;
}
.header_contents__02 .header_contents__list{
  background-color: #0098df;
}
.header_contents__list a{
  position: relative;
  width: 100%;
  flex: 1 1 auto;
  line-height: 30px;
  padding: 10px 20px;
  background-color: #0098df;
  color: #fff;
  border: none;
  border-radius: 0;
  text-decoration: none;
  white-space: nowrap;
  text-align: center;
  font-size: 16px;
  font-size: 114.28571%;
  font-family: helvetica, arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
  border-right: 1px solid rgba(0, 0, 0, 0.26);
  cursor: pointer;
}
.header_contents__list button{
  position: relative;
  width: 100%;
  flex: 1 1 auto;
  line-height: 30px;
  padding: 10px 20px;
  background-color: #0098df;
  color: #fff;
  border: none;
  border-radius: 0;
  text-decoration: none;
  white-space: nowrap;
  text-align: center;
  font-size: 16px;
  font-size: 114.28571%;
  font-family: helvetica, arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
  border-right: 1px solid rgba(0, 0, 0, 0.26);
  cursor: pointer;
}
.header_contents__list button.header_function__openlist--color2:before{
  background-color: #1560b1;
}
.header_contents__list button:after{
  content: "";
  position: absolute;
  bottom: 5px;
  left: 50%;
  display: block;
  visibility: hidden;
  width: 6px;
  height: 6px;
  border-right: 2px solid #1560b1;
  border-bottom: 2px solid #1560b1;
  transform: translateX(-50%) rotate(45deg);
  opacity: 0.3;
}
.header_contents__list button:hover{
  background-color: #e4eefa;
  color: #1560b1;
}
.header_contents__list button:hover:after{
  visibility: visible;
  bottom: 8px;
  opacity: 1;
}
.header_contents__list button.is--open:after{
  visibility: visible;
  opacity: 1;
  bottom: 2px;
  transform: translateX(-50%) rotate(-135deg);
}
.header_contents__list a:hover{
  background-color: #e4eefa;
  color: #1560b1;
}
.header_contents__list button.is--open{
  color: #1560b1;
  background-color: #e4eefa;
}
.header_contents__03{
  position: relative;
  background-color: #ffffff;
  border-bottom: 1px solid #cccccc;
  overflow-x: hidden;
}
.header_contents__03:after{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: calc((100% - 1200px) / 2);
  background-color: #e4eefa;
}
.header_contents__03 .header_contents__inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.header_contents__03 h2{
  position: relative;
  line-height: 30px;
  box-sizing: border-box;
  width: 100px;
  padding: 10px 0 10px 35px;
  white-space: nowrap;
  color: #333;
  background-color: #e4eefa;
  text-align: left;
  font-size: 18px;
  font-size: 128.57143%;
}
.header_contents__03 h2:after{
  content: "";
  position: absolute;
  top: 0;
  right: -14px;
  display: block;
  border-width: 25px 0 25px 14px;
  border-color: transparent transparent transparent #e4eefa;
  border-style: solid;
  z-index: 1;
}
.header_contents__03 .header_contents__list a , .header_contents__03 .header_contents__list button{
  background-color: #ffffff;
  color: #333333;
  border-right: 1px solid #cccccc;
}
.header_contents__03 .header_contents__list button{
  color: #333333;
}

.header_contents__03 .header_contents__list button:hover{
  background-color: #0078ba;
  color: #fff;
}
.header_contents__03 .header_contents__list a:hover{
  background-color: #0078ba;
  color: #fff;
}
.header_contents__03 .header_contents__list button.is--open{
  background-color: #0078ba;
  color: #fff;
}
.header_contents__03 .header_contents__list button:after{
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}





.subnavi{
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  transition: opacity 0.2s;
  opacity: 0;
}
.subnavi.is--open{
  visibility: visible;
  z-index: 999;
  opacity: 1;
}
.subnavi.is--select{
  visibility: visible;
  z-index: 999;
  opacity: 1;
}

.subnavi--c{
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  transition: opacity 0.2s;
  opacity: 0;
}
.subnavi--c.is--open{
  visibility: visible;
  z-index: 999;
  opacity: 1;
}










  .header__contents--1 {
    width: 100%;
    position: relative;
  }
  .header__contents--1:after {
    position: absolute;
    content: "";
	 left: 0;
    width: 100%;
    height: 4px;
    /*-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0 1px 3px;
    box-shadow: rgba(0, 0, 0, 0.3) 0 1px 3px;*/
    background-color: #0096e0;
    background: -webkit-gradient(linear, left top, right top, from(#0096e0), to(#124488));
    background: -webkit-linear-gradient(left, #0096e0 0%, #124488 100%);
    background: -o-linear-gradient(left, #0096e0 0%, #124488 100%);
    background: linear-gradient(left, #0096e0 0%, #124488 100%);
  }
  .header__contents--2 {
    width: 100%;
    border-bottom: solid 1px #ccc;
    position: relative;
  }
  .header__contents--3 {
    width: 100%;
    border-bottom: solid 1px #969696;
    position: relative;
  }
  .header__inner {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;

	/* 2018.5.7 固定 */
	width: 1200px;
  }
  .header__contents--1 .header__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	 font-size: 12px;
  }
  .header__contents--2 .header__inner {
    padding: 8px 0 4px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
  }
  .header__search--2 .header__inner {
    position: relative;
  }
  .header__contents--3 .header__inner {
    padding: 4px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .header__logo {
    width: 116px;
    height: 36px;
    margin-right: 10px;
  }
  .header__logo a {
    width: 116px;
    height: 36px;
    display: block;
    background: url(/img/common/img_logo.png) 0 0 no-repeat;
    background-size: contain;
    text-indent: -9999px;
  }
  .header__catch {
    color: #333;
    font-size: 14px;
    font-size: 100%;
    line-height: 1.2;
    /*font-family: "Yu Mincho Medium", "游明朝 Medium", YuMincho, "游明朝体";*/
    font-family: "Yu Mincho Demibold","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
    margin-right: 10px;
  }
  .header__navi ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .header_navi li a.is-active {
    position: relative;
  }
  .header_navi li a.is-active:before {
    position: absolute;
    content: "募集中";
    color: #fff;
    font-size: 12px;
    font-size: 85.71429%;
    text-align: center;
    background-color: #ff9100;
    width: 52px;
    height: 16px;
    line-height: 16px;
    top: -18px;
    left: 0;
  }

  .header__navi--large li:nth-child(1) {
    width: 298px;
  }
  .header__navi--large li:nth-child(1) a{
    color: #0096e0;
    font-size: 14px;
    font-size: 100%;
    font-weight: bold;
    text-decoration: none;
    background-color: #ffffff;
    border:1px solid #0096e0;
    display: block;
    border-radius: 17px;
    -webkit-border-radius: 17px;
    -moz-border-radius: 17px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
  }
  .header__navi--large li:nth-child(1) a:hover{
    color: #fff;
    background-color: #0096e0;
  }
  .header__navi--large li:nth-child(1) a.is-active{
    color: #fff;
    background-color: #0096e0;
  }
  .header__navi--support {
    width: 120px;
  }
  .header__navi--support a {
    display: block;
    padding: 3px 0 2px;
    line-height: 1.3;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border: solid 1px #0096e0;
    background-color: #0096e0;
    color: #fff;
    font-weight: bold;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
  }
  .header__navi--support a:hover {
    background-color: #fff;
    color: #0096e0;
  }
  .header__navi--support span {
    display: block;
  }
  .header__navi--4 {
    width: calc(100% - 438px);
    max-width: 760px;
    margin-right: 10px;
  }
  .header__navi--4 li {
    box-sizing: border-box;
    width: calc(100% / 3);
    border-right: solid 1px #ccc;
  }
  .header__navi--4 li:first-child {
    border-left: solid 1px #ccc;
  }
  .header__navi--4 li a {
    color: #000;
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    padding: 0;
    display: block;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .header__navi--4 li a:before {
    font-size: 20px;
    content: "●";
    margin-right: 5px;
  }
  .header__navi--4 li a:hover {
    color: #0096e0;
  }
  .header__navi--4 li.navi__item--sho a:before {
    color: #ffb300;
  }
  .header__navi--4 li.navi__item--chu a:before {
    color: #0277bd;
  }
  .header__navi--4 li.navi__item--kou a:before {
    color: #6a1b9a;
  }
  .subnavi--3__btns ul{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 30px 0 10px;
  }
  .subnavi--3__btns ul li{
    width: 520px;
    height: 90px;
    margin: 10px;
  }
  .subnavi--3__btns ul li a{
    font-size: 24px;
  }
  .header .subnavi__wrap {
    width: 100%;
    background-color: #e4eefa;
    padding: 10px 0 30px;
    border-bottom: solid 1px #ccc;
  }
  .header .subnavi__wrap--bg2{
    color: #fff;
    background-color: #0078ba;
  }
  .header .subnavi__inner {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;

	/* 2018.5.7 固定 */
	width: 1200px;
  }
  .header .subnavi__contents--1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .header .subnavi__title {
    font-size: 20px;
    font-size: 142.85714%;
    font-weight: bold;
    padding-left: 20px;
    position: relative;
  }
  .header .subnavi__title:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .header .subnavi__title--sho:before {
    background-color: #ffb300;
  }
  .header .subnavi__title--chu:before {
    background-color: #0277bd;
  }
  .header .subnavi__title--kou:before {
    background-color: #6a1b9a;
  }
  .header .subnavi__title--info a {
    color: #666;
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
    text-decoration: none;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .header .subnavi__title--info a:hover {
    color: #0096e0;
  }
  .header .subnavi__title--info:before {
    background-color: #666;
  }
  .header .subnavi__title--ict:before {
    background-color: #0096e0;
  }
  .header .subnavi .contents__school {
    margin-right: 44px;
    margin-bottom: 25px;
  }
  .header .subnavi .contents__school:last-child {
    margin-right: 0;
  }
  .header .subnavi .contents__subject--2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .header .subnavi .contents__subject .subject__list--1 {
    padding-left: 10px;
    margin-left: 10px;
    border-left: dotted 1px #ccc;
  }
  .header .subnavi .contents__subject .subject__list--2 {
    width: 270px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .header .subnavi .contents__subject .subject__list--2 li:nth-child(even) {
    margin-left: 10px;
  }
  .header .subnavi .contents__subject li {
    margin-bottom: 10px;
  }
  .header .subnavi .contents__subject li:last-child {
    margin-bottom: 0;
  }
  .header .subnavi .contents__subject li a {
    color: #000;
    font-size: 18px;
    font-size: 128.57143%;
    text-align: center;
    text-decoration: none;
    width: 130px;
    display: block;
    padding: 5px 0;
    border: solid 1px #ccc;
    background-color: #fff;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .header .subnavi .contents__subject li a:hover {
    color: #fff;
    background-color: #0096e0;
  }
  .header .subnavi .contents__ict .ict__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .header .subnavi .contents__ict li {
    margin-right: 10px;
    margin-bottom: 10px;
  }
  .header .subnavi .contents__ict li:last-child {
    margin-bottom: 0;
  }
  .header .subnavi .contents__ict li a {
    color: #000;
    font-size: 18px;
    font-size: 128.57143%;
    text-align: center;
    text-decoration: none;
    width: 270px;
    display: block;
    padding: 20px 0;
    border: solid 1px #ccc;
    background-color: #fff;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .header .subnavi .contents__ict li a:hover {
    color: #fff;
    background-color: #0096e0;
  }
   .fontsize {
    width: 120px;
    height: 34px;
    border-radius: 17px;
    -webkit-border-radius: 17px;
    -moz-border-radius: 17px;
    height: 34px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1px solid #cccccc;
  }
   .fontsize__btn {
    font-weight: bold;
    line-height: 34px;
    width: 50%;
    height: 34px;
    text-align: center;
    display: block;
    cursor: pointer;
  }
   .fontsize__btn--normal {
    font-size: 14px;
    font-size: 100%;
    border-radius: 17px 4px 4px 17px;
    -webkit-border-radius: 17px 4px 4px 17px;
    -moz-border-radius: 17px 4px 4px 17px;
  }
   .fontsize__btn--normal.is-active {
    color: #fff;
    background: #0098DF;
  }
   .fontsize__btn--large {
    font-size: 19px;
    font-size: 135.71429%;
    border-radius: 4px 17px 17px 4px;
    -webkit-border-radius: 4px 17px 17px 4px;
    -moz-border-radius: 4px 17px 17px 4px;
  }
   .fontsize__btn--large.is-active {
    color: #fff;
    background: #0098DF;
  }
  .header__search--2 {
    width: 100%;
    background-color: #0096e0;
    position: absolute;
    top: 0;
    left: 0;
    padding: 21px 0 7px;
  }
  .header__search--2.is-active {
    display: block;
	  z-index: 1;
  }
  .header__search .search__btn {
    width: 120px;
    height: 34px;
  }
  .header__search .search__btn a {
    color: #fff;
    font-size: 12px;
    font-size: 85.714%;
    font-weight: bold;
    text-decoration: none;
    background-color: #0096e0;
    display: block;
    border: solid 1px #0096e0;
    border-radius: 17px;
    -webkit-border-radius: 17px;
    -moz-border-radius: 17px;
    height: 34px;
	line-height: 34px;
	padding-left: 20px;
  background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .header__search .search__btn a:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_search.png) 0 0 no-repeat;
    width: 20px;
    height: 20px;
    top: calc(50% - 10px);
    left: 15px;
  }
  .header__search .search__btn a:hover {
    color: #0096e0;
    background-color: #fff;
  }
  .header__search .search__btn a:hover:before {
    background-image: url(/img/common/icn_search_b.png);
  }
  .header__search .search__form {
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .header__search .search__select {
    width: 157px;
    height: 40px;
    margin-right: 1px;
    overflow: hidden;
    position: relative;
  }
  .header__search .search__select:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 5px;
    background: url(/img/common/icn_arrow_3.png) 0 0 no-repeat;
    top: calc(50% - 1px);
    right: 10px;
  }
  .header__search .search__select select {
    width: 100%;
    height: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    margin: 0;
    padding: 0;
    padding-left: 20px;
    background: none transparent;
    background-color: #e5e7ed;
    vertical-align: middle;
    font-size: 14px;
    font-size: 100%;
    color: inherit;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    border-radius: 5px 0 0 5px;
    -webkit-border-radius: 5px 0 0 5px;
    -moz-border-radius: 5px 0 0 5px;
    cursor: pointer;
  }
  .header__search .search__input {
    margin-right: 1px;
  }
  .header__search .search__input input {
    font-size: 14px;
    font-size: 100%;
    margin: 0;
    padding: 0;
    background: none;
    background-color: #fff;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 530px;
    padding: 11px 20px 12px;
  }
  .header__search .search__submit {
    width: 60px;
    height: 42px;
    position: relative;
    cursor: pointer;
  }
/*  .header__search .search__submit:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_search.png) 0 0 no-repeat;
    width: 20px;
    height: 20px;
    top: calc(50% - 10px);
    left: calc(50% - 10px);
  }*/
  .header__search .search__submit:after{
  	content: none;
  }
  .header__search .search__submit input {
    margin: 0;
    padding: 0;
    background: none;
	 background: url(/img/common/icn_search.png) center no-repeat;
    background-color: #00527a;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 60px;
    height: 42px;
    padding: 11px 20px 12px;
    border-radius: 0 5px 5px 0;
    -webkit-border-radius: 0 5px 5px 0;
    -moz-border-radius: 0 5px 5px 0;
    text-indent: -9999px;
  }
  .header__search .search__submit input:hover {
    background-color: #2DB3F8;
  }
  .header__search .search__close {
    width: 34px;
    height: 34px;
    position: absolute;
    top: calc(50% - 17px);
    right: 0;
  }
  .header__search .search__close .close__btn {
    width: 34px;
    height: 34px;
  }
  .header__search .search__close .close__btn a {
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    background: url(/img/common/btn_search_close.png) 0 0 no-repeat;
    display: block;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .header__search .search__close .close__btn a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
	.header__search .header__search_info{
		text-align: center;
		color: #fff;
		font-weight: bold;
		padding: 8px 0;
	}
	.header__search .header__search_info a{
	color: #ffb300;
	}
  .sp_header {
    display: none;
  }
  .sp_header__contents {
    display: none;
  }
  /*　パンくずリスト　*/
  .breadcrumb {
    /* background-color: #616161; */
    background-color: #1460b1;
  }
  .breadcrumb__inner {
    max-width: 1200px;
    padding: 3px 0;
    margin: 0 auto;

	/* 2018.5.7 固定 */
	width: 1200px;
  }
  .breadcrumb ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 margin: 0;
  }
  .breadcrumb ul li {
    color: #fff;
    margin-left: 25px;
    margin-right: 20px;
    position: relative;
  }
  .breadcrumb ul li:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_6_w.png) 0 0 no-repeat;
    width: 5px;
    height: 9px;
    top: calc(50% - 5px);
    left: -25px;
  }
  .breadcrumb ul li:first-child {
    margin-left: 0;
  }
  .breadcrumb ul li:first-child:before {
    content: none;
  }
  .breadcrumb ul li a {
    color: #fff;
    /*font-size: 13px;*/
    text-decoration: none;
  }
  .breadcrumb ul li a:hover {
    text-decoration: underline;
  }
  /*　KV　*/
  .kv {
    width: 100%;
    /*background: url(/img/common/bg_kv.png) center bottom no-repeat;
    padding-bottom: 20px;*/
  }
  .kv__slider {
    padding: 0 0 10px;
	visibility: hidden;
  }
  .kv__slider.sp-horizontal{
	visibility: visible;
  }
  .kv__thumbnails {
    /* padding-top: 10px; */
  }
  .kv__thumbnails .sp-thumbnail-container {
/*	border: solid 1px #aaa;*/
    border: solid 2px #ffffff;
  }
  .kv__thumbnails .sp-thumbnail-container.sp-selected-thumbnail {
    border: solid 2px #0096e0;
  }
  .kv .sp-button {
    display: none;
  }
  .kv .sp-arrow {
	display: none;
  }
  .books__kv{
    width: 100%;
    padding-bottom: 20px;
   overflow: hidden;
  }
  .books__kv .topics__title{
  border-bottom: 0;
  }
  .books__kv .sp-thumbnail-container{
  width: 130px !important;
  height: 45px !important;
  }
  .books__kv .sp-bottom-thumbnails .sp-previous-thumbnail-arrow{
   left: 0;
  }
  .books__kv .kv__thumbnails{
  	height: 45px !important;
  }
  .books__kv .sp-bottom-thumbnails .sp-next-thumbnail-arrow{
   left: auto;
	right: 0;
  }
  .sp-thumbnails-container{
  overflow: visible;
  }
  .books__kv .sp-thumbnails-container{
  position: relative;
  width: 894px !important;
  padding-left: 50px;
  overflow: hidden;
  transform: translate3d(-50px, 0px, 0px);
  }
  .books__kv .sp-thumbnails-container:before{
  	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 50px;
	background-color: #fff;
	z-index: 100;
  }
  .books__kv .sp-thumbnails-container:after{
  	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 50px;
	background-color: #fff;
	z-index: 100;
  }
  .sp-previous-thumbnail-arrow , .sp-next-thumbnail-arrow{
  display: block !important;
  width: 35px;
  height: 35px;
  border: 1px solid #aaaaaa;
  background-color: #ffffff;
  z-index: 40;
  }
  .sp-bottom-thumbnails .sp-previous-thumbnail-arrow{
  left: -120px;
  }
  .sp-bottom-thumbnails .sp-next-thumbnail-arrow{
  left: -70px;
  }
  .sp-previous-thumbnail-arrow:before , .sp-previous-thumbnail-arrow:after , .sp-next-thumbnail-arrow:before , .sp-next-thumbnail-arrow:after {
  width: 5%;
  height: 25%;
  background-color: #aaaaaa;
  }
  .sp-previous-thumbnail-arrow:before , .sp-previous-thumbnail-arrow:after {
  left: 47.5%;
  }
  .sp-next-thumbnail-arrow:before , .sp-next-thumbnail-arrow:after {
  right: 47.5%;
  }
  .sp-previous-thumbnail-arrow:before , .sp-next-thumbnail-arrow:before {
  top: 25%;
  }
  /*　トップメッセージ　*/
  .home__massage{
   margin: 0 auto;
   text-align: center;
  	padding-bottom: 30px;
	background: url(/img/common/bg_kv.png) center bottom no-repeat;
  }
  .home__massage_alart{
    font-size: 24px;
    font-size: 128.57143%;
	  font-weight: bold;
	  color: #f00;
  }
   .home__massage_alart2 a{
    font-size: 20px;
    font-size: 142.85714%;
    font-weight: bold;
    display: block;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    padding: 2px;
    border: 2px solid #0096e0;
    box-sizing: border-box;
    box-shadow: 2px 2px 2px #aaa;
   text-decoration: none;
      transition: all 0.3s;
   }
   .home__massage_alart2 a:hover{
      background-color: #0096e0;
      color: #fff;
   }
   .home__massage_alart3 a{
    font-size: 20px;
    font-size: 142.85714%;
    font-weight: bold;
    display: block;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    padding: 2px;
    border: 2px solid #ee792c;
    color: #ee792c;
    box-sizing: border-box;
    box-shadow: 2px 2px 2px #aaa;
   text-decoration: none;
      transition: all 0.3s;
   }
   .home__massage_alart3 a:hover{
      background-color: #ee792c;
      color: #fff;
   }
  
.home__topics__wrap{
  position: relative;
  width: 1200px;
  margin: 10px auto 30px;
  padding: 120px 20px 30px;
  background-color: #E4EEFA;
  box-sizing: border-box;
}
.home__topics__wrap:before{
  content: "";
  display: block;
  width: calc(100% - 60px);
  height: 2px;
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #CEE2ED;
}
.home__topics__wrap:after{
  content: "TOPICS";
  display: block;
  position: absolute;
  top: 50px;
  line-height: 30px;
  left: 50%;
  transform: translateX(-50%);
  margin: auto;
  padding: 0 20px;
  text-align: center;
  font-size: 24px;
  color: #1560B1;
  background-color: #E4EEFA;
}
  .home__topics__area1{
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
  }
  .home__topics__area1.extend{
    flex-wrap: wrap;
  }
  .home__topics__area1 a{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
    width: 50%;
    min-height: 100px;
    padding: 20px;
    margin: 10px;
    background-image: url(/img/common/home_topics.svg);
    background-repeat: repeat;
    background-color: #0098DF;
    color: #fff;
    font-size: 20px;
    font-size: 142.85%;
    text-decoration: none;
    text-shadow: 2px 2px rgba(0 , 0 , 0 , 0.2);
    transition: transform 0.3s;
  }
  .home__topics__area1.extend a{
    width:calc(50% - 10px);
    margin: 0 0 15px;
  }
  .home__topics__area1 a:hover{
   transform: scale(1.02); 
  }
  .home__topics__area1 a:nth-of-type(2){
    background-color: #44B5E6;
  }
  .home__topics__area1 a:nth-of-type(3){
    background-color: #5fc3e8;
  }
  .home__topics__area1 a:nth-of-type(4){
    background-color: #44cde6;
  }
  .home__topics__area2{
    padding:10px;
  }
  .home__topics__area2 ul li{
    position: relative;
    padding-left: 30px;
    margin-bottom: 9px;
    color: #333333;
  }
  .home__topics__area2 ul li:before{
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background-color: #0098DF;
  }
  .home__topics__area2 ul li:after{
    content: "";
    position: absolute;
    left: 4px;
    top: 8px;
    display: block;
    width: 4px;
    height: 4px;
    border-style: solid;
    border-width: 2px;
    border-color: #fff #fff transparent transparent;
    transform: rotate(45deg);
  }
  .home__topics__area2 ul li a{
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
  }
  .home__topics__area2 ul li a:hover{
    color: #0098DF;
  }
.home__topics{
padding: 10px 0 0;
border: 1px solid #a9a9a9;
width: 1200px;
max-width: 100%;
margin: 0px auto 10px;
}
.home__topics--attention{
/*border: 2px solid #666666;*/
/*background-color: #fff9e5;*/
}
.home__topics--red{
}
.home__topics--red a{
/*text-decoration: none;*/
color: #f00;
}
.home__topics--saigai{
font-size: 20px;
padding: 10px 0 10px;
}
.home__topics--saigai a{
text-decoration: none;
color: #f00;
}
.home__topics--blue{
font-size: 14px;
padding: 1px 0 12px;
}
.home__topics>div{
position: relative;
width: 1200px;
max-width: 100%;
margin: 0 auto 10px;
padding-left: 25px;
text-align: left;
line-height: 25px;
box-sizing: border-box;
font-size: 17px;
}
.home__topics>div:before{
content: "";
position: absolute;
left: 8px;
top: calc(50% - 5px);
border-left: 9px solid #333;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
}
.home__topics>div a{
	text-decoration: none;
}
.home__topics--attention>div a{
/*	text-decoration: underline;*/
	color: #ff0000;
}
.home__topics--attention>div a:hover{
	font-weight: bold;
	color: #ff0000;
	background-color: #fffacd;
/*	text-decoration: underline;*/
}




  /*　メインコンテンツ枠　*/
  .main_contents {
    /*overflow: hidden;*/
  }
  .main_contents--top {
    padding: 30px 0 0;
    background-color: #DAEEF7;
  }
  .main_contents__inner {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;

	/* 2018.5.7 固定 */
	width: 1200px;
  }

  .customer_bg--blue{
    padding: 50px 0;
    background-color: #daeef7;
  }
  .customer_bg--gray{
    padding: 50px 0;
    background-color: #f8f8f8;
  }
  .main_contents__inner--col2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	 align-items: flex-start;
  }
  .main_contents__inner .main_col {
    width: 844px;
    margin-right: 20px;
  }
  .main_contents__inner .side_col {
    width: 300px;
	 }
	.juniorhighschool .main_contents__inner .side_col{
		position: sticky;
		top: 95px;
	}
	.elementaryschool .main_contents__inner .side_col{
		position: sticky;
		top: 95px;
	}
	.highschool .main_contents__inner .side_col{
		position: sticky;
		top: 95px;
	}
  /*　コンテンツ枠　*/
  .contents__special {
    max-width: 1200px;
    margin: 0 auto 30px;
  }
  .school .contents__special {
  	 margin: 0;
  }
  .contents__topics {
    max-width: 1176px;
    margin: 0 auto 10px;
  }
  .contents__topics2{
	 width: calc(100% - 356px);
    max-width: 844px;
    margin-right: 56px;
  }
  .contents__home_bottom{
  	overflow: hidden;
  	background-color: #f1f2f5;
  }
  .contents__home_bottom__inner {
    max-width: 1120px;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .contents_books__inner{
    width: 1200px;
	 max-width: 100%;
    margin: 30px auto 50px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	 flex-wrap: wrap;
  }
  .contents__info {
    width: 860px;
    background-color: #f8f8f8;
    padding-top: 50px;
    padding-right: 40px;
    padding-bottom: 60px;
    position: relative;
  }
  .contents__info:before {
    position: absolute;
    content: "";
    width: 1000px;
    height: 100%;
    background-color: #f8f8f8;
    top: 0;
    left: -1000px;
  }
  .contents__company_banner {
    /* height: 716px; */
    /*background: url(/img/home/bg_info.png) left center no-repeat #f1f2f5;*/
    /* background-color: #f1f2f5; */
    padding-top: 55px;
    padding-left: 40px;
    padding-bottom: 30px;
    /* margin-top: 40px; */
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
  }
  .contents__company_banner:after {
    position: absolute;
    content: "";
    width: 1000px;
    /* height: 716px; */
    background-color: #f1f2f5;
    top: 0;
    right: -1000px;
  }
  .contents__navi{
  	width: 300px;
  }
  .contents__navi_category{
  	width: 100%;
	box-sizing: border-box;
	background-color: #fafafa;
	padding: 0 20px 20px;
	border: 1px solid #eee;
	margin-bottom: 40px;
  }
  .navi_list_btn-fix{
  margin-bottom: 0 !important;
  }
  .contents__navi_category .navi_list{
   margin-top: -10px;
   background-color: #fff;
  }
  .contents__navi_category .navi_list a{
   text-decoration: none;
	color: #000;
  }
  .contents__navi_category .navi_list div{
   position: relative;
   height: 36px;
	line-height: 36px;
	padding-left: 30px;
   font-size: 16px;
   font-size: 114.28571%;
	font-weight: bold;
	border-bottom: 1px solid #eee;
	white-space: nowrap;
  }
  .contents__navi_category .navi_list a:first-child div{
	border-top: 1px solid #eee;
  }
  .contents__navi_category .navi_list div:before{
   content: "";
	display: inline-block;
	position: absolute;
	left: 12px;
	top: calc(50% - 6px);
	width: 0;
	height: 0;
	border: 6px solid #fff;
	border-left: 6px solid #000;
  }
  .contents__navi_category .navi_list div:hover{
   color: #0096e0;
  }
  .contents__navi_category .navi_list div:hover:before{
   border-left-color: #0096e0;
  }
  .contents__navi_category .navi_list div.navi-active{
  	color: #0096e0;
  }
  .contents__navi_category .navi_list div.navi-active:before{
  border-left-color: #0096e0;
  }
  .navi_list_btn{
   background-color: #fff;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 flex-wrap: wrap;
	 align-items: center;
	 padding:20px;
	border: 1px solid #eee;
	border-top: 0;
  }
  .navi_list_btn a{
  	text-decoration: none;
	color: #000;
  }
  .navi_list_btn .navi_list_btn-p{
   width: 50%;
	height: 60px;
	box-sizing: border-box;
   background-color: #f2f2f2;
	line-height: 60px;
	padding-left: 24px;
    font-size: 16px;
    font-size: 114.28571%;
	border-right: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
  }
  .navi_list_btn .navi_list_btn-e{
   width: 50%;
	height: 60px;
	box-sizing: border-box;
   background-color: #f2f2f2;
	line-height: 60px;
	padding-left: 24px;
    font-size: 16px;
    font-size: 114.28571%;
	border-bottom: 1px solid #cccccc;
  }
  .navi_list_btn .navi_list_btn-all{
   width: 100%;
	height: 60px;
	box-sizing: border-box;
   background-color: #f2f2f2;
	line-height: 60px;
	padding-left: 24px;
    font-size: 16px;
    font-size: 114.28571%;
  }
  .navi_list_btn .navi_list_btn-p:before{
   content: "";
	display: inline-block;
	position: absolute;
	width: 0;
	height: 0;
	border: 6px solid #f2f2f2;
	border-left: 6px solid #000;
	margin-top: 23px;
	margin-left: -14px;
  }
  .navi_list_btn .navi_list_btn-e:before{
   content: "";
	display: inline-block;
	position: absolute;
	width: 0;
	height: 0;
	border: 6px solid #f2f2f2;
	border-left: 6px solid #000;
	margin-top: 23px;
	margin-left: -14px;
  }
  .navi_list_btn .navi_list_btn-all:before{
   content: "";
	display: inline-block;
	position: absolute;
	width: 0;
	height: 0;
	border: 6px solid #f2f2f2;
	border-left: 6px solid #000;
	margin-top: 23px;
	margin-left: -14px;
  }
  .navi_list_btn .navi_list_btn-p:hover:before{
	border-left: 6px solid #0096e0;
  }
  .navi_list_btn .navi_list_btn-e:hover:before{
	border-left: 6px solid #0096e0;
  }
  .navi_list_btn .navi_list_btn-all:hover:before{
	border-left: 6px solid #0096e0;
  }
  .contents__navi_ranking{
  	width: 100%;
	position: relative;
	box-sizing: border-box;
	background-color: #fafafa;
	margin-top: 45px;
	padding: 0 0 20px;
  }
  .topics__info {
  	width: 100%;
	height: 2em;
	padding: 15px 0 5px 0;
	margin: 10px 0 0 0;
	border-top: 1px solid #cccccc;
	line-height: 2em;
  }
  .topics__info:after {
  	content: "";
	clear: both;
	display: block;
  }
  .topics__info .topics__info_date{
  	float: left;
  	width: 30%;
	color: #666666;
  }
  .topics__info .topics__info_cat{
  	float: right;
   padding: 0 3px;
	color: #666666;
	text-align: center;
	border: 1px solid #cccccc;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  .navi__header{
  position: relative;
  top: -20px;
  }
  .contents__navi_category .navi__header{
  position: relative;
  top: -20px;
  left: -20px;
  }
	.navi_ranking__term{
		text-align: center;
		margin-top: -15px;
		color: #666;
	font-weight: bold;
	}
	.books_ranking__term{
    font-size: 16px;
    font-size: 114.28571%;
	color: #666;
	font-weight: bold;
	}
  .navi_ranking{
  	display: block;
  	width: 260px;
	margin: 0 auto 20px;
	box-sizing: border-box;
	background-color: #ffffff;
	border: 1px solid #eeeeee;
	text-decoration: none;
	color: #000000;
  }
  .navi_ranking:hover{
	border: 1px solid #0096e0;
  }
  .ranking_number{
   background-color: #1565c0;
   width: 46px;
   height: 39px;
   text-align: center;
   line-height: 39px;
    font-size: 16px;
    font-size: 114.28571%;
   color: #ffffff;
  }
  .ranking_img{
  width: 100%;
  text-align: center;
  }
  .ranking_info{
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  }
  .ranking_info .ranking_title{
    font-size: 16px;
    font-size: 114.28571%;
	 margin-bottom: 20px;
  }
  .ranking_info .ranking_auther{
    font-size: 15px;
    font-size: 107.14286%;
	 margin-bottom: 10px;
  }
  .contents__books{
    width: 100%;
    padding-bottom: 20px;
  }
  /*　アイコン　*/
  .icn__cat {
    color: #fff;
    text-align: center;
    min-width: 117px;
    padding: 7px 10px;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 1;
    position: relative;
  }
  .icn__cat:after {
    position: absolute;
    content: "";
    top: 0;
    right: -10px;
    border-style: solid;
    border-width: 10px 5px;
  }
   .books__genba_wrap .icn__cat:after {
      display: none;
  }
  .icn__cat--00 {
    background-color: #ffb905;
  }
  .icn__cat--00:after {
    border-color: transparent transparent #b98500 #b98500;
  }
  .icn__cat--01 {
    background-color: #e2472a;
  }
  .icn__cat--01:after {
    border-color: transparent transparent #ae3720 #ae3720;
  }
  .icn__cat--02 {
    background-color: #ce7112;
  }
  .icn__cat--02:after {
    border-color: transparent transparent #94510d #94510d;
  }
  .icn__cat--03 {
    background-color: #a0c234;
  }
  .icn__cat--03:after {
    border-color: transparent transparent #7c9728 #7c9728;
  }
  .icn__cat--04 {
    background-color: #59b75b;
  }
  .icn__cat--04:after {
    border-color: transparent transparent #438b45 #438b45;
  }
  .icn__cat--05 {
    background-color: #3eb3a4;
  }
  .icn__cat--05:after {
    border-color: transparent transparent #308c80 #308c80;
  }
  .icn__cat--06 {
    background-color: #00b9ef;
  }
  .icn__cat--06:after {
    border-color: transparent transparent #028eb7 #028eb7;
  }
  .icn__cat--07 {
    background-color: #009dda;
  }
  .icn__cat--07:after {
    border-color: transparent transparent #016e98 #016e98;
  }
  .icn__cat--08 {
    background-color: #999;
  }
  .icn__cat--08:after {
    border-color: transparent transparent #777 #777;
  }
  .icn__cat--09 {
    background-color: #f08206;
  }
  .icn__cat--09:after {
    border-color: transparent transparent #c76c05 #c76c05;
  }
  .icn__cat--10 {
    background-color: #c76aa6;
  }
  .icn__cat--10:after {
    border-color: transparent transparent #95527d #95527d;
  }
  .icn__books-01{
  	background-color: #1565c0;
  }
  .icn__books-01:after {
    border-color: transparent transparent #0f4b8f #0f4b8f;
  }
  /*　特集コンテンツ　*/
  .special__container {
    max-width: 1120px;
    margin: 0 auto 50px;
  }
  .special__header {
    position: relative;
  }
  .special__cat {
    position: absolute;
    bottom: -23px;
  }
  .special__date {
    color: #777;
    font-size: 15px;
    font-size: 107.14286%;
    text-align: right;
  }
  .special__body {
    position: relative;
  }
  .special__img {
    width: 756px;
    height: 430px;
    z-index: 0;
  }
  .special__element {
    width: 425px;
    background: url(/img/home/bg_special.png) 0 0 repeat;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: calc(50% - (296px / 2));
    right: 0;
  }
  .special__element_inner {
    border: solid 1px #aaa;
    padding: 36px 20px;
  }
  .special__sub_title {
    font-size: 17px;
    font-size: 121.42857%;
    font-weight: bold;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .special__sub_title dd {
    color: #888;
  }
  .special__title {
    font-size: 26px;
    font-size: 185.71429%;
    font-family: "Yu Mincho Demibold","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
    border-bottom: solid 2px #000;
    margin-bottom: 20px;
  }
  .special__txt {
    margin-bottom: 10px;
  }
  .special__btn {
    width: 51px;
    height: 6px;
    float: right;
  }
  .special__btn a {
    text-indent: -9999px;
    background: url(/img/common/icn_arrow_4.png) 0 0 no-repeat;
    display: block;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .special__btn a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  /*　トピックス　*/
  .topics {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
  }
  .topics.is-hidden {
    display: none;
  }
  .topics__container {
    max-width: 1176px;
    margin: 0 auto 70px;
  }
  .topics a {
    text-decoration: none;
    display: block;
  }
  .topics--1 {
    width: 273px;
    margin-right: 5px;
    margin-left: 5px;
  }
  .topics--2 {
    width: 556px;
    margin-right: 5px;
    margin-left: 5px;
  }
  .topics__tab {
    margin-bottom: 30px;
  }
  .topics__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .topics__item {
    margin-left: 50px;
  }
  .topics__item a {
    color: #777;
    font-weight: bold;
    text-decoration: none;
    padding-bottom: 5px;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .topics__item a:hover {
    color: #000;
  }
  .topics__item a.is-active {
    color: #000;
    border-bottom: solid 2px #0096e0;
  }
  .topics__item:first-child {
    margin-left: 0;
  }
  .topics__wrap {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .topics__header {
    position: relative;
  }
  .topics__cat {
    position: absolute;
    bottom: -20px;
  }
  .topics__date {
    color: #777;
    font-size: 15px;
    font-size: 107.14286%;
    text-align: right;
  }
  .topics__new {
    color: #ff9100;
    display: inline-block;
    margin-right: 15px;
    position: relative;
  }
  .topics__new:after {
    color: #777;
    content: "|";
    right: -10px;
    position: absolute;
  }
  .catalog__new {
    color: #ff9100;
    display: inline-block;
    margin-right: 15px;
    position: relative;
  }
  .catalog__new:after {
    color: #777;
    content: "|";
    right: -10px;
    position: absolute;
  }
  .topics__body {
  background-color: #fff;
    padding: 10px;
    border: solid 1px #ddd;
  }
  .topics2__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border: solid 1px #ddd;
  }
  .books__topics2{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 flex-wrap: wrap;
  }
  .topics__img {
    height: 187px;
    overflow: hidden;
    position: relative;
    background-color: #f2f2f2;
  }
  .topics__img .video{
  		width: 100%;
		height: 100%;
  }
  .topics__img .video iframe{
  		width: 100%;
		height: calc(100% - 14px);
  }
  .school .topics--2 .topics__img {
    height: 230px;
    overflow: hidden;
    position: relative;
	 background-color: #f2f2f2;
  }
  .topics2__img {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 150px;
	 height: 264px;
	 margin-left: 40px;
    overflow: hidden;
  }
  .topics--1 .topics__img {
    max-width: 251px;
  }
  .topics--2 .topics__img {
    max-width: 534px;
  }
   .school .topics--2 .topics__img{
    max-width: 510px;
	}
  .topics--special .topics__img {
    /*height: 113px;*/
	 height: auto;
	 max-height: 187px;
    max-width: unset;
  }
  .topics--special > a{
  	height: calc(100% - 25px);
  }
  .topics--special .topics__body{
  	height: 100%;
  }
  .topics__img img {
    max-width: 100%;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    -o-transition: transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  }
  .topics__img img:hover {
/*	  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
      transform: scale(1.2);*/
    -webkit-transform: scale(1.07);
    -ms-transform: scale(1.07);
    transform: scale(1.07);
  }
  .topics__title {
    color: #000;
    font-size: 17px;
    font-size: 121.42857%;
    line-height: 1.5;
    height: 80px;
    padding: 10px 15px 0 5px;
    margin-bottom: 10px;
    border-bottom: solid 1px #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
  }
  .topics__title--book{
    height: 85px;
  }
  .contents__header--2 .topics__title{
  margin-bottom: 0;
  border-bottom: none;
  }
  .topics2__title{
    font-size: 17px;
    font-size: 121.42857%;
    line-height: 1.5;
    margin-bottom: 15px;
  }
  .topics__title dl dt {
    font-size: 15px;
    font-size: 107.14286%;
  }
  .topics__title:after {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_2.png) 0 0 no-repeat;
    width: 8px;
    height: 16px;
    top: calc(50% - 8px);
    right: 5px;
  }
  .topics__txt {
    color: #444;
    padding: 0 5px;
  }
  .topics2__txt{
  padding: 17px 45px 17px 17px;
  width: calc(100% - 150px);
  box-sizing: border-box;
  }
  .topics2__author{
    font-size: 15px;
    font-size: 107.14286%;
    margin-bottom: 10px;
  }
  .topics__link {
    text-align: right;
  }
  .books__topics2_banner{
  width: 320px;
  height: 266px;
  margin: 25px 0 25px 39px;
  }
  .books__topics2_banner img{
  border: solid 1px #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .books__list .contents--2{
    margin-bottom: 40px;
	 padding: 40px;
    background-color: #fff;
    border: solid 1px #eee;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 flex-wrap: wrap;

  }
  .books__list .contents--2 .contents__img{
	 width: 240px;
	 height: 300px;
	 margin-right: 40px;
	 box-sizing: border-box;
	 padding: 15px 0;
	 border: 1px solid #aaaaaa;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 justify-content: center;
  }
  .books__list .books__ranking .contents__img:hover{
 	border-color: #0096e0;
  }
  .books__list .contents--2 .contents__body{
    width: 482px;
  }
  .books__list .contents--2 .contents__body .contents__title{
   font-size: 18px;
   font-size: 128.57143%;
	font-weight: bold;
	margin: 0 0 0.8em;
  }
  .books__list .contents--2 .contents__body .contents__type-list{
	 font-weight: bold;
	margin: 0 0 0.8em;
  }
  .books__list .contents--2 .contents__body .contents__text{
	padding: 0 0 0.5em;
	margin-bottom: 0.5em;
	border-bottom: 1px solid #aaaaaa;
  }
  .books__list .contents--2 .contents__btn-shop{
	 width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 padding-top: 40px;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop{
 	 width: 50%;
	 min-width: 280px;
	 height: 60px;
	 box-sizing: border-box;
	 margin: 0 40px 0 0;
	 border: 1px solid #aaaaaa;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
	 text-decoration: none;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop:nth-child(2n){
  margin-right: 0;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop:hover{
    border-color: #0096e0;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop p{
    margin-left: 116px;
	 color: #000;
    font-size: 16px;
    font-size: 114.28571%;
	 font-weight: bold;
	 line-height: 60px;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop:hover p{
    color: #0096e0;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop-p:before{
    content: "";
    background: url(/img/books/img_p-book.png) center no-repeat;
	 background-color: #0096e0;
	 width: 100px;
    height: 58px;
    position: absolute;
    right: auto;
    border-radius: 2px 0 0 2px;
    -webkit-border-radius: 2px 0 0 2px;
    -moz-border-radius: 2px 0 0 2px;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop-e:before{
    content: "";
    background: url(/img/books/img_e-book.png) center no-repeat;
	 background-color: #0096e0;
	 width: 100px;
    height: 58px;
    position: absolute;
    right: auto;
    border-radius: 2px 0 0 2px;
    -webkit-border-radius: 2px 0 0 2px;
    -moz-border-radius: 2px 0 0 2px;
  }

  /*　トップボトムコンテンツ　*/
  .home_bottom__inner {
    max-width: 1120px;
    height: 795px;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	 }
  /*　お知らせ　*/
  .info {
    max-width: 820px;
    position: relative;
  }
  .info--top .info {
    max-width: 820px;
  }
  .info--col2 {
    width: 100%;
    margin-bottom: 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .info--col2--customer{
    justify-content: center;
  }
  .info--top .info__container {
    width: 860px;
    background-color: #f8f8f8;
    padding-top: 100px;
    padding-bottom: 100px;
    position: relative;
  }
  .info--top .info__container:before {
    position: absolute;
    content: "";
    width: 1000px;
    height: 796px;
    background-color: #f8f8f8;
    top: 0;
    left: -1000px;
  }
  .info--col2 .info__container {
    margin-right: 20px;
    max-width: 560px;
  }
  .info--col2 .info__container:last-child {
    margin-right: 0;
  }
  .info--col2--customer .info__container {
    width: 550px;
    max-width: 50%;
  }
  .info__title {
    color: #333;
    font-size: 20px;
    font-size: 142.85714%;
    /*font-family: "Yu Mincho Medium", "游明朝 Medium", YuMincho, "游明朝体";*/
    font-family: "Yu Mincho Demibold","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
    margin-bottom: 8px;
  }
  .info__tab {
    margin-bottom: 40px;
  }
  .info__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .info__item {
    margin-left: 20px;
  }
  .info__item a {
    color: #777;
    font-weight: bold;
    text-decoration: none;
    padding-bottom: 5px;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .info__item a:hover {
    color: #000;
  }
  .info__item a.is-active {
    color: #000;
    border-bottom: solid 3px #0096e0;
  }
  .info__item:first-child {
    margin-left: 0;
  }
  .info__wrap {
    background-color: #fff;
    padding: 0 8px;
    border-right: solid 1px #ddd;
    border-left: solid 1px #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .info__wrap--top {
    height: auto;
	 overflow: hidden;
  }
  .info__list_wrap{
  	 height: auto;
	 overflow: inherit;
	 margin: 20px 0;
	 padding: 10px;
	 border: solid 1px #ddd;
  }
  .info__wrap ul {
    border-top: dotted 1px #b2b2b2;
  }
  .info__cat {
    background-color: #fff;
    padding: 5px;
    border-bottom: dotted 1px #b2b2b2;
  }
  .info__list_wrap ul{
	 border-top: none;
  }
  .info__list_wrap ul li:last-of-type{
	 border-bottom: none;
  }
  .info__cat:nth-child(even) {
    background-color: #fcfcfc;
  }
  .info__cat.is-hidden {
    display: none;
  }
  .info__header {
    margin-bottom: 5px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .info__date {
    color: #888;
    margin-right: 10px;
  }
  .info__icn {
    color: #fff;
    font-size: 12px;
    font-size: 85.71429%;
    text-align: center;
    background-color: #124488;
    min-width: 50px;
    display: inline-block;
    padding: 0 10px;
    margin-right: 10px;
  }
  .info__icn--important {
    background-color: #ab010b;
  }
  .info__icn--new {
    background-color: #0096e0;
  }
  .info__body {
    color: #000;
    font-size: 16px;
    font-size: 114.28571%;
  }
  .info__body.info__detail {
    font-size: 14px;
    font-size: 100%;
  }
   .info__detail .info__files_wrapper{
      margin: 1em 0;
      font-size: 1.2em;
   }
   .info__detail .info__files_wrapper li{
      margin-left: 23px;
      list-style-type: disc;
      font-weight: 500;
   }
   .info__detail .info__files_wrapper li a:after{
      content: "";
      display: inline-block;
      width: 17px;
      height: 21px;
      margin-bottom: -4px;
      margin-left: 5px;
   }
   .info__detail .info__files_wrapper li.info__files_pdf a:after{
      background: url(/img/common/icn_pdf.png) center no-repeat;
      background-size: contain;
   }
   .info__detail .info__files_wrapper li.info__files_xls a:after{
      background: url("/img/common/icn_xls.png") center no-repeat;
      background-size: contain;
   }
   .info__detail .info__files_wrapper li.info__files_xlsx a:after{
      background: url("/img/common/icn_xlsx.png") center no-repeat;
      background-size: contain;
   }
   .info__detail .info__files_wrapper li.info__files_zip a:after{
      background: url("/img/common/icn_zip.png") center no-repeat;
      background-size: contain;
   }
   .info__detail .info__img_wrapper{
      display: flex;
      justify-content: center;
      align-items: flex-start;
      max-width: 100%;
      margin: 1em 0;
   }
   .info__detail .info__img_wrapper li{
      max-width: 240px;
      margin-right: 15px;
   }
   .info__detail .info__img_wrapper li:last-of-type{
      margin-right: 0;
   }
   .info__detail .info__img_wrapper li img{
      max-width: 100%;
      border: 1px solid #ccc;
   }
   .info__detail .info__img_wrapper li a:hover img{
      opacity: 0.7;
   }
  .info__body a {
    font-size: 14px;
    font-size: 100%;
    color: #124488;
    text-decoration: none;
  }
  .info__body a:hover {
    color: #0096e0;
  }
  .info__body h3 {
	  font-size:18px;
	  font-size:150%;
      font-weight: bold;
      margin:28px 0;
  }
  .info__detail__backbtn {
     display: flex;
	 justify-content:center;
  }
  .info__detail__backbtn a {
	width:100px;
	height:32px;
	background-color: #616161;
	border-radius: 25px;
	display: flex;
	justify-content: center;
	padding-top:8px;
	margin:20px 0 0;
	color:#ffffff;
	font-size:100%;
	text-decoration: none;
  }
  .info__detail__backbtn ahover {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-webkit-opacity: 0.7;
	opacity: 0.7;
  }

  .info__btn {
    width: 120px;
    position: absolute;
    top: 0;
    right: 0;
  }
  .info__btn a {
    color: #666;
    font-size: 13px;
    font-size: 92.85714%;
    line-height: 1;
    text-decoration: none;
    background-color: #fff;
    width: 100%;
    padding: 8px;
    border: solid 1px #ccc;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .info__btn a:hover {
    color: #0096e0;
  }
  .info__btn a:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_1_blue.png) 0 0 no-repeat;
    width: 5px;
    height: 10px;
    top: calc(50% - 5px);
    left: 10px;
  }
  /*　関連サイト　*/
  .company_banner {
    max-width: 260px;
  }
  .company_banner__container {
    height: 716px;
    background: url(/img/home/bg_info.png) left center no-repeat #f1f2f5;
    padding-top: 55px;
    padding-left: 40px;
    margin-top: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
  }
  .company_banner__container:after {
    position: absolute;
    content: "";
    width: 1000px;
    height: 716px;
    background-color: #f1f2f5;
    top: 0;
    right: -1000px;
  }
  .company_banner__title {
    color: #333;
    font-size: 20px;
    font-size: 142.85714%;
    font-family: "Yu Mincho Demibold","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
    margin-bottom: 5px;
  }
  .company_banner__item {
    width: 220px;
    height: 80px;
    margin-bottom: 10px;
  }
  .company_banner__item a {
    text-indent: -9999px;
    display: block;
    width: 100%;
    height: 100%;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .company_banner__item a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  .company_banner__item--01 a {
    background: url(/img/common/bnr_01.png) 0 0 no-repeat;
  }
  .company_banner__item--02 a {
    background: url(/img/common/bnr_02.png) 0 0 no-repeat;
  }
  .company_banner__item--03 a {
    background: url(/img/common/bnr_03.png) 0 0 no-repeat;
  }
  .company_banner__item--04 a {
    background: url(/img/common/bnr_04.png) 0 0 no-repeat;
  }
  .company_banner__item--05 a {
    background: url(/img/common/bnr_05.png) 0 0 no-repeat;
  }
  .company_banner__item--06 a {
    background: url(/img/common/bnr_06.png) 0 0 no-repeat;
  }
  .company_banner__item--07 a {
    background: url(/img/common/bnr_07.png) 0 0 no-repeat;
  }
  .company_banner__item--08 a {
    background: url(/img/common/bnr_08.png) 0 0 no-repeat;
  }
  /*　フッター　*/
  .footer__inner {
    max-width: 1200px;
    margin: 0 auto;

	/* 2018.5.7 固定 */
	width: 1200px;
  }
  .footer__contents--1 .footer__inner {
    padding: 60px 0 45px;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .footer__contents--2 .footer__inner {
    padding: 10px 0 50px;
  }
  .footer__link_list {
    width: 600px;
  }
  .footer__link_list .link_list__title {
    color: #333;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .footer__link_list .link_list__wrap {
    -webkit-column-count: 2;
    column-count: 2;
  }
  .footer__link_list .link_list__wrap .link_list__block{
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .footer__link_list .link_list__wrap ul {
    padding-bottom: 10px;
	 padding-left: 1em;
    margin-bottom: 10px;
    border-bottom: dotted 1px #999;
  }
  .footer__link_list .link_list__wrap ul:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
  }
  .footer__link_list .link_list__wrap a {
    display: inline-block;
    color: #333;
    text-decoration: none;
    padding-left: 10px;
    position: relative;
  }
  .footer__link_list .link_list__wrap a:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_1_black.png) 0 0 no-repeat;
    width: 4px;
    height: 10px;
    top: calc(50% - 5px);
    left: 0;
  }
  .footer__link_list .link_list__wrap a[target="_blank"]:after {
    position: absolute;
    content: "";
    background: url(/img/common/icn_window.png) 0 0 no-repeat;
    width: 14px;
    height: 10px;
    top: calc(50% - 5px);
    right: -20px;
  }
  .footer__link_list .link_list__title a:before{
    content: none;
	}
  .footer__link_list .link_list__wrap a:hover {
    color: #0096e0;
  }
  .footer__banner {
    margin-right: 80px;
  }
  .footer__banner .banner__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .footer__banner .banner__item {
    width: 105px;
    height: 102px;
  }
  .footer__banner .banner__item a {
    text-indent: -9999px;
    display: block;
    width: 100%;
    height: 100%;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .footer__banner .banner__item a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  .footer__banner .banner__item--01 {
    margin-right: 10px;
  }
  .footer__banner .banner__item--01 a {
    background: url(/img/common/icn_privacy.png) 0 0 no-repeat;
  }
  .footer__banner .banner__item--02 a {
    background: url(/img/common/icn_verisign.png) 0 0 no-repeat;
  }
  .footer .pagetop__btn {
    width: 21px;
    height: 90px;
    position: absolute;
    top: 68px;
    right: 0;
  }
  .footer .pagetop__btn a {
    text-indent: -9999px;
    background: url(/img/common/btn_pagetop.png) 0 0 no-repeat;
    display: block;
    width: 100%;
    height: 100%;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .footer .pagetop__btn a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  .footer .copyright {
    color: #888;
    text-align: right;
    display: block;
  }  /*　ページタイトル　*/
  .page_title {
    width: 100%;
  }
  .page_title--1 {
    background: url(/img/common/bg_kv.png) center bottom no-repeat;
    padding-bottom: 20px;
  }
  .page_title--2 {
    margin-bottom: 10px;
  }
  .page_title--1 .page_title__inner {
    max-width: 1200px;
    height: 120px;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;

	/* 2018.5.7 固定 */
	width: 1200px;
  }
  .page_title--1 .page_title__inner--school {
    background: url(/img/elementaryschool/img_kv.png) right center no-repeat;
	 background-size: contain;
  }
  body.teisei .page_title--1 .page_title__inner--school {
  height: 50px;
    background: none !important;
  }
  body.teisei .page_title--1 .page_title__title{
    font-size: 33px;
    line-height: 35px;
  }
  .page_title--2 .page_title__inner {
    max-width: 1200px;
    margin: 0 auto;

	/* 2018.5.7 固定 */
	width: 1200px;
  }
  .page_title--1 .page_title__title {
    font-size: 38px;
    font-size: 271.42857%;
    font-family: "Yu Mincho Demibold","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
  }
  .page_title--2 .page_title__title {
    font-size: 21px;
    font-size: 150%;
    font-weight: bold;
	  line-height: 25px;
  }
  .page_title__title--sho {
    margin-left: 40px;
    position: relative;
  }
  .page_title__title--sho:before {
    position: absolute;
    content: "";
    background-color: #ffb300;
    width: 25px;
    height: 3px;
    top: calc(50% - 2px);
    left: -40px;
  }
  .page_title__title--chu {
    margin-left: 40px;
    position: relative;
  }
  .page_title__title--chu:before {
    position: absolute;
    content: "";
    background-color: #0277bd;
    width: 25px;
    height: 3px;
    top: calc(50% - 2px);
    left: -40px;
  }
  .page_title__title--kou {
    margin-left: 40px;
    position: relative;
  }
  .page_title__title--kou:before {
    position: absolute;
    content: "";
    background-color: #6a1b9a;
    width: 25px;
    height: 3px;
    top: calc(50% - 2px);
    left: -40px;
  }
  /*　ボタン　*/
  .btns {
    margin-bottom: 15px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
	.btns__container{
		padding: 10px 0;
	}
  .btns__item {
    width: 100%;
    margin-left: 30px;
  }
  .btns__item:first-child {
    margin-left: 0;
  }
  .btns__item--1 a {
    background-color: #1b5189;
  }
  .btns__item--2 a {
    background-color: #0096e0;
  }
  .btns__item a {
    color: #fff;
    font-size: 20px;
    font-size: 142.85714%;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    width: 100%;
	 line-height: 20px;
    padding: 10px;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .btns__item--sub{
    font-size: 14px;
	 line-height: 14px;
  }
  .btns__item--outlink{
  	 position: relative;
  }
  .btns__item--outlink:after{
    content: "";
	 display: block;
	 position: absolute;
	 width: 14px;
	 height: 10px;
	 background: url(/img/common/icn_window2.png) center no-repeat;
	 right: -20px;
	 top: calc(50% - 5px);
  }
  .btns__item a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  /*　小学校トップ　*/
  .school {
    margin-bottom: 25px;
  }
  .page__header {
    margin-bottom: 30px;
  }
  .school__header {
    margin-bottom: 10px;
  }
  .school__title {
    font-size: 23px;
    font-size: 164.28571%;
    font-weight: bold;
    background: url(/img/common/icn_ttl_01.png) left center no-repeat #f8f8f8;
    padding: 0 5px 0 35px;
	 line-height: 40px;
  }
  .school .contents {
    border: solid 1px #aaa;
  }
  .contents__list{
  	width: 100%;
	margin-bottom: 25px;
	border: solid 1px #eee;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .contents__list_img{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 justify-content: center;
	 align-items: center;
	 margin: 20px;
  }
  .contents__list_icns{
  	position: absolute;
	top: 0;
	right: 0;
  }

  .school .contents__header {
    padding: 15px 25px 20px;
  }
  .school .contents__header--1 {
    background-color: #3eb3a4;
    position: relative;
  }
  .school .contents__header--1 .contents__title {
    color: #fff;
  }
  .school .contents__header--2 {
    background-color: #f6f6f6;
    padding: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .school .contents__header--2 .topics--1 {
    width: 250px;
    margin: 0 0 5px;
  }
  .school .contents__header--2 .topics__body {
    border: none;
  }
  .school .contents__header--2 .topics__img {
    max-width: 230px;
    height: 151px;
  }
  .school .contents__header--2 .topics__img:after {
    width: 94%;
  }
  .school .contents__header--2 .book {
    background-color: #fff;
    width: 546px;
    padding: 19px;
    margin: 4px;
    border: solid 1px #aaa;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .school .contents__header--2 .book a {
    color: #000;
    text-decoration: none;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .school .contents__header--2 .book__img {
    width: 198px;
    height: 280px;
    margin-right: 20px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
    box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
    overflow: hidden;
    position: relative;
  }
  .school .contents__header--2 .book__img img {
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    -o-transition: transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  }
  .school .contents__header--2 .book__img img:hover {
/*	  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
      transform: scale(1.2);*/
    -webkit-transform: scale(1.07);
    -ms-transform: scale(1.07);
    transform: scale(1.07);
  }
  .school .contents__header--2 .book__body {
    width: calc((100% - 20px) - 198px);
  }
  .school .contents__header--2 .book__title {
    font-size: 21px;
    font-size: 150%;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 0.5em;
  }
  .school .contents__header--2 .book__author {
    margin-bottom: 1em;
  }
  .school .contents__header--2 .book__detail {
    *zoom: 1;
  }
  .school .contents__header--2 .book__detail:before {
    content: " ";
    display: table;
  }
  .school .contents__header--2 .book__detail:after {
    content: " ";
    display: table;
    clear: both;
  }
  .school .contents__header--2 .book__detail dt {
    float: left;
  }
  .school .contents__header--2 .book__detail dt:after {
    content: "：";
  }
  .school .contents__title {
    font-size: 20px;
    font-size: 142.85714%;
    font-weight: bold;
	  line-height: 22px;
	  margin-bottom: 5px;
  }
  .school .contents__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    border: none;
    margin: 0;
  }
  .school .contents__list li {
    width: 185px;
    height: 55px;
    margin: 3px;
    float: left;
  }
  .school .contents__list li a {
    color: #000;
    font-size: 20px;
    font-size: 142.85714%;
    text-decoration: none;
    background-color: #fff;
    display: block;
    width: 100%;
    height: 100%;
    line-height: 22px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school .contents__list li a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  .school .contents__link {
    font-size: 18px;
    font-size: 128.57143%;
    position: absolute;
    top: 10px;
    right: 40px;
  }
  .school .contents__link:before {
    content: url(/img/common/icn_arrow_1_white.png);
    margin-right: 5px;
  }
  .school .contents__link a {
    color: #fff;
    text-decoration: none;
  }
  .school .contents__link a:hover {
    text-decoration: underline;
  }
  .school .contents__body {
    padding: 10px 25px;
    position: relative;
  }
  .school .contents__special {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	  margin: auto;
  }
  .school .contents__special .topics--1 {
    margin: 0;
    margin-right: 5px;
    float: left;
  }
  .school .contents__special .topics--1:last-child {
    margin-right: 0;
  }
  .school .contents__special .topics--2 {
    margin: 0;
    max-width: 532px;
    float: left;
  }
  .school .contents__btn {
    width: 120px;
    position: absolute;
    top: 8px;
    right: 15px;
  }
  .school .contents__btn a {
    color: #666;
    font-size: 13px;
    font-size: 92.85714%;
    line-height: 1;
    text-decoration: none;
    background-color: #fff;
    width: 100%;
    padding: 8px;
    border: solid 1px #ccc;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .school .contents__btn a:hover {
    color: #0096e0;
    border: solid 1px #0096e0;
  }
  .school .contents__btn a:before {
    position: absolute;
    content: "";
    width: 5px;
    height: 10px;
    top: calc(50% - 5px);
    left: 10px;
  }
  .school .contents__btn--02 a:before {
    background: url(/img/common/icn_arrow_1_orange.png) 0 0 no-repeat;
  }
  .school .contents__btn--03 a:before {
    background: url(/img/common/icn_arrow_1_bright_green.png) 0 0 no-repeat;
  }
  .school .contents__btn--05 a:before {
    background: url(/img/common/icn_arrow_1_green.png) 0 0 no-repeat;
  }
  .school .contents__btn--07 a:before {
    background: url(/img/common/icn_arrow_1_bright_blue.png) 0 0 no-repeat;
  }
  /*　教科書詳細ヘッダーナビ　*/
  .school_header {
    margin-bottom: 10px;
	 background-color: #fff;
  }
  .teisei .school_header{
    margin-bottom: 3px;
  }
  .page_header__contents--1 {
    border-bottom: solid 1px #ddd;
  }
  .school_header__contents--1 {
    border-bottom: solid 1px #ddd;
  }
  .page_header__inner {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;

	/* 2018.5.7 固定 */
	width: 1200px;
  }
  .school_header__inner {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;

	/* 2018.5.7 固定 */
	width: 1200px;
  }
  .page_header__contents--1 .page_header__inner {
    height: 80px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .school_header__contents--1 .school_header__inner {
    height: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .page_header__contents--2 .page_header__inner {
    padding: 15px 0;
  }
  .school_header__contents--2 .school_header__inner {
    padding: 5px 0 10px;
  }
  .page_header__title {
    font-size: 21px;
    font-size: 150%;
    font-weight: bold;
  }
  .school_header__title {
    font-size: 18px;
    font-size: 130%;
    font-weight: bold;
  }
  .school_header__btns ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .school_header__btn {
    width: 142px;
    height: 30px;
    margin-left: 20px;
  }
  .school_header__btn a {
    color: #000;
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
    text-decoration: none;
    width: 100%;
    height: 100%;
	 box-sizing: border-box;
    display: block;
    border: solid 1px #ddd;
    background-color: #fff;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school_header__btn a:before {
    font-size: 20px;
    content: "●";
    margin-right: 5px;
  }
  .school_header__btn--sho a:before {
    color: #ffb300;
  }
  .school_header__btn--sho a:hover {
    color: #ffb300;
    border: solid 1px #ffb300;
  }
  .school_header__btn--chu a:before {
    color: #0277bd;
  }
  .school_header__btn--chu a:hover {
    color: #0277bd;
    border: solid 1px #0277bd;
  }
  .school_header__btn--kou a:before {
    color: #6a1b9a;
  }
  .school_header__btn--kou a:hover {
    color: #6a1b9a;
    border: solid 1px #6a1b9a;
  }
  .school_header__navi {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .school_header__navi--sho .is-active:after {
    background-color: #ffb300;
  }
  .school_header__navi--chu .is-active:after {
    background-color: #0277bd;
  }
  .school_header__navi--kou .is-active:after {
    background-color: #6a1b9a;
  }
  .school_header__navi--sho li {
    width: calc((100% - 14px) / 12);
    height: 30px;
    border-right: solid 1px #ccc;
  }
  .school_header__navi--chu li {
    width: calc((100% - 13px) / 11);
    height: 30px;
    border-right: solid 1px #ccc;
  }
  .school_header__navi--kou li {
    width: calc((100% - 11px) / 8);
    height: 30px;
    border-right: solid 1px #ccc;
  }
  .school_header__navi li:first-child {
    border-left: solid 1px #ccc;
  }
  .school_header__navi li a {
    color: #666;
    font-size: 15px;
    font-size: 107.14286%;
    font-weight: bold;
    line-height: 1.2;
    text-decoration: none;
    width: 100%;
    height: 100%;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school_header__navi li a:hover {
    color: #000;
  }
  .school_header__navi li.is-active {
    position: relative;
  }
  .school_header__navi li.is-active:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 3px;
    left: 0;
    bottom: -10px;
  }
  .school_header__navi li.is-active a {
    color: #000;
  }
  /*　小学校詳細　*/
  .school_detail {
    margin-bottom: 25px;
  }
  .school_detail__header {
    margin-bottom: 5px;
  }
  .school_detail__title {
    font-size: 18px;
    font-size: 128.5714%;
    font-weight: bold;
    background: url(/img/common/icn_ttl_01.png) left center no-repeat #f8f8f8;
    padding: 0 5px;
    padding-left: 35px;
  }
	.textbook--accordion{
		position: relative;
		width: 30px;
		height: 30px;
		background-color: #bdbdbd;
		top: -36px;
		margin-left: auto;
		margin-right: 0;
		margin-bottom: -30px;
		cursor: pointer;
	}
	.textbook--accordion:hover{
		background-color: #dddddd;
	}
	.textbook--accordion:after{
		content: "";
		position: absolute;
		top: 5px;
		right: 0;
		bottom: 0;
		left: 0;
		width: 10px;
		height: 10px;
		margin: auto;
		border-top: 2px solid #666;
		border-left: 2px solid #666;
		transform: rotate(45deg);
		transition: all 0.3s;
	}
	.textbook--accordion.is--open:after{
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 5px;
		left: 0;
		width: 10px;
		height: 10px;
		margin: auto;
		border-top: 2px solid #666;
		border-left: 2px solid #666;
		transform: rotate(225deg);
		transition: all 0.3s;
	}
  .school_detail__body {
  	 width: 100%;
    margin-bottom: 10px;
  }
  .school_detail__body--2 {
  	 box-sizing: border-box;
    background-color: #fcfcfc;
    padding: 10px;
    border: solid 1px #eee;
  }
	.school_detail__freecontents{
		margin-bottom: 15px;
	}
	.school_detail__freecontents table th{
		padding: 5px;
		border: 1px solid #000;
	}
	.school_detail__freecontents table td{
		padding: 5px;
		border: 1px solid #000;
	}
	.school_detail__freecontents img{
		max-width: 100%;
	}
  .school__search_list .school_detail__body--2 {
  	background-color: #ffffff;
	padding: 0;
	border: none;
  }
  .school_detail__body a {
	  width: 100%;
    color: #000;
    text-decoration: none;
  }
  .school_detail__body a:hover .contents--1 .contents__header {
    border: solid 1px #0096e0;
	 border-bottom: none;
  }
  .school_detail__body a:hover .contents--1 .contents__body {
    border: solid 1px #0096e0;
	 border-top: none;
  }
  .school_detail__body a:hover .contents--2 {
    border: solid 1px #0096e0;
  }
  .school_detail__body a:hover .contents--3 {
    border: solid 1px #0096e0;
  }
  .school_detail__body .contents--1 .contents__header {
    padding: 15px 40px;
    border: solid 1px #eee;
    border-bottom: none;
    position: relative;
  }
  .school_detail__body .contents--1 .contents__header:before {
    position: absolute;
    content: "";
    width: calc(100% - 80px);
    height: 1px;
    background-color: #ccc;
    left: 40px;
    bottom: 0;
  }
  .school_detail__body .contents--1 .contents__header:after {
    position: absolute;
    content: "";
    width: calc((100% - 80px) / 2);
    height: 3px;
    background-color: #ffb300;
    left: 40px;
    bottom: -1px;
  }
  body.juniorhighschool .school_detail__body .contents--1 .contents__header:after{
    background-color: #0277bd;
  }
  .separate_linefix{
  	padding-top: 1em;
	padding-bottom: calc(1em + 3px);
  }
  .school_detail__body .contents--separate .separate_linefix:before {
    position: absolute;
    content: "";
    width: calc(100% - 80px);
    height: 1px;
    background-color: #ccc;
    left: 40px;
  }
  .school_detail__body .contents--separate .separate_linefix:after {
    position: absolute;
    content: "";
    width: calc((100% - 80px) / 2);
    height: 3px;
    background-color: #ffb300;
    left: 40px;
  }
  body.highschool .school_detail__body .contents--1 .contents__header:after {
    background-color: #6a1b9a;
  }
  body.highschool .school_detail__body .contents--separate .separate_linefix:after {
    background-color: #6a1b9a;
  }
  /* 2018.6.19 */
  body.juniorhighschool .school_detail__body .contents--1 .contents__header:after {
    background-color: #0277bd;
  }
  body.juniorhighschool .school_detail__body .contents--separate .separate_linefix:after {
    background-color: #0277bd;
  }

  .school_detail__body .contents--separate .contents__header:before {
    content: none;
  }
  .school_detail__body .contents--separate .contents__header:after {
    content: none;
  }

  .school_detail__body .contents--1 .contents__body {
    background-color: #fcfcfc;
    padding: 15px 40px;
    border: solid 1px #eee;
    border-top: none;
  }
  .school_detail__body .contents--1 .contents__bottom {
    width: 100%;
    color: #666;
    padding: 10px 20px;
    border: solid 1px #eee;
    border-top: none;
  }
  .school_detail__body .contents--1 .contents__title {
    font-size: 21px;
    font-size: 150%;
  }
  .school_detail__body .contents--2 {
	  box-sizing: border-box;
	  width: 100%;
    padding: 10px 40px;
	  margin-bottom: 3px;
    background-color: #fff;
    border: solid 1px #eee;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .books__detail__contents_list .school_detail__body .contents--2 {
  	 padding-top: 0;
	 border-top: none;
  }
   .books__detail .books__files_wrapper{
      margin: 1em 0;
      font-size: 1.2em;
   }
   .books__detail .books__files_wrapper li{
      margin-left: 23px;
      list-style-type: disc;
      font-weight: 500;
   }
   .books__detail .books__files_wrapper li a:after{
      content: "";
      display: inline-block;
      width: 17px;
      height: 21px;
      margin-bottom: -4px;
      margin-left: 5px;
   }
   .books__detail .books__files_wrapper li.books__files_pdf a:after{
      background: url(/img/common/icn_pdf.png) center no-repeat;
      background-size: contain;
   }
   .books__detail .books__files_wrapper li.books__files_xls a:after{
      background: url("/img/common/icn_xls.png") center no-repeat;
      background-size: contain;
   }
   .books__detail .books__files_wrapper li.books__files_xlsx a:after{
      background: url("/img/common/icn_xlsx.png") center no-repeat;
      background-size: contain;
   }
   .books__detail .books__files_wrapper li.books__files_zip a:after{
      background: url("/img/common/icn_zip.png") center no-repeat;
      background-size: contain;
   }
  .school__search_list .school_detail__body .contents--2 {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
  }
  .school_detail__body .contents--2 .contents__img {
    margin-right: 25px;
  }
  .school_detail__body .contents--2 .contents__img img{
	  max-width: 110px;
	 border: 1px solid #cccccc;
  }
  .school_detail__body .contents--2 .contents__movie{
    margin-right: 25px;
  }
  .school_detail__body .contents--2 .contents__title {
    font-size: 18px;
    font-size: 128.57143%;
  }
  .school_detail__body .contents--2 .contents__body {
  	 position: relative;
    max-width: 480px;
	 width: 100%;
  }
  .school__search_list .school_detail__body .contents--2 .contents__body {
  	max-width: 840px;
  }
  .school_detail__body .contents--2 .contents__type {
    padding-bottom: 20px;
    margin-bottom: 20px;
    position: relative;
  }
  .school_detail__body .contents--3 {
  	 height: 100%;
	 box-sizing: border-box;
    padding: 10px;
    background-color: #fff;
    border: solid 1px #eee;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .school_detail__body .contents--3 .contents__img {
  	 width: 33%;
    margin-right: 15px;
  }
  .school_detail__body .contents--3 .contents__img img{
	 display: block;
  	 max-width: 100%;
	 border: 1px solid #cccccc;
  }
  .school_detail__body .contents--3 .contents__title {
    font-size: 16px;
    font-size: 114.285714%;
  }
  .school_detail__body .contents--3 .contents__body {
    max-width: 300px;
	 width: 100%;
  }
  .school_detail__body .contents--3 .contents__type {
    padding-bottom: 20px;
    margin-bottom: 20px;
    position: relative;
  }

  .school_detail__body .contents--2 .contents__type-list{
  	 color: #666;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  .school_detail__body .contents--3 .contents__type-list{
  	 color: #666;
  }
  .school_detail__body .contents--2 .contents__type:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #ccc;
    left: 0;
    bottom: 0;
  }
  .school_detail__body .contents--2 .contents__type:after {
    position: absolute;
    content: "";
    width: 50%;
    height: 3px;
    background-color: #ffb300;
    left: 0;
    bottom: -1px;
  }
  body.juniorhighschool .school_detail__body .contents--2 .contents__type:after{
    background-color: #0277bd;
  }
  .school_detail__body--chu .contents--2 .contents__type:after {
    background-color: #0277bd;
  }
  .school_detail__body--kou .contents--2 .contents__type:after {
    background-color: #6a1b9a;
  }
  .school_detail__body .contents--separate{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 flex-wrap: wrap;
	 flex-direction : row-reverse;
  }
  .school_detail__body .contents--separate .contents__header{
    width: calc(100% - 400px);
	 box-sizing: border-box;
    border: solid 1px #eee;
    border-left: none;
  }
  .school_detail__body .contents--separate .contents__body{
    width: 400px;
	 box-sizing: border-box;
    border: solid 1px #eee;
    border-right: none;
  }
  .school_detail__body .contents--separate .contents__title{
    margin-bottom: 18px;
  }
  .school_detail__body .contents__icns--1 {
    position: absolute;
    top: 40px;
    right: 40px;
  }
  .school_detail__body .contents--2 .contents__icns--1 {
  	top: 10px;
	right: 0;
  }
  .school_detail__body .contents__icns--1 .contents__icn {
    color: #fff;
    font-weight: bold;
    height: 25px;
	  padding: 0 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .price_table__icn--new{
    color: #fff;
    font-weight: bold;
    width: 25px;
    height: 50px;
    background-color: #e53935;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .price_table__icn--renew{
    color: #fff;
    font-weight: bold;
    width: 25px;
    height: 50px;
    background-color: #00bfa5;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .list__icn_wrap:after{
  	 content: "";
	 display: block;
	 clear: both;
  }
  .list__icn_new{
  	 float: left;
    color: #fff;
    font-weight: bold;
    height: 25px;
	  padding: 0 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	 background-color: #e53935;
	 border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .list__icn_renew{
  	 float: left;
    color: #fff;
    font-weight: bold;
    height: 25px;
	  padding: 0 10px;
	 margin-right: 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	 background-color: #00bfa5;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .list__icn_shin{
  	 float: left;
    color: #fff;
    font-weight: bold;
    height: 25px;
	  padding: 0 10px;
	 margin-right: 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	 background-color: #335dc8;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .list__icn_kyuu{
  	 float: left;
    color: #fff;
    font-weight: bold;
    height: 25px;
	  padding: 0 10px;
	 margin-right: 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	 background-color: #ba863e;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .school_detail__body .contents__icns--2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
  .school_detail__body .contents--2 .contents__icns--2 {
  	margin-bottom: 0;
  }
  .school_detail__body .contents__icns--2 .contents__icn {
    font-size: 12px;
    font-size: 85.71429%;
    min-width: 62px;
    height: 25px;
	  padding: 0 10px;
	 box-sizing: border-box;
    margin-right: 10px;
	 padding: 0 3px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .school_detail__body .contents__icns--2 .contents__icn:last-child {
    margin-right: 0;
  }
  .school_detail__body .contents__icn--new {
    background-color: #e53935;
  }
  .school_detail__body .contents__icn--renew {
    background-color: #00bfa5;
  }
  .school_detail__body .contents__icn--shin {
    background-color: #335dc8;
  }
  .school_detail__body .contents__icn--kyuu {
    background-color: #ba863e;
  }
  .school_detail__body .contents__icn--sho {
    color: #ffb300;
    border: solid 1px #ffb300;
  }
  .school_detail__body .contents__icn--chu {
    color: #0277bd;
    border: solid 1px #0277bd;
  }
  .school_detail__body .contents__icn--kou {
    color: #6a1b9a;
    border: solid 1px #6a1b9a;
  }
  .school_detail__body .contents__icn--subject {
    color: #444;
    border: solid 1px #aaa;
  }
  .school_detail__body .contents__icn--use {
    color: #fff;
	 font-weight: bold;
    border: solid 1px #1e88e5;
    background-color: #1e88e5;
  }
  .school_detail__body .contents__icn--conformance {
    color: #fff;
    background-color: #094;
    border: solid 1px #094;
  }
  .school_detail__body .contents__years {
    color: #666;
    font-weight: bold;
    margin-bottom: 5px;
  }
  .school_detail__body .contents__icns + .contents__years{
    margin-right: 65px;
  }
  .school_detail__body .contents__icns + .contents__years + .contents__title{
    margin-right: 65px;
  }
  .school_detail__body .contents__title {
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 5px;
  }
  .school_detail__body .contents__type {
    color: #666;
    margin-bottom: 10px;
  }
  .school_detail__body .contents__text {
    font-size: 13px;
    font-size: 92.85714%;
  }
  .school_detail__body .contents__notice {
    color: #666;
  }
  .school_detail__body .contents__books {
    width: unset;
  	 box-sizing: border-box;
    background-color: #fff;
    padding: 20px;
    border: solid 1px #eee;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .school_detail__body .contents__mainbook {
        width: 100%;
        max-width: 680px;
  }
  .school_detail__body .contents__mainbook img {
    width: 100%;
    height: auto;
	  border: 1px solid #eee;
	  /*
    -webkit-box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
    box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
	  */
  }
  .school_detail__body .contents__subimg__wrap {
    width: unset;
  	 box-sizing: border-box;
    background-color: #fff;
    margin-top: 20px;
    padding: 20px;
    border: solid 1px #eee;
    border-radius: 4px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
  }
  .school_detail__body .contents__subimg {
        width: 100%;
        max-width: 86px;
        margin: 0 3px 3px;
  }
  .school_detail__body .contents__subimg img {
    display: block;
    width: 100%;
    height: auto;
	  border: 1px solid #eee;
  }
  .school_detail__body .contents__book_tns {
    max-width: 413px;
    padding-top: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .school_detail__body .contents__book_tn {
    width: 97px;
    height: 137px;
    margin-left: 5px;
    margin-bottom: 5px;
  }
  .school_detail__body .contents__book_tn img {
    width: 100%;
    height: auto;
  }
  .school_detail__body .contents__icn_wrap{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	 justify-content: flex-start;
	 margin-top: 1em;

  }
  .school_detail__body .contents__icn_wrap img:nth-of-type(2n){
	margin-bottom: 1em;
  }
  .school_detail__body .contents__icn_wrap img:nth-of-type(2n+1){
  	margin-right: 1em;
	margin-bottom: 1em;
  }
  .school_list__wrap{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 flex-wrap: wrap;
  }
  .school_list__wrap .school_list__box{
  	margin-bottom: 10px;
   width: 100%;
	box-sizing: border-box;
  }
  .school_list__wrap .school_list__box:last-child{
  	margin-bottom: 0;
  }
  .school_list__wrap .school_list__box2{
   width: calc(50% - 5px);
	box-sizing: border-box;
  }
  .school_list__wrap .school_list__box2:nth-child(2n){
  	margin-bottom: 10px;
  }
  .school_list__wrap .school_list__box2:nth-child(2n-1){
  margin-right: 10px;
  margin-bottom: 10px
  }
  .school_list__wrap .school_list__box2:nth-child(2n-1):nth-last-child(2){
  	margin-bottom: 0;
  }
  .school_list__wrap .school_list__box2:last-child{
  	margin-bottom: 0;
  }
  .school_detail__btns--1 {
    margin-bottom: 10px;
  }
  .school_detail__btns--1 .btn__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .school_detail__btns--1 .btn__item {
 	 width: 374px;
	 height: 134px;
    margin-right: 20px;
  }
  .school_detail__btns--1 .btn__item:last-child {
    margin-right: 0;
  }
  .school_detail__btns--1 .btn__item a {
    border: solid 1px #ccc;
    display: block;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school_detail__btns--1 .btn__item a:hover {
    border: solid 1px #0096e0;
  }

  .school_detail__btns--1 .btn__item--large {
 	 width: 768px;
    margin-right: 0;
	 text-align: center;
  }
  .school_detail__btns--1 .btn__item--large a {
    display: block;
	 height: 65px;
	 line-height: 124px;
    border: solid 1px #ccc;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school_detail__btns--1 .btn__item--large a:hover {
    border: solid 1px #0096e0;
  }
  .school_detail__btns--1 .btn__item--large a div{
    display: inline-block;
	 margin-top: 5px;
	 line-height: normal;
	 vertical-align: top;
	 text-align: left;
  }
  .school_detail__btns--1 .btn__item--large a div h5{
  	font-size: 21px;
	font-size: 150%;
	font-weight: bold;
	text-decoration: none;
	color: #000000;
  }
  .school_detail__btns--1 .btn__item--large a div p{
	font-weight: 500;
	text-decoration: none;
	color: #000000;
  }
  .school_detail__btns--1 .btn__item--large2 {
 	 width: 768px;
	 height: auto;
    margin-right: 0;
	 text-align: center;
  }
  .school_detail__btns--1 .btn__item--large2 a {
    display: block;
	 height: 42px;
	 line-height: 60px;
    border: solid 1px #ccc;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school_detail__btns--1 .btn__item--large2 a:hover {
    border: solid 1px #0096e0;
  }
  .school_detail__btns--1 .btn__item--large2 a div{
    display: inline-block;
	 margin-top: 5px;
	 line-height: normal;
	 vertical-align: top;
	 text-align: left;
  }
  .school_detail__btns--1 .btn__item--large2 a div h5{
  	font-size: 21px;
	font-size: 150%;
	font-weight: bold;
	text-decoration: none;
	color: #000000;
  }
  .school_detail__btns--1 .btn__item--large2 a div p{
	font-weight: 500;
	text-decoration: none;
	color: #000000;
  }
  .school_detail__btns--2 {
    background-color: #fcfcfc;
    padding: 10px 62px;
    border: solid 1px #eee;
    margin-bottom: 50px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  .school_detail__btns--2 .btn__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .school_detail__btns--2 .btn__item {
    margin-top: 10px;
    margin-right: 10px;
  }
  .school_detail__btns--2 .btn__item:nth-child(3n) {
    margin-right: 0;
  }
  .school_detail__btns--2 .btn__item:nth-child(-n + 3) {
    margin-top: 0;
  }
  .school_detail__btns--2 .btn__item a {
    border: solid 1px #ccc;
    display: block;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school_detail__btns--2 .btn__item a:hover {
    border: solid 1px #0096e0;
  }
	.school_detail__btns--2 .btn__item a img{
		vertical-align: middle;
	}
  .school_detail__freecontents .freecontents__title {
    font-weight: bold;
  }
  .school_detail__subtitle {
    font-size: 17px;
    font-size: 121.42857%;
    font-weight: bold;
    margin-bottom: 5px;
    line-height: 25px;
  }
  .school_difficulty {
	position: relative;
  }
  .school_difficulty table{
	width: 100%;
  	border: 1px solid #dddddd;
	margin: 2em 0;
  }
  .school_difficulty table th{
   width: calc(100% / 4);
	height: 30px;
	line-height: 30px;
	font-weight: bold;
  	border: 1px solid #dddddd;
	background-color: #f6f6f6;
  }
  .school_difficulty table td{
	height: 40px;
  	border: 1px solid #dddddd;
  }
  .school_difficulty .difficulty_bar{
	display: inline-block;
  	height: 10px;
	background-color: #333333;
	position: absolute;
	top: 47px;
  }
  .school_info__table h4{
   font-size: 18px;
   font-size: 128.57143%;
	font-weight: bold;
  }
  .school_info__table h5{
   font-size: 16px;
   font-size: 114.28571%;
	font-weight: bold;
  }
  .school_info__table table{
   width: 100%;
  	border: 1px solid #000000;
  }
  .school_info__table th{
   padding: 0.5em;
   text-align: center;
	white-space: nowrap;
  	border: 1px solid #000000;
  }
  .school_info__table td{
   padding: 0.5em;
   text-align: center;
  	border: 1px solid #000000;
  }
  .school_info__table td:nth-of-type(2){
   text-align: left;
  }
  .school_info__table td a{
  	color: #0096e0;
	text-decoration: underline;
  }
  .school_detail__body--sho .difficulty_bar{
   background-color: #ffb300;
  }
  .school_detail__body--chu .difficulty_bar{
   background-color: #0277bd;
  }
  .school_detail__body--kou .difficulty_bar{
  	background-color: #6a1b9a;
  }
  /*　サイドコンテンツ　*/
  .side_contents > div {
    margin-bottom: 5px;
  }
  .side_contents .side_school {
    border: solid 1px #ddd;
  }
  .side_contents .side_school__header {
    padding: 7px 22px;
	 line-height: 22px;
    border-bottom: solid 1px #ddd;
    position: relative;
  }
  .side_contents .side_school__header:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .side_contents .side_school__header--sho:before {
    background-color: #ffb300;
  }
  .side_contents .side_school__header--chu:before {
    background-color: #0277bd;
  }
  .side_contents .side_school__header--kou:before {
    background-color: #6a1b9a;
  }
  .side_contents .side_school__title {
    font-size: 17px;
    font-size: 121.42857%;
    font-weight: bold;
    position: relative;
  }
  .side_contents .side_school__body {
    padding-bottom: 5px;
  }
  .side_contents .side_school__subtitle {
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
    padding: 5px 22px;
    padding-bottom: 0;
  }
  .side_contents .side_school__cat {
		font-weight: bold;
		padding: 5px 22px 0;
		margin-bottom: 5px;
		line-height: 15px;
  }
  .side_contents .side_school__cat a{
	  text-decoration: none;
	  color: #000;
	  display: inline-block;
	  width: calc(100% - 20px);
  }
  .side_contents .side_school__cat a:hover{
	  text-decoration: underline;
  }
  .side_contents .side_school__cat:before {
    content: "";
    margin-right: 5px;
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #000;
  }
  .side_contents .side_school__cat--sho:before {
    background-color: #ffb300;
  }
  .side_contents .side_school__cat--chu:before {
    background-color: #0277bd;
  }
  .side_contents .side_school__cat--kou:before {
    background-color: #6a1b9a;
  }
  .side_contents .side_school__list {
    padding: 0 10px 0;
  }
  .side_contents .side_school__list dt {
	position: relative;
	font-weight: bold;
	line-height: 21px;
	padding: 0;
	margin: 0px 10px 5px 29px;
	border-bottom: 1px solid #ddd;
  }
 /*
	.side_contents .side_school__list dt:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_6_g_down.png) 0 0 no-repeat;
    width: 9px;
    height: 5px;
    top: calc(50% - 3px);
    left: 24px;
  }
*/
  .side_contents .side_school__list dt a{
	  text-decoration: none;
	  color: #000;
	  display: block;
  }
  .side_contents .side_school__list dt a:hover{
	  text-decoration: underline;
  }
  .side_contents .side_school__list dd a {
    color: #000;
    text-decoration: none;
    width: 100%;
    display: block;
	  padding: 2px 12px 2px 53px;
    line-height: 18px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
  }
  .side_contents .side_school__list dd a:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_6_g.png) 0 0 no-repeat;
    width: 5px;
    height: 9px;
    top: calc(50% - 5px);
    left: 64px;
  }
  .side_contents .side_school__list dd a:hover {
    background-color: #f8f8f8;
  }
  .side_contents .side_btn {
    border: solid 1px #ddd;
  }
  .side_contents .side_btn a {
    color: #666;
    font-size: 17px;
    font-size: 121.42857%;
    font-weight: bold;
    text-decoration: none;
    padding: 7px 22px;
    display: block;
    position: relative;
	  line-height: 22px;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
	.side_school__list .textbook--accordion{
	width: 21px;
	height: 21px;
	top: -26px;
	margin-left: 7px;
	margin-bottom: -22px;
	background-color: #fff;
	}
	.side_school__list .textbook--accordion:after{
	top: 3px;
	width: 6px;
    height: 6px;
	}
	.side_school__list .textbook--accordion.is--open:after{
	bottom: 3px;
	width: 6px;
    height: 6px;
	}
  .side_contents .side_btn span.side_ttl {
    color: #666;
    font-size: 17px;
    font-size: 121.42857%;
    font-weight: bold;
    text-decoration: none;
    padding: 7px 22px;
    display: block;
    position: relative;
	  line-height: 22px;
  }
  .side_contents .side_btn a:after {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_6_g.png) 0 0 no-repeat;
    width: 5px;
    height: 9px;
    top: calc(50% - 5px);
    right: 22px;
  }
  .side_contents .side_btn a:hover {
    color: #0096e0;
  }
  .side_contents .side_btn a.no_link:hover {
    color: #666666;
  }
  .side_contents .side_btn--sho a {
    color: #000;
    position: relative;
  }
  .side_contents .side_btn--sho a:before {
    position: absolute;
    content: "";
    background-color: #ffb300;
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .side_contents .side_btn--chu a {
    color: #000;
    position: relative;
  }
  .side_contents .side_btn--chu a:before {
    position: absolute;
    content: "";
    background-color: #0277bd;
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .side_contents .side_btn--kou a {
    color: #000;
    position: relative;
  }
  .side_contents .side_btn--kou a:before {
    position: absolute;
    content: "";
    background-color: #6a1b9a;
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .side_contents .side_btn--other a {
    color: #666666;
    position: relative;
  }
  .side_contents .side_btn--other a:before {
    position: absolute;
    content: "";
    background-color: #666666;
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .side_contents .side_btn--other span.side_ttl {
    color: #666666;
    position: relative;
  }
  .side_contents .side_btn--other span.side_ttl:before {
    position: absolute;
    content: "";
    background-color: #666666;
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  /*　bxslider　*/
  .bxslider{
  	 margin: 0;
	 padding: 0;
  }
  .bxslider .topics--1{
  	 margin: 0;
  }
  .scroll-fixed{
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
    transform: translate3d(0,0,0);
  }
  .scroll-fixed + .main_contents{
  	margin-top: 121px;
  }
  body.teisei .scroll-fixed + .main_contents{
  	margin-top: 44px;
  }
  body.teiseinaiyou .scroll-fixed + .main_contents{
  	margin-top: 44px;
  }
.books_slider_link{
	position: absolute;
	top: -36px;
	right: 0;
}
.books_slider_link a{
   color: #666;
   font-size: 13px;
   font-size: 92.85714%;
   line-height: 1;
   text-decoration: none;
   background-color: #fff;
   width: 100%;
   padding: 8px 8px 8px 22px;
   border: solid 1px #ccc;
   display: block;
   display: -webkit-box;
   display: -webkit-flex;
   display: -ms-flexbox;
   display: flex;
   -webkit-justify-content: center;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
   -webkit-align-items: center;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   position: relative;
   border-radius: 4px;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
}
.books_slider_link a:before{
   position: absolute;
   content: "";
   background: url(/img/common/icn_arrow_1_blue.png) 0 0 no-repeat;
   width: 5px;
   height: 10px;
   top: calc(50% - 5px);
   left: 10px;
}
.books_slider_link .books_slider_link__side{
	text-decoration: none;
}
.books__info_outlink{
	margin: 3em 0;
}
.books__info_outlink>div:first-of-type{
	padding-bottom: 2em;
	margin-bottom: 2em;
	border-bottom: 1px solid #aaaaaa;
}
.books__info_col2{
	width: 50%;
	min-width: 300px;
}
.books__info_col2 h3{
	color: #555555;
   font-size: 18px;
   font-size: 128.57143%;
	font-weight: bold;
	line-height: 36px;
}
.books__info_col2 ul li{
	position: relative;
	padding-left: 20px;
}
.books__info_col2 ul li:before{
	content: "";
	position: absolute;
	top: 13px;
	left: 0;
	width: 8px;
	height: 8px;
	border: 1px solid rgba(0,0,0,0);
	border-top-color: #888888;
	border-right-color: #888888;
	position: absolute;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}
.books__info_col2 ul li a{
	position: relative;
	color: #666666;
	line-height: 36px;
	text-decoration: none;
	white-space: nowrap;
}
.books__info_col2 ul li a:after{
	content: "";
	width: 14px;
	height: 10px;
	position: absolute;
	right: -20px;
	top: 3px;
	background: url(/img/common/icn_window.png) center no-repeat;
	background-size: contain;
}
.side_contents .side_btn--other .side_btn__books_link{
	 font-weight: bold;
    padding: 0 22px 0 39px;
    position: relative;
	 color: #000000;
    font-size: 16px;
    font-size: 114.28571%;
	 margin-bottom: 1em;
}
.side_contents .side_btn--other .side_btn__books_link:before{
	 position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_6_g_down.png) 0 0 no-repeat;
    width: 9px;
    height: 5px;
    top: calc(50% - 3px);
    left: 24px;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
.books__list .books__ranking{
	position: relative;
}
.books__list .books__ranking:after{
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
}
.books__list .books__ranking--1:after{
	content: url(/img/books/icon_ranking_01.png);
}
.books__list .books__ranking--2:after{
	content: url(/img/books/icon_ranking_02.png);
}
.books__list .books__ranking--3:after{
	content: url(/img/books/icon_ranking_03.png);
}
.books__list .books__ranking--4:after{
	content: url(/img/books/icon_ranking_04.png);
}
.books__list .books__ranking--5:after{
	content: url(/img/books/icon_ranking_05.png);
}
.books__list .books__ranking--6:after{
	content: url(/img/books/icon_ranking_06.png);
}
.books__list .books__ranking--7:after{
	content: url(/img/books/icon_ranking_07.png);
}
.books__list .books__ranking--8:after{
	content: url(/img/books/icon_ranking_08.png);
}
.books__list .books__ranking--9:after{
	content: url(/img/books/icon_ranking_09.png);
}
.books__list .books__ranking--10:after{
	content: url(/img/books/icon_ranking_10.png);
}
.books__list .books__ranking--11:after{
	content: url(/img/books/icon_ranking_11.png);
}
.books__list .books__ranking--12:after{
	content: url(/img/books/icon_ranking_12.png);
}
.books__list .books__ranking--13:after{
	content: url(/img/books/icon_ranking_13.png);
}
.books__list .books__ranking--14:after{
	content: url(/img/books/icon_ranking_14.png);
}
.books__list .books__ranking--15:after{
	content: url(/img/books/icon_ranking_15.png);
}
.books__list .books__ranking--16:after{
	content: url(/img/books/icon_ranking_16.png);
}
.books__list .books__ranking--17:after{
	content: url(/img/books/icon_ranking_17.png);
}
.books__list .books__ranking--18:after{
	content: url(/img/books/icon_ranking_18.png);
}
.books__list .books__ranking--19:after{
	content: url(/img/books/icon_ranking_19.png);
}
.books__list .books__ranking--20:after{
	content: url(/img/books/icon_ranking_20.png);
}
.books__tweet{
	padding: 15px;
	background-color: #fafafa;
}
   .books__tweet iframe{
      width: 300px !important;
      max-width: 100% !important;
   }
.contents__teisei_wrap {
    padding: 10px 40px;
    background-color: #fff;
    border: solid 1px #eee;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
  }
.contents__teisei{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: flex-start;
	 width: 100%;
}
.contents__teisei div:nth-of-type(2){
	 max-width: 800px;
}
.contents__teiseinaiyou{
  display: block;
}
.contents__teiseinaiyou div:nth-of-type(2){
	 max-width: inherit;
   padding-left: 20px;
}
.contents__teisei_intro{
  margin: 0 0 5px;
}
.contents__teisei_ttl{
  font-size: 23px;
  font-size: 164.28571%;
  font-weight: bold;
  color: #000;
  padding: 0 0 10px;
  line-height: 30px;
}
.contents__teisei_ttl .contents__teisei_sub{
  font-size: 18px;
  font-weight: normal;
}
.contents__teisei_update{
  margin-bottom: 5px;
}
.contents__teisei_update p{
  font-size: 16px;
  font-weight: bold;
  color: #666666;
}
.contents__teisei_season{
	 width: 200px;
	 margin-top: 7px;
	 font-size: 16px;
    font-weight: bold;
    color: #666666;
}
.contents__teiseinaiyou .contents__teisei_season{
  width: 100%;
  font-size: 18px;
  font-size: 128.57143%;
  color: #000;
}
.contents__teisei_table{
overflow-x: scroll;
}
.contents__teisei_table table{
  border-collapse: separate;
}
.contents__teisei_table tr th{
  min-width: 140px;
  background-color: #d3dae2;
  padding: 20px 15px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  font-weight: bold;
  font-size: 18px;
  font-size: 128.57143%;
}
.contents__teisei_table--sticky thead tr th:first-child{
  position: sticky;
  left: -1px;
  z-index: 1;
}
.contents__teisei_table--sticky tbody tr th{
  position: sticky;
  left: -1px;
  z-index: 1;
}
.contents__teisei_table tr td{
  height: 50px;
  padding: 5px 15px;
  border-bottom: 1px solid #d3dae2;
  border-right: 1px solid #d3dae2;
}
.contents__teisei_table tr td div{
  display: block;
  margin: 0;
}
.contents__teisei_table tr td div a{
  height: 50px;
  font-size: 16px;
  font-size: 114.28571%;
  color: #555;
}
.contents__teisei_btn{
	 position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
	 flex-wrap: wrap;
	 margin: 0;
}
.contents__teisei_btn a{
	 position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 justify-content: space-between;
    align-items: center;
	 width: 190px;
	 height: 60px;
	 box-sizing: border-box;
	 margin: 5px 10px 5px 0;
	 padding: 0 15px 0 20px;
	 border: 1px solid #aaaaaa;
    font-size: 18px;
    font-size: 128.57143%;
	 font-weight: bold;
}
.contents__teisei_btn a.is--stop{
  background-color: #ddd;
  color: #666;
  cursor: default;
}
.contents__teisei_btn a.contents__teisei_btn--small{
  flex-direction: column;
  align-items: flex-start;
    width: 340px;
    height: auto;
    font-size: 14px;
    font-size: 100%;
}
.contents__teisei_btn a.contents__teisei_btn--small span{
  display: block;
  font-size: 13px;
  font-weight: normal;
}
.contents__teisei_btn a:last-of-type{
	 margin-right: 0;
}
.contents__teisei_btn a:hover{
	 border-color: #0096e0;
}
.contents__teisei_btn a.is--stop:hover{
	 border-color: #aaaaaa;
}
.contents__teisei_btn a:before{
	 content: "";
	 position: absolute;
	 width: 12px;
	 height: 3px;
	 top: calc(50% - 2px);
	 left: 0;
	 background-color: #aaaaaa;
}
.contents__teisei--shou .contents__teisei_btn a:before{
	 background-color: #ffb300;
}
.contents__teisei--chuu .contents__teisei_btn a:before{
	 background-color: #0277bd;
}
.contents__teisei--kou .contents__teisei_btn a:before{
	 background-color: #6a1b9a;
}
.contents__teisei_btn a.contents__teisei_btn--pdf:after{
	 content: "";
	 position: absolute;
	 width: 34px;
	 height: 34px;
	 top: calc(50% - 17px);
	 right: 15px;
	 background: url(/img/common/icon_pdf.png) center no-repeat;
	 box-sizing: border-box;
	 padding: 3px;
	 border: 1px solid #aaaaaa;
}
.contents__teisei_btn a.contents__teisei_btn--zip:after{
	 content: "";
	 position: absolute;
	 width: 34px;
	 height: 34px;
	 top: calc(50% - 17px);
	 right: 15px;
	 background: url(/img/common/icon_zip.png) center no-repeat;
	 box-sizing: border-box;
	 padding: 3px;
	 border: 1px solid #aaaaaa;
}
.contents__teisei--accordion{
	position: relative;
	top: inherit;
	display: block;
	width: 200px;
	height: 30px;
	line-height: 30px;
	margin: 20px auto 20px 0;
	border: none;
	background-color: #0098df;
	color: #fff;
  cursor: pointer;
}
.contents__teisei--accordion:after{
	display: none;
}
.contents__teisei--accordion:before{
	content: "";
	position: absolute;
	top: calc(50% - 7px);
  right: 9px;
	transform: rotate(45deg);
	display: block;
	width: 8px;
	height: 8px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.contents__teisei--accordion.is--open:before{
	top: calc(50% - 1px);
	transform: rotate(-135deg);
}
.books__search_info{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 justify-content: space-between;
}
.books__search_info h3{
	 padding: 10px 0;
	 font-size: 18px;
	 font-weight: bold;
}
.books__search_info .books__search_btn{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 justify-content: space-between;
}
.books__search_info .books__search_btn button{
	 position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 font-size: 16px;
	 font-weight: bold;
	 margin-left: 15px;
	 padding-left: 60px;
	 width: 140px;
	 height: 40px;
	 color: #ffffff;
	 background-color: #666666;
	 border: none;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;

	/* 2018.06.29 Chrome時のselectを削除 */
	outline: none;
}
.books__search_info .books__search_btn button:hover{
	 background-color: #0096e0;
}
.books__search_info .books__search_btn button.books__search_btn--active{
	 background-color: #0096e0;
}
.books__search_info .books__search_btn button:before{
	 content: "";
	 position: absolute;
	 width: 40px;
	 height: 32px;
	 left: 8px;
	 top: calc(50% - 16px);
}
.books__search_info .books__search_btn .books__search_btn--p:before{
	 background: url(/img/books/img_p-book.png) center no-repeat;
	 background-size: contain;
}
.books__search_info .books__search_btn .books__search_btn--e:before{
	 background: url(/img/books/img_e-book.png) center no-repeat;
	 background-size: contain;
}
.books__search_pager{
	 max-width: 850px;
	 margin: 15px auto;
}
.books__search_pager p{
	 font-size: 16px;
	 margin-bottom: 10px;
}
.books__search_pager div{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 justify-content: space-between;
}
.books__search_pager div a{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 justify-content: center;
	 width: 40px;
	 height: 40px;
	 color: #000000;
	 text-decoration: none;
	 box-sizing: border-box;
	 border: 1px solid #aaaaaa;
	 font-size: 16px;
}
.books__search_pager div a.books__search_pager--active{
	color: #ffffff;
	background-color: #0096e0;
}
.books__search_pager div a:last-of-type{
	 margin-right: 0;
}
.books__search_pager div a.books__search_pager--prev1:after{
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background: url(/img/books/prev1.png) center no-repeat;
}
.books__search_pager div a.books__search_pager--prev2:after{
	content: "";
	width: 40px;
	height: 40px;
	background: url(/img/books/prev2.png) center no-repeat;

}
.books__search_pager div a.books__search_pager--next1:after{
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background: url(/img/books/next1.png) center no-repeat;

}
.books__search_pager div a.books__search_pager--next2:after{
	content: "";
	width: 40px;
	height: 40px;
	background: url(/img/books/next2.png) center no-repeat;
}
.books__search_pager div span{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 justify-content: center;
	 width: 40px;
	 height: 40px;
	 box-sizing: border-box;
	 font-size: 16px;
}
.books__search_pager div span:after{
	content: "";
	width: 40px;
	height: 40px;
	background: url(/img/books/skip.png) center no-repeat;
}
.search__module{
	width: 100%;
	box-sizing: border-box;
	padding: 30px 60px 0;
	border: 1px solid #aaaaaa;
	margin-bottom: 25px;
}
.search__word{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 margin-bottom: 20px;
}
.search__word h3{
	width: 200px;
	font-size: 16px;
	font-weight: bold;
}
.search__word input{
	width: calc(100% - 200px);
	height: 30px;
	padding-left: 0.5em;
	font-size: 20px;
	border: 1px solid #aaaaaa;
}
.search__category{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 margin-bottom: 20px;
}
.search__category h3{
	width: 200px;
	color: #888888;
	font-size: 16px;
	font-weight: bold;
}
.search__category .search__category_radio{
   display: -webkit-box;
   display: -webkit-flex;
   display: -ms-flexbox;
   display: flex;
	align-items: center;
	margin-right: 3em;
}
.search__category .search__category_radio input{
	display: none;
}
.search__category .search__category_radio label{
	position: relative;
	margin-left: 1.5em;
	font-size: 16px;
}
.search__category .search__category_radio input + label:before{
	content: "";
	position: absolute;
	display: block;
	top: calc(50% - 8px);
	left: -1.5em;
	width: 16px;
	height: 16px;
	box-sizing: border-box;
	border: 1px solid #888888;
   -webkit-border-radius: 2px;
   -moz-border-radius: 2px;
   border-radius: 2px;
}
.search__category .search__category_radio input:checked + label:after{
	content: "";
	position: absolute;
	display: block;
	top: calc(50% - 10px);
	left: -1.5em;
	width: 20px;
	height: 10px;
	border-bottom: 3px solid #0791d8;
	border-left: 3px solid #0791d8;
	box-sizing: border-box;
   -webkit-border-radius: 2px;
   -moz-border-radius: 2px;
   border-radius: 2px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.search__submit{
	position: relative;
	width: 100%;
	text-align: center;
}
.search__submit:after{
	content: "";
	position: absolute;
	top: calc(50% - 10px);
	left: calc(50% - 7em);
	width: 20px;
	height: 20px;
	background: url(/img/common/icn_search.png) center no-repeat;
	background-size: contain;
}
.search__info_text{
	margin: 15px 0 6px;
}
.search__submit_btn{
	display: inline-block;
	position: relative;
	width: 250px;
	height: 50px;
	line-height: 50px;
	box-sizing: border-box;
	padding-left: 1em;
	font-size: 22px;
	font-weight: bold;
	color: #ffffff;
	background-color: #0791d8;
	border: none;
   -webkit-border-radius: 25px;
   -moz-border-radius: 25px;
   border-radius: 25px;
}
.search__submit_btn:hover{
	background-color: #2DB3F8;
}
.search__result{
	width: 100%;
	margin: 20px 0;
	font-size: 18px;
	font-weight: bold;
   display: -webkit-box;
   display: -webkit-flex;
   display: -ms-flexbox;
   display: flex;
	align-items: center;
	justify-content: space-between;
}
.search__result p{
	display: inline-block;
}
.books__movie_wrap{
	justify-content: flex-start;
}
.books__movie{
	max-width: 100%;
	margin-right: 20px;
	margin-bottom: 20px;
}
.books__movie .topics__body{
	height: 100%;
	box-sizing: border-box;
	position: relative;
}
.books__movie .topics__title{
	padding-bottom: 0;
	border-bottom: none;
	height: auto;
	min-height: 60px;
	margin-bottom: 59px;
	padding-right: 1em;
}
.books__movie .topics__img{
	height: 146px;
	background-color: #cccccc;
}
.books__movie iframe{
	width: 251px;
	height: 132px;
}
.books__movie .topics__info{
	position: absolute;
	width: calc(100% - 20px);
	height: 49px;
	box-sizing: border-box;
	bottom: 10px;
}
.books__movie .topics__info .topics__info_cat{
	width: 42%;
}
.books__movie .topics__info_date{
	width: auto;
}
.books__movie .catalog__new{
	color: #ff9100;
   display: inline-block;
   padding-right: 6px;
   margin-right: 6px;
   position: relative;
	border-right: 1px solid #aaaaaa;
   height: 1em;
   line-height: 1em;
}
.books__movie .catalog__new:after{
	content: none;
 }
.books__download_banner{
	margin: 15px;
}
.books__download_banner a:hover{
	opacity: 0.7;
}
.books__download_banner img{
	border: 1px solid #aaaaaa;
}
.school__osusume .contents--2{
	display: block;
}
.school__osusume .contents--3{
	display: block;
}
.school__osusume .contents--2 .contents__img{
	text-align: center;
	margin: 10px 0;
}
.school__osusume .contents--3 .contents__img{
	width: auto;
	text-align: center;
	margin: 10px 0;
}
.school__osusume .contents--2  .contents__body{
	max-width: 100%;
}
.school__osusume .contents--3  .contents__body{
	max-width: 100%;
}
.navi_books_sp{
   display: none;
}
}

/* -------------------------------------------------------------
スマホ
--------------------------------------------------------------*/
@media all and (max-width: 768px) {

  img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  /*　ヘッダー　*/
  .header {
    display: none;
  }
  .sp_header {
    width: 100%;
    padding-bottom: 4px;
    position: relative;
  }
  .sp_header:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 4px;
    background-color: #0096e0;
    background: -webkit-gradient(linear, left top, right top, from(#0096e0), to(#124488));
    background: -webkit-linear-gradient(left, #0096e0 0%, #124488 100%);
    background: -o-linear-gradient(left, #0096e0 0%, #124488 100%);
    background: linear-gradient(left, #0096e0 0%, #124488 100%);
  }
  .sp_header__inner {
    padding: 0 0 0 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .sp_header__logo {
    width: 116px;
    height: 36px;
    margin-top: 5px;
  }
  .sp_header__logo a {
    width: 100%;
    height: 100%;
    display: block;
    background: url(/img/common/img_logo.png) 0 0 no-repeat;
    background-size: contain;
    text-indent: -9999px;
  }
  .sp_header__btns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .sp_header__search {
    width: auto;
    height: 56px;
    margin-right: 15px;
    border-left: 1px solid #ccc;
  }
  .sp_header__search a {
    display: block;
    border-radius: 18px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
	padding-left: 37px;
    padding-right: 10px;
    color: #333;
    font-size: 14px;
    font-weight: normal;
    text-decoration: none;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .sp_header__search a:before {
	position: absolute;
	content: "";
	background: url(/img/common/icn_search_b.png) 0 0 no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	top: calc(50% - 10px);
	left: 10px;
  }
  .sp_header__search a:hover {
    background-color: #fff;
    color: #0096e0;
  }
  .sp_header__search a:hover:before {
    background-image: url(/img/common/icn_search_b.png);
  }
  .sp_header__search a span {
    display: none;
  }
  .sp_header__navi {
    width: 56px;
    height: 56px;
  }
  .sp_header__navi a {
    width: 100%;
    height: 100%;
    display: block;
    background-color: #0056ac;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
  }
  .sp_header__navi a:before {
    position: absolute;
    content: "";
    width: 28px;
    height: 20px;
    background: url(/img/common/btn_nav2.png) center no-repeat;
    background-size: contain;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }
  .sp_header__navi a.is-active:before {
    width: 23px;
    height: 23px;
    background: url(/img/common/btn_navi_close2.png) center no-repeat;
    background-size: contain;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }
  .sp_header__navi a span {
    display: none;
  }
  .sp_header__contents .sp_search {
    display: none;
    background-color: #0096e0;
  }
  .sp_header__contents .sp_search.is-active {
    display: block;
  }
  .sp_header__contents .sp_search__inner {
    padding: 20px 20px 50px;
    position: relative;
  }
  .sp_header__contents .sp_search__form {
    margin: 0 auto;
  }
  .sp_header__contents .sp_search__select {
    width: 100%;
    height: 40px;
    margin-bottom: 1px;
    overflow: hidden;
    position: relative;
  }
  .sp_header__contents .sp_search__select:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 5px;
    background: url(/img/common/icn_arrow_3.png) 0 0 no-repeat;
    top: calc(50% - 1px);
    right: 10px;
  }
  .sp_header__contents .sp_search__select select {
    width: calc(100% - 20px);
    height: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    margin: 0;
    padding: 0;
    padding-left: 20px;
    background: none transparent;
    background-color: #e5e7ed;
    vertical-align: middle;
    font-size: 14px;
    font-size: 100%;
    color: inherit;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    border-radius: 5px 5px 0 0;
    -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    cursor: pointer;
  }
  .sp_header__contents .sp_search__input {
    width: 100%;
    margin-bottom: 1px;
  }
  .sp_header__contents .sp_search__input input {
    font-size: 14px;
    font-size: 100%;
    margin: 0;
    padding: 0;
    background: none;
    background-color: #fff;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: calc(100% - 40px);
    padding: 11px 20px 12px;
  }
  .sp_header__contents .sp_search__submit {
	 position: relative;
    width: 100%;
    height: 42px;
    position: relative;
    cursor: pointer;
  }
  .sp_header__contents .sp_search__submit:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_search.png) 0 0 no-repeat;
    width: 20px;
    height: 20px;
    top: calc(50% - 10px);
    left: calc(50% - 5.5em);
  }
  .sp_header__contents .sp_search__submit input {
    margin: 0;
    padding: 0;
    background: none;
    background-color: #00527a;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 42px;
    padding: 11px 20px 12px;
    border-radius: 0 0 5px 5px;
    -webkit-border-radius: 0 0 5px 5px;
    -moz-border-radius: 0 0 5px 5px;
	color: #fff;
	font-size: 15px;
  }
  .sp_header__contents .sp_search__submit input:hover {
    background-color: #2DB3F8;
  }
  .sp_header__contents .header__search_info--sp{
	text-align: center;
	color: #fff;
	font-weight: bold;
	padding: 8px 0 0;
	}
	.sp_header__contents .header__search_info--sp a{
	color: #ffb300;
	}
  .sp_header__contents .sp_search__close {
    width: 34px;
    height: 34px;
    position: absolute;
    right: 10px;
    bottom: 10px;
  }
  .sp_header__contents .sp_search__close .close__btn {
    width: 34px;
    height: 34px;
  }
  .sp_header__contents .sp_search__close .close__btn a {
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    background: url(/img/common/btn_search_close.png) 0 0 no-repeat;
    display: block;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .sp_header__contents .sp_search__close .close__btn a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  .sp_header__contents .sp_navi {
    display: none;
    border-bottom: 1px solid #ccc;
  }
  .sp_navi__ttl{
    background-color: #e4eefa;
    text-align: center;
    font-size: 16px;
    font-size: 114.28571%;
    padding: 15px;
    font-weight: normal;
    border-bottom: solid 1px #ddd;
  }
  .sp_header__contents .sp_navi__list--1 {
  }
  .sp_header__contents .sp_navi__list--1 > li {
    border-bottom: solid 1px #ddd;
  }
  .sp_header__contents .sp_navi__list--1 > li > a {
    color: #000;
    font-size: 16px;
    font-size: 114.28571%;
    text-decoration: none;
    padding: 15px;
    display: block;
    position: relative;
  }
  /* .sp_header__contents .sp_navi__list--1 > li > a:after {
    position: absolute;
    content: "";
    background: url(/img/common/btn_sp_navi_next.png) 0 0 no-repeat;
    background-size: cover;
    width: 8px;
    height: 15px;
    top: calc(50% - 8px);
    right: 20px;
  } */
  .sp_header__contents .sp_navi__list--2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 25px 15px 10px;
  }
  .sp_header__contents .sp_navi__list--2 > li {
    box-sizing: border-box;
    width: calc((100% - 1px) / 2);
    margin-bottom: 15px;
  }
  .sp_header__contents .sp_navi__list--2 > li:nth-child(even) {
    border-right: none;
  }
  .sp_header__contents .sp_navi__list--2 > li:nth-child(5) {
    width: 100%;
    font-size: 0.9em;
  }
  .sp_header__contents .sp_navi__list--2 > li:last-child {
    border-bottom: none;
  }
  .sp_header__contents .sp_navi__list--2 > li > a {
    position: relative;
    color: #000;
    padding-left: 15px;
    line-height: 24px;
    font-size: 16px;
    font-size: 114.28571%;
    text-decoration: none;
    display: block;
  }
  .sp_header__contents .sp_navi__list--2 > li > a:before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 6px;
    height: 6px;
    border-right: 2px solid #1560b1;
    border-bottom: 2px solid #1560b1;
    transform: translateY(-50%) rotate(-45deg);
  }
  
  .sp_header__contents .sp_navi__list--2 > li > a.is-active {
    position: relative;
  }
  .sp_header__contents .sp_navi__list--2 > li > a.is-active:after {
    content: "募集中";
    color: #fff;
    font-size: 10px;
    font-size: 71.42857%;
    line-height: 1;
    background-color: #ff9100;
    width: 52px;
    height: 20px;
    line-height: 20px;
    margin-left: 3px;
    display: inline-block;
    text-align: center;
  }
  .fontsize__wrap{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 20px;
  }
  .fontsize__wrap p{
    font-size: 16px;
    font-size: 114.28571%;
    margin-right: 10px;
  }
  .fontsize {
    width: 120px;
    height: 34px;
    border-radius: 17px;
    -webkit-border-radius: 17px;
    -moz-border-radius: 17px;
    height: 34px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1px solid #cccccc;
  }
   .fontsize__btn--sp {
    font-weight: bold;
    line-height: 34px;
    width: 50%;
    height: 34px;
    text-align: center;
    display: block;
    cursor: pointer;
  }
   .fontsize__btn--normal {
    font-size: 14px;
    font-size: 100%;
    border-radius: 17px 4px 4px 17px;
    -webkit-border-radius: 17px 4px 4px 17px;
    -moz-border-radius: 17px 4px 4px 17px;
  }
   .fontsize__btn--normal.is-active {
    color: #fff;
    background: #0098DF;
  }
   .fontsize__btn--large {
    font-size: 19px;
    font-size: 135.71429%;
    border-radius: 4px 17px 17px 4px;
    -webkit-border-radius: 4px 17px 17px 4px;
    -moz-border-radius: 4px 17px 17px 4px;
  }
   .fontsize__btn--large.is-active {
    color: #fff;
    background: #0098DF;
  }
    /* 2018-06-27 ksp */
  .sp_header__contents .sp_navi__list--2 > li a.is-outlink {
    position: relative;
  }
  .sp_header__contents .sp_navi__list--2 > li a.is-outlink:after {
    position: absolute;
    content: "";
    background: url(/img/common/icn_window.png) 0 0 no-repeat;
    width: 14px;
    height: 10px;
    top: calc(50% - 5px);
    right: 5px;
  }
  .sp_header__contents .sp_navi__list--2 > li .fontsize li:nth-child(even) {
    border-right: none;
  }
  .sp_header__contents .sp_navi__list--2 > li .fontsize__btn--normal {
    font-size: 12px;
    font-size: 85.71429%;
  }
  .sp_header__contents .sp_navi__list--2 > li .fontsize__btn--normal.is-active {
    background-color: #eee;
  }
  .sp_header__contents .sp_navi__list--2 > li .fontsize__btn--large {
    font-size: 15px;
    font-size: 107.14286%;
    font-weight: bold;
  }
  .sp_header__contents .sp_navi__list--2 > li .fontsize__btn--large.is-active {
    background-color: #eee;
  }
  .sp_header__contents .sp_navi__item a {
    padding-left: 40px !important;
    position: relative;
  }
  .sp_header__contents .sp_navi__item a:before {
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    top: calc(50% - 6px);
    left: 20px;
  }
  .sp_header__contents .sp_navi__item--sho a:before {
    background-color: #ffb300;
  }
  .sp_header__contents .sp_navi__item--chu a:before {
    background-color: #0277bd;
  }
  .sp_header__contents .sp_navi__item--kou a:before {
    background-color: #6a1b9a;
  }
  .sp_header__contents .sp_navi__acd dt {
    font-size: 16px;
    font-size: 114.28571%;
    padding: 15px 40px 15px 15px;
    position: relative;
  }
  .sp_header__contents .sp_navi__acd dt:after {
    position: absolute;
    content: "";
    background: url(/img/common/btn_sp_navi_open2.png) 0 0 no-repeat;
    background-size: cover;
    width: 21px;
    height: 21px;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
  }
  .sp_header__contents .sp_navi__acd dt.is-active:after {
    background: url(/img/common/btn_sp_navi_close2.png) 0 0 no-repeat;
    background-size: cover;
    width: 21px;
    height: 2px;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
  }
  .sp_header__contents .sp_navi__acd dd {
    display: none;
    border-top: solid 1px #ddd;
  }
  .sp_header__contents .sp_navi .subnavi__contents {
    background-color: #f4f4f4;
    padding: 10px 20px 0;
  }
  .sp_header__contents .sp_navi .subnavi__contents--1 {
    border-bottom: solid 1px #ccc;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__school {
    margin-bottom: 15px;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__school:last-child {
    margin-bottom: 0;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__subject .subject__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__subject .subject__list--1 {
    padding-top: 10px;
    border-top: dotted 1px #ccc;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__subject li {
    width: calc((100% - 20px) / 3);
    margin: 0 10px 10px 0;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__subject li.school_header__btn{
    height: 40px;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__subject li:nth-child(3n) {
    margin-right: 0;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__subject li a {
    color: #000;
    font-size: 12px;
    font-size: 85.71429%;
    text-align: center;
    text-decoration: none;
    width: 100%;
    background-color: #fff;
    display: block;
    padding: 5px 0;
    border: solid 1px #ccc;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__subject li.school_header__btn a {
    display: flex;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__subject li a:after {
    content: none;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__subject li a:hover {
    color: #fff;
    background-color: #0096e0;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__ict .ict__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__ict li {
    width: calc((100% - 20px) / 3);
    margin-right: 10px;
    margin-bottom: 10px;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__ict li:nth-child(3n) {
    margin-right: 0;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__ict li a {
    color: #000;
    font-size: 12px;
    font-size: 85.71429%;
    text-align: center;
    text-decoration: none;
    width: 100%;
    background-color: #fff;
    display: block;
    padding: 5px 0;
    border: solid 1px #ccc;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .sp_header__contents .sp_navi .subnavi__contents .contents__ict li a:hover {
    color: #fff;
    background-color: #0096e0;
  }
  .sp_header__contents .sp_navi .subnavi__title {
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
    line-height: 1.2;
    padding-left: 20px;
    margin-bottom: 5px;
    position: relative;
  }
  .sp_header__contents .sp_navi .subnavi__title:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .sp_header__contents .sp_navi .subnavi__title--sho:before {
    background-color: #ffb300;
  }
  .sp_header__contents .sp_navi .subnavi__title--chu:before {
    background-color: #0277bd;
  }
  .sp_header__contents .sp_navi .subnavi__title--kou:before {
    background-color: #6a1b9a;
  }
  .sp_header__contents .sp_navi .subnavi__title--info a {
    color: #666;
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
    text-decoration: none;
  }
  .sp_header__contents .sp_navi .subnavi__title--info a:hover {
    color: #0096e0;
  }
  .sp_header__contents .sp_navi .subnavi__title--info:before {
    background-color: #666;
  }
  .sp_header__contents .sp_navi .subnavi__title--ict:before {
    background-color: #0096e0;
  }
  .sp_navi__list--support{
    margin-bottom: 20px;
  }
.sp_navi__list--support a{
  position: relative;
  font-size: 16px;
  font-size: 114.28571%;
  line-height: 24px;
  display: block;
  margin: 0 15px;
  padding: 12px;
  color: #fff;
  background-color: #1560b1;
  text-decoration: none;
  text-align: center;
}
.sp_navi__list--support a:before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  background: url(/img/common/header_mail.png) center no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.sp_navi__list--support a.sp_navi__list__enet{
  margin-bottom: 10px;
  background-color: #00a2e8;
}
.sp_navi__list--support a.sp_navi__list__enet:before{
  display: none;
}


  /*　パンくずリスト　*/
  .breadcrumb {
    /* background-color: #616161; */
    background-color: #1460b1;
  }
  .breadcrumb__inner {
    max-width: 1200px;
    padding: 10px;
    margin: 0 auto;
  }
  .breadcrumb ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	 margin: 0;
  }
  .breadcrumb ul li {
    color: #fff;
    margin-left: 15px;
    margin-right: 10px;
    position: relative;
  }
  .breadcrumb ul li:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_6_w.png) 0 0 no-repeat;
    width: 5px;
    height: 9px;
    top: calc(50% - 5px);
    left: -15px;
  }
  .breadcrumb ul li:first-child {
    margin-left: 0;
  }
  .breadcrumb ul li:first-child:before {
    content: none;
  }
  .breadcrumb ul li a {
    color: #fff;
    font-size: 13px;
    text-decoration: none;
  }
  .breadcrumb ul li a:hover {
    text-decoration: underline;
  }
  /*　KV　*/
  .kv {
    /*padding: 20px 0;
    background: url(/img/common/bg_kv.png) center bottom no-repeat;
    background-size: 100% auto;*/
  }
  .kv__slider {
	visibility: hidden;
  }
  .kv__slider.sp-horizontal{
	visibility: visible;
  }
  .kv__thumbnails {
    display: none;
  }
  .kv .sp-button {
    width: 10px;
    height: 10px;
    border: solid 1px #888;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
  }
  .kv .sp-selected-button {
    background-color: #0096e0;
  }
  /*　ページタイトル　*/
  .page_title--1 {
    position: relative;
  }
  .page_title--1:after {
    position: absolute;
    content: "";
    background: url(/img/common/bg_kv.png) center bottom no-repeat;
    background-size: cover;
    width: 100%;
    height: 10px;
    left: 0;
    bottom: -10px;
  }
  .page_title--1 .page_title__inner {
    max-width: 1200px;
    height: 55px;
    padding: 10px;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .page_title--1 .page_title__inner--school {
    background: url(/img/elementaryschool/img_kv.png) right top no-repeat;
    background-size: contain;
  }
  
  body.teisei .page_title--1 .page_title__inner--school {
    height: 40px;
      padding: 0;
      background: none !important;
    }
  .page_title__title {
    font-family: "Yu Mincho Demibold","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
  }
  .page_title--1 .page_title__title {
    font-size: 26px;
    font-size: 185.71429%;
  }
  .page_title--2 .page_title__title {
    font-size: 20px;
    font-size: 142.85714%;
  }
  .page_title__title--sho {
    margin-left: 40px;
    position: relative;
  }
  .page_title__title--sho:before {
    position: absolute;
    content: "";
    background-color: #ffb300;
    width: 25px;
    height: 3px;
    top: calc(50% - 2px);
    left: -40px;
  }
  .page_title__title--chu {
    margin-left: 40px;
    position: relative;
  }
  .page_title__title--chu:before {
    position: absolute;
    content: "";
    background-color: #0277bd;
    width: 25px;
    height: 3px;
    top: calc(50% - 2px);
    left: -40px;
  }
  .page_title__title--kou {
    margin-left: 40px;
    position: relative;
  }
  .page_title__title--kou:before {
    position: absolute;
    content: "";
    background-color: #6a1b9a;
    width: 25px;
    height: 3px;
    top: calc(50% - 2px);
    left: -40px;
  }
  /*　トップメッセージ　*/
  .home__massage{
   max-width: 1200px;
   margin: 0 auto;
   text-align: center;
  	padding: 0 0 10px;
	background: url(/img/common/bg_kv.png) center bottom no-repeat;
	background-size: 100% auto;
  }
  .home__massage_alart{
    font-size: 13px;
    font-size: 92.85714%;
	  font-weight: bold;
	  color: #f00;
  }
   
   .home__massage_alart2 a{
   font-size: 16px;
   font-size: 114.28571%;
    font-weight: bold;
    display: block;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    padding: 2px;
    border: 2px solid #0096e0;
    box-sizing: border-box;
    box-shadow: 2px 2px 2px #aaa;
   text-decoration: none;
      transition: all 0.3s;
   }
   .home__massage_alart3 a{
   font-size: 16px;
   font-size: 114.28571%;
    font-weight: bold;
    display: block;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    padding: 2px;
    border: 2px solid #ee792c;
    color: #ee792c;
    box-sizing: border-box;
    box-shadow: 2px 2px 2px #aaa;
   text-decoration: none;
      transition: all 0.3s;
   }
  
.home__topics__wrap{
  position: relative;
  width: 100%;
  margin: 0 auto 30px;
  padding: 10px 0 20px;
  box-sizing: border-box;
}
  .home__topics__area1{
    display: block;
    margin-bottom: 30px;
  }
  .home__topics__area1 a{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
    width: calc(100% - 40px);
    min-height: 80px;
    padding: 15px;
    margin: 0 auto 20px;
    background-image: url(/img/common/home_topics.svg);
    background-repeat: repeat;
    background-color: #0098DF;
    color: #fff;
    font-size: 16px;
    font-size: 114.28%;
    text-decoration: none;
    text-shadow: 2px 2px rgba(0 , 0 , 0 , 0.2);
    transition: transform 0.3s;
  }
  .home__topics__area1 a:hover{
   transform: scale(1.02); 
  }
  .home__topics__area1 a:nth-of-type(2){
    background-color: #44B5E6;
  }
  .home__topics__area1 a:nth-of-type(3){
    background-color: #5fc3e8;
  }
  .home__topics__area1 a:nth-of-type(4){
    background-color: #44cde6;
  }
  .home__topics__area2{
    padding: 20px 10px;
    background-color: #E4EEFA;
  }
  .home__topics__area2 ul li{
    position: relative;
    padding-left: 30px;
    margin-bottom: 9px;
    color: #333333;
  }
  .home__topics__area2 ul li:before{
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background-color: #0098DF;
  }
  .home__topics__area2 ul li:after{
    content: "";
    position: absolute;
    left: 4px;
    top: 8px;
    display: block;
    width: 4px;
    height: 4px;
    border-style: solid;
    border-width: 2px;
    border-color: #fff #fff transparent transparent;
    transform: rotate(45deg);
  }
  .home__topics__area2 ul li a{
    color: #333;
    text-decoration: none;
    transition: color 0.3s;
  }
  .home__topics__area2 ul li a:hover{
    color: #0098DF;
  }
.home__topics{
padding: 10px 0 0;
margin-bottom: 7px;
border: 1px solid #a9a9a9;
}

.home__topics>div{
position: relative;
width: 1200px;
max-width: 100%;
margin: 0 auto 10px;
padding-left: 17px;
text-align: left;
line-height: 20px;
box-sizing: border-box;
}
.home__topics>div:before{
content: "";
position: absolute;
left: 3px;
top: calc(50% - 5px);
border-left: 9px solid #333;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
}
.home__topics>div a{
	text-decoration: none;
}
.home__topics--red a{
color: #f00;
}
.home__topics--saigai{
font-size: 20px;
padding: 10px 0 10px;
}
.home__topics--saigai a{
text-decoration: none;
color: #f00;
}

  /*　メインコンテンツ枠　*/
  
  .customer_bg--blue{
    padding: 30px 0;
    background-color: #daeef7;
  }
  .customer_bg--gray{
    padding: 30px 15px;
    background-color: #f8f8f8;
  }

  .main_contents--top {
    padding: 30px 0 0;
    background-color: #DAEEF7;
  }
  .main_contents__inner {
    /*padding: 20px;*/
     padding: 10px 3px;
  }
  /*　コンテンツ枠　*/
  .contents__special {
    margin-bottom: 30px;
  }
  .school .contents__special {
    margin-bottom: 0;
  }
  .contents__topics {
    max-width: 1176px;
    margin: 0 auto 30px;
  }
  .contents__info {
    background-color: #f8f8f8;
    padding: 20px;
  }
  .contents__company_banner {
    background-color: #f1f2f5;
    padding: 20px;
  }
  .contents__navi{
  	width: 100%;
	margin-top: 40px;
  }
  .contents__navi_category{
  	width: 100%;
	box-sizing: border-box;
	background-color: #fafafa;
	padding: 0 20px 40px;
	border: 1px solid #eee;
	margin-bottom: 40px;
  }
  .navi_list_btn-fix{
  margin-bottom: 0 !important;
  }
  .contents__navi_category .navi_list{
   background-color: #fff;
  }
  .contents__navi_category .navi_list a{
   text-decoration: none;
	color: #000;
  }
  .contents__navi_category .navi_list div{
   height: 50px;
	line-height: 50px;
	padding-left: 30px;
   font-size: 16px;
   font-size: 114.28571%;
	font-weight: bold;
	border-bottom: 1px solid #eee;
  }
  .contents__navi_category .navi_list a:first-child div{
	border-top: 1px solid #eee;
  }
  .contents__navi_category .navi_list div:before{
   content: "";
	display: inline-block;
	position: absolute;
	width: 0;
	height: 0;
	border: 6px solid #fff;
	border-left: 6px solid #000;
	margin-top: 18px;
	margin-left: -17px;
  }
  .contents__navi_category .navi_list div:hover{
   color: #0096e0;
  }
  .contents__navi_category .navi_list div:hover:before{
   border-left-color: #0096e0;
  }
  .contents__navi_category .navi_list div.navi-active{
  	color: #0096e0;
  }
  .contents__navi_category .navi_list div.navi-active:before{
  border-left-color: #0096e0;
  }
  .navi_list_btn{
   background-color: #fff;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 flex-wrap: wrap;
	 align-items: center;
	 padding:20px;
	border: 1px solid #eee;
	border-top: 0;
  }
  .navi_list_btn a{
  	text-decoration: none;
	color: #000;
  }
  .navi_list_btn .navi_list_btn-p{
   width: 50%;
	height: 60px;
	box-sizing: border-box;
   background-color: #f2f2f2;
	line-height: 60px;
	padding-left: 24px;
    font-size: 16px;
    font-size: 114.28571%;
	border-right: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
  }
  .navi_list_btn .navi_list_btn-e{
   width: 50%;
	height: 60px;
	box-sizing: border-box;
   background-color: #f2f2f2;
	line-height: 60px;
	padding-left: 24px;
    font-size: 16px;
    font-size: 114.28571%;
	border-bottom: 1px solid #cccccc;
  }
  .navi_list_btn .navi_list_btn-all{
   width: 100%;
	height: 60px;
	box-sizing: border-box;
   background-color: #f2f2f2;
	line-height: 60px;
	padding-left: 24px;
    font-size: 16px;
    font-size: 114.28571%;
  }
  .navi_list_btn .navi_list_btn-p:before{
   content: "";
	display: inline-block;
	position: absolute;
	width: 0;
	height: 0;
	border: 6px solid #f2f2f2;
	border-left: 6px solid #000;
	margin-top: 23px;
	margin-left: -14px;
  }
  .navi_list_btn .navi_list_btn-e:before{
   content: "";
	display: inline-block;
	position: absolute;
	width: 0;
	height: 0;
	border: 6px solid #f2f2f2;
	border-left: 6px solid #000;
	margin-top: 23px;
	margin-left: -14px;
  }
  .navi_list_btn .navi_list_btn-all:before{
   content: "";
	display: inline-block;
	position: absolute;
	width: 0;
	height: 0;
	border: 6px solid #f2f2f2;
	border-left: 6px solid #000;
	margin-top: 23px;
	margin-left: -14px;
  }
  .navi_list_btn .navi_list_btn-p:hover:before{
	border-left: 6px solid #0096e0;
  }
  .navi_list_btn .navi_list_btn-e:hover:before{
	border-left: 6px solid #0096e0;
  }
  .navi_list_btn .navi_list_btn-all:hover:before{
	border-left: 6px solid #0096e0;
  }
  .contents__navi_ranking{
   position: relative;
   width: 100%;
   box-sizing: border-box;
   background-color: #fafafa;
   padding: 0 0 20px;
   margin-top: 40px;
  }
  .topics__info {
  	width: 100%;
	min-height: 2em;
	padding: 15px 0 5px 0;
	margin: 10px 0 0 0;
	border-top: 1px solid #cccccc;
	line-height: 2em;
  }
  .topics__info:after {
  	content: "";
	clear: both;
	display: block;
  }
  .topics__info .topics__info_date{
  	float: left;
  	width: 40%;
	color: #666666;
  }
  .topics__info .topics__info_cat{
  	float: right;
  	width: 40%;
	color: #666666;
	text-align: center;
	border: 1px solid #cccccc;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  .navi__header{
  position: relative;
  top: -20px;
  }
	.navi_ranking__term{
		text-align: center;
		margin-top: -15px;
		color: #666;
	font-weight: bold;
	}
	.books_ranking__term{
    font-size: 14px;
    font-size: 100%;
	color: #666;
	font-weight: bold;
	}
  .navi_ranking{
   display: block;
  	width: calc(100% - 40px);
	margin: 0 auto 20px;
	box-sizing: border-box;
	background-color: #ffffff;
	border: 1px solid #eeeeee;
	text-decoration: none;
	color: #000000;
  }
  .navi_ranking:hover{
	border: 1px solid #0096e0;
  }
  .ranking_number{
   background-color: #1565c0;
   width: 46px;
   height: 39px;
   text-align: center;
   line-height: 39px;
   font-size: 16px;
   color: #ffffff;
  }
  .ranking_img{
  width: 100%;
  text-align: center;
  }
  .ranking_img img{
  width: auto;
  }
  .ranking_info{
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  }
  .ranking_info .ranking_title{
    font-size: 16px;
    font-size: 114.28571%;
	 margin-bottom: 20px;
  }
  .ranking_info .ranking_auther{
    font-size: 15px;
    font-size: 107.14286%;
	 margin-bottom: 10px;
  }
  /*　アイコン　*/
  .icn__cat {
    color: #fff;
    text-align: center;
    min-width: 117px;
    padding: 7px 10px;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 1;
    position: relative;
  }

  .icn__cat:after {
    position: absolute;
    content: "";
    top: 0;
    right: -10px;
    border-style: solid;
    border-width: 10px 5px;
  }
   .books__genba_wrap .icn__cat:after {
      display: none;
  }

  .icn__cat--00 {
    background-color: #ffb905;
  }
  .icn__cat--00:after {
    border-color: transparent transparent #b98500 #b98500;
  }
  .icn__cat--01 {
    background-color: #e2472a;
  }
  .icn__cat--01:after {
    border-color: transparent transparent #ae3720 #ae3720;
  }
  .icn__cat--02 {
    background-color: #ce7112;
  }
  .icn__cat--02:after {
    border-color: transparent transparent #94510d #94510d;
  }
  .icn__cat--03 {
    background-color: #a0c234;
  }
  .icn__cat--03:after {
    border-color: transparent transparent #7c9728 #7c9728;
  }
  .icn__cat--04 {
    background-color: #59b75b;
  }
  .icn__cat--04:after {
    border-color: transparent transparent #438b45 #438b45;
  }
  .icn__cat--05 {
    background-color: #3eb3a4;
  }
  .icn__cat--05:after {
    border-color: transparent transparent #308c80 #308c80;
  }
  .icn__cat--06 {
    background-color: #00b9ef;
  }
  .icn__cat--06:after {
    border-color: transparent transparent #028eb7 #028eb7;
  }
  .icn__cat--07 {
    background-color: #009dda;
  }
  .icn__cat--07:after {
    border-color: transparent transparent #016e98 #016e98;
  }
  .icn__cat--08 {
    background-color: #999;
  }
  .icn__cat--08:after {
    border-color: transparent transparent #777 #777;
  }
  .icn__cat--09 {
    background-color: #f08206;
  }
  .icn__cat--09:after {
    border-color: transparent transparent #c76c05 #c76c05;
  }
  .icn__cat--10 {
    background-color: #c76aa6;
  }
  .icn__cat--10:after {
    border-color: transparent transparent #95527d #95527d;
  }
  .icn__books-01{
  	background-color: #1565c0;
  }
  .icn__books-01:after {
    border-color: transparent transparent #0f4b8f #0f4b8f;
  }
  /*　特集コンテンツ　*/
  .special {
    width: 100%;
  }
  .special__container {
    margin-bottom: 30px;
  }
  .special__header {
    position: relative;
  }
  .special__cat {
    position: absolute;
    bottom: -23px;
  }
  .special__date {
    color: #777;
    font-size: 12px;
    font-size: 85.71429%;
    text-align: right;
  }
  .special__img {
    width: 100%;
    height: auto;
  }
  .special__element {
    width: 100%;
    background: url(/img/home/bg_special.png) 0 0 repeat;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .special__element_inner {
    border: solid 1px #aaa;
    padding: 10px 10px 20px;
  }
  .special__sub_title {
    font-size: 10px;
    font-size: 71.42857%;
    font-weight: bold;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .special__sub_title dd {
    color: #888;
  }
  .special__title {
    font-size: 14px;
    font-size: 100%;
    font-family: "Yu Mincho Demibold","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
    padding-bottom: 5px;
    border-bottom: solid 2px #000;
    margin-bottom: 10px;
  }
  .special__txt {
    margin-bottom: 10px;
  }
  .special__txt p {
    font-size: 12px;
    font-size: 85.71429%;
  }
  .special__btn {
    width: 51px;
    height: 6px;
    float: right;
  }
  .special__btn a {
    text-indent: -9999px;
    background: url(/img/common/icn_arrow_4.png) 0 0 no-repeat;
    display: block;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .special__btn a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  /*　トピックス　*/
  .topics {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
  }
  .topics.is-hidden {
    display: none;
  }
  .topics__container {
    max-width: 1176px;
    margin: 0 auto 30px;
  }
  .topics a {
    text-decoration: none;
    display: block;
  }
  .topics--1 {
    width: 273px;
  }
  .topics--2 {
    max-width: 335px;
  }
  .topics__tab {
    display: none;
  }
  .topics__item a {
    color: #777;
    font-weight: bold;
    text-decoration: none;
    padding-bottom: 5px;
  }
  .topics__item a.is-active {
    color: #000;
    border-bottom: solid 2px #0096e0;
  }
  .topics__item:first-child {
    margin-left: 0;
  }
  .topics__wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .topics__header {
    position: relative;
  }
  .topics__cat {
    position: absolute;
    bottom: -20px;
  }
  .topics__date {
    color: #777;
    font-size: 12px;
    font-size: 85.71429%;
    text-align: right;
  }
  .topics__new {
    color: #ff9100;
    display: inline-block;
    margin-right: 15px;
    position: relative;
  }
  .topics__new:after {
    color: #777;
    content: "|";
    right: -10px;
    position: absolute;
  }
  .catalog__new {
    color: #ff9100;
    display: inline-block;
    margin-right: 15px;
    position: relative;
  }
  .catalog__new:after {
    color: #777;
    content: "|";
    right: -10px;
    position: absolute;
  }
  .topics__body {
    background-color: #fff;
    padding: 10px;
    border: solid 1px #ddd;
  }
  .topics2__body {
    border: solid 1px #ddd;
  }
  .topics__img {
    overflow: hidden;
    position: relative;
  }
  .topics2__img {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 150px;
	 height: 264px;
	 margin: auto;
    overflow: hidden;
  }
  .topics--1 .topics__img {
    max-width: 314px;
    height: 190px;
  }
  .school .topics--1 .topics__img {
    height: unset;
  }
  .topics--1 .topics__img:after {
    width: calc(100% - 14px);
  }
  .topics--2 .topics__img {
    max-width: 314px;
    height: 110px;
  }
  .school .topics--2 .topics__img {
    height: unset;
  }
  .topics--2 .topics__img:after {
    width: calc(100% - 14px);
  }
  .topics__img img {
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    -o-transition: transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  }
  .topics__img img:hover {
/*	  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
      transform: scale(1.2);*/
    -webkit-transform: scale(1.07);
    -ms-transform: scale(1.07);
    transform: scale(1.07);
  }
  .topics__title {
    color: #000;
    font-size: 16px;
    font-size: 114.28%;
    line-height: 1.5;
    height: 61px;
    padding: 0 18px 10px 0;
    margin-bottom: 10px;
    border-bottom: solid 1px #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
  }
   .books__genba_wrap .topics__title{
      height: auto;
   }
  .contents__header--2 .topics__title {
    margin-bottom: 0;
    border-bottom: none;
  }
  .topics__title dl dt {
    font-size: 15px;
    font-size: 107.14286%;
  }
  .topics2__title{
    font-size: 17px;
    font-size: 121.42857%;
    line-height: 1.5;
    margin-bottom: 15px;
  }
  .topics2__txt{
  padding: 17px 45px 17px 17px;
  }
  .topics2__author{
    font-size: 15px;
    font-size: 107.14286%;
    margin-bottom: 10px;
  }
  .school .topics__title dl dt,.school .topics__title dl dd,.school .topics__title h3 {
    font-size: 16px;
  }
  .topics__title:after {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_2.png) 0 0 no-repeat;
    width: 8px;
    height: 16px;
    top: calc(50% - 8px);
    right: 5px;
  }
  .topics__txt {
    color: #444;
    padding: 0 5px;
  }
  .topics__link {
    text-align: right;
  }
   .books__topics2{
      margin-top: 45px;
   }
  .books__topics2_banner{
  width: 320px;
  height: 266px;
  margin: 25px auto 25px;
  }
  .books__topics2_banner img{
  border: solid 1px #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .books__list .contents--2{
    margin-bottom: 25px;
	 padding: 15px;
    background-color: #fff;
    border: solid 1px #eee;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 flex-wrap: wrap;
  }
  .books__list .contents--2 .contents__img{
	 width: 100%;
	 margin-bottom: 14px;
	 box-sizing: border-box;
	 padding: 15px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 justify-content: center;
  }
  .books__list .books__ranking .contents__img:hover{
 	border-color: #0096e0;
  }
  .books__list .contents--2 .contents__img img{
	 width: 240px;
	 max-width: 100%;
  }
  .books__list .contents--2 .contents__body .contents__title{
   font-size: 18px;
   font-size: 128.57143%;
	font-weight: bold;
	margin: 0 0 0.8em;
  }
  .books__list .contents--2 .contents__body .contents__type-list{
	 font-weight: bold;
	margin: 0 0 0.8em;
  }
  .books__list .contents--2 .contents__body .contents__text{
	padding: 0 0 0.5em;
	margin-bottom: 0.5em;
	border-bottom: 1px solid #aaaaaa;
  }
  .books__list .contents--2 .contents__btn-shop{
	 width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 padding-top: 20px;
	 flex-wrap: wrap;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop{
    display: table;
 	 width: 100%;
	 height: 60px;
	 box-sizing: border-box;
	 margin: 10px 0;
	 border: 1px solid #aaaaaa;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
	 text-decoration: none;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop:last-child{
    margin-bottom: 0;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop:hover{
    border-color: #0096e0;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop p{
    display: table-cell;
	 vertical-align: middle;
    padding-left: 70px;
	 color: #000;
    font-size: 16px;
    font-size: 114.28571%;
	 font-weight: bold;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop:hover p{
    color: #0096e0;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop-p:before{
    content: "";
    background: url(/img/books/img_p-book.png) center no-repeat;
	 background-size: 50%;
	 background-color: #0096e0;
	 width: 60px;
    height: 58px;
    position: absolute;
    right: auto;
    border-radius: 2px 0 0 2px;
    -webkit-border-radius: 2px 0 0 2px;
    -moz-border-radius: 2px 0 0 2px;
  }
  .books__list .contents--2 .contents__btn-shop .books__btn_shop-e:before{
    content: "";
    background: url(/img/books/img_e-book.png) center no-repeat;
	 background-size: 50%;
	 background-color: #0096e0;
	 width: 60px;
    height: 58px;
    position: absolute;
    right: auto;
    border-radius: 2px 0 0 2px;
    -webkit-border-radius: 2px 0 0 2px;
    -moz-border-radius: 2px 0 0 2px;
  }
  /*　お知らせ　*/
  .info--top .info {
    max-width: 820px;
    margin-right: auto;
    margin-left: auto;
  }
  .info--col2 {
    width: 100%;
    margin-bottom: 20px;
    *zoom: 1;
  }
  .info--col2:before {
    content: " ";
    display: table;
  }
  .info--col2:after {
    content: " ";
    display: table;
    clear: both;
  }
  .info--top .info__container {
    background-color: #f8f8f8;
    padding: 20px;
  }
  .info--col2 .info__container {
    padding-top: 10px;
    margin-bottom: 20px;
  }
  .info__title {
    color: #333;
    font-size: 20px;
    font-size: 142.85714%;
    font-family: "Yu Mincho Demibold","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
    margin-bottom: 20px;
  }
  .info__tab {
    display: none;
  }
  .info__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .info__item {
    margin-left: 20px;
  }
  .info__item a {
    color: #777;
    font-weight: bold;
    text-decoration: none;
    padding-bottom: 5px;
  }
  .info__item a.is-active {
    color: #000;
    border-bottom: solid 3px #0096e0;
  }
  .info__item:first-child {
    margin-left: 0;
  }
  .info__wrap {
    background-color: #fff;
    padding: 0 8px;
    margin-bottom: 20px;
    border-right: solid 1px #ddd;
    border-left: solid 1px #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .info__list_wrap{
  	 height: auto;
	 overflow: inherit;
	 margin: 20px 0;
	 padding: 10px;
	 border: solid 1px #ddd;
  }
  .info__wrap ul {
    border-top: dotted 1px #b2b2b2;
  }
  .info__cat {
    background-color: #fff;
    padding: 10px;
    border-bottom: dotted 1px #b2b2b2;
  }
  .info__list_wrap ul{
	 border-top: none;
  }
  .info__list_wrap ul li:last-of-type{
	 border-bottom: none;
  }
  .info__cat:nth-child(even) {
    background-color: #fcfcfc;
  }
  .info__cat.is-hidden {
    display: none;
  }
  .info__header {
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .info__date {
    color: #888;
    margin-right: 10px;
  }
  .info__icn {
    color: #fff;
    font-size: 12px;
    font-size: 71.42857%;
    text-align: center;
    background-color: #124488;
    min-width: 50px;
    display: inline-block;
    padding: 0 5px;
    margin-right: 5px;
  }
  .info__icn:last-child {
    margin-right: 0;
  }
  .info__icn--important {
    background-color: #ab010b;
  }
  .info__icn--new {
    background-color: #0096e0;
  }
  .info__body {
    color: #000;
    font-size: 16px;
    font-size: 114.28571%;
  }
  .info__body.info__detail {
    font-size: 12px;
    font-size: 85.71428%;
  }
   .info__detail .info__files_wrapper{
      margin: 1em 0;
      font-size: 1.2em;
   }
   .info__detail .info__files_wrapper li{
      margin-left: 23px;
      list-style-type: disc;
      font-weight: 500;
   }
   .info__detail .info__files_wrapper li a:after{
      content: "";
      display: inline-block;
      width: 15px;
      height: 19.5px;
      margin-bottom: -4px;
      margin-left: 5px;
   }
   .info__detail .info__files_wrapper li.info__files_pdf a:after{
      background: url(/img/common/icn_pdf.png) center no-repeat;
      background-size: contain;
   }
   .info__detail .info__files_wrapper li.info__files_xls a:after{
      background: url("/img/common/icn_xls.png") center no-repeat;
      background-size: contain;
   }
   .info__detail .info__files_wrapper li.info__files_xlsx a:after{
      background: url("/img/common/icn_xlsx.png") center no-repeat;
      background-size: contain;
   }
   .info__detail .info__files_wrapper li.info__files_zip a:after{
      background: url("/img/common/icn_zip.png") center no-repeat;
      background-size: contain;
   }
   .info__detail .info__img_wrapper{
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      max-width: 100%;
      margin: 1em 0;
   }
   .info__detail .info__img_wrapper li{
      width: calc((100% / 3) - 10px);
      min-width: 180px;
      margin: 5px;
   }
   .info__detail .info__img_wrapper li img{
      max-width: 100%;
      border: 1px solid #ccc;
   }
  .info__body a {
    color: #124488;
    text-decoration: none;
  }
  .info__body a:hover {
    color: #0096e0;
  }

  .info__body h3 {
	  font-size:18px;
	  font-size:150%;
      font-weight: bold;
      margin:28px 0;
  }
  .info__detail__backbtn {
     display: flex;
	 justify-content:center;
  }
  .info__detail__backbtn a {
	width:100px;
	height:32px;
	background-color: #616161;
	border-radius: 25px;
	display: flex;
	justify-content: center;
	padding-top:8px;
	margin:20px 0 0;
	color:#ffffff;
	font-size:100%;
	text-decoration: none;
  }
  .info__detail__backbtn ahover {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-webkit-opacity: 0.7;
	opacity: 0.7;
  }

  .info__btn {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
  }
  .info__btn a {
    color: #666;
    font-size: 13px;
    font-size: 92.85714%;
    line-height: 1;
    text-decoration: none;
    background-color: #fff;
    width: 100%;
    padding: 8px;
    border: solid 1px #ccc;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .info__btn a:hover {
    color: #0096e0;
  }
  .info__btn a:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_1_blue.png) 0 0 no-repeat;
    width: 5px;
    height: 10px;
    top: calc(50% - 5px);
    left: 10px;
  }
  /*　関連サイト　*/
  .company_banner__container {
    background-color: #f1f2f5;
    padding: 20px;
  }
  .company_banner__title {
    color: #333;
    font-size: 20px;
    font-size: 142.85714%;
    font-family: "Yu Mincho Demibold","游明朝","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
    margin-bottom: 20px;
  }
  .company_banner__list {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .company_banner__item {
    width: calc((100% - 10px) / 2);
    margin-right: 10px;
    margin-bottom: 10px;
  }
  .company_banner__item:nth-child(even) {
    margin-right: 0;
  }
  .company_banner__item a {
    text-indent: -9999px;
    width: 100%;
    height: 0;
    padding-top: 36.3636363%;
    display: block;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .company_banner__item a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  .company_banner__item--01 a {
    background: url(/img/common/bnr_01.png) 0 0 no-repeat;
    background-size: cover;
  }
  .company_banner__item--02 a {
    background: url(/img/common/bnr_02.png) 0 0 no-repeat;
    background-size: cover;
  }
  .company_banner__item--03 a {
    background: url(/img/common/bnr_03.png) 0 0 no-repeat;
    background-size: cover;
  }
  .company_banner__item--04 a {
    background: url(/img/common/bnr_04.png) 0 0 no-repeat;
    background-size: cover;
  }
  .company_banner__item--05 a {
    background: url(/img/common/bnr_05.png) 0 0 no-repeat;
    background-size: cover;
  }
  .company_banner__item--06 a {
    background: url(/img/common/bnr_06.png) 0 0 no-repeat;
    background-size: cover;
  }
  .company_banner__item--07 a {
    background: url(/img/common/bnr_07.png) 0 0 no-repeat;
    background-size: cover;
  }
  .company_banner__item--08 a {
    background: url(/img/common/bnr_08.png) 0 0 no-repeat;
    background-size: cover;
  }
  /*　フッター　*/
  .footer__contents--2 .footer__inner {
    padding: 10px;
  }
  .footer__link_list {
    padding: 20px;
    border-top: solid 2px #000;
    border-bottom: solid 2px #000;
  }
  .footer__link_list .link_list__title {
    color: #333;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .footer__link_list .link_list__wrap ul {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: dotted 1px #999;
  }
  .footer__link_list .link_list__wrap ul:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
  }
  .footer__link_list .link_list__wrap a {
    display: inline-block;
    color: #333;
    text-decoration: none;
    padding-left: 10px;
    position: relative;
  }
  .footer__link_list .link_list__wrap a:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_1_black.png) 0 0 no-repeat;
    width: 4px;
    height: 10px;
    top: calc(50% - 5px);
    left: 0;
  }
  .footer__link_list .link_list__wrap a[target="_blank"]:after {
    position: absolute;
    content: "";
    background: url(/img/common/icn_window.png) 0 0 no-repeat;
    width: 14px;
    height: 10px;
    top: calc(50% - 5px);
    right: -20px;
  }
  .footer__link_list .link_list__title a:before{
    content: none;
	}
  .footer__link_list .link_list__wrap a:hover {
    color: #0096e0;
  }
  .footer__link_list .link_list__block{
    margin-bottom: 20px;
  }
  .footer__banner {
    padding: 20px;
  }
  .footer__banner .banner__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .footer__banner .banner__item {
    width: 105px;
    height: 102px;
  }
  .footer__banner .banner__item a {
    text-indent: -9999px;
    display: block;
    width: 100%;
    height: 100%;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .footer__banner .banner__item a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  .footer__banner .banner__item--01 {
    margin-right: 10px;
  }
  .footer__banner .banner__item--01 a {
    background: url(/img/common/icn_privacy.png) 0 0 no-repeat;
  }
  .footer__banner .banner__item--02 a {
    background: url(/img/common/icn_verisign.png) 0 0 no-repeat;
  }
  .footer .pagetop__btn {
    width: 100%;
  }
  .footer .pagetop__btn a {
    color: #fff;
    text-align: center;
    text-decoration: none;
    display: block;
    width: 100%;
	 margin: 10px 0 ;
    padding: 5px;
    background-color: #0096e0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
    position: relative;
  }
  .footer .pagetop__btn a:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_5_up.png) 0 0 no-repeat;
    width: 11px;
    height: 15px;
    top: 9px;
    left: calc(50% - 55px);
  }
  .footer .pagetop__btn a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  .footer .copyright {
    color: #888;
    font-size: 10px;
    font-size: 71.42857%;
    text-align: center;
    display: block;
  }
  /*　ボタン　*/
  .btns {
    margin-bottom: 20px;
  }
  .btns__item {
    margin-bottom: 10px;
  }
  .btns__item:first-child {
    margin-left: 0;
  }
  .btns__item--1 a {
    background-color: #1b5189;
  }
  .btns__item--2 a {
    background-color: #0096e0;
  }
  .btns__item a {
    color: #fff;
    font-size: 18px;
    font-size: 128.57143%;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    width: 100%;
    padding: 10px;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .btns__item a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  .btns__item--sub{
    font-size: 14px;
	 line-height: 14px;
  }
  .btns__item--outlink{
  	 position: relative;
  }
  .btns__item--outlink:after{
    content: "";
	 display: block;
	 position: absolute;
	 width: 14px;
	 height: 10px;
	 background: url(/img/common/icn_window2.png) center no-repeat;
	 right: -20px;
	 top: calc(50% - 5px);
  }
  /*　小学校トップ　*/
  .school {
    margin-bottom: 20px;
  }
  .page__header {
    margin-bottom: 30px;
  }
  .school__header {
    margin-bottom: 10px;
  }
  .school__title {
    font-size: 20px;
    font-size: 142.85714%;
    font-weight: bold;
    background: url(/img/common/icn_ttl_01.png) left center no-repeat #f8f8f8;
    padding: 0 5px 0 35px;
  }
  .school .contents {
    border: solid 1px #aaa;
  }
  .school .contents__header {
    padding: 10px;
  }
  .school .contents__header--1 {
    background-color: #3eb3a4;
    margin-bottom: 5px;
  }
  .school .contents__header--1 .contents__title {
    color: #fff;
  }
  .school .contents__header--2 {
    background-color: #f6f6f6;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .school .contents__header--2 .topics--1 {
    background-color: #fff;
    margin: 0 5px 10px;
  }
  .school .contents__header--2 .topics__body {
    border: none;
  }
  .school .contents__header--2 .book {
    background-color: #fff;
    width: 100%;
    padding: 19px;
    margin-bottom: 20px;
    border: solid 1px #aaa;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .school .contents__header--2 .book:last-child {
    margin-bottom: 0;
  }
  .school .contents__header--2 .book a {
    color: #000;
    text-decoration: none;
    display: block;
  }
  .school .contents__header--2 .book__img {
    width: 198px;
    min-height: 280px;
    margin: 0 auto 20px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
    box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
    overflow: hidden;
    position: relative;
  }
  .school .contents__header--2 .book__img img {
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    -o-transition: transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  }
  .school .contents__header--2 .book__img img:hover {
/*    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);*/
	-webkit-transform: scale(1.07);
    -ms-transform: scale(1.07);
    transform: scale(1.07);
  }
  .school .contents__header--2 .book__title {
    font-size: 16px;
    font-size: 114.28571%;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
    margin-bottom: 0.5em;
  }
  .school .contents__header--2 .book__author {
    margin-bottom: 1em;
  }
  .school .contents__header--2 .book__detail {
    *zoom: 1;
  }
  .school .contents__header--2 .book__detail:before {
    content: " ";
    display: table;
  }
  .school .contents__header--2 .book__detail:after {
    content: " ";
    display: table;
    clear: both;
  }
  .school .contents__header--2 .book__detail dt {
    float: left;
  }
  .school .contents__header--2 .book__detail dt:after {
    content: "：";
  }
  .school .contents__title {
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
  }
  .school .contents__list {
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	 border: none;
  }
  .school .contents__list li {
    width: 160px;
    height: 32px;
    margin: 2px;
    float: left;
  }
  .school .contents__list li a {
    color: #000;
    font-size: 12px;
    font-size: 85.71429%;
    text-decoration: none;
    background-color: #fff;
    display: block;
    width: 100%;
    height: 100%;
    line-height: 16px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school .contents__list li a:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$value)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  .school .contents__link {
    font-size: 12px;
    font-size: 85.71429%;
  }
  .school .contents__link:before {
    content: url(/img/common/icn_arrow_1_white.png);
    margin-right: 5px;
  }
  .school .contents__link a {
    color: #fff;
    text-decoration: none;
  }
  .school .contents__link a:hover {
    text-decoration: underline;
  }
  .school .contents__body {
    padding: 10px 5px;
  }
  .school .contents__special {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-around;
  }
  .school .contents__special .topics--1 {
    margin: 0 3px 20px;
    float: left;
  }
  .school .contents__special .topics--1 .topics__img {
    height: 160px;
  }
  .school .contents__special .topics--1 .topics__img:after {
    width: 95%;
  }
  .school .contents__special .topics--2 {
    margin: 0 0 10px;
  }
  .school .contents__special .topics--2 .topics__title {
    height: auto;
  }
  .school .contents__btn {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
  }
  .school .contents__btn a {
    color: #666;
    font-size: 13px;
    font-size: 92.85714%;
    line-height: 1;
    text-decoration: none;
    background-color: #fff;
    width: 100%;
    padding: 8px;
    border: solid 1px #ccc;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .school .contents__btn a:hover {
    color: #0096e0;
  }
  .school .contents__btn a:before {
    position: absolute;
    content: "";
    width: 5px;
    height: 10px;
    top: calc(50% - 5px);
    left: 10px;
  }
  .school .contents__btn--02 a:before {
    background: url(/img/common/icn_arrow_1_orange.png) 0 0 no-repeat;
  }
  .school .contents__btn--03 a:before {
    background: url(/img/common/icn_arrow_1_bright_green.png) 0 0 no-repeat;
  }
  .school .contents__btn--05 a:before {
    background: url(/img/common/icn_arrow_1_green.png) 0 0 no-repeat;
  }
  .school .contents__btn--07 a:before {
    background: url(/img/common/icn_arrow_1_bright_blue.png) 0 0 no-repeat;
  }
  /*　教科書詳細ヘッダーナビ　*/
  .school_header {
   /* background: url(/img/common/bg_kv.png) center bottom no-repeat;*/
    padding-bottom: 0;
    margin-bottom: 7px;
	 -webkit-box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
    box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
  }
  .page_header__contents--1 {
    border-bottom: solid 1px #ddd;
  }
  .school_header__contents--1 {
    border-bottom: solid 1px #ddd;
  }
  .page_header__inner {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }
  .school_header__inner {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }
  .page_header__contents--1 .page_header__inner {
    padding: 10px;
  }
  .school_header__contents--1 .school_header__inner {
    padding: 10px;
  }
  .page_header__contents--2 .page_header__inner {
    padding: 10px;
  }
  .school_header__contents--2 .school_header__inner {
    padding: 3px 5px;
  }
  .page_header__title {
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
  }
  .school_header__title {
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
  }
  .school_header__btns ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .school_header__btn {
    width: 142px;
    height: 30px;
    margin-left: 10px;
  }
  .school_header__btn:first-child {
    margin-left: 0;
  }
  .school_header__btn a {
    color: #000;
    font-weight: bold;
    text-decoration: none;
    width: 100%;
    height: 100%;
    display: block;
    border: solid 1px #ddd;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school_header__btn a:before {
    font-size: 20px;
    content: "●";
    margin-right: 5px;
  }
  .school_header__btn--sho a:before {
    color: #ffb300;
  }
  .school_header__btn--sho a:hover {
    color: #ffb300;
    border: solid 1px #ffb300;
  }
  .school_header__btn--chu a:before {
    color: #0277bd;
  }
  .school_header__btn--chu a:hover {
    color: #0277bd;
    border: solid 1px #0277bd;
  }
  .school_header__btn--kou a:before {
    color: #6a1b9a;
  }
  .school_header__btn--kou a:hover {
    color: #6a1b9a;
    border: solid 1px #6a1b9a;
  }
  .school_header__navi {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .school_header__navi--sho .is-active:after {
    background-color: #ffb300;
  }
  .school_header__navi--chu .is-active:after {
    background-color: #0277bd !important;
  }
  .school_header__navi--kou .is-active:after {
    background-color: #6a1b9a;
  }
  .school_header__navi li {
    width: calc((100% - 3px) / 4);
    border-top: solid 1px #ccc;
    border-right: solid 1px #ccc;
  }
  .school_header__navi li:nth-child(-n + 4) {
    border-top: none;
  }
  .school_header__navi li:nth-child(4n) {
    border-right: none;
  }
  /*181121 fix jh header*/
  .school_header__navi.school_header__navi--chu li:nth-child(8){
   position: relative;
  }
  /*181121 fix jh header*/
  .school_header__navi.school_header__navi--chu li:nth-child(8):after{
   content: "";
	position: absolute;
	bottom: -1px;
	width: 100%;
	height: 1px;
	background-color: #ccc;
	}
  .school_header__navi li a {
    color: #666;
    font-size: 12px;
    font-size: 85.71429%;
    font-weight: bold;
    line-height: 1.2;
    text-decoration: none;
    padding: 5px;
    width: 100%;
    height: 100%;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school_header__navi li a:hover {
    color: #000;
  }
  .school_header__navi li.is-active {
    position: relative;
  }
  .school_header__navi li.is-active:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 2px !important;
    left: 0;
    bottom: 0 !important;
  }
  .school_header__navi li.is-active a {
    color: #000;
  }
  /*　小学校詳細　*/
  .school_detail {
    margin-bottom: 20px;
  }
  .school_detail__header {
	  margin-top: 10px;
    margin-bottom: 10px;
  }
  .school_detail .school_detail__header:first-of-type{
	  margin-top: 0;
  }
  .school_detail__title {
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
    background: url(/img/common/icn_ttl_01.png) left center no-repeat #f8f8f8;
    padding: 5px;
    padding-left: 35px;
  }
	.textbook--accordion{
		position: relative;
		width: 37px;
		height: 37px;
		background-color: #bdbdbd;
		top: -48px;
		margin-left: auto;
		margin-right: 0;
		margin-bottom: -45px;
	}
	.textbook--accordion:after{
		content: "";
		position: absolute;
		top: 5px;
		right: 0;
		bottom: 0;
		left: 0;
		width: 10px;
		height: 10px;
		margin: auto;
		border-top: 2px solid #666;
		border-left: 2px solid #666;
		transform: rotate(45deg);
		transition: all 0.3s;
	}
	.textbook--accordion.is--open:after{
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 5px;
		left: 0;
		width: 10px;
		height: 10px;
		margin: auto;
		border-top: 2px solid #666;
		border-left: 2px solid #666;
		transform: rotate(225deg);
		transition: all 0.3s;
	}
  .school_detail__body {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 5px;
  }
  .school_detail__body--2 {
    background-color: #fcfcfc;
    padding: 8px;
    border: solid 1px #eee;
  }
	.school_detail__freecontents{
		margin-bottom: 15px;
	}
	.school_detail__freecontents table th{
		padding: 5px;
		border: 1px solid #000;
	}
	.school_detail__freecontents table td{
		padding: 5px;
		border: 1px solid #000;
	}
	.school_detail__freecontents img{
		max-width: 100%;
	}
  .school_detail__body a {
	  display: flex;
	  width: 100%;
	  height: 100%;
    color: #000;
    text-decoration: none;
  }
  .school_detail__body a:hover .contents--1 .contents__header {
    border: solid 1px #0096e0;
	 border-bottom: none;
  }
  .school_detail__body a:hover .contents--1 .contents__body {
    border: solid 1px #0096e0;
	 border-top: none;
  }
  .school_detail__body a:hover .contents--2 {
    border: solid 1px #0096e0;
  }
  .school_detail__body a:hover .contents--3 {
    border: solid 1px #0096e0;
  }
  .school_detail__body .contents--1 .contents__header {
    padding: 8px;
    border: solid 1px #eee;
    border-bottom: none;
    position: relative;
  }
  .school_detail__body .contents--1 .contents__header:before {
    position: absolute;
    content: "";
    width: calc(100% - 40px);
    height: 1px;
    background-color: #ccc;
    left: 20px;
    bottom: 0;
  }
  .school_detail__body .contents--1 .contents__header:after {
    position: absolute;
    content: "";
    width: calc((100% - 40px) / 2);
    height: 3px;
    background-color: #ffb300;
    left: 20px;
    bottom: -1px;
  }
  .school_detail__body--chu .contents--1 .contents__header:after {
    background-color: #0277bd;
  }
  .school_detail__body--kou .contents--1 .contents__header:after {
    background-color: #6a1b9a;
  }
  .school_detail__body .contents--1 .contents__body {
    background-color: #fcfcfc;
    padding: 8px;
    border: solid 1px #eee;
    border-top: none;
  }
  .school_detail__body .contents--1 .contents__bottom {
    color: #666;
    padding: 0 10px;
    border: solid 1px #eee;
    border-top: none;
  }
  .school_detail__body .contents--1 .contents__title {
    font-size: 16px;
    font-size: 114.28571%;
  }
  .school_detail__body .contents--1 .contens__numbers {
    word-break: break-all;
    word-wrap: break-word;
  }
  .school_detail__body .contents--2 {
    padding: 5px;
    background-color: #fff;
    border: solid 1px #eee;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  .books__detail__contents_list .school_detail__body .contents--2 {
  	 padding-top: 0;
	 border-top: none;
  }
   .books__detail .books__files_wrapper{
      margin: 1em 0;
      font-size: 1.2em;
   }
   .books__detail .books__files_wrapper li{
      margin-left: 23px;
      list-style-type: disc;
      font-weight: 500;
   }
   .books__detail .books__files_wrapper li a:after{
      content: "";
      display: inline-block;
      width: 15px;
      height: 19.5px;
      margin-bottom: -4px;
      margin-left: 5px;
   }
   .books__detail .books__files_wrapper li.books__files_pdf a:after{
      background: url(/img/common/icn_pdf.png) center no-repeat;
      background-size: contain;
   }
   .books__detail .books__files_wrapper li.books__files_xls a:after{
      background: url("/img/common/icn_xls.png") center no-repeat;
      background-size: contain;
   }
   .books__detail .books__files_wrapper li.books__files_xlsx a:after{
      background: url("/img/common/icn_xlsx.png") center no-repeat;
      background-size: contain;
   }
   .books__detail .books__files_wrapper li.books__files_zip a:after{
      background: url("/img/common/icn_zip.png") center no-repeat;
      background-size: contain;
   }
  .school_detail__body .contents--2 .contents__img {
    max-width: 290px;
    margin-bottom: 5px;
  }
  .school_detail__body .contents--2 .contents__img img{
	  display: block;
    max-width: 110px;
	  border: 1px solid #ccc;
	  margin: 5px auto;
  }
  .school_detail__body .contents--2 .contents__movie iframe{
    max-width: 100%;
  }
  .school_detail__body .contents--2 .contents__title {
    font-size: 15px;
    font-size: 107.14286%;
  }
  .school_detail__body .contents--2 .contents__type {
    padding-bottom: 20px;
    margin-bottom: 20px;
    position: relative;
  }
  .school_detail__body .contents--2 .contents__type-list{
  	 color: #666;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  .school_detail__body .contents--2 .contents__type:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #ccc;
    left: 0;
    bottom: 0;
  }
  .school_detail__body .contents--2 .contents__type:after {
    position: absolute;
    content: "";
    width: 50%;
    height: 3px;
    background-color: #ffb300;
    left: 0;
    bottom: -1px;
  }
  body.juniorhighschool .school_detail__body .contents--2 .contents__type:after {
    background-color: #0277bd;
  }
  .school_detail__body--kou .contents--2 .contents__type:after {
    background-color: #6a1b9a;
  }
  .school_detail__body .contents--3 {
    padding: 5px;
    background-color: #fff;
    border: solid 1px #eee;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  .school_detail__body .contents--3 .contents__img {
    max-width: 290px;
    margin: 10px;
  }
  .school_detail__body .contents--3 .contents__img img{
    display: block;
	max-width: 110px;
    margin: 0 auto;
	  border: 1px solid #cccccc;
	  align-self: flex-start;
  }
  .school_detail__body .contents--3 .contents__title {
    font-size: 15px;
    font-size: 107.14286%;
  }
  .school_detail__body .contents--3 .contents__type {
    padding-bottom: 20px;
    margin-bottom: 20px;
    position: relative;
  }
  .school_detail__body .contents--3 .contents__type-list{
  	 color: #666;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  .school_detail__body .contents--3 .contents__type:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #ccc;
    left: 0;
    bottom: 0;
  }
  .school_detail__body .contents--3 .contents__type:after {
    position: absolute;
    content: "";
    width: 50%;
    height: 3px;
    background-color: #ffb300;
    left: 0;
    bottom: -1px;
  }
  .school_detail__body .contents__icns--1:after{
  	content: "";
	display: block;
	clear: both;
  }
  .school_detail__body .contents__icns--1 .contents__icn {
    color: #fff;
    font-weight: bold;
    height: 25px;
	  padding: 0 10px;
	 float: left;
	 margin-right: 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .price_table__icn--new{
    color: #fff;
    font-weight: bold;
    width: 20px;
    height: 50px;
    background-color: #e53935;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	  white-space: initial;
  }
  .price_table__icn--renew{
    color: #fff;
    font-weight: bold;
    width: 20px;
    height: 50px;
    background-color: #00bfa5;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	  white-space: initial;
  }
  .school_detail__body .contents__icns--2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .school_detail__body .contents__icns--2 .contents__icn {
    font-size: 12px;
    font-size: 85.71429%;
    min-width: 62px;
    height: 25px;
	  padding: 0 10px;
	 box-sizing: border-box;
    margin-right: 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .list__icn_wrap:after{
  	 content: "";
	 display: block;
	 clear: both;
  }
  .list__icn_new{
    float: left;
    color: #fff;
    font-weight: bold;
    height: 25px;
	  padding: 0 10px;
	 margin-right: 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	 background-color: #e53935;
	 border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	  white-space: normal;
  }
  .list__icn_renew{
    float: left;
    color: #fff;
    font-weight: bold;
    height: 25px;
	  padding: 0 10px;
	 margin-right: 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	 background-color: #00bfa5;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	  white-space: normal;
  }
  .list__icn_shin{
    float: left;
    color: #fff;
    font-weight: bold;
    height: 25px;
	  padding: 0 10px;
	 margin-right: 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	 background-color: #335dc8;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	  white-space: normal;
  }
  .list__icn_kyuu{
    float: left;
    color: #fff;
    font-weight: bold;
    height: 25px;
	  padding: 0 10px;
	 margin-right: 10px;
    margin-bottom: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #ba863e;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	  white-space: normal;
  }
  .school_detail__body .contents__icns--2 .contents__icn:last-child {
    margin-right: 0;
  }
  .school_detail__body .contents__icn--new {
    background-color: #e53935;
  }
  .school_detail__body .contents__icn--renew {
    background-color: #00bfa5;
  }
  .school_detail__body .contents__icn--shin {
    background-color: #335dc8;
  }
  .school_detail__body .contents__icn--kyuu {
    background-color: #ba863e;
  }
  .school_detail__body .contents__icn--sho {
    color: #ffb300;
    border: solid 1px #ffb300;
  }
  .school_detail__body .contents__icn--chu {
    color: #0277bd;
    border: solid 1px #0277bd;
  }
  .school_detail__body .contents__icn--kou {
    color: #6a1b9a;
    border: solid 1px #6a1b9a;
  }
  .school_detail__body .contents__icn--subject {
    color: #444;
    border: solid 1px #aaa;
  }
  .school_detail__body .contents__icn--use {
    color: #fff;
	 font-weight: bold;
    border: solid 1px #1e88e5;
    background-color: #1e88e5;
  }
  .school_detail__body .contents__icn--conformance {
    color: #fff;
    background-color: #094;
    border: solid 1px #094;
  }
  .school_detail__body .contents__years {
    color: #666;
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 12px;
    font-size: 85.71429%;
  }
  .school_detail__body .contents__title {
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 5px;
    font-size: 15px;
    font-size: 107.14286%;
  }
  .school_detail__body .contents__type {
    color: #666;
    margin-bottom: 10px;
  }
  .school_detail__body .contents__text {
    font-size: 13px;
    font-size: 92.85714%;
  }
  .school_detail__body .contents__notice {
    color: #666;
  }
  .school_detail__body .contents__books {
    background-color: #fff;
    padding: 5px;
    border: solid 1px #eee;
    *zoom: 1;
  }
  .school_detail__body .contents__books:before {
    content: " ";
    display: table;
  }
  .school_detail__body .contents__books:after {
    content: " ";
    display: table;
    clear: both;
  }
  .school_detail__body .contents__mainbook {
	  width:100%;
    margin: auto;
  }
  .school_detail__body .contents__mainbook img {
    width: auto;
    height: auto;
    max-height: 260px;
    max-width: 100%;
    display: block;
    margin: auto;
    border: 1px solid #eee;
	  /*
    -webkit-box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
    box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 4px;
	  */
  }
  .school_detail__body .contents__subimg__wrap {
    width: unset;
  	 box-sizing: border-box;
    background-color: #fff;
    margin-top: 20px;
    padding: 20px;
    border: solid 1px #eee;
    border-radius: 4px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
  }
  .school_detail__body .contents__subimg {
        width: 100%;
        max-width: 86px;
        margin: 0 10px 10px;
  }
  .school_detail__body .contents__subimg img {
    display: block;
    width: 100%;
    height: auto;
	  border: 1px solid #eee;
  }
  .school_detail__body .contents__book_tns {
    padding-top: 20px;
  }
  .school_detail__body .contents__book_tn {
    width: calc((100% - 15px) / 3);
    margin-left: 5px;
    margin-bottom: 5px;
    float: left;
  }
  .school_detail__body .contents__book_tn img {
    width: 100%;
    height: auto;
  }
  .school_detail__body .contents__icn_wrap{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	 justify-content: flex-start;
	 margin-top: 1em;
  }
  .school_detail__body .contents__icn_wrap img{
  	width: auto;
  	margin-right: 1em;
	margin-bottom: 1em;
  }
  .school_list__wrap{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 flex-wrap: wrap;
	  justify-content: space-between;
  }
  .school_list__wrap .school_list__box{
  	margin-bottom: 5px;
   width: calc(50% - 2.5px);
	box-sizing: border-box;
  }
  body.teisei .school_list__wrap .school_list__box{
   width: 100%;
  }
  body.teiseinaiyou .school_list__wrap .school_list__box{
   width: 100%;
  }
	
  .school_list__wrap .school_list__box:last-child{
  	margin-bottom: 0;
  }
	.school_list__wrap .school_list__box:nth-child(2n-1):nth-last-child(2){
  	margin-bottom: 0;
	}
  .school_list__wrap .school_list__box2{
	  display: flex;
   width: calc(50% - 2.5px);
	  margin-bottom: 5px;
	box-sizing: border-box;
  }
  .school_list__wrap .school_list__box2:nth-child(2n-1):nth-last-child(2){
  	margin-bottom: 0;
  }
  .school_list__wrap .school_list__box2:last-child{
  	margin-bottom: 0;
  }
  .school_list__wrap .contents--1{
	width: 100%;
	box-sizing: border-box;
  }
  .school_list__wrap .contents--2{
	width: 100%;
	box-sizing: border-box;
  }
  .school_list__wrap .contents--3{
	width: 100%;
	box-sizing: border-box;
  }
  .school_detail__btns--1 {
    margin-bottom: 5px;
  }
  .school_detail__btns--1 .btn__item {
  max-width: 374px;
    margin: 0 auto 10px;
  }
  .school_detail__btns--1 .btn__item:last-child {
    margin-bottom: 0;
  }
  .school_detail__btns--1 .btn__item a {
    border: solid 1px #ccc;
    display: block;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school_detail__btns--1 .btn__item a:hover {
    border: solid 1px #0096e0;
  }
  .school_detail__btns--1 .btn__item--large {
  max-width: 374px;
    margin: 0 auto 10px;
  }
  .school_detail__btns--1 .btn__item--large:last-child {
    margin-bottom: 0;
  }
  .school_detail__btns--1 .btn__item--large a {
    height: 85px;
	 line-height: 100px;
    border: solid 1px #ccc;
    display: block;
	 text-align: center;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
  }
  .school_detail__btns--1 .btn__item--large a:hover {
    border: solid 1px #0096e0;
  }
  .school_detail__btns--1 .btn__item--large a div{
    display: inline-block;
	 line-height: normal;
	 vertical-align: top;
	 margin: auto;
	 padding: 8px;
	 text-align: left;
  }
  .school_detail__btns--1 .btn__item--large a div h5{
   font-size: 16px;
   font-size: 114.28571%;
	font-weight: bold;
	text-decoration: none;
	color: #000000;
  }
  .school_detail__btns--1 .btn__item--large a div p{
	font-weight: 500;
	text-decoration: none;
	color: #000000;
  }
  .school_detail__btns--1 .btn__item--large2 {
  max-width: 374px;
    margin: 0 auto 10px;
  }
  .school_detail__btns--1 .btn__item--large2:last-child {
    margin-bottom: 0;
  }
  .school_detail__btns--1 .btn__item--large2 a {
    height: 34px;
	 line-height: 60px;
    border: solid 1px #ccc;
    display: block;
	 text-align: center;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
  }
  .school_detail__btns--1 .btn__item--large2 a:hover {
    border: solid 1px #0096e0;
  }
  .school_detail__btns--1 .btn__item--large2 a div{
    display: inline-block;
	 line-height: normal;
	 vertical-align: top;
	 margin-top: 5px;
	 text-align: left;
  }
  .school_detail__btns--1 .btn__item--large2 a div h5{
   font-size: 16px;
   font-size: 114.28571%;
	font-weight: bold;
	text-decoration: none;
	color: #000000;
  }
  .school_detail__btns--1 .btn__item--large2 a div p{
	font-weight: 500;
	text-decoration: none;
	color: #000000;
  }
  .school_detail__btns--2 {
    background-color: #fcfcfc;
    padding: 3px;
    border: solid 1px #eee;
    margin-bottom: 20px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  .school_detail__btns--2 .btn__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .school_detail__btns--2 .btn__item {
    width: calc((100% - 10px) / 3);
    margin-top: 5px;
    margin-right: 5px;
  }
  .school_detail__btns--2 .btn__item:nth-child(3n) {
    margin-right: 0;
  }
  .school_detail__btns--2 .btn__item:nth-child(-n + 3) {
    margin-top: 0;
  }
  .school_detail__btns--2 .btn__item a {
    border: solid 1px #ccc;
    display: block;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .school_detail__btns--2 .btn__item a:hover {
    border: solid 1px #0096e0;
  }
	
	.school_detail__btns--2 .btn__item a img{
		vertical-align: middle;
	}
  .school_detail__freecontents .freecontents__title {
    font-weight: bold;
  }
  .school_detail__freecontents .freecontents__text {
    font-size: 12px;
    font-size: 85.71429%;
  }
  .school_detail__subtitle {
    font-size: 17px;
    font-size: 121.42857%;
    font-weight: bold;
	  margin-top: 5px;
    margin-bottom: 5px;
  }
  .school_difficulty {
	position: relative;
  }
  .school_difficulty table{
	width: 100%;
  	border: 1px solid #dddddd;
	margin: 2em 0;
  }
  .school_difficulty table th{
   width: calc(100% / 4);
	height: 30px;
	line-height: 30px;
	font-weight: bold;
  	border: 1px solid #dddddd;
	background-color: #f6f6f6;
  }
  .school_difficulty table td{
	height: 40px;
  	border: 1px solid #dddddd;
  }
  .school_difficulty .difficulty_bar{
	display: inline-block;
  	height: 10px;
	background-color: #333333;
	position: absolute;
	top: calc(100% - 16px) !important;
  }
  .school_detail__body--sho .difficulty_bar{
   background-color: #ffb300;
  }
  .school_detail__body--chu .difficulty_bar{
   background-color: #0277bd;
  }
  .school_detail__body--kou .difficulty_bar{
  	background-color: #6a1b9a;
  }
	.school_info__table{
		overflow-x: auto;
		white-space: nowrap;
	}
/*
	.school_info__table::-webkit-scrollbar {
  height: 6px;
}
.school_info__table::-webkit-scrollbar-track {
  margin: 0 2px;
  background: #eee;
  border-radius: 3px;
}
.school_info__table::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 3px;
}
	*/
  .school_info__table h4{
   font-size: 18px;
   font-size: 128.57143%;
	font-weight: bold;
  }
  .school_info__table h5{
    font-size: 16px;
    font-size: 114.28571%;
	font-weight: bold;
  }
  .school_info__table table{
   width: 100%;
  	border: 1px solid #000000;
  }
  .school_info__table th{
   padding: 0.2em;
   text-align: center;
  	border: 1px solid #000000;
  }
  .school_info__table td{
   padding: 0.2em;
   text-align: center;
  	border: 1px solid #000000;
  }
  .school_info__table td:nth-of-type(2){
   text-align: left;
  }
  .school_info__table td a{
  	color: #0096e0;
	text-decoration: underline;
  }
  /*　サイドコンテンツ　*/
  .side_contents > div {
    margin-bottom: 10px;
  }
  .side_contents .side_school {
    border: solid 1px #ddd;
  }
  .side_contents .side_school__header {
    padding: 7px 22px 0;
    border-bottom: solid 1px #ddd;
    position: relative;
  }
  .side_contents .side_school__header:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .side_contents .side_school__header--sho:before {
    background-color: #ffb300;
  }
  .side_contents .side_school__header--chu:before {
    background-color: #0277bd;
  }
  .side_contents .side_school__header--kou:before {
    background-color: #6a1b9a;
  }
  .side_contents .side_school__title {
    font-size: 17px;
    font-size: 121.42857%;
    font-weight: bold;
    position: relative;
  }
  .side_contents .side_school__body {
    padding-bottom: 12px;
  }
  .side_contents .side_school__subtitle {
    font-size: 16px;
    font-size: 114.28571%;
    font-weight: bold;
    padding: 5px 22px 0;
    padding-bottom: 0;
  }
  .side_contents .side_school__cat {
    font-weight: bold;
    padding: 5px 22px 0;
    margin-bottom: 10px;
  }
  .side_contents .side_school__cat a{
	  text-decoration: none;
	  color: #000;
	  display: inline-block;
	  width: calc(100% - 20px);
  }
  .side_contents .side_school__cat a:hover{
	  text-decoration: underline;
  }
  .side_contents .side_school__cat:before {
    content: "";
    margin-right: 5px;
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #000;
  }
  .side_contents .side_school__cat--sho:before {
    background-color: #ffb300;
  }
  .side_contents .side_school__cat--chu:before {
    background-color: #0277bd;
  }
  .side_contents .side_school__cat--kou:before {
    background-color: #6a1b9a;
  }
  .side_contents .side_school__list {
    padding-top: 0;
  }
  .side_contents .side_school__list dt {
    position: relative;
    font-weight: bold;
    line-height: 25px;
    padding: 0;
    margin: 0 40px 5px 39px;
    border-bottom: 1px solid #ddd;
  }
  .side_contents .side_school__list dt a{
	  text-decoration: none;
	  color: #000;
	  display: block;
  }
  .side_contents .side_school__list dt a:hover{
	  text-decoration: underline;
  }
 /*
	.side_contents .side_school__list dt:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_6_g_down.png) 0 0 no-repeat;
    width: 9px;
    height: 5px;
    top: calc(50% - 3px);
    left: 24px;
  }
*/
  .side_contents .side_school__list dd a {
    color: #000;
    text-decoration: none;
    width: 100%;
    display: block;
    padding: 3px 22px 3px 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
  }
  .side_contents .side_school__list dd a:before {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_6_g.png) 0 0 no-repeat;
    width: 5px;
    height: 9px;
    top: calc(50% - 5px);
    left: 64px;
  }
  .side_contents .side_school__list dd a:hover {
    background-color: #f8f8f8;
  }
  .side_school__list .textbook--accordion{
	position: relative;
	width: 26px;
	height: 26px;
	background-color: inherit;
	top: -32px;
	margin-right: 10px;
	margin-bottom: -26px;
	}
	.side_school__list .textbook--accordion:after{
	top: 3px;
	width: 6px;
    height: 6px;
	}
	.side_school__list .textbook--accordion.is--open:after{
	bottom: 3px;
	width: 6px;
    height: 6px;
	}
  .side_contents .side_btn {
    border: solid 1px #ddd;
  }
  .side_contents .side_btn a {
    color: #666;
    font-size: 17px;
    font-size: 121.42857%;
    font-weight: bold;
    text-decoration: none;
    padding: 5px 22px 0; 
    display: block;
    position: relative;
/*    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;*/
  }
  .side_contents .side_btn span.side_ttl{
    color: #666;
    font-size: 17px;
    font-size: 121.42857%;
    font-weight: bold;
    text-decoration: none;
    padding: 5px 22px 0; 
    display: block;
    position: relative;
  }
  .side_contents .side_btn a:after {
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_6_g.png) 0 0 no-repeat;
    width: 5px;
    height: 9px;
    top: calc(50% - 5px);
    right: 22px;
  }
  .side_contents .side_btn a:hover {
    color: #0096e0;
  }
  .side_contents .side_btn--sho a {
    color: #000;
    position: relative;
  }
  .side_contents .side_btn--sho a:before {
    position: absolute;
    content: "";
    background-color: #ffb300;
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .side_contents .side_btn--chu a {
    color: #000;
    position: relative;
  }
  .side_contents .side_btn--chu a:before {
    position: absolute;
    content: "";
    background-color: #0277bd;
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .side_contents .side_btn--kou a {
    color: #000;
    position: relative;
  }
  .side_contents .side_btn--kou a:before {
    position: absolute;
    content: "";
    background-color: #6a1b9a;
    width: 10px;
    height: 3px;
    top: calc(50% - 2px);
    left: 0;
  }
  .sp__hide{
  	 display: none;
  }
.books_slider_link{
    position: absolute;
    top: -36px;
    right: 0;
}
.books_slider_link a{
    color: #666;
    font-size: 13px;
    font-size: 92.85714%;
    line-height: 1;
    text-decoration: none;
    background-color: #fff;
    width: 100%;
    padding: 8px 8px 8px 22px;
    border: solid 1px #ccc;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.books_slider_link a:before{
    position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_1_blue.png) 0 0 no-repeat;
    width: 5px;
    height: 10px;
    top: calc(50% - 5px);
    left: 10px;
}
.books_slider_link .books_slider_link__side{
	text-decoration: none;
}
.books__info_outlink{
	margin: 3em 0;
}
.books__info_outlink>div:first-of-type{
	padding-bottom: 2em;
	margin-bottom: 2em;
	border-bottom: 1px solid #aaaaaa;
}
.books__info_col2{
	width: 50%;
	min-width: 300px;
}
.books__info_col2 h3{
	color: #555555;
   font-size: 18px;
   font-size: 128.57143%;
	font-weight: bold;
	line-height: 36px;
}
.books__info_col2 ul li{
	position: relative;
	padding-left: 20px;
}
.books__info_col2 ul li:before{
	content: "";
	position: absolute;
	top: 13px;
	left: 0;
	width: 8px;
	height: 8px;
	border: 1px solid rgba(0,0,0,0);
	border-top-color: #888888;
	border-right-color: #888888;
	position: absolute;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}
.books__info_col2 ul li a{
	position: relative;
	color: #666666;
	line-height: 36px;
	text-decoration: none;
	white-space: nowrap;
}
.books__info_col2 ul li a:after{
	content: "";
	width: 14px;
	height: 10px;
	position: absolute;
	right: -20px;
	top: 3px;
	background: url(/img/common/icn_window.png) center no-repeat;
	background-size: contain;
}
.side_contents .side_btn--other .side_btn__books_link{
	 font-weight: bold;
    padding: 0 22px 0 39px;
    position: relative;
	 color: #000000;
    font-size: 16px;
    font-size: 114.28571%;
	 margin-bottom: 1em;
}
.side_contents .side_btn--other .side_btn__books_link:before{
	 position: absolute;
    content: "";
    background: url(/img/common/icn_arrow_6_g_down.png) 0 0 no-repeat;
    width: 9px;
    height: 5px;
    top: calc(50% - 3px);
    left: 24px;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
.books__list .books__ranking{
	position: relative;
}
.books__list .books__ranking:after{
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
}
.books__list .books__ranking--1:after{
	content: url(/img/books/icon_ranking_01.png);
}
.books__list .books__ranking--2:after{
	content: url(/img/books/icon_ranking_02.png);
}
.books__list .books__ranking--3:after{
	content: url(/img/books/icon_ranking_03.png);
}
.books__list .books__ranking--4:after{
	content: url(/img/books/icon_ranking_04.png);
}
.books__list .books__ranking--5:after{
	content: url(/img/books/icon_ranking_05.png);
}
.books__list .books__ranking--6:after{
	content: url(/img/books/icon_ranking_06.png);
}
.books__list .books__ranking--7:after{
	content: url(/img/books/icon_ranking_07.png);
}
.books__list .books__ranking--8:after{
	content: url(/img/books/icon_ranking_08.png);
}
.books__list .books__ranking--9:after{
	content: url(/img/books/icon_ranking_09.png);
}
.books__list .books__ranking--10:after{
	content: url(/img/books/icon_ranking_10.png);
}
.books__list .books__ranking--11:after{
	content: url(/img/books/icon_ranking_11.png);
}
.books__list .books__ranking--12:after{
	content: url(/img/books/icon_ranking_12.png);
}
.books__list .books__ranking--13:after{
	content: url(/img/books/icon_ranking_13.png);
}
.books__list .books__ranking--14:after{
	content: url(/img/books/icon_ranking_14.png);
}
.books__list .books__ranking--15:after{
	content: url(/img/books/icon_ranking_15.png);
}
.books__list .books__ranking--16:after{
	content: url(/img/books/icon_ranking_16.png);
}
.books__list .books__ranking--17:after{
	content: url(/img/books/icon_ranking_17.png);
}
.books__list .books__ranking--18:after{
	content: url(/img/books/icon_ranking_18.png);
}
.books__list .books__ranking--19:after{
	content: url(/img/books/icon_ranking_19.png);
}
.books__list .books__ranking--20:after{
	content: url(/img/books/icon_ranking_20.png);
}
.books__tweet{
	padding: 15px;
	background-color: #fafafa;
}
.books__tweet iframe{
	width: 780px !important;
      max-width: 100% !important;
}
#books_genre--pc{
   display: none;
}
#books_genre2--pc{
   display: none;
}
.contents__teisei_wrap {
    padding: 10px;
    background-color: #fff;
    border: solid 1px #eee;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
  }
.contents__teisei{
	 width: 100%;
}
.contents__teisei div:nth-of-type(2){
	 max-width: 800px;
}
.contents__teisei_intro{
  margin: 10px 0 15px;
}
.contents__teisei_ttl{
  padding: 10px 0 15px;
  font-size: 22px;
  font-weight: bold;
  color: #000;
}
.contents__teisei_ttl .contents__teisei_sub{
  display: block;
  text-align: right;
  font-size: 16px;
  font-weight: normal;
}
.contents__teisei_update{
  margin-bottom: 5px;
}
.contents__teisei_update p{
  font-size: 16px;
  font-weight: bold;
  color: #666666;
}
.contents__teisei_season{
	 width: 200px;
	 margin-top: 15px;
	 font-size: 16px;
    font-weight: bold;
    color: #666666;
}
.contents__teiseinaiyou .contents__teisei_season{
  width: 100%;
  color: #000;
}
.contents__teisei_table{
overflow-x: scroll;
}
.contents__teisei_table table{
  border-collapse: separate;
}
.contents__teisei_table tr th{
  min-width: 110px;
  background-color: #d3dae2;
  padding: 5px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  font-weight: bold;
  font-size: 16px;
  font-size: 114.28571%;
}
.contents__teisei_table--sticky thead tr th:first-child{
  position: sticky;
  left: -1px;
  z-index: 1;
}
.contents__teisei_table--sticky tbody tr th{
  position: sticky;
  left: -1px;
  z-index: 1;
}
.contents__teisei_table tr td{
  padding: 5px 7px;
  border-bottom: 1px solid #d3dae2;
  border-right: 1px solid #d3dae2;
}
.contents__teisei_table tr td div{
  display: block;
  margin: 0;
}
.contents__teisei_table tr td div a{
  width: 128px;
  height: 45px;
  margin: 3px 0;
  font-size: 14px;
  font-size: 100%;
  color: #555;
}
.contents__teisei_table tr td div a.contents__teisei_btn--pdf:after{
  top: calc(50% - 12px);
  width: 24px;
  height: 24px;
  background-size: 18px;
}
.contents__teisei_table tr td div a.contents__teisei_btn--zip:after{
  top: calc(50% - 12px);
  width: 24px;
  height: 24px;
  background-size: 18px;
}
.contents__teisei_btn{
	 position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
	 flex-wrap: wrap;
}
.contents__teisei_btn a{
	 position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 justify-content: space-between;
    align-items: center;
	 width: 190px;
	 height: 60px;
	 box-sizing: border-box;
	 margin: 15px 10px 15px 0;
	 padding: 0 15px 0 20px;
	 border: 1px solid #aaaaaa;
    font-size: 18px;
    font-size: 128.57143%;
	 font-weight: bold;
}
.contents__teisei_btn a.is--stop{
  background-color: #ddd;
  color: #666;
  cursor: default;
}
.contents__teisei_btn a.contents__teisei_btn--small{
  flex-direction: column;
  align-items: flex-start;
    width: 250px;
    height: auto;
    margin: 5px;
    font-size: 14px;
    font-size: 100%;
}
.contents__teisei_btn a.contents__teisei_btn--small span{
  display: block;
  font-size: 12px;
  font-weight: normal;
}
.contents__teisei_btn a:last-of-type{
	 margin-right: 0;
}
.contents__teisei_btn a:hover{
	 border-color: #0096e0;
}
.contents__teisei_btn a.is--stop:hover{
	 border-color: #aaaaaa;
}
.contents__teisei_btn a:before{
	 content: "";
	 position: absolute;
	 width: 12px;
	 height: 3px;
	 top: calc(50% - 2px);
	 left: 0;
	 background-color: #aaaaaa;
}
.contents__teisei--shou .contents__teisei_btn a:before{
	 background-color: #ffb300;
}
.contents__teisei--chuu .contents__teisei_btn a:before{
	 background-color: #0277bd;
}
.contents__teisei--kou .contents__teisei_btn a:before{
	 background-color: #6a1b9a;
}
.contents__teisei_btn a.contents__teisei_btn--pdf:after{
	 content: "";
	 position: absolute;
	 width: 34px;
	 height: 34px;
	 top: calc(50% - 17px);
	 right: 15px;
	 background: url(/img/common/icon_pdf.png) center no-repeat;
	 box-sizing: border-box;
	 padding: 3px;
	 border: 1px solid #aaaaaa;
}
.contents__teisei_btn a.contents__teisei_btn--zip:after{
	 content: "";
	 position: absolute;
	 width: 34px;
	 height: 34px;
	 top: calc(50% - 17px);
	 right: 15px;
	 background: url(/img/common/icon_zip.png) center no-repeat;
	 box-sizing: border-box;
	 padding: 3px;
	 border: 1px solid #aaaaaa;
}
.contents__teisei--accordion{
	position: relative;
	top: inherit;
	display: block;
	width: 200px;
	height: 30px;
	line-height: 30px;
	margin: 20px auto 20px 0;
	border: none;
	background-color: #0098df;
	color: #fff;
}
.contents__teisei--accordion:after{
	display: none;
}
.contents__teisei--accordion:before{
	content: "";
	position: absolute;
	top: calc(50% - 7px);
  right: 9px;
	transform: rotate(45deg);
	display: block;
	width: 8px;
	height: 8px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.contents__teisei--accordion.is--open:before{
	top: calc(50% - 1px);
	transform: rotate(-135deg);
}
.books__search_info{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 justify-content: space-between;
	 flex-wrap: wrap;
}
.books__search_info h3{
	 padding: 10px 0;
	 font-size: 18px;
	 font-weight: bold;
	 min-width: 50%;
}
.books__search_info .books__search_btn{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 justify-content: space-between;
	 flex-wrap: wrap;
	 width: 140px;
}
.books__search_info .books__search_btn button{
	 position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 font-size: 16px;
	 font-weight: bold;
	 margin-bottom: 10px;
	 padding-left: 60px;
	 width: 140px;
	 height: 40px;
	 color: #ffffff;
	 background-color: #666666;
	 border: none;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;

	/* 2018.06.29 Chrome時のselectを削除 */
	outline: none;
}

.books__search_info .books__search_btn button:hover{
	 background-color: #0096e0;
}
.books__search_info .books__search_btn button.books__search_btn--active{
	 background-color: #0096e0;
}
.books__search_info .books__search_btn button:before{
	 content: "";
	 position: absolute;
	 width: 40px;
	 height: 32px;
	 left: 8px;
	 top: calc(50% - 16px);
}
.books__search_info .books__search_btn .books__search_btn--p:before{
	 background: url(/img/books/img_p-book.png) center no-repeat;
	 background-size: contain;
}
.books__search_info .books__search_btn .books__search_btn--e:before{
	 background: url(/img/books/img_e-book.png) center no-repeat;
	 background-size: contain;
}
.books__search_pager{
	 margin: 15px 0;
}
.books__search_pager p{
	 font-size: 16px;
	 margin-bottom: 10px;
}
.books__search_pager div{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 justify-content: space-between;
}
.books__search_pager div a{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 justify-content: center;
	 width: 30px;
	 height: 30px;
	 color: #000000;
	 text-decoration: none;
	 box-sizing: border-box;
	 border: 1px solid #aaaaaa;
	 font-size: 16px;
}
.books__search_pager div a.books__search_pager--active{
	color: #ffffff;
	background-color: #0096e0;
}
.books__search_pager div a:last-of-type{
	 margin-right: 0;
}
.books__search_pager div a.books__search_pager--prev1:after{
	content: "";
	width: 30px;
	height: 30px;
	background: url(/img/books/prev1.png) center no-repeat;
}
.books__search_pager div a.books__search_pager--prev2:after{
	content: "";
	width: 30px;
	height: 30px;
	background: url(/img/books/prev2.png) center no-repeat;

}
.books__search_pager div a.books__search_pager--next1:after{
	content: "";
	width: 30px;
	height: 30px;
	background: url(/img/books/next1.png) center no-repeat;

}
.books__search_pager div a.books__search_pager--next2:after{
	content: "";
	width: 30px;
	height: 30px;
	background: url(/img/books/next2.png) center no-repeat;
}
.books__search_pager div span{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	 align-items: center;
	 justify-content: center;
	 width: 30px;
	 height: 30px;
	 box-sizing: border-box;
	 font-size: 16px;
}
.books__search_pager div span:after{
	content: "";
	width: 30px;
	height: 30px;
	background: url(/img/books/skip.png) center no-repeat;
}
.search__module{
	width: 100%;
	box-sizing: border-box;
	padding: 10px 20px;
	border: 1px solid #aaaaaa;
	margin-bottom: 25px;
}
.search__word{
	 margin-bottom: 20px;
}
.search__word h3{
	width: 200px;
	font-size: 16px;
	font-weight: bold;
}
.search__word input{
	-webkit-appearance: none;
	width: 100%;
	height: auto;
	box-sizing: border-box;
	padding-left: 0.5em;
	font-size: 20px;
	border: 1px solid #aaaaaa;
}
.search__category{
	 margin-bottom: 20px;
}
.search__category h3{
	width: 200px;
	color: #888888;
	font-size: 16px;
	font-weight: bold;
}
.search__category .search__category_radio{
   display: -webkit-box;
   display: -webkit-flex;
   display: -ms-flexbox;
   display: flex;
	align-items: center;
	margin-right: 3em;
}
.search__category .search__category_radio input{
	display: none;
}
.search__category .search__category_radio label{
	position: relative;
	margin-left: 1.5em;
	font-size: 16px;
}
.search__category .search__category_radio input + label:before{
	content: "";
	position: absolute;
	display: block;
	top: calc(50% - 8px);
	left: -1.5em;
	width: 16px;
	height: 16px;
	box-sizing: border-box;
	border: 1px solid #888888;
   -webkit-border-radius: 2px;
   -moz-border-radius: 2px;
   border-radius: 2px;
}
/*.search__category .search__category_radio input:checked + label:before{
	border: none;
	background-color: #0791d8;
}*/
.search__category .search__category_radio input:checked + label:after{
	content: "";
	position: absolute;
	display: block;
	top: calc(50% - 10px);
	left: -1.5em;
	width: 20px;
	height: 10px;
	border-bottom: 3px solid #0791d8;
	border-left: 3px solid #0791d8;
	box-sizing: border-box;
   -webkit-border-radius: 2px;
   -moz-border-radius: 2px;
   border-radius: 2px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.search__submit{
	position: relative;
	width: 100%;
	text-align: center;
}
.search__submit:after{
	content: "";
	position: absolute;
	top: calc(50% - 10px);
	left: calc(50% - 6em);
	width: 20px;
	height: 20px;
	background: url(/img/common/icn_search.png) center no-repeat;
	background-size: contain;

}
.search__submit_btn{
	-webkit-appearance: none;
	display: inline-block;
	position: relative;
	width: 250px;
	max-width: 100%;
	height: 50px;
	line-height: 50px;
	box-sizing: border-box;
	padding-left: 1em;
	font-size: 22px;
	font-weight: bold;
	color: #ffffff;
	background-color: #0791d8;
	border: none;
   -webkit-border-radius: 25px;
   -moz-border-radius: 25px;
   border-radius: 25px;
}
.search__submit_btn:hover{
	background-color: #2DB3F8;
}
.search__result{
	width: 100%;
	margin: 20px 0;
	font-size: 16px;
	font-weight: bold;
   display: -webkit-box;
   display: -webkit-flex;
   display: -ms-flexbox;
   display: flex;
	align-items: center;
	justify-content: space-between;
}
.search__result p{
	display: inline-block;
}
.books__movie{
	width: 100%;
}
.books__movie .topics__title{
	padding-bottom: 0;
	border-bottom: none;
	height: auto;
	min-height: 60px;
	padding-right: 1em;
}
.books__movie .topics__img{
	height: 182px;
	background-color: #cccccc;
}
.books__movie iframe{
	width: 313px;
	height: 168px;
	max-width: 100%;
	max-height: 100%;
}
.books__movie .catalog__new{
	color: #ff9100;
   display: inline-block;
   padding-right: 6px;
   margin-right: 6px;
   position: relative;
	border-right: 1px solid #aaaaaa;
   height: 1em;
   line-height: 1em;
}
.books__movie .catalog__new:after{
	content: none;
 }
.books__download_banner{
	margin: 10px;
}
.books__download_banner a:hover{
	opacity: 0.7;
}
.books__download_banner img{
	border: 1px solid #aaaaaa;
}
   
   .navi_books_sp{
      display: block;
   }
   .navi_books_sp h4{
      display: block;
      line-height: 30px;
      margin-top: -1px;
      text-align: center;
      font-weight: bold;
      color: #666;
      background-color: #eee;
      border-top: 1px solid #aaa;
      border-bottom: 1px solid #aaa;
   }
   .navi_books_sp__genre{
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding: 10px;
      padding-bottom: 0;
   }
   .navi_books_sp__genre a{
      display: block;
      width: calc((100% - 30px) / 3);
      line-height: 30px;
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      font-size: 14px;
      margin-bottom: 10px;
      color: #666;
      border: 1px solid #aaa;
      border-radius: 5px;
   }
   .navi_books_sp__cat{
      display: flex;
      justify-content: space-between;
      color: #666;
      border-top: 1px solid #aaa;
      border-bottom: 1px solid #aaa;
   }
   .navi_books_sp__cat a{
      position: relative;
      display: block;
      width: calc(100% / 3);
      line-height: 40px;
      font-size: 14px;
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      background-color: #eee;
      color: #666;
      border-right: 1px solid #aaa;
   }
   .navi_books_sp__cat a:before{
      content: "";
      display: block;
      position: absolute;
      top: calc(50% - 5px);
      left: 15px;
      width: 0;
      height: 0;
      border: 5px solid transparent;
      border-left: 5px solid #000;
      
   }
   .navi_books_sp__cat a:last-of-type{
      border-right: none;
   }
}
@media all and (max-width: 480px) {
	/*
  .school_detail__btns--2 .btn__item {
    width: calc((100% - 5px) / 2);
    margin-top: 5px;
    margin-right: 5px;
  }
  .school_detail__btns--2 .btn__item:nth-child(3n) {
    margin-right: 5px;
  }
  .school_detail__btns--2 .btn__item:nth-child(2n) {
    margin-right: 0;
  }
  .school_detail__btns--2 .btn__item:nth-child(-n + 3) {
    margin-top: 5px;
  }
  .school_detail__btns--2 .btn__item:nth-child(-n + 2) {
    margin-top: 0;
  }
	*/
}
@media all and (min-width:769px) and (max-width:1100px) {
  .header__catch{
	 display: none;
  }
}

/* -------------------------------------------------------------
スマホ (非 iphone SE)
--------------------------------------------------------------*/
@media all and (max-width: 768px) and (min-width: 321px) {
  .sp_header__contents .sp_navi__list--2 > li.sp_navi__support_link > a {
    padding-right: 5px;
    font-size: 98%;
    padding-top: 23px
  }
}

/* -------------------------------------------------------------
印刷設定
--------------------------------------------------------------*/
@media print {
	body {
		min-width: 1200px;
	}
  .school_list__wrap .school_list__box2{
   width: calc(50% - 12px);
	box-sizing: border-box;
  }
}
