.ct-label {
  fill: rgba(0, 0, 0, 0.4);
  color: rgba(0, 0, 0, 0.4);
  font-size: 0.75rem;
  line-height: 1;
}

.ct-chart-line .ct-label,
.ct-chart-bar .ct-label {
  display: block;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.ct-label.ct-horizontal.ct-start {
  -webkit-box-align: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-label.ct-horizontal.ct-end {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-label.ct-vertical.ct-start {
  -webkit-box-align: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-box-pack: flex-end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: flex-end;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end;
}

.ct-label.ct-vertical.ct-end {
  -webkit-box-align: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar .ct-label.ct-horizontal.ct-start {
  -webkit-box-align: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  text-anchor: start;
}

.ct-chart-bar .ct-label.ct-horizontal.ct-end {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  text-anchor: start;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start {
  -webkit-box-align: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end {
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: flex-end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: flex-end;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end;
}

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: end;
}

.ct-grid {
  stroke: rgba(0, 0, 0, 0.2);
  stroke-width: 1px;
  stroke-dasharray: 2px;
}

.ct-point {
  stroke-width: 10px;
  stroke-linecap: round;
}

.ct-line {
  fill: none;
  stroke-width: 4px;
}

.ct-area {
  stroke: none;
  fill-opacity: 0.1;
}

.ct-bar {
  fill: none;
  stroke-width: 10px;
}

.ct-slice-donut {
  fill: none;
  stroke-width: 60px;
}

.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut {
  stroke: #d70206;
}

.ct-series-a .ct-slice-pie, .ct-series-a .ct-area {
  fill: #d70206;
}

.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut {
  stroke: #f05b4f;
}

.ct-series-b .ct-slice-pie, .ct-series-b .ct-area {
  fill: #f05b4f;
}

.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut {
  stroke: #f4c63d;
}

.ct-series-c .ct-slice-pie, .ct-series-c .ct-area {
  fill: #f4c63d;
}

.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut {
  stroke: #d17905;
}

.ct-series-d .ct-slice-pie, .ct-series-d .ct-area {
  fill: #d17905;
}

.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut {
  stroke: #453d3f;
}

.ct-series-e .ct-slice-pie, .ct-series-e .ct-area {
  fill: #453d3f;
}

.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut {
  stroke: #59922b;
}

.ct-series-f .ct-slice-pie, .ct-series-f .ct-area {
  fill: #59922b;
}

.ct-series-g .ct-point, .ct-series-g .ct-line, .ct-series-g .ct-bar, .ct-series-g .ct-slice-donut {
  stroke: #0544d3;
}

.ct-series-g .ct-slice-pie, .ct-series-g .ct-area {
  fill: #0544d3;
}

.ct-series-h .ct-point, .ct-series-h .ct-line, .ct-series-h .ct-bar, .ct-series-h .ct-slice-donut {
  stroke: #6b0392;
}

.ct-series-h .ct-slice-pie, .ct-series-h .ct-area {
  fill: #6b0392;
}

.ct-series-i .ct-point, .ct-series-i .ct-line, .ct-series-i .ct-bar, .ct-series-i .ct-slice-donut {
  stroke: #f05b4f;
}

.ct-series-i .ct-slice-pie, .ct-series-i .ct-area {
  fill: #f05b4f;
}

.ct-series-j .ct-point, .ct-series-j .ct-line, .ct-series-j .ct-bar, .ct-series-j .ct-slice-donut {
  stroke: #dda458;
}

.ct-series-j .ct-slice-pie, .ct-series-j .ct-area {
  fill: #dda458;
}

.ct-series-k .ct-point, .ct-series-k .ct-line, .ct-series-k .ct-bar, .ct-series-k .ct-slice-donut {
  stroke: #eacf7d;
}

.ct-series-k .ct-slice-pie, .ct-series-k .ct-area {
  fill: #eacf7d;
}

.ct-series-l .ct-point, .ct-series-l .ct-line, .ct-series-l .ct-bar, .ct-series-l .ct-slice-donut {
  stroke: #86797d;
}

.ct-series-l .ct-slice-pie, .ct-series-l .ct-area {
  fill: #86797d;
}

.ct-series-m .ct-point, .ct-series-m .ct-line, .ct-series-m .ct-bar, .ct-series-m .ct-slice-donut {
  stroke: #b2c326;
}

.ct-series-m .ct-slice-pie, .ct-series-m .ct-area {
  fill: #b2c326;
}

.ct-series-n .ct-point, .ct-series-n .ct-line, .ct-series-n .ct-bar, .ct-series-n .ct-slice-donut {
  stroke: #6188e2;
}

.ct-series-n .ct-slice-pie, .ct-series-n .ct-area {
  fill: #6188e2;
}

.ct-series-o .ct-point, .ct-series-o .ct-line, .ct-series-o .ct-bar, .ct-series-o .ct-slice-donut {
  stroke: #a748ca;
}

.ct-series-o .ct-slice-pie, .ct-series-o .ct-area {
  fill: #a748ca;
}

.ct-square {
  display: block;
  position: relative;
  width: 100%;
}

.ct-square:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 100%;
}

.ct-square:after {
  content: "";
  display: table;
  clear: both;
}

.ct-square > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-second {
  display: block;
  position: relative;
  width: 100%;
}

.ct-minor-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 93.75%;
}

.ct-minor-second:after {
  content: "";
  display: table;
  clear: both;
}

.ct-minor-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-second {
  display: block;
  position: relative;
  width: 100%;
}

.ct-major-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 88.8888888889%;
}

.ct-major-second:after {
  content: "";
  display: table;
  clear: both;
}

.ct-major-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-third {
  display: block;
  position: relative;
  width: 100%;
}

.ct-minor-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 83.3333333333%;
}

.ct-minor-third:after {
  content: "";
  display: table;
  clear: both;
}

.ct-minor-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-third {
  display: block;
  position: relative;
  width: 100%;
}

.ct-major-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 80%;
}

