@charset "utf-8";

@font-face {
font-family:'msdr';
src:url('fonts/msdr.eot');
src:url('fonts/msdr.woff2') format('woff2'),
	url('fonts/msdr.woff') format('woff'),
	url('fonts/msdr.ttf') format('truetype');
}

:root {
  color-scheme: light;
}

html{
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
/*
font-feature-settings: "palt" 1;
*/
}

body{
position:relative;
color:#262626;
}

h1, h2, h3, h4, h5, h6, strong {
font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
font-weight: 700;
}

a{
text-decoration:none;
}

section a{
transition:all 0.2s ease-out;
}

a{
font-weight: bold;
}

a:link,
a:visited{
color:#4B4848;
}

a:hover,
a:active{
color:#000;
text-decoration:underline;
}

/*/--------------------------------------------------------------------------/*/
/* ===== CLEARFIX ===== */
/*/--------------------------------------------------------------------------/*/

#header div:after,
#header nav:after,
#footer:after,
#footer .left_col:after{
content:"";
display:block;
clear:both;
}

/*/--------------------------------------------------------------------------/*/
/* ===== HEADER ===== */
/*/--------------------------------------------------------------------------/*/

#header{
position:fixed;
top:0;
left:0;
z-index:999;
width:100%;
padding:0;
}

#header > div{
margin: 0 auto;
padding: 20px;
}

#header a,
#header label{
display: block;
cursor: pointer;
font-weight: bold;
}

#header input{
display: none;
}

#header .logo,
#header .logo a{
display: block;
width:240px;
height:68px;
}

#header .logo{
float:left;
}

#header .logo a{
background:url("../_images/common/header-logo.png") no-repeat;
background-position: top;
background-size: cover;
text-indent: -9999px;
transition:all 0.2s ease-out;
}

#header div div{
float: right;
background: rgba(255,255,255,0.9);
box-shadow: 0 0 5px rgba(0,0,0,0.3);
margin-top: 2px;
padding:0 0 0 20px;
}

#header .tel{
float: right;
padding: 0.5em 0;
line-height: 1.1;
font-size: 125%;
}

#header .tel a{
background: url("../_images/common/header-tel.png") no-repeat left center;
padding:3px 0 3px 41px;
}

#header .tel a:link,
#header .tel a:visited{
color:#000;
}

#header .tel small{
display: block;
font-size: 44%;
}

#header .tel span{
display: none;
}

#header nav{
float: right;
}

#header nav > ul{
display: flex;
line-height:4.2;
list-style: none;
font-size: 87.5%;
}

#header ul ul{
position: absolute;
top:3.3em;
left:-0.5em;
border: 1px solid #EEE;
min-width: 8em;
line-height: 2;
font-size: 100%;
white-space: nowrap;
list-style: none;
visibility: hidden;
opacity: 0;
transition: all 0.2s ease-out;
}

#header ul a:hover + ul,
#header ul ul:hover{
visibility:visible;
opacity: 1;
}


#header nav > ul > li:first-child{
display:none;
}

#header nav > ul > li{
position: relative;
padding-right: 2.2em;
}

#header ul ul li{
padding-right: 0;
}

#header nav > ul > li > a{
position: relative;
}

#header nav > ul > li > a:after{
content:"";
position: absolute;
bottom:calc(50% - 0.2em);
right:-0.6em;
display: inline-block;
border-style: solid;
border-width: 3px 0 3px 4px;
border-color:transparent transparent transparent #666;
width: 0;
height: 0;
}

#header nav > ul > li > a:hover:after{
border-color:transparent transparent transparent #1144AA;
}


#header nav > ul > li:nth-child(2) > a:after{
content:"";
position: absolute;
bottom:1em;
left: calc(50% - 0.25em);
display: inline-block;
border-style: solid;
border-width: 4px 3px 0 3px;
border-color: #666 transparent transparent transparent;
width: 0;
height: 0;
}

