@charset "UTF-8";

/*------------------------------------------------------------------------------
  bottom-common
------------------------------------------------------------------------------*/
.ttl-style01 {
  line-height: 1;
  margin-bottom: 20px;
}

.ttl-style01 img {
  height: 14px;
  width: auto;
}

.ttl-style01 .small {
  font-size: 10px;
  padding-top: 5px;
}

.ttl-style02 {
  font-size: 14px;
  margin-top: 30px;
}

.ttl-style03 {
  line-height: 1;
}

.ttl-style03 img {
  height: 12px;
  width: auto;
}

.ttl-style03 .small {
  font-size: 10px;
  padding-top: 5px;
}

/* btn */
.btn-style01 a {
  background: url(../img/arrow-right.svg) no-repeat 20px center #CA1E23;
  background-size: 20px 15px;
  box-sizing: border-box;
  color: #fff;
  display: block;
  font-size: 18px;
  font-family: 'mplus-2p-bold';
  line-height: 40px;
  margin: auto;
  text-align: center;
  text-indent: 10px;
  width: 300px;
}

/*------------------------------------------------------------------------------
  kv
------------------------------------------------------------------------------*/
/* kv-style01 */
.kv-style01 .inner-block {
  background-position: center center;
  background-size: cover;
  padding: 0;
}

.kv-style01 .inner-block img {
  height: 16px;
  width: auto;
  padding: 30px 10px;
}

.contact .kv-style01 .inner-block {
  background-position: center 10%;
}

/* kv-style02 */
.kv-style02 {
  margin-bottom: 20px;
}

.kv-style02 .inner-block {
  padding: 0;
}

.kv-style02 .ttl {
  padding: 15px;
}

.kv-style02 .ttl .main {
  padding: 0 0 10px;
}

.kv-style02 .ttl .main img {
  height: 15px;
  width: auto;
}

.kv-style02 .ttl .style img {
  height: 8px;
  width: auto;
  vertical-align: bottom;
}

/*------------------------------------------------------------------------------
  top
------------------------------------------------------------------------------*/
/* top-lead */
.top-lead .ttl {
  margin: 20px 0 -60px 0px;
}

.top-lead .ttl img {
  height: 100px;
  width: auto;
}

.top-lead .flex-nav-prev a,
.top-lead .flex-nav-next a {
  background-size: 100% 100%;
  width: 20px;
  height: 20px;
}

.top-lead .flex-nav-prev {
  left: 10px;
}

.top-lead .flex-nav-next {
  right: 10px;
}

/* top-news */
.top-news {
  margin: 20px 0 35px;
}

.top-news .outer {
  border: 2px solid #b5b5b6;
  padding: 15px;
}

.top-news .ttl {
  margin-bottom: 15px;
  text-align: center;
}

.top-news .ttl img {
  height: 56px;
  width: auto;
}

.news-ul li + li {
  margin-top: 15px;
}

/* top-gallery */
.top-gallery .txt-box {
  padding: 15px 0;
}

.top-gallery .txt-box .ttl {
  padding-bottom: 15px;
}

.top-gallery .txt-box .ttl img {
  height: 81px;
  width: auto;
}

.top-gallery .txt-box .txt {
  font-size: 12px;
  margin-bottom: 15px;
}

.top-gallery .txt-box .btn a {
  width: 100%;
}

.top-gallery .img-box {
  padding-bottom: 10px;
}

/* top-action */
.top-action {
  margin: 35px 0 40px;
}

.top-action .ttl {
  margin-bottom: 10px;
}

.top-action li {
  font-size: 12px;
  letter-spacing: 0;
  min-height: 150px;
}

.top-action li .txt br {
  display: none;
}

.top-action li img {
  margin-bottom: 10px;
}

/* top-product */
.top-product {
  padding-bottom: 20px;
}

.top-product .sub-ttl {
  line-height: 1;
  margin: 25px 0 15px;
}

.top-product .sub-ttl .small {
  font-size: 10px;
  padding-top: 5px;
}

.top-product .sub-ttl img {
  height: 13px;
  width: auto;
}

.top-product .project-ul {
  text-align: center;
}

.top-product .project-ul li {
  display: inline-block;
  margin-right: 10px;
  width: -webkit-calc( (97% - 10px) / 2 );
  width: calc( (97% - 10px) / 2 );
}

.top-product .project-ul li:nth-child(2n) {
  margin-right: 0;
}

.top-product .project-ul li:nth-child(n+3) {
  margin-top: 10px;
}

/*------------------------------------------------------------------------------
  message
------------------------------------------------------------------------------*/
.message .bg-wrapper {
  font-size: 13px;
}

.message .bg-wrapper p {
  line-height: 1.8;
}

.message .cnt01 {
  padding: 60px 0 80px;
}

.message .cnt01 .ttl {
  margin-bottom: 30px;
}

.message .cnt01 .ttl span {
  display: block;
}

.message .cnt01 .ttl .ico {
  margin-bottom: 30px;
}

.message .cnt01 .ttl .ico img {
  height: 56px;
  width: auto;
}

.message .cnt02 .inner-block {
  background-size: auto 190px;
}

.message .cnt02 .ttl {
  margin-bottom: 15px;
}

.message .cnt02 .ttl img {
  height: 34px;
  width: auto;
}

.message .cnt02 .sub-ttl img {
  height: 29px;
  width: auto;
}

.message .cnt03 {
  padding-bottom: 25px;
}

