@charset "utf-8";

/* structure */

/* 共通 */
.ttl {
  max-width: 320px;
  width: 100%;
  margin: 0 auto;
}

.sub_ttl {
  font-size: 20px;
  margin-top: 30px;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
}

.box {
  margin-bottom: 100px;
}

.box.last {
  margin-bottom: 0;
}

@media only screen and (max-width: 640px) {
  .ttl {
    max-width: 260px;
    width: 100%;
    margin: 0 auto;
  }

  .sub_ttl {
    font-size: 16px;
    margin-top: 20px;
    line-height: 1.8rem;
  }

  .box {
    margin-bottom: 80px;
  }
}


/* main */

.main {
  background-image: url(../img/mv-pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 13% 0;
  position: relative;
}

.main_ttl {
  max-width: 605px;
  width: 100%;
  margin: 0 auto;
}

.midashi h2 {
  font-size: 23px;
  line-height: 2.6rem;
  letter-spacing: 0.1em;
  padding-top: 90px;
  text-align: center;
}

.midashi p {
  font-size: 16px;
  line-height: 2rem;
  letter-spacing: 0.1em;
  padding-top: 20px;
  padding-bottom: 80px;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .main {
    background-image: url(../img/mv-sp.jpg);
  }

  .main_ttl {
    max-width: 253px;
    width: 100%;
    margin: 0 auto;
  }

  .midashi h2 {
    font-size: 14px;
    line-height: 1.8rem;
    letter-spacing: 0.1em;
    padding-top: 50px;
  }

  .midashi p {
    font-size: 12px;
    line-height: 1.5rem;
    letter-spacing: 0.1em;
    padding-top: 12px;
    padding-bottom: 50px;
  }


}

/* ----------------------------------
安心安全01
---------------------------------- */
#content_Wrap {
  padding-bottom: 100px;
}

figure {
  position: relative;
}

/*基本構造*/

.structure-flex {
  flex-wrap: wrap;
  justify-content: space-between;
}
.structure-flex .image {
  width: 38.3%;
}
.structure-flex .text {
  width: 58.3%;
}
.str-item:nth-of-type(n+2) {
  margin-top: 20px;
}

.str-ttl {
  display: flex;
  align-items: center;
  color: #fff;
  background: #153264;
  padding: 10px 0 10px 20px;
}

