@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700&display=swap&subset=japanese");
@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icons/icomoon.eot?rhxhqe");
  src: url("../fonts/icons/icomoon.eot?rhxhqe#iefix") format("embedded-opentype"), url("../fonts/icons/icomoon.ttf?rhxhqe") format("truetype"), url("../fonts/icons/icomoon.woff?rhxhqe") format("woff"), url("../fonts/icons/icomoon.svg?rhxhqe#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-down:before {
  content: "\f0d7";
}

.icon-caret-right:before {
  content: "\e900";
}

.icon-chevron-down:before {
  content: "\e901";
}

.icon-chevron-left:before {
  content: "\e902";
}

.icon-chevron-right:before {
  content: "\e903";
}

.icon-chevron-up:before {
  content: "\e904";
}

.icon-file-pdf:before {
  content: "\e905";
}

.l-header,
.l-footer {
  color: #000;
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: .05em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  word-break: normal;
  word-wrap: break-word;
  min-width: 1160px;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
}

.l-header html, .l-header body, .l-header div, .l-header span, .l-header applet, .l-header object, .l-header iframe, .l-header h1, .l-header h2, .l-header h3, .l-header h4, .l-header h5, .l-header h6, .l-header p, .l-header blockquote, .l-header pre, .l-header a, .l-header abbr, .l-header acronym, .l-header address, .l-header big, .l-header cite, .l-header code, .l-header del, .l-header dfn, .l-header em, .l-header img, .l-header ins, .l-header kbd, .l-header q, .l-header s, .l-header samp, .l-header small, .l-header strike, .l-header strong, .l-header sub, .l-header sup, .l-header tt, .l-header var, .l-header b, .l-header u, .l-header i, .l-header center, .l-header dl, .l-header dt, .l-header dd, .l-header ol, .l-header ul, .l-header li, .l-header fieldset, .l-header form, .l-header label, .l-header legend, .l-header table, .l-header caption, .l-header tbody, .l-header tfoot, .l-header thead, .l-header tr, .l-header th, .l-header td, .l-header article, .l-header aside, .l-header canvas, .l-header details, .l-header embed, .l-header figure, .l-header figcaption, .l-header footer, .l-header header, .l-header hgroup, .l-header menu, .l-header nav, .l-header output, .l-header ruby, .l-header section, .l-header summary, .l-header time, .l-header mark, .l-header audio, .l-header video,
.l-footer html,
.l-footer body,
.l-footer div,
.l-footer span,
.l-footer applet,
.l-footer object,
.l-footer iframe,
.l-footer h1,
.l-footer h2,
.l-footer h3,
.l-footer h4,
.l-footer h5,
.l-footer h6,
.l-footer p,
.l-footer blockquote,
.l-footer pre,
.l-footer a,
.l-footer abbr,
.l-footer acronym,
.l-footer address,
.l-footer big,
.l-footer cite,
.l-footer code,
.l-footer del,
.l-footer dfn,
.l-footer em,
.l-footer img,
.l-footer ins,
.l-footer kbd,
.l-footer q,
.l-footer s,
.l-footer samp,
.l-footer small,
.l-footer strike,
.l-footer strong,
.l-footer sub,
.l-footer sup,
.l-footer tt,
.l-footer var,
.l-footer b,
.l-footer u,
.l-footer i,
.l-footer center,
.l-footer dl,
.l-footer dt,
.l-footer dd,
.l-footer ol,
.l-footer ul,
.l-footer li,
.l-footer fieldset,
.l-footer form,
.l-footer label,
.l-footer legend,
.l-footer table,
.l-footer caption,
.l-footer tbody,
.l-footer tfoot,
.l-footer thead,
.l-footer tr,
.l-footer th,
.l-footer td,
.l-footer article,
.l-footer aside,
.l-footer canvas,
.l-footer details,
.l-footer embed,
.l-footer figure,
.l-footer figcaption,
.l-footer footer,
.l-footer header,
.l-footer hgroup,
.l-footer menu,
.l-footer nav,
.l-footer output,
.l-footer ruby,
.l-footer section,
.l-footer summary,
.l-footer time,
.l-footer mark,
.l-footer audio,
.l-footer video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

