/* CSS Document */




/*============================================================================

	header

============================================================================*/
#header{
	position: absolute;
	width:100%;
	height: 140px;
    z-index: 999;
	background: #FFF;
}
header .inner{
	width: calc( 100% - 10% );
	min-width:400px;
	margin:auto;
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width:1480px) {
	header .inner{
		width: calc( 100% - 4% );
	}
}



/*------------------------------ 左：h1見出しテキスト ------------------------------*/
header h1{
	position: relative;
	top: 25px;
	font-size: 12px;
	color: #7c5938;
}
@media screen and (max-width:1360px) {
	header h1{
		top: 30px;
		font-size: 10px;
	}
}



/*------------------------------ 左：ロゴ ------------------------------*/
#header_logo{
	position:relative;
	top:40px;
}
#header_logo img{
	width: 405px;
	height: auto;
}
@media screen and (max-width:1360px) {
	#header_logo{
		top:50px;
	}
	#header_logo img{
		width: 350px;
	}
}



/*------------------------------ 右：住所と電話番号 ------------------------------*/
#header_right dl {
	margin-top: 35px;
	display: flex;
	justify-content: flex-end;
	line-height: 1;
	align-items: baseline;
}
#header_right dl dt {
	margin-right: 30px;
	font-size: 14px;
	color: #666666;
}
#header_right dl dt img {
	margin-right: 10px;
}






/*============================================================================

	nav

============================================================================*/
nav {
	margin-top: 22px;
}
nav li {
	position:relative;
	display: inline-block;
	margin-left: 20px;
	font-size: 16px;
}
nav li a {
	position:relative;
	display: block;
	font-size: 16px;
}
nav li a img {
	position:relative;
	top: -6px;
}
@media screen and (max-width:1700px) {
	nav li { margin-left: 15px; font-size: 15px;}
	nav li a { font-size: 15px;}
}
@media screen and (max-width:1580px) {
	nav li { margin-left: 10px; font-size: 14px;}
	nav li a { font-size: 14px;}
}
@media screen and (max-width:1360px) {
	nav li { margin-left: 10px; font-size: 13.5px;}
	nav li a { font-size: 13.5px;}
}




/*------------------------------ ホバーのボーダー ------------------------------*/
nav li a::before{
    position: absolute;
	left: 0;
	right:0;
	bottom: -7px;
	width:100%;
	height:1px;
	margin:auto;
	background-color: #fdb662;
	transition: 0.15s  ease-out;
	transform: scaleX(0);
	content: "";
	z-index: 1;
}
nav li a:hover::before{
	transform: scaleX(1);
}




/*------------------------------ PC＊ドロップダウンメニュー ------------------------------*/
li.gnavi__list em { position: relative; }
li.gnavi__list em::before { /*診療案内に↓をつける*/
	position: absolute;
	content: "";
	background: url("../images/header/nav_img02.png")no-repeat;
	background-size: 8px 5px;
	width: 8px;	height: 5px;
	bottom: -10px;
	left: 50%; margin-left: -4px;
    transition: all .3s;
}
li.gnavi__list:hover em::before { bottom: -15px;}



.dropdown__lists {
    position: absolute;
    left: -610%;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
}
.gnavi__list:hover .dropdown__lists {
    visibility: visible;
    opacity: 1;
}

.dropdown__lists ul {
	height: 60px;
	padding: 0 20px;
	margin-top: 20px;
	display: flex;
	align-items: center;
	background: linear-gradient(90deg, #79ca92 0%, #a0d16f 100%);
	border-radius: 10px;
}

.dropdown__list {
    position: relative;
	margin: 0 10px;
    transition: all .3s;
}
.dropdown__list a {
    position: relative;
    color: #fff;
	font-size: 15px;
	white-space: nowrap;
}
/*--- ホバーのボーダー ---*/
.dropdown__list a::before{
	bottom: -5px;
	background-color: #fff;
}
@media screen and (max-width:1580px) {
	.dropdown__list a {
		font-size: 14px;
	}
}
@media screen and (max-width:1360px) {
	.dropdown__list a {
		font-size: 13.5px;
	}
}




/*------------------------------ PC＊スクロール後設定 ------------------------------*/
#header.HeightMin{
	position: fixed;
	height:80px;
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from { opacity: 0;	transform: translateY(-170px);}
  to   { opacity: 1;	transform: translateY(0);}
}


/*----- 変更点 ------*/
#header.HeightMin h1{ display: none;}
#header.HeightMin #header_logo { top: 20px;}
#header.HeightMin dl { display: none;}
#header.HeightMin nav {	margin-top: 25px;}











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

header {
	display:none;
}

/*------------------------------ h1 ------------------------------*/
#sp_header h1{
	position:relative;
	top: 0;
	width:100%;
	box-sizing: border-box;
	font-size: 10px;
	color: #000;
	line-height: 25px;
	height: 25px;
	padding-left: 4%;
	background: url("../images/bg01.jpg");
	text-align: left;
	letter-spacing: 0;
}


