@charset "UTF-8";
/* ====================================================
　gnav_megamenu.css
　メガメニュー展開部分（.gnav-mega-wrapp）専用スタイル

　【重要】このファイルの中身は、現行サイト(https://actfactory.net/)の
　/common/css/common.css（.gnav .gnav-mega-wrapp 関連ブロック）および
　/common/css/widget.css（.toList・.banner の中で使われる .button 関連ブロック）を
　そのまま複製したものです。メガメニュー展開時のレイアウト・配色・アイコン・階層表現は
　一切変更していません（アイコン画像も既存の /common/img/ 配下のファイルをそのまま参照）。

　変更した点は以下の1点のみです：
　・.gnav-mega-wrapp の top 位置を、旧ヘッダーの実測値(110px/91px)から、
　　リニューアル後の新ヘッダー実高さ(--header-height-pc、common_first.css定義)に
　　合わせて算出し直しています。旧ヘッダーは上部に電話番号帯を含み高さが
　　ブレークポイントで変化していたため91px/110pxの2値がありましたが、
　　新ヘッダーは全PC幅で高さが一定のため単一値になります。
　　メガメニュー内部のレイアウト・デザイン自体は変更していません。
==================================================== */

.gnav .gnav-mega-wrapp{
    position:absolute;
    top:var(--header-height-pc);
    left:0;
    text-align:left;
    width:100%;
    padding:0;
    background:#f5f8fa;
    z-index:1;
    transition: height ease 0.3s, top ease 0.3s;
    overflow: hidden;
    max-height:80vh;
    height:0;
}
.gnav .gnav-mega-wrapp.over,
.gnav .gnav-mega-wrapp .gnav-mega {
    height:580px!important;
    max-height:720px;
}

.gnav .gnav-mega-wrapp .gnav-mega{
    width: 100%;
    min-height: 180px;
}
.gnav .gnav-mega-wrapp .gnav-mega .inner{
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    position: relative;
    margin: 0 auto;
    padding: 15px 15px 70px;
    width: 100%;
    height: 100%;
    max-width: 1380px;
    min-width: 1210px;
}
.gnav .gnav-mega-wrapp .gnav-mega .inner a:not(.button) {
    color:#111111;
    text-decoration:none;
    font-size:1.2rem;
	position: relative;
  	display: inline-block;
	overflow: inherit;
}

