@charset "utf-8";
body {
	margin: 0px;
	padding: 0px;
	color: #333;	
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	
	font-size: 16px;	
	line-height: 2;		
	background: #fff;	
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form,select,input,textarea {margin: 0px;padding: 0px;font-size: 100%;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}
video,audio {max-width: 100%;}



a {
	color: #333;		
	transition: 0.5s;	
}
a:hover {
	color: #7ebb77;			
	text-decoration: none;	
}


#container,#menubar,footer .inner {
	max-width: 1400px;	
	margin: 0 auto;
}


下の「1450px以下の設定」にあるbody.is-fixed #menubarのmarginの数字と合わせておく。

#container {
	padding: 0 50px;	
}




header {
	position: relative;
	margin: 0 auto;
	height: 170px;	
	background-image: url(../images/IMG_8962.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

header #logo {
	width: 450px;
	padding-top: .5em;		
	left: 2%;		
	bottom: 65px;	
}

header address {
	font-style: normal;
	position: absolute;
	right: 2%;		
	bottom: 20px;	
	text-align: center;	
	font-size: 80%;		
	line-height: 1.5;	
	text-shadow: 1px 1px 3px #fff, -1px -1px 3px #fff;
}

header address .tel {
	color: #7ebb77;		
	font-size: 250%;	
	background: url(../images/icon_tel.png) no-repeat left center / 26px;	
	padding-left: 35px;	
}

#menubar-s ul {
	list-style-type: none;
}	
#menubar ul {
	list-style-type: none;
}

.ppsect ul {
	padding-left: 20px;
}

#fsize ul {
	list-style-type: none;
}

.submenu {
	list-style: none;
}




#fsize {
	position: absolute;
	right: 2%;		
	top: 0px;		
	width: 250px;	
	background: #fff;	
	box-shadow: 0px 0px 8px rgba(0,0,0,0.2);	
	border-radius: 0px 0px 5px 5px;	
	line-height: 50px;	
	padding: 10px 0px;	
}

#fsize p {
	float: left;
	font-size: 18px;	
	padding: 0 20px;	
}

#fsize ul li {
	float: left;	
}
#fsize ul a {
	overflow: hidden;display: block;text-decoration: none;text-align: center;
	color: #fff;	
}

#fsize ul li#small a::before {
	display: block;
	content: "小";		
	font-size: 16px;	
	background: #7ebb77;	
	width: 40px;		
	line-height: 40px;	
	margin-top: 5px;
	margin-right: 10px;
}

#fsize ul li#large a::before {
	display: block;
	content: "大";		
	font-size: 30px;	
	background: #ccc;	
	width: 50px;		
	line-height: 50px;	
}

#fsize ul li#large a:hover::before {
	background: #7ebb77;	
}




#menubar {
	position: relative;
	margin: 0 auto 20px;	
	height: 75px;			
}

#menubar li {
	float: left;	
	width: 20%;	
	line-height: 1.8;	
}
#menubar li a {
	text-decoration: none;display: block;
	text-align: center;
	height: 60px;		
	padding-top: 15px;	
	color: #fff;		
	border-left: 1px dashed #fff;	
	border-left: 1px dashed rgba(255,255,255,0.4);	
	background: #7ebb77;	
}

#menubar li:first-child a {
	border-left: none;
	border-radius: 10px 0px 0px 10px;	
}

#menubar li:last-child a {
	border-radius: 0px 10px 10px 0px;	
}

#menubar li span {
	display: block;
	font-size: 10px;		
	font-weight: normal;	
	letter-spacing: 0.2em;	
	opacity: 0.5;			
}

#menubar li a:hover, #menubar li.current a {
	background: #5b9f53;	
}

#menubar-s {display: none;}

#menubar_hdr {display: none;}




#menubar ul.ddmenu {
	position:absolute;visibility: hidden;z-index: 10;
	width: 16.66%;		
	border-top: 1px solid #fff;	
}

#menubar ul.ddmenu li {
	float: none;
	width: 100%;
	line-height: 1.5;
}
#menubar ul.ddmenu li a {
	width: 100%;height: auto;font-weight: normal;border-radius: 0 !important;
	border: none;	
	border-bottom: 1px solid #fff;	
	background: #000;	
	background: rgba(0,0,0,0.7);	
	color: #fff;		
	padding: 10px 0;	
}

#menubar ul.ddmenu li a:hover {
	background: #000;	
}




body.is-fixed .nav-fix-pos {
	width: 100%;z-index: 100;position: fixed;top: 0;left: 0;
}

body.is-fixed header {
	margin-bottom: 95px;	
}

body.is-fixed #menubar li:first-child a {
	border-left: none;
	border-radius: 0px 0px 0px 10px;
}

