@charset "UTF-8";
/*  Parts  */
@import url("https://fonts.googleapis.com/css?family=Oswald");
@import url(../css/modern-normalize.css);
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/NotoSansCJKjp-Thin.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/NotoSansCJKjp-Thin.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Thin.woff") format("woff"), url("../fonts/NotoSansCJKjp-Thin.ttf") format("truetype");
  /* Safari, Android, iOS */
  font-display: swap; }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/NotoSansCJKjp-Light.eot");
  src: url("../fonts/NotoSansCJKjp-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Light.woff") format("woff"), url("../fonts/NotoSansCJKjp-Light.ttf") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/NotoSansCJKjp-DemiLight.eot");
  src: url("../fonts/NotoSansCJKjp-DemiLight.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-DemiLight.woff") format("woff"), url("../fonts/NotoSansCJKjp-DemiLight.ttf") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansCJKjp-Regular.eot");
  src: url("../fonts/NotoSansCJKjp-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Regular.woff") format("woff"), url("../fonts/NotoSansCJKjp-Regular.ttf") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansCJKjp-Medium.eot");
  src: url("../fonts/NotoSansCJKjp-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Medium.woff") format("woff"), url("../fonts/NotoSansCJKjp-Medium.ttf") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansCJKjp-Bold.eot");
  src: url("../fonts/NotoSansCJKjp-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Bold.woff") format("woff"), url("../fonts/NotoSansCJKjp-Bold.ttf") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NotoSansCJKjp-Black.eot");
  src: url("../fonts/NotoSansCJKjp-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansCJKjp-Black.woff") format("woff"), url("../fonts/NotoSansCJKjp-Black.ttf") format("truetype");
  font-display: swap; }
body {
  font-family: 'Noto Sans Japanese', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', meiryo, sans-serif;
  color: #222;
  font-size: 14px;
  letter-spacing: 0.1rem;
  line-height: 1.8; }

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, table, pre, figure, a, button {
  margin: 0;
  padding: 0;
  font-weight: normal;
  list-style: none;
  letter-spacing: 0.1rem; }

h3, h4, h5, h6 {
  font-size: inherit; }

a, button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  text-decoration: none; }

a {
  color: #3e48ca; }

a:hover {
  opacity: 0.8;
  transition: all  0.3s ease; }

input[type=radio], input[type=checkbox], label {
  cursor: pointer; }

img {
  max-width: 100%; }

main {
  opacity: 0; }

header {
  display: flex;
  padding: 15px 30px 0; }
  @media screen and (max-width: 1040px) {
    header {
      padding: 5px 20px;
      z-index: 2; } }
  header .header-logo__svg {
    margin-top: 10px;
    width: 130px;
    height: 35.72px; }
    @media screen and (max-width: 1040px) {
      header .header-logo__svg {
        width: 100px;
        height: 27.47px; } }
  header .header-menu {
    flex-grow: 1; }
    @media screen and (max-width: 1040px) {
      header .header-menu {
        position: fixed;
        left: 0;
        top: 0;
        display: none;
        z-index: 10;
        background-color: #fff;
        width: 100%;
        height: 100%;
        padding-top: 90px; } }
    header .header-menu__list {
      display: flex;
      justify-content: flex-end;
      margin-top: 18px; }
      @media screen and (max-width: 1040px) {
        header .header-menu__list {
          font-size: 18px;
          height: 100%;
          position: relative;
          overflow-x: hidden;
          overflow-y: auto;
          display: inherit;
          text-align: center; } }
      header .header-menu__list_link {
        margin-right: 40px; }
        @media screen and (max-width: 1040px) {
          header .header-menu__list_link {
            display: block;
            margin: 0 0 15px 0; } }
        header .header-menu__list_link a {
          color: #222; }
          @media screen and (max-width: 1040px) {
            header .header-menu__list_link a {
              display: block;
              width: 100%;
              padding: 10px 0; } }
      header .header-menu__list_btn {
        margin-top: -.8em; }
        @media screen and (max-width: 1040px) {
          header .header-menu__list_btn {
            display: inline-block;
            margin: 2em .5em; } }
        header .header-menu__list_btn:last-child {
          margin-left: 1.5em; }
          @media screen and (max-width: 1040px) {
            header .header-menu__list_btn:last-child {
              margin: 2em .5em; } }
        header .header-menu__list_btn a {
          padding: 0 1.5em; }
          @media screen and (max-width: 1040px) {
            header .header-menu__list_btn a {
              padding: 0;
              width: calc(50vw - 2em); } }

.header-tgl {
  display: none; }

.header-menu.open {
  display: block; }

.header-menu.close {
  display: none; }

@media screen and (max-width: 1040px) {
  .header-logo {
    z-index: 20; }

  .header-tgl,
  .header-tgl__bar {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box; }

  .header-tgl {
    cursor: pointer;
    z-index: 20;
    position: absolute;
    right: 20px;
    top: 15px;
    width: 30px;
    height: 26px; }

  .header-tgl__bar {
    position: absolute;
    width: 100%;
    height: 4px;
    background-color: #3e48ca; }

  .header-tgl__bar:nth-of-type(1) {
    top: 0; }

  .header-tgl__bar:nth-of-type(2) {
    top: 11px; }

  .header-tgl__bar:nth-of-type(3) {
    bottom: 0; }

  .active .header-tgl__bar:nth-of-type(1) {
    -webkit-transform: translateY(11px) rotate(-45deg);
    transform: translateY(11px) rotate(-45deg); }

  .active .header-tgl__bar:nth-of-type(2) {
    opacity: 0; }

  .active .header-tgl__bar:nth-of-type(3) {
    -webkit-transform: translateY(-11px) rotate(45deg);
    transform: translateY(-11px) rotate(45deg); } }
#header {
  position: fixed;
  width: 100%;
  z-index: 999; }

#header.fixed header {
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  padding-bottom: 8px;
  padding-top: 5px; }
  @media screen and (max-width: 1040px) {
    #header.fixed header {
      padding-bottom: 0; } }

#header.fixed {
  background: rgba(255, 255, 255, 0.85); }

footer {
  background: #f3f4f9;
  padding: 60px 30px 25px; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 50px 15px 0; } }
  footer .footer-link {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      footer .footer-link {
        display: inherit; } }
    footer .footer-link__logo {
      width: 130px; }
      @media screen and (max-width: 768px) {
        footer .footer-link__logo {
          margin: 0 auto; } }
    footer .footer-link__menu {
      display: flex;
      justify-content: right;
      padding-top: 8px;
      margin-left: 15%;
      margin-right: 2em; }
      @media screen and (max-width: 1040px) {
        footer .footer-link__menu {
          margin-left: 0; } }
      @media screen and (max-width: 768px) {
        footer .footer-link__menu {
          display: block;
          padding-top: 0;
          margin: 3em 0 6em 0;
          text-align: center; }
          footer .footer-link__menu li {
            margin-bottom: 1.5em; } }
      footer .footer-link__menu_list {
        color: #3e48ca;
        display: block;
        margin-left: 50px; }
        @media screen and (max-width: 768px) {
          footer .footer-link__menu_list {
            margin: 0; } }
  footer .footer__pagetop {
    text-align: center;
    cursor: pointer; }
    footer .footer__pagetop img {
      width: 50px; }
  footer .footer__copyright {
    display: block;
    font-size: 11px;
    color: #999;
    margin-top: 5px; }
    @media screen and (max-width: 768px) {
      footer .footer__copyright {
        text-align: center;
        margin-top: 30px; } }

