/* -----------------------------------------------------------------------
## base ##################################################################
----------------------------------------------------------------------- */
body {
  padding-top: 70px;
  padding-bottom: 70px;
}

.contents {
  width: 960px;
  margin: 0 auto;
}

.clearfix {
  _overflow: hidden;
  _zoom: 1;
}
.clearfix:after {
  display: block;
  content: "";
  clear: both;
}

/* -----------------------------------------------------------------------
## direction #############################################################
----------------------------------------------------------------------- */
.direction {
  float: left;
  margin-bottom: 200px;
}
.direction_title {
  margin-bottom: 30px;
}

.direction_type {
  position: relative;
  margin: 0 0 0 50px;
}
.direction_type input {
  display: none;
}
.direction_type_arrow {
  position: absolute;
  display: block;
  width: 52px;
  height: 52px;
  background-color: #F29B34;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: 2;
}
.direction_type_arrow:hover {
  cursor: pointer;
  background: #F5A19F;
}
.direction_type_arrow.on {
  background: #EB6361;
}
.direction_type_arrow.arrow-top {
  top: 0;
}
.direction_type_arrow.arrow-right {
  top: 36px;
  left: 36px;
}
.direction_type_arrow.arrow-bottom {
  top: 72px;
  left: 0;
}
.direction_type_arrow.arrow-left {
  top: 36px;
  left: -36px;
}
.direction_type .arrow-cover {
  position: absolute;
  top: 25px;
  left: -11px;
  width: 73px;
  height: 73px;
  background: #fff;
  z-index: 2;
}
.direction_type .arrow-cover span {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  height: 1em;
  line-height: 1em;
  margin: auto;
  text-align: center;
}

/* -----------------------------------------------------------------------
## type ##################################################################
----------------------------------------------------------------------- */
.type label {
  display: block;
}
.type input {
  margin-right: 5px;
}

/* -----------------------------------------------------------------------
## size ##################################################################
----------------------------------------------------------------------- */
.size {
  float: left;
}
.size label {
  display: block;
  margin-bottom: 50px;
  font-weight: normal;
}
.size label span {
  display: inline-block;
  width: 3em;
}
.size input {
  margin: 5px 0;
}
.size input[type="range"] {
  width: 90%;
}
.size input[type="number"] {
  width: 50px;
  text-align: center;
  border: 1px solid #999;
}
.size input[disabled] {
  background-color: #ccc;
  color: #999;
}

/* -----------------------------------------------------------------------
## color #################################################################
----------------------------------------------------------------------- */
.color {
  float: left;
}
.color_name {
  display: inline-block;
  width: 3em;
}

/* -----------------------------------------------------------------------
## preview ###############################################################
----------------------------------------------------------------------- */
.preview {
  position: relative;
  float: left;
  height: 200px;
}
.preview_arrow {
  position: absolute;
  top: 46px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0;
  border-color: transparent;
  transition: .5s;
}

/* -----------------------------------------------------------------------
## codes #################################################################
----------------------------------------------------------------------- */
.codes {
  clear: both;
}
.codes textarea {
  transition: .5s;
}
.codes textarea:focus {
  background: #FAFBE3;
  outline: none;
}

.form-inline .input-group {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.form-inline .input-group > .form-control {
  width: 30%;
  text-align: right;
}

/* -----------------------------------------------------------------------
## table #################################################################
----------------------------------------------------------------------- */
.table tbody tr:first-child td:first-child {
  background: #fff;
  cursor: default;
}
.table tbody tr:first-child td:first-child + td {
  background: #fff;
  cursor: default;
}
.table tbody tr:hover {
  cursor: pointer;
}

.baseSize {
  background: #B5D8EB;
}
