@charset "utf-8";

/*********************
 sub_top
*********************/
#sub_top{
	position:relative;
	width:100%;
	padding:0;
}
#sub_top #top_image{
	display: block;
	height: 500px;
	object-fit: cover;
	width:100%;
	object-position: right bottom;
}
#sub_top #top_image_blog{
	margin-top:50px;
	width:100%;
	max-width:600px;
}
#sub_top h1{
	position:absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width:100%;
	max-width:1024px;
	text-align:center;
	font-weight:normal;
}
#sub_top h1 font{
	font-size:1.6em;
	letter-spacing: .5em;
	color:#666;
	text-shadow :
		 2px  2px 5px #fff,
		-2px  2px 5px #fff,
		 2px -2px 5px #fff,
		-2px -2px 5px #fff,
		 2px  2px 5px #fff,
		-2px  2px 5px #fff,
		 2px -2px 5px #fff,
		-2px -2px 5px #fff,
		 2px  2px 5px #fff,
		-2px  2px 5px #fff,
		 2px -2px 5px #fff,
		-2px -2px 5px #fff,
		 2px  2px 5px #fff,
		-2px  2px 5px #fff,
		 2px -2px 5px #fff,
		-2px -2px 5px #fff,
		 2px  2px 10px #fff,
		-2px  2px 10px #fff,
		 2px -2px 10px #fff,
		-2px -2px 10px #fff,
		 2px  2px 10px #fff,
		-2px  2px 10px #fff,
		 2px -2px 10px #fff,
		-2px -2px 10px #fff,
		 2px  2px 10px #fff,
		-2px  2px 10px #fff,
		 2px -2px 10px #fff,
		-2px -2px 10px #fff,
		 2px  2px 10px #fff,
		-2px  2px 10px #fff,
		 2px -2px 10px #fff,
		-2px -2px 15px #fff,
		 2px  2px 15px #fff,
		-2px  2px 15px #fff,
		 2px -2px 15px #fff,
		-2px -2px 15px #fff,
		 2px  2px 15px #fff,
		-2px  2px 15px #fff,
		 2px -2px 15px #fff,
		-2px -2px 15px #fff,
		 2px  2px 15px #fff,
		-2px  2px 15px #fff,
		 2px -2px 15px #fff,
		-2px -2px 15px #fff,
		 2px  2px 15px #fff,
		-2px  2px 15px #fff,
		 2px -2px 15px #fff,
		-2px -2px 15px #fff,
		 2px  2px 20px #fff,
		-2px  2px 20px #fff,
		 2px -2px 20px #fff,
		-2px -2px 20px #fff,
		 2px  2px 20px #fff,
		-2px  2px 20px #fff,
		 2px -2px 20px #fff,
		-2px -2px 20px #fff,
		 2px  2px 20px #fff,
		-2px  2px 20px #fff,
		 2px -2px 20px #fff,
		-2px -2px 20px #fff,
		 2px  2px 20px #fff,
		-2px  2px 20px #fff,
		 2px -2px 20px #fff,
		-2px -2px 30px #fff,
		 2px  2px 25px #fff,
		-2px  2px 25px #fff,
		 2px -2px 25px #fff,
		-2px -2px 25px #fff,
		 2px  2px 25px #fff,
		-2px  2px 25px #fff,
		 2px -2px 25px #fff,
		-2px -2px 25px #fff,
		 2px  2px 25px #fff,
		-2px  2px 25px #fff,
		 2px -2px 25px #fff,
		-2px -2px 25px #fff,
		 2px  2px 30px #fff,
		-2px  2px 30px #fff,
		 2px -2px 30px #fff,
		-2px -2px 30px #fff,
		 2px  2px 30px #fff,
		-2px  2px 30px #fff,
		 2px -2px 30px #fff,
		-2px -2px 30px #fff,
		 2px  2px 30px #fff,
		-2px  2px 30px #fff,
		 2px -2px 30px #fff,
		-2px -2px 30px #fff,
		 2px  2px 30px #fff,
		-2px  2px 30px #fff,
		 2px -2px 30px #fff,
		-2px -2px 30px #fff,
		 2px  2px 30px #fff,
		-2px  2px 30px #fff,
		 2px -2px 30px #fff,
		-2px -2px 30px #fff;
}
/*********************
 reform
*********************/
#reform article{
	width:100%;
	max-width:900px;
	margin:0px auto;
	padding:120px 15px 60px;
}
#reform article .box_s,
#reform article .box,
#reform article .box_e{
	position: relative;
	padding-bottom:50px;
}
#reform article .box_s:before {
	position: absolute;
	content: "";
	width: 3px;
	height: calc( 100% - 50px);
	background-color:#d3d3d3;
	left:23px;
	top: 50px;
}
#reform article .box:before {
	position: absolute;
	content: "";
	width: 3px;
	height: 100%;
	background-color:#d3d3d3;
	left:23px;
	top: 0;
}
#reform article .box_e:before {
	position: absolute;
	content: "";
	width: 3px;
	height: 50px;
	background-color:#d3d3d3;
	left:23px;
	top: 0;
}
#reform article .image{
	width:220px;
}
#reform article .num{
	position: relative;
	width:50px;
	z-index:99;
}
#reform article .icon{
	position: relative;
	top:5px;
	width:100px;
	margin:0 0 0 50px;
}
#reform article .text{
	position: relative;
	top:5px;
	font-size:0.9em;
	width:calc(100% - 250px);
}
#reform article .text ul{
	list-style-type:"・";
	margin-left:14px;
}
#reform article h2{
	font-weight:normal;
	font-size:1.6em;
	padding-bottom:5px;
}
#reform article h2.text1{ color:#e2bbca; }
#reform article h2.text2{ color:#dea7ac; }
#reform article h2.text3{ color:#e2baaa; }
#reform article h2.text4{ color:#d5c7ae; }
#reform article h2.text5{ color:#b5c6b0; }
#reform article h2.text6{ color:#9ebab1; }
#reform article h2.text7{ color:#b9d1dc; }
#reform article h2.text8{ color:#b1c0dd; }

