body{margin:0;padding:0;line-height:2rem;font-family:sans-serif;}
p,table,dl,ul,ol,hr,
h1,h2,h3,h4,h5,h6{margin-top:1rem;margin-bottom:1rem;}
img{max-width:100%;height:auto;vertical-align:bottom;border:none;}

a img{transition:0.3s;}
a:hover img{opacity:0.8;}

.center{margin-left:auto;margin-right:auto;text-align:center;}
.ta_r{text-align:right;}
.ta_l{text-align:left;}
.ofh{overflow:hidden;}
.ofa{overflow:auto;}
.tofh{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
.w1px{width:1px;}
.w100{width:100%;box-sizing:border-box;}
.wsnr{white-space:nowrap;}
.mincho{font-family:serif;}
.dpn{display:none;}
.hide_txt{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}

.inner_w,
.inner{max-width:1024px;margin:auto;box-sizing:border-box;}
.inner{padding:0 8px;}
.inner>*{overflow:hidden;}



.content{
	margin-bottom:30px;
	padding:30px 0;
}
#visual_wrapper.content{
	padding:0;
}
.color_t{
	color:#063;
}
.color_bg{
	background:#063;
	color:#fff;
}
.lnkbtn{
	display:table;
	background:#063;
	color:#fff;
	text-decoration:none;
	padding:10px 40px;
	font-size:18px;
	line-height:25px;
	border:none;
	appearance:none;
	-webkit-appearance:none;
}
.mark{
	display:inline-block;
	background:#063;
	color:#fff;
	padding:0 8px;
	font-size:13px;
	line-height:22px;
	margin-left:10px;
	border-radius:5px;
}
.tdds{
	text-decoration:underline;
	text-decoration-style:dashed;
	text-decoration-thickness:3px;
	text-underline-offset:10px;
	text-decoration-color:#d11;
	font-size:23px;
	line-height:40px;
}
.color_bg .tdds{
	text-decoration-color:#ff0;
}



.nav{
	list-style:none;
	padding:0;
}
.nav a{
	text-decoration:none;
	color:inherit;
}



#header_wrapper{
	width:100%;
}
#header > *{
	margin:0;
}
#header .hdr img{
	width:150px;
}
#header .divtel{
	font-size:15px;
	line-height:25px;
	text-align:center;
}
#header .tel{
	font-size:18px;
}



#footer .logo img{
	width:180px;
}
#footer .name a{
	text-decoration:none;
	color:inherit;
}
#footer .nav{
	list-style:none;
	padding:0;
	text-align:right;
	margin:0;
}
#footer .nav a{
	text-decoration:none;
	color:inherit;
	line-height:28px;
}
#footer .copy{
	font-size:14px;
	line-height:20px;
}



#tocontact{
	background:#f4f4f4;
	padding:10px;
}
#tocontact .dscr{
	font-size:18px;
	line-height:25px;
	font-weight:bold;
}
#tocontact .txttel{
	text-align:right;
}
#tocontact .txttel > *{
	margin:0;
}
#tocontact .tel{
	font-size:35px;
	line-height:45px;
	font-weight:bold;
	display:flex;
	align-items:center;
	column-gap:10px;
}
#tocontact .tel .icn{
	background:#d11;
	color:#fff;
	padding:0 15px;
	font-size:30px;
	border-radius:15px;
	display:inline-block;
}
#tocontact .lnkbtn{
	background:url('../img/icn_mail_w.png') center left 30px no-repeat #063;
	background-size:30px;
	padding:20px 30px 20px 70px;
}



#visual{
	background:#063;
	text-align:center;
}
#visual_wrapper:not(.index) #visual{
	padding:10px;
	margin-top:10px;
}



#top_about .hdr{
	font-size:23px;
	line-height:35px;
}
#top_about .dscr{
	font-size:15px;
	line-height:25px;
}
#top_about .wrp .cell > *{
	margin:0;
}
#top_about .wrp .txt{
	font-size:18px;
	font-weight:bold;
}



#top_voice .wrp{
	border:1px solid #fff;
	display:flex;
	margin:20px auto;
	padding:15px;
	column-gap:25px;
	align-items:center;
	max-width:700px;
}
#top_voice .wrp .img{
	width:80px;
}
#top_voice .wrp .txt{
	flex:1;
}



#top_flow .hdr{
	font-size:23px;
	line-height:40px;
}
#top_flow .hdr span{
	background:#d11;
	color:#fff;
	padding:5px 60px;
	border-radius:10px;
	display:inline-block;
}
#top_flow .lnk .tdds{
	border:1px solid #666;
	color:inherit;
	padding:0 30px;
	line-height:60px;
	display:inline-block;
	border-radius:30px;
	font-weight:bold;
}



#flow .wrp .txt .num{
	color:#d11;
	font-size:24px;
	line-height:34px;
	font-weight:bold;
	margin-bottom:0;
}
#flow .wrp .txt .hdr{
	font-size:26px;
	line-height:36px;
	font-weight:bold;
	margin-top:0;
}



#contact #tocontact .cell:not(.txttel){
	display:none;
}





/***** form *****/
select,
textarea,
input[type=password],
input[type=tel],
input[type=url],
input[type=email],
input[type=search],
input[type=number],
input[type=reset],
input[type=text]{
	padding:10px;
	font-size:1.1rem;
	border:1px solid rgba(0,0,0,0.3);
	border-radius:5px;
	margin:1px;
	box-sizing:border-box;
	width:calc(100% - 1px);
}
input[type=reset]{
	padding:5px 15px;
	font-size:1rem;
}

/***** color *****/
.red{color:#ff0000;}
.green{color:#008000;}
.blue{color:#0000ff;}
.cyan{color:#00ffff;}
.magenta{color:#ff00ff;}
.yellow{color:#ffff00;}
