/* slick */
@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
    background: #fff url('./ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    
content: "";
width: 12px;
height: 12px;
border-top: 2px solid #333;
border-right: 2px solid #333;
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
    height: 220px !important;
  }

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
/*  */
/* slick */
/*  */

/* CSS Document */

.contentArea{
  margin-left:4px ;
  margin-right: 4px;
}
.contentArea>h1{
  border: none;
  padding: 0;
  font-size: 1.5em;
  margin: 0;
  text-align: center;
}
/* 目次 */


/*== 開閉式もくじ ==*/
.contents_box {
  padding: 10px;
  font-size:1rem;/*タイトルのフォントサイズ*/
  color:#696969;/*タイトルの文字色*/
  background-color:#fff;/*背景色*/
  border: 3px solid #90E0EF;/*外枠線- 色*/
  margin-top: 15px;
}

/*== 開閉文字装飾 ==*/
.contents_box label {
  padding: 5px;
  color:#90E0EF; /*文字色*/
  font-size:1rem;/*フォントサイズ*/
  cursor:pointer;
  border-bottom: 1px dotted #90E0EF;/*下線*/
}

/*開く*/
.contents_box label:before{
  display: inline-block;
  content: "[ 開く ]";/*"表示"などに変更可*/}
/*閉じる*/
.contents_box input:checked ~ label:before {
   content: "[ 閉じる ]";/*"非表示"などに変更可*/}

.contents_box input{display:none;}
/*最初は非表示*/
.contents_box .hidden_show
{height:0;padding:0;overflow:hidden;transition:0.8s;}
/*クリックでopen*/
.contents_box input:checked ~ .hidden_show
{padding: 10px 0;height:auto;}


.mokuzi{
  border: 6px solid #b7e3e0;
}