.ct-major-third:after {
  content: "";
  display: table;
  clear: both;
}

.ct-major-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-perfect-fourth {
  display: block;
  position: relative;
  width: 100%;
}

.ct-perfect-fourth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 75%;
}

.ct-perfect-fourth:after {
  content: "";
  display: table;
  clear: both;
}

.ct-perfect-fourth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-perfect-fifth {
  display: block;
  position: relative;
  width: 100%;
}

.ct-perfect-fifth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 66.6666666667%;
}

.ct-perfect-fifth:after {
  content: "";
  display: table;
  clear: both;
}

.ct-perfect-fifth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-sixth {
  display: block;
  position: relative;
  width: 100%;
}

.ct-minor-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 62.5%;
}

.ct-minor-sixth:after {
  content: "";
  display: table;
  clear: both;
}

.ct-minor-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-golden-section {
  display: block;
  position: relative;
  width: 100%;
}

.ct-golden-section:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 61.804697157%;
}

.ct-golden-section:after {
  content: "";
  display: table;
  clear: both;
}

.ct-golden-section > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-sixth {
  display: block;
  position: relative;
  width: 100%;
}

.ct-major-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 60%;
}

.ct-major-sixth:after {
  content: "";
  display: table;
  clear: both;
}

.ct-major-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-minor-seventh {
  display: block;
  position: relative;
  width: 100%;
}

.ct-minor-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 56.25%;
}

.ct-minor-seventh:after {
  content: "";
  display: table;
  clear: both;
}

.ct-minor-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-seventh {
  display: block;
  position: relative;
  width: 100%;
}

.ct-major-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 53.3333333333%;
}

.ct-major-seventh:after {
  content: "";
  display: table;
  clear: both;
}

.ct-major-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-octave {
  display: block;
  position: relative;
  width: 100%;
}

.ct-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 50%;
}

.ct-octave:after {
  content: "";
  display: table;
  clear: both;
}

.ct-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-tenth {
  display: block;
  position: relative;
  width: 100%;
}

.ct-major-tenth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 40%;
}

.ct-major-tenth:after {
  content: "";
  display: table;
  clear: both;
}

.ct-major-tenth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-eleventh {
  display: block;
  position: relative;
  width: 100%;
}

.ct-major-eleventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 37.5%;
}

