/*線のデザイン*/
.border{
		margin: 0 auto;
  width: 100%;
  border-bottom: 1.5px solid #000000;
  position: relative;
}
.border01::after{
  content: "";
  display: block;
		border-bottom: 1.5px solid #02959b; /*短い方の色変えはココ*/
  width:20%;
  position: absolute;
}

/*コンタクトフォームのcss設定*/
/* スマホには適用しない */
@media (min-width: 768px) {

  .wpcf7-form-control.form-control {
    width: auto;
    max-width: 100%;
  }
				
/* フォームを中央に配置・背景色指定 */
  .wpcf7-form {
    max-width: 100%;
    margin-left:auto;
    margin-right:auto;
    padding: 15px 20px;
    border-radius: 5px;
  }

}
/* 必須マーク */
.wpcf7-form small.text-danger {
    color: #fff !important;
    background-color: #dc3545;
    font-size: 75%;
    padding: 0.1em 0.3em;
    margin-left: 0.5em;
}

/* 送信ボタンをぴったり中央に配置 */
.wpcf7-submit.btn {
    margin-left: 72px;
}

/* 入力項目を見やすくする */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 80%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
}
.wpcf7-form p {
		margin-bottom: 1.5em;
		}

/*よくある質問のアコーディオンcss*/
.qa-1 {
    max-width: 100%;
    margin-bottom: 7px;
    border: 1px solid #d6dde3;
    border-radius: 5px;
}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-1 summary::before {
    color: #02959B;
    content: "Q";
}

.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

.qa-1 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}

/*リストの装飾デザイン*/
		.list-3 {
    list-style-type: none;
    padding: 1em;
    border: 2px solid #02959c;
}

.list-3 li {
    display: flex;
    align-items: center;
    gap: 0 5px;
    padding: .3em;
}
/*チェックマークのデザイン*/
.list-3 li::before {
    display: inline-block;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid #02959c;
    border-left: 2px solid #02959c;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}

/*スタッフ紹介ページのメッセージ装飾*/
.box-019 {
    position: relative;
    margin-top: 1em;
    padding: 1.8em 1.5em 1em 1.5em;
    border: 2px solid #02959c;
}

.box-019 > div {
    position: absolute;
    top: -1.15em;
    left: -.5em;
    padding: .4em 1.4em;
    border-radius: 5px;
    background-color: #02959c;
    color: #fff;
    font-size: .9em;
}

.box-019 > div::before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 8px;
    background-color: #02959c;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.box-019 p {
    margin: 0;
		font-size:0.8em;
		line-height:2em;
}

/*リフォームエクステリアのフローデザイン*/
.flow_design09 {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow09 {
  padding-left: 0;
  border-bottom: solid 1px #E1E8ED;
}

.flow09 > li {
  list-style-type: none;
  display: flex;
  padding: 25px 0;
  border-top: solid 1px #E1E8ED;
}

.flow09 > li dl dt {
  font-size: 1.2em;
  line-height: 2;
  font-weight: bold;
  margin-bottom: 10px;
}

.flow09 > li .icon09 {
  line-height: 1;
  font-size: 2em;
  font-weight: bold;
  color: #02959B;
  text-align: center;
  width: 70px;
  position: relative;
  margin-top: 0;
}

.flow09 > li .icon09::before {
  content: 'STEP';
  font-size: 0.3em;
  display: block;
  margin-bottom: 3px;
  letter-spacing: 1px;
}

.flow09 > li .icon09::after {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 45px);
  background-color: #858585;
  position: absolute;
  left: 0;
  right: 0;
  top: 60px;
  margin: auto;
}

.flow09 > li dl dd {
  margin: 0;
}

.flow09 > li dl {
  width: calc(100% - 70px);
  margin-top: 0.8em;
}

@media screen and (max-width: 480px) {
		.list-3 li {
    font-size: 0.8em;
}
		.flow09 > li .icon09 {
    font-size: 1.8em;
}
		
		.flow09 > li dl dt {
    font-size: 1em;
}
		.flow09 > li dl dd {
    margin: 0;
		font-size: 0.7em;
}
}