@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:#ffffff url(../img/header_bg.png) no-repeat center 11px scroll;*/
background:#ffffff;
width: 100%;
z-index: 300;
position: fixed;
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
}

header h1 a {
display: block;
position: absolute;
}
header h1 a .logo_header{
height: 50px;
}
header h1 a .header_h1_text{
font-size: 14px;
font-weight: normal;
color: #434343;
float: right;
padding-top: 19px;
text-indent: 20px;
}

/*-- ボタン --*/
header .h_btn a,
header .h_tel a  {
/*font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;*/
line-height:1.4;
position: absolute;
display: block;
font-weight: bold;
text-align: center;
text-decoration: none;
letter-spacing: 1px;
}

header .h_tel a {
font-family: 'Work Sans', sans-serif;
font-family: 'Roboto', sans-serif;
color: #000;
font-size: 24px;
font-weight: bold;
width: auto;
}

header .h_btn a {
color: #FFF;
background: #0077b5;
background: -moz-linear-gradient( #559cec 0%, #0077b5 100%);
background: -webkit-gradient(linear, left top, left bottom, from(#559cec), to(#0077b5));
background: -webkit-linear-gradient( #559cec 0%, #0077b5 100%);
background: -o-linear-gradient( #559cec 0%, #0077b5 100%);
background: linear-gradient( #559cec 0%, #0077b5 100%);
}

header .h_btn a:hover {
opacity: 0.85;
}

header .h_tel a i, 
header .h_tel2 a i {
padding-right: 5px;
color: #0077b5;
}

header .h_tel2{
position: relative;
right: 215px;
}

header .h_tel2 a{
color: #000;
}

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

/*追記*/
header .cap {
font-size: 12px;
position: relative;
top: 9px;
right: -153px;
z-index: 15;
text-align: center;
}

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

/*ページ内リンクの余白＝固定headerの高さ*/
html {scroll-behavior: smooth;scroll-padding-top: 100px;}
  
/*header固定分の上部余白＝headerの高さ*/
#top_slide{padding-top: 100px;}

/*フル画面imgのモーションで下が見えるのを防ぐ余白*/
.sm-slider, .sm-slider:after {margin-top: 100px !important;}

/* PCでは非表示のメニュー */
#g_navi ul li.pc_none {display: none;}

/*ページ内リンクの余白＝固定headerの高さ+余裕もつ）
<a class="pagelink" id="**">無</a> */
.pagelink {
margin-top: -140px;
padding-top: 140px;
display: block;
}

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

header {
height: 120px;
transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
}

header h1 a {
top: 7px;
height: 28px;
left: 50%;
margin-left: -600px;
}

header .h_btn a, 
header .h_tel a {
top: 12px;
z-index: 20;
}

header .h_btn a {
font-size: 14px;
width: 150px;
padding: 8px 15px;
right: 50%;
margin-right: -635px;
margin-top: 2px;
/* border-radius: 5px;*/
background: #93cf34;
}

header .h_tel a {
right: 50%;
margin-right: -247px;
margin-top: 13px;
}

header .h_btn02 a {
font-size: 14px;
width: 217px;
padding: 8px 15px;
right: 50%;
margin-right: -475px;
margin-top: 2px;
/* border-radius: 5px;*/
background: linear-gradient( #93cf34 0%, #93cf34 100%);
background:#0077b5;
}

header .h_tel02 a {
right: 50%;
margin-right: -424px;
margin-top: 13px;
}
/*-- ************　▼縦幅可変▼　*************  
header.fixed {
height: 110px;
}
header.fixed h1 a img {
top: 21px;
height: 30px;
}
header.fixed .h_btn a, 
header.fixed .h_tel a {
top: 8px;
}
header.fixed #g_navi {
height: 50px;
}
header.fixed #g_navi li a {
font-size: 14px;
padding-top: 12px;
}
header.fixed #g_navi li a .en {
display: block;
}
************　//縦幅可変　************* --*/

/*-- PC非表示：アコーディオンメニュー --*/
.menu_btn, .btn_close {display: none;}


/*---------------------【navigation】---------------------*/
#g_navi {
background: #93cf34;
height: 55px;
box-shadow: #5f5f5f 2px 2px 2px;
position: absolute;
width: 100%;
display: block !important;
z-index: 3000;
left: 0px !important;
bottom: 0px;
padding-left: 2%;
}

#g_navi ul.navi_base {
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;
padding-top: 0px;
}

#g_navi ul li {
display: inline;
/*width: 10%;*/
}

#g_navi li a {
color: #fff;
font-size: 15px;
font-weight: normal;
padding: 14px 30px 8px;
margin: 0px 0;
border-right: rgb(255 255 255) 1px solid;
height: fit-content;
letter-spacing: 2px;
line-height: 1.0;
text-align: center;
text-decoration: none;
display: block;
position: relative;
}

#g_navi li a .en {
display: block;
font-size: 11px;
line-height: 1.0;
font-weight: normal;
color: rgba(255,255,255,0.8);
padding-top: 5px;
}

/*#g_navi li a::before {
content: "\f138";
font-family: FontAwesome;
padding-right: 1em;
}*/

#g_navi li a:hover, #g_navi li a.active, #g_navi ul li:hover > a {
/*color: #fff;*/
/*background: rgba(0,0,0,0.05);*/
background: rgba(255,255,255,0.15);
}

/*ホームアイコン*/
#g_navi ul li.home-pc a{border-left: rgb(255 255 255) 1px solid;}
#g_navi ul li.home-sp{display: none;}


/*-- ************　▼2階層メニュー▼　************* --*/
#g_navi ul li:hover > a.ac_menu, 
#g_navi li a.ac_menu:hover {
position: relative;
}