.message .cnt03 .inner-block {
  background-size: auto 150px;
  background-position: 90% 80%;
  padding: 50px 0 20px;
}

.message .cnt03 .ttl {
  margin-bottom: 20px;
}

.message .cnt03 .ttl img {
  max-width: 313px;
}

/*------------------------------------------------------------------------------
  works
------------------------------------------------------------------------------*/
.works-ul li {
  margin-right: 10px;
  width: -webkit-calc( (100% - 10px) / 2 );
  width: calc( (100% - 10px) / 2 );
}

.works-ul li:nth-child(2n) {
  margin-right: 0;
}

.works-ul li:nth-child(n+3) {
  margin-top: 10px;
}

.works-ul li .txt .ttl {
  font-size: 14px;
  margin-bottom: 10px;
}

.works-ul li .txt p:not(.ttl) {
  font-size: 10px;
}

.works-ul li .txt .time {
  font-size: 12px;
}

/*------------------------------------------------------------------------------
  project
------------------------------------------------------------------------------*/
.project-ttl {
  margin-top: 30px;
}

.project-lineup-ul li + li {
  margin-top: 10px;
}

.project-lineup-ul li .img .cap {
  font-size: 13px;
  line-height: 1.4;
  left: 10px;
  bottom: 10px;
}

.project-lineup-ul li .txt .ttl {
  font-size: 16px;
  margin-bottom: 5px;
}

.project-lineup-ul li .txt .ttl .new {
  top: 2px;
}

/*------------------------------------------------------------------------------
  product
------------------------------------------------------------------------------*/
.product-ttl {
  margin-top: 30px;
}

.product-ul li {
  margin-right: 10px;
  width: -webkit-calc( (100% - 10px) / 2 );
  width: calc( (100% - 10px) / 2 );
}

.product-ul li:nth-child(2n) {
  margin-right: 0;
}

.product-ul li:nth-child(n+3) {
  margin-top: 10px;
}

.product-ul li .txt .ttl {
  font-size: 16px;
  padding-bottom: 15px;
}

/*------------------------------------------------------------------------------
  about
------------------------------------------------------------------------------*/
.about .cnt01 {
  padding: 25px 0 0;
}

.about .cnt01 .table-box {
  padding: 5px 15px;
}

.about .cnt01 .table-box table {
  width: 100%;
}

.about .cnt01 .table-box a {
  color: #fff;
}

@media (max-width: 450px) {
  .about .cnt01 .table-box table th,
  .about .cnt01 .table-box table td {
    display: block;
    padding: 10px;
  }

  .about .cnt01 .table-box table th {
    padding-bottom: 0;
    text-align: center;
  }

  .about .cnt01 .table-box table th:before {
    display: none;
  }

  .about .cnt01 .table-box table tr:not(:first-child) th {
    border-top: 1px solid #fff;
  }
}

.about .cnt02 {
  padding: 25px 0 0;
}

.about .cnt02 .map {
  height: 400px;
}

/*------------------------------------------------------------------------------
  privacy
------------------------------------------------------------------------------*/
.privacy .cnt01 {
  padding: 25px 0 0;
}

/*------------------------------------------------------------------------------
  contact
------------------------------------------------------------------------------*/
.contact .cnt01 {
  padding: 25px 0 0;
}

.contact-ttl {
  font-size: 18px;
  margin: 0 0 10px;
}

.contact .tel-box .tel {
  font-size: 20px;
  margin-top: -5px;
}

.contact .tel-box .tel a,
.contact .tel-box .tel span {
  font-size: 30px;
}

.contact .tel-box,
.contact .form-box {
  padding: 15px 0;
}


.contact .form-box .table-style01 th,
.contact .form-box .table-style01 td {
  box-sizing: border-box;
  display: block;
  padding: 15px;
  width: 100%;
}

.contact .form-box .table-style01 th,
.contact .form-box .table-style01 tr:not(:last-child) td {
  border-bottom: none;
}

.contact .form-box .table-style01 th {
  font-size: 14px;
}

#wrapper.contact .form-box [type="submit"] {
  background: url(../img/arrow-right.svg) no-repeat 20px center #CA1E23;
  background-size: 20px 15px;
  box-sizing: border-box;
  color: #fff;
  display: block;
  font-size: 18px;
  font-family: 'mplus-2p-bold';
  line-height: 40px;
  margin: auto;
  text-align: center;
  text-indent: 10px;
  width: 300px;
}

/*------------------------------------------------------------------------------
  detail
------------------------------------------------------------------------------*/
.kv-slide {
  margin-bottom: 20px;
}

.carousel-cell {
  width: 90%;
}

.flickity-prev-next-button.next {
  right: 6%;
}

.flickity-prev-next-button.previous {
  left: 6%;
}

.detail .ttl-style03 {
  margin: 30px 0 15px;
}

.detail .summary {
  border: 2px solid #000;
  padding: 10px 15px;
}

.detail .topics .copy, .detail .topics .price {
  font-size: 20px;
}

.detail .topics .btn-box a + a {
  margin: 10px auto 0;
}

.detail .plan .img-box {
  margin: 0 10% 10px;
}

.eqp-ul li {
  margin-right: 10px;
  width: -webkit-calc( (100% - 10px) / 2 );
  width: calc( (100% - 10px) / 2 );
}

.eqp-ul li:nth-child(2n) {
  margin-right: 0;
}

.eqp-ul li:nth-child(n+3) {
  margin-top: 10px;
}

.detail .access .map {
  height: 400px;
}