body.is-fixed #menubar li:last-child a {
	border-radius: 0px 0px 10px 0px;
}



#contents {
	clear: both;
	padding: 40px 0;
}




#main {
	float: right;	
	width: 75%;		
	padding-bottom: 40px;
}

.c1 #main {
	float: none;
	width: auto;
}

#main h2 {
	clear: both;
	margin-bottom: 20px;
	padding: 10px 20px;	
	font-size: 120%;	
	color: #fff;		
	background: #7ebb77;	
	border-radius: 10px;	
}

#main h2::first-letter {
	border-left: 3px solid #fff;	
	padding-left: 15px;				
}

#main h3 {
	clear: both;
	margin-bottom: 20px;
	padding: 5px 20px;	
	font-size: 110%;	
	border: 1px solid #ccc;	
	border-radius: 10px;	
}

#main h3::first-letter {
	border-left: 3px solid #7ebb77;	
	padding-left: 15px;				
}

#main p {
	padding: 0px 20px 20px;	
}

.ppsect p {
	padding: 20px 20px 0px 0px !important;
	font-size: large;
	font-weight: bold;
}
.col2 {
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.col2 .col {
	width: 35%;
}


.ppsect .orig {
	font-weight: normal;
	font-size:medium;
}

#main p + p {
	margin-top: -5px;
}
#main h2 + p,
#main h3 + p {
	margin-top: -10px;
}
#main section + section {
	padding-top: 30px;
}



#sub {
	float: left;	
	width: 22%;		
	padding-bottom: 40px;
}

.c1 #sub {display: none;}

#sub h2 {
	margin-bottom: 10px;
	font-size: 110%;	
}

#sub h2::first-letter {
	border-left: 3px solid #7ebb77;	
	padding-left: 10px;
}

#sub p {
	line-height: 1.6;	
}




#sub .submenu {
	margin-bottom: 20px;	
	border-top: solid 1px #e4e4e4;	
}

#sub .submenu li {
	border-bottom: solid 1px #e4e4e4;	
}
#sub .submenu li a {
	text-decoration: none;display: block;
	padding: 10px 10px 10px 30px;	
	background: #fff url(../images/arrow2.png) no-repeat 10px center / 10px;	
}


#sub .box1 {
	padding: 15px;			
	margin-bottom: 20px;	
	background: #f5f5f5;	
	border: solid 1px #dbdbdb;	
	box-shadow: 0px 0px 1px 1px #fff inset;	
	border-radius: 10px;	
}

#sub .box1 .submenu {
	margin-bottom: 0px;
}
#sub .box1 .submenu li a {
	padding: 5px 10px;	
	background: #fff;	
}




footer {
	clear: both;overflow: hidden;
	border-top: 5px solid #7ebb77;	
	background: #444;	
	color: #fff;		
	padding-top: 20px;	
}

footer .inner {
	padding: 0 50px;	
}

footer a, footer a:hover {
	color: #fff;
}

footer h2 {
	font-size: 200%;	
	font-weight: normal;
	text-align: center;	
	letter-spacing: 0.1em;	
}

footer address {
	font-style: normal;
	background: #333;		
	border-radius: 10px;	
	text-align: center;		
	line-height: 1.5;		
	padding: 5px;			
}

footer address .tel {
	font-size: 40px;	
	background: url(../images/icon_tel.png) no-repeat left center / 30px;	
	padding-left: 45px;	
}




#footermenu {
	clear: both;overflow: hidden;
	font-size: 80%;	
	margin-left: -1%;
	padding: 20px 0;
}

#footermenu ul {
	float: left;	
	width: 24%;		
	margin-left: 1%;
}

#footermenu ul li {
	padding: 0 10px;	
}

#footermenu li.title {
	font-weight: bold;	
	background: rgba(0,0,0,0.3);	
	border-radius: 2px;	
}

#footermenu a {
	text-decoration: none;
	opacity: 0.6;	
}

#footermenu a:hover {
	opacity: 1;	
}



#copyright {
	clear: both;
	text-align: center;
	background: #333;	
	color: #fff;		
	padding: 20px;		
}
#copyright a {text-decoration: none;color: #fff;}
#copyright .pr {display: block;}




#new dl {
	padding: 0px 20px;	
	margin-bottom: 20px;	
}

#new dt {
	float: left;
	width: 9em;
	letter-spacing: 0.1em;
}

#new dd {
	padding-left: 9em;
	border-bottom: 1px solid #ccc;	
}




