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

  subject

  01. forPC Layout

  02. forSP Layout

  03. forSP Layout (max-width: 321px)

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






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

  01. forPC Layout

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

/* ----------------------------------
  PC　SP view divergence - utility
---------------------------------- */
.u-media-pc {
  display: block;
}
.u-media-sp {
  display: none;
}

/* ============================================================ main_view */
.main_view_wrap{
}
.main_view{
  /*overflow: hidden;*/
  margin: 0 auto;
}

/* ============================================================ title */
.title_wrap{
  background: #ccc;
}
.title {
  top: 50px;
  display: flex;
  flex-flow: column;
  position: relative;
  padding: 17px 0;
  margin: 0 auto;
  max-width: 1280px;
  background: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 48px;
  font-weight: 400;
  text-align: center;
}
.title_lead {
  font-size: 30px;
}
.title_suject {
  position: relative;
  padding: 0 0 0 .15em;
  letter-spacing: .15em;
}
.title_suject:after {
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translate(-50%,0);
  content: "";
  height: 4px;
  width: 70px;
  background: #888;
}

/* ============================================================ contents */
#contents {
    position: relative;
}

/* ============================================================ btn */
.btn_wrap {
  padding: 40px 0;
  background: #eff5f7;
  text-align: center;
}
.btn_wrap .btn {
  padding: 0 0 0 29px;
  display: inline-block;
  text-decoration: none;
}
.btn_wrap .btn span{
    border: 1px solid #ccc;
    font-size: 22px;
    padding: 15px 50px;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition-property: color;
    transition-duration: 0.5s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    z-index: 2;
    min-width: 520px;
    height: 72px;
    margin: 0 auto;
    background-color: #fff;
    pointer-events: painted;
}
.btn_wrap .btn span:before {
    content: "";
    display: block;
    width: 68px;
    height: 2px;
    border-bottom: 5px solid #76c9ec;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%, -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);
}
.btn_wrap .btn span:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: auto;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 0;
    transition-property: all;
    transition-duration: 0.5s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #0096df;
    right: auto;
    left: 0;
    width: 100%;
    opacity: 0;
}
.btn_wrap .btn span:hover {
    color: #fff;
    text-decoration: none;
    border: 1px solid #0096df;
    border-color: #0096df;
}
.btn_wrap .btn span:hover:after {
    opacity: 1;
}
.btn_wrap .btn span:hover:before {
    transform: translate(-50%, -50%) scaleX(0);
    border-bottom: 5px solid #0096df;
    border-color: #0096df;
    z-index: -1;
}

.btn_wrap_contact {
  position: relative;
  padding: 70px 0;
  min-height: 210px;
  background: #eff5f7;
}
.btn_wrap_contact .btn span{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border: none;
}

/* ============================================================ wide_btn */
.wide_btn_box{
  position: absolute;
  z-index: 5;
  top: -123px;
  left: 50%;
  transform: translate(335px, 0);
}

.wide_btn_wrap{
  margin: 0 0 6px;
}
#wide_btn01{
  height: 58px;
  width: 290px;
  padding: 6px;
  background: #888;
}

#wide_btn01 a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding: 3px 18px;
  height: 46px;
  background: #fff;
  color: #555;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.05;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
#wide_btn01 a{
  padding: 3px 18px 0;
}  /* IE11 */
}

#wide_btn01 a:after{
  content: "";
  height: 20px;
  width: 20px;
  background: url(../img/common/nav_arrow_disc01.svg);
  background-size: 20px 20px;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translate(0, -50%);
}
#wide_btn01_in {
    display: block;
    background: #fff;
}
#wide_btn01_in .nav_text{
  width: 100%;
  font-size: 16px;
}

#kokugo #wide_btn01{ background: #e62b3c; }
#shakai #wide_btn01{ background: #bac622; }
#sugaku #wide_btn01{ background: #264fd6; }
#rika #wide_btn01{ background: #0095e5; }
#shodo #wide_btn01{ background: #f68200; }
#eigo #wide_btn01{ background: #0a8e3d; }
#katei #wide_btn01{ background: #f5b41b; }
#joho #wide_btn01{ background: #37a514; }


