@charset "utf-8";

body::before {
	content: "";
	width: 100%;
	height: 100%;
	background-image: url(../img/common/pc_bg.jpg);
	background-position: center;
	background-size: cover;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}

.contents_wrap {
	position: relative;
	max-width: 6.40rem;
	margin: auto;
	z-index: 1;
	-webkit-box-shadow: 0 0 0.16rem rgba(0,0,0,0.16);
	        box-shadow: 0 0 0.16rem rgba(0,0,0,0.16);
	background-color: #FFF;
}

main {
	padding-top: 1.00rem;
}

@media screen and (max-width: 640px) {

main {
		padding-top: 0.80rem;
}
	}

@media screen and (max-width: 1024px) and (orientation: landscape) {

main {
		padding-top: 0.60rem;
}
	}

/*============================
ヘッダー
============================*/
header {
	-webkit-transition: -webkit-transform 0.5s 0.3s;
	transition: -webkit-transform 0.5s 0.3s;
	transition: transform 0.5s 0.3s;
	transition: transform 0.5s 0.3s, -webkit-transform 0.5s 0.3s;
	position: fixed;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: 100%;
	max-width: 6.40rem;
	z-index: 10;
	background-color: #FFF;
	padding: 0.20rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
@media screen and (max-width: 640px) {
header {
		padding: 0.20rem 0;
}
	}
@media screen and (max-width: 1024px) and (orientation: landscape) {
header {
		padding: 0.10rem 0.20rem;
}
	}
header .logo {
		width: 66%;
	}
@media screen and (max-width: 1024px) and (orientation: landscape) {
header .logo {
			width: 3.00rem;
	}
		}
header .site_description {
		text-indent: -9999px;
		position: absolute;
		top: 0;
		z-index: 0;
	}
header .glo_navi {
		display: none;
	}
header .glo_navi .list {
			padding-top: 0.20rem;
			margin-bottom: -0.20rem;
			-webkit-box-shadow: 0 0.06rem 0.08rem rgba(0,0,0,0.1);
			        box-shadow: 0 0.06rem 0.08rem rgba(0,0,0,0.1);
			width: calc(100% + 0.40rem);
			position: relative;
			left: -0.20rem;
		}
@media screen and (max-width: 640px) {
header .glo_navi .list {
				padding-top: 0.10rem;
				margin-bottom: -0.17rem;
				left: 0;
		}
			}
@media screen and (max-width: 1024px) and (orientation: landscape) {
header .glo_navi .list {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-ms-flex-wrap: wrap;
				    flex-wrap: wrap;
				margin-bottom: -0.10rem;
		}
			}
header .glo_navi .list .link {
				line-height: 2.5;
				border-bottom: 1px solid #CCC;
			}
@media screen and (max-width: 1024px) and (orientation: landscape) {
header .glo_navi .list .link {
					width: 50%;
			}
				}
header .glo_navi .list .link a {
					display: block;
					font-size: 0.30rem;
					font-weight: 700;
					color: #0068b7;
					padding-left: 0.20rem;
				}
@media screen and (max-width: 640px) {
header .glo_navi .list .link a {
						font-size: 0.18rem;
				}
					}
@media screen and (max-width: 1024px) and (orientation: landscape) {
header .glo_navi .list .link a {
						font-size: 0.22rem;
				}
					}
header .glo_navi .list .link:last-child {
					border-bottom: none;
				}
header .tel_btn {
		position: absolute;
		top: 0.15rem;
		right: 1.10rem;
		width: 0.80rem;
		height: 0.80rem;
		background-color: #f39800;
	}
@media screen and (max-width: 640px) {
header .tel_btn {
			width: 0.55rem;
			height: 0.55rem;
			right: 0.70rem;
	}
		}
header .tel_btn::before {
			content: "";
			width: 0.32rem;
			height: 0.32rem;
			background-image: url(../common/img/icon_tel_white.svg);
			background-position: center;
			background-repeat: no-repeat;
			background-size: contain;
			position: absolute;
			top: 40%;
			left: 50%;
			-webkit-transform: translate(-50%, -50%);
			        transform: translate(-50%, -50%);
		}
@media screen and (max-width: 640px) {
header .tel_btn::before {
				width: 0.24rem;
				height: 0.24rem;
				top: 36%;
		}
			}
header .tel_btn .txt {
			font-size: 0.16rem;
			font-weight: 700;
			color: #FFF;
			position: absolute;
			text-align: center;
			width: 100%;
			bottom: 0.10rem;
		}
@media screen and (max-width: 640px) {
header .tel_btn .txt {
				font-size: 0.11rem;
				bottom: 0.06rem;
		}
			}
@media screen and (max-width: 1024px) and (orientation: landscape) {
header .tel_btn {
			-webkit-transform: scale(0.6);
			        transform: scale(0.6);
			top: -0.02rem;
			right: 0.60rem;
	}
		}
header #SPnaviBtn {
		position: absolute;
		top: 0.15rem;
		right: 0.20rem;
		width: 0.80rem;
		height: 0.80rem;
		background-color: #2986c2;
		cursor: pointer;
	}
@media screen and (max-width: 640px) {
header #SPnaviBtn {
			width: 0.55rem;
			height: 0.55rem;
			right: 0.10rem;
	}
		}
header #SPnaviBtn .txt {
			font-size: 0.16rem;
			font-weight: 700;
			color: #FFF;
			position: absolute;
			text-align: center;
			width: 100%;
			bottom: 0.10rem;
		}
@media screen and (max-width: 640px) {
header #SPnaviBtn .txt {
				font-size: 0.11rem;
				bottom: 0.06rem;
		}
			}
header #SPnaviBtn #SPmenuBars {
			height: 0.60rem;
			top: 40%;
		}
@media screen and (max-width: 640px) {
header #SPnaviBtn #SPmenuBars {
				height: 0.40rem;
		}
			}
header #SPnaviBtn #SPmenuBars span {
				background-color: #FFF;
			}
@media screen and (max-width: 1024px) and (orientation: landscape) {
header #SPnaviBtn {
			-webkit-transform: scale(0.6);
			        transform: scale(0.6);
			top: -0.02rem;
			right: 0;
	}
		}

.img_box img {
		display: block;
		width: 100%;
	}

/*========================
テキストエリア
========================*/
.txt_area {
	padding: 0.30rem;
	height: 2.50rem;
	overflow: hidden;
	position: relative;
	-webkit-transition: height 0.5s;
	transition: height 0.5s;
}
@media screen and (max-width: 640px) {
.txt_area {
		padding: 0.20rem;
		height: 2.00rem;
}
	}
