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:1200px;margin:auto;box-sizing:border-box;}
.inner{padding:0 8px;}
.inner>*{overflow:hidden;}



.content{
	margin:50px auto;
	max-width:1000px;
	box-sizing:border-box;
}
.clr{
	color:#d11;
}
.big{
	font-size:30px;
	line-height:50px;
	font-weight:bold;
}
.lnkbtn{
	display:table;
	background:#000;
	color:#fff;
	text-decoration:none;
	padding:15px 30px;
	font-size:18px;
	line-height:25px;
	border:none;
	appearance:none;
	-webkit-appearance:none;
}
.mark{
	display:inline-block;
	border:1px solid #d00;
	color:#d00;
	padding:0 6px;
	font-size:13px;
	line-height:20px;
	margin-left:10px;
}



.nav{
	list-style:none;
	padding:0;
	margin:0;
}
.nav a{
	text-decoration:none;
	color:inherit;
}
.nav a.off{
	color:#bbb;
	pointer-events:none;
}






.ttl .hdr{
	display:table;
	margin-left:auto;
	margin-right:auto;
	font-size:40px;
	line-height:60px;
	font-weight:normal;
	padding-left:70px;
	background:url(../img/logo_only.png) center left no-repeat;
	background-size:60px;
}
.box_ttl{
	margin:2rem 0;
}
.box_ttl > *{
	margin:0;
}
.box_ttl .hdr{
	font-size:27px;
	line-height:40px;
}
.box_ttl .subhdr{
	font-size:20px;
	line-height:30px;
}



.box{
	margin:50px 0;
}
.box .lst{
	font-size:19px;
	line-height:25px;
	display:table;
	margin-left:auto;
	margin-right:auto;
	background-repeat:no-repeat;
}
.box .lst li{
	margin:20px 0;
	border-bottom:10px solid #fe2;
}
#web .box.probrem .lst{
	background-image:url(../img/prb_1.png);
}
#sns .box.probrem .lst{
	background-image:url(../img/prb_2.png);
}



.box.solution .wrp .cell{
	border:2px solid #ddd;
	box-shadow:5px 5px 0 #aaa;
	padding:5px 20px;
}
.box.solution .wrp .hdr{
	font-size:22px;
	line-height:30px;
}



#web .flow .wrp .cell{
	background:#ddd;
	position:relative;
}
#web .flow .wrp .cell > *{
	position:relative;
}
#web .flow .wrp .cell::before{
	content:"";
	position:absolute;
	width:calc(100% - 2px * 2);
	height:calc(100% - 2px * 2);
	top:2px;
	left:2px;
	background:#fff;
}
#web .flow .wrp .cell::before,
#web .flow .wrp .cell{
	clip-path:polygon(30px 0,100% 0,100% 100%,0 100%,0 30px);
}
#web .flow .wrp .arrow{
	display:block;
	width:80px;
	height:30px;
	background:#d11;
	margin:20px auto;
	clip-path:polygon(0 0,100% 0,50% 100%);
}


#sns .big{
	font-size:40px;
}
#sns .box.tool .wrp{
	display:flex;
}
#sns .box.tool .wrp .cell{
	text-align:center;
}
#sns .box.tool .wrp .cell p{
	margin:0;
}

#sns .box.flow .wrp .cell{
	text-align:center;
}
#sns .box.flow .wrp .cell .dscr{
	margin:0;
}
#sns .box.flow .wrp .clip{
	background:#999;
	position:relative;
	padding:10px 30px;
}
#sns .box.flow .wrp .clip > *{
	position:relative;
	margin:0;
}
#sns .box.flow .wrp .clip img{
	width:200px;
}
#sns .box.flow .wrp .clip::before{
	content:"";
	position:absolute;
	width:calc(100% - 2px * 2);
	height:calc(100% - 2px * 2);
	top:2px;
	left:2px;
	background:#fff;
}
#sns .box.flow .wrp .clip::before,
#sns .box.flow .wrp .clip{
	clip-path:polygon(0 0,90% 0,100% 50%,90% 100%,0 100%,10% 50%);
}






#header{
	position:relative;
}



#footer .wrp_nav{
	background:#333;
	color:#fff;
}
#footer .btm{
	background:#211;
	color:#fff;
}
#footer .copy{
	font-size:13px;
	line-height:18px;
}



.dl_tbl dt{
	background:#bbb;
}



#visual .wrp{
	background:url(../img/visual.jpg) center top no-repeat;
	background-size:cover;
	position:relative;
}
#visual .wrp .box{
	position:absolute;
	width:100%;
	text-align:center;
	left:0;
	top:40%;
}
#visual .wrp .hdr,
#visual .wrp .txt{
	margin:0;
	font-weight:normal;
}



#visual.index .wrp{
	background-image:url(../img/visual_top.jpg);
}
#visual.index .wrp .box{
	border:20px solid #fff;
	border-left:none;
	border-right:none;
	background:rgba(255,255,255,0.6);
	display:flex;
	box-sizing:border-box;
	align-items:center;
}
#visual.index .wrp .box > *{
	flex:1;
	text-align:left;
}















/***** 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;}
