@charset "utf-8";

h2.first {
    margin: 50px 0 15px 0;
    padding: 0;
    border: 0;
    background-image: none;
    border-bottom: solid 3px #cccccc;
    position: relative;
    font-size: 32px;
    color: #007a43;
    -webkit-border-radius: 0px;
}
h2.first::after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px 
    #007a43;
    bottom: -3px;
    width: 20%;
}
.re_btn{
  text-align: center;
}
.btn-flat-logo {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 0.5em 1em;
  text-decoration: none;
  color: #FFF;
  background: #00bcd4;
  transition: .4s;
}
.btn-flat-logo:hover {
  background: #1ec7bb;
}
.needs ul {
  border: solid 2px #e1e1e1;/*線の設定*/
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
}
.needs ul li a{
  display: block;
  color: #333;
  text-decoration: none;
  font-size: 20px;
}
.needs ul li a:hover{
color: #fe521e;
text-decoration: none;
}

.needs ul li {
  line-height: 1.5;
  padding: 0.5em 0 0.2em 0;
  list-style-type: none!important;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 0.5em;
}

.needs ul li:before {
  font-family: FontAwesome;
  content: "\f075";/*アイコンの種類*/
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #007a43; /*アイコン色*/
}
.l_fv {
    background-color: 
    #e1e1e1;
    border-radius: 6px;
    margin: 20px auto;
    padding: 10px;
}
.l_fv_box {
    background-color: #fff;
    background-image: url(../img/flow_fv_bg.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    padding: 16px 16px 40px 16px;
    box-shadow: 0.5px 0.5px 2px 1px #777 inset;
}
.l_fv_box p {
    width: 65%;
    font-size: 22px;
}
@media screen and (max-width: 768px){
.left_contents {
  float: none;
  width: 96%;
  margin: 0 auto;
}
h2.first {
  margin: .5em 0 15px 0;
  font-size: 30px;
}
.l_fv_box {
  background-size: cover;
  padding: 10px;
}
.l_fv_box img{
  width: 100%;
}
.l_fv_box p {
  font-size: 18px;
  width: 98%;
  padding: 0;
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
            -1px 1px 0 #FFF, 1px -1px 0 #FFF,
            0px 1px 0 #FFF,  0-1px 0 #FFF,
            -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.sp_fv h2 {
    margin: 0.5em 0.2em 0.7em 0.2em;
    border-left: 3px solid #006739;
    font-size: 120%;
    color: #000;
    text-align: left;
    border-bottom: 1px solid #959595;
    padding: 0.2em 0 0 0.3em;
}
.sp_clomun ul {
    border: solid 2px #e1e1e1;
    padding: 0.5em 1em 0.5em 2.3em;
    position: relative;
}
.sp_clomun ul li:before {
    font-family: FontAwesome;
    content: "\f075";
    position: absolute;
    left: 1em;
    color: #007a43;
}
.sp_clomun ul li {
    line-height: 1.5;
    padding: 0.5em 0 0.2em 0;
    list-style-type: none!important;
    border-bottom: 1px dotted #ccc;
    margin-bottom: 0.5em;
    text-align: left;
}
.sp_clomun ul li a {
    display: block;
    color: #333;
    text-decoration: none;
}
}
@media screen and (max-width: 480px){
.col_4 {
    width: 48%;
}
}

.details h2 {
    padding: 0;
    border: 0;
    background-image: none;
    -webkit-border-radius: 0px;
    border-bottom: 1px solid #000;
    margin: 30px 0 8px 0;
    font-size: 1.3em;
}

#jump {
    border: 1px solid 
    #ccc;
    padding: 0.5em 1em;
    margin: 1em auto;
    width: 95%;
}
#jump ul {
    list-style: none;
}
#jump ul li {
    border-bottom: 1px dotted #ccc;
    margin-bottom: 5px;
    font-size: 18px;
}
#jump ul li a {
    text-decoration: none;
    color: 
    #3f6898;
}
.content h2 {
    position: relative;
    color: #fff;
    background: #777;
    font-size: 20px;
    line-height: 1;
    text-shadow: 1px 1px 1px #000;
    border: 1px solid #777;
    margin: 2em 0 15px 0;
    padding: 15px 0 12px 10px;
    border-radius: 3px;
    width: 98.5%;
}
.content h2::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 30px;
    height: 0;
    width: 0;
    border: 10px solid transparent;
    border-top-color: transparent;
    border-top-style: solid;
    border-top-width: 10px;
    border-top: 10px solid #777;
}
.content h3 {
    padding: 0;
    border: 0;
    background-image: none;
    -webkit-border-radius: 0px;
    position: relative;
    margin: 1em 0 0.3em;
    padding: 0.7em 0 0.7em 1em;
    border: 2px solid #B92A2C;
    font-size: 1.2em;
    font-weight: bold;
}
.content h3::before {
    content: "";
    position: absolute;
    background: 
    #B92A2C;
    top: 50%;
    left: 0.5em;
    margin-top: -15px;
    height: 30px;
    width: 8px;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
}
