@charset "utf-8";
/*--------------------------------------------------------

	style

	01. forPC Layout

	02. forSP Layout

--------------------------------------------------------*/




/********************************************************************************

	01. forPC Layout

********************************************************************************/


/* ============================================================ firstview */
/* 書目を追加する時に供給本コードを使ってclass名を設定／追加する .firstview_wrap_*****  */
.firstview_wrap_16604{
  background: url(../../assets/img/16604/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16605{
  background: url(../../assets/img/16605/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16606{
  background: url(../../assets/img/16606/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16661{
  background: url(../../assets/img/16661/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}

.firstview_wrap_16597{
}
.firstview_wrap_16599{
}
.firstview_wrap_16600{
}

.firstview_wrap_16703{
  background: url(../../assets/img/16703/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16704{
  background: url(../../assets/img/16704/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16706{
  background: url(../../assets/img/16706/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16707{
  background: url(../../assets/img/16707/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16705{
  background: url(../../assets/img/16705/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}
.firstview_wrap_16709{
  background: url(../../assets/img/16709/bg_firstview_wrap.jpg) center center;
  background-size: cover;
}

/*.firstview .substance .year {
    position: absolute;
    padding: 2px 5px;
    background: #fff;
    border: 1px solid #ff8800;
    color: #ff8800;
    font-size: 12px;
}*/
.firstview .substance .year_latest {
    position: absolute;
    padding: 2px 5px;
    background: #ff8800;
    border: 1px solid #ff8800;
    color: #fff;
    font-size: 12px;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
.firstview .substance .year,
.firstview .substance .year_latest {
  padding: 4px 5px 0;
}  /* IE11 */
}
.firstview .substance .year_position_01_1 {
    bottom: 40px;
    left: 148px;
}
.firstview .substance .year_position_01_2 {
    bottom: 40px;
    left: 300px;
}
.firstview .substance .year_position_01_3 {
    bottom: 40px;
    left: 356px;
}
.firstview .substance .year_position_01_4 {
    bottom: 40px;
    left: 147px;
}
.firstview .substance .year_position_01_5 {
    bottom: 40px;
    left: 300px;
}
.firstview .substance .year_position_01_6 {
    bottom: 35px;
    left: 55px;
}
.firstview .substance .year_position_01_7 {
    bottom: 35px;
    left: 233px;
}
.firstview .substance .year_position_01_8 {
    bottom: 35px;
    left: 235px;
}
.firstview .substance .year_position_01_9 {
    bottom: 35px;
    left: 435px;
}

.firstview .substance .year_position_01_11 {
    bottom: 40px;
    left: 92px;
}
.firstview .substance .year_position_01_12 {
    bottom: 40px;
    left: 364px;
}




.substance_ul {
  position : absolute; top:210px;left:560px;
  width: 400px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
/*  border : 1px #000 solid ;*/
}
.substance_ul li {
    margin : 0 0 0 0 ;
    width :48%;
    height:auto;
}
.substance_ul_year_lastest {
    position: relative !important;
    padding: 3px 4px 2px 4px;
    background: #fff;
    border: 1px solid #ff8800;
    color: #ff8800;
    white-space: nowrap ;
    font-size : 11px ;
    letter-spacing : -0.1em ;
}

.substance_ul_year {
    padding: 3px 4px 2px 4px;
    background: #ff8800;
    border: 1px solid #ff8800;
    color: #fff;
    white-space: nowrap ;
    font-size : 11px ;
    letter-spacing : -0.1em ;
}
.substance_ul_shomokumei {
    font-size : 13px ;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
.substance_ul_year_lastest, .substance_ul_year {
    display: inline-block;
    height : 20px ;
    line-height :20px ;
    padding: 0 5px 0 4px !important;
}  /* IE11 */
}






.textbook_number_wrap {
    transform: scale(.81);
    transform-origin:top right;
}


.firstview .substance .year_position_02 {
    bottom: 38px;
    left: 360px;
}

.firstview .title .slogan{
  top: -30px;
}

.text_note {
  display: flex;
  padding: 10px 2%;
  border: 1px solid #ff0000;
}
.text_note span {
  color: #ff0000;
}



/* ============================================================ cat_content */
.nav_subject_menu_ttl {
    background-color: #264fd6;
}
.nav_subject_menu .contents_list_item {
    background-color: #f0f4fe;
    border: 1px solid #264fd6;
}
.nav_subject_menu .contents_list_item a {
    color: #264fd6;
}
.nav_subject_menu .contents_list_item:before {
    border-bottom: 5px solid #6d86e1;
}
.nav_subject_menu .contents_list_item:hover:before {
    border-bottom: 5px solid #6d86e1;
    border-color: #6d86e1;
}

.tab_area li{
  background:#f0f4fe;
}

.tab_area li:hover {
  background: #264fd6;
}
.tab_area li.select{
  /*アクティブタブの装飾*/
  /*border-left: 1px solid #264fd6;
  border-right: 1px solid #264fd6;*/
}
.tab_area li.select:before{
  border-color: #264fd6;
}
.tab_area li.select:hover {
  background: #264fd6;
}
.tab_area li.select:hover:before {
/*    background: #6d86e1;*/
}

.tab_area_active .tab_area li.select{
/*  background-color:#264fd6;*/
}
.tab_area_active .tab_area li.select:before {
/*    background: #6d86e1;*/
}

#sub_cat h2.head_2_01:after {
    background: #264fd6;
}
#sub_cat h2.head_2_02:after {
    background: #264fd6;
}
#sub_cat h2.head_2_03:after {
    background: #6d86e1;
}
#sub_cat h3.head_3_01 {
  background: #e8ecf8;
  border-bottom: 2px solid #264fd6;
}
#sub_cat h3.head_3_02 {
  background: #e8ecf8;
}
#sub_cat h3.head_3_03:after {
  background: #6d86e1;
}

#sub_cat h3.head_04:after {
    background: #6d86e1;
}

#sub_cat h4.head_4_01 {
  background: #bbc7f1;
}

.feature_panel .feature_panel_head .text{
  background: #264fd6;
}
.feature_panel .feature_panel_head .number{
  border: 2px solid #264fd6;
  color: #264fd6;
}
.feature_panel .feature_panel_inner {
  box-shadow: 15px 15px 0 #bbc7f1;
}
.feature_panel .feature_panel_main .text li:before {
  background: #6d86e1;
}
.feature_panel .feature_panel_link .head{
  background: #264fd6;
}

.download_panel_01 .download_panel_head:after {
    background: #264fd6;
}
.download_panel_02 .download_panel_inner {
  background: #bbc7f1;
}
.download_panel_02 .download_panel_main li:before {
    border-bottom: 1px solid #264fd6;
}

.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;
}

.list_panel_main li:after {
    background: #6d86e1;
}

.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;
}

.text_panel_01 .text_panel_inner {
  border-top: 5px solid #bbc7f1;
  box-shadow: 15px 15px 0 #bbc7f1;
}
.text_panel_02 .text_panel_inner {
  border-top: 5px solid #bbc7f1;
}
.text_panel_04 .text_panel_main li:before {
    background: #6d86e1;
}

/* ============================================================ btn */
.btn_wrap .btn span:before {
    border-bottom: 5px solid #6d86e1;
}
.btn_wrap .btn span:hover:before {
    border-bottom: 5px solid #264fd6;
    border-color: #264fd6;
}
.btn_wrap .btn span:after {
    background-color: #264fd6;
}
.btn_wrap { /*QRコンテンツ一覧ボタンプルダウン実装時は追加*/
z-index :10;
cursor:pointer;
}

/* ============================================================ toggle_btn */
.toggle_btn_wrap .btn .text:after {
    background-color: #264fd6;
}
.toggle_btn_wrap .btn .icon:after {
    border-top: 2px solid #264fd6;
    border-right: 2px solid #264fd6;
}




/* ============================================================== ■■■ 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:235px;
  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ボタン追加ここまで　*/
/* ============================================================== ■■■ 資料ダウンロード　追加クラスここから　*/
.download_panel_main_2, .download_panel_main_2__boGr {
  font-size: 22px;
}
.download_panel_main_2 > li, .download_panel_main_2__boGr > li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
  height: auto;
  margin: 10px 0;
  padding: 0 40px 0 60px;
  background: #fff;
  padding : 9px 0 ;
}
.download_panel_main_2 > li:before {
    content: "";
    display: block;
    width: 35px;
    height: 1px;
    border-bottom: 1px solid #264fd6 !important;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-.1%, -50%);
    opacity: 1;
    pointer-events: none;
    transition-property: transform, opacity;
    transition-duration: 1s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.download_panel_main_2__boGr > li:before {
    content: "";
    display: block;
    width: 35px;
    height: 1px;
    border-bottom: 1px solid #222 !important;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-.1%, -50%);
    opacity: 1;
    pointer-events: none;
    transition-property: transform, opacity;
    transition-duration: 1s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}


.download_panel_02 .download_panel_main_2 > li:before {
/*border-bottom: 1px solid #888;*/
}
.download_panel_main_2 .text, .download_panel_main_2__boGr .text {
  margin: 0 0 0 58px ;
  padding : 15px 0 ;
  width: 100%;
  text-indent : 0px ;
}
.download_panel_main_2 .link, .download_panel_main_2__boGr .link {
/*border:1px #000 solid ;*/
width :330px ;
}
@media all and (-ms-high-contrast: none){
.download_panel_main_2 .link, .download_panel_main_2__boGr .link {
  width :515px ;
  }
}

.download_panel_main_2 .link a, .download_panel_main_2__boGr .link a {
  height: 38px;
  margin: 0 0 0 15px ;
}
.download_panel_main_2 .link img, .download_panel_main_2__boGr .link img {
vertical-align: middle;
}
.download_panel_main_2 .no_file, .download_panel_main_2__boGr .no_file {
  width: 31px;
  margin: 0 10px;
}
.download_panel_main_2 .link ul li, .download_panel_main_2__boGr .link ul li {
  display: flex;
  justify-content: space-between;
  margin : 8px 0 ;
  font-size : 18px !important;
  line-height : 38px !important;
  height: 38px;
}
.download_panel_main_2 .link .shomoku, .download_panel_main_2__boGr .link .shomoku  {
  display : inline-block ;
  *display: inline !important;
  *zoom: 1 !important;
  width: 197px ;
  margin : 0 0 0 0 ;
}
.download_panel_main_2 .link .icon, .download_panel_main_2__boGr .link .icon  {
width: 150px ;
display : inline-block ;
}
.junbi {
display:inline-block ;
margin: 0 0 0 10px ;
}

/* ============================================================== ■■■ 資料ダウンロード　追加クラスここまで　*/
/* ============================================================== ■■■ 3つの特長 追加クラスここから　*/
.feature_panel .feature_panel_inner {
  display: flex;
  justify-content: space-between;
  padding: 42px 45px 25px;
  min-height: 190px;
  width: calc(100% - 15px);
  border: 1px solid #e6e6e6;
  box-shadow: 15px 15px 0 #bbc7f1;
}
.feature_panel .feature_panel_main{
  display: flex;
  flex-flow: column;
  margin: 0 10px 0 0;
  font-size: 17px;
width : 100% ;
}
.feature_panel .feature_panel_main .head{
  margin: 0 0 10px;
  font-size: 30px;
  letter-spacing: -.05em;
/*border:1px #000 dotted;*/
}

.feature_panel_main_ul {
margin : 0 0 0 0 ;
}
.feature_panel_main_ul li {
  height : 72px;
  border-top :1px #ccc solid ;
  border-left :1px #ccc solid ;
  border-right :1px #ccc solid ;
}

/*解説動画はこちらボタン*/
.feature_panel_main_ul_li__ht {
  height : 98px !important;
}
.feature_panel_main_ul_movie_sugaku {
  position : relative ; top: 0 ; right :-100% ;
  margin : 12px 0 0 -190px ;
  padding : 0 0 0 14px ;
  border : 1px #ccc solid !important;
  width : 190px ;
  height :37px !important;
  background: url(../img/common/nav_arrow_disc01.svg) 156px center no-repeat;
  background-size: 24px 24px;
  line-height :35px ;
}
.feature_panel_main_ul_movie_sugaku .icon_new {
  left: -32px;
}
.btn_mov a {
  display : block ;
}
.btn_mov a:hover {
  display :block ;
  opacity: 0.7;
  background: rgba(255, 255, 255, 0.4);
}
.btn_mov a:visited {
  opacity: 1;
}
.btn_mov a:active {
  opacity: 1;
  opacity: 0.6;
  background: rgba(255, 255, 255, 0.6);
}

/*解説動画　サムネイル画像ボタン*/
.feature_panel .feature_panel_link_inner {
  position: relative;
  right: calc(-100% + 220px);
  border: 1px solid #ccc;
}

.feature_panel .feature_panel_link_inner_special {
    font-size: 15px;
    letter-spacing: -.07em;
}
.btn_shadow_blue,
.feature_panel .feature_panel_link_inner.btn_shadow_blue {
    box-shadow: 3px 3px 0 #264fd6;
    border: 1px solid #264fd6;
}
.btn_shadow_red,
.feature_panel .feature_panel_link_inner.btn_shadow_red {
    box-shadow: 3px 3px 0 #ff0000;
    border: 1px solid #ff0000;
}

.feature_panel_main_ul li:last-child {
  border-bottom :1px #ccc solid ;
}
.feature_panel_main_ul_txt {
  position :relative ;
  display:table-cell ;
  padding : 0 15px 0 30px ;
  width :490px ;
  height : 72px ;
  font-size : 17px ;
  line-height :19px ;
  letter-spacing :-0.03em ;
  vertical-align: middle;
}
@media all and (-ms-high-contrast: none) {
  .feature_panel_main_ul_txt{
  padding : 3px 15px 0 30px ;
  }
}
.feature_panel_main_ul_hd {
  display:table-cell ;
  width :165px ;
  height :72px ;
  line-height :72px ;
  vertical-align : middle ;
}
@media all and (-ms-high-contrast: none) {
  .feature_panel_main_ul_hd{
  padding : 0 0 8px 0 ;
  }
}
.feature_panel_main_ul_hd p {
  height :25px ;
  background-color :#6d86e1 ;
  border-radius: 24px ;
  font-size :14px ;
  line-height :25px ;
  text-align : center ;
  color :#fff ;
  font-feature-settings: "palt";
  vertical-align : middle ;
}
@media all and (-ms-high-contrast: none) {
  .feature_panel_main_ul_hd p{
  line-height :31px ;
  }
}
.feature_panel_main_ul_link {
  display:table-cell ;
  margin : 0 0 0 10px ;
  width :200px ;
  height:72px ;
  background: url(../img/common/nav_arrow_disc01.svg) right center no-repeat;
  background-size: 24px 24px;
  line-height :72px ;
  text-indent:0 ;
  text-align :center ;
}
.feature_panel_main_ul_link a:link {
  display :block ;
  opacity: 1;
}

.feature_panel_main_ul_link_v02 .feature_panel_main_ul_txt {
    width: 600px;
}
.feature_panel_main_ul_link_v02 .feature_panel_main_ul_link {
    background: url(../../../assets/img/common/icon_download_pdf.svg) right 10px center no-repeat;
    background-size: auto 23px;
}
.feature_panel_main_ul_link_v02 .feature_panel_main_ul_link a:hover {
  display: flex;
  opacity: 0.7;
  background: rgba(255, 255, 255, 0.4);
}
.feature_panel_main_ul_link_v02 a:link,
.feature_panel_main_ul_link_v02 a:visited {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  margin: 10px 0 0;
  padding: 0 5% 0 0;
  border: 1px solid #ccc;
}

.feature_panel_main_ul_link a:hover {
  display :block ;
  opacity: 0.7;
  background: rgba(255, 255, 255, 0.4);
}
.feature_panel_main_ul_link a:visited {
  opacity: 1;
}
.feature_panel_main_ul_link a:active {
  opacity: 1;
  opacity: 0.6;
  background: rgba(255, 255, 255, 0.6);
}
.feature_panel_main_ul_txt:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #6d86e1;
  border-radius: 4px;
  position: absolute;
  left: 16px;
  top: 31px;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
.feature_panel_main_ul_txt:before {
    top: 31px;
}
/* IE11 */
}
/* ============================================================== ■■■ 3つの特長 追加クラスここまで　*/
/* ============================================================== ■■■ 学習者用デジタル教科書 追加クラスここから　*/
.list_panel_02 .list_panel_main {
    display: flex;
    flex-wrap: wrap;
    font-size: 18px;
}
.list_panel_02 .list_panel_main li {
    width: 100%;
    padding: 0 0 10px .7em;
}
.list_panel_02 .list_panel_main li:after {
    top: 13px;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
.list_panel_02 .list_panel_main li:after {
    top: 10px;
}
/* IE11 */
}
.image_panel_01 .image_panel_main {
    display: flex;
    flex-wrap: wrap;
}
.image_panel_inner{
}
.image_panel_01 .image_panel_main {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 814px;
    margin: 0 auto;
    padding: 25px;
    border: 1px solid #e6e6e6;
}
.btn_wrap .btn .text_01 {
    font-size: 19px;
}
/* ============================================================== ■■■ 学習者用デジタル教科書 追加クラスここまで　*/
/* ============================================================== ■■■ その他 追加クラスここから　*/
.title__2 {
  margin: 0 0 0 -27px ;
}
.title__3 {
  margin: 0 0 0 20px ;
}
.substance_ad img, .substance_st img {
  margin: 15px 0 20px 0 ;
  margin: 15px 0 20px 100px !important;
}
.substance_es img {
  margin: 15px 0 20px 100px !important;
}
.substance_shin img {
  margin: 15px 0 20px -22px !important;
  transform: scale(0.93) !important;
}
.substance_shin_r4 img {
  margin: 15px 120px 20px !important;
  transform: scale(1) !important;
}

.lead {
  display: table ;
  margin : 60px auto 40px auto ;
  width : 90% ;
  font-size :1em ;
  line-height : 1.8em ;
  text-align: justify;
  text-justify: inter-ideograph;
}
.feature_panel_main_txt {
  padding: 0 0 13px 0 ;
  width : 620px ;
  width : 97% ;
  font-size :18px ;
  text-align: justify;
  text-justify: inter-ideograph;
}
.feature_panel_main_txt em {
  font-weight : bold ;
}
.ico_dmark {
  display : inline-block ;
  position : relative;
  top:3px;
  margin: 0 2px 0 0 ;
  width:27px;
  height:22px;
  background: url(../img/common/icon_dmark.gif) no-repeat;
  background-size : cover ;
}

/* サイドメニュー */
.subject_menu_heading_s {
  margin: .5em 0 .3em 0 ;
  font-size: 20px ;
}

/* Dマークコンテンツ画像 */
.img_panel_01_2 {
  text-align: left;
}
.img_panel_01_2 img {
  margin: 0 5px 10px;
}


.hp_ws {
  white-space : nowrap !important;
}
.hp_ls {
  letter-spacing: -0.5em !important
}

.kome {
  position : absolute ; bottom : 1px; right : 4px ;
  font-size : 12px ;
}
.hp_posiRe {
  position : relative !important;
}
.txt_sz {
  font-size: 19px !important;
}
.ul_1 {
  margin : 0 0 40px 0 ;
}
.ul_1 li{
  position: relative;
  margin: 0 0 5px 2px;
  padding: 0 0 0 12px;
  line-height: 1.2;
  font-size: 19px !important;
  line-height: 33px !important;
  text-align: justify;
  text-justify: inter-ideograph;
  letter-spacing: -.05em;
}
.ul_1 li:before {
  margin: 7px 0 0 0;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #6d86e1;
  border-radius: 4px;
  position: absolute;
  left: 0;
  top: 10px;
  transform: translate(0, -50%);
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
.ul_1 li:before {
    top: 8px;
}
/* IE11 */
}
.ul_1 li em {
  font-weight: bold;
}


.el_title_1 {
margin: 0 auto 40px auto ;
padding: 27px 42px 42px 42px;
border-radius:7px;
width :470px ;
background-color:#f8f6f3 ;
font-size :17px;
}
.el_title_1 .page {
margin: 0 0 5px 0;
font-size:78%;
font-weight:bold;
color:#444;
}

/* タブ3 */
.text_plain_01__wd {
  width: 100%;
  margin: 0 0 20px;
}
.text_plain_inner__wd {
  width: 460px;
}
.list_panel_02__wd {
  width :920px ;
}
.head_4_math {
  margin : 0 0 15px 0 ;
  width:900px;
}
.head_4_math span {
  display:inline-block ;
  margin : 0 0 5px 0 ;
  padding: 0 0 0 6px ;
  font-size: 19px ;
  line-height: 32px !important;
  font-weight: bold !important;
}
.colr_01 {
  background:linear-gradient(0deg,#e7e9fb 0%,#e7e9fb 40%,#fff 40%,#fff 100%);
}
.colr_02 {
  background:linear-gradient(0deg,#d0eaf6 0%,#d0eaf6 40%,#fff 40%,#fff 100%);
}
.colr_03 {
  background:linear-gradient(0deg,#e1f2de 0%,#e1f2de 40%,#fff 40%,#fff 100%);
}
.colr_04 {
  background:linear-gradient(0deg,#fdf9d7 0%,#fdf9d7 40%,#fff 40%,#fff 100%);
}


.toggle_btn_wrap .btn .text{
  border: 1px solid #ccc !important;
}
.toggle_btn_wrap .btn a:link .text {
  border: 1px solid #ccc !important;
} 
.toggle_btn_wrap .btn a:visited .text {
  border: 1px solid #ccc !important;
}



.wide_btn_wrap{
  position: absolute;
  z-index: 5;
  top: -10px;
  top: 25px;
  left: 50%;
  transform: translate(205px, 0);
}
.pc_pt120 {
padding-top :120px; 
}
.wide_btn_wrap_ess, .wide_btn_wrap_shin {
  position: absolute;
  z-index: 5;
  top: 25px;
  left: 50%;
  transform: translate(205px, 0);
}








.hp_txt50p { font-size: 50% !important; }
.hp_txt60p { font-size: 60% !important; }
.hp_txt70p { font-size: 70% !important; }
.hp_txt75p { font-size: 75% !important; }
.hp_txt80p { font-size: 80% !important; }
.hp_txt85p { font-size: 85% !important; }
.hp_txt90p { font-size: 90% !important; }
.hp_txt95p { font-size: 95% !important; }
.hp_txt110p { font-size: 110% !important; }
.hp_txt120p { font-size: 120% !important; }
.hp_txt130p { font-size: 130% !important; }

.hp_mat30p { margin-top: 30px !important; }
.hp_mab70p { margin-bottom: 70px !important; }

.hp_txtbo { font-weight: bold !important; }
.hp_txt_ffsPalt { font-feature-settings: "palt"!important;}


.btnundr_txt {
  margin: 10px auto 0 auto ;
  font-size: 70% ; 
  text-align:left ;
  word-break: break-all;
  width:500px;
}

.sup_1 {
  padding: 15px 0 0 0 ;
  font-size : 80% ;
}

.hp_txtbdr {
  padding : 3px 3px ;
  border: 1px #000 solid ;
  font-size: 77%;
  color: #333;
}
.hp_txtind {
  text-indent :-1em;
}

.list_panel_main_black {
width : 110% ;
}

/*テキストリンク_数学ブルー*/
.link_sugaku a:link {
  color : #264fd6;
}
.link_sugaku a:visited {
  color : #264fd6;
}
.link_sugaku a:hover {
  color : #264fd6;
}
.link_sugaku a:active {
  color : #264fd6;
}


/* ============================================================== ■■■ その他 追加クラスここまで　*/









/********************************************************************************

	02. forSP Layout
    *横幅が1025px以下の場合


********************************************************************************/

@media screen and (min-width: 0px) and (max-width: 1026px) {



/* ============================================================ firstview */
/* 書目を追加する時に供給本コードを使ってclass名を設定／追加する .firstview_wrap_*****  */
.firstview_wrap_16604 {
    background: url(../../assets/img/16604/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
/*  background-size: auto 100%; */
    background-size: cover ;
}
.firstview_wrap_16605 {
    background: url(../../assets/img/16605/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
/*  background-size: auto 100%; */
    background-size: cover ;
}
.firstview_wrap_16606 {
    background: url(../../assets/img/16606/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
/*  background-size: auto 100%; */
    background-size: cover ;
}
.firstview_wrap_16661 {
    background: url(../../assets/img/16661/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
/*  background-size: auto 100%; */
    background-size: cover ;
}


.firstview_wrap_16703 {
    background: url(../../assets/img/16703/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
/*  background-size: auto 100%; */
    background-size: cover ;
}
.firstview_wrap_16704 {
    background: url(../../assets/img/16704/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
/*  background-size: auto 100%; */
    background-size: cover ;
}
.firstview_wrap_16706 {
    background: url(../../assets/img/16706/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
/*  background-size: auto 100%; */
    background-size: cover ;
}
.firstview_wrap_16707 {
    background: url(../../assets/img/16707/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
/*  background-size: auto 100%; */
    background-size: cover ;
}
.firstview_wrap_16705 {
    background: url(../../assets/img/16705/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
/*  background-size: auto 100%; */
    background-size: cover ;
}
.firstview_wrap_16709 {
    background: url(../../assets/img/16709/bg_firstview_wrap_sp.jpg) center 40px no-repeat;
/*  background-size: auto 100%; */
    background-size: cover ;
}


.feature_panel .feature_panel_inner {
    box-shadow: 12px 12px 0 #bbc7f1;
}

.text_panel_01 .text_panel_inner {
    box-shadow: 12px 12px 0 #bbc7f1;
}
.tab_area li{
  background:#f0f4fe;
}
.tab_area_active .tab_area li.select{
  background-color:#fff;
}
.tab_area_active .tab_area li.select:before {
/*  background: #264fd6;*/
}

.tab_area_active_sp .tab_area li.select{
/*  background-color:#264fd6;*/
}
.tab_area_active_sp .tab_area li.select:before {
/*  background: #6d86e1;*/
}

/* ============================================================ btn */
.btn_wrap .btn span:before {
    border-bottom: 4px solid #6d86e1;
}
.btn_wrap .btn span:hover:before {
    border-bottom: 4px solid #264fd6;
}


.btn_wrap { /*QRコンテンツ一覧ボタンプルダウン実装時は追加*/
z-index :10;
}
.hp_wd {
width: 220px !important;
}



/* ============================================================== ■■■ 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ボタン追加ここまで　*/
/* ============================================================== ■■■ 資料ダウンロード　追加クラスここから　*/
.title__2, .title__3 {
  margin: 0 ;
}
.download_panel_main_2, .download_panel_main_2__boGr {
  font-size: 22px;
}
.download_panel_main_2 > li, .download_panel_main_2__boGr > li {
  position: relative;
  display: block;
/*  align-items: center;*/
/*  justify-content: space-between;*/
  height: auto;
  margin: 10px 0;
  padding: 0 40px 0 60px;
  background: #fff;
  padding : 9px 0 ;
}
.download_panel_main_2 > li:before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    border-top: 1px solid #264fd6 ;
    position: absolute;
    left: 0;
    top: 30px;
    transform: translate(-.1%, -50%);
    opacity: 0.8;
    pointer-events: none;
    transition-property: transform, opacity;
    transition-duration: 1s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.download_panel_main_2__boGr > li:before {
    content: "";
    display: block;
    width: 27px;
    height: 1px;
    position: absolute;
    left: 0;
    top: 30px;
    transform: translate(-.1%, -50%);
    opacity: 0.8;
    pointer-events: none;
    transition-property: transform, opacity;
    transition-duration: 1s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.download_panel_main_2 .text, .download_panel_main_2__boGr .text {
  margin: 8px 0 0 0;
  padding: 0 10px 0 40px ;
  width: 100%;
  font-size : 16px ;
  text-indent : 0px ;
/*border:1px #f1f1f1 solid ;*/
}
.download_panel_main_2 .link, .download_panel_main_2__boGr .link {
  margin: 0 0 0 17% ;
  width: 75%;
}
.download_panel_main_2 .link a, .download_panel_main_2__boGr .link a {
  height: 38px;
  margin: 0 0 0 15px ;
}
.download_panel_main_2 .link img, .download_panel_main_2__boGr .link img {
  vertical-align: middle;
  height: 38px;
}
.download_panel_main_2 .no_file, .download_panel_main_2__boGr .no_file {
  width: 31px;
  margin: 0 10px;
}

.download_panel_main_2 .link ul li, .download_panel_main_2__boGr .link ul li {
  display: flex;
  justify-content: space-between;
  margin : 8px 0 ;
  font-size : 18px !important;
  line-height : 38px !important;
  height: 38px;
}
.download_panel_main_2 .link .shomoku, .download_panel_main_2__boGr .link .shomoku  {
  display : inline-block ;
  width: 55% ;
  margin : 0 0 0 0 ;
  font-size : 13px ;
  font-size: min(3vw, 13px) !important;
}
.download_panel_main_2 .link .icon, .download_panel_main_2__boGr .link .icon  {
  width: 45% ;
  display : inline-block ;
  font-size:12px ;
}
.download_panel_main_2 .link .icon img, .download_panel_main_2__boGr .link .icon img  {
width : 25px !important;
height:30px !important;
}
.junbi {
  display:inline-block ;
  margin: 0 0 0 20px ;
}
/* ============================================================== ■■■ 資料ダウンロード　追加クラスここまで　*/
/* ============================================================== ■■■ 3つの特長 追加クラスここから　*/
.feature_panel .feature_panel_inner {
  display: flex;
  justify-content: space-between;
  padding: 42px 23px 25px 33px;
  min-height: 190px;
  width: calc(100% - 15px);
  border: 1px solid #e6e6e6;
  box-shadow: 15px 15px 0 #bbc7f1;
/*border:1px #000 solid;*/
}
.feature_panel .feature_panel_main{
  display: flex;
  flex-flow: column;
  margin: 0 10px 0 0;
  font-size: 17px;
  width : 100% ;
}
.feature_panel .feature_panel_main .head{
  margin: 0 0 10px;
  font-size: 30px;
  letter-spacing: -.05em;
}
.feature_panel_main_ul {
  margin : 0 0 0 0 ;
}
.feature_panel_main_ul li {
  display: table;
  padding : 0 10px 0 15px ;
  width : 100% ;
  height : auto ;
  border-top :1px #ccc solid ;
  border-left :1px #ccc solid ;
  border-right :1px #ccc solid ;
}

/*解説動画はこちらボタン*/
.feature_panel_main_ul_li__ht {
  height : 100px !important;
}
.feature_panel_main_ul_movie_sugaku {
  position : relative ; top: 0 ; right :-100% ;
  margin : 10px 0 0 -130px ;
  padding : 3px 0 0 10px ;
  border : 1px #ccc solid !important;
  width : 130px ;
  height :27px !important;
  background: url(../img/common/nav_arrow_disc01.svg) 110px center no-repeat;
  background-size: 14px 14px;
  font-size : 12px;
}
.feature_panel_main_ul_movie_sugaku .icon_new {
  top : 4px ;
  left: -34px;
}

/*解説動画　サムネイル画像ボタン*/
.feature_panel .feature_panel_link_inner {
  right: -50%;
  transform: translate(-92px, 0px);
}

.feature_panel .feature_panel_link_inner_special {
    font-size: 12px;
}

.feature_panel_main_ul li:last-child {
  border-bottom :1px #ccc solid ;
}
.feature_panel_main_ul_txt {
  display :block !important;
  position :relative ;
  padding : 10px 6px 4px 10px ;
  width :100% !important;
  height : auto ;
  font-size : 12px ;
  line-height :19px ;
  vertical-align: top;
}
.feature_panel_main_ul_hd {
  display :inline-block;
padding : 2px 0 0 0 ;
  vertical-align: middle;
  width : 40% ;
  height :30px !important;
}
.feature_panel_main_ul_hd p {
  margin : 3px 0 0 0 ;
  padding : 0 6px ;
  height :20px ;
  background-color :#6d86e1 ;
  border-radius: 20px ;
  font-size: min(2.1vw, 12px);
  line-height :20px !important;
  text-align : center ;
  color :#fff ;
  font-feature-settings: "palt";
}
.feature_panel_main_ul_link {
  display :inline-block;
  margin : 0 0 10px 0 ;
  width : 60% ;
  height :30px !important;
  background: url(../img/common/nav_arrow_disc01.svg) right center no-repeat;
  background-size: 14px 14px;
  font-size: min(2.4vw, 13px);
  line-height: 30px !important;
  text-align :center ;
}
.feature_panel_main_ul_link a:link {
  display :block ;
  opacity: 1;
}

.feature_panel .feature_panel_inner.feature_panel_inner_v02 {
  display: block;
}
.feature_panel_link_rowx2 .feature_panel_link_inner:first-child,
.feature_panel .feature_panel_link_inner_special {
  right: auto;
  transform: translate(0, 0);
}

.btn_wrap + .kanrenshiryou_btn_wrap {
    max-width: 300px;
}
.btn_wrap + .kanrenshiryou_btn_wrap .kanrenshiryou.kanrenshiryou_btn {
    max-width: 300px;
}
.btn_wrap + .kanrenshiryou_btn_wrap .font-semi-large {
    font-size: 0.85em !important;
}

.feature_panel_main_ul_link_v02 .feature_panel_main_ul_link {
    margin: 0 20% 10px;
}
.feature_panel_main_ul_link_v02 a:link,
.feature_panel_main_ul_link_v02 a:visited {
  height: 30px;
  margin: 0;
}

.feature_panel_main_ul_link a:hover {
  display :block ;
  opacity: 0.7;
}
.feature_panel_main_ul_link a:visited {
opacity: 1;
}

.feature_panel_main_ul_txt:before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background: #6d86e1;
  border-radius: 4px;
  position: absolute;
  left: 0px;
  top: 16px;
}

.feature_panel_main_ul_movie {
border : 1px #000 slid ;

}



/* ============================================================== ■■■ 3つの特長 追加クラスここまで　*/
/* ============================================================== ■■■ 学習者用デジタル教科書 追加クラスここから　*/
.list_panel_02 .list_panel_main {
    font-size: 14px;
}
.list_panel_02 .list_panel_main li:after {
    top: 10px;
}

.image_panel_01 .image_panel_main {
    width: 100%;
}
.btn_wrap .btn .text_01 {
  padding: 10px 24px;
  font-size: 13px;
}
/* ============================================================== ■■■ 学習者用デジタル教科書 追加クラスここまで　*/
/* ============================================================== ■■■ その他 追加クラスここから　*/
.firstview .substance_ad img, .firstview .substance_st img {
    float: none;
    max-width: 390px;
    margin: 45px auto 110px auto !important;
    width: 88% !important;

    max-width: 320px;
    width: 58% !important;
}
.firstview .substance_es img {
    float: none;
    max-width: 320px;
    margin: 45px auto 110px auto !important;
    width: 58% !important;
}
.firstview .substance_shin img {
    float: none;
    max-width: 700px;
    margin: 53px auto 115px auto !important;
    width: 100% !important;
}
.firstview .substance_shin_r4 img {
    float: none;
    margin: 45px auto 110px auto !important;
    max-width: 320px;
    width: 58% !important;
}

.firstview .substance .year_position_01_1 {
    bottom: 120px;
    left: 37% ;
    transform: translate(-47%, 0) scale(.82);
}
.firstview .substance .year_position_01_2 {
    bottom: 120px;
    left: 65%;
    transform: translate(-47%, 0) scale(.82);
}
.firstview .substance .year_position_01_3 {
    bottom: 80px;
    left: 79.3%;
    transform: translate(-47%, 0) scale(.82);
    white-space:nowrap;
}
.firstview .substance .year_position_01_4 {
    bottom: 120px;
    left: 36.4%;
    transform: translate(-47%, 0) scale(.82);
    white-space:nowrap;
}
.firstview .substance .year_position_01_5 {
    bottom: 120px;
    left: 65.3%;
    transform: translate(-47%, 0) scale(.82);
    white-space:nowrap;
}
.firstview .substance .year_position_01_6 {
    bottom: 118px;
    left: 21% ;
    transform: translate(-47%, 0) scale(.78);
}
.firstview .substance .year_position_01_7 {
    bottom: 118px;
    left: 51% ;
    transform: translate(-47%, 0) scale(.78);
}
.firstview .substance .year_position_01_8 {
    bottom: 110px;
    left: 50% ;
    transform: translate(-47%, 0) scale(.78);
    white-space: nowrap ;
}
.firstview .substance .year_position_01_9 {
    bottom: 101px;
    left: 85% ;
    transform: translate(-47%, 0) scale(.78);
  white-space: nowrap;
}

.firstview .substance .year_position_01_11 {
    bottom: 120px;
    left: 26% ;
    transform: translate(-47%, 0) scale(.82);
}
.firstview .substance .year_position_01_12 {
    bottom: 120px;
    left: 71%;
    transform: translate(-47%, 0) scale(.82);
}


.firstview .title {
        top: -4px;
}

.firstview .title .slogan{
  top: -24px;
}


.substance_ul {
  position : absolute; 
/*  top:69.5%;*/
  top: auto;
  bottom: 8%;
  left:26%;
  width: 370px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  transform : scale(0.75);
  transform-origin :0 0;
/*  border : 2px #000 solid ;*/
}
.substance_ul li {
  margin : 0 0 0 0 ;
width :48%;
height:25px;
text-align : left ;
}
.substance_ul_year_lastest {
    padding: 3px 4px 2px 4px;
    background: #fff;
    border: 1px solid #ff8800;
    color: #ff8800;
    white-space: nowrap ;
    font-size : 10px ;
    letter-spacing : -0.1em ;
}
.substance_ul_year {
    padding: 3px 4px 2px 4px;
    background: #ff8800;
    border: 1px solid #ff8800;
    color: #fff;
    white-space: nowrap ;
    font-size : 10px ;
    letter-spacing : -0.1em ;
}
.substance_ul_shomokumei {
    font-size : 11px ;
    white-space: nowrap ;
}














.textbook_number_wrap {
    transform: scale(.78);
    transform-origin:bottom left;
}


.lead {
  display: table ;
  margin : 50px auto 35px auto ;
  width : 90% ;
  font-size :14px !important;
  line-height : 25px !important;
  text-align: justify;
  text-justify: inter-ideograph;
}
.feature_panel_main_txt {
  padding: 0 0 13px 0 ;
  width : 100% ;
  font-size :13px;
  text-align: justify;
  text-justify: inter-ideograph;
}
.feature_panel_main_txt em {
  font-weight : bold ;
}
.img_panel_01_2 {
  text-align: center;
}

.img_panel_01_2 img {
  margin: 0 5px 20px;
  border :10px #000 solid ;
}

.img_panel_01_2 a img {
  width: 100%;
}

.hp_ws {
  white-space : normal !important;
}
.hp_ls {
  letter-spacing: -0.5em !important
}

.kome {
  position : absolute ; bottom : 0px; right : 2px ;
  font-size : 10px ;
}
.hp_posiRe {
 position : relative !important;
}
.txt_sz {
  font-size: min(2.7vw, 12px) !important;
  line-height: min(3.7vw, 16px) !important;
  white-space :nowrap !important;
}
.ul_1 {
  margin : 0 0 40px 0 ;
}
.ul_1 li{
  position: relative;
  margin: 0 0 5px 2px;
  padding: 0 0 0 12px;
  line-height: 1.2;
  font-size: 15px !important;
  line-height: 24px !important;
  text-align: justify;
  text-justify: inter-ideograph;
  letter-spacing: -.05em;
}
.ul_1 li:before {
  margin: 1px 0 0 0;
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background: #6d86e1;
  border-radius: 3px;
  position: absolute;
  left: 0;
  top: 10px;
  transform: translate(0, -50%);
}
.ul_1 li em {
  font-weight: bold;
}


.el_title_1 {
margin: 0 auto 40px auto ;
padding: 5% 6% 6% 7%;
border-radius:7px;
width :70% ;
background-color:#f8f6f3 ;
font-size: min(2.7vw, 15px) !important;
}
.el_title_1 .page {
margin: 0 0 5px 0;
font-size: min(2.1vw, 12px) !important;
font-weight:bold;
color:#444;
}


/* タブ3 */
.text_plain_01__wd {
  width: 100%;
  margin: 0 0 20px;
}

.text_plain_inner__wd {
  width: 460px;
}
.list_panel_02__wd {
  width :100% ;
}
.head_4_math {
  margin : 0 0 15px 0 ;
  width:100% ;
}
.head_4_math span {
  display:inline-block ;
  margin : 0 0 5px 0 ;
  padding: 0 0 0 6px ;
  font-size: 15px ;
  line-height: 22px !important;
  font-weight: bold !important;
}
.colr_01 {
  background:linear-gradient(0deg,#e7e9fb 0%,#e7e9fb 40%,#fff 40%,#fff 100%);
}
.colr_02 {
  background:linear-gradient(0deg,#d0eaf6 0%,#d0eaf6 40%,#fff 40%,#fff 100%);
}
.colr_03 {
  background:linear-gradient(0deg,#e1f2de 0%,#e1f2de 40%,#fff 40%,#fff 100%);
}

.toggle_btn_wrap .btn .text{
  border: 1px solid #ccc !important;
}
.toggle_btn_wrap .btn a:link .text {
  border: 1px solid #ccc !important;
} 
.toggle_btn_wrap .btn a:visited .text {
  border: 1px solid #ccc !important;
}

.wide_btn_wrap{
  position: relative;
  top: 8px;
  left: 0;
  transform: translate(0, 0);
  height: 52px;
  margin: 0;
}
.wide_btn_wrap_ess, .wide_btn_wrap_shin{
  position: relative;
  top: 8px;
  left: 0;
  transform: translate(0, 0);
  height: 52px;
  margin: 0;
}


.hp_txt50p { font-size: 50% !important; }
.hp_txt60p { font-size: 60% !important; }
.hp_txt70p { font-size: 70% !important; }
.hp_txt75p { font-size: 75% !important; }
.hp_txt80p { font-size: 80% !important; }
.hp_txt85p { font-size: 85% !important; }
.hp_txt90p { font-size: 90% !important; }
.hp_txt95p { font-size: 95% !important; }
.hp_txt110p { font-size: 110% !important; }
.hp_txt120p { font-size: 120% !important; }
.hp_txt130p { font-size: 130% !important; }
.hp_txtm33vw { font-size: min(3.3vw, 11px) !important;}
.hp_txtm26vw { font-size: min(2.6vw, 12px) !important;}

.hp_mat30p { margin-top: 30px !important; }
.hp_mab70p { margin-bottom: 70px !important; }

.btnundr_txt {
  margin: 10px auto 0 auto ;
  font-size: 60% ; 
  text-align:left ;
  word-break: break-all;
  width:250px;
}
.sup_1 {
  padding: 10px 0 0 0 ;
  font-size : 80% ;
}

.hp_txtbdr {
  padding : 3px 3px ;
  border: 1px #000 solid ;
  font-size: 77%;
  color: #333;
}
.list_panel_main_black {
width : 100% ;
}



/* ============================================================== ■■■ その他 追加クラスここまで　*/

}




/********************************************************************************

	02. forSP Layout
    *横幅が476px〜668pxの場合


********************************************************************************/


@media screen and (min-width:476px) and (max-width: 668px) {

.firstview .substance .year_position_01_1 {
  margin : 0 0 0 -125px ;
    bottom: 120px;
    left: 60% ;
    transform: translate(-47%, 0) scale(.82);
}
.firstview .substance .year_position_01_2 {
    bottom: 120px;
    left: 64%;
    transform: translate(-47%, 0) scale(.82);
}
.firstview .substance .year_position_01_3 {
  margin : 0 0 0 127px ;
    bottom: 80px;
    left: 51%;
    transform: translate(-47%, 0) scale(.82);
    white-space:nowrap;
}
.firstview .substance .year_position_01_4 {
  margin : 0 0 0 -68px ;
    bottom: 120px;
    left: 51%;
    transform: translate(-47%, 0) scale(.82);
    white-space:nowrap;
}
.firstview .substance .year_position_01_5 {
  margin : 0 0 0 70px ;
    bottom: 120px;
    left: 51%;
    transform: translate(-47%, 0) scale(.82);
    white-space:nowrap;
}


.substance_ul {
  position : absolute; top: 340px;left:26%;
}

}


/********************************************************************************

	02. forSP Layout
    *横幅が476px〜587pxの場合


********************************************************************************/

@media screen and (min-width:476px) and (max-width: 587px) {

.substance_ul {
  position : absolute; top: calc(59vw);left:26%;

}

}






/********************************************************************************

	02. forSP Layout
    *横幅が374px以下の場合


********************************************************************************/

@media screen and (max-width: 374px) {
.head_4_math span {
  font-size: 13px !important;
  line-height: 20px !important;
}
.substance_ul {
  position : absolute; top:68%;left:26%;
  width: 370px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  transform : scale(0.65);
  transform-origin :0 0;
}
.textbook_number_wrap {
    transform: scale(.65);
    transform-origin:bottom left;
}


.firstview .substance .year_position_01_6 {
    bottom: 110px;
    left: 21% ;
    transform: translate(-47%, 0) scale(.78);
}
.firstview .substance .year_position_01_7 {
    bottom: 110px;
    left: 51% ;
    transform: translate(-47%, 0) scale(.78);
}
.firstview .substance .year_position_01_8 {
    bottom: 110px;
    left: 80% ;
    transform: translate(-47%, 0) scale(.78);
    white-space: nowrap ;
}

/*解説動画はこちらボタン*/
.feature_panel_main_ul_li__ht {
  height : 125px !important;
}





}



