@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グローバルナビ（下段／親のスタイル）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#h_navi_main .inner {
    max-width: 1600px;
}

@media screen and (min-width: 1650px) {
    /*　画面サイズが1650pxからはここを読み込む　*/ #h_navi_main .inner {
        padding-left: 0;
    }
}

#h_navi_main .logo_area{
    max-width: 30%;
}

#h_navi_main .logo_area > *{
    transition:.3s;
}

#h_navi_main .logo_area:hover > *{
    opacity:.7;
}

#h_navi_main .logo_area .logo {
    width: 242px;
}

#h_navi_main .logo_area .logo a:hover img {
    opacity:1;
}

#h_navi_main .logo_area p.txt {
    background-color: #fff;
    color: inherit;
    font-size: 17px;
    padding: 10px 0;
}

#h_navi_main ul:not(.sub-menu) {
    max-width: 70%;
}

#h_navi_main ul:not(.sub-menu) > li.boshuyoko > a{
    background-color:#2253a2;
    color:#fff;
    padding: 10px 25px;
    flex-direction:column;
    font-size: 17px;
}

#h_navi_main ul:not(.sub-menu) > li.entry > a {
    background-color: #ea6000;
    font-size: 17px;
    padding: 10px 25px;
}

#h_navi_main ul:not(.sub-menu) > li:not(.entry)[class*='current'] > a,
#h_navi_main ul:not(.sub-menu) > li > a:hover{
    color: #ea6000;
}

#h_navi_main ul:not(.sub-menu) > li.boshuyoko[class*='current'] > a {
    background-color: #2253a2;
    color:#fff;
}

#h_navi_main ul:not(.sub-menu) > li.boshuyoko > a:hover {
    background-color: #4c84df;
    color: #fff;
}

#h_navi_main ul:not(.sub-menu) > li.entry > a:hover {
    background-color: #ff9043;
}

#h_navi_main ul:not(.sub-menu) > li.boshuyoko > a::before,
#h_navi_main ul:not(.sub-menu) > li.entry > a::before{
    content:"";
    display: block;
    width:26px;
    height:26px;
    margin: 0 auto 10px;
    background:no-repeat 50% 50%/contain;
}

#h_navi_main ul:not(.sub-menu) > li.boshuyoko > a::before{
    background-image:url(images/file_icon.png);
}

#h_navi_main ul:not(.sub-menu) > li.entry > a::before{
    background-image:url(../cyber/images/enrty_icon.png);
}

/* 固定時padding変更 */
[id="header_fixed_zone"].fix_exe #h_navi_main ul:not(.sub-menu) > li.boshuyoko > a {
    padding: 10px 29px;
}

[id="header_fixed_zone"].fix_exe #h_navi_main ul:not(.sub-menu) > li.boshuyoko > a::before,
[id="header_fixed_zone"].fix_exe #h_navi_main ul:not(.sub-menu) > li.entry > a::before{
	display:none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グローバルナビ（下段／子のスタイル）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#h_navi_main ul.sub-menu {
    background-color: rgba(234, 96, 0, .75);
}

#h_navi_main ul.sub-menu:before {
    border-bottom-color: rgba(234, 96, 0, .75);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
div#promo_frame {
    /*---（ 100vh-ヘッダー高さ）→変数をサポートしていないブラウザのフォールバック ---*/
    height: calc(100vh - 90px - 100px);
    /*---jsでプロモ高さ設定---*/
    height: calc((var(--my_vh) * 100) - 90px - 100px);
    /*---▼ノートパソコンの為の記述---*/
    min-height: 560px;
    /*---▼タブレット縦の為の記述---*/
    max-height: 650px;
    max-width: 1600px;
    margin: 0 auto;
    background:none;
    position: relative;
}

div#promo_frame .f_wrap {
    height: 100%;
    padding: 14vh 0;
    position:absolute;
    left: 0;
    top:0;
    z-index: 0;
}

div#promo_frame h3 {
    background-color: rgba(2555,255,255,.9);
    display: block;
    width: 600px;
    padding: 40px 80px;
    margin-bottom: 25px;
}

div#promo_frame h3 .txt {
    font-size: 20px;
    font-weight: bold;
    display: block;
	margin-bottom: 15px;
}

div#promo_frame h2 {
    color: #fff;
    font-size: 48px;
    font-weight: bold;
    padding-left: 75px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
固定ページ　＞　ローカルナビ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.child_navi a {
    background: #fff9f5;
}

ul.child_navi a:hover,ul.child_navi li.current_page_item a {
    background-color: #ea6000;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
コンテンツエリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.single-voice #contents_area.pc_base_width {
    width: 100%;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター(ナビ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
div#f_navi_wrap {
	background-color:#feede3;
	padding: 25px 0;
}

div#f_navi_wrap .navi_a ul > li:not(:last-child)::after {
    background-color: #ea6000;
}

div#f_navi_other{
    padding: 25px 10px;
	border-top:1px solid #ddd;
}

#f_navi_other form#searchform input[type="text"] {
    border: 1px solid #969696;
}