@charset "UTF-8";
.taishin p {
  font-weight: bold; }
  .taishin p span {
    font-weight: bold; }
.taishin .btn-backlist {
  display: block;
  max-width: 310px;
  width: 90%;
  margin: 100px auto 0;
  background: #00A63C;
  color: #fff;
  padding: 35px 0;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  font-weight: bold; }
  .taishin .btn-backlist:hover {
    opacity: 0.5; }
  .taishin .btn-backlist .arwW {
    display: inline-block;
    margin-left: 0.2em; }

@media screen and (max-width: 576px) {
  .taishin .btn-backlist {
    margin: 60px auto 0; } }
.taishin-main {
  background: #00A63C;
  color: #fff; }
  .taishin-main-inner {
    display: flex;
    justify-content: space-between; }
  .taishin-main .head {
    padding: 0 20px;
    width: 60%; }
    @media screen and (max-width: 1920px) {
      .taishin-main .head {
        padding: 0 2%; } }
    @media screen and (max-width: 576px) {
      .taishin-main .head {
        padding: 0 4%; } }
  .taishin-main .body {
    width: 40%;
    text-align: right; }
  .taishin-main .breadcrumb-wrap {
    margin: 0 auto;
    padding-top: 15px; }
  .taishin-main .breadcrumb li {
    color: #fff; }
    .taishin-main .breadcrumb li::after {
      color: #fff; }
    .taishin-main .breadcrumb li a {
      color: #fff; }
  .taishin-main-ttl {
    margin-top: 60px;
    text-align: center;
    font-size: 4.8rem;
    letter-spacing: 0.2em;
    font-weight: bold;
    line-height: 1.2; }
    .taishin-main-ttl span {
      letter-spacing: 0.05em;
      font-weight: bold;
      line-height: 1; }
    .taishin-main-ttl .large {
      font-size: 18.2rem; }
    .taishin-main-ttl .middle {
      font-size: 7.2rem; }

@media screen and (max-width: 1140px) {
  .taishin-main-ttl {
    margin-top: 4vw;
    font-size: 5.5vw; }
    .taishin-main-ttl .large {
      font-size: 20vw; }
    .taishin-main-ttl .middle {
      font-size: 7.2vw; } }
@media screen and (max-width: 576px) {
  .taishin-main .body img {
    object-fit: cover;
    font-family: 'object-fit: $of-type;';
    width: 100%;
    height: 100%; }
  .taishin-main-ttl {
    margin-bottom: 20px; } }
.taishin-reformBA {
  max-width: 930px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between; }
  .taishin-reformBA-lead {
    color: #00A63C;
    text-align: center;
    font-size: 2.4rem;
    margin-bottom: 40px;
    line-height: 1.6; }
    .taishin-reformBA-lead span {
      display: inline-block; }
  .taishin-reformBA .item {
    width: 48%;
    max-width: 425px; }
    .taishin-reformBA .item-ttl {
      color: #8c8c8c;
      text-align: center;
      font-weight: bold;
      letter-spacing: 0.2em;
      margin: 0 auto 20px; }
    .taishin-reformBA .item-img {
      border: 33px solid #ccc; }
      .taishin-reformBA .item-img img {
        width: 100%; }
  .taishin-reformBA .item.after .item-ttl {
    color: #00A63C; }
  .taishin-reformBA .item.after .item-img {
    border-color: #00A63C; }

@media screen and (max-width: 767px) {
  .taishin-reformBA .item-img {
    border-width: 20px; } }
@media screen and (max-width: 576px) {
  .taishin-reformBA {
    display: block; }
    .taishin-reformBA .item {
      width: 100%;
      margin: 0 auto; }
    .taishin-reformBA .item.after {
      margin-top: 25px; } }
.taishin-lead {
  margin: -70px auto 0;
  position: relative;
  z-index: 1;
  padding: 0 0 150px; }
  .taishin-lead-inner {
    padding: 0 20px; }
    @media screen and (max-width: 1920px) {
      .taishin-lead-inner {
        padding: 0 2%; } }
    @media screen and (max-width: 576px) {
      .taishin-lead-inner {
        padding: 0 4%; } }
  .taishin-lead-txt {
    max-width: 836px;
    width: 100%;
    margin: 0 auto 60px;
    color: #404040;
    border: 9px solid #00A63C;
    background: #fff;
    font-weight: bold;
    font-size: 2.1rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
    border-radius: 80px;
    padding: 30px 2.5%;
    text-align: center; }
    .taishin-lead-txt span {
      font-size: 2.8rem;
      font-weight: bold; }

@media screen and (max-width: 1140px) {
  .taishin-lead {
    margin: -5vw auto 0; }
    .taishin-lead-txt {
      font-size: 1.8rem; }
      .taishin-lead-txt span {
        font-size: 2.6rem; } }
@media screen and (max-width: 767px) {
  .taishin-lead {
    margin: -3vw auto 0; }
    .taishin-lead-txt {
      font-size: 1.8rem;
      padding: 20px 2.5%;
      border: 5px solid #00A63C; }
      .taishin-lead-txt span {
        font-size: 2.4rem; } }
@media screen and (max-width: 576px) {
  .taishin-lead {
    margin: 40px auto 0; }
    .taishin-lead-txt {
      font-size: 1.6rem; }
      .taishin-lead-txt span {
        font-size: 2rem;
        margin-top: 10px; } }
.taishin-nav {
  display: flex;
  justify-content: space-between;
  margin: 60px auto 0; }
  .taishin-nav .item {
    width: calc(96% * 1 / 4);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    border: 9px solid #00A63C;
    background: #fff;
    text-align: center;
    border-radius: 15px;
    padding: 10px 0 40px;
    position: relative; }
    .taishin-nav .item-ttl {
      color: #00A63C;
      font-size: 2.1rem;
      font-weight: bold;
      letter-spacing: 0.05em;
      line-height: 1.6; }
      .taishin-nav .item-ttl span {
        font-size: 2.8rem;
        font-weight: bold;
        position: relative; }
    .taishin-nav .item-txt {
      font-weight: bold;
      line-height: 1.6; }
    .taishin-nav .item-arw {
      border: 9px solid #00A63C;
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: url("../img/taishin/arw-down_green.svg") #fff no-repeat center center/12px;
      position: absolute;
      bottom: -35px;
      left: calc(50% - 28px);
      transition: 0.4s; }
    .taishin-nav .item:hover {
      color: #fff;
      background: #00A63C; }
      .taishin-nav .item:hover .item-ttl {
        color: #fff; }
      .taishin-nav .item:hover .item-arw {
        border-color: #fff;
        background-color: #00A63C;
        background-image: url("../img/taishin/arw-down_white.svg"); }
  .taishin-nav .item04 .point {
    position: absolute;
    left: -27px;
    top: -40px; }

@media screen and (max-width: 1140px) {
  .taishin-nav .item-ttl {
    font-size: 2vw; }
    .taishin-nav .item-ttl span {
      font-size: 2.4vw; }
  .taishin-nav .item-txt {
    font-size: 1.4vw; }
  .taishin-nav .item04 .point {
    width: 5.2vw;
    left: -2.7vw;
    top: -3.5vw; } }
@media screen and (max-width: 767px) {
  .taishin-nav {
    flex-wrap: wrap; }
    .taishin-nav .item {
      width: 48%; }
      .taishin-nav .item:nth-of-type(n + 3) {
        margin-top: 50px; }
      .taishin-nav .item-ttl {
        font-size: 3.5vw; }
        .taishin-nav .item-ttl span {
          font-size: 4.8vw; }
      .taishin-nav .item-txt {
        font-size: 2.7vw; }
    .taishin-nav .item04 .point {
      width: 10vw;
      left: -4.7vw;
      top: -6.5vw; } }
@media screen and (max-width: 576px) {
  .taishin-nav .item-txt {
    font-size: 12px; }
    .taishin-nav .item-txt br {
      display: none; } }
.sec-ttlblock {
  color: #00A63C;
  text-align: center;
  margin: 0 auto 40px; }
  .sec-ttlblock-inner {
    display: inline-block;
    position: relative;
    padding: 0 65px; }
    .sec-ttlblock-inner::before, .sec-ttlblock-inner::after {
      content: "";
      display: block;
      background-repeat: no-repeat;
      background-size: contain;
      width: 60px;
      height: 60px;
      position: absolute; }
    .sec-ttlblock-inner::before {
      background-image: url("../img/taishin/bracket-first.svg");
      top: 0;
      left: 0; }
    .sec-ttlblock-inner::after {
      background-image: url("../img/taishin/bracket-last.svg");
      bottom: 0;
      right: 0; }

.sec-ttl {
  font-weight: bold;
  font-size: 3.6rem;
  display: inline-block;
  line-height: 1.6; }
  .sec-ttl span {
    font-weight: bold;
    font-size: 4.8rem; }

.sec-lead-txt {
  text-align: center;
  line-height: 1.8;
  font-size: 1.8rem;
  letter-spacing: 0.1em; }

@media screen and (max-width: 767px) {
  .sec-ttlblock-inner {
    padding: 0 45px; }
    .sec-ttlblock-inner::before, .sec-ttlblock-inner::after {
      width: 40px;
      height: 40px; }

  .sec-ttl {
    font-size: 2.4rem; }
    .sec-ttl span {
      font-size: 3.8rem; } }
@media screen and (max-width: 576px) {
  .sec-ttlblock-inner {
    padding: 0 30px; }
    .sec-ttlblock-inner::before, .sec-ttlblock-inner::after {
      width: 25px;
      height: 25px; }

  .sec-ttl {
    font-size: 1.8rem; }
    .sec-ttl span {
      font-size: 3rem; }

  .sec-lead-txt {
    text-align: left; } }
.sec-Cttl {
  text-align: center;
  margin-bottom: 60px; }
  .sec-Cttl span {
    display: inline-block;
    background: #00A63C;
    color: #fff;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    border-radius: 60px;
    padding: 20px 50px;
    font-weight: bold; }

.sec-child-lead {
  text-align: center;
  line-height: 1.8; }

@media screen and (max-width: 576px) {
  .sec-child-lead {
    text-align: left; } }
.sec-check {
  padding: 100px 0;
  background: #f6f8da; }
  @media screen and (max-width: 767px) {
    .sec-check {
      padding: 80px 0; } }
  .sec-check-inner {
    padding: 0 20px; }
    @media screen and (max-width: 1920px) {
      .sec-check-inner {
        padding: 0 2%; } }
    @media screen and (max-width: 576px) {
      .sec-check-inner {
        padding: 0 4%; } }
  .sec-check .check-ttl {
    text-align: center;
    margin: 50px auto; }
  .sec-check .check-list li {
    padding: 15px 60px;
    border-bottom: 1px solid #dbdbdb;
    position: relative; }
    .sec-check .check-list li input[type="checkbox"] {
      display: none; }
    .sec-check .check-list li input[type="checkbox"]:checked + p::before {
      content: "";
      display: inline-block;
      font: normal normal normal 14px/1 FontAwesome;
      font-size: inherit;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 3rem;
      color: #00A63C; }
    .sec-check .check-list li p {
      font-size: 2.1rem;
      letter-spacing: 0.1em;
      line-height: 1.8;
      display: inline-block;
      min-height: 33px;
      position: relative;
      padding: 0 0 0 73px;
      margin-bottom: 0;
      cursor: pointer;
      vertical-align: middle; }
      .sec-check .check-list li p .txt-sm {
        font-size: 1.8rem;
        letter-spacing: normal; }
      .sec-check .check-list li p .txt-green {
        color: #00A63C; }
      .sec-check .check-list li p::before {
        content: "";
        width: 33px;
        height: 33px;
        display: inline-block;
        border: solid 3px #00A63C;
        border-radius: 10px;
        background-color: #fff;
        position: absolute;
        left: 0;
        top: 0; }
    .sec-check .check-list li .point-lt {
      position: absolute;
      right: 20px;
      bottom: -30px; }
  .sec-check .check-arw {
    background: url("../img/taishin/arw-down_green.svg") no-repeat center top/contain;
    width: 40px;
    height: 68px;
    margin: 50px auto 40px; }
  .sec-check .check-result {
    text-align: center;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    line-height: 1.4; }
    .sec-check .check-result-num {
      color: #00A63C;
      font-size: 12rem;
      display: inline-block; }
  .sec-check .check-bottom {
    margin: 80px auto 0; }
  .sec-check .check-detail-item {
    display: flex;
    border: 1px solid #00A63C;
    background: #fff; }
    .sec-check .check-detail-item:first-child dt,
    .sec-check .check-detail-item:first-child dd {
      background: #ededed;
      text-align: center; }
    .sec-check .check-detail-item:last-child dt,
    .sec-check .check-detail-item:last-child dd {
      color: #e60012; }
    .sec-check .check-detail-item:last-child dt {
      font-size: 2.4rem; }
    .sec-check .check-detail-item:last-child dd {
      font-size: 2.1rem; }
    .sec-check .check-detail-item dt,
    .sec-check .check-detail-item dd {
      font-weight: bold;
      letter-spacing: 0.05em;
      padding: 10px;
      line-height: 1.6; }
    .sec-check .check-detail-item dt {
      border-right: 1px solid #00A63C;
      min-width: 150px;
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center; }
      .sec-check .check-detail-item dt span {
        font-weight: bold; }
    .sec-check .check-detail-item dd {
      width: 100%; }
  .sec-check .check-detail .check-asterisk {
    font-weight: 500;
    text-align: right;
    margin-top: 15px; }
  .sec-check .check-survey {
    line-height: 1.8;
    letter-spacing: 0.05em; }
    .sec-check .check-survey-lead {
      color: #e60012;
      font-size: 2.4rem;
      text-align: center; }
    .sec-check .check-survey-cts {
      border-top: 1px solid #00A63C;
      border-bottom: 1px solid #00A63C;
      padding: 15px 2.5%;
      text-align: center; }
    .sec-check .check-survey-ttl {
      font-size: 3.6rem;
      color: #00A63C;
      line-height: 1.4; }
    .sec-check .check-survey-txt {
      font-size: 1.8rem;
      margin-top: 15px; }
  .sec-check .btn-survey {
    display: block;
    max-width: 523px;
    width: 100%;
    margin: 0 0 0 auto;
    background: #1f2c5c;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 2rem;
    letter-spacing: 0.1em;
    padding: 40px 0; }
    .sec-check .btn-survey:hover {
      opacity: 0.8; }
    .sec-check .btn-survey i {
      margin-right: 2em; }
    .sec-check .btn-survey .arwW {
      margin-left: 2em;
      display: inline-block;
      vertical-align: middle; }
      .sec-check .btn-survey .arwW::before, .sec-check .btn-survey .arwW::after {
        border-width: 2px; }
      .sec-check .btn-survey .arwW::after {
        width: 10px; }

@media screen and (min-width: 769px) {
  .sec-check .check-bottom {
    display: flex;
    justify-content: space-between; }
  .sec-check .check-detail {
    width: 48%; }
  .sec-check .check-survey {
    width: 48%; } }
@media screen and (max-width: 1140px) {
  .sec-check .check-list li {
    padding: 15px 15px; }
    .sec-check .check-list li .point-lt {
      position: static;
      display: block;
      margin: 10px 0 0 80px; }
  .sec-check .check-detail-item dd br {
    display: none; }
  .sec-check .btn-survey {
    margin: 40px auto 0; } }
@media screen and (max-width: 768px) {
  .sec-check .check-survey {
    margin-top: 40px; } }
@media screen and (max-width: 576px) {
  .sec-check .check-ttl {
    margin: 40px auto 20px; }
  .sec-check .check-list li {
    padding: 15px 0; }
    .sec-check .check-list li p {
      font-size: 1.8rem;
      padding: 0 0 0 53px; }
    .sec-check .check-list li .point-lt {
      margin: 10px 0 0 60px; }
  .sec-check .check-arw {
    width: 30px;
    height: 58px; }
  .sec-check .check-result {
    font-size: 2rem; }
    .sec-check .check-result-num {
      font-size: 8rem; }
  .sec-check .check-bottom {
    margin: 60px auto 0; }
  .sec-check .check-detail-item:last-child dt {
    font-size: 2rem; }
  .sec-check .check-detail-item:last-child dd {
    font-size: 1.8rem; }
  .sec-check .check-detail-item dt {
    min-width: 120px; }
  .sec-check .check-detail .check-asterisk {
    font-size: 1.4rem;
    text-align: left; }
  .sec-check .check-survey-lead {
    font-size: 2rem; }
  .sec-check .check-survey-ttl {
    font-size: 3rem; }
  .sec-check .check-survey-txt {
    font-size: 1.6rem; }
    .sec-check .check-survey-txt br {
      display: none; } }
.sec-survey {
  padding: 100px 0; }
  @media screen and (max-width: 767px) {
    .sec-survey {
      padding: 80px 0; } }
  .sec-survey-inner {
    padding: 0 20px; }
    @media screen and (max-width: 1920px) {
      .sec-survey-inner {
        padding: 0 2%; } }
    @media screen and (max-width: 576px) {
      .sec-survey-inner {
        padding: 0 4%; } }
  .sec-survey .sec-lead-txt {
    margin-bottom: 60px; }

.survey-what-list {
  margin: 0 auto 125px; }
  .survey-what-list .item {
    margin-top: 125px;
    border: 5px solid #00A63C;
    border-radius: 30px;
    color: #00A63C;
    display: flex;
    justify-content: space-between;
    padding: 30px 50px; }
    .survey-what-list .item-head {
      margin: -70px 0 0;
      width: 35%; }
    .survey-what-list .item-body {
      width: 65%; }
    .survey-what-list .item .body-row {
      display: flex;
      justify-content: space-between; }
    .survey-what-list .item-num {
      min-width: 105px;
      font-size: 10rem;
      text-align: center; }
    .survey-what-list .item-cts {
      width: 100%; }
    .survey-what-list .item .cts-head.row {
      display: flex;
      justify-content: space-between;
      align-items: flex-start; }
      .survey-what-list .item .cts-head.row .ttl-block {
        width: 50%; }
      .survey-what-list .item .cts-head.row .detail-block {
        width: 48%;
        /*max-width: 250px;*/
        border-top: 2px solid #00A63C;
        border-bottom: 2px solid #00A63C;
        padding: 15px 0;
        margin: 0 1%; }
        .survey-what-list .item .cts-head.row .detail-block dl {
          display: flex; }
          .survey-what-list .item .cts-head.row .detail-block dl:not(:last-child) {
            margin-bottom: 1em; }
        .survey-what-list .item .cts-head.row .detail-block dt,
        .survey-what-list .item .cts-head.row .detail-block dd {
          font-weight: bold; }
        .survey-what-list .item .cts-head.row .detail-block dt {
          min-width: 70px; }
        .survey-what-list .item .cts-head.row .detail-block dd {
          width: 100%;
          padding: 0 0 0 1em; }
    .survey-what-list .item-subttl {
      font-size: 2.1rem;
      line-height: 1.6; }
    .survey-what-list .item-ttl {
      font-size: 4.8rem;
      font-weight: bold;
      line-height: 1.4; }
    .survey-what-list .item-txt {
      line-height: 1.8;
      margin: 25px auto 0;
      letter-spacing: 0.1em; }
  .survey-what-list .item02 {
    position: relative; }
    .survey-what-list .item02 .item-link {
      position: absolute;
      display: block;
      max-width: 403px;
      width: 100%;
      border: 5px solid #00A63C;
      border-radius: 50px;
      background: #fff;
      bottom: -30px;
      right: 50px;
      padding: 15px 0;
      text-align: center;
      font-size: 1.8rem;
      font-weight: bold; }
      .survey-what-list .item02 .item-link-arw {
        content: "";
        background: url("../img/taishin/arw-right_circle.svg") no-repeat center center/contain;
        width: 29px;
        height: 29px;
        display: block;
        position: absolute;
        right: 15px;
        top: 10px; }
      .survey-what-list .item02 .item-link:hover {
        background: #00A63C;
        color: #fff; }

@media screen and (max-width: 1140px) {
  .survey-what-list .item .cts-head.row {
    display: block; }
    .survey-what-list .item .cts-head.row .ttl-block {
      width: 100%; }
    .survey-what-list .item .cts-head.row .detail-block {
      width: 100%;
      max-width: none; } }
@media screen and (max-width: 767px) {
  .survey-what-list .item {
    display: block;
    padding: 30px 20px;
    margin-top: 40px; }
    .survey-what-list .item-head {
      width: 100%;
      text-align: center;
      margin: 0; }
    .survey-what-list .item-body {
      width: 100%;
      padding: 25px 0 0; }
    .survey-what-list .item-num {
      min-width: 65px; }
  .survey-what-list .item02 .item-link {
    width: 90%;
    right: 2%; } }
@media screen and (max-width: 576px) {
  .survey-what-list .item-num {
    min-width: 45px;
    font-size: 7rem; }
  .survey-what-list .item-subttl {
    font-size: 1.4rem; }
  .survey-what-list .item-ttl {
    font-size: 3.6rem; }
  .survey-what-list .item02 .item-link {
    font-size: 3.5vw; }
    .survey-what-list .item02 .item-link-arw {
      top: 18%; } }
.survey-seismicgrade {
  margin: 60px auto 0;
  /* ハウス */
  /* 吹き出し */ }
  .survey-seismicgrade-ttl {
    font-size: 2.1rem;
    letter-spacing: 0.1em;
    color: #00A63C;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    margin-bottom: 40px; }
    .survey-seismicgrade-ttl::after {
      content: "";
      display: block;
      width: 80px;
      height: 3px;
      background: #00A63C;
      margin: 10px auto 0; }
  .survey-seismicgrade-txt {
    max-width: 783px;
    width: 100%;
    margin: 50px auto 0;
    line-height: 1.8;
    font-size: 1.8rem;
    letter-spacing: 0.05em; }
  .survey-seismicgrade-house {
    padding-top: 45px;
    border-bottom: 3px solid #000;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: relative; }
    @media screen and (max-width: 767px) {
      .survey-seismicgrade-house {
        border-bottom: 2px solid #000; } }
    .survey-seismicgrade-house-item {
      width: 28%;
      max-width: 300px; }
      @media screen and (max-width: 767px) {
        .survey-seismicgrade-house-item {
          width: 32%; } }
      .survey-seismicgrade-house-item-inner {
        width: 150px;
        height: 136px;
        margin: 0 auto;
        position: relative; }
        .survey-seismicgrade-house-item-inner-bg {
          display: block;
          width: 100%;
          position: absolute;
          bottom: 0;
          left: 0;
          z-index: -3; }
        @media screen and (max-width: 767px) {
          .survey-seismicgrade-house-item-inner {
            width: 18.75vw;
            height: 17vw; } }
      .survey-seismicgrade-house-item-txt {
        width: 100%;
        height: 50%;
        font-size: clamp(0.5rem, 2.125vw, 1.7rem);
        letter-spacing: 0.05em;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: flex-end; }
      .survey-seismicgrade-house-item-num {
        width: 100%;
        height: 50%;
        padding-bottom: clamp(1px, 1.25vw, 10px);
        font-size: clamp(1.2rem, 5vw, 4rem);
        letter-spacing: 0.1em;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: flex-end; }
        .survey-seismicgrade-house-item-num-small {
          font-size: clamp(0.5rem, 2.125vw, 1.7rem);
          line-height: 2.7rem;
          letter-spacing: 0.05em; }
      .survey-seismicgrade-house-item:nth-of-type(2) .survey-seismicgrade-house-item-txt, .survey-seismicgrade-house-item:nth-of-type(3) .survey-seismicgrade-house-item-txt {
        color: #00A63C; }
      .survey-seismicgrade-house-item:nth-of-type(2) .survey-seismicgrade-house-item-num, .survey-seismicgrade-house-item:nth-of-type(3) .survey-seismicgrade-house-item-num {
        color: #00A63C; }
      .survey-seismicgrade-house-item:nth-of-type(2) .survey-seismicgrade-house-item-inner {
        width: 180px;
        height: 163px; }
        @media screen and (max-width: 767px) {
          .survey-seismicgrade-house-item:nth-of-type(2) .survey-seismicgrade-house-item-inner {
            width: 22.5vw;
            height: 20vw; } }
      .survey-seismicgrade-house-item:nth-of-type(2) .survey-seismicgrade-house-item-num {
        font-size: clamp(1.8rem, 7.5vw, 6rem); }
      .survey-seismicgrade-house-item:nth-of-type(3) {
        width: 32%;
        max-width: 350px;
        margin-left: 2%; }
        @media screen and (max-width: 767px) {
          .survey-seismicgrade-house-item:nth-of-type(3) {
            width: 34%; } }
        .survey-seismicgrade-house-item:nth-of-type(3) .survey-seismicgrade-house-item-inner {
          width: 240px;
          height: 218px; }
          @media screen and (max-width: 767px) {
            .survey-seismicgrade-house-item:nth-of-type(3) .survey-seismicgrade-house-item-inner {
              width: 30vw;
              height: 27vw; } }
        .survey-seismicgrade-house-item:nth-of-type(3) .survey-seismicgrade-house-item-num {
          font-size: clamp(2.6rem, 11.25vw, 9rem); }
    .survey-seismicgrade-house-balloon {
      padding: clamp(3px, 1.875vw, 15px) clamp(4px, 2.5vw, 20px);
      background: yellow;
      border: 3px solid #00A63C;
      border-radius: 10px;
      position: absolute;
      right: calc(37% - (268px / 2));
      bottom: clamp(42px, 21.25vw, 170px);
      z-index: 2; }
      @media screen and (max-width: 767px) {
        .survey-seismicgrade-house-balloon {
          border: 2px solid #00A63C;
          right: 17.5%; } }
      @media (max-width: 480px) {
        .survey-seismicgrade-house-balloon {
          right: 16%; } }
      @media (max-width: 400px) {
        .survey-seismicgrade-house-balloon {
          right: 12%; } }
      .survey-seismicgrade-house-balloon::before {
        content: "";
        position: absolute;
        top: 90%;
        left: 50%;
        margin-left: clamp(-16px, -2vw, -6px);
        border-width: clamp(27px, 13.75vw, 110px) clamp(6px, 2vw, 16px);
        border-style: solid;
        border-color: yellow transparent transparent transparent;
        z-index: 2; }
      .survey-seismicgrade-house-balloon::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: clamp(-18px, -2.25vw, -8px);
        border-width: clamp(30px, 15vw, 120px) clamp(8px, 2.25vw, 18px);
        border-style: solid;
        border-color: #00A63C transparent transparent transparent;
        z-index: 1; }
      .survey-seismicgrade-house-balloon-txt {
        font-size: clamp(0.4rem, 2vw, 1.6rem);
        line-height: 1.75;
        letter-spacing: 0.05em;
        color: #00A63C;
        text-align: center; }
    .survey-seismicgrade-house-bg {
      width: 64%;
      position: absolute;
      right: 7%;
      bottom: clamp(4px, 2.5vw, 20px);
      z-index: -10; }
      @media screen and (max-width: 767px) {
        .survey-seismicgrade-house-bg {
          width: 70%;
          right: 2%; } }
    .survey-seismicgrade-house-arw {
      width: 100%;
      height: clamp(20px, 7vw, 56px);
      background: #00A63C;
      clip-path: polygon(100% 0%, 0% 100%, 100% 100%); }
    .survey-seismicgrade-house-arw2 {
      width: clamp(25px, 8.75vw, 70px);
      height: clamp(12px, 3.75vw, 30px);
      background: #00A63C;
      clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
      transform: rotate(90deg);
      position: absolute;
      right: clamp(-49px, calc(-6.25vw + 1px), -9px);
      bottom: clamp(4px, 2.5vw, 20px); }
    .survey-seismicgrade-house-star {
      width: clamp(10px, 3vw, 24px);
      position: absolute;
      right: 47%;
      bottom: 3px; }
  .survey-seismicgrade-balloon {
    padding-top: 20px;
    display: flex;
    justify-content: center;
    position: relative; }
    .survey-seismicgrade-balloon-item {
      width: 28%;
      max-width: 300px; }
      @media screen and (max-width: 767px) {
        .survey-seismicgrade-balloon-item {
          width: 32%; } }
      .survey-seismicgrade-balloon-item-inner {
        width: 90%;
        height: 100%;
        padding: clamp(10px, 3.125vw, 25px) clamp(8px, 2.5vw, 20px);
        margin: 0 auto;
        border: 3px solid #000;
        border-radius: 20px;
        position: relative; }
        @media screen and (max-width: 767px) {
          .survey-seismicgrade-balloon-item-inner {
            border: 2px solid #000; } }
        .survey-seismicgrade-balloon-item-inner::before {
          content: "";
          position: absolute;
          top: -22px;
          left: 50%;
          margin-left: -10px;
          border-width: 12px 6px;
          border-style: solid;
          border-color: transparent transparent #fff transparent;
          z-index: 2; }
        .survey-seismicgrade-balloon-item-inner::after {
          content: "";
          position: absolute;
          top: -30px;
          left: 50%;
          margin-left: -11px;
          border-width: 14px 7px;
          border-style: solid;
          border-color: transparent transparent #000 transparent;
          z-index: 1; }
      .survey-seismicgrade-balloon-item-ttl {
        padding-bottom: clamp(8px, 2.5vw, 20px);
        margin-bottom: clamp(8px, 2.5vw, 20px);
        font-size: clamp(0.5rem, 2.25vw, 1.8rem);
        line-height: 1.5;
        letter-spacing: 0.05em;
        text-align: center;
        border-bottom: 1px dashed #000; }
      .survey-seismicgrade-balloon-item-txt {
        font-size: clamp(0.4rem, 2vw, 1.6rem);
        line-height: 1.75;
        letter-spacing: 0.05em; }
      .survey-seismicgrade-balloon-item:nth-of-type(1) .survey-seismicgrade-balloon-item-ttl .strong {
        color: #00A63C; }
      .survey-seismicgrade-balloon-item:nth-of-type(3) {
        width: 32%;
        max-width: 350px;
        margin-left: 2%; }
        @media screen and (max-width: 767px) {
          .survey-seismicgrade-balloon-item:nth-of-type(3) {
            width: 34%; } }
        .survey-seismicgrade-balloon-item:nth-of-type(3) .survey-seismicgrade-balloon-item-ttl .strong {
          color: red; }

.lightbox {
  overflow-x: scroll; }
  .lightbox .lb-image {
    width: 200vw !important;
    max-width: 800px;
    height: auto !important;
    background: #fff; }

.lb-outerContainer {
  height: auto !important; }

.lightbox_icon {
  width: 100%;
  position: relative; }
  .lightbox_icon::before {
    content: "\f00e";
    font-family: "FontAwesome";
    position: absolute;
    top: 0;
    right: 0;
    font-size: 22px;
    color: #00a630; }
  @media (min-width: 768px) {
    .lightbox_icon {
      pointer-events: none; }
      .lightbox_icon::before {
        display: none; } }

.sec-construction {
  padding: 100px 0;
  background: #f6f8da; }
  @media screen and (max-width: 767px) {
    .sec-construction {
      padding: 80px 0; } }
  .sec-construction-inner {
    padding: 0 20px; }
    @media screen and (max-width: 1920px) {
      .sec-construction-inner {
        padding: 0 2%; } }
    @media screen and (max-width: 576px) {
      .sec-construction-inner {
        padding: 0 4%; } }

.construction-type {
  display: flex;
  justify-content: space-between;
  margin: 60px auto 80px; }
  .construction-type-head {
    width: 35%; }
  .construction-type-body {
    width: 60%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
  .construction-type .type-item {
    width: 48%;
    display: flex;
    justify-content: space-between;
    position: relative;
    border: 5px solid #00A63C;
    background: #fff;
    border-radius: 15px;
    padding: 20px 15px; }
    .construction-type .type-item:nth-of-type(n + 3) {
      margin-top: 50px; }
    .construction-type .type-item .type-num {
      position: absolute;
      width: 47px;
      height: 47px;
      font-size: 2.1rem;
      text-align: center;
      line-height: 47px;
      color: #fff;
      background: #00A63C;
      border-radius: 50%;
      left: 15px;
      top: -23px; }
    .construction-type .type-item .type-head {
      width: 35%; }
    .construction-type .type-item .type-body {
      width: 60%; }
    .construction-type .type-item .type-ttl {
      font-weight: bold;
      color: #00A63C;
      font-size: 1.8rem;
      border-bottom: 3px solid #00A63C;
      margin-bottom: 10px;
      line-height: 1.6; }
    .construction-type .type-item .type-txt {
      letter-spacing: 0.05em;
      line-height: 1.8; }

@media screen and (max-width: 1140px) {
  .construction-type-head {
    width: 25%; }
  .construction-type-body {
    width: 70%; } }
@media screen and (max-width: 767px) {
  .construction-type {
    display: block; }
    .construction-type-head {
      width: 100%;
      max-width: 250px;
      margin: 0 auto;
      text-align: center; }
    .construction-type-body {
      width: 100%;
      margin-top: 60px; } }
@media screen and (max-width: 576px) {
  .construction-type .type-item {
    width: 100%; }
    .construction-type .type-item:nth-of-type(n + 2) {
      margin-top: 40px; } }
.construction-step-lead {
  border: 5px solid #00A63C;
  color: #00A63C;
  padding: 50px 4%;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: center;
  position: relative; }
  .construction-step-lead::before, .construction-step-lead::after {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-right: 22px solid transparent;
    border-left: 22px solid transparent;
    left: calc(50% - 22px); }
  .construction-step-lead::before {
    border-top: 70px solid #00A63C;
    bottom: -70px; }
  .construction-step-lead::after {
    border-top: 70px solid #f6f8da;
    bottom: -56px; }

.construction-step-list {
  margin: 130px auto 0;
  max-width: 960px;
  width: 100%; }
  .construction-step-list .cs-item:not(:last-child) {
    margin-bottom: 60px; }
  .construction-step-list .cs-item > .row {
    display: flex;
    justify-content: space-between; }
  .construction-step-list .cs-item-cts {
    width: 60%; }
  .construction-step-list .cs-item-img {
    width: 35%; }
  .construction-step-list .cs-item-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px; }
  .construction-step-list .cs-item-num {
    width: 80px;
    min-width: 80px;
    height: 80px;
    font-size: 2.2rem;
    background: #00A63C;
    color: #fff;
    border-radius: 15px;
    text-align: center;
    padding: 10px 0 0; }
    .construction-step-list .cs-item-num span {
      font-size: 4rem;
      display: block; }
  .construction-step-list .cs-item-ttl {
    color: #00A63C;
    width: 100%;
    padding: 0 0 0 40px;
    letter-spacing: 0.1em;
    line-height: 1.6; }
    .construction-step-list .cs-item-ttl_main {
      font-size: 3rem;
      font-weight: bold; }
  .construction-step-list .cs-item-body {
    line-height: 1.8; }

.cs-simulation-ttl {
  font-size: 2rem;
  letter-spacing: 0.2em;
  text-align: center;
  color: #00A63C;
  margin: 40px auto; }

@media screen and (max-width: 767px) {
  .construction-step-lead {
    font-size: 1.8rem;
    padding: 30px 4%;
    letter-spacing: 0.05em; }

  .construction-step-list .cs-item-ttl {
    padding: 0 0 0 20px; } }
@media screen and (max-width: 576px) {
  .construction-step-lead {
    text-align: left; }

  .construction-step-list {
    margin: 100px auto 0; }
    .construction-step-list .cs-item .row {
      display: block; }
    .construction-step-list .cs-item-cts {
      width: 100%; }
    .construction-step-list .cs-item-img {
      width: 100%;
      text-align: center;
      margin-top: 40px; }
    .construction-step-list .cs-item-head {
      margin-bottom: 25px; } }
.sec-feature {
  padding: 100px 0; }
  @media screen and (max-width: 767px) {
    .sec-feature {
      padding: 80px 0; } }
  .sec-feature-inner {
    padding: 0 20px; }
    @media screen and (max-width: 1920px) {
      .sec-feature-inner {
        padding: 0 2%; } }
    @media screen and (max-width: 576px) {
      .sec-feature-inner {
        padding: 0 4%; } }
  .sec-feature .sec-ttl span {
    position: relative; }
  .sec-feature .sec-ttl .point {
    position: absolute;
    left: -60px; }

.feature-list {
  margin: 80px auto 100px; }

.feature-item {
  display: flex;
  justify-content: space-between; }
  .feature-item:not(:last-child) {
    margin-bottom: 100px; }
  .feature-item:nth-of-type(2n) {
    flex-direction: row-reverse; }
    .feature-item:nth-of-type(2n) .item-ttl {
      border-radius: 50px 0 0 50px; }
  .feature-item .item-head {
    width: 48%; }
  .feature-item .item-body {
    width: 48%;
    text-align: center; }
  .feature-item .item-ttl {
    background: #00A63C;
    color: #fff;
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-radius: 0 50px 50px 0;
    padding: 10px 30px;
    margin: 0 auto 40px; }
  .feature-item .item-txt {
    line-height: 1.8;
    letter-spacing: 0.05em; }
  .feature-item .item-what {
    margin: 60px auto 0;
    color: #00A63C;
    border: 3px dashed #00A63C;
    border-radius: 15px;
    padding: 30px 30px;
    letter-spacing: 0.05em; }
    .feature-item .item-what .what-ttl {
      font-size: 1.8rem;
      margin-bottom: 25px; }
    .feature-item .item-what .what-txt {
      line-height: 1.8; }

@media screen and (max-width: 768px) {
  .feature-item {
    display: block; }
    .feature-item .item-head {
      width: 100%; }
    .feature-item .item-body {
      width: 100%;
      margin-top: 40px; }
    .feature-item .item-what {
      margin: 30px auto 0; } }
@media screen and (max-width: 576px) {
  .feature-list {
    margin: 40px auto 60px; }

  .feature-item:not(:last-child) {
    margin-bottom: 60px; }
  .feature-item .item-ttl {
    font-size: 2.2rem;
    padding: 10px 20px;
    margin: 0 auto 25px; } }
.feature-case-list .case-item {
  position: relative; }
  .feature-case-list .case-item:not(:last-child) {
    margin-bottom: 100px; }
.feature-case-list .case-num {
  background: #00A63C;
  color: #fff;
  text-align: center;
  max-width: 350px;
  width: 100%;
  margin: 0 auto 25px;
  padding: 10px 0;
  border-radius: 30px;
  font-size: 1.8rem; }
.feature-case-list .case-ttl {
  text-align: center;
  color: #00A63C;
  margin-bottom: 60px; }
  .feature-case-list .case-ttl span {
    font-size: 2.1rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: inline-block;
    padding: 10px 50px 20px;
    position: relative; }
    .feature-case-list .case-ttl span::before, .feature-case-list .case-ttl span::after {
      content: "";
      display: block;
      background-repeat: no-repeat;
      background-size: contain;
      position: absolute;
      width: 40px;
      height: 46px;
      bottom: 0; }
    .feature-case-list .case-ttl span::before {
      background-image: url("../img/taishin/balloonS-left.svg");
      left: 0; }
    .feature-case-list .case-ttl span::after {
      background-image: url("../img/taishin/balloonS-right.svg");
      right: 0; }
.feature-case-list .case-txt {
  line-height: 1.8;
  text-align: center; }
.feature-case-list .case-img {
  display: flex;
  justify-content: space-between;
  margin: 40px auto 40px; }
  .feature-case-list .case-img li {
    width: 48%; }

@media screen and (min-width: 1141px) {
  .feature-case-list .case-icon {
    position: absolute;
    right: 0;
    top: 100px; } }
@media screen and (max-width: 1140px) {
  .feature-case-list .case-icon {
    text-align: center;
    margin-bottom: 30px; } }
@media screen and (max-width: 767px) {
  .feature-case-list .case-ttl span {
    font-size: 2rem;
    padding: 10px 30px; }
    .feature-case-list .case-ttl span::before, .feature-case-list .case-ttl span::after {
      width: 30px;
      height: 36px; }
  .feature-case-list .case-img {
    margin: 20px auto 20px; } }
@media screen and (max-width: 576px) {
  .feature-case-list .case-item:not(:last-child) {
    margin-bottom: 60px; }
  .feature-case-list .case-ttl {
    line-height: 1.4;
    margin-bottom: 30px; }
    .feature-case-list .case-ttl span {
      padding: 0 30px; }
  .feature-case-list .case-txt {
    text-align: left; } }
.sec-works-ttl {
  max-width: 495px;
  width: 90%;
  margin: 0 auto 50px;
  background: #00A63C;
  color: #fff;
  text-align: center;
  padding: 20px 0;
  position: relative; }
  .sec-works-ttl::before, .sec-works-ttl::after {
    width: 0;
    height: 0;
    border-style: solid;
    content: "";
    display: block;
    position: absolute;
    top: 0; }
  .sec-works-ttl::before {
    left: 0;
    border-width: 59px 0 59px 35px;
    border-color: transparent transparent transparent #fff; }
  .sec-works-ttl::after {
    right: 0;
    border-width: 59px 35px 59px 0;
    border-color: transparent #fff transparent transparent; }
  .sec-works-ttl .en {
    font-size: 4.8rem; }
  .sec-works-ttl .ja {
    font-size: 2.1rem;
    font-weight: bold;
    margin-top: 10px; }

@media screen and (max-width: 576px) {
  .sec-works-ttl::before {
    border-width: 52px 0 52px 25px; }
  .sec-works-ttl::after {
    border-width: 52px 25px 52px 0; }
  .sec-works-ttl .en {
    font-size: 3.6rem; }
  .sec-works-ttl .ja {
    font-size: 1.8rem; } }
.works-list {
  max-width: 720px;
  margin: 0 auto;
  padding: 0; }
  .works-list .slick-list {
    overflow: visible; }
  .works-list .slick-slide {
    padding: 0 25px; }
  .works-list .slick-next,
  .works-list .slick-prev {
    background: #1f2c5c;
    z-index: 1;
    padding: 20px 5px;
    width: auto;
    margin-top: -50px; }
    .works-list .slick-next::before,
    .works-list .slick-prev::before {
      font-family: FontAwesome;
      font-size: 3.6rem;
      line-height: inherit;
      opacity: 1; }
  .works-list .slick-next::before {
    content: "\f105"; }
  .works-list .slick-prev::before {
    content: "\f104"; }

.works-item {
  max-width: 720px;
  width: 100%;
  margin: 0 auto; }
  .works-item a {
    display: block; }
  .works-item a:hover {
    opacity: 0.5; }
    .works-item a:hover .works-item-img img {
      transform: scale(1.2); }
  .works-item-img {
    overflow: hidden; }
    .works-item-img img {
      width: 100%;
      height: 480px;
      object-fit: cover;
      font-family: "object-fit: cover;";
      transition: 0.4s; }
  .works-item-cat {
    display: flex;
    flex-wrap: wrap; }
  .works-item .works-tag {
    display: inline-block;
    padding: 10px 20px;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    margin-top: 20px; }
    .works-item .works-tag.tag-house {
      background: #1f2c5c; }
    .works-item .works-tag.tag-reform {
      background: #2a3b42; }
  .works-item .works-item-cat .works-tag:not(:last-child) {
    margin-right: 15px; }
  .works-item-ttl {
    margin-top: 20px;
    font-size: 2.1rem;
    font-weight: bold;
    color: #1f2c5c;
    line-height: 1.6;
    position: relative;
    overflow: hidden;
    height: 3.2em; }
    .works-item-ttl::before, .works-item-ttl::after {
      position: absolute;
      background: #fff; }
    .works-item-ttl::before {
      content: "...";
      bottom: 0;
      right: 0;
      padding: 0 0.2em; }
    .works-item-ttl::after {
      content: "";
      height: 100%;
      width: 100%; }
  .works-item-txt {
    font-size: 2.1rem; }

@media screen and (max-width: 768px) {
  .works-list {
    max-width: 420px; }

  .works-item {
    max-width: 420px; }
    .works-item-img img {
      height: 245px; }
    .works-item .works-tag {
      padding: 7px 10px;
      font-size: 1.4rem;
      margin-top: 10px; }
    .works-item .works-item-cat .works-tag:not(:last-child) {
      margin-right: 10px; }
    .works-item-ttl {
      font-size: 1.8rem; }
    .works-item-txt {
      font-size: 1.6rem; } }
@media screen and (max-width: 576px) {
  .works-list {
    max-width: 350px; }
    .works-list .slick-next {
      right: 0; }
    .works-list .slick-prev {
      left: 0; }

  .works-item {
    max-width: 350px; }
    .works-item-img img {
      height: 195px; }
    .works-item .works-tag {
      padding: 7px 7px;
      font-size: 1.2rem; }
    .works-item .works-item-cat .works-tag:not(:last-child) {
      margin-right: 5px; }
    .works-item-ttl {
      margin-top: 10px; } }

/*# sourceMappingURL=taishin.css.map */