.contentArea h2{
  border-bottom: 0.5rem solid #90E0EF ;
  text-align: center;
  margin-top: 50px;
  font-size: 22px;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.contentArea img{
  max-width: 100%
}
.topicPathWrap p{
  margin: 1rem .75rem;
  margin-top: 0px;
  line-height: 1.8;
}
.keitoubetu img{
  max-width: 100%;
  height: 172px;
  font-size: 22px;
  border-radius: 5px;
  border: 3px solid #fff;
  box-shadow: 0 2px 10px 0px rgb(94 104 151 / 25%);
  
}
.tebiki img{
  position: relative;
  width: 170px;
  margin: 0 auto;
  border-radius: 5px;
  border: 3px solid #fff;
  box-shadow: 0 2px 10px 0px rgb(94 104 151 / 25%);
}
.forteacher_btn{
  width: 310px;
  margin: 0 auto;
}
.booksWrap{
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: .75rem;
}
.booksWrap>div{
  background: #EDF7FD;
  margin-bottom: .75rem;
  overflow: hidden;
  width: 49%;
  border-radius:10px;
  padding: 0 10px;
}

.pbottom{
  margin-bottom: 0;
}

.booksWrap div > *{
  margin: .75rem auto;
}
.booksWrap .title{
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
}
.booksWrap h2{
  margin: 0 0 ;
  font-size: .9em;
  line-height: 1.4;
}
.booksWrap figure{
  text-align: center;
  margin: 0 auto;
  width: 80%;
}
.booksWrap ul{
  list-style-type: none;
  padding: 0;
  width: 160px;
}
.booksWrap li+li{
  margin-top: .5rem;
}
.booksWrap a{
  background: #90E0EF;
  display: block;
  letter-spacing: 1px;
  padding: 1rem;
  position: relative;
  text-align: center;
  border-radius: 5px;
}
.booksWrap a::before{
  content: "";
  border: 5px solid transparent;
  border-left-color: #fff;
  left: .25rem;
  top: calc(50% - 5px);
  position: absolute;
}
.booksWrap a.buy{
  background: #fff;
  border:  2px solid #90E0EF;
  display: block;
  letter-spacing: 1px;
  padding: 1rem;
  position: relative;
  text-align: center;
  box-shadow: 0 2px 5px 0px rgb(50 78 211 / 15%);
}
.booksWrap a.buy::before{
  content: "";
  border: 5px solid transparent;
  border-left-color: #90E0EF;
  left: .25rem;
  top: calc(50% - 5px);
  position: absolute;
}

.booksWrap ul li label.buy{
  background: #fff;
  border:  2px solid #90E0EF;
  display: block;
  letter-spacing: 1px;
  padding: .5rem;
  position: relative;
  text-align: center;
}
.booksWrap ul li label.buy::before{
  content: "";
  border: 5px solid transparent;
  border-left-color: #90E0EF;
  left: .25rem;
  top: calc(50% - 5px);
  position: absolute;
}

.menulink{
  display: flex;
  list-style:none;
  justify-content: space-around;
  padding-left: 0;
  margin-top: 30px;
}
.menulink li.highschoolstudent{
  text-align:center;
  padding:20px 5px;
  box-shadow: 2px 2px 4px #D1D1D1;
  padding-top: 28px;
}
.menulink li.booklist{
  text-align:center;
  padding:20px 5px;
  /* box-shadow: 2px 2px 4px #D1D1D1; */
  padding-bottom: 10px;
  padding-top: 12px;
  line-height: 1.4;
  padding-top: 15px;
}
.highschoolstudent,.teacher,.booklist{
  width: 100px;
  font-weight: bold;
}
.highschoolstudent{
  background-color: #FFF;
  border: 2px solid #90E0EF;
  padding: .75rem .5rem;
  border-radius: 5px;
}
li.teacher{
  border: 3px solid #68c6ef;
  background-color: #fff;
  padding:10px 5px;
  border-radius: 5px;
  box-shadow: 2px 2px 4px #D1D1D1;
  line-height: 1.4;
  padding-top: 15px;
}
.booklist{
  border: 3px solid #ffb612;
  background-color: #fff;
  padding: .75rem .5rem;
  border-radius: 5px;

}
.booklist:hover {
  box-shadow: 0;
}

.highschoolstudent{
  border: 3px solid #4dcfa3;
  background-color: #fff;
  padding: .75rem .5rem;
}
.highschoolstudent.current{
  background-color: #4dcfa3;
  color: #fff;
  
}
.current{
  background-color: #90E0EF;
  
}
.booklist.current{
  background-color: #ffb612;
  color: #fff;
  
}
.menulink.bottom{
  margin-top: 60px;
  margin-bottom: 40px;
}
.tipea{
  width: 135.1px;
  margin-left: 10px;
}
.tebiki{
  /* display: inline-flex; */
  text-align : center
}
.tebiki p{
  margin-top: 5px;
}
.column{
  display: flex;
  flex-direction:column;
}
/* .column p{
  width: 335px;
} */

/* 見るボタン */
.tebiki label.lookbtn{
  background-color: #90E0EF;
  width: 208px;
  height: 50px;
  padding-top: 7px;
  padding-bottom: 7px;
  border: 2px solid #90E0EF;
  cursor: pointer;
}
.column label.lookbtn{
  margin: 0 auto;
  margin-top: 5px;
  margin-bottom: 5px;
  display: block;
  position: relative;
  border-radius: 5px;
  padding-top: 15px;
  box-shadow: 0 2px 10px 0px rgb(50 78 211 / 25%);
  border: 2px solid #fff;
  font-weight: 700;
}
.column label.lookbtn::before{
  content: "";
  border: 5px solid transparent;
  border-left-color: #fff;
  left: .25rem;
  top: calc(50% - 5px);
  position: absolute;
}
.tebiki a.lookbtn{
  background-color: #90E0EF;
  width: 255px;
  height: 40px;
  padding-top: 15px;
  border: 2px solid #90E0EF;
  cursor: pointer;
  margin-bottom: 5px;
  box-shadow: 0 2px 10px 0px rgb(94 104 151 / 10%);
  border-radius: 3px;
}
.column a.lookbtn{
  margin: 0 auto;
  margin-top: 5px;
  margin-bottom: 5px;
  display: block;
  position: relative;
}
.column a.lookbtn::before{
  content: "";
  border: 5px solid transparent;
  border-left-color: #fff;
  left: .25rem;
  top: calc(50% - 5px);
  position: absolute;
}
/* 買うボタン */
.column label.buy{
  font-weight: 700;
  background-color: #fff;
  border: 2px solid #90E0EF;
  width: 208px;
  margin: 5px auto;
  position: relative;
  display: block;
  cursor: pointer;
  border-radius: 5px;
  height: 50px;
  padding-top: 16px;
  box-shadow: 0 2px 10px 0px rgb(50 78 211 / 25%);
}
.column label.buy::before{
  content: "";
  border: 5px solid transparent;
  border-left-color: #90E0EF;
  left: .25rem;
  top: calc(50% - 5px);
  position: absolute;
}
.column a.buy{
  background-color: #fff;
  border: 2px solid #90E0EF;
  width: 208px;
  margin: 5px auto;
  position: relative;
  display: block;
  cursor: pointer;
  border-radius: 5px;
  height: 50px;
  padding-top: 16px;
}
.column a.buy::before{
  content: "";
  border: 5px solid transparent;
  border-left-color: #90E0EF;
  left: .25rem;
  top: calc(50% - 5px);
  position: absolute;
}
.column label.mini{
  width: 208px;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  box-shadow: 0 2px 5px 0px rgb(50 78 211 / 15%);
}
.column a.mini{
  width: 208px;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  font-weight: 700;
  box-shadow: 0 2px 5px 0px rgb(50 78 211 / 15%);
}
/* 地域別セット */
.tworows{
  display: flex;
}
.tworows.lookbtn{
  width: 180px;
}
.set a.lookbtn{
  width: 180px;
  position: relative;
}
.set a.lookbtn::before{
  content: "";
  border: 5px solid transparent;
  border-left-color: #fff;
  left: .25rem;
  top: calc(50% - 5px);
  position: absolute;
}
.set{
  width:50%;
  margin-top: 77px;

}
.set a.buy{
  display: block;
  width: 175px;
  height: 40px;
  text-align:center;
  padding:6px 0;
}
.title h2{
  border-bottom: none;
  min-height: 77px;
}
.title h2.twolines{
  min-height: 77px;
  margin: 0 auto;
}
.title h2.manylines{
  -webkit-line-clamp: 3;
}
.price{
  text-align: center;
  font-size: 13px;
}
.twolines{
  display: flex;
}
.title h2.twolines.mini{
  min-height: 55px;
}
.title h2.work{
  min-height: 40px;
  text-align: left;
  margin: 0 auto;
}
/* ポップアップ */
.popup_btn,.popup{
  display: none;
  opacity: 0
}
.popup_btn:checked + .popup {
  display: block;
  opacity: 1;
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
}
.close_popup{
  position: fixed;
  display: block;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,.2);
  z-index: 10000;
  cursor: pointer;
}
.popup_wrap {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 80%;
  height: 90%;
  height: fit-content;
  max-width: 540px;
  padding: 24px 24px;
  background: #fff;
  border-radius: 10px;
  z-index: 10001;
  -ms-overflow-style:none;
  display: flex;
  flex-direction: column;
  -ms-overflow-style: none;    /* IE, Edge 対応 */
  scrollbar-width: none;       /* Firefox 対応 */
}
.popup_wrap p{
  margin-bottom: 24px;
}
.popup_wrap p:last-child{
  margin-bottom: 0;
}
.popup_wrap::-webkit-scrollbar{
  display:none;
}
.close_btn {
  position: absolute;
  right: 12px;
  top: 8px;
  cursor: pointer;
  font-size: 20px;
  color: #333;
  margin: 0;
}
.open_btn{
  margin: 0 auto;
  padding: 8px 16px;
  background: #07a;
  display: table;
  color: #fff;
}
.open_btn:hover{
  background: #00b3ff;
}
.mass{
  max-width: 90%;
  text-align: center;
  margin: 0 auto;
}
.penicon{
  padding-left: 1.7em;
  border-left: 0;
  margin-left: 10px;
  font-weight:700;
}
.penicon::before{
  content: "";
  background: url("../../../img/page/book/icon_highschoolstudent_point.png") no-repeat;
  z-index: 1;
  width: 30px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 6px;
}
p{
  text-align: left;
}
.btnmiru{
  background-color: #90E0EF;
  border: 2px solid #90E0EF;
  width: 120px;
  height: 38px;
  padding-top: 15px;
  margin: 5px auto;
  position: relative;
  display: block;
  cursor: pointer;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.btnmiru::before{
  content: "";
  border: 5px solid transparent;
  border-left-color: transparent;
  border-left-color: #fff;
  left: .25rem;
  top: calc(50% - 5px);
  position: absolute;
}
.hidden_show ul{
  list-style-type: none ;
  line-height: 27px;
}
.hidden_show ul a{
  position: relative;
}
.hidden_show ul a::before{
  content: "";
  border: 5px solid transparent;
  border-left-color: transparent;
  border-left-color: #90E0EF;
  left: -1rem;
  top: calc(50% - 5px);
  position: absolute;
  z-index: 1;
}
.mokuzitext{
  color: #333;
}

.verticalcost{
  position: relative;
}
.verticalcost img{
    position: relative;
    width: 170px;
    margin: 0 auto;
    border-radius: 5px;
    border: 3px solid #fff;
    box-shadow: 0 2px 10px 0px rgb(94 104 151 / 25%);
}
.verticalcost img::after{
  content: '';
  position: absolute; /* 親要素に重なるように */
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 白の透明度を調整したグラデーション */
  background: linear-gradient(
    -90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.1) 80%,
    rgba(255, 255, 255, 0.4) 94%,
    rgba(255, 255, 255, 0.5) 96%,
    rgba(255, 255, 255, 0) 100%
  );
}
.verticalcost img.tamesiyomi{
  width: 63px;
}
.absrt{
  position: relative;
  cursor: pointer;
  margin: 0 auto;
}
.absrt::before{
  content: "";
  background: url("/new/_app/_webroot/img/page/book/icon_tamesiyomi.png") no-repeat;
  background-size: auto;
  z-index: 1;
  width: 72px;
  height: 65px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 60px;
}
.tamesiyomi{
  position: absolute;
  bottom: 217px;
  left: 31px;
  z-index: 5;
  width: 60px;
}
.btnicon{
  position: absolute;
  top: -28px;
  right: 0;
  left: 0;
  width: 31px;
  height: 31px;
  margin: 0 auto;

}
.teacher{
  position: relative;
}
.highschoolstudent{
  position: relative;
}
.booklist{
  position: relative;
}
.teacher::before{
  content: "";
  background: url("../../../img/page/book/icon_teacher_sp.png") no-repeat;
  z-index: 1;
  width: 79px;
  height: 41px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 26px;

  top: -28px;
}
.teacher.current{
  background-color: #68c6ef;
  color: #fff;

}
.teacher.current::before{
  content: "";
  background: url("../../../img/page/book/icon_teacher_current_sp.png") no-repeat;
  z-index: 1;
  width: 79px;
  height: 41px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 26px;
  top: -28px;
}
.highschoolstudent::before{
  content: "";
  background: url("../../../img/page/book/icon_highschoolstudent_sp.png") no-repeat;
  z-index: 1;
  width: 43px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 27px;
  margin: auto;
  top: -29px;
}
.highschoolstudent.current::before{
  content: "";
  background: url("../../../img/page/book/icon_highschoolstudent_current_sp.png") no-repeat;
  background-size: auto;
  z-index: 1;
  width: 43px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  margin: auto;
  left: 27px;
  top: -29px;
}
.booklist::before{
  content: "";
  background: url("../../../img/page/book/icon_book_sp.png") no-repeat;
  background-size: auto;
  z-index: 1;
  width: 43px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 32px;
  margin: auto;
  top: -29px;
}
.booklist.current::before{
  content: "";
  background: url("../../../img/page/book/icon_book_current_sp.png") no-repeat;
  background-size: auto;
  z-index: 1;
  width: 43px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 302px;
  margin: auto;
  left: 32px;
  top: -29px;
}
.tamesiyomi.position{
  top: -228px;
  left: 23px;
}
.absrt{
  position: relative;
}
.btnfloat{
  margin: 0 auto;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-top: 5px;
  margin-bottom: 5px;
  position: relative;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.scroll{
  table-layout: fixed;
  word-wrap:break-all;
  scrollbar-color: #90E0EF #e0e0e0;
  scrollbar-width: thin;
}
.scroll ul{
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  padding: 0 3em 0 2em;
  width: 100%;
  min-height: 40px;
  background: #EDF7FD;
  border-radius: 0.3rem;
  overflow-x: auto;
  overflow-y: hidden;
  font-size: 1.2rem;
  list-style: none;
  padding: 15px 10px;
  table-layout: fixed;
  word-wrap: break-word;
  text-overflow: ellipsis;
  max-width: 95%;
}
.scroll ul li{
  cursor: pointer;
  position: relative;
  padding: 20px;
  background: #fff;
  border: solid 2px #90E0EF;
  border-radius: 1rem;
  white-space: nowrap;
  color: #EDF7FD;
  overflow-wrap:break-word;
  font-size:15.2px;
  width: 290px;
  height: 200px;
  display: block;
}
.scroll ul li img{
  width: 120px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.scroll::-webkit-scrollbar {
  width: 30px;
}
.scroll::-webkit-scrollbar-track {
  background: #c2e7f2;
  border-radius: 20px;
}
.scrol::-webkit-scrollbar-thumb {
  background: transparent; 
}
li.bigimg{
  width: 120px;
  margin: 10px;
}
.topmokuzi.highschoolstudent{
	position: relative;
	background: #D8FFF7;
  width: 300px;
  margin: 0 auto;
  margin-top: 30px;
  padding-top: 10px;
  text-align: center;
  font-size: 18px;
  border:none;
  font-weight: 500;
  margin-bottom: 20px;
}
.topmokuzi.highschoolstudent::before,.topmokuzi.highschoolstudent::after{
  content:'';
	width: 20px;
	height: 40px;
	position: absolute;
	display: inline-block;
}
.topmokuzi.highschoolstudent::before{
  content: "";
  z-index: 1;
  width: 30px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
	border-left: solid 3px #59b395;
	border-top: solid 3px #59b395;
	top:0;
	left: 0;
  background: none;
}
.topmokuzi.highschoolstudent::after{
	border-right: solid 3px #59b395;
	border-bottom: solid 3px #59b395;
	bottom:0;
	right: 0;

}

.topmokuzi.teacher{
  position: relative;
  background: #E6FBFF;
  width: 300px;
  margin: 0 auto;
  margin-top: 30px;
  padding-top: 10px;
  text-align: center;
  font-size: 18px;
  border: none;
  font-weight: 500;
  margin-bottom: 20px;
  padding-bottom: 10px;
}
.topmokuzi.teacher::before{
  content: "";
  z-index: 1;
  width: 30px;
  height: 30px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  border-left: solid 3px #90E0EF;
  border-top: solid 3px #90E0EF;
  top: 0;
  left: 0;
background: none;
}
.topmokuzi.teacher::after{
  content: "";
  border-right: solid 3px #90E0EF;
  border-bottom: solid 3px #90E0EF;
  bottom: 0;
  right: 0;
  width: 30px;
  height: 30px;
}
.topmokuzi.product{
  position: relative;
  background: #fff9ea;
  width: 300px;
  margin: 0 auto;
    margin-top: 0px;
    margin-bottom: 0px;
  margin-top: 30px;
  padding-top: 10px;
  text-align: center;
  font-size: 18px;
  border: none;
  font-weight: 500;
  margin-bottom: 20px;
  padding-bottom: 10px;
}
.topmokuzi.product::before{
  content: "";
  z-index: 1;
  width: 30px;
  height: 30px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  border-left: solid 3px #FFDC8D;
  border-top: solid 3px #FFDC8D;
  top: 0;
  left: 0;
  background: none;
}
.topmokuzi.product::after{
  content: "";
  border-right: solid 3px #FFDC8D;
  border-bottom: solid 3px #FFDC8D;
  bottom: 0;
  right: 0;
  width: 30px;
  height: 30px;
}
::-webkit-scrollbar-thumb {
  width: 20px;
}

label:hover{
  opacity: .5;
}
.main-gallery{
  min-height: 40px;
  background-image: linear-gradient(to top, #cfe1ff 10%, #ebf9ff 10%);
  border-radius: 0.3rem;
  font-size: 1.2rem;
  list-style: none;
  padding: 15px 10px;
  table-layout: fixed;
  word-wrap: break-word;
  text-overflow: ellipsis;
  max-width: 95%;
  width: 100%;
  height: 270px;
}

.gallery-cell{
  cursor: pointer;
  position: relative;
  padding: 20px;
  border-radius: 1rem;
  white-space: nowrap;
  overflow-wrap: break-word;
  font-size: 15.2px;
  width: 330px;
  height: 240px;
  text-align: center;
}

.gallery-cell img{
  width: 120px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  height: 165px;
  border-radius: 0.5rem;
  margin-bottom: 30px;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.15);
}

li.yoko img{
  margin-right: 39px;
}
.slick-prev::before{
  content: ""!important;
}

.slick-next::before{
  content: ""!important;
} 

.slick-prev{
  left: 10px!important;
  z-index: 2;
  content: "";
  width: 12px;
  height: 12px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  -webkit-transform: rotate(-135deg);
  transform: rotate(225deg);
}

.slick-next{
  right: 10px!important;
  z-index: 2;
  content: "";
  height: 12px;
  border-bottom: 2px solid #333;
  border-left: 2px solid #333;
  border-top: 0!important;
  border-right: 0!important;
  -webkit-transform: rotate(-135deg);

}
.slick-arrow{
  position: absolute;
  cursor: pointer;
  bottom: -25px;
}
.slick-dots{
  position: absolute!important;
  bottom: -25px!important;
  padding: 0!important;
  list-style: none!important;
  text-align: center!important;
  justify-content: center!important;
  display: flex!important;
  width: 80%!important;
  justify-content: space-around!important;
  margin: 0 auto!important;
  align-items: center!important;
  right: 0px;
  left: 0px;
}

.slick-dots li{
  position: relative!important;
  display: inline-block!important;
  width: 11px!important;
  height: 20px!important;
  margin: 0px!important;
  padding: 0!important;
  cursor: pointer!important;
}
.slick-dots li button::before{
  font-size: 15px!important;
}
.slick-slider{
  box-sizing:content-box!important;
}
.slick-slide{
  height: 241px !important;
  width: 227px !important;
}
.textcenter{
  text-align: center;
}
.gallery-cell a span{
  display: block;
  border-radius: 1.5rem;
  bottom: 10px;
  position: relative;
  width: fit-content;
  margin: 0 auto;
  font-weight: bold;
}
/* ↓　高校生ページお任せボタン */
.omksBnr{
  width: 280px;
  height: 95px;
  margin: 0 auto;
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1)  1 forwards;
  position: fixed;
  bottom: 8%;
  left: 10%;
  z-index: 10;
}

@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 高校生ページお任せボタン */

.sidebook::before{
  content: "";
  position: absolute;
  top: 85%;
  left: 80%;
  background: url(../../../img/page/book/book1.png) no-repeat;
  background-size: contain;
  transform: translate(0, -50%);
  width: 8rem;
  height: 4em;
}

.sidebook_two::before{
  background: url(../../../img/page/book/book2.png) no-repeat;
  content: "";
  position: absolute;
  top: 78%;
  left: 80%;
  background-size: contain;
  transform: translate(0, -50%);
  width: 8rem;
  height: 4em;
}

.sidebook_three::before{
  background: url(../../../img/page/book/book3.png) no-repeat;
  content: "";
  position: absolute;
  top: 78%;
  left: 80%;
  background-size: contain;
  transform: translate(0, -50%);
  width: 8rem;
  height: 4em;
}

.otoiawasebotan.kikakusyo{
  background-color: #ffb612;
  padding: 14px;
  border-radius: 10px;
  font-size: 17px;
  width: 295px;
  position: relative;
  padding-left: 45px;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  border-radius: 50px;
  box-shadow: 0 2px 5px 0px rgb(50 78 211 / 15%);
  color: #fff;
}


/* ↓　先生ページお問い合わせボタン */
.otoiawasebotan{
  background-color: #FFBB33;
  padding: 14px;
  border-radius: 10px;
  font-size: 17px;
  width: 295px;
  position: relative;
  margin: 0 auto;
  padding-left: 50px;
  padding-right: 50px;
  font-size:19px ;
  font-weight: bold;
  position: relative;
  border-radius: 50px;
  box-shadow: 0 2px 5px 0px rgb(50 78 211 / 15%);
  color: #fff;
}
.otoiawasebotan::after{
  content: '';
  border: 7px solid transparent;
  border-left-color: transparent;
  border-left-color: #fff;
  position: absolute;
  left: 27.3rem;
  top: calc(50% - 6px);
}
.otoiawase img{
  width: 120px;
  margin-left: 140px;
}
.fukidasi{
  margin-left: 0;
}
.otoiawase img{
  float: right;
  margin: 1.2em 3em 0 0;/*画像の周りの余白*/
  clear: both;/*.spaceのfloat解除*/
  margin-right: 5em;
  }
.mawarikomi{
  overflow: hidden;/*float解除*/
}
.mawarikomi p{
  margin: 2rem .75rem;
}
.space {
  float: right;/*画像の位置を右下にしたい場合はright*/
  height: 8.3em/*画像上の余白の高さ*/
}
h3.forteacher{
  padding:2rem;
  text-align: center;
  font-size: 22px;
  margin-top: 50px;
  position: relative;
  padding-left: 4rem;
}
h3.forteacher::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 3.2em;
  background: url("../../../img/page/book/icon_book.png") no-repeat;
  background-size: auto;
  background-size: auto 100%;
  transform: translate(0,-50%);
  width: 1.5em;
  height: 1.5em;
}
.otoiawase{
  background-color: #FDF6EC;
  height: 350px;
}
/* アドバイザー検定受付 */
.advisortitle{
  font-size: 20px;
  border-bottom: 3px dashed #90E0EF;
  font-weight: 700;
}
.advisor span{
  font-weight: 700;
}
.advisorbotan{
  background-color: #90E0EF;
  padding: 15px;
  border-radius: 5px;
  padding-right: 38px;
}
.buluebotan{
  text-align: center;
  margin-top: 30px;
  position: relative;
}
.buluebotan::after{
  content: '';
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-right-style: solid;
  border-color: transparent;
  border-right-color: transparent;
  border-left-color: transparent;
  border-width: 0.375em 0.64952em;
  border-right-width: 0.64952em;
  border-left-color: currentColor;
  border-right: 0;
  padding-right: 10px;
  left: -22px;
  position: relative;
}
.advisor{
  background-color: #EDF7FD;
  height: 370px;
  padding-top: 5px;
  padding-bottom: 10px;
  margin-top: 20px;
}
.pcview {
  display: none;
}
.font{
  font: initial;
}

