/*ヘッダー*/
.header{
    display:flex;
    height:110px;
    position:sticky;
    top: 0;
    z-index:2;
    background:#FFFFFF;
}

body.body-fixed-header{
    padding-top:110px;
    padding-bottom:0;
    margin-bottom:0;
    position: relative;
}
@media screen and (max-width:1279px){
    body.body-fixed-header{
        padding-top:80px;
    }
    .header{
        height:80px;
    } 
}
@media screen and (max-width:959px){
    body.body-fixed-header{
        padding-top:60px;
    }
    .header{
        height:60px;
    }
}
@media screen and (max-width:559px){
    body.body-fixed-header{
        padding-top:50px;
    }  
    .header{
        height:50px;
    }
}

.logo{
    top:0;
    bottom:0;
    margin:auto;
    max-width:340px;
    height:auto;
    line-height:0;
    padding-left:2em;  
}
@media screen and (max-width:1279px){
    .logo img{
        max-width:240px;
        height:auto;
    }
}
@media screen and (max-width:959px){
    .logo{
        padding-left:1em;
    }
}
@media screen and (max-width:559px){
    .logo img{
        max-width:185px;
    }
}
@media screen and (max-width:319px){
    .logo img{
        max-width:160px;
    }
}


/*ハンバーガーメニュー*/
/*通常時は非表示*/
.hiraku-open-btn{
    display:none!important;
  }
.hamburger-nav-list{
    text-align:center;
    font-family:游ゴシック;
    font-weight:bold;
    font-size:16px;
    padding-top:5em;
}
.hogehoge{
    list-style:none;
    background:#FFFFFF;
    padding:0;
}

.hogehoge li a{
    display:block;
    text-decoration: none;
    color:black;
    margin-bottom:2em;
}
.hogehoge li a:hover{
    opacity:0.5;
}
.btn0{
    display:inline-block;
    position:relative;
    text-decoration:none;
    width:160px;
    padding:0.8em;
    text-align:center;
    border-radius:5px;
    color:#FFFFFF;
    background-color:#66ad34;
    border:2px solid#66ad34;
    font-family:游ゴシック;
}
.btn0::after {
    content:'';
    display:inline-block;
    padding:0;
    width:6px;
    height:6px;
    border-top:solid 2px #FFFFFF;
    border-right:solid 2px #FFFFFF;        
    -webkit-transform-origin:center;
    -ms-transform-origin:center;
    transform-origin:center;
    -webkit-transform:rotate(45deg) translateX(-5px) translateY(5px);
    -ms-transform:rotate(45deg) translateX(-5px) translateY(5px);
    transform:rotate(45deg) translateX(-5px) translateY(5px);
    position:absolute;
    top:0;
    bottom:0;
    margin:auto;
    right:5px;
}
.btn0:hover {
    background-color: #fff;
    border-color:#cd2926;
    color:#cd2926;
}
@media screen and (max-width:959px){
    .hiraku-open-btn{
        display:block!important;/*display:noneだったボタンを display:blockにして表示*/
        padding:15px!important;
        border-radius:1px!important;
        border:1px solid #fff!important;
    }
    .hiraku-open-btn-line{
        width:22px!important;
        margin:8px 0px!important;
        border-radius:2px!important;
        background-color:#000!important;
    }
    .hiraku-open-btn-line:before,.hiraku-open-btn-line:after{
        background-color:#000!important;
    }
    [aria-expanded='true'] .hiraku-open-btn-line {
        background-color: transparent!important;
    }
}
@media screen and (max-width:319px){
    .hamburger-nav-list{
        font-size:14px;
    }
    .btn0{
        width:130px;
        font-size:14px;
    }
    .btn0::after{
        width:4px;
        height:4px;
        right:3px;
    }
}

      
 /*ナビゲーションメニュー*/
.gnav{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    width:100%;
    margin-right:2em;
} 
.gnav-inner{
    display:flex;
}
.gnav-inner p{
    margin-left:1.5em;
} 
.gnav-inner ul{
    display:flex;
}
.gnav-inner ul a{
    color: black;
    text-decoration:none;
    display:block;
    padding:1em 1.5em 1em 1.5em;
    transition:color 0.3s;
}
.gnav-inner ul a:hover{
    color:#cd2926;
}
.gnav-inner ul li{
    list-style:none;
    font-family:游ゴシック;
    font-size:16px;
}
@media screen and (max-width:1279px){
    .gnav-inner ul a{
        padding:1em 0.9em 1em 0.9em;
    }
    .gnav-inner ul li{
        font-size:14px;
    }
}
@media screen and (max-width:959px){
    .gnav{
        margin-right:0;
    }
    .gnav-inner{
        display:none;
    }
    .gnav-inner p{
        margin-left:0;
    }
}


.btn1{/*お問い合わせボタン*/
    display:inline-block;
    position:relative;
    width:160px;
    padding:0.8em;
    text-align:center;
    text-decoration:none;
   	border-radius:5px;
    color:#FFFFFF;
    background-color:#66ad34;
    border:2px solid#66ad34;
    font-size:16px;
    font-family:游ゴシック;
}
.btn1::after {
	content:'';
	display:inline-block;
	padding:0;
	width:6px;
	height:6px;
	border-top:solid 2px #FFFFFF;
	border-right:solid 2px #FFFFFF;
	-webkit-transform-origin:center;
	-ms-transform-origin:center;
	transform-origin:center;
	-webkit-transform:rotate(45deg) translateX(-5px) translateY(5px);
	-ms-transform:rotate(45deg) translateX(-5px) translateY(5px);
	transform:rotate(45deg) translateX(-5px) translateY(5px);
    position:absolute;
    top:0;
    bottom:0;
    margin:auto;
    right:5px;
}
.btn1:hover {
    background-color: #fff;
    border-color:#cd2926;
    color:#cd2926;
}
@media screen and (max-width:1279px){
    .gnav-inner p{
        margin-left:0.9em;
    }
    .btn1{
        width:130px;
        padding:0.5em;
    }
    .btn1::after{
     width:4px;
     height:4px;  
    }
}
@media screen and (max-width:959px){
    .hamburger-nav-toggle-btn{
        display:block;/*display:noneだったボタンを display:blockにして表示*/
    }
    .btn1{
        display:none;
    }
}


/*フッター*/
.footer{
    width: 100%;
    text-align:center;
    padding-top:120px;
    padding-bottom:120px;
    background-color: #FFFFFF;
    margin-bottom: 0;
}
.ft{
    display:block;
    margin-bottom: 0;
}
.ft img{
    max-width:250px;
    margin:0 auto;
}
.ft address{
    margin-top:1em;
    color: black;
    text-decoration:none;
    font-family:游ゴシック;
    font-size:14px;
    font-style:normal;
}
@media screen and (max-width:559px){
    .footer{
        padding-top:60px;
        padding-bottom:60px;
    }
    .ft img{
        max-width:calc(100% - 30px);
        margin:0 auto;
    }
    .ft address{
        font-size:12px;
    }
}
@media screen and (max-width:319px){
    .footer{
        padding-top:40px;
        padding-bottom:40px;
    }
    .ft img{
        margin:0 auto;
    }
}