.txt_area::before {
		content: "";
		width: 100%;
		height: 2.00rem;
		background: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0)),color-stop(70%, rgba(255,255,255,1)),to(rgba(255,255,255,1)));
		background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 70%,rgba(255,255,255,1) 100%);
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1;
	}
.txt_area::after {
		content: "続きを読む";
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		line-height: 2;
		border-bottom: 0.03rem solid #0068b6;
		font-size: 0.26rem;
		font-weight: 700;
		color: #0068b6;
		background: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0)),color-stop(70%, rgba(255,255,255,1)),to(rgba(255,255,255,1)));
		background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 70%,rgba(255,255,255,1) 100%);
		position: absolute;
		bottom: 0.50rem;
		left: 50%;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
		text-align: center;
		z-index: 2;
		cursor: pointer;
	}
@media screen and (max-width: 640px) {
.txt_area::after {
			font-size: 0.18rem;
	}
		}
.txt_area .txt {
		font-size: 0.26rem;
		font-weight: 400;
		line-height: 1.875;
		text-align: justify;
		position: relative;
		z-index: 0;
	}
@media screen and (max-width: 640px) {
.txt_area .txt {
			font-size: 0.18rem;
	}
		}
.txt_area.-bg_blue01 {
		background-color: #e6f4f9;
	}
.txt_area.active {
		height: -webkit-fit-content;
		height: -moz-fit-content;
		height: fit-content;
	}
.txt_area.active::before {
			content: none;
		}
.txt_area.active::after {
			content: none;
		}

/*========================
下層MV
========================*/
.under_mv .page_ttl {
		background-color: #ffe100;
		padding: 0.25rem 0 0.20rem;
		text-align: center;
		font-size: 0.50rem;
		font-weight: 900;
		color: #0068b7;
	}
@media screen and (max-width: 640px) {
.under_mv .page_ttl {
			font-size: 0.34rem;
			padding: 0.14rem 0;
	}
		}
.under_mv .mv_img {
    width: 100%;
  }
.under_mv .mv_img img {
      display: block;
      width: 100%;
    }

/*============================
下層ページMV下のバナー
============================*/
.mv_bottom_bnr {
	background-color: #0068b7;
	padding: 0.15rem 0.20rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	position: relative;
}
.mv_bottom_bnr .wrap_link {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
.mv_bottom_bnr .ph {
		width: 1.70rem;
		height: 1.70rem;
		border-radius: 50%;
		overflow: hidden;
	}
@media screen and (max-width: 640px) {
.mv_bottom_bnr .ph {
			width: 1.00rem;
			height: 1.00rem;
	}
		}
.mv_bottom_bnr .ph img {
			display: block;
			width: 100%;
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
		}
.mv_bottom_bnr .txt_box {
		padding-left: 0.20rem;
	}
.mv_bottom_bnr .txt_box .ttl {
			font-size: 0.54rem;
			font-weight: 900;
			color: #FFF;
			padding-bottom: 0.15rem;
		}
@media screen and (max-width: 640px) {
.mv_bottom_bnr .txt_box .ttl {
				font-size: 0.30rem;
		}
			}
.mv_bottom_bnr .txt_box .ttl span {
				color: #fff000;
			}
.mv_bottom_bnr .txt_box .txt {
			background-color: #FFF;
			font-size: 0.46rem;
			font-weight: 900;
			color: #0c2e50;
			text-align: center;
			padding: 0.10rem 0 0.12rem;
		}
@media screen and (max-width: 640px) {
.mv_bottom_bnr .txt_box .txt {
				font-size: 0.24rem;
				padding: 0.06rem 0 0.08rem;
		}
			}
.mv_bottom_bnr .txt_box.-small .ttl {
				font-size: 0.48rem;
			}
@media screen and (max-width: 640px) {
.mv_bottom_bnr .txt_box.-small .ttl {
					font-size: 0.26rem;
			}
				}

/*============================
信頼・安心の水道局指定業者
============================*/
.anshin {
  background-color: #57A4D1;
  padding: 0.30rem 0;
}
@media screen and (max-width: 640px) {
.anshin {
    padding: 0.20rem 0;
}
  }

/* トラブルでお困りではありませんか？ */
.trouble_intro {
  background-color: #d2ecfa;
  padding: 0.20rem;
}
.trouble_intro .ttl {
    background-color: #0068b6;
    padding: 0.10rem 0 0.12rem;
    font-size: 0.40rem;
    font-weight: 900;
    line-height: 1.2;
    color: #FFF;
    border-radius: 0.10rem;
    text-align: center;
  }
@media screen and (max-width: 640px) {
.trouble_intro .ttl {
			font-size: 0.26rem;
  }
		}
.trouble_intro .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.15rem 0;
    padding: 0.20rem 0 0.15rem;
  }
.trouble_intro .list .txt {
      width: 49%;
      padding: 0.10rem 0;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      font-size: 0.24rem;
      font-weight: 700;
      line-height: 1.2;
      border-radius: 0.10rem;
      color: #1A1A1A;
      text-align: center;
      background-color: #FFF;
    }
@media screen and (max-width: 640px) {
.trouble_intro .list .txt {
				font-size: 0.18rem;
    }
			}
.trouble_intro .list.-line1 .txt {
				padding: 0.20rem 0;
			}
.trouble_intro .kakomi {
    background-color: #FFF;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    border-radius: 0.10rem;
  }
.trouble_intro .kakomi::before {
      content: "";
      width: 44%;
      height: 100%;
      background-color: #9ed8f5;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      border-radius: 0.10rem 0 0 0.10rem;
    }
.trouble_intro .kakomi .kakomi_ttl {
      width: 44%;
      text-align: center;
      font-size: 0.36rem;
      font-weight: 700;
      color: #FFF;
      position: relative;
      z-index: 1;
    }
@media screen and (max-width: 640px) {
.trouble_intro .kakomi .kakomi_ttl {
				font-size: 0.20rem;
    }
			}
.trouble_intro .kakomi .kakomi_txt {
      width: 50%;
      font-size: 0.30rem;
      font-weight: 500;
      line-height: 1.3;
      color: #0068b6;
      padding: 0.10rem 0;
    }
@media screen and (max-width: 640px) {
.trouble_intro .kakomi .kakomi_txt {
				font-size: 0.18rem;
    }
			}
.trouble_intro .bottom_txt {
    text-align: center;
    padding-top: 0.20rem;
    font-size: 0.50rem;
    font-weight: 800;
    color: #0068b6;
    line-height: 1.3;
  }
