/* --------------------------------
 * box_1
 * -------------------------------- */
.box_1 {
  width: 100%;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 959px) {
  .box_1 {
    padding: 0 3%;
  }
}

.box_1 .text {
  text-align: left;
  line-height: 1.8;
}

@media screen and (max-width: 959px) {
  .box_1 .text {
    margin: 10% 0 0;
  }
}

.box_1 .h2 {
  font-size: 2.7rem;
  font-weight: bold;
  text-align: left;
  margin: 10% 0 3%;
  padding: 0 0 2%;
  border-bottom: 4px solid #ccc;
  position: relative;
  display: block;
  padding-top: 80px;
  margin-top: -40px;
}

@media screen and (max-width: 959px) {
  .box_1 .h2 {
    font-size: 2rem;
  }
}

.box_1 .h2:before {
  content: "";
  display: block;
  width: 50%;
  border-bottom: 4px solid #008f39;
  position: absolute;
  bottom: 0;
  margin-bottom: -4px;
}

.box_1 .view {
  width: 100%;
  height: 500px;
  padding: 3%;
  background-color: #f5f7f9;
}

@media screen and (max-width: 959px) {
  .box_1 .view {
    height: 250px;
  }
}

.box_1 .inner {
  width: 100%;
  margin: 0 0 5%;
}

@media screen and (max-width: 959px) {
  .box_1 .inner {
    margin: 0 0 6%;
  }
}

.box_1 .inner .text_1 {
  text-align: left;
  padding: 0 0 0 2%;
  border-left: 5px solid #008f39;
  font-size: 1.6rem;
}

@media screen and (max-width: 959px) {
  .box_1 .inner .text_1 {
    font-size: 1.3rem;
    line-height: 1.3;
  }
}

.box_1 .inner .pho_21 {
  width: 100%;
  margin: 0 0 2%;
}

.box_1 .inner .left {
  width: 48%;
  float: left;
  margin: 0;
}

.box_1 .inner .right {
  width: 48%;
  float: right;
  margin: 0;
}

/* --------------------------------
  * box_2
  * -------------------------------- */
.b_2b_2_out {
  display: block;
  padding-top: 80px;
  margin-top: -80px;
}

.box_2 {
  width: 100%;
  margin: 15% 0 0;
  padding: 0 0 5%;
  background-color: #f5f7f9;
}

@media screen and (max-width: 959px) {
  .box_2 {
    margin: 15% 0 0;
  }
}

.box_2 .pho_35 {
  width: 100%;
  margin: 0;
}

.box_2 .text {
  font-size: 2.7rem;
  font-weight: bold;
  margin: 8% 0 3%;
}

@media screen and (max-width: 959px) {
  .box_2 .text {
    font-size: 1.8rem;
    margin: 8% 0 5%;
  }
}

.box_2 .inner {
  width: 60%;
  margin: 0 auto 3%;
  padding: 3% 0;
  border: 3px solid #008f39;
  background-color: #fff;
}

@media screen and (max-width: 959px) {
  .box_2 .inner {
    width: 80%;
    padding: 4% 0;
  }
}

.box_2 .inner .text_1 {
  font-size: 2.3rem;
  width: 45%;
  padding: 2% 0;
  color: #fff;
  background-color: #008f39;
  border-radius: 50px;
  display: inline-block;
}

@media screen and (max-width: 959px) {
  .box_2 .inner .text_1 {
    font-size: 1.3rem;
  }
}

.box_2 .inner .text_2 {
  font-size: 2.7rem;
  color: #008f39;
  font-weight: bold;
  width: 40%;
  display: inline-block;
}

@media screen and (max-width: 959px) {
  .box_2 .inner .text_2 {
    font-size: 1.8rem;
    line-height: 1.6;
  }
}

.box_2 .inner_2 {
  width: 95%;
  margin: 5% auto 0;
  background-color: #fff;
  padding: 4% 2%;
}

@media screen and (max-width: 959px) {
  .box_2 .inner_2 {
    margin: 10% auto 0;
    padding: 0 0 5%;
  }
}

.box_2 .inner_2 .h3 {
  width: 100%;
  text-align: left;
  background-color: #008f39;
  color: #fff;
  font-size: 2.3rem;
  font-weight: bold;
  padding: 2%;
  border-radius: 10px 10px 0 0;
  margin: 0 0 3%;
}

@media screen and (max-width: 959px) {
  .box_2 .inner_2 .h3 {
    font-size: 1.6rem;
    border-radius: 0 0 0 0;
    padding: 2.5% 3%;
  }
}

.box_2 .inner_2 .left {
  width: 55%;
  float: left;
  margin: 0;
}

@media screen and (max-width: 959px) {
  .box_2 .inner_2 .left {
    width: 100%;
    float: none;
    padding:0 3%;
  }
}

.box_2 .inner_2 .left table {
  width: 100%;
  font-size: 1.6rem;
}

@media screen and (max-width: 959px) {
  .box_2 .inner_2 .left table {
    font-size: 1.4rem;
  }
}

.box_2 .inner_2 .left table th {
  width: 10%;
  vertical-align: top;
  color: #008f39;
  line-height: 1.8;
  padding: 0 0 1%;
}

.box_2 .inner_2 .left table td {
  width: 90%;
  text-align: left;
  line-height: 1.8;
  vertical-align: top;
  padding: 0 0 1%;
}

.box_2 .inner_2 .right {
  width: 43%;
  float: right;
  background-color: #f5f5f5;
  border-radius: 20px;
  padding: 3%;
}

