@charset "utf-8";
/* CSS Document */
/*------------------共通------------------*/
body { 
	width: 100%;
	margin: 0 auto;
	font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	color:#333;
	min-width:1040px;
	line-height: 1.5;
}
.pc_none{
	display: none !important;
}
img { vertical-align:bottom; }
.inbox{
	width: 980px;
	margin: auto;
}
a:hover{
	opacity: 0.7;
}
.f-yugo{
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: bold;
}
/*footer 固定 css*/
html,body {
	height:100%;
}
#wrap {
	width: 100%;
	position: relative;
	height:auto !important; /*IE6対策*/
	height: 100%; /*IE6対策*/
	min-height: 100%;
}
.content_w {
	padding-bottom: 160px; /*フッターの高さと同じ*/
}
#footer {
	height: 160px;
	position:absolute;
	right: 0;
	bottom:0;
	left: 0;
}


/*-----------------header------------------*/

h1 {
	color:#999;
	font-size:12px;
	font-weight:normal;
	background-color:#F2F2F2;
}

h1 span {
	display: block;
	width:980px;
	margin:0 auto;
	height:20px;
	line-height:20px;
}

#h_inner {
	padding:15px 0;
	font-size: 12px;
}
.h-logo,.h-right li,.f-l-t-right li{
	float: left;
}
.h-right,.h-right li:last-of-type,.f-l-t-right li:last-of-type{
	float: right;
}
.h-right{
	width: 428px;
}
.hf-dl dl{
	width: 100%;
	display: table;
	margin-top: 5px;
	color: #666666;
}
.hf-dl dt,.hf-dl dd{
	display: table-cell;
	vertical-align: middle;
	height: 20px;
	line-height: 20px;
}
.hf-dl dt{
	color: #666666;
	text-align: center;
	width: 60px;
	background-color: #e6e6e6;
}
.hf-dl dd{
	padding-left: 5px;
}
#side_cnt {
	position:fixed;
	right:0;
	top:30px;
	z-index:999;
}
#side_cnt li{
	margin-bottom: 10px;
}


/*---------navi------------*/
nav {
	background-color:#0A4F9D;
	text-align: center;
}
nav li{
	float: left;
	border-left: 1px solid #2a63b7;
}
nav li:last-child{
	border-right: 1px solid #2a63b7;
}


/*---------main_visual------------*/

#main_visual {
	width:100%;
	height:480px;
	position:relative;
	text-align:center;
	border-bottom:10px solid #E6E6E6;
	z-index:998;
}

#mv_bnr {
	position:absolute;
	margin:auto auto auto 950px;
	left:0;
	right:0;
	bottom:-60px;
}

/* bxslider
---------------------------------------------------- */

.bx-wrapper {
	width:100%;
	margin:0 auto;
	position:relative;
	overflow:hidden;
}

.bx-viewport { 
    overflow: visible!important;
    margin:auto;
	text-align:center;
}

.bx-pager {
	display:none;
}

/*mainvisual*/

#main_visual .bx-viewport {
	width:1200px !important;
}

#main_visual #top_slider li {
	width:1200px !important;
	margin: 0;
	padding: 0;
}

#main_visual .bx-controls-direction {
	position:absolute;
	width:1200px;
	height:40px;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}

#main_visual .bx-prev,#main_visual .bx-next {
	width:40px;
	height:40px;
}

#main_visual .bx-prev{
	background:url(../img/prev.png) no-repeat left top;
	position:absolute;
	left:-20px;
}

#main_visual .bx-next {
	background:url(../img/next.png) no-repeat left top;
	position:absolute;
	right:-20px;
}

/*-----------------container------------------*/

