@charset "utf-8";

/*
 * RESET
 */

* {
  margin: 0;
  padding: 0;
}

img {
  vertical-align: middle;
}

#nav ul li {
  /* リソースヘッダー用CSS */
  list-style-type: none;
}

#nav a {
  /* リソースヘッダー用CSS */
  text-decoration: none;
}

/*
 * COMMON
 */

body {
  color: #444;
  font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'Yu Gothic', YuGothic, Verdana, Helvetica, 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 14px;
  min-width: 960px;
}

.layout_main .cb {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

.layout_main section {
  margin: 56px 0;
}

.layout_main .sub-section {
  margin: 40px 0;
}

.layout_main .sub-section:last-of-type {
  margin-bottom: 0;
}

/*
　レスポンシブ対応用CSS
 */
@media screen and (min-width: 600px) {
  .only-sph {
    display: none;
  }
}

@media screen and (max-width: 599px) {
  .responsive {
    min-width: 100%;
  }

  .responsive .layout_main .cb {
    width: calc(100% - 40px);
  }

  .responsive .only-pc {
    display: none;
  }

  body:not(.responsive) .only-sph {
    display: none;
  }
}

/*
 * HEADER/GNAV
 */

.anniversary {
  position: absolute;
  top: 0;
  left: 199px;
  bottom: 3px;
  margin: auto;
  width: 45px;
  height: 45px;
}

/* サービス名称をHaruTPで表記する場合 */

.rs-site-name_link {
  color: #6a6a6a;
  display: block;
  font-family: "Haru TP M", sans-serif;
  font-size: 18px;
  text-decoration: none;
  margin-right: 42px;
}

.gnav-menus,
.gnav-child-menus {
  list-style: none;
}

.gnav-child-menu_link {
  display: block;
  text-decoration: none;
}

.gnav-child-menu .no1 {
  background-color: #ff001e;
  color: #fff;
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  margin-left: 14px;
  padding: 4px;
}

.btn-apply {
  background-color: #426077;
  border-radius: 3px;
  color: #fff;
  display: block;
  text-align: center;
  text-decoration: none;
}

.btn-apply:hover {
  background-color: #f80;
}

.rs-gnav-trigger,
.rs-gnav-close {
  display: none;
}

/*
  レスポンシブ非対応用CSS
 */

.rs-header {
  background-color: #fff;
  border-top: 1px solid #e2e2e2;
  box-shadow: 0 2px 4px 0 rgba(52, 52, 52, 0.1);
  height: 60px;
  margin-top: 30px;
  position: relative;
  top: 0;
  z-index: 99;
}

.rs-header .inner {
  align-items: center;
  display: flex;
  margin: 0 auto;
  width: 960px;
  position: relative;
}

.sp-accordion-menu {
  align-items: center;
  display: flex;
  flex-grow: 1;
}

/* 上の帯 ここから */

.rs-header_upper {
  height: 30px;
  left: 0;
  position: absolute;
  top: -30px;
  width: 100%;
}

.rs-header_upper-inner {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: flex-end;
}

.rs-header_upper-link {
  color: inherit;
  font-size: 13px;
  margin-left: 14px;
  text-decoration: none;
}

.rs-header_upper-link::after {
  /* 外部リンクアイコン */
  content: "\f08e";
  font-family: FontAwesome;
  margin-left: 3px;
}

.rs-header_upper-link:hover {
  color: #f80;
}

/* 上の帯 ここまで */

/* 下の帯 ここから */

.rs-site-name {
  margin: 0 120px 0 0;
}

.rs-gnav {
  flex-grow: 1;
}

.gnav-menus {
  display: flex;
  position: relative;
}

.gnav-menu-name,
.gnav-menu_link {
  color: inherit;
  display: inline-block;
  font-size: 17px;
  height: 60px;
  line-height: 60px;
  padding: 0 14px;
  text-decoration: none;
}

.gnav-menu-name:hover {
  color: #f80;
  background-color: #f6f6f6;
  cursor: default;
}

.gnav-menu_link:hover {
  background-color: #f6f6f6;
}

.btn-apply {
  font-size: 13px;
  margin-left: auto;
  padding: 8px 0;
  width: 130px;
}

/* 下の帯 ここまで */

/*
sticky 設定
 */

@supports (position: sticky) or (position: -webkit-sticky) {
  .rs-header {
    position: -webkit-sticky;
    position: sticky;
  }
}

@media screen and (min-width: 599px) {
  /* sticky 未対応のブラウザ向けCSS */

  .rs-header.js-is-sticky {
    margin-top: 0;
    position: fixed;
    width: 100%;
  }

  .rs-header.js-is-sticky .rs-header_upper {
    position: static;
  }

  .rs-header.js-is-sticky .rs-site-name {
    white-space: nowrap;
  }

  .rs-header.js-is-sticky .btn-apply {
    width: 300px;
  }

  .rs-header.js-is-sticky + .banner-under-header::before,
  .rs-header.js-is-sticky + .layout_main::before,
  .rs-header.js-is-sticky + .breadcrumb-wrap::before {
    /* Gナビが fixed になって空白になる部分を代わりに埋めます */
    content: "";
    display: block;
    height: 90px;
    width: 100%;
  }
}

/* sticky 設定 ここまで */

/*
  ドロップダウンメニュー
  PC表示限定
 */

.can-dropdown > .gnav-menu-name::after,
.can-dropdown > .gnav-menu_link::after {
  /* 三角マーク（下向き） */
  color: #b9b9b9;
  content: "\f0d7";
  font-family: FontAwesome;
  margin-left: 4px;
}

.can-dropdown > .gnav-menu-name:hover::after,
.can-dropdown > .gnav-menu_link:hover::after {
  color: #666;
}

.can-dropdown:hover::after {
  /* プルダウンの上に付く白い三角 */
  animation: fadein 0.3s;
  border-bottom: 10px solid #fff;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  content: "";
  display: block;
  margin-left: 30px;
  position: absolute;
  top: 53px;
}

.has-child-menus > .gnav-child-menus {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
  display: none;
  padding: 14px 0;
  position: absolute;
}

.can-dropdown:hover > .gnav-child-menus {
  animation: fadein 0.3s;
  display: block;
}

.gnav-child-menu:not(:last-child) {
  border-bottom: 1px solid #f6f6f6;
}

.gnav-child-menu_link {
  color: inherit;
  font-size: 14px;
  padding: 8px 32px;
}

.gnav-child-menu_link:hover {
  background-color: #f6f6f6;
  color: #f80;
}

.no-child-menus :hover {
  color: #f80;
  cursor: pointer;
}

@keyframes fadein {
  /* フェードインのアニメーション */
  from {
    margin-top: -5px;
    opacity: 0;
  }

  to {
    margin-top: 0;
    opacity: 1;
  }
}

/*
　レスポンシブ対応用CSS
 */
@media screen and (max-width: 599px) {
  .responsive .rs-header {
    border-bottom: 5px solid #f80;
    border-top: none;
    margin-top: 0;
  }

  .responsive .rs-header > .inner {
    width: 100%;
  }

  .responsive .rs-site-name {
    margin-right: 0;
    position: relative;
    width: 100%;
    border-top: 1px solid #e2e2e2;
    z-index: 3;
    height: 55px;
    background: #fff;
  }

  .responsive .anniversary {
    position: absolute;
    top: 0;
    left: 215px;
    bottom: 3px;
    margin: auto;
    width: 45px;
    height: 45px;
  }

  .responsive .rs-logo {
    position: relative;
    top: 6px;
    left: 18px;
    margin: auto;
    width: 200px;
    height: 46px;
  }

  .responsive .rs-site-name_link {
    background-color: #fff;
    border-top: 1px solid #e2e2e2;
    display: block;
    padding: 13px 14px;
    margin-right: 0;
  }

  .responsive.open-menu {
    /* Gナビが開いたときの BODY 設定 */
    background-color: #b1b1b1;
    height: 155px; /* 共通ヘッダーの高さ + パートナーサイト名表示部分の高さ */
    overflow-y: hidden;
  }

  .responsive.open-menu .rs-header,
  .responsive.open-menu .rs-header .inner {
    position: static;
  }

  .responsive .sp-accordion-menu {
    background-color: #f6f6f6;
    display: block;
    left: 0;
    position: absolute;
    transition: all 0.4s;
    top: -600px;
    width: 100%;
    z-index: 2;
  }

  .responsive .sp-accordion-menu.open-menu {
    top: 104px; /* 共通ヘッダーの高さ + サイト名の高さ */
  }

  .responsive .alert-block ~ .rs-header .sp-accordion-menu.open-menu {
    /* XXX: サービスサイト全般に共通するお知らせが表示された時の位置調整 */
    top: 155px; /* 共通ヘッダーの高さ + サイト名の高さ */
  }

  .responsive .gnav-menus {
    display: block;
    position: static;
  }

  .responsive .gnav-menu {
    border-top: 1px solid #fff;
  }

  .responsive .can-dropdown:hover::after {
    /* プルダウンの動きを無効にします */
    display: none;
  }

  .responsive .can-dropdown:hover > .gnav-child-menus {
    /* プルダウンの動きを無効にします */
    animation: none;
  }

  .responsive .gnav-menu-name,
  .responsive .gnav-menu_link {
    background-color: #f80;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 17px;
    height: auto;
    line-height: inherit;
    padding: 13px 42px 13px 14px;
    position: relative;
  }

  .responsive .gnav-child-menus {
    border-radius: 0;
    box-shadow: none;
    display: block;
    padding: 0;
    position: static;
  }

  .responsive .gnav-child-menu:not(:last-child) {
    border-bottom: 1px solid #d1d1d1;
  }

  .responsive .gnav-child-menu_link {
    background-color: #fff;
    color: inherit;
    font-size: 17px;
    padding: 13px 14px;
    position: relative;
  }

  .responsive .gnav-menu-name::after,
  .responsive .has-child-menus > .gnav-menu_link::after {
    /* ▼マーク */
    color: #fff;
    content: "\f107";
    font-family: FontAwesome;
    font-size: 21px;
    line-height: 28px;
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
  }

  .responsive .gnav-menu-name:hover::after,
  .responsive .has-child-menus > .gnav-menu_link:hover::after {
    color: #fff;
  }

  .responsive .no-child-menus::after,
  .responsive .no-child-menus > .gnav-menu-name::after {
    content: none;
  }

  .responsive .gnav-menu-name.open-menu::after,
  .responsive .has-child-menus > .gnav-menu_link.open-menu::after {
    /* ▲マーク */
    content: "\f106";
  }

  .responsive .gnav-child-menus {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s;
  }

  .responsive .open-menu .gnav-child-menus.open-menu {
    /* 子ナビメニューが開いた状態 */
    max-height: 500px;
  }

  .responsive .rs-header_upper {
    border-top: 1px solid #d1d1d1;
    height: auto;
    position: static;
  }

  .responsive .rs-header_upper-inner {
    align-items: stretch;
    display: flex;
    justify-content: space-between;
    margin: 28px 14px;
    width: calc(100% - 14px * 2);
  }

  .responsive .rs-header_upper-link {
    background-color: #fff;
    border: 1px solid #426077;
    border-radius: 3px;
    box-sizing: border-box;
    color: #426077;
    display: block;
    font-size: 17px;
    text-align: center;
    text-decoration: none;
    padding: 13px;
    margin: 0;
    width: 100%;
  }

  .responsive .rs-header_upper-link::after {
    display: none;
  }

  .responsive .rs-header_upper-link:hover {
    background-color: #426077;
    color: #fff;
  }

  .responsive .btn-apply {
    font-size: 17px;
    margin: 28px 14px;
    padding: 13px;
    width: auto;
  }

  .responsive .rs-gnav-trigger {
    /* Gナビ開閉のトリガーボタン */
    background-color: transparent;
    border: none;
    display: block;
    outline: none;
    position: absolute;
    right: 0;
    z-index: 4;
  }

  .responsive .rs-gnav-trigger::after {
    /* ▼マーク */
    color: #f80;
    content: "\f107";
    display: block;
    font-family: FontAwesome;
    font-size: 35px;
    line-height: 53px;
    width: 63px;
  }

  .responsive .rs-gnav-trigger.open-menu::after {
    /* ▲マーク */
    content: "\f106";
  }

  .responsive .rs-gnav-close {
    /* Gナビを閉じるボタン */
    background-color: #444;
    border: none;
    cursor: pointer;
    color: #fff;
    display: block;
    font-size: 13px;
    outline: none;
    padding: 13px;
    text-align: center;
    width: 100%;
  }

  .responsive .rs-gnav-close_img {
    margin-right: 7px;
    vertical-align: middle;
    width: 13px;
  }
}

/*
 * ヘッダー直下バナー（15周年 ロゴデザインコンテスト開催）
 */

.logo-contest-banner {
  background-color: #ffdea4;
  display: flex;
  justify-content: center;
}

.logo-contest-banner .img-sp-banner {
  height: auto;
  width: 100%;
}

/*
 * ヘッダー直下バナー（お取り寄せキャンペーン おうち時間を幸せに！お取り寄せグルメ特集）
 */

.otoriyose-banner {
  background: #f5b5ad;
  display: flex;
  justify-content: center;
}

.otoriyose-banner .img-sp-banner {
  height: auto;
  width: 100%;
}

/*
 * ヘッダー直下バナー（サービスリニューアル）
 */

.speedup-banner {
  background: #0d0e11;
  display: flex;
  justify-content: center;
}

.speedup-banner .img-sp-banner {
  height: auto;
  width: 100%;
}

/*
 * SECTION Apply
 */

.section-apply {
  background: url("../images/apply_bg.png") no-repeat center center #f80;
  background-size: cover;
  color: #fff;
  font-size: 14px;
  padding-top: 56px;
  padding-bottom: 56px;
  text-align: center;
}

.section-apply small {
  display: block;
  margin-top: 8px;
}

.section-apply-head {
  font-size: 28px;
  margin-bottom: 28px;

  /* /resource/css/module.css のCSSをを打ち消す */
  line-height: 1.5;
  padding: 0;
}

.section-apply_btn-apply {
  background: #fff;
  border-radius: 3px;
  color: #f80;
  display: block;
  line-height: 46px;
  margin: 35px auto 0;
  text-decoration: none;
  width: 350px;
}

.section-apply_btn-apply:hover {
  opacity: 0.7;
}

/*
　レスポンシブ対応用CSS
 */
@media screen and (max-width: 599px) {
  .responsive .section-apply {
    padding-left: 14px;
    padding-right: 14px;
  }

  .responsive .section-apply-head {
    font-size: 25px;
    margin-bottom: 14px;
  }

  .responsive .section-apply_btn-apply {
    box-sizing: border-box;
    line-height: inherit;
    max-width: 200px;
    padding: 7px 28px;
  }
}

/*
 * SECTION Apply (function配下ページ用)
 */

.section-apply-function {
  background: url("../images/apply_bg.png") no-repeat center center #f80;
  background-size: cover;
  color: #fff;
  font-size: 14px;
  padding: 32px;
  text-align: center;
  margin-bottom: 35px;
}

.section-apply-function small {
  display: block;
  margin-top: 8px;
}

.section-apply-function-head {
  font-size: 24px;
  margin-bottom: 28px;

  /* /resource/css/module.css のCSSをを打ち消す */
  line-height: 1.5;
  padding: 0;

  /* /common/css/adjust.css のCSSを打ち消す */
  background: none !important;
}

.section-apply-function_btn-apply {
  background: #fff;
  border-radius: 3px;
  color: #f80;
  display: block;
  line-height: 46px;
  margin: 24px auto 0;
  text-decoration: none;
  width: 350px;
}

.section-apply-function_btn-apply:hover {
  opacity: 0.7;
}

.section-apply .section-apply-annotation {
  display: flex;
  margin-top: 16px;
  justify-content: center;
}

.section-apply .section-apply-annotation::before {
  content: '※';
  margin-right: 0.2rem;
}

.section-apply .section-apply-annotation-link {
  color: #fff;
  text-decoration: underline;
}

/*
　レスポンシブ対応用CSS
 */
@media screen and (max-width: 599px) {
  .responsive .section-apply-function {
    padding-left: 14px;
    padding-right: 14px;
  }

  .responsive .section-apply-function-head {
    font-size: 25px;
    margin-bottom: 14px;
  }

  .responsive .section-apply-function_btn-apply {
    box-sizing: border-box;
    line-height: inherit;
    max-width: 200px;
    padding: 7px 28px;
  }
}

/*
 * FOOTER Feature
 */

.footer-feature {
  background: #eff4f8;
  padding: 56px 0;
}

.footer-feature-banner {
  display: block;
  margin: 0 auto;
  width: 960px;
}

.footer-feature-banner:hover {
  opacity: 0.7;
}

.footer-feature-items {
  align-items: stretch;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 35px auto 0;
  width: 960px;
}

.footer-feature-item {
  box-sizing: border-box;
  width: 25%;
}

.footer-feature-item:not(:last-child) {
  border-right: 1px solid #bdbdbd;
}

.footer-feature-item_link::before {
  content: "";
}

.download .footer-feature-item_link::before {
  background: url(../images/icon_download.svg) center center no-repeat #fff;
}

.guide .footer-feature-item_link::before {
  background: url(../images/icon_guide.svg) center center no-repeat #fff;
}

.server .footer-feature-item_link::before {
  background: url(../images/icon_availability.svg) center center no-repeat #fff;
}

.case .footer-feature-item_link::before {
  background: url(../images/icon_case.svg) center center no-repeat #fff;
}

.manual .footer-feature-item_link::before {
  background: url(../images/icon_manual.svg) center center no-repeat #fff;
}

.footer-feature-item_link {
  display: block;
  padding: 21px;
  text-align: center;
  text-decoration: none;
}

.footer-feature-item_link:hover {
  opacity: 0.7;
}

.footer-feature-item_link::before {
  border-radius: 50%;
  display: inline-block;
  height: 84px;
  margin-bottom: 7px;
  width: 84px;
}

.footer-feature-item_head {
  color: #163954;
  font-size: 14px;
  font-weight: bold;

  /* /resource/css/module.css のCSSをを打ち消す */
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

.footer-feature-item_text {
  color: #444;
  font-size: 13px;
  margin-top: 7px;
}

.footer-feature-item.visible-only-mailbox {
  /* メールボックスぺージ以外は非表示 */
  display: none;
}

/* MEMO:
  pictureだけでは responsive 非対応時のバナー切り替えがうまくいかないので className を使って表示を切り替えます.
  `.feature-banner_hidden-if-unresponsive`
  `.feature-banner_hidden-if-responsive`

  TODO: サイト全体が完全レスポンシブ化したら
  `.feature-banner_hidden-if-unresponsive` ,
  `.feature-banner_hidden-if-responsive` を削除する
*/
body:not(.responsive) .feature-banner_hidden-if-unresponsive {
  display: none;
}

body.responsive .feature-banner_hidden-if-responsive {
  display: none;
}

/*
　レスポンシブ対応用CSS
 */
@media screen and (max-width: 599px) {
  .responsive .footer-feature {
    padding: 28px 0 0;
  }

  .responsive .footer-feature-banner {
    box-sizing: border-box;
    padding: 0 14px;
    width: 100%;
  }

  .responsive .feature-banner-img {
    width: 100%;
  }

  .responsive .footer-feature-items {
    background-color: #fff;
    flex-wrap: wrap;
    margin: 28px 0 0;
    width: 100%;
  }

  .responsive .footer-feature-item {
    border-left: 1px solid #bdbdbd;
    border-bottom: 1px solid #bdbdbd;
    box-sizing: content-box;
    margin-left: -1px;
    margin-bottom: -1px;
    width: 50%;
  }

  .responsive .footer-feature-item:not(:last-child) {
    border-right: none;
  }

  .responsive .footer-feature-item_link {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    height: 100%;
    padding: 4px 14px 4px 7px;
    text-align: left;
  }

  .responsive .footer-feature-item_link::before {
    display: block;
    height: 56px;
    margin-bottom: 0;
    width: 63px;
  }

  .responsive .footer-feature-item_head {
    flex-grow: 1;
    font-size: 13px;
  }

  .responsive .footer-feature-item_text {
    display: none;
  }

  .responsive .rs-footer .section-apply {
    /* .footer-feature-item の下線を隠すために入れます */
    position: relative;
    z-index: 1;
  }
}

/*
 * FOOTER CONTACT
 */

.footer-contacts-area {
  padding: 21px 0;
}

.footer-contacts-inner {
  margin: 0 auto;
  width: 960px;
}

.footer-contacts {
  display: flex;
}

.footer-contact {
  align-items: center;
  display: flex;
}

.footer-contact:first-child::after {
  background-color: #bdbdbd;
  content: "";
  display: block;
  height: 36px;
  margin: 0 32px;
  width: 1px;
}

.footer-contact-head {
  font-size: 15px;
  font-weight: bold;
  margin: 0 32px 0 0;
}

.footer-contact-button_link {
  background-color: #426077;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-size: 13px;
  padding: 12px 36px;
  text-align: center;
  text-decoration: none;
}

.footer-contact-button_link:hover {
  opacity: 0.7;
}

.footer-contacts-area .notes {
  color: #585858;
  font-size: 13px;
  margin-top: 21px;
  text-align: center;
}

@media screen and (max-width: 599px) {
  .responsive .footer-contacts-area {
    padding: 28px;
  }

  .responsive .footer-contacts-inner {
    margin: 0;
    width: 100%;
  }

  .responsive .footer-contacts {
    display: block;
  }

  .responsive .footer-contact {
    display: block;
  }

  .responsive .footer-contact:first-child::after {
    height: 1px;
    margin: 21px auto;
    width: 94%;
  }

  .responsive .footer-contact-head {
    text-align: center;
    margin: 0 0 14px;
  }

  .responsive .footer-contact-button_link {
    padding: 13px;
  }

  .responsive .footer-contacts-area .notes {
    text-align: left;
  }
}

/*
 * FOOTER NAV
 */

.footer-nav {
  background-color: #f6f6f6;
  padding: 23px 20px;
}

.footer-nav-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1;
  list-style: none;
}

.footer-nav-item:not(:last-child) {
  border-right: 1px solid #bdbdbd;
  padding-right: 11px;
  margin-right: 11px;
}

.footer-nav-item a {
  color: #568cc5;
  font-size: 14px;
  text-decoration: none;
}

.footer-nav-item a:hover {
  text-decoration: underline;
}

/*
 * BREADCRUMB LIST
 */

.breadcrumb {
  display: flex;
  font-size: 12px;
  list-style: none;
  margin: 0 auto;
  max-width: 960px;
  padding: 13px 0;
}

.breadcrumb-item + .breadcrumb-item::before {
  content: ">";
  margin: 0 10px;
}

.breadcrumb-link {
  color: #568cc5;
  text-decoration: none;
}

.breadcrumb-link:hover {
  text-decoration: underline;
}

/*
　レスポンシブ対応用CSS
 */
@media (max-width: 599px) {
  .responsive .breadcrumb {
    display: none;
  }
}

/*
  2カラムレイアウト
 */

.layout_container {
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin: 0 auto;
  width: 960px;
}

.layout_container .layout_main {
  box-sizing: border-box;
  flex-grow: 1;
  padding-left: 80px;
}

.layout_sidebar {
  margin: 20px 0 56px;
  position: -webkit-sticky;
  position: sticky;
  top: 62px;
  width: 240px;
  min-width: 240px;
}

/*
　レスポンシブ対応用CSS
 */
@media (max-width: 599px) {
  .responsive .layout_container {
    flex-direction: column;
    width: 100%;
  }

  .responsive .layout_container .layout_main {
    margin: 0 14px;
    padding-left: 0;
    width: calc(100% - 14px * 2);
  }

  .responsive .layout_sidebar {
    display: none;
  }
}

/*
  sticky未対応ブラウザ用CSS
 */

.layout_container.js-stickybit-parent {
  position: relative;
}

.layout_container.js-stickybit-parent::after {
  content: "";
  display: block;
  height: 10px;
  position: static;
  width: 240px;
  min-width: 240px; /* ie11の崩れを防ぐ */
}

.layout_container.js-stickybit-parent .layout_sidebar {
  left: 50%;
  margin-left: -480px;
  position: absolute;
  top: 0;
}

.layout_container.js-stickybit-parent .js-is-sticky--change,
.layout_container.js-stickybit-parent .js-is-sticky {
  position: fixed;
  top: 62px;
}

.layout_container.js-stickybit-parent .js-is-stuck {
  position: absolute;
  top: auto;
  bottom: 0;
}

@media (max-width: 960px) {
  .layout_container.js-stickybit-parent::after {
    display: none;
  }

  .layout_container.js-stickybit-parent .layout_sidebar {
    margin-left: 0;
    position: static;
  }
}

/*
  SIDEBAR
  LOCAL NAV
 */

.local-nav {
  margin-bottom: 28px;
}

.local-nav .nav-item {
  background-color: #fff;
  border-bottom: 1px solid #e1e1e4;
  list-style: none;
}

.local-nav .nav-link {
  color: inherit;
  display: block;
  font-size: 16px;
  padding: 14px;
  text-decoration: none;
}

.local-nav .nav-link:hover {
  background-color: #f6f6f6;
  color: #163954;
}

/* 子メニュー */

.local-nav-children {
  display: none;
  list-style: none;
}

.local-nav-children-item {
  border-top: 1px solid #e1e1e4;
}

.local-nav-children-item .nav-link {
  background-color: #f6f6f6;
  color: #444;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  padding: 12px 14px 12px 40px;
}

.local-nav-children-item .nav-link:hover {
  background-color: #e1e0e4;
  color: inherit;
  font-weight: inherit;
}

/* 関連リンク */
.related-links-head {
  border-bottom: 1px solid #e1e1e4;
  font-size: 14px;
  font-weight: normal;
  padding: 14px;

  /* リニューアル前ページで読み込まれる古いCSSを打ち消し */
  background: none;
  margin: 0;
}

/* --------------------
IE11 hack
スペースの調整
-------------------- */
@media all and (-ms-high-contrast: none) and (min-width: 600px) {
  .rs-site-name {
    /*    margin-top: 7px; */
  }

  /*  can-dropdownが無い分、行間を再指定 */
  .no-child-menus > .gnav-menu-name {
    line-height: 65px;
  }

  .gnav-child-menu_link {
    line-height: 1;
    padding: 13px 32px 8px;
  }

  .gnav-child-menu .no1 {
    line-height: 1;
    padding: 5px 4px 4px;
  }

  .sub-section {
    padding-top: 10px;
  }

  .btn-apply {
    line-height: 1;
    padding: 12px 0 8px;
  }

  .section-apply_btn-apply {
    box-sizing: border-box;
    padding: 5px 0 0;
  }

  .btn-footer-contact {
    box-sizing: border-box;
    padding: 5px 0 0;
  }

  .local-nav .nav-link {
    padding-top: 19px;
  }
}

@media all and (-ms-high-contrast: none) and (max-width: 599px) {
  .rs-gnav-trigger {
    margin-top: -14px;
  }
}
