@charset "utf-8";
/* CSS Document */

/* ------------------------------- */
/* Title */
/* ------------------------------- */

.title {
 display: flex;
 height: 500px;
 justify-content: center;
 align-items: center;
 text-align: center;
 background: url(/img/site/reform/img_title.jpg) center no-repeat;
}

.title h1 {
 margin-bottom: 10px;
 font-size: 50px;
 font-weight: bold;
}

.title h1 span {
 color: #15A839;
}

.title h2 {
 font-size: 16px;
 font-weight: bold;
}

@media (max-width: 767px) {
 .title {
  height: 200px;
  background-size: auto 100%;
 }
 
 .title h1 {
  font-size: 30px;
 }
}


/* ------------------------------- */
/* Reform Title */
/* ------------------------------- */

.reform-title h1 {
 margin-bottom: 30px;
 font-size: 16px;
 font-weight: bold;
 text-align: center;
 line-height: 1.4;
}

.reform-title h2 {
 color: #42210B;
 font-size: 20px;
 text-align: center;
 font-weight: bold;
}


/* ------------------------------- */
/* Works */
/* ------------------------------- */

.works {
 text-align: center;
}

/* Button Reset */
.type-button button {
 background-color: transparent;
 border: none;
 outline: none;
 padding: 0;
 appearance: none;
}

.type-button button {
 position: relative;
 width: 80%;
 padding: 15px;
 font-weight: bold;
 background-color: #D9C9AB;
}

.type-button button:after {
 position: absolute;
 content: '';
 left: 4px;
 top: 4px;
 border-top: 13px solid #FFF;
 border-right: 13px solid transparent;
}

.works h1 {
 width: 623px;
 height: 123px;
 margin: 20px auto;
 padding-top: 18px;
 color: #FFF;
 font-size: 34px;
 font-weight: bold;
 background: url(/img/site/reform/works/bg_title.png) no-repeat;
}

.works h2 {
 display: inline-block;
 margin-bottom: 40px;
 padding: 10px 40px;
 color: #42210B;
 font-size: 20px;
 font-weight: bold;
 border-top: 1px solid #42210B;
 border-bottom: 1px solid #42210B;
}

/* Slide */

.works .works-slide {
 margin-bottom: 20px;
}

.works .works-slide h3 {
 margin-bottom: 14px;
 padding-bottom: 8px;
 border-bottom: 2px dotted #8D7C52;
}

.works .works-slide .slick-slide img {
 display: inline-block;
}

.works .works-slide-nav .slick-slide {
 margin: 5px;
 font-weight: bold;
 line-height: 1;
}

.works .works-slide-nav .slick-slide img {
 display: inline-block;
 width: 100%;
 margin-bottom: 5px;
}

.works .works-slide-nav .slick-current {
 padding-bottom: 5px;
 color: #FFF;
 background-color: #8D7C52;
}

@media (max-width: 767px) {
 .works button {
  width: 100%;
 }
 
 .works h1 {
  width: auto;
  height: auto;
  margin: 20px auto;
  padding-top: 18px;
  color: #42210B;
  font-size: 34px;
  font-weight: bold;
  background: none;
 }

 .works .works-slide h3 img {
  width: 60px;
 }
}


/* ------------------------------- */
/* Plan */
/* ------------------------------- */

.plan {
 text-align: center;
}

.plan h1 {
 display: inline-block;
 margin-bottom: 40px;
 padding: 10px 60px;
 color: #8D7C52;
 font-size: 20px;
 font-weight: bold;
 border-top: 2px solid #8D7C52;
 border-bottom: 2px solid #8D7C52;
}

.plan h2 {
 margin-bottom: 14px;
 padding-bottom: 8px;
 border-bottom: 2px dotted #8D7C52;
}

.plan .bg {
 padding: 16px;
 background-color: #FFF;
}

.plan .img-responsive {
 display: inline-block !important;
}

.plan p {
 margin-top: 20px;
 padding-bottom: 8px;
 font-size: 18px;
 font-weight: bold;
 border-bottom: 2px dotted #8D7C52;
}

@media (max-width: 767px) {
 .plan h2 img {
  width: 60px;
 }
}


/* ------------------------------- */
/* Detail */
/* ------------------------------- */

.detail {
 text-align: center;
}

.detail h1 {
 display: inline-block;
 margin-bottom: 40px;
 padding: 10px 60px;
 color: #8D7C52;
 font-size: 20px;
 font-weight: bold;
 border-top: 2px solid #8D7C52;
 border-bottom: 2px solid #8D7C52;
}

.detail table {
 width: 100%;
 text-align: left;
}

.detail table th,
.detail table td {
 padding: 10px;
 border-bottom: 2px dotted #8D7C52;
}

.detail table th {
 width: 130px;
 color: #8D7C52;
 font-weight: bold;
}

.detail table .place {
 height: 168px;
 vertical-align: top;
}

.detail ul {
 padding-left: 12px;
 list-style: disc outside;
}

.detail ul li {
 float: left;
 width: 50%;
}

.detail .w-100 {
 width: 100%;
}

.detail .point {
 display: table;
 padding-top: 20px;
}

.detail .point h2 {
 display: table-cell;
 width: 180px;
 color: #FFF;
 vertical-align: middle;
 background: #8D7C52
}

.detail .point p {
 display: table-cell;
 padding-left: 20px;
 text-align: left;
}

@media (max-width: 767px) {
 .detail table .place {
  height: auto;
 }

 .detail .point {
  display: block;
 }

 .detail .point h2 {
  display: block;
  width: auto;
  margin-bottom: 10px;
  padding: 10px;
 }

 .detail .point p {
  display: block;
  padding-left: 0;
 }
}