@charset "UTF-8";
/* ========================================================================== */
/* E-Guadian CSS */
/* ========================================================================== */
body {
  position: relative;
  font-family: -apple-system, BlinkMacSystemFont, "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Roboto, "Noto Sans", "Segoe UI", "Droid Sans", Verdana, YuGothicM, YuGothic, "Noto Serif CJK JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 500;
  line-height: 1.7em;
  color: #333;
  margin: auto; }
  @media screen and (max-width: 767px) {
    body {
      font-size: 0.875rem; } }
  @media screen and (min-width: 768px) {
    body {
      font-size: 1.0rem;
      min-width: 1200px; } }
  body.nav-open {
    overflow: hidden;
    height: 100%; }

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: all .3s;
  transition: all .3s; }
  a:hover {
    text-decoration: underline; }
  @media screen and (min-width: 768px) {
    a[href^="tel:"] {
      pointer-events: none; } }

ul {
  list-style: none; }

ul, ol, li, dl, dt, dd, figure {
  padding: 0;
  margin: 0; }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

p {
  margin: 0; }

img {
  max-width: 100%; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

svg {
  stroke: #20262c;
  stroke-width: 3px;
  fill: none;
  stroke-miterlimit: 10;
  stroke-linejoin: round;
  -ms-interpolation-mode: bicubic; }

.layout-wrapper {
  overflow: hidden; }

.content-wrapper {
  opacity: 0;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: .8s;
  animation-duration: .8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

/* header */
/* ========================================================================== */
header {
  position: relative;
  z-index: 999;
  -webkit-transition: all .8s;
  transition: all .8s; }
  header.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    background: rgba(255, 255, 255, 0.9); }
  header.is-hide {
    background: none;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%); }

.header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.header-logo {
  width: 10.5rem;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  margin: 0;
  padding-left: 0.625rem; }
  .header-logo img {
    max-height: 4.375rem; }

.header-nav {
  font-size: 0.9375rem; }

.header-menu-item:hover .nav-menu {
  display: block; }

.header-menu-item .header-menu-item__link {
  padding: 0 1rem;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-repeat: no-repeat;
  background-position: 0.9375rem; }