.gnav .gnav-mega-wrapp .gnav-mega .inner a:hover {color: #005BAC;}
	/* hover時アンダーラインアニメーション
	-------------------------------------*/
	.gnav .gnav-mega-wrapp .gnav-mega .inner a::before {
  	position: absolute;
  	bottom: -2px;
  	left: 0;
  	content: '';
  	width: 100%;
  	height: 1px;
  	background: #005BAC;
  	transform: scale(0, 1);
  	transform-origin: left top;
  	transition: transform .3s;
	}
	.gnav .gnav-mega-wrapp .gnav-mega .inner a:hover::before {
  	transform: scale(1, 1);
}

.gnav .gnav-mega-wrapp .gnav-mega .inner > ul {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    flex-direction:column;
    justify-content:flex-start;
    height:100%;
}

.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > .top > a:not(.button),
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > a:not(.button){
	position: relative;
  	display: inline-block;
	overflow: inherit;
    border-bottom:1px solid #E2E4EF;
    background:url(/common/img/arrow-circle_blue.svg) center left no-repeat;
    padding:0.5em 0 0.5em 1.75em;
    font-weight:bold;
    text-decoration:none;
    transition:background-color ease 0.5s;
}

.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > .top > a:not(.button):hover,
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > a:not(.button):hover {color: #005BAC;}

.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > .top > a:not(.button):after,
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > a:not(.button)::after {background: #005BAC;}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li {
    padding-left: 1em;
    padding-right: 1em;
    line-height:1.25;
    margin-bottom: 1em;
}

.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul {margin-top:0.75em;}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li > a:not(.button) {
	font-size: 1.2rem;
	position: relative;
	display: inline-block;
	overflow: inherit;
}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li > a:not(.button)::before {
  	position: absolute;
  	bottom: -2px;
  	left: 0;
  	content: '';
  	width: 100%;
  	height: 1px;
  	background: #005BAC;
  	transform: scale(0, 1);
  	transform-origin: left top;
  	transition: transform .3s;
	}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li > a:hover::before {
	transform: scale(1, 1);
}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li + li {margin-top:0.5em;}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li > ul {
    position:relative;
    margin-top:0.25em;
}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li > ul > li {
    position:relative;
    padding-left:0.8em;
}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li > ul > li:before {
    content:"";
    display:block;
    position:absolute;
    top:0.65em;
    left:0;
    background:#BABED1;
    width:0.3em;
    height:1px;
}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li > ul {margin-left:0; margin-bottom: 0.75em;}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li > ul > li + li {margin-top:0.25em;}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li > ul > li> a:not(.button) {font-weight:normal; font-size: 1.1rem;}
.gnav .gnav-mega-wrapp .gnav-mega .inner > ul > li > ul > li > ul > li> a:not(.button):hover{color: #005BAC;}

.gnav .gnav-mega-wrapp .gnav-mega .toList {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 70px;
    max-width: 1380px;
    min-width: 1210px;
    text-align: right;
}
.gnav .gnav-mega-wrapp .gnav-mega .toList a{
    display: inline-block;
    margin-right: 15px;
}

/* 採用情報
-------------------------------------*/
.gnav .gnav-mega-wrapp.over.recruit,
.gnav .gnav-mega-wrapp.recruit .gnav-mega{height: 175px!important;}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner{max-width: 1210px;}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner > ul{width: calc(100% - 330px);}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner > ul > li{width: 100%;}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner > ul > li {display: flex;}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner > ul > li > .top{margin-right: 40px;}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner > ul > li > .top > a{
    margin-bottom: 0.5em;
    font-size: 1.5rem;
    display: block;
}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner > ul > li > ul{margin-top: 0.5em;}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner > ul > li > ul > li + li{margin-top: 0.75em;}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner > ul > li > ul > li > a{font-weight: bold; font-size: 1.3rem;}

.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner .banner a:after{display: none;}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner .banner a .cap{font-size: 1.3rem; font-weight: bold;}
.gnav .gnav-mega-wrapp.recruit .gnav-mega .inner .banner a .cap:after{
    content: "";
    position: relative;
    top: -1px;
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-left: 0.25em;
    background-image: url(/common/img/sub/ico_blank.svg);
    background-repeat: no-repeat;
}

/* ----- .toList / .banner 内で使われるボタン（現行サイトの共通 .button 部品を必要な分だけ複製） -----
   参照クラス： class="button blue reserve corner ico after snap arrowR" */
.button {
    opacity: 1;
    display: inline-block;
    position: relative;
    border: none;
    -webkit-appearance: none;
    box-shadow: none;
    border: 1px solid #333333;
    border-radius: 0;
    background: #cccccc;
    font-size: 1.4rem;
    max-width: 100%;
    font-weight: normal;
    font-family: "游ゴシック Medium", "YuGothic Medium", "游ゴシック", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    color: #111;
    vertical-align: middle;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition:opacity ease 0.3s;
}
.button:not(.disabled):hover {opacity: 0.8;}
.button:not(.disabled):active {
  top: 1px;
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.4);
}
@media print, screen and (min-width: 768px) {
    .button {
    padding: 1em 2.5em;
    font-size: 1.4rem;
    }
}
@media print, screen and (max-width: 767px) {
    .button {
        padding: 1.25em 3em;
        font-size: 1.4rem;
    }
}
.button.after:after {margin-left: 0.5em;}
.button.before:before{margin-right: 0.5em;}
.button.before:before, .button.after:after {
    display: inline-block;
    vertical-align: middle;
    font-family: FontAwesome;
    content: "";
    width: 1em;
    height: 1em;
}
.button.ico.before:before, .button.ico.after:after {
    content: "";
    position: relative;
    width: 1em;
    height: 1em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
.button.ico.before.arrowR:before, .button.ico.after.arrowR:after {
    top: -0.1em;
    background-image: url(/common/img/sub/ico_right_blue2.svg);
    background-size: 80%;
}
.button.ico.before.arrowR.blue:before, .button.ico.after.arrowR.blue:after,
.button.ico.before.arrowR.gradation:before, .button.ico.after.arrowR.gradation:after {background-image: url(/common/img/sub/ico_right_white.svg);}
.button.ico.before.arrowR.blue.reserve:before, .button.ico.after.arrowR.blue.reserve:after {background-image: url(/common/img/sub/ico_right_blue2.svg);}

@media print, screen and (min-width: 768px) {
    .button.ico.before.arrowR.blue:hover:before,
    .button.ico.after.arrowR.blue:hover:after {background-image: url(/common/img/sub/ico_right_blue2.svg);}
    .button.ico.before.arrowR.blue.reserve:hover:before,
    .button.ico.after.arrowR.blue.reserve:hover:after,
	.button.ico.after.arrowR.white:hover:after{background-image: url(/common/img/sub/ico_right_white.svg);}
}
.button.before.snap:after, .button.before.snap:before, .button.after.snap:after, .button.after.snap:before {
    position: absolute;
    top: 50%!important;
    transform: translateY(-50%)!important;
}
.button.before.snap:after, .button.after.snap:after {right: 0.75em;}
.button.before.snap:before, .button.after.snap:before {left: 0.75em;}

.button.blue {
    background: #005BAC;
    border-color: #005BAC;
    color: #fff;
}
@media print, screen and (min-width: 768px) {
    .button.blue:hover {
        background:  #fff;
        border-color: #005BAC;
        color: #005BAC;
        opacity: 1;
    }
}
.button.blue.reserve {
    background: #fff;
    border-color: #005BAC;
    color: #005BAC;
}
@media print, screen and (min-width: 768px) {
    .button.blue.reserve:hover {
        background:  #005BAC;
        border-color: #005BAC;
        color: #fff;
        opacity: 1;
    }
}
.button.corner {border-radius: 4px;}
