@charset "UTF-8";
/*--------------------------------------------------------　*/
/*　学力診断テスト 特集ページ専用CSS　*/
/*　特別企画（specialフォルダ）用CSSと併用してください　*/
/*--------------------------------------------------------　*/
@import url("https://fonts.googleapis.com/css?family=Kosugi+Maru|Noto+Sans+JP&display=swap");
/* 教科 */
/* 教科 - 薄 */
/* 学年 */
.entry-fb {
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(10%, #fff9b0));
  background: linear-gradient(transparent 40%, #fff9b0 10%);
}

.mb1 {
  margin-bottom: 1em !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt1 {
  margin-top: 1em !important;
}

.mt15 {
  margin-top: 1.5em !important;
}

.size12 {
  font-size: 12px;
  font-size: 1.2rem;
}

#atc_sp_smilezemi_revision {
  background: #f9f9f9;
}
#atc_sp_smilezemi_revision > section {
  color: #333;
}

.svg-area {
  display: none;
}

/*--------------------------------　*/
/*　HEADER　*/
/*--------------------------------　*/
.smilezemi-revision-header {
  position: relative;
  padding-top: 100%;
  margin: 0 -1.5em;
  background: url("../img/special/smilezemi_revision_bg_header_sp.png") top center/cover no-repeat;
  /* SNS */
  /* バッジ */
}
.smilezemi-revision-header h1 {
  width: 0;
  height: 0;
  overflow: hidden;
}
.smilezemi-revision-header .atc_sns {
  margin: 0;
  position: absolute;
  bottom: 0;
  right: 0;
}
.smilezemi-revision-header .atc_sns ul {
  text-align: right;
}
.smilezemi-revision-header .atc_sns ul li {
  display: inline-block;
}
.smilezemi-revision-header .sp_badge {
  position: absolute;
  left: 0;
  bottom: 0;
}

/*--------------------------------　*/
/*　NAVIGATION　*/
/*--------------------------------　*/
.smilezemi-nav {
  margin: 2em auto;
  padding-bottom: 1.5em;
  border: 1px solid #00419a;
  border-radius: 5px;
  background: url("../img/special/smilezemi_revision_bg03.png") #fff;
  counter-reset: number 0;
}
.smilezemi-nav ol {
  padding: 0 2em;
}
.smilezemi-nav ol li {
  position: relative;
  margin-bottom: 0.8em;
  padding-left: 2.5em;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.8;
}
.smilezemi-nav ol li a {
  color: #172982;
}
.smilezemi-nav ol li a::before {
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: -0.02em;
  counter-increment: number 1;
  content: counter(number) ".";
}
.smilezemi-nav ol li .sub {
  display: none;
}
.smilezemi-nav ol li::before {
  display: block;
  position: absolute;
  left: 0;
  width: 1.8em;
  height: 1.8em;
  background: #00419a;
  border-radius: 50%;
  content: "";
}
.smilezemi-nav ol li .icon {
  position: absolute;
  top: 0.4em;
  left: 0.4em;
  width: 1em;
  height: 1em;
  z-index: 10;
  fill: #fff;
  stroke: #fff;
}
.smilezemi-nav .japanese::before {
  background: #da4336;
}
.smilezemi-nav .social::before {
  background: #8a74d9;
}
.smilezemi-nav .arithmetic::before {
  background: #2784f6;
}
.smilezemi-nav .science::before {
  background: #00a762;
}
.smilezemi-nav .english::before {
  background: #ff9200;
}
.smilezemi-nav::before {
  display: block;
  padding: 0.5em;
  margin-bottom: 1.5em;
  color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  background: #00419a;
  content: "目次";
}

/*--------------------------------　*/
/*　SECTION　*/
/*--------------------------------　*/
/* セクション - イントロ・まとめ */
.smilezemi-revision-sec {
  position: relative;
  margin-top: 6em;
  padding: 1em;
  border: 2px solid #00419a;
  background: url("../img/special/smilezemi_revision_bg01.png") top center repeat-x, url("../img/special/smilezemi_revision_bg02.png") bottom center repeat-x, #fff;
  border-radius: 5px;
}

/* セクション - 教科 */
.smilezemi-revision-subject {
  position: relative;
  margin-top: 6em;
  padding: 1.5em;
  border: 2px solid #000;
  border-radius: 5px;
  background: url("../img/special/smilezemi_revision_bg01.png") top center repeat-x, url("../img/special/smilezemi_revision_bg02.png") bottom center repeat-x, #fff;
}

/*セクション - アイコン*/
.i-chap {
  position: absolute;
  top: -2.5em;
  left: -0.1em;
}
.i-chap span {
  display: inline-block;
  position: relative;
  padding: 0.3em 3em 0.2em 0.8em;
  color: #fff;
  letter-spacing: 0.05em;
  font-size: 14px;
  font-size: 1.4rem;
  z-index: 1;
}
.i-chap span::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleY(1.3) perspective(0.6em) rotateX(5deg);
          transform: scaleY(1.3) perspective(0.6em) rotateX(5deg);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  border-radius: 8px 8px 0 0;
  background: #00419a;
  content: "";
  z-index: -1;
}
.pickup .i-chap span {
  font-weight: bold;
}
.pickup .i-chap span::before {
  background: #ff5e1f;
}
.japanese .i-chap span::before {
  background: #da4336;
}
.social .i-chap span::before {
  background: #8a74d9;
}
.arithmetic .i-chap span::before {
  background: #2784f6;
}
.science .i-chap span::before {
  background: #00a762;
}
.english .i-chap span::before {
  background: #ff9200;
}

