/*　　防犯カメラのフローです。　*/

* {
  box-sizing: border-box;
}

ul {
  padding: 0;
}
li {
  list-style-type: none;
}
dd {
		font-size:14px;
  margin-left: 0;
		text-align:left;
		line-height:24px;
}


.flow > li {
  position: relative;
}
.flow > li:not(:last-child) {
  margin-bottom: 40px;
}
.flow > li:not(:first-child)::before {
  content: "";
  height: 60px;
  display: block;
  border-left: 4px dotted #e5e5e5;
  position: absolute;
  top: -40px;
  left: -webkit-calc(10% + 30px - 2px);
  left: calc(10% + 30px - 2px);
  z-index: 10;
}
.flow > li dl {
  width: 100%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid #4B6D91;
  border-radius: 10px;
  position: relative;
}
.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: #4B6D91;
}
.flow > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}
.flow > li dl dt {
  font-size: 18px;
  font-weight: 600;
  color: #4B6D91;
  -ms-flex-preferred-size: 20%;
		flex-basis: 25%;
  margin-right: 2vw;
  text-align: center;
}
.flow > li dl dt .icon {
  font-size: 12px;
  color: #fff;
  background: #4B6D91;
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
}



/*スマホの見え方　レスポンシブ*/
@media screen and (max-width:480px) {
		
		dd{
		font-size:11px;
		line-height:20px;
		}
		
		.flow > li dl {
		padding:15px 15px;
		}
		
		.flow > li dl dt{
		font-size: 16px;
		line-height:20px;
		flex-basis:50%;
		}
		
		
}


/*  お問い合わせフォームのカスタム　　*/

.wpcf7 p {
    line-height: 35px;
    font-size: 15px;
		 text-align: left;
}

/*　　お問い合わせボタン　*/

/*--- 線から塗り（共通設定） ---*/

.btn05{
    /*線の基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    display: inline-block;
    color: #fff !important;
    
    padding: 20px 30px;
    background:#E29A37;
    text-decoration: none;
				font-size:18px;
    outline: none;
    /*アニメーションの指定*/
    transition: all .3s;
    transition-delay: .7s;/*0.7秒遅れてアニメーション*/
}

/*hoverした際の、ボタンの背景とテキスト色の変更*/
.btn05:hover{
  background:#4C6E92;
  color: #fff ;
}

/*線の設定*/
.btn05 span{
    display: block;
}

/*横線の設定*/
.btn05::before,
.btn05::after{
    content:"";
    /*絶対配置で線の位置を決める*/   
    position: absolute;
    /*線の形状*/   
    width: 0;
    height: 2px;
    background: #4C6E92;
    /*アニメーションの指定*/
    transition: all 0.2s linear;
}

/*縦線の設定*/
.btn05 span::before,
.btn05 span::after{
    content:"";
    /*絶対配置で線の位置を決める*/   
    position: absolute;
    /*線の形状*/
    width:2px;
    height:0;
    background: #4C6E92;
    /*アニメーションの指定*/
    transition: all 0.2s linear;
}

/*hoverした際、線が縦横100%伸びる*/
.btn05:hover::before,
.btn05:hover::after{
    width: 100%;
}
.btn05:hover span::before,
.btn05:hover span::after{
    height: 100%;
}

/*== 左上と右下から枠線が伸びて塗に */

/*横線が0.2秒送れて出現*/

.bordercircle1::before{
    right: 0;
    top: 0;
    transition-delay: 0.2s;
}
.bordercircle1::after{
    left: 0;
    bottom: 0;
    transition-delay: 0.2s;
}

/*縦線が出現*/
.bordercircle1 span::before{
    left: 0;
    top: 0;
}
.bordercircle1 span::after{
    right: 0;
    bottom: 0;
}