/* features-th29.css — ベースライン(自動読込・module-base.css前提)。編集せず上書きで調整。 */
@charset "UTF-8";

._th29_module_wrap {
  background: #fff;
  position: relative;
  padding: 0;
}
._th29_module_wrap:after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  top: 0;
  left: 0;
  height: 351px;
  background: url(@@A@@images/th29-bg-1.webp) no-repeat center top/cover;
}
._th29_module_wrap .container {
  padding: 351px 0 60px;
}
._th29_module_wrap .container ._th29_module_block {
  position: relative;
  z-index: 2;
}
._th29_module_wrap .container ._th29_module_block .th29_img_block {
  width: 73.1%;
}
@media (min-width: 768px) {
  ._th29_module_wrap .container ._th29_module_block .th29_img_block {
    position: absolute;
    bottom: 0;
    left: -15.7%;
  }
}
@media (max-width: 767px) {
  ._th29_module_wrap .container ._th29_module_block .th29_img_block {
    width: 100%;
  }
}
._th29_module_wrap .container .th29_txt_block {
  line-height: 0;
  float: right;
  width: 42.5%;
  padding: 3em 0 0 3em;
}
@media (max-width: 767px) {
  ._th29_module_wrap .container .th29_txt_block {
    width: 100%;
    float: none;
  }
}
@media (min-width: 768px) {
  ._th29_module_wrap .container .th29_txt_block h3 {
    text-align: left;
  }
}
._th29_module_wrap .container .th29_txt_block h3:after {
  content: none;
}
._th29_module_wrap .container .th29_txt_block h3 span {
  display: block;
  font-size: 0.8125rem;
  line-height: 1;
  padding-bottom: 0.5em;
}
._th29_module_wrap .container .th29_txt_block h3 {
  font-size: 2.5rem;
  margin-bottom: 0.7em;
  padding: 0;
  line-height: 1;
}
._th29_module_wrap .container .th29_txt_block .more {
  margin-top: 2.5em;
}
._th29_module_wrap .container .th29_txt_block .more .add_arrow {
  border-radius: 0;
  min-width: 170px;
  line-height: 1;
  padding: 0.8em 5px;
  margin-left: 0;
  position: relative;
  background: #000;
  color: var(--color-on-primary);
  border-color: #000;
}
._th29_module_wrap .container .th29_txt_block .more .add_arrow:after {
  border-color: #fff;
}
._th29_module_wrap .container .th29_txt_block .more .add_arrow:hover {
  background: #000;
  border-color: #000;
  color: var(--color-on-primary);
}
._th29_module_wrap .container .th29_txt_block .more .add_arrow:hover:after {
  border-color: #fff;
}
@media (min-width: 768px) and (max-width: 1199px) {
  ._th29_module_wrap:after {
    height: 44%;
  }
  ._th29_module_wrap .container {
    padding: 23% 0 7%;
  }
  ._th29_module_wrap .container ._th29_module_block {
    background: #fff;
  }
  ._th29_module_wrap .container ._th29_module_block .th29_img_block {
    width: 65%;
    left: -16%;
  }
  ._th29_module_wrap .container ._th29_module_block .th29_txt_block {
    width: 51.3%;
    padding: 0.9em 1.4em 0 1.6em;
  }
  ._th29_module_wrap .container ._th29_module_block .th29_txt_block h3 {
    margin-bottom: 0.2em;
  }
  ._th29_module_wrap .container ._th29_module_block .th29_txt_block .more {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  ._th29_module_wrap:after {
    height: 36%;
  }
  ._th29_module_wrap .container {
    padding: 30% 15px 4%;
  }
  ._th29_module_wrap .container ._th29_module_block .th29_img_block {
    margin-bottom: 0;
  }
  ._th29_module_wrap .container ._th29_module_block .th29_txt_block {
    padding: 1.3em 0 0;
  }
  ._th29_module_wrap .container ._th29_module_block .th29_txt_block h3 {
    margin-bottom: 0.4em;
  }
  ._th29_module_wrap .container ._th29_module_block .th29_txt_block .more {
    margin-top: 1em;
    display: block;
  }
}