.list {
	overflow: hidden;
	float: left;	
	margin: 0 0 20px 2%;	
	border: 1px solid #ccc;	
	box-shadow: 3px 4px 2px rgba(0,0,0,0.1);	
	padding: 2%;	
	border-radius: 3px;	
}
.list a {
	display: block;text-decoration: none;overflow: hidden;
	margin: -2%;	
	padding: 2%;	
}

.list a:hover {
	position: relative;
	left: 1px;	
	top: 1px;	
}

.list h4 {
	color: #7ebb77;		
	font-size: 120%;	
	text-align: center;	
	height: 2em;		
	overflow: hidden;	
}

.list p {
	padding: 0 !important;
	line-height: 1.5;	
	font-size: 90%;		
	color: #333;		
	height: 6em;		
	overflow: hidden;	
}



.thumbnail {
	width: 70px;	
	margin: 5px;	
	opacity: 0.7;	
}

.thumbnail:hover {
	opacity: 1;	
}




.box {
	overflow: hidden;
	border: 3px solid #7ebb77;	
	padding: 20px;				
	border-radius: 10px;		
	margin-bottom: 20px;		
}

.box h4 {
	color: #7ebb77;		
	font-size: 130%;	
}

.box p {
	padding: 0 !important;
}

.box .fr,.box .fl {margin-bottom: 0;}




.nav {
	background: #eee;		
	padding: 10px 20px;		
	margin-bottom: 30px;	
	margin-top: -30px;		
	border-radius: 10px;	
}

.nav li {
	display: inline;	
	padding: 0 5px;		
}

.nav li::before{
	content: ">";			
	padding-right: 12px;	
	color: #999;			
}

.nav li:first-child::before {
	content: none;
}




.menu {
	overflow: hidden;
	margin-bottom: 20px;	
	text-align: center;		
	font-size: 120%;		
}

.menu li {
	display: inline;	
	border-right: 1px solid #999;	
}
.menu li a {
	padding: 10px;	
	color: #999;	
}

.menu li:first-child {
	border-left: 1px solid #999;	
}

.menu li.current a, .menu li a:hover {
	text-decoration: none;	
	color: #333;	
}




.faq {
	padding: 0px 20px;	
}

.faq dt {
	color: #7ebb77;		
	font-weight: bold;	
	padding-left: 30px;	
	background: url(../images/faq_q.png) no-repeat left top / 30px;	
}

.faq dd {
	padding-left: 30px;		
	margin-bottom: 20px;	
	padding-bottom: 20px;	
	border-bottom: 1px solid #ccc;	
	background: url(../images/faq_a.png) no-repeat left top / 30px;	
}




.ta1 caption {
	border: 1px solid #ccc;	
	border-bottom: none;	
	text-align: left;		
	background: #eee;		
	color: #666;			
	font-weight: bold;		
	padding: 10px;			
}

.ta1 th.tamidashi {
	width: auto;
}

.ta1 {
	table-layout: fixed;
	width: 100%;
	margin: 0 auto 20px;
}
.ta1, .ta1 td, .ta1 th {
	word-break: break-all;
	border: 1px solid #ccc;	
	padding: 10px;	
}

.ta1 th {
	width: 140px;		
	text-align: center;	
}




.ta2 caption {
	border: 1px solid #b7b7b7;	
	border-bottom: none;	
	text-align: center;
	background: #fff;		
	color: #333;
	font-weight: bold;		
	padding: 10px;			
}

.ta2 {
	table-layout: fixed;
	width: 100%;
	margin-bottom: 20px;
	text-align: center;	
	background: #fff;	
	color: #333;
}
.ta2, .ta2 td, .ta2 th {
	word-break: break-all;
	border: 1px solid #b7b7b7;	
}

.ta2 th {
	background: #fffbe3;
}



input[type="submit"].btn,
input[type="button"].btn,
input[type="reset"].btn {
	padding: 5px 10px;		
	border: 1px solid #ccc;	
	border-radius: 3px;		
	background: #eee;		
}

input[type="submit"].btn:hover,
input[type="button"].btn:hover,
input[type="reset"].btn:hover {
	border: 1px solid #999;	
	background: #fff;		
}



p.check {
	background: #ff0000;
	color:#fff;
	padding: 10px 25px !important;
	margin-bottom: 20px;
	border-radius: 3px;
}
#sub p.check {padding: 5px 10px !important;}
p.check a {color: #fff;}




@keyframes scroll {
0% {opacity: 0;}
100% {opacity: 1;}
}

body .nav-fix-pos-pagetop a {display: none;}

body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 100;position: fixed;
	width: 60px;		
	line-height: 60px;	
	bottom: 40px;		
	right: 1%;			
	background: #7ebb77;	
	color: #fff;		
	border: 1px solid #fff;	
	border-radius: 50%;		
	animation-name: scroll;	
	animation-duration: 1S;	
	animation-fill-mode: forwards;	
}

