/*全体
--------------------------------------------------------------------------*/
@media screen and (max-width:640px){
img{
max-width: 100%;
height: auto;
width :auto;
}
#con{
width:100%;
}
/*以下、画面の横幅が640pxまでの場合のスタイル記入〜*/

html{
	background:none;
}

body {
	margin:0;
	padding:0;
	COLOR: #111;
	FONT-SIZE: 16px;
	font-family:"メイリオ", Osaka, "ヒラギノ丸ゴ Pro W4", "ＭＳ Ｐゴシック";	
	LINE-HEIGHT: 150%;
	text-align: center;
	background:none;
}

/*paddingとborderをwidthに含める*/
* {	
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }

#con{
    width:100%;
	height:auto;
	margin:0px auto;
	padding:0;
	position:relative;
}

.clearfix:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

img{
	border:0;
}

a:link,a:visited{
	outline:0;
	color:#0859C7;
}

a:hover{
	outline: 0;
	color: #c7304b;
	text-decoration: underline;
}

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

a:active{
	outline:0;
	color:#18489d;
	text-decoration:none;
}

br.sp{
	display:none;
}
br.spt{
	display:inherit;
}
br.spm{
	display:none;
}
br.sm{
	display:inherit;
}
br.smt{
	display:inherit;
}
br.smm{
	display:none;
}
.nsp{
	display:inherit;
}
.nsm{
	display:none;
}
@media only screen and (max-width: 480px) {
br.spt{
	display:none;
}
br.spm{
	display:inherit;
}
br.smt{
	display:none;
}
br.smm{
	display:inherit;
}
}

/*ヘッダ
--------------------------------------------------------------------------*/
header{
	clear: both;
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
}

header h1{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	text-align: left;
	font-size: 13px;
	color: #fff;
	line-height: 120%;
	font-weight: normal;
	margin: 0;
	padding: 5px 2%;
	background: #52b225;
}

#logo{
	clear: both;
	float: left;
	width: 100%;
	height:auto;
	margin: 0;
	padding: 15px 2% 0;
	text-align: left;
}

#logo img{
	float: left;
	margin: 0;
}

header h2{
	float: left;
	width: auto;
	margin: 0;
	padding: 0;
	font-size: 40px;
	font-weight: bold;
	line-height: 88px;
	text-align: left;
}

#logo p{
	clear: both;
	font-size: 15px;
	margin: 0;
	padding: 0;
	text-align: left;
}

@media only screen and (max-width: 480px) {
#logo img{
	float: left;
	margin: 0;
	max-width: 15%;
}
header h2{
	float: left;
	width: auto;
	margin: 5px 0 0;
	padding: 0;
	font-size: 30px;
	font-weight: bold;
	line-height: 100%;
	text-align: left;
}
#logo p{
	clear: both;
	font-size: 13px;
	margin: 0;
	padding: 0;
	text-align: left;
}
}

#tel{
	display: none;
	clear: both;
	float: right;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 2% 0;
	text-align: left;
}

#tel-shika{
	float: left;
	width: 50%;
	margin: 0;
	padding: 0;
}

#tel-kou{
	float: left;
	width: 50%;
	margin: 0;
	padding: 0;
}

#tel h3{
	float: left;
	width:40%;
	margin: 0 5px 5px 0;
	padding: 7px 5px 5px;
	font-size: 15px;
	color: #fff;
	font-weight: normal;
	line-height: 100%;
	text-align: center;
	background: #52b225;
	border-radius: 5px;
}

#tel p{
	clear: both;
	font-size: 13px;
	margin: 0 0 10px;
	padding: 0;
	text-align: left;
	line-height: 150%;
}

#tel p.shou{
	clear: none;
	float: left;
}

#tel a:link,#tel a:visited{
	color: #111;
}

#tel img{
	float: none;
}

@media only screen and (max-width: 480px) {
#tel h3{
	float: left;
	width:96%;
	margin: 0 0 5px;
	padding: 7px 0 5px;
	font-size: 13px;
	color: #fff;
	font-weight: normal;
	line-height: 100%;
	text-align: center;
	background: #52b225;
	border-radius: 5px;
}
}

/*メニュー
--------------------------------------------------------------------------*/
menu{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 10px auto 0;
	padding: 0;
	background: #f8a719;
}

menu ul{
	clear: both;
	float: left;

	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	border-top: 1px dashed #fff;
	border-right: 1px dashed #fff;
}