.mainvisual-index {
  position: relative; }
  @media screen and (max-width: 768px) {
    .mainvisual-index {
      z-index: -2;
      padding-bottom: 60px; } }

.mainvisual-index__img img {
  position: absolute;
  right: 0;
  top: 90px;
  max-width: 58%;
  z-index: -1; }
  @media screen and (min-width: 1400px) {
    .mainvisual-index__img img {
      max-width: 850px; } }
  @media screen and (max-width: 768px) {
    .mainvisual-index__img img {
      top: 8%;
      text-align: right;
      width: 100%;
      max-width: 100%; } }

.mainvisual-index__txt {
  padding: 250px 40px 0; }
  @media screen and (min-width: 1400px) {
    .mainvisual-index__txt {
      padding: 250px 80px 0; } }
  @media screen and (max-width: 1040px) {
    .mainvisual-index__txt {
      text-shadow: 0 0 25px #fff, 0 0 20px #fff, 0 0 0.40px #fff; } }
  @media screen and (max-width: 768px) {
    .mainvisual-index__txt {
      padding: 400px 15px 0;
      margin: 0 15px; } }
  .mainvisual-index__txt_copy1 {
    font-size: 38px;
    margin-bottom: 90px; }
    @media screen and (max-width: 768px) {
      .mainvisual-index__txt_copy1 {
        font-size: 22px;
        text-align: center;
        margin-bottom: 20px; } }
  .mainvisual-index__txt_copy2 {
    font-size: 20px;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      .mainvisual-index__txt_copy2 {
        font-size: 15px;
        text-align: center;
        margin-bottom: 30px; } }

.mainvisual-index__btn {
  width: 45%;
  max-width: 460px;
  margin-left: 40px;
  display: flex;
  justify-content: space-between; }
  @media screen and (min-width: 1400px) {
    .mainvisual-index__btn {
      margin-left: 80px; } }
  @media screen and (max-width: 768px) {
    .mainvisual-index__btn {
      margin: 0;
      width: auto;
      max-width: auto;
      text-align: center;
      margin: 0 15px; } }
  .mainvisual-index__btn a:first-child {
    margin-right: 1.5em; }
    @media screen and (max-width: 768px) {
      .mainvisual-index__btn a:first-child {
        margin-right: 1em; } }

.feature {
  padding: 160px 0 160px 0;
  max-width: 960px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .feature {
      padding: 60px 0 100px 0;
      margin-bottom: 6em; } }
  .feature__ttl {
    font-size: 30px;
    text-align: center;
    margin-bottom: 100px; }
    @media screen and (max-width: 768px) {
      .feature__ttl {
        font-size: 20px;
        margin-bottom: 40px; } }
  .feature__strong {
    font-size: 34px;
    color: #3e48ca;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .feature__strong {
        font-size: 22px; } }
  .feature-box {
    margin-bottom: 100px;
    display: flex; }
    @media screen and (max-width: 768px) {
      .feature-box {
        display: inherit;
        margin-bottom: 60px; } }
    .feature-box__img {
      flex-basis: 50%;
      margin-right: 30px; }
      @media screen and (max-width: 1040px) {
        .feature-box__img {
          margin-right: 0; } }
    @media screen and (max-width: 768px) {
      .feature-box__img img {
        width: 50%; } }
    .feature-box__txt {
      flex-basis: 50%; }
      @media screen and (max-width: 1040px) {
        .feature-box__txt {
          margin: 0 15px; } }
    .feature-box__ttl {
      font-size: 20px;
      font-weight: bold;
      margin-bottom: 30px; }
      @media screen and (max-width: 768px) {
        .feature-box__ttl {
          font-size: 16px;
          text-align: center; } }
    .feature-box__link {
      width: 450px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        .feature-box__link {
          width: 250px; } }

.reverse {
  flex-direction: row-reverse; }
  .reverse .feature-box__img {
    margin-right: 0; }
    @media screen and (max-width: 768px) {
      .reverse .feature-box__img {
        text-align: right; } }

.pickup {
  background: #f3f4f9;
  display: flex; }
  @media screen and (max-width: 768px) {
    .pickup {
      display: inherit;
      position: relative; } }
  .pickup__img {
    margin-top: -40px;
    width: 40%; }
    @media screen and (max-width: 1040px) {
      .pickup__img {
        width: 50%;
        flex-basis: 50%; } }
    @media screen and (max-width: 768px) {
      .pickup__img img {
        margin-top: -40px; } }
  .pickup-txt {
    max-width: 520px;
    padding: 20px 0 140px 70px; }
    @media screen and (max-width: 1040px) {
      .pickup-txt {
        padding-left: 30px;
        flex-basis: 50%;
        max-width: 100%; } }
    @media screen and (max-width: 768px) {
      .pickup-txt {
        margin: 0 15px;
        padding: 0 0 60px 0;
        margin-top: -60px; } }
    .pickup-txt__ttl {
      font-size: 30px;
      margin-bottom: 60px; }
      @media screen and (max-width: 768px) {
        .pickup-txt__ttl {
          font-size: 20px;
          text-align: center;
          padding-left: 20%; } }
    .pickup-txt__cmnt {
      font-size: 24px;
      font-weight: bold;
      margin-bottom: 40px; }
      @media screen and (max-width: 768px) {
        .pickup-txt__cmnt {
          margin: 20px 0;
          font-size: 16px; } }
    .pickup-txt__img {
      display: inline-table;
      float: left; }
    .pickup-txt__name {
      padding: 7px 0  0 40px;
      display: inline-table;
      font-size: 16px; }
    .pickup-txt__link {
      width: auto;
      max-width: 180px;
      margin-top: 4em; }
      @media screen and (max-width: 768px) {
        .pickup-txt__link {
          width: auto;
          max-width: 100%;
          margin: 4em 10% 0 10%; } }

.recomend {
  padding: 140px 0; }
  @media screen and (max-width: 1040px) {
    .recomend {
      padding: 60px 0; } }
  .recomend__ttl {
    font-size: 30px;
    text-align: center;
    margin-bottom: 100px; }
    @media screen and (max-width: 768px) {
      .recomend__ttl {
        font-size: 20px;
        margin-bottom: 40px; } }
  .recomend-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1120px;
    margin: 0 auto; }
    @media screen and (max-width: 1040px) {
      .recomend-wrap {
        margin: 40px auto 0;
        padding: 0 20px; } }
  .recomend-box {
    padding: 0 15px;
    width: 33%;
    position: relative; }
    @media screen and (max-width: 1040px) {
      .recomend-box {
        margin-bottom: 40px;
        width: 45%; } }
    @media screen and (max-width: 768px) {
      .recomend-box {
        width: 100%;
        text-align: center; } }
    .recomend-box__label {
      position: absolute;
      top: 15px;
      left: -5px; }
    .recomend-box__img img {
      width: 100%;
      height: auto; }

.headlineWrapper {
  width: 100%;
  height: auto;
  background: #f3f4f9;
  padding: 10em 0; }
  @media screen and (max-width: 768px) {
    .headlineWrapper {
      padding: 5em 0; } }

.headlineOuter {
  max-width: 1120px;
  margin: 0 auto;
  background-color: transparent;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap; }
  @media screen and (max-width: 1040px) {
    .headlineOuter {
      margin: 0 15px; } }