#header nav > ul > li:nth-child(2) > a:hover:after{
border-color: #1144AA transparent transparent transparent;
}



#header nav > ul a:link,
#header nav > ul a:visited,
#header nav > ul a{
color:#666;
}

#header nav > ul a:hover{
color:#1144AA;
}

#header nav ul ul a{
background: rgba(255,255,255,0.9);
border-bottom: 1px solid #EEE;
padding: 0.25em 1em;
}

#header nav ul ul li:last-child a{
border-bottom: none;
}


/* ===== SP MENU ===== */


#header #sp-menu-btn{
position: relative;
z-index: 1;
display:none;
box-sizing:border-box;
float: right;
overflow:hidden;
width:36px;
height:36px;
margin-left: 10px;
line-height:1;
cursor:pointer;
transition:all 0.3s ease-out;
opacity:0;
}

#sp-menu-btn span{
position:absolute;
left:0;
display:block;
box-sizing:border-box;
background-color:#14A;
border-radius:1px;
width:36px;
height:3px;
text-align:center;
transition:all 0.2s ease;
}

#sp-menu-btn span:nth-of-type(1){
top:0;
}
#sp-menu-btn span:nth-of-type(2){
top:9px;
}
#sp-menu-btn span:nth-of-type(3){
top:18px;
}
#sp-menu-btn span:nth-of-type(4){
bottom:0;
background-color:transparent !important;
color:#14A;
width:100%;
height:auto;
line-height: 1;
font-family:Arial, Helvetica, sans-serif;
font-weight:bold;
font-size:10px;
text-align:center;
}

#sp-menu-btn:hover span,
#sp-menu-btn:hover span:nth-of-type(4){
background-color:#000;
color:#000;
}


#sp-menu-flg:checked + #sp-menu-btn span:nth-child(1){
top:12px;
left: 3px;
width: 30px;
transform:rotate(45deg);
}

#sp-menu-flg:checked + #sp-menu-btn span:nth-child(2){
opacity:0;
}

#sp-menu-flg:checked + #sp-menu-btn span:nth-child(3){
top:12px;
left: 3px;
width: 30px;
transform:rotate(-45deg);
}


#sp-menu-flg:checked + #sp-menu-btn span,
#sp-menu-flg:checked + #sp-menu-btn span:nth-of-type(4){
background-color:#888;
color:#888;
}


#sp-menu-flg:checked + #sp-menu-btn{
box-shadow:none;
}

#sp-menu-flg:checked + #sp-menu-btn + #header div nav{
display:block;
}

@media all and (max-width: 1080px){
#header nav > ul{
font-size: 81.25%;
}

#header nav > ul > li{
padding-right: 1.8em;
}

}

@media all and (max-width: 1000px){


#header nav > ul{
font-size: 75%;
}

#header nav > ul > li{
padding-right: 1.5em;
}


}

@media all and (max-width: 940px){

#header .logo,
#header .logo a{
width: 140px;
height: 36px;
}

#header .logo{
position: relative;
z-index: 1;
}

#header .logo a{
background-position: bottom;
-ms-interpolation-mode: nearest-neighbor;
image-rendering: pixelated;
}


#header > div{
padding: 15px;
}

#header div div{
position: absolute;
top: 0;left: 0;
padding: 15px 66px 15px 170px;
margin-top: 0;
}

#header .tel{
height: 36px;
padding: 0;
line-height: 1;
}

#header .tel a{
box-sizing: border-box;
height: 36px;
}

#header nav{
float:none;
clear:both;
overflow: hidden;
max-height: 0;
margin: 0 -66px -15px -170px;
transition: all 0.3s ease-out;
box-shadow: 0 5px 1px rgba(0,0,0,0.1);
}

#sp-menu-flg:checked + label + div nav{
max-height: 90vh;
padding-top: 15px;
}

#sp-menu-flg:checked + #sp-menu-btn{
margin-bottom: 15px;
}

