@charset "utf-8";
/* CSS Document */

header {
	position: absolute;
    top:0;
	width:100%;
	z-index: 100;
}

.header_wrapper {
    display: flex;
    justify-content: space-between;
    background-color: rgba(255,255,255,0.9);
    width:96%;
    margin: 0 auto;
	position: relative;
	padding:15px 10px 10px 30px;
    border-radius:0 0 10px 10px;
}

header .siteTitle {
	flex-basis: 240px;
}

header .siteTitle a {
    display: block;
    text-decoration: none;
}

header .siteTitle a img {
	width:240px;
	height:auto;
}

.navDrawr>ul {
	display: flex;
	justify-content: center;
    flex-wrap: wrap;
	margin: 0 auto;
}
/*
.navDrawr>ul:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
*/
.navDrawr>ul>li {
    display: block;
    position: relative;
	margin: 0;
}

.navDrawr>ul>li:last-child {
    border: none;
}

.navDrawr a {
    display: block;
    color: #111;
    font-size: 0.95rem;
    text-decoration: none;
    padding: 10px 20px;
}

.navDrawr>ul>li>a {
	font-weight: bold;
}
.navDrawr .sub li:last-child a {
    border: none;
}
.navDrawr>ul>li>a {
    text-align: center;
}
.navDrawr>ul>li>a:hover {
	color:#a0b482;
}

.tab_short a {
    letter-spacing: 0.1em;
}

.rline:after {
    content:"";
    display: block;
    position: absolute;
    width:1px;
    height:20px;
    border-left:1px solid #333;
    top:50%;
    bottom:50%;
    transform: translateY(-50%);
    right:0;
}

/* フッター */
 
 footer {
 	background-color: #dadac1;
	color: #222;
	padding:60px 0;
 }

.fnavi_navi {
	margin: 0 0 50px 0;
    text-align: center;
	list-style: none;
}

.fnavi_navi li {
	display: inline-block;
	padding:0 20px;
    border-right:1px solid #222;
}

.fnavi_navi li:last-child {
    border:none;
}

.fnavi_navi li a {
    color: #222;
} 

.fnavi_row {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 40px;
}

.fnavi_row a {
	color: #222;
	text-decoration: none;
	font-size: 0.95rem;
}

.fnavi_txt {
	flex-basis: 45%;
}

.fnavi_logo {
	width:100%;
    margin-bottom: 10px;
}

.fnavi_logo img {
    width:100%;
    max-width: 400px;
    height:auto;
}

.f_tel {
    display: flex;
    font-size: 2.4rem;
    margin-bottom: 20px;
}

.f_tel div {
    line-height: 1;
}

.ftel_span01 {
    font-size: 1rem;
}

.ftel_span02 {
    display: block;
    font-size: 1.3rem;
    padding:6px 14px;
    background-color: #3d715d;
    color:#FFF;
    border-radius: 8px;
    margin:5px 0 0 10px;
}

.fnavi_info {
	font-size: 1rem;
	line-height: 1.4;
}

.fnavi_info dl {
    display: flex;
    flex-wrap: wrap;
}

.fnavi_info dl dt {
    flex-basis:20%;
    margin-bottom: 10px;
}

.fnavi_info dl dd {
    flex-basis:80%;
    margin-bottom: 10px;
}

.f_map {
    flex-basis: 50%;
}

.map_btn {
    text-align: center;
    margin-top: 15px;
}

.map_btn a {
    display: inline-block;
    font-size: 1.4rem;
    background-image: url("../images/map-pin.svg");
    background-position: center left;
    background-repeat: no-repeat;
    background-size: 40px 40px;
    padding: 10px 10px 10px 50px;
}