.japanese {
  border-color: #da4336;
}

.social {
  border-color: #8a74d9;
}

.arithmetic {
  border-color: #2784f6;
}

.science {
  border-color: #00a762;
}

.english {
  border-color: #ff9200;
}

/* 案件 */
.smilezemi-revision-item {
  position: relative;
  margin-top: 6em;
  border: 2px solid #ff5e1f;
  border-radius: 5px;
  background: url("../img/special/smilezemi_revision_bg01.png") top center repeat-x, url("../img/special/smilezemi_revision_bg02.png") bottom center repeat-x, #fff;
}
.smilezemi-revision-item .item {
  padding: 1em;
  overflow: hidden;
}
.smilezemi-revision-item .right {
  margin-top: 2em;
  text-align: left;
}
.smilezemi-revision-item .logo {
  width: 20em;
  max-width: 80%;
  margin: 1.5em auto;
  padding: 1em 0 0.8em 0;
  background: #fff;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
.smilezemi-revision-item .logo img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.smilezemi-revision-item .tablet {
  width: 20em;
  max-width: 80%;
  height: 10.5em;
  margin: 0 auto;
  border: 1px solid #ccc;
  overflow: hidden;
}
.smilezemi-revision-item .tablet img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*--------------------------------　*/
/*　HEADING　*/
/*--------------------------------　*/
/* 見出し：スマイルゼミ */
.smilezemi-revision-tit-item {
  padding: 0.5em 1em;
  margin: 1em 0.8em 0em 0.8em;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: normal;
  background: #ff5e1f;
  border-radius: 3px;
}
.smilezemi-revision-tit-item .icon {
  width: 1.3em;
  height: 1.3em;
  vertical-align: text-top;
  fill: #fff;
}
.smilezemi-revision-tit-item a {
  color: #fff;
}

/* 見出し */
.smilezemi-revision-chap {
  padding: 0.5em 0;
  font-size: 22px;
  font-size: 2.2rem;
  text-align: center;
  border-bottom: 2px solid #00419a;
  overflow: hidden;
}
.smilezemi-revision-chap span {
  color: #2784f6;
}

/*チャプター見出し - 教科*/
.smilezemi-revision-tit-subject {
  position: relative;
  margin-top: 0.5em;
  margin-left: 0.8em;
  margin-bottom: 1.5em;
  padding: 0.5em 0 0.2em 3.4em;
  color: #fff;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  font-size: 18px;
  font-size: 1.8rem;
  background: #000;
  border-radius: 3px;
}
.smilezemi-revision-tit-subject span {
  font-size: 28px;
  font-size: 2.8rem;
}
.japanese .smilezemi-revision-tit-subject {
  background: #da4336;
}
.social .smilezemi-revision-tit-subject {
  background: #8a74d9;
}
.arithmetic .smilezemi-revision-tit-subject {
  background: #2784f6;
}
.science .smilezemi-revision-tit-subject {
  background: #00a762;
}
.english .smilezemi-revision-tit-subject {
  background: #ff9200;
}
.smilezemi-revision-tit-subject::before {
  position: absolute;
  display: block;
  top: -0.2em;
  left: -1.2em;
  width: 3.9em;
  height: 3.9em;
  border-radius: 50%;
  border: 5px solid #000;
  background: #fff;
  content: "";
}
.japanese .smilezemi-revision-tit-subject::before {
  border-color: #da4336;
  background: linear-gradient(-25deg, #ffeaee 40%, #fff 41%);
}
.social .smilezemi-revision-tit-subject::before {
  border-color: #8a74d9;
  background: linear-gradient(-25deg, #f0ecfd 40%, #fff 41%);
}
.arithmetic .smilezemi-revision-tit-subject::before {
  border-color: #2784f6;
  background: linear-gradient(-25deg, #e0f7ff 40%, #fff 41%);
}
.science .smilezemi-revision-tit-subject::before {
  border-color: #00a762;
  background: linear-gradient(-25deg, #e8f5d7 40%, #fff 41%);
}
.english .smilezemi-revision-tit-subject::before {
  border-color: #ff9200;
  background: linear-gradient(-25deg, #ffe8c8 40%, #fff 41%);
}
.smilezemi-revision-tit-subject .icon {
  position: absolute;
  top: 0.7em;
  left: -0.25em;
  width: 2.5em;
  height: 2.5em;
}
.japanese .smilezemi-revision-tit-subject .icon {
  fill: #da4336;
  stroke: #da4336;
}
.social .smilezemi-revision-tit-subject .icon {
  fill: #8a74d9;
  stroke: #8a74d9;
}
.arithmetic .smilezemi-revision-tit-subject .icon {
  fill: #2784f6;
  stroke: #2784f6;
}
.science .smilezemi-revision-tit-subject .icon {
  fill: #00a762;
  stroke: #00a762;
}
.english .smilezemi-revision-tit-subject .icon {
  fill: #ff9200;
  stroke: #ff9200;
}

/* 見出し：タブレット */
.smilezemi-revision-tit-tablet {
  position: relative;
  margin: 2.8em 0 1em 0;
  padding: 0.5em 0.5em 0.5em 4em;
  font-weight: normal;
  color: #fff;
  border-radius: 3px;
}
.smilezemi-revision-tit-tablet .i-tablet {
  position: absolute;
  bottom: 0.25em;
  left: 0.5em;
  width: 2.8em;
  height: 2.8em;
  -webkit-transform: rotate(75deg);
          transform: rotate(75deg);
}
.japanese .smilezemi-revision-tit-tablet {
  background: #da4336;
}
.social .smilezemi-revision-tit-tablet {
  background: #8a74d9;
}
.arithmetic .smilezemi-revision-tit-tablet {
  background: #2784f6;
}
.science .smilezemi-revision-tit-tablet {
  background: #00a762;
}
.english .smilezemi-revision-tit-tablet {
  background: #ff9200;
}

.i-tablet {
  fill: #fff;
  stroke-width: 15;
  stroke-linejoin: round;
}
.japanese .i-tablet {
  stroke: #da4336;
}
.social .i-tablet {
  stroke: #8a74d9;
}
.arithmetic .i-tablet {
  stroke: #2784f6;
}
.science .i-tablet {
  stroke: #00a762;
}
.english .i-tablet {
  stroke: #ff9200;
}

/* 見出し：改訂のポイント */
.smilezemi-revision-tit-point {
  position: relative;
  margin: 1.5em 0 1em 0;
  padding: 0.5em 0.5em 0.5em 4em;
  font-weight: normal;
  border: 2px solid #000;
  border-radius: 3px;
}
.smilezemi-revision-tit-point .icon {
  position: absolute;
  bottom: -0.2em;
  left: 0.5em;
  width: 3em;
  height: 3em;
}
.japanese .smilezemi-revision-tit-point {
  border-color: #da4336;
  color: #da4336;
  fill: #da4336;
}
.social .smilezemi-revision-tit-point {
  border-color: #8a74d9;
  color: #8a74d9;
  fill: #8a74d9;
}
.arithmetic .smilezemi-revision-tit-point {
  border-color: #2784f6;
  color: #2784f6;
  fill: #2784f6;
}
.science .smilezemi-revision-tit-point {
  border-color: #00a762;
  color: #00a762;
  fill: #00a762;
}
.english .smilezemi-revision-tit-point {
  border-color: #ff9200;
  color: #ff9200;
  fill: #ff9200;
}

/*見出し：３つのポイント */
.smilezemi-revision-tit-3point {
  position: relative;
  margin-top: -5em;
  text-align: center;
  color: #00419a;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-family: "Kosugi Maru", sans-serif;
}
.smilezemi-revision-tit-3point .pink {
  margin-left: 0.1em;
  font-size: 26px;
  font-size: 2.6rem;
}
.smilezemi-revision-tit-3point::before {
  position: absolute;
  display: block;
  top: 0;
  left: calc(50% - 7em);
  width: 3em;
  height: 3em;
  background: url("../img/special/smilezemi_revision_icon01.png") top center/contain no-repeat;
  content: "";
}

/*--------------------------------　*/
/*　LIST　*/
/*--------------------------------　*/
/* 注釈リスト */
.smilezemi-test-note {
  margin-top: 1em;
  color: #999;
  font-size: 12px;
  font-size: 1.2rem;
}
.smilezemi-test-note li {
  position: relative;
}
.smilezemi-test-note li::before {
  display: inline-block;
  margin-right: 0.5em;
  content: "※";
}

/* 学年リスト */
.year li {
  position: relative;
  margin: 2em auto;
  padding: 2em 0.8em 0.8em 0.8em;
  line-height: 1.6;
  color: #333;
  border: 1px solid #000;
  -webkit-box-shadow: 1px 1px 0 #000;
          box-shadow: 1px 1px 0 #000;
  background: #fff;
  border-radius: 5px;
  font-size: 15px;
  font-size: 1.5rem;
}
.year li p {
  position: absolute;
  display: inline-block;
  top: -0.8em;
  left: 0.5em;
  padding: 0 1em;
  color: #fff;
  border-radius: 20px;
  background: #000;
}
.year .pink {
  border-color: #f24894;
  -webkit-box-shadow: 1px 1px 0 #f24894;
          box-shadow: 1px 1px 0 #f24894;
}
.year .pink p {
  background: #f24894;
}
.year .yellow {
  border-color: #ff9200;
  -webkit-box-shadow: 1px 1px 0 #ff9200;
          box-shadow: 1px 1px 0 #ff9200;
}
.year .yellow p {
  background: #ff9200;
}
.year .blue {
  border-color: #326db7;
  -webkit-box-shadow: 1px 1px 0 #326db7;
          box-shadow: 1px 1px 0 #326db7;
}
.year .blue p {
  background: #326db7;
}
.year .orange {
  border-color: #ff5e1f;
  -webkit-box-shadow: 1px 1px 0 #ff5e1f;
          box-shadow: 1px 1px 0 #ff5e1f;
}
.year .orange p {
  background: #ff5e1f;
}
.year .green {
  border-color: #00a762;
  -webkit-box-shadow: 1px 1px 0 #00a762;
          box-shadow: 1px 1px 0 #00a762;
}
.year .green p {
  background: #00a762;
}
.year .violet {
  border-color: #8064ba;
  -webkit-box-shadow: 1px 1px 0 #8064ba;
          box-shadow: 1px 1px 0 #8064ba;
}
.year .violet p {
  background: #8064ba;
}

.smilezemi-revision-3point {
  position: relative;
  padding: 8em 0 1em 0;
  margin-top: 5em;
  border-radius: 0.5em;
  background: #ffeaee;
  counter-reset: f-number 0;
}
.smilezemi-revision-3point li {
  position: relative;
  margin: 1em 1.2em 1.5em 1.2em;
  padding: 1em;
  font-size: 14px;
  font-size: 1.4rem;
  text-align: center;
  border: 1px solid #00419a;
  background: #fff;
  border-radius: 5px;
  -webkit-box-shadow: 1px 1px 0 #00419a;
          box-shadow: 1px 1px 0 #00419a;
}
.smilezemi-revision-3point li:first-child {
  margin-top: 1.8em;
}
.smilezemi-revision-3point li::before {
  position: absolute;
  top: -0.5em;
  left: -0.5em;
  width: 2em;
  height: 2em;
  color: #fff;
  border-radius: 50%;
  background: #00419a;
  counter-increment: f-number 1;
  content: counter(f-number);
}
.smilezemi-revision-3point li::after {
  position: absolute;
  top: 0.6em;
  left: 0.8em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 6px 0 6px;
  border-color: #00419a transparent transparent transparent;
  -webkit-transform: rotate(-50deg);
          transform: rotate(-50deg);
  content: "";
}

/* 注釈 */
.notes {
  padding: 1.5em;
  margin: 1.8em 0;
  border: 1px solid #ccc;
  background: #f9f9f9;
}
.notes p:first-child {
  font-weight: bold;
  color: #00a762;
}
.notes p:first-child::before {
  content: "※";
}

/* インラインリスト */
.inline {
  display: inline-block;
}
.inline li {
  display: inline-block;
  font-size: 15px;
  font-size: 1.5rem;
}
.inline li:not(:last-of-type)::after {
  margin-left: 0.2em;
  padding-right: 0.2em;
  content: "／";
}

/*--------------------------------　*/
/*　BOX　*/
/*--------------------------------　*/
/* おすすめ情報・評判のポイント */
.recommend,
.reputation {
  margin: 2.5em auto 1em auto;
  padding: 1.5em 2em;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.reputation {
  border-color: #da4336;
}
.reputation .tit {
  margin-bottom: 0.5em;
  font-weight: bold;
  color: #da4336;
}

.recommend {
  border-color: #ff5e1f;
  background: #fff6e8;
}
.recommend .tit {
  margin-bottom: 0.5em;
  font-weight: bold;
  color: #ff5e1f;
}

.point li {
  position: relative;
  padding-left: 1.3em;
  margin-bottom: 0.5em;
  font-size: 14px;
  font-size: 1.4rem;
}
.point li::before {
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  content: "";
}
.recommend .point li::before {
  background: #ff9200;
}
.reputation .point li::before {
  background: #da4336;
}

.reccomend {
  border-color: #ff5e1f;
}

.repuation {
  border-color: #da4336;
}

/* ボックス - 改訂のポイント */
.smilezemi-revision-point-box {
  position: relative;
  padding: 1.8em;
  background: #eee;
  border-radius: 5px;
}
.japanese .smilezemi-revision-point-box {
  background: #ffeaee;
}
.social .smilezemi-revision-point-box {
  background: #f0ecfd;
}
.arithmetic .smilezemi-revision-point-box {
  background: #e0f7ff;
}
.science .smilezemi-revision-point-box {
  background: #e8f5d7;
}
.english .smilezemi-revision-point-box {
  background: #fff3e2;
}
.smilezemi-revision-point-box .bg-icon {
  fill: #fff;
  position: absolute;
  z-index: 0;
  width: 8em;
  height: 8em;
  top: 3em;
  right: 3em;
  -webkit-transform: rotate(10deg);
          transform: rotate(10deg);
}
.smilezemi-revision-point-box::after {
  position: absolute;
  bottom: -4em;
  left: calc(50% - 4em);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3em 4em 0 4em;
  border-color: #e6e6e6 transparent transparent transparent;
  content: "";
}

/* ボックス - スマイルゼミの対応例*/
.smilezemi-revision-tablet-box {
  padding: 1.5em;
  border: 1px solid #ccc;
  border-radius: 5px;
  background: #fff;
}
.smilezemi-revision-tablet-box .exam-box {
  margin: 1em 0;
}
.smilezemi-revision-tablet-box .exam-box a {
  text-decoration: none;
}
.smilezemi-revision-tablet-box .exam-box li {
  width: 38em;
  max-width: 95%;
  margin: 0 auto 2em auto;
}
.smilezemi-revision-tablet-box .exam-box li .photo {
  position: relative;
  margin: 0 auto;
  border: 2px solid #ccc;
  border-radius: 5px;
  overflow: hidden;
}
.japanese .smilezemi-revision-tablet-box .exam-box li .photo, .japanese .smilezemi-revision-tablet-box .exam-box li .photo::before {
  border-color: #da4336;
  background: #da4336;
}
.social .smilezemi-revision-tablet-box .exam-box li .photo, .social .smilezemi-revision-tablet-box .exam-box li .photo::before {
  border-color: #8a74d9;
  background: #8a74d9;
}
.arithmetic .smilezemi-revision-tablet-box .exam-box li .photo, .arithmetic .smilezemi-revision-tablet-box .exam-box li .photo::before {
  border-color: #2784f6;
  background: #2784f6;
}
.science .smilezemi-revision-tablet-box .exam-box li .photo, .science .smilezemi-revision-tablet-box .exam-box li .photo::before {
  border-color: #00a762;
  background: #00a762;
}
.english .smilezemi-revision-tablet-box .exam-box li .photo, .english .smilezemi-revision-tablet-box .exam-box li .photo::before {
  border-color: #ff9c00;
  background: #ff9c00;
}
.smilezemi-revision-tablet-box .exam-box li .photo::before {
  display: block;
  position: absolute;
  color: #fff;
  width: 3.5em;
  height: 1.5em;
  padding: 0 0 0.2em 0.8em;
  bottom: 0;
  left: 0;
  background: #000;
  z-index: 5;
  content: "";
}
.smilezemi-revision-tablet-box .exam-box li .txt {
  margin-top: 1em;
  padding: 1em;
  line-height: 1.8;
  font-size: 14px;
  font-size: 1.4rem;
  border-radius: 5px;
  background: #f1f1f1;
}
.smilezemi-revision-tablet-box .exam-box li .txt .i-movie {
  margin-right: 0.5em;
  padding: 0.1em 0.5em;
  font-size: 13px;
  font-size: 1.3rem;
  color: #fff;
  letter-spacing: 0.05em;
  border-radius: 3px;
  background: #a5a5a5;
}
.smilezemi-revision-tablet-box .exam-box li .txt .i-movie::before {
  content: "▶";
}
.smilezemi-revision-tablet-box .exam-box li .year3::before {
  content: "3年生";
}
.smilezemi-revision-tablet-box .exam-box li .year4::before {
  content: "4年生";
}
.smilezemi-revision-tablet-box .exam-box li .year5::before {
  content: "5年生";
}
.smilezemi-revision-tablet-box .exam-box li .year6::before {
  content: "6年生";
}

/*--------------------------------　*/
/*　調整　*/
/*--------------------------------　*/
/* SVGアイコン */
.child-1,
.child-4 {
  fill: #fff;
}

/* ルビ */
[data-ruby] {
  position: relative;
}

[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  display: block;
  top: -1.5em;
  width: 10em;
  left: -3em;
  right: 0;
  letter-spacing: -0.02em;
  margin: auto;
  font-weight: normal;
  font-size: 0.5em;
}

/*--------------------------------　*/
/*　TABLE　*/
/*--------------------------------　*/
.smilezemi-item-spec {
  margin: 1em 0;
  width: 100%;
}
.smilezemi-item-spec th,
.smilezemi-item-spec td {
  display: block;
  width: 100%;
  padding: 0.3em 0.5em;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.8;
  text-align: left;
}
.smilezemi-item-spec th {
  font-weight: normal;
  color: #bf4545;
  background: #fff7f7;
}

/*--------------------------------　*/
/*　PARTS　*/
/*--------------------------------　*/
/* ボタン */
.btn {
  margin: 1em auto;
  width: 100%;
  text-align: center;
  -webkit-box-shadow: 0 0.3em 0 #ececec;
          box-shadow: 0 0.3em 0 #ececec;
}
.btn a {
  display: block;
  width: 100%;
  padding: 0.5em 0 0.5em 1.8em;
  color: #fff;
  text-decoration: none;
  border-radius: 3px;
  background: -webkit-gradient(linear, left top, left bottom, from(#d90f28), color-stop(95%, #d90f28), to(#b63141));
  background: linear-gradient(to bottom, #d90f28, #d90f28 95%, #b63141);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.btn a::before {
  position: absolute;
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  margin-top: 0.4em;
  margin-left: -1.8em;
  background: url(../img/special/smilezemi_test_icon_newwin.png) top center/contain;
  content: "";
}
.btn a:hover {
  opacity: 0.7;
}
.btn span:first-of-type {
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
}
.btn span:last-of-type {
  font-size: 11px;
  font-size: 1.1rem;
}

.orange a {
  background: -webkit-gradient(linear, left top, left bottom, from(#ff7537), color-stop(95%, #ff6705), to(#f05812));
  background: linear-gradient(to bottom, #ff7537, #ff6705 95%, #f05812);
}

/* 本文中画像 */
.photo,
.photo-r,
.photo-l {
  width: 100%;
  min-height: 50%;
  margin: 1em auto 2em auto;
  letter-spacing: 0.05em;
}
.photo img,
.photo-r img,
.photo-l img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* 本文中リンク */
.link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.5em;
}
.link a {
  display: block;
  margin: 1em 0;
  padding: 0.5em 1em 0.5em 2.5em;
  font-size: 13px;
  font-size: 1.3rem;
  background: #eee;
}
.link::before {
  position: absolute;
  top: 1.1em;
  left: 0.5em;
  color: #da4336;
  content: "▶︎";
}

/* 関連ページ */
.relation {
  margin: 2em 1em 1em 1em;
  padding: 0.5em;
  border: 1px solid #00419a;
  -webkit-box-shadow: 1px 1px 0 #00419a;
          box-shadow: 1px 1px 0 #00419a;
  background: #fff;
  overflow: hidden;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.relation .thumb {
  float: left;
  width: 6em;
  height: 6em;
  margin-right: 0.5em;
}
.relation .thumb img {
  width: 100%;
  height: auto;
}
.relation .txt {
  float: left;
  padding: 0 0.5em;
  width: calc(100% - 10em);
  font-size: 10px;
  font-size: 1rem;
}
.relation .txt .tit {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #00419a;
  text-decoration: underline;
}
.relation .txt p:not(.tit) {
  font-size: 12px;
  font-size: 1.2rem;
  color: #999;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.relation:hover {
  background: #f2f8ff;
}

/**************************** TB ****************************/
@media only screen and (min-width: 768px) {
  .smilezemi-revision-header {
    position: relative;
    padding-top: 46.296%;
    margin-left: -1.5em;
    margin-right: -1.5em;
    background: url("../img/special/smilezemi_revision_bg_header_pc.png") center center/cover no-repeat;
    /* SNS */
  }
  .smilezemi-revision-header h1 {
    position: absolute;
    top: 0.8em;
    left: 15%;
    width: 70%;
    padding-top: 26.25%;
    background: url("../img/special/smilezemi_revision_ttl.png") top center/contain no-repeat;
    overflow: hidden;
    white-space: nowrap;
  }
  .smilezemi-revision-header .atc_sns {
    right: 1em;
    bottom: 1em;
  }
  .smilezemi-revision-header .atc_sns ul {
    text-align: center;
  }
  .smilezemi-revision-header .atc_sns ul li {
    display: inline-block;
  }
  /* ナビゲーション */
  .smilezemi-nav {
    margin: 5em 7em;
    -webkit-box-shadow: 0 0 3px #ccc;
            box-shadow: 0 0 3px #ccc;
    overflow: hidden;
  }
  .smilezemi-nav .smilezemi-nav-list {
    float: left;
  }
  .smilezemi-nav .smilezemi-nav-list:first-child {
    width: 45%;
  }
  .smilezemi-nav .smilezemi-nav-list:last-child {
    width: 55%;
  }
  /* セクション */
  .smilezemi-revision-sec {
    padding: 0 2em 3em 2em;
  }
  .smilezemi-revision-subject {
    padding: 0 2em 3em 2em;
  }
  /* 案件 */
  .smilezemi-revision-item {
    position: relative;
  }
  .smilezemi-revision-item .item {
    padding: 1.5em 3em;
  }
  .smilezemi-revision-item .left {
    float: left;
    width: 28em;
    margin-right: 4em;
  }
  .smilezemi-revision-item .left .logo,
  .smilezemi-revision-item .left .tablet {
    width: 100%;
    max-width: 100%;
  }
  .smilezemi-revision-item .right {
    float: left;
    width: calc(100% - 32em);
    margin-top: 8.5em;
  }
  .smilezemi-revision-item .smilezemi-revision-tit-item {
    position: absolute;
    left: 19.2em;
    top: 2em;
    width: calc(100% - 21em);
    padding: 0.6em 0 0.5em 2.8em;
    margin: 0;
    text-decoration: underline;
  }
  .smilezemi-revision-item .smilezemi-revision-tit-item .icon {
    position: absolute;
    left: 1em;
    width: 1.2em;
    height: 1.2em;
    fill: #fff;
  }
  /* 見出し：教科 */
  .smilezemi-revision-tit-subject {
    width: 100%;
    margin: 1.2em auto 1.2em auto;
    padding: 0.3em 0 0.3em 1.5em;
    letter-spacing: 0.02em;
    text-align: center;
    font-size: 24px;
    font-size: 2.4rem;
  }
  .smilezemi-revision-tit-subject .em {
    margin-right: 0.08em;
    font-size: 30px;
    font-size: 3rem;
  }
  .smilezemi-revision-tit-subject br {
    display: none;
  }
  .smilezemi-revision-tit-subject::before {
    position: absolute;
    top: -0.6em;
    left: 2em;
    width: 2.833em; /* 85px */
    height: 2.833em;
    border: 4px solid #000;
    background: #fff;
    border-radius: 50%;
  }
  .smilezemi-revision-tit-subject .icon {
    top: 0.2em;
    left: 2.8em;
    width: 1.6em;
    height: 1.6em;
  }
  /*　本文中写真 */
  .photo-l,
  .photo-r {
    width: 32em;
    border: 1px solid #ccc;
  }
  .photo-l {
    float: left;
    margin: 1em 2em 1em 0;
  }
  .photo-r {
    float: right;
    margin: 1em 0 1em 2em;
  }
  /* 見出し：チャプター */
  .smilezemi-revision-chap {
    margin: 0.8em 0 1.5em 0;
    font-size: 31px;
    font-size: 3.1rem;
  }
  /* 3つのポイント */
  .smilezemi-revision-3point {
    margin-bottom: 2.5em;
    padding: 8em 0 2em 0;
    text-align: center;
  }
  .smilezemi-revision-3point ul {
    font-size: 0px;
    font-size: 0rem;
  }
  .smilezemi-revision-3point ul li {
    display: inline-block;
    padding: 1em 1.5em;
    margin: 0.5em;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .smilezemi-revision-3point ul li::before {
    top: -1em;
  }
  .smilezemi-revision-3point ul li::after {
    top: 0em;
  }
  /* 見出し：3つのポイント*/
  .smilezemi-revision-tit-3point {
    font-size: 30px;
    font-size: 3rem;
    margin-top: -3.2em;
  }
  .smilezemi-revision-tit-3point::before {
    top: -0.8em;
    left: 6.5em;
    width: 2.3em;
    height: 2.3em;
  }
  .smilezemi-revision-tit-3point .pink {
    font-size: 35px;
    font-size: 3.5rem;
  }
  .smilezemi-revision-tit-3point br {
    display: none;
  }
  .smilezemi-revision-tit-3point::before {
    position: absolute;
    display: block;
    top: -0.5em;
    left: calc(50% - 10em);
    width: 2.2em;
    height: 2.2em;
  }
  .smilezemi-revision-tit-3point::after {
    position: absolute;
    display: block;
    top: 0.1em;
    right: calc(50% - 8.5em);
    width: 1em;
    height: 1em;
    background: url("../img/special/smilezemi_revision_icon02.png") top center/contain no-repeat;
    content: "";
  }
  /* 見出し：改訂のポイント */
  .smilezemi-revision-tit-point {
    display: inline-block;
    margin-bottom: -2em;
    padding: 0.3em 0.6em 0.3em 4em;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px;
    font-size: 2.4rem;
    background: #fff;
    z-index: 5;
  }
  /*改訂のポイント*/
  .smilezemi-revision-point-box {
    margin: -1em 0 0 3em;
    padding: 4em 2em 3em 2em;
  }
  /* 図：学年 */
  .year {
    margin-top: 1.2em;
    overflow: hidden;
  }
  .year li {
    display: inline-block;
    padding: 2em 1.5em 1.5em 1.5em;
    margin-bottom: 0.5em;
    line-height: 1.8;
  }
  .year li:not(:last-child) {
    margin-right: 0.5em;
  }
  .social .year, .arithmetic .year, .science .year, .english .year {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .social .year li, .arithmetic .year li, .science .year li, .english .year li {
    margin: 1em 0;
  }
  .social .year li:nth-of-type(odd), .arithmetic .year li:nth-of-type(odd), .science .year li:nth-of-type(odd), .english .year li:nth-of-type(odd) {
    margin-right: 1.5em;
    width: calc(50% - 1.5em);
  }
  .social .year li:nth-of-type(even), .arithmetic .year li:nth-of-type(even), .science .year li:nth-of-type(even), .english .year li:nth-of-type(even) {
    width: 50%;
  }
  /* タブレット */
  .smilezemi-revision-tit-tablet {
    display: inline-block;
    padding: 0.4em 0.8em 0.4em 3.5em;
    margin-top: 2.2em;
    margin-bottom: -2em;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 24px;
    font-size: 2.4rem;
  }
  .smilezemi-revision-tit-tablet .i-tablet {
    bottom: 0em;
    left: 0.5em;
    width: 2.6em;
    height: 2.6em;
  }
  .smilezemi-revision-tablet-box {
    margin: -1em 0 0 3em;
    padding: 4em 2em 0 2em;
  }
  .smilezemi-revision-tablet-box .exam-box {
    padding: 1em 0 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .smilezemi-revision-tablet-box .exam-box li {
    width: calc(33.3333333333% - 1.5em);
  }
  /* 関連ページ */
  .relation {
    width: 52em;
    margin: 4em auto 1em auto;
  }
  .relation .txt .tit {
    line-height: 2;
  }
  .relation .txt p:not(.tit) {
    overflow: auto;
    white-space: normal;
  }
  .smilezemi-item-spec {
    margin: 2em 0;
    width: 100%;
  }
  .smilezemi-item-spec tr:nth-of-type(odd) {
    background: #faf1f1;
  }
  .smilezemi-item-spec th,
  .smilezemi-item-spec td {
    display: table-cell;
    padding: 0.5em;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: left;
  }
  .smilezemi-item-spec th {
    width: 8em;
    background: transparent;
  }
  .smilezemi-item-spec td {
    width: calc(100% - 8em);
  }
}
/**************************** PC ****************************/
@media only screen and (min-width: 1024px) {
  .smilezemi-revision-header {
    width: 100%;
    height: 50em;
    padding-top: 0;
    margin: 0;
    background: url("../img/special/smilezemi_revision_bg_header_pc.png") top center/cover no-repeat;
  }
  .smilezemi-revision-header h1 {
    position: absolute;
    top: 0.8em;
    left: 4.438em;
    width: 25em;
    height: 6.563em;
    background: url("../img/special/smilezemi_revision_ttl.png") top center/contain no-repeat;
    overflow: hidden;
    white-space: nowrap;
  }
  /* ナビゲーション */
  .smilezemi-nav .smilezemi-nav-list .sub {
    display: inline;
  }
  .smilezemi-nav .smilezemi-nav-list:first-child {
    padding: 1em 1em 1em 4em;
    width: 47%;
  }
  .smilezemi-nav .smilezemi-nav-list:last-child {
    padding: 1em 2em 1em 0;
    width: 53%;
  }
  /* セクション */
  .smilezemi-revision-sec {
    padding: 0 5em 5em 5em;
  }
  .smilezemi-revision-subject {
    padding: 0 5em 5em 5em;
  }
  /* 案件 */
  .smilezemi-revision-item {
    position: relative;
  }
  .smilezemi-revision-item .item {
    padding: 2.5em 5em 5em 5em;
  }
  .smilezemi-revision-item .left {
    float: left;
    width: 28em;
    margin-right: 4em;
  }
  .smilezemi-revision-item .left .logo,
  .smilezemi-revision-item .left .tablet {
    width: 100%;
    max-width: 100%;
  }
  .smilezemi-revision-item .right {
    float: left;
    width: calc(100% - 32em);
    margin-top: 8.5em;
  }
  .smilezemi-revision-item .smilezemi-revision-tit-item {
    position: absolute;
    left: 20.5em;
    top: 2.6em;
    width: calc(100% - 23.5em);
    padding: 0.6em 0 0.5em 2.8em;
    text-decoration: underline;
  }
  .smilezemi-revision-item .smilezemi-revision-tit-item .icon {
    position: absolute;
    width: 1.2em;
    left: 1em;
    height: 1.2em;
    fill: #fff;
  }
  .year {
    margin-top: 1.8em;
    overflow: hidden;
  }
  .year li {
    display: inline-block;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .japanese .year li {
    padding: 2em 0.75em 1em 0.75em;
    margin-top: 1em;
    margin-bottom: 0.8em;
    letter-spacing: -0.02em;
  }
  .japanese .year li:not(:last-child) {
    margin-right: 0.4em;
  }
  /* 見出し：教科 */
  .smilezemi-revision-tit-subject {
    font-size: 30px;
    font-size: 3rem;
    margin: 1.8em auto 1.5em auto;
  }
  .smilezemi-revision-tit-subject .em {
    font-size: 36px;
    font-size: 3.6rem;
  }
  .smilezemi-revision-tit-subject br {
    display: none;
  }
  .smilezemi-revision-tit-subject::before {
    top: -0.5em;
    left: 2.5em;
  }
  .smilezemi-revision-tit-subject .icon {
    top: 0.3em;
    left: 3.2em;
  }
  .arithmetic .smilezemi-revision-tit-subject .icon {
    top: 0.2em;
    width: 1.7em;
    height: 1.7em;
  }
  .science .smilezemi-revision-tit-subject .icon {
    left: 3.25em;
  }
  .english .smilezemi-revision-tit-subject .icon {
    top: 0.25em;
    left: 3.3em;
  }
  /*改訂のポイント*/
  .smilezemi-revision-point-box {
    margin: -1em 0 0 3em;
    padding: 3.5em 4.5em 4em 4.5em;
  }
  .social .smilezemi-revision-point-box .year, .arithmetic .smilezemi-revision-point-box .year, .science .smilezemi-revision-point-box .year, .english .smilezemi-revision-point-box .year {
    width: 95%;
  }
  /*改訂のポイント*/
  .smilezemi-revision-tablet-box {
    margin: -1em 0 0 3em;
    padding: 5em 4.5em 1em 4.5em;
  }
  /* 3つのポイント */
  .smilezemi-revision-3point {
    margin-bottom: 2.5em;
    padding: 8em 0 2em 0;
    text-align: center;
  }
  .smilezemi-revision-3point ul {
    font-size: 0px;
    font-size: 0rem;
  }
  .smilezemi-revision-3point ul li {
    display: inline-block;
    padding: 1em 2em;
    margin: 0.8em;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .smilezemi-revision-3point ul li::before {
    top: -0.5em;
  }
  .smilezemi-revision-3point ul li::after {
    top: 0.5em;
  }
  /* 3つのポイント：見出し */
  .smilezemi-revision-tit-3point {
    margin-top: -3.2em;
    font-size: 30px;
    font-size: 3rem;
  }
  .smilezemi-revision-tit-3point::before {
    top: -0.8em;
    width: 2.3em;
    height: 2.3em;
  }
  .smilezemi-revision-tit-3point .pink {
    font-size: 35px;
    font-size: 3.5rem;
  }
  .smilezemi-revision-tit-3point br {
    display: none;
  }
  .smilezemi-revision-btn-area .btn {
    width: 49%;
    float: left;
  }
  .smilezemi-revision-btn-area .btn:first-child {
    margin-right: 2%;
  }
}
/**************************** アニメーション 他 ****************************/
@-webkit-keyframes float_5870 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes float_5870 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.entry-mk.active {
  background-position: -100% 0.5em;
}

.entry-mk {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, transparent), color-stop(50%, rgb(255, 214, 227)));
  background-image: linear-gradient(left, transparent 50%, rgb(255, 214, 227) 50%);
  background-repeat: repeat-x;
  background-size: 200% 0.8em;
  background-position: 0 0.5em;
  -webkit-transition: all 3s ease;
  transition: all 3s ease;
  font-weight: bold;
}

.fast {
  -moz-animation-duration: 1s;
  -moz-animation-delay: 0s;
  -webkit-animation-duration: 1s;
  -webkit-animation-delay: 0s;
  animation-duration: 1s;
  animation-delay: 0s;
}

.slow {
  -moz-animation-duration: 1s;
  -moz-animation-delay: 1s;
  -webkit-animation-duration: 1s;
  -webkit-animation-delay: 1s;
  animation-duration: 1s;
  animation-delay: 1s;
}

.reallyslow {
  -moz-animation-duration: 6s;
  -moz-animation-delay: 3s;
  -webkit-animation-duration: 6s;
  -webkit-animation-delay: 3s;
  animation-duration: 6s;
  animation-delay: 3s;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

.animated {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}