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

@media only screen and (min-width: 891px) {
/*PC版グローバルナビ*/
/* ヘッダー
------------------------------------------------------------*/
#header{
	display: block;
	width: 100%;
	height: auto;
	position: fixed;
    opacity: 0.95;
	z-index: 100;
	top: 0;
	text-align: center;
    background-color: #fff;
    
}


#headerWrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    padding-top: 2px;
        padding-bottom: 1px;
}

#logo{
	flex-basis: 15%;
	box-sizing:border-box;
	height: auto;
	padding: 10px 0 9px 1%;
	text-align: center;
}

#logo img{max-width: 170px; height: auto;}

#logo img.logo_scroll{display: none;}
    
.header_tel {
    flex-basis:20%;
    /*font-size: max(1.6vw, 18px);*/
    /*font-size: 2em;*/
    font-size:clamp(18px, 1.8vw, 30px);
    color: #0048aa;
    line-height: 1;
    text-align: center;
    font-weight: bold;
    margin-right: min(1.25vw, 10px);
}
.header_tel small {
    /*font-size: min(1.125vw, 1.8rem);*/
    font-size: 12px;
    display: block;
    font-weight: normal;
    margin-top: 0.2em;
}


/* Navi */
.gnav-wrapper {
 background: none;
 /* position: relative; */
 width: 65%;
 margin: 0 auto;
}
 
.gnav {
 display: flex;
 justify-content: space-around;
 align-items: center;
}
 
.gnav li {
 padding: 10px 5px;
 text-align: center;
 transition: all .3s ease-in-out;
 margin-bottom: 10px;
box-sizing:border-box;
position: relative;
line-height: 34.2px;
}

/*.gnav li.arrowplus{
	background: url(../img/arrow_down_w.png) no-repeat center bottom;
}*/

.gnav li.blogicon{
	background: url(images/common/nav_blog_icon.png) no-repeat right 0 top 35%;
	padding-right: 15px;
}
 
.gnav li:hover {
 /*background: #fff;*/
}
 
.gnav a {
 color: #212121;
 padding: 0;
font-size: 12px;
display: block;
}
    
.gnav a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: #000000;
bottom: -1px;               /*アンダーラインがaタグの下端から現れる*/
transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
transition: transform 0.3s; /*変形の時間*/
}
    
    a:hover::after {
transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
}

.gnav a span{
	font-size: 15px;
	font-weight: bold;
	font-family:'Noto Sans JP', sans-serif;
	clear: both;
	display: block;
	margin: 0 auto -10px;
    list-style: 1.2;
}
 
.gnav > li:last-child a {
 /* border-right: solid 1px #fff; */
}
 
.gnav > li:hover .megamenu {
 max-height: 9999px;
 opacity: 1;
 padding: 0;
}
 
.megamenu {
 background: #fff;
 max-height: 0;
 opacity: 0;
 overflow: hidden;
 width: 170px;
 position: absolute;
 left: 0;
 transition: all .2s ease-in;
 z-index: 999;
}
 
.megamenu-inner {
  width: 100%;
  margin: 0 auto;
 display: flex;
 flex-wrap: wrap;
 box-sizing:border-box;
}
 
.megamenu-inner li {
 width: 100% /* calc( (100% / 5) ) */;
 padding: 0 5%;
 display: block;
 text-align: left;
 margin-bottom: 0;
 box-sizing:border-box;
 transition: all .2s ease-in;
 background: rgba(94, 94, 94, 0.9);
}

.megamenu-inner li:hover {
	background: rgba(94, 94, 94, 0.6);
	/* background: #c3d0d8 #f3f4f5 */;
}
 
.megamenu-inner a {
 border-left: none;
color: #fff;
}

.megamenu-inner a:hover {
	color: #fff;
}
 
.megamenu-inner-img {
 display: none;
 margin: 0 0 10px;
}
 
.megamenu-inner-text img {
 margin: 0 5px 0 0;
}

#header_contact{
	flex-basis: 20%;
	box-sizing:border-box;
	height: auto;
	padding: 10px 1%;
    margin-top: -3px;
}

#header_contact a{
    font-size: 14px;
	color: #fff;
    box-sizing: border-box;
    /* border: 2px solid #0092f3; */
    background: rgb(33,192,250);
    background-image: linear-gradient(130deg, rgba(7, 136, 231, 1), rgba(0, 76, 174, 1));
    text-align: center;
    font-weight: bold;
    text-shadow: 1px 1px #0767c9;
    display: block;
    border-radius: 6px;
    padding:4% 4% 5% 4%;
    line-height: 1.4;
    box-shadow: -2px -2px 2px 0px rgba(0,0,0,0.5) inset;
}
#header_contact a::after {
    position: absolute;
    top: 0;
    bottom: 0.25em;
    right: 1.5em;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

#header_contact a:hover{
	color: #fff;
	background-image: linear-gradient(130deg, rgba(0, 76, 174, 1), rgba(7, 136, 231, 1));
	text-align: center;
	display: block;
    opacity: 1;
    
}

.disabled{
    pointer-events: none;
}

/* スクロール後の変化 */
.fixed {
	position: fixed;
	top: 0;
	left: 0;
   	width: 100%;
	background: #fff;
	box-shadow:0px 0px 7px 2px #c1c1c1;
}


.fixed .gnav a {
 color: #374047 /* #a1abb1*/; 
 font-weight: bold;
}

.fixed .gnav a span{
	color: #374047;
}

.fixed .gnav li.arrowplus{
	background: url(images/common/arrow_down_g.png) no-repeat center bottom 10px;
}
.fixed .gnav li.blogicon{
	background: url(images/common/nav_blog_icon_g.png) no-repeat right 0 top 35%;
	padding-right: 15px;
}

.fixed .megamenu-inner a{
 color: #fff /* #374047 */;
}

.fixed .megamenu-inner a:hover {
    color: #fff;
    /* text-decoration: underline; */
}

.fixed #header_contact a{
	color: #fff;
	box-sizing:border-box;
	border: 1px solid #d0000d;
	font-family: "apercu";
	background: #d0000d;
	text-align: center;
	display: block;
	transition-property: all;
	transition: 0.2s linear;
}

.fixed #header_contact a:hover{
	color: #d0000d;
	font-family: "apercu";
	border: 1px solid #d0000d;
	background: #fff;
	text-align: center;
	display: block;
}

.fixed #logo .logo_top{display: none;}
.fixed #logo .logo_scroll{display: inline;}
    
    
}
@media only screen and (max-width: 768px){
nav#gnav {
    padding-bottom: 5px;
}
.header_tel a {
    flex-basis:13%;
    font-size: 26px;
    color: #fff;
    line-height: 1;
    text-align: center;
    font-weight: bold;
    margin-right: min(1.25vw, 20px);
}
.header_tel > small {
    /*font-size: min(1.125vw, 1.8rem);*/
    font-size: 15px;
    display: block;
    font-weight: normal;
    margin-top: 0.2em;
    color: #fff;
}    

}
@media only screen and (max-width: 1100px){
	.gnav li {
	 padding: 10px 2px;
	}

	.gnav a {
	font-size: 1vw;
	}

	.gnav a span{
	font-size: 1.25em;
        line-height: 1.2;
	}
    #header_contact a{
        font-size: 1.2vw;
    }
    .header_tel{
        font-size: 1.15em;
    }
}