/*********************
 about
*********************/
#about article{
	width:100%;
	max-width:900px;
	margin:0px auto;
	padding:70px 15px 10px;
}
#about article h2{
	font-weight:normal;
	font-size:1.4em;
	color:#98a4b0;
	position: relative;
	padding:80px 0 80px;
}
#about article h2:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 2px;
	background-color:#98a4b0;
	left:0;
	top:50%;
}
#about article h2 p{
	display:inline-block;
	position: relative;
	padding-right:15px;
	letter-spacing: .1em;
	background:#fff;
	z-index:99;
}
#about article .box{
	margin-bottom:100px;
	line-height:2.0em;
}
#about article .box img.logo{
	width:100%;
	max-width:150px;
	margin-right:75px;
}
#about article .box .center{
	text-align:center;
}
#about article .box font{
	color:#97b0c7;
}
#about article h3{
	text-align:center;
	font-size:1.2em;
	line-height:1.8em;
	letter-spacing: .3em;
	font-weight:normal;
	margin:20px 0 100px;
	color:#97b0c7;
}
#about article .area{
	width:100%;
	max-width:700px;
	margin:0px auto 70px;
}

/*********************
 about/worker
*********************/
#works article{
	width:100%;
	max-width:900px;
	margin:0px auto;
	padding:120px 15px 10px;
}
article .worker{
	margin-bottom:100px;
}
article .worker font{
	color:#97b0c7;
}
article .worker .image{
	margin-right:40px;
}
article .worker img{
	border-radius:50%;
	width:200px;
}
article .worker h1{
	font-size:1.2em;
	font-weight:normal;
	margin-bottom:10px;
}
article .worker p{
	margin-right:10px;
}