.l-header article, .l-header aside, .l-header details, .l-header figcaption, .l-header figure, .l-header footer, .l-header header, .l-header hgroup, .l-header menu, .l-header nav, .l-header section,
.l-footer article,
.l-footer aside,
.l-footer details,
.l-footer figcaption,
.l-footer figure,
.l-footer footer,
.l-footer header,
.l-footer hgroup,
.l-footer menu,
.l-footer nav,
.l-footer section {
  display: block;
}

.l-header body,
.l-footer body {
  line-height: 1;
}

.l-header ol, .l-header ul,
.l-footer ol,
.l-footer ul {
  list-style: none;
}

.l-header blockquote, .l-header q,
.l-footer blockquote,
.l-footer q {
  quotes: none;
}

.l-header blockquote:before, .l-header blockquote:after,
.l-footer blockquote:before,
.l-footer blockquote:after {
  content: '';
  content: none;
}

.l-header q:before, .l-header q:after,
.l-footer q:before,
.l-footer q:after {
  content: '';
  content: none;
}

.l-header table,
.l-footer table {
  border-collapse: collapse;
  border-spacing: 0;
}

.l-header b,
.l-footer b {
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .l-header,
  .l-footer {
    font-size: 14px;
    min-width: inherit;
  }
}

.l-header *,
.l-footer * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: none;
}

.l-header *:before,
.l-header *:after,
.l-footer *:before,
.l-footer *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.l-header a,
.l-footer a {
  color: #000;
  text-decoration: none;
  outline: none;
}

.l-header a.disable,
.l-footer a.disable {
  pointer-events: none;
}

.l-header a[href^="tel:"],
.l-footer a[href^="tel:"] {
  pointer-events: none;
}

@media only screen and (max-width: 768px) {
  .l-header a[href^="tel:"],
  .l-footer a[href^="tel:"] {
    pointer-events: all;
  }
}

.l-header img, .l-header svg, .l-header video,
.l-footer img,
.l-footer svg,
.l-footer video {
  max-width: 100%;
  vertical-align: bottom;
}

@media only screen and (max-width: 768px) {
  .l-header img, .l-header svg, .l-header video,
  .l-footer img,
  .l-footer svg,
  .l-footer video {
    width: 100%;
  }
}

.l-header p,
.l-footer p {
  text-indent: 1em;
  line-height: 1.9;
  text-align: justify;
  text-justify: inter-ideograph;
}

.l-header strong,
.l-header em,
.l-footer strong,
.l-footer em {
  font-weight: 700;
}

.l-header table,
.l-footer table {
  max-width: 100%;
  width: 100%;
}

.l-header table th,
.l-header table td,
.l-footer table th,
.l-footer table td {
  word-break: break-all;
}

.l-header h1,
.l-header h2,
.l-header h3,
.l-header h4,
.l-header h5,
.l-header h6,
.l-footer h1,
.l-footer h2,
.l-footer h3,
.l-footer h4,
.l-footer h5,
.l-footer h6 {
  font-weight: 500;
}

.l-header .l-container,
.l-footer .l-container {
  width: 1080px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .l-header .l-container,
  .l-footer .l-container {
    width: 100%;
    margin: 0;
    padding: 0 20px;
  }
}

.l-header .l-header_logo_inner::before,
.l-footer .l-header_logo_inner::before {
  display: none;
}

