html{font-size:18px;}
body{-webkit-text-size-adjust:100%;}

.for_pc{display:none;}
.center_sp{margin-left:auto;margin-right:auto;text-align:center;}




.nav a.off::after{
	top:24px;
}



#header_wrapper{
	background:#fff;
	position:fixed;
	z-index:2;
	top:0;
	left:0;
	height:70px;
	width:100%;
	box-shadow:0 2px 2px rgba(0,0,0,0.2);
}
body{
	margin-top:70px;
}
#header .hdr{
	width:140px;
	height:110px;
}
#header .nav{
	display:none;
	background:#f7f7f7;
	position:absolute;
	width:100%;
	z-index:1;
	top:70px;
	left:0;
}
#header .nav li{
	text-align:center;
	border-bottom:1px solid #ddd;
}
#header .nav a{
	display:block;
	padding:10px;
}
#header .nav .contact a{
	margin:auto;
}



#footer .bar .wrp{
	text-align:center;
}
#footer .copy{
	text-align:center;
}



.dl_tbl{
	border-top:2px solid #f1e426;
}
.dl_tbl dt,
.dl_tbl dd{
	margin:0;
	padding-left:30px;
}
.dl_tbl dt{
	padding-top:20px;
	font-weight:bold;
}
.dl_tbl dd{
	padding-bottom:20px;
	border-bottom:2px solid #f1e426;
}
.dl_tbl.noline{
	border-top:none;
}
.dl_tbl.noline dt{
	font-weight:normal;
	padding-top:0;
}
.dl_tbl.noline dd{
	border-bottom:none;
}



.dl_tbl_form dt,
.dl_tbl_form dd{
	margin:0;
}
.dl_tbl_form dt{
	padding-top:10px;
	padding-bottom:5px;
	font-weight:bold;
}
.dl_tbl_form dd{
	padding-bottom:10px;
}



#visual .wrp{
	height:220px;
}



#visual.index .wrp{
	height:330px;
}
#visual.index .wrp .hdr{
	font-size:33px;
	top:35%;
}
#visual.index .wrp .txt{
	font-size:18px;
	bottom:35%;
}



#visual.sns_web .wrp{
	height:550px;
	background-position:right 20px top 20px,
						right 100px bottom 30px,
						right 20px bottom 20px;
	background-size:70px,
					280px,
					90px;
}
#visual.sns_web .wrp .hdr{
	left:20px;
	top:90px;
	font-size:35px;
	line-height:40px;
}
#visual.sns_web .wrp .txt{
	left:20px;
	top:140px;
	font-size:20px;
	line-height:40px;
}



#visual.sw_support .wrp{
	height:200px;
	background-position:right 20px top 20px,
						right 20px bottom 20px;
	background-size:70px,
					90px;
}
#visual.sw_support .wrp .hdr{
	left:20px;
	top:90px;
	font-size:35px;
	line-height:40px;
}



#sw_support .flow{
	flex-direction:column;
}
#sw_support .flow .cell{
	width:50%;
}
#sw_support .flow .arrow{
	clip-path:polygon(0 0,100% 0,50% 100%);
}



#sw_support .box.op{
	flex-direction:column;
}



#sw_support .box.op .box_cell{
	width:80%;
	margin-left:auto;
	margin-right:auto;
}





.rrt_ttl{
	padding-top:60px;
	font-size:25px;
	line-height:40px;
	background-position:center top;
	background-size:150px;
	text-align:center;
}





















.drawer{
	position:absolute;
	top:5px;
	right:0;
}
.drawer_hidden {
  display: none;
}

.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;
  cursor: pointer;
}
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 2px;
  width: 30px;
  background: #211;
  transition: 0.2s;
  position: absolute;
}

.drawer_open span:before {
  bottom: 10px;
}
.drawer_open span:after {
  top: 10px;
}

#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
