@charset "UTF-8";
@import url("root.css");
/*-----*ブレイクポイントルール*-----*/
/* スマートフォン：max-width:767 */
/* タブレット：min-width:768px */
/* PC：min-width:1025px */
/***************************************
------------- TOP MAIN IMG -------------
***************************************/
#mv {
  width: 100%;
  height: auto;
  margin: 0 auto;
  position: relative;
}
#mv .slick-slider {
  opacity: 0;
  transition: all 0.3s;
}
#mv .slick-slider.slick-initialized {
  opacity: 1;
  transition: all 0.3s;
}
#mv img {
  width: 100%;
}
#mv .main_copy {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 1200px;
  max-width: 98%;
  height: 100%;
}
#mv .main_copy img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: auto;
  margin: auto;
  width: 50%;
  height: auto;
  max-width: 548px;
  max-height: 323px;
}
#mv .main_copy .text_wrap {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: auto;
  margin: auto;
  width: 50%;
  height: auto;
  max-width: 548px;
  max-height: 323px;
}
#mv .main_copy .text_wrap .copy_text_large {
  font-size: clamp(4rem, -3.1rem + 11.7vw, 7rem);
  font-weight: 900;
  line-height: 1;
}
#mv .main_copy .text_wrap .copy_text_normal {
  font-size: clamp(1.8rem, 0rem + 2.3vw, 2.4rem);
  font-weight: 500;
}

/***************************************
------------- TOP COMMON -------------
***************************************/
/* PC */
@media screen and (min-width: 1025px) {
  .tablet-only {
    display: none;
  }
}
/* SP */
@media screen and (max-width: 767px) {
  .sp-text-center {
    text-align: center;
  }
  .tablet-only {
    display: none;
  }
}
.home {
  background: url(../img/body_bg.jpg) repeat center center/contain;
}
.home .desc {
  letter-spacing: 0;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .home .desc {
    line-height: 2;
  }
}

/***************************************
------------- TOP ------------
***************************************/
.sec_about {
  padding: 100px 0;
  background: url(../img/bg_img001.png) no-repeat center center/auto;
}
@media (max-width: 767px) {
  .sec_about {
    padding: 50px 0;
    background: url(../img/sp_bg_img001.png) no-repeat center center/auto;
  }
}
@media (min-width: 768px) {
  .sec_about .txt_wrap {
    max-width: 52%;
    margin-left: 48%;
  }
}
.sec_about .h2_styled {
  text-align: left;
  border-bottom: 3px solid #4b4525;
  position: relative;
  margin: 0 0 40px;
  padding-bottom: 10px;
}
@media (max-width: 767px) {
  .sec_about .h2_styled {
    margin: 25px 0 15px;
    padding-bottom: 5px;
    border-bottom: 2px solid #4b4525;
  }
}
.sec_about .h2_styled:after {
  content: "";
  position: absolute;
  bottom: -3px;
  right: 0;
  margin: auto;
  width: 20%;
  height: 3px;
  background: #a40000;
}
@media (max-width: 767px) {
  .sec_about .h2_styled:after {
    bottom: -2px;
    height: 2px;
  }
}
.sec_about .h3_about {
  font-weight: bold;
  letter-spacing: 0;
  font-size: clamp(2.5rem, 2.5vw, 4.8rem);
  margin: 0 0 50px;
}
@media (max-width: 767px) {
  .sec_about .h3_about {
    margin: 0 0 20px;
  }
}
.sec_about .desc {
  margin-bottom: 25px;
}
@media (min-width: 768px) {
  .sec_about .desc {
    margin-bottom: 80px;
    letter-spacing: -1px;
  }
}
.sec_about .btn_custom a {
  margin-left: auto;
}
@media ( max-width : 767px ) {
  .sec_about .btn_custom a {
    margin: 0 auto;
  }
}