/*********************
 Q&A
*********************/
#qa article{
	width:100%;
	margin:0px auto;
	padding:40px 15px 10px;
}
#qa #detail h1{
	width:100%;
	font-weight:normal;
	max-width:1024px;
	padding:80px 0 40px;
	margin:0 auto;
	text-align:center;
	color:#98a4b0;
	font-size:1.8em;
	letter-spacing: .4em;
}
#qa #detail .detail_area{
	background:#ececec;
	padding:60px 15px 40px;
	margin-bottom:50px;
}
#qa #detail .qa_box{
	width:100%;
	max-width:1050px;
	margin:0 auto 20px;
	background:#fff;
}
#qa #detail .qa_box p{
	width:100%;
	padding:15px 40px;
	font-weight:normal;
	letter-spacing: .2em;
	position: relative;
	background:#fff;
	cursor:pointer;
}
#qa #detail .qa_box p.active{
	color:#fff;
	background:#98a4b0;
}
#qa #detail .qa_box p:after{
	content: "＋";
	color:#98a4b0;
	font-size: 1.4em;
	position: absolute;
	right:20px;
}
#qa #detail .qa_box p.active:after{
	content: "－";
	color:#fff;
	font-size: 1.4em;
	position: absolute;
	right:20px;
}
#qa #detail .qa_box .flexbox:before{
	content: "Q.";
	padding-right:10px;
}
#qa #detail .qa_box .content{
	padding:20px 50px;
	display: none;
}
#qa #detail .qa_box .content:before{
	content: "A.";
	color:#cf777c;
	padding-right:10px;
}

/*********************
 blog
*********************/
#blog article{
	width:100%;
	max-width:1200px;
	margin:0px auto;
	padding:80px 0 0;
}

#blog .pageNum{
	font-size:0.8em;
	padding:0 0 15px;
}
#blog .pageNum #pageNumber{
	padding:3px 5px;
	width:60px;
	text-align:center;
	border: 1px solid #999;
	font-size:1.2em;
}

#blog .formlink{
	color:#666;
	text-align:right;
}
#blog .selectlink{
	padding:3px 5px;
	text-align:left;
	border: 1px solid #999;
}
#blog .blogList{
	flex-wrap:wrap;
	margin-bottom:50px;
	margin:0 -35px;
}
#blog .blogList a{
	display:block;
	width:calc((100% / 3) - 70px);
	margin:15px 35px 50px;
	text-decoration:none;
	color:#666;
}
#blog .blogList a:hover img{
	transition: .2s;
	opacity:0.5;
}
#blog .blogList a img{
	width:100%;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	border:1px solid #eee;
}
#blog .blogList a p{
	color:#777;
	font-size:0.9em;
}
#blog .blogList a h1{
	margin-top:5px;
	font-weight:normal;
	font-size:1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.2em;
}

/* ページング */
#blog .pager{
	margin:30px 0;
}
#blog .pager li.right{
	margin-left: auto;
}
#blog .pager li a{
	display:inline-block;
	border:1px solid #98a4b0;
	color: #98a4b0;
	text-align;:center;
	padding:15px 30px;
	text-decoration:none;
}
#blog .pager li:first-child a{
	margin-right:15px;
}
#blog .pager li:last-child a{
	margin-left:15px;
}
#blog .pager li a:hover{
	color: #fff;
	background:#98a4b0;
}

/*********************
 blog_page
*********************/
#blog_page{
	text-align:center;
}
#blog_page article{
	width:100%;
	max-width:1200px;
	margin:0px auto;
	text-align:left;
}
#blog_page .blogTitle{
	padding:50px 15px 10px;
}
#blog_page .blogTitle .time{
	color:#777;
	font-size:1em;
}
#blog_page .blogTitle h1{
	font-weight:normal;
	font-size:1.2em;
	line-height: 1.5em;
}
#blog_page .blogBody{
	padding:30px 15px;
	border-top: 1px solid #bebebe;
	border-bottom: 1px solid #bebebe;
}
#blog_page .blogBody .cate{
	font-size:0.8em;
	color:#666;
	margin-bottom:30px;
}
#blog_page .blogBody .cate a{
	color: #062ae1;
	margin-bottom:30px;
}
#blog_page .blogBody .cate a:hover {
	color:#f60;
}
#blog_page .blogBody img{
	max-width:100%;
}

/* ページング */
#blog_page .pager{
	margin:80px 0 60px;
}
#blog_page .pager li{
	text-align:center;
	width:50%;
}
#blog_page .pager li:first-child{
	text-align:left;
	width:25%;
}
#blog_page .pager li:last-child{
	text-align:right;
	width:25%;
}
#blog_page .pager li a{
	display:inline-block;
	border:1px solid #98a4b0;
	color: #98a4b0;
	text-align;:center;
	padding:15px 30px;
	text-decoration:none;
}
#blog_page .pager li a:hover{
	color: #fff;
	background:#98a4b0;
}