.headline {
  background-color: #fff;
  width: 30%;
  padding: 1em; }
  @media screen and (max-width: 768px) {
    .headline {
      width: 100%;
      margin-bottom: 2em; } }
  .headline-eyecatch {
    height: 160px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .headline-eyecatch {
        height: 140px; } }
    .headline-eyecatch img {
      max-height: 100%;
      width: auto; }
  .headline-heading {
    font-size: 30px;
    text-align: center;
    margin-bottom: 100px; }
    @media screen and (max-width: 768px) {
      .headline-heading {
        font-size: 20px;
        margin-bottom: 40px; } }
  .headline-textWrapper {
    padding: 1em .5em 0 .5em;
    display: flex;
    flex-direction: column; }
  .headline-title {
    margin-bottom: 1em; }
  .headline-title a {
    flex: 2;
    line-height: 1.4em;
    font-weight: bold;
    margin-bottom: 1em; }
  .headline-category {
    flex: 1; }
  .headline-date {
    flex: 1; }

/*  Common  */
.pc {
  display: inherit; }
  @media screen and (max-width: 1040px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 1040px) {
    .sp {
      display: inherit; } }

.commonContent {
  padding-top: 95px; }
  @media screen and (max-width: 1040px) {
    .commonContent {
      padding-top: 60px; } }