.ct-major-eleventh:after {
  content: "";
  display: table;
  clear: both;
}

.ct-major-eleventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-major-twelfth {
  display: block;
  position: relative;
  width: 100%;
}

.ct-major-twelfth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 33.3333333333%;
}

.ct-major-twelfth:after {
  content: "";
  display: table;
  clear: both;
}

.ct-major-twelfth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-double-octave {
  display: block;
  position: relative;
  width: 100%;
}

.ct-double-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 25%;
}

.ct-double-octave:after {
  content: "";
  display: table;
  clear: both;
}

.ct-double-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

#record {
  width: 720px;
  padding-left: 0;
}

#record:after {
  display: none;
}

#record h1 {
  padding-left: 112px;
}

#record h1:before {
  left: 60px;
  background-image: url(../../img/new/common/check_icon.svg);
}

#record .ct-chart .ct-labels foreignObject {
  display: block;
}

#record .ct-chart .ct-labels foreignObject span.ct-horizontal {
  display: block;
  text-align: center;
  transform: translateX(-15px);
}

#record .ct-chart .ct-labels foreignObject span.ct-horizontal.last-label {
  text-align: right;
  transform: translateX(-30px);
}

#record .ct-chart .ct-labels foreignObject:last-child {
  transform: translateY(4px);
}

#record .ct-chart .ct-label {
  fill: #473e3e;
  color: #473e3e;
  font-size: 10px;
}

#record .ct-chart .ct-grid {
  stroke: #877b7b;
}

#record #graph {
  width: 720px;
  box-sizing: border-box;
  margin: 0 0 24px;
  padding: 22px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0px 12px 32px 0px rgba(231, 40, 28, 0.15);
}

#record #main_graph {
  width: 672px;
  height: 240px;
  margin: 0 0 8px;
  position: relative;
}

#record #main_graph .error {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  color: #fff;
  width: 240px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  overflow: hidden;
  background: #db5353;
  border-radius: 6px;
}

#record #main_graph .ct-line {
  stroke-width: 1px;
}

#record #main_graph .ct-series-a .ct-line {
  stroke: #00ff84;
}

#record #main_graph .ct-series-b .ct-line {
  stroke: #00baed;
}

#record #main_graph svg {
  max-width: 672px;
  max-height: 240px;
}

#record #main_graph svg g {
  max-width: 672px;
  max-height: 240px;
}

#record #accuracy_graph {
  height: 42px;
}

#record #accuracy_graph .ct-line {
  stroke-width: 1px;
}

#record #accuracy_graph .ct-series-a .ct-line {
  stroke: #fb10ed;
}

#record #graph_info {
  display: flex;
  height: 20px;
  align-content: center;
}

#record #graph_info .line_legend {
  flex-grow: 1;
  font-size: 0;
  padding-left: 12px;
}

#record #graph_info .line_legend > div {
  display: inline-block;
  margin-right: 10px;
  font-size: 11px;
}

#record #graph_info .line_legend > div:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 1px;
  margin-right: 4px;
  vertical-align: middle;
}

#record #graph_info .line_legend > div.score:before {
  background: #00baed;
}

#record #graph_info .line_legend > div.wpm:before {
  background: #00ff84;
}

#record #graph_info .line_legend > div.accuracy:before {
  background: #fb10ed;
}

#record #graph_info #number_data {
  font-size: 12px;
  text-align: right;
}

#record #detail_data {
  color: #e7281c;
  height: 162px;
}

#record #detail_data > div {
  width: 720px;
  height: 74px;
  display: flex;
  text-align: center;
}

#record #detail_data > div > div {
  border-radius: 6px;
  height: 74px;
  background: #fff;
  margin: 0 24px 0 0;
  box-shadow: 0px 10px 24px 0px rgba(231, 40, 28, 0.15);
}

#record #detail_data > div > div:last-child {
  margin: 0;
}

#record #detail_data > div > div .title {
  font-size: 15px;
}

#record #detail_data > div > div .data {
  font-size: 32px;
}

#record #detail_data .col2 {
  margin: 0 0 24px;
}

#record #detail_data .col2 > div {
  width: 348px;
  line-height: 74px;
  position: relative;
}