@media screen and (max-width: 640px) {
.trouble_intro .bottom_txt {
			font-size: 0.34rem;
  }
		}
.trouble_intro .bottom_txt span {
      display: block;
      font-family: "Inter", sans-serif;
      font-size: 0.36rem;
    }
@media screen and (max-width: 640px) {
.trouble_intro .bottom_txt span {
				font-size: 0.18rem;
				padding-top: 0.05rem;
    }
			}

/* 水漏れの原因とは？ */
.mizumore {
  background-color: #fefdf0;
}
.mizumore .mizumore_ttl {
    padding: 0.40rem 0;
    text-align: center;
    font-size: 0.36rem;
    font-weight: 900;
  }
@media screen and (max-width: 640px) {
.mizumore .mizumore_ttl {
			font-size: 0.24rem;
  }
		}
.mizumore .list {
    padding: 0 0.30rem 0.30rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.30rem 0;
  }
@media screen and (max-width: 640px) {
.mizumore .list {
			padding: 0 0.20rem 0.30rem;
  }
		}
.mizumore .list .detail {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
    }
.mizumore .list .detail:nth-of-type(2n) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
      }
.mizumore .list .detail .ph_wrap {
        width: 50%;
        height: 2.00rem; 
        border-radius: 0.10rem;
        overflow: hidden;
      }
@media screen and (max-width: 640px) {
.mizumore .list .detail .ph_wrap {
					height: 40vw;
      }
				}
.mizumore .list .detail .ph_wrap img {
          display: block;
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
             object-fit: cover;
        }
.mizumore .list .detail .txt_box {
        width: 47%;
      }
.mizumore .list .detail .txt_box .list_ttl {
          text-align: center;
          font-size: 0.20rem;
          font-weight: 700;
          line-height: 1.3;
          padding-bottom: 0.10rem;
        }
@media screen and (max-width: 640px) {
.mizumore .list .detail .txt_box .list_ttl {
						font-size: 0.17rem;
        }
						.mizumore .list .detail .txt_box .list_ttl br {
							display: none;
						}
							.mizumore .list .detail .txt_box .list_ttl br.sp_only {
								display: block;
							}
					}
.mizumore .list .detail .txt_box .txt {
          font-size: 0.15rem;
          line-height: 1.5;
          text-align: justify;
        }
@media screen and (max-width: 640px) {
.mizumore .list .detail .txt_box .txt {
						font-size: 0.12rem;
        }
						.mizumore .list .detail .txt_box .txt br {
							display: none;
						}
					}
.mizumore.-white {
		background-color: #FFF;
	}

/* 料金表 */
.price_list {
  background-color: #EDF8FD;
  padding: 0.30rem;
}
@media screen and (max-width: 640px) {
.price_list {
		padding: 0.30rem 0.20rem;
}
	}
