/*タイトルエリア*/
.ribbon3 {
  display: inline-block;
  position: relative;
  height: 60px;
  line-height: 60px;
  text-align: center;
  padding: 7px 0;
  font-size: 18px;
  background: #acd879;
  color: #FFF;
  box-sizing: border-box;
}

.ribbon3 h4 {
  margin: 0;
  padding: 0 30px;
  border-top: dashed 2px rgba(255, 255, 255, 0.5);
  border-bottom: dashed 2px rgba(255, 255, 255, 0.5);
  line-height: 42px;
}

.ribbon3:before, .ribbon3:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon3:before {
  /*左の山形*/
  top: 0;
  left: 0;
  border-width: 30px 0px 30px 15px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.ribbon3:after {
  /*右の山形*/
  top: 0;
  right: 0;
  border-width: 30px 15px 30px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

/*ファーストヴュー画像エリア*/
.FV {
  width: 1000px;
  margin: auto;
}
img {
  width: 100%;
}

.index-content {
  background: #acd879;
  width: 800px;
  margin: auto;
}
.box1 {
  padding: 0.5em 1em;
  margin: 2em 0;
  font-weight: bold;
  border: solid 2px #000000;
}
.box1 p {
  margin: 0; 
  padding: 0;
}

.flex-container {
  display: flex;
  flex-wrap: wrap;/* flexアイテムを折り返す（複数行に配置する）*/
  justify-content: center;
}

.flex-item {
  width: 35%; /* 列の幅を均等に45%45%で分配 */
  margin: 10px;
  padding: 20px;
  box-sizing: border-box; /* ボックスモデルを維持するために必要なスタイル */
}
li{
  list-style:none;/*黒丸を消す*/
}

/*DETAILエリア*/
.text {
  display: flex;
  justify-content: center;
}
.text-box1 {
  position:relative;
  display:inline-block;
}
.text-box1::after{
  content:"";
  display:inline-block;
  width:3px; /*線の太さ*/
  height: 150px;  /*線の長さ*/
  background-color:#0097A7;
  position:absolute;
  top:-2px;
  right:-10px;
}

.text-box1 {
  padding-right: 40px;
}
.text-box2 {
  padding-left: 40px;
}
.foot {
  padding-top: 50px;
  text-align: center;
}
h2 {
  text-align: center;
}