body .l-header {
  font-weight: 400;
  background: #fff;
  width: 100%;
  min-width: 1160px;
  height: 104px;
  padding: 0 30px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

@media only screen and (max-width: 768px) {
  body .l-header {
    background: none;
    min-width: inherit;
    height: 60px;
    padding: 0 0 0 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

body .l-header.is-scroll {
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

body .l-header_logo {
  padding: 0 0 28px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media only screen and (max-width: 768px) {
  body .l-header_logo {
    padding: 0;
    position: relative;
    z-index: 101;
  }
}

body .l-header_logo_link {
  display: inline-block;
}

body .l-header_logo_image {
  color: transparent;
  font: 0/0 a;
  width: 150px;
  height: 44px;
  overflow: hidden;
  text-shadow: none;
  display: inline-block;
  position: relative;
}

@media only screen and (max-width: 768px) {
  body .l-header_logo_image {
    width: 100px;
    height: 29px;
  }
}

body .l-header_logo_image::before {
  background: url(../images/common/logo_c.svg) center top/150px 44px no-repeat;
  width: 100%;
  height: 100%;
  display: block;
  content: "";
}

@media only screen and (max-width: 768px) {
  body .l-header_logo_image::before {
    background-size: 100px 29px;
    -webkit-transition: opacity 0.3s ease 0s;
    transition: opacity 0.3s ease 0s;
  }
}

@media only screen and (max-width: 768px) {
  body .l-header_logo_image::after {
    background: url(../images/common/logo_w.svg) center top/100px 29px no-repeat;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    content: "";
    -webkit-transition: opacity 0.3s ease 0s;
    transition: opacity 0.3s ease 0s;
  }
}

@media only screen and (min-width: 769px) {
  body .l-header_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
  }
  body .l-header_nav_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  body .l-header_nav_item:not(:last-child) {
    margin: 0 40px 0 0;
  }
  body .l-header_nav_link {
    font-size: 14px;
    font-weight: 700;
    padding: 10px 0 28px;
    display: block;
    position: relative;
  }
  body .l-header_nav_link::before {
    content: "";
    background: -webkit-gradient(linear, left top, right top, from(#6fb92c), color-stop(49.9%, #6fb92c), color-stop(50%, #e50012), to(#e50012));
    background: -webkit-linear-gradient(left, #6fb92c 0%, #6fb92c 49.9%, #e50012 50%, #e50012 100%);
    background: linear-gradient(90deg, #6fb92c 0%, #6fb92c 49.9%, #e50012 50%, #e50012 100%);
    width: 100%;
    height: 2px;
    position: absolute;
    bottom: 14px;
    left: 0;
    -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
            transform: scale(0, 1);
    display: inline-block;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  body .l-header_nav_link:hover {
    cursor: pointer;
  }
  body .l-header_nav_link.is-open ~ .l-header_nav_drop {
    max-height: 9999px;
    opacity: 1;
  }
  body .l-header_nav_link:hover::before, body .l-header_nav_link.is-open::before {
    -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  body .l-header_nav_drop {
    background: rgba(0, 0, 0, 0.65);
    width: 100vw;
    min-width: 1160px;
    max-height: 0;
    position: absolute;
    top: 104px;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  body .l-header_nav_drop_ttl {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    background: rgba(0, 0, 0, 0.3);
    padding: 25px 15px 25px 30px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30%;
            flex: 0 0 30%;
  }
  body .l-header_nav_drop_list {
    padding: 25px;
    margin: 0 0 -22px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 70%;
            flex: 0 0 70%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
  }
  body .l-header_nav_drop_item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 49.2%;
            flex: 0 0 49.2%;
    margin: 0 0 22px;
  }
  body .l-header_nav_drop_link {
    color: #fff;
    font-size: 14px;
    display: inline-block;
  }
  body .l-header_nav_drop_link::before {
    content: "\e903";
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 12px;
    display: inline-block;
    margin: 0 6px 0 0;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  body .l-header_nav_drop_link:hover::before {
    color: #e50012;
  }
  body .l-header_nav_lang {
    text-align: right;
    margin: 10px 0 8px;
  }
  body .l-header_nav_lang_link {
    font-weight: 700;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  body .l-header_nav_lang_link::before {
    content: "\e903";
    font-size: 12px;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    margin: 0 5px 0 0;
  }
  body .l-header_nav_lang_link:hover {
    color: #e50012;
  }
  body .l-header_btn_menu {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  body .l-header::before {
    content: "";
    background: #fff;
    width: 100%;
    height: 60px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99;
    display: block;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  body .l-header.l-header_transparent {
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  body .l-header.l-header_transparent::before {
    background: rgba(255, 255, 255, 0);
  }
  body .l-header.l-header_transparent .l-header_logo_image::before {
    opacity: 0;
  }
  body .l-header.l-header_transparent .l-header_logo_image::after {
    opacity: 1;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  body .l-header.l-header_transparent .l-header_nav_btn_menu_bar span {
    background-color: #fff;
  }
  body .l-header.l-header_transparent .l-header_nav_btn_menu_bar span:after, body .l-header.l-header_transparent .l-header_nav_btn_menu_bar span:before {
    background-color: #fff;
  }
  body .l-header.l-header_transparent.is-scroll::before {
    background: white;
  }
  body .l-header.l-header_transparent.is-scroll .l-header_logo_image::before {
    opacity: 1;
  }
  body .l-header.l-header_transparent.is-scroll .l-header_logo_image::after {
    opacity: 0;
  }
  body .l-header.l-header_transparent.is-scroll .l-header_nav_btn_menu_bar span {
    background-color: #000;
  }
  body .l-header.l-header_transparent.is-scroll .l-header_nav_btn_menu_bar span:after, body .l-header.l-header_transparent.is-scroll .l-header_nav_btn_menu_bar span:before {
    background-color: #000;
  }
  body .l-header_nav {
    width: 100%;
    position: fixed;
    top: -100vh;
    left: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-transition: top .3s;
    transition: top .3s;
    -webkit-overflow-scrolling: touch;
  }
  body .l-header_nav::before {
    content: "";
    display: block;
    height: 61px;
    background: #fff;
    border-bottom: 1px solid #e6e6e6;
  }
  body .l-header_nav_link {
    background: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 18px 28px 18px 15px;
    border-bottom: 1px solid #e6e6e6;
    display: block;
    cursor: pointer;
    position: relative;
  }
  body .l-header_nav_link::before {
    font-size: 12px;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  body .l-header_nav_link.has-child::before {
    content: "\e901";
    color: #bfbfbf;
  }
  body .l-header_nav_link:not(.has-child)::before {
    content: "\e903";
  }
  body .l-header_nav_link.is-open.has-child::before {
    content: "\e904";
  }
  body .l-header_nav_link.is-open ~ .l-header_nav_drop {
    max-height: 100vh;
    -webkit-transition: all 0.5s linear 0s;
    transition: all 0.5s linear 0s;
  }
  body .l-header_nav_drop {
    padding: 0 5px;
    background: #999;
    max-height: 0;
    overflow: hidden;
  }
  body .l-header_nav_drop_ttl {
    display: none;
  }
  body .l-header_nav_drop_item:not(:last-child) {
    border-bottom: 1px solid #b3b3b3;
  }
  body .l-header_nav_drop_link {
    color: #fff;
    font-size: 13px;
    padding: 16px 24px 16px 15px;
    display: block;
    position: relative;
  }
  body .l-header_nav_drop_link::before {
    content: "\e903";
    color: #e6e6e6;
    font-size: 12px;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  body .l-header_nav_lang {
    background: #fff;
    padding: 15px;
  }
  body .l-header_nav_lang_link {
    color: #e50012;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    border: 1px solid #e50012;
    padding: 15px 5px;
    display: block;
    position: relative;
  }
  body .l-header_nav_lang_link::before {
    content: "\e903";
    font-size: 12px;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  body .l-header_nav_btn_menu {
    width: 60px;
    height: 60px;
    position: relative;
    z-index: 101;
    cursor: pointer;
  }
  body .l-header_nav_btn_menu_bar {
    display: block;
    width: 20px;
    height: 40px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  body .l-header_nav_btn_menu_bar span {
    position: absolute;
    display: block;
    width: 100%;
    background-color: #000;
    border-radius: 10px;
    top: 50%;
    height: 4px;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  body .l-header_nav_btn_menu_bar span:after, body .l-header_nav_btn_menu_bar span:before {
    content: "";
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 4px;
    background-color: #000;
    border-radius: 10px;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  body .l-header_nav_btn_menu_bar span:before {
    -webkit-transform: translateY(-9px);
        -ms-transform: translateY(-9px);
            transform: translateY(-9px);
  }
  body .l-header_nav_btn_menu_bar span:after {
    -webkit-transform: translateY(9px);
        -ms-transform: translateY(9px);
            transform: translateY(9px);
  }
  body .l-header_nav_btn_menu.is-open .l-header_nav_btn_menu_bar span {
    background-color: rgba(0, 0, 0, 0) !important;
  }
  body .l-header_nav_btn_menu.is-open .l-header_nav_btn_menu_bar span:before {
    background-color: #000 !important;
    top: 0;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
  }
  body .l-header_nav_btn_menu.is-open .l-header_nav_btn_menu_bar span:after {
    background-color: #000 !important;
    top: 0;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
  }
  body .l-header_nav.is-open {
    top: 0;
  }
}

@media only screen and (max-width: 768px) {
  body body.is-open {
    overflow: hidden;
  }
  body body.is-open .l-header.l-header_transparent::before {
    background: white;
  }
  body body.is-open .l-header.l-header_transparent .l-header_logo_image::before {
    opacity: 1;
  }
  body body.is-open .l-header.l-header_transparent .l-header_logo_image::after {
    opacity: 0;
  }
}

body .l-footer {
  font-weight: 400;
  background: #fafafa;
}

body .l-footer::before {
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(#6fb92c), color-stop(49.9%, #6fb92c), color-stop(50%, #e50012), to(#e50012));
  background: -webkit-linear-gradient(left, #6fb92c 0%, #6fb92c 49.9%, #e50012 50%, #e50012 100%);
  background: linear-gradient(90deg, #6fb92c 0%, #6fb92c 49.9%, #e50012 50%, #e50012 100%);
  height: 4px;
  display: block;
}

body .l-footer_content {
  padding: 100px 0 60px;
}

@media only screen and (max-width: 768px) {
  body .l-footer_content {
    padding: 30px 0 10px;
  }
}

body .l-footer_content_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 768px) {
  body .l-footer_content_inner {
    display: block;
  }
}

body .l-footer_content_sub {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 360px;
          flex: 0 0 360px;
}

@media only screen and (max-width: 768px) {
  body .l-footer_content_sub {
    margin: 0 0 25px;
  }
}

body .l-footer_content_main {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 740px;
          flex: 0 0 740px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
}

@media only screen and (max-width: 768px) {
  body .l-footer_content_main {
    display: block;
  }
}

body .l-footer_content_main_block {
  margin: 0 0 40px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}

@media only screen and (max-width: 768px) {
  body .l-footer_content_main_block {
    margin: 0 0 25px;
  }
}

body .l-footer_logo {
  margin: 0 0 40px;
}

@media only screen and (max-width: 768px) {
  body .l-footer_logo {
    margin: 0 0 20px;
  }
}

body .l-footer_logo_link {
  display: block;
}

body .l-footer_logo_image {
  color: transparent;
  font: 0/0 a;
  width: 150px;
  height: 44px;
  overflow: hidden;
  text-shadow: none;
  display: inline-block;
  position: relative;
}

@media only screen and (max-width: 768px) {
  body .l-footer_logo_image {
    width: 100px;
    height: 29px;
  }
}

body .l-footer_logo_image::before {
  background: url(../images/common/logo_c.svg) center top/contain no-repeat;
  width: 100%;
  height: 100%;
  display: block;
  content: "";
}

@media only screen and (max-width: 768px) {
  body .l-footer_logo_image::before {
    background-position: left center;
  }
}

body .l-footer_links_header {
  margin: 0 0 16px;
}

body .l-footer_links_header_link {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  padding: 0 0 0 1.4em;
  position: relative;
  display: inline-block;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

@media only screen and (max-width: 768px) {
  body .l-footer_links_header_link {
    display: block;
  }
}

body .l-footer_links_header_link::before {
  content: "\e900";
  color: #e50012;
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

body .l-footer_links_header_link:hover {
  color: #e50012;
}

body .l-footer_links_item:not(:last-child) {
  margin: 0 0 10px;
}

body .l-footer_links_link {
  font-size: 13px;
  line-height: 1.3;
  padding: 0 0 0 1.5em;
  position: relative;
  display: inline-block;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

@media only screen and (max-width: 768px) {
  body .l-footer_links_link {
    display: block;
  }
}

body .l-footer_links_link::before {
  content: "";
  background: #e50012;
  width: 6px;
  height: 2px;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

body .l-footer_links_link:hover {
  color: #e50012;
}

body .l-footer_links_link_pdf span::after {
  content: "\e905";
  color: #808080;
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  margin: 0 0 0 8px;
}

body .l-footer_copyright {
  border-top: 1px solid #e6e6e6;
  padding: 60px 0;
}

@media only screen and (max-width: 768px) {
  body .l-footer_copyright {
    padding: 20px 0;
  }
}

body .l-footer_copyright_txt {
  font-size: 12px;
  line-height: 1.3;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  body .l-footer_copyright_txt {
    font-size: 11px;
  }
}

body .site-content {
  padding: 110px 0 100px;
}

@media only screen and (max-width: 768px) {
  body .site-content {
    padding: 60px 0;
  }
}

body .entry-footer,
body .post-navigation,
body .entry-meta,
body #comments {
  display: none !important;
}

.l-overlay {
  display: block;
}

@media only screen and (max-width: 768px) {
  .l-overlay {
    background: rgba(0, 0, 0, 0.7);
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 11;
    display: none;
    opacity: 0;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
}

@media only screen and (max-width: 768px) {
  body.is-open .l-overlay {
    display: block;
    opacity: 1;
  }
}