#container {
}
.tp-content{
	font-size: 16px;
}
#section01 {
	background:url(../img/section01_bg.jpg) no-repeat center top;
	background-size:cover;
	padding:0 0 60px;
}
#section01 span{
	font-weight: bold;
	color: #0a4f9d;
}
#section01 .sec01-t {
	background:url(../img/section01_01bg.png) repeat left top;
	padding:40px 0 38px;
	margin-bottom: 30px;
}
.sec01-textbox{
	background:url(../img/top/sec01_textbox_img.png)no-repeat right 25px top 9px,
	url(../img/top/sec01_textbox_bk.png)repeat left top;
	padding:25px;
	border-radius: 10px;
	margin-top: 10px;
}
.sec01-textbox p{
	padding:13px 15px 12px;
	background-color: #fff;
	border-radius: 10px;
	position: relative;
	width: 690px;
	box-sizing: border-box;
	text-align: justify;
}
.sec01-textbox p:after{
	content: "";
	width: 36px;
	height: 31px;
	background: url(../img/top/sec01_text_box_af.png)no-repeat left top;
	position: absolute;
	right: -36px;
	top: 51px;
}
.sec01-b p{
	width: 700px;
	margin-bottom: 40px;
	word-break: break-all;
	overflow-wrap: break-word;
	letter-spacing: -0.2px;
}
.sec01-b ul li{
	float: left;
	margin-right: 40px;
}
.sec01-b ul li:last-child{
	margin-right: 0;
}


#section02 {
	width:100%;
	min-width:980px;
}
#section02 li{
	float: left;
	width: 50%;
}
#section02 li dd{
	line-height: 23px;
}
#section02 li:nth-child(1){
	background:url(../img/section02_lbg.jpg) no-repeat center top;
	background-size:cover;
	border-bottom:10px solid #3398D3;
}
#section02 li:nth-child(2){
	background:url(../img/section02_rbg.jpg) no-repeat center top;
	background-size:cover;
	border-bottom:10px solid #264483;
}
.sec02-in a{
	display: block;
	text-align: center;
	width: 490px;
	background-color:#fff;
	position: relative;
	 -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  overflow: hidden;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.sec02-in a:hover{
	opacity: 1;
}
.sec02-in a:before{
	content: "";
	width: 100%;
	background: rgba(45,145,245,0.1);
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	right: 0;
  bottom: 0;
	border-radius: 100%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
	height: 100%;
}
/*.sec02-in a:hover::after{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top:0;
	left: 0;
	opacity: 0.3;
	background: url(../img/top/sec02_l_bk_color.png)repeat left top;
}*/
.sec02-in a:hover:before{
   -webkit-transform: scale(2);
  transform: scale(2);
}
#section02 li:nth-child(1) .sec02-in{
	float: right;
}
.sec02-in dl{
	padding:0 20px;
	height: 200px;
	line-break: strict
}
.sec02-in dt{
	margin-bottom: 7px;
}
#section02 li:nth-child(1) .sec02-in dt{
	border-bottom:1px solid #3398D3;
}
#section02 li:nth-child(2) .sec02-in dt{
	border-bottom:1px solid #264483;
}
#section03 {
	background:url(../img/section03_bg.png) repeat left top;
	overflow:hidden;
	padding-bottom: 60px;
}
.sec03-tit{
	text-align: center;
	padding:45px 0 15px;
}
.tp-blog-btn{
	width: 980px;
	margin: 40px auto 0;
}
.tp-blog-btn a{
	display: block;
	background-color: #f3a241;
	color: #fff;
	font-weight: bold;
	text-align: center;
	height: 50px;
	line-height: 50px;
}
.tp-blog-btn a span{
	position: relative;
	left: -20px;
	font-weight: normal;
}
#loopslider ul li a{
	display: block;
	position: relative;
}
#loopslider ul li .blog-img{
	width: 230px;
  	height: 180px;
  	margin: auto;
  	overflow: hidden;
  	position: relative;
}
#loopslider ul li a .blog-tit{
	display: table;
	width: 230px;
	height: 180px;
	background-color: rgba(0,0,0,0.6);
	color: #fff;
	vertical-align: middle;
	position: absolute;
	top: -230px;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
}
#loopslider ul li a .blog-tit p{
	display: table-cell;
	vertical-align: middle;
	padding:0 15px;
}
#loopslider ul li a:hover .blog-tit{
	top:0;
}
#loopslider ul li .blog-img img{
	position: absolute;
	top: 50% !important;
	left: 50% !important;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 100%;
	height:100%;
	object-fit: cover;
}
/*loopslider*/
#loopslider {
  margin: 0 auto;
  width: 980px;
  height: 180px;
  position: relative;
  overflow: hidden;
}
#loopslider ul {
  height: 180px;
  float: left;
  display: inline;
  overflow: hidden;
}
#loopslider ul li {
  width: 250px;
  height: 180px;
  float: left;
  display: inline;
  overflow: hidden;
}

