/* NORTH layout overrides. Xeory 0.8.2 styles remain the base. */
.wrap { width: auto; margin: 0 72px; }
.one-column #content .wrap { width: 860px; margin: 0 auto; }
body { color: #404142; background: #fff; }
a { color: #000000; }
#header { background-color: #FFFFFF; width: 100%; height: 92px; position: fixed; top: 0; left: 0; z-index: 100; }
#header #logo img { height: 56px; }
#header a { color: #404142; }
#gnav { background: #FFFFFF; }
#gnav ul li { margin: 26px 0px; }
#gnav ul li:hover a { background: #404142; }
#gnav ul li.current-menu-item a { background: #FFFFFF; }
#gnav ul li a { padding: 6px 24px; color: #404142; background: #FFFFFF; -webkit-transition: background .3s ease-in-out; transition: background .3s ease-in-out; }
#gnav ul li a:hover { background: #404142; }
#header-fnav-area #header-fnav-btn a { line-height: 24px; font-size: 23px; height: auto; }
.post-content { padding: 0px; width: 860px; margin: 0 auto; max-width: 100%; }
#footer .footer-logo { padding: 10px 0px; }
#footer .wrap { padding: 20px 0; }
#footer .row .gr1,#footer .row .gr2,#footer .row .gr3,#footer .row .gr4,#footer .row .gr5,#footer .row .gr6,#footer .row .gr7,#footer .row .gr8,#footer .row .gr9,#footer .row .gr10,#footer .row .gr11,#footer .row .gr12 { padding-left: 20px; padding-right: 20px; }
#footer-content-area i.fa { margin-right: 12px; }
.footer-01 { background: #404142; padding: 8px 0; }
.footer-02 { background: #404142; }
@media screen and (max-width: 991px) { #gnav-sp { background: #404142; color: #ffffff; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; } }
@media screen and (max-width: 767px) { #header { height: 78px; } }
@media screen and (max-width: 767px) { #header #logo img { max-height: 78px; } }
@media screen and (max-width: 767px) { #header-nav-btn { margin: 0px; line-height: 78px; } }
@media screen and (max-width: 767px) { #header-nav-btn a { text-align: right; font-size: 32px; background: #ffffff; } }
body.home .main-inner { width: 860px; max-width: 100%; margin: 0 auto; }
body.home #main_visual { background-color: #fff;
    background-image: none;
    text-align: center;
    padding: 0;
    min-height: 0; }
body.home #main_visual p { margin: 0 auto; }
#gnav-sp { position: fixed; }
body:not(.home) #content { padding-top: 144px; }
body.admin-bar #header { top: 32px; }
/* Visible by default: JS opts elements into the original one-second reveal. */
.fadein { opacity: 1; transform: none; transition: opacity 1s ease, transform 1s ease; }
.fadein.north-reveal-pending { opacity: 0; transform: translateY(20px); }
@media (prefers-reduced-motion: reduce) {
  .fadein, .fadein.north-reveal-pending { opacity: 1; transform: none; transition: none; }
}
#loader-bg { display: none; z-index: 1000; }
@media screen and (max-width: 991px) { .wrap { width: auto; margin: 0 24px; } .one-column #content .wrap { width: auto; margin: 0 24px; } }
@media screen and (max-width: 767px) { .wrap { margin: 0 12px; } body:not(.home) #content { padding-top: 110px; } .post-content { width: auto; } }
@media screen and (max-width: 782px) { body.admin-bar #header { top: 46px; } }

/* Static fallbacks when excluded animation assets are unavailable. */
.main-big, .main-small, .main-big span, .main-small span { opacity: 1; left: 0; } 
@media (prefers-reduced-motion: reduce) { .main_scroll_mark i { animation: none; } }

/* Visual parity with the NORTH site: the hero is a slider, not the default text hero. */
/*body.home #main_visual.main_img { display: block; padding: 0; min-height: 0; background-color: #404142; }*/
body.home #main_visual.main_img p { width: auto; }
body.home #header .wrap { width: auto; margin: 0 72px; }
#footer .footer-logo img { width: auto; height: 56px; max-width: 100%; }
#footer { border-top: 0; }
#gnav > .gnav-container > ul > li > a { border-left: 1px solid #404142; }
#gnav > .gnav-container > ul > li:last-child > a { border-right: 1px solid #404142; }
.under_y { background-image: linear-gradient(to right, transparent 50%, #ffff00 50%); transition: background-position 2s ease; }
/* Match the live site's Font Awesome 5 glyph and its baseline placement. */
/*.pagetop { z-index: 101; right: 50px; bottom: 50px; }　*/
/*.pagetop span { display: block; width: 50px; height: 50px; text-align: center; line-height: 40px; font-size: 36px; }
.pagetop .fa-angle-up { position: static; display: inline-block; width: auto; height: auto; font-family: 'North PageTop'; font-style: normal; font-weight: 900; font-size: inherit; line-height: 1; vertical-align: baseline; -webkit-font-smoothing: antialiased; }*/
.pagetop .fa-angle-up::before { content: '\f106'; position: static; display: inline; top: auto; left: auto; width: auto; height: auto; border: 0; background: none; -webkit-mask: none; mask: none; transform: none; }
@media screen and (max-width: 991px) { body.home #header .wrap { margin: 0 24px; } }
@media screen and (max-width: 767px) { body.home #header .wrap { margin: 0 12px; } }
@media (prefers-reduced-motion: reduce) { .under_y { transition: none; } }

/* The custom footer uses the original grid, without the new negative row gutters. */
#footer .footer-wrap .row { margin-left: 0; margin-right: 0; }
@media screen and (max-width: 991px) {
  #header .wrap { position: relative; }
  #header #logo { float: left; width: auto; max-width: calc(100% - 56px); }
  #header-nav-btn { position: absolute; top: 0; right: 0; width: 48px; }
}
@media screen and (max-width: 767px) {
  body.home #main_visual.main_img p { width: 90%; }
  body.home .main-inner { width: 90%; margin: 0 auto; }
}

/* NORTH's three information pages use content-authored headings and form layouts. */
body.north-info-page .breadcrumb-area { display: none; }
body.north-info-page #content { padding-top: 52px; }
body.north-info-page article.page { border: 0; }
body.north-info-page .post-content { padding: 0; width: 860px; max-width: 100%; margin: 0 auto; }
body.north-info-page .post-content h2.content-title,
body.north-info-page .post-content h2.content-title-contact { padding: 0; margin: 0 40px 40px; border: 0; color: #404142; font-weight: bold; line-height: 1.2; background: none; }
body.north-info-page .post-content h2.content-title-contact { background-image: linear-gradient(transparent 50%, yellow 50%); }
body.north-info-page .post-content ul.form-ul { margin: 0; padding: 0; }
@media screen and (max-width: 1200px) {
  body.north-info-page.one-column #content .wrap { width: auto; margin-left: 36px; margin-right: 36px; }
}
@media screen and (max-width: 991px) {
  body.north-info-page.one-column #content .wrap { margin-left: 24px; margin-right: 24px; }
}
@media screen and (max-width: 767px) {
  body.north-info-page.one-column #content .wrap { width: 94%; margin: 0 auto; }
  body.north-info-page .post-content { width: 95%; }
  body.north-info-page .post-content h2.content-title { margin: 0 5% 20px; }
  body.north-info-page .post-content h2.content-title-contact { margin: 20px 5%; }
}
body:not(.home) .pagetop .fa-angle-up {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
