@charset "utf-8";

body {
  font-size: 12px;
  line-height: 1.7em;
}

.pc-only{ display:none}

.center-pconly{
	text-align: left;}
.br-blook-sp{ display:block}


.p-mt {
  margin-top: 10px;
} 
.respo-mt1 {
  margin-top: 60px!important;
}
.respo-mt2 {
  margin-top: 30px;
} 
.respo-mt3 {
  margin-top: 15px;
}


/*------画像拡大------*/
.img100{
	width: 100%;
}
.img70-100,.img80-100{
	width: 100%;
}

/*------------------------
baselayout------------------------*/

.wrap900{
  width: 100%;
	padding-left: 20px;
	padding-right: 20px;
}
#bodybg{
	background-image: url(../img/bodybg.jpg);
	background-repeat: repeat-x;
	background-position: center top;
	padding-top: 30px;
	padding-bottom: 0px;
}
.flex-body{display: block;
  width: 100%;
}
.flex-body-side{display: none;}
.flex-body-main{width: 100%;}

/*------------------------
head------------------------*/
#main-menu{ display:none}
#headupper {
	background-image: url(../customimg/headupper.jpg);
	background-repeat: repeat-x;
	background-position: center top;
	height: 10px;
	margin: 0px;
	padding: 0px;
	text-align: center;
}
#head-sp{ background-image: url(../img/headbg.jpg);
	background-color: #ffffff;
	height: 60px;
	width: 100vw;
	z-index: 5;
	position: fixed;
	top: 0;
	left: 0;
    border-bottom-width: 1px;
	border-bottom-style: solid;
	z-index: 100;
}
#headlogosp{
	position: fixed;
	margin-top: 5px;
    	margin-bottom: 5px;
	left: 5px;
	min-height: 40px;
}
#headlogosp img{width:80%;}

#spbtn{
	position: fixed;
	height: 40px;
	margin-top: 10px;
	right: 10px;
width: 40px;
}
#spbtn img{
	float: right;
}

/*------------------------
spmenu------------------------*/
.spmenuline{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #dbdbdb;
}
#spmenu{
	background-color: #0070C0;
	font-size: 1.5em;
	display: none;
	width: 100vw !important;
	line-height: 250%;
	top: 60px;
	position: fixed;
	left: 0;
	z-index: 100;
	height: calc(100vh - 60px);
	overflow-y: scroll;
}
#spmenu a,#spmenu a:visited,#spmenu a:hover,#spmenu a:active {
	color: #FFFFFF;
	text-decoration: none;
}
#spmenu .spmenu1{
	padding: 5px 0px 5px 2em;
    border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #ffffff;
    }
#spmenu .spmenu2{
	padding: 5px 0px 5px 1em;
    border-top-width: 1px;
	border-top-style:dashed;
	border-top-color: #ffffff;
    }
.spmenu-box{margin-left: 50px;}


.sp-submenu{
	display: none;
}

/*------トップメイン画像------*/
#tommainimgbg {margin-top: 60px;
}
#tommainimgbg #tommainimg {
}
#tommainimgbg #tommainimg img{width: 100%;}


/*------トップリード------*/
#topreadbox {width: 100%;
	background-color: #f9f7f1;
	border: 1px solid #f0efeb;
	padding-top: 5px;
	padding-right: 9px;
	padding-bottom: 5px;
	padding-left: 9px;
	margin: 0px;
}
/*------お知らせトップ------*/

#topnews {
	border: 1px solid #f0efeb;
	margin-top: 40px;
	padding-bottom: 10px;
}
#topnews dl{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #dcdcdc;
	width: 585px;
	margin-left: 9px;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-right: 9px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 5px;
}
#topnews dt{
	clear: left;
	float: left;
	width: 100px;
	padding-left: 15px;
	background-image: url(../customimg/dticon.png);
	background-position: left center;
	background-repeat: no-repeat;
}
#topnews  dd{
	margin-left: 115px;
}
/*------------------------
サービス紹介------------------------*/
.flex-service{display: block;
  width: 100%;
  }

.flex-service-container{width: 100%;
padding: 0px 0px 20px 0px;}
.flex-service-container img{width: 100%;}