#loopslider ul:after {
  content: ".";
  height: 0;
  clear: both;
  display: block;
  visibility: hidden;
}

#loopslider ul {
  display: inline-block;
  overflow: hidden;
}

#section04 {
	background:url(../img/section04_bg.jpg) no-repeat center top;
	background-size:cover;
	padding:60px 0 70px;
	text-align: center;
}

#section05 {
	background:url(../img/section05_bg.jpg) no-repeat center top;
	background-size:cover;
	padding:50px 0 80px;
	text-align: center;
}

#pageTop {
	color: #FFF;
	position: fixed;
	bottom: 5%;
	right: 2%;
	z-index:999;
}

/*-----------------footer------------------*/

#footer {
	background-color:#F2F2F2;
}

.f-in{
	padding:44px 0 14px;
	font-size: 12px;
}
.f-left{
	float: left;
	width: 580px;
}
.f-left-t .f-logo{
	float: left;
}
.f-left-t .f-l-t-right{
	float: right;
	width: 345px;
}
.f-left-t{
	padding-bottom: 10px;
	border-bottom: 1px solid #b3b3b3;
	margin-bottom: 3px;
}
.f-l-bottom p{
	color: #808080;
}
.f-nav{
	float: right;
	width: 330px;
	background-color: #fff;
	border-left: 10px solid #e6e6e6;
	box-sizing: border-box;
	padding:14px 0px 8px 18px;
}
.f-nav li{
	float: left;
	padding-left: 9px;
	background:url(../img/common/cmn_arr.png)no-repeat left center;
	background-size: 4px 8px;
	margin:0 20px 2px 0;
}
#copyright {
	color:#fff;
	background-color:#264483;
	font-size:10px;
	height:20px;
	line-height:20px;
	text-align:center;
}
#copyright a{
	color: #fff;
}
/*下層
-------------------------------------------------*/
#main_area{
	background:url(../img/common/main_bk.png) no-repeat center;
	border-bottom: 10px solid #e6e6e6;
}
#main_in{
	text-align: center;
	padding:30px 0;
}
#main_ttl{
	width: 980px;
	margin: auto;
	padding: 47px 0 47px;
	border-radius: 10px;
	background-color: rgba(255,255,255,0.8);
}
#bread {
	color: #666666;
	margin-top: 7px;
}

#bread li {
	float: left;
	font-size: 12px;
	margin-right: 2px;
	padding-right: 14px;
	position: relative;
}
#bread li:after{
	content: ">";
	position: absolute;
	right: 0px;
	top: 0px;
}
#bread li:last-child:after {
	display: none;
}