.price_list .price_list_header {
    padding-bottom: 0.20rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
.price_list .price_list_header .txt_box {
      width: 75%;
    }
.price_list .price_list_header .txt_box .ttl {
        text-align: center;
        padding: 0.15rem 0 0.17rem;
        font-size: 0.36rem;
        font-weight: 900;
        color: #FFF;
        background-color: #509cc7;
        border-radius: 0.10rem;
				line-height: 1.2;
      }
@media screen and (max-width: 640px) {
.price_list .price_list_header .txt_box .ttl {
					font-size: 0.22rem;
      }
				}
.price_list .price_list_header .txt_box .caption {
        padding-top: 0.10rem;
        font-size: 0.20rem;
				font-weight: 500;
      }
@media screen and (max-width: 640px) {
.price_list .price_list_header .txt_box .caption {
					font-size: 0.16rem;
      }
				}
.price_list .price_list_header .icon {
      width: 20%;
    }
.price_list .price_list_header.-caption {
			padding-top: 0.60rem;
		}
.price_list .list {
    background-color: #FFF;
    border-radius: 0.10rem;
    overflow: hidden;
  }
.price_list .list .detail {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 0.20rem;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      position: relative;
      border-bottom: 2px solid #EDF8FD;
    }
@media screen and (max-width: 640px) {
.price_list .list .detail {
				padding: 0.20rem 0.15rem;
    }
			}
.price_list .list .detail:last-child {
        border-bottom: none;
      }
.price_list .list .detail .icon {
        width: 13%;
      }
.price_list .list .detail .txt_box {
        padding-left: 0.20rem;
      }
@media screen and (max-width: 640px) {
.price_list .list .detail .txt_box {
					padding-left: 0.10rem;
      }
				}
.price_list .list .detail .txt_box .price_ttl {
          font-size: 0.26rem;
          font-weight: 700;
        }
@media screen and (max-width: 640px) {
.price_list .list .detail .txt_box .price_ttl {
						font-size: 0.16rem;
        }
					}
.price_list .list .detail .txt_box .txt {
          font-size: 0.18rem;
          font-weight: 600;
          padding-top: 0.10rem;
        }
@media screen and (max-width: 640px) {
.price_list .list .detail .txt_box .txt {
						font-size: 0.12rem;
						font-weight: 500;
        }
					}
.price_list .list .detail .txt_box .price {
          font-size: 0.26rem;
          font-weight: 700;
          font-family: "Inter", sans-serif;
          position: absolute;
          bottom: 0.24rem;
          right: 0.20rem;
        }
@media screen and (max-width: 640px) {
.price_list .list .detail .txt_box .price {
						font-size: 0.16rem;
						right: 0.15rem;
        }
					}
.price_list .list .detail .txt_box .price span {
            font-size: 0.24rem;
          }
@media screen and (max-width: 640px) {
.price_list .list .detail .txt_box .price span {
							font-size: 0.15rem;
          }
						}
.price_list .list .detail .txt_box .price.-jp {
            font-family: "Noto Sans JP", sans-serif;
          }
.price_list .tel_btn {
    margin: 0.30rem auto;
    width: 80%;
  }
@media screen and (max-width: 640px) {
.price_list .tel_btn {
			width: 90%;
  }
		}
.price_list .tel_btn a {
      display: block;
      background-color: #509cc7;
      padding: 0.20rem 0;
      border-radius: 0.40rem;
      font-size: 0.34rem;
      font-weight: 700;
      color: #FFF;
      text-align: center;
    }
@media screen and (max-width: 640px) {
.price_list .tel_btn a {
				font-size: 0.20rem;
    }
			}
.price_list .tel_btn a span::before {
          content: "";
          width: 0.30rem;
          height: 0.30rem;
          background-image: url(../img/common/tel_icon.svg);
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain;
          position: relative;
          display: inline-block;
          margin-right: 0.10rem;
        }
@media screen and (max-width: 640px) {
.price_list .tel_btn a span::before {
						width: 0.20rem;
						height: 0.20rem;
						top: 0.01rem;
        }
					}
.price_list .back_btn {
    margin: 0.30rem auto;
    width: 80%;
  }
@media screen and (max-width: 640px) {
.price_list .back_btn {
			width: 90%;
  }
		}
.price_list .back_btn a {
      display: block;
      background-color: #0068b6;
      padding: 0.20rem 0 0.16rem;
      border-radius: 0.40rem;
      font-size: 0.26rem;
      font-weight: 700;
			line-height: 1;
      color: #FFF;
      text-align: center;
    }
@media screen and (max-width: 640px) {
.price_list .back_btn a {
				font-size: 0.18rem;
    }
			}
.price_list .back_btn a span::before {
          content: "◀";
					font-size: 0.16rem;
          width: 0.30rem;
          height: 0.30rem;
          position: relative;
          display: inline-block;
          margin-right: 0.10rem;
					top: -0.03rem;
        }
@media screen and (max-width: 640px) {
.price_list .back_btn a span::before {
						width: 0.20rem;
						height: 0.20rem;
						top: -0.02rem;
						font-size: 0.12rem;
        }
					}
.price_list .txt_list {
    padding-bottom: 0.20rem;
  }
@media screen and (max-width: 640px) {
.price_list .txt_list {
			padding-bottom: 0.10rem;
  }
		}
.price_list .txt_list .txt {
      font-size: 0.26rem;
      font-weight: 500;
      line-height: 1.45;
      padding-bottom: 0.15rem;
      text-indent: -0.13rem;
      margin-left: 0.26rem;
    }
@media screen and (max-width: 640px) {
.price_list .txt_list .txt {
				font-size: 0.17rem;
				text-indent: -0.09rem;
				margin-left: 0.20rem;
    }
			}
.price_list .txt_list .txt::before {
        content: "●";
        color: #509cc7;
        display: inline-block;
      }
.price_list .last_caption {
    font-size: 0.24rem;
    line-height: 1.5;
  }
@media screen and (max-width: 640px) {
.price_list .last_caption {
			font-size: 0.16rem;
  }
		}

/*============================
お困りのトラブルはどこですか？
============================*/
.trouble .header .lead {
			text-align: center;
			font-size: 0.28rem;
			font-weight: 700;
			padding: 0.20rem 0 0.50rem;
		}
@media screen and (max-width: 640px) {
.trouble .header .lead {
				font-size: 0.20rem;
				padding-bottom: 0.20rem;
		}
			}
.trouble .price_wrap .list {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			    -ms-flex-pack: justify;
			        justify-content: space-between;
			padding: 0 0.20rem;
			-ms-flex-wrap: wrap;
			    flex-wrap: wrap;
			gap: 0.50rem 0;
		}
.trouble .price_wrap .list .detail {
				width: 48%;
			}
.trouble .price_wrap .list .detail a {
					display: block;
					color: #1A1A1A;
				}
.trouble .price_wrap .list .detail a:hover .ph_wrap img {
								-webkit-transform: scale(1.04);
								        transform: scale(1.04);
							}
.trouble .price_wrap .list .detail a:hover .more_btn {
							background: linear-gradient(135deg, rgba(135,224,253,1) 0%,rgba(83,203,241,1) 40%,rgba(5,171,224,1) 100%);
						}
.trouble .price_wrap .list .detail .ph_wrap {
					width: 100%;
					height: 1.80rem;
					overflow: hidden;
					border-radius: 0.10rem;
				}
@media screen and (max-width: 640px) {
.trouble .price_wrap .list .detail .ph_wrap {
						height: 30vw;
				}
					}
.trouble .price_wrap .list .detail .ph_wrap img {
						display: block;
						width: 100%;
						height: 100%;
						-o-object-fit: cover;
						   object-fit: cover;
						-webkit-transition: all 0.3s;
						transition: all 0.3s;
					}
.trouble .price_wrap .list .detail .ttl {
					font-size: 0.23rem;
					font-weight: 900;
					text-align: center;
					color: #0068b7;
					padding: 0.15rem 0 0.10rem;
				}
@media screen and (max-width: 640px) {
.trouble .price_wrap .list .detail .ttl {
						font-size: 0.17rem;
						line-height: 1.5;
				}
					}
.trouble .price_wrap .list .detail .txt {
					font-size: 0.16rem;
					text-align: center;
				}
@media screen and (max-width: 640px) {
.trouble .price_wrap .list .detail .txt {
						font-size: 0.12rem;
				}
					}
.trouble .price_wrap .list .detail .price {
					font-size: 0.36rem;
					font-weight: 800;
					font-family: "Inter", sans-serif;
					color: #dc2e2a;
					text-align: center;
					padding: 0.20rem 0 0.10rem;
				}
@media screen and (max-width: 640px) {
.trouble .price_wrap .list .detail .price {
						font-size: 0.30rem;
				}
					}
.trouble .price_wrap .list .detail .price span {
						font-family: "Noto Sans JP", sans-serif;
						font-weight: 900;
						font-size: 0.28rem;
						display: inline-block;
						position: relative;
						top: -0.02rem;
					}
@media screen and (max-width: 640px) {
.trouble .price_wrap .list .detail .price span {
							font-size: 0.20rem;
					}
						}
.trouble .price_wrap .list .detail .more_btn {
					background: linear-gradient(135deg, rgba(82,191,230,1) 0%,rgba(70,155,212,1) 100%);
					border-radius: 0.60rem;
					padding: 0.10rem 0 0.12rem;
					text-align: center;
					font-size: 0.20rem;
					line-height: 1.3;
					font-weight: 700;
					color: #FFF;
					text-align: center;
					position: relative;
					-webkit-transition: all 0.3s;
					transition: all 0.3s;
				}
@media screen and (max-width: 640px) {
.trouble .price_wrap .list .detail .more_btn {
						font-size: 0.14rem;
				}
					}
.trouble .price_wrap .list .detail .more_btn::after {
						content: "";
						width: 0.14rem;
						height: 0.14rem;
						background-image: url(../common/img/icon_right_bold_white.svg);
						background-position: right center;
						background-repeat: no-repeat;
						background-size: contain;
						position: absolute;
						top: 50%;
						right: 0.20rem;
						-webkit-transform: translateY(-50%);
						        transform: translateY(-50%);
					}
@media screen and (max-width: 640px) {
.trouble .price_wrap .list .detail .more_btn::after {
							width: 0.10rem;
							height: 0.10rem;
							right: 0.10rem;
					}
						}
.trouble .icon_wrap {
		padding: 0.20rem 0;
	}
.trouble .icon_wrap .list {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			    -ms-flex-pack: justify;
			        justify-content: space-between;
			-ms-flex-wrap: wrap;
			    flex-wrap: wrap;
		}
.trouble .icon_wrap .list .icon {
				width: 33.3%;
			}
.trouble .icon_wrap .list .icon a {
					display: block;
					padding: 0.20rem 0.20rem;
					color: #1A1A1A;
				}
@media screen and (max-width: 640px) {
.trouble .icon_wrap .list .icon a {
						padding: 0.10rem;
				}
					}
.trouble .icon_wrap .list .icon a img {
						display: block;
					}
.trouble .icon_wrap .list .icon a:hover {
						opacity: 0.7;
					}
.trouble .icon_wrap .list .icon a .txt {
						text-align: center;
						font-size: 0.26rem;
						font-weight: 700;
						line-height: 1.3;
					}
@media screen and (max-width: 640px) {
.trouble .icon_wrap .list .icon a .txt {
							font-size: 0.16rem;
							letter-spacing: 0;
					}
						}

/*============================
安心修理のお約束
============================*/
.yakusoku .upper_box {
		padding: 0.30rem;
	}
@media screen and (max-width: 640px) {
.yakusoku .upper_box {
			padding: 0.20rem;
	}
		}
.yakusoku .upper_box .ttl {
			background-color: #5187c4;
			padding: 0.20rem 0 0.22rem;
			border-radius: 0.10rem;
			text-align: center;
			font-size: 0.40rem;
			font-weight: 700;
			color: #FFF;
			position: relative;
		}
@media screen and (max-width: 640px) {
.yakusoku .upper_box .ttl {
				font-size: 0.24rem;
		}
			}
.yakusoku .upper_box .ttl span {
				position: relative;
			}
.yakusoku .upper_box .ttl span::before {
					content: "";
					width: 0.60rem;
					height: 0.60rem;
					background-image: url(../img/common/yakusoku_ttl_icon.png);
					background-position: center;
					background-repeat: no-repeat;
					background-size: contain;
					position: absolute;
					top: 50%;
					left: -0.70rem;
					-webkit-transform: translateY(-50%);
					        transform: translateY(-50%);
				}
@media screen and (max-width: 640px) {
.yakusoku .upper_box .ttl span::before {
						width: 0.36rem;
						height: 0.36rem;
						left: -0.42rem;
				}
					}
.yakusoku .upper_box .ttl i {
				width: 0.30rem;
				height: 0.30rem;
				position: absolute;
				top: 50%;
				right: 0.30rem;
				-webkit-transform: translateY(-50%);
				        transform: translateY(-50%);
			}
@media screen and (max-width: 640px) {
.yakusoku .upper_box .ttl i {
					width: 0.20rem;
					height: 0.20rem;
					right: 0.15rem;
			}
				}
.yakusoku .upper_box .ttl i::before {
					content: "";
					width: 100%;
					height: 0.04rem;
					border-radius: 0.08rem;
					background-color: #FFF;
					position: absolute;
					top: 50%;
					left: 0;
					-webkit-transform: translateY(-50%);
					        transform: translateY(-50%);
				}
.yakusoku .upper_box .ttl i::after {
					content: "";
					width: 0.04rem;
					height: 100%;
					border-radius: 0.08rem;
					background-color: #FFF;
					position: absolute;
					top: 0;
					left: 50%;
					-webkit-transform: translateX(-50%);
					        transform: translateX(-50%);
					-webkit-transition: all 0.3s;
					transition: all 0.3s;
				}
.yakusoku .upper_box .ttl.-open i::after {
						-webkit-transform: translateX(-50%) rotate(90deg);
						        transform: translateX(-50%) rotate(90deg);
					}
.yakusoku .upper_box .acc_box {
			padding: 0.30rem 0;
		}
.yakusoku .upper_box .acc_box .sub_ttl {
				font-size: 0.36rem;
				font-weight: 700;
				text-align: center;
				padding-bottom: 0.20rem;
			}
@media screen and (max-width: 640px) {
.yakusoku .upper_box .acc_box .sub_ttl {
					font-size: 0.24rem;
			}
				}
.yakusoku .upper_box .acc_box .txt {
				font-size: 0.20rem;
				line-height: 1.75;
				text-align: justify;
			}
@media screen and (max-width: 640px) {
.yakusoku .upper_box .acc_box .txt {
					font-size: 0.16rem;
			}
				}
.yakusoku .upper_box .acc_box .txt strong {
					color: #dc2e2a;
					font-weight: 500;
				}
.yakusoku .point_wrap {
		background-color: #d5edf7;
		padding: 0.30rem;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		gap: 0.30rem 0;
	}
@media screen and (max-width: 640px) {
.yakusoku .point_wrap {
			padding: 0.20rem;
			gap: 0.20rem 0;
	}
		}
.yakusoku .point_wrap .point_box {
			background-color: #FFF;
			border-radius: 0.30rem;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			    -ms-flex-align: center;
			        align-items: center;
			padding: 0.30rem;
			width: 100%;
			-webkit-box-sizing: border-box;
			        box-sizing: border-box;
		}
.yakusoku .point_wrap .point_box .icon {
				width: 0.85rem;
			}
@media screen and (max-width: 640px) {
.yakusoku .point_wrap .point_box .icon {
					width: 0.40rem;
			}
				}
.yakusoku .point_wrap .point_box .icon img {
					display: block;
				}
.yakusoku .point_wrap .point_box .txt_box {
				width: calc(100% - 0.85rem);
				padding-left: 0.20rem;
				-webkit-box-sizing: border-box;
				        box-sizing: border-box;
				color: #1d477a;
			}
@media screen and (max-width: 640px) {
.yakusoku .point_wrap .point_box .txt_box {
					width: calc(100% - 0.40rem);
			}
				}
.yakusoku .point_wrap .point_box .txt_box .point_ttl {
					font-size: 0.40rem;
					font-weight: 800;
					line-height: 1.3;
				}
@media screen and (max-width: 640px) {
.yakusoku .point_wrap .point_box .txt_box .point_ttl {
						font-size: 0.21rem;
				}
					}
.yakusoku .point_wrap .point_box .txt_box .txt {
					font-size: 0.24rem;
					font-weight: 700;
					padding-top: 0.10rem;
				}
@media screen and (max-width: 640px) {
.yakusoku .point_wrap .point_box .txt_box .txt {
						font-size: 0.16rem;
				}
					}

/*============================
フッター共通
============================*/
footer img {
		display: block;
		width: 100%;
	}

/*============================
お問い合せから解決までの流れ
============================*/
/* お問い合せから解決までの流れ */
footer .flow .flow_ttl {
			background-color: #0068b7;
			padding: 0.20rem 0 0.22rem;
			text-align: center;
			font-size: 0.36rem;
			font-weight: 700;
			color: #FFF;
		}
@media screen and (max-width: 640px) {
footer .flow .flow_ttl {
				font-size: 0.24rem;
		}
			}
footer .flow .list {
			padding: 0.30rem;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			    -ms-flex-pack: justify;
			        justify-content: space-between;
			-ms-flex-wrap: wrap;
			    flex-wrap: wrap;
			gap: 0.30rem 0;
		}
@media screen and (max-width: 640px) {
footer .flow .list {
				padding: 0.20rem;
		}
			}
footer .flow .list .detail {
				position: relative;
				width: 48%;
			}
footer .flow .list .detail .num {
					position: absolute;
					top: 0;
					left: 0;
					width: 0.50rem;
					height: 0.50rem;
					line-height: 0.50rem;
					text-align: center;
					font-family: "Inter", sans-serif;
					font-size: 0.40rem;
					font-weight: 700;
					color: #FFF;
					background-color: #d8a13d;
					border-radius: 0.06rem;
					z-index: 2;
				}
@media screen and (max-width: 640px) {
footer .flow .list .detail .num {
						width: 0.30rem;
						height: 0.30rem;
						line-height: 0.30rem;
						font-size: 0.26rem;
						border-radius: 0.06rem;
				}
					}
footer .flow .list .detail .sub_ttl {
					font-size: 0.28rem;
					font-weight: 700;
					padding-left: 0.65rem;
					padding-top: 0.10rem;
				}
@media screen and (max-width: 640px) {
footer .flow .list .detail .sub_ttl {
						font-size: 0.16rem;
						padding-left: 0.40rem;
						letter-spacing: 0;
						padding-top: 0.05rem;
				}
					}
footer .flow .list .detail .icon_box {
					width: 100%;
					position: relative;
					z-index: 1;
				}
footer .flow .list .detail .icon_box img {
						display: block;
					}
footer .flow .list .detail .txt {
					font-size: 0.18rem;
					font-weight: 600;
					line-height: 1.65;
					text-align: justify;
				}
@media screen and (max-width: 640px) {
footer .flow .list .detail .txt {
						font-size: 0.14rem;
				}
					}
/* フッターのアコーディオンテキスト */
footer .txt_area {
		display: none;
	}

.area {
	background-color: #e4f3fa;
}

.area .upper_box {
		padding: 0.30rem;
	}

@media screen and (max-width: 640px) {

.area .upper_box {
			padding: 0.20rem;
	}
		}

.area .upper_box .area_ttl {
			background-color: #0068b7;
			font-size: 0.36rem;
			font-weight: 700;
			color: #FFF;
			padding: 0.20rem 0 0.22rem;
			border-radius: 0.10rem;
			text-align: center;
		}

@media screen and (max-width: 640px) {

.area .upper_box .area_ttl {
				font-size: 0.24rem;
				padding: 0.15rem 0 0.17rem;
		}
			}

.area .upper_box .lead {
			font-size: 0.26rem;
			font-weight: 600;
			line-height: 1.5;
			text-align: justify;
			padding: 0.20rem 0;
		}

@media screen and (max-width: 640px) {

.area .upper_box .lead {
				font-size: 0.16rem;
		}
			}

.area .upper_box .area_list {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			    -ms-flex-pack: justify;
			        justify-content: space-between;
			-ms-flex-wrap: wrap;
			    flex-wrap: wrap;
			/* padding-top: 0.20rem; */
		}

.area .upper_box .area_list .list {
				width: 33.3%;
			}

.area .upper_box .area_list .list .txt {
					font-size: 0.22rem;
					font-weight: 600;
					line-height: 1.6;
				}

@media screen and (max-width: 640px) {

.area .upper_box .area_list .list .txt {
						font-size: 0.14rem;
				}
					}

.area .upper_box .area_list .list .txt::before {
						content: "●";
						color: #0068b7;
					}

.area .fuguaikaisho {
		padding: 0 0.30rem 1.80rem;
		background-color: #FFF;
		position: relative;
	}

@media screen and (max-width: 640px) {

.area .fuguaikaisho {
			padding: 0 0.20rem 1.20rem;
	}
		}

.area .fuguaikaisho::before {
			content: "";
			width: calc(100% - 0.60rem);
			height: calc(100% - 2.30rem);
			border: 0.10rem solid #0068b7;
			border-radius: 0.20rem;
			position: absolute;
			bottom: 1.90rem;
			left: 0.30rem;
			z-index: 0;
			-webkit-box-sizing: border-box;
			        box-sizing: border-box;
		}

@media screen and (max-width: 640px) {

.area .fuguaikaisho::before {
				border: 0.06rem solid #0068b7;
				width: calc(100% - 0.40rem);
				height: calc(100% - 1.50rem);
				left: 0.20rem;
				bottom: 1.20rem;
				border-radius: 0.16rem;
		}
			}

.area .fuguaikaisho .txt_box {
			padding: 0.20rem 0.40rem 0.50rem;
			position: relative;
			z-index: 1;
		}

@media screen and (max-width: 640px) {

.area .fuguaikaisho .txt_box {
				padding: 0.10rem 0.30rem 0.30rem;
		}
			}

.area .fuguaikaisho .txt_box .img {
				width: 40%;
				margin: 0 auto 0.10rem;
			}

.area .fuguaikaisho .txt_box .ttl {
				font-size: 0.48rem;
				font-weight: 700;
				color: #0068b6;
				line-height: 1.4;
			}

@media screen and (max-width: 640px) {

.area .fuguaikaisho .txt_box .ttl {
					font-size: 0.25rem;
					line-height: 1.5;
			}
				}

.area .fuguaikaisho .txt_box .txt {
				font-size: 0.24rem;
				font-weight: 700;
				line-height: 1.5;
				padding-top: 0.20rem;
				text-align: justify;
			}

@media screen and (max-width: 640px) {

.area .fuguaikaisho .txt_box .txt {
					font-size: 0.16rem;
			}
				}

.area .fuguaikaisho .txt_box .txt.-blue {
					color: #0068b6;
				}

.area .bottom_box {
		background-color: #2983C6;
		padding: 0.30rem;
		padding-bottom: 2.10rem;
	}

@media screen and (max-width: 640px) {

.area .bottom_box {
			padding: 0.30rem 0.20rem;
			padding-bottom: 1.60rem;
	}
		}

.area .bottom_box .icon {
			width: 1.50rem;
			margin-left: 0.30rem;
		}

@media screen and (max-width: 640px) {

.area .bottom_box .icon {
				width: 0.60rem;
				margin-left: 0.20rem;
		}
			}

.area .bottom_box .icon img {
				display: block;
			}

.area .bottom_box .ttl {
			font-size: 0.70rem;
			font-weight: 800;
			color: #FFF;
			line-height: 1.3;
			text-align: center;
			padding: 0.10rem 0 0.30rem;
		}

@media screen and (max-width: 640px) {

.area .bottom_box .ttl {
				font-size: 0.40rem;
				line-height: 1.4;
				padding: 0.10rem 0 0.20rem;
		}
			}

.area .bottom_box .kakomi {
			background-color: #FFF;
			padding: 0.20rem 0 0.22rem;
			text-align: center;
			border-radius: 0.20rem;
			font-size: 0.60rem;
			font-weight: 800;
			color: #0068b7;
			width: calc(100% - 0.40rem);
			margin: 0 auto;
			position: relative;
		}

@media screen and (max-width: 640px) {

.area .bottom_box .kakomi {
				width: 100%;
				font-size: 0.36rem;
				padding: 0.15rem 0 0.18rem;
		}
			}

.taiki {
	background-color: #FFF;
	padding: 0.30rem;
}

@media screen and (max-width: 640px) {

.taiki {
		padding: 0.20rem;
}
	}

.taiki .ttl {
		padding-bottom: 0.30rem;
	}

.taiki .taiki_ttl {
		font-size: 0.36rem;
		font-weight: 700;
		padding-bottom: 0.15rem;
		padding-top: 0.30rem;
	}

@media screen and (max-width: 640px) {

.taiki .taiki_ttl {
			font-size: 0.24rem;
	}
		}

.taiki .txt {
		font-size: 0.26rem;
		font-weight: 500;
		line-height: 1.65;
		padding-bottom: 0.10rem;
	}

@media screen and (max-width: 640px) {

.taiki .txt {
			font-size: 0.16rem;
	}
		}

.taiki .taiki_bottom_box {
		padding-top: 0.30rem;
	}

@media screen and (max-width: 640px) {

.taiki .taiki_bottom_box {
			padding-top: 0.20rem;
	}
		}

.taiki .taiki_bottom_box .bottom_ttl {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			    -ms-flex-align: center;
			        align-items: center;
		}

.taiki .taiki_bottom_box .bottom_ttl img {
				display: block;
				width: 0.32rem;
				padding-right: 0.10rem;
				position: relative;
				top: 0.02rem;
			}

@media screen and (max-width: 640px) {

.taiki .taiki_bottom_box .bottom_ttl img {
					width: 0.20rem;
					padding-right: 0.06rem;
			}
				}

.taiki .taiki_bottom_box .bottom_ttl span {
				display: block;
				font-size: 0.30rem;
				font-weight: 700;
			}

@media screen and (max-width: 640px) {

.taiki .taiki_bottom_box .bottom_ttl span {
					font-size: 0.18rem;
			}
				}

.taiki .taiki_bottom_box .bottom_sub_ttl {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			    -ms-flex-align: center;
			        align-items: center;
			padding-top: 0.30rem;
			padding-bottom: 0.30rem;
		}

@media screen and (max-width: 640px) {

.taiki .taiki_bottom_box .bottom_sub_ttl {
				padding: 0.20rem 0;
		}
			}

.taiki .taiki_bottom_box .bottom_sub_ttl img {
				display: block;
				width: 0.32rem;
				padding-right: 0.10rem;
				position: relative;
				top: 0.02rem;
			}

@media screen and (max-width: 640px) {

.taiki .taiki_bottom_box .bottom_sub_ttl img {
					width: 0.20rem;
					padding-right: 0.04rem;
					top: 0.01rem;
			}
				}

.taiki .taiki_bottom_box .bottom_sub_ttl span {
				display: block;
				font-size: 0.26rem;
				font-weight: 700;
				letter-spacing: 0;
				line-height: 1.4;
			}

@media screen and (max-width: 640px) {

.taiki .taiki_bottom_box .bottom_sub_ttl span {
					font-size: 0.16rem;
					word-break: keep-all;
			}
				}

/* 固定TEL */
.floating_tel {
	position: fixed;
	left: 50%;
	bottom: 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	z-index: 10;
	width: 100%;
	max-width: 6.40rem;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}
@media screen and (max-width: 1024px) and (orientation: landscape) {
		.floating_tel::before {
			content: "";
			width: 100%;
			height: 0.80rem;
			background-color: #f3d925;
			position: absolute;
			bottom: 0;
			left: 0;
			z-index: 0;
		}
	}
.floating_tel a {
		display: block;
		position: relative;
		z-index: 1;
	}
@media screen and (max-width: 1024px) and (orientation: landscape) {
.floating_tel a img {
				max-width: 3.50rem;
				margin: auto;
		}
			}

/* よくある質問 */
.faq {
	margin-top: -1.30rem;
	padding: 0 0.30rem 2.00rem;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 640px) {
	.faq {
		margin-top: -1.00rem;
		padding: 0 0.20rem 1.40rem;
	}
}

.faq .txt_area {
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 0.50rem;
}

.faq .faq_ttl {
	text-align: center;
	background-color: #0068b6;
	padding: 0.20rem 0;
	text-align: center;
	font-size: 0.32rem;
	font-weight: 700;
	color: #FFF;
	border-radius: 0.20rem;
}
@media screen and (max-width: 640px) {
	.faq .faq_ttl {
		padding: 0.15rem 0;
		font-size: 0.22rem;
		border-radius: 0.10rem;
	}
}

.faq .faq_list_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 0.30rem 0;
	padding-top: 0.30rem;
}
@media screen and (max-width: 640px) {
	.faq .faq_list_wrap {
		gap: 0.20rem 0;
	}
}

