.clearfix::before,
.clearfix::after {
  content: "";
  display: table; }

.clearfix::after {
  clear: both; }

/* recommend height */
.slick-slide {
  height: auto !important; }

/* simulation */
.detailSimulation__exterior fieldset {
  margin-bottom: 50px; }

.detailSimulation__exterior legend {
  display: block;
  position: relative;
  margin-bottom: 20px;
  font-size: 1.3em;
  font-weight: bolder; }

.detailSimulation__exterior legend::before {
  content: '';
  display: block;
  position: relative;
  top: 0.45em;
  float: left;
  width: 0.6em;
  height: 0.6em;
  margin-right: 0.25em;
  border: #000 3px double;
  border-radius: 100%; }

.detailSimulation__exterior select {
  display: block;
  width: 100%;
  margin: 0 0 10px 0;
  padding: 2.0em;
  border: 0;
  border-radius: 5px;
  line-height: 1.0;
  font-size: 16px;
  background: transparent;
  background: #f7f7f7 url("../images/common/arrow-bottom.png") no-repeat 96% center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: 0; }

.detailSimulation__exterior option {
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.estimation__exterior {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0px auto 64px auto;
  font-size: 32px; }

.estimation__head {
  font-weight: bold;
  margin-right: 16px; }

.estimation__body {
  min-width: 250px;
  padding-right: 16px;
  text-align: right;
  background-color: #f7f7f7;
  border: 1px solid #dddddd;
  border-radius: 4px; }

.estimation__entity {
  font-weight: bold;
  margin-right: 8px;
  color: #aa0000; }

.estimation__unit {
  color: #333333;
  font-size: 20px;
  font-weight: bold; }

.estimation__note {
  margin-bottom: 3.0em;
  line-height: 1.4;
  font-size: 1.3em;
  font-weight: bolder;
  text-align: center; }

/* cluster */
.cluster {
  max-width: 1034px;
  margin: 0 auto 60px; }
  .cluster .clusterHead h2 {
    margin-bottom: 30px;
    color: #333;
    line-height: 1.0;
    font-size: 2.8em;
    font-weight: 600;
    letter-spacing: 0.01em; }
  .cluster .clusterHead h2 small {
    display: block;
    color: #000;
    font-family: 'Fjalla One', 'Roboto Condensed', Arial, sans-serif;
    font-size: 0.3em;
    letter-spacing: 0.01em; }
  .cluster .clusterHead h2 small::after {
    content: '';
    display: block;
    width: 2.25em;
    height: 1px;
    margin-top: 0.35em;
    margin-bottom: 1.5em;
    background: #000; }
  .cluster .clusterInner {
    position: relative; }
  .cluster .clusterInner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .cluster .clusterInner li {
    margin: 0 16px 16px 0; }