/* ============================================================ wide_btn02 */
.wide_btn02_wrap{
  margin: 0 0 6px;
}
#wide_btn02{
  height: 38px;
  width: 290px;
  padding: 6px;
  background: linear-gradient(90deg, rgba(73 215 52) 0%, rgba(73 215 52) 25%, rgba(111 249 92) 50%, rgba(73 215 52) 75%, rgba(73 215 52) 100%);
}

#wide_btn02 a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding: 3px 12px 3px 18px;
  height: 26px;
  background: #fff;
  color: #555;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.05;
  letter-spacing: -.06em;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
#wide_btn02 a{
  padding: 3px 18px 0;
}  /* IE11 */
}

#wide_btn02_in {
    display: block;
    background: #fff;
}
#wide_btn02_in .nav_text{
  width: 100%;
  font-size: 16px;
}


/* ============================================================ wide_btn03 */
.wide_btn03_wrap{
  margin: 0 0 6px;
}
#wide_btn03{
  height: 38px;
  width: 290px;
  padding: 6px;
  background: linear-gradient(90deg, rgba(140,205,130,1) 0%, rgba(63,172,47,1) 100%);
}

#wide_btn03 a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding: 3px 12px 3px 18px;
  height: 26px;
  background: #fff;
  color: #555;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.05;
  /*letter-spacing: -.06em;*/
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
#wide_btn03 a{
  padding: 3px 18px 0;
}  /* IE11 */
}

#wide_btn03_in {
    display: block;
    background: #fff;
}
#wide_btn03_in .nav_text{
  width: 100%;
  font-size: 16px;
}

#kokugo #wide_btn03{ background: #e62b3c; }
#shakai #wide_btn03{ background: #bac622; }
#sugaku #wide_btn03{ background: #264fd6; }
#rika #wide_btn03{ background: #0095e5; }
#shodo #wide_btn03{ background: #f68200; }
#eigo #wide_btn03{ background: #0a8e3d; }
#katei #wide_btn03{ background: #f5b41b; }
#joho #wide_btn03{ background: #37a514; }

/* ============================================================ wide_btn04 */
.wide_btn04_wrap{
  margin: 0 0 6px;
}
#wide_btn04{
  /*height: 58px;*/
  width: 290px;
  padding: 6px;
  background: #e6bc67;
}

#wide_btn04 a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding: 4px 18px;
  /*height: 46px;*/
  background: #fff;
  color: #555;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.05;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
#wide_btn04 a{
  padding: 3px 18px 0;
}  /* IE11 */
}

#wide_btn04 a:after{
  content: "";
  height: 20px;
  width: 20px;
  background: url(../img/common/nav_arrow_disc01.svg);
  background-size: 20px 20px;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translate(0, -50%);
}
#wide_btn04_in {
    display: block;
    background: #fff;
}
#wide_btn04_in .nav_text{
  width: 100%;
  font-size: 16px;
}

/* ============================================================ wide_btn05 */
.wide_btn05_wrap{
  margin: 0 0 6px;
}
#wide_btn05{
  width: 290px;
  padding: 6px;
  background: #e6bc67;
}

#wide_btn05 a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding: 4px 18px;
  background: #fff;
  color: #555;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.05;
  letter-spacing: -.15em;
  cursor: pointer;
}

#wide_btn05 a:after{
  content: "";
  height: 20px;
  width: 20px;
  background: url(../img/common/nav_arrow_disc01.svg);
  background-size: 20px 20px;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translate(0, -50%) rotate(90deg);
}
#wide_btn05 a.active_btn:after{
  transform: translate(0, -50%) rotate(-90deg);
}
#wide_btn05_in {
    display: block;
    background: #fff;
}
#wide_btn05_in .nav_text{
  width: 100%;
  font-size: 16px;
}

/* ============================================================ wide_btn06 */
.wide_btn06_wrap{
  margin: 0 0 6px;
}
#wide_btn06{
  /*height: 58px;*/
  width: 290px;
  padding: 6px;
  background: #22AA4B;
}