.faq .faq_list_wrap .faq_list {
	width: 100%;
}

.faq .faq_list_wrap .faq_list .q_ttl {
	font-size: 0.24rem;
	font-weight: 700;
	line-height: 1.5;
	text-indent: -0.42rem;
	padding-left: 0.42rem;
	padding-right: 0.40rem;
	margin-bottom: 0.10rem;
	position: relative;
	cursor: pointer;
}
@media screen and (max-width: 640px) {
	.faq .faq_list_wrap .faq_list .q_ttl {
		font-size: 0.17rem;
		text-indent: -0.30rem;
		padding-left: 0.30rem;
		padding-right: 0.30rem;
	}
}

.faq .faq_list_wrap .faq_list .q_ttl span {
	color: #0068b6;
}

.faq .faq_list_wrap .faq_list .q_ttl i {
	position: absolute;
	width: 0.16rem;
	height: 0.16rem;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
	.faq .faq_list_wrap .faq_list .q_ttl i {
		width: 0.12rem;
		height: 0.12rem;
	}
}

.faq .faq_list_wrap .faq_list .q_ttl i::before {
	content: "";
	width: 100%;
	height: 0.02rem;
	background-color: #57A4D1;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}

.faq .faq_list_wrap .faq_list .q_ttl i::after {
	content: "";
	width: 0.02rem;
	height: 100%;
	background-color: #57A4D1;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.faq .faq_list_wrap .faq_list.-open .q_ttl i::after {
	-webkit-transform: translate(-50%,-50%) rotate(90deg);
	        transform: translate(-50%,-50%) rotate(90deg);
}

.faq .faq_list_wrap .faq_list .txt_box {
	position: relative;
	padding-left: 0.42rem;
	display: none;
}
@media screen and (max-width: 640px) {
	.faq .faq_list_wrap .faq_list .txt_box {
		padding-left: 0.30rem;
	}
}

.faq .faq_list_wrap .faq_list .txt_box::before {
	content: "A.";
	color: #f39800;
	position: absolute;
	font-size: 0.24rem;
	font-weight: 700;
	top: 0.07rem;
	left: 0.16rem;
}
@media screen and (max-width: 640px) {
	.faq .faq_list_wrap .faq_list .txt_box::before {
		font-size: 0.16rem;
		top: 0.05rem;
		left: 0.10rem;
	}
}

.faq .faq_list_wrap .faq_list .txt_box .txt {
	font-size: 0.20rem;
	line-height: 1.85;
	text-align: justify;
}
@media screen and (max-width: 640px) {
	.faq .faq_list_wrap .faq_list .txt_box .txt {
		font-size: 0.15rem;
	}
}

.syuri_box {
	background-color: #FFF;
	padding: 0.30rem;
}

@media screen and (max-width: 640px) {

.syuri_box {
		padding: 0.20rem;
}
	}

.syuri_box a {
		display: block;
		border: 0.10rem solid #0068b6;
		border-radius: 0.20rem;
		padding: 0.30rem;
	}

@media screen and (max-width: 640px) {

.syuri_box a {
			border: 0.06rem solid #0068b6;
			padding: 0.20rem;
			border-radius: 0.10rem;
	}
		}

.syuri_box a .ttl {
			font-size: 0.45rem;
			font-weight: 700;
			color: #1A1A1A;
			line-height: 1.1;
			padding-left: 1.10rem;
			position: relative;
		}

@media screen and (max-width: 640px) {

.syuri_box a .ttl {
				font-size: 0.26rem;
				padding-left: 0.60rem;
		}
			}

.syuri_box a .ttl::before {
				content: "";
				width: 0.90rem;
				height: 0.90rem;
				background-image: url(../img/common/syuri_icon_header.png);
				background-position: center;
				background-repeat: no-repeat;
				background-size: contain;
				position: absolute;
				left: 0;
				top: 50%;
				-webkit-transform: translateY(-50%);
				        transform: translateY(-50%);
			}

@media screen and (max-width: 640px) {

.syuri_box a .ttl::before {
					width: 0.50rem;
					height: 0.50rem;
			}
				}

.syuri_box a .catch {
			padding: 0.20rem 0 0.15rem;
			font-size: 0.37rem;
			font-weight: 900;
			color: #1A1A1A;
		}

@media screen and (max-width: 640px) {

.syuri_box a .catch {
				font-size: 0.22rem;
				padding: 0.15rem 0 0.10rem;
		}
			}

.syuri_box a .catch span {
				color: #0068b6;
			}

.syuri_box a .lead {
			line-height: 1.4;
			font-size: 0.35rem;
			font-weight: 500;
			color: #1A1A1A;
		}

@media screen and (max-width: 640px) {

.syuri_box a .lead {
				font-size: 0.20rem;
		}
			}

.syuri_box a .list {
			padding: 0.20rem 0;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-ms-flex-wrap: wrap;
			    flex-wrap: wrap;
			gap: 0.15rem 0;
		}

@media screen and (max-width: 640px) {

.syuri_box a .list {
				padding: 0.15rem 0;
				gap: 0.06rem 0;
		}
			}

.syuri_box a .list .detail {
				width: 100%;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
			}

.syuri_box a .list .detail .icon {
					width: 0.50rem;
				}

@media screen and (max-width: 640px) {

.syuri_box a .list .detail .icon {
						width: 0.26rem;
				}
					}

.syuri_box a .list .detail .txt {
					font-size: 0.30rem;
					font-weight: 500;
					color: #1A1A1A;
					padding-left: 0.14rem;
				}

@media screen and (max-width: 640px) {

.syuri_box a .list .detail .txt {
						font-size: 0.18rem;
						padding-left: 0.10rem;
				}
					}

.syuri_box a .bottom_txt {
			text-align: center;
			font-size: 0.35rem;
			font-weight: 700;
			line-height: 1.2;
			color: #1A1A1A;
		}

@media screen and (max-width: 640px) {

.syuri_box a .bottom_txt {
				font-size: 0.22rem;
		}
			}

.syuri_box a .btn {
			margin-top: 0.20rem;
			background-color: #0068b6;
			text-align: center;
			border-radius: 0.10rem;
			font-size: 0.35rem;
			font-weight: 700;
			line-height: 1;
			color: #FFF;
			padding: 0.25rem 0 0.28rem;
		}

@media screen and (max-width: 640px) {

.syuri_box a .btn {
				margin-top: 0.15rem;
				font-size: 0.22rem;
				padding: 0.15rem 0 0.18rem;
				border-radius: 0.06rem;
		}
			}
/*# sourceMappingURL=style-dist.css.map */