* {
  margin: 0;
  padding: 0;
}

article .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px;
}

@media screen and (max-width: 768px) {
  article .flex {
    padding: 0;
  }
}

article h2 {
  position: relative;
  font-size: 2.25em;
  text-align: center;
  line-height: 1em;
  letter-spacing: 0.1em;
  color: #000000;
  font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
  display: block;
  width: 100%;
  margin-bottom: 55px;
}

@media screen and (max-width: 768px) {
  article h2 {
    font-size: 1.5rem;
  }
}

article h2:before {
  content: "";
  display: block;
  width: 50px;
  height: 5px;
  background: #ede1d3;
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -25px;
}

article h2:after {
  content: "";
  display: block;
  width: 50px;
  height: 5px;
  background: #ede1d3;
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -25px;
}

article h3 {
  margin: 0 auto 30px;
  max-width: 900px;
  color: #fff;
  background: #cc9933;
  font-size: 1.3rem;
  line-height: 45px;
  text-align: center;
}

article h4 {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
  article h4 {
    font-size: 1.1rem;
  }
}

article div {
  margin-bottom: 60px;
}

article figure {
  margin: 0;
}

article section {
  margin: 0 auto;
  max-width: 900px;
  width: 90%;
  font-size: 0.9em;
  line-height: 1.75em;
}

article section h5 {
  font-size: 1.3rem;
  font-weight: bold;
  margin: 15px 0;
}

article section img {
  display: block;
  width: 85%;
  margin: 0 auto 15px;
}

article section p {
  margin-bottom: 30px;
}

article section div {
  margin-bottom: 30px;
}

article .w_100 {
  width: 100%;
}

article .w_90 {
  width: 90%;
}

article .w_80 {
  width: 80%;
}

@media screen and (max-width: 768px) {
  article .w_80 {
    width: 90%;
  }
}

article .w_60 {
  width: 60%;
}
@media screen and (max-width: 768px) {
  article .w_60 {
  width: 100%;
}
}

article .w_40 {
  width: 40% ;
}

@media screen and (max-width: 768px) {
  article .w_40 {
    width: 100% !important;
  }
}

article ul {
  list-style: none;
  padding-left: 21px;
}

article ul li {
  position: relative;
  margin-bottom: 15px;
}

article ul li:before {
  position: absolute;
  content: attr(data-text) "";
  top: 0;
  left: -20px;
}

article .border_y {
  border: solid 2px #cc9933;
  padding: 15px 30px;
}

@media screen and (max-width: 768px) {
  article .border_y {
    padding: 10px 15px;
  }
}

article .border-btm-y {
  border-bottom: solid 2px #cc9933;
}

article .border_r {
  border-right: solid 2px #cc9933;
}

@media screen and (max-width: 768px) {
  article .border_r {
    border-right: none;
  }
}

article .intro {
  margin-bottom: 60px;
}

article .intro .w_80 {
  margin: 0 auto 30px;
}

article .intro .flex {
  width: 90%;
  margin: 0 auto;
  left: 0;
}

article .intro .flex a {
  display: block;
  width: calc((100% - 20px) / 3);
  height: 45px;
  color: #fff;
  background: #cc9933;
  line-height: 45px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  article .intro .flex a {
    width: 100%;
    margin-bottom: 5px;
    font-size: 1rem;
  }
}

article .sec01 .flex {
  margin: 0 auto;
}

article .sec01 figure {
  width: 48%;
  margin: 0;
}

article .sec01 figure img {
  width: 90%;
}

article .sec01 .item1 {
  margin-bottom: 30px;
}

article .sec01 .item1 h4 {
  width: 55%;
}

@media screen and (max-width: 768px) {
  article .sec01 .item1 h4 {
    width: 100%;
  }
}

article .sec01 .item1 img {
  width: 40%;
}

@media screen and (max-width: 768px) {
  article .sec01 .item1 img {
    width: 90%;
  }
}

article .sec01 .item2 h4 {
  margin: 0;
}

article .sec01 .item2 h4 span {
  font-size: 0.9rem;
}

@media screen and (max-width: 768px) {
  article .sec01 .item3_1 .flex {
    padding: 0;
    margin-bottom: 15px;
  }
}

article .sec01 .item3_1 .flex p {
  width: 100%;
}

article .sec01 .item3_1 .flex div {
  text-align: center;
  margin-bottom: 0;
}

article .sec01 .item3_1 .flex div:nth-of-type(1) {
  width: 30%;
}

@media screen and (max-width: 768px) {
  article .sec01 .item3_1 .flex div:nth-of-type(1) {
    width: 100%;
    margin-bottom: 30px;
  }
}

article .sec01 .item3_1 .flex div:nth-of-type(1) img {
  margin-bottom: 35px;
}

@media screen and (max-width: 768px) {
  article .sec01 .item3_1 .flex div:nth-of-type(1) img {
    width: 60%;
    margin-bottom: 15px;
  }
}

article .sec01 .item3_1 .flex div:nth-of-type(2) {
  width: 60%;
}