.container {
  max-width: 1300px;
  position: relative;
  margin: 0 auto;
  z-index: 1;
  padding-bottom: 2em;
  border-bottom: 1px solid #eee; }

.container.top {
  max-width: 100%;
  border: none; }

.mainvisual-common {
  position: relative;
  margin: 3em 0;
  height: auto;
  display: flex; }
  .mainvisual-common.article {
    display: block; }
  @media screen and (max-width: 768px) {
    .mainvisual-common {
      display: block;
      z-index: -2; } }
  .mainvisual-common__figure {
    opacity: 1;
    position: absolute;
    right: 3em;
    width: 200px;
    height: 200px;
    z-index: -1; }
    .mainvisual-common__figure img {
      width: 200px;
      height: auto; }
  .mainvisual-common__figure.opacity {
    opacity: .6;
    position: absolute;
    top: -30px;
    right: calc(50% - 150px);
    width: 300px;
    height: 300px;
    border-radius: 150px;
    z-index: -1; }
    .mainvisual-common__figure.opacity img {
      width: 300px;
      height: 300px;
      border-radius: 150px; }

.mainvisual-common__img {
  width: 58%; }
  @media screen and (max-width: 768px) {
    .mainvisual-common__img {
      text-align: right;
      width: 100%; } }

.mainvisual-common__img img {
  width: 100%;
  padding: 30px; }
  @media screen and (max-width: 1040px) {
    .mainvisual-common__img img {
      padding: 0; } }

.mainvisual-common__single_link {
  margin: 2em auto -2em auto; }
  @media screen and (max-width: 768px) {
    .mainvisual-common__single_link {
      margin-bottom: 3em; } }

.mainvisual-common__txt {
  width: 42%;
  padding: 80px 0 0 4em;
  text-align: center; }
  @media screen and (max-width: 1040px) {
    .mainvisual-common__txt {
      width: auto;
      padding: 0 15px; } }
  @media screen and (max-width: 768px) {
    .mainvisual-common__txt {
      padding: 0 15px;
      margin: 0 15px; } }
  .mainvisual-common__txt_title {
    font-size: 32px;
    margin: 0 auto 2em auto;
    letter-spacing: .2em;
    background-color: rgba(255, 255, 255, 0.5);
    max-width: 840px; }
    @media screen and (max-width: 768px) {
      .mainvisual-common__txt_title {
        font-size: 22px;
        text-align: center;
        margin-bottom: 20px; } }
  .mainvisual-common__txt_copy {
    font-size: 24px; }
    @media screen and (max-width: 768px) {
      .mainvisual-common__txt_copy {
        font-size: 20px;
        text-align: center;
        margin-bottom: 20px; } }
  .mainvisual-common__txt_description {
    font-size: 18px;
    margin-bottom: 2em; }
    @media screen and (max-width: 768px) {
      .mainvisual-common__txt_description {
        text-align: center;
        margin-bottom: 20px; } }
  .mainvisual-common__txt_meta p {
    display: inline-block;
    margin: 0 1em; }

.mainvisual-img {
  position: absolute;
  bottom: 0px;
  z-index: -1; }
.mainvisual-ttl {
  text-align: center;
  padding: 180px 0 50px;
  font-size: 30px; }
  @media screen and (max-width: 1040px) {
    .mainvisual-ttl {
      padding: 160px 0 30px; } }
.mainvisual-txt {
  text-align: center;
  padding-bottom: 150px;
  font-size: 18px; }
  @media screen and (max-width: 1040px) {
    .mainvisual-txt {
      padding-bottom: 180px; } }
.mainvisual-social {
  margin: 1.5em 0 -1em 0;
  text-align: center;
  font-size: 2em; }
  .mainvisual-social i {
    margin: 0 .5em; }

.section-ttl {
  font-size: 30px;
  text-align: center;
  padding: 100px 0; }
  @media screen and (max-width: 1040px) {
    .section-ttl {
      font-size: 20px;
      padding: 60px 15px 40px; } }

.section-description {
  max-width: 800px;
  font-size: 20px;
  text-align: center;
  padding: 20px;
  margin: -80px auto 4em auto;
  line-height: 2; }
  @media screen and (max-width: 1040px) {
    .section-description {
      border: 0;
      max-width: 100%;
      background-color: #f3f4f9;
      font-size: 16px;
      margin: 0 auto; } }

.mainarea-ttl {
  text-align: center;
  padding: 160px 0 140px;
  font-size: 30px; }
  @media screen and (max-width: 1040px) {
    .mainarea-ttl {
      padding: 120px 0 140px; } }

.container-under {
  max-width: 1120px;
  margin: 0 auto;
  margin: 80px auto 100px; }
  @media screen and (max-width: 1160px) {
    .container-under {
      max-width: 960px;
      margin: 0 auto;
      margin: 60px auto 80px;
      padding-left: 20px;
      padding-right: 20px; } }

.consultation {
  background: #3e48ca;
  text-align: center; }
  .consultation__bg {
    background: url("../img/common/consultation_bg.svg") no-repeat;
    background-position: 60%; }
  .consultation__txt {
    padding-top: 140px;
    color: #fff;
    font-size: 30px;
    margin-bottom: 60px; }
    @media screen and (max-width: 768px) {
      .consultation__txt {
        padding-top: 60px;
        font-size: 20px;
        margin-bottom: 40px;
        margin: 0 15px; } }
  .consultation__btn {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 540px;
    margin: 0 auto;
    padding: 0 1em 140px 1em; }
    @media screen and (max-width: 768px) {
      .consultation__btn {
        padding-top: 30px;
        padding-bottom: 60px; } }
    .consultation__btn a:first-child {
      margin-right: 1.5em; }

.subContent {
  padding-top: 95px; }
  @media screen and (max-width: 1040px) {
    .subContent {
      padding-top: 60px; } }
  .subContent-head-wrapper {
    position: relative;
    margin: 3em 0;
    height: auto;
    border-bottom: 1px solid #ccc; }
  .subContent-head-figure {
    opacity: 1;
    position: absolute;
    top: -3em;
    right: 6em;
    width: 300px;
    height: 300px;
    z-index: -1; }
    @media screen and (max-width: 768px) {
      .subContent-head-figure {
        display: none; } }
    .subContent-head-figure img {
      width: 300px;
      height: auto; }
  .subContent-head-text {
    padding: 80px 4em 4em 4em;
    text-align: center; }
    @media screen and (max-width: 1040px) {
      .subContent-head-text {
        width: auto;
        padding: 0 15px; } }
    @media screen and (max-width: 768px) {
      .subContent-head-text {
        padding: 0 15px;
        margin: 0 15px; } }
  .subContent-head-title {
    font-size: 32px;
    margin: 0 auto 2em auto;
    padding: 0 180px;
    letter-spacing: .1em; }
    @media screen and (max-width: 1040px) {
      .subContent-head-title {
        font-size: 22px;
        margin-bottom: 3em;
        padding: 0; } }

.breadcrumb {
  background-color: #f3f4f9; }
  .breadcrumb-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 800px;
    margin: 0 auto;
    padding: 1em;
    line-height: 2em;
    color: #5964f2; }
    @media screen and (max-width: 1040px) {
      .breadcrumb-list {
        flex-direction: column-reverse; } }
    @media screen and (max-width: 1040px) {
      .breadcrumb-list li {
        text-align: center;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        padding: .5em 0; } }
    .breadcrumb-list li:not(:first-child)::before {
      content: ">";
      padding: 0 .7em; }
      @media screen and (max-width: 1040px) {
        .breadcrumb-list li:not(:first-child)::before {
          content: "";
          padding: 0; } }

.error {
  padding: 190px 0 140px; }
  @media screen and (max-width: 1040px) {
    .error {
      padding: 60px 0; } }
  .error-header {
    margin: 3em 0;
    text-align: center;
    position: relative; }
    .error-header__title {
      padding-bottom: 140px;
      font-size: 30px; }
      @media screen and (max-width: 1040px) {
        .error-header__title {
          padding-bottom: 80px;
          font-size: 20px; } }
  .error-body {
    max-width: 760px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .error-body {
        width: auto;
        margin: 0 15px; } }
    .error-body__txt {
      font-size: 18px;
      text-align: center;
      margin-bottom: 40px; }

.ge_internal-link {
  padding-top: 6em;
  text-align: center; }

.ge_internal-link.articleBack {
  padding-bottom: 10em;
  text-align: center; }

.ge_buttonWrapper {
  margin: 5em auto; }
  @media screen and (max-width: 768px) {
    .ge_buttonWrapper {
      margin: 3em auto; } }

.ge_buttonWrapper.lessMargin {
  margin: 2em auto; }

.ge_buttonWrapper.paging {
  background: #f3f4f9;
  display: flex;
  justify-content: space-between;
  margin: 5em auto;
  padding: 2em 2em;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee; }
  @media screen and (max-width: 768px) {
    .ge_buttonWrapper.paging {
      margin: 3em 0;
      flex-direction: column; } }
  .ge_buttonWrapper.paging div {
    width: 48%; }
    @media screen and (max-width: 768px) {
      .ge_buttonWrapper.paging div {
        width: auto; } }
    .ge_buttonWrapper.paging div:nth-of-type(1) {
      text-align: left; }
      @media screen and (max-width: 768px) {
        .ge_buttonWrapper.paging div:nth-of-type(1) {
          text-align: center; } }
    .ge_buttonWrapper.paging div:nth-of-type(2) {
      text-align: right; }
      @media screen and (max-width: 768px) {
        .ge_buttonWrapper.paging div:nth-of-type(2) {
          text-align: center; } }

.ge_pagingLink {
  display: inline-block;
  margin: 1em; }

.ge_buttonWrapper.back {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10em auto; }
  @media screen and (max-width: 768px) {
    .ge_buttonWrapper.back {
      flex-direction: column;
      flex-wrap: wrap;
      padding: 0 1em; } }
  .ge_buttonWrapper.back a {
    width: 200px; }
    .ge_buttonWrapper.back a:not(:first-of-type) {
      margin-left: 2em; }
      @media screen and (max-width: 768px) {
        .ge_buttonWrapper.back a:not(:first-of-type) {
          margin-left: 0; } }
    @media screen and (max-width: 768px) {
      .ge_buttonWrapper.back a {
        margin-bottom: 2em; } }

.ge_button {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  height: 3.6em;
  line-height: 1em;
  font-size: 14px;
  background: #3e48ca;
  color: #fff;
  border-radius: 2px; }
  .ge_button:hover, .ge_button:active, .ge_button:focus {
    background: #515acf; }

.ge_button.withLine {
  border: 1px solid #fff; }

.ge_button.skeleton {
  background-color: #fff;
  color: #3e48ca;
  border: 1px solid #3e48ca; }
  .ge_button.skeleton:hover, .ge_button.skeleton:active, .ge_button.skeleton:focus {
    background-color: #d8daf4; }

.ge_button.skeleton.withoutLine {
  border: 0; }
  .ge_button.skeleton.withoutLine:hover, .ge_button.skeleton.withoutLine:active, .ge_button.skeleton.withoutLine:focus {
    background-color: rgba(255, 255, 255, 0.9); }

.ge_button.large {
  font-size: 15px;
  height: 3.8em; }

.ge_width_200 {
  width: 100%;
  max-width: 200px; }

.ge_width_250 {
  width: 100%;
  max-width: 250px; }

.ge_width_300 {
  width: 100%;
  max-width: 300px; }

.ge_width_350 {
  width: 100%;
  max-width: 350px; }

.ge_width_400 {
  width: 100%;
  max-width: 400px; }

.ge_width_500 {
  width: 100%;
  max-width: 500px; }

/*  Pricing  */
.pricing {
  padding-top: 95px; }
  @media screen and (max-width: 1040px) {
    .pricing {
      padding-top: 60px; } }
  .pricing-header {
    background: url("../img/pricing/pricing.jpg") no-repeat;
    background-position: center top;
    background-size: cover;
    text-align: center;
    color: #fff; }
    .pricing-header__cap {
      padding-top: 120px;
      font-size: 20px;
      margin-bottom: 30px;
      font-family: 'Oswald', sans-serif; }
      @media screen and (max-width: 1040px) {
        .pricing-header__cap {
          padding-top: 60px;
          font-size: 12px; } }
    .pricing-header__title {
      padding-bottom: 160px;
      font-size: 30px; }
      @media screen and (max-width: 1040px) {
        .pricing-header__title {
          padding-bottom: 80px;
          font-size: 20px; } }
  .pricing-type {
    padding: 100px 0;
    display: flex;
    justify-content: space-between;
    max-width: 1120px;
    margin: 0 auto; }
    @media screen and (max-width: 1160px) {
      .pricing-type {
        margin: 0 15px; } }
    @media screen and (max-width: 1040px) {
      .pricing-type {
        padding: 60px 0; } }
    @media screen and (max-width: 768px) {
      .pricing-type {
        display: inherit; } }
    .pricing-type__box {
      border: 1px solid #bfc2d3;
      flex-basis: 48%;
      padding: 0 80px 50px; }
      @media screen and (max-width: 1160px) {
        .pricing-type__box {
          padding: 0 30px 30px; } }
      @media screen and (max-width: 768px) {
        .pricing-type__box {
          padding: 0 20px 10px;
          margin-bottom: 140px; } }
      @media screen and (max-width: 480px) {
        .pricing-type__box {
          padding: 0 20px 10px;
          margin-bottom: 120px; } }
      .pricing-type__box_icon {
        text-align: center;
        margin-top: -70px; }
        .pricing-type__box_icon img {
          width: 120px; }
      .pricing-type__box_ttl {
        font-size: 24px;
        text-align: center;
        margin-top: 20px; }
        @media screen and (max-width: 1040px) {
          .pricing-type__box_ttl {
            font-size: 20px; } }
      .pricing-type__box_subttl {
        font-size: 16px;
        text-align: center;
        margin-top: 10px;
        font-weight: bold; }
      .pricing-type__box_txt {
        font-size: 16px;
        text-align: left;
        margin: 30px 0 50px; }
        @media screen and (max-width: 1040px) {
          .pricing-type__box_txt {
            font-size: 16px; } }
      .pricing-type__box_dtl_ttl {
        display: inline-block;
        width: 64%;
        padding-bottom: 30px; }
      .pricing-type__box_dtl_ttl.thin {
        padding-bottom: 15px; }
      .pricing-type__box_dtl_prc {
        font-size: 16px;
        font-weight: bold;
        display: inline-block;
        margin: 0;
        width: 33%; }
        @media screen and (max-width: 1040px) {
          .pricing-type__box_dtl_prc {
            font-size: 16px; } }
      .pricing-type__box_dtl_sum {
        border-top: 1px solid #bfc2d3;
        margin-bottom: 25px; }
  .pricing-add {
    max-width: 760px;
    margin: 0 auto 140px auto; }
    @media screen and (max-width: 1040px) {
      .pricing-add {
        margin: 0 15px 80px 15px; } }
    .pricing-add__ttl {
      font-size: 24px;
      font-weight: bold;
      text-align: center;
      margin-bottom: 30px; }
    .pricing-add__txt {
      text-align: center;
      margin-bottom: 20px; }
    .pricing-add__table {
      width: 100%;
      border-collapse: collapse; }
      .pricing-add__table th {
        text-align: left;
        font-weight: normal;
        border: 1px solid #bfc2d3;
        padding: 30px 15px 30px 30px;
        background: #f3f4f9;
        width: 55%; }
        @media screen and (max-width: 1040px) {
          .pricing-add__table th {
            padding: 20px 15px; } }
      .pricing-add__table td {
        font-weight: bold;
        font-size: 16px;
        border: 1px solid #bfc2d3;
        padding-left: 30px;
        width: 45%; }
        @media screen and (max-width: 1040px) {
          .pricing-add__table td {
            padding-left: 15px; } }
    .pricing-add__annotation {
      margin: 1em 0; }

/* Contact */
.contact {
  padding: 190px 0 140px; }
  @media screen and (max-width: 1040px) {
    .contact {
      padding: 60px 0; } }
  .contact-header {
    margin: 3em 0;
    text-align: center;
    position: relative; }
    .contact-header__cap {
      font-size: 20px;
      margin-bottom: 30px;
      font-family: 'Oswald', sans-serif; }
      @media screen and (max-width: 1040px) {
        .contact-header__cap {
          padding-top: 60px;
          font-size: 12px; } }
    .contact-header__title {
      padding-bottom: 140px;
      font-size: 30px; }
      @media screen and (max-width: 1040px) {
        .contact-header__title {
          padding-bottom: 80px;
          font-size: 20px; } }
    .contact-header__image {
      position: absolute;
      width: 300px;
      top: -60px;
      right: 10%; }
      @media screen and (max-width: 1040px) {
        .contact-header__image {
          position: relative;
          width: 200px;
          margin: 0 auto;
          text-align: center;
          right: 0; } }
      .contact-header__image img {
        max-width: 100%; }
      @media screen and (max-width: 1040px) {
        .contact-header__image {
          max-width: 200px; } }
  .contact-form {
    max-width: 760px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .contact-form {
        width: auto;
        margin: 0 15px; } }
    .contact-form__txt {
      font-size: 18px;
      text-align: center;
      margin-bottom: 40px; }
    .contact-form__item {
      margin-bottom: 40px; }
      .contact-form__item_ttl {
        font-weight: bold;
        margin-bottom: 10px; }
      .contact-form__item_input {
        border: 1px solid #bfc2d3;
        width: 100%;
        display: block;
        padding: 25px 20px;
        -webkit-appearance: none;
        border-radius: 0; }
      .contact-form__item_textarea {
        border: 1px solid #bfc2d3;
        width: 100%;
        display: block;
        padding: 25px 20px;
        line-height: 1.5;
        -webkit-appearance: none;
        border-radius: 0; }
      .contact-form__item_select {
        outline: none;
        text-indent: 0.01px;
        text-overflow: '';
        background: none transparent;
        vertical-align: middle;
        font-size: inherit;
        color: inherit;
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button;
        border-radius: 0;
        border: 1px solid #bfc2d3;
        color: #9a9db0;
        width: 100%;
        padding: 25px 20px; }
        @media screen and (max-width: 1040px) {
          .contact-form__item_select {
            margin-bottom: 20px; } }
        .contact-form__item_select_arrow {
          position: relative; }
        .contact-form__item_select_arrow:after {
          position: absolute;
          top: 0px;
          right: 20px;
          bottom: 0;
          width: 0;
          height: 0;
          margin: auto;
          content: '';
          border-top: 6px solid #9a9db0;
          border-right: 6px solid transparent;
          border-left: 6px solid transparent; }
          @media screen and (max-width: 1040px) {
            .contact-form__item_select_arrow:after {
              top: -18px; } }
      .contact-form__item_radio {
        margin-right: 40px; }
        @media screen and (max-width: 1040px) {
          .contact-form__item_radio {
            display: block;
            margin: 0 0 8px 0; } }
        .contact-form__item_radio_option {
          padding-left: 15px; }
        .contact-form__item_radio.block {
          display: block; }
      .contact-form__item_check {
        margin-right: 40px; }
        @media screen and (max-width: 1040px) {
          .contact-form__item_check {
            display: block;
            margin: 0 0 8px 0; } }
        .contact-form__item_check_option {
          padding-left: 15px; }
        .contact-form__item_check.block {
          display: block; }
      .contact-form__item_btn {
        margin: 60px auto 40px;
        display: block;
        color: #fff;
        border-radius: 2px;
        background: #3e48ca;
        height: 58px;
        width: 30%; }
        .contact-form__item_btn:hover, .contact-form__item_btn:active, .contact-form__item_btn:focus {
          background: #666ed5; }
        @media screen and (max-width: 1040px) {
          .contact-form__item_btn {
            margin: 40px auto 20px;
            width: 80%; } }
      .contact-form__item_privacy {
        text-align: center; }
      .contact-form__item_required {
        font-size: 11px;
        font-weight: normal;
        color: #fff;
        background: #f43c3c;
        padding: 3px 8px;
        margin-left: 10px;
        border-radius: 2px; }
      .contact-form__item_error {
        color: #f43c3c;
        margin-top: 10px; }

.contact-confirm {
  max-width: 760px;
  margin: 0 auto; }
  @media screen and (max-width: 1040px) {
    .contact-confirm {
      margin: 0 15px; } }
  .contact-confirm__txt {
    text-align: center;
    margin-bottom: 40px; }
  .contact-confirm__list {
    margin-bottom: 30px;
    width: 100%;
    border-bottom: 1px solid #bfc2d3;
    padding-bottom: 30px; }
  .contact-confirm__ttl {
    display: inline-block;
    font-weight: bold;
    width: 30%; }
    @media screen and (max-width: 768px) {
      .contact-confirm__ttl {
        display: block;
        width: 100%; } }
  .contact-confirm__item {
    width: 70%;
    display: inline-block;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .contact-confirm__item {
        display: block;
        width: 100%; } }
  .contact-confirm__btn {
    margin-top: 60px;
    text-align: center; }
    @media screen and (max-width: 1040px) {
      .contact-confirm__btn {
        margin-top: 40px; } }
    .contact-confirm__btn_back {
      color: #3e48ca;
      border-radius: 2px;
      border: 1px solid #3e48ca;
      background: none;
      height: 58px;
      width: 20%;
      margin-right: 15px; }
      .contact-confirm__btn_back:hover, .contact-confirm__btn_back:active, .contact-confirm__btn_back:focus {
        background: #dee0f6; }
      @media screen and (max-width: 768px) {
        .contact-confirm__btn_back {
          width: 45%;
          margin-right: 10px; } }
    .contact-confirm__btn_send {
      color: #fff;
      border-radius: 2px;
      background: #3e48ca;
      height: 58px;
      width: 20%; }
      .contact-confirm__btn_send:hover, .contact-confirm__btn_send:active, .contact-confirm__btn_send:focus {
        background: #666ed5; }
      @media screen and (max-width: 768px) {
        .contact-confirm__btn_send {
          width: 45%; } }

.contact-thanks {
  max-width: 760px;
  margin: 0 auto;
  text-align: center; }
  .contact-thanks__link {
    margin-top: 30px; }

::-webkit-input-placeholder {
  color: #ccc; }

/*  Service  */
.service {
  padding-top: 95px; }
  @media screen and (max-width: 1040px) {
    .service {
      padding-top: 60px; } }
  .service-header {
    background: url("../img/service/something01.jpg") no-repeat;
    background-position: center top;
    text-align: center;
    color: #fff; }
    .service-header__cap {
      padding-top: 120px;
      font-size: 20px;
      margin-bottom: 30px;
      font-family: 'Oswald', sans-serif; }
      @media screen and (max-width: 1040px) {
        .service-header__cap {
          padding-top: 60px;
          font-size: 12px; } }
    .service-header__title {
      padding-bottom: 160px;
      font-size: 30px; }
      @media screen and (max-width: 1040px) {
        .service-header__title {
          padding-bottom: 80px;
          font-size: 20px; } }
  .service-example {
    margin-bottom: 140px; }
    @media screen and (max-width: 1040px) {
      .service-example {
        margin-bottom: 60px; } }
    .service-example__wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      max-width: 1120px;
      margin: 0 auto; }
    .service-example__box {
      width: 33%;
      padding: 0 15px; }
      @media screen and (max-width: 768px) {
        .service-example__box {
          display: flex;
          width: 100%;
          margin: 30px 0; } }
      @media screen and (max-width: 768px) {
        .service-example__box {
          display: block;
          width: 100%;
          text-align: center; } }
      .service-example__box_img {
        text-align: center;
        margin-bottom: 20px; }
        @media screen and (max-width: 768px) {
          .service-example__box_img {
            margin: 0 30px 0 0;
            flex-basis: 30%; } }
      .service-example__box_img img {
        width: 80%; }
        @media screen and (max-width: 1040px) {
          .service-example__box_img img {
            width: 80%; } }
        @media screen and (max-width: 768px) {
          .service-example__box_img img {
            width: 50%; } }
        @media screen and (max-width: 480px) {
          .service-example__box_img img {
            width: 70%; } }
      .service-example__box_heading {
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 1em; }
      @media screen and (max-width: 768px) {
        .service-example__box_txt {
          flex-basis: 70%;
          text-align: left; } }
    .service-example-footer-link {
      display: flex;
      width: 640px;
      max-width: 100%;
      justify-content: space-around;
      margin: 6em auto -2em auto; }
      .service-example-footer-link a {
        width: 300px; }
        @media screen and (max-width: 768px) {
          .service-example-footer-link a {
            margin: 1em auto; } }
      @media screen and (max-width: 1040px) {
        .service-example-footer-link {
          flex-wrap: wrap;
          margin: 1em auto 4em auto; } }
      @media screen and (max-width: 768px) {
        .service-example-footer-link {
          margin: 1em auto 0 auto; } }
  .service-feature {
    background: #f3f4f9;
    padding-bottom: 140px; }
    @media screen and (max-width: 1040px) {
      .service-feature {
        padding-bottom: 0; } }
    .service-feature__wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      max-width: 1120px;
      margin: 0 auto; }
      @media screen and (max-width: 1040px) {
        .service-feature__wrap {
          padding: 0 20px; } }
    .service-feature__box {
      background: #fff;
      padding: 0 30px 60px;
      width: 32%; }
      @media screen and (max-width: 1040px) {
        .service-feature__box {
          padding: 0 15px 40px;
          margin-bottom: 60px;
          width: 45%; } }
      @media screen and (max-width: 768px) {
        .service-feature__box {
          width: 100%;
          text-align: center; } }
      .service-feature__box_ttl {
        font-size: 20px;
        font-weight: bold;
        text-align: center;
        margin: 40px auto 30px; }
        @media screen and (max-width: 1040px) {
          .service-feature__box_ttl {
            font-size: 16px;
            margin: 20px auto;
            padding: 0 20px; } }
      @media screen and (max-width: 1040px) {
        .service-feature__box_txt {
          text-align: left; } }
      .service-feature__box_img {
        text-align: center;
        margin: -25px auto 20px; }
      .service-feature__box_img img {
        width: 18%; }
    .service-feature-footer-link {
      margin: 6em auto -2em auto; }
      @media screen and (max-width: 1040px) {
        .service-feature-footer-link {
          margin: 1em auto 0 auto;
          padding-bottom: 6em; } }
  .service-flow {
    padding-bottom: 80px;
    max-width: 960px;
    margin: 0 auto; }
    @media screen and (max-width: 1040px) {
      .service-flow {
        margin: 0 15px;
        padding-bottom: 0; } }
    .service-flow__box {
      margin-bottom: 80px;
      display: flex; }
      .service-flow__box_img {
        flex-basis: 30%;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center; }
        @media screen and (max-width: 1040px) {
          .service-flow__box_img {
            flex-basis: 20%;
            align-items: start; } }
        .service-flow__box_img img {
          width: 120px;
          padding: 30px;
          border-radius: 30px;
          height: 120px;
          background-color: #f3f4f9; }
          @media screen and (max-width: 768px) {
            .service-flow__box_img img {
              background-color: #fff;
              width: 40px;
              height: 40px;
              padding: 0;
              border-radius: 0; } }
      .service-flow__box_dtl {
        flex-basis: 70%;
        padding-left: 2em; }
        @media screen and (max-width: 1040px) {
          .service-flow__box_dtl {
            flex-basis: 80%;
            padding-left: 1em; } }
      .service-flow__box_ttl {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 30px; }
        @media screen and (max-width: 1040px) {
          .service-flow__box_ttl {
            font-size: 16px;
            margin-bottom: 10px; } }

/*  Service  */
.product {
  padding-top: 95px; }
  @media screen and (max-width: 1040px) {
    .product {
      padding-top: 60px; } }
  .product-header {
    background: url("../img/product/bg_header.png") no-repeat;
    background-position: center top;
    text-align: center;
    color: #fff;
    background-size: cover; }
    .product-header__cap {
      padding-top: 120px;
      font-size: 20px;
      margin-bottom: 30px;
      font-family: 'Oswald', sans-serif; }
      @media screen and (max-width: 1040px) {
        .product-header__cap {
          padding-top: 60px;
          font-size: 12px; } }
    .product-header__title {
      padding-bottom: 160px;
      font-size: 30px; }
      @media screen and (max-width: 1040px) {
        .product-header__title {
          padding-bottom: 80px;
          font-size: 20px; } }
  .product-feature {
    padding-bottom: 140px;
    max-width: 960px;
    margin: 0 auto; }
    @media screen and (max-width: 1040px) {
      .product-feature {
        margin: 0 15px;
        padding-bottom: 80px; } }
    .product-feature__box {
      margin-bottom: 60px;
      display: flex; }
      @media screen and (max-width: 768px) {
        .product-feature__box {
          display: inherit; } }
      .product-feature__box_img {
        flex-basis: 50%;
        text-align: center; }
        @media screen and (max-width: 1040px) {
          .product-feature__box_img {
            flex-basis: 30%; } }
        .product-feature__box_img img {
          width: 100%; }
      .product-feature__box_dtl {
        flex-basis: 50%;
        margin-left: 30px; }
        @media screen and (max-width: 1040px) {
          .product-feature__box_dtl {
            flex-basis: 70%; } }
        @media screen and (max-width: 768px) {
          .product-feature__box_dtl {
            margin: 15px 0 0 0; } }
      .product-feature__box_ttl {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 30px; }
        @media screen and (max-width: 1040px) {
          .product-feature__box_ttl {
            font-size: 16px;
            margin-bottom: 10px; } }

@media screen and (max-width: 768px) {
  .small {
    font-size: 12px; } }
/*  Service  */
.case {
  padding-top: 95px; }
  @media screen and (max-width: 1040px) {
    .case {
      padding-top: 60px; } }
  .case-header {
    background: url("../img/case/case02.jpg") no-repeat;
    background-position: center top;
    background-size: cover;
    text-align: center;
    color: #fff; }
    .case-header__cap {
      padding-top: 120px;
      font-size: 20px;
      margin-bottom: 30px;
      font-family: 'Oswald', sans-serif; }
      @media screen and (max-width: 1040px) {
        .case-header__cap {
          padding-top: 60px;
          font-size: 12px; } }
    .case-header__title {
      padding-bottom: 160px;
      font-size: 30px; }
      @media screen and (max-width: 1040px) {
        .case-header__title {
          padding-bottom: 80px;
          font-size: 20px; } }
  .case-list {
    padding: 140px 0 80px;
    max-width: 960px;
    margin: 0 auto; }
    @media screen and (max-width: 1040px) {
      .case-list {
        margin: 0 15px;
        padding: 60px 0  0; } }
    .case-list__box {
      margin-bottom: 60px;
      display: flex; }
      @media screen and (max-width: 768px) {
        .case-list__box {
          display: inherit; } }
      .case-list__box_img {
        width: 50%;
        text-align: center; }
        @media screen and (max-width: 768px) {
          .case-list__box_img {
            width: 100%; } }
        .case-list__box_img img {
          max-width: 90%; }
          @media screen and (max-width: 768px) {
            .case-list__box_img img {
              max-width: 100%; } }
      .case-list__box_dtl {
        flex-basis: 50%; }
        @media screen and (max-width: 768px) {
          .case-list__box_dtl {
            margin-top: 20px; } }
      .case-list__box_ttl {
        font-size: 14px;
        font-weight: bold;
        margin-bottom: 30px; }
        @media screen and (max-width: 768px) {
          .case-list__box_ttl {
            margin-bottom: 20px; } }
        .case-list__box_ttl img {
          margin-right: 30px; }
          @media screen and (max-width: 768px) {
            .case-list__box_ttl img {
              display: block; } }
          .case-list__box_ttl img.tegusu {
            margin-bottom: -24px; }
            @media screen and (max-width: 768px) {
              .case-list__box_ttl img.tegusu {
                margin: 0; } }
      .case-list__box_link {
        display: block;
        margin-top: .5em; }

.ge_annotation {
  font-size: 0.8em;
  color: #555; }

.ge_color-primary {
  color: #3e48ca; }

.ge_color-info {
  color: #5964f2; }

.ge_bold {
  font-weight: bold; }

.ge_label {
  background-color: #3e48ca;
  color: #fff;
  border-radius: 10px;
  padding: 10px 14px;
  line-height: 1; }

.ge_price {
  font-size: 0.85rem;
  font-weight: normal;
  padding: 0 2px;
  color: #444; }

/*  Service  */
.article .mainvisual-common {
  display: block; }

.article .mainvisual-common__txt {
  width: 100%;
  padding: 80px 0 0 4em;
  text-align: center; }
  @media screen and (max-width: 1040px) {
    .article .mainvisual-common__txt {
      width: auto;
      padding: 0 15px; } }
  @media screen and (max-width: 768px) {
    .article .mainvisual-common__txt {
      padding: 0 15px;
      margin: 0 15px; } }
  .article .mainvisual-common__txt-title {
    letter-spacing: 0; }

.article {
  padding-top: 95px; }
  @media screen and (max-width: 1040px) {
    .article {
      padding-top: 60px; } }
  .article-head-wrapper {
    position: relative;
    margin: 3em 0;
    padding-bottom: 1em;
    height: auto;
    border-bottom: 1px solid #ccc; }
    @media screen and (max-width: 1040px) {
      .article-head-wrapper {
        margin-top: 6em; } }
  .article-head-figure {
    opacity: 1;
    position: absolute;
    top: 2em;
    right: 2em;
    width: 200px;
    height: 200px;
    z-index: -1; }
    @media screen and (max-width: 1040px) {
      .article-head-figure {
        right: 1em;
        width: 150px;
        height: 150px; } }
    @media screen and (max-width: 768px) {
      .article-head-figure {
        display: none; } }
    .article-head-figure img {
      width: 100%;
      height: auto; }
  .article-head-figure.circle {
    opacity: .7;
    position: absolute;
    top: 2em;
    right: 2em;
    width: 200px;
    height: 200px;
    border-radius: 100px;
    z-index: -1; }
    @media screen and (max-width: 1040px) {
      .article-head-figure.circle {
        display: none; } }
    .article-head-figure.circle img {
      width: 200px;
      height: 200px;
      border-radius: 100px; }
  .article-head-text {
    position: relative;
    padding: 60px 4em 0 4em;
    text-align: center; }
    @media screen and (max-width: 1040px) {
      .article-head-text {
        width: auto;
        padding: 0 15px; } }
    @media screen and (max-width: 768px) {
      .article-head-text {
        padding: 0 15px;
        margin: 0 15px; } }
  .article-head-title {
    margin: 0 auto 3em auto;
    padding: 0 180px;
    text-align: center; }
    @media screen and (max-width: 1040px) {
      .article-head-title {
        width: auto;
        padding: 0 9em; } }
    @media screen and (max-width: 768px) {
      .article-head-title {
        margin-bottom: 3em;
        padding: 0; } }
    .article-head-title h1 {
      display: inline-block;
      font-size: 32px;
      letter-spacing: .1em; }
      @media screen and (max-width: 768px) {
        .article-head-title h1 {
          font-size: 22px; } }
    .article-head-title-category {
      font-size: 20px;
      margin: -1em 0 1.5em 0; }
      @media screen and (max-width: 768px) {
        .article-head-title-category {
          font-size: 16px; } }
    .article-head-title-icon {
      margin-right: .8em;
      display: inline-block;
      vertical-align: top; }
      .article-head-title-icon img {
        width: 26px;
        padding-top: 10px; }
        @media screen and (max-width: 768px) {
          .article-head-title-icon img {
            width: 18px;
            padding-top: 6px; } }
  .article-head-meta p {
    display: inline-block;
    margin: .5em 1em;
    letter-spacing: .1em; }
  .article-head-social {
    margin: 1.5em 0;
    text-align: center;
    font-size: 2em; }
    .article-head-social i {
      margin: 0 .5em; }

.content {
  padding: 1em 0;
  max-width: 680px;
  margin: 0 auto 3em auto;
  font-size: 15px; }
  @media screen and (max-width: 1040px) {
    .content {
      padding: 0 15px 4em 15px;
      margin-bottom: 0; } }
  .content-attribute {
    padding-bottom: 2em;
    margin-bottom: 4em;
    border-bottom: 1px solid #ddd; }
  .content p {
    margin-bottom: 1em; }
  .content h2 {
    font-size: 18px;
    font-weight: bold;
    padding: .5em 1em .4em 1em;
    margin-bottom: 1.5em;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    background-color: #efefef; }
  .content h3 {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: .5em; }
  .content ul {
    padding-left: 2em;
    margin-bottom: 1em; }
  .content li {
    list-style: disc; }
  .content-footer {
    margin: 4em 0 3em 0;
    border-top: 1px dashed #ccc; }
    .content-footer-author {
      margin: .5em 0 3em 0;
      text-align: right;
      font-size: 12px;
      color: #999;
      font-style: italic; }
  .content .annotation {
    padding-top: 1em;
    border-top: 1px dotted #ddd;
    font-size: 12px;
    color: #777; }
  .content .table-wrapper {
    width: 100%;
    overflow: auto; }
  .content table {
    font-size: 13px; }
    .content table caption {
      text-align: left;
      font-size: 15px;
      margin-bottom: .5em; }
    .content table th {
      padding: 15px 5px;
      line-height: 1.5em;
      font-size: 13px;
      border: 1px solid #777; }
    .content table td {
      padding: 25px 5px;
      line-height: 1.5em;
      font-size: 13px;
      border: 1px solid #777; }
  .content .image-minify-l {
    width: 75%;
    margin: 0 auto; }
    @media screen and (max-width: 1040px) {
      .content .image-minify-l {
        width: 90%; } }
  .content .image-minify-m {
    width: 60%;
    margin: 0 auto; }
    @media screen and (max-width: 1040px) {
      .content .image-minify-m {
        width: 75%; } }
  .content .image-minify-s {
    width: 45%;
    margin: 0 auto; }
    @media screen and (max-width: 1040px) {
      .content .image-minify-s {
        width: 60%; } }
  .content hr {
    border: 0;
    border-top: 1px solid #eee; }

.talk {
  padding: 40px 0 4em 0;
  max-width: 680px;
  margin: 0 auto 8em auto; }
  @media screen and (max-width: 1040px) {
    .talk {
      padding: 60px 15px 0 15px; } }
  .talk-introduction {
    margin-bottom: 3em;
    font-weight: bold; }
  .talk-subtitle {
    margin-bottom: 2em;
    font-weight: bold;
    font-size: 1.2em; }
    .talk-subtitle::before {
      content: "■";
      margin-right: .2em; }
  .talk-figure {
    margin-bottom: 3em; }
    .talk-figure figcaption {
      font-size: .9em; }
  .talk-interviewer {
    margin-bottom: 3em;
    padding-left: calc(40px);
    display: flex;
    justify-content: left; }
    .talk-interviewer::before {
      margin-right: .5em;
      display: block;
      content: "- "; }
  .talk-interviewed {
    margin-bottom: 3em;
    display: flex;
    justify-content: left; }
    .talk-interviewed div {
      margin-right: 1em;
      width: 40px;
      height: 40px;
      border-radius: 20px; }
      .talk-interviewed div img {
        width: 40px;
        height: 40px;
        border-radius: 20px; }
    .talk-interviewed p {
      width: calc(100% - 40px); }
  .talk-footer-link {
    margin: 6em auto -2em auto; }

.works {
  border-top: 1px solid #ccc;
  margin: 7em 0 6em 0;
  padding-top: 7em; }
  .works-heading {
    font-weight: bold;
    margin-bottom: 1em; }

.workWrapper {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 1040px) {
    .workWrapper {
      flex-direction: column;
      align-items: center; } }

.work {
  width: 47%;
  margin-bottom: 4em; }
  @media screen and (max-width: 1040px) {
    .work {
      width: calc(100% - 2em); } }
  .work-figure {
    line-height: 1em;
    margin-bottom: .5em; }
    .work-figure img {
      border: 1px solid #eee; }
  .work-title {
    font-weight: bold; }
  .work-description {
    font-size: .9em; }

.introduction {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2em;
  border: 1px solid #ccc; }
  @media screen and (max-width: 1040px) {
    .introduction {
      flex-direction: column;
      padding: 2em; } }
  .introduction-figure {
    flex: 2;
    line-height: 1em;
    text-align: center;
    margin-right: 2em; }
    @media screen and (max-width: 1040px) {
      .introduction-figure {
        margin-right: 0;
        width: 100%; } }
    @media screen and (max-width: 1040px) {
      .introduction-figure img {
        margin-bottom: 1em; } }
  .introduction-textWrapper {
    flex: 3;
    width: 450px;
    font-size: 0.9em; }
    @media screen and (max-width: 1040px) {
      .introduction-textWrapper {
        width: 100%; } }
  .introduction-corporate {
    margin-top: 1em;
    padding-top: .5em;
    font-size: 1.4em;
    font-weight: bold;
    border-top: 1px solid #ccc; }

.entries {
  background-color: #f3f4f9; }

.entriesInner {
  max-width: 960px;
  margin: 0 auto;
  padding: 60px 0px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .entriesInner {
      padding-top: 30px;
      flex-direction: column-reverse; } }

.categories {
  width: 20%; }
  @media screen and (max-width: 768px) {
    .categories {
      width: 100%;
      padding: 0 15px; } }
  .categories-heading {
    font-weight: bold; }
  .categories-list {
    padding: .5em;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee; }
    .categories-list li {
      padding: .5em; }
      .categories-list li a {
        color: #000; }
      .categories-list li.selected a {
        font-weight: bold;
        color: #3e48ca; }
        .categories-list li.selected a::before {
          content: "#";
          padding-right: .2em; }

.entryWrapper {
  width: 70%;
  max-width: 960px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .entryWrapper {
      width: 100%;
      padding: 20px 15px; } }

.entry {
  background-color: #fff;
  display: flex;
  padding: 1em;
  margin-bottom: 1em; }
  @media screen and (max-width: 480px) {
    .entry {
      display: block; } }
  .entry-figure {
    width: 250px;
    height: 160px;
    margin-right: 1em;
    text-align: center; }
    @media screen and (max-width: 480px) {
      .entry-figure {
        width: 100%;
        height: 140px; } }
    .entry-figure img {
      max-height: 100%;
      width: auto; }
      @media screen and (max-width: 768px) {
        .entry-figure img {
          margin-bottom: .5em; } }
  .entry-textWrapper {
    width: calc(100% - 250px);
    padding: 1em; }
    @media screen and (max-width: 768px) {
      .entry-textWrapper {
        width: 100%;
        padding: 1em .5em 0 .5em; } }
  .entry-title {
    margin-bottom: 1em;
    line-height: 1.5em; }
    .entry-title a {
      font-weight: bolder; }

.sitemap {
  max-width: 760px;
  margin: 0 auto;
  padding: 4em 0 8em 0;
  line-height: 2em; }
  @media screen and (max-width: 768px) {
    .sitemap {
      width: auto;
      margin: 0 15px; } }
  .sitemap ul {
    padding-left: 2em;
    margin-bottom: 1em; }
    .sitemap ul li::before {
      content: "|-- "; }

/*  Normalize  */

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