.str-ttl .icon {
  background: #a2905a;
  border: 1px solid #fff;
  border-radius: 50vh;
  width: 29px;
  height: 29px;
  margin-right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.concrete-item {
  flex-wrap: wrap;
  justify-content: space-between;
  background: #97a8c7;
  padding: 20px 20px;
  margin-top: 20px;
}

.concrete-item .text {
  width: 58%;
  color: #fff;
}

.concrete-item .image {
  width: 38%;
}

.concrete-ttl {
  font-size: 22px;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
}

.star {
  display: inline-block;
  font-size: 13px;
  color: #fff;
  background: #153264;
  padding: 8px 8px;
  margin-left: 20px;
}

.item-ttl span.star {
  flex: 1;
  text-align: center;
}

.floor-flex {
  flex-wrap: wrap;
  justify-content: space-between;
}

.floor-flex .text {
  width: 44%;
}

.floor-flex .image {
  width: 52%;
}

.floor-ttl {
  color: #fff;
  text-align: center;
  background: #153264;
  padding: 10px 0;
}

.guarantee-item {
  border: 2px solid #153264;
  padding: 20px 20px;
}

.guarantee-ttl {
  font-size: 20px;
  color: #fff;
  background: #153264;
  text-align: center;
  padding: 8px 0;
}

.guarantee-ttl span {
  display: inline-block;
  font-size: 0.7em;
  margin-right: 15px;
}

.structure-box .column2 li.bgWh {
  background: #fff;
}

/* ----------------------------------
安心安全02
---------------------------------- */
.item-box {
  width: 100%;
}

.safety-box h4 {
/*  color: #333;
  background: #eae4d1;*/
  font-size: 20px;
  /*padding: 16px 0;*/
  padding: 0 0 15px;
  border-bottom: 1px solid #000;
}

.safety-box .se01,
.safety-box .se02 {
  margin-top: 20px;
}

.flex-0102{
  display: flex;
  flex-direction: column;
  /*justify-content: space-between;*/
}

.safety-box .se09{
  margin-top: 20px;
}

.next{
  width: 50px;
}

.setsubi-flex {
  flex-wrap: wrap;
  justify-content: space-between;
}

.setsubi-flex .text {
  width: 48%;
}

.setsubi-flex .image {
  width: 48%;
}

.secom {
  display: inline-block;
  max-width: 90%;
  width: 150px;
  margin-right: 20px;
}

.secom01-flex {
  flex-wrap: wrap;
  justify-content: space-between;
}

.secom01-flex .image {
  width: 20%;
}

.secom01-flex .text {
  width: 78%;
}

.secom01-flex .text .item-ttl {
  margin-top: 0;
}

.secom02-flex {
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 40px;
}

.secom02-flex .interphone {
  flex-wrap: wrap;
  justify-content: space-between;
  width: 58.3%;
}

.secom02-flex .interphone .image {
  width: 20%;
}

.secom02-flex .interphone .text {
  width: 76%;
}

.secom02-flex .interphone .text .item-ttl {
  margin-top: 0;
}

.secom02-flex .camera {
  flex-wrap: wrap;
  justify-content: space-between;
  width: 37.7%;
}

.secom02-flex .camera .image {
  width: 36%;
}

.secom02-flex .camera .text {
  width: 60%;
}

.secom02-flex .camera .text .item-ttl {
  margin-top: 0;
}

.sec-system {
  max-width: 800px;
  margin: 60px auto 0;
}

.shibutani {
  display: inline-block;
  max-width: 90%;
  width: 148px;
  margin-right: 20px;
  padding: .5rem 0;
  mix-blend-mode: multiply;
}

.tebra-flex {
  flex-wrap: wrap;
  justify-content: space-between;
}

.tebra-flex .left {
  width: 60%;
}

.tebra-flex .right {
  width: 35%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.tebra-flex figure {
  margin-top: 20px;
}

/*.tebra-flex .cap_Txt{
  bottom: 0px;
} */

.flex-tbr{
  display: flex;
  justify-content: space-between;
}

.flex-tbr figure{
  margin: 0;
}

.flex-tbr-l{
  width: 65%;
}
.flex-tbr-r{
  width: 30%;
  margin-top: 10px!important;
  background: #fff;
  padding-bottom: 10px;
}
/*.flex-tbr-r img{
  max-width: 100px;
}*/

.sec-list {
  /* flex-wrap: wrap; */
  justify-content: space-between;
  align-items: center;
  gap: 1%;
  position: relative;
}
.sec-list .cap_Txt {
  bottom: -15px;
}

.sec-list li {
  /* width: 32%; */
}

.sec-ttl {
  color: #fff;
  background: #153264;
  text-align: center;
  padding: 8px 0;
}

.sec-ttl span {
  font-size: 1.2em;
}

.sec-flex {
  flex-wrap: wrap;
  justify-content: space-between;
}

.sec-flex .text {
  width: 70%;
}

.sec-ttl small{
  font-size: 10px;
}

.sec-flex .image {
  width: 26%;
  margin-top: 10px;
}

.sec-item:nth-of-type(2) {
  margin-top: 60px;
}

.sec-flex02 {
  flex-wrap: wrap;
  justify-content: space-between;
}

.sec-flex02 .text {
  width: 60%;
}

.sec-flex02 .image {
  width: 36%;
}

.sec-flex02 figure {
  margin-top: 10px;
}

.sec-flex02 figure.se15 {
  width: 80%;
  margin: 10px auto 0 0;
  padding-bottom: 25px;
}
.sec-flex02 figure.se16 {
  padding-bottom: 25px;
}

.before-text {
  display: block;
  text-align: left;
}

.before-text .small {
  display: block;
  font-size: 13px;
  text-align: left;
  padding-top: 8px;
  line-height: 20px;
}

.before-text .small.pc-only {
  display: block;
}

.small.sp-only {
  display: none;
}


/*---------------------------
tab
---------------------------*/
@media only screen and (max-width: 1024px) {
  .sec-ttl {
    font-size: 12px;
    letter-spacing: 0.6px;
  }
}

/*---------------------------
sp
---------------------------*/
@media only screen and (max-width: 820px) {

/* ----------------------------------
安心安全01
---------------------------------- */
  .structure-flex .image {
    width: 100%;
  }

  .structure-flex .text {
    width: 100%;
    margin-top: 30px;
  }

  .concrete-item .text {
    margin-top: 0;
  }

  .concrete-item .image {
    margin-top: 20px;
  }

  .concrete-ttl {
    font-size: 18px;
  }

  .floor-flex .text {
    width: 100%;
  }

  .floor-flex .image {
    width: 100%;
    margin-top: 20px;
  }

  .item-ttl span {
    display: block;
    width: 100%;
  }

  .item-ttl span.star {
    width: 100%;
    margin-left: 0;
    margin-top: 5px;
  }

/* ----------------------------------
安心安全02
---------------------------------- */
  .safety-box .item-ttl {
    margin-top: 0;
  }

  .safety-box .copy{
    letter-spacing: .1rem;
  }
  .setsubi-flex .text {
    width: 100%;
  }

  .setsubi-flex .image {
    width: 100%;
    margin-top: 20px;
  }

  .secom {
    width: 100px;
    padding: .5rem 0;
  }

  .secom01-flex .image {
    width: 100%;
  }

  .secom01-flex .text {
    width: 100%;
    margin-top: 20px;
  }

  .secom02-flex .image {
    width: 100%;
  }

  .secom02-flex .text {
    width: 100%;
    margin-top: 20px;
  }

  .secom02-flex .interphone {
    width: 100%;
  }

  .secom02-flex .interphone .image {
    width: 100%;
  }

  .secom02-flex .interphone .text {
    width: 100%;
  }

  .secom02-flex .camera {
    width: 100%;
    margin-top: 40px;
  }

  .secom02-flex .camera .image {
    width: 100%;
  }

  .secom02-flex .camera .text {
    width: 100%;
  }

  .sec-system {
    margin: 20px auto 0;
  }

  .shibutani {
    width: 98px;
    margin-right: 10px;
  }

  .tebra-flex .left {
    width: 100%;
  }

  .tebra-flex .right {
    width: 100%;
    margin-top: 40px;
  }

  .flex-tbr-r img{
    max-width: 120px;
  }

  .sec-list {
    margin-top: 20px;
  }

  .sec-flex .text {
    width: 100%;
  }

  .sec-flex .image {
    width: 80%;
    margin: 20px auto 0;
  }

  .sec-flex02 .text {
    width: 100%;
  }

  .sec-flex02 .image {
    width: 100%;
  }

  .sec-flex02 .image .se16 {
    width: 80%;
    margin: 30px auto 0;
  }

  .before-text .small.pc-only {
    display: none;
  }

  .small.sp-only {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    order: 3;
  }

  h4.flex {
    flex-wrap: wrap;
  }

  .before-text {
    line-height: 1.3;
    font-feature-settings: "palt";
  }

  .sec-ttl {
    font-size: 14px;
  }

  .safety-box h4 {
    font-size: 16px;
    line-height: 1.3rem;
    padding: 10px 0;
  }

}