.header-menu-item__content {
  height: 0;
  overflow: hidden; }
  .header-menu-item__content li {
    font-size: 0.9375rem; }
  .header-menu-item__content a {
    text-decoration: none;
    border: 2px solid transparent;
    padding: 0 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 3px;
    background-image: url(/resources/img/icon-link.svg);
    background-repeat: no-repeat;
    background-size: 0.375rem;
    -webkit-transition: all .5s;
    transition: all .5s; }
    .header-menu-item__content a:hover {
      color: #3d62ad;
      border-color: #3d62ad;
      background-color: #fff; }
      .header-menu-item__content a:hover svg {
        stroke: #3d62ad; }

@media screen and (max-width: 767px) {
  .header-nav-btn span {
    display: block;
    -webkit-transition: all .4s;
    transition: all .4s;
    position: relative;
    width: 3.125rem;
    height: 3.125rem; }
    .header-nav-btn span span {
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      width: 20px;
      height: 2px;
      background-color: #3d62ad;
      border-radius: 4px;
      -webkit-transition: all .4s;
      transition: all .4s; }
      .header-nav-btn span span:nth-of-type(1) {
        top: 18px; }
      .header-nav-btn span span:nth-of-type(2) {
        top: 25px; }
      .header-nav-btn span span:nth-of-type(3) {
        top: 32px; }
  .header-nav-btn.active span {
    top: -7px; }
    .header-nav-btn.active span:nth-of-type(1) {
      -webkit-transform: translateY(7px) rotate(-45deg);
      transform: translateY(7px) rotate(-45deg); }
    .header-nav-btn.active span:nth-of-type(2) {
      opacity: 0; }
    .header-nav-btn.active span:nth-of-type(3) {
      -webkit-transform: translateY(-7px) rotate(45deg);
      transform: translateY(-7px) rotate(45deg); }
  .header-menu-language li {
    position: fixed;
    top: .2rem;
    right: 8.8rem;
    width: 2.5rem;
    height: 2.5rem;
    background-image: url(/resources/img/icon-language.svg);
    background-repeat: no-repeat;
    background-position: center !important;
    background-size: 1.3rem;
    text-indent: -9999px; }
  .header-menu-language a {
    height: 100%;
    position: relative; }
    .header-menu-language a::after {
      content: 'EN';
      display: block;
      width: 100%;
      height: 10px;
      position: absolute;
      left: 0;
      right: 0;
      bottom: -1px;
      text-align: center;
      color: #3d62ad;
      font-size: 10px;
      text-indent: 0;
      line-height: 1; }
  .header-menu-contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    position: fixed;
    top: .3rem;
    right: 3.125rem; }
    .header-menu-contact .tel a,
    .header-menu-contact .contact a {
      text-indent: -9999rem;
      width: 2.8rem;
      height: 2.5rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
    .header-menu-contact .tel a {
      background-image: url(/resources/img/icon-tel.svg);
      background-size: 0.9375rem; }
    .header-menu-contact .contact a {
      background-image: url(/resources/img/icon-mail.svg);
      background-size: 1.3rem; }
  .header-menu-language,
  .header-menu-contact {
    -webkit-transition: .4s;
    transition: .4s;
    opacity: 0;
    z-index: 2;
    pointer-events: none; }
  .nav-open .header-menu-language,
  .nav-open .header-menu-contact {
    opacity: 1;
    pointer-events: auto; }
  .header-nav {
    background: #fff;
    left: 100%;
    width: 0;
    overflow: hidden;
    opacity: 0;
    border-top: 1px solid #d1d1d1;
    overflow: scroll;
    overflow-y: scroll;
    position: fixed;
    top: 50px;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    z-index: 1;
    padding-bottom: 50px; }
  .header-menu .header-menu-item {
    border-bottom: 1px solid #d1d1d1; }
    .header-menu .header-menu-item.active .header-menu-item__link {
      color: #3d62ad; }
    .header-menu .header-menu-item.active .header-menu-item__content {
      height: auto; }
  .header-menu .header-menu-item__link {
    font-weight: bold;
    height: 3.125rem; }
  .header-menu-item__content h2 {
    display: none; }
  .header-menu-item__content a {
    background-position: left 1rem center;
    padding-left: 2rem;
    min-height: 2.5rem; }
  .header-menu-item__content svg {
    display: none; }
  .header-menu-item__close {
    display: none; }
  .header-contact {
    padding: 1rem;
    background: #f5f7f8; }
    .header-contact p {
      font-size: 0.8125rem;
      text-align: center;
      font-weight: bold;
      margin-bottom: 1rem; }
  .header-contact-btn li {
    height: 4.375rem;
    font-size: 0.8125rem; }
    .header-contact-btn li:first-child {
      margin-bottom: 1rem; }
  .header-contact-btn a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #333333;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-repeat: no-repeat;
    background-position: 1rem center;
    border: 2px solid #fff;
    background-color: #fff; }
  .header-contact-btn .contact a {
    color: #fff;
    background-color: #3d62ad;
    background-image: url(/resources/img/icon-mail-white.svg);
    background-size: 1.3rem; }
    .header-contact-btn .contact a:hover {
      color: #fff;
      background-image: url(/resources/img/icon-mail-white.svg); }
  .header-contact-btn .contact .txt2 {
    font-size: 1.125rem;
    font-weight: bold; }
  .header-contact-btn .tel a {
    background-color: #fff;
    padding-top: 0.625rem;
    background-image: url(/resources/img/icon-tel.svg);
    background-size: 1rem; }
  .header-contact-btn .tel .txt1 {
    font-family: "Teko", sans-serif;
    font-size: 1.875rem; } }

@media screen and (max-width: 374px) {
  .header-logo img {
    max-width: 90%; }
  .header-menu-language li {
    right: 7.8rem; }
  .header-menu-contact a {
    width: 2.5rem !important; } }

@media screen and (min-width: 768px) {
  .mod-inner-xl {
    position: relative; }
  .header-logo {
    padding-left: 1.125rem; }
    .header-logo a {
      line-height: 0;
      height: 70px;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      .header-logo a img {
        -webkit-transition: all .4s;
        transition: all .4s; }
      .header-logo a:hover img {
        -webkit-transform: scale(1.05);
        transform: scale(1.05); }
  .header-nav-btn {
    display: none; }
  .header-nav {
    margin-right: 26.1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: auto !important;
    opacity: 1 !important; }
  .header-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .header-menu .header-menu-item__link {
      position: relative; }
      .header-menu .header-menu-item__link::before, .header-menu .header-menu-item__link::after {
        content: '';
        width: 0;
        height: 4px;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        background: #3d62ad;
        -webkit-transition: .5s;
        transition: .5s; }
      .header-menu .header-menu-item__link.active::before, .header-menu .header-menu-item__link.active::after {
        width: 100%; } }
    @media screen and (min-width: 768px) and (min-width: 768px) {
      .header-menu .header-menu-item__link {
        font-size: 0.75rem;
        padding: 0 .7rem; } }
    @media screen and (min-width: 768px) and (min-width: 1336px) {
      .header-menu .header-menu-item__link {
        font-size: 0.875rem;
        padding: 0 1rem; } }

@media screen and (min-width: 768px) {
  .header-menu-contact {
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .header-menu-item:nth-child(2) .header-menu-item__content ul {
    margin-right: -2%; }
    .header-menu-item:nth-child(2) .header-menu-item__content ul li {
      width: 31.33%;
      margin-right: 2%; }
  .header-menu-item.tel .header-menu-item__link {
    padding: 0 0.9375rem 0 2rem;
    font-family: "Teko", sans-serif;
    letter-spacing: .1rem;
    background-image: url(/resources/img/icon-tel.svg);
    background-size: 0.9375rem;
    background-position: .5rem;
    font-size: 1.375rem;
    width: 160px; }
  .header-menu-item.contact .header-menu-item__link {
    padding: 0 0.9375rem 0 2.5rem;
    background-color: #3d62ad;
    background-image: url(/resources/img/icon-mail-white.svg);
    background-size: 1.125rem;
    color: white;
    border: 2px solid #3d62ad;
    position: relative;
    width: 149px;
    font-size: 0.9375rem; }
    .header-menu-item.contact .header-menu-item__link:hover {
      color: #3d62ad;
      background-color: white;
      background-image: url(/resources/img/icon-mail.svg); }
  .header-menu-item.active .header-menu-item__link {
    border-color: #3d62ad; }
  .header-menu-language {
    position: absolute;
    top: 0;
    right: 19.3rem; }
    .header-menu-language a {
      display: block;
      padding: 0 0.8rem 0 2.4rem !important;
      font-family: "Teko", sans-serif;
      letter-spacing: .1rem;
      background-image: url(/resources/img/icon-language.svg);
      background-repeat: no-repeat;
      background-position: 0.5rem !important;
      background-size: 1.25rem;
      font-size: 1.375rem;
      position: relative; }
      .header-menu-language a::before, .header-menu-language a::after {
        content: '';
        width: 0;
        height: 4px;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        background: #3d62ad;
        -webkit-transition: .5s;
        transition: .5s; }
      .header-menu-language a.active::before, .header-menu-language a.active::after {
        width: 100%; }
  .header-menu-item__link {
    height: 4.375rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
    white-space: nowrap;
    cursor: pointer; }
  .header-menu-item__content {
    position: absolute;
    left: 0;
    top: 4.375rem;
    background: #f5f7f8; } }
  @media screen and (min-width: 768px) and (min-width: 1121px) {
    .header-menu-item__content {
      width: 100% !important; } }

@media screen and (min-width: 768px) {
    .header-menu-item__content .mod-inner {
      min-width: 70rem; }
    .header-menu-item__content h2 {
      text-align: left;
      font-size: 1.4rem;
      border-bottom: 1px solid #d1d1d1;
      margin-bottom: 1.5rem;
      margin-top: 1.2rem; }
    .header-menu-item__content h3 {
      margin-top: 1.75rem;
      font-size: 1rem;
      border-top: 1px solid #d1d1d1;
      padding: 1rem 0;
      background-image: url(/resources/img/icon-search.svg);
      background-repeat: no-repeat;
      background-position: left center;
      padding-left: 2rem;
      background-size: 1.5rem; }
    .header-menu-item__content ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-right: -2%; }
    .header-menu-item__content li {
      width: 23%;
      margin: 0 2% 0.3rem 0; }
    .header-menu-item__content a {
      min-height: 3.75rem;
      background-position: right 1rem center;
      line-height: 1.35rem; }
    .header-menu-item__content svg {
      max-width: 2.6875rem;
      max-height: 2.75rem;
      stroke: #20262c;
      margin-right: 1rem; }
  .header-menu-item__close {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    font-size: 0.875rem;
    font-weight: bold;
    padding-bottom: 1rem; }
    .header-menu-item__close a, .header-menu-item__close span {
      background: #fff;
      min-height: 0;
      width: 6.9375rem;
      height: 2.5rem;
      position: relative;
      padding-left: 2rem;
      cursor: pointer; }
      .header-menu-item__close a:before, .header-menu-item__close a:after, .header-menu-item__close span:before, .header-menu-item__close span:after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 0.625rem;
        width: 1rem;
        height: 2px;
        margin-top: -1px;
        background: #333333; }
      .header-menu-item__close a:before, .header-menu-item__close span:before {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      .header-menu-item__close a:after, .header-menu-item__close span:after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      .header-menu-item__close a:hover, .header-menu-item__close span:hover {
        color: #fff;
        background: #333333; }
        .header-menu-item__close a:hover:before, .header-menu-item__close a:hover:after, .header-menu-item__close span:hover:before, .header-menu-item__close span:hover:after {
          background: #fff; }
  body.pc .header-menu-item__link:hover::before, body.pc .header-menu-item__link:hover::after {
    width: 100%; } }

@media screen and (min-width: 768px) and (max-width: 1200px) {
  header.is-fixed {
    overflow: scroll; } }

@media screen and (min-width: 768px) {
  header.is-fixed .mod-inner-xl {
    min-width: 1200px; } }

/* footer */
/* ========================================================================== */
footer {
  color: white; }
  footer a {
    color: white; }
  footer .mod-inner {
    max-width: 102.5rem; }
    @media screen and (min-width: 768px) {
      footer .mod-inner {
        min-width: 70rem;
        padding: 0 2.5rem; } }

.pagetop {
  display: none;
  max-width: 112rem;
  position: fixed;
  bottom: 2rem;
  left: 0;
  right: 2rem;
  margin: auto;
  pointer-events: none;
  z-index: 1; }
  @media screen and (max-width: 767px) {
    .pagetop {
      bottom: 1.5rem;
      right: 1.5rem; } }
  .pagetop a {
    background-color: #20262c;
    background-image: url(/resources/img/icon-link-white.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 1rem;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    display: block;
    width: 3.75rem;
    height: 3.75rem;
    margin-left: auto;
    text-indent: -9999px;
    border: 2px solid #20262c;
    pointer-events: auto; }
    @media screen and (max-width: 767px) {
      .pagetop a {
        width: 3rem;
        height: 3rem;
        background-size: .8rem; } }
    @media screen and (min-width: 768px) {
      .pagetop a:hover {
        background-color: white;
        background-image: url(/resources/img/icon-link-black.svg); } }

.footer-contact {
  background: #3d62ad;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .footer-contact {
      padding: 1rem 0 0; }
      .footer-contact .section-content {
        padding: 0 1rem 0.9375rem; } }
  @media screen and (min-width: 768px) {
    .footer-contact {
      padding: 3rem 0 2rem; } }

.footer-contact-btn p {
  font-weight: bold; }
  @media screen and (max-width: 767px) {
    .footer-contact-btn p {
      margin-bottom: 1rem; } }
  @media screen and (min-width: 768px) {
    .footer-contact-btn p {
      margin-bottom: 1.5rem; } }

@media screen and (min-width: 768px) {
  .footer-contact-btn ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }

.footer-contact-btn li {
  height: 4.375rem;
  font-size: 0.8125rem; }
  .footer-contact-btn li:first-child {
    margin-bottom: 1rem; }
  @media screen and (min-width: 768px) {
    .footer-contact-btn li {
      width: 49.1%;
      font-size: 0.875rem;
      height: 5.625rem; } }

.footer-contact-btn a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #333333;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border: 2px solid #fff;
  position: relative;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: 1rem; }
  @media screen and (min-width: 768px) {
    .footer-contact-btn a {
      background-position: 2.5rem; } }

.footer-contact-btn .contact a {
  background-image: url(/resources/img/icon-mail.svg);
  background-size: 1.6rem; }
  @media screen and (min-width: 768px) {
    .footer-contact-btn .contact a {
      background-size: 2rem; } }
  .footer-contact-btn .contact a:hover {
    color: #fff;
    background-color: #3d62ad;
    background-image: url(/resources/img/icon-mail-white.svg); }

.footer-contact-btn .contact .txt2 {
  font-size: 1.125rem;
  font-weight: bold; }

.footer-contact-btn .tel a {
  background-image: url(/resources/img/icon-tel.svg);
  padding-top: 0.625rem;
  background-size: 1rem; }
  @media screen and (min-width: 768px) {
    .footer-contact-btn .tel a {
      background-size: 1.375rem; } }

.footer-contact-btn .tel .txt1 {
  font-family: "Teko", sans-serif;
  font-size: 1.875rem; }
  @media screen and (min-width: 768px) {
    .footer-contact-btn .tel .txt1 {
      font-size: 2.5rem; } }

.footer-nav {
  background: #2b3037; }
  .footer-nav dt {
    font-size: 0.9375rem; }
  .footer-nav dd a {
    color: #e0e0e0; }
  .footer-nav ul {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -1rem; }
  .footer-nav li {
    padding: 0 1em;
    line-height: 1em; }
    .footer-nav li:not(:last-child) {
      border-right: 1px solid; }
  @media screen and (max-width: 767px) {
    .footer-nav .section-content {
      padding: 0; }
    .footer-nav .footer-nav-content dl {
      overflow: hidden;
      border-bottom: 1px solid rgba(255, 255, 255, 0.3);
      -webkit-transition: .4s;
      transition: .4s; }
      .footer-nav .footer-nav-content dl:not(.active) {
        height: 3.125rem !important; }
      .footer-nav .footer-nav-content dl.active {
        height: auto; }
    .footer-nav dt {
      margin-bottom: 0 !important; }
      .footer-nav dt a {
        width: 100%; }
    .footer-nav dt, .footer-nav dd a {
      border-bottom: 1px solid rgba(255, 255, 255, 0.3);
      line-height: 3.125rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding: 0 1rem; }
    .footer-nav dd a {
      width: 100%;
      background-position: right 1.5rem center !important;
      padding-left: 2rem; }
    .footer-nav ul {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 1.5rem 1rem .5rem;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      font-size: 0.6875rem; }
    .footer-nav li {
      margin-bottom: 1rem; } }
  @media screen and (min-width: 768px) {
    .footer-nav nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 2rem 0 2.8rem; }
    .footer-nav .footer-nav-content {
      -webkit-box-flex: 0;
      -ms-flex: none;
      flex: none;
      width: 20%;
      margin-bottom: 1.5rem; }
    .footer-nav dt {
      font-size: 0.875rem; }
    .footer-nav dd {
      font-size: 0.8125rem; }
    .footer-nav li {
      padding: 0 1rem;
      font-size: 0.8125rem; } }

.footer-group {
  background: #363b41;
  font-size: 0.625rem; }
  .footer-group .section-header {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .footer-group .section-header h2 {
      width: 100%;
      font-weight: lighter; }
    .footer-group .section-header .tit1 {
      display: block;
      font-family: "Teko", sans-serif;
      font-size: 2.25rem;
      letter-spacing: .1em;
      margin-right: -0.1em;
      padding-bottom: 0.1rem;
      padding-bottom: 0.5rem; }
    .footer-group .section-header .tit2 {
      font-size: 0.75rem; }
  .footer-group ul {
    margin-top: -1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .footer-group a {
    display: block;
    text-align: center;
    text-decoration: none;
    -webkit-transition: .5s;
    transition: .5s; }
    .footer-group a:hover {
      background: rgba(255, 255, 255, 0.1);
      -webkit-transform: scale(1.1);
      transform: scale(1.1); }
  .footer-group span {
    display: block; }
  @media screen and (max-width: 767px) {
    .footer-group .section-header {
      padding: 2rem 0 1.5rem; }
    .footer-group li {
      -webkit-box-flex: 0;
      -ms-flex: none;
      flex: none;
      width: 50%;
      padding: 1rem 0;
      margin-bottom: rem; }
    .footer-group img {
      max-height: 3.5rem; } }
  @media screen and (min-width: 768px) {
    .footer-group {
      padding-bottom: 2rem; }
      .footer-group .section-header {
        padding: 4.5rem 0 2.5rem; }
        .footer-group .section-header .tit1 {
          font-size: 3.125rem; }
        .footer-group .section-header .tit2 {
          font-size: 1rem; }
      .footer-group ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 1rem; }
      .footer-group li {
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none;
        width: 33.33%; }
      .footer-group a {
        padding: 1rem;
        font-size: 0.8125rem; }
      .footer-group img {
        max-height: 4.25rem; } }

.footer-content {
  background: #2b3037; }
  .footer-content .section-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .footer-content {
      padding: 2rem 1rem 0; } }
  @media screen and (min-width: 768px) {
    .footer-content {
      padding: 1.5rem 0; } }

.footer-logo {
  width: 10.5rem;
  margin-right: 2rem;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none; }
  @media screen and (max-width: 767px) {
    .footer-logo {
      width: 100%;
      margin-bottom: .2rem; }
      .footer-logo img {
        max-width: 7.375rem; } }

.footer-company h3 {
  font-size: 0.6875rem; }

.footer-company p {
  font-weight: lighter;
  font-size: 0.625rem;
  line-height: 1.8em; }

@media screen and (max-width: 767px) {
  .footer-company {
    margin-bottom: .5rem; } }

@media screen and (min-width: 768px) {
  .footer-company h3 {
    font-size: 0.9375rem;
    margin-bottom: 0.3rem; }
  .footer-company p {
    font-size: 0.8125rem; } }

.footer-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .footer-sns li {
    margin-right: 0.4rem; }
  .footer-sns a {
    width: 2.8125rem;
    height: 2.8125rem;
    border-radius: 50%;
    text-align: center;
    vertical-align: middle;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .footer-sns a:hover {
      background-color: #3d62ad; }
  .footer-sns img {
    height: 1rem; }
  @media screen and (max-width: 767px) {
    .footer-sns {
      margin: .3rem auto 0 0; } }
  @media screen and (min-width: 768px) {
    .footer-sns {
      margin: 0 1.25rem 0 auto; }
      .footer-sns li {
        margin-right: 0.5rem; }
      .footer-sns a {
        width: 3.125rem;
        height: 3.125rem; }
      .footer-sns img {
        height: 1.2rem; } }

@media screen and (max-width: 767px) {
  .footer-iso {
    max-width: 5rem; } }

.footer-copyright {
  width: 100%;
  text-align: center;
  font-weight: lighter; }
  @media screen and (max-width: 767px) {
    .footer-copyright {
      margin-top: .5rem; }
      .footer-copyright small {
        font-size: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .footer-copyright {
      margin-top: 1rem; }
      .footer-copyright small {
        font-size: 0.8125rem; } }

/* module */
/* ========================================================================== */
@media screen and (max-width: 767px) {
  .mod-pc-only {
    display: none; } }

@media screen and (min-width: 768px) {
  .mod-sp-only {
    display: none; } }

.mod-inner {
  max-width: 72.5rem;
  margin: auto; }

.mod-inner-m {
  max-width: 102.5rem;
  margin: auto; }
  @media screen and (min-width: 768px) {
    .mod-inner-m {
      min-width: 70rem;
      padding: 0 2.5rem; } }

.mod-inner-l {
  max-width: 110rem;
  margin: auto; }

.mod-inner-xl {
  max-width: 120rem;
  margin: auto; }
  @media screen and (min-width: 768px) {
    .mod-inner-xl {
      min-width: 70rem; } }

.post-area {
  /*--------------- margin --------------- */
  /*--------------- headline --------------- */
  /*--------------- text --------------- */
  /*--------------- list --------------- */
  /*--------------- ol --------------- */
  /*--------------- link --------------- */
  /*--------------- img --------------- */ }
  @media screen and (max-width: 767px) {
    .post-area {
      line-height: 1.625rem; } }
  @media screen and (max-width: 767px) {
    .post-area section {
      padding-bottom: 2.5rem; } }
  @media screen and (min-width: 768px) {
    .post-area section {
      padding-bottom: 5rem; } }
  .post-area > *:first-child {
    margin-top: 0; }
  .post-area h1 {
    border-top: 1px solid #e0e0e0;
    font-weight: normal; }
    @media screen and (max-width: 767px) {
      .post-area h1 {
        margin: 0 0 1.5rem;
        padding-top: 0.75rem;
        font-size: 1.5rem; } }
    @media screen and (min-width: 768px) {
      .post-area h1 {
        margin: 0 0 3.125rem;
        padding-top: 2rem;
        font-size: 2.25rem;
        line-height: 3.25rem; } }
  .post-area h2 {
    font-weight: normal; }
    @media screen and (max-width: 767px) {
      .post-area h2 {
        margin-bottom: 1.5rem; } }
    @media screen and (min-width: 768px) {
      .post-area h2 {
        font-size: 1.875rem;
        line-height: 3.25rem;
        margin: 1.5rem 0; } }
  .post-area h3 {
    font-weight: normal;
    background: #eceff1; }
    @media screen and (max-width: 767px) {
      .post-area h3 {
        margin-bottom: 1.5rem;
        padding: .5rem 1rem; } }
    @media screen and (min-width: 768px) {
      .post-area h3 {
        font-size: 1.5rem;
        line-height: 3.25rem;
        margin: 1.5rem 0;
        padding: .5rem 1rem; } }
  @media screen and (max-width: 767px) {
    .post-area h4 {
      margin-bottom: 1.5rem;
      margin: 0; } }
  @media screen and (min-width: 768px) {
    .post-area h4 {
      font-size: 1.25rem;
      line-height: 3.25rem;
      margin: 0; } }
  @media screen and (max-width: 767px) {
    .post-area h6 {
      margin-bottom: 1.5rem;
      margin: 0; } }
  @media screen and (min-width: 768px) {
    .post-area h6 {
      font-size: 1rem;
      line-height: 3.25rem;
      margin: 0; } }
  @media screen and (max-width: 767px) {
    .post-area p {
      margin-bottom: 1.5rem; } }
  @media screen and (min-width: 768px) {
    .post-area p {
      margin-bottom: 2.5rem;
      line-height: 2.125rem; } }
  .post-area .fw-bold {
    font-weight: bold; }
  .post-area .fs-large {
    font-size: 1.22em; }
  .post-area .fs-small {
    font-size: 0.78em; }
  @media screen and (max-width: 767px) {
    .post-area ul {
      margin-bottom: 1.5rem; } }
  @media screen and (min-width: 768px) {
    .post-area ul {
      margin-bottom: 2.5rem; } }
  .post-area ul li {
    position: relative;
    padding-left: 1rem; }
    @media screen and (min-width: 768px) {
      .post-area ul li {
        padding-left: 1.5rem; } }
    .post-area ul li::before {
      content: '・';
      font-weight: bold;
      color: #3d62ad;
      margin-right: .3rem;
      width: 1em;
      height: 1em;
      position: absolute;
      left: 0;
      top: 0; }
  .post-area ol {
    padding-left: 1rem; }
    @media screen and (min-width: 768px) {
      .post-area ol {
        padding-left: 1.5rem; } }
  .post-area a {
    color: #3d62ad; }
  .post-area img {
    height: auto !important; }

/*--------------- link icon --------------- */
.t-home main a:not(.noicon)[target='_blank']::after, .t-home main a:not(.noicon).exlink::after,
.content-main a:not(.noicon)[target='_blank']::after,
.content-main a:not(.noicon).exlink::after {
  content: '';
  display: inline-block;
  width: 1.2rem;
  height: 1rem;
  background-image: url(/resources/img/icon-ext-link.svg);
  background-repeat: no-repeat;
  background-position: right .2rem;
  background-size: .85rem;
  margin-left: .3rem; }
  @media screen and (max-width: 767px) {
    .t-home main a:not(.noicon)[target='_blank']::after, .t-home main a:not(.noicon).exlink::after,
    .content-main a:not(.noicon)[target='_blank']::after,
    .content-main a:not(.noicon).exlink::after {
      top: 0; } }
  @media screen and (min-width: 768px) {
    .t-home main a:not(.noicon)[target='_blank']::after, .t-home main a:not(.noicon).exlink::after,
    .content-main a:not(.noicon)[target='_blank']::after,
    .content-main a:not(.noicon).exlink::after {
      top: .25rem; } }

/*--------------- table --------------- */
table {
  width: 100%;
  border-spacing: 0;
  border-top: 1px solid #e0e0e0;
  border-left: 1px solid #e0e0e0; }
  @media screen and (max-width: 767px) {
    table {
      margin-bottom: 1.5rem;
      font-size: 0.8125rem; } }
  @media screen and (min-width: 768px) {
    table {
      margin-bottom: 2rem; } }
  table th, table td {
    border-right: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0; }
    @media screen and (max-width: 767px) {
      table th, table td {
        padding: .5rem; } }
    @media screen and (min-width: 768px) {
      table th, table td {
        padding: 1rem; } }
  table th {
    text-align: left;
    background: #f5f7f8; }
  table thead th {
    background: #363b41;
    color: white; }
    table thead th:not(:last-child) {
      border-right-color: white; }
  table tbody td *:last-child {
    margin-bottom: 0; }

/*--------------- link --------------- */
h5 {
  border-bottom: 4px solid #e0e0e0;
  position: relative;
  font-weight: bold;
  margin-bottom: 1.5rem; }
  h5:after {
    content: '';
    display: block;
    height: 4px;
    border-bottom: 4px solid #3d62ad;
    position: absolute;
    bottom: -4px;
    left: 0; }
  @media screen and (max-width: 767px) {
    h5 {
      padding-bottom: .5rem; }
      h5:after {
        width: 9rem; } }
  @media screen and (min-width: 768px) {
    h5 {
      font-size: 1.25rem;
      padding-bottom: 1rem; }
      h5:after {
        width: 12rem; } }
  @media screen and (max-width: 767px) {
    h5 .mod-link-right {
      display: none; } }
  @media screen and (min-width: 768px) {
    h5 .mod-link-right {
      font-size: 0.9375rem;
      font-weight: normal;
      color: #3d62ad;
      text-align: right;
      float: right; }
      h5 .mod-link-right::after {
        content: '';
        display: block;
        clear: both; } }

/*--------------- 共通 --------------- */
.mod-btn-box_image,
.blog-list-image {
  border: 1px solid #eceff1; }
  .mod-btn-box_image.noimage figure,
  .blog-list-image.noimage figure {
    position: relative; }
    .mod-btn-box_image.noimage figure::before,
    .blog-list-image.noimage figure::before {
      content: 'NO IMAGE';
      font-family: "Teko", sans-serif;
      font-size: 3.5rem;
      color: #e0e0e0;
      display: block;
      width: 100%;
      height: 25px;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      text-align: center; }

/*--------------- mod-border-boxes --------------- */
@media screen and (min-width: 768px) {
  .mod-border-boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1.7%;
    margin-bottom: .5rem; } }

.mod-border-boxes .box {
  position: relative;
  background: white;
  border: 1px solid #e0e0e0;
  background-color: white; }
  @media screen and (max-width: 767px) {
    .mod-border-boxes .box {
      padding: 1rem;
      margin-bottom: 1rem; } }
  @media screen and (min-width: 768px) {
    .mod-border-boxes .box {
      padding: 1.5rem;
      width: 31.6%;
      margin-right: 1.7%;
      margin-bottom: 2rem; } }

.mod-border-boxes .box-image a {
  display: block;
  border-bottom: 1px solid transparent;
  -webkit-transition: .4s;
  transition: .4s; }
  .mod-border-boxes .box-image a:hover {
    text-decoration: none;
    border-color: #3d62ad; }

.mod-border-boxes .box-image .title {
  background-image: url(/resources/img/icon-link.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: .6rem;
  padding-right: 1.5rem;
  margin: .3rem 0 0; }

.mod-border-boxes .box-content {
  margin-top: .5rem;
  font-size: 0.9375rem; }
  .mod-border-boxes .box-content .text {
    margin-bottom: 1rem; }

/*--------------- mod-btn-boxes --------------- */
@media screen and (min-width: 768px) {
  .mod-banner-boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -2%; } }

.mod-banner-boxes .box {
  background-color: white;
  background-image: url(/resources/img/bg-box-dot.svg); }
  @media screen and (max-width: 767px) {
    .mod-banner-boxes .box:not(:last-child) {
      margin-bottom: 1rem; } }
  @media screen and (min-width: 768px) {
    .mod-banner-boxes .box {
      width: 48%;
      margin-right: 2%; } }

.mod-banner-boxes a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem;
  overflow: hidden;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border: 2px solid transparent; }
  @media screen and (min-width: 768px) {
    .mod-banner-boxes a {
      padding: 1.5rem 3% 1.2rem 5%; } }

@media screen and (min-width: 768px) {
  .mod-banner-boxes .box-content {
    width: 100%;
    padding: 1.6rem 3% 1rem 3%; } }

.mod-banner-boxes .box-content span {
  display: block; }

.mod-banner-boxes .box-content .title {
  font-family: "Teko", sans-serif;
  font-weight: 400; }

.mod-banner-boxes .box-content .tit1 {
  letter-spacing: .3rem; }
  @media screen and (max-width: 767px) {
    .mod-banner-boxes .box-content .tit1 {
      font-size: 1.75rem; } }
  @media screen and (min-width: 768px) {
    .mod-banner-boxes .box-content .tit1 {
      font-size: 3.5rem; } }

.mod-banner-boxes .box-content .tit2 {
  letter-spacing: .2rem; }
  @media screen and (max-width: 767px) {
    .mod-banner-boxes .box-content .tit2 {
      font-size: 0.75rem; } }
  @media screen and (min-width: 768px) {
    .mod-banner-boxes .box-content .tit2 {
      font-size: 1.375rem; } }

.mod-banner-boxes .box-content .text {
  color: #3d62ad;
  line-height: 1.8; }
  @media screen and (max-width: 767px) {
    .mod-banner-boxes .box-content .text {
      font-size: 0.625rem; } }

@media screen and (min-width: 768px) {
  .mod-banner-boxes .box-content .txt1 {
    font-size: 0.875rem; } }

@media screen and (min-width: 768px) {
  .mod-banner-boxes .box-content .txt2 {
    font-size: 1rem; } }

.mod-banner-boxes .box-image {
  overflow: hidden;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none; }
  @media screen and (max-width: 767px) {
    .mod-banner-boxes .box-image {
      width: 8.125rem;
      height: 5.3125rem; } }
  @media screen and (min-width: 768px) {
    .mod-banner-boxes .box-image {
      width: 16.25rem;
      height: 10.625rem; } }
  .mod-banner-boxes .box-image figure {
    width: 100%;
    padding-top: 65.38%;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-transition: .4s;
    transition: .4s; }

.mod-banner-boxes a:hover {
  text-decoration: none;
  border-color: #3d62ad; }
  .mod-banner-boxes a:hover .box-image figure {
    -webkit-transform: scale(1.05);
    transform: scale(1.05); }

/*--------------- mod-message-boxes --------------- */
@media screen and (min-width: 768px) {
  .mod-message-boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1.7%;
    margin-bottom: 2.5rem; } }

.mod-message-boxes .box {
  position: relative;
  background: white;
  border: 1px solid #e0e0e0;
  background-color: white;
  background-image: url(/resources/img/bg-box-dot.svg); }
  @media screen and (max-width: 767px) {
    .mod-message-boxes .box {
      margin-bottom: 1rem; } }
  @media screen and (min-width: 768px) {
    .mod-message-boxes .box {
      width: 31.6%;
      margin-right: 1.7%; } }

.mod-message-boxes a {
  display: block;
  text-decoration: none;
  padding: 1rem; }
  .mod-message-boxes a:hover {
    opacity: .8; }
    .mod-message-boxes a:hover .box-image figure {
      -webkit-transform: scale(1.05);
      transform: scale(1.05); }

.mod-message-boxes .box-image {
  overflow: hidden; }
  .mod-message-boxes .box-image figure {
    width: 100%;
    padding-top: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-transition: .4s;
    transition: .4s; }

.mod-message-boxes .box-content {
  text-align: center; }
  @media screen and (max-width: 767px) {
    .mod-message-boxes .box-content {
      padding: 1rem 1rem 0; } }
  @media screen and (min-width: 768px) {
    .mod-message-boxes .box-content {
      padding: 1.8rem 1rem .3rem; } }
  .mod-message-boxes .box-content .title1 {
    margin-bottom: .3rem;
    font-weight: normal; }
    @media screen and (max-width: 767px) {
      .mod-message-boxes .box-content .title1 {
        font-size: 1.125rem; } }
    @media screen and (min-width: 768px) {
      .mod-message-boxes .box-content .title1 {
        font-size: 1.75rem; } }
  .mod-message-boxes .box-content .title2 {
    font-family: "Teko", sans-serif;
    margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .mod-message-boxes .box-content .title2 {
        font-size: 1rem; } }
    @media screen and (min-width: 768px) {
      .mod-message-boxes .box-content .title2 {
        font-size: 1.375rem; } }

/*--------------- mod-link-boxes --------------- */
@media screen and (min-width: 768px) {
  .mod-link-boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1.7%; } }

.mod-link-boxes .box {
  position: relative;
  background: white;
  margin-bottom: 1rem; }
  @media screen and (min-width: 768px) {
    .mod-link-boxes .box {
      width: 31.6%;
      margin-right: 1.7%; } }

.mod-link-boxes a {
  display: block;
  text-decoration: none; }
  .mod-link-boxes a:hover {
    opacity: .8; }
    .mod-link-boxes a:hover .box-image figure {
      -webkit-transform: scale(1.05);
      transform: scale(1.05); }

.mod-link-boxes .box-image {
  overflow: hidden; }
  .mod-link-boxes .box-image figure {
    width: 100%;
    padding-top: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-transition: .4s;
    transition: .4s; }

@media screen and (max-width: 767px) {
  .mod-link-boxes .box-content {
    padding: 1rem 0; } }

@media screen and (min-width: 768px) {
  .mod-link-boxes .box-content {
    padding: 1.5rem 0; } }

.mod-link-boxes .box-content h3 {
  text-align: center; }
  @media screen and (min-width: 768px) {
    .mod-link-boxes .box-content h3 {
      font-size: 1.25rem; } }

.mod-link-boxes .box-content p {
  font-size: 0.8125rem; }

/*--------------- mod-pickup-box --------------- */
@media screen and (min-width: 768px) {
  .mod-pickup-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 2.5rem; } }

@media screen and (max-width: 767px) {
  .mod-pickup-box .mod-border-label {
    margin-bottom: 1.5rem; } }

@media screen and (min-width: 768px) {
  .mod-pickup-box .mod-border-label {
    margin-bottom: 2rem; } }

@media screen and (max-width: 767px) {
  .mod-pickup-box .mod-border-label a, .mod-pickup-box .mod-border-label span {
    padding: 0 .8rem; } }

@media screen and (min-width: 768px) {
  .mod-pickup-box .mod-border-label a, .mod-pickup-box .mod-border-label span {
    padding: .3rem 1rem; } }

@media screen and (max-width: 767px) {
  .mod-pickup-box_image {
    margin-bottom: 1rem; } }

@media screen and (min-width: 768px) {
  .mod-pickup-box_image {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; }
    .mod-pickup-box_image figure {
      height: 60.25%; } }

.mod-pickup-box_content {
  text-align: center; }
  .mod-pickup-box_content .company {
    font-weight: normal; }
  @media screen and (max-width: 767px) {
    .mod-pickup-box_content .title {
      font-size: 0.8125rem; }
    .mod-pickup-box_content .company {
      font-size: 0.625rem; }
    .mod-pickup-box_content .logo {
      max-width: 4.5rem;
      margin: auto; } }
  @media screen and (min-width: 768px) {
    .mod-pickup-box_content {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      padding-top: 5.625rem; }
      .mod-pickup-box_content .title {
        font-size: 1.625rem;
        line-height: 2.625rem;
        margin-bottom: 1rem; }
      .mod-pickup-box_content .mod-pickup-box {
        margin-bottom: 3rem; } }

/*--------------- mod-btn-boxes --------------- */
@media screen and (min-width: 768px) {
  .mod-service-boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1.7%; } }

.mod-service-boxes .box {
  position: relative;
  background: white;
  margin-bottom: 1rem; }
  @media screen and (min-width: 768px) {
    .mod-service-boxes .box {
      width: 31.6%;
      margin-right: 1.7%;
      margin-bottom: 2rem; } }

.mod-service-boxes .box-image {
  text-align: center;
  background: #f5f7f8;
  -webkit-transition: all .4s;
  transition: all .4s;
  border: 3px solid transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .mod-service-boxes .box-image a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .mod-service-boxes .box-image a {
        height: 9.375rem; } }
    @media screen and (min-width: 768px) {
      .mod-service-boxes .box-image a {
        height: 12.5rem; } }
  .mod-service-boxes .box-image:hover {
    border-color: #3d62ad; }
    .mod-service-boxes .box-image:hover svg {
      -webkit-transform: scale(1.05);
      transform: scale(1.05);
      stroke: #3d62ad; }
  .mod-service-boxes .box-image figure {
    margin: auto; }
  .mod-service-boxes .box-image img {
    max-width: 98px;
    max-height: 98px; }
  .mod-service-boxes .box-image svg {
    margin-top: 1rem;
    width: 6.125rem;
    height: 6.125rem;
    stroke-width: 3px;
    -webkit-transition: .4s;
    transition: .4s;
    stroke: #333333; }

@media screen and (max-width: 767px) {
  .mod-service-boxes .box-content {
    padding: 1rem 0 0; } }

@media screen and (min-width: 768px) {
  .mod-service-boxes .box-content {
    padding: 1.5rem 2rem; } }

.mod-service-boxes .box-content h3 {
  margin-bottom: 1rem; }
  @media screen and (min-width: 768px) {
    .mod-service-boxes .box-content h3 {
      font-size: 1.25rem; } }
  .mod-service-boxes .box-content h3 a {
    color: #132674; }

@media screen and (max-width: 767px) {
  .mod-service-boxes .box-content p {
    font-size: 0.8125rem; } }

@media screen and (min-width: 768px) {
  .mod-service-boxes .box-content p {
    line-height: 1.5rem;
    font-size: 0.875rem; } }

@media screen and (max-width: 767px) {
  .mod-service-boxes .box-footer {
    padding: 1rem 0; } }

@media screen and (min-width: 768px) {
  .mod-service-boxes .box-footer {
    padding: 0 2rem; } }

.mod-service-boxes .box-footer ul {
  border-top: 1px solid #e0e0e0;
  padding-top: 1rem;
  font-size: 0.875rem;
  line-height: 1.75rem; }
  .mod-service-boxes .box-footer ul a {
    color: #3d62ad; }
  .mod-service-boxes .box-footer ul.col-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -2%; }
    .mod-service-boxes .box-footer ul.col-2 li {
      width: 48%;
      margin-right: 2%; }

/*--------------- mod-btn-boxes --------------- */
@media screen and (min-width: 768px) {
  .mod-btn-boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -2%; } }

@media screen and (min-width: 768px) {
  .mod-btn-boxes.center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; } }

@media screen and (min-width: 768px) {
  .mod-btn-boxes.col-2 .mod-btn-box {
    width: 48%; } }

.mod-btn-box {
  background: #f9fafb;
  position: relative; }
  @media screen and (max-width: 767px) {
    .mod-btn-box {
      margin-bottom: 1.5rem; } }
  @media screen and (min-width: 768px) {
    .mod-btn-box {
      width: 31.3%;
      margin-right: 2%;
      margin-bottom: 2.5rem; } }
  .mod-btn-box .mod-arrow-btn {
    bottom: 0;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .mod-btn-box .mod-arrow-btn {
        position: absolute; } }
    .mod-btn-box .mod-arrow-btn a {
      max-width: 100%; }
      @media screen and (max-width: 767px) {
        .mod-btn-box .mod-arrow-btn a {
          line-height: 1.75rem; } }
      @media screen and (min-width: 768px) {
        .mod-btn-box .mod-arrow-btn a {
          line-height: 2.25rem; } }

.mod-btn-box_image {
  background: white;
  position: relative;
  border: 1px solid #eceff1;
  overflow: hidden; }
  .mod-btn-box_image a {
    display: block; }
    .mod-btn-box_image a:hover figure:not(.logo-only) {
      -webkit-transform: scale(1.05);
      transform: scale(1.05); }
      .mod-btn-box_image a:hover figure:not(.logo-only) img {
        opacity: 1; }
    .mod-btn-box_image a:hover figure.logo-only {
      -webkit-transform: scale(1.05);
      transform: scale(1.05); }
    .mod-btn-box_image a:hover figure::before {
      text-decoration: none; }
  .mod-btn-box_image figure {
    padding-top: 50%;
    display: block;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transition: .3s;
    transition: .3s; }
  .mod-btn-box_image .logo {
    position: absolute;
    width: 40%;
    left: 0;
    bottom: 0; }
  .mod-btn-box_image .logo-only .logo {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: auto; }

@media screen and (max-width: 767px) {
  .mod-btn-box_content {
    padding: 1rem; } }

@media screen and (min-width: 768px) {
  .mod-btn-box_content {
    padding: 1.875rem 1.875rem 3.5rem; } }

@media screen and (max-width: 767px) {
  .mod-btn-box_content .mod-category-label {
    margin-bottom: .5rem;
    line-height: 1.8;
    padding: 0 .7rem;
    margin-bottom: .5rem; } }

@media screen and (min-width: 768px) {
  .mod-btn-box_content .mod-category-label {
    margin-bottom: .8rem; } }

.mod-btn-box_content .title {
  line-height: 1.75em; }
  @media screen and (max-width: 767px) {
    .mod-btn-box_content .title {
      font-size: 0.9375rem;
      margin-bottom: .5rem; } }
  @media screen and (min-width: 768px) {
    .mod-btn-box_content .title {
      font-size: 1.25rem;
      margin-bottom: .5rem; } }
  .mod-btn-box_content .title.matchHeight {
    border-bottom: 1px solid #3d62ad; }

.mod-btn-box_content .text {
  line-height: 1.75em; }
  @media screen and (max-width: 767px) {
    .mod-btn-box_content .text {
      font-size: 0.75rem;
      margin-bottom: .5rem; } }
  @media screen and (min-width: 768px) {
    .mod-btn-box_content .text {
      font-size: 1rem; } }

.mod-btn-box_content p:last-of-type {
  margin-bottom: 0; }

/*--------------- mod-image-box --------------- */
.mod-image-box .image {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none; }

.mod-image-box .text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.mod-image-box .caption {
  font-size: 0.875rem;
  color: #777777;
  text-align: center; }

@media screen and (min-width: 768px) {
  .mod-image-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .mod-image-box .image {
      width: 23.125rem; }
    .mod-image-box.left .image {
      margin-right: 3.125rem; }
    .mod-image-box.right .image {
      margin-left: 3.125rem; } }

/*--------------- mod-box-center --------------- */
.mod-box-center {
  border: 1px solid #ccc;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .mod-box-center {
      padding: 1.5rem 0.625rem; } }
  @media screen and (min-width: 768px) {
    .mod-box-center {
      padding: 2.5rem; }
      .mod-box-center a {
        pointer-events: none; } }

/*--------------- mod-boxes --------------- */
@media screen and (min-width: 768px) {
  .mod-boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -4%; } }

@media screen and (min-width: 1121px) {
  .mod-boxes {
    margin-right: -3.33%; } }

@media screen and (max-width: 767px) {
  .mod-boxes .box {
    margin-bottom: 1.5rem; } }

@media screen and (min-width: 768px) {
  .mod-boxes .box {
    width: 46%;
    margin-right: 4%; } }

@media screen and (min-width: 1121px) {
  .mod-boxes .box {
    width: 30%;
    margin-right: 3.33%; } }

.mod-boxes .box-header {
  text-align: center; }
  @media screen and (max-width: 767px) {
    .mod-boxes .box-header {
      margin-bottom: .5rem; } }
  @media screen and (min-width: 768px) {
    .mod-boxes .box-header {
      margin-bottom: 1rem; } }

.mod-boxes .box-header-img {
  margin-bottom: .5rem;
  font-weight: normal;
  font-size: 1rem; }
  @media screen and (min-width: 768px) {
    .mod-boxes .box-header-img {
      margin-bottom: 1rem; } }
  .mod-boxes .box-header-img img {
    width: 100%; }

.mod-boxes .box-header-title {
  line-height: 1; }
  @media screen and (max-width: 767px) {
    .mod-boxes .box-header-title {
      margin-bottom: 0; } }
  @media screen and (min-width: 768px) {
    .mod-boxes .box-header-title {
      margin: 0 0 .4rem;
      font-size: 1.4rem;
      font-weight: bold;
      line-height: 1.4; } }

@media screen and (max-width: 767px) {
  .mod-boxes .box-header-text {
    margin-bottom: 0; } }

@media screen and (min-width: 768px) {
  .mod-boxes .box-header-text {
    font-size: 1.125rem;
    margin-bottom: .5rem; } }

@media screen and (min-width: 1121px) {
  .mod-boxes.col-3 .box {
    width: 30%; } }

@media screen and (min-width: 768px) {
  .mod-boxes.col-2 .box {
    width: 46%; } }

.mod-boxes-showcase .box-content-title {
  font-weight: bold; }

.mod-boxes-showcase p:last-child {
  margin-bottom: 0; }

@media screen and (max-width: 767px) {
  .mod-boxes-showcase {
    line-height: 1.625rem; }
    .mod-boxes-showcase .box {
      margin-bottom: 1.5rem; }
    .mod-boxes-showcase .box-content {
      padding-top: .5rem; }
    .mod-boxes-showcase .box-content-title {
      margin-bottom: .5rem; } }

@media screen and (min-width: 768px) {
  .mod-boxes-showcase {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -4%; }
    .mod-boxes-showcase .box {
      width: 46%;
      margin-right: 4%;
      background: #f9fafb; }
    .mod-boxes-showcase .box-content {
      padding: 1rem 2rem 2rem;
      font-size: 1rem;
      line-height: 1.75rem; }
    .mod-boxes-showcase .box-content-title {
      text-align: center;
      font-size: 1.25rem;
      margin-bottom: 1rem; } }

@media screen and (min-width: 1121px) {
  .mod-boxes-showcase {
    margin-right: -3.33%; }
    .mod-boxes-showcase .box {
      width: 30%;
      margin-right: 3.33%; } }

/*--------------- mod-search-btn --------------- */
@media screen and (max-width: 767px) {
  .mod-search-btn {
    padding: 0 1rem;
    font-size: 0.875rem; } }

@media screen and (min-width: 768px) {
  .mod-search-btn {
    height: 3.75rem;
    margin: 3.125rem auto;
    font-size: 1rem; } }

.mod-search-btn a {
  padding-left: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid #20262c;
  color: white;
  text-decoration: none;
  max-width: 100%;
  -webkit-transition: .3s;
  transition: .3s;
  position: relative;
  background-color: #363b41;
  background-repeat: no-repeat;
  background-image: url(/resources/img/icon-search-white.svg);
  background-size: 1.5rem;
  background-position: 1rem center; }
  @media screen and (max-width: 767px) {
    .mod-search-btn a {
      width: 15rem;
      height: 2.8125rem;
      margin: 1.5rem auto; } }
  @media screen and (min-width: 768px) {
    .mod-search-btn a {
      width: 15rem;
      height: 3.75rem;
      margin: 2rem auto 3rem; } }
  .mod-search-btn a:hover {
    color: #363b41;
    background-color: white;
    background-image: url(/resources/img/icon-search-black.svg); }

/*--------------- mod-arrow-btn --------------- */
@media screen and (max-width: 767px) {
  .mod-arrow-btn {
    margin-bottom: 1.5rem; } }

@media screen and (min-width: 768px) {
  .mod-arrow-btn {
    font-size: 0.9375rem; } }

.mod-arrow-btn a {
  display: block;
  margin: auto;
  color: white;
  text-align: center;
  border: 2px solid #3d62ad;
  background-color: #3d62ad; }
  @media screen and (max-width: 767px) {
    .mod-arrow-btn a {
      line-height: 2.5rem;
      max-width: 90%; } }
  @media screen and (min-width: 768px) {
    .mod-arrow-btn a {
      max-width: 31.25rem;
      line-height: 3.3rem; } }
  .mod-arrow-btn a:hover {
    background: white;
    color: #3d62ad;
    text-decoration: none; }
    .mod-arrow-btn a:hover span {
      background-image: url(/resources/img/icon-arrow.svg); }

.mod-arrow-btn span {
  background-image: url(/resources/img/icon-arrow-white.svg);
  background-repeat: no-repeat;
  background-position: right; }
  @media screen and (max-width: 767px) {
    .mod-arrow-btn span {
      padding-right: 1.5rem;
      background-size: 1rem; } }
  @media screen and (min-width: 768px) {
    .mod-arrow-btn span {
      padding-right: 3rem; } }

.mod-arrow-btn.black a {
  background-color: #363b41;
  border-color: #363b41; }
  .mod-arrow-btn.black a:hover {
    background-color: white;
    color: #363b41; }
    .mod-arrow-btn.black a:hover span {
      background-image: url(/resources/img/icon-arrow-black.svg); }

.mod-arrow-btn.col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 767px) {
    .mod-arrow-btn.col2 {
      font-size: .75rem; } }
  @media screen and (min-width: 768px) {
    .mod-arrow-btn.col2 {
      font-size: .85rem; } }
  .mod-arrow-btn.col2 a {
    width: 50%; }
    .mod-arrow-btn.col2 a.black {
      background-color: #363b41;
      border-color: #363b41; }
      .mod-arrow-btn.col2 a.black:hover {
        background-color: white;
        color: #363b41; }
        .mod-arrow-btn.col2 a.black:hover span {
          background-image: url(/resources/img/icon-arrow-black.svg); }
    .mod-arrow-btn.col2 a:nth-child(2) {
      right: 0; }
  @media screen and (min-width: 768px) {
    .mod-arrow-btn.col2 span {
      padding-right: 2.5rem; } }

/*--------------- mod-large-btn --------------- */
.mod-large-btn {
  text-align: center; }
  @media screen and (max-width: 767px) {
    .mod-large-btn {
      margin: 1.5rem 0; } }
  @media screen and (min-width: 768px) {
    .mod-large-btn {
      margin: 2.5rem 0; } }
  .mod-large-btn a {
    display: inline-block;
    border: 2px solid #3d62ad;
    text-decoration: none;
    text-align: center;
    -webkit-transition: .3s;
    transition: .3s;
    margin: auto;
    background-color: #3d62ad;
    background-repeat: no-repeat;
    font-weight: bold;
    color: white;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .mod-large-btn a {
        width: 100%;
        height: 3rem;
        background-size: 2.5rem;
        background-position: left 50%;
        padding-left: 1rem; } }
    @media screen and (min-width: 768px) {
      .mod-large-btn a {
        width: 47.5rem;
        height: 5.625rem;
        background-size: 4.5rem;
        background-position: .5rem 50%; } }
    .mod-large-btn a:hover {
      background-color: white;
      color: #3d62ad; }
    .mod-large-btn a[target="_blank"]::after {
      background-image: url(/resources/img/icon-ext-link-white.svg) !important; }
    .mod-large-btn a:hover[target="_blank"]::after {
      background-image: url(/resources/img/icon-ext-link.svg) !important; }
  .mod-large-btn.download a {
    background-image: url(/resources/img/icon-report-white.svg); }
  .mod-large-btn.download a:hover {
    background-image: url(/resources/img/icon-report.svg); }
  .mod-large-btn.contact a {
    background-image: url(/resources/img/icon-mail-white.svg); }
    @media screen and (max-width: 767px) {
      .mod-large-btn.contact a {
        background-size: 1.5rem;
        background-position: 1rem 50%; } }
    @media screen and (min-width: 768px) {
      .mod-large-btn.contact a {
        background-size: 2.2rem;
        background-position: 1.7rem 50%; } }
  .mod-large-btn.contact a:hover {
    background-image: url(/resources/img/icon-mail.svg); }

/*--------------- mod-small-btn --------------- */
@media screen and (max-width: 767px) {
  .mod-small-btn {
    padding: 0 1rem;
    font-size: 0.9375rem; } }

@media screen and (min-width: 768px) {
  .mod-small-btn {
    height: 3.75rem;
    margin: 3.125rem auto;
    font-size: 0.9375rem; } }

.mod-small-btn a {
  width: 21.25rem;
  height: 2.8125rem;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: white;
  text-decoration: none;
  margin: 2rem auto 3rem;
  padding: 0;
  -webkit-transition: .3s;
  transition: .3s;
  border: 2px solid #363b41;
  background-color: #363b41;
  background-image: url(/resources/img/icon-link-white.svg);
  background-repeat: no-repeat;
  background-size: .5rem;
  background-position: right 1rem center; }
  @media screen and (min-width: 768px) {
    .mod-small-btn a {
      height: 3.5rem; } }
  .mod-small-btn a:hover {
    background-color: white;
    background-image: url(/resources/img/icon-link-black.svg);
    color: #20262c; }

.mod-small-btn.blue a {
  border-color: #3d62ad;
  background-color: #3d62ad; }
  .mod-small-btn.blue a:hover {
    background-color: white;
    background-image: url(/resources/img/icon-link.svg);
    color: #3d62ad; }

/*--------------- mod-link-btn --------------- */
@media screen and (max-width: 767px) {
  .mod-link-btn {
    padding: 0 1rem;
    font-size: 0.9375rem; } }

@media screen and (min-width: 768px) {
  .mod-link-btn {
    height: 3.75rem;
    margin: 3.125rem auto;
    font-size: 0.9375rem; } }

.mod-link-btn a {
  width: 21.25rem;
  height: 2.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: white;
  text-decoration: none;
  margin: 2rem auto 3rem;
  max-width: 100%;
  -webkit-transition: .3s;
  transition: .3s;
  position: relative;
  background-repeat: no-repeat;
  background-color: #20262c;
  border: 2px solid #20262c;
  background-image: url(/resources/img/icon-link-white.svg);
  background-size: .5rem;
  background-position: right 1.3rem center; }
  @media screen and (max-width: 767px) {
    .mod-link-btn a {
      background-color: #20262c; } }
  .mod-link-btn a:hover {
    background-image: url(/resources/img/icon-link-black.svg);
    background-color: white;
    color: #20262c; }

.mod-link-btn.list a {
  background-image: url(/resources/img/icon-list-white.svg);
  background-size: 1rem;
  background-position: left 1.3rem center; }
  .mod-link-btn.list a:hover {
    background-image: url(/resources/img/icon-list-black.svg); }

/*--------------- mod-share-btn --------------- */
.mod-share-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 767px) {
    .mod-share-btn {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; } }
  @media screen and (min-width: 768px) {
    .mod-share-btn {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }

@media screen and (max-width: 767px) {
  .mod-share-btn_item {
    width: 28%;
    height: 1.875rem; } }

@media screen and (min-width: 768px) {
  .mod-share-btn_item {
    width: 8.125rem;
    height: 2.5rem; }
    .mod-share-btn_item:not(:first-child) {
      margin-left: 1.875rem; } }

.mod-share-btn_item a {
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 60%;
  height: 100%; }
  .mod-share-btn_item a:hover {
    opacity: .75; }

.mod-share-btn_item.twitter a {
  background-color: #70cbed;
  background-image: url(/resources/img/icon-twitter.svg); }

.mod-share-btn_item.facebook a {
  background-color: #557cbc;
  background-image: url(/resources/img/icon-facebook.svg); }

.mod-share-btn_item.google a {
  background-color: #dc4e41;
  background-image: url(/resources/img/icon-google.svg); }

@media screen and (max-width: 767px) {
  .mod-share-btn_item.print {
    display: none; } }

@media screen and (min-width: 768px) {
  .mod-share-btn_item.print a {
    color: #3d62ad;
    border: 1px solid;
    background-image: url(/resources/img/icon-print.svg);
    cursor: pointer; }
    .mod-share-btn_item.print a:hover {
      opacity: 1;
      color: white;
      background-color: #3d62ad;
      background-image: url(/resources/img/icon-print-white.svg); } }

.mod-contact-box {
  background: #3d62ad;
  padding: 1rem; }
  .mod-contact-box .contact-box_header {
    text-align: center;
    padding: .5rem 0 1rem; }
  .mod-contact-box .header-title {
    color: white;
    font-size: 1rem; }
  .mod-contact-box .contact-box_body {
    background: white;
    text-align: center;
    padding: 1rem; }
  .mod-contact-box .body-title {
    font-size: 1.125rem;
    margin-bottom: 1rem; }
  .mod-contact-box .contact-list {
    line-height: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .mod-contact-box dt {
    background: #333333;
    color: white;
    margin-right: .5rem;
    padding: 0 .5rem; }
  @media screen and (max-width: 767px) {
    .mod-contact-box {
      margin-bottom: 1.875rem; }
      .mod-contact-box .contact-box_body {
        text-align: left; }
      .mod-contact-box .body-title {
        text-align: center; }
      .mod-contact-box .contact-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
      .mod-contact-box dt {
        display: inline-block;
        font-size: 0.875rem;
        margin-bottom: .5rem; }
      .mod-contact-box dd {
        width: 76%; } }
  @media screen and (min-width: 768px) {
    .mod-contact-box {
      margin-bottom: 3.75rem; }
      .mod-contact-box .contact-list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 1rem; }
      .mod-contact-box dt {
        display: block;
        font-size: 1rem; }
      .mod-contact-box dd {
        margin-right: 1.5rem; } }

/*--------------- mod-contact-btn --------------- */
.mod-contact-btn {
  background: #3d62ad;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .mod-contact-btn {
      margin: -0.75rem;
      padding: 1.5rem 1rem; } }
  @media screen and (min-width: 768px) {
    .mod-contact-btn {
      padding: 1.5rem 3.8%; } }
  .mod-contact-btn .contact-title {
    color: white;
    font-weight: bold;
    margin-bottom: 1rem;
    font-size: 1rem; }
    @media screen and (max-width: 767px) {
      .mod-contact-btn .contact-title {
        font-size: 0.875rem;
        margin-bottom: 1rem; } }
    @media screen and (min-width: 768px) {
      .mod-contact-btn .contact-title {
        margin-bottom: 1.5rem; } }
  .mod-contact-btn .contact-btn_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: -1rem; }
    @media screen and (min-width: 768px) {
      .mod-contact-btn .contact-btn_inner {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        max-width: 67.5rem;
        margin: auto; } }
  .mod-contact-btn .btn {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-right: 0.625rem;
    position: relative; }
    @media screen and (max-width: 767px) {
      .mod-contact-btn .btn {
        height: 2.75rem; } }
    @media screen and (min-width: 768px) {
      .mod-contact-btn .btn {
        font-size: 1.25rem;
        height: 4.375rem; } }
  .mod-contact-btn a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #333333;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border: 2px solid #fff;
    background-color: #fff; }
    .mod-contact-btn a:before {
      content: '';
      background-repeat: no-repeat;
      background-position: center;
      z-index: 1;
      display: block;
      position: absolute;
      width: 1rem;
      height: 1rem;
      left: .5rem;
      top: 0;
      bottom: 0;
      margin: auto; }
      @media screen and (min-width: 768px) {
        .mod-contact-btn a:before {
          width: 2rem;
          height: 2rem;
          left: 3.5%; } }
    .mod-contact-btn a:hover {
      color: #fff;
      background-color: #3d62ad; }
    .mod-contact-btn a .btn-contact_inner {
      z-index: 1;
      font-weight: bold;
      padding-left: 1rem; }
      @media screen and (max-width: 767px) {
        .mod-contact-btn a .btn-contact_inner {
          padding-left: 1rem; } }
  .mod-contact-btn .btn.contact a:before {
    background-image: url(/resources/img/icon-mail.svg);
    background-size: 1rem; }
    @media screen and (min-width: 768px) {
      .mod-contact-btn .btn.contact a:before {
        background-size: 2rem; } }
  .mod-contact-btn .btn.contact a:hover:before {
    background-image: url(/resources/img/icon-mail-white.svg); }
  .mod-contact-btn .btn.report a:before {
    background-image: url(/resources/img/icon-report.svg);
    background-size: 2rem; }
    @media screen and (min-width: 768px) {
      .mod-contact-btn .btn.report a:before {
        background-size: 4.5rem; } }
  .mod-contact-btn .btn.report a:hover:before {
    background-image: url(/resources/img/icon-report-white.svg); }

/*--------------- .mt-image --------------- */
@media screen and (max-width: 767px) {
  .mt-image-right,
  .mt-image-left {
    float: none;
    margin: 0 auto 20px auto;
    display: block;
    width: 100%;
    height: auto; } }

/*--------------- 共通 --------------- */
.mod-count-box {
  border: 5px solid #ECEFF1;
  text-align: center;
  padding: .5rem; }
  @media screen and (min-width: 768px) {
    .mod-count-box {
      padding: 20px;
      font-size: 2.2rem; } }
  .mod-count-box span {
    display: inline-block;
    font-size: 3rem;
    padding: 0 5px;
    padding-top: .5rem; }
    @media screen and (min-width: 768px) {
      .mod-count-box span {
        font-size: 3.8rem; } }

/*--------------- scroll-prevent --------------- */
.scroll-prevent {
  overflow: hidden;
  height: 100%; }

/*--------------- mod-w100 --------------- */
@media screen and (max-width: 767px) {
  .mod-fullwidth {
    margin-left: -1rem;
    margin-right: -1rem; } }

@media screen and (min-width: 768px) {
  .mod-fullwidth {
    margin-left: -2.5rem;
    margin-right: -2.5rem; } }

@media screen and (min-width: 1601px) {
  .mod-fullwidth {
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1); } }

/*--------------- cbox --------------- */
#cboxOverlay {
  background: black;
  overflow: hidden;
  max-width: 100%; }

#cboxContent {
  background: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

#cboxLoadedContent {
  position: relative;
  width: 100% !important;
  height: auto !important;
  padding-top: 56.25%; }
  #cboxLoadedContent iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto; }
    @media screen and (min-width: 768px) {
      #cboxLoadedContent iframe {
        width: 90%;
        height: 90%; } }

/*--------------- mod-title-box --------------- */
.mod-title-box .tit1 {
  font-family: "Teko", sans-serif;
  font-size: 3.5rem; }

.mod-title-box .tit2 {
  font-family: "Teko", sans-serif; }

/*--------------- mod-index-nav --------------- */
.mod-index-nav {
  background: #f5f7f8; }
  @media screen and (max-width: 767px) {
    .mod-index-nav {
      text-align: center;
      margin-bottom: 1.5rem; }
      .mod-index-nav select {
        margin: 1rem 0;
        width: 80%; } }
  @media screen and (min-width: 768px) {
    .mod-index-nav {
      margin-bottom: 3rem;
      font-size: .9rem;
      line-height: 1.55em;
      margin-left: calc(((100vw - 100%) / 2) * -1);
      margin-right: calc(((100vw - 100%) / 2) * -1); }
      .mod-index-nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .mod-index-nav li {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        position: relative; }
        .mod-index-nav li::before {
          content: '';
          display: block;
          width: 1px;
          height: 70%;
          background: #3d62ad;
          position: absolute;
          top: 0;
          bottom: 0;
          margin: auto;
          opacity: .2;
          left: 0; }
      .mod-index-nav li:last-child::after {
        content: '';
        display: block;
        width: 1px;
        height: 70%;
        background: #3d62ad;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        opacity: .2;
        right: 0; }
      .mod-index-nav a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 7rem;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        color: #3d62ad;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center;
        position: relative;
        padding-bottom: 1rem; }
        .mod-index-nav a::after {
          content: '';
          display: block;
          width: .7rem;
          height: .7rem;
          position: absolute;
          bottom: .8rem;
          left: 0;
          right: 0;
          margin: auto;
          background-image: url(/resources/img/icon-link.svg);
          background-repeat: no-repeat;
          -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }
        .mod-index-nav a:hover {
          text-decoration: none;
          background: #3d62ad;
          color: white; }
          .mod-index-nav a:hover::after {
            background-image: url(/resources/img/icon-link-white.svg); } }

/*--------------- mod-index-title --------------- */
.mod-index-title {
  text-align: center;
  position: relative; }
  @media screen and (max-width: 767px) {
    .mod-index-title {
      margin-top: 2rem;
      margin-bottom: 1.5rem; } }
  @media screen and (min-width: 768px) {
    .mod-index-title {
      margin-bottom: 4rem; } }
  .mod-index-title svg {
    stroke: #3d62ad;
    stroke-width: 5px;
    margin-bottom: 1rem; }
    @media screen and (max-width: 767px) {
      .mod-index-title svg {
        width: 2rem;
        height: 2rem; } }
    @media screen and (min-width: 768px) {
      .mod-index-title svg {
        width: 3rem;
        height: 3rem; } }
  .mod-index-title .title {
    font-weight: normal;
    position: relative;
    padding-bottom: 2rem; }
    @media screen and (max-width: 767px) {
      .mod-index-title .title {
        padding-bottom: 1rem;
        font-size: 1.5rem; } }
    @media screen and (min-width: 768px) {
      .mod-index-title .title {
        font-size: 2.25rem;
        padding-bottom: 2rem; } }
    .mod-index-title .title::after {
      content: '';
      display: block;
      height: .1rem;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      background: #3d62ad; }
      @media screen and (max-width: 767px) {
        .mod-index-title .title::after {
          width: 3rem; } }
      @media screen and (min-width: 768px) {
        .mod-index-title .title::after {
          width: 4.5rem; } }
  @media screen and (min-width: 768px) {
    .mod-index-title .mod-search-btn {
      margin-bottom: 0;
      position: absolute;
      right: 0;
      bottom: 2rem; } }

/*--------------- mod-category-label --------------- */
.mod-category-label {
  display: inline-block;
  background: #1e3582;
  color: white;
  padding: 0 1rem; }
  @media screen and (max-width: 767px) {
    .mod-category-label {
      font-size: 0.625rem;
      padding: 0 .8rem;
      line-height: 1.3rem; } }
  @media screen and (min-width: 768px) {
    .mod-category-label {
      font-size: 0.75rem;
      padding: 0 1rem;
      line-height: 1.6rem; } }

/*--------------- mod-border-label --------------- */
.mod-border-label {
  display: inline-block;
  border: 1px solid #333333;
  font-size: 0.625rem; }
  @media screen and (max-width: 767px) {
    .mod-border-label {
      line-height: 1.3rem;
      margin: 0 .5rem .5rem 0; } }
  @media screen and (min-width: 768px) {
    .mod-border-label {
      font-size: 0.75rem;
      line-height: 1.7rem;
      margin: 0 .5rem .5rem 0; } }
  .mod-border-label a, .mod-border-label span {
    display: block; }
    @media screen and (max-width: 767px) {
      .mod-border-label a, .mod-border-label span {
        padding: 0 .5rem; } }
    @media screen and (min-width: 768px) {
      .mod-border-label a, .mod-border-label span {
        padding: 0 .5rem; } }
  .mod-border-label a:hover {
    background: #3d62ad;
    color: white;
    text-decoration: none; }

/*--------------- mod-select --------------- */
.mod-select select {
  min-width: 12.5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #e0e0e0;
  border-radius: 0;
  background: white;
  padding: .5rem;
  position: relative; }
  @media screen and (min-width: 768px) {
    .mod-select select {
      margin-bottom: 2rem;
      font-size: 0.9375rem; } }
  .mod-select select::-ms-expand {
    display: none; }

.mod-select label {
  position: relative; }
  .mod-select label:after {
    content: '';
    display: block;
    border-right: 2px solid #3d62ad;
    border-bottom: 2px solid #3d62ad;
    position: absolute;
    right: 1rem;
    top: 0;
    bottom: 0;
    margin: auto;
    width: .5rem;
    height: .5rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    pointer-events: none; }

/*--------------- mod-others --------------- */
.vision-block {
  border: 1px solid #ccc;
  padding: 20px;
  text-align: center; }

.vision-text {
  font-size: 4.1rem;
  color: #3d62ad;
  line-height: 5rem; }
  @media screen and (max-width: 767px) {
    .vision-text {
      font-size: 2.8rem; } }

.pdf-box {
  border: 1px solid #ccc;
  padding: 20px; }
  .pdf-box p {
    margin: 0; }

.text-left {
  text-align: left; }

.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

.text-bold {
  font-weight: bold; }

.text-note {
  color: #666666; }

.text-note-small {
  color: #666666;
  font-size: 0.8125rem; }

.mod-lead {
  margin-bottom: 2.0rem; }
  @media screen and (max-width: 767px) {
    .mod-lead {
      font-size: 1.2rem;
      line-height: 1.5;
      margin-bottom: 1rem;
      margin-top: 1rem; } }
  @media screen and (min-width: 768px) {
    .mod-lead {
      font-size: 1.8rem;
      line-height: 1.8; } }

.mod-teko {
  font-family: "Teko", sans-serif; }

.mod-teko-l {
  font-family: "Teko", sans-serif; }

.mod-link-right {
  background-image: url(/resources/img/icon-link.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: .4rem;
  padding-right: 1.5rem; }

.mod-link {
  background-image: url(/resources/img/icon-mod-link.svg);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 1.5rem; }

@media screen and (max-width: 767px) {
  .zoom {
    display: inline-block; } }

@media screen and (max-width: 767px) {
  .zoom::after {
    content: url(/resources/img/icon-zoom.svg) !important;
    background: #20262c;
    display: block;
    border-radius: 100%;
    padding: 0.3rem 0.5rem 0.1rem 0.5rem;
    width: 7% !important;
    margin: 0.3rem auto 0 auto;
    height: auto !important;
    background-image: none !important; } }

@media screen and (min-width: 768px) {
  .zoom::after {
    display: none;
    background-image: none !important; } }

/*--------------- mod-link-list-02 --------------- */
.mod-links {
  font-size: 0.875rem;
  line-height: 1.5rem; }
  .mod-links a {
    display: inline-block;
    color: #3d62ad;
    background-image: url(/resources/img/icon-mod-link.svg);
    background-repeat: no-repeat;
    background-position: left .4rem;
    padding-left: 1.3rem; }
  @media screen and (min-width: 768px) {
    .mod-links.col-2 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-right: -2%; }
      .mod-links.col-2 li {
        width: 48%;
        margin-right: 2%; } }

/*--------------- mod-page-nav --------------- */
.mod-page-nav.not-icon a::after {
  background-image: none; }

@media screen and (max-width: 767px) {
  .mod-page-nav {
    padding-bottom: 2.5rem; } }

@media screen and (min-width: 768px) {
  .mod-page-nav {
    padding-bottom: 2.5rem; } }

.mod-page-nav ul {
  background: #eceff1;
  font-size: 0.75rem;
  margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    .mod-page-nav ul {
      padding: .5rem; } }
  @media screen and (min-width: 768px) {
    .mod-page-nav ul {
      min-height: 4.375rem;
      font-size: 1.125rem;
      padding: 1.4rem; } }
  .mod-page-nav ul li {
    display: inline-block;
    padding-left: 0; }
    .mod-page-nav ul li::before {
      content: none; }

.mod-page-nav a {
  padding-right: 1.3rem;
  margin-right: 1.5rem;
  position: relative;
  color: #3d62ad; }
  .mod-page-nav a::after {
    content: '';
    display: inline-block;
    background-image: url(/resources/img/icon-link.svg);
    background-size: .5rem;
    background-repeat: no-repeat;
    width: 1rem;
    height: 1rem;
    position: absolute;
    right: 0;
    top: 30%;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }

/*--------------- mod-interview --------------- */
.mod-interview dt {
  display: inline;
  font-weight: bold;
  margin-right: 1rem; }

.mod-interview dd {
  display: inline; }
  .mod-interview dd::after {
    content: '';
    display: block;
    margin-bottom: 2rem; }

/*--------------- mod-link-list --------------- */
.mod-link-list dt {
  font-weight: bold;
  margin-bottom: .4em; }

.mod-link-list li a, .mod-link-list dd a {
  padding-left: 1rem;
  background-image: url(/resources/img/icon-link.svg);
  background-repeat: no-repeat;
  background-position: left .6em;
  background-size: .5rem .5rem;
  display: inline-block; }

/*--------------- mod-article-tags --------------- */
.mod-article-tags {
  background-image: url(/resources/img/icon-tag.svg);
  background-repeat: no-repeat;
  background-position: left .5em;
  color: #3d62ad;
  padding-left: 1.5rem; }
  .mod-article-tags li {
    display: inline-block; }
    .mod-article-tags li:not(:last-child):after {
      content: ','; }
    .mod-article-tags li a {
      color: #3d62ad; }
  @media screen and (max-width: 767px) {
    .mod-article-tags {
      font-size: 0.875rem;
      margin-bottom: 1.5rem; } }
  @media screen and (min-width: 768px) {
    .mod-article-tags {
      font-size: 0.875rem; } }

/*--------------- mod-point-list --------------- */
.mod-point-list li {
  list-style: none;
  position: relative;
  counter-increment: number; }
  .mod-point-list li::before, .mod-point-list li::after {
    position: absolute;
    text-align: center;
    color: #3d62ad;
    font-family: "Teko", sans-serif;
    font-weight: 400; }
  .mod-point-list li::before {
    content: 'POINT';
    border-radius: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .mod-point-list li::after {
    content: counter(number); }
  .mod-point-list li .point-list-title {
    font-weight: normal; }

@media screen and (max-width: 767px) {
  .mod-point-list .point-list-title {
    padding-left: 4.3rem;
    font-size: 1.125rem;
    margin-bottom: 1.7rem; }
  .mod-point-list li {
    padding-top: .9rem;
    margin-bottom: 2rem; }
    .mod-point-list li::before, .mod-point-list li::after {
      width: 3.4375rem;
      height: 3.4375rem; }
    .mod-point-list li::before {
      top: 0;
      padding-top: .3rem;
      border: 2px solid;
      font-size: 0.9375rem; }
    .mod-point-list li::after {
      top: 1.5rem;
      font-size: 1.5625rem; } }

@media screen and (min-width: 768px) {
  .mod-point-list {
    padding-top: 1rem; }
    .mod-point-list .point-list-title {
      font-size: 1.875rem;
      margin-bottom: 2rem; }
    .mod-point-list li {
      padding-left: 17rem;
      margin-bottom: 4.375rem; }
      .mod-point-list li::before, .mod-point-list li::after {
        left: 1rem;
        width: 11.875rem;
        height: 11.875rem; }
      .mod-point-list li::before {
        border: 4px solid;
        font-size: 2rem;
        padding: 2.3rem 0; }
      .mod-point-list li::after {
        top: 6.2rem;
        font-size: 6.25rem; } }

/*--------------- mod-qa-list --------------- */
.mod-qa-list .qa-list-q {
  font-weight: bold;
  background: #f5f7f8;
  cursor: pointer;
  -webkit-transition: .4s;
  transition: .4s;
  position: relative; }
  .mod-qa-list .qa-list-q::before {
    content: 'Q';
    position: absolute;
    font-family: "Teko", sans-serif;
    color: #3d62ad;
    -webkit-transition: .4s;
    transition: .4s; }
  .mod-qa-list .qa-list-q:hover {
    background: #3d62ad;
    color: white; }
    .mod-qa-list .qa-list-q:hover::before {
      color: white; }
    .mod-qa-list .qa-list-q:hover span::before, .mod-qa-list .qa-list-q:hover span::after {
      background: #fff; }
  .mod-qa-list .qa-list-q span {
    display: block;
    position: relative; }
    .mod-qa-list .qa-list-q span::before, .mod-qa-list .qa-list-q span::after {
      content: '';
      position: absolute;
      top: 50%;
      right: 1rem;
      width: 1rem;
      height: 2px;
      background: #3d62ad;
      -webkit-transition: all .4s;
      transition: all .4s; }
    .mod-qa-list .qa-list-q span::before {
      -webkit-transform: translateY(calc(50%-.1rem));
      transform: translateY(calc(50%-.1rem)); }
    .mod-qa-list .qa-list-q span::after {
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg); }
    .mod-qa-list .qa-list-q span.open::before {
      display: none; }
    .mod-qa-list .qa-list-q span.open::after {
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg); }

.mod-qa-list .qa-list-a {
  background: #eceff1;
  height: 0;
  overflow: hidden; }

.mod-qa-list .qa-list-a_inner {
  position: relative; }
  .mod-qa-list .qa-list-a_inner::before {
    content: 'A';
    position: absolute;
    font-family: "Teko", sans-serif;
    color: #3d62ad; }

.mod-qa-list .active .qa-list-q {
  background: #3d62ad;
  color: white; }
  .mod-qa-list .active .qa-list-q::before {
    color: white; }
  .mod-qa-list .active .qa-list-q span::before, .mod-qa-list .active .qa-list-q span::after {
    background: #fff; }

.mod-qa-list .active .qa-list-a {
  height: auto; }

.mod-qa-list p:last-child {
  margin-bottom: 0; }

@media screen and (max-width: 767px) {
  .mod-qa-list .qa-list-wrapper {
    margin-bottom: 0.625rem;
    line-height: 1.3125; }
  .mod-qa-list .qa-list-q {
    font-size: 0.875rem; }
    .mod-qa-list .qa-list-q span {
      padding: 0.625rem 2.8125rem 0.75rem 2.8125rem; }
    .mod-qa-list .qa-list-q::before {
      font-size: 1.8125rem;
      left: 1rem;
      top: 0.3125rem; }
  .mod-qa-list .qa-list-a_inner {
    padding: 1rem 1rem 1rem 2.8125rem; }
    .mod-qa-list .qa-list-a_inner::before {
      font-size: 1.8125rem;
      left: 1rem;
      top: .5rem; } }

@media screen and (min-width: 768px) {
  .mod-qa-list .qa-list-wrapper {
    margin-bottom: 1.5rem; }
  .mod-qa-list .qa-list-q {
    font-size: 1.125rem; }
    .mod-qa-list .qa-list-q span {
      padding: 1.125rem 3rem 1.125rem 4rem; }
    .mod-qa-list .qa-list-q::before {
      font-size: 2.625rem;
      left: 1.5rem;
      top: 1.125rem; }
  .mod-qa-list .qa-list-a_inner {
    padding: 1.125rem 1.5rem 1.125rem 4rem; }
    .mod-qa-list .qa-list-a_inner::before {
      font-size: 2.625rem;
      left: 1.5rem;
      top: 1.5rem; } }

/*--------------- info-list --------------- */
.info-list li {
  border-bottom: 1px solid #e0e0e0;
  font-size: 0.9375rem; }

.info-list a {
  display: block;
  width: 100%;
  text-decoration: none;
  position: relative;
  background-image: url(/resources/img/icon-link.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: .6rem .6rem;
  padding: 1rem;
  -webkit-transition: all .5s;
  transition: all .5s; }
  @media screen and (max-width: 767px) {
    .info-list a {
      padding: 1em 2em 1.5em 1em;
      background-position: right 1rem center; } }
  @media screen and (min-width: 768px) {
    .info-list a {
      padding: 2rem 3rem 2rem 17rem; } }
  .info-list a:hover {
    background-color: #f5f7f8; }
  .info-list a::after {
    content: none !important; }

.info-list .date {
  letter-spacing: .1em; }
  @media screen and (min-width: 768px) {
    .info-list .date {
      position: absolute;
      left: 0; } }

.info-list .category {
  display: inline-block;
  padding: 0 1em;
  background: #3d62ad;
  color: white;
  line-height: 2em; }
  @media screen and (max-width: 767px) {
    .info-list .category {
      margin-left: 1rem;
      font-size: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .info-list .category {
      font-size: 0.75rem;
      position: absolute;
      left: 8.75rem;
      top: 2.3rem; } }

@media screen and (max-width: 767px) {
  .info-list .title {
    display: block;
    margin-top: .5rem; } }

.info-list img {
  vertical-align: middle;
  margin-left: .5rem; }

@media screen and (max-width: 767px) {
  .info-list.min {
    line-height: 1.45rem; } }

@media screen and (min-width: 768px) {
  .info-list.min {
    line-height: 1.75rem; } }

@media screen and (max-width: 767px) {
  .info-list.min a {
    padding: 1rem 2rem 1rem 0; } }

@media screen and (min-width: 768px) {
  .info-list.min a {
    padding: 1rem 2rem 1rem 0; } }

@media screen and (max-width: 767px) {
  .info-list.min .title {
    margin-top: .2rem; } }

@media screen and (min-width: 768px) {
  .info-list.min .title {
    margin-top: 0; } }

.info-list.min .date {
  display: block;
  position: static; }

.info-list.min .category {
  display: none; }

@media screen and (min-width: 768px) {
  .mod-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .mod-row.col-2 {
      margin-right: -2%; }
      .mod-row.col-2 .col {
        width: 48%;
        margin-right: 2%; }
    .mod-row.col-3 {
      margin-right: -1.7%; }
      .mod-row.col-3 .col {
        width: 31.6%;
        margin-right: 1.7%; }
    .mod-row.col-4 {
      margin-right: -2.5%; }
      .mod-row.col-4 .col {
        width: 22.5%;
        margin-right: 2.5%; } }

.mod-row .col {
  background: white; }
  @media screen and (max-width: 767px) {
    .mod-row .col {
      margin-bottom: 1.5rem; } }
  @media screen and (min-width: 768px) {
    .mod-row .col {
      margin-bottom: 2.5rem; } }

@media screen and (max-width: 767px) {
  .mod-row .col-inner {
    padding: 1rem; } }

@media screen and (min-width: 768px) {
  .mod-row .col-inner {
    padding: 1rem; } }

@media screen and (min-width: 768px) {
  .mod-row .col-2 {
    width: 48%;
    margin-right: 2%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .mod-row .col-2 .col {
      width: 48%;
      margin-right: 0; } }

@media screen and (min-width: 768px) {
  .mod-row figure {
    margin-bottom: .5rem; } }

@media screen and (min-width: 768px) {
  .mod-row .content {
    padding: .5rem 1.5rem 1.5rem; } }

@media screen and (min-width: 768px) {
  .mod-float-box::after {
    content: '';
    display: block;
    clear: both; }
  .mod-float-box .image {
    max-width: 50%;
    margin-bottom: 2rem; }
    .mod-float-box .image.left {
      float: left;
      margin-right: 3rem; }
    .mod-float-box .image.right {
      float: right;
      margin-left: 3rem; } }

@media screen and (max-width: 767px) {
  .mod-sp-toggle .toggle {
    position: relative; }
    .mod-sp-toggle .toggle::before, .mod-sp-toggle .toggle::after {
      content: '';
      position: absolute;
      top: 50%;
      right: 1rem;
      width: 1rem;
      height: .1rem;
      background: #8f9295;
      -webkit-transition: all .4s;
      transition: all .4s; }
    .mod-sp-toggle .toggle::before {
      -webkit-transform: translateY(calc(50%-.1rem));
      transform: translateY(calc(50%-.1rem)); }
    .mod-sp-toggle .toggle::after {
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg); }
    .mod-sp-toggle .toggle a {
      pointer-events: none; }
  .mod-sp-toggle .active .toggle::before {
    display: none; }
  .mod-sp-toggle .active .toggle::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); } }

.mod-mt-0 {
  margin-top: 0 !important; }

.mod-mt-xs {
  margin-top: 0.5rem !important; }

@media screen and (max-width: 767px) {
  .mod-mt-s {
    margin-top: 1rem !important; } }

@media screen and (min-width: 768px) {
  .mod-mt-s {
    margin-top: 1.5rem !important; } }

@media screen and (max-width: 767px) {
  .mod-mt-m {
    margin-top: 1.5rem !important; } }

@media screen and (min-width: 768px) {
  .mod-mt-m {
    margin-top: 2.5rem !important; } }

@media screen and (max-width: 767px) {
  .mod-mt-l {
    margin-top: 2rem !important; } }

@media screen and (min-width: 768px) {
  .mod-mt-l {
    margin-top: 4.5rem !important; } }

@media screen and (max-width: 767px) {
  .mod-mt-xl {
    margin-top: 2.5rem !important; } }

@media screen and (min-width: 768px) {
  .mod-mt-xl {
    margin-top: 5.5rem !important; } }

.mod-mb-0 {
  margin-bottom: 0 !important; }

.mod-mb-xs {
  margin-bottom: 0.5rem !important; }

@media screen and (max-width: 767px) {
  .mod-mb-s {
    margin-bottom: 1rem !important; } }

@media screen and (min-width: 768px) {
  .mod-mb-s {
    margin-bottom: 1.5rem !important; } }

@media screen and (max-width: 767px) {
  .mod-mb-m {
    margin-bottom: 1.5rem !important; } }

@media screen and (min-width: 768px) {
  .mod-mb-m {
    margin-bottom: 2.5rem !important; } }

@media screen and (max-width: 767px) {
  .mod-mb-l {
    margin-bottom: 2rem !important; } }

@media screen and (min-width: 768px) {
  .mod-mb-l {
    margin-bottom: 4.5rem !important; } }

@media screen and (max-width: 767px) {
  .mod-mb-xl {
    margin-bottom: 2.5rem !important; } }

@media screen and (min-width: 768px) {
  .mod-mb-xl {
    margin-bottom: 5.5rem !important; } }

.mod-mb-1 {
  margin-bottom: 1rem; }

.mod-mb-2 {
  margin-bottom: 2rem; }

.mod-mb-3 {
  margin-bottom: 4rem; }

.mod-mb-4 {
  margin-bottom: 4rem; }

.mod-mb-5 {
  margin-bottom: 5rem; }

@media screen and (max-width: 767px) {
  .mod-tab {
    margin: -0.75rem; } }

.mod-tab-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.mod-tab-menu_item {
  height: 4.375rem;
  width: 100%;
  position: relative; }
  @media screen and (max-width: 767px) {
    .mod-tab-menu_item {
      font-size: 0.6875rem;
      border-bottom: 4px solid transparent; } }
  .mod-tab-menu_item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    text-align: center;
    border-bottom: 4px solid #eceff1; }
    .mod-tab-menu_item a::before {
      content: '';
      width: 0;
      height: 4px;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      background: #3d62ad;
      -webkit-transition: .5s;
      transition: .5s; }
  .mod-tab-menu_item.active a::before {
    width: 100%; }

@media screen and (min-width: 768px) {
  body.pc .mod-tab-menu_item a:hover::before {
    width: 100%; } }

.mod-tab-content .content:not(.active) {
  display: none; }

.mod-flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .mod-flex-center img {
    margin: auto; }

.mod-w-10per {
  width: 10%; }

.mod-h-10per {
  height: 10%; }

.mod-w-10rem {
  width: 10rem; }

.mod-h-10rem {
  height: 10rem; }

.mod-mw-10per {
  min-width: 10%; }

.mod-mh-10per {
  min-height: 10%; }

.mod-mw-10rem {
  min-width: 10rem; }

.mod-mh-10rem {
  min-height: 10rem; }

.mod-w-20per {
  width: 20%; }

.mod-h-20per {
  height: 20%; }

.mod-w-20rem {
  width: 20rem; }

.mod-h-20rem {
  height: 20rem; }

.mod-mw-20per {
  min-width: 20%; }

.mod-mh-20per {
  min-height: 20%; }

.mod-mw-20rem {
  min-width: 20rem; }

.mod-mh-20rem {
  min-height: 20rem; }

.mod-w-30per {
  width: 30%; }

.mod-h-30per {
  height: 30%; }

.mod-w-30rem {
  width: 30rem; }

.mod-h-30rem {
  height: 30rem; }

.mod-mw-30per {
  min-width: 30%; }

.mod-mh-30per {
  min-height: 30%; }

.mod-mw-30rem {
  min-width: 30rem; }

.mod-mh-30rem {
  min-height: 30rem; }

.mod-w-40per {
  width: 40%; }

.mod-h-40per {
  height: 40%; }

.mod-w-40rem {
  width: 40rem; }

.mod-h-40rem {
  height: 40rem; }

.mod-mw-40per {
  min-width: 40%; }

.mod-mh-40per {
  min-height: 40%; }

.mod-mw-40rem {
  min-width: 40rem; }

.mod-mh-40rem {
  min-height: 40rem; }

.mod-w-50per {
  width: 50%; }

.mod-h-50per {
  height: 50%; }

.mod-w-50rem {
  width: 50rem; }

.mod-h-50rem {
  height: 50rem; }

.mod-mw-50per {
  min-width: 50%; }

.mod-mh-50per {
  min-height: 50%; }

.mod-mw-50rem {
  min-width: 50rem; }

.mod-mh-50rem {
  min-height: 50rem; }

.mod-w-60per {
  width: 60%; }

.mod-h-60per {
  height: 60%; }

.mod-w-60rem {
  width: 60rem; }

.mod-h-60rem {
  height: 60rem; }

.mod-mw-60per {
  min-width: 60%; }

.mod-mh-60per {
  min-height: 60%; }

.mod-mw-60rem {
  min-width: 60rem; }

.mod-mh-60rem {
  min-height: 60rem; }

.mod-w-70per {
  width: 70%; }

.mod-h-70per {
  height: 70%; }

.mod-w-70rem {
  width: 70rem; }

.mod-h-70rem {
  height: 70rem; }

.mod-mw-70per {
  min-width: 70%; }

.mod-mh-70per {
  min-height: 70%; }

.mod-mw-70rem {
  min-width: 70rem; }

.mod-mh-70rem {
  min-height: 70rem; }

.mod-w-80per {
  width: 80%; }

.mod-h-80per {
  height: 80%; }

.mod-w-80rem {
  width: 80rem; }

.mod-h-80rem {
  height: 80rem; }

.mod-mw-80per {
  min-width: 80%; }

.mod-mh-80per {
  min-height: 80%; }

.mod-mw-80rem {
  min-width: 80rem; }

.mod-mh-80rem {
  min-height: 80rem; }

.mod-w-90per {
  width: 90%; }

.mod-h-90per {
  height: 90%; }

.mod-w-90rem {
  width: 90rem; }

.mod-h-90rem {
  height: 90rem; }

.mod-mw-90per {
  min-width: 90%; }

.mod-mh-90per {
  min-height: 90%; }

.mod-mw-90rem {
  min-width: 90rem; }

.mod-mh-90rem {
  min-height: 90rem; }

.mod-w-100per {
  width: 100%; }

.mod-h-100per {
  height: 100%; }

.mod-w-100rem {
  width: 100rem; }

.mod-h-100rem {
  height: 100rem; }

.mod-mw-100per {
  min-width: 100%; }

.mod-mh-100per {
  min-height: 100%; }

.mod-mw-100rem {
  min-width: 100rem; }

.mod-mh-100rem {
  min-height: 100rem; }

@media screen and (min-width: 768px) {
  .fade {
    opacity: 0; }
  .fadeIn {
    opacity: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn; }
  .fadeUp {
    opacity: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-name: fadeUp;
    animation-name: fadeUp; }
  .fadeLeft {
    opacity: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-name: fadeLeft;
    animation-name: fadeLeft; }
  .fadeRight {
    opacity: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-name: fadeRight;
    animation-name: fadeRight; }
  .delay05 {
    -webkit-animation-delay: 500;
    animation-delay: 500; }
  .delay10 {
    -webkit-animation-delay: 1s;
    animation-delay: 1s; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }

@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }

@-webkit-keyframes fadeLeft {
  0% {
    -webkit-transform: translateX(-256px);
    transform: translateX(-256px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
    transform: translateX(0px); } }

@keyframes fadeLeft {
  0% {
    -webkit-transform: translateX(-256px);
    transform: translateX(-256px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
    transform: translateX(0px); } }

@-webkit-keyframes fadeRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(256px);
    transform: translateX(256px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
    transform: translateX(0px); } }

@keyframes fadeRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(256px);
    transform: translateX(256px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
    transform: translateX(0px); } }

@-webkit-keyframes push {
  50% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes push {
  50% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@-webkit-keyframes pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1);
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1); } }

@keyframes pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1);
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1); } }

/* content */
/* ========================================================================== */
.content-breadcrumb {
  border-top: 1px solid #e0e0e0; }
  @media screen and (max-width: 767px) {
    .content-breadcrumb {
      display: none; } }
  @media screen and (min-width: 768px) {
    .content-breadcrumb {
      font-size: 0.875rem;
      padding: .4rem; }
      .content-breadcrumb li {
        display: inline-block;
        position: relative;
        padding-right: 1.5rem; }
        .content-breadcrumb li:not(:last-child)::after {
          content: '>';
          width: 1rem;
          height: 1rem;
          position: absolute;
          top: 0;
          right: 0;
          color: #333333; }
        .content-breadcrumb li a {
          color: #3d62ad; } }

.content-header {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: #3658A3; }
  .content-header .mod-inner-m {
    position: relative;
    height: 100%; }
  @media screen and (max-width: 767px) {
    .content-header {
      height: 9.5rem;
      padding-top: .5rem;
      margin-bottom: 2.1875rem; }
      .content-header .mod-inner-m {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; } }
  @media screen and (min-width: 768px) {
    .content-header {
      height: 21rem;
      padding-top: 5.625rem; } }

.content-header-title {
  color: white; }
  @media screen and (max-width: 767px) {
    .content-header-title {
      padding: 0 2.1875rem;
      text-align: center;
      width: 100%; } }
  .content-header-title h1 {
    font-weight: normal;
    line-height: 1; }
    @media screen and (max-width: 767px) {
      .content-header-title h1 {
        margin: .3rem 0 .5rem;
        font-size: 1.4rem;
        line-height: 1.7rem; } }
    @media screen and (min-width: 768px) {
      .content-header-title h1 {
        font-size: 3rem;
        margin: 1.5rem 0; } }
  @media screen and (min-width: 768px) {
    .content-header-title p {
      font-size: 1.5rem;
      line-height: 2.625rem; } }
  .content-header-title .category {
    position: relative;
    display: inline-block;
    font-weight: normal; }
    @media screen and (max-width: 767px) {
      .content-header-title .category {
        font-size: 0.875rem; } }
    @media screen and (min-width: 768px) {
      .content-header-title .category {
        line-height: 3.125rem;
        margin-left: .5rem; } }
    .content-header-title .category::before {
      content: '';
      display: block;
      height: 3px;
      width: 80%;
      background: #3d62ad;
      position: absolute;
      bottom: 0;
      left: 0; }
      @media screen and (max-width: 767px) {
        .content-header-title .category::before {
          right: 0;
          margin: auto; } }
  @media screen and (max-width: 767px) {
    .content-header-title .lead {
      display: none; } }

@media screen and (min-width: 768px) {
  .content-header-title.category-logo .category {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.content-header-title.category-logo .category::before {
  content: none; }

.content-header-title.category-logo .image {
  background-color: #1a3583;
  display: block;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .content-header-title.category-logo .image {
      width: 2.8125rem;
      height: 2.8125rem;
      margin: auto;
      margin-bottom: .3rem; } }
  @media screen and (min-width: 768px) {
    .content-header-title.category-logo .image {
      width: 3.125rem;
      height: 3.125rem;
      display: block;
      margin-right: 1rem; } }

.content-header-title.category-logo svg {
  stroke: white;
  width: 2rem;
  height: 100%;
  stroke-width: 5px; }

@media screen and (max-width: 767px) {
  .content-main {
    word-break: break-all;
    word-wrap: break-word; } }

@media screen and (min-width: 768px) {
  .content-main {
    margin-top: 4.5rem;
    padding-bottom: 2.5rem; }
    .content-main > .mod-inner-m {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }

@media screen and (max-width: 767px) {
  .content-main main {
    padding: 0 0.75rem; } }

@media screen and (min-width: 768px) {
  .content-main main {
    font-size: 1.125rem;
    line-height: 2rem;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; } }

.content-main a img {
  -webkit-transition: .4s;
  transition: .4s; }

.content-main a:hover img {
  opacity: .75; }

.content-title {
  color: white; }

.content-main-footer_title {
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    .content-main-footer_title {
      font-size: 1.5rem;
      padding: 1rem;
      margin-bottom: .5rem; } }
  @media screen and (min-width: 768px) {
    .content-main-footer_title {
      font-size: 2.25rem;
      padding-bottom: 1.5rem;
      border-bottom: 1px solid #e0e0e0; } }

.content-banner {
  background: #f1f3f4; }
  @media screen and (max-width: 767px) {
    .content-banner {
      padding: 1rem; } }
  @media screen and (min-width: 768px) {
    .content-banner {
      padding: 3rem 0 2.5rem; } }
  .content-banner .mod-large-btn {
    margin: 0 auto; }
  .content-banner > * {
    margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .content-banner .mod-link-boxes,
    .content-banner .mod-banner-boxes {
      margin: 1rem 0; } }
  .content-banner.bottom {
    margin-bottom: 0 !important; }

@media screen and (max-width: 767px) {
  .content-index {
    margin-top: 2.5rem; } }

@media screen and (min-width: 768px) {
  .content-index {
    margin: 4.5rem 0 2rem; } }

@media screen and (max-width: 767px) {
  main .content-banner {
    margin: -0.75rem; } }

.content-banner-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .content-banner-list {
      margin-right: -3%; } }
  @media screen and (min-width: 768px) {
    .content-banner-list {
      margin-right: -1%; } }
  @media screen and (max-width: 767px) {
    .content-banner-list li {
      width: 47%;
      margin-right: 3%;
      margin-bottom: .5rem; } }
  @media screen and (min-width: 768px) {
    .content-banner-list li {
      width: 19%;
      margin-right: 1%;
      margin-bottom: 0.625rem; } }
  .content-banner-list a {
    display: block;
    text-align: center; }
    .content-banner-list a:hover {
      opacity: .75; }

.section-header {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 2.5rem 0 1.5rem; }
  .section-header h2 {
    width: 100%;
    font-weight: lighter; }
  .section-header .tit1 {
    display: block;
    font-family: "Teko", sans-serif;
    font-size: 2.25rem;
    letter-spacing: .1em;
    margin-right: -0.1em;
    padding-bottom: 0.1rem; }
  .section-header .tit2 {
    font-size: 0.75rem; }
  @media screen and (min-width: 768px) {
    .section-header {
      padding: 4.5rem 0 2.5rem; }
      .section-header .tit1 {
        font-size: 3.125rem;
        padding-bottom: 0.5rem; }
      .section-header .tit2 {
        font-size: 1rem; } }

@media screen and (min-width: 768px) {
  .content-main.blog {
    background-image: url(/resources/img/bg-article.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top center;
    padding-top: 2.5rem;
    background-attachment: fixed; }
    .content-main.blog .blog-article {
      background: white;
      border: 1px solid #e0e0e0;
      margin-bottom: 6rem; } }

@media screen and (min-width: 768px) {
  .content-main.blog .article-body {
    padding: 0 5% 5rem; } }

@media screen and (min-width: 1601px) {
  .content-main.blog .article-body {
    padding: 4.375rem 12.93% 2.5rem; } }

/*-------------------------------------- service -------------------------------------- */
@media screen and (max-width: 767px) {
  .t-service .content-header {
    margin-bottom: .5rem; } }

/*-------------------------------------- info -------------------------------------- */
@media screen and (min-width: 768px) {
  .t-info .article-header .mod-share-btn {
    position: absolute;
    top: 0;
    right: 0; } }

/*-------------------------------------- blog -------------------------------------- */
@media screen and (min-width: 768px) {
  .blog-list-pickup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 3rem; }
    .blog-list-pickup .blog-list-item {
      width: 48.27%;
      height: 100%; }
    .blog-list-pickup .blog-list-image {
      margin-bottom: .5rem; } }

@media screen and (min-width: 768px) {
  .blog-list .blog-list-item_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.75rem 0; }
  .blog-list .blog-list-item {
    border-top: 1px solid #e0e0e0; }
  .blog-list .blog-list-image {
    width: 22.5rem;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    margin-right: .5rem; } }

.blog-list-item {
  background: white; }
  .blog-list-item a {
    display: block; }
    .blog-list-item a:hover {
      text-decoration: none; }
    .blog-list-item a:hover {
      background-color: #f5f7f8; }
  @media screen and (max-width: 767px) {
    .blog-list-item {
      border-bottom: 1px solid #e0e0e0;
      margin-bottom: 1.5rem; }
      .blog-list-item a {
        padding: 0 1rem; }
      .blog-list-item .mod-article-tags {
        margin-bottom: 0; } }

.blog-list-image figure {
  width: 100%;
  padding-top: 56.25%;
  background-repeat: no-repeat;
  background-size: cover; }

@media screen and (max-width: 767px) {
  .blog-list-image {
    margin-bottom: 1rem; } }

@media screen and (max-width: 767px) {
  .blog-list-content {
    margin: 1rem 0 2rem; }
    .blog-list-content .title {
      margin-bottom: 1rem;
      font-size: 1rem;
      line-height: 1.75rem; }
    .blog-list-content .text {
      margin-bottom: 1rem; } }

@media screen and (min-width: 768px) {
  .blog-list-content {
    padding: 1rem 1.5rem; }
    .blog-list-content .title {
      font-size: 1.25rem;
      margin-bottom: 1rem; }
    .blog-list-content .text {
      font-size: 1rem; } }

@media screen and (max-width: 767px) {
  .blog-related {
    border-top: 1px solid #e0e0e0;
    margin: -0.75rem; } }

/*-------------------------------------- ir -------------------------------------- */
@media screen and (max-width: 767px) {
  .t-ir .mod-tab-menu {
    margin-bottom: 1rem;
    line-height: 1.9; }
  .t-ir .article-body-content table th {
    width: 5rem; } }

.t-ir table {
  width: 100%;
  border-spacing: 0;
  border-top: 1px solid #e0e0e0; }
  .t-ir table th,
  .t-ir table td {
    border-bottom: 1px solid #e0e0e0; }
  .t-ir table th {
    background: #eceff7;
    font-weight: normal; }
  @media screen and (max-width: 767px) {
    .t-ir table {
      margin-bottom: 1.5rem;
      font-size: 0.8125rem; }
      .t-ir table th,
      .t-ir table td {
        font-size: 10px !important;
        padding: .5rem; } }
  @media screen and (min-width: 768px) {
    .t-ir table {
      margin-bottom: 2rem;
      font-size: 0.9375rem; }
      .t-ir table th,
      .t-ir table td {
        padding: 1rem; } }

.t-ir.t-detail a[href$='.pdf'] {
  background-image: url(/resources/img/icon-pdf.svg);
  background-repeat: no-repeat;
  background-position: right;
  background-size: 1.3rem;
  padding: .5rem 1.5rem .5rem 0;
  margin-right: .5rem; }
  .t-ir.t-detail a[href$='.pdf']::after {
    content: none; }

.ir-graf .mod-row {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.ir-graf .jqtable th,
.ir-graf .jqtable td {
  padding: 5px; }

.ir-graf .jqtable .kamoku {
  background: #E9ECEF;
  text-align: center; }

.ir-graf .jqtable .kamoku_konki {
  background: #EDF5F9; }

@media screen and (min-width: 768px) {
  .ir-graf .mod-col {
    width: 48.27%; } }

@media screen and (max-width: 767px) {
  .ir-graf .mod-col {
    margin-bottom: 1.5rem; } }

/*-------------------------------------- result -------------------------------------- */
/*--------------- result-index --------------- */
@media screen and (min-width: 768px) {
  .result-index section {
    margin-bottom: 5rem; } }

/*--------------- detail --------------- */
.t-result.t-detail .content-header {
  background-color: #3d62ad;
  color: white;
  padding-top: 0;
  position: relative;
  height: auto; }
  @media screen and (min-width: 768px) {
    .t-result.t-detail .content-header {
      min-height: 25rem;
      padding-bottom: 20px; } }
  @media screen and (max-width: 767px) {
    .t-result.t-detail .content-header > div {
      display: block; } }
  @media screen and (min-width: 768px) {
    .t-result.t-detail .content-header > div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; } }

@media screen and (min-width: 768px) {
  .t-result.t-detail .post-area {
    margin-bottom: 10rem; }
    .t-result.t-detail .post-area h2 {
      margin-top: 4rem; } }

@media screen and (min-width: 768px) {
  .t-result.t-detail .content-banner {
    margin-bottom: 5rem; } }

.result-header-image {
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  @media screen and (max-width: 767px) {
    .result-header-image {
      height: 13.125rem; } }
  @media screen and (min-width: 768px) {
    .result-header-image {
      position: absolute;
      right: 0;
      width: 50%; } }

@media screen and (max-width: 767px) {
  .result-header-title {
    padding: 1rem; } }

@media screen and (min-width: 768px) {
  .result-header-title {
    width: 47%; } }

.result-header-title .header-title {
  border-bottom: 2px solid; }
  @media screen and (max-width: 767px) {
    .result-header-title .header-title {
      font-size: 1.1875rem;
      line-height: 1.75rem;
      padding-bottom: 1rem;
      margin-bottom: 1rem; } }
  @media screen and (min-width: 768px) {
    .result-header-title .header-title {
      margin-top: 3rem;
      font-size: 1.625rem;
      line-height: 2.625rem;
      padding-bottom: 1rem;
      margin-bottom: 2rem; } }

@media screen and (max-width: 767px) {
  .result-header-title .company {
    font-size: 1rem;
    margin-bottom: .5rem; } }

@media screen and (min-width: 768px) {
  .result-header-title .company {
    font-size: 1.125rem; } }

@media screen and (max-width: 767px) {
  .result-header-title .name {
    margin-bottom: 1rem; } }

@media screen and (min-width: 768px) {
  .result-header-title .name {
    font-size: 0.875rem;
    margin-bottom: 1rem; } }

.result-header-title_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .result-header-title_logo .service {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 767px) {
      .result-header-title_logo .service {
        margin-top: 0; } }
    @media screen and (min-width: 768px) {
      .result-header-title_logo .service {
        margin-top: 1rem;
        padding-right: .5rem; } }
    .result-header-title_logo .service .image {
      background: white;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin-right: 1rem; }
      @media screen and (max-width: 767px) {
        .result-header-title_logo .service .image {
          display: none; } }
      @media screen and (min-width: 768px) {
        .result-header-title_logo .service .image {
          width: 3.75rem;
          height: 3.75rem; } }
      .result-header-title_logo .service .image svg {
        stroke: #3d62ad;
        width: 70%;
        height: 70%; }
    @media screen and (min-width: 768px) {
      .result-header-title_logo .service .title {
        width: 80%; } }
    .result-header-title_logo .service .title span {
      display: block; }
    @media screen and (max-width: 767px) {
      .result-header-title_logo .service .title .text1 {
        font-size: 0.75rem; } }
    @media screen and (max-width: 767px) {
      .result-header-title_logo .service .title .text2 {
        font-size: 0.625rem;
        margin-right: .5rem; } }
    @media screen and (min-width: 768px) {
      .result-header-title_logo .service .title .text2 {
        font-size: 0.7rem;
        line-height: 1.0rem; } }
    .result-header-title_logo .service .title .text2 a {
      color: #fff; }
  .result-header-title_logo .logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    background: white; }
    @media screen and (max-width: 767px) {
      .result-header-title_logo .logo {
        width: 5.2rem;
        height: 3.375rem; } }
    @media screen and (min-width: 768px) {
      .result-header-title_logo .logo {
        width: 13.375rem;
        height: 5.6rem; } }
    .result-header-title_logo .logo img {
      width: 100%;
      max-width: 100%; }
  .result-header-title_logo .mod-btn-box_content .mod-category-label {
    background: #1e3582;
    color: white; }
  .result-header-title_logo .mod-btn-box_content .link-btn-arrow a {
    background-color: #1e3582; }

.content-header.layout-b::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #3d62ad;
  opacity: .9; }

.content-header.layout-b .result-header-title {
  width: 100%;
  z-index: 1;
  position: relative; }
  @media screen and (min-width: 768px) {
    .content-header.layout-b .result-header-title .header-title {
      text-align: center;
      padding-bottom: 1.5rem;
      margin-bottom: 2rem; }
    .content-header.layout-b .result-header-title .result-header-title_inner {
      padding-left: 50%;
      position: relative;
      min-height: 14.5rem; }
    .content-header.layout-b .result-header-title .logo {
      position: absolute;
      left: 25.86%;
      top: 0;
      width: 15.25rem;
      height: 13.6rem; }
    .content-header.layout-b .result-header-title .company {
      padding-top: 1.7rem; }
    .content-header.layout-b .result-header-title .service {
      margin-top: 1rem; } }

.result-index .mod-arrow-btn a {
  background-color: #3d62ad; }
  .result-index .mod-arrow-btn a:hover {
    background-color: white; }

/*-------------------------------------- recruit -------------------------------------- */
/*--------------- interview --------------- */
.interview-header-image {
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  @media screen and (max-width: 767px) {
    .interview-header-image {
      height: 13.125rem; } }
  @media screen and (min-width: 768px) {
    .interview-header-image {
      position: absolute;
      right: 0;
      width: 50%; } }

@media screen and (max-width: 767px) {
  .interview-header-title {
    padding: 1rem; } }

@media screen and (min-width: 768px) {
  .interview-header-title {
    font-size: 2.5rem;
    margin-top: 6rem;
    width: 47%; } }

.interview-header-title .header-title {
  border-bottom: 2px solid; }
  @media screen and (max-width: 767px) {
    .interview-header-title .header-title {
      font-size: 1.1875rem;
      line-height: 1.75rem;
      padding-bottom: 1rem;
      margin-bottom: 1rem; } }
  @media screen and (min-width: 768px) {
    .interview-header-title .header-title {
      margin-top: 3rem;
      font-size: 1.625rem;
      line-height: 2.625rem;
      padding-bottom: 1rem;
      margin-bottom: 2rem; } }

@media screen and (max-width: 767px) {
  .interview-header-title .company {
    font-size: 1rem;
    margin-bottom: .5rem; } }

@media screen and (min-width: 768px) {
  .interview-header-title .company {
    font-size: 1.125rem;
    margin-bottom: 1rem; } }

@media screen and (max-width: 767px) {
  .interview-header-title .name {
    margin-bottom: 1rem; } }

@media screen and (min-width: 768px) {
  .interview-header-title .name {
    font-size: 1.125rem; } }

/*-------------------------------------- form -------------------------------------- */
@media screen and (max-width: 767px) {
  .feature-content {
    margin-bottom: -2rem; } }

@media screen and (min-width: 768px) {
  .feature-content {
    margin-top: -4.5rem;
    margin-bottom: -7.5rem; } }

.feature-section {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative; }
  @media screen and (min-width: 768px) {
    .feature-section .mod-inner-m {
      position: relative; } }
  .feature-section .mod-row {
    -ms-flex-pack: distribute;
    justify-content: space-around; }
    .feature-section .mod-row .col {
      background: none; }
      @media screen and (min-width: 768px) {
        .feature-section .mod-row .col {
          width: 24%; } }

.feature-section:first-child {
  background-image: url(/images/feature-bg-01.jpg); }
  .feature-section:first-child .feature-header {
    text-align: center;
    padding-top: 60px;
    margin-bottom: 135px; }
    @media screen and (max-width: 767px) {
      .feature-section:first-child .feature-header {
        padding: 1.875rem 1rem 1.5rem;
        margin-bottom: 0; } }
    .feature-section:first-child .feature-header .tit1 {
      font-family: "Teko", sans-serif;
      font-weight: 400;
      font-size: 1.8125rem;
      display: inline-block;
      border-bottom: 2px solid #3d62ad;
      padding-bottom: .3rem;
      margin-bottom: 2rem; }
      @media screen and (max-width: 767px) {
        .feature-section:first-child .feature-header .tit1 {
          padding-bottom: 0;
          font-size: 0.9375rem;
          margin-bottom: .5rem; } }
    .feature-section:first-child .feature-header .tit2 {
      display: block;
      font-size: 3.25rem;
      font-weight: normal; }
      @media screen and (max-width: 767px) {
        .feature-section:first-child .feature-header .tit2 {
          font-size: 1.875rem;
          line-height: 1.3; } }

.feature-section:not(:first-child) {
  border-top: 5px solid #3d62ad; }
  .feature-section:not(:first-child) .mod-inner-m {
    padding: 200px 0 180px; }
    @media screen and (max-width: 767px) {
      .feature-section:not(:first-child) .mod-inner-m {
        padding: 5.5rem 1rem 2.5rem; } }
  .feature-section:not(:first-child) .feature-header h2 {
    background: #3d62ad;
    color: white;
    font-family: "Teko", sans-serif;
    font-weight: 400;
    font-size: 6.25rem;
    letter-spacing: .05em;
    display: inline-block;
    position: absolute;
    top: -70px;
    width: 679px;
    height: 140px;
    text-align: center;
    padding-top: 60px; }
    @media screen and (max-width: 767px) {
      .feature-section:not(:first-child) .feature-header h2 {
        font-size: 3.125rem;
        width: 21.25rem;
        height: 4.375rem;
        padding-top: 30px;
        top: -30px; } }
  @media screen and (max-width: 767px) {
    .feature-section:not(:first-child) .col {
      margin-bottom: 3rem; } }
  .feature-section:not(:first-child) .col img {
    height: auto; }
  .feature-section:not(:first-child) figure {
    text-align: center;
    margin-bottom: 1.5rem; }
    @media screen and (max-width: 767px) {
      .feature-section:not(:first-child) figure {
        margin-bottom: 1rem; } }
  .feature-section:not(:first-child) h3 {
    margin-bottom: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .feature-section:not(:first-child) h3 {
        height: 3rem; } }
    @media screen and (max-width: 767px) {
      .feature-section:not(:first-child) h3 {
        line-height: 1.75em;
        margin-bottom: 1rem; } }
  @media screen and (max-width: 767px) {
    .feature-section:not(:first-child) p {
      font-size: 0.75rem; } }

.feature-section:nth-child(2) {
  color: white; }
  @media screen and (max-width: 767px) {
    .feature-section:nth-child(2) {
      background-color: #2b3037; } }
  @media screen and (min-width: 768px) {
    .feature-section:nth-child(2) {
      background-image: url(/images/feature-bg-02.jpg); } }
  .feature-section:nth-child(2) .feature-header h2 {
    left: 0; }
  @media screen and (max-width: 767px) {
    .feature-section:nth-child(2) .col img {
      max-width: 80%; }
    .feature-section:nth-child(2) .col:nth-child(1) img {
      max-width: 50%; } }

@media screen and (max-width: 767px) {
  .feature-section:nth-child(3) {
    background-image: url(/images/feature-bg-sp.png); } }

@media screen and (min-width: 768px) {
  .feature-section:nth-child(3) {
    background-image: url(/images/feature-bg-03.jpg); } }

.feature-section:nth-child(3) .feature-header h2 {
  right: 0; }

.feature-section:nth-child(4) {
  color: white; }
  @media screen and (max-width: 767px) {
    .feature-section:nth-child(4) {
      background-color: #2b3037; } }
  @media screen and (min-width: 768px) {
    .feature-section:nth-child(4) {
      background-image: url(/images/feature-bg-04.jpg); } }
  .feature-section:nth-child(4) .feature-header h2 {
    left: 0; }
  @media screen and (max-width: 767px) {
    .feature-section:nth-child(4) .col img {
      max-width: 80%; } }
  @media screen and (max-width: 767px) {
    .feature-section:nth-child(4) .col:nth-child(1) img {
      max-width: 70%; } }
  @media screen and (min-width: 768px) {
    .feature-section:nth-child(4) .col:nth-child(1) img {
      height: 90%; } }
  @media screen and (min-width: 1601px) {
    .feature-section:nth-child(4) .col:nth-child(1) img {
      max-height: 100%; } }

@media screen and (max-width: 767px) {
  .feature-section:nth-child(5) {
    background-image: url(/images/feature-bg-sp.png); } }

@media screen and (min-width: 768px) {
  .feature-section:nth-child(5) {
    background-image: url(/images/feature-bg-05.jpg); } }

.feature-section:nth-child(5) .feature-header h2 {
  right: 0; }

@media screen and (max-width: 767px) {
  .feature-section:nth-child(5) figure {
    margin: 0 -1rem; } }

@media screen and (max-width: 767px) {
  .feature-section:nth-child(5) img {
    max-width: 75%; } }

.feature-nav {
  text-align: center;
  padding-bottom: 220px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 767px) {
    .feature-nav {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding-bottom: 5rem; } }
  .feature-nav li {
    background: white;
    border-radius: 50%; }
    @media screen and (max-width: 767px) {
      .feature-nav li {
        margin-bottom: 1rem; } }
    .feature-nav li:nth-child(1) a {
      background-color: #3d62ad; }
    .feature-nav li:nth-child(2) a {
      background-color: #019ade; }
    .feature-nav li:nth-child(3) a {
      background-color: #3a7cc5; }
    .feature-nav li:nth-child(4) a {
      background-color: #003463; }
    .feature-nav li:not(:last-child) {
      margin-right: 1rem; }
  .feature-nav a {
    display: block;
    border-radius: 50%;
    font-family: "Teko", sans-serif;
    font-weight: 300;
    letter-spacing: .15rem;
    line-height: 1.2em;
    color: white;
    position: relative;
    width: 10rem;
    height: 10rem;
    font-size: 1.8125rem;
    padding-top: 20%; }
    @media screen and (min-width: 768px) {
      .feature-nav a {
        width: 250px;
        height: 250px;
        font-size: 2.5rem;
        padding-top: 25%; } }
    @media screen and (min-width: 1121px) {
      .feature-nav a {
        width: 280px;
        height: 280px;
        font-size: 3rem;
        padding-top: 25%; } }
    @media screen and (min-width: 1601px) {
      .feature-nav a {
        width: 317px;
        height: 317px;
        font-size: 3rem;
        padding-top: 25%; } }
    .feature-nav a::after {
      content: '';
      display: block;
      width: 1rem;
      height: 1rem;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 1.3rem;
      margin: auto;
      background-image: url(/resources/img/icon-link-white.svg);
      background-repeat: no-repeat;
      background-position: center;
      background-size: .7rem;
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg); }
    .feature-nav a:hover {
      text-decoration: none;
      opacity: .75; }

/*-------------------------------------- form -------------------------------------- */
@media screen and (max-width: 767px) {
  .smpForm {
    width: 100% !important; } }

.smpForm .ss_contents fieldset {
  font-family: inherit;
  background: none !important;
  border-color: transparent transparent #e0e0e0 transparent !important;
  padding: 0;
  font-size: 0.875rem; }
  @media screen and (max-width: 767px) {
    .smpForm .ss_contents fieldset {
      padding-bottom: 1rem; } }
  .smpForm .ss_contents fieldset .ss_form_title,
  .smpForm .ss_contents fieldset .ss_enquete_title {
    position: relative;
    font-weight: bold;
    padding: 1.5rem 0 1rem;
    float: left;
    width: 23%;
    font-size: 1.25rem;
    padding-right: 3.5rem;
    line-height: 1.5; }
    html[lang^=en] .smpForm .ss_contents fieldset .ss_form_title, html[lang^=en]
    .smpForm .ss_contents fieldset .ss_enquete_title {
      width: 25%;
      padding-right: 4.5rem; }
    @media screen and (max-width: 767px) {
      .smpForm .ss_contents fieldset .ss_form_title,
      .smpForm .ss_contents fieldset .ss_enquete_title {
        float: none;
        width: auto !important;
        font-size: 0.875rem;
        padding: 1rem 0 0 !important;
        display: inline-block; } }
  .smpForm .ss_contents fieldset .ss_grid {
    padding: 1.5rem 0; }
    @media screen and (max-width: 767px) {
      .smpForm .ss_contents fieldset .ss_grid {
        padding: 1rem 0 0; } }
  .smpForm .ss_contents fieldset .ss_input {
    width: 100%;
    position: relative; }
    .smpForm .ss_contents fieldset .ss_input input[type=text],
    .smpForm .ss_contents fieldset .ss_input input[type=email],
    .smpForm .ss_contents fieldset .ss_input input[type=tel],
    .smpForm .ss_contents fieldset .ss_input select,
    .smpForm .ss_contents fieldset .ss_input textarea {
      background-color: #f5f7f8;
      border: 2px solid #e0e0e0; }
      @media screen and (max-width: 767px) {
        .smpForm .ss_contents fieldset .ss_input input[type=text],
        .smpForm .ss_contents fieldset .ss_input input[type=email],
        .smpForm .ss_contents fieldset .ss_input input[type=tel],
        .smpForm .ss_contents fieldset .ss_input select,
        .smpForm .ss_contents fieldset .ss_input textarea {
          width: 100% !important;
          padding: 0.3125rem !important;
          font-size: 1rem !important;
          height: auto !important; } }
      @media screen and (min-width: 768px) {
        .smpForm .ss_contents fieldset .ss_input input[type=text],
        .smpForm .ss_contents fieldset .ss_input input[type=email],
        .smpForm .ss_contents fieldset .ss_input input[type=tel],
        .smpForm .ss_contents fieldset .ss_input select,
        .smpForm .ss_contents fieldset .ss_input textarea {
          width: 77% !important;
          max-width: 43.75rem;
          padding: 0.625rem !important; } }
    .smpForm .ss_contents fieldset .ss_input select {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      background-image: url(/resources/img/icon-select.svg);
      background-repeat: no-repeat;
      background-position: right .8rem center;
      background-color: white; }
      .smpForm .ss_contents fieldset .ss_input select::-ms-expand {
        display: none; }
    .smpForm .ss_contents fieldset .ss_input input[type=checkbox] {
      margin-right: .5rem; }
  @media screen and (max-width: 767px) {
    .smpForm .ss_contents fieldset .ss_input + .ss_input {
      margin-top: 1rem; } }
  .smpForm .ss_contents fieldset .ss_user_notnull {
    visibility: hidden; }
    html[lang^=en] .smpForm .ss_contents fieldset .ss_user_notnull {
      width: 3rem !important; }
    .smpForm .ss_contents fieldset .ss_user_notnull::after {
      visibility: visible;
      content: '必須';
      display: inline-block;
      width: 2.1rem;
      height: 1.3rem;
      position: absolute;
      top: 2rem;
      right: 1rem;
      background: #be001a;
      color: white;
      font-size: 0.75rem;
      text-align: center;
      font-weight: normal;
      line-height: 1.3rem; }
      html[lang^=en] .smpForm .ss_contents fieldset .ss_user_notnull::after {
        content: 'Require';
        font-size: .7rem;
        width: 3rem; }
      @media screen and (max-width: 767px) {
        .smpForm .ss_contents fieldset .ss_user_notnull::after {
          position: static; } }
  .smpForm .ss_contents fieldset .ss_leftComment {
    display: none; }
  .smpForm .ss_contents fieldset .ss_rightComment {
    display: block; }
  .smpForm .ss_contents fieldset .ss_bottomComment {
    line-height: 1.5; }
  .smpForm .ss_contents fieldset .ss_warning_label {
    margin-top: .5rem; }

.smpForm .ss_contents > div[align=center] {
  margin: 4rem 0; }
  @media screen and (max-width: 767px) {
    .smpForm .ss_contents > div[align=center] {
      margin: 2rem 0; } }

.smpForm .ss_btnArea input[type=button] {
  background: #3d62ad;
  color: white;
  width: 100% !important;
  max-width: 50%;
  text-align: center;
  margin: auto !important;
  font-weight: bold;
  border: 2px solid #3d62ad;
  -webkit-transition: .4s;
  transition: .4s;
  height: 3.75rem;
  font-size: 1.25rem; }
  @media screen and (max-width: 767px) {
    .smpForm .ss_btnArea input[type=button] {
      max-width: 100%;
      height: 2.5rem;
      font-size: 1rem; } }
  .smpForm .ss_btnArea input[type=button]:hover {
    background: white;
    color: #3d62ad;
    cursor: pointer; }

.article-header {
  position: relative;
  border-bottom: 1px solid #e0e0e0; }
  @media screen and (max-width: 767px) {
    .article-header {
      margin-left: -0.75rem;
      margin-right: -0.75rem;
      padding: 1rem 1rem 1.5rem;
      margin-bottom: 1.5rem; }
      .article-header .mod-article-tags {
        display: none; } }
  @media screen and (min-width: 768px) {
    .article-header {
      padding-bottom: 2.5rem;
      margin: 4.375rem 5% 2.5rem; }
      .article-header .mod-article-tags {
        margin-bottom: 2rem; } }
  @media screen and (min-width: 1121px) {
    .article-header {
      margin: 4.375rem 8% 2.5rem; } }
  @media screen and (min-width: 1601px) {
    .article-header {
      margin: 4.375rem 12.93% 2.5rem; } }
  @media screen and (min-width: 768px) {
    .article-header .mod-share-btn {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end; }
      .article-header .mod-share-btn li {
        width: 4.875rem;
        height: 1.5rem;
        margin-left: 1rem; } }

@media screen and (max-width: 767px) {
  .article-header-data {
    margin-bottom: .5rem; } }

@media screen and (min-width: 768px) {
  .article-header-data {
    margin-bottom: 2.5rem; } }

.article-header-data_date {
  font-size: 0.9375rem;
  color: #999999;
  margin-right: 1rem; }

.article-header-data_category {
  color: white;
  background: #3d62ad;
  font-size: 0.75rem;
  padding: .1rem .5rem; }

.article-header-title {
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    .article-header-title {
      font-size: 1.5rem;
      line-height: 2rem;
      padding-bottom: 1rem; } }
  @media screen and (min-width: 768px) {
    .article-header-title {
      font-size: 1.875rem;
      line-height: 3.25rem; } }

@media screen and (max-width: 767px) {
  .article-body {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
    padding: 0 1rem 2rem; } }

@media screen and (min-width: 768px) {
  .article-body {
    padding-bottom: 5rem; } }

.post-signature .mod-article-tags {
  margin-bottom: 2rem; }

.article-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .article-nav a {
    color: #3d62ad;
    position: relative;
    display: block; }
    .article-nav a::before {
      content: '';
      position: absolute;
      width: 0.3125rem;
      height: 1rem;
      display: block;
      top: 0;
      bottom: 0;
      margin: auto;
      background-image: url(/resources/img/icon-link.svg);
      background-repeat: no-repeat;
      background-position: center;
      background-size: .5rem .5rem; }
  .article-nav .prev a {
    padding-left: 1rem; }
    .article-nav .prev a:before {
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg);
      left: 0; }
  .article-nav .next a {
    padding-right: 1rem; }
    .article-nav .next a:before {
      right: 0; }
  .article-nav .list a {
    padding-left: 1.5rem; }
    .article-nav .list a:before {
      background-image: url(/resources/img/icon-list.svg);
      width: 1rem;
      background-size: .8rem;
      left: 0;
      bottom: .1rem; }

.article-footer {
  border-top: 1px solid #e0e0e0; }
  @media screen and (max-width: 767px) {
    .article-footer {
      margin-left: -0.75rem;
      margin-right: -0.75rem;
      padding: 1.5rem; } }
  @media screen and (min-width: 768px) {
    .article-footer {
      padding: 2.5rem 9.375rem; } }

aside {
  border-top: 2px solid #3d62ad; }
  @media screen and (min-width: 768px) {
    aside {
      width: 22.5rem;
      -webkit-box-flex: 0;
      -ms-flex: none;
      flex: none;
      margin-left: 2.5rem; } }

.aside-inner {
  background: white; }
  @media screen and (max-width: 767px) {
    .aside-inner {
      margin-bottom: 1.875rem; } }

.aside-header {
  border-bottom: 1px solid #e6e6e6; }
  .aside-header h2 {
    font-size: 1.5rem; }
    @media screen and (max-width: 767px) {
      .aside-header h2 {
        font-weight: normal;
        padding: 1.875rem 1rem; } }
    @media screen and (min-width: 768px) {
      .aside-header h2 {
        padding: 2rem 1rem 2.5rem; } }

.content-aside-nav span,
.content-aside-nav a {
  display: block;
  padding: 1rem;
  cursor: pointer;
  border-bottom: 1px solid #e6e6e6;
  font-weight: bold; }
  @media screen and (max-width: 767px) {
    .content-aside-nav span,
    .content-aside-nav a {
      font-size: 1rem; } }
  .content-aside-nav span:hover,
  .content-aside-nav a:hover {
    text-decoration: none;
    background-color: #3d62ad;
    color: white; }
    .content-aside-nav span:hover[target=_blank]::after,
    .content-aside-nav a:hover[target=_blank]::after {
      background-image: url(/resources/img/icon-ext-link-white.svg); }

.content-aside-nav span {
  position: relative; }
  .content-aside-nav span::before, .content-aside-nav span::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 1rem;
    height: 2px;
    background: #3d62ad;
    -webkit-transition: all .4s;
    transition: all .4s; }
  .content-aside-nav span::before {
    -webkit-transform: translateY(calc(50%-.1rem));
    transform: translateY(calc(50%-.1rem)); }
  .content-aside-nav span::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
  .content-aside-nav span.open::before {
    display: none; }
  .content-aside-nav span.open::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }
  .content-aside-nav span:hover::before, .content-aside-nav span:hover::after {
    background-color: white; }

.content-aside-nav a {
  display: block;
  padding: .8rem 3rem .8rem 1rem;
  background-image: url(/resources/img/icon-link.svg);
  background-size: .5rem;
  background-repeat: no-repeat;
  background-position: right 1.3rem center; }
  .content-aside-nav a:hover {
    background-image: url(/resources/img/icon-link-white.svg);
    color: white; }

.content-aside-nav .active > a {
  background-color: #3d62ad;
  background-image: url(/resources/img/icon-link-white.svg);
  color: white; }

.content-aside-nav .active > span::before {
  display: none; }

.content-aside-nav .active > span::after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg); }

.content-aside-nav .active .content-aside-nav_inner {
  height: auto; }

.content-aside-nav_inner {
  height: 0;
  overflow: hidden; }
  .content-aside-nav_inner ul {
    border-bottom: 1px solid #e6e6e6;
    padding: 1rem 0 1rem 1rem; }

.aside-tag-list li {
  display: inline-block;
  margin-right: .5rem;
  margin-bottom: 1rem; }

.aside-tag-list a {
  display: block;
  background: #f5f7f8;
  color: #3d62ad;
  padding: 0 .7rem; }
  .aside-tag-list a:hover {
    text-decoration: none;
    background: #3d62ad;
    color: white; }

@media screen and (max-width: 767px) {
  .aside-tag-list {
    padding: 1.5rem 1rem 1.5rem; } }

@media screen and (min-width: 768px) {
  .aside-tag-list {
    padding: 2.5rem 0 1.5rem; } }

.entry-talk-box {	
border-collapse: separate;	
border-spacing: 15px 2px;	
display: table;	
margin: 30px 0;	
table-layout: fixed;	
width: 100%;	
}	
.entry-talk-img {	
display: table-cell;	
vertical-align: top;	
width: 100px;	
}	
.entry-talk-img img {	
border-radius: 50%;	
width: 100px;	
}	
.entry-talk-img .name {	
text-align: center;	
}	
.entry-talk-txt {	
background-color: #fff;	
border-radius: 12px;	
display: table-cell;	
padding: 20px;	
position: relative;	
}	
.entry-talk-txt-left:after {	
content: '';	
position: absolute;	
border-right: 12px solid #ddd;	
border-top: 12px solid transparent;	
border-bottom: 12px solid transparent;	
left: -12px;	
top: 40px;	
}	
.entry-talk-txt-right:after {	
content: '';	
position: absolute;	
border-left: 12px solid #ddd;	
border-top: 12px solid transparent;	
border-bottom: 12px solid transparent;	
right: -12px;	
top: 40px;	
}	
.entry-talk-txt p {	
line-height: 2.125rem;	
margin: 0;	
}	
.entry-talk-color1 {	
background: #f1f1f1;	
border: 1px solid #ddd;	
}	
.entry-talk-color1:after {	
/*border-right: 12px solid #f5f7f8;*/	
}	
.entry-talk-color2 {	
background: #edf8ff;	
border: 1px solid #a3dbff;	
}	
.entry-talk-color2:after {	
border-left: 12px solid #a3dbff;	
}

/* print */
/* ========================================================================== */
@media print {
  body {
    font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック","MS PGothic",  Osaka, OpenSansRegular; }
  .header-nav,
  .content-breadcrumb,
  .content-footer,
  footer,
  .mod-share-btn,
  .article-footer,
  aside,
  .blog-related,
  .content-header,
  .content-banner {
    display: none; }
  header.is-fixed {
    position: static; }
  main {
    opacity: 1; }
  header {
    margin-bottom: 2em; }
  .article-header-data {
    margin-bottom: 1em; }
  .article-header {
    line-height: 1.3;
    margin-bottom: 2em;
    border-color: white;
    padding-bottom: 1em; }
  h1, h2, p {
    margin-bottom: 1em;
    line-height: 1.7; }
  .article-body-content {
    margin-bottom: 2em; }
  .mod-contact-box {
    margin-bottom: 1em; }
  .contact-list {
    font-size: 15px; }
    .contact-list dt, .contact-list dd {
      margin-right: 1rem; }
    .contact-list dd {
      text-align: left; }
  .content-wrapper {
    opacity: 1; } }

/*# sourceMappingURL=maps/style.css.map */