#header nav > ul > li:first-child{
display:block;
}

/* ===== SP MENU ===== */

#header #sp-menu-btn{
display:block;
opacity:1;
}

#header nav > ul{
display: block;
line-height: 1.6;
font-size: 3vw;
}

#header nav > ul:after,
#header nav > ul ul:after{
content:"";
display: block;
clear: both;
}

#header nav > ul > li{
float: left;
box-sizing: border-box;
width: 50%;
padding: 0;
}

#header nav > ul > li:first-child,
#header nav > ul > li:nth-child(2),
#header nav > ul > li:last-child{
width: 100%;
}

#header nav > ul a{
border-top: 1px solid #EEE;
}

#header nav > ul > li:nth-child(2) > a{
display: none;
}

#header nav > ul li:nth-child(3) a,
#header nav > ul li:nth-child(5) a,
#header nav > ul ul li:nth-child(1) a{
border-right: 1px solid #EEE;
}

#header nav > ul li:nth-child(5) a,
#header nav > ul li:nth-child(6) a{
border-bottom: 1px solid #EEE;
}

#header nav > ul ul{
position: static;
display: block;
border: none;
line-height: 1.6;
visibility: visible;
opacity: 1;
}

#header nav > ul ul li{
float: left;
width: 50%;
}

#header nav > ul > li a,
#header nav > ul > li label{
position: relative;
background-color: #FFF;
padding: 0.5em 1em;
}

#header nav ul ul a{
border-bottom: none;
}

#header nav > ul > li > a:after{
content:"";
position: static;
display: inline-block;
border:none;
width:auto;
height:auto;
}


#header nav > ul > li:nth-child(2) > a:after{
content:"";
position: static;
display: inline-block;
border:none;
width:auto;
height:auto;
}


#header nav > ul > li a:after{
content: '▶';
position: absolute;
top:calc(50% - 5px);
right: 2em;
display:block;
color: #14A;
height: 10px;
line-height: 10px;
font-size: 10px;
}


}

@media all and (max-width: 480px){

#header .tel:after{
content: "";
display: block;
clear: both;
}

#header .tel a{
float: right;
width:36px;
height:36px;
padding: 0;
text-indent: -9999px;
}

#header .tel small{
display:inline;
}

#header .tel span{
float: right;
display: block;
font-size: 10px;
font-weight: bold;
padding: 0.7em 1em 0 0;
}

#header nav > ul{
font-size: 4vw;
}

}

@media all and (max-width: 320px){

#header > div{
padding: 15px 5px;
}

#header div div {
padding: 15px 50px 15px 150px;
}

#header .tel span{
padding: 0.7em 0.7em 0 0;
}

}


/*/--------------------------------------------------------------------------/*/
/* ===== AREA ===== */
/*/--------------------------------------------------------------------------/*/

#area{
background: url("../_images/common/area-bg.webp") no-repeat center center;
background-size: cover;
background-attachment: fixed;
color: #FFF;
text-shadow: 0 0 3px #000,0 0 3px #000,0 0 3px #000;
padding: 3.125% 0;
}

#area > div{
display: flex;
flex-direction: row-reverse;
flex-wrap: wrap;
max-width: 1180px;
padding: 0 20px;
margin: 0 auto;
}

#area div div:first-child{
width: 48%;
}

#area .areamap{
width: 47.2%;
margin-right:4.8%;
}

#area img{
width:100%;
}

#area h2{
font-size: 181.25%;
}

#area h3{
line-height: 1.3;
font-size: 125%;
}

#area dl{
padding: 0.5em;
}

#area dt{
font-weight: bold;
}

#area ul{
list-style: none;
}

#area li{
display: inline-block;
}

#area li:before{
content: "・";
}

#area p:last-child{
text-shadow: none;
text-align:center;
}

#area p:last-child a:link,
#area p:last-child a:visited{
display: inline-block;
background: #060;
color: #FFF;
width:80%;
padding:0.8em 0;
}

