@charset "utf-8";
/*--------------------------------------------------------

	textbook_style

	01. forPC Layout

	02. forSP Layout

--------------------------------------------------------*/




/********************************************************************************

	01. forPC Layout

********************************************************************************/


/* ============================================================ firstview */
/* 書目を追加する時に供給本コードを使ってclass名を設定／追加する .firstview_wrap_*****  */
.firstview_wrap_16622{
  background: url(../../assets/img/16622/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16625{
  background: url(../../assets/img/16625/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16626{
  background: url(../../assets/img/16626/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16627{
  background: url(../../assets/img/16627/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16628{
  background: url(../../assets/img/16628/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16629{
  background: url(../../assets/img/16629/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16668{
  background: url(../../assets/img/16668/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16632{
  background: url(../../assets/img/16632/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}

.firstview_wrap_16737{
  background: url(../../assets/img/16737/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16740{
  background: url(../../assets/img/16740/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16741{
  background: url(../../assets/img/16741/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16742{
  background: url(../../assets/img/16742/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16743{
  background: url(../../assets/img/16743/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16744{
  background: url(../../assets/img/16744/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}

/* ============================================================ cat_content */
.nav_subject_menu_ttl {
    background-color: #0095e5;
}
.nav_subject_menu .contents_list_item {
    background-color: #eff8fc;
    border: 1px solid #0095e5;
}
.nav_subject_menu .contents_list_item a {
    color: #0095e5;
}
.nav_subject_menu .contents_list_item:before {
    border-bottom: 5px solid #76c9ec;
}
.nav_subject_menu .contents_list_item:hover:before {
    border-bottom: 5px solid #76c9ec;
    border-color: #76c9ec;
}

.tab_area li:hover {
  background: #0095e5;
}
.tab_area li.select{
  /*アクティブタブの装飾*/
  /*border-left: 1px solid #0095e5;
  border-right: 1px solid #0095e5;*/
}
.tab_area li.select:before{
    border-color: #0095e5;
}
.tab_area li.select:hover {
  background: #0095e5;
}
.tab_area li.select:hover:before {
/*    background: #76c9ec;*/
}

.tab_area_active .tab_area li.select{
/*  background-color:#0095e5;*/
}
.tab_area_active .tab_area li.select:before {
    /*background: #76c9ec;*/
}

#sub_cat h2.head_2_01:after {
    background: #0095e5;
}
#sub_cat h2.head_2_02:after {
    background: #0095e5;
}
#sub_cat h2.head_2_03:after {
    background: #76c9ec;
}
#sub_cat h3.head_3_01 {
  background: #ddedf4;
  border-bottom: 2px solid #0095e5;
}
#sub_cat h3.head_3_02 {
  background: #ddedf4;
}
#sub_cat h3.head_3_03:after {
  background: #76c9ec;
}

#sub_cat h3.head_04:after {
    background: #76c9ec;
}

#sub_cat h4.head_4_01 {
  background: #ddedf4;
}
#sub_cat h4.head_4_02 {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
}

.feature_panel .feature_panel_head .text{
  background: #0095e5;
}
.feature_panel .feature_panel_head .number{
  border: 2px solid #0095e5;
  color: #0095e5;
}
.feature_panel .feature_panel_inner {
  box-shadow: 15px 15px 0 #b1def1;
}
.feature_panel .feature_panel_main .text li:before {
  background: #76c9ec;
}
.feature_panel .feature_panel_link .head{
  background: #0095e5;
}

.download_panel_01 .download_panel_head:after {
    background: #0095e5;
}
.download_panel_02 .download_panel_inner {
  background: #b1def1;
}
.download_panel_02 .download_panel_main li:before {
    border-bottom: 1px solid #0095e5;
}

.movie_panel_01 a{
    position: relative;
    display: block;
}
.movie_panel_01 a:after {
    content: "";
    height: 60px;
    width: 60px;
    background: url(../img/common/icon_play.svg) no-repeat;
    background-size: 60px 60px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: .9;
}

.movie_panel_02 a{
    position: relative;
    display: block;
    width: 518px;
    margin: 0 auto 35px;
}
.movie_panel_02 a:after {
    content: "";
    height: 60px;
    width: 60px;
    background: url(../img/common/icon_play.svg) no-repeat;
    background-size: 60px 60px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: .9;
}

.list_panel_main li:after {
    background: #76c9ec;
}

.nav_panel_02_dmaster .nav_panel_main li a:before {
  background: url(../img/common/icon_disc_dmaster.svg) no-repeat;
}
.nav_panel_02_digitalbook .nav_panel_main li a:before {
  background: url(../img/common/icon_book_digital.svg) no-repeat;
}
.nav_panel_02_testprint .nav_panel_main li a:before {
  background: url(../img/common/icon_pc_testprint.svg) no-repeat;
}

.text_panel_01 .text_panel_inner {
  border-top: 5px solid #b1def1;
  box-shadow: 15px 15px 0 #b1def1;
}
.text_panel_02 .text_panel_inner {
  border-top: 5px solid #b1def1;
}
.text_panel_04 .text_panel_main li:before {
    background: #76c9ec;
}

/* ============================================================ btn */
.btn_wrap .btn span:before {
    border-bottom: 5px solid #76c9ec;
}
.btn_wrap .btn span:hover:before {
    border-bottom: 5px solid #0096df;
    border-color: #0096df;
}
.btn_wrap .btn span:after {
    background-color: #0096df;
}
/* ============================================================ toggle_btn */
.toggle_btn_wrap .btn .text:after {
    background-color: #0096df;
}
.toggle_btn_wrap .btn .icon:after {
    border-top: 2px solid #0096df;
    border-right: 2px solid #0096df;
}
/* ============================================================== ■■■ QRボタン追加ここから　*/
.btn_qr {
  position: relative;
  margin: 0 auto ;
  width :1280px ;
}
.btn_qrinner {
  display: none ;
  position: absolute;
  top:-50px;
  right:15px;
  margin: 0px 0 0 0 ;
  width:292px;
  height:auto;
  background-color : #fff ;
}
@media all and (-ms-high-contrast: none) {
  .btn_qrinner {
   position: absolute; top:-60px;right:15px;
  }
}

.btn_qr_2 {
  position: relative;
  margin: 0 auto ;
}
.btn_qrinner_2 {
  display: none ;
  position: absolute;
  top:-90px;
  left:245px;
  margin: 0px 0 0 0 ;
  width:520px;
  height:auto;
  background-color : #fff ;
}
@media all and (-ms-high-contrast: none) {
  .btn_qrinner_2 {
   position: absolute;
   top:-100px;
   right:15px;
  }
}

.active_qr, .active_qr_2 {
  display: block ;
  margin: 0 0 0 0 ;
  background-color : #fff ;
  border-right : 1px #ccc solid ;
  border-left : 1px #ccc solid ;
  border-bottom : 1px #ccc solid ;
  -webkit-animation : ani_qr .2s eace-out 0s normal 1 forwards ;
  -ms-animation :     ani_qr .2s ease-out 0s normal 1 forwards ;
  -moz-animation :    ani_qr .2s ease-out 0s normal 1 forwards ;
  animation :         ani_qr .2s ease-out 0s normal 1 forwards ;
  opacity : 0 ;
  z-index : 1 ;
}
@-webkit-keyframes ani_qr { 
  0% {
    opacity : 0 ;
    margin: -30px 0 0 0 ;
  }
  100% {
    opacity : 1 ;
    margin: 0 0 0 0 ;
  }
}
@keyframes ani_qr { 
  0% {
    opacity : 0 ;
    margin: -30px 0 0 0 ;
  }
  100% {
    opacity : 1 ;
    margin: 0 0 0 0 ;
  }
}
@-moz-keyframes ani_qr { 
  0% {
    opacity : 0 ;
    margin: -30px 0 0 0 ;}
  100% {
    opacity : 1 ;
    margin: 0 0 0 0 ;
  }
}

.btn_qr_ul {
  margin: 11px 0 12px 63px ;
  width : 171px ;
}
.btn_qr_ul li {
  height:31px;
  font-size : 17px ;
  line-height:31px;
  background: url(../../../assets/img/common/nav_arrow_disc01.svg) right center ;
  background-size : 24px 24px ;
  background-repeat : no-repeat ;
}

.btn_qr_ul_2 {
  margin: 13px 0 14px 168px ;
  width : 190px ;
}
.btn_qr_ul_2 li {
  height:37px;
  font-size : 18px ;
  line-height:37px;
  background: url(../../../assets/img/common/nav_arrow_disc01.svg) right center ;
  background-size : 24px 24px ;
  background-repeat : no-repeat ;
}
.btn_qr_ul li a, .btn_qr_ul_2 li a {
  display:block;
  width :100%;
  height:100% ;
  opacity:1;
}
.btn_qr_ul li a:link, .btn_qr_ul_2 li a:link {
  opacity:1;
}
.btn_qr_ul li a:visited, .btn_qr_ul_2 li a:visited {
  opacity:1;
}
.btn_qr_ul li a:hover, .btn_qr_ul_2 li a:hover {
  opacity:0.7;
  background: rgba(255, 255, 255, 0.4);
}
.btn_qr_ul li a:active, .btn_qr_ul_2 li a:active {
  opacity:0.6;
  background: rgba(255, 255, 255, 0.6);
}
/* ============================================================== ■■■ QRボタン追加ここまで　*/

/* ============================================================ 追加CSS */

/* --- 202104追加 kobayashi ---*/
.img_panel_01 {
    margin: 0 auto;
}
.nav_panel_detail.tag4 .nav_panel_tag_wrap {
    display: flex;
    flex-wrap: wrap;
    width: 61px;
    margin: 6px 0 0 0;
}
.nav_panel_detail.tag4 .tag {
    flex: 0;
}
.nav_panel_detail.tag4 .nav_panel_text {
    min-height: 28px;
}
.nav_panel_02 .nav_panel_main .tag_jmol,
#sub_cat .head_3_tag_inner .tag.tag_jmol {
    background: #0051b4;
}

/* --- 202203 追加 kobayashi ---*/
.firstview_wrap_16668 .substance .year_position_01 {
   left: 240px;
}
.firstview_wrap_16668 .firstview .title {
   top: 30%;
}
 .firstview_wrap_16668 .col-12 .sub_title {
    font-size: 26px;
    display: flex;
    position: absolute;
    left: 61%;
    top: 55%;
    transform: translate(-50%, -50%);
    color: #404040;
    font-family: 'Noto Sans JP', sans-serif;
    white-space: nowrap;
}
.firstview_wrap_16668 .col-12 .title {
    text-align: center;
  }
.firstview_wrap_16668 .col-12 .sub_title .sub_title_2 {
    text-align: center;
    line-height: 1.2;
    margin: 0 15px;
  }
.firstview_wrap_16668 .col-12 .sub_title .sub_title_2 span {
    display: block;
  }
.subject_menu_sub_2 {
 font-size: 13px;
 font-weight: 200;
 line-height: 1.2;
}
/* ============================================================ text_panel */
.text_panel_01 .text_panel_inner2 {
  width: 100%;
}

 /* --- 202210 追加 kobayashi ---*/
.text-ind-m40 {
  margin: 0 0 0 4em;
  text-indent: -4em;
 }

 /* --- 20230925追加 kobayashi ---*/
.sub_block .year_r6 {
    position: relative;
    display: inline-block;
    padding: 2px 5px;
    background: #ff008e;
    border: 1px solid #ff008e;
    color: #fff;
    font-size: 17px;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
.sub_block .year_r6 {
  padding: 4px 5px 0;
}  /* IE11 */
}
.sub_block .year_position_01,
.sub_block .year_position_02 {
    top: -4px;
}




/********************************************************************************

	02. forSP Layout
    *横幅が1025px以下の場合


********************************************************************************/

@media screen and (min-width: 0px) and (max-width: 1026px) {



/* ============================================================ firstview */
/* 書目を追加する時に供給本コードを使ってclass名を設定／追加する .firstview_wrap_*****  */
.firstview_wrap_16622 {
    background: url(../../assets/img/16622/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
    background-size: cover;
}
.firstview_wrap_16625{
    background: url(../../assets/img/16625/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
    background-size: cover;
}
.firstview_wrap_16626{
    background: url(../../assets/img/16626/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
    background-size: cover;
}
.firstview_wrap_16627{
  background: url(../../assets/img/16627/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16628{
  background: url(../../assets/img/16628/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16629{
    background: url(../../assets/img/16629/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
    background-size: cover;
}
.firstview_wrap_16668{
  background: url(../../assets/img/16668/bg_firstview_wrap_sp.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16632{
  background: url(../../assets/img/16632/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
    background-size: cover;
}

.firstview_wrap_16737 {
    background: url(../../assets/img/16737/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
    background-size: cover;
}
.firstview_wrap_16740{
    background: url(../../assets/img/16740/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
    background-size: cover;
}
.firstview_wrap_16741{
    background: url(../../assets/img/16741/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
    background-size: cover;
}
.firstview_wrap_16742{
  background: url(../../assets/img/16742/bg_firstview_wrap_sp.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16743{
  background: url(../../assets/img/16743/bg_firstview_wrap_sp.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16744{
    background: url(../../assets/img/16744/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
    background-size: cover;
}

 
.feature_panel .feature_panel_inner {
    box-shadow: 12px 12px 0 #b1def1;
}

.movie_panel_02 a{
    position: relative;
    display: block;
    width: 270px;
    margin: 0 auto 25px;
}
.movie_panel_02 a:after {
    content: "";
    height: 60px;
    width: 60px;
    background: url(../img/common/icon_play.svg) no-repeat;
    background-size: 60px 60px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: .9;
}
.movie_panel_02 .list_panel_main{
    font-size: 13px;
}

.txt_sz {
    font-size: 12px !important;
}

.text_panel_01 .text_panel_inner {
    box-shadow: 12px 12px 0 #b1def1;
}

.tab_area_active .tab_area li.select{
  background-color:#fff;
}
.tab_area_active .tab_area li.select:before {
/*  background: #0095e5;*/
}

.tab_area_active_sp .tab_area li.select{
/*  background-color:#0095e5;*/
}
.tab_area_active_sp .tab_area li.select:before {
/*  background: #76c9ec;*/
}

/* ============================================================ btn */
.btn_wrap .btn span:before {
    border-bottom: 4px solid #76c9ec;
}
.btn_wrap .btn span:hover:before {
    border-bottom: 4px solid #0096df;
}

/* ============================================================== ■■■ QRボタン追加ここから　*/
.btn_qr {
  position: relative;
  margin: 0 auto ;
  width :100% ;
  z-index:9;
}
.btn_qrinner {
  display: none ;
  position: absolute;
  top:-11px;
  right:3%;
  margin: 0px 0 0 0 ;
  width:200px;
  height:auto;
  background-color : #fff ;
}
.btn_qr_2 {
  position: relative;
  margin: 0 auto ;
  width:293px;
  z-index:9 !importnat;
}
.btn_qrinner_2 {
  display: none ;
  position: absolute;
  top:-30px;
  left:6.7%;
  margin: 0 0 0 0 ;
  width:274px;
  height:auto;
  background-color : #fff ;
}
.active_qr, .active_qr_2 {
  display: block ;
  margin: 0 0 0 0 ;
  background-color : #fff ;
  border-right : 1px #ccc solid ;
  border-left : 1px #ccc solid ;
  border-bottom : 1px #ccc solid ;
  -webkit-animation : ani_qr .2s eace-out 0s normal 1 forwards ;
  -ms-animation :     ani_qr .2s ease-out 0s normal 1 forwards ;
  -moz-animation :    ani_qr .2s ease-out 0s normal 1 forwards ;
  animation :         ani_qr .2s ease-out 0s normal 1 forwards ;
  opacity : 0 ;
}
@-webkit-keyframes ani_qr { 
  0% {
    opacity : 0 ;
    margin: -30px 0 0 0 ;
  }
  100% {
    opacity : 1 ;
    margin: 0 0 0 0 ;
  }
}
@keyframes ani_qr { 
  0% {
    opacity : 0 ;
    margin: -30px 0 0 0 ;
  }
  100% {
    opacity : 1 ;
    margin: 0 0 0 0 ;
  }
}
@-moz-keyframes ani_qr { 
  0% {
    opacity : 0 ;
    margin: -30px 0 0 0 ;}
  100% {
    opacity : 1 ;
    margin: 0 0 0 0 ;
  }
}

.btn_qr_ul {
  margin: 10px 0 10px 28px ;
  width : 143px ;
}
.btn_qr_ul li {
  height:25px;
  font-size : 13px ;
  line-height:25px;
  background: url(../../../assets/img/common/nav_arrow_disc01.svg) right center ;
  background-size : 18px 18px ;
  background-repeat : no-repeat ;
}
.btn_qr_ul_2 {
  margin: 10px 0 10px 64px ;
  width : 146px ;
}
.btn_qr_ul_2 li {
  height:25px;
  font-size : 13px ;
  line-height:25px;
  background: url(../../../assets/img/common/nav_arrow_disc01.svg) right center ;
  background-size : 18px 18px ;
  background-repeat : no-repeat ;
}
.btn_qr_ul li a, .btn_qr_ul_2 li a {
  display:block;
  width :100%;
  height:100% ;
  opacity:1;
}
.btn_qr_ul li a:link, .btn_qr_ul_2 li a:link {
  opacity:1;
}
.btn_qr_ul li a:visited, .btn_qr_ul_2 li a:visited {
  opacity:1;
}
.btn_qr_ul li a:hover, .btn_qr_ul_2 li a:hover {
  opacity:0.8;
}
.btn_qr_ul li a:active, .btn_qr_ul_2 li a:active {
  opacity:0.6;
}

/* ============================================================== ■■■ QRボタン追加ここまで　*/

 

 /* ============================================================ 追加CSS */

 
 
 /* --- 202104追加 kobayashi ---*/
.nav_panel_detail.tag4 .nav_panel_tag_wrap {
    width: 58px;
    margin: 3px auto;
}
.nav_panel_detail.tag4 .tag {
   min-width: 34px;
}
.nav_panel_detail.tag4 .nav_panel_text {
    min-height: 17px;
    margin: 0;
}


 /* --- 202109追加 kobayashi ---*/
.tab_area li{background:#eff8fc;}
.text-ind-m40 {
    margin: 0 0 0 4em;
    text-indent: -4em;
}

/* --- 202203 追加 kobayashi ---*/
.firstview .substance.substance_2 img {
    float: none;
    max-width: 269px;
    margin: 60px auto 70px auto !important;
    width: 100% !important;
}
.firstview_wrap_16668 .firstview .title {
   top: 5px;
}
 .firstview_wrap_16668 .col-12 .sub_title {
   font-size: 18px;
   top: 60px;
    left: 50%;
}

.firstview_wrap_16668 .col-12 .sub_title .sub_title_2 span {
   display: inline-block;
}
.firstview_wrap_16668 .substance.substance_2 .year_position_01 {
    bottom: 80px;
    left: 50%;
    transform: translate(-47%, 0) scale(.82);
}


.sub_block .year_r6 {
    font-size: 14px;
}