#wide_btn06 a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding: 4px 18px;
  height: 46px;
  background: #fff;
  color: #555;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.05;
}

#wide_btn06 a:after{
  content: "";
  height: 20px;
  width: 20px;
  background: url(../img/common/nav_arrow_disc01.svg);
  background-size: 20px 20px;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translate(0, -50%);
}
#wide_btn06_in {
    display: block;
    background: #fff;
}
#wide_btn06_in .nav_text{
  width: 100%;
  font-size: 16px;
}
#wide_btn06_in .nav_text_bg_green{
  margin: 0 .2em 0 0;
  padding: 0 .5em;
  background: #22AA4B;
  color: #fff;
}


.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:290px;
  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 : 5 ;
}
@-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 : 16px ;
  letter-spacing: -.07em;
  line-height:31px;
  background: url(../img/common/nav_arrow_disc01.svg) right center ;
  background-size : 20px 20px ;
  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(../img/common/nav_arrow_disc01.svg) right center ;
  background-size : 20px 20px ;
  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);
}

.btn_qrinner_movie {
  top: 79px;
}
.btn_qrinner_movie .btn_qr_ul {
    margin: 11px 0 12px 23px;
    width: 249px;
}
.btn_qr_ul li.linex2 a, .btn_qr_ul_2 li.linex2 a {
    line-height: 1;
}

@media screen and (min-width: 0px) and (max-width: 668px) {
  .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:190px;
    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 ;
  }
  .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 : 11px ;
      line-height:25px;
      background: url(../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(../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;
    }

    .btn_qrinner_movie {
      top: -13px;
      right: 50%;
      transform: translate(50%, 0);
      width: 213px;
    }
    .btn_qrinner_movie .btn_qr_ul {
      margin: 10px 0 10px 22px;
      width: 180px;
    }


}


/* ============================================================ suject_content */
#suject_content {
  padding: 0 0 50px;
  min-height: 740px;
}

#kokugo #suject_content {
  padding: 35px 0 50px;
}

#sugaku #suject_content {
  padding: 53px 0 50px;
}

#rika #suject_content {
  padding: 73px 0 50px;
}

.box-bg {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1250px;
    margin: 0 auto;
    padding: 0;
}
.box {
  width: 607px;
  margin: 12px 0;
  font-size:14px;
  letter-spacing: .05em;
}
.box a {
    display: block;
    position: relative;
    z-index: 1;
}

.box .box_inner{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 12px 1.7% 0;
  background: #ccc;
}

.box .box_inner_center{
  justify-content: center;
}

.substance {
  margin: 0 0 12px;
  background: #fff;
}
.substance a,
.substance .substance_coming_soon {
  position: relative;
  display: flex;
  align-items: center;
  height: 200px;
  width: 288px;
  background: #fff;
}
.substance a img,
.substance .substance_coming_soon img {
    margin: 0 auto;
    border: 1px solid #efefef;
}

.substance_imgx2 a {
  width: 424px;
}

.substance p {
  margin: 0 0 0;
  line-height: 1.2;
}
.substance .substance_inner {
  width: 138px;
  margin: 0 8px 0 0;
  text-align: center;
}

.substance .substance_inner_imgx2 {
  margin: 0 auto;
}

.substance_inner > dl > dd{
  min-width: 96px;
  font-size: 11px;
  transition: opacity .25s linear;
}
.substance_inner .textbook_detail {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  letter-spacing: 0;
}
.substance_inner .year {
  padding: 2px 5px;
  background: #fff;
  border: 1px solid #ff8800;
  color: #ff8800;
  font-size: 12px;
}
.substance_inner .year_latest {
  padding: 2px 5px;
  background: #ff8800;
  border: 1px solid #ff8800;
  color: #fff;
  font-size: 12px;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
.substance_inner .year,
.substance_inner .year_latest {
  padding: 4px 5px 0;
}  /* IE11 */
}

.substance_inner .year_latest_r6 {
  padding: 2px 5px;
  background: #ff008e;
  border: 1px solid #ff008e;
  color: #fff;
  font-size: 12px;
}