.sec_service {
  padding: 100px 0;
  background: url(../img/bg_img002.jpg) no-repeat top center/auto;
}
@media (min-width: 1800px) {
  .sec_service {
    background: url(../img/bg_img002.jpg) repeat-x top center/auto 484px;
  }
}
@media (max-width: 767px) {
  .sec_service {
    padding: 50px 0;
    background: url(../img/sp_bg_img002.jpg) no-repeat center center/top;
  }
}
.sec_service .h2_styled {
  color: #d9d5c0;
}
.sec_service .h2_styled + .desc {
  color: #fff;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .sec_service .h2_styled + .desc {
    margin-bottom: 25px;
  }
}
.sec_service .block_service {
  background: #fff;
  height: 100%;
  position: relative;
  padding-bottom: 40px;
}
@media (max-width: 767px) {
  .sec_service .block_service {
    padding-bottom: 25px;
  }
}
.sec_service .block_service a img {
  display: block;
  margin: auto;
}
.sec_service .block_service a .txt_wrap {
  display: block;
  padding: 20px;
}
@media (max-width: 767px) {
  .sec_service .block_service a .txt_wrap {
    padding: 10px;
  }
}
.sec_service .block_service a .txt_wrap .tit {
  display: block;
  color: #4b4525;
  font-weight: bold;
  text-align: center;
  margin: 0 0 10px;
  letter-spacing: 0;
  font-size: clamp(1.6rem, 1.8vw, 2.8rem);
}
.sec_service .block_service a .txt_wrap .desc {
  display: block;
  line-height: 1.3;
  font-size: clamp(1.3rem, 1.3vw, 1.8rem);
}
.sec_service .block_service a .txt_wrap .more {
  display: block;
  position: absolute;
  bottom: 10px;
  left: 0;
  text-align: right;
  width: 100%;
  padding: 0 20px 0 0;
  font-weight: 500;
  font-size: 2.1rem;
  font-family: var(--title-font-family);
  display: flex;
  align-items: center;
  font-size: clamp(1.3rem, 1.3vw, 1.8rem);
}
@media (max-width: 767px) {
  .sec_service .block_service a .txt_wrap .more {
    padding: 0 10px 0 0;
  }
}
.sec_service .block_service a .txt_wrap .more:before {
  content: "";
  height: 1px;
  flex-grow: 1;
  margin-right: 1rem;
  background-color: #666;
}

.sec_warranty {
  padding: 100px 0;
  background: url(../img/bg_img003.jpg) no-repeat center center/cover;
}
@media (max-width: 767px) {
  .sec_warranty {
    padding: 50px 0;
    background: url(../img/sp_bg_img003.jpg) no-repeat center center/cover;
  }
}

.sec_message {
  background: url(../img/bg_img004.png) no-repeat center center/cover;
}
@media (max-width: 767px) {
  .sec_message {
    padding: 50px 0;
    background: url(../img/sp_bg_img004.png) no-repeat center center/cover;
  }
}
.sec_message .row {
  align-items: center;
}
@media (min-width: 768px) {
  .sec_message .row .col-7 {
    padding-right: 6%;
  }
}
.sec_message .h2_styled {
  text-align: left;
  color: #121741;
  border-bottom: 3px solid #121741;
  position: relative;
  margin: 0;
  padding-bottom: 10px;
}
@media (max-width: 767px) {
  .sec_message .h2_styled {
    margin: 0 0 10px;
    border-bottom: 2px solid #121741;
  }
}
.sec_message .h2_styled:after {
  content: "";
  position: absolute;
  bottom: -3px;
  right: 0;
  margin: auto;
  width: 20%;
  height: 3px;
  background: #a40000;
}
@media (max-width: 767px) {
  .sec_message .h2_styled:after {
    bottom: -2px;
    height: 2px;
  }
}
.sec_message .h2_styled span {
  display: inline;
  margin-left: 15px;
  font-weight: 500;
  letter-spacing: 0;
  font-size: clamp(2.6rem, 2.6vw, 4.8rem);
}
@media (max-width: 767px) {
  .sec_message .h2_styled span {
    margin-left: 10px;
  }
}
.sec_message .subtitle {
  color: #121741;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  font-size: clamp(1.6rem, 1.6vw, 2.4rem);
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .sec_message .subtitle {
    margin-bottom: 20px;
  }
}
.sec_message .h3_message {
  color: #1b1b1b;
  font-weight: bold;
  font-size: clamp(2.4rem, 2.4vw, 3.6rem);
  margin: 0 0 30px;
}
@media (max-width: 767px) {
  .sec_message .h3_message {
    margin: 0 0 20px;
  }
}
@media (max-width: 767px) {
  .sec_message img.sp-only {
    display: block;
    margin: auto;
  }
}
.sec_message .desc {
  font-weight: 500;
  margin: 30px 0 90px;
}
@media (max-width: 767px) {
  .sec_message .desc {
    margin: 20px 0 30px;
  }
}
.sec_message .btn_custom a {
  color: #121741;
  border-color: #121741;
}
.sec_message .btn_custom a:after {
  border-color: #121741;
}
@media ( max-width : 767px ) {
  .sec_message .btn_custom a {
    margin: 0 auto;
  }
}