/*▲三角矢印*/
#g_navi li a.ac_menu:hover::after {
border-right: 15px solid transparent;
border-bottom: 20px solid #fff;
border-left: 15px solid transparent;
content: "";
position: absolute;
bottom: -12px;
left: 50%;
margin-left: -14px;
z-index: 300;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}

/*#g_navi ul li:hover > a.ac_menu::after, #g_navi li a.ac_menu:hover::after {
border-bottom: 20px solid #fff;
}*/

/*------- 2階層目 -------*/
#g_navi li .ac_list ul li{
width: 20%;
padding: 10px;
}
#g_navi li .ac_list ul li a{
padding: 15px 22px 15px;
box-shadow: #9be0ff 2px 2px 0px;
border: #fff 1px solid;
letter-spacing: 1px;
/*グラデ*/
background: #02a1e9;
background: -moz-linear-gradient( #31b2ed 0%, #02a1e9 100%);
background: -webkit-gradient(linear, left top, left bottom, from(#31b2ed), to(#02a1e9));
background: -webkit-linear-gradient( #31b2ed 0%, #02a1e9 100%);
background: -o-linear-gradient( #31b2ed 0%, #02a1e9 100%);
background: linear-gradient( #31b2ed 0%, #02a1e9 100%);
}

#g_navi ul li div.ac_list {
background-color:rgba(255,255,255, 0.9) ;
opacity:0;
visibility: hidden;
position: absolute;
z-index: 2000;
top: 54px;
left: 0px;
transition: .3s;
width: 100%;
height: auto;
padding:15px 0;
box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 3px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 3px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 3px 0px;
}
#g_navi ul li ul {
max-width: 1200px;
padding-left: 0%;
}
#g_navi ul li ul {
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: wrap;
-webkit-justify-content: space-between;
align-content: flex-start;
align-items: stretch;
flex-direction: row;
justify-content: flex-start;
}
#g_navi li ul li a {
display: block;
line-height: 1.4;
background: transparent;
border-right: none;
margin:0 auto;
padding:0;
height: auto;
text-align: left;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
}
#g_navi ul li ul li a:hover {
opacity: 0.85;
}
#g_navi li li a::before {
content: "\f105";
content: "\f138";
font-family: FontAwesome;
margin-right: 8px;
}
#g_navi ul li:hover div {
visibility: visible;
opacity: 1;
}
#g_navi div.ac_list {
display: block !important;
}
/*-- ************　//2階層メニュー　************* --*/

/*-- --▼作業用に2階層目を表示する場合▼--
#g_navi ul li div.ac_list {
opacity:1;
visibility:visible;
}
--*/
}