/*------------------------------ ロゴ ------------------------------*/
#sp_header_logo {
	position: absolute;
	width:70%;
	max-width: 280px;
	min-width: 280px;
	padding-top: 18px;
	margin-left: 4%;
}
#sp_header_logo img {
	position: relative;
	z-index: 999;
}
}



.sp_navi {
	display:block;
	position:absolute;
	top:0;
	right:0;
	width:120px;
	height:62px;
	z-index: 9998;
}
@media screen and (max-width:640px) {
    .sp_navi {
        position:fixed;
		left: auto;
		top: 10px;
		right: 10px;
    	width: 75px;
    	height: 75px;
		background: #FFF;
		border-radius: 5px;
		box-sizing: border-box;
		border: 1px solid #eee;
    }
}


.sp_navi::after {
	content: "MENU";
	position:absolute;
	top:55px;
	right:30px;
	font-family: "Josefin Sans", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 13px;
	color: #222;
	letter-spacing: 1.2px;
	z-index: 99998;
}
@media screen and (max-width:640px) {
    .sp_navi::after {
        top:44px;
        right:16px;
        font-size: 11px;
    }
}


.sp_navi dl dt {
	display:block;
	cursor:pointer;
	padding: 0 4%;
}
.sp_navi dl dd {
	position: fixed;
	display: none;
	background: rgba(190,225,180,.6);
	width: 100%;
	min-width: 100vw;
	transition: all 0.5s ease-in-out;
	z-index: 9998;
    height: calc( 100% + 10px );
    min-height: calc( 100vh + 10px );
	top: -10px;
}
.sp_navi dl dd.active {
	display: block;
	animation: slidenav 0.5s forwards;
}
@keyframes slidenav {
  from { right: -100%; }
  to { right: 0%;  }
}



.sp_navi ul{
	position: absolute;
	right: -100%;
	width: 95%;
	height: 100%;
	padding: 10px 8% 150px;
	box-sizing: border-box;
	background: #faf8f4;
	transition: all 0.5s ease-in-out;
	z-index: 9998;
	color:#333;
	font-size:16px;
	line-height: 5;
	
	overflow: scroll;
}
.sp_navi ul.active {
	right: 0%;
	animation: slidenav 0.5s forwards;
}




.sp_navi ul li {
	width: 100%;
	border-bottom: 1px solid #d9cec2;
    line-height: 4;
}
.sp_navi ul li a {
	position: relative;
	display: block;
	padding-left: 20px;
	transition: 0.3s ease-out;
}
.sp_navi ul li a::before {
	position: absolute;
	content: "";
	background: url("../images/icon05.png")no-repeat;
	background-size: 9px 10px;
	width: 9px; height: 10px;
	top: 28px; left: 0;
}
.sp_navi ul li a:hover {
	padding-left: 30px;
}


/*下層に入るデザイン*/
.sp_navi dd li.sp_under {
	box-sizing: border-box;
	width: 92%;
    margin-left: 8%;
    line-height: 4;
	border-bottom: 1px dashed #d9cec2;
}
.sp_navi dd li.sp_under a {
	padding-left: 25px;
}
.sp_navi dd li.sp_under a::before { 
    position: absolute; content: "";
    background: url("../images/icon04.png") no-repeat; 
    background-size: 7px 12px;
    width: 7px; height: 12px;
    top: 27px; left: 2px;
}


/*１つ目のliはロゴ*/
.sp_navi ul li:first-of-type {
	width:100%;
	margin-bottom: 20px;
	border-bottom: 0;
}
.sp_navi ul li:first-of-type img {
    width: 250px;
    height: auto;
}
.sp_navi ul li:first-of-type a {
	padding-left: 0;
}
.sp_navi ul li:first-of-type a::before {
	display: none;
}
.sp_navi ul li:first-of-type a:hover {
	padding-left: 0;
}

	




/*--------------------------- ハンバーガーボタン ---------------------------*/
.sp_navi dt a {
    display: block;
    width: 46px;
    height:46px;
    position: absolute;
    top:7px;
    right: 15px;
    z-index: 9999999;
}
.sp_navi dt a span {
    display: block;
    background: #666;
    width: 32px;
    height: 1px;
    position: absolute;
    left: 9px;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
}
.sp_navi dt a span:first-child {
    top: 14px;
}
.sp_navi dt a span:nth-child(2) {
    margin-top: -1px;
    top: 50%;
}
.sp_navi dt a span:last-child {
    bottom: 14px;
}
.sp_navi dt a.active span:first-child {
    -webkit-transform: translateY(8px) rotate(45deg);
    -moz-transform: translateY(8px) rotate(45deg);
    -ms-transform: translateY(8px) rotate(45deg);
    transform: translateY(8px) rotate(45deg);
}
.sp_navi dt a.active span:nth-child(2) {
    opacity: 0;
}
.sp_navi dt a.active span:last-child {
    -webkit-transform: translateY(-8px) rotate(-45deg);
    -moz-transform: translateY(-8px) rotate(-45deg);
    -ms-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg);
}