#bread li a {
	color: #666666;
}
#btt_content{
	padding: 35px 0 80px;
}
.title01{
	background:url(../img/common/title01_bk.png)repeat left top;
	border-left: 10px solid #2a63b7;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	padding:7px 10px 3px;
	margin-bottom: 15px;
}
.title02{
	font-size: 18px;
	font-weight: bold;
	padding:4px 10px 2px;
	border-bottom:1px solid #264483;
	border-top: 1px solid #264483;
	color: #264483;
	margin-bottom: 10px;
}
.title03{
	padding-bottom: 9px;
	border-bottom:5px solid #f2f2f2;
	margin-bottom: 12px;
}
.title03 span{
	display: block;
	border-left: 5px solid #3398d3;
	font-size: 18px;
	font-weight: bold;
	color: #264483;
	padding:2px 0 1px 11px;
}
.title03 span.day{
	padding:3px 0 0px 11px;
	font-size: 12px;
	color: #3398d3;
	line-height: 12px;
}
.p-nav{
	width: 660px;
	margin: auto;
	padding-bottom:40px;
}
.p-nav li{
	float: left;
	width: 300px;
}
.p-nav li a{
	display: block;
	color: #fff;
	text-align: center;
	background-color: #3398d3;
	padding:25px 0 25px 45px;
	font-size: 24px;
	line-height: 30px;
}
.p-nav li a span{
	position: relative;
}
.p-nav li a span:before{
	content: "";
	background:url(../img/common/pnav_arr.png)no-repeat center center;
	width: 30px;
	height: 30px;
	position: absolute;
	left: -45px;
	top:0px;
}
.p-nav li:last-child{
	float: right;
}
.p-nav li:last-child a{
	background-color: #264483;
}
.cmn-box{
	margin-bottom:80px;
}
.cmn-box:last-child{
	margin-bottom: 0;
}
.cmn-dl dl{
	display: table;
	width: 100%;
	color: #666666;
	border-bottom: 1px solid #b3b3b3;
}
.cmn-dl dl:last-of-type{
	border-bottom:none;
}
.cmn-dl dl dt,.cmn-dl dl dd{
	display: table-cell;
	vertical-align: top;
	box-sizing: border-box;
}
.cmn-dl dt{
	padding:12px 10px;
	background-color: #f2f2f2;
}
.cmn-dl dl dd{
	padding:12px 10px;
}
/*work
----------------------------------------*/
.work-box{
	margin-bottom: 60px;
}
.cmn-box .work-box:last-of-type{
	margin-bottom: 0;
}
.work-box p{
	margin-bottom: 28px;
}
.work-box li{
	border: 5px solid #e6e6e6;
	padding:15px;
	background-color: #fff;
	margin-bottom: 20px;
}
.work-box li:last-child{
	margin-bottom: 0;
}
.work-box li .work-img{
	float: left;
}
.work-box li dl{
	float: right;
	width: 640px
}
.work-box li dl dd{
	text-align: justify;
}
/*price
----------------------------------------*/
.price-box{
	margin-bottom: 55px;
}
.price-box:last-child{
	margin-bottom: 0;
}
.price-dl dt{
	width: 360px;
}
.price-dl p{
	padding-top: 10px;
}
/*info
----------------------------------------*/
.info-dl{
	margin-bottom: 30px;
}
.info-dl dt{
	width: 160px;
}
.staff-box dt{
	font-weight: bold;
	font-size: 18px;
	border-bottom: 3px solid #264483;
	color: #264483;
	margin-bottom: 8px;
}
/*site_map
----------------------------------------*/
.site_map-li{
	margin-top: -10px;
}
.site_map-li li a{
	display: block;
	background:url(../img/common/arr_01.png)no-repeat left 10px center;
	height: 45px;
	line-height: 46px;
	padding-left: 26px;
	color: #4d4d4d;
	font-size: 16px;
	border-bottom:1px solid #b3b3b3;
	background-size: 6px 12px;
}
/*privacy
-----------------------------------------*/
.privacy_box{
	margin-bottom: 40px;
}

/*contact
-----------------------------------------*/
.cont-dl dt{
	width: 180px;
}
.cont-dl dt span{
	color: #de5b55;
	font-size: 12px;
	padding-left: 10px;
}
.cont-dl dd li{
	float: left;
	padding-right: 20px;
}
.cont-dl dd{
	padding-left: 15px;
}
.cont-dl dd input[type=num],
.cont-dl dd input[type=text] {
	width: 100%;
	padding: 0 4px;
	border: 1px solid #b3b3b3;
	height: 25px;
}
textarea {
	width: 100%;
	padding: 0 4px;
	height: 165px;
	border: 1px solid #b3b3b3;
	display: block;
}
.contact_btn ul {
	margin-top: 45px;
  text-align: center;
}

