@charset 'utf-8';
@-ms-viewport{width: device-width;}

* {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box;}
html ,header, footer, article, nav {margin:0;padding:0;}
body {line-height:1.2; font-family:"メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif; font-size:18px; min-width: 960px; max-width: 1200px; margin:0 auto; padding:0; position:relative; width: 100%; -webkit-text-size-adjust: 100%;}
h1, h2, h3, h4, h5, h6, p {margin:0;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
hr {display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0;}
ul {list-style:none; padding:0; margin: 0; display:block;}
li, dt, dd {padding:0; display:inline-block;}
a {display:block; -webkit-tap-highlight-color: rgba(0,0,0,0); text-decoration: none; color: black;}
a.hover {color: black !important; text-shadow: 2px 2px 2px #FFF, -2px 2px 10px #FFF, -2px -2px 10px #FFF, 2px -2px 10px #FFF; box-shadow:rgba(255, 255, 255, 0.8) 0px 0px 6px 6px inset;
-webkit-box-shadow:rgba(255, 255, 255, 0.8) 0px 0px 6px 6px inset; filter:glow(color=#FFFFFF,strength=5px);}
a.hover:not(:target) {filter: none;}

p, div, section, address, h2, h3, li, dt, dd {background-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==);}

@font-face { font-family: 'koyodaiichi';
	src:url('../fonts/koyodaiichi.eot');
	src:url('../fonts/koyodaiichi.eot?#iefix') format('embedded-opentype'),
		url('../fonts/koyodaiichi.woff') format('woff'),
		url('../fonts/koyodaiichi.ttf') format('truetype'),
		url('../fonts/koyodaiichi.svg#koyodaiichi') format('svg');}

.webfontB:before, .webfontA:after, .webfontAB:after, .webfontAB:before, .btn:after, .btn-s:after, .btn-s:before  {font-family: 'koyodaiichi'; font-weight: normal; speak: none; display: block; position: absolute;}

header {border:6px solid #60E69A; height: 88px; padding: 5px 0; border-left: none; border-right: none; position:absolute; top: 0; width: 100%; background-color:rgba(255, 255, 255, 0.5); filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#99ffffff,EndColorStr=#99ffffff);}

#spmenu:before {content: "\e60d"; font-size: 24px; top: 6px; left: 2px;}

#title {display: inline-block; padding-right: 10px;}
#title.hover {background-color: rgba(96,230,154, 0.3); filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#5560E69A,EndColorStr=#5560E69A);}
#logo {font-size: 42px; color:#055628; font-weight: bold; padding-left: 70px;}
#title:before {content: "\e605"; color:#60E69A; font-size: 64px; top: 10px; left: 2px; text-shadow: none;}
#houzin {font-size: 18px; width: 17em; color:#055628;}
#houzin, #logo a {margin-left: 70px;}
#h_nav {float: right; }
#sub-nav {float: right; position:absolute; right: 10px; top: 0;}
#title, #h_nav a {text-shadow: 1px 1px 0px #FFF;}
#h_nav .now, #h_nav .hover {background-color: #60E69A;}
#main-nav li {padding: 1px;}
#main-nav a {font-size: 22px; padding: 8px 20px 4px 20px;}
#main-nav {float: right; position:absolute; right: 10px; bottom: 0;}
#sub-nav li, #mswitch, #pcswitch {background-color: #60E69A; padding: 1px}
#sub-nav a {padding: 4px 20px 4px 20px;}

#menu, #closemenu, #spmenu, #pcswitch, #dswitch {display:none;}

a.tel {min-width: 280px; padding-right: 40px; padding-left: 0px;}
a.tel:after {content: "\e606"; font-size: 30px; top: 14px; right: 10px; }
span.tel, span.fax {display: block; width: 230px; font-size: 22px; margin: 10px auto; text-indent: 0;}
a.tel.sinryo {background-color: #A5F3C7; border-color: #1F9553;}
a.tel.care {background-color: #FFD9AD; border-color: #BF986C;}


#logo_image {position: relative; width: 100%; z-index: -9999; background-size: cover; color:white; padding-top: 15%; background-position: bottom; }
#logo_image:after {padding: 9%; display:block; content:"";}
#categoly_title {position:absolute; width: 100%; padding: 22px 0px 22px 120px; font-size: 22px;}
#categoly_title br {display: none;}
#categoly_title:before {font-size: 34px; padding: 0 20px; top: 14px; left: 50px;}

#content {width: 100%; background-image: url(../img/b1.gif); overflow: hidden;}
#sidemenu {float: left; width:20%; margin: 20px 0 60px 1.5%; background-color: #60E69A; color: white; min-width: 230px; border: solid 1px #60E69A;}
#sidemenu h3 {padding: 5px; font-size: 22px; text-shadow: 1px 1px 0px #000;}
#sidemenu h3 a {color: white; padding: 5px 2px;}
#sidemenu ul {background-color: white;}
#sidemenu li {width: 100%; border-top: dotted 2px #60E69A;}
#sidemenu li a {position: relative; padding: 14px 0 12px 20px; border: solid 4px white; }
#sidemenu li a:before {content: "\e60b"; left: 6px; top: 12px;}
#sidemenu li:first-child {border:none;}
#sidemenu a.now {background-color: #60E69A; color: white; font-weight: bold;}
#sidemenu a.two {padding: 8px 0 3px 20px !important;}


#maincontent {float: right; width:72%; line-height: 1.5em; padding-bottom: 44px;}
#maincontent>div {float: right; width:100%; background-color: white; margin: 20px 2% 20px 0; border:1px solid #60E69A; padding: 20px;}
#maincontent h2, #onepage h2 {width: 100%; border: solid 1px #CCCCCC; border-bottom: double 5px #60E69A; background-color: #F9F9F9; padding: 5px 20px; font-size: 22px;}
h2 br {display:none;}
#maincontent h2.link {padding: 0; border: none;}
#maincontent h2 a {padding: 8px 20px; position: relative; font-size: 22px; border: solid 1px #CCCCCC; border-bottom: double 5px #60E69A; background-color: #F9F9F9;}
#maincontent h2 a:after {content: "\e602"; font-size: 30px; top: 8px; right: 20px;}
#maincontent h3, #onepage h3 {padding: 5px; margin:10px 0; border-bottom: dotted 4px #60E69A; width: 100%; font-size: 22px;}
#maincontent h4 {border-bottom: solid 1px #60E69A; width: 99%; margin: 0 auto;}

#maincontent section, #onepage section {padding: 10px 5px 30px 5px;}
#maincontent section ul {list-style-type: disc; padding-left: 20px}
#maincontent section ol {padding-left: 28px}
#maincontent section li {display: list-item; float: none;}
#maincontent section img {min-width: 296px; max-width: 768px; width: 80%; margin: 0 auto;display: block;}
#maincontent section section img {min-width: 284px; max-width: 768px; width: 80%; margin: 0 auto;display: block;}
#maincontent p, #maincontent address,#onepage p, #onepage address {padding:10px;}
#maincontent a.tel, #maincontent .mapbtn, #onepage a.tel {margin: 10px auto; max-width: 400px; margin-left: 0px;}
#maincontent section p {text-indent: 1em;}
#maincontent span.tel, #maincontent span.fax, #onepage span.tel { margin: 10px auto; max-width: 400px; margin-left: 10px; font-size: 18px;}

address {font-style: normal;}
address span, p span, div > span, caption span {white-space: nowrap;}
table {width: 95%; margin:auto;}
td, th {text-align: center; padding:10px 0;}
th {background-color: #A5F3C7;}
td {border:1px solid #A5F3C7;}

#onepage {line-height: 1.5em; padding: 15px 0 44px 0; background-image: url(../img/b1.gif); }
#onepage h2, #onepage section {margin-bottom: 15px;}
#onepage h3 {font-size: 20px;}
#onepage p,#onepage address {padding: 1px 0 1px 0.5em;}
#onepage h4 {border-bottom: solid 1px #60E69A; width: 99%; margin: 0 auto;}
#onepage article {width: 850px; min-width: 314px; margin: 0 auto; background: white; padding: 15px;}
#onepage section {padding: 0 5px;}
#onepage ol li {display: list-item; padding-bottom: 10px;}
#onepage .care  h2, #onepage .care  h3, #onepage .care  h4 {border-color: #FF6339;}

#prevnextbox {border-top: solid 5px #64B6DE; padding-top:10px;}
#prevnextbox #prev {float:left; padding: 10px;}
#prevnextbox #next {float:right;  padding: 10px;}
#prevnextbox a.hover {background-color: #64B6DE; text-decoration: underline;}

#pagetop a {height: 44px; padding: 10px 10px 0 46px; position: absolute; right: 0; top: -44px; background-color: #0F8542; color: white;}
#pagetop a:before {content: "";}
#pagetop span {filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); position: absolute; width:24px; height: 100%; left: 8px; top: 8px}
#pagetop span:before {content: "\e602"; font-size: 24px; color: white;}

footer {width:100%; text-align: center; position: relative; background-color: #E6FFE9; clear:both; border: solid 6px #0F8542; border-right: none; border-left: none; border-bottom: none;}
footer a {display: inline-block; color:#055628;}
footer a.hover {background-color: #60E69A;}
footer ul {padding-top: 14px;}
.f_sinryo_sub a, .f_care_sub a {padding-left: 30px !important; position: relative;}
.f_sinryo_sub a:before, .f_care_sub a:before {content: "\e60b"; left: 10px; top: -2px;}
#f_about {background-color: #0F8542; width:100%; padding: 0;}
#f_about a {color: white;}
#f_about li {padding:10px 10px;  margin-left: 5%;}
#f_about li:first-child {margin-left: 0;}

#fl_home {height: auto; padding-bottom: 7em; padding-left: 30px;}
#fl_sinryo {top: 0px; width: 25%; position: absolute; left: 24%; }
#fl_care {top: 0px; width: 30%; position: absolute; left: 49%;}
.f_home {height:8em; left: 0px; float:left;}
.f_other {height: 26px; width: 15%; margin-left:75%; text-align:left;}
.f_sinryo, .f_sinryo_sub, .f_care, .f_care_sub {height: 26px; width:100%; text-align:left;}

.btn {border-radius:30px; behavior:url("./css/PIE.htc"); border:4px solid black; width:95%; height:60px; text-align: center; margin: 0 auto; font-size: 22px; padding: 14px 14px; padding-right: 60px; position: relative;  line-height: 1.2em;}
.btn-s {border-radius:22px; behavior:url("./css/PIE.htc"); border:1px solid black; padding-top: 13px; width:70%; height:44px; text-align: center; margin: 0 auto; position: relative; line-height: 1.2;}

#map_container {display: none; position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 2000;}#map_container > div{position: relative;}
#map_container #closebutton:before {content: "\e60e"; font-size: 42px; color: #B40404; right: 0.3em; top: 0.5em;}
#mapbox {height: 100%; z-index: -1; border: solid 5px #60E69A;}

#backmenu {display: none; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index:10; background: #FFFFFF; opacity:0.7; -ms-filter: "alpha(opacity=70)";}

@media all and (min-width:1px){ /*IE9以降----------------------------------------------------*/
body {min-width: 320px;}
#maincontent {right; width:74%;}
#pagetop a:before {content: "\e602"; font-size: 24px; transform: rotate(-90deg); -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); top: 6px; left: 8px;}
#pagetop span {display: none;}
}

@media all and (max-width:767px){ /*スマートフォン----------------------------------------------------*/
#houzin {display: none;}
#title {padding-right: 0;}
#logo {font-size: 32px; padding: 8px 0 2px 0; margin-left: -10px; transform: scaleX(0.9); -webkit-transform: scaleX(0.9); -ms-transform: scaleX(0.9);}
#spmenu {width: 108px; position:absolute; height: 44px; right: 2px; top: 2px; padding: 10px 0 0 28px; background-color: #0F8542; color: white; border-radius:10px; border: solid 2px white;}
#h_nav:before {content:"\FF1C\30E1\30CB\30E5\30FC\FF1E"; font-size: 22px; display: block; top: 14px; left: 10%; position: absolute; text-shadow: 1px 1px 0px #FFF;}
#closemenu {display: inline-block; right: 10%; top: 8px; position: absolute !important; border: solid 2px black; height: 36px !important; padding: 6px 10px 0 30px !important; text-shadow: 1px 1px 0px #FFF;}
#closemenu:before {content:"\e60e"; display: block; left: 5px; top: 4px; position: absolute; padding: 3px; }
#h_nav {display: none; position: absolute; top: 0; right: 10%; width: 80%; min-width: 290px; height: 380px; z-index:20; background-color: rgba(96, 230, 154, 0.9); padding: 10px; border: solid 2px white;  border-radius:10px;}
#h_nav li, #h_nav ul {width: 90%; margin: 0 5%;}
#h_nav a, #pcswitch {font-size:18px; padding-left: 10px; text-shadow: 1px 1px 0px #FFF; position: relative;}
#sub-nav a:after, #main-nav a:after {content: "\e603"; display: block; position: absolute; top: 14px; right: 10px;}

#h_nav a {border-bottom: solid 2px black; height: 44px; padding-top: 12px;}
#main-nav {top: 50px; left: 0;}
#main-nav li:first-child {border-top: solid 2px black;}
#sub-nav {position: absolute; top: 232px; left: 0; right: 0; z-index: 1;}
#spmenu {display: block;}
#sub-nav li, #mswitch, #pcswitch, #h_nav .now {background-color: transparent !important;}

#categoly_title {padding-left: 70px;}
#categoly_title:before {left: 0}


#sidemenu, #maincontent>div {width: 98%; margin-left: 1%; margin-right: 1%; padding: 4px}
#maincontent {width: 100%; padding-bottom: 0;}
#sidemenu {padding: 2px 2px 0 2px;}
#sidemenu h3 {text-align: center;}
#sidemenu ul {overflow: hidden;}
#sidemenu li {width: 50%; float: left; border: none; border-bottom: solid 4px #60E69A !important;}
#sidemenu li:nth-child(odd) {border-right: solid 4px #60E69A !important;}
#sidemenu li a {height: 56px; padding: 14px 0 14px 20px !important;}
#sidemenu li a:before {top: 12px;}
#sidemenu a.two {padding: 4px 0 0 20px;}

#onepage article {width: 95%;}

footer a {height: 44px; padding-top: 12px;}
footer li {border-bottom: 4px solid white;}

td, th {padding: 5px 0 !important;}

footer ul {overflow: hidden;}
#fl_home li:nth-child(3n+2) {width: 34%; border-left: 4px solid white; border-right: 4px solid white;}
#fl_sinryo, #fl_care {width: 100%;}
#fl_sinryo li:nth-child(2n+2) {border-right: 4px solid white;}
/*#fl_sinryo li:last-child {border-bottom: none;}*/
.f_home, .f_other {width: 33%; float: left;}
.f_sinryo, .f_care, .f_care_sub {width: 100%; text-align:left; }
/*.f_care {border-top: 4px solid white;}*/
.f_sinryo a, .f_care a {padding-left: 10px;}
.f_sinryo_sub {width: 50%; float: left; text-align:left; }
.f_sinryo_sub a:before, .f_care_sub a:before {left: 10px; top: 10px;}
#f_about li {float:left; width: 50%;} 
#f_about li:first-child {border-right: 4px solid white;} 
#f_about li:last-child {width: 100%}
}


@media all and (max-width:479px){ /*スマホ縦----------------------------------------------------*/
#title:before {display: none;}
#title {margin-left: -10px; transform: scaleX(0.8); -webkit-transform: scaleX(0.8); -ms-transform: scaleX(0.8);}
#logo_image {padding-top: 32.5%;}
#logo_image:after {padding-top: 30%;}
#categoly_title.two {position:absolute; padding: 9px 0px 8px 70px;}
#categoly_title br {display: inline;}
#h_nav {right: 2%; width: 96%;}

h2 br {display:inline;}
#maincontent h2 a.two:after{top: 22px; }

#onepage article {padding: 15px 1px;}
}

@media all and (min-width:480px) and (max-width:767px){ /*スマホ横---------------------------------*/
#title {padding-left: 60px;}
#title:before {font-size: 46px; top: 2px; left: 2px;}
#logo_image {padding-top: 20.4%;}
#logo_image:after {padding-top: 18%;}
}


@media all and (min-width:768px) and (max-width:1024px){ /*タブレット-------------------------------*/
header {border-bottom: none;}
#houzin {margin-top: 6px;}
#title:before {top: 6px;}
#h_nav {width: 100%; z-index: -5;}
#h_nav li {text-shadow: 1px 1px 0px #FFF;}
#h_nav a, #h_nav div {height: 44px;}
#h_nav .now {background-color:rgba(96, 230, 154, 0.5); }
#main-nav {border-top: 6px solid #60E69A;}
#main-nav li {width: 25%;  border-left: solid 1px black; float: left;}
#main-nav li:first-child {border-left: none;}
#main-nav a {font-size: 24px; width: 100%; text-align: center; padding-top: 8px;}
#main-nav {width: 100%; position:relative; bottom: 0;}
#sub-nav a {padding: 10px 10px;}
#pcswitch {display: inline-block;}

#logo_image {padding-top: 20%;}
#logo_image:after {padding-top: 5.4%;}

#onepage article {width: 90%; max-width: 850px;}


#sidemenu {width: 230px; margin-left: 1%; margin-right:-250px;}
#maincontent {width: 100%; margin-left: -250px; width: 100%;}
#maincontent>div {margin-left: 250px; margin-right: 1%; width:auto;}

footer ul {overflow: hidden;}
footer li, .f_other {float:left; width: 33%; border-bottom: 4px solid white;}
footer a {height: 44px; padding-top: 12px; padding-left: 1.5%;}
#fl_home {height: auto;}
#fl_home li:nth-child(3n+2) {width: 34%; border-left: 4px solid white; border-right: 4px solid white;}
#fl_sinryo, #fl_care {top: 0px; width: 50%; float:left; text-align:left;}
#fl_sinryo {border-right: 4px solid white;}
.f_sinryo, .f_sinryo_sub,.f_care, .f_care_sub {width: 100%;}
.f_sinryo_sub a, .f_care_sub a {padding-left: 80px !important;}
.f_sinryo_sub a:before, .f_care_sub a:before {left: 60px; top: 10px;}
.f_sinryo a, .f_sinryo_sub a,.f_care a, .f_care_sub a {padding-left: 10%;} 
#f_about li {border: none;}
}

@media all and (max-width:1024px){ /*モバイル全般----------------------------------------------------*/
header {height: auto; padding: 0;}
#mswitch {display: none;}
#dswitch {display: inline-block;}
#pcswitch {display: block;}
footer a {display: block;}
footer ul {padding: 0}
#fl_home, #fl_home li, #fl_sinryo li, #fl_care li {height: auto; padding: 0; margin: 0;}
#fl_home a {text-align: center;}
#fl_sinryo, #fl_care {position: static;}
#f_about li {padding: 0; margin: 0}
#main-nav {right: 0;}
}


@media all and (min-width:1025px){ /*パソコン----------------------------------------------------*/

}

/*印刷----------------------------------------------------*/
@media print{
	header, footer, #sidemenu {display: none;}
	#sidemenu, #maincontent>div {width: 98%; margin-left: 1%; margin-right: 1%; padding: 4px}
	#maincontent {width: 100%; padding-bottom: 0;}
}