@charset "utf-8";

/*-　+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
■　header・グローバルナビ
@media screen and (min-width:1280px) {※以下：PCのみ}
@media screen and (max-width:1279px) {※以下：タブレットのみ}
@media screen and (max-width:599px) {※以下：スマホのみ}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++　--*/

/*------------------------------------------------------------
■　共通
------------------------------------------------------------*/
header {
background: #fff;
border-top: #ed1c24 2px solid;
box-shadow: #999999 2px 2px 2px;
width: 100%;
position: fixed;
z-index: 300;
transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
}
header.fixed {
background-color: rgba(255, 255, 255, 1);
box-shadow: #999999 2px 2px 2px;
}
header h1 a img {
display: block;
position: absolute;
}

/*-- 2階層式メニュー --*/
#g_navi ul li a.ac_menu {
cursor: pointer;
overflow: hidden;
}

/*------------------------------------------------------------
■　PC
------------------------------------------------------------*/
@media screen and (min-width:1280px) {

/*header固定分の上部余白＝headerの高さ*/
#top_slide{padding-top: 80px;}

/*ページ内リンクの余白＝headerの高さ*/
html {scroll-padding-top: 80px;scroll-behavior: smooth;}

/*---------------------【header】---------------------*/

header {
height: 90px;
}
header h1 a img {
height: 58px;
top: 14px;
left: 45%;
margin-left: -570px;
}
/*header h1 a img {
top: 28px;
left: 45%;
margin-left: -590px;
}*/
header #g_navi {
right: 44%;
margin-right: -580px;
}
/*-- btn --*/
.menu_btn, .btn_close {
display: none;
}

/*---------------------【navigation】---------------------*/

#g_navi {
position: absolute;
right: 10px;
top: 0px;
width: auto;
/*margin-left: 200px;*/
display: block !important;
z-index: 1000;
}
#g_navi ul{
max-width: 1280px;
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: nowrap;
-webkit-justify-content: space-between;
align-content: space-around;
flex-direction: row;
align-items: stretch;
justify-content: center;
}
#g_navi ul li {
display: inline;
}
#g_navi ul li.contact	{
width: 220px;
height: auto;
display: inline-block;
color: #fff;
line-height: 1.0;
padding: 12px 15px 0;
text-align: center;
}
#g_navi ul li.contact .nav_tel a {
position: relative;
font-size: 23px;
font-weight: bold;
line-height: 1.0;
padding: 0px;
margin: 5px 0;
text-align: center;
display: block;
background: transparent;
color: #000;
width: auto;
height: auto;
text-decoration: none;
letter-spacing: 0;
border: none;
}
#g_navi ul li.contact .nav_tel a:hover{
color: #fff;
}
#g_navi ul li.contact .nav_tel a i {
color: #ed1c24;
}

#g_navi ul li.contact .time{
font-size: 12px;
}

#g_navi li a {
/* width: 120px; */
line-height: 1.2;
display: block;
color: #000000;
text-decoration: none;
text-align: center;
position: relative;
font-size: 15px;
font-weight: bold;
letter-spacing: 1.5px;
border-right: #ed1c24 1px solid;
padding: 16px 22px 14px;
margin: 10px auto;
}
#g_navi li a img {
margin:0px auto 5px;
display: block;
}
#g_navi li a .en{
font-size: 86%;
color: #ed1c24;
font-weight: bold;
padding-top: 5px;
display: block;
}
/*	#g_navi li a::before {
display: block;
height: 2px;
position: absolute;
top: 2px;
width: 70%;
left: 15%;
background-color: rgba(17, 187, 221, 0);
content: '';
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
#g_navi li a:hover::before {
background-color: #32b16c;
top: 0px;
width: 80%;
left: 10%;
}
#g_navi li a:hover {
color: #432b18 !important;
}*/
#g_navi.txt_w li a {
color: #FFF;
}
header.fixed #g_navi.txt_w li a {
color: #6c6464;
}
#g_navi li.contact a.nav_mail {
background-color: #ed1c24;
color: #ffffff !important;
border-radius: 40px;
border: #ed1c24 2px solid;
padding: 5px 0px;
font-size: 12px;
line-height: 1.0;
margin:5px auto 0px;
text-align: center;
display: block;
width: 100%;
height: auto;
}
#g_navi li.contact a.nav_mail::hover {
color: #ed1c24;
background-color: #fff;
border: #ed1c24 2px solid;
}
#g_navi li.contact a::before {
display: none;
}
#g_navi ul li.pc_none {
display: none;
}
}