.fnavi_row02 {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.fnavi_row02 ul {
	display:block;
	flex-basis:50%;
	list-style:none;
	margin:0;
	padding:0;
	font-size:0.9rem;
}

.fnavi_row02 ul li {
	display:inline-block;
	margin:0 20px 0 0;
}

.copyright {
	flex-basis:50%;
	text-align:right;
	font-size: 0.7rem;
}

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

header {
	position:relative;
    width:100%;
	height: 75px;
	z-index:200;
    
}

.header_wrapper {
	padding:10px;
    width:100%;
    border-radius: 0;
}

header .headerTop{
    position: block;
	/*top:20px;
	left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);*/
	width:140px;
	margin: 5px 0;
}

header .siteTitle {
}

.navDrawr {
	background-color: rgba(255,255,255,1);
	position: fixed;
	width: 270px;
	top: 70px;
	bottom: 0;
	left: -270px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;

}

/* body.menuOpen #wrapper{
	padding-top:60px;
}*/

.overlay {
        display: none;
        background-color: rgba(0,0,0,0.5);
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
		z-index: 100;
}

body.menuOpen header{
        position: fixed;
        top:0;
        width: 100%;
    }
header .headerTop{
	padding:inherit;
}
	
header .siteTitle a{
       
}
	
header .siteTitle a img {
	width:100%;
	height:auto;
}

.navDrawrBtn {
	text-align: right;
}

.navDrawrBtn span {
        position: fixed;
        top: 10px;
        right: 10px;
        margin: auto;
        display: block;
        width: 50px;
        height: 50px;
        cursor: pointer;
		/*background-color: #a0b482;*/
		border-radius: 8px;
 }
 
 .navDrawrBtn span::before {
        content: "\f0c9";
		font-family: "Font Awesome 5 Free";
        font-size: 30px;
        color: #333;
        position: absolute;
        left: 0;
        width: 100%;
        text-align: center;
        line-height: 50px;
		font-weight: 700;
    }
body.menuOpen .navDrawrBtn span::before {
	content: "\f00d";
 }
 
 .navDrawr a {
 	position: relative;
 }
 
 .navDrawr a::after {
        position: absolute;
        top: 50%;
        margin-top: -13px;
        left: 15px;
        font-family: "Font Awesome 5 Free";
        content: "\f054";
		font-weight: 700;
 }
	
.navDrawr>ul {
	display: block;
	margin: 0 0 0 auto;
	background-color: rgba(255,255,255,0.9);
}

.navDrawr>ul>li {
        float: none;
        width: 100%;
    }
.navDrawr>ul>li>a {
        width: 100%;
		text-align: left;
        border-right: none;
        border-bottom: 1px solid #a0b482;
		color: #a0b482;
		padding:10px 5px 10px 35px;
}

.rline:after {
    display: none;
}


/* フッター */

.fnavi_row {
	flex-wrap: wrap;
}

.fnavi_navi {
	flex-wrap: wrap;
}

.fnavi_navi > li {
	flex-basis: 33%;
}

}

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

footer {
    padding-bottom: 10px;
}

.fnavi_row {
    flex-wrap: wrap;
}

.fnavi_txt {
    flex-basis: 100%;
    margin-bottom: 30px;
}

.fnavi_logo {
    text-align: center;
}

.f_map {
    flex-basis: 100%;
}

.fnavi_info dl {
    width:360px;
    margin: 0 auto;
}

.f_tel {
    text-align: center;
    justify-content: center;
}

.copyright {
	padding-top:20px;
	text-align: center;
}

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

header {
	padding:0 ;
}

header .headerTop{
	width:150px;
	margin: 0;
}

/* フッター */

.fnavi_navi {
	margin-bottom: 30px;
}

.fnavi_navi > li {
	flex-basis: 100%;
	margin: 0;
}

.fnavi_navi li a {
	display: block;
	width: 100%;
	padding:5px 0;
	border-bottom:1px solid #666;
}

.f_tel {
    display: flex;
    font-size: 1.8rem;
    margin-bottom: 20px;
}

.ftel_span01 {
    font-size: 1rem;
}

.ftel_span02 {
    font-size: 1.1rem;
}

.fnavi_info dl {
    width:100%;
    margin: 0 auto;
}
	
.fnavi_row02 ul {
	flex-basis:100%;
}

.fnavi_row02 ul li {
	display:inline-block;
	margin:0 20px 0 0;
}

.copyright {
	flex-basis:100%;
	text-align:left;
}

}