.sec_news {
  padding: 100px 0;
}
@media (max-width: 767px) {
  .sec_news {
    padding: 50px 0;
  }
}
.sec_news .news_wrap .news-lists {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .sec_news .news_wrap .news-lists {
    margin-bottom: 30px;
  }
}
.sec_news .news_wrap .news-lists dt {
  font-weight: bold;
  font-family: var(--title-font-family);
}
.sec_works {
  padding: 100px 0;
  background: url(../img/bg_img006.jpg) no-repeat center center/cover;
}
@media (max-width: 767px) {
  .sec_works {
    padding: 50px 0;
    background: url(../img/sp_bg_img006.jpg) no-repeat center center/cover;
  }
}
.sec_works .h2_styled {
  color: #fff;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .sec_works .h2_styled {
    margin-bottom: 40px;
  }
}
.sec_works .h2_styled:first-letter {
  color: #d9d5c0;
}
.sec_works .h2_styled span {
  color: #fff;
}
.sec_works .slider_wrapper .slider-content .slick-track {
  display: flex;
}
.sec_works .slider_wrapper .slider-content .slick-track .slick-slide {
  height: auto !important;
}
.sec_works .slider_wrapper .slider-content .slick-track .slick-slide > div {
  height: 100%;
}
.sec_works .slider_wrapper .slider-content .slider-item {
  height: 100%;
}
.sec_works .slider_wrapper .slider-content .slick-slide {
  margin: 0 15px;
}
@media (max-width: 767px) {
  .sec_works .slider_wrapper .slider-content .slick-slide {
    margin: 0 10px;
  }
}
.sec_works .slider_wrapper .slick-arrow {
  position: absolute;
  top: auto;
  bottom: -178px;
  left: 22%;
  right: auto;
  margin: auto;
  width: 85px;
  height: 85px;
  padding: 0;
  border: 1px solid #fff;
}
@media (max-width: 1000px) {
  .sec_works .slider_wrapper .slick-arrow {
    left: 15%;
  }
}
@media (max-width: 767px) {
  .sec_works .slider_wrapper .slick-arrow {
    right: 0;
    left: 50px;
    border: 0;
    bottom: -140px;
  }
}
.sec_works .slider_wrapper .slick-arrow:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 14px;
  height: 14px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
  transition: 0.2s;
}
.sec_works .slider_wrapper .slick-arrow.slick-prev {
  left: calc(22% - 85px);
  border-right: 0;
}
@media (max-width: 1000px) {
  .sec_works .slider_wrapper .slick-arrow.slick-prev {
    left: calc(15% - 85px);
  }
}
@media (max-width: 767px) {
  .sec_works .slider_wrapper .slick-arrow.slick-prev {
    left: -50px;
  }
}
.sec_works .slider_wrapper .slick-arrow.slick-prev:before {
  transform: rotate(225deg);
}
.sec_works .block_works {
  height: 100%;
}
.sec_works .block_works a {
  display: block;
  padding: 10px 10px calc(10px + 1em);
  background: #fff;
  height: 100%;
}
.sec_works .block_works a img {
  width: 100%;
  height: 16vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .sec_works .block_works a img {
    height: 240px;
  }
}
.sec_works .block_works .heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 10px;
  justify-content: space-between;
  margin-top: 10px;
}
.sec_works .block_works .heading .category_badge {
  color: #fff;
  background: #4b4525;
  display: inline-block;
  margin: 0;
  padding: 2px 8px;
  font-size: clamp(1.2rem, 1.2vw, 1.6rem);
}
.sec_works .block_works .heading .date {
  margin: 0;
  color: #4b4525;
  font-family: var(--title-font-family);
  font-size: clamp(1.2rem, 1.2vw, 1.6rem);
}
.sec_works .block_works .title {
  line-height: 1.4;
  letter-spacing: 0;
}
.sec_works .btn {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .sec_works .btn {
    margin-top: 100px;
  }
}
.sec_works .btn a {
  color: #d9d5c0;
  border-color: #d9d5c0;
}
@media (min-width: 768px) {
  .sec_works .btn a {
    margin: 0 0 0 auto;
  }
}
.sec_works .btn a:after {
  background: url(../img/common/arrow03.png) no-repeat center center/cover;
}