@media screen and (max-width: 768px) {
  article .sec01 .item3_1 .flex div:nth-of-type(2) {
    width: 100%;
  }
}

article .sec01 .item3_1 .flex div:nth-of-type(2) figure {
  width: 45%;
  margin: 0;
}

article .sec01 .item3_1 .flex div:nth-of-type(2) figure:nth-of-type(1) img {
  width: 55%;
}

article .sec01 .item3_1 .flex div:nth-of-type(2) figure:nth-of-type(2) img {
  width: 55%;
  margin-bottom: 30px;
}

article .sec01 .item3_1 .flex div:nth-of-type(2) figure:nth-of-type(3) img {
  width: 25%;
}


article .sec01 .item3_1 .flex div figure {
  margin: 0 auto 15px;
}

article .sec01 .item3_2 {
  margin-bottom: 0;
  flex-wrap: nowrap;
}

article .sec01 .item3_2 .flex{
  padding: 0 2rem 0 0;

}
@media screen and (max-width: 768px) {
article .sec01 .item3_2 {
  flex-wrap: wrap;
}
article .sec01 .item3_2 .flex{
  padding: 0;
}
}

article .sec01 .item3_2 .flex {
  width: 60%;
}

@media screen and (max-width: 768px) {
  article .sec01 .item3_2 .flex {
    width: 100%;
  }
}

article .sec01 .item3_2 .flex figure {
  text-align: center;
  width: 20%;
  padding: 0;
}

@media screen and (max-width: 768px) {
  article .sec01 .item3_2 .flex figure {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  article .sec01 .item3_2 .flex figure img {
    width: 25%;
    margin: 0 auto;
  }
}

article .sec01 .item3_2 .flex figure figcaption {
  color: #9d3122;
}

@media screen and (max-width: 768px) {
  article .sec01 .item3_2 .flex figure figcaption {
    font-size: 1rem;
    margin-bottom: 15px;
  }
}

article .sec01 .item3_2 .flex img {
  width: 100%;
}

article .sec01 .item3_2 .flex p {
  width: 75%;
}

@media screen and (max-width: 768px) {
  article .sec01 .item3_2 .flex p {
    width: 100%;
  }
}

article .sec01 .item3_2 figure {
  width: 40%;
  padding: 0 10px;
}

@media screen and (max-width: 768px) {
  article .sec01 .item3_2 figure {
    width: 100%;
  }
}

article .sec01 .item3_2 figure img {
  width: 70%;
}

article .sec01 .item3_2 figure figcaption {
  text-align: center;
}

article .sec01 .item4 .item4_1 .flex ul {
  width: 45%;
}

@media screen and (max-width: 768px) {
  article .sec01 .item4 .item4_1 .flex ul {
    width: 100%;
    order: 2;
  }
}

article .sec01 .item4 .item4_1 .flex img {
  width: 47%;
  margin: 0;
}

@media screen and (max-width: 768px) {
  article .sec01 .item4 .item4_1 .flex img {
    width: 100%;
    order: 1;
    margin-bottom: 15px;
  }
}

article .sec01 .item5 .flex p {
  width: 55%;
}

@media screen and (max-width: 768px) {
  article .sec01 .item5 .flex p {
    width: 100%;
  }
}

article .sec01 .item5 .flex img {
  width: 35%;
  margin: 0 0 0 auto;
}

@media screen and (max-width: 768px) {
  article .sec01 .item5 .flex img {
    width: 80%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  article .sec02 .item1 img {
    width: 100%;
  }
}

article .sec02 .item2 h4 {
  margin: 0;
}

article .sec02 .item3 .item3_1 figure {
  width: 45%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_1 figure {
    width: 100%;
  }
}

article .sec02 .item3 .item3_1 figcaption {
  position: relative;
  padding: 0 15px;
}

article .sec02 .item3 .item3_1 figcaption:before {
  position: absolute;
  content: attr(data-text) "";
  top: 0;
  left: -5px;
}

article .sec02 .item3 .item3_2 .flex p {
  width: 100%;
  margin-bottom: 15px;
}

article .sec02 .item3 .item3_2 .flex div:nth-of-type(1) {
  width: 55%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .flex div:nth-of-type(1) {
    width: 100%;
  }
}

article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) {
  width: 35%;
  align-items: stretch;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) {
    width: 100%;
    margin-bottom: 45px;
  }
}

article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) figure {
  position: relative;
  width: 48%;
}

article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) figure:nth-of-type(1) img {
  width: 25%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) figure:nth-of-type(1) img {
    width: 20%;
  }
}

article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) figure:nth-of-type(2) img {
  width: 65%;
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) figure:nth-of-type(2) img {
  margin-top: 0;
}
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) figure:nth-of-type(2) img {
    width: 55%;
  }
}

article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) figure figcaption {
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  text-align: center;
  position: absolute;
  bottom: -38%;
  left: 50%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) figure figcaption {
    position: static;
    display: block;
    text-align: center;
    transform: initial;
  }
}

