@charset "utf-8";

html{
	padding: 0;
	margin: 0px;
	outline: 0px none;
}
body{
	padding: 0;
	margin: 0px;
	scrollbar-base-color:#ffccff;
	font-size:14px;
	color:#333333;
	text-align: left;
	background-color: #ffffff;
	font-family: -apple-system, blinkMacSystemFont,'Helvetica Neue','Segoe UI','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;
	letter-spacing: 1px;
	overflow-x: hidden;
}
table{
	border-collapse: collapse;
}
h1 {
  color: #6cb4e4;
  text-align: center;
  padding: 0.25em;
  border-top: solid 2px #6cb4e4;
  border-bottom: solid 2px #6cb4e4;
  background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
  background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
}
h2{
	font-size: 30px;
	padding: 0.1em;
	margin: 0.3em;
	/*線の種類（二重線）太さ 色*/
  border-bottom: double 5px #88ccee;
}
h3{
  position: relative;
  color: #158b2b;
  font-size: 20px;
  padding: 10px 0;
  text-align: center;
  margin: 1.5em 0;
}
h3:before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  width: 150px;
  height: 58px;
  border-radius: 50%;
  border: 5px solid #a6ddb0;
  border-left-color: transparent;
  border-right-color: transparent;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
h4{
	font-size: 18px;
	position: relative;/*相対位置*/
	padding-left: 1.2em;/*アイコン分のスペース*/
  line-height: 1.4;/*行高*/
  color: #6b54a9;/*文字色*/
}
h4:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1b0";/*アイコンのユニコード*/
  position: absolute;/*絶対位置*/
  font-size: 1em;/*サイズ*/
  left: 0;/*アイコンの位置*/
  top: 0;/*アイコンの位置*/
  color: #ff938b; /*アイコン色*/
}
hr{
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	height: 1px;
	border-color: #cccc55;
}
.str_bold{
	font-weight: bold;
}
.str_red{
	color: #ee4444;
}
.float_left{
	float: left;
}
.float_right{
	float: right;
}
.clear_both{
	clear: both;
}
.header {
	vertical-align: top;
}
.header_top{
	background: linear-gradient(#99f1ff, #66b1ff);
}
.header_top_str{
	margin: 0 auto;
	width: 1001px;
	text-align: left;
}
.header_top_str a{
	text-decoration:none;
	color: #333333;
}
.header_top_menu{
	height: 42px;
	background: linear-gradient(#99f1ff, #66b1ff);
	border-top: 1px solid #1188dd;
	border-bottom: 1px solid #1188dd;
}
.header_ad{
	text-align: center;
	margin: 0 auto;
	width: 970px;
}
.title_str{
	color: #ffffff;
	border: 1px solid #df503f;
	background: linear-gradient(#ff705f, #ff705f);
	border-radius: 8px;
	padding: 4px;
	margin: 2px 10px;
	font-size:15px;
	font-weight: bold;
}
.logo{
	position: relative;
	top: 10px;
	left: 36px;
}
.logo img{
	position: absolute;
	width: 52px;
	top: -8px;
	left: -41px;
	border-radius: 12px;
}

.qa{
	margin-right: 20px;
	position: relative;
	top: 10px;
	left: 26px;
}
.qa img{
	position: absolute;
	width: 52px;
	top: -7px;
	left: -28px;
}
.qa_pop{
	display: block;
	margin-left: 10px;
	padding: 6px;
	width: 230px;
	border: 2px solid #bbbb55;
	background-color: #ffffff;
	border-radius: 6px;
}
a.qa_pop{
	font-size: 15px;
	text-decoration: none;
}
ul.menu{
	margin: 0;
	padding: 0;
	text-align:left;
}
.menu li{
	list-style: none outside none;
}
.menu li:first-child a{
	border-left: 1px solid #1188dd;
}
.menu li a{
	border-right: 1px solid #1188dd;
	float: left;
	background: linear-gradient(#ffffff 50%, #bbbbbb);
	width: 110px;
	height: 23px;
	padding: 10px 7px 9px;
	text-align: center;
	display: block;
	font-weight: bold;
	text-decoration: none;
	color: #3e3e3e;
	font-size: 14px;
}
.menu a:hover{
	height: 19px;
	color: #217121;
	border-bottom: 4px solid #33ffcc;
}
.menu a.menu_active{
	height: 19px;
	color: #3e3e3e;
	border-bottom: 4px solid #77eeff;
}
.wrapper {
	clear: both;
	margin: 0 auto;
	width: 1000px;
	padding: 10px 0;
}
.wrapper img{
	width: 45%;
	margin: 5px;
	padding: 5px;
	border: 1px dashed #ff7733;
}
.footer {
	clear: both;
	background: linear-gradient(#99f1ff, #66b1ff);
}
.footer_menu{
	margin: 5px;
	padding: 5px;
	font-size: 15px;
	text-align: center;
}
.footer_menu a{
	text-decoration:none;
	color: #333333;
}

.footer_bottom_str{
	margin: 0 auto;
	width: 1000px;
	text-align: center;
}
.c_box{
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;    /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
}
.list_box{
	position: relative;
	width: 323px;
	background: #ffffff;
	float: left;
	border: 1px solid #fffff5;
	border-radius: 6px;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.56);
	margin: 5px;
}
.list_box a{
	text-decoration:none;
	color: #000000;
}
.list_box a.template{
	color: #ffffff;
	display: block;
	width: 140px;
	padding: 2px 5px;
	background: #71f399;
	border-radius: 6px 0 6px 0;
	position: absolute;
	font-weight: bold;
    z-index: 1;
    top: -1px;
    left: -1px;
}
.list_box .created{
	padding: 2px;
	color: #777777;
}
.list_box .pv{
	padding: 2px;
	color: #cc7777;
}
.list_box .title{
	font-weight: bold;
	font-size: 20px;
	padding: 3px;
}
.list_box .url a{
	font-size: 11px;
	color: #a1a1a1;
	padding: 4px;
}
.list_box img{
	width: 100%;
	margin: 0;
	border: 0;
	padding: 0;
}
.list_box .contents{
	padding: 6px;
}
.view_table td, th{
	padding: 10px;
	border: 1px solid #dddddd;
}
.view_table th{
	padding: 10px 15px;
	font-size: 16px;
	white-space: nowrap;
	background-color: #77bbff;
}
.msg_box{
	background-color: #ffffff;
	border-radius: 7px;
	padding: 15px;
	margin: 8px;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.56);
}
.index_div{
	background: linear-gradient(45deg, #fff7ff, #f9ddaa);
	border-radius: 7px;
	padding: 12px;
	margin: 8px;
	width: 442px;
}
.contact_div{
	background: linear-gradient(#ffffff , #eeeeff);
	border-radius: 7px;
	padding: 20px;
	margin: 8px;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.56);
}

.qa_table{
	margin: 10px;
}
.q_l{
	background-color:#ff9999;
	border-radius:10px 0 0 10px;
	padding: 8px;
	font-size:16px;
	font-weight: bold;
	vertical-align: middle;
}
.q_r{
	background-color:#ffeeee;
	border-radius: 0 10px 10px 0;
	padding: 5px;
}
.a_l{
	background-color:#bbddff;
	border-radius:10px 0 0 10px;
	padding: 8px;
	font-size:16px;
	font-weight: bold;
	vertical-align: middle;
}
.a_r{
	background-color:#eeeeff;
	border-radius: 0 8px 8px 0;
	padding: 5px;
}


.pc{
	display: block;
}
.sp{
	display: none;
}
.header_sp{
	display: none;
}
@media (max-width: 840px) {
	body{
		background-color: #ffffff;
	}
	h1{
		font-size: 14px;
		padding: 2px;
	}
	h2 {
		font-size: 14px;
		padding: 0.1em;
		margin: 0.3em;
		/*線の種類（二重線）太さ 色*/
		  border-bottom: double 5px #88ccee;
	}
	h4{
		margin: 2px;
		padding: 2px 21px;
	}
	.wrapper, .content, .sidebar{
		float: none;
		margin: 0 auto;
		width: auto;
	}
	.wrapper img{
		width: 95vw;
		margin: 0px;
		padding: 0px;
		border: 0px;
	}
	.header_top_str{
		width: 100vw;
		margin-left: 40px;
		padding: 5px;
	}
	.header_top .logo{
		width: 100vw;
	}
	ul.sp_menu{
		margin: 0;
		padding: 0;
		text-align:left;
	}
	.sp_menu li{
		list-style: none outside none;
	}
	.sp_menu li a{
		float: left;
		background: linear-gradient(#ffffff 50%, #bbbbbb);
		width: 60vw;
		height: 23px;
		padding: 10px 0px 9px;
		text-align: center;
		display: block;
		font-weight: bold;
		text-decoration: none;
		color: #3e3e3e;
		font-size: 14px;
	}
	.msg_box{
		padding: 2px;
		margin: 0px;
		box-shadow: 0 0 0;
		background-color: #ffffff;
	}
	.index_div{
		background: linear-gradient(45deg, #fff7ff, #f9ddaa);
		border-radius: 7px;
		padding: 3px;
		margin: 1px;
		width: 94vw;
	}
	.c_box{
		display: block;
	}
	.list_box{
		width: 100vw;
		font-size: 12px;
		padding: 4px;
		margin: 5px 0px;
		border: 0px;
		border-radius: 0px;
	  	float: none;
		box-shadow: 0 0 0px rgba(0, 0, 0, 0.56);
	}
	.works a{
		text-align:center;
		display: block;
		padding: 3px 1px;
		margin: 1px;
		color: #ffffff;
		font-size: 11px;
		font-weight: bold;
		background-color:#ff705f;
		border-radius: 12px;
		text-decoration: none;
		float: left;
		width: 30vw;
		height: 17px;
	}
	.contact_div{
		background: linear-gradient(#ffffff , #ffeeee);;
		border-radius: 7px;
		padding: 4px;
		margin: 0px;
		box-shadow: 0 0 4px rgba(0, 0, 0, 0.56);
	}
	.contact_div img{
		width: 92vw;
		border-radius: 7px;
	}
	.float_right{
		float: none;
	}
	.footer_menu{
		font-size: 12px;
	}
	.news_old{
		width: 330px;
		padding: 1px;
	}
	.news_old_box{
		width: auto;
	}
	.pc, .breadcrumb{
		display: none;
	}
	.sp{
		display: inline;
	}
	.footer_bottom_str{
		font-size: 11px;
		width: 100vw;
		text-align: center;
	}
		#nav-drawer {
		position: relative;
		z-index: 999;
	}
	/*チェックボックス等は非表示に*/
	.nav-unshown {
		display:none;
	}
	/*アイコンのスペース*/
	#nav-open {
		position: fixed;
		top: 0px;
		left: 0px;
		padding: 4px;
		background: #ffffff;
		z-index: 999;
		display: inline-block;
		width: 25px;
		height: 21px;
		vertical-align: middle;
	}
	/*ハンバーガーアイコンをCSSだけで表現*/
	#nav-open span, #nav-open span:before, #nav-open span:after {
		position: absolute;
		height: 2px;/*線の太さ*/
		width: 25px;/*長さ*/
		border-radius: 3px;
		background: #555;
		display: block;
		content: '';
		cursor: pointer;
	}
	#nav-open span:before {
		bottom: -8px;
	}
	#nav-open span:after {
		bottom: -16px;
	}
	/*閉じる用の薄黒カバー*/
	#nav-close {
	  display: none;/*はじめは隠しておく*/
	  position: fixed;
	  z-index: 99;
	  top: 0;/*全体に広がるように*/
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background: black;
	  opacity: 0;
	  transition: .3s ease-in-out;
	}

	/*中身*/
	#nav-content {
	  overflow: auto;
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: 9999;/*最前面に*/
	  width: 60%;/*右側に隙間を作る（閉じるカバーを表示）*/
	  max-width: 230px;/*最大幅（調整してください）*/
	  height: 100%;
	  background: #eeeeee;/*背景色*/
	  transition: .3s ease-in-out;/*滑らかに表示*/
	  -webkit-transform: translateX(-105%);
	  transform: translateX(-105%);/*左に隠しておく*/
	}

	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked ~ #nav-close {
	  display: block;/*カバーを表示*/
	  opacity: .5;
	}

	#nav-input:checked ~ #nav-content {
	  -webkit-transform: translateX(0%);
	  transform: translateX(0%);/*中身を表示（右へスライド）*/
	  box-shadow: 6px 0 25px rgba(0,0,0,.15);
	}
}