/*------------------------
h1------------------------*/
h1 {
	font-size: 10px;
	font-weight: normal;
	color: #3F75BE;
	margin: 0px;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	text-align: left;
	float: left;
	width: 480px;
	height: 60px;
}

h2 {
	background-image: url(../customimg/h2point.gif);
	background-repeat: no-repeat;
    background-position: left center;
	text-align: left;
	vertical-align: middle;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
	font-size: 20px;
	line-height: 80px;
	color: #3F75BE;
	font-weight: normal;
	margin-top: 0px;
	margin-bottom: 0px;
}

h3 {
	font-size: 1.3em;
	font-weight: bold;
	color: #3F75BE;
	background-image: url(../customimg/h3.png);
	background-repeat: no-repeat;
	background-position: top;
	margin-top: 0px;
	margin-bottom: 15px;
	border: 1px solid #f0efeb;
	padding-top: 15px;
	padding-right: 15px;
	padding-bottom: 10px;
	padding-left: 15px;
}
#topnews h3 {
	margin-top: 0px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	margin-bottom: 0px;
	padding-bottom: 5px;
}
h4 {
	font-size: 1.2em;
	font-weight: bold;
	background-image: url(../customimg/h4point.jpg);
	background-repeat: no-repeat;
	margin-top: 20px;
	margin-bottom: 10px;
	padding-top: 3px;
	padding-right: 10px;
	padding-bottom: 3px;
	padding-left: 30px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #3F75BE;
	background-position: left center;
	line-height: 2em;
	clear:both;
}
h4.arrow {
	font-size: 1.2em;
	font-weight: bold;
	background-image: url(../img/arrow.gif);
	background-repeat: no-repeat;
	margin-top: 0px;
	margin-bottom: 10px;
	padding-top: 3px;
	padding-right: 10px;
	padding-bottom: 3px;
	padding-left: 20px;
	border-bottom-style: none;
	background-position: left center;
	line-height: 2em;
	border-top-style: none;
	border-right-style: none;
	border-left-style: none;
}
#h2bg {
	background-image: url(../img/h2bg.jpg);
	background-repeat: repeat-x;
	background-position: center top;
	height: 80px;
	margin-top: 50px;
}

h2 span{
	font-size: 12px;
	padding-left: 20px;
	vertical-align: middle;
}

/*------お知らせ------*/
#topnews{  border: 1px solid #f0efeb;
	margin-top: 40px;}
.flex-news{display: flex;
  width: 100%;
  justify-content: space-between;
  flex-wrap:wrap;
    flex-direction: row;
   align-items: stretch;
   padding: 10px;
}

.flex-news-day{width: 30%;
border-bottom: 1px solid #dcdcdc;
padding: 10px 0px 10px 0px;}

.flex-news-title{width: 70%; border-bottom: 1px solid #dcdcdc;padding: 10px 0px;}
.flex-news-day i{color:#B2C8E5; margin-right: 5px;}

/*------お問い合わせフォーム------*/

.flex-form{
display: block;
width: 100%;
  border-top: 1px solid #dbdbdb;
  margin: 30px 0px;
}
.flex-form .container1{width: 100%; padding: 20px 0px 10px 0px;}
.flex-form .container2{width: 100%;padding: 0px 0px 20px 0px;border-bottom: 1px solid #dbdbdb;}

/* img */
.imgWrap {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
}
.imgWrap img {
	display: block;
	-moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
	-ms-transition: -ms-transform 0.5s linear;
	transition: transform 0.5s linear;
}
.imgWrap img:hover {
	transform: scale(1.05);	/*画像の拡大率*/
	-webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
}

/*------thumb set------*/
.thumb-l,.thumb-r{
	float: none;
}
/*------footer-----*/
#footer {
	background-image: url(../customimg/corecolor.jpg);
	background-repeat: repeat-x;
	background-position: center top;
	padding-top: 10px;
	padding-bottom: 20px;
	margin-right: auto;
	margin-left: auto;
	font-size: 0.9em;
}
.flex-footer {display: block;
width: 100%;
	background-color: #f9f7f1;
	border: 1px solid #f0efeb;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
}
.flex-footer-l {
width: 100%;
}
.flex-footer-r {
width: 100%;
}