menu li{
	float: left;
	width: 25%;
	list-style-type: none;
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 100%;
	text-align: center;
	border-left: 1px dashed #fff;
	border-bottom: 1px dashed #fff;
}
menu li.bno{
	border-right:none;
}
menu li.m1{
	width: 50%;
}
menu li.m2{
	width: 25%;
}

menu li a:link,menu li a:visited{
	color: #fff;
	display: block;
	padding: 15px 0;
	text-decoration: none;
}
menu li a:hover{
	color: #111;
	text-decoration: underline;
}

@media only screen and (max-width: 480px) {
menu{
	clear:both;
	float:left;
	width:100%;
	height:auto;
	margin:10px 0 0;
	padding:0;
	background-color: #fbcf59;
}
menu ul{
	clear:both;
	float:left;
	width:100%;
	height:auto;
	margin:0;
	padding:0;
	text-align:center;
	border-top: none;
	border-right:none;
}
#hmenu{
	display: none;
}
#hmenu li{
	width: 100%;
}

menu li{
	width:100%;
	font-size:13px;
	padding:0;
	margin: 5px 0 0;
	line-height:100%;
	border-left: none;
	border-bottom: 1px dashed #fff;
}

menu li a:link,menu li a:visited{
	color: #111;
	display: block;
	padding: 15px 0;
	text-decoration: none;
}
menu li a:hover{
	color: #fff;
	text-decoration: underline;
}

#toggle{
	display: block;
	position: relative;
	width: 100%;
	background: #f8a719;
}
#toggle a{
	display: block;
	position: relative;
	padding: 12px 0 10px;
	border-bottom: 1px solid #fff;
	color: #fff;
	text-align: center;
	text-decoration: none;
}

#toggle a:hover{
	color:#fff;
}

#toggle a:visited{
	color:#fff;
}

a:active{
	outline:0;
	color:#fff;
}
#toggle:before{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: #fff;
}
#toggle a:before, #toggle a:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 4px;
	background: #f8a719;
}
#toggle a:before{
	margin-top: -6px;
}
#toggle a:after{
	margin-top: 2px;
}
}

/*メイン
--------------------------------------------------------------------------*/




article h1{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	padding: 10px 0 8px;
	line-height: 100%;
	text-align: left;
	font-size: 25px;
	font-weight: normal;
	color: #fff;
	background: #52b225;
	border-radius: 5px;
	text-indent: 0.5em;
}

article p{
	text-align: left;
	font-size: 13px;
	line-height: 150%;
	margin: 0 0 30px;
}

article h2{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 30px 0 30px;
	padding: 0 0 5px;
	text-align: left;
	font-size: 30px;
	font-weight: normal;
	line-height: 100%;
	color: #ef9e0f;
	border-bottom: 1px solid #ef9e0f;
}
article h2.tno{
	margin: 0 0 30px;
}
@media only screen and (max-width: 480px) {
article h2{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 20px 0 20px;
	padding: 0 0 5px;
	text-align: left;
	font-size: 30px;
	font-weight: bold;
	line-height: 100%;
	color: #ef9e0f;
	border-bottom: 1px solid #ef9e0f;
}
article h2.tno{
	margin: 0 0 20px;
}
}

article h3{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
	font-weight: bold;
	line-height: 100%;
	font-size: 20px;
	text-align: left;
}

article h4{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 50px 0 20px;
	padding: 10px 0 8px;
	line-height: 100%;
	text-align: left;
	font-size: 25px;
	font-weight: normal;
	color: #fff;
	background: #52b225;
	border-radius: 5px;
	text-indent: 0.5em;
}

article h5{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0 0 8px;
	line-height: 100%;
	text-align: left;
	font-size: 25px;
	font-weight: bold;
	color: #f8a719;
	border-bottom: 1px solid #f8a719;
}

.info-box{
	float: left;
	width: 50%;
	height: auto;
	min-height: 350px;
	margin: 0 0 30px;
	padding: 0 2%;
	text-align: center;
}
@media only screen and (max-width: 480px) {
.info-box{
	float: left;
	width: 100%;
	height: auto;
	min-height: auto;
	margin: 0 0 30px;
	padding: 0 2%;
	text-align: center;
}
}

.info-box h2{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	line-height: 100%;
	color: #ef9e0f;
}
@media only screen and (max-width: 480px) {
.info-box h2{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	line-height: 100%;
	color: #ef9e0f;
}
}