/* 国家試験バナー */
.kokkaborder{
  border:2px solid #59b395;
  border-radius: 10px;
  margin-top: 50px;
  margin-right: 5px;
  margin-left: 5px;
  position: relative;
}
h3.kokka{
  position: absolute;
  top: -5px;
  left: -6px;
  display: inline-block;
  padding: 5px 15px;
  background: #59b395;
  font-size: 1.5rem;
  color: #fff;
  text-align: left;
  font-weight: bold;
  font-size: 22px;
}
h3.kokka::before{
  content: '';
  top: 100%;
  left: 0px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 5px 0;
  border-color: transparent #b3b3b3 transparent transparent;
  position: inherit;
}
.kokkaborder img{
  width: 313px;
}
.kokkaimg{
  text-align: center;
  margin-top: 55px;
  margin-bottom: 20px;
}
p.pickup{
  position: relative;
  width: 262px;
  margin-left: 27%;
  padding-top: 30px;
}
p.pickup::before{
  content: "";
  background: url("../../../img/page/book/icon_pickup.png") no-repeat;
  background-size: auto;
  z-index: 1;
  width: 84px;
  height: 86px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: -95px;
  top: 17px;

}
.pickuph2{
  margin-top: 25px !important;
}
.osusumapt{
  border:2px solid #F5B638 ;
  margin: 0.75rem;
  border-radius: 5px;
  background-color: #fff;
}
.ptmidasi{
  font-size: 18px;
  background: linear-gradient( to bottom, transparent 90%, rgb(255, 220, 141)50%);
  font-weight: 700;
}
p.ptlist{
  position: relative;
  margin-left: 4rem;
}
.ptlist::before{
  content: "";
  background: url("../../../img/page/book/icon_pickup_check.png") no-repeat;
  background-size: auto;
  z-index: 1;
  width: 23px;
  height: 86px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: -30px;
  top: 3px;
}
.pickupback{
  background-color:#FDF6EC ;
  margin-top: 70px;
  padding-bottom: 30px;
}
/* -------------------------
  /* for pc only
  --------------------------*/
  @media screen and (min-width: 768px) {

    @CHARSET "UTF-8";
  
  /* CSS Document */

.contentArea.onlinebook{
  max-width: 960px;
  margin: 0 auto;
}

.booksWrap{
  margin: .75rem 0;
}
.booksWrap>div{
  box-sizing: border-box;
  padding: .75rem .5rem;
  width: 30%;
}
.booksWrap a:before{
  left: .5rem;
  border-width: 7px;
  top: calc(50% - 7px);
}
.menulink li{
  width: 300px;
  font-weight: bold;
  
}
.menulink li.booklist{
  padding-bottom: 20px;
  padding-top: 20px;
}
.slick-dotted.slick-slider{
  margin-bottom: 30px!important;
}
.menulink li.teacher{
  text-align: center;
  padding: 20px 0;
  padding-left: 10px;
}
.tebiki{
  display: inline-flex;
  height: auto;
}
.tebiki img{
  align-self: flex-start;
  margin-left: 20px;
}
.mass{
  display: inline-flex;
}
.column.mass.column a.buy{
  width: 300px;
  height: 40px;
  padding-top: 15px;
}
.column a.buy{
  display: block;
  margin-right: 10px;
  margin-left: 30px;
  width: 295px;
}
.column a.lookbtn{
  margin-right: 30px;
  margin-left: 30px;
  
}
.set a.lookbtn{
  width: 300px;
  margin: 0 auto;
  margin-bottom: 5px;
}

.column a.buy{
  margin: 5px auto;
}
.central{
  margin: 0 auto;
  
}

.booksWrap{
  justify-content: start;
  display: flex;
  flex-flow: row wrap;
}
.keitoubetu{
  margin-left: 10px;
}
.verticalcost{
  display: flex;
  flex-direction:column;
  width: 30%;
  min-width: 200px;
}
.verticalcost p{
  margin-bottom: 0;
}
.keitoubetu p{
  text-align: center;
}
.think{
  margin-bottom: 0px;
}
.column label.mini{
  width: 300px;
}
.column label.lookbtn{
  margin-right: 30px;
  margin-left: 30px;
}
.float{
  display: flex;
}
.float.booksWrap{
  display: flex;
  flex-wrap: wrap;
}
.booklist{
  position: relative;
}
.teacher{
  position: relative;
}
.highschoolstudent{
  position: relative;
}
.teacher.current{
  background-color: #68c6ef;
}

.booklist::before{
  content: "";
  background: url("../../../img/page/book/icon_book.png") no-repeat;
  z-index: 1;
  width: 30px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 36px;
  top: 17px;
  transform:none;
  }
.booklist.current::before{
  content: "";
  background: url("../../../img/page/book/icon_book_current.png") no-repeat;
  z-index: 1;
  width: 30px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 36px;
  top: 17px;
  transform:none;
  }

  .teacher::before{
    content: "";
    background: url("../../../img/page/book/icon_teacher.png") no-repeat ;
    z-index: 1;
    width: 30px;
    height: 50px;
    display: inline-block;
    background-size: contain;
    position: absolute;
    left: 21px;
    top: 17px;
  
    }

.teacher.current::before{
  content: "";
  background: url("../../../img/page/book/icon_teacher_current.png") no-repeat ;
  z-index: 1;
  width: 30px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 21px;
  top: 17px;

  }
.highschoolstudent::before{
  content: "";
  background: url("../../../img/page/book/icon_highschoolstudent.png") no-repeat;
  z-index: 1;
  width: 30px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 67px;
  top: 17px;
  }
.highschoolstudent.current::before{
  content: "";
  background: url("../../../img/page/book/icon_highschoolstudent_current.png") no-repeat;
  z-index: 1;
  width: 30px;
  height: 50px;
  display: inline-block;
  background-size: contain;
  position: absolute;
  left: 67px;
  top: 17px;
  }
  .br-sp {
    display: none; 
  }
  .column label.buy{
    width: 230px;
  }
  .tebiki label.lookbtn{
    width: 230px;
    padding-bottom: 10px;
    padding-top: 15px;
  }
  .tebiki a.lookbtn{
    width: 280px;
    margin: 3px auto;
    padding-top: 10px;
  }
  .tebiki a.lookbtn.miru{
    width: 230px;
    margin-left: 20px;
  }
  .column a.buy{
    width: 230px;
  }
  .penicon{
    margin-left: 30px;
  }
  .penicon::before{
    left: 482px;
    width: 25px;
  }
  .textmargin{
    margin: 50px;
  }
  .verticalarrangement{
    flex-flow: column;
    width: 70%;
    margin-left: 30px;
  }
  .btnmiru{
    width: 250px;
    margin: 5px 30px;
  }
  .price{
    width: 220px;
    text-align: left;
  }
  .contentArea h2{
    text-align: left;
  }
  .menulink li.highschoolstudent{
    padding: 20px 0px;
    height: 67px;
    border-radius: 50px;
  }
  .menulink li.teacher{
    padding: 20px 0px;
    border-radius: 50px;
  }
  .menulink li.product{
    padding: 20px 0px;
    border-radius: 50px;
  }
  .column label.lookbtn{
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
  .column label.buy{
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    width: 230px;
    padding-bottom: 4px;
    padding-top: 14px;
  }
  .btnmiru{
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
  .column a.buy{
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  .tamesiyomi{
    margin-left:10px;
  }
  .tamesiyomi::before{
    left: 1rem;
  }
  .tamesiyomi{
    position: absolute;
    bottom: -67px;
    left: -107px;
    z-index: 5;
    width: 60px;
  }
  .menulink{
    margin-top: 0;
    position: relative;
  }
  .absrt{
    margin: 0 auto;
  }
  .absrt img{
    margin-left: 0;
  }
  .tamesiyomi.position{
    top: 46px;
    left: -120px;
  }
  .absrt::before{
    background-size: contain;
    position: absolute;
    left: -44px;
    top: -4px;
  }
  .looktebiki{
    background-color: #90E0EF;
  }
  .scroll ul{
    max-width: none;
  }
  .column p{
    width: 600px;
    margin-left: 20px;
  }
  .title h2.twolines{
    min-height: 77px;
    margin: 0 auto;
  }
  .title h2{
    border-bottom: none;
    min-height: 77px;
  }
  .btnfloat{
    display: flex;
  }
  .main-gallery{
    min-height: 40px;
    border-radius: 0.3rem;
    font-size: 1.2rem;
    list-style: none;
    padding: 15px 10px;
    table-layout: fixed;
    word-wrap: break-word;
    text-overflow: ellipsis;
    max-width: 95%;
    width: 100%;
    height: 300px;
    }
    .gallery-cell{
    cursor: pointer;
    position: relative;
    padding: 20px;

    border-radius: 1rem;
    white-space: nowrap;
    overflow-wrap: break-word;
    font-size: 15.2px;
    width: 290px;
    height: 240px;
    margin-left: 10px;
    width: 232px !important;
    }
    .gallery-cell img{
    width: 120px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    height: 165px;
    }
    .slick-prev::before{
      content: ""!important;
    
    }
    .slick-next::before{
      content: ""!important;
    } 
    
    .slick-prev{
      left: 70px!important;
      z-index: 2;
      content: "";
      width: 12px;
      height: 13px;
      border-top: 3px solid #333;
      border-right: 3px solid #333;
      -webkit-transform: rotate(-135deg);
      transform: rotate(220deg);
    }
    .slick-next{
      right: 70px!important;
      z-index: 2;
      content: "";
      width: 12px;
      height: 13px;
      border-bottom: 3px solid #333;
      border-left: 3px solid #333;
      border-top: 0!important;
      border-right: 0!important;
      -webkit-transform: rotate(-135deg);
      transform: rotate(220deg);
    }
    .slick-arrow{
      position: absolute;
      cursor: pointer;
      bottom: -25px;
    }
    .slick-slider{
      box-sizing:content-box!important;
    }
    
    .omksBnr{
      bottom: 3%;
      left: 71%;
      width: 300px;
    } 

    .anim-box.fadeup.is-animated {
      animation: fadeup 5s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
    }
     
    @keyframes fadeup {
      0% {
        transform: translateY(30px);
        opacity: 0;
      }
      80% {
        opacity: 1;
      }
      100% {
        opacity: 1;
        transform: translateY(0);
      }
    }
    .otoiawase{
      height: 300px;
      border-radius: 15px;
    }
    .otoiawase a{
      width: 200px;
      display: block;
    }
    .keitoubetu img{
      max-width: 100%;
      height: 165px;
    }
    /* img.naviwork{
      margin-left: 0!important;
    } */
    .menulink li.booklist{
      padding-left: 0px;
      padding-right: 0px;
      border-radius: 50px;
    }
    .tableofcontents{
      width: 990px;
    }
    .pcview {
      display: initial;
    }
    .advisor{
      height: 340px;
    }

    /* 国家試験バナー */
    .kokkaborder img{
      width: 384px;
    }
    h3.kokka::before{
      border-width: 0 15px 5px 0;
     
    }
    h3.kokka{
      left: -16px;
    }

    p.ptlist{
      margin-left: 48px;
      width: 431px;
    }
    .osusumapt{
      width: 500px;
      margin-left: 4rem;
    }
    p.ptmidasi{
      width: 447px;
    }
    p.pickup{
      position: relative;
      width: 574px;
      margin-left: 117px !important;
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 40px;
      padding-top: 44px;
      margin-top: 0px;
    }
    p.pickup::before{
      width: 95px !important;
      height: 95px !important;
      left: -114px;
      top: 10px;
    }
    .pickuph2{
      margin-top: 20px !important;
    }
    p.pickup::after{
      top: 50px;
    }
    .pickupback{
      padding-left: 20px;
      padding-right: 20px;
      padding-top: 20px;
    }
    .forteacher_btn{
      position: relative;
    }
    .otoiawase img{
      width: 192px;
    }
    .mawarikomi{
      padding: 0 125px;
    }
    .otoiawasebotan::after {
      left: 23.3rem;
      top: calc(50% - 6px);
    }
    .mawarikomi p{
      margin: 1rem .75rem;
    }
    h3.forteacher::before{
      left: 16.2em;
    }
  }