@media screen and (max-width: 959px) {
  .box_2 .inner_2 .right {
    width: 95%;
    margin: 5% auto 0;
    padding:3% 3% 0;
    float: none;
  }
}

.box_2 .inner_2 .right .ipad {
  width: auto;
}

@media screen and (max-width: 959px) {
  .box_2 .inner_2 .right .ipad {
    width: 30%;
    display: inline-block;
    margin: 0;
  }
}

.box_2 .inner_2 .right .text_4 {
  font-size: 1.6rem;
  text-align: left;
  line-height: 1.8;
}

@media screen and (max-width: 959px) {
  .box_2 .inner_2 .right .text_4 {
      width: 65%;
    display: inline-block;
    vertical-align:top;
    font-size: 1.3rem;
  }
}

.box_2 .inner_2 .pho_36 {
  width: 100%;
  margin: 5% 0 10%;
}

.box_2 .b_3 {
  width: 30%;
  display: inline-block;
  vertical-align: top;
}

@media screen and (max-width: 959px) {
  .box_2 .b_3 {
    width: 95%;
    margin: 5% auto;
  }
}

.box_2 .b_3:nth-child(even) {
  margin: 0 2%;
}

.box_2 .pho_37 {
  width: 100%;
}

@media screen and (max-width: 959px) {
  .box_2 .pho_37 {
    width: 45%;
    float: left;
  }
}

.box_2 .text_3 {
  color: #008f39;
  line-height: 1.8;
}

@media screen and (max-width: 959px) {
  .box_2 .text_3 {
    padding: 18% 0 0;
  }
}

.pho_40 {
  width: 100%;
  margin: 5% 0 0;
}

/* --------------------------------
  * box_3
  * -------------------------------- */
.box_3 {
  width: 100%;
  margin: 0;
  padding: 0 0 8%;
  background-color: #f5f7f9;
}

.box_3 .inner {
  width: 95%;
  margin: 0 auto;
  background-color: #fff;
  padding: 5% 3% 3%;
  text-align: left;
}

.box_3 .inner .h3 {
  width: 100%;
  background-color: #008f39;
  color: #fff;
  font-size: 2.3rem;
  font-weight: bold;
  padding: 2%;
  border-radius: 10px 10px 0 0;
  margin: 0 0 3%;
}

@media screen and (max-width: 959px) {
  .box_3 .inner .h3 {
    font-size: 1.6rem;
    border-radius: 0 0 0 0;
    padding: 2.5% 3%;
  }
}

.box_3 .inner .in_1 {
  width: 100%;
  margin: 0;
  padding: 3%;
  margin: 0 0 2%;
  background-color: #f5f7f9;
}

.box_3 .inner .in_1 .text {
  font-weight: bold;
  padding: 0 0 2%;
  margin: 0 0 1.5%;
  display: block;
  border-bottom: 1px dotted #000;
}

.box_3 .inner .in_1 .text_1 {
  font-weight: bold;
  line-height: 1.8;
}

.box_3 .inner .in_1 .text_1 span {
  color: red;
}

.box_3 .inner .in_1 .text_2 {
  line-height: 1.8;
}

.box_3 .inner .text_3 {
  line-height: 1.8;
}

.box_3 .in_2 {
  width: 100%;
  margin: 2% 0 4%;
  border: 2px solid #000;
  border-radius: 10px;
  background-color: #fafae6;
}

.box_3 .in_2 .text_4 {
  display: block;
  color: #fff;
  font-weight: bold;
  background-color: #000;
  padding: 2% 5%;
}

.box_3 .in_2 .text_5 {
  font-size: 2.3rem;
  line-height: 1.8;
  padding: 2% 5%;
}

@media screen and (max-width: 959px) {
  .box_3 .in_2 .text_5 {
    font-size: 1.5rem;
  }
}

.box_3 .text_6 {
  padding: 0 0 2%;
  margin: 0 0 1.5%;
  border-bottom: 1px dotted #000;
}

.box_3 .text_7 {
  line-height: 1.8;
  margin: 0 0 10%;
}

.box_3 .text_8 {
  margin: 0 0 3%;
}

/* --------------------------------
 * box_4
 * -------------------------------- */
.box_4 {
  width: 100%;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 959px) {
  .box_4 {
    padding: 0 3%;
    margin: 0 0 15%;
  }
}

@media screen and (max-width: 959px) {
  .box_4 #c {
    display: block;
    padding-top: 50px;
    margin-top: -50px;
  }
}

@media screen and (max-width: 959px) {
  .box_4 #d {
    display: block;
    padding-top: 50px;
    margin-top: -50px;
  }
}

.box_4 .h2 {
  font-size: 2.7rem;
  font-weight: bold;
  text-align: left;
  margin: 0 0 3%;
  padding: 15% 0 2%;
  border-bottom: 4px solid #ccc;
  position: relative;
}

@media screen and (max-width: 959px) {
  .box_4 .h2 {
    font-size: 2rem;
  }
}

.box_4 .h2:before {
  content: "";
  display: block;
  width: 50%;
  border-bottom: 4px solid #008f39;
  position: absolute;
  bottom: 0;
  margin-bottom: -4px;
}

.box_4 a {
  transition: 0.5s;
}

.box_4 a:hover {
  opacity: 0.7;
}

.box_4 .pho_41 {
  width: 100%;
}

.box_4 .text {
  text-align: right;
  line-height: 1.8;
  margin: 0;
}
.waribiki {
    width:auto;
}
@media screen and (max-width: 959px) {
  .waribiki {
    width:95%;
    margin: 3% auto;
}
}