@charset "utf-8";
.section{
  margin-top:40px;
}

h3.saiyou {
    position: relative;
    padding: .5em 1.2em;
    color: #33336a!important;
}

h3.saiyou::before,
h3.saiyou::after {
    display: inline-block;
    position: absolute;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    border: 2px solid #33336a;
    content: '';
}

h3.saiyou::before {
    top: calc(50% - 3px);
    left: 0;
}

h3.saiyou::after {
    top: calc(50% + 3px);
    left: 5px;
}
h4.saiyou{
    color:#cc0000;
    height: 25px;
    font-size: 1.2em;
    font-weight:bold;
    margin: 10px 0 10px 0;
    border: none!important;
    padding: 0px;
    position: relative;
}
h4.saiyou:before {
    display: none;
   /* width: 0;
    height: 25px;
    background:none;
    position: relative;
    left: 0px;*/
}

.catch{
	padding:20px;
	text-align: center;
	background-color: azure;
}
.catch dt{
	font-size:1.5em;
	line-height: 2em;
}
.catch dd{
	font-size:1.3em;
	line-height: 1.5em;
	margin-bottom:10px;
}
.lead_saiyou{
	padding: 20px;
	/*background-color: azure;*/	
	}
.lead_saiyou p{
    font-size:1.2em;
	font-weight: bold;
}
.item-block{
	padding:15px 30px;
	border:1px solid #cc0000;
	margin:20px 0;
}

.text_lead{
	font-size:1.2em;
	font-weight: bold;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"
}

dl.trial dd{
	padding-left:15px;
}

/* table
-------------------------------------------------------------*/
table#company_info{
 margin:0 auto; 
}
table#company_info td{
   padding:8px 20px
}
table#company_info th{
  text-align:center;
}
table#company_info th.item{
  text-align:center;
  width:30%;
  padding:10px 20px;
}

/* process
-------------------------------------------------------------*/
.process{
	width: 100%;
	max-width: 850px;
	margin: 20px auto 0;
}
.process dl{
	padding: 0 0 15px;
	position: relative;
}
.process dl:after{
	content: "";
	width: 0px;
	height: 100%;
	border-left: 2px dotted #cc0000;
	position: absolute;
	top: 2px;
	left: 14px;
}
.process dl:last-child:after{
	display: none;
}
.process dl dt{
	width: 100%;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}
.process dl dt span.num{
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 0 2px 2px 0;
	/*border-radius: 100px;*/
	background-color: #cc0000;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	/*font-style: oblique;*/
}
.process dl dt span.txt{
	width: calc(100% - 45px);
	padding: 0;
	color: #cc0000;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.55;
}
.process dl dd{
	margin: 0 0 0 45px;
	padding: 5px 0 15px 0;
	/*border-bottom: 1px solid #DDD;*/
	position: relative;
	z-index: 2;
}
.process dl:last-child dd{
	padding: 5px 0 0 0;
	border-bottom: none;
}