.substance_inner .release_day {
  position: relative;
  top: 85px;
  padding: 2px 6px 2px 4px;
  background: #ff008e;
  border: 1px solid #ff008e;
  border-radius: 12px;
  color: #fff;
  font-size: 12px;
  letter-spacing: -.07em;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
.substance_inner .release_day {
  padding: 4px 5px 0;
}  /* IE11 */
}

.substance_inner .textbook_title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;
  width: 100%;
  font-size: 17px;
  line-height: 1.2;
}

.substance_inner_dlx2 .textbook_title {
    height: 46px;
}
.substance_inner_dlx2 dl:last-child .textbook_title {
    height: 22px;
}

.substance_inner .textbook_number_wrap {
}
.substance_inner .textbook_number_in {
  display: table;
  border-collapse: collapse;
  margin: 0 auto 5px;
  background: rgba(255,255,255,.75);
  font-size: 11px;
}
.substance_inner .textbook_number_wrap dt,
.substance_inner .textbook_number_wrap dd {
  display: table-cell;
  padding: 3px 4px;
  border: 1px solid #333;
  line-height: 1;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, 
.substance_inner .textbook_number_wrap dt,
.substance_inner .textbook_number_wrap dd {
  padding: 4px 4px 1px;
}  /* IE11 */
}

.substance_coming_soon .substance_inner .textbook_number_wrap dt,
.substance_coming_soon .substance_inner .textbook_number_wrap dd {
  border: 1px solid #fff;
}

.subtitle_suject {
  display: block;
  padding: 8px 0;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.15;
  transition: opacity .25s linear;
}




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

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


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

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



/* ----------------------------------
  PC　SP view divergence - utility
---------------------------------- */
.u-media-pc {
  display: none;
}
.u-media-sp {
  display: block;
}

img {
  height: auto;
    /*width: 100%;*/
}

#suject_content{
    padding: 0 0 30px;
}

/* ============================================================ main_view */
.main_view_wrap {
  padding: 80px 0 0;
}
.main_view{
  width: 100%;
}

/* ============================================================ title */
.title_wrap {
    float: none;
    background-size: auto 141px;
}
.title {
    top: 35px;
    padding: 15px 0;
    width: 96%;
    font-size: 30px;
}
.title_lead {
    font-size: 19px;
}
.title_suject:after {
    bottom: -8px;
    height: 3px;
    width: 44px;
}

/* ============================================================ btn */
.btn_wrap .btn span {
    font-size: 13px;
    padding: 10px 50px;
    min-width: 274px;
    height: 42px;
}
.btn_wrap .btn span:before {
    width: 42px;
    height: 2px;
    border-bottom: 4px solid #76c9ec;
}
.btn_wrap .btn span:hover:before {
    border-bottom: 4px solid #0096df;
}

.btn_wrap_contact {
    padding: 40px 0;
    min-height: auto;
}
.btn_wrap_contact .btn span {
    transform: translate(-47%, -50%);
}

/* ============================================================ wide_btn */
.wide_btn_box{
  position: relative;
  top: 0;
  left: 0;
  transform: translate(0, 0);
}

.wide_btn_wrap{
  position: relative;
  height: 52px;
  margin: 0 0 5px;
}
#wide_btn01{
  position: absolute;
  z-index: 5;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  height: 52px;
  width: 215px;
  padding: 6px;
}
#wide_btn01 a{
  height: 40px;
  font-size: 11px;
}
#wide_btn01 a:after{
  right: 3px;
}
#wide_btn01_in .nav_text{
  font-size: 11px;
}

/* ============================================================ wide_btn02 */
.wide_btn02_wrap{
  position: relative;
  height: 37px;
  margin: 0 0 5px;
}
#wide_btn02{
  position: absolute;
  z-index: 5;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  height: 37px;
  width: 215px;
  padding: 6px;
}
#wide_btn02 a{
  height: 25px;
  font-size: 11px;
}
#wide_btn02 a:after{
  right: 3px;
}
#wide_btn02_in .nav_text{
  font-size: 11px;
}