@media all and (max-width: 640px){

#area{
padding-bottom: 0;
}

#area > div{
flex-direction: column-reverse;
padding:4% 2% 2% 2%;
}

#area .areamap{
width: 90%;
margin:0 auto 2% auto;
}

#area div div:first-child{
box-sizing: border-box;
background-color: rgba(255,255,255,0.8);
width: 100%;
padding:3%;
}

#area h2{
color: #006336;
text-shadow: none;
font-size:6vw;
}

#area h3{
color: #000;
text-shadow: none;
font-size: 3.6vw;
}


#area dl{
color: #000;
text-shadow: none;
padding: 0.5em 0 1em 0;
font-size: 3vw;
}


}

/*/--------------------------------------------------------------------------/*/
/* ===== フッターナビ===== */
/*/--------------------------------------------------------------------------/*/

.footer-nav {
	max-width: 1280px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	margin-top:  4.6875%;
	margin-bottom: 4.6875%;
}

.footer-inner {
	width: 22%;
	margin-left: 4%;
}

.footer-inner:nth-of-type(1) {
	margin-left: 0%;
}

.footer-nav ul {
	list-style: none;
	width: 100%;
}

.footer-nav li {
	width: 80%;
	border-bottom:1px solid #ddd;
}

.footer-nav li.footer-nav-border {
	border-bottom: none;
}

.footer-nav a {
	font-size: 13px;
	line-height: 34px;
	display: block;
	overflow: hidden;
}

.footer-nav a:after{
	content: "";
	width: 9px;
	height: 9px;
	background-image: url("/_images/home/footer-nav.svg");
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	margin-top: 13px;
	float: right;
}

@media all and (max-width: 640px){

	.footer-nav {
	    max-width: 90%;
		display: block;
	}
	.footer-nav:after{
	content: "";
	display: block;
	clear: both;
	}
	.footer-nav ul:after{
	content: "";
	display: block;
	clear: both;
	}
	.footer-nav li{
	width: 90%;
	}

	.footer-inner {
	float: left;
		width: 50%;
		margin-left: 0%;
	}
	.footer-inner:nth-child(2) li,
	.footer-inner:nth-child(4) li{
	float:right;
	}
	.footer-inner:nth-child(2){
	float: right;
	}
	.footer-inner:nth-child(2) li.footer-nav-border{
	border-bottom: 1px solid #ddd;
	}

}
/*/--------------------------------------------------------------------------/*/
/* ===== フッターインフォ ===== */
/*/--------------------------------------------------------------------------/*/

.footer-info-wrap {
	background: #eee;
}

.footer-info {
	max-width: 1280px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-end;
	padding: 55px 2%;
}

.footer-info-img {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
width: 28.90625%;
}

.footer-info-img .logo{
	width: 64.864865%;
}

.footer-info-img .jona{
	width: 21.621622%;
}


.footer-info-inner {
	font-size: 13px;
	line-height: 21px;
}

.footer-info-inner h3 {
	font-weight: bold;
}

.footer-info-inner br{
display: none;
}

@media all and (max-width: 940px){
.footer-info-inner p br{
display: block;
}
}


@media all and (max-width: 640px){

	.footer-info-img {
		width: 90%;
		margin: auto;
		text-align: center;
	}

	.footer-info-inner {
		width: 50%;
		font-size: 13px;
		line-height: 21px;
		margin-top: 34px;
	}

.footer-info-inner h3,
.footer-info-inner p{
text-align: center;
}

.footer-info-inner br{
display: block;
}

}

/*/--------------------------------------------------------------------------/*/
/* ===== FOOTER ===== */
/*/--------------------------------------------------------------------------/*/

#copyright{
background-color: #14A;
color: #FFF;
line-height: 2.5;
text-align: center;
}

#copyright small{
font-family: Arial, Helvetica, "sans-serif";
font-size: 68.75%;
font-weight: bold;
}