/*------------------------------------------------------------
■　タブレット
------------------------------------------------------------*/
@media screen and (max-width:1279px) {
/*header固定分の上部余白＝headerの高さ*/
#top_slide{padding-top: 52px;}

/*ページ内リンクの余白＝headerの高さ*/
html {scroll-padding-top: 52px;scroll-behavior: smooth;}

/*---------------------【header】---------------------*/

header {
height: 52px;
}
header h1 a img {
top: 6px;
left: 10px;
height: 38px;
}
header .h_menu {
display: none;
}
header #info {
display: none;
}

/*---------------------【navigation】---------------------*/

#g_navi {
position: fixed;
width: 100%;
height: 100%;
top: 0px;
overflow: auto;
z-index: 3000;
background-color: #fff;
background-color:rgba(241 239 225 0.8);
display: none;
/*padding-left: 10%;*/
}
#g_navi ul {
display: -webkit-flex;
display: flex;
-webkit-flex-flow: column;
flex-flow: column;
-webkit-justify-content: center;
justify-content: center;
min-height: 100%;
}

#g_navi ul li a {
color: rgb(108, 100, 100);
text-decoration: none;
display: block;
padding: 15px 20px;
line-height: 1.2;
font-size: 14px;
font-weight: bold;
letter-spacing: 1px;
border-bottom: 1px dotted rgb(204, 204, 204);
}
#g_navi li a .en{
display: none;
}
#g_navi ul li a:hover {
background-color: #fff;
}
#g_navi ul li.icon a:before {
content: "\f105";
font-family: FontAwesome;
margin-right: 1em;
color: #ed1c24;
}
#g_navi ul li.contact a.nav_mail {
text-align: center;
background-color: #ffffff;
color: #ed1c24;
max-width: 80%;
width: 300px;
margin: 0 auto 10px;
padding: 10px;
border-radius: 50px;
}
#g_navi ul li.contact a.nav_mail:before {

}
#g_navi ul li.contact	{
max-width: 92%;
width: fit-content;
display: inline-block;
background: #ed1c24;
color: #fff;
line-height: 1.0;
padding: 10px;
margin: 25px auto;
text-align: center;
border-radius: 10px;
}
#g_navi ul li.contact .nav_tel a	{
font-weight: bold;
font-size: 180%;
line-height: 1.4;
margin: 5px;
display: block;
background: transparent;
color: #fff;
width: auto;
/* float: none; */
height: auto;
text-decoration: none;
letter-spacing: 0;
border-bottom: none;
padding: 0;
}
#g_navi ul li.contact .nav_tel a:hover{
color: #fff;
}
#g_navi ul li.contact .time	{
font-size: 12px;
}
#g_navi ul li a img {
display: none;
}

/*---------------------【menu】---------------------*/

.menu_btn {
display: block;
height: 40px;
width: 40px;
text-align: center;
padding-top: 5px;
padding-bottom: 5px;
position: fixed;
z-index: 5000;
top: 5px;
right: 5px;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
cursor: pointer;
}
.menu_btn:hover {
cursor: pointer;
}
.menu_btn span {
width: 30px;
height: 4px;
display: block;
position: absolute;
left: 50%;
top: 50%;
margin-left: -14px;
background-color: #ed1c24;
}
.menu_btn span {
transition: all 0.3s;
transform: rotate(0deg);
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
}
.menu_btn span.top {
transform: translateY(-8px);
-webkit-transform: translateY(-8px);
-moz-transform: translateY(-8px);
}
.menu_btn span.bottom {
transform: translateY(8px);
-webkit-transform: translateY(8px);
-moz-transform: translateY(8px);
}
.menu_btn:hover span.top {
transform: translateY(-10px);
-webkit-transform: translateY(-10px);
-moz-transform: translateY(-10px);
}
.menu_btn:hover span.bottom {
transform: translateY(10px);
-webkit-transform: translateY(10px);
-moz-transform: translateY(10px);
}
.menu_btn.opened span {
background-color: #ed1c24;
}
.menu_btn.opened span.middle {
background: rgba(255, 255, 255, 0);
transform: translateX(30px);
-webkit-transform: translateX(30px);
-moz-transform: translateX(30px);
}
.menu_btn.opened span.top {
transform: rotate(-45deg) translateY(0px);
-webkit-transform: rotate(-45deg) translateY(0px);
-moz-transform: rotate(-45deg) translateY(0px);
}
.menu_btn.opened span.bottom {
transform: rotate(45deg) translateY(0px);
-webkit-transform: rotate(45deg) translateY(0px);
-moz-transform: rotate(45deg) translateY(0px);
}
}