body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #999;	
}



ul.disc {list-style: disc;padding: 0 20px 20px 45px;}
ol {padding: 0 20px 20px 45px;}
#sub ul.disc, #sub ol {padding: 0 0 0 20px;}



a[href$=".pdf"]{
	display: inline-block;
	background: url(../images/PDF_32.png) no-repeat right center;
	padding: 5px 40px 5px 0px;
}



.newicon {
	background: #F00;	
	color: #FFF;		
	font-size: 70%;		
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}



.look {color:#fff;background: #666;padding:5px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.clear {clear: both;}
.color1 {color: #7ebb77 !important;}
.bgcolor1 {background: #f2f2f2 !important;}
.bgcolor2 {background: #dbebf7 !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.w40p {width: 40%;}
.w20p {width: 20%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
.fr {float: right;margin-left: 2%;margin-bottom: 20px;}
.fl {float: left;margin-right: 2%;margin-bottom: 20px;}
.big1 {font-size: 200%;letter-spacing: 0.2em;}
.mini1 {font-size: 80%;}
.sh {display: none;}
.half {width: 48%;}
.link {display: block;margin-top: -80px;padding-top: 80px;}





@media screen and (max-width:1450px){


body.is-fixed #menubar {
	margin: 0 50px;
}

}





@media screen and (max-width:900px){

.col2 {
	display: block;
}

.col2 .col {
	width: 100%;
}

#container {
	padding: 0 3%;	
}

header {
	position: static;
	height: auto;
	background-image: url(../images/IMG_8962.png);
	background-position: center;
	padding: 10px 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-color:rgba(255,255,255,0.8);
	background-blend-mode:lighten;
	text-align: left;
}

header #logo {
	position: static;
	margin: 0 auto;
}

header address {
	position: static;
}




#fsize {
	display: none;	
}




@keyframes menu1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

#menubar-s {
	display: block;overflow: hidden;z-index: 1;
	position: fixed;
	top: 0px;			
	left: 0px;			
	width: 100%;		
	animation-name: menu1;		
	animation-duration: 0.5S;	
	animation-fill-mode: both;	
}

#menubar-s li a {
	display: block;text-decoration: none;
	padding: 5px 10px;	
	border-bottom: 1px solid #fff;	
	background: #7ebb77;	
	font-size: 18px;		
	color: #fff;		
}

#menubar-s li a span {
	font-size: 12px;	
	margin-left: 20px
}

#menubar {display: none;}




#menubar_hdr {
	display: block;position: fixed;z-index: 2;
	top: 25px;	
	right: 3%;	
	border: 1px solid #fff;	
}

#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;		
	height: 50px;		
	border-radius: 50%;	
}

#menubar_hdr.close {
	background: #7ebb77 url(../images/icon_menu.png) no-repeat center top/50px;	
}

#menubar_hdr.open {
	background: #333 url(../images/icon_menu.png) no-repeat center bottom/50px;	
}



body.is-fixed header {
	margin-bottom: 0px;	
}



#main, #sub {
	float: none;
	width: auto;
	overflow: hidden;
}




footer .inner {
	padding: 0 3%;	
}

footer .half.fr,footer .half.fl {
	float: none;
	margin: 0 0 20px;
	width: 100%;
}



body.s-n #sub,body.s-n #side {display: none;}
.big1 {font-size: 150%;letter-spacing: normal;}
.sh {display:block;}
.pc {display:none;}
.link {display: block;margin-top: 0px;padding-top: 0px;}

}





@media screen and (orientation: landscape) and (max-height:500px){




#menubar-s li {
	float: left;		
	width: 50%;			
}

}





@media screen and (max-width:480px){



#container, footer {
	font-size: 12px;
	font-size: 2.93vw;
}




header #logo {
	width: 70%;	
}

header address .tel {
	font-size: 20px;
	background: url(../images/icon_tel.png) no-repeat left center / 18px;
	padding-left: 25px;
}




#main section + section {
	padding-top: 20px;
}




footer address .tel {
	font-size: 24px;
	background: url(../images/icon_tel.png) no-repeat left center / 20px;
	padding-left: 30px;
}




.list {
	width: auto;
	float: none;
	margin-left : 0;
}
.list figure {
	float: left;
	width: 40%;
	margin-right: 2%;
}

.list h4, .list p {
	height: auto;
}



.faq dt,.faq dd {
	background-size: 25px;
}




.ta1 caption {
	padding: 5px;	
}

.ta1, .ta1 td, .ta1 th {
	padding: 5px;	
}

.ta1 th {
	width: 100px;
}



.ws,.wl {width: 94%;}

}

