@charset "utf-8";
/* CSS Document */

/* pankuzu
============================================= */
.main-visual{
	background-color:#817f80;
}


.top_news{
  border: 1px solid #CC3333;
  max-width: 840px;
  width: 90%;
  margin: 35px auto 20px;
  padding: 30px 5%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}
.top_news--title{
  color: #CC3333;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
.top_news .link_de{
  color: #CC3333;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.top_news .link_de:hover{
  text-decoration: none;
}
.tel_cont{
  padding-top: 10px;
}
.tel_cont .tel_num{
  position: relative;
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: 50px;
  font-weight: bold;
}
.tel_cont .sm_text{
  text-align: center;
}
.tel_cont .tel_num::before{
  content: url("../img/tel.png");
  line-height: 1;
}
.top_news--bb{
    max-width: 518px;
    width: 100%;
    margin: auto;
}

.summary{
	background: url(../../common/img/page_bg01.png) repeat-x top;
	background-size: cover;
	padding: 20px 0 40px 0;
}
.summary.white{
	background: #ffffff;
	padding: 20px 0 0 0;
	margin-bottom: 40px;
	overflow: hidden;
}
.inner{
	width: 1013px;
	margin: auto;
}
.container.white{
	background-color: #ffffff;
	padding: 15px 0 15px 40px;
	width: 960px;
}
.container.blue{
	background: url(../img/page_bg02.png) repeat-x top;
	padding: 5px 40px 15px 40px;
	width: 960px;
}
.title{
	color: #0051a1;
	font-size: 210%;
	font-weight: bold;
}
.title.white{
	color: #ffffff;
	font-size: 210%;
	font-weight: bold;
}
.icon{
	position: relative;
	left: -3px;
	top: 50px;
}
.flex_img{
  display: flex;
  justify-content: center;
  gap: 58px;
  padding-top: 35px;
  max-width: 1040px;
  width: 90%;
  margin: auto;
}
.flex_img p{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.flow{
  display: flex;
  justify-content: center;
  gap: 20px;
  padding-top: 35px;
  max-width: 1040px;
  width: 90%;
  margin: auto;
}
.flow p{
  color: #0051A1;
  font-weight: bold;
  text-align: center;
  display: flex;
  gap: 10px;
  flex-direction: column;
  font-size: 20px;
  position: relative;
}
.flow p::after{
  content: url("../img/allow.png");
  position: absolute;
  top: 40%;
  right: -28px;
  transform: translate(0%, -50%);
  z-index: 10;
}
.flow p:last-child::after{
  content: "";
}

/*よくある質問*/
.qa_box{
  padding-top: 40px;
  max-width: 1000px;
  width: 90%;
  margin: auto;
}
.qa_box .q_text{
  position: relative;
  border-bottom: 2px dotted #008AD1;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 10px;
}

.qa_box .q_text::before{
  content: "Q";
  font-size: 20px;
  color: #fff;
  background: #0051A1;
  min-width: 40px;
  width: 40px;
  min-height: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
.qa_box .a_text{
  position: relative;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.qa_box .a_text::before{
  content: "A";
  font-size: 20px;
  color: #0051A1;
  border: 1px solid #0051A1;
  min-width: 40px;
  width: 40px;
  min-height: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}

.text-bottom{
	margin-bottom: 20px;
}
.summary-inner{
	overflow: hidden;
	width: 1000px;
	margin: auto;
	margin-top: 25px;
	line-height: 1.7;
}
.left-img{
	float: left;
}
.left-img li{
	float: left;
	margin-right: 30px;
}
.right-text{
	float: right;
	width: 540px;
	line-height: 2;
}
.table-box{
	overflow: hidden;
}
.table-box tbody{
	border-top: 1px solid #cccccc;
}
.table-box tbody.gray{
	border-top: 1px solid #a0a0a0;
}

.table-box tr{
	border-bottom: 1px solid #cccccc;
}
.table-box tr.gray{
	border-bottom: 1px solid #a0a0a0;
}

.left-cell{
	background-color:#dedede;
	padding: 9px 20px;
	width: 165px;
}
.left-cell.small{
	width: 100px;
}
.left-cell.small.gray{
	background-color:#c6c6c6;
}

.right-cell{
	width: 755px;
	padding: 9px 0 9px 35px;
	background-color: #ffffff;
}
.summary.white .icon{
	position: relative;
	left: -3px;
	top: 37px;
}

.summary-box{
	width: 470px;
	float: left;
}
.summary-box.left{
	margin-right: 60px;
}
.summary-title{
	color: #0051a1;
	font-size: 143%;
	font-weight: bold;
	margin-bottom: 10px;
}
.img-box{
	float: left;
	margin-right: 28px;
	line-height: 2;
}
.img-box.last{
	margin-right: 0px;
}
.text-top{
	margin-top: 10px;
}
.text-top a{
	color: #0051a1;
}
.imd-top{
	margin-top: 40px;
	float: right;
}
.img-bottom{
	margin-bottom: 10px;
}

@media screen and ( max-width: 1000px ){
}
@media screen and ( max-width: 767px ){
  .inner {
    width: 100%;
}
.summary{
	padding:30px 5% ;
	}
.summary.white{
	padding:30px 5% 0 ;
	}
.summary-box{
	width: 100%;
	float: none;
	}
.container.white {
	padding: 20px 5%;
	width: 90%;
	}
.left-img li {
	float: none;
	margin-right: 0;
	text-align: center;
	margin-bottom: 30px;
	}
.left-cell.small {
	width: 30%;
	padding: 5%;
	}
.right-cell{
	padding: 5%;
	}
.summary-box.left {
	margin-right: 0px;
	margin-bottom: 30px;
	}
.container.blue {
	padding: 5px 5% 5px 14%;
	width: 81%;
	}
  .icon {
    position: relative;
    left: -20px;
    top: 50px;
  }
  .summary.white .icon {
    position: relative;
    left: -10px;
    top: 37px;
  }
.img-box {
	float: none;
	margin-right: 0px;
	text-align: center;
	margin-bottom: 30px;
	}
.imd-top {
	float: none;
	text-align: center;
	}
  
  .tel_cont .tel_num{
    font-size: 20px;
    padding-right: 30px;
    
  }
  .tel_cont .tel_num::before{
    content: "";
    display: inline-block;
    background: url("../img/tel.png") no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
  }
  .top_news--title{
    font-size: 20px;
  }
  .flow{
    flex-wrap: wrap;
  }
  .flow p{
    max-width: calc(50% - 10px);
    width: 190px;
  }
  .flex_img{
    flex-direction: column;
    gap: 30px;
  }
  
  .qa_box{
    padding-top: 20px;
  }
}