#record #detail_data .col2 > div .title {
  position: absolute;
  top: 0;
  left: 0;
  padding-left: 16px;
}

#record #detail_data .col2 > div .data {
  text-align: right;
  padding-right: 16px;
}

#record #detail_data .col4 > div {
  width: 162px;
}

#record #detail_data .col4 .title {
  font-size: 13px;
  line-height: 13px;
  margin: 0 0 16px;
  padding: 10px 0 0;
}

#record #detail_data .col4 .data {
  font-size: 22px;
  line-height: 22px;
}

#record #detail_data #best_score {
  padding-right: 128px;
}

#record #detail_data #best_score .title {
  text-align: left;
}

#record #detail_data #best_score .data {
  text-align: right;
}

#record #detail_data #ave_score {
  width: 128px;
  height: 74px;
  color: #fff;
  background: #e7281c;
  border-radius: 0 6px 6px 0;
  position: absolute;
  top: 0px;
  right: 0px;
}

#record #detail_data #ave_score .title,
#record #detail_data #ave_score .data {
  position: static;
  padding: 0;
  text-align: center;
}

#record #detail_data #ave_score .title {
  font-size: 13px;
  line-height: 13px;
  margin: 0 0 10px;
  padding: 10px 0 0;
}

#record #detail_data #ave_score .data {
  font-size: 28px;
  line-height: 28px;
}

#record #detail_data #finger .hands {
  width: 62px;
  height: 16px;
  margin: 16px auto 0;
}

#record #detail_data #finger .hand {
  width: 29px;
  height: 16px;
  position: relative;
  float: left;
}

#record #detail_data #finger .hand > div {
  width: 5px;
  height: 16px;
  border-radius: 2.5px 2.5px 0 0;
  background: #a49a9a;
  position: absolute;
  bottom: 0;
}

#record #detail_data #finger .hand > div.on {
  background: #ff2400;
}

#record #detail_data #finger .hand .little {
  height: 12px;
}

#record #detail_data #finger .hand .thumb {
  height: 9px;
}

#record #detail_data #finger .hand.left .little {
  left: 0;
}

#record #detail_data #finger .hand.left .third {
  left: 6px;
}

#record #detail_data #finger .hand.left .middle {
  left: 12px;
}

#record #detail_data #finger .hand.left .fore {
  left: 18px;
}

#record #detail_data #finger .hand.left .thumb {
  right: 0;
}

#record #detail_data #finger .hand.right {
  float: right;
}

#record #detail_data #finger .hand.right .thumb {
  left: 0;
}

#record #detail_data #finger .hand.right .fore {
  left: 6px;
}

#record #detail_data #finger .hand.right .middle {
  left: 12px;
}

#record #detail_data #finger .hand.right .third {
  left: 18px;
}

#record #detail_data #finger .hand.right .little {
  right: 0;
}

nav.menu .rank {
  height: 84px;
}

nav.menu .rank a {
  width: 424px;
  height: 80px;
  border-radius: 40px;
  font-size: 28px;
  line-height: 80px;
}

nav.menu .rank a:before {
  width: 56px;
  height: 56px;
  background-image: url(../../img/new/record/trophy.svg);
}

#goal {
  position: absolute;
  bottom: 210px;
  right: 32px;
  width: 444px;
}

#goal h3 {
  position: relative;
  width: 220px;
  height: 48px;
  border-radius: 0 24px 24px 0;
  font-size: 22px;
  font-weight: normal;
  color: #fff;
  padding-left: 48px;
  box-sizing: border-box;
  line-height: 48px;
  background: #fa847d;
  z-index: 52;
}

#goal h3:after {
  content: "";
  display: block;
  position: absolute;
  top: -13px;
  left: -74px;
  width: 110px;
  height: 85px;
  background: url(../../img/new/record/target_keybo.png);
  background-size: 100% 100%;
  z-index: 53;
}

#goal .goal_body {
  position: relative;
  margin-top: -24px;
  border-radius: 6px;
  background: #feccc9;
  padding: 48px 24px 24px 54px;
  font-size: 20px;
  z-index: 51;
}

#goal .goal_body .container {
  max-height: 200px;
  overflow-y: auto;
}
