:root {
	--color-body: #f1f1f1;
	--color-dark:  #0086b3;
	--color-light: #bfefff;
  
    --color-link: #0086b3;
	--color-link-hover: #04B4AE;
	--color-header-txt: #008080;
	
	--color-h1: orange;
	--color-h1-bottom: #09c;
	--color-h1-i: #ffbfcf;
	--color-h1-first-letter:#669933	;

}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html, body {
	margin: 0;
	padding: 0;
	background-color: var(--color-body);
}
body {
	font-family: 'M PLUS Rounded 1c', 'Kosugi Maru', BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	background-color: #dddddd;
background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(.3, transparent), color-stop(.3, #ffffff), to(#ffffff)),
-webkit-gradient(linear, 0 0, 100% 0, color-stop(.3, transparent), color-stop(.3, #ffffff), to(#ffffff));
-webkit-background-size: 3px 3px;

}
a{text-decoration:none;}
a:link { color: var(--color-link); }
a:visited { color: var(--color-link); }
a:hover { color:  var(--color-link-hover); }
a:active { color: var(--color-link); }

img {
   max-width: 100%;  /* 横幅に合わせて自動縮小するが、拡大はしない */
}


h1{
	letter-spacing: 3px;
	line-height: 150%;
	border-bottom-width: 4px;
	border-bottom-style: dotted;
	border-bottom-color: var(--color-h1-bottom);
	font-size: 1.8em;
	color: var(--color-h1);
	padding-top: 1em;
	padding-bottom: 0.1em;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 5px;
	margin-left: 0;
}
h1 i{
	font-size: 2em;
	color: var(--color-h1-i);
	letter-spacing: 0.2em;
}

h1:first-letter {
	font-size: 2em;
	color: var(--color-h1-first-letter);;
	
}

h1.igusaicon{
}
h1.igusaicon:before{
	content: "";
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	background-size: contain;
	background-image: url(../images/igusaicon.png);
	background-repeat: no-repeat;
	margin-right: 0.3em;
}

h2{
	font-size: 1.4em;
letter-spacing:2px;
border-bottom: dotted 1px gray;
margin: 1em 0 1em 0;
line-height: 150%;
}

header {
	width: 100%;
	color: var(--color-header-txt);
	background-origin: border-box;

	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;

}

/*
header a{
	color: #333;
	text-decoration: none;
}

header a:link { color: #333; }
header a:visited { color: #333; }
header a:hover { color: #09F; }
header a:active { color: #09F; }
*/

/*
.corpname{
	font-size: 1.3em;
	letter-spacing: 0.1em;

}
*/

.corpname { font-size: 0; } 

.corpname::before { content: url("../images/title.png");
					display: inline-block; 
					}
 



/*
.corpname:before{
	content: url(../images/ohanas.png);
	position: relative;
	top: 5px;
	margin-right: 5px;

}
*/

.phone{
	font-size: 1.2em;
	letter-spacing: 0.1em;
	font-weight: bolder;
}

/*Flexsliderに画像ドット処理*/
/*
.flexslider .slides {
	background-image: url(../images/dot.png);
	background-repeat: repeat;
	background-blend-mode: overlay;
  background-position: 0px ;
  background-size: auto, cover;
}

.flexslider .slides img {
  opacity: 0.93;
}
*/

main{
	

	}



footer {
	color: #FFF;
	margin: 0 auto;
	margin-top: 0em;
	text-align: center;
	background-color:  var(--color-light);
}

footer a:link {
	color: #FFC;
}
footer a:visited { color: #FFC; }
footer a:hover {
	color: #FF3;
}
footer a:active { color: #FFC; }

footer ul { display: flex;
			flex-wrap:wrap;
			margin-top:0; }

footer li{
  list-style: square;
  margin-left: 40px;
  text-indent:-8px;
}

.maxwidth{
	max-width: 1100px;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	background-color: #F2F2F2;
	padding-top: 0px;
	padding-right: 18px;
	padding-bottom: 0px;
	padding-left: 18px;
}

.maxwidth_slide{
	max-width: 1100px;
	padding: 0;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	background-color: #F2F2F2;
}

.maxwidth_header{
	max-width: 1100px;
	padding: 0px;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	background-color: #F1F1F1;
	padding-top: 0.1em;
	padding-right: 1em;
	padding-right: 0.5em;
	padding-bottom: 0.4em;
	padding-bottom: 0;
	padding-left: 1em;
	padding-left: 0.5em;
	text-align:right;
}

.maxwidth_foot{
	max-width: 1100px;
	font-size: 1em;
	background-color:var(--color-dark);;
	width: 100%;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-top: 2em;
	padding-right: 0px;
	padding-bottom: 2em;
	padding-left: 0px;
}

.padding-bottom{
	padding-bottom: 2em;
}



.w100{
	 width: 100%;
	 height:auto;

}

.w33{
	width: 32.95%;


	height: auto;
	display: inline-block;
	text-align: center;
	border: 1px solid gray
	background-color:white;
	object-fit: cover; 
	vertical-align: top;
}

.w33 h2{
	
	font-size:1.4em;
	margin:0;
	margin: 0.3em 0;
	padding:0;
	
	
}

.w33 p{
	margin: 0;
	padiing: 0;
	text-align: left;
	font-size: 0.9em;
	padding-bottom: 15px;
	
}

.w33 img{
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}

.leftbox{
	padding: 0 8% 0 0;
}

.centerbox{
	padding: 0 4% 0 4%;
}

.rightbox{
	padding: 0 0 0 8%;
}


.inlineframe {
	background-color: #FFE8F8;
	width: 100%;
	height: 150px;
	overflow: auto;
	overflow-y: scroll;
	overflow-x: hidden;
}

.inlineframe li{
	line-height:2em;
	padding-left :5px;
}






.topimg{
	 width: 100%;
	 height:auto;
	 object-fit: cover; 
}

.top3img{
	 width: 100%;
	 height:200px;
	 object-fit: cover; 
}

.subimg{
	 width: 100%;
	 height:120pxx;
	 object-fit: cover;
	 font-family: 'object-fit: cover;'; /*IE対策*/
}



.block_nav {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1000;

}

.blocks {

  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}




table {
	width:100%;
  border-collapse: collapse;
  border: solid 1px gray;/*表全体を線で囲う*/
}
table th, table td {
	border: 1px dotted gray;
	padding: 0.5em;
}

table tr:nth-child(even) {
background: #;
}

.fontfacebook{
	font-size:1.2em;
	text-align:center;
}
.flex {
	display:flex;
	flex-direction: row;
	justify-content: flex-start;

}
.flex-between-wrap {
	display:flex;
	flex-direction: row;
	justify-content: flex-start;
	justify-content: space-between;
	flex-wrap:wrap;

}

.w60-100{
	width:68%
}

.w50-100{
	width:50%
}

.w35-100{
	width:30%
}

@media screen and (min-width : 768px){
.pc_hidden{
	display:none;
}
header div{
	
	margin-right: 3%;
	margin-left: 3%;
}

.mapimg{
	width:400px;
}

}

/*----SP------*/
@media screen and (max-width : 768px){
.sp_hidden{
	display:none;
}
.fontfacebook{
	font-size:1em;
}

.flex,.flex-between-wrap{
	flex-direction: column;
	}

.w60-100 , .w50-100 ,.w35-100{
	width:100%
}	

body {
	font-size: 0.9em;
	background-color:  var(--color-body);
	background-image: none;

}
header {
	background-origin:border-box;
	margin: 0 auto 0 auto;
	padding:1em 1em;
}
.maxwidth_header{

	text-align:left;
}



section{
	padding:0 5px;
}

h1{
font-size: 1.1em;
letter-spacing:3px;
border-bottom: solid 1px gray;
margin: 1em 0 1em 0;
line-height: 150%;
}

h1:first-letter {
font-size: 1.3em;
color: #7172ac;
}

h2{
	font-size: 1em;
letter-spacing:2px;
border-bottom: dotted 1px gray;
margin: 1em 0 1em 0;
line-height: 150%;
}
/*
.corpname{
	 font-size:1.1em;
		letter-spacing:0.1em;
}
*/

.corpname{
	 font-size:0;
		letter-spacing:0.1em;
}
/*
.corpname:before{
	font-family: "Font Awesome 5 Free";
	content: "\f58e";
	margin-right:5px;
	-webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  	top: 0px;
}
*/

.phone{
	 font-size:1em;
		letter-spacing:0.1em;
}


footer {
	font-size:0.9em;
	padding: 1em 0 1em 0;
	line-height: normal;
	background-color:  var(--color-dark);
}

.maxwidth{

	padding-right: 10px;

	padding-left: 10px;
}

.maxwidth_foot{

	padding-top: 0.2em;
	padding-bottom: 0.2em;

}

.w33{
	width: 32%;

}

.w33 h2{	
	font-size:0.9em;
	font-weight: bold; 
	
}

.w33 p{
	font-size:0.8em;
	
}
.topimg{
	 width: 100%;
	 height:100px;
	 object-fit: cover; 
}

.top3img{
	 width: 100%;
	 height:130px;
	 object-fit: cover; 
}

.subimg{
	 width: 100%;
	 height:120px;
	 object-fit: cover; 
}

.leftbox{
	padding: 0 2% 0 0;
}

.centerbox{
	padding: 0 1% 0 1%;
}

.rightbox{
	padding: 0 0 0 2%;
}

table th, table td {
	border: 1px dotted gray;
	padding: 0.5em;
	display:block;
}

.padding-bottom{
	padding-bottom: 0em;
}

}