/* ============================================================ wide_btn03 */
.wide_btn03_wrap{
  position: relative;
  height: 37px;
  margin: 0 0 5px;
}
#wide_btn03{
  position: absolute;
  z-index: 5;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  height: 37px;
  width: 215px;
  padding: 6px;
}
#wide_btn03 a{
  height: 25px;
  font-size: 11px;
}
#wide_btn03 a:after{
  right: 3px;
}
#wide_btn03_in .nav_text{
  font-size: 11px;
}

/* ============================================================ wide_btn04 */
.wide_btn04_wrap{
  position: relative;
  height: 52px;
  margin: 0 0 5px;
}
#wide_btn04{
  position: absolute;
  z-index: 5;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  /*height: 52px;*/
  width: 215px;
  padding: 6px;
}
#wide_btn04 a{
  /*height: 40px;*/
  padding: 7px 18px;
  font-size: 11px;
}
#wide_btn04 a:after{
  right: 3px;
}
#wide_btn04_in .nav_text{
  font-size: 11px;
}

/* ============================================================ wide_btn05 */
.wide_btn05_wrap{
  position: relative;
  height: 52px;
  margin: 0 0 5px;
}
#wide_btn05{
  position: absolute;
  z-index: 5;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  /*height: 52px;*/
  width: 215px;
  padding: 6px;
}
#wide_btn05 a{
  padding: 7px 18px;
  font-size: 11px;
  letter-spacing: -.1em;
}
#wide_btn05 a:after{
  right: 3px;
}
#wide_btn05_in .nav_text{
  font-size: 11px;
}

/* ============================================================ wide_btn06 */
.wide_btn06_wrap{
  position: relative;
  height: 52px;
  margin: 0 0 5px;
}
#wide_btn06{
  position: absolute;
  z-index: 5;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  /*height: 52px;*/
  width: 215px;
  padding: 6px;
}
#wide_btn06 a{
  height: 40px;
  padding: 7px 18px;
  font-size: 11px;
}
#wide_btn06 a:after{
  right: 3px;
}
#wide_btn06_in .nav_text{
  font-size: 11px;
}

/* ============================================================ suject_content */
#contents {
    margin: 0;
}

.nav_active #contents {
  display: none;
}

#kokugo #suject_content {
    padding: 0 0 50px;
}

#sugaku #suject_content {
    padding: 0 0 50px;
}

#rika #suject_content {
    padding: 0 0 50px;
}

.box-bg {
/*    max-width: 400px;*/
    justify-content: center;
    padding: 12px 2% 18px;
    width: 100%;
}

.box {
    font-size: 85%;
}
.box .box_inner {
    justify-content: center;
}

.substance {
  margin: 0 2% 12px;
}
.substance a {
  margin: 0 auto;
}
.substance img {
    margin: 10px 20% 0;
}

.substance_imgx2 a {
  padding: 9px 0 3px;
  height: auto;
  width: 288px;
}

.substance p {
    float: none;
    width: 100%;
    margin: 0px 0 0;
}

.substance .substance_inner {
}

.substance .substance_inner_imgx2 {
    width: 126px;
}

.substance ul li a {
    margin: 15px 0;
    padding: 9px 10px 9px 34px;
    font-size: 14px;
    letter-spacing: 0;
}
.substance ul li.ind a {
    padding: 9px 10px 9px 40px;
}
.substance ul li.ind:last-child a {
  letter-spacing: -0.04em;
}
.substance ul li a:before {
    left: 10px;
    margin: -8px 0 0;
    height: 16px;
    width: 16px;
}
.substance ul li.linex2 a {
    padding: 5px 10px 5px 40px;
    font-size: 14px;
}

.subtitle_suject a {
    padding: 12px 3%;
    font-size: 16px;
}
.subtitle_suject a:before {
    right: 3%;
    margin: -5px 0 0;
    height: 12px;
    width: 6px;
}
.subtitle_suject {
    display: block;
    padding: 6px 0;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.15;
    transition: opacity .25s linear;
}





}




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

  03. forSP Layout
    *横幅が320px以下の場合


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

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








}