@media screen and (max-width: 450px) {
  article .sec02 .item3 .item3_2 .flex div:nth-of-type(2) figure figcaption {
    bottom: -30%;
  }
}

article .sec02 .item3 .item3_2 figure {
  width: 48%;
}

article .sec02 .item3 .item3_2 figure:nth-of-type(2) img {
  width: 65%;
}

article .sec02 .item3 .item3_2 figure:nth-of-type(3) img {
  width: 55%;
}

article .sec02 .item3 .item3_2 figure figcaption {
  text-align: center;
  line-height: inherit;
}

article .sec02 .item3 .item3_2 .attention {
  margin-bottom: 0;
}

article .sec02 .item3 .item3_2 .attention div {
  margin-bottom: 0;
}

article .sec02 .item3 .item3_2 .attention figcaption {
  text-align: left;
}

article .sec02 .item3 .item3_2 .attention .w_60 {
  width: 60%;
  align-items: center;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .attention .w_60 {
    width: 100%;
  }
}

article .sec02 .item3 .item3_2 .attention .w_60 figure:nth-of-type(1) {
  width: 20%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .attention .w_60 figure:nth-of-type(1) {
    width: 100%;
  }
}

article .sec02 .item3 .item3_2 .attention .w_60 figure:nth-of-type(1) figcaption {
  color: #9d3122;
  text-align: center;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .attention .w_60 figure:nth-of-type(1) figcaption {
    font-size: 1rem;
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .attention .w_60 figure:nth-of-type(1) img {
    width: 25%;
    margin: 0 auto;
  }
}

article .sec02 .item3 .item3_2 .attention .w_60 figure:nth-of-type(2) {
  width: 75%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .attention .w_60 figure:nth-of-type(2) {
    width: 100%;
  }
}

article .sec02 .item3 .item3_2 .attention .w_60 figure:nth-of-type(2) img {
  width: 95%;
}

article .sec02 .item3 .item3_2 .attention .w_40 {
  width: 40%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .attention .w_40 {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .attention .w_40 figcaption {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_2 .attention .w_40 img {
    width: 60%;
  }
}

article .sec02 .item3 .item3_3 {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_3 .flex .w_40 {
    width: 70% !important;
  }
}

article .sec02 .item3 .item3_3 .col3 {
  align-items: center;
  padding: 0 60px;
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_3 .col3 {
    padding: 0;
  }
}

article .sec02 .item3 .item3_3 .col3 img {
  width: 32%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item3 .item3_3 .col3 img {
    width: 70%;
  }
}

@media screen and (max-width: 768px) {
  article .sec02 .item4 .flex {
    margin-bottom: 0;
  }
}

article .sec02 .item4 .flex ul {
  width: 45%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item4 .flex ul {
    width: 100%;
  }
}

article .sec02 .item4 .flex .flex {
  width: 55%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item4 .flex .flex {
    width: 100%;
  }
}

article .sec02 .item4 .flex .flex img {
  width: 50%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item4 .flex .flex img {
    width: 90%;
  }
}

article .sec02 .item4 .col3 {
  align-items: stretch;
  padding: 0 60px;
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  article .sec02 .item4 .col3 {
    padding: 0;
  }
}

article .sec02 .item4 .col3 div {
  width: 32%;
}

@media screen and (max-width: 768px) {
  article .sec02 .item4 .col3 div {
    width: 70%;
  }
}

article .sec03{
  margin: 0 auto 30px;
}

article .sec03 figure {
  margin: 0;
  width: 48%;
}

@media screen and (max-width: 768px) {
  article .sec03 figure {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  article .sec03 figure figcaption {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 768px) {
  article .sec03 figure img {
    margin-bottom: 30px;
  }
}

.flex div.w48 {
  width: 48%;
}

@media screen and (max-width: 768px) {
  .flex div.w48 {
    width: 90%;
    margin: 0 auto 30;
  }
}

.inspection_button {
  display: block;
  text-align: center;
  text-decoration: none;
  max-width: 450px;
  width: 90%;
  margin: 0 auto 30px;
  background: #9e311c;
  color: #fff;
  border-radius: 30px;
  padding: 12px 0;
}

.focus {
  background: #ede1d3;
  border-radius: 5px;
  font-weight: 700;
  line-height: 1.5em;
  padding: 1rem;
  margin: 0;
}

article .sec04 .button_y{
  position: relative;
  margin: 0 auto;
  width: 90%;
  max-width: 480px;
  
}

article .sec04 .button_y a{
  display: block;
  position: relative;
  
  width: 100%;
  height: 100%;
  background: #cc9933;
  padding: 1rem;
  text-align: center;
  
  color: #fff;
  font-weight: 600;
}

.item3_4{
  padding: 2rem 0 !important;
  margin: 0 !important;
}

.c-item3_2_div{
  width: 45%;
  justify-content: flex-start;

}

.c-item3_2_div img{
  width: initial !important;
  height: 100px;

}

@media screen and (max-width: 768px) {
  .c-item3_2_div{
    width: 100%;
  }
}