/*------------------------------------------------------------
■　タブレット
------------------------------------------------------------*/
@media screen and (max-width:1279px) {

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

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

/*スマホお問い合わせボタン*/
header .h_btn {display:none;}

/*ページ内リンクの余白＝固定headerの高さ+余裕もつ）
<a class="pagelink" id="**">無</a> */
.pagelink {
margin-top: -60px;
padding-top: 60px;
display: block;
}

/*ホームアイコン*/
#g_navi ul li.home-sp{display:block;}
#g_navi ul li.home-pc{display: none;}

/*--dot--*/	
.sp-buttons {display: none;}

/*---------------------【header】---------------------*/
.sm-slider, .sm-slider::after {
top: 50px !important;
}
header {
background: #ffffff;
height: 52px;
}
header h1 a .logo_header {
position: relative;
height: 38px;
top: 5px;
left: 14px;
}
header h1 a .header_h1_text {
font-size: 12px;
font-weight: bold;
color: #564124;
float: right;
padding-top: 20px;
margin-left: 27px;
display: block;
}
header .h_btn a {
width: 172px;
top: 9px;
right: 54px;
line-height: 1;
padding: 10px;
font-size: 13px;
}
header .h_tel a {
display: none;
top: 19px;
right: 240px;
line-height: 1;
font-size: 18px;
}
header .h_menu {
display: none;
}
header #info {
display: none;
}
header .cap {
display: none;
}

/*---------------------【menu_btn】---------------------*/
.menu_btn {
display: block;
height: 30px;
width: 40px;
text-align: center;
padding-top: 5px;
padding-bottom: 5px;
position: fixed;
z-index: 5000;
top: 10px;
right: 5px;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
}
.menu_btn:hover {
cursor: pointer;
}
.menu_btn span {
width: 28px;
height: 2px;
display: block;
position: absolute;
left: 50%;
top: 50%;
margin-left: -14px;
background-color:#93cf34;
}
.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:#93cf34;
}
.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);
}

/*---------------------【navigation】---------------------*/
#g_navi {
position: fixed;
/*background-color: rgba(255,255,255,0.8);*/
font-size: 14px;
padding-top: 52px;
width: 80%;
height: 100%;
top: 0px;
right: 0px;
display: none;
overflow: auto;
z-index: 3000;
letter-spacing: 1px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#g_navi ul {
display: block;
margin: 0px;
padding: 0px;
clear: both;
}
#g_navi ul li {
background: #93cf34;
}
#g_navi ul li a {
text-decoration: none;
display: block;
padding: 15px 35px;
line-height: 2.0;
vertical-align: middle;
border-bottom: rgba(255,255,255,0.8) 1px solid;
/*background: rgba(255,255,255,0.3);*/
color: #fff;
}
#g_navi ul li a .en {
display: none;
}
#g_navi ul li a:hover {
background-color: rgba(0, 0, 0, 0.1);
/*opacity: 0.85;*/
}
#g_navi ul li a::before {
content: "\f105";
font-family: FontAwesome;
margin-right: 1em;
}
body.fixed {
overflow: hidden;
}

/*-- メニューシャドウ --*/
.bg_bl {
background-color:rgba(255,255,255,0.8);
height: 100%;
width: 100%;
opacity: 0.80;
filter: alpha(opacity=80);
-ms-filter: "alpha( opacity=80 )";
display: block;
position: fixed;
z-index: 2000;
}

/*-- *****　▼2階層メニュー▼　***** --*/
#g_navi ul li a.ac_menu {
position: relative;
background-image: none;
}
#g_navi ul li a.ac_menu::after {
content: "+";
font-size: 16px;
line-height: 32px;
position: absolute;
right: 20px;
color: #fff;
}
#g_navi ul li a.ac_menu.active {

}
#g_navi ul li a.ac_menu.active::before {
content: "\f107";
font-family: FontAwesome;
margin-right: 1em;
}
#g_navi ul li ul li {
background: rgba(255,255,255,0.2);
}
#g_navi ul li ul li a::before {
content: "└";
padding-right: 5px;
color: #fff;
}
/* OPEN・CLOSE
#g_navi div.ac_list {display: none;}
*/
/*-- *****　//2階層メニュー　***** --*/

}

/*------------------------------------------------------------
■　スマホ
------------------------------------------------------------*/
@media screen and (max-width:599px) {
header h1 a .logo {
position: relative;
height: 18px;
top: 16px;
left: 20px;
}
header .h_btn a {
width: 40px;
top: 8px;
right: 52px;
font-size: 16px;
line-height: 1;
border: none !important;
}
header .h_tel a {
top: 15px;
width: auto;
font-size: 24px;
right:60px;
}
header .h_tel a span.txt,
header .h_btn a span.txt{
display: none;
}
}

/*------------------------------------------------------------
■　その他
------------------------------------------------------------*/