article ul,article ul.bre-u{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	padding: 0;
}

article ul li{
	margin: 0 2% 15px 5%;
	padding: 0;
	text-align: left;
	line-height: 120%;
	font-size: 13px;
}

article ul.bre-u li{
	float: left;
	font-size: 13px;
	margin: 0 1% 5px 0;
	padding: 5px 10px 2px;
	line-height: 150%;
	border: 1px solid #ccc;
	border-radius: 5px;
	background: linear-gradient(#fff,#eee);
	list-style-type: none;
}

article ul.bre-u li a:link,article ul.bre-u li a:visited{
	text-decoration: none;
	color: #333;
}
article ul.bre-u li a:hover{
	text-decoration: underline;
}

article ol{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	padding: 0 5% 0 5%;
}

article ol li{
	margin: 0 0 20px 2%;
	padding: 0 0 5px;
	text-align: left;
	line-height: 120%;
	font-size: 13px;
	border-bottom: 1px dashed #666;
}

#staff{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
}

article #staff h3{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
	font-weight: bold;
	line-height: 100%;
	font-size: 15px;
	text-align: left;
}

.staff{
	float: left;
	width: 50%;
	height: auto;
	margin: 0;
	padding: 0;
}

#staff img{
	margin: 0 0 10px;
	padding: 5px;
	border: 1px solid #ccc;
}

@media only screen and (max-width: 480px) {
.staff{
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}
}

#map{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	text-align: left;
}

table {
	clear:both;
	width:100%;
	margin:5px 0 20px;
    border:1px solid #ccc;
    border-collapse:collapse;
    border-spacing:0px;
    empty-cells:show;
    table-layout:auto;
    text-align:left;
	background:#fff;
	font-size: 13px;
}

th,td{
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
	text-align: center;
	padding: 7px 2px 3px;
	}

th{
	background: #eee;
	font-weight: normal;
}

td.t-pink{
	background: #fbdae4;
}

td.kigo{
	font-size: 15px;
}

td.kigo2{
	font-size: 20px;
}

.spa-wh{
	margin: 0 30px 0 0;
}

#photo{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	padding: 0;
	text-align: center;
}

#photo img{
	float: left;
	margin: 0 1% 10px;
	max-width: 48%;
}
@media only screen and (max-width: 480px) {
#photo img{
	float: none;
	margin: 0 0 10px;
	max-width: 100%;
}
}

#setsubi{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	padding: 0;
}

.setsubi-box{
	float: left;
	width: 50%;
	height: auto;
	margin: 0;
	padding: 0 1%;
	text-align: center;
}

article #setsubi p{
	margin: 0;
	padding: 0;
	font-size: 13px;
	text-align: center;
}

#mekkin{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	padding: 0;
}

.mekkin-box{
	float: left;
	width: 50%;
	height: auto;
	margin: 0;
	padding: 0 1%;
	text-align: center;
}

article #mekkin p{
	margin: 0;
	padding: 0;
	font-size: 13px;
	text-align: center;
}

.white-box{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.white-box p{
	margin: 0 0 30px;
	padding: 0;
}

.white-box img{
	float: left;
	margin: 0 0 10px 0;
}

img.pictright{
	float: right;
	margin: 0 0 10px 20px;
}
@media only screen and (max-width: 480px) {
img.pictright{
	float: none;
	margin: 0 0 10px;
}
}

.f-green35{
	font-size: 35px;
	font-weight: bold;
	color: #52b225;
}
@media only screen and (max-width: 480px) {
.f-green35{
	font-size: 30px;
	font-weight: bold;
	color: #52b225;
}
}

.f-blue-b{
	color: #014099;
	font-weight: bold;
	font-size: 1.2em;
	line-height: 150%;
}

.f-red20b{
	font-size: 20px;
	font-weight: bold;
	color: #e42331;
}

#poli{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.poli-box{
	float: left;
	width: 48%;
	height: auto;
	margin: 0 1% 0;
	padding: 0;
}
@media only screen and (max-width: 480px) {
.poli-box{
	float: left;
	width: 48%;
	height: auto;
	margin: 0 1% 0;
	padding: 0;
	min-height: 135px;
}
}
@media only screen and (max-width: 360px) {
.poli-box{
	float: left;
	width: 48%;
	height: auto;
	margin: 0 1% 0;
	padding: 0;
	min-height: 155px;
}
}

