@charset "UTF-8";

:root{
  --main: #005032;
  --yellow: #FFD800;
  --gray: #F5F6F7;
  --black: #1a1a1a;
}

#wrap{color:#141414;}

#wrap .tab_on{display:none!important;}
#wrap .sph_on{display:none!important;}

@media screen and (max-width:980px) {
  #wrap .tab_on{display:inherit!important;}
  #wrap .tab_off{display:none!important;}
}

@media screen and (max-width:767px) {
  #wrap .sph_on{display:inherit!important;}
  #wrap .sph_off{display:none!important;}
}

html.menu_open,
html.menu_open body {
  overflow: hidden;
}

/*-------------------------
__header
-------------------------*/
#header{ position: fixed; top: 0; left: 0; width: 100%; height: 90px; z-index: 1000;}

/* =========================
  ハンバーガー
========================= */

.hamburger{ position: absolute; bottom: 0; right: 30px; width: 60px; height: 60px; border: none; cursor: pointer; z-index: 1002; background: #fff; border-radius: 50%; padding: 0;}
.hamburger span{ position: absolute; left: 50%; width: 20px; height: 2px; background: var(--main); transition: .3s; transform: translateX(-50%);}
.hamburger span:nth-child(1){ top: 25px;}
.hamburger span:nth-child(2){ top: 35px;}
/* × */
.hamburger.active{ background: var(--main);}
.hamburger.active span{ background: #fff;}
.hamburger.active span:nth-child(1){ top: 29px; transform: translateX(-50%) rotate(45deg);}
.hamburger.active span:nth-child(2){ top: 29px; transform: translateX(-50%) rotate(-45deg);}

@media screen and (max-width:767px) {
#header{ height: 62.5px;}
.hamburger{ right: 17.5px; width: 45px; height: 45px;}
.hamburger span{ width: 15px; height: 1.5px;}
.hamburger span:nth-child(1){ top: 18px;}
.hamburger span:nth-child(2){ top: 25px;}
.hamburger.active span:nth-child(1){ top: 22px;}
.hamburger.active span:nth-child(2){ top: 22px;}
}

/* =========================
  メニュー
========================= */

.gnav{ position: fixed; inset: 0; background: rgba(0,0,0,.7); display: flex; justify-content: center; align-items: center; opacity: 0; visibility: hidden; transition: .3s; z-index: 1001;}
.gnav.active{ opacity: 1; visibility: visible;}
.gnav ul{ list-style: none; padding: 0; margin: 0; text-align: center;}
.gnav li + li{ margin-top: 42px;}
.gnav a{ font-size: 24px; color: #fff; text-decoration: none; transition: .3s; font-weight: 900;}
.gnav a:hover{ opacity: .6;}

/*-------------------------
__footer
-------------------------*/

#footer{display:block!important;;padding:80px 40px 120px;}
#footer .logo{margin:0 auto 100px; max-width: 460px;}
#footer .company-info{font-size:13px; line-height: 2; margin:120px 0 0;}
#footer .copyright{font-size:2.8em;margin:120px 0 0; color: var(--main);}

@media screen and (max-width:767px) {
  #footer{padding:40px 20px 60px;}
  #footer .logo{margin:0 auto 50px; max-width: 230px;}
  #footer .company-info{font-size:13px; line-height: 2; margin:50px 0 0;}
  #footer .copyright{font-size:14px;margin:40px 0 0;}
  .gnav a{ font-size: 18px;}
}


/*共通ヘッダーフッターのないページ専用トップページへ戻るボタン*/
.lg_top_backbtn{ text-align: center; padding: 0 0 60px; box-sizing: border-box;}
.lg_top_backbtn a{ display: inline-block; font-size: 1.7em; line-height: 1; text-decoration: none; color: #fff; font-weight: 700; background-color: #005032; padding: 25px 35px; border-radius: 10px; box-shadow: 4px 4px #bbb; transition: all 0.3s ease; transition: .5s ease;}
.lg_top_backbtn a span{ display: inline-block; padding-left: 25px; position: relative;}
.lg_top_backbtn a span:after{ content: ''; position: absolute; top: calc(50% - 4px); left: 0; transform: translateY(-50%); display: block; transform: rotate(45deg); width: 8px; height: 8px; border-bottom: 2px solid #fff; border-left: 2px solid #fff; content: '';}
@media screen and (min-width: 768px) {
.lg_top_backbtn a:hover{ opacity: 0.6;}
}
@media screen and (max-width: 767px) {
.lg_top_backbtn{ padding: 0 0 30px;}
.lg_top_backbtn a{ font-size: 1.4em; padding: 20px 25px;}
.lg_top_backbtn a span{ padding-left: 15px;}
.lg_top_backbtn a span:after{ top: calc(50% - 3px); width: 6px; height: 6px;}
}