.contact_btn li {
 display: inline-block;
}

.error-text {
  color: #de5b55;
}

#form_btn {
	color: #fff;
	font-size: 16px;
	cursor: pointer;
	border: none;
	padding: 18px 73px 18px 73px;
	background: url(../img/contact/cont-arr.png) no-repeat center right 20px #f3a241;
}
/*news-blog
----------------------------------------*/
.a-news .news-img{
	width: 200px;
	height: 160px;
	float: left;
	position: relative;
	overflow: hidden;
}
.a-news .news-img img{
	position: absolute;
top: 50% !important;
left: 50% !important;
-webkit-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
width: 100%;
height:100%;
object-fit: cover;
}
.a-news li{
	padding: 10px;
	position: relative;
	border: 5px solid #e6e6e6;
	background-color: #fff;
	margin-bottom: 20px;
}
.a-news li:last-child{
	margin-bottom: 0;
}
.a-news li a{
	display: block;
}
.a-news li dl{
	width: 730px;
	float: right;
}
.a-news li dl dt.title03 span{
	font-size: 16px;
}
.a-news li dl dt.title03 span.day{
	font-size: 12px;
	padding: 5px 0 1px 11px;
}
.a-news li dl dd{
	height: 40px;
	overflow: hidden;
}
.news-btn{
	position: absolute;
	right: 10px;
	bottom: 10px;
	width: 90px;
	height: 20px;
	font-size: 12px;
	color: #fff;
	line-height: 20px;
	text-align: center;
	background:url(../img/common/news_btn_arr.png)no-repeat left 10px center #3398d3;
	box-sizing: border-box;
	padding-left:10px;
}
.sg-in{
	border:5px solid #e6e6e6;
	padding: 15px;
	word-wrap: break-word;
    overflow-wrap: break-word;
}
.sg-in img{
	max-width: 100%;
}
.news-day{
	text-align: right;
	padding-top: 20px;
	font-size: 12px;
	color: #3398d3;
}
.page_btn{
	padding-top: 20px;
}
.page_btn a{
	font-size: 12px;
  color: #4d4d4d;
}
.page_btn .left a {
  padding:0 0 0px 10px;
  background: url(../img/common/arr_l.png) no-repeat top 5px left;
  float: left;
}

.page_btn .right a {
  padding:0 10px 0px 0;
  background: url(../img/common/arr_r.png) no-repeat top 5px right;
    float: right;
}
.text_c{
	text-align: center;
}
ul.pagenation {
  text-align: center;
  margin-top: 15px;
}

.pagenation li {
	margin: 0 5px;
    padding: 0px 5px;
    display: inline-block;
    border: 1px solid #64b9f0;
    color: #64b9f0;
}
.pagenation li.current{
	background-color: #64b9f0;
	color: #fff;
}
.a-blog li{
	width: 230px;
	float: left;
	margin:30px 20px 0 0;
}
.a-blog li:nth-child(4n){
	margin-right: 0;
}
.a-blog li:nth-child(-n+4){
	margin-top: 0;
}
.a-blog li .blog-img{
	width: 100%;
	height: 180px;
	overflow: hidden;
	position: relative;
}
.a-blog li .blog-img img{
	position: absolute;
top: 50% !important;
left: 50% !important;
-webkit-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
width: 100%;
height:100%;
object-fit: cover;
}
.a-blog li dd{
	background: url(../img/common/blog_icon.png)no-repeat left 10px center #f2f2f2;
	padding: 7px 5px 7px 30px;
	overflow: hidden;
	height: 35px;
	box-sizing: border-box;
}
.a-blog li a{
	display: block;
}