#poli h4{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 10px;
	padding: 10px 0 8px;
	text-align: center;
	font-weight: normal;
	font-size: 17px;
	line-height: 100%;
	background: #014099;
	color: #fff;
	border-radius: 5px;
}

#before{
	clear: both;
	float: left;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
}

#before img{
	float: none;
}

#before p{
	text-align: center;
	margin: 10px 0 5px;
	padding: 10px 0 5px;
	font-size: 18px;
	line-height: 100%;
	background: linear-gradient(#fff,#eee);
	border:1px solid #ccc;
	border-radius: 5px;
}

#before h5{
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
	line-height: 100%;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	color: #ce1977;
}
@media only screen and (max-width: 480px) {
#before h5{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
	line-height: 100%;
	text-align: center;
	font-size: 23px;
	font-weight: normal;
	color: #ce1977;
}
}

.bre{
	float: left;
	width: 48%;
	height: auto;
	min-height: 470px;
	margin: 0 2% 30px 0;
	padding: 15px 2% 15px;
	border-radius: 5px;
	border: 1px solid #ccc;
	box-shadow: 2px 2px 1px #eee;
	text-align: center;
}

.bre p{
	margin: 0 0 15px;
}

.bre h2{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	padding: 0;
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	line-height: 100%;
	color: #ef9e0f;
}

@media only screen and (max-width: 480px) {
.bre{
	float: left;
	width: 96%;
	height: auto;
	min-height: auto;
	margin: 0 2% 15px;
	padding: 15px 2% 15px;
	border-radius: 5px;
	border: 1px solid #ccc;
	box-shadow: 2px 2px 1px #eee;
	text-align: center;
}

.bre p{
	margin: 0 0 15px;
}

.bre h2{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	line-height: 100%;
	color: #ef9e0f;
}
}

.step,.step-l{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0 0 15px;
	text-align: left;
	border-bottom: 1px dashed #ccc;
	background: url(image/step.png) no-repeat 2% 95%;
}
.step-l{
	padding: 0;
	border-bottom: none;
	background: none;
}

.step h3,.step-l h3{
	clear: none;
	float: left;
	width: 40%;
	height: auto;
	margin: 0 2% 10px 0;
	padding: 15px 0 10px;
	border-radius: 10px;
	background: #ede3ee;
	text-align: center;
	font-size: 18px;
	line-height: 150%;
	color: #dc599d;
}
.step h3 .f-st,.step-l h3 .f-st{
	font-size: 20px;
}

@media only screen and (max-width: 480px) {
.step h3,.step-l h3{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 10px;
	padding: 10px 0 8px;
	border-radius: 10px;
	background: #ede3ee;
	text-align: center;
	font-size: 20px;
	line-height: 150%;
	color: #dc599d;
	font-weight: normal;
}
.step h3 .f-st,.step-l h3 .f-st{
	font-size: 20px;
}
}

.step-text{
	float: right;
	width: 58%;
}

.step-text img{
	margin: 0 10px 10px 0;
}

.step p,.step-l p{
	margin: 0 0 20px;
	padding: 0;
}

@media only screen and (max-width: 480px) {
.step-text{
	clear: both;
	float: right;
	width: 100%;
}
}

#bre-sonota{
	clear: both;
	float: left;
	width: 100%;
}

.bre-sonota,.bre-sonota-big{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
}
.bre-sonota-big{
	width: 100%;
	margin: 0 0 20px;
}

.bre-sonota h6,.bre-sonota-big h6{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 15px 0 10px;
	text-align: center;
	font-size: 25px;
	font-weight: normal;
	line-height: 100%;
	border-radius: 5px;
	background: #eee;
}
@media only screen and (max-width: 480px) {
.bre-sonota h6,.bre-sonota-big h6{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 15px 0 10px;
	text-align: center;
	font-size: 20px;
	font-weight: normal;
	line-height: 100%;
	border-radius: 5px;
	background: #eee;
}
}

.bre-sonota img,.bre-sonota-big img{
	margin: 0 0 10px;
}

.bre-sonota-big h5{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	margin: 0 0 10px;
	padding: 0;
	line-height: 100%;
	text-align: left;
	font-weight: bold;
	font-size: 20px;
}

#detail{
	clear: both;
	float: left;
	width: 100%;
	height: auto;
	min-height: auto;
	margin: 0;
	padding: 0;
}

#news-copy{
	display: none;
}

}