@charset "UTF-8";
@import url("//fonts.googleapis.com/css?family=Lato:100i,300i,400i,700i");
body {
  font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  -webkit-font-smoothing: antialiased; }

/** unmounting in html5 */
/**************************************/
address, article, aside, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

[hidden], command, datalist, menu[type=context], rp, source {
  display: none; }

/** document */
/**************************************/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 62.5%;
  height: 100%; }

body {
  font-size: 13px;
  font-size: 1.3rem;
  height: 100%;
  line-height: 1;
  text-align: left;
  background: #fff;
  padding: 0;
  margin: 0;
  color: #000;
  -webkit-text-size-adjust: none; }

/** h1 h2 h3 h4 h5 */
/**************************************/
h1, h2, h3, h4, h5 {
  font-weight: normal;
  margin: 0;
  padding: 0; }

/** ul ol dl */
/**************************************/
ul, ol, dl {
  list-style: none;
  margin: 0;
  padding: 0; }

li {
  list-style-type: none;
  list-style: none; }

ul.disc {
  list-style:disc;
  margin: 0;
  padding-left:2em;
 line-height:2.0;
}


ul.disc li {
  list-style-type:disc;
  list-style:disc; }



dd {
  margin: 0; }

/** p */
/**************************************/
p {
  line-height: 2.0;
  margin: 0;
  padding: 0;
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    p {
      font-size: 1.05rem; } }

/** tables */
/**************************************/
table {
  font-size: inherit;
  border-collapse: collapse;
  border-spacing: 0; }
  table > caption {
    text-align: left; }
  table th {
    text-align: left;
    margin: 0;
    padding: 0; }
  table td {
    margin: 0;
    padding: 0; }

/** images */
/**************************************/
img {
  border: none;
  vertical-align: bottom; }

/** pre */
/**************************************/
pre {
  border: 1px solid #bfbfbf;
  padding: 5px; }

/** a */
/**************************************/
a {
  color: #2c52a9;
  text-decoration: underline;
  outline: 0; }
  .desktop a:hover {
    text-decoration: none; }

/** form */
/**************************************/
form {
  margin: 0;
  padding: 0; }

input[type="text"], button, textarea, select {
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

/** anchorMenu
/**************************************/
.anchorMenu {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .anchorMenu {
      display: block; } }
  .anchorMenu a {
    width: 286px;
    height: 57px;
    margin-right: 4px;
    line-height: 57px;
    color: #fff;
    background: #2c52a9;
    font-weight: bold;
    display: block;
    text-align: center;
    text-decoration: none;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .anchorMenu a {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 768px) {
      .anchorMenu a {
        width: 100%;
        height: 40px;
        line-height: 40px;
        margin-bottom: 5px; } }

/** bottomMenuMobile
/**************************************/
.bottomMenuMobile {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #464646;
  display: flex;
  justify-content: space-between;
  height: 63px;
  padding: 12px 4.1884816754%;
  z-index: 101;
  display: none;
  -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
  @media only screen and (max-width: 768px) {
    .bottomMenuMobile {
      display: flex; } }
  .is-menuOpened .bottomMenuMobile {
    background: #2c52a9; }
  .bottomMenuMobile a {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    text-decoration: none;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
    -ms-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px; }
  .bottomMenuMobile_trigger {
    width: 11.780104712%;
    margin-top: 3px; }
  .bottomMenuMobile_contact {
    width: 54.9738219895%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold; }
  .bottomMenuMobile_tel {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26.1780104712%; }
    .bottomMenuMobile_tel:before {
      content: '';
      width: 27px;
      height: 27px;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: left top;
      background-image: url("/assets/img/common/icon_tel.png"); }

/** button
/**************************************/
.buttonFill {
  height: 53px;
  line-height: 53px;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .buttonFill {
      height: 35px;
      line-height: 35px; } }
  .buttonFill a, .buttonFill button {
    font-weight: bold;
    display: block;
    text-decoration: none;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
    -ms-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .buttonFill a, .buttonFill button {
        font-size: 1.2rem; } }
  .buttonFill button {
    border: none;
    width: 100%;
    height: 100%; }

.buttonFrame {
  text-align: center; }
  .buttonFrame a, .buttonFrame button {
    height: 68px;
    color: #2c52a9;
    background: #fff;
    display: block;
    text-decoration: none;
    font-weight: bold;
    position: relative;
    border: 1px solid #2c52a9;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .buttonFrame a, .buttonFrame button {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 768px) {
      .buttonFrame a, .buttonFrame button {
        height: 50px; } }
    .buttonFrame a i, .buttonFrame button i {
      display: block;
      position: absolute;
      right: 10px;
      top: 50%;
      margin-top: -5px;
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      height: 5px;
      width: 30px; }
      .buttonFrame a i:before, .buttonFrame button i:before {
        display: block;
        content: '';
        background: #2c52a9;
        height: 1px;
        width: 30px;
        position: absolute;
        transform: translateY(5px); }
      .buttonFrame a i:after, .buttonFrame button i:after {
        display: block;
        content: '';
        background: #2c52a9;
        height: 1px;
        width: 7px;
        position: absolute;
        top: 0px;
        bottom: 0;
        margin: auto;
        right: 0px;
        transform: translateY(0px) rotate(45deg); }
        @media only screen and (max-width: 768px) {
          .buttonFrame a i:after, .buttonFrame button i:after {
            width: 7px;
            transform: translate(1px, 1px) rotate(45deg); } }
    .desktop .buttonFrame a, .desktop .buttonFrame button {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .buttonFrame a:hover, .desktop .buttonFrame button:hover {
        color: #fff;
        background: #2c52a9; }
        .desktop .buttonFrame a:hover i, .desktop .buttonFrame button:hover i {
          right: 5px; }
          .desktop .buttonFrame a:hover i:after, .desktop .buttonFrame a:hover i:before, .desktop .buttonFrame button:hover i:after, .desktop .buttonFrame button:hover i:before {
            background: #fff; }

.button--arrow a, .button--arrow span {
  position: relative; }
  .button--arrow a i, .button--arrow span i {
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -5px;
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    height: 5px;
    width: 50px; }
    .button--arrow a i:before, .button--arrow span i:before {
      display: block;
      content: '';
      background: #fff;
      height: 1px;
      width: 50px;
      position: absolute;
      transform: translateY(5px); }
    .button--arrow a i:after, .button--arrow span i:after {
      display: block;
      content: '';
      background: #fff;
      height: 1px;
      width: 7px;
      position: absolute;
      top: 0px;
      bottom: 0;
      margin: auto;
      right: 0px;
      transform: translateY(0px) rotate(45deg); }
      @media only screen and (max-width: 768px) {
        .button--arrow a i:after, .button--arrow span i:after {
          width: 7px;
          transform: translate(1px, 1px) rotate(45deg); } }
  .desktop .button--arrow a, .desktop .button--arrow span {
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    .desktop .button--arrow a:hover i, .desktop .button--arrow span:hover i {
      right: 5px; }

.button--black a, .button--black button {
  background: #000;
  color: #fff; }
  .desktop .button--black a, .desktop .button--black button {
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    .desktop .button--black a:hover, .desktop .button--black button:hover {
      opacity: .7; }

.button--blue a, .button--blue button {
  background: #2c52a9;
  color: #fff; }
  .desktop .button--blue a, .desktop .button--blue button {
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    .desktop .button--blue a:hover, .desktop .button--blue button:hover {
      opacity: .7; }

.button--download a,
.button--seminar_movie a {
  position: relative; }

  .button--download a:before {
    width: 21px;
    height: 27px;
    content: '';
    position: absolute;
    margin-top: -13.5px;
    left: 20px;
    top: 50%;
    background-image: url("/assets/img/common/icon_download.png");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain; }
    @media only screen and (max-width: 768px) {
      .button--download a:before {
        width: 16px;
        height: 18px;
        left: 5px;
        margin-top: -9px; } }
  .button--seminar_movie a:first-child:before {
    background-image:none;
  }
  .button--seminar_movie a:before {
    width: 29px;
    height: 26px;
    content: '';
    position: absolute;
    margin-top: -13.5px;
    left: 20px;
    top: 50%;
    background-image: url("/assets/img/semiar_movie/icon_seminar_moview.png");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;}
    @media only screen and (max-width: 768px) {
      .button--seminar_movie a:before {
        width: 18px;
        height: 16px;
        left: 5px;
        margin-top: -9px; } }
/** category
/**************************************/
.category {
  display: inline-block;
  color: #2c52a9;
  border: 1px solid #2c52a9;
  padding: 6px 5px;
  line-height: 1;
  background: #fff;
  text-decoration: none;
  font-weight: bold;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  -khtml-border-radius: 3px;
  border-radius: 3px;
  font-size: 1.1rem;
   margin-right: 1%;
  }
  .category:last-child {
    margin-right: 0;
  }
  @media only screen and (max-width: 768px) {
    .category {
      font-size: 0.825rem; } }
  @media only screen and (max-width: 768px) {
    .category {
      padding: 4px;
      line-height: 1.2; } }
  .category--large {
    padding: 10px 18px;
    font-size: 1.3rem; }
    @media only screen and (max-width: 768px) {
      .category--large {
        font-size: 0.975rem; } }
    @media only screen and (max-width: 768px) {
      .category--large {
        padding: 5px 9px; } }
  .category--current {
    background: #2c52a9;
    color: #fff;
    width: 90px;
    text-align: center;
    margin: 10px auto;
    display: block;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .category--current {
        font-size: 1.05rem; } }
    .topSeminar .category--current {
      margin: 15px 0 0; }
  .category--end {
    background: #9d9d9d;
    border-color: #9d9d9d;
    color: #fff;
    width: 90px;
    text-align: center;
    margin: 10px auto;
    display: block;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .category--end {
        font-size: 1.05rem; } }
  .category--fill {
    background: #2c52a9;
    color: #fff; }

/** categoryList
/**************************************/
.categoryList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
    .categoryList--wide {
      justify-content: flex-start; } }
  .categoryList--wide a {
    width: 180px;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .categoryList--wide a {
        width: 48%; } }
  .categoryList a {
    margin: 0 1% 5px 0;
    display: block;
    color: #2c52a9;
    border: 1px solid #2c52a9;
    /*padding: 10px 15px;*/
    padding: 10px 4px;
    text-decoration: none;
    font-weight: bold;
    background: #fff;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
    -ms-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
    font-size: 1.3rem; }
    @media only screen and (max-width: 768px) {
      .categoryList a {
        font-size: 0.975rem; } }
    @media only screen and (max-width: 768px) {
      .categoryList a {
        display: inline-block;
        margin: 0 5px 5px 0;
        padding: 5px 7px; } }
    .desktop .categoryList a {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .categoryList a:hover {
        background: #2c52a9;
        color: #fff; }

/** clientLabel
/**************************************/
.clientLabel {
  color: #969696;
  line-height: 1.4;
  font-size: 1.3rem; }
  @media only screen and (max-width: 768px) {
    .clientLabel {
      font-size: 0.975rem; } }
  .clientLabel span {
    color: #2c52a9; }
    @media only screen and (max-width: 768px) {
      .clientLabel span {
        display: block; } }

/** contactBox
/**************************************/
.contactBox {
  background: #163f6c;
  text-align: center;
  padding: 20px 30px; }
  @media only screen and (max-width: 768px) {
    .contactBox {
      padding: 15px; } }
  .contactBox_title {
    color: #fff;
    display: inline-block;
    font-size: 2.2rem; }
    @media only screen and (max-width: 768px) {
      .contactBox_title {
        font-size: 1.95rem; } }
    @media only screen and (max-width: 768px) {
      .contactBox_title {
        margin-bottom: 0;
        font-size: 1.8rem; } }
    .contactBox_title.has-border {
      margin-bottom: 25px;
      border-bottom: 1px solid #fff; }
  .contactBox_text {
    color: #fff;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .contactBox_text {
        font-size: 1.05rem; } }
  .contactBox_column {
    margin-top: 25px;
    border: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    height: 90px; }
    @media only screen and (max-width: 768px) {
      .contactBox_column {
        display: block;
        height: auto;
        margin-top: 15px; } }
  .contactBox_tel {
    color: #fff;
    font-weight: bold;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.2rem; }
    @media only screen and (max-width: 768px) {
      .contactBox_tel {
        font-size: 2.4rem; } }
    @media only screen and (max-width: 768px) {
      .contactBox_tel {
        width: 100%;
        padding: 5px 0; } }
    .contactBox_tel i {
      display: block;
      width: 29px;
      height: 40px;
      margin: 0 10px -2px 0;
      background-image: url("/assets/img/common/icon_tel.png");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: left top; }
      @media only screen and (max-width: 768px) {
        .contactBox_tel i {
          margin-bottom: -10px; } }
  .contactBox_button {
    width: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    position: relative;
    text-decoration: none;
    color: #000;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .contactBox_button {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 768px) {
      .contactBox_button {
        width: 100%;
        display: block;
        padding: 15px 0; } }
    .desktop .contactBox_button {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .contactBox_button:hover {
        opacity: .9; }
        .desktop .contactBox_button:hover i {
          right: 5px; }
    .contactBox_button i {
      width: 58px;
      height: 7px;
      display: inline-block;
      position: absolute;
      top: 50%;
      right: 15px;
      margin-top: -3px;
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      @media only screen and (max-width: 768px) {
        .contactBox_button i {
          width: 38px;
          margin-top: -6px;
          right: 10px; } }
      .contactBox_button i:before {
        content: '';
        background: #181818;
        width: 100%;
        height: 1px;
        display: block;
        position: absolute;
        right: 1px;
        bottom: 0; }
      .contactBox_button i:after {
        content: '';
        background: #181818;
        width: 13px;
        height: 1px;
        display: block;
        position: absolute;
        right: 0;
        bottom: 3px;
        -webkit-transform: rotate(30deg);
        -moz-transfrom: rotate(30deg);
        -ms-transform: rotate(30deg);
        -o-transform: rotate(30deg);
        transform: rotate(30deg); }

/** crumb
/**************************************/
@media only screen and (max-width: 768px) {
  .crumb {
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    display: none; } }

.crumb--bottom {
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .crumb--bottom {
      width: 100%; } }
  @media only screen and (max-width: 768px) {
    .crumb--bottom {
      display: none; } }

.crumb_list {
  display: flex;
  align-items: center; }
  @media only screen and (max-width: 768px) {
    .crumb_list {
      padding: 5px 10px;
      overflow-x: scroll;
      background-color: #FFF;
      border-bottom: solid 1px #CCC;
      white-space: nowrap;
      -webkit-overflow-scrolling: touch; }
      .crumb_list::-webkit-scrollbar {
        height: 2px; }
      .crumb_list::-webkit-scrollbar-track {
        background-color: white; }
      .crumb_list::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.3); } }

.hero .crumb {
  position: absolute;
  left: 0;
  top: 100px;
  margin-left: 10px;
  z-index: 10; }
  @media only screen and (max-width: 768px) {
    .hero .crumb {
      top: 0;
      width: 100%;
      background: #fff;
      margin-left: 0; } }

.crumb_item {
  font-size: 1.0rem;
  font-style: normal; }
  .crumb_item:first-child a {
    width: 20px;
    height: 20px;
    display: block;
    text-decoration: none;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url("/assets/img/common/icon_home_white.png"); }
  .crumb_item a {
    position: relative;
    margin-right: 20px;
    text-decoration: none; }
    .crumb_item a:before {
      position: absolute;
      right: -10px;
      top: 50%;
      margin-top: -3px; }
    @media only screen and (max-width: 768px) {
      .crumb_item a {
        color: #000; } }
    .desktop .crumb_item a {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .crumb_item a:hover {
        opacity: 0.6; }

.crumb--white .crumb_item:first-child a {
  background-image: url("/assets/img/common/icon_home_white.png"); }
  @media only screen and (max-width: 768px) {
    .crumb--white .crumb_item:first-child a {
      background-image: url("/assets/img/common/icon_home_black.png"); } }

.crumb--white .crumb_item a {
  color: #fff; }
  .crumb--white .crumb_item a:before {
    content: '';
    width: 4px;
    height: 4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
    @media only screen and (max-width: 768px) {
      .crumb--white .crumb_item a:before {
        color: #000;
        border-color: #000; } }

.crumb--white .crumb_item span {
  color: #fff; }
  @media only screen and (max-width: 768px) {
    .crumb--white .crumb_item span {
      color: #000; } }

.crumb--black .crumb_item:first-child a {
  background-image: url("/assets/img/common/icon_home_black.png"); }
  .crumb--black .crumb_item:first-child a:before {
    border-color: #000; }

.crumb--black .crumb_item a {
  color: #000; }
  .crumb--black .crumb_item a:before {
    content: '';
    width: 4px;
    height: 4px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }

.crumb--black .crumb_item span {
  color: #000; }

/** footer
/**************************************/
.footer {
  background: #464646;
  padding: 50px 0;
  margin-top: 10px; }
  @media only screen and (max-width: 768px) {
    .footer {
      display: none; } }
  .footer a {
    color: #fff;
    text-decoration: none; }
  .footer_wrap {
    display: flex;
    justify-content: space-between;
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 768px) {
      .footer_wrap {
        width: 100%; } }
  .footer_logo {
    width: 170px;
    height: 78px;
    margin-bottom: 35px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url("/assets/img/common/logo_white.png");
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden; }
  .footer_copyright {
    color: #fff;
    text-align: center;
    margin-top: 50px;
    font-size: 1.2rem; }
    @media only screen and (max-width: 768px) {
      .footer_copyright {
        font-size: 0.9rem; } }
  .footer .footerMenuMain {
    width: 180px; }
    .footer .footerMenuMain > li + li a {
      border-top: none; }
    .footer .footerMenuMain > li > a{
      border-top: 1px solid #6b6b6b;
      border-bottom: 1px solid #6b6b6b;
      font-size: 1.3rem;
      font-weight: bold;
      padding: 12px 5px;
      display: block;
      line-height: 1.4; }
      .desktop .footer .footerMenuMain > li > a,
.desktop .footer .footerMainMenu > p > a{
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .footer .footerMenuMain > li > a:hover,
.desktop .footer .footerMainMenu > p > a:hover{
          opacity: 0.5; }
  .footer .footerMenuSub {
    margin-top: 20px; }
    .footer .footerMenuSub > li > a {
      font-size: 1.3rem;
      padding: 6px 5px;
      display: block;
      line-height: 1.4; }
      .desktop .footer .footerMenuSub > li > a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .footer .footerMenuSub > li > a:hover {
          opacity: 0.5; }
  .footer .is-facebook {
    display: block; }
    .desktop .footer .is-facebook {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .footer .is-facebook:hover {
        opacity: .7; }
    .footer .is-facebook i {
      width: 41px;
      height: 41px;
      display: block;
      background-image: url("/assets/img/common/icon_facebook.png");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: left top; }
/*----------------------------------------------------19/09/10追加-----*/
.footer .footer_columnWide .footer_column{
  float:left;
  margin-right: 30px;

}

.footer .footer_columnWide .footer_column:last-child{
  margin-right: 0;
  /*width:300px;*/
}

.footer .footer_columnWide .footerMenuMain{
  width:230px;
}
.footer .footerMainMenu > p > a{
      border-top: 1px solid #6b6b6b;
      border-bottom: 1px solid #6b6b6b;
      font-size: 1.3rem;
      font-weight: bold;
      padding: 12px 5px;
      display: block;
      line-height: 1.4; }

.footer .catettl{
  color:#fff;
  font-weight: bold;
  margin-bottom: 5px;
}

.globalMenuMobile_child p.catettl{
  background-color:#eee;
  font-weight: bold;
  font-size:115%;
  padding-left: 1em;
}

/*----------------------------------------------------//19/09/10追加-----*/

@media only screen and (max-width: 768px) {
        .footer .is-facebook i {
          margin: 20px auto; } }

/** form
/**************************************/
input[type="radio"] {
  margin-right: 5px;
  cursor: pointer; }
  input[type="radio"].is-large {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    margin-right: 0.5em; }

label + input[type="radio"] {
  /*margin-left: 25px;*/
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    label + input[type="radio"] {
      font-size: 1.05rem; } }

.textField input[type="text"],
.textField textarea,
.textArea input[type="text"],
.textArea textarea {
  border: 1px solid #d2d2d2;
  padding: 12px 8px;
  width: 100%;
  font-size: 1.5rem; }
  @media only screen and (max-width: 768px) {
    .textField input[type="text"],
    .textField textarea,
    .textArea input[type="text"],
    .textArea textarea {
      font-size: 1.125rem; } }
  @media only screen and (max-width: 768px) {
    .textField input[type="text"],
    .textField textarea,
    .textArea input[type="text"],
    .textArea textarea {
      padding: 7px 5px; } }

.textField--230,
.textArea--230 {
  width: 230px; }
  @media only screen and (max-width: 768px) {
    .textField--230,
    .textArea--230 {
      width: 100%; } }

.textField--full,
.textArea--full {
  width: 100%; }
  @media only screen and (max-width: 768px) {
    .textField--full,
    .textArea--full {
      width: 100% !important; } }

@media only screen and (max-width: 768px) {
  .textField,
  .textArea {
    width: auto; } }

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

/** blogSearchForm
/**************************************/
.blogSearchForm--blogList {
  width: 350px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .blogSearchForm--blogList {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }

.blogSearchForm form {
  position: relative; }

.blogSearchForm_button {
  width: 28px;
  height: 28px;
  display: block;
  position: absolute;
  right: 12px;
  top: 50%;
  margin-top: -14px;
  z-index: 1;
  border: none;
  background-size: contain;
  background-color: transparent;
  background-image: url("/assets/img/common/icon_search.png"); }
  @media only screen and (max-width: 768px) {
    .blogSearchForm_button {
      width: 20px;
      height: 20px;
      margin-top: -10px; } }

.blogSearchForm_input {
  height: 50px;
  background: #f8f8f8;
  border: 1px solid #bebebe;
  padding: 0 15px;
  width: 100%;
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .blogSearchForm_input {
      font-size: 1.05rem; } }
  @media only screen and (max-width: 768px) {
    .blogSearchForm_input {
      height: 35px;
      padding: 0 10px; } }
  .blogSearchForm_input::-webkit-input-placeholder {
    color: #ccc;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .blogSearchForm_input::-webkit-input-placeholder {
        font-size: 1.05rem; } }

/** entryForm
/**************************************/
.entryForm {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center; }
  @media only screen and (max-width: 768px) {
    .entryForm {
      display: block; } }
  .entryForm_item {
    border-bottom: 1px solid #eaeaea;
    padding: 15px 0;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 768px) {
      .entryForm_item {
        display: block;
        padding: 10px 0; } }
    .entryForm_item.is-full {
      display: block;
      width: 100%; }
      .entryForm_item.is-full .entryForm_title,
      .entryForm_item.is-full .entryForm_body {
        width: 100%; }
      .entryForm_item.is-full .entryForm_title {
        margin-bottom: 15px; }
        @media only screen and (max-width: 768px) {
          .entryForm_item.is-full .entryForm_title {
            margin-bottom: 10px; } }
  .entryForm_title {
    width: 220px;
    font-weight: bold;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .entryForm_title {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 768px) {
      .entryForm_title {
        width: 100%;
        margin-bottom: 10px; } }
    .entryForm_title em {
      font-weight: bold;
      font-style: normal;
      color: #f22608;
      margin-left: 10px;
      font-size: 1.4rem; }
      @media only screen and (max-width: 768px) {
        .entryForm_title em {
          font-size: 1.05rem; } }
  .entryForm_body {
    width: 570px;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 768px) {
      .entryForm_body {
        width: 100%;
        flex-wrap: nowrap; } }
    .entryForm_body textarea {
      height: 150px; }
      @media only screen and (max-width: 768px) {
        .entryForm_body textarea {
          height: 100px; } }
    .entryForm_body input[type="text"],
    .entryForm_body textarea {
      background: #f8f8f8; }
    .entryForm_body label {
      font-size: 1.4rem; }
      @media only screen and (max-width: 768px) {
        .entryForm_body label {
          font-size: 1.05rem; } }
  .entryForm_label {
    color: #323232;
    margin-right: 10px;
    font-size: 1.5rem; }
    @media only screen and (max-width: 768px) {
      .entryForm_label {
        font-size: 1.125rem; } }
    .textField + .entryForm_label {
      margin-left: 30px; }
  .entryForm_radio li {
    margin-bottom: 10px; }
    @media only screen and (max-width: 768px) {
      .entryForm_radio li {
        text-indent: -2em;
        padding-left: 2em;
        line-height: 1.4; } }

/** entryFormAgree
/**************************************/
.entryFormAgree {
  text-align: center;
  padding: 35px 0; }
  .entryFormAgree_title {
    margin-bottom: 20px;
    font-size: 1.5rem; }
    @media only screen and (max-width: 768px) {
      .entryFormAgree_title {
        font-size: 1.125rem; } }
  .entryFormAgree_select {
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .entryFormAgree_select {
        font-size: 1.2rem; } }

/** globalMenu
/**************************************/
.globalMenu {
  display: flex;
  height: 100%; }
  @media only screen and (max-width: 768px) {
    .globalMenu {
      display: none; } }
  .globalMenu_parent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%; }
  .globalMenu_item {
    height: 100%;
    display: flex;
    align-items: center; }
    .globalMenu_item.js-globalMenuChild {
      margin-right: 10px; }
    .globalMenu_item.is-openGlobalMenu > a {
      color: #2c52a9; }
      .globalMenu_item.is-openGlobalMenu > a i {
        top: 0px; }
        .globalMenu_item.is-openGlobalMenu > a i:before {
          content: '';
          width: 5px;
          height: 5px;
          border-top: 2px solid #2c52a9;
          border-right: 2px solid #2c52a9;
          -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }

    .globalMenu_item > a {
      height: 100%;
      display: block;
      font-size: 1.24rem;/* edit @ 20190405 */
      font-weight: bold;
      letter-spacing: 0.1em;
      padding: 0px 7px;/* edit @ 20190405 */
      line-height: 94px;
      text-decoration: none;
      color: #181818;
      position: relative; }
      .desktop .globalMenu_item > a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .globalMenu_item > a:hover {
          color: #2c52a9; }
          .desktop .globalMenu_item > a:hover i:before {
            border-color: #2c52a9; }
      .globalMenu_item > a i {
        position: absolute;
        right: 3px;
        top: -4px;
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .globalMenu_item > a i:before {
          display: inline-block;
          -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          content: '';
          width: 5px;
          height: 5px;
          border-top: 2px solid #181818;
          border-right: 2px solid #181818;
          -webkit-transform: rotate(135deg);
          transform: rotate(135deg); }
    .globalMenu_item.is-current:before {
      position: absolute;
      bottom: 0;
      left: 16px;
      height: 3px;
      width: calc(100% - 32px);
      background: #000;
      content: ''; }

/** globalMenuChild
/**************************************/
.globalMenuChild {
  top: 100px;
  left: 25px;
  position: absolute;
  z-index: 502;
  background: #fff;
  transform: translate3d(0, -10px, 0);
  text-align: left;
  width: calc(100% - 50px);
  border-top: 1px solid #b2b2b2;
  padding-top: 30px;
  -webkit-transition: 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  -moz-transition: 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  transition: 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  -moz-transition-delay: 0s;
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  -ms-transition-delay: 0s;
  transition-delay: 0s;
  visibility: hidden;
  opacity: 0;
  pointer-events: none; }
  .is-openGlobalMenu .globalMenuChild {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    -moz-transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    -ms-transition-delay: 0.3s;
    transition-delay: 0.3s; }
  .globalMenuChild_title {
    font-size: 2.0rem;
    color: #181818;
    text-decoration: none;
    font-weight: bold;
    position: relative;
    margin-bottom: 30px;
    display: inline-block; }

  #service .globalMenuChild_title {
    font-size: 2.0rem;
    color: #181818;
    text-decoration: none;
    font-weight: bold;
    position: relative;
    margin-bottom: 30px;
    width:100%;
    display: block; }

    .desktop .globalMenuChild_title {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .globalMenuChild_title:hover {
        color: #2c52a9; }
        .desktop .globalMenuChild_title:hover i {
          right: -85px; }
    .globalMenuChild_title i {
      position: absolute;
      right: -80px;
      top: 5px;
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      height: 5px;
      width: 60px; }

#service .globalMenuChild_title i {
      position: absolute;
      left: 8.5em;
      top: 5px;
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      height: 5px;
      width: 60px; }
      .globalMenuChild_title i:before {
        display: block;
        content: '';
        background: #bfbfbf;
        height: 1px;
        width: 60px;
        position: absolute;
        transform: translateY(5px); }
      .globalMenuChild_title i:after {
        display: block;
        content: '';
        background: #bfbfbf;
        height: 1px;
        width: 7px;
        position: absolute;
        top: 0px;
        bottom: 0;
        margin: auto;
        right: 0px;
        transform: translateY(0px) rotate(45deg); }
        @media only screen and (max-width: 768px) {
          .globalMenuChild_title i:after {
            width: 7px;
            transform: translate(1px, 1px) rotate(45deg); } }
  .globalMenuChild_list {
    display: flex;
    flex-wrap: wrap; }
#service .globalMenuChild_list{
  float:left;
  width:31%;
  margin-right: 2.2%;
}
#service .globalMenuChild_item{
  display: block;
  width:100%;
}
#service .globalMenuChild_item:nth-child(3n) {
      margin-right: 3%; }
.header #service .catettl{
  font-weight:bold;
  font-size:120%;
  margin-bottom: 10px;
}
  .globalMenuChild_item {
    width: 31%;
    margin-right: 3%; }
    .globalMenuChild_item:nth-child(3n) {
      margin-right: 0; }
    .globalMenuChild_item:nth-child(1), .globalMenuChild_item:nth-child(2), .globalMenuChild_item:nth-child(3) {
      border-top: 1px dotted #ccc; }


#service .globalMenuChild_item:nth-child(1),
#service .globalMenuChild_item:nth-child(2){
      border-top: 1px dotted #ccc; }

#service .globalMenuChild_item:nth-child(3)
{
      border-top: none; }


.desktop .globalMenuChild_item {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .globalMenuChild_item:hover i {
        right: 0; }
    .globalMenuChild_item a {
      font-size: 1.3rem;
      display: block;
      line-height: 1.4;
      border-bottom: 1px dotted #ccc;
      text-decoration: none;
      color: #181818;
      font-weight: bold;
      padding: 12px 0;
      position: relative; }
      .globalMenuChild_item a i {
        position: absolute;
        right: 5px;
        top: 50%;
        margin-top: -5px;
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        height: 5px;
        width: 35px; }
        .globalMenuChild_item a i:before {
          display: block;
          content: '';
          background: #bfbfbf;
          height: 1px;
          width: 35px;
          position: absolute;
          transform: translateY(5px); }
        .globalMenuChild_item a i:after {
          display: block;
          content: '';
          background: #bfbfbf;
          height: 1px;
          width: 7px;
          position: absolute;
          top: 0px;
          bottom: 0;
          margin: auto;
          right: 0px;
          transform: translateY(0px) rotate(45deg); }
          @media only screen and (max-width: 768px) {
            .globalMenuChild_item a i:after {
              width: 7px;
              transform: translate(1px, 1px) rotate(45deg); } }
      .desktop .globalMenuChild_item a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .globalMenuChild_item a:hover {
          color: #2c52a9; }

/** globalMenuMobile
/**************************************/
.globalMenuMobile {
  height: calc(100% - 63px);
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  pointer-events: none;
  visibility: hidden;
  -webkit-transform-origin: center bottom;
  -moz-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
  -o-transform-origin: center bottom;
  transform-origin: center bottom; }
  @media only screen and (min-width: 768px) {
    .globalMenuMobile {
      display: none; } }
  .is-menuOpened .globalMenuMobile {
    display: flex;
    visibility: visible;
    pointer-events: auto; }
  .globalMenuMobile_overlay {
    background: #fff;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    -webkit-transform-origin: bottom center;
    -moz-transform-origin: bottom center;
    -ms-transform-origin: bottom center;
    -o-transform-origin: bottom center;
    transform-origin: bottom center; }
  .globalMenuMobile_content {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; }
  .globalMenuMobile_parent {
    width: 100%;
    border-top: 1px solid #c7c7c7; }
    .globalMenuMobile_parent > li {
      border-bottom: 1px solid #c7c7c7; }
      .globalMenuMobile_parent > li > span,
      .globalMenuMobile_parent > li > a {
        display: block;
        padding: 20px 3.2722513089%;
        font-size: 1.4rem;
        position: relative;
        text-decoration: none;
        color: #000;
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .globalMenuMobile_parent > li > span i,
        .globalMenuMobile_parent > li > a i {
          position: absolute;
          top: 50%;
          display: block;
          right: 20px;
          width: 12px;
          height: 12px;
          margin-top: -5px;
          -webkit-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          -moz-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          -o-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .globalMenuMobile_parent > li > span i:before, .globalMenuMobile_parent > li > span i:after,
          .globalMenuMobile_parent > li > a i:before,
          .globalMenuMobile_parent > li > a i:after {
            position: absolute;
            background-color: #787878;
            content: ''; }
          .globalMenuMobile_parent > li > span i:before,
          .globalMenuMobile_parent > li > a i:before {
            opacity: 1;
            top: 5px;
            left: 0;
            width: 12px;
            height: 2px; }
          .globalMenuMobile_parent > li > span i:after,
          .globalMenuMobile_parent > li > a i:after {
            top: 0;
            left: 5px;
            width: 2px;
            height: 12px; }
        .globalMenuMobile_parent > li > span.is-opened,
        .globalMenuMobile_parent > li > a.is-opened {
          background: #191919;
          color: #fff; }
          .globalMenuMobile_parent > li > span.is-opened i,
          .globalMenuMobile_parent > li > a.is-opened i {
            -webkit-transform: rotate(135deg);
            -moz-transfrom: rotate(135deg);
            -ms-transform: rotate(135deg);
            -o-transform: rotate(135deg);
            transform: rotate(135deg);
            -webkit-transform-origin: center center;
            -moz-transform-origin: center center;
            -ms-transform-origin: center center;
            -o-transform-origin: center center;
            transform-origin: center center; }
            .globalMenuMobile_parent > li > span.is-opened i:before, .globalMenuMobile_parent > li > span.is-opened i:after,
            .globalMenuMobile_parent > li > a.is-opened i:before,
            .globalMenuMobile_parent > li > a.is-opened i:after {
              background-color: #fff; }
  .globalMenuMobile_child {
    display: none;
    padding: 10px 0; }
    .globalMenuMobile_child > li > a {
      padding: 10px 3.9267015707%;
      display: block;
      text-decoration: none;
      color: #000; }
  .globalMenuMobile_sub {
    background: #464646; }
    .globalMenuMobile_sub > li {
      border-bottom: 1px solid #6b6b6b; }
      .globalMenuMobile_sub > li:last-child {
        border-bottom: none; }
      .globalMenuMobile_sub > li > a {
        color: #fff;
        font-size: 1.3rem;
        padding: 15px 3.2722513089%;
        display: block;
        text-decoration: none; }
        .globalMenuMobile_sub > li > a i.is-facebook {
          width: 41px;
          height: 41px;
          display: block;
          background-image: url("/assets/img/common/icon_facebook.png");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: left top; }

/** globalMenuMobileSearch
/**************************************/
.globalMenuMobileSearch {
  padding: 20px 0; }
  .globalMenuMobileSearch form {
    position: relative;
    width: 92.9319371728%;
    margin-left: auto;
    margin-right: auto; }
  .globalMenuMobileSearch_button {
    width: 37px;
    height: 37px;
    display: block;
    position: absolute;
    right: 8px;
    top: 50%;
    margin-top: -18.5px;
    z-index: 6;
    border: none;
    background-size: contain;
    background-color: transparent;
    background-image: url("/assets/img/common/icon_search.png"); }
  .globalMenuMobileSearch_input {
    height: 50px;
    font-size: 1.4rem;
    background: #fff;
    border: 2px solid #d6d6d6;
    padding: 0 15px;
    width: 100%;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    -o-border-radius: 25px;
    -ms-border-radius: 25px;
    -khtml-border-radius: 25px;
    border-radius: 25px; }
    .globalMenuMobileSearch_input::-webkit-input-placeholder {
      color: #ccc;
      font-size: 1.2rem; }

/** header
/**************************************/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500; }
  .is-top .header {
    transform: translateY(-100px);
    -webkit-transition: 1.4s cubic-bezier(0.19, 1, 0.22, 1);
    -moz-transition: 1.4s cubic-bezier(0.19, 1, 0.22, 1);
    -o-transition: 1.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: 1.4s cubic-bezier(0.19, 1, 0.22, 1); }
    .is-loaded .is-top .header {
      transform: translateY(0); }
  @media only screen and (max-width: 768px) {
    .header {
      position: static;
      border-bottom: 1px solid #dedede; } }
  .header_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    background: #fff;
    height: 94px;
    padding: 0 25px;
    position: relative;
    width: 1300px;/* edit @ 201904 */
    margin-left: auto;
    margin-right: auto;
    -webkit-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    -moz-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    -o-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
    @media only screen and (min-width: 768px) {
      .header_wrap {
        -webkit-border-bottom-right-radius: 10px;
        -webkit-border-bottom-left-radius: 10px;
        -moz-border-radius-bottomright: 10px;
        -moz-border-radius-bottomleft: 10px;
        border-bottom-right-radius: 10px;
        border-bottom-left-radius: 10px;
        -webkit-box-shadow: 0px 2px 9px -2px rgba(0, 0, 0, 0.38);
        -moz-box-shadow: 0px 2px 9px -2px rgba(0, 0, 0, 0.38);
        box-shadow: 0px 2px 9px -2px rgba(0, 0, 0, 0.38); } }
    @media only screen and (max-width: 768px) {
      .header_wrap {
        padding: 0 15px;
        width: 100%;
        height: 65px !important;
        /*justify-content: center;*/ } }
  .header_logo {
    width: 35%;/* edit @ 20190405 */
    height: 53px;
    margin-top: 20px;
    background-size: contain;
    background-image: url("/assets/img/common/logo_black.png");
    background-repeat: no-repeat;
    background-position: left top;
    /*@include textOut;*/ }
    .headerEng_4_SP{display: none;}
    @media only screen and (max-width: 768px) {
      .header_logo {
        /*width: (171px / 2);*/
        width: 100%;
        height: 39px;
        margin-top: 15px; } 
        .headerEng_4_SP{display: flex; align-items: center; text-align: center;height: 100%;padding-left: 1em;position: relative;}
        .headerEng_4_SP a:before{
            position: absolute;
            content: "";
            border-left: 1px solid #ccc;
            left: 0;
            top: 18px;
            height: 28px;
        }
      }

    .header_logo a {
      vertical-align: middle;
      display: inline-block;
      height: 100%;
      width: 27%;/* edit @ 20190405 */ }
    .header_logo p {
      font-size: 11px;
      width: 65%;
      display: inline-block;
      vertical-align: middle;
      height: 100%;
      line-height: 5;
      text-align: left; }

      @media only screen and (max-width: 768px) {
        .header_logo p {
          font-size: 1px;
          line-height: 4;
          text-align: left; } }

/** headerSearch
/**************************************/
.headerSearch {
  margin: 29px 7px 0 0;/* edit @ 20190405 */
  position: relative; }
  .headerSearch_trigger {
    width: 29px;
    height: 29px;
    display: block;
    position: relative;
    z-index: 6;
    background-size: contain;
    background-image: url("/assets/img/common/icon_search_v2.png"); }
  .headerSearch_content {
    z-index: 5;
    position: absolute;
    right: -5px;
    top: -4px;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
  .headerSearch_input {
    height: 36px;
    width: 254px;
    font-size: 1.2rem;
    background: #fff;
    border: 2px solid #d6d6d6;
    padding: 0 15px;
    -moz-border-radius: 18px;
    -webkit-border-radius: 18px;
    -o-border-radius: 18px;
    -ms-border-radius: 18px;
    -khtml-border-radius: 18px;
    border-radius: 18px; }
    .headerSearch_input::-webkit-input-placeholder {
      color: #ccc;
      font-size: 1.2rem; }
  .headerSearch:hover .headerSearch_content {
    visibility: visible;
    transform: translate3d(0, 0, 0);
    opacity: 1;
    pointer-events: auto; }

/** headlineLv1
/**************************************/
.headlineLv1 {
  font-weight: bold;
  color: #323232;
  border-bottom: 2px solid #ccc;
  padding-bottom: 15px;
  line-height: 1.4;
  font-size: 2.7rem; }
  @media only screen and (max-width: 768px) {
    .headlineLv1 {
      font-size: 2.025rem; } }
  @media only screen and (max-width: 768px) {
    .headlineLv1 {
      font-size: 1.6rem;
      padding-bottom: 10px; } }

/** headlineLv2
/**************************************/
.headlineLv2 {
  text-align: center; }
  .headlineLv2 .is-en {
    font-style: italic;
    color: #2c52a9;
    display: block;
    margin-bottom: 15px;
    letter-spacing: .05em;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 3rem; }
    .noflex4blog .headlineLv2 .is-en {
      display: inline-block;
      vertical-align: top;
      margin-right: 20px;
    }
    @media only screen and (max-width: 768px) {
      .headlineLv2 .is-en {
        font-size: 2.25rem; }
        .noflex4blog .headlineLv2 .is-en {
        display: block;
        margin-right: auto;
      }}
  .headlineLv2 .is-jp {
    display: block;
    font-weight: bold;
    font-size: 1.8rem; }
    .noflex4blog .headlineLv2 .is-jp {
      display: inline-block;
      vertical-align: top;
      font-weight: normal;
      padding-top: 8px;
    }
    @media only screen and (max-width: 768px) {
      .headlineLv2 .is-jp {
        font-size: 1.35rem; }
        .noflex4blog .headlineLv2 .is-jp {
          display: block;
          font-size: 1.1rem;
        }
      }
  .headlineLv2--left {
    text-align: left; }
    @media only screen and (max-width: 768px) {
      .headlineLv2--left {
        text-align: center; } }
  .headlineLv2--side {
    text-align: left;
    display: flex;
    align-items: center;
    vertical-align: middle; }
    .headlineLv2--side span {
      display: inline-block !important; }
    .headlineLv2--side .is-en {
      margin: 0 10px 0 0; }

/** headlineLv3
/**************************************/
.headlineLv3, .wysiwyg h2 {
  font-weight: bold;
  line-height: 1.4;
  border-bottom: 2px solid #2c52a9;
  padding-bottom: 20px;
  margin-bottom: 30px;
  font-size: 2.3rem; }
  @media only screen and (max-width: 768px) {
    .headlineLv3, .wysiwyg h2 {
      font-size: 1.725rem; } }
  @media only screen and (max-width: 768px) {
    .headlineLv3, .wysiwyg h2 {
      padding-bottom: 10px;
      margin-bottom: 15px;
      font-size: 1.4rem; } }

/** headlineLv4
/**************************************/
.headlineLv4, .wysiwyg h3 {
  line-height: 1.4;
  border-left: 6px solid #2c52a9;
  padding-left: 20px;
  font-weight: bold;
  font-size: 1.8rem; }
  @media only screen and (max-width: 768px) {
    .headlineLv4, .wysiwyg h3 {
      font-size: 1.35rem; } }
  @media only screen and (max-width: 768px) {
    .headlineLv4, .wysiwyg h3 {
      border-left-width: 4px;
      padding-left: 10px;
      font-size: 1.3rem; } }

/** headlineLv5
/**************************************/
.headlineLv5 {
  line-height: 1.4;
  background: #e9edf6;
  padding: 18px;
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem; }
  @media only screen and (max-width: 768px) {
    .headlineLv5 {
      font-size: 1.35rem; } }
  @media only screen and (max-width: 768px) {
    .headlineLv5 {
      padding: 12px; } }

/** headlineLv6
/**************************************/
.headlineLv6 {
  text-align: center; }
  .headlineLv6.is-wide {
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 768px) {
      .headlineLv6.is-wide {
        width: 100%; } }
    .headlineLv6.is-wide span {
      display: block; }
  .headlineLv6 span {
    position: relative;
    padding: 0 10px 20px;
    font-weight: bold;
    line-height: 1.8;
    display: inline-block;
    font-size: 2.3rem; }
    @media only screen and (max-width: 768px) {
      .headlineLv6 span {
        font-size: 1.725rem; } }
    @media only screen and (max-width: 768px) {
      .headlineLv6 span {
        padding: 0 5px 10px; } }
    .headlineLv6 span:before {
      background: #2c52a9;
      width: 100%;
      height: 2px;
      margin-left: -10px;
      bottom: 0px;
      content: '';
      display: block;
      position: absolute; }
      @media only screen and (max-width: 768px) {
        .headlineLv6 span:before {
          margin-left: -5px;
          height: 1px; } }

/** headlineLv7
/**************************************/
.headlineLv7 {
  text-align: center; }
  .headlineLv7 .is-en {
    color: #2c52a9;
    display: block;
    margin-bottom: 30px;
    font-weight: bold;
    letter-spacing: .05em;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 2.4rem; }
    @media only screen and (max-width: 768px) {
      .headlineLv7 .is-en {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 768px) {
      .headlineLv7 .is-en {
        margin-bottom: 10px; } }
  .headlineLv7 .is-jp {
    display: block;
    line-height: 1.6;
    font-size: 3rem; }
    @media only screen and (max-width: 768px) {
      .headlineLv7 .is-jp {
        font-size: 2.25rem; } }
    @media only screen and (max-width: 768px) {
      .headlineLv7 .is-jp br {
        display: none; } }

/** headlineLv8
/**************************************/
.headlineLv8 {
  text-align: center;
  font-size: 3.0rem;
  line-height: 2.0; }
  @media only screen and (max-width: 768px) {
    .headlineLv8 {
      font-size: 2.0rem;
      padding: 0 15px;
      line-height: 1.6; } }
  @media only screen and (max-width: 768px) {
    .headlineLv8 br {
      display: none; } }

/** headlineLv9
/**************************************/
.headlineLv9 span {
  border-bottom: 1px solid #000;
  padding-bottom: 20px;
  font-weight: bold;
  display: inline-block;
  font-size: 2.3rem; }
  @media only screen and (max-width: 768px) {
    .headlineLv9 span {
      font-size: 1.725rem; } }

/** hero
/**************************************/
.is-top .hero {
  opacity: 0;
  overflow: hidden;
  position: relative; }

.hero--background {
  height: 310px;
  color: #fff;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 768px) {
    .hero--background {
      height: 150px; } }

.hero--headline {
  height: 725px;
  color: #fff;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 768px) {
    .hero--headline {
      height: 300px; } }

.hero--str {
  height: 290px;
  border-bottom: 1px solid #ccc; }
  @media only screen and (max-width: 768px) {
    .hero--str {
      height: 100px; } }
  .hero--str .hero_title {
    font-weight: bold;
    font-size: 3rem; }
    @media only screen and (max-width: 768px) {
      .hero--str .hero_title {
        font-size: 2.25rem; } }
    @media only screen and (max-width: 768px) {
      .hero--str .hero_title {
        margin-top: 25px; } }

.hero--none {
  height: 120px; }
  @media only screen and (max-width: 768px) {
    .hero--none {
      height: 0; } }

.hero--member {
  height: 735px;
  background-size: cover;
  background-position: 50% 25%;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 768px) {
    .hero--member {
      height: auto; } }

.hero--top {
  height: 874px; }
  @media only screen and (max-width: 768px) {
    .hero--top {
      height: 50%; } }

.hero--service {
  height: 882px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 768px) {
    .hero--service {
      height: auto;
      padding-top: 60.8695652174%; } }
  .hero--service .hero_wrap {
    align-items: center; }

.hero_wrap {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .hero_wrap {
      width: 100%; } }

.hero_title {
  text-align: center;
  margin-top: 100px; }
  @media only screen and (max-width: 768px) {
    .hero_title {
      margin-top: 25px; } }
  .hero_title .is-en {
    display: block;
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 3rem; }
    @media only screen and (max-width: 768px) {
      .hero_title .is-en {
        font-size: 2.25rem; } }
    @media only screen and (max-width: 768px) {
      .hero_title .is-en {
        font-size: 2.0rem;
        margin-bottom: 10px;
        margin-top: -20px; } }
  .hero_title .is-jp {
    display: block;
    font-weight: bold;
    font-size: 1.5rem; }
    @media only screen and (max-width: 768px) {
      .hero_title .is-jp {
        font-size: 1.125rem; } }

.hero_panel {
  width: 430px;
  background: rgba(255, 255, 255, 0.75);
  color: #000;
  padding: 50px 35px;
  font-weight: bold;
  text-align: center;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  -o-border-radius: 10px;
  -ms-border-radius: 10px;
  -khtml-border-radius: 10px;
  border-radius: 10px; }
  @media only screen and (max-width: 768px) {
    .hero_panel {
      width: 90%;
      padding: 10px 15px; } }
  .hero_panel .is-title {
    border-bottom: 3px solid #000;
    padding: 0 10px 10px;
    font-size: 1.7rem; }
    @media only screen and (max-width: 768px) {
      .hero_panel .is-title {
        font-size: 1.275rem; } }
    @media only screen and (max-width: 768px) {
      .hero_panel .is-title {
        padding: 0 5px 10px;
        border-bottom-width: 2px; } }
  .hero_panel .is-text {
    line-height: 2.0;
    display: block;
    margin-top: 40px;
    font-size: 2.1rem; }
    @media only screen and (max-width: 768px) {
      .hero_panel .is-text {
        font-size: 1.575rem; } }
    @media only screen and (max-width: 768px) {
      .hero_panel .is-text {
        margin-top: 20px;
        font-size: 1.4rem; } }

.hero_image {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden; }
  .hero_image li {
    width: 100%;
    height: 100%;
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    -webkit-transform-origin: left top;
    -moz-transform-origin: left top;
    -ms-transform-origin: left top;
    -o-transform-origin: left top;
    transform-origin: left top; }
    .hero_image li.is-show {
      visibility: visible; }
      .hero_image li.is-show div {
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
        -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0); }
    .hero_image li div {
      overflow: hidden;
      position: absolute;
      width: 100vw;
      height: 100%;
      left: 0;
      top: 0;
      -webkit-transition: 2s cubic-bezier(0.19, 1, 0.22, 1);
      -moz-transition: 2s cubic-bezier(0.19, 1, 0.22, 1);
      -o-transition: 2s cubic-bezier(0.19, 1, 0.22, 1);
      transition: 2s cubic-bezier(0.19, 1, 0.22, 1);
      -webkit-transform: translate3d(-10%, 0, 0);
      -moz-transform: translate3d(-10%, 0, 0);
      -o-transform: translate3d(-10%, 0, 0);
      transform: translate3d(-10%, 0, 0);
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }

/** heroIntroduction
/**************************************/
.heroIntroduction {
  background: #fff;
  padding: 60px 70px 0 70px;
  margin-top: -140px;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .heroIntroduction {
      padding: 0;
      margin-top: -30px;
      width: 90%;
      padding: 10px 15px 0; } }
  /*.heroIntroduction:before, .heroIntroduction:after {
    position: absolute;
    opacity: .08;
    width: 97px;
    height: 77px;
    content: '';
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url("/assets/img/common/icon_quote.svg"); }*/
    /*
    @media only screen and (max-width: 768px) {
      .heroIntroduction:before, .heroIntroduction:after {
        display: none; } }
  .heroIntroduction:before {
    top: 45px;
    left: 20px; }
  .heroIntroduction:after {
    bottom: 0;
    right: 20px;
    -webkit-transform: rotate(180deg);
    -moz-transfrom: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg); }
    */
  .heroIntroduction_body {
    line-height: 2.6;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .heroIntroduction_body {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 768px) {
      .heroIntroduction_body {
        line-height: 2.0; } }
  .heroIntroduction_credit {
    text-align: center;
    font-size: 1.9rem; }
    @media only screen and (max-width: 768px) {
      .heroIntroduction_credit {
        font-size: 1.425rem; } }

/** heroService
/**************************************/
.heroService {
  width: 540px;
  background: #fff;
  text-align: center;
  padding: 60px 0; }
  @media only screen and (max-width: 768px) {
    .heroService {
      width: 95%;
      padding: 15px 0;
      bottom: 100%;
      margin: -30px auto 0; } }
  .heroService_lead {
    font-weight: bold;
    margin-bottom: 30px;
    font-size: 2.7rem; }
    @media only screen and (max-width: 768px) {
      .heroService_lead {
        font-size: 2.025rem; } }
    @media only screen and (max-width: 768px) {
      .heroService_lead {
        line-height: 1.8;
        margin-bottom: 15px; } }
  .heroService_body {
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .heroService_body {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 768px) {
      .heroService_body {
        text-align: left;
        width: 90%;
        margin-left: auto;
        margin-right: auto; } }
    @media only screen and (max-width: 768px) {
      .heroService_body br {
        display: none; } }

/** common
/**************************************/
@media screen and (min-width: 768px) {
  body {
    min-width: 1181px !important; } }

@media screen and (max-width: 768px) {
  body {
    min-width: 0 !important;
    overflow-x: hidden; } }

/** contents
/**************************************/
.contents {
  width: 100%; }
  @media only screen and (max-width: 768px) {
    .contents {
      padding-bottom: 100px; } }

/** container
/**************************************/
.container, .accessSection {
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .container, .accessSection {
      width: 100%; } }
  @media only screen and (max-width: 768px) {
    .container, .accessSection {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }


  .containerNarrow {
      width: 800px;
      margin-left: auto;
      margin-right: auto;
  }

  /* added @ 20200107 */
  .containerNarrowParent {
    width:1000px;
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
  }

  .containerNarrow.left {
    width: 695px; }
  .containerNarrow.right {
    width: 295px;
    margin-left: 15px; }
    .contactBox_button.dl {
      width:100%;}
    .contactBox_button.dl span {
      padding-right:50px;}
    @media only screen and (max-width: 768px) {
      .containerNarrowParent {
        display: block;
        margin-left: auto;
        margin-right: auto;
        width:100%;}
        .containerNarrow {
            width: 92.9319371728%;
            margin-left: auto;
            margin-right: auto;
        }
      .containerNarrow.left ,
      .containerNarrow.right{
        display:block;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; }
        .containerNarrow.right{
          margin-bottom:100px;
        }
      .contactBox_button.dl {
          text-align: center;}
      .contactBox_button.dl span {
        padding-right:0;}
    }

/** section
/**************************************/
/** moduleColumn
/**************************************/
.moduleColumn {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .moduleColumn {
      display: block; } }
  @media only screen and (max-width: 768px) {
    .moduleColumn > *:nth-child(1) {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 768px) {
    .moduleColumn img {
      width: 100%;
      height: auto; } }

/** moduleImage
/**************************************/
.moduleImage {
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .moduleImage img {
      width: 100%;
      height: auto; } }
  .moduleImage a {
    display: block; }
    .desktop .moduleImage a {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .moduleImage a:hover {
        opacity: 0.5; }
  .moduleImage--background {
    height: 350px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
    @media only screen and (max-width: 768px) {
      .moduleImage--background {
        height: auto;
        padding-top: 25.7709251101%; } }

/** moduleChart
/**************************************/
.moduleChart {
  overflow-x: visible;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 40px;
  width: 100%; }
  @media only screen and (max-width: 768px) {
    .moduleChart {
      margin-bottom: 20px;
      padding-bottom: 15px;
      overflow-x: scroll; } }
  .moduleChart table {
    width: 100%;
    border: 1px solid #bebebe;
    border-collapse: collapse;
    table-layout: fixed; }
    @media only screen and (max-width: 768px) {
      .moduleChart table {
        table-layout: auto; } }
    .moduleChart table th, .moduleChart table td {
      line-height: 1.6; }
      .moduleChart table th.va-middle, .moduleChart table td.va-middle {
        vertical-align: middle; }
    .moduleChart table thead th, .moduleChart table thead td {
      color: #fff;
      text-align: center;
      border: 1px solid #bebebe;
      padding: 15px 10px;
      letter-spacing: 0.1em;
      font-size: 1.4rem; }
      @media only screen and (max-width: 768px) {
        .moduleChart table thead th, .moduleChart table thead td {
          font-size: 1.05rem; } }
      @media only screen and (max-width: 768px) {
        .moduleChart table thead th, .moduleChart table thead td {
          padding: 10px 5px; } }
    .moduleChart table tbody td, .moduleChart table tbody th {
      border: 1px solid #bebebe;
      padding: 20px;
      font-size: 1.4rem; }
      @media only screen and (max-width: 768px) {
        .moduleChart table tbody td, .moduleChart table tbody th {
          font-size: 1.05rem; } }
      @media only screen and (max-width: 768px) {
        .moduleChart table tbody td, .moduleChart table tbody th {
          padding: 10px 15px; } }
    .moduleChart table tbody th {
      vertical-align: top;
      font-weight: bold;
      width: 230px; }
      @media only screen and (max-width: 768px) {
        .moduleChart table tbody th {
          white-space: nowrap;
          word-wrap: break-word;
          overflow-wrap: break-word; } }
    @media only screen and (max-width: 768px) {
      .moduleChart table tbody td {
        white-space: nowrap;
        word-wrap: break-word;
        overflow-wrap: break-word; } }
    .moduleChart table tbody td.text-right {
      text-align: right; }

/** moduleList
/**************************************/
.moduleList--number {
  margin-bottom: 30px;
  counter-reset: li;
  list-style: none; }
  @media only screen and (max-width: 768px) {
    .moduleList--number {
      margin-bottom: 15px; } }
  .moduleList--number:last-child {
    margin-bottom: 0; }
  .moduleList--number li {
    padding-left: 1.9em;
    text-indent: -1.9em;
    margin-bottom: 20px;
    line-height: 2.0;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .moduleList--number li {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .moduleList--number li {
        padding-left: 1.3em;
        text-indent: -1.1em;
        margin-bottom: 6px;
        line-height: 1.8; } }
    .moduleList--number li:before {
      content: counter(li) ".  ";
      counter-increment: li; }
    .moduleList--number li:last-child {
      margin-bottom: 0; }

.moduleList--circle li {
  line-height: 1.8;
  margin-bottom: 13px;
  padding-left: 1.8em;
  text-indent: -1.8em;
  font-weight: bold;
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .moduleList--circle li {
      font-size: 1.05rem; } }
  @media only screen and (max-width: 768px) {
    .moduleList--circle li {
      line-height: 1.6;
      margin-bottom: 5px; } }
  .moduleList--circle li:before {
    content: '●';
    color: #2c52a9;
    font-size: .9rem;
    margin-right: 10px; }
    @media only screen and (max-width: 768px) {
      .moduleList--circle li:before {
        font-size: .7rem; } }
  .moduleList--circle li em {
    color: #2c52a9;
    font-style: normal;
    margin-right: 10px; }
  .moduleList--circle li:last-child {
    margin-bottom: 0; }

.moduleList--rect li {
  line-height: 2.1;
  font-weight: bold;
  font-size: 1.5rem; }
  @media only screen and (max-width: 768px) {
    .moduleList--rect li {
      font-size: 1.125rem; } }

.moduleList--column2 {
  display: flex;
  flex-wrap: wrap; }
  .moduleList--column2 li {
    width: 50%; }

/** moduleDefinition
/**************************************/
.moduleDefinition {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  line-height: 2.0;
  border-top: 1px solid #d1d1d1; }
  @media only screen and (max-width: 768px) {
    .moduleDefinition {
      display: block;
      line-height: 1.8; } }
  .moduleDefinition > dt, .moduleDefinition > dd {
    border-bottom: 1px solid #d1d1d1;
    padding: 20px 0;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .moduleDefinition > dt, .moduleDefinition > dd {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .moduleDefinition > dt, .moduleDefinition > dd {
        padding: 10px 0; } }
  .moduleDefinition > dt {
    width: 20%; }
    @media only screen and (max-width: 768px) {
      .moduleDefinition > dt {
        width: 100%;
        font-weight: bold;
        border-bottom: none;
        padding-bottom: 0; } }
  .moduleDefinition > dd {
    width: 80%; }
    @media only screen and (max-width: 768px) {
      .moduleDefinition > dd {
        width: 100%; } }
    .moduleDefinition > dd table {
      border-top: 2px solid #d1d1d1;
      width: 100%;
      margin-top: 20px; }
      @media only screen and (max-width: 768px) {
        .moduleDefinition > dd table {
          border-top: none;
          margin-top: 0; } }
      .moduleDefinition > dd table td {
        padding: 2px 0; }
        @media only screen and (max-width: 768px) {
          .moduleDefinition > dd table td {
            padding: 0;
            display: block; } }
        .moduleDefinition > dd table td:last-child {
          margin-bottom: 10px; }
      .moduleDefinition > dd table tr:first-child td {
        padding-top: 20px; }
        @media only screen and (max-width: 768px) {
          .moduleDefinition > dd table tr:first-child td {
            padding-top: 0; } }

/** moduleFrameImage
/**************************************/
.moduleFrameImage {
  border: 1px solid #c3c3c3; }
  @media only screen and (max-width: 768px) {
    .moduleFrameImage img {
      width: 100%;
      height: auto; } }

/** pagination
/**************************************/
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px; }
  @media only screen and (max-width: 768px) {
    .pagination {
      margin-top: 25px; } }
  .pagination_str a {
    position: relative;
    color: #fff;
    background: #000;
    width: 186px;
    padding: 11px 0;
    text-align: center;
    display: block;
    line-height: 1;
    text-decoration: none;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
    -ms-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
    font-size: 1.3rem; }
    @media only screen and (max-width: 768px) {
      .pagination_str a {
        font-size: 0.975rem; } }
    @media only screen and (max-width: 768px) {
      .pagination_str a {
        width: 25px; } }
    .desktop .pagination_str a {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .pagination_str a:hover {
        opacity: 0.5; }
    @media only screen and (max-width: 768px) {
      .pagination_str a span {
        display: none; } }
    @media only screen and (max-width: 768px) {
      .pagination_str a:before {
        display: block;
        left: 50%;
        top: 50%;
        margin-top: -4px;
        position: absolute; } }
  .pagination_str--prev {
    margin-right: 25px; }
    @media only screen and (max-width: 768px) {
      .pagination_str--prev a:before {
        margin-left: -2px;
        content: '';
        width: 5px;
        height: 5px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg); } }
  .pagination_str--next {
    margin-left: 25px; }
    @media only screen and (max-width: 768px) {
      .pagination_str--next a:before {
        margin-left: -4px;
        content: '';
        width: 5px;
        height: 5px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); } }
  .pagination_dot {
    margin: 0 5px; }
  .pagination_item {
    margin: 0 4px; }
    .pagination_item:last-child {
      margin-right: 0; }
    .pagination_item span,
    .pagination_item a {
      width: 28px;
      height: 28px;
      line-height: 28px;
      text-align: center;
      display: block;
      border: 1px solid #333;
      text-decoration: none;
      font-size: 1.3rem;
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      -o-border-radius: 50%;
      -ms-border-radius: 50%;
      -khtml-border-radius: 50%;
      border-radius: 50%; }
      @media only screen and (max-width: 768px) {
        .pagination_item span,
        .pagination_item a {
          font-size: 0.975rem; } }
      @media only screen and (max-width: 768px) {
        .pagination_item span,
        .pagination_item a {
          width: 22px;
          height: 22px;
          line-height: 20px; } }
      .desktop .pagination_item span, .desktop
      .pagination_item a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .pagination_item span:hover, .desktop
        .pagination_item a:hover {
          opacity: 0.5; }
    .pagination_item a {
      color: #fff;
      background: #333; }

/** profileBox
/**************************************/
.profileBox {
  border: 1px solid #b7b7b7;
  padding: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media only screen and (max-width: 768px) {
    .profileBox {
      padding: 15px;
      align-items: flex-start; } }
  .profileBox_image {
    width: 90px;
    height: 90px;
    overflow: hidden;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    -khtml-border-radius: 50%;
    border-radius: 50%; }
    .profileBox_image img {
      width: 100%;
      height: auto; }
    @media only screen and (max-width: 768px) {
      .profileBox_image {
        width: 70px;
        height: 70px; } }
  .profileBox_content {
    width: 620px; }
    @media only screen and (max-width: 768px) {
      .profileBox_content {
        width: calc(100% - 80px); } }
  .profileBox_title {
    font-weight: bold;
    display: block;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .profileBox_title {
        font-size: 1.05rem; } }
  .profileBox_body {
    margin-top: 10px;
    font-size: 1.3rem; }
    @media only screen and (max-width: 768px) {
      .profileBox_body {
        font-size: 0.975rem; } }
    @media only screen and (max-width: 768px) {
      .profileBox_body {
        line-height: 1.4; } }

/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */
/* Hide scroll bar */
html.remodal-is-locked {
  overflow: hidden;
  touch-action: none; }

/* Anti FOUC */
.remodal,
[data-remodal-id] {
  display: none; }

/* Necessary styles of the overlay */
.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;
  display: none; }

/* Necessary styles of the wrapper */
.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: auto;
  text-align: center;
  -webkit-overflow-scrolling: touch; }

.remodal-wrapper:after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  content: ""; }

/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper {
  backface-visibility: hidden; }

/* Necessary styles of the modal dialog */
.remodal {
  position: relative;
  outline: none;
  text-size-adjust: 100%; }

.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block; }

/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */
/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  filter: blur(3px); }

/* Default theme styles of the overlay */
.remodal-overlay {
  background: rgba(43, 46, 56, 0.9); }

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards; }

.remodal-overlay.remodal-is-opening {
  animation-name: remodal-overlay-opening-keyframes; }

.remodal-overlay.remodal-is-closing {
  animation-name: remodal-overlay-closing-keyframes; }

/* Default theme styles of the wrapper */
.remodal-wrapper {
  padding: 10px 10px 0; }
  @media only screen and (max-width: 768px) {
    .remodal-wrapper {
      padding: 0; } }

/* Default theme styles of the modal dialog */
.remodal {
  box-sizing: border-box;
  margin-bottom: 10px;
  padding: 35px;
  transform: translate3d(0, 0, 0);
  color: #2b2e38; }
  @media only screen and (max-width: 768px) {
    .remodal {
      padding: 15px; } }

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards; }

.remodal.remodal-is-opening {
  animation-name: remodal-opening-keyframes; }

.remodal.remodal-is-closing {
  animation-name: remodal-closing-keyframes; }

/* Vertical align of the modal dialog */
.remodal,
.remodal-wrapper:after {
  vertical-align: middle; }

/* Close button */
.remodal-close {
  position: absolute;
  top: 28px;
  left: -10px;
  display: block;
  overflow: visible;
  width: 50px;
  height: 50px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  transition: color 0.2s;
  text-decoration: none;
  color: #fff;
  border: 0;
  outline: 0;
  background: transparent; }
  @media only screen and (max-width: 768px) {
    .remodal-close {
      top: -20px;
      left: 5px; } }

.remodal-close:hover,
.remodal-close:focus {
  color: #fff; }

.remodal-close:before {
  font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
  font-size: 40px;
  line-height: 35px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 35px;
  content: "\00d7";
  text-align: center; }

/* Dialog buttons */
.remodal-confirm,
.remodal-cancel {
  font: inherit;
  display: inline-block;
  overflow: visible;
  min-width: 110px;
  margin: 0;
  padding: 12px 0;
  cursor: pointer;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0; }

.remodal-confirm {
  color: #fff;
  background: #81c784; }

.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a; }

.remodal-cancel {
  color: #fff;
  background: #e57373; }

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350; }

/* Remove inner padding and border in Firefox 4+ for the button tag. */
.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0; }

/* Keyframes
   ========================================================================== */
@keyframes remodal-opening-keyframes {
  from {
    opacity: 0; }
  to {
    transform: none;
    opacity: 1;
    filter: blur(0); } }

@keyframes remodal-closing-keyframes {
  from {
    transform: scale(1);
    opacity: 1; }
  to {
    opacity: 0;
    filter: blur(0); } }

@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

/* Media queries
   ========================================================================== */
/* IE8
   ========================================================================== */
.lt-ie9 .remodal-overlay {
  background: #2b2e38; }

.lt-ie9 .remodal {
  width: 700px; }

.remodal {
  display: inline-block; }
  .remodal img {
    max-width: 100%;
    height: auto; }
  @media only screen and (max-width: 768px) {
    .remodal {
      width: 100%; } }

/** serviceRelation
/**************************************/
.serviceRelation {
  background: #f3f3f3;
  padding: 40px 0 20px; }
  @media only screen and (max-width: 768px) {
    .serviceRelation {
      padding: 30px 0 10px; } }
  .serviceRelation_headline {
    text-align: center; }
    .serviceRelation_headline span {
      display: inline-block;
      font-weight: bold;
      border-bottom: 2px solid #b9b9b9;
      padding: 0 5px 20px;
      font-size: 2.1rem; }
      @media only screen and (max-width: 768px) {
        .serviceRelation_headline span {
          font-size: 1.575rem; } }
      @media only screen and (max-width: 768px) {
        .serviceRelation_headline span {
          padding: 0 5px 10px; } }
  .serviceRelation_menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .serviceRelation_menu.award.left {
      justify-content: left;
    }
    .serviceRelation_menu li {
      width: 315px;
      margin: 0 8px 40px; }
      @media only screen and (max-width: 768px) {
        .serviceRelation_menu li {
          width: 100%;
          margin: 0 0 20px; }
      .serviceRelation_menu.award.left {
        justify-content: center;
      }
      }
  .serviceRelation_text {
    margin-top: 10px;
    line-height: 1.7;
    font-size: 1.3rem; }
    @media only screen and (max-width: 768px) {
      .serviceRelation_text {
        font-size: 0.975rem; } }

/** serviceRelationCase
/**************************************/
.serviceRelationCase {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .serviceRelationCase {
      display: block; } }
  .serviceRelationCase_image {
    width: 500px; }
    @media only screen and (max-width: 768px) {
      .serviceRelationCase_image {
        width: 100%;
        margin-bottom: 15px; }
        .serviceRelationCase_image img {
          width: 100%;
          height: auto; } }
  .serviceRelationCase_content {
    width: 445px; }
    @media only screen and (max-width: 768px) {
      .serviceRelationCase_content {
        width: 100%; } }
  .serviceRelationCase_title {
    line-height: 2.0;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.8rem; }
    @media only screen and (max-width: 768px) {
      .serviceRelationCase_title {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 768px) {
      .serviceRelationCase_title {
        margin-bottom: 5px; } }
  .serviceRelationCase_body {
    line-height: 2.0;
    margin-bottom: 30px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .serviceRelationCase_body {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .serviceRelationCase_body {
        margin-bottom: 15px; } }
  .serviceRelationCase .buttonFill a {
    line-height: 80px;
    height: 80px; }
    @media only screen and (max-width: 768px) {
      .serviceRelationCase .buttonFill a {
        line-height: 50px;
        height: 50px; } }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/** shareButton
/**************************************/
.shareButton {
  display: flex;
  justify-content: space-between;
  width: 300px;
  margin-left: auto;
  margin-right: auto; }

/** tag
/**************************************/
.tag, .tagList li a {
  border: 1px solid #bebebe;
  padding: 5px 8px;
  text-decoration: none;
  font-size: 1.2rem;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  -o-border-radius: 8px;
  -ms-border-radius: 8px;
  -khtml-border-radius: 8px;
  border-radius: 8px; }
  @media only screen and (max-width: 768px) {
    .tag, .tagList li a {
      font-size: 0.9rem; } }
  @media only screen and (max-width: 768px) {
    .tag, .tagList li a {
      padding: 4px 6px;
      -moz-border-radius: 4px;
      -webkit-border-radius: 4px;
      -o-border-radius: 4px;
      -ms-border-radius: 4px;
      -khtml-border-radius: 4px;
      border-radius: 4px; } }

/** tagList
/**************************************/
.tagList {
  display: flex;
  align-items: center;
  flex-wrap: wrap; }
  .tagList li {
    margin-right: 10px; }
    @media only screen and (max-width: 768px) {
      .tagList li {
        margin: 3px 5px 10px 0; } }
    .tagList li a {
      text-decoration: none;
      color: #000; }

/** trigger
/**************************************/
.trigger {
  cursor: pointer; }
  @media only screen and (max-width: 768px) {
    .trigger {
      display: block; } }
  .trigger_box {
    position: relative;
    display: inline-block;
    width: 33px;
    height: 33px;
    padding: 4px 0 0 4px; }
  .trigger_inner {
    position: absolute;
    width: 25px;
    height: 4px;
    display: block;
    background-color: #fff;
    -webkit-transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
    -o-transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .trigger_inner:before, .trigger_inner:after {
      display: block;
      content: "";
      position: absolute;
      width: 25px;
      height: 4px;
      background-color: #fff;
      -webkit-transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
      -moz-transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
      -o-transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
      transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .trigger_inner:before {
      top: 10px; }
    .trigger_inner:after {
      top: 20px; }
    .is-menuOpened .trigger_inner {
      transform: translate3d(0, 10px, 0) rotate(135deg);
      height: 2px;
      width: 30px; }
      .is-menuOpened .trigger_inner:before, .is-menuOpened .trigger_inner:after {
        height: 2px;
        width: 30px; }
      .is-menuOpened .trigger_inner:before {
        opacity: 0; }
      .is-menuOpened .trigger_inner:after {
        transform: translate3d(0, -20px, 0) rotate(-270deg); }

/** wysiwyg
/**************************************/
.wysiwyg p ,
.caseContent_body p{
  margin-bottom: 40px;
  line-height: 2.2;
  font-size: 1.65rem; }
  .blogContentHero_body {font-size: 1.65rem;}
  @media only screen and (max-width: 768px) {
    .wysiwyg p,
    .wysiwyg p ,
.caseContent_body p,
.blogContentHero_body {
      font-size: 1.45rem; } }
  .wysiwyg p img {
    width: 100%;
    height: auto; }
  @media only screen and (max-width: 768px) {
    .wysiwyg p {
      margin-bottom: 20px; } }
  .wysiwyg p a {
    color: #2c52a9;
    font-weight: bold; }
    .desktop .wysiwyg p a:hover {
      text-decoration: underline; }
    .wysiwyg p a:visited {
      color: #657baf; }

.wysiwyg strong {
  background: #e9edf6;
  padding: 35px 40px 30px 40px;
  display: block;
  line-height: 2.2;
  margin-bottom: 40px;
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .wysiwyg strong {
      font-size: 1.05rem; } }
  @media only screen and (max-width: 768px) {
    .wysiwyg strong {
      padding: 10px;
      line-height: 1.8;
      margin-bottom: 20px; } }

.wysiwyg ol {
  counter-reset: li;
  list-style: none;
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .wysiwyg ol {
      margin-bottom: 20px; } }
  .wysiwyg ol li {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .wysiwyg ol li {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .wysiwyg ol li {
        margin-bottom: 8px; } }
    .wysiwyg ol li:before {
      content: counter(li) " ";
      counter-increment: li;
      font-weight: bold;
      border: 2px solid #2c52a9;
      text-align: center;
      margin-right: 15px;
      width: 20px;
      height: 20px;
      line-height: 22px;
      font-weight: normal;
      color: #2c52a9;
      display: block;
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      -o-border-radius: 50%;
      -ms-border-radius: 50%;
      -khtml-border-radius: 50%;
      border-radius: 50%; }
      @media only screen and (max-width: 768px) {
        .wysiwyg ol li:before {
          width: 18px;
          height: 18px;
          line-height: 18px;
          margin-right: 10px;
          border-width: 1px; } }

.wysiwyg ul {
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .wysiwyg ul {
      margin-bottom: 20px; } }
  .wysiwyg ul li {
    margin-right: 10px;
    margin-bottom: 12px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .wysiwyg ul li {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .wysiwyg ul li {
        margin-bottom: 8px; } }
    .wysiwyg ul li:before {
      content: '●';
      margin-right: 10px;
      font-size: .9rem;
      color: #2c52a9; }
      @media only screen and (max-width: 768px) {
        .wysiwyg ul li:before {
          font-size: .8rem;
          margin-right: 8px; } }

/** accessSection
/**************************************/
.accessSection_wrap {
  display: flex; }
  @media only screen and (max-width: 768px) {
    .accessSection_wrap {
      display: block; } }

.accessSection_content {
  width: calc(100% - 502px); }
  @media only screen and (max-width: 768px) {
    .accessSection_content {
      width: 100%;
      margin-bottom: 20px; } }

.accessSection_address {
  margin-bottom: 20px;
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .accessSection_address {
      font-size: 1.05rem; } }
  @media only screen and (max-width: 768px) {
    .accessSection_address {
      margin-bottom: 10px; } }

.accessSection_map {
  width: 502px;
  border: 1px solid #c3c3c3;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }
  @media only screen and (max-width: 768px) {
    .accessSection_map {
      width: 100%; }
      .accessSection_map img {
        width: 100%;
        height: auto; } }
  .accessSection_map img {
    display: block; }

.accessSection_googleMap {
  width: 100%;
  height: 430px; }
  @media only screen and (max-width: 768px) {
    .accessSection_googleMap {
      height: 270px; } }

/** blogContent
/**************************************/
.blogContent_head {
  display: flex; }
  .blogContent_head .category {
    margin-right: 20px; }
    @media only screen and (max-width: 768px) {
      .blogContent_head .category {
        margin-right: 8px; } }

.blogContent_date {
  text-align: right;
  font-style: italic;
  margin-top: 5px;
  font-size: 1.2rem; }
  @media only screen and (max-width: 768px) {
    .blogContent_date {
      font-size: 0.9rem; } }
  @media only screen and (max-width: 768px) {
    .blogContent_date {
      margin-top: 3px; } }

.blogContentHero {
  margin-top: 10px; }
  @media only screen and (max-width: 768px) {
    .blogContentHero {
      margin-top: 5px; } }
  .blogContentHero_body {
    background: #e9edf6;
    padding: 35px 45px;
    line-height: 2;
    font-size: 1.65rem; }
    @media only screen and (max-width: 768px) {
      .blogContentHero_body {
        font-size: 1.45rem; } }
    @media only screen and (max-width: 768px) {
      .blogContentHero_body {
        padding: 17.5px 22.5px; } }
  .blogContentHero_image img {
    width: 100%;
    height: auto; }

/** blogCard
/**************************************/
.blogCard {
  width: 278px;
  margin-bottom: 50px; }
  @media only screen and (max-width: 768px) {
    .blogCard {
      margin-bottom: 25px;
      width: 48%; } }
  .blogMember .blogCard {
    width: 311px; }
    @media only screen and (min-width: 768px) {
      .blogMember .blogCard {
        margin-right: 33px; }
        .blogMember .blogCard:nth-child(3n) {
          margin-right: 0; } }
    @media only screen and (max-width: 768px) {
      .blogMember .blogCard {
        width: 48%; }
        .blogMember .blogCard:nth-child(odd) {
          margin-right: 4%; } }
  .blogVertical .blogCard {
    width: 600px; }
    @media only screen and (max-width: 768px) {
      .blogVertical .blogCard {
        width: 100%; } }
    .blogVertical .blogCard:last-child {
      margin-bottom: 0; }
  .blogCard--hero .blogCard_content {
    background: #e9edf6;
    padding: 20px; }
    @media only screen and (max-width: 768px) {
      .blogCard--hero .blogCard_content {
        padding: 10px; } }
  .blogCard--hero .blogCard_title {
    font-size: 1.8rem; }
    @media only screen and (max-width: 768px) {
      .blogCard--hero .blogCard_title {
        font-size: 1.35rem; } }
  .blogCard--hero .blogCard_head {
    padding: 0;
    margin-bottom: 10px; }
    @media only screen and (max-width: 768px) {
      .blogCard--hero .blogCard_head {
        margin-bottom: 5px; } }
  .blogCard a {
    text-decoration: none;
    display: block;
    color: #000; }
    .blogCard a:hover .blogCard_image img {
      transform: scale(1.05); }
    .blogCard a:hover .blogCard_title {
      color: #2c52a9; }
    .blogVertical .blogCard a {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 768px) {
        .blogVertical .blogCard a {
          display: block; } }
  .blogCard_image {
    overflow: hidden; }
    .blogCard_image img {
      width: 100%;
      height: auto; }
    .blogCard_image img {
      display: block;
      -webkit-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      -moz-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      -o-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      transform: scale(1); }
    .blogVertical .blogCard_image {
      width: 280px; }
      @media only screen and (max-width: 768px) {
        .blogVertical .blogCard_image {
          width: 100%;
          margin-bottom: 10px; } }
  .blogCard_content {
    width: 300px; }
  .blogCard_body {
    margin-top: 10px;
    line-height: 1.8;
    font-size: 1.3rem; }
    @media only screen and (max-width: 768px) {
      .blogCard_body {
        font-size: 0.975rem; } }
  .blogCard_head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0 7px; }
    @media only screen and (max-width: 768px) {
      .blogCard_head {
        padding: 7px 0; } }
    .blogVertical .blogCard_head {
      padding: 0;
      margin-bottom: 10px; }
  .blogCard_date {
    color: #3b3b3b;
    font-style: italic;
    text-align: right;
    font-size: 1.2rem; }
    @media only screen and (max-width: 768px) {
      .blogCard_date {
        font-size: 0.9rem; } }
    @media only screen and (max-width: 768px) {
      .blogCard_date {
        margin-left: 10px;
        line-height: 1.4; } }
    .blogCard_title + .blogCard_date {
      text-align: center;
      margin-top: 5px; }
  .blogCard_title {
    line-height: 1.8;
    font-size: 1.6rem;
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    @media only screen and (max-width: 768px) {
      .blogCard_title {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 768px) {
      .blogCard_title {
        line-height: 1.6; } }

/** blogArchive
/**************************************/
.blogArchive {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
.noflex4blog .blogArchive {
  background: #eceff6;
  width: 1080px;
  padding: 30px 30px 0 30px;
}
  @media only screen and (max-width: 768px) {
    .noflex4blog .blogArchive {
      background: #eceff6;
      width: 100%;
    }
  }
/** blogVertical
/**************************************/
/** blogRanking
/**************************************/
.blogRanking_headline {
  font-weight: bold;
  display: flex;
  align-items: center;
  font-size: 1.8rem; }
  @media only screen and (max-width: 768px) {
    .blogRanking_headline {
      font-size: 1.35rem; } }
  .blogRanking_headline i {
    width: 26px;
    height: 26px;
    background: #2c52a9;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    -khtml-border-radius: 50%;
    border-radius: 50%; }
    .blogRanking_headline i:before {
      width: 18px;
      height: 18px;
      margin-bottom: -1px;
      content: '';
      display: block;
      background-size: contain;
      background-image: url("/assets/img/common/icon_ranking.png");
      background-repeat: no-repeat;
      background-position: left top; }

.blogRanking_list {
  margin-top: 20px;
  background: #f4f6fb;
  padding: 25px 20px; }
  @media only screen and (max-width: 768px) {
    .blogRanking_list {
      margin-top: 10px;
      padding: 12.5px 15px; } }

.blogRanking_item {
  border-bottom: 1px solid #c5cfe8;
  padding-bottom: 25px;
  margin-bottom: 25px; }
  @media only screen and (max-width: 768px) {
    .blogRanking_item {
      padding-bottom: 12.5px;
      margin-bottom: 12.5px; } }
  .blogRanking_item:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0; }
  .blogRanking_item a {
    text-decoration: none;
    display: block;
    color: #000; }
    .desktop .blogRanking_item a {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .blogRanking_item a:hover .blogRanking_image img {
        transform: scale(1.05); }
      .desktop .blogRanking_item a:hover .blogRanking_title {
        color: #2c52a9; }

.blogRanking_head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px; }

.blogRanking_date {
  font-style: italic;
  color: #3b3b3b;
  font-size: 1rem; }
  @media only screen and (max-width: 768px) {
    .blogRanking_date {
      font-size: 0.75rem; } }

.blogRanking_content {
  display: flex;
  justify-content: space-between; }

.blogRanking_image {
  width: 100px;
  overflow: hidden; }
  .blogRanking_image img {
    width: 100%;
    height: auto; }
  @media only screen and (max-width: 768px) {
    .blogRanking_image {
      width: 30%; } }
  .blogRanking_image img {
    display: block;
    -webkit-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: scale(1); }

.blogRanking_title {
  width: 170px;
  line-height: 1.7;
  font-size: 1.3rem; }
  @media only screen and (max-width: 768px) {
    .blogRanking_title {
      font-size: 0.975rem; } }
  @media only screen and (max-width: 768px) {
    .blogRanking_title {
      width: 65%; } }

/** blogRelated
/**************************************/
.blogRelated {
  background: #f3f3f3;
  text-align: center;
  padding: 60px 0 20px; }
  @media only screen and (max-width: 768px) {
    .blogRelated {
      padding: 30px 0 0; } }
  .blogRelated_title {
    font-weight: bold;
    color: #323232;
    display: inline-block;
    padding-bottom: 20px;
    border-bottom: 2px solid #b9b9b9;
    margin-bottom: 50px;
    font-size: 2.1rem; }
    @media only screen and (max-width: 768px) {
      .blogRelated_title {
        font-size: 1.575rem; } }
    @media only screen and (max-width: 768px) {
      .blogRelated_title {
        margin-bottom: 25px; } }
  .blogRelated_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    text-align: left;
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 768px) {
      .blogRelated_wrap {
        width: 100%; } }
    @media only screen and (max-width: 768px) {
      .blogRelated_wrap {
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }

/** blogMember
/**************************************/
.blogMember {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (min-width: 768px) {
    .blogMember {
      justify-content: center; } }

/** calibrationMenu
/**************************************/
.calibrationMenu {
  padding: 60px 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("/assets/img/calibration/background.jpg"); }
  @media only screen and (max-width: 768px) {
    .calibrationMenu {
      padding: 30px 0; } }
  .calibrationMenu_headline {
    text-align: center;
    font-size: 1.8rem; }
    @media only screen and (max-width: 768px) {
      .calibrationMenu_headline {
        font-size: 1.35rem; } }
    .calibrationMenu_headline span {
      text-align: center;
      border-bottom: 2px solid #000;
      padding-bottom: 20px;
      font-weight: bold;
      font-size: 2rem; }
      @media only screen and (max-width: 768px) {
        .calibrationMenu_headline span {
          font-size: 1.5rem; } }
  .calibrationMenu_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 920px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 768px) {
      .calibrationMenu_list {
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
    .calibrationMenu_list li {
      width: 450px;
      background: #fff;
      margin-bottom: 25px;
      padding: 40px; }
      @media only screen and (max-width: 768px) {
        .calibrationMenu_list li {
          width: 100%;
          padding: 10px 20px; } }
  .calibrationMenu_title {
    display: flex; }
    .calibrationMenu_title span {
      font-weight: bold;
      line-height: 1.6;
      margin-left: 20px;
      font-size: 2rem; }
      @media only screen and (max-width: 768px) {
        .calibrationMenu_title span {
          font-size: 1.5rem; } }
      @media only screen and (max-width: 768px) {
        .calibrationMenu_title span {
          margin-top: 8px;
          width: calc(100% - 100px); } }
      @media only screen and (max-width: 768px) {
        .calibrationMenu_title span br {
          display: none; } }
    .calibrationMenu_title em {
      width: 93px;
      height: 65px;
      font-size: 3.5rem;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      text-shadow: #2c52a9 3px 3px 0px, #2c52a9 -3px 3px 0px, #2c52a9 3px -3px 0px, #2c52a9 -3px -3px 0px;
      background-image: url("/assets/img/calibration/icon_book.png");
      background-size: contain;
      background-position: left top;
      background-repeat: no-repeat;
      font-family: 'Lato', sans-serif;
      font-weight: 700;
      font-style: normal; }
      @media only screen and (max-width: 768px) {
        .calibrationMenu_title em {
          -webkit-transform: scale(0.8);
          -moz-transform: scale(0.8);
          -ms-transform: scale(0.8);
          -o-transform: scale(0.8);
          transform: scale(0.8); } }
  .calibrationMenu_body {
    line-height: 2.0;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .calibrationMenu_body {
        font-size: 1.05rem; } }

/** calibrationSection
/**************************************/
.calibrationSection .serviceListLv1_title {
  margin-bottom: 20px; }

.calibrationSection .serviceListLv1_body {
  font-size: 1.8rem; }
  @media only screen and (max-width: 768px) {
    .calibrationSection .serviceListLv1_body {
      font-size: 1.35rem; } }

.calibrationSection .moduleList {
  background: #e9edf6;
  padding: 30px; }
  @media only screen and (max-width: 768px) {
    .calibrationSection .moduleList {
      padding: 15px; } }

/** calibrationSeminar
/**************************************/
.calibrationSeminar {
  border: 1px solid #c4c4c4;
  padding: 15px;
  text-align: center; }
  .calibrationSeminar_title {
    background: #2c52a9;
    padding: 15px 0;
    line-height: 1;
    color: #fff;
    font-weight: bold;
    font-size: 1.8rem; }
    @media only screen and (max-width: 768px) {
      .calibrationSeminar_title {
        font-size: 1.35rem; } }

/** caseContent
/**************************************/
.caseContent_category {
  text-align: center; }

.caseContentHero_image {
  position: relative; }
  .caseContentHero_image img {
    width: 100%;
    height: auto; }
  .caseContentHero_image .slick-arrow {
    position: absolute;
    top: 50%;
    width: 43px;
    height: 43px;
    background: rgba(0, 0, 0, 0.2);
    z-index: 100;
    margin-top: -21.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    -khtml-border-radius: 50%;
    border-radius: 50%; }
    .caseContentHero_image .slick-arrow i:before {
      display: block;
      content: '';
      width: 10px;
      height: 10px;
      border-top: 4px solid #fff;
      border-right: 4px solid #fff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
  .caseContentHero_image .slick-prev {
    left: -21px; }
    .caseContentHero_image .slick-prev i {
      margin-right: -3px; }
      .caseContentHero_image .slick-prev i:before {
        content: '';
        width: 10px;
        height: 10px;
        border-top: 4px solid #fff;
        border-right: 4px solid #fff;
        -webkit-transform: rotate(225deg);
        transform: rotate(225deg); }
  .caseContentHero_image .slick-next {
    right: -21px; }
    .caseContentHero_image .slick-next i {
      margin-left: -3px; }

.caseContentHero_content {
  background: #e9edf6;
  padding: 30px; }

.caseContentHero_lead {
  text-align: center;
  margin-bottom: 20px; }
  @media only screen and (max-width: 768px) {
    .caseContentHero_lead {
      margin-bottom: 10px; } }
  .caseContentHero_lead span {
    padding: 0 10px 5px;
    color: #2c52a9;
    font-weight: bold;
    display: inline-block;
    border-bottom: 2px solid #2c52a9;
    font-size: 1.8rem; }
    @media only screen and (max-width: 768px) {
      .caseContentHero_lead span {
        font-size: 1.35rem; } }

.caseContent_lead {
  text-align: center;
  position: relative;
  line-height: 1;
  margin-bottom: 30px; }
  @media only screen and (max-width: 768px) {
    .caseContent_lead {
      margin-bottom: 15px; } }
  .caseContent_lead span {
    color: #2c52a9;
    font-weight: bold;
    border-bottom: 2px solid #2c52a9;
    display: inline-block;
    padding-bottom: 7px;
    font-size: 2rem; }
    @media only screen and (max-width: 768px) {
      .caseContent_lead span {
        font-size: 1.5rem; } }
  .caseContent_lead i {
    background: #2c52a9;
    width: 40px;
    height: 40px;
    display: block;
    position: absolute;
    top: -50px;
    left: 50%;
    margin-left: -20px;
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    -khtml-border-radius: 50%;
    border-radius: 50%; }
    .caseContent_lead i:before {
      content: '!';
      font-size: 2.8rem;
      color: #fff;
      font-weight: bold;
      font-style: normal; }

.caseContent_title {
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
  line-height: 1.6;
  font-size: 2.2rem; }
  @media only screen and (max-width: 768px) {
    .caseContent_title {
      font-size: 1.65rem; } }
  @media only screen and (max-width: 768px) {
    .caseContent_title {
      margin-bottom: 15px; } }

.caseContent_section {
  margin-top: 80px; }
  @media only screen and (max-width: 768px) {
    .caseContent_section {
      margin-top: 70px; } }

/** caseProjectMember
/**************************************/
.caseProjectMember {
  background: #f8f8f8;
  text-align: center;
  padding: 40px 0;
  border: 1px solid #ececec; }
  @media only screen and (max-width: 768px) {
    .caseProjectMember {
      padding: 20px; } }
  .caseProjectMember_title {
    font-weight: bold;
    margin-bottom: 30px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .caseProjectMember_title {
        font-size: 1.2rem; } }
  .caseProjectMember_list {
    display: flex;
    justify-content: left;
    flex-wrap: wrap; }
    @media only screen and (max-width: 768px) {
      .caseProjectMember_list {
        justify-content: space-between; } }
  .caseProjectMember_item {
    margin: 0 5px; }
    @media only screen and (max-width: 768px) {
      .caseProjectMember_item {
        width: 49%;
        margin: 0 0 5px; } }
    .caseProjectMember_item a {
      display: block; }
      .caseProjectMember_item a img {
        width: 100%;
        height: auto; }

/** customerVoice
/**************************************/
.customerVoice {
  background: #f3f3f3;
  padding: 45px 0; }
  @media only screen and (max-width: 768px) {
    .customerVoice {
      padding: 20px 0; } }
  .customerVoice_headline {
    font-weight: bold;
    text-align: center;
    border-top: 7px solid #fff;
    border-bottom: 7px solid #fff;
    padding: 40px 0; }
    @media only screen and (max-width: 768px) {
      .customerVoice_headline {
        padding: 20px;
        border-width: 4px; } }
    .customerVoice_headline .is-en {
      display: block;
      letter-spacing: .03em;
      margin-bottom: 15px;
      font-size: 3rem; }
      @media only screen and (max-width: 768px) {
        .customerVoice_headline .is-en {
          font-size: 2.25rem; } }
      @media only screen and (max-width: 768px) {
        .customerVoice_headline .is-en {
          font-size: 1.8rem;
          margin-bottom: 10px; } }
    .customerVoice_headline .is-jp {
      display: block;
      font-size: 1.4rem; }
      @media only screen and (max-width: 768px) {
        .customerVoice_headline .is-jp {
          font-size: 1.05rem; } }
  .customerVoice_title {
    margin-top: 50px;
    text-align: center;
    font-weight: bold;
    line-height: 1.4;
    font-size: 2rem; }
    @media only screen and (max-width: 768px) {
      .customerVoice_title {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 768px) {
      .customerVoice_title {
        margin-top: 25px; } }
  .customerVoice_image {
    margin-top: 40px; }
    .customerVoice_image img {
      width: 100%;
      height: auto; }
    @media only screen and (max-width: 768px) {
      .customerVoice_image {
        margin-top: 20px; } }
  .customerVoice_column {
    margin-top: 30px;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 768px) {
      .customerVoice_column {
        display: block;
        margin-top: 15px; } }
  .customerVoice_body {
    width: 460px; }
    @media only screen and (max-width: 768px) {
      .customerVoice_body {
        width: 100%;
        margin-bottom: 20px; } }
  .customerVoice_info {
    width: 430px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 1.2rem; }
    @media only screen and (max-width: 768px) {
      .customerVoice_info {
        font-size: 0.9rem; } }
    @media only screen and (max-width: 768px) {
      .customerVoice_info {
        width: 100%; } }
    .customerVoice_info dt {
      width: 110px;
      border-bottom: 1px solid #c0c0c0;
      padding: 10px 0;
      line-height: 1.4; }
      .customerVoice_info dt:nth-child(1) {
        border-top: 1px solid #c0c0c0; }
    .customerVoice_info dd {
      font-weight: bold;
      width: calc(100% - 110px);
      border-bottom: 1px solid #dbdbdb;
      padding: 10px 0;
      line-height: 1.4; }
      .customerVoice_info dd:nth-child(2) {
        border-top: 1px solid #dbdbdb; }

/** caseCard
/**************************************/
.caseCard {
  margin-bottom: 50px; }
  @media only screen and (max-width: 768px) {
    .caseCard {
      margin-bottom: 25px; } }
  .caseMember .caseCard {
    width: 311px; }
    @media only screen and (min-width: 768px) {
      .caseMember .caseCard {
        margin-right: 33px; }
        .caseMember .caseCard:nth-child(3n) {
          margin-right: 0; } }
    @media only screen and (max-width: 768px) {
      .caseMember .caseCard {
        width: 48%; }
        .caseMember .caseCard:nth-child(odd) {
          margin-right: 4%; } }
  .caseArchive .caseCard {
    width: 100%; display:block; }
    /*@media only screen and (max-width: 768px) {
      .caseArchive .caseCard {
        width: 48%; } }*/
  .caseCard a {
    text-decoration: none;
    color: #000; }
    .caseCard_image {
      vertical-align: top;
      display: inline-block;
      width: 47%;
      margin-right:1%;
    }
    .caseCard_image.default {
      width: 100%;
      display: block;
      margin-right:0;
    }
    .caseCard a:hover .caseCard_image img {
      transform: scale(1.05); }
    .caseCard a:hover .caseCard_title {
      color: #2c52a9; }
  .caseCard_image {
    margin-bottom: 10px;
    overflow: hidden; }
    .caseCard_image img {
      width: 100%;
      height: auto; }
    .caseCard_image img {
      display: block;
      -webkit-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      -moz-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      -o-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      transform: scale(1); }
  .caseCard_head {
    display: inline-block;
    vertical-align: top;
      width: 47%;
      margin-left:1%;
  }
  .caseCard_head.default {
    width: 100%;
    display: block;
    margin-left: 0;
  }
  .caseCard_head {
    /*display: flex;
    justify-content: space-between;
    align-items: center;*/
    padding: 10px 0 7px;
    margin-bottom: 5px; }
    @media only screen and (max-width: 768px) {
      .caseCard_image,
      .caseCard_head,
      .caseCard_head.default {
        width: 100%;
        display: block;
        margin: 0 auto 2% auto;
      }
      .caseCard_head {
        padding: 5px 0; } }
  .caseCard_title {
    line-height: 1.6;
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .caseCard_title {
        font-size: 1.05rem; } }
    .caseArchive .caseCard_title {
      font-size: 1.6rem; }
      @media only screen and (max-width: 768px) {
        .caseArchive .caseCard_title {
          font-size: 1.2rem; } }

/** caseMember
/**************************************/
.caseMember {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (min-width: 768px) {
    .caseMember {
      justify-content: center; } }

/** caseArchive
/**************************************/
.caseArchive {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

/** cgGallery
/**************************************/
.cgGallery {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .cgGallery_item {
    width: 49.5%;
    display: block;
    margin-bottom: 10px;
    position: relative;
    cursor: pointer; }
    .cgGallery_item img {
      width: 100%;
      height: auto; }
    @media only screen and (max-width: 768px) {
      .cgGallery_item {
        margin-bottom: 5px; } }
    .desktop .cgGallery_item {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .cgGallery_item:hover {
        opacity: .6; }
    .cgGallery_item:before {
      position: absolute;
      bottom: 20px;
      right: 20px;
      content: '';
      width: 22px;
      height: 27px;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: left top;
      background-image: url("/assets/img/common/icon_zoom.png"); }
      @media only screen and (max-width: 768px) {
        .cgGallery_item:before {
          bottom: 10px;
          right: 10px; } }

/** cgFlow
/**************************************/
.cgFlow_step {
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 3.6rem; }
  @media only screen and (max-width: 768px) {
    .cgFlow_step {
      font-size: 2.7rem; } }
  @media only screen and (max-width: 768px) {
    .cgFlow_step {
      line-height: 1;
      margin-bottom: 15px; } }
  .cgFlow_step em {
    margin-left: 5px;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 6.5rem; }
    @media only screen and (max-width: 768px) {
      .cgFlow_step em {
        font-size: 4.875rem; } }

.cgFlow_body {
  line-height: 1.7;
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .cgFlow_body {
      font-size: 1.2rem; } }

.cgFlow_list {
  position: relative;
  list-style: none;
  margin: 0 0 1em;
  padding: 0;
  text-align: center;
  width: 100%;
  overflow: hidden; }
  .cgFlow_list:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 120px 0 120px 80px;
    border-color: transparent transparent transparent #2c52a9;
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1; }
    @media only screen and (max-width: 768px) {
      .cgFlow_list:before {
        display: none; } }
  .cgFlow_list:after {
    width: 80px;
    height: 100%;
    background: #fff;
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 0; }
    @media only screen and (max-width: 768px) {
      .cgFlow_list:after {
        display: none; } }
  .cgFlow_list li {
    width: 32%;
    position: relative;
    float: left;
    display: inline-block;
    height: 240px;
    padding: 0 40px 0 20px;
    background-color: #2c52a9;
    color: #fff;
    font-size: 1.8rem;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (max-width: 768px) {
      .cgFlow_list li {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 768px) {
      .cgFlow_list li {
        width: 100%;
        margin-bottom: 20px;
        height: auto;
        padding: 20px 0; } }
    .cgFlow_list li:before, .cgFlow_list li:after {
      position: absolute;
      left: -15px;
      display: block;
      content: '';
      background-color: #fff;
      border-left: 4px solid #FFF;
      width: 5px;
      height: 120px; }
    @media only screen and (min-width: 768px) {
      .cgFlow_list li:after {
        top: 0;
        transform: skew(30deg); } }
    @media only screen and (max-width: 768px) {
      .cgFlow_list li:after {
        box-sizing: border-box;
        border: 8px solid transparent;
        border-top: 8px solid #2c52a9;
        content: '';
        display: block;
        position: absolute;
        top: -14px;
        left: 50%;
        margin-left: -7px;
        background: none; } }
    .cgFlow_list li:before {
      bottom: 0;
      transform: skew(-30deg); }
      @media only screen and (max-width: 768px) {
        .cgFlow_list li:before {
          display: none; } }
    .cgFlow_list li:first-child:before, .cgFlow_list li:first-child:after {
      content: none; }

/** companyGroup
/**************************************/
.companyGroup_lead {
  line-height: 2;
  text-align: center;
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .companyGroup_lead {
      font-size: 1.2rem; } }
  @media only screen and (max-width: 768px) {
    .companyGroup_lead {
      line-height: 1.8; } }

.companyGroup_box {
  background: #e9edf6;
  padding: 45px 45px 0 45px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  -o-border-radius: 10px;
  -ms-border-radius: 10px;
  -khtml-border-radius: 10px;
  border-radius: 10px; }
  @media only screen and (max-width: 768px) {
    .companyGroup_box {
      padding: 30px 15px 20px; } }

.companyGroup_title {
  text-align: center; }

.companyGroup_list {
  display: flex;
  flex-wrap: wrap; }
  .companyGroup_list li {
    width: 285px;
    margin: 0 17px 40px 0; }
    @media only screen and (max-width: 768px) {
      .companyGroup_list li {
        margin: 0 0 20px; } }
    .companyGroup_list li:nth-child(3n) {
      margin-right: 0; }

.companyGroup_logo {
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .companyGroup_logo img {
      width: 100%;
      height: auto; } }
  .desktop .companyGroup_logo {
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    .desktop .companyGroup_logo:hover {
      opacity: .5; }

.companyGroup_category {
  text-align: center;
  font-weight: bold;
  margin: 20px 0;
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .companyGroup_category {
      font-size: 1.2rem; } }
  @media only screen and (max-width: 768px) {
    .companyGroup_category {
      margin: 15px 0 10px; } }

.companyGroup_text {
  font-size: 1.3rem; }
  @media only screen and (max-width: 768px) {
    .companyGroup_text {
      font-size: 0.975rem; } }

/** contact
/**************************************/
.contact h2 {
  line-height: 1.5; }

.contact_intro {
  text-align: center; }
  .contact_intro p {
    display: inline-block;
    padding: 15px 50px;
    border: 2px solid #ccc;
    font-size: 1.5rem; }
    @media only screen and (max-width: 768px) {
      .contact_intro p {
        font-size: 1.125rem; } }
    @media only screen and (max-width: 768px) {
      .contact_intro p {
        padding: 10px 25px; } }
    .contact_intro p strong {
      color: #2c52a9;
      font-style: normal;
      font-size: 1.8rem; }
      @media only screen and (max-width: 768px) {
        .contact_intro p strong {
          font-size: 1.35rem; } }

.contact_address {
  text-align: center;
  border: 2px solid #cecece;
  padding: 40px 0 30px; }
  @media only screen and (max-width: 768px) {
    .contact_address {
      padding: 20px 0 15px; } }

/** downloadList
/**************************************/
.downloadList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 1074px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .downloadList {
      justify-content: flex-start;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .downloadList--narrow {
    width: 640px; }
    @media only screen and (max-width: 768px) {
      .downloadList--narrow {
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }

/** downloadCard
/**************************************/
.downloadCard {
  width: 278px; }
  @media only screen and (min-width: 768px) {
    .downloadCard {
      margin: 0 40px 50px; } }
  @media only screen and (max-width: 768px) {
    .downloadCard {
      margin-bottom: 25px;
      width: 48%; } }
  @media only screen and (max-width: 768px) {
    .downloadCard:nth-child(odd) {
      margin-right: 4%; } }
  .downloadCard_image {
    margin-bottom: 10px; }
    .downloadCard_image img {
      width: 100%;
      height: auto; }
    @media only screen and (max-width: 768px) {
      .downloadCard_image {
        margin-bottom: 5px; } }
    .downloadCard_image img {
      display: block; }
  .downloadCard_title {
    line-height: 2;
    margin-bottom: 15px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .downloadCard_title {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 768px) {
      .downloadCard_title {
        line-height: 1.6;
        margin-bottom: 10px; } }

/** downloadComplete
/**************************************/
.downloadComplete h2 {
  line-height: 1.4; }

.downloadComplete_title {
  text-align: center; }
  .downloadComplete_title span {
    border-top: 3px solid #ccc;
    border-bottom: 3px solid #ccc;
    padding: 15px 0;
    font-weight: bold;
    text-align: center;
    font-size: 2rem; }
    @media only screen and (max-width: 768px) {
      .downloadComplete_title span {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 768px) {
      .downloadComplete_title span {
        padding: 10px 0; } }

.downloadComplete_box {
  padding: 50px 20px;
  text-align: center;
  border: 2px solid #2c52a9; }
  @media only screen and (max-width: 768px) {
    .downloadComplete_box {
      padding: 25px 10px; } }

/** informationManagementMenu
/**************************************/
.informationManagementMenu {
  padding: 60px 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("/assets/img/information_management/background.jpg"); }
  @media only screen and (max-width: 768px) {
    .informationManagementMenu {
      padding: 30px 0; } }
  .informationManagementMenu_title {
    text-align: center; }
    .informationManagementMenu_title span {
      text-align: center;
      border-bottom: 2px solid #000;
      padding-bottom: 20px;
      font-weight: bold;
      font-size: 2rem; }
      @media only screen and (max-width: 768px) {
        .informationManagementMenu_title span {
          font-size: 1.5rem; } }
  .informationManagementMenu_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media only screen and (max-width: 768px) {
      .informationManagementMenu_list {
        display: block; } }
    .informationManagementMenu_list li {
      width: 49.5%;
      height: 210px;
      margin: 0 0 10px; }
      @media only screen and (max-width: 768px) {
        .informationManagementMenu_list li {
          width: 100%;
          height: auto; } }
      .informationManagementMenu_list li a {
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        height: 100%;
        color: #000;
        text-decoration: none;
        text-align: center;
        position: relative; }
        @media only screen and (max-width: 768px) {
          .informationManagementMenu_list li a {
            padding: 20px 0 20px 20px;
            display: block;
            text-align: left; } }
        .desktop .informationManagementMenu_list li a {
          -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
          .desktop .informationManagementMenu_list li a:hover {
            opacity: .7; }
            .desktop .informationManagementMenu_list li a:hover:before {
              bottom: 20px; }
        .informationManagementMenu_list li a:before {
          position: absolute;
          right: 25px;
          bottom: 30px;
          -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          content: '';
          width: 60px;
          height: 60px;
          border-top: 20px solid #e9edf6;
          border-right: 20px solid #e9edf6;
          -webkit-transform: rotate(135deg);
          transform: rotate(135deg); }
          @media only screen and (max-width: 768px) {
            .informationManagementMenu_list li a:before {
              right: 15px;
              bottom: 50%;
              content: '';
              width: 10px;
              height: 10px;
              border-top: 5px solid #e9edf6;
              border-right: 5px solid #e9edf6;
              -webkit-transform: rotate(135deg);
              transform: rotate(135deg); } }
        .informationManagementMenu_list li a span {
          line-height: 2.2;
          font-weight: bold;
          font-size: 1.8rem; }
          @media only screen and (max-width: 768px) {
            .informationManagementMenu_list li a span {
              font-size: 1.35rem; } }

/** solutionSection
/**************************************/
/** solutionBox
/**************************************/
.solutionBox {
  position: relative; }
  .solutionBox.is-left .solutionBox_list {
    margin: 30px 0 0 70px; }
    @media only screen and (max-width: 768px) {
      .solutionBox.is-left .solutionBox_list {
        margin: 15px 0 0; } }
  .solutionBox.is-right {
    display: flex;
    justify-content: flex-end; }
    @media only screen and (max-width: 768px) {
      .solutionBox.is-right {
        display: block; } }
    .solutionBox.is-right .solutionBox_content {
      right: auto;
      left: 0; }
  .solutionBox_image {
    width: 530px;
    padding: 40px 0;
    text-align: center;
    border: 1px solid #c4c4c4; }
    @media only screen and (max-width: 768px) {
      .solutionBox_image {
        width: 100%;
        padding: 10px;
        margin-bottom: 10px; }
        .solutionBox_image img {
          width: 100%;
          height: auto; } }
  .solutionBox_content {
    position: absolute;
    right: 0;
    top: -40px;
    width: 500px; }
    @media only screen and (max-width: 768px) {
      .solutionBox_content {
        position: static;
        width: 100%; } }
  .solutionBox_box {
    border: 1px solid #c4c4c4;
    background: #fff;
    padding: 45px 35px; }
    @media only screen and (max-width: 768px) {
      .solutionBox_box {
        padding: 20px; } }
  .solutionBox_title {
    line-height: 1.8;
    font-size: 2.2rem; }
    @media only screen and (max-width: 768px) {
      .solutionBox_title {
        font-size: 1.65rem; } }
    @media only screen and (max-width: 768px) {
      .solutionBox_title br {
        display: none; } }
  .solutionBox_lead {
    color: #2c52a9;
    font-weight: bold;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .solutionBox_lead {
        font-size: 1.05rem; } }
  .solutionBox_body {
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .solutionBox_body {
        font-size: 1.05rem; } }
  .solutionBox_list dt {
    line-height: 1.4;
    border-left: 6px solid #2c52a9;
    padding-left: 20px;
    margin-bottom: 15px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 768px) {
      .solutionBox_list dt {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 768px) {
      .solutionBox_list dt {
        padding: 0;
        margin: 0 0 10px; } }
    @media only screen and (max-width: 768px) {
      .solutionBox_list dt {
        border-left-width: 4px;
        padding-left: 10px;
        font-size: 1.3rem; } }
  .solutionBox_list dd {
    margin-bottom: 30px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .solutionBox_list dd {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .solutionBox_list dd {
        margin-bottom: 20px; } }

/** maintenance
/**************************************/
.maintenance {
  text-align: center;
  background: #464646; }
  .maintenance_content {
    padding-top: 50px;
    background: #fff; }
    @media only screen and (max-width: 768px) {
      .maintenance_content {
        padding-top: 30px; } }
  .maintenance_title {
    margin-top: 80px; }
    @media only screen and (max-width: 768px) {
      .maintenance_title {
        margin-top: 40px; } }
  .maintenance_body {
    margin-top: 50px;
    line-height: 2.4;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .maintenance_body {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 768px) {
      .maintenance_body {
        margin-top: 25px;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
  .maintenance_term {
    border: 1px solid #ccc;
    margin-top: 40px;
    padding: 15px 0;
    font-size: 1.6rem;
    width: 680px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 768px) {
      .maintenance_term {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 768px) {
      .maintenance_term {
        padding: 10px;
        margin-top: 20px;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
  .maintenance_footer {
    margin-top: 80px;
    background: #464646;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .maintenance_footer {
        margin-top: 40px; } }
  .maintenance_copyright {
    color: #fff;
    padding-top: 40px;
    font-size: 1.3rem; }
    @media only screen and (max-width: 768px) {
      .maintenance_copyright {
        font-size: 0.975rem; } }
    @media only screen and (max-width: 768px) {
      .maintenance_copyright {
        padding-top: 20px; } }
  .maintenance_facebook {
    display: block;
    position: absolute;
    right: 35px;
    top: 25px; }
    @media only screen and (max-width: 768px) {
      .maintenance_facebook {
        position: static; } }
    .maintenance_facebook i {
      width: 41px;
      height: 41px;
      display: block;
      background-image: url("/assets/img/common/icon_facebook.png");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: left top; }
      @media only screen and (max-width: 768px) {
        .maintenance_facebook i {
          margin: 20px auto; } }

/** marketingIntro
/**************************************/
.marketingIntro {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .marketingIntro {
      display: block; } }
  .marketingIntro_column {
    width: 290px; }
    @media only screen and (max-width: 768px) {
      .marketingIntro_column {
        width: 100%;
        margin-bottom: 40px; } }
  .marketingIntro_num {
    font-size: 5.0rem;
    color: #2c52a9;
    text-align: center;
    font-family: 'Lato', sans-serif;
    font-weight: 300; }
    @media only screen and (max-width: 768px) {
      .marketingIntro_num {
        font-size: 4.0rem;
        line-height: 1;
        margin-bottom: 10px; } }
  .marketingIntro_title {
    color: #2c52a9;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 20px;
    text-align: center;
    font-size: 1.9rem; }
    .marketingIntro_title.fontAdujst {
      font-size: 1.6rem;
    }
    @media only screen and (max-width: 768px) {
      .marketingIntro_title {
        font-size: 1.425rem; } }
    @media only screen and (max-width: 768px) {
      .marketingIntro_title {
        margin-bottom: 10px; } }
  .marketingIntro_body {
    line-height: 1.8;
    padding-bottom: 20px;
    border-bottom: 2px solid #2c52a9;
    position: relative;
    font-size: 1.4rem; }
    .marketingIntro_body.noBorder,
    .marketingIntro_body.noBorder:before,
    .marketingIntro_body.noBorder:after {
      border-bottom: none;
      border-top: none;
    }
    @media only screen and (max-width: 768px) {
      .marketingIntro_body {
        font-size: 1.05rem; } }
    .marketingIntro_body:before {
      content: "";
      position: absolute;
      bottom: -26px;
      left: 50%;
      margin-left: -16px;
      border: 13px solid transparent;
      border-top: 13px solid #FFF;
      z-index: 2; }
    .marketingIntro_body:after {
      content: "";
      position: absolute;
      bottom: -30px;
      left: 50%;
      margin-left: -17px;
      border: 14px solid transparent;
      border-top: 14px solid #2c52a9;
      z-index: 1; }
  .marketingIntro_result {
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
    padding-top: 30px;
    font-size: 2rem; }
    @media only screen and (max-width: 768px) {
      .marketingIntro_result {
        font-size: 1.5rem; } }
    .marketingIntro_circle {
      color:#fff;
      display: block;
      margin:0 auto 20px auto;
      width: 220px;
      height: 220px;
      font-size: 3rem;
      border-radius: 110px;
      background: #2c52a9;
      text-align: center;
      font-style: italic;
      line-height:7.5;
    }
    .marketingIntro_circle.miniFont {
      font-size: 1.8rem;
      line-height:2;
      padding-top: 75px;
    }
    .seminarContentHero_body.fontBlue {
      color:#2c52a9;
      font-size: 2.2rem;
    }
    @media only screen and (max-width: 768px) {
        .seminarContentHero_body.fontBlue {
          font-size: 1.4rem;
        }
      }
/** marketingSection
/**************************************/
.marketingSection_num {
  height: 98px;
  background: #2c52a9;
  color: #fff;
  font-size: 4.5rem;
  text-align: center;
  width: 98px;
  margin-left: auto;
  margin-right: auto;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  -o-border-radius: 50%;
  -ms-border-radius: 50%;
  -khtml-border-radius: 50%;
  border-radius: 50%; }
  @media only screen and (max-width: 768px) {
    .marketingSection_num {
      font-size: 2.8rem;
      height: 50px;
      line-height: 50px;
      width: 50px;
      margin-left: auto;
      margin-right: auto; } }

.marketingSection_title {
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  font-size: 2.6rem; }
  @media only screen and (max-width: 768px) {
    .marketingSection_title {
      font-size: 1.95rem; } }

.marketingSection_body {
  line-height: 2.2;
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .marketingSection_body {
      font-size: 1.2rem; } }

.marketingSection_project {
  padding: 40px 0;
  text-align: center;
  border: 2px solid #dbdbdb; }
  @media only screen and (max-width: 768px) {
    .marketingSection_project {
      padding: 20px 15px; }
      .marketingSection_project img {
        width: 100%;
        height: auto; } }
  @media only screen and (max-width: 768px) {
    .marketingSection_project img {
      width: 80%;
      margin-left: auto;
      margin-right: auto; } }
  .marketingSection_project ul {
    display: flex;
    justify-content: center; }
    @media only screen and (max-width: 768px) {
      .marketingSection_project ul {
        display: block;
        text-align: left; } }
    .marketingSection_project ul li {
      margin: 0 10px;
      position: relative;
      font-weight: bold;
      padding-left: 15px;
      font-size: 1.6rem; }
      @media only screen and (max-width: 768px) {
        .marketingSection_project ul li {
          font-size: 1.2rem; } }
      @media only screen and (max-width: 768px) {
        .marketingSection_project ul li {
          margin: 0 10px 10px; } }
      .marketingSection_project ul li:before {
        position: absolute;
        left: 0;
        top: 50%;
        margin: -6px 10px 0 0;
        content: '●';
        color: #2c52a9;
        font-size: 1rem; }

/** marketingFlow
/**************************************/
.marketingFlow_section {
  overflow: hidden; }
  .marketingFlow_section.is-01 .marketingFlow_image {
    background-image: url("/assets/img/marketing/feature02_pic01.jpg"); }
  .marketingFlow_section.is-02 .marketingFlow_image {
    background-image: url("/assets/img/marketing/feature02_pic02.jpg"); }
  .marketingFlow_section.is-03 .marketingFlow_image {
    background-image: url("/assets/img/marketing/feature02_pic03.jpg"); }

.marketingFlow_image {
  float: left;
  width: 50%;
  height: 430px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center; }
  @media only screen and (max-width: 768px) {
    .marketingFlow_image {
      width: 100%;
      height: auto;
      padding-top: 65%;
      float: none;
      margin-bottom: 15px; } }

.marketingFlow_content {
  float: right;
  width: 45%; }
  @media only screen and (max-width: 768px) {
    .marketingFlow_content {
      float: none;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }

.marketingFlow_core {
  width: 460px; }
  @media only screen and (max-width: 768px) {
    .marketingFlow_core {
      width: 100%; } }

.marketingFlow_title {
  font-weight: bold;
  font-size: 1.5rem; }
  @media only screen and (max-width: 768px) {
    .marketingFlow_title {
      font-size: 1.125rem; } }

.marketingFlow_body {
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .marketingFlow_body {
      font-size: 1.05rem; } }

.marketingFlow_list {
  padding: 20px;
  background: #e9edf6; }
  @media only screen and (max-width: 768px) {
    .marketingFlow_list {
      padding: 10px; } }

.marketingFlow_arrow {
  height: 3px;
  background: #2c52a9;
  margin: 45px auto;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .marketingFlow_arrow {
      margin: 15px auto 30px; } }
  .marketingFlow_arrow:before {
    content: "";
    position: absolute;
    bottom: -39px;
    left: 50%;
    margin-left: -15px;
    border: 22px solid transparent;
    border-top: 22px solid #FFF;
    z-index: 2; }
  .marketingFlow_arrow:after {
    content: "";
    position: absolute;
    bottom: -45px;
    left: 50%;
    margin-left: -17px;
    border: 24px solid transparent;
    border-top: 24px solid #2c52a9;
    z-index: 1; }

/** marketingCase
/**************************************/
.marketingCase .buttonFill {
  width: 380px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .marketingCase .buttonFill {
      width: 100%; } }

/** memberList
/**************************************/
.memberList {
  display: flex;
  flex-wrap: wrap;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .memberList {
      width: 100%; } }
  @media only screen and (min-width: 768px) {
    .memberList {
      justify-content: center; } }
  @media only screen and (max-width: 768px) {
    .memberList {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .memberList_item {
    width: 324px;
    height: 360px;
    margin: 0 0 20px 0;
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 768px) {
      .memberList_item {
        margin-right: 14px; }
        .memberList_item:nth-child(3n) {
          margin-right: 0; } }
    @media only screen and (max-width: 768px) {
      .memberList_item {
        width: 48%;
        height: auto;
        margin-bottom: 10px;
        padding-top: 44%; }
        .memberList_item:nth-child(odd) {
          margin-right: 13px; } }
    .memberList_item a {
      display: block;
      text-decoration: none; }
      @media only screen and (max-width: 768px) {
        .memberList_item a {
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          display: block; } }
      .desktop .memberList_item a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .memberList_item a:hover .memberList_content {
          opacity: 1; }
  .memberList_content {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(44, 82, 169, 0.8);
    opacity: 0;
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    @media only screen and (max-width: 768px) {
      .memberList_content {
        position: absolute;
        bottom: 0;
        left: 0;
        top: auto;
        width: 100%;
        height: auto;
        opacity: 1;
        padding: 5px 0; } }
  .memberList_core {
    text-align: center; }
  .memberList_where {
    color: #fff;
    line-height: 1.4;
    margin-bottom: 10px;
    font-size: 1.2rem; }
    @media only screen and (max-width: 768px) {
      .memberList_where {
        font-size: 0.9rem; } }
    @media only screen and (max-width: 768px) {
      .memberList_where {
        margin-bottom: 0; } }
  .memberList_name {
    color: #fff;
    font-weight: bold;
    line-height: 1.4;
    font-size: 2.1rem; }
    @media only screen and (max-width: 768px) {
      .memberList_name {
        font-size: 1.575rem; } }
    @media only screen and (max-width: 768px) {
      .memberList_name {
        font-size: 1.4rem; } }

/** memberHero
/**************************************/
.memberHero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .memberHero {
      width: 100%; } }
  @media only screen and (max-width: 768px) {
    .memberHero {
      width: 100%;
      display: block; } }
  @media only screen and (min-width: 769px) {
    .memberHero_lead {
      background: none !important; } }
  @media only screen and (max-width: 768px) {
    .memberHero_lead {
      padding-top: 65.5%;
      background-size: cover;
      background-position: left center;
      background-repeat: no-repeat; } }
  .memberHero_lead p {
    color: #2c52a9;
    font-style: italic;
    display: inline-block;
    line-height: 2.8;
    font-weight: bold;
    margin-top: 150px;
    font-size: 2rem; }
    @media only screen and (max-width: 768px) {
      .memberHero_lead p {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 768px) {
      .memberHero_lead p {
        margin-top: 0;
        display: block;
        font-size: 1.3rem;
        line-height: 2.2;
        padding-bottom: 15px;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
    .memberHero_lead p span {
      padding: 10px 0;
      background: linear-gradient(transparent 0, #fff 0, #fff 100%, transparent 100%); }
      @media only screen and (max-width: 768px) {
        .memberHero_lead p span {
          padding: 5px 10px; } }
      @media only screen and (max-width: 768px) {
        .memberHero_lead p span br {
          display: none; } }
  .memberHero_content {
    width: 50%;
    padding: 0 40px;
    margin-top: 120px; }
    .memberHero_content.bg-white {
      background: rgba(255,255,255,.7);
      padding: 20px;
    }
    @media only screen and (max-width: 768px) {
      .memberHero_content {
        width: 100%;
        padding: 0;
        margin-top: 0; } }
  .memberHero_title {
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px) {
      .memberHero_title {
        margin-bottom: 20px;
        margin-top: 20px;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
    .memberHero_title .is-where {
      color: #828282;
      display: block;
      margin-bottom: 15px;
      font-size: 1.2rem; }
      @media only screen and (max-width: 768px) {
        .memberHero_title .is-where {
          font-size: 0.9rem; } }
    .memberHero_title .is-name {
      display: block;
      border-bottom: 2px solid #fff;
      padding-bottom: 25px;
      font-size: 3.8rem; }
      @media only screen and (max-width: 768px) {
        .memberHero_title .is-name {
          font-size: 2.85rem; } }
  .memberHero_list.bg-white {
    background: rgba(255,255,255,.4);
    padding: 20px;
  }
  @media only screen and (max-width: 768px) {
    .memberHero_list {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .memberHero_list dt {
    color: #1e1e1e;
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .memberHero_list dt {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .memberHero_list dt {
        margin-bottom: 10px; } }
  .memberHero_list dd {
    color: #1e1e1e;
    margin-bottom: 25px;
    line-height: 1.8;
    font-size: 1.3rem; }
    @media only screen and (max-width: 768px) {
      .memberHero_list dd {
        font-size: 0.975rem; } }
    @media only screen and (max-width: 768px) {
      .memberHero_list dd {
        margin-bottom: 20px; } }

/** photoIntroduction
/**************************************/
.photoIntroduction {
  padding: 40px 0;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .photoIntroduction {
      padding: 20px 0; } }
  .photoIntroduction_image {
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .photoIntroduction_image {
        margin-bottom: 20px;
        width: 90%;
        margin-left: auto;
        margin-right: auto; } }
  .photoIntroduction_body {
    width: 240px;
    position: absolute;
    right: 22px;
    top: 94px;
    line-height: 2;
    font-size: 1.3rem; }
    @media only screen and (max-width: 768px) {
      .photoIntroduction_body {
        font-size: 0.975rem; } }
    @media only screen and (max-width: 768px) {
      .photoIntroduction_body {
        position: static;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }

/** photoAbout
/**************************************/
.photoAbout_body {
  min-height: 110px; }
  @media only screen and (max-width: 768px) {
    .photoAbout_body {
      min-height: 0;
      margin-bottom: 15px; } }

/** photoStudio
/**************************************/
.photoStudio_headline {
  text-align: center;
  font-size: 3rem; }
  @media only screen and (max-width: 768px) {
    .photoStudio_headline {
      font-size: 2.25rem; } }
  @media only screen and (max-width: 768px) {
    .photoStudio_headline {
      line-height: 1.8; } }

.photoStudio_lead {
  line-height: 2.2;
  text-align: center;
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .photoStudio_lead {
      font-size: 1.2rem; } }
  @media only screen and (max-width: 768px) {
    .photoStudio_lead {
      line-height: 1.8;
      text-align: left; } }
  @media only screen and (max-width: 768px) {
    .photoStudio_lead br {
      display: none; } }

.photoStudio_section {
  position: relative;
padding-bottom:150px;}

@media only screen and (max-width: 768px) {
.photoStudio_section {
padding-bottom:0;}

  .photoStudio_image img {
    width: 100%;
    height: auto; } }

.photoStudio_content {
  top: 505px;
  border: 2px solid #c4c4c4;
  width: 725px;
  position: absolute;
  background: #fff;
  padding: 40px 30px; }
  @media only screen and (max-width: 768px) {
    .photoStudio_content {
      position: static;
      width: 100%;
      padding: 40px 50px; } }
  .photoStudio_content.is-right {
    right: 0; }
  .photoStudio_content.is-left {
    left: 0; }

.photoStudio_title {
  line-height:1.5;
  font-size: 2.2rem; }
  @media only screen and (max-width: 768px) {
    .photoStudio_title {
      font-size: 1.65rem; } }

.photoStudio_title span{
  font-size:80%;
}

.photoStudio_body {
  line-height: 2.0;
  font-size: 1.3rem; }
  @media only screen and (max-width: 768px) {
    .photoStudio_body {
      font-size: 0.975rem; } }

.photoStudio_thumb {
  position: relative;
  cursor: pointer; }
  .photoStudio_thumb:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 22px;
    height: 27px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url("/assets/img/common/icon_zoom.png"); }
  .desktop .photoStudio_thumb {
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    .desktop .photoStudio_thumb:hover {
      opacity: .5; }

/** recruitTab
/**************************************/
.recruitTab {
  display: flex;
  justify-content: center; }
  .recruitTab_button {
    margin: 0 5px; }
    .recruitTab_button a {
      width: 122px;
      height: 35px;
      font-weight: normal;
      font-size: 1.3rem; }
      @media only screen and (max-width: 768px) {
        .recruitTab_button a {
          font-size: 0.975rem; } }
      @media only screen and (max-width: 768px) {
        .recruitTab_button a {
          width: 100px;
          height: 30px; } }
    .recruitTab_button.is-current a {
      opacity: .4;
      pointer-events: none; }

/** recruitMenu
/**************************************/
.recruitMenu {
  background: #e9edf6;
  padding: 25px; }
  @media only screen and (max-width: 768px) {
    .recruitMenu {
      padding: 15px; } }
  .recruitMenu li a {
    line-height: 2.2;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .recruitMenu li a {
        font-size: 1.05rem; } }

/** recruit
/**************************************/
.recruit_list {
  border-top: 1px solid #d9d9d9;
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
    .recruit_list {
      display: block; } }
  .recruit_list dt, .recruit_list dd {
    border-bottom: 1px solid #d9d9d9;
    padding: 30px 0;
    line-height: 2.2;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .recruit_list dt, .recruit_list dd {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .recruit_list dt, .recruit_list dd {
        padding: 0;
        line-height: 1.8; } }
  .recruit_list dt {
    width: 200px; }
    @media only screen and (max-width: 768px) {
      .recruit_list dt {
        border-bottom: none;
        width: 100%;
        margin: 10px 0 2px;
        font-weight: bold; } }
  .recruit_list dd {
    width: calc(100% - 200px); }
    @media only screen and (max-width: 768px) {
      .recruit_list dd {
        width: 100%;
        padding-bottom: 10px; } }
    .recruit_list dd ul li {
      padding-left: 1em;
      text-indent: -1em;
      font-size: 1.4rem; }
      @media only screen and (max-width: 768px) {
        .recruit_list dd ul li {
          font-size: 1.05rem; } }

/** leadingCompany
/**************************************/
.leadingCompany_title {
  font-weight: bold;
  border: 1px solid #6b86c3;
  padding: 12px 15px;
  font-size: 1.5rem; }
  @media only screen and (max-width: 768px) {
    .leadingCompany_title {
      font-size: 1.125rem; } }
  @media only screen and (max-width: 768px) {
    .leadingCompany_title {
      padding: 10px 8px; } }

.leadingCompany_body {
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .leadingCompany_body {
      font-size: 1.05rem; } }

/** recruitAboutEntry
/**************************************/
.recruitAboutEntry_box {
  background: #e9edf6;
  padding: 30px; }
  @media only screen and (max-width: 768px) {
    .recruitAboutEntry_box {
      padding: 20px; } }

.recruitAboutEntry_body {
  line-height: 2.0;
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .recruitAboutEntry_body {
      font-size: 1.05rem; } }

.recruitAboutEntry .buttonFill {
  width: 380px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .recruitAboutEntry .buttonFill {
      width: 100%; } }

/** seminarContent
/**************************************/
.seminarContent_head {
  border: 1px solid #2c52a9;
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  -khtml-border-radius: 3px;
  border-radius: 3px;
  width: 250px;
  margin-left: auto;
  margin-right: auto; }

.seminarContent_date {
  width: 50%;
  text-align: center;
  font-size: 1.2rem; }
  @media only screen and (max-width: 768px) {
    .seminarContent_date {
      font-size: 0.9rem; } }

.seminarContent_state {
  width: 50%;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .seminarContent_state {
      font-size: 1.2rem; } }
  .seminarContent_state--current {
    background: #2c52a9; }
  .seminarContent_state--end {
    background: #9d9d9d; }

.seminarContentHero_image img {
  width: 100%;
  height: auto; }

.seminarContentHero_body {
  background: #e9edf6;
  padding: 35px 45px;
  font-weight: bold;
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .seminarContentHero_body {
      font-size: 1.05rem; } }
  @media only screen and (max-width: 768px) {
    .seminarContentHero_body {
      padding: 15px; } }

/** serviceSection
/**************************************/
.serviceSection.is-plan .serviceSection_head {
  background-image: url("/assets/img/service/plan_bg.jpg"); }

.serviceSection.is-design .serviceSection_head {
  background-image: url("/assets/img/service/design_bg.jpg"); }

.serviceSection.is-quality .serviceSection_head {
  background-image: url("/assets/img/service/quality_bg.jpg"); }

.serviceSection_head {
  height: 430px;
  color: #fff;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 768px) {
    .serviceSection_head {
      height: auto; } }

.serviceSection_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  padding-top: 60px; }
  @media only screen and (max-width: 768px) {
    .serviceSection_wrap {
      padding: 20px 0;
      display: block; } }

.serviceSection_title {
  font-size: 14.5rem;
  font-family: 'Lato', sans-serif;
  font-weight: 300; }
  @media only screen and (max-width: 768px) {
    .serviceSection_title {
      font-size: 10.875rem; } }
  @media only screen and (max-width: 768px) {
    .serviceSection_title {
      font-size: 6.5rem;
      margin-bottom: 10px;
      text-align: center; } }

.serviceSection_main {
  font-weight: bold;
  font-size: 2.5rem; }
  @media only screen and (max-width: 768px) {
    .serviceSection_main {
      font-size: 1.875rem; } }
  @media only screen and (max-width: 768px) {
    .serviceSection_main {
      line-height: 1.6; } }

.serviceSection_sub {
  font-weight: bold;
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .serviceSection_sub {
      font-size: 1.2rem; } }

.serviceSection_content {
  background: #fff;
  margin-top: -180px;
  padding: 60px 80px 0;
  display: flex;
  justify-content: space-between;
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  .serviceSection_content.noflex4blog {
    margin-top: 30px;
    display: block;
  }
  @media only screen and (max-width: 768px) {
    .serviceSection_content {
      margin-top: 0;
      padding: 0;
      width: 100%;
      display: block; } }

@media only screen and (max-width: 768px) {
  .serviceSection_pic {
    margin: 20px 0;
    width: 80%;
    margin-left: auto;
    margin-right: auto; }
    .serviceSection_pic img {
      width: 100%;
      height: auto; } }

.serviceSection_menu {
  width: 515px; }
  @media only screen and (max-width: 768px) {
    .serviceSection_menu {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }

.serviceSection .buttonFrame {
  margin-bottom: 10px; }

.serviceSection_text {
  margin-bottom: 20px;
  line-height: 1.6;
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .serviceSection_text {
      font-size: 1.05rem; } }

/** serviceSectionQuality
/**************************************/
.serviceSectionQuality {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 500px; }
  @media only screen and (max-width: 768px) {
    .serviceSectionQuality {
      width: auto;
      margin: 20px 0;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .serviceSectionQuality_image {
    width: 150px; }
    @media only screen and (max-width: 768px) {
      .serviceSectionQuality_image {
        width: 80px; }
        .serviceSectionQuality_image img {
          width: 100%;
          height: auto; } }
  .serviceSectionQuality_content {
    width: calc(100% - 150px); }
    @media only screen and (max-width: 768px) {
      .serviceSectionQuality_content {
        margin: 0 0 10px 15px; } }
  .serviceSectionQuality_title {
    font-weight: bold;
    font-size: 1.85rem; }
    @media only screen and (max-width: 768px) {
      .serviceSectionQuality_title {
        font-size: 1.3875rem; } }
    @media only screen and (max-width: 768px) {
      .serviceSectionQuality_title {
        margin-top: 10px; } }
  .serviceSectionQuality_body {
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .serviceSectionQuality_body {
        font-size: 1.05rem; } }

/** serviceListLv1
/**************************************/
.serviceListLv1_column {
  position: relative; }
  .serviceListLv1_column.is-left .serviceListLv1_content {
    right: 0; }
  .serviceListLv1_column.is-right .serviceListLv1_image {
    text-align: right; }

.serviceListLv1_content {
  position: absolute;
  background: #fff;
  border: 1px solid #c4c4c4;
  width: 500px;
  top: -60px;
  padding: 40px; }
  @media only screen and (max-width: 768px) {
    .serviceListLv1_content {
      position: static;
      width: 100%;
      padding: 0;
      border: none;
      margin-bottom: 10px; } }

.serviceListLv1_title {
  font-weight: bold;
  margin-bottom: 30px;
  line-height: 1.8;
  font-size: 2.2rem; }
  @media only screen and (max-width: 768px) {
    .serviceListLv1_title {
      font-size: 1.65rem; } }
  @media only screen and (max-width: 768px) {
    .serviceListLv1_title {
      margin-bottom: 10px; } }

.serviceListLv1_body {
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .serviceListLv1_body {
      font-size: 1.05rem; } }

@media only screen and (max-width: 768px) {
  .serviceListLv1_image img {
    width: 100%;
    height: auto; } }

/** serviceListLv2
/**************************************/
.serviceListLv2 {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .serviceListLv2 {
      display: block; } }
  .serviceListLv2_column {
    width: 50%;
    overflow: hidden; }
    @media only screen and (max-width: 768px) {
      .serviceListLv2_column {
        margin-bottom: 40px;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
    .serviceListLv2_column:nth-child(1) .serviceListLv2_content {
      float: right;
      margin-right: 40px; }
      @media only screen and (max-width: 768px) {
        .serviceListLv2_column:nth-child(1) .serviceListLv2_content {
          float: none;
          margin-right: 0; } }
    .serviceListLv2_column:nth-child(2) .serviceListLv2_content {
      float: left;
      margin-left: 40px; }
      @media only screen and (max-width: 768px) {
        .serviceListLv2_column:nth-child(2) .serviceListLv2_content {
          float: none;
          margin-left: 0; } }
  .serviceListLv2_image {
    padding-top: 41.2011173184%;
    height: 300px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center; }
    @media only screen and (max-width: 768px) {
      .serviceListLv2_image {
        height: auto;
        margin-bottom: 20px; } }
  .serviceListLv2_content {
    width: 480px;
    background: #fff;
    padding: 50px;
    margin-top: -110px; }
    @media only screen and (max-width: 768px) {
      .serviceListLv2_content {
        width: 100%;
        padding: 0;
        margin-top: 0; } }
  .serviceListLv2_title {
    text-align: center;
    font-weight: bold;
    margin-bottom: 40px;
    font-size: 2.2rem; }
    @media only screen and (max-width: 768px) {
      .serviceListLv2_title {
        font-size: 1.65rem; } }
    @media only screen and (max-width: 768px) {
      .serviceListLv2_title {
        margin-bottom: 20px; } }
  .serviceListLv2_body {
    line-height: 2.0;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .serviceListLv2_body {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .serviceListLv2_body {
        line-height: 1.8; } }

/** snsFlow
/**************************************/
.snsFlow {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .snsFlow {
      display: block; } }
  .snsFlow_item {
    text-align: center;
    width: 220px;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .snsFlow_item {
        width: 100%;
        margin-bottom: 50px; } }
    .snsFlow_item:before {
      display: block;
      content: '';
      position: absolute;
      width: 20px;
      height: 20px;
      right: -20px;
      top: 35px;
      opacity: .3;
      border-top: 2px solid #2c52a9;
      border-right: 2px solid #2c52a9;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
      @media only screen and (max-width: 768px) {
        .snsFlow_item:before {
          top: auto;
          left: 50%;
          bottom: -30px;
          width: 30px;
          height: 30px;
          margin: 0 0 0 -15px;
          -webkit-transform: rotate(135deg);
          transform: rotate(135deg); } }
    .snsFlow_item:last-child:before {
      display: none; }
  .snsFlow_image {
    margin-bottom: 10px; }
  .snsFlow_title {
    color: #2c52a9;
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 2rem; }
    @media only screen and (max-width: 768px) {
      .snsFlow_title {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 768px) {
      .snsFlow_title {
        margin-bottom: 5px; } }
  .snsFlow_body {
    text-align: left;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .snsFlow_body {
        font-size: 1.05rem; } }

/** serviceFrameBox
/**************************************/
.serviceFrameBox {
  border: 2px solid #d5dcee; }
  .serviceFrameBox_section {
    border-bottom: 2px solid #d5dcee;
    padding: 50px; }
    @media only screen and (max-width: 768px) {
      .serviceFrameBox_section {
        padding: 20px; } }
  .serviceFrameBox_body {
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .serviceFrameBox_body {
        font-size: 1.05rem; } }
  .serviceFrameBox_image {
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .serviceFrameBox_image img {
        width: 100%;
        height: auto; } }

/** serviceSlider
/**************************************/
.serviceSlider {
  border: 2px solid #2c52a9; }
  .serviceSlider_item {
    text-align: center; }
  .serviceSlider .slick-slide img {
    display: inline-block; }
    @media only screen and (max-width: 768px) {
      .serviceSlider .slick-slide img {
        width: 100%;
        height: auto; } }
  .serviceSlider .slick-dots {
    padding: 12px 0;
    background: #2c52a9;
    display: flex !important;
    justify-content: center; }
    .serviceSlider .slick-dots li {
      width: 15px;
      height: 15px;
      text-align: center;
      margin: 0 5px; }
      .serviceSlider .slick-dots li button {
        background: #fff;
        width: 100%;
        height: 100%;
        -moz-border-radius: 50%;
        -webkit-border-radius: 50%;
        -o-border-radius: 50%;
        -ms-border-radius: 50%;
        -khtml-border-radius: 50%;
        border-radius: 50%; }
      .serviceSlider .slick-dots li.slick-active {
        opacity: .5; }

/** promoMenu
/**************************************/
.promoMenu {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
    .promoMenu {
      display: block; } }
  .promoMenu li {
    width: 470px;
    display: flex;
    align-items: center;
    margin-bottom: 30px; }
    @media only screen and (max-width: 768px) {
      .promoMenu li {
        width: 100%; } }
    .promoMenu li:nth-child(odd) {
      margin-right: 60px; }
  .promoMenu_title {
    color: #2c52a9;
    width: 200px;
    text-align: center;
    margin-right: 20px;
    line-height: 1;
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-size: 9rem; }
    @media only screen and (max-width: 768px) {
      .promoMenu_title {
        font-size: 6.75rem; } }
    @media only screen and (max-width: 768px) {
      .promoMenu_title {
        font-size: 6.0rem; } }
  .promoMenu_body {
    width: 260px;
    line-height: 1.8;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .promoMenu_body {
        font-size: 1.05rem; } }

/** sitemap
/**************************************/
.sitemap.is-wide .sitemap_title {
  width: 100%; }

.sitemap .is-flex, .sitemap.is-flex {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .sitemap .is-flex, .sitemap.is-flex {
      display: block; } }

.sitemap_title {
  background: #2c52a9;
  height: 58px;
  line-height: 58px;
  text-align: center;
  color: #fff;
  width: 480px;
  display: block;
  text-decoration: none;
  font-weight: bold;
  margin-bottom: 30px;
  font-size: 1.6rem;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  -khtml-border-radius: 5px;
  border-radius: 5px; }
  @media only screen and (max-width: 768px) {
    .sitemap_title {
      font-size: 1.2rem; } }
  @media only screen and (max-width: 768px) {
    .sitemap_title {
      height: 40px;
      line-height: 40px;
      width: 100%;
      margin-bottom: 10px; } }
  .desktop .sitemap_title {
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    .desktop .sitemap_title:hover {
      opacity: .7; }

.sitemap_column {
  width: 300px; }
  @media only screen and (max-width: 768px) {
    .sitemap_column {
      width: 100%;
      margin-bottom: 30px; } }
  .sitemap_column.is-sub {
    border-top: 1px solid #ccc;
    padding-top: 40px;
    width: 100%;
    display: flex; }
    @media only screen and (max-width: 768px) {
      .sitemap_column.is-sub {
        padding-top: 20px;
        display: block; } }
    .sitemap_column.is-sub dd {
      margin-right: 70px; }
  .sitemap_column dt {
    border-bottom: 1px solid #000;
    padding-bottom: 15px;
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 1.3rem; }
    @media only screen and (max-width: 768px) {
      .sitemap_column dt {
        font-size: 0.975rem; } }
    @media only screen and (max-width: 768px) {
      .sitemap_column dt {
        padding-bottom: 7px;
        margin-bottom: 7px; } }
  .sitemap_column dd {
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .sitemap_column dd {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .sitemap_column dd {
        margin-bottom: 10px; } }

/** common
/**************************************/
body.is-top {
  overflow: hidden; }
  body.is-top .contents {
    opacity: 0;
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    body.is-top .contents.inView {
      opacity: 1; }

/** topIntro
/**************************************/
.topIntro {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 499; }
  .topIntro p {
    font-size: 2.0rem;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .topIntro p {
        font-size: 1.4rem; } }
    .topIntro p em {
      font-style: normal;
      opacity: 0;
      -webkit-transition: 2s cubic-bezier(0.77, 0, 0.175, 1);
      -moz-transition: 2s cubic-bezier(0.77, 0, 0.175, 1);
      -o-transition: 2s cubic-bezier(0.77, 0, 0.175, 1);
      transition: 2s cubic-bezier(0.77, 0, 0.175, 1);
      -webkit-transform: translate3d(10px, 0, 0);
      -moz-transform: translate3d(10px, 0, 0);
      -o-transform: translate3d(10px, 0, 0);
      transform: translate3d(10px, 0, 0); }
      .topIntro p em:nth-child(1) {
        -webkit-transition-delay: 0.4s;
        transition-delay: 0.4s; }
      .topIntro p em:nth-child(2) {
        -webkit-transition-delay: 0.45s;
        transition-delay: 0.45s; }
      .topIntro p em:nth-child(3) {
        -webkit-transition-delay: 0.5s;
        transition-delay: 0.5s; }
      .topIntro p em:nth-child(4) {
        -webkit-transition-delay: 0.55s;
        transition-delay: 0.55s; }
      .topIntro p em:nth-child(5) {
        -webkit-transition-delay: 0.6s;
        transition-delay: 0.6s; }
      .topIntro p em:nth-child(6) {
        -webkit-transition-delay: 0.65s;
        transition-delay: 0.65s; }
      .topIntro p em:nth-child(7) {
        -webkit-transition-delay: 0.7s;
        transition-delay: 0.7s; }
      .topIntro p em:nth-child(8) {
        -webkit-transition-delay: 0.75s;
        transition-delay: 0.75s; }
      .topIntro p em:nth-child(9) {
        -webkit-transition-delay: 0.8s;
        transition-delay: 0.8s; }
      .topIntro p em:nth-child(10) {
        -webkit-transition-delay: 0.85s;
        transition-delay: 0.85s; }
      .topIntro p em:nth-child(11) {
        -webkit-transition-delay: 0.9s;
        transition-delay: 0.9s; }
      .topIntro p em:nth-child(12) {
        -webkit-transition-delay: 0.95s;
        transition-delay: 0.95s; }
      .topIntro p em:nth-child(13) {
        -webkit-transition-delay: 1s;
        transition-delay: 1s; }
      .topIntro p em:nth-child(14) {
        -webkit-transition-delay: 1.05s;
        transition-delay: 1.05s; }
      .topIntro p em:nth-child(15) {
        -webkit-transition-delay: 1.1s;
        transition-delay: 1.1s; }
      .topIntro p em:nth-child(16) {
        -webkit-transition-delay: 1.15s;
        transition-delay: 1.15s; }
      .topIntro p em:nth-child(17) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.2s; }
      .topIntro p em:nth-child(18) {
        -webkit-transition-delay: 1.25s;
        transition-delay: 1.25s; }
      .topIntro p em:nth-child(19) {
        -webkit-transition-delay: 1.3s;
        transition-delay: 1.3s; }
      .topIntro p em:nth-child(20) {
        -webkit-transition-delay: 1.35s;
        transition-delay: 1.35s; }
  .topIntro.inView p em {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }

.hero--top {
  position: relative !important; }

.topIntroAfter {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99; }
  .topIntroAfter p {
    color: #fff;
    font-size: 2.0rem;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .topIntroAfter p {
        font-size: 1.4rem; } }
  @media only screen and (max-width: 768px) {
    .topIntroAfter {
      top: -18vh; } }

/** topHeroNews
/**************************************/
.topHeroNews {
  display: flex;
  justify-content: flex-end;
  margin-top: -25px;
  position: relative;
  z-index: 999;
  opacity: 0;
  -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
  .topHeroNews.inView {
    opacity: 1; }
  @media only screen and (max-width: 768px) {
    .topHeroNews {
      margin-top: 0; } }
  .topHeroNews_content {
    border-top: 1px solid #c4c4c4;
    border-left: 1px solid #c4c4c4;
    border-bottom: 1px solid #c4c4c4;
    padding: 5px 20px 5px 20px;
    display: flex;
    align-items: center;
    background: #fff;
    width: 510px; }
    @media only screen and (max-width: 768px) {
      .topHeroNews_content {
        position: static;
        border-left: none;
        border-width: 1px;
        display: block;
        padding: 3px 10px;
        width: 100%; } }
  .topHeroNews_wrap {
    display: flex; }
  .topHeroNews_title {
    color: #2c52a9;
    font-size: 1.6rem;
    font-weight: bold;
    width: 70px;
    letter-spacing: .05em;
    font-family: 'Lato', sans-serif;
    font-weight: 400; }
    @media only screen and (max-width: 768px) {
      .topHeroNews_title {
        font-size: 1.3rem; } }
  .topHeroNews_date {
    font-style: italic;
    color: #3b3b3b;
    width: 110px;
    font-size: 1.2rem; }
    @media only screen and (max-width: 768px) {
      .topHeroNews_date {
        font-size: 0.9rem; } }
  .topHeroNews_body {
    width: 290px;
    overflow: hidden; }
    .topHeroNews_body p {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-weight: bold;
      font-size: 1.2rem; }
      @media only screen and (max-width: 768px) {
        .topHeroNews_body p {
          font-size: 0.9rem; } }
      .topHeroNews_body p a {
        color: #000;
        text-decoration: none; }
        .desktop .topHeroNews_body p a {
          -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
          .desktop .topHeroNews_body p a:hover {
            opacity: .5; }

/** topMission
/**************************************/
.topMission {
  padding-top: 210px;
  position: relative;
  padding-bottom: 30px;
  background-image: url("/assets/img/top/mission.jpg");
  background-position: right bottom;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 768px) {
    .topMission {
      padding: 20px 0 0;
      background: none; } }
  .topMission_title {
    font-size: 17rem;
    color: #2c52a9;
    opacity: .25;
    position: absolute;
    left: 10%;
    top: -120px;
    line-height: .9;
    font-family: 'Lato', sans-serif;
    font-weight: 300; }
    @media only screen and (max-width: 768px) {
      .topMission_title {
        position: static;
        font-size: 5rem;
        text-align: center; } }
    @media only screen and (max-width: 768px) {
      .topMission_title br {
        display: none; } }
    .topMission_title span {
      font-size: 11.1rem; }
      @media only screen and (max-width: 768px) {
        .topMission_title span {
          font-size: 4rem; } }
  .topMission_content {
    margin-top: -20px; }
    @media only screen and (max-width: 768px) {
      .topMission_content {
        margin-top: 10px; } }
  .topMission_lead {
    line-height: 2.0;
    font-weight: bold;
    margin-bottom: 30px;
    font-size: 2.2rem; }
    @media only screen and (max-width: 768px) {
      .topMission_lead {
        font-size: 1.65rem; } }
    @media only screen and (max-width: 768px) {
      .topMission_lead {
        margin-bottom: 15px;
        line-height: 1.6; } }
  .topMission_body {
    line-height: 2.4;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .topMission_body {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .topMission_body {
        line-height: 2.0; } }
    @media only screen and (max-width: 768px) {
      .topMission_body br {
        display: none; } }
  .topMission_image img {
    width: 100%;
    height: auto; }

/** topService
/**************************************/
.topService_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
    .topService_wrap {
      display: block; } }

.topService_section {
  border-right: 1px solid #dcdcdc;
  width: 33.3333333333%;
  padding: 0 20px;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .topService_section {
      width: 100%;
      border-right: none;
      border-bottom: 1px solid #dcdcdc;
      padding-bottom: 20px;
      padding-top: 20px; } }
  .topService_section:first-child {
    border-left: 1px solid #dcdcdc; }
    @media only screen and (max-width: 768px) {
      .topService_section:first-child {
        border-left: none;
        border-top: 1px solid #dcdcdc; } }

.topService_title {
  font-size: 9.0rem;
  color: #2c52a9;
  margin-bottom: 40px;
  text-align: center;
  font-family: 'Lato', sans-serif;
  font-weight: 300; }
  @media only screen and (max-width: 768px) {
    .topService_title {
      font-size: 5.0rem;
      margin-bottom: 20px; } }

.topService_lead {
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 20px;
  font-size: 1.8rem; }
  @media only screen and (max-width: 768px) {
    .topService_lead {
      font-size: 1.35rem; } }
  @media only screen and (max-width: 768px) {
    .topService_lead {
      margin-bottom: 5px;
      text-align: left; } }

.topService_body {
  line-height: 1.7;
  margin-bottom: 30px; }
  @media only screen and (max-width: 768px) {
    .topService_body {
      margin-bottom: 15px; } }

.topService_list li {
  margin-bottom: 10px; }
  @media only screen and (max-width: 768px) {
    .topService_list li {
      margin-bottom: 5px; } }
  .topService_list li a {
    font-weight: bold;
    font-size: 1.2rem; }
    @media only screen and (max-width: 768px) {
      .topService_list li a {
        font-size: 0.9rem; } }

.topService .buttonFill {
  width: 560px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 768px) {
    .topService .buttonFill {
      width: 100%; } }

.topService_balloon {
  background: #2c52a9;
  padding: 40px 15px 30px 15px;
  margin-bottom: 40px;
  position: relative;
  position: absolute;
  left: 2px;
  top: -190px;
  width: calc(100% - 4px);
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  -khtml-border-radius: 3px;
  border-radius: 3px; }
  @media only screen and (max-width: 768px) {
    .topService_balloon {
      position: relative;
      top: 0;
      padding: 15px 20px;
      margin-bottom: 20px; } }
  .topService_balloon:before {
    position: absolute;
    box-sizing: border-box;
    border: 25px solid transparent;
    border-top: 35px solid #2c52a9;
    bottom: -50px;
    left: 50%;
    display: block;
    margin-left: -25px;
    content: ''; }
  .topService_balloon p {
    color: #fff;
    font-weight: bold;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .topService_balloon p {
        font-size: 1.2rem; } }

.topService--long {
  padding-top: 210px !important; }
  @media only screen and (max-width: 768px) {
    .topService--long {
      padding-top: 0 !important; } }
  .topService--long .topService_section {
    padding-bottom: 50px;
    padding-top: 50px; }
    @media only screen and (max-width: 768px) {
      .topService--long .topService_section {
        padding: 20px 0 0; } }

/** topCase
/**************************************/
.topCase {
  background: #f8f8f8;
  padding: 40px 0 75px; }
  .topCase_lead {
    text-align: center;
    font-size: 1.7rem; }
    @media only screen and (max-width: 768px) {
      .topCase_lead {
        font-size: 1.275rem; } }
    @media only screen and (max-width: 768px) {
      .topCase_lead {
        text-align: left; } }
  .topCase .categoryList a {
    width: 180px;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .topCase .categoryList a {
        width: auto; } }
  .topCase_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media only screen and (max-width: 768px) {
      .topCase_list {
        display: block; } }
  .topCase .buttonFill {
    width: 380px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 768px) {
      .topCase .buttonFill {
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }

.topCaseCard {
  background: #fff;
  width: 32.5%;
  padding: 15px 15px;
  margin-bottom: 10px; }
  @media only screen and (max-width: 768px) {
    .topCaseCard {
      width: 100%; } }
  .topCaseCard a {
    text-decoration: none;
    display: block; }
    .desktop .topCaseCard a {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .topCaseCard a:hover .topCaseCard_image img {
        transform: scale(1.05); }
      .desktop .topCaseCard a:hover .topCaseCard_body {
        color: #2c52a9; }
  .topCaseCard_client {
    margin-bottom: 10px; }
  .topCaseCard_image {
    margin-bottom: 10px;
    overflow: hidden; }
    .topCaseCard_image img {
      width: 100%;
      height: auto; }
    .topCaseCard_image img {
      display: block;
      -webkit-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      -moz-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      -o-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      transform: scale(1); }
  .topCaseCard_category {
    margin-bottom: 15px; }
  .topCaseCard_body {
    line-height: 1.6;
    color: #000;
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .topCaseCard_body {
        font-size: 1.05rem; } }

/** topMember
/**************************************/
/*
@media only screen and (max-width: 768px) {
.topMember {
  height: 687px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("/assets/img/top/member.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
   }*/
  .topMember_4_PC {
    width: 100%;
    display: block;
    margin: 0 auto;
  }
  .topMember_4_PC img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: auto;
  }
  @media only screen and (min-width: 768px) {
  .topMember_core {
    display: none;
  }}
  @media only screen and (max-width: 768px) {
    .topMember_4_PC{display: none;}
    .topMember {
      background: none;
      display: block;
      height: auto; } }
  .topMember_image img {
    width: 100%;
    height: auto; }
  .topMember_core {
    width: 380px;
    background: #fff;
    padding: 30px 25px; }
    @media only screen and (max-width: 768px) {
      .topMember_core {
        width: 100%;
        padding: 0;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
  .topMember_body {
    text-align: center;
    margin: 20px 0;
    line-height: 1.6;
    font-size: 1.7rem; }
    @media only screen and (max-width: 768px) {
      .topMember_body {
        font-size: 1.275rem; } }

/** topBlog
/**************************************/
.topBlog {
  padding: 100px 0 40px;
  background: #f8f8f8; }
  @media only screen and (max-width: 768px) {
    .topBlog {
      padding: 40px 0; } }
  .topBlog_wrap {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 768px) {
      .topBlog_wrap {
        display: block;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
  .topBlog_body {
    margin: 20px 0 30px;
    font-size: 1.7rem; }
    @media only screen and (max-width: 768px) {
      .topBlog_body {
        font-size: 1.275rem; } }
    @media only screen and (max-width: 768px) {
      .topBlog_body {
        margin: 15px 0 20px;
        text-align: center; } }
  .topBlog_head {
    width: 40%;
    display: flex;
    justify-content: flex-end;
    background-image: url("/assets/img/top/blog.jpg");
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 100% auto; }
    @media only screen and (max-width: 768px) {
      .topBlog_head {
        width: 100%;
        display: block;
        background: none;
        margin-bottom: 20px; } }
  .topBlog_outer {
    width: 330px;
    margin-right: 40px; }
    @media only screen and (max-width: 768px) {
      .topBlog_outer {
        width: 100%;
        margin-right: 0; } }
  .topBlog_list {
    width: 57.9310344828%; }
    @media only screen and (max-width: 768px) {
      .topBlog_list {
        width: 100%; } }

/** topBottom
/**************************************/
.topBottom {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .topBottom {
      display: block; } }

/** topNews
/**************************************/
.topNews {
  width: 460px; }
  @media only screen and (max-width: 768px) {
    .topNews {
      width: 100%;
      margin-bottom: 40px; } }
  .topNews_list {
    margin: 30px 0 20px;
    border-top: 1px solid #000; }
    @media only screen and (max-width: 768px) {
      .topNews_list {
        margin: 15px 0 10px; } }
    .topNews_list dt {
      padding: 15px 0 12px 0;
      color: #3b3b3b;
      font-style: italic;
      font-size: 1.2rem; }
      @media only screen and (max-width: 768px) {
        .topNews_list dt {
          font-size: 0.9rem; } }
      @media only screen and (max-width: 768px) {
        .topNews_list dt {
          padding: 12px 0 6px 0; } }
    .topNews_list dd {
      border-bottom: 1px solid #dbdbdb;
      padding: 0 0 15px;
      line-height: 1.4;
      font-size: 1.3rem; }
      @media only screen and (max-width: 768px) {
        .topNews_list dd {
          font-size: 0.975rem; } }
      @media only screen and (max-width: 768px) {
        .topNews_list dd {
          padding: 0 0 10px; } }
      .topNews_list dd a {
        text-decoration: none;
        color: #000; }
        .desktop .topNews_list dd a {
          -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
          .desktop .topNews_list dd a:hover {
            color: #2c52a9; }

/** topSeminar
/**************************************/
.topSeminar {
  width: 460px; }
  @media only screen and (max-width: 768px) {
    .topSeminar {
      width: 100%; } }
  .topSeminar_list {
    position: relative; }
  .topSeminar a {
    display: block;
    text-decoration: none;
    color: #000; }
    .desktop .topSeminar a {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .topSeminar a:hover .topSeminar_body {
        color: #2c52a9; }
      .desktop .topSeminar a:hover .topSeminar_image img {
        transform: scale(1.05); }
  .topSeminar_image {
    overflow: hidden; }
    @media only screen and (max-width: 768px) {
      .topSeminar_image img {
        width: 100%;
        height: auto; } }
    .topSeminar_image img {
      display: block;
      -webkit-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      -moz-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      -o-transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
      transform: scale(1); }
  .topSeminar_head {
    display: flex;
    align-items: center;
    margin-bottom: 10px; }
  .topSeminar_date {
    color: #3b3b3b;
    margin: 10px 0 0 15px;
    font-style: italic;
    font-size: 1.2rem; }
    @media only screen and (max-width: 768px) {
      .topSeminar_date {
        font-size: 0.9rem; } }
  .topSeminar_body {
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    font-size: 1.6rem; }
    @media only screen and (max-width: 768px) {
      .topSeminar_body {
        font-size: 1.2rem; } }
  .topSeminar .slick-arrow {
    position: absolute;
    top: 50%;
    width: 43px;
    height: 43px;
    background: rgba(0, 0, 0, 0.2);
    z-index: 100;
    margin-top: -62px;
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    -khtml-border-radius: 50%;
    border-radius: 50%; }
    @media only screen and (max-width: 768px) {
      .topSeminar .slick-arrow {
        margin-top: -50px;
        -webkit-transform: scale(0.7);
        -moz-transform: scale(0.7);
        -ms-transform: scale(0.7);
        -o-transform: scale(0.7);
        transform: scale(0.7); } }
    .topSeminar .slick-arrow i:before {
      display: block;
      content: '';
      width: 10px;
      height: 10px;
      border-top: 4px solid #fff;
      border-right: 4px solid #fff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
    .desktop .topSeminar .slick-arrow {
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .desktop .topSeminar .slick-arrow:hover {
        background: rgba(0, 0, 0, 0.6); }
  .topSeminar .slick-prev {
    left: -21px; }
    @media only screen and (max-width: 768px) {
      .topSeminar .slick-prev {
        left: -15px; } }
    .topSeminar .slick-prev i {
      margin-right: -3px; }
      .topSeminar .slick-prev i:before {
        content: '';
        width: 10px;
        height: 10px;
        border-top: 4px solid #fff;
        border-right: 4px solid #fff;
        -webkit-transform: rotate(225deg);
        transform: rotate(225deg); }
  .topSeminar .slick-next {
    right: -21px; }
    @media only screen and (max-width: 768px) {
      .topSeminar .slick-next {
        right: -15px; } }
    .topSeminar .slick-next i {
      margin-left: -3px; }

/** visualMenu
/**************************************/
.visualMenu {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .visualMenu {
      display: block; } }
  @media only screen and (max-width: 768px) {
    .visualMenu_item {
      margin-bottom: 30px; } }
  @media only screen and (max-width: 768px) {
    .visualMenu_image {
      width: 70%;
      margin-left: auto;
      margin-right: auto; }
      .visualMenu_image img {
        width: 100%;
        height: auto; } }
  .visualMenu_title {
    color: #2c52a9;
    text-align: center;
    margin-top: 15px;
    border-bottom: 2px solid #2c52a9;
    padding-bottom: 25px;
    position: relative;
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-size: 5rem; }
    @media only screen and (max-width: 768px) {
      .visualMenu_title {
        font-size: 3.75rem; } }
    @media only screen and (max-width: 768px) {
      .visualMenu_title {
        margin-top: 10px;
        padding-bottom: 10px; } }
    .visualMenu_title:before {
      content: "";
      position: absolute;
      bottom: -26px;
      left: 50%;
      margin-left: -16px;
      border: 13px solid transparent;
      border-top: 13px solid #FFF;
      z-index: 2; }
    .visualMenu_title:after {
      content: "";
      position: absolute;
      bottom: -30px;
      left: 50%;
      margin-left: -17px;
      border: 14px solid transparent;
      border-top: 14px solid #2c52a9;
      z-index: 1; }
  .visualMenu_lead {
    font-weight: bold;
    text-align: center;
    line-height: 1.6;
    color: #2c52a9;
    margin-top: 25px;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem; }
    @media only screen and (max-width: 768px) {
      .visualMenu_lead {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 768px) {
      .visualMenu_lead {
        margin-top: 25px;
        min-height: 0; } }
  .visualMenu_list {
    background: #e9edf6;
    margin-top: 20px;
    padding: 20px 0 0 20px;
    height: 140px; }
    @media only screen and (max-width: 768px) {
      .visualMenu_list {
        margin-top: 10px;
        padding: 15px;
        height: auto; } }

/** visualSection
/**************************************/
/** visualSectionHeadline
/**************************************/
.visualSectionHeadline {
  height: 365px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center center; }
  @media only screen and (max-width: 768px) {
    .visualSectionHeadline {
      height: auto; } }
  .visualSectionHeadline_title {
    color: #fff;
    line-height: .75;
    font-family: 'Lato', sans-serif;
    font-weight: 100;
    font-size: 27.9rem; }
    @media only screen and (max-width: 768px) {
      .visualSectionHeadline_title {
        font-size: 20.925rem; } }
    @media only screen and (max-width: 768px) {
      .visualSectionHeadline_title {
        padding-top: 30%;
        font-size: 10.0rem; } }

/** visualBox
/**************************************/
.visualBox {
  background: #efefef;
  padding: 40px 30px;
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .visualBox {
      padding: 20px 15px;
      display: block; } }
  .visualBox li {
    width: 304px; }
    @media only screen and (max-width: 768px) {
      .visualBox li {
        width: 100%;
        margin-bottom: 20px; } }
  .visualBox_image {
    border: 2px solid #e3e3e3;
    margin-bottom: 10px; }
    @media only screen and (max-width: 768px) {
      .visualBox_image img {
        width: 100%;
        height: auto; } }
  .visualBox_body {
    padding: 0 15px; }
    @media only screen and (max-width: 768px) {
      .visualBox_body {
        padding: 0 5px; } }

/** visualPoint
/**************************************/
.visualPoint_head {
  background: #e9edf6;
  margin-bottom: 2px;
  padding: 20px; }
  @media only screen and (max-width: 768px) {
    .visualPoint_head {
      padding: 15px; } }
  .visualPoint_head .is-label {
    color: #2c52a9;
    margin-right: 10px;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 1.8rem; }
    @media only screen and (max-width: 768px) {
      .visualPoint_head .is-label {
        font-size: 1.35rem; } }
  .visualPoint_head .is-text {
    font-size: 2.7rem; }
    @media only screen and (max-width: 768px) {
      .visualPoint_head .is-text {
        font-size: 2.025rem; } }

.visualPoint_list {
  padding: 20px;
  background: #e9edf6; }
  @media only screen and (max-width: 768px) {
    .visualPoint_list {
      padding: 15px; } }

/** visualBeforeAfter
/**************************************/
.visualBeforeAfter {
  display: flex;
  justify-content: space-between;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .visualBeforeAfter {
      display: block; } }
  .visualBeforeAfter_arrow {
    position: absolute;
    width: 2px;
    height: 100%;
    position: absolute;
    left: 50%;
    margin-left: -1px;
    background: #ccc; }
    @media only screen and (max-width: 768px) {
      .visualBeforeAfter_arrow {
        width: 100%;
        height: 2px;
        margin: 0 0 0;
        left: 0;
        bottom: 50%; } }
    .visualBeforeAfter_arrow:after, .visualBeforeAfter_arrow:before {
      left: calc(100% - 2px);
      top: calc(50% - 30px);
      border: solid transparent;
      content: " ";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none; }
      @media only screen and (max-width: 768px) {
        .visualBeforeAfter_arrow:after, .visualBeforeAfter_arrow:before {
          top: auto;
          bottom: 0; } }
    @media only screen and (min-width: 768px) {
      .visualBeforeAfter_arrow:after {
        border-color: rgba(255, 255, 255, 0);
        border-left-color: #ffffff;
        border-width: 10px;
        margin-top: -10px; } }
    @media only screen and (max-width: 768px) {
      .visualBeforeAfter_arrow:after {
        content: "";
        position: absolute;
        bottom: -21px;
        left: 50%;
        margin-left: -15px;
        border: 12px solid transparent;
        border-top: 12px solid #FFF;
        z-index: 2; } }
    @media only screen and (min-width: 768px) {
      .visualBeforeAfter_arrow:before {
        border-color: rgba(204, 204, 204, 0);
        border-left-color: #cccccc;
        border-width: 13px;
        margin-top: -13px; } }
    @media only screen and (max-width: 768px) {
      .visualBeforeAfter_arrow:before {
        content: "";
        position: absolute;
        bottom: -27px;
        left: 50%;
        margin-left: -17px;
        border: 14px solid transparent;
        border-top: 14px solid #ccc;
        z-index: 1; } }
  .visualBeforeAfter_section {
    width: 470px; }
    @media only screen and (max-width: 768px) {
      .visualBeforeAfter_section {
        width: 100%; } }
    @media only screen and (max-width: 768px) {
      .visualBeforeAfter_section.is-before {
        margin-bottom: 20px; } }
    .visualBeforeAfter_section.is-after .visualBeforeAfter_title {
      color: #2c52a9; }
    .visualBeforeAfter_section.is-after .visualBeforeAfter_box {
      border-color: #2c52a9;
      border-width: 1px;
      color: #2c52a9;
      font-weight: bold; }
  .visualBeforeAfter_title {
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-size: 5rem; }
    @media only screen and (max-width: 768px) {
      .visualBeforeAfter_title {
        font-size: 3.75rem; } }
  .visualBeforeAfter_box {
    border: 2px solid #ccc;
    padding: 20px;
    display: flex;
    align-items: center;
    height: 160px;
    font-size: 1.5rem;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px; }
    @media only screen and (max-width: 768px) {
      .visualBeforeAfter_box {
        font-size: 1.125rem; } }
    @media only screen and (max-width: 768px) {
      .visualBeforeAfter_box {
        height: auto; } }
  .visualBeforeAfter_body {
    margin-top: 20px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .visualBeforeAfter_body {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .visualBeforeAfter_body {
        margin-top: 10px; } }

/** visualSimulation
/**************************************/
.visualSimulation {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .visualSimulation {
      display: block; } }
  .visualSimulation_image {
    width: 605px;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .visualSimulation_image {
        width: 100%;
        margin-bottom: 20px; }
        .visualSimulation_image img {
          width: 100%;
          height: auto; } }
    .visualSimulation_image:before {
      content: '';
      background: #2c52a9;
      width: 426px;
      height: 324px;
      display: block;
      z-index: 0;
      position: absolute; }
      @media only screen and (max-width: 768px) {
        .visualSimulation_image:before {
          display: none; } }
    .visualSimulation_image img {
      z-index: 1;
      position: relative;
      z-index: 1;
      margin: 85px 0 0 150px;
      display: block;
      border: 1px solid #ccc; }
      @media only screen and (max-width: 768px) {
        .visualSimulation_image img {
          margin: 0; } }
  .visualSimulation_title {
    color: #fff;
    position: absolute;
    left: 30px;
    top: 30px;
    font-size: 2.3rem; }
    @media only screen and (max-width: 768px) {
      .visualSimulation_title {
        font-size: 1.725rem; } }
    @media only screen and (max-width: 768px) {
      .visualSimulation_title {
        position: static;
        color: #2c52a9;
        font-weight: bold;
        margin-bottom: 5px; } }
  .visualSimulation_content {
    width: 360px; }
    @media only screen and (max-width: 768px) {
      .visualSimulation_content {
        width: 100%; } }
  .visualSimulation_lead {
    line-height: 2.2;
    font-size: 2rem; }
    @media only screen and (max-width: 768px) {
      .visualSimulation_lead {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 768px) {
      .visualSimulation_lead {
        line-height: 1.8; } }
  .visualSimulation_body {
    line-height: 2.2;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .visualSimulation_body {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 768px) {
      .visualSimulation_body {
        margin-top: 10px !important; } }

/** visualFlow
/**************************************/
.visualFlow_text {
  display: flex; }
  @media only screen and (max-width: 768px) {
    .visualFlow_text {
      display: block; } }
  .visualFlow_text li {
    line-height: 2.0;
    font-size: 1.4rem; }
    @media only screen and (max-width: 768px) {
      .visualFlow_text li {
        font-size: 1.05rem; } }
    .visualFlow_text li:nth-child(1) {
      width: 270px;
      margin-right: 40px;
      padding-left: 10px; }
      @media only screen and (max-width: 768px) {
        .visualFlow_text li:nth-child(1) {
          width: 100%; } }
    .visualFlow_text li:nth-child(2) {
      width: 270px;
      margin-right: 40px; }
      @media only screen and (max-width: 768px) {
        .visualFlow_text li:nth-child(2) {
          width: 100%;
          margin-right: 0; } }
    .visualFlow_text li:nth-child(3) {
      width: 300px; }
      @media only screen and (max-width: 768px) {
        .visualFlow_text li:nth-child(3) {
          width: 100%; } }

.visualFlow_list {
  position: relative;
  list-style: none;
  margin: 0 0 1em;
  padding: 0;
  text-align: center;
  width: 100%;
  overflow: hidden; }
  .visualFlow_list:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 120px 0 120px 80px;
    border-color: transparent transparent transparent #2c52a9;
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1; }
    @media only screen and (max-width: 768px) {
      .visualFlow_list:before {
        display: none; } }
  .visualFlow_list:after {
    width: 80px;
    height: 100%;
    background: #fff;
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 0; }
    @media only screen and (max-width: 768px) {
      .visualFlow_list:after {
        display: none; } }
  .visualFlow_list li {
    width: 32%;
    position: relative;
    float: left;
    display: inline-block;
    line-height: 240px;
    padding: 0 40px 0 20px;
    background-color: #2c52a9;
    color: #fff;
    font-size: 1.8rem;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (max-width: 768px) {
      .visualFlow_list li {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 768px) {
      .visualFlow_list li {
        width: 100%;
        line-height: 1.8;
        margin-bottom: 20px;
        padding: 10px; } }
    .visualFlow_list li:before, .visualFlow_list li:after {
      position: absolute;
      left: -15px;
      display: block;
      content: '';
      background-color: #fff;
      border-left: 4px solid #FFF;
      width: 5px;
      height: 120px; }
      @media only screen and (max-width: 768px) {
        .visualFlow_list li:before, .visualFlow_list li:after {
          display: none;
          height: auto; } }
    @media only screen and (min-width: 768px) {
      .visualFlow_list li:after {
        top: 0;
        transform: skew(30deg); } }
    @media only screen and (max-width: 768px) {
      .visualFlow_list li:after {
        box-sizing: border-box;
        border: 8px solid transparent;
        border-top: 8px solid #2c52a9;
        content: '';
        display: block;
        position: absolute;
        top: -14px;
        left: 50%;
        margin-left: -7px;
        background: none; } }
    .visualFlow_list li:before {
      bottom: 0;
      transform: skew(-30deg); }
    .visualFlow_list li:first-child:before, .visualFlow_list li:first-child:after {
      content: none; }
    .visualFlow_list li.current {
      color: #FFF;
      background-color: #2c52a9; }
      .visualFlow_list li.current:before, .visualFlow_list li.current:after {
        background-color: #2c52a9; }
    .visualFlow_list li p {
      background: #fff;
      color: #000;
      padding: 10px;
      margin-top: 5px;
      -moz-border-radius: 3px;
      -webkit-border-radius: 3px;
      -o-border-radius: 3px;
      -ms-border-radius: 3px;
      -khtml-border-radius: 3px;
      border-radius: 3px; }

/** section
/**************************************/
/** Intro
/**************************************/
.digitalMarketingIntro {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingIntro {
      display: block; } }
  .digitalMarketingIntro_content {
    width: 500px; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingIntro_content {
        width: 100%; } }
  .digitalMarketingIntro_lead {
    line-height: 1.5277777778;
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 3.5rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingIntro_lead {
        font-size: 2.625rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingIntro_lead {
        font-size: 1.8rem;
        text-align: center;
        margin-bottom: 10px; } }
  .digitalMarketingIntro_body {
    line-height: 2.5625;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingIntro_body {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingIntro_body {
        font-size: 1.0rem; } }
  .digitalMarketingIntro_image {
    text-align: right; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingIntro_image {
        margin-top: 15px;
        width: 90%;
        margin-left: auto;
        margin-right: auto; }
        .digitalMarketingIntro_image img {
          width: 100%;
          height: auto; } }

/** Problem
/**************************************/
.digitalMarketingProblem .headlineLv6 {
  margin-bottom: 50px; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem .headlineLv6 {
      margin-bottom: 20px; } }

.digitalMarketingProblem_card {
  display: flex;
  border: 2px solid #2c52a9;
  margin-bottom: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
  -o-border-radius: 30px;
  -ms-border-radius: 30px;
  -khtml-border-radius: 30px;
  border-radius: 30px; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem_card {
      margin-bottom: 15px;
      display: block;
      -moz-border-radius: 15px;
      -webkit-border-radius: 15px;
      -o-border-radius: 15px;
      -ms-border-radius: 15px;
      -khtml-border-radius: 15px;
      border-radius: 15px; } }

.digitalMarketingProblem_question {
  width: 510px;
  background-color: #2c52a9;
  border-top-left-radius: 24px;
  border-bottom-left-radius: 24px;
  padding: 40px;
  position: relative; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem_question {
      width: 100%;
      padding: 15px;
      border-top-left-radius: 12px;
      border-top-right-radius: 12px;
      border-bottom-left-radius: 0; } }
  .digitalMarketingProblem_question:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 23px 0 23px 23px;
    border-color: transparent transparent transparent #2c52a9;
    position: absolute;
    right: -23px;
    top: calc(50% - 23px);
    content: '';
    display: block; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingProblem_question:before {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 15px 15px 0 15px;
        border-color: #2c52a9 transparent transparent transparent;
        right: calc(50% - 15px);
        top: auto;
        bottom: -15px; } }

.digitalMarketingProblem_subTitle {
  border: 1px solid #fff;
  color: #fff;
  text-align: center;
  padding: 3px 0;
  font-weight: bold;
  margin-bottom: 35px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  -khtml-border-radius: 5px;
  border-radius: 5px;
  font-size: 1.6rem; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem_subTitle {
      font-size: 1.2rem; } }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem_subTitle {
      margin-bottom: 17.5px;
      padding: 1px 0;
      font-size: 1.0rem; } }

.digitalMarketingProblem_voice {
  color: #fff;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: flex-end; }
  .digitalMarketingProblem_voice span {
    width: 320px;
    line-height: 1.6363636364;
    display: block;
    font-size: 2.2rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingProblem_voice span {
        font-size: 1.65rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingProblem_voice span {
        font-size: 1.5rem;
        width: calc(100% - 20px); } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingProblem_voice span br {
        display: none; } }
  .digitalMarketingProblem_voice:before {
    margin-bottom: 8px;
    display: block;
    content: '';
    width: 94px;
    height: 105px;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    background-image: url("/assets/img/digital_marketing/icon_cast.png"); }
    @media only screen and (max-width: 769px) {
      .digitalMarketingProblem_voice:before {
        width: 130px;
        height: 75px;
        background-size: auto 100%; } }

.digitalMarketingProblem_answer {
  width: calc(100% - 510px);
  padding: 30px 40px; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem_answer {
      width: 100%;
      padding: 25px 20px 15px 20px; } }

.digitalMarketingProblem_title {
  line-height: 1.5384615385;
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 2.6rem; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem_title {
      font-size: 1.95rem; } }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem_title {
      margin-bottom: 5px;
      font-size: 1.6rem; } }

.digitalMarketingProblem_body {
  line-height: 2;
  font-size: 1.4rem; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem_body {
      font-size: 1.05rem; } }

.digitalMarketingProblem_result {
  margin-top: 60px;
  padding-top: 50px;
  color: #2c52a9;
  font-weight: bold;
  text-align: center;
  position: relative;
  border-top: 2px solid #2c52a9;
  font-size: 3rem; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem_result {
      font-size: 2.25rem; } }
  @media only screen and (max-width: 769px) {
    .digitalMarketingProblem_result {
      margin-top: 30px;
      padding-top: 25px;
      font-size: 1.7rem; } }
  .digitalMarketingProblem_result:before {
    content: "";
    position: absolute;
    top: -2px;
    left: 50%;
    margin-left: -16px;
    border: 13px solid transparent;
    border-top: 13px solid #FFF;
    z-index: 2; }
  .digitalMarketingProblem_result:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -17px;
    border: 14px solid transparent;
    border-top: 14px solid #2c52a9;
    z-index: 1; }

/** Why
/**************************************/
.digitalMarketingWhy {
  background-color: #2c52a9;
  margin-top: 60px;
  color: #fff;
  padding: 40px 0 80px;
  position: relative; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingWhy {
      margin-top: 30px;
      padding: 60px 0 40px; } }
  @media only screen and (max-width: 769px) {
    .digitalMarketingWhy_wrap {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .digitalMarketingWhy_en {
    color: #4f6bb3;
    text-align: center;
    line-height: 1;
    margin-bottom: 30px;
    font-size: 14.5rem;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-weight: 300; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingWhy_en {
        font-size: 10.875rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingWhy_en {
        font-size: 5.0rem;
        position: absolute;
        text-align: center;
        left: -5%;
        top: 10px;
        width: 100%;
        white-space: nowrap; } }
  .digitalMarketingWhy_headline {
    text-align: center;
    font-weight: bold;
    font-size: 3.4rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingWhy_headline {
        font-size: 2.55rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingWhy_headline {
        font-size: 1.7rem;
        line-height: 1.4; } }
  .digitalMarketingWhy_name {
    background-color: #fff;
    color: #2c52a9;
    margin-top: 20px;
    text-align: center;
    font-weight: bold;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
    width: 720px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingWhy_name {
        width: 100%;
        padding: 5px 0; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingWhy_name span {
        display: block;
        line-height: 1.6; } }
    .digitalMarketingWhy_name span:nth-child(1) {
      margin-right: 15px;
      font-size: 1.6rem; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingWhy_name span:nth-child(1) {
          font-size: 1.2rem; } }
      @media only screen and (max-width: 769px) {
        .digitalMarketingWhy_name span:nth-child(1) {
          margin-right: 0; } }
    .digitalMarketingWhy_name span:nth-child(2) {
      font-family: 'Lato', sans-serif;
      font-weight: 400;
      font-size: 2.8rem;
      font-style: normal; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingWhy_name span:nth-child(2) {
          font-size: 2.1rem; } }
  .digitalMarketingWhy_body {
    line-height: 2.2777777778;
    margin-top: 50px;
    text-align: center;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingWhy_body {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingWhy_body {
        margin-top: 15px;
        text-align: left;
        font-size: 1.0rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingWhy_body br {
        display: none; } }

/** Flow
/**************************************/
.digitalMarketingFlow {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
  width: 930px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingFlow {
      margin-top: 35px;
      display: block;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .digitalMarketingFlow_item {
    width: 225px;
    position: relative; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingFlow_item {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin-bottom: 30px; } }
    .digitalMarketingFlow_item i {
      position: absolute;
      display: block;
      right: -60px;
      top: 50px; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingFlow_item i {
          right: 50%;
          top: auto;
          bottom: 10px; } }
      .digitalMarketingFlow_item i:before, .digitalMarketingFlow_item i:after {
        width: 3px;
        height: 130px;
        content: '';
        background-color: #fff;
        display: block;
        position: absolute;
        top: 0; }
        @media only screen and (max-width: 769px) {
          .digitalMarketingFlow_item i:before, .digitalMarketingFlow_item i:after {
            width: 1px;
            height: 50px; } }
      .digitalMarketingFlow_item i:before {
        -webkit-transform: rotate(45deg);
        -moz-transfrom: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg); }
      .digitalMarketingFlow_item i:after {
        -webkit-transform: rotate(-45deg);
        -moz-transfrom: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg); }
  .digitalMarketingFlow_circle {
    width: 100%;
    height: 225px;
    border: 2px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    -khtml-border-radius: 50%;
    border-radius: 50%; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingFlow_circle {
        width: 90px;
        height: 90px;
        border-width: 1px; } }
  .digitalMarketingFlow_core {
    text-align: center; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingFlow_core p {
        line-height: 1.2; } }
    .digitalMarketingFlow_core p:nth-child(1) {
      font-style: italic;
      margin: 10px 0;
      font-size: 3rem; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingFlow_core p:nth-child(1) {
          font-size: 2.25rem; } }
      @media only screen and (max-width: 769px) {
        .digitalMarketingFlow_core p:nth-child(1) {
          font-size: 1.5rem;
          margin: 0; } }
    .digitalMarketingFlow_core p:nth-child(2) {
      font-size: 1.8rem;
      font-family: 'Lato', sans-serif;
      font-weight: 400; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingFlow_core p:nth-child(2) {
          font-size: 1.35rem; } }
      @media only screen and (max-width: 769px) {
        .digitalMarketingFlow_core p:nth-child(2) {
          font-size: .9rem; } }
  .digitalMarketingFlow_body {
    line-height: 1.625;
    margin-top: 25px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingFlow_body {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingFlow_body {
        width: calc(100% - 110px);
        font-size: 1.2rem; } }

/** Outline
/**************************************/
.digitalMarketingOutline {
  margin-top: 80px;
  border: 5px solid #fff; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingOutline {
      margin-top: 40px;
      border: none;
      width: 100%; } }
  .digitalMarketingOutline_headline {
    background-color: #fff;
    color: #2c52a9;
    padding: 4px 0 9px;
    text-align: center;
    font-weight: bold;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_headline {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_headline {
        padding: 7px 0;
        line-height: 1;
        font-size: 1.2rem; } }
  .digitalMarketingOutline_wrap {
    display: flex;
    flex-wrap: wrap;
    padding: 50px 40px;
    position: relative; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_wrap {
        padding: 25px 20px; } }
    .digitalMarketingOutline_wrap:before {
      position: absolute;
      left: calc(50% - 15px);
      top: calc(50% - 15px);
      width: 30px;
      height: 30px;
      content: '';
      background-color: #2c52a9; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingOutline_wrap:before {
          display: none; } }
  .digitalMarketingOutline_item {
    width: 50%;
    text-align: center; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_item {
        border: none !important;
        width: 46%; } }
    .digitalMarketingOutline_item:nth-child(odd) {
      border-right: 1px solid #fff; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingOutline_item:nth-child(odd) {
          margin-right: 8%; } }
    .digitalMarketingOutline_item:nth-child(1), .digitalMarketingOutline_item:nth-child(2) {
      border-bottom: 1px solid #fff;
      padding-bottom: 40px; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingOutline_item:nth-child(1), .digitalMarketingOutline_item:nth-child(2) {
          padding-bottom: 0; } }
    .digitalMarketingOutline_item:nth-child(3), .digitalMarketingOutline_item:nth-child(4) {
      padding-top: 40px; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingOutline_item:nth-child(3), .digitalMarketingOutline_item:nth-child(4) {
          padding-top: 20px; } }
  .digitalMarketingOutline_title {
    line-height: 1;
    border: 1px solid #fff;
    font-weight: bold;
    padding: 10px 0;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_title {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_title {
        font-size: 1.1rem;
        padding: 5px 0;
        width: 100%; } }
  .digitalMarketingOutline_image {
    height: 130px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 15px 0; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_image {
        height: 110px;
        margin-bottom: 0;
        -webkit-transform: scale(0.7);
        -moz-transform: scale(0.7);
        -ms-transform: scale(0.7);
        -o-transform: scale(0.7);
        transform: scale(0.7); } }
  .digitalMarketingOutline_label {
    line-height: 1;
    font-weight: bold;
    margin-bottom: 30px;
    font-size: 2.6rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_label {
        font-size: 1.95rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_label {
        font-size: 1.5rem;
        margin-bottom: 10px; } }
  .digitalMarketingOutline_body {
    font-weight: bold;
    font-size: 1.4rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_body {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingOutline_body {
        font-size: .9rem; } }

/** Lecture
/**************************************/
.digitalMarketingLecture {
  margin-top: 50px; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingLecture {
      margin-top: 25px;
      width: 100%; } }
  .digitalMarketingLecture_title {
    color: #2c52a9;
    background-color: #fff;
    font-weight: bold;
    padding: 12px 0;
    margin-bottom: 30px;
    text-align: center;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingLecture_title {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingLecture_title {
        font-size: 1.2rem;
        padding: 8px 0; } }
  @media only screen and (max-width: 769px) {
    .digitalMarketingLecture_wrap {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .digitalMarketingLecture_lead {
    line-height: 1.9090909091;
    font-weight: bold;
    text-align: center;
    font-size: 2.2rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingLecture_lead {
        font-size: 1.65rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingLecture_lead {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingLecture_lead br {
        display: none; } }
  .digitalMarketingLecture_list {
    border: 1px solid #fff;
    margin-top: 30px;
    padding: 30px 30px 15px 30px;
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingLecture_list {
        margin-top: 15px;
        padding: 15px 15px 7.5px 15px; } }
    .digitalMarketingLecture_list li {
      width: 50%;
      display: flex;
      align-items: center;
      margin-bottom: 15px; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingLecture_list li {
          width: 100%;
          margin-bottom: 10px; } }
      .digitalMarketingLecture_list li em {
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        background-color: #fff;
        color: #2c52a9;
        font-size: 1.8rem;
        width: 36px;
        height: 36px;
        font-family: 'Lato', sans-serif;
        font-weight: 400;
        -moz-border-radius: 50%;
        -webkit-border-radius: 50%;
        -o-border-radius: 50%;
        -ms-border-radius: 50%;
        -khtml-border-radius: 50%;
        border-radius: 50%; }
        @media only screen and (max-width: 769px) {
          .digitalMarketingLecture_list li em {
            width: 20px;
            height: 20px;
            font-size: 1.1rem; } }
      .digitalMarketingLecture_list li span {
        font-weight: bold;
        font-style: italic;
        font-size: 1.6rem; }
        @media only screen and (max-width: 769px) {
          .digitalMarketingLecture_list li span {
            font-size: 1.2rem; } }
        @media only screen and (max-width: 769px) {
          .digitalMarketingLecture_list li span {
            font-size: 1.1rem;
            line-height: 1.4; } }

/** Entry
/**************************************/
.digitalMarketingEntry {
  margin-top: 70px; }
  @media only screen and (max-width: 769px) {
    .digitalMarketingEntry {
      margin-top: 35px;
      width: 100%; } }
  .digitalMarketingEntry_headline {
    border: 3px solid #fff;
    text-align: center;
    padding: 12px 0;
    font-weight: bold;
    margin-bottom: 50px;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingEntry_headline {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingEntry_headline {
        padding: 8px 0;
        margin-bottom: 25px;
        font-size: 1.2rem;
        border-top-width: 2px;
        border-bottom-width: 2px;
        border-right: none;
        border-left: none; } }
  @media only screen and (max-width: 769px) {
    .digitalMarketingEntry_wrap {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .digitalMarketingEntry_button {
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingEntry_button {
        margin-bottom: 12.5px; } }
    .digitalMarketingEntry_button a {
      position: relative;
      width: 48%;
      padding: 35px;
      text-align: center;
      text-decoration: none;
      background-color: #fff;
      font-weight: bold;
      justify-content: center;
      display: flex;
      align-items: center;
      -moz-border-radius: 3px;
      -webkit-border-radius: 3px;
      -o-border-radius: 3px;
      -ms-border-radius: 3px;
      -khtml-border-radius: 3px;
      border-radius: 3px;
      font-size: 2.2rem; }
      @media only screen and (max-width: 769px) {
        .digitalMarketingEntry_button a {
          font-size: 1.65rem; } }
      @media only screen and (max-width: 769px) {
        .digitalMarketingEntry_button a {
          font-size: 1.2rem;
          padding: 10px 0; } }
      .desktop .digitalMarketingEntry_button a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .digitalMarketingEntry_button a:hover {
          opacity: .7; }
      .digitalMarketingEntry_button a .arrow {
        position: absolute;
        right: 15px;
        top: calc(50% - 0);
        height: 5px;
        width: 30px;
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2); }
        .digitalMarketingEntry_button a .arrow:before {
          display: block;
          content: '';
          background: #2c52a9;
          height: 1px;
          width: 30px;
          position: absolute;
          transform: translateY(5px); }
        .digitalMarketingEntry_button a .arrow:after {
          display: block;
          content: '';
          background: #2c52a9;
          height: 1px;
          width: 7px;
          position: absolute;
          top: 0px;
          bottom: 0;
          margin: auto;
          right: 0px;
          transform: translateY(0px) rotate(45deg); }
          @media only screen and (max-width: 769px) {
            .digitalMarketingEntry_button a .arrow:after {
              width: 7px;
              transform: translate(1px, 1px) rotate(45deg); } }
        @media only screen and (max-width: 769px) {
          .digitalMarketingEntry_button a .arrow {
            display: none; } }
      .digitalMarketingEntry_button a .icon {
        margin-right: 20px;
        width: 28px;
        height: 35px;
        display: block;
        background-repeat: no-repeat;
        background-position: left top;
        background-size: contain;
        background-image: url("/assets/img/digital_marketing/icon_download.png"); }
        @media only screen and (max-width: 769px) {
          .digitalMarketingEntry_button a .icon {
            width: 15px;
            height: 18px;
            margin-right: 10px; } }
  .digitalMarketingEntry_title {
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingEntry_title {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .digitalMarketingEntry_title {
        margin-bottom: 10px;
        font-size: 1.2rem;
        text-align: center; } }
  .digitalMarketingEntryTel {
    line-height: 1; }
    @media only screen and (max-width: 769px) {
      .digitalMarketingEntryTel {
        text-align: center; } }
    .digitalMarketingEntryTel span {
      font-weight: bold; }
      .digitalMarketingEntryTel span:nth-child(1) {
        margin-right: 10px;
        font-size: 5.4rem; }
        @media only screen and (max-width: 769px) {
          .digitalMarketingEntryTel span:nth-child(1) {
            font-size: 4.05rem; } }
        @media only screen and (max-width: 769px) {
          .digitalMarketingEntryTel span:nth-child(1) {
            font-size: 3.4rem;
            display: block;
            margin-bottom: 15px; } }
        @media screen and (max-width: 320px) {
          .digitalMarketingEntryTel span:nth-child(1) {
            font-size: 3.2rem; } }
        .digitalMarketingEntryTel span:nth-child(1):before {
          vertical-align: bottom;
          margin-right: 5px;
          content: '';
          width: 33px;
          height: 47px;
          display: inline-block;
          background-repeat: no-repeat;
          background-position: left top;
          background-size: cover;
          background-image: url("/assets/img/digital_marketing/icon_tel.png"); }
          @media only screen and (max-width: 769px) {
            .digitalMarketingEntryTel span:nth-child(1):before {
              width: 22px;
              height: 31px; } }
      .digitalMarketingEntryTel span:nth-child(2) {
        margin-right: 10px;
        font-size: 2rem; }
        @media only screen and (max-width: 769px) {
          .digitalMarketingEntryTel span:nth-child(2) {
            font-size: 1.5rem; } }
        @media only screen and (max-width: 769px) {
          .digitalMarketingEntryTel span:nth-child(2) {
            font-size: 1.2rem; } }
      .digitalMarketingEntryTel span:nth-child(3) {
        font-size: 1.5rem; }
        @media only screen and (max-width: 769px) {
          .digitalMarketingEntryTel span:nth-child(3) {
            font-size: 1.125rem; } }
        @media only screen and (max-width: 769px) {
          .digitalMarketingEntryTel span:nth-child(3) {
            font-size: .9rem; } }

            /* inboud */
            .inboud_feature {
               display: -webkit-flex;
               display: flex;
               -webkit-justify-content: space-between;
               justify-content: space-between;
            }
            .bluebox {
              width: 48%;
              text-align: center;
              font-weight:bold;
              background: #2c52a9;
              color: #fff;
              padding: 40px 20px;
            }
            .bluebox p {
              display: block;
              width: 100%;
              font-size: 2.0rem;
            }
            .bluebox p span {
              font-size:3.6rem;
            }
            .bluebox_right {
              text-align: left;
              width: 48%;
              vertical-align: middle;
            }
            .bluebox_right p {
              font-size: 2.6rem;
              margin-bottom: 20px;
            }
            .bluebox_right p:last-child {
              margin-bottom:0;
            }
            .bluebox_right p .num {
              display: inline-block;
              color: #2c52a9;
              margin-right:16px;
              font-style: italic;
            }
            @media only screen and (max-width: 768px) {
              .inboud_feature {
                display: block;
              }
              .bluebox,
              .bluebox_right {
                width:100%;
              }
              .bluebox {
                padding:20px;
                margin-bottom:20px;
              }
              .bluebox p {
                font-size: 1.6rem;
              }
              .bluebox p span {
                font-size:3rem;
              }
              .bluebox_right p {
                font-size: 1.8rem;
              }
            }
            .marketingFlow_list.inline li {
              display: inline-block;
              width: 48%;
            }
            @media only screen and (max-width: 768px) {
              .digitalMarketingWhy.noPaTop {
                    padding: 10px 10px 40px 10px;
              }
              .marketingFlow_list.inline li {
                display: block;
                width: auto;
              }
            }
            .bluebox_txleft {
              background:#2c52a9;
              color:#fff;
              font-size:1.6rem;
              font-weight:bold;
              padding:16px;
            }


/** section
/**************************************/
/** Intro
/**************************************/
.strategyIntro_content {
  width: 500px; }
  @media only screen and (max-width: 769px) {
    .strategyIntro_content {
      width: 100%; } }

.strategyIntro_lead {
  line-height: 1.5277777778;
  font-weight: bold;
  margin-bottom: 20px;
  font-size: 3.5rem; }
  @media only screen and (max-width: 769px) {
    .strategyIntro_lead {
      font-size: 2.625rem; } }
  @media only screen and (max-width: 769px) {
    .strategyIntro_lead {
      font-size: 1.8rem;
      text-align: center;
      margin-bottom: 10px; } }

.strategyIntro_body {
  line-height: 2.5625;
  font-size: 1.6rem; }
  @media only screen and (max-width: 769px) {
    .strategyIntro_body {
      font-size: 1.2rem; } }
  @media only screen and (max-width: 769px) {
    .strategyIntro_body {
      font-size: 1.0rem; } }

.strategyIntro_image {
  text-align: right; }
  @media only screen and (max-width: 769px) {
    .strategyIntro_image {
      margin-top: 15px;
      width: 90%;
      margin-left: auto;
      margin-right: auto; }
      .strategyIntro_image img {
        width: 100%;
        height: auto; } }

/** Problem
/**************************************/
.strategyProblem .headlineLv6 {
  margin-bottom: 50px; }
  @media only screen and (max-width: 769px) {
    .strategyProblem .headlineLv6 {
      margin-bottom: 20px; } }

.strategyProblem_card {
  display: flex;
  border: 2px solid #2c52a9;
  margin-bottom: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
  -o-border-radius: 30px;
  -ms-border-radius: 30px;
  -khtml-border-radius: 30px;
  border-radius: 30px; }
  @media only screen and (max-width: 769px) {
    .strategyProblem_card {
      margin-bottom: 15px;
      display: block;
      -moz-border-radius: 15px;
      -webkit-border-radius: 15px;
      -o-border-radius: 15px;
      -ms-border-radius: 15px;
      -khtml-border-radius: 15px;
      border-radius: 15px; } }

.strategyProblem_question {
  width: 510px;
  background-color: #2c52a9;
  border-top-left-radius: 24px;
  border-bottom-left-radius: 24px;
  padding: 40px;
  position: relative; }
  @media only screen and (max-width: 769px) {
    .strategyProblem_question {
      width: 100%;
      padding: 15px;
      border-top-left-radius: 12px;
      border-top-right-radius: 12px;
      border-bottom-left-radius: 0; } }
  .strategyProblem_question:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 23px 0 23px 23px;
    border-color: transparent transparent transparent #2c52a9;
    position: absolute;
    right: -23px;
    top: calc(50% - 23px);
    content: '';
    display: block; }
    @media only screen and (max-width: 769px) {
      .strategyProblem_question:before {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 15px 15px 0 15px;
        border-color: #2c52a9 transparent transparent transparent;
        right: calc(50% - 15px);
        top: auto;
        bottom: -15px; } }

.strategyProblem_subTitle {
  border: 1px solid #fff;
  color: #fff;
  text-align: center;
  padding: 3px 0;
  font-weight: bold;
  margin-bottom: 35px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  -khtml-border-radius: 5px;
  border-radius: 5px;
  font-size: 1.6rem; }
  @media only screen and (max-width: 769px) {
    .strategyProblem_subTitle {
      font-size: 1.2rem; } }
  @media only screen and (max-width: 769px) {
    .strategyProblem_subTitle {
      margin-bottom: 17.5px;
      padding: 1px 0;
      font-size: 1.0rem; } }

.strategyProblem_voice {
  color: #fff;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: flex-end; }
  .strategyProblem_voice span {
    width: 320px;
    line-height: 1.6363636364;
    display: block;
    font-size: 2.2rem; }
    @media only screen and (max-width: 769px) {
      .strategyProblem_voice span {
        font-size: 1.65rem; } }
    @media only screen and (max-width: 769px) {
      .strategyProblem_voice span {
        font-size: 1.5rem;
        width: calc(100% - 20px); } }
    @media only screen and (max-width: 769px) {
      .strategyProblem_voice span br {
        display: none; } }
  .strategyProblem_voice:before {
    margin-bottom: 8px;
    display: block;
    content: '';
    width: 94px;
    height: 105px;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    background-image: url("/assets/img/digital_marketing/icon_cast.png"); }
    @media only screen and (max-width: 769px) {
      .strategyProblem_voice:before {
        width: 130px;
        height: 75px;
        background-size: auto 100%; } }

.strategyProblem_answer {
  width: calc(100% - 510px);
  padding: 30px 40px;
  display: flex;
  align-items: center;
  margin-top: -10px; }
  @media only screen and (max-width: 769px) {
    .strategyProblem_answer {
      width: 100%;
      padding: 25px 20px 15px 20px; } }

.strategyProblem_title {
  line-height: 1.5384615385;
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 2.6rem; }
  @media only screen and (max-width: 769px) {
    .strategyProblem_title {
      font-size: 1.95rem; } }
  @media only screen and (max-width: 769px) {
    .strategyProblem_title {
      margin-bottom: 5px;
      font-size: 1.6rem; } }

.strategyProblem_body {
  line-height: 2;
  font-size: 1.4rem; }
  @media only screen and (max-width: 769px) {
    .strategyProblem_body {
      font-size: 1.05rem; } }

.strategyProblem_result {
  margin-top: 60px;
  padding-top: 50px;
  color: #2c52a9;
  font-weight: bold;
  text-align: center;
  position: relative;
  border-top: 2px solid #2c52a9;
  font-size: 3rem; }
  @media only screen and (max-width: 769px) {
    .strategyProblem_result {
      font-size: 2.25rem; } }
  @media only screen and (max-width: 769px) {
    .strategyProblem_result {
      margin-top: 30px;
      padding-top: 25px;
      font-size: 1.7rem; } }
  .strategyProblem_result:before {
    content: "";
    position: absolute;
    top: -2px;
    left: 50%;
    margin-left: -16px;
    border: 13px solid transparent;
    border-top: 13px solid #FFF;
    z-index: 2; }
  .strategyProblem_result:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -17px;
    border: 14px solid transparent;
    border-top: 14px solid #2c52a9;
    z-index: 1; }

/** Why
/**************************************/
.strategyWhy {
  background-color: #2c52a9;
  margin-top: 60px;
  color: #fff;
  padding: 40px 0 80px;
  position: relative; }
  @media only screen and (max-width: 769px) {
    .strategyWhy {
      margin-top: 30px;
      padding: 60px 0 40px; } }
  @media only screen and (max-width: 769px) {
    .strategyWhy_wrap {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .strategyWhy_en {
    color: #4f6bb3;
    text-align: center;
    line-height: 1;
    margin-bottom: 30px;
    font-size: 14.5rem;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-weight: 300; }
    @media only screen and (max-width: 769px) {
      .strategyWhy_en {
        font-size: 10.875rem; } }
    @media only screen and (max-width: 769px) {
      .strategyWhy_en {
        font-size: 5.0rem;
        position: absolute;
        text-align: center;
        left: -5%;
        top: 10px;
        width: 100%;
        white-space: nowrap; } }
  .strategyWhy_headline {
    text-align: center;
    font-weight: bold;
    font-size: 3.4rem; }
    @media only screen and (max-width: 769px) {
      .strategyWhy_headline {
        font-size: 2.55rem; } }
    @media only screen and (max-width: 769px) {
      .strategyWhy_headline {
        font-size: 1.7rem;
        line-height: 1.4; } }
  .strategyWhy_name {
    background-color: #fff;
    color: #2c52a9;
    margin-top: 20px;
    text-align: center;
    font-weight: bold;
    padding: 10px 0;
    font-size: 1.9rem;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
    width: 690px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 769px) {
      .strategyWhy_name {
        font-size: 1.425rem; } }
    @media only screen and (max-width: 769px) {
      .strategyWhy_name {
        width: 100%;
        padding: 5px 10px; } }
  .strategyWhy_body {
    line-height: 2.2777777778;
    margin-top: 50px;
    text-align: center;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .strategyWhy_body {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .strategyWhy_body {
        margin-top: 15px;
        text-align: left;
        font-size: 1.0rem; } }
    @media only screen and (max-width: 769px) {
      .strategyWhy_body br {
        display: none; } }

/** Flow
/**************************************/
.strategyFlow {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
  width: 900px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .strategyFlow {
      margin-top: 35px;
      display: block;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .strategyFlow_item {
    width: 410px;
    position: relative; }
    @media only screen and (max-width: 769px) {
      .strategyFlow_item {
        width: 100%;
        display: flex;
        justify-content: space-between; } }
    @media only screen and (max-width: 769px) {
      .strategyFlow_item:first-child {
        margin-bottom: 60px; } }
    .strategyFlow_item i {
      position: absolute;
      display: block;
      right: -38px;
      top: 85px; }
      @media only screen and (max-width: 769px) {
        .strategyFlow_item i {
          right: 50%;
          top: auto;
          bottom: -5px; } }
      .strategyFlow_item i:before, .strategyFlow_item i:after {
        width: 5px;
        height: 180px;
        content: '';
        background-color: #fff;
        display: block;
        position: absolute;
        top: 0; }
        @media only screen and (max-width: 769px) {
          .strategyFlow_item i:before, .strategyFlow_item i:after {
            width: 1px;
            height: 50px; } }
      .strategyFlow_item i:before {
        -webkit-transform: rotate(45deg);
        -moz-transfrom: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg); }
      .strategyFlow_item i:after {
        -webkit-transform: rotate(-45deg);
        -moz-transfrom: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg); }
  .strategyFlow_circle {
    margin: 0 auto;
    width: 324px;
    height: 324px;
    border: 2px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    -khtml-border-radius: 50%;
    border-radius: 50%; }
    @media only screen and (max-width: 769px) {
      .strategyFlow_circle {
        width: 120px;
        height: 120px;
        border-width: 1px; } }
  .strategyFlow_core {
    text-align: center; }
    .strategyFlow_core p {
      font-style: italic;
      margin: 10px 0;
      line-height: 1.6;
      font-size: 3rem; }
      @media only screen and (max-width: 769px) {
        .strategyFlow_core p {
          font-size: 2.25rem; } }
      @media only screen and (max-width: 769px) {
        .strategyFlow_core p {
          font-size: 1.1rem;
          line-height: 1.3;
          margin: 0; } }
  .strategyFlow_body {
    line-height: 2.1111111111;
    margin-top: 35px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .strategyFlow_body {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .strategyFlow_body {
        width: calc(100% - 150px);
        font-size: 1.2rem;
        margin-top: 0; } }

/** Download
/**************************************/
.strategyDownload {
  border: 2px solid #fff;
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  padding: 30px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .strategyDownload {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .strategyDownload {
      display: block;
      margin-bottom: 20px;
      padding: 15px;
      margin-top: 25px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  @media only screen and (max-width: 769px) {
    .strategyDownload br {
      display: none; } }
  .strategyDownload_body {
    width: 460px;
    line-height: 1.9473684211;
    font-weight: bold;
    font-size: 1.9rem; }
    @media only screen and (max-width: 769px) {
      .strategyDownload_body {
        font-size: 1.425rem; } }
    @media only screen and (max-width: 769px) {
      .strategyDownload_body {
        width: 100%; } }
  .strategyDownload .strategyEntry_button {
    width: 460px;
    margin-bottom: 0; }
    @media only screen and (max-width: 769px) {
      .strategyDownload .strategyEntry_button {
        width: 100%;
        margin-top: 10px; } }
    .strategyDownload .strategyEntry_button a {
      width: 100%;
      padding: 0 0; }
      @media only screen and (max-width: 769px) {
        .strategyDownload .strategyEntry_button a {
          padding: 15px 0; } }

/** Headline
/**************************************/
.strategyHeadline {
  background-color: #fff;
  color: #2c52a9;
  text-align: center;
  padding: 12px 0;
  font-weight: bold;
  line-height: 1.4;
  font-size: 2rem; }
  @media only screen and (max-width: 769px) {
    .strategyHeadline {
      font-size: 1.5rem; } }
  @media only screen and (max-width: 769px) {
    .strategyHeadline {
      padding: 8px;
      line-height: 1.4; } }
  .strategyOutline .strategyHeadline {
    padding: 0 0 5px; }
    @media only screen and (max-width: 769px) {
      .strategyOutline .strategyHeadline {
        padding: 8px 0; } }

/** Outline
/**************************************/
.strategyOutline {
  margin-top: 50px;
  border: 5px solid #fff; }
  @media only screen and (max-width: 769px) {
    .strategyOutline {
      margin-top: 40px;
      border: none;
      width: 100%; } }
  .strategyOutline_wrap {
    display: flex;
    flex-wrap: wrap;
    padding: 50px 40px;
    position: relative; }
    @media only screen and (max-width: 769px) {
      .strategyOutline_wrap {
        padding: 25px 20px; } }
    .strategyOutline_wrap:before {
      position: absolute;
      left: calc(50% - 15px);
      top: calc(50% - 15px);
      width: 30px;
      height: 30px;
      content: '';
      background-color: #2c52a9; }
      @media only screen and (max-width: 769px) {
        .strategyOutline_wrap:before {
          display: none; } }
  .strategyOutline_item {
    width: 50%;
    text-align: center; }
    @media only screen and (max-width: 769px) {
      .strategyOutline_item {
        border: none !important;
        width: 46%; } }
    .strategyOutline_item:nth-child(odd) {
      border-right: 1px solid #fff; }
      @media only screen and (max-width: 769px) {
        .strategyOutline_item:nth-child(odd) {
          margin-right: 8%; } }
    .strategyOutline_item:nth-child(1), .strategyOutline_item:nth-child(2) {
      border-bottom: 1px solid #fff;
      padding-bottom: 40px; }
      @media only screen and (max-width: 769px) {
        .strategyOutline_item:nth-child(1), .strategyOutline_item:nth-child(2) {
          padding-bottom: 0; } }
    .strategyOutline_item:nth-child(3), .strategyOutline_item:nth-child(4) {
      padding-top: 40px; }
      @media only screen and (max-width: 769px) {
        .strategyOutline_item:nth-child(3), .strategyOutline_item:nth-child(4) {
          padding-top: 20px; } }
  .strategyOutline_title {
    line-height: 1;
    border: 1px solid #fff;
    font-weight: bold;
    padding: 10px 0;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .strategyOutline_title {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .strategyOutline_title {
        font-size: 1.2rem;
        padding: 10px 0 8px;
        width: 100%; } }
    .strategyOutline_title span {
      font-size: 1.2rem; }
      @media only screen and (max-width: 769px) {
        .strategyOutline_title span {
          font-size: 1.0rem;
          line-height: 1.4;
          display: block; } }
  .strategyOutline_image {
    height: 130px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 15px 0; }
    @media only screen and (max-width: 769px) {
      .strategyOutline_image {
        height: 110px;
        margin-bottom: 0;
        -webkit-transform: scale(0.7);
        -moz-transform: scale(0.7);
        -ms-transform: scale(0.7);
        -o-transform: scale(0.7);
        transform: scale(0.7); } }
  .strategyOutline_label {
    line-height: 1;
    font-weight: bold;
    margin-bottom: 30px;
    font-size: 2.6rem; }
    @media only screen and (max-width: 769px) {
      .strategyOutline_label {
        font-size: 1.95rem; } }
    @media only screen and (max-width: 769px) {
      .strategyOutline_label {
        font-size: 1.5rem;
        margin-bottom: 10px; } }
  .strategyOutline_body {
    font-weight: bold;
    padding: 0 40px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .strategyOutline_body {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 769px) {
      .strategyOutline_body {
        font-size: .9rem;
        padding: 0; } }
  .strategyOutlineExample {
    margin-top: 20px;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 769px) {
      .strategyOutlineExample {
        display: block;
        margin-top: 10px; } }
    .strategyOutlineExample_head {
      background-color: #fff;
      color: #2c52a9;
      padding: 5px 5px;
      width: 30%;
      font-weight: bold;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem; }
      @media only screen and (max-width: 769px) {
        .strategyOutlineExample_head {
          font-size: 1.05rem; } }
      @media only screen and (max-width: 769px) {
        .strategyOutlineExample_head {
          width: 100%;
          margin-bottom: 10px; } }
    .strategyOutlineExample_list {
      width: 65%;
      text-align: left; }
      @media only screen and (max-width: 769px) {
        .strategyOutlineExample_list {
          width: 100%; } }
      .strategyOutlineExample_list li {
        line-height: 1.6;
        font-weight: bold;
        font-size: 1.3rem; }
        @media only screen and (max-width: 769px) {
          .strategyOutlineExample_list li {
            font-size: 0.975rem; } }

/** Merit
/**************************************/
.strategyMerit {
  margin-top: 50px; }
  @media only screen and (max-width: 769px) {
    .strategyMerit {
      margin-top: 25px; } }
  .strategyMerit_content {
    margin-top: 45px;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 769px) {
      .strategyMerit_content {
        margin-top: 22.5px;
        display: block; } }
  .strategyMerit_item {
    width: 300px; }
    @media only screen and (max-width: 769px) {
      .strategyMerit_item {
        width: 100%;
        margin-bottom: 20px; } }
  .strategyMerit_title {
    font-weight: bold;
    border-bottom: 2px solid #fff;
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-size: 2.4rem; }
    @media only screen and (max-width: 769px) {
      .strategyMerit_title {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 769px) {
      .strategyMerit_title {
        padding-bottom: 5px;
        margin-bottom: 10px; } }
  .strategyMerit_body {
    font-size: 1.4rem; }
    @media only screen and (max-width: 769px) {
      .strategyMerit_body {
        font-size: 1.05rem; } }

/** Feature
/**************************************/
.strategyFeature {
  margin-top: 50px; }
  @media only screen and (max-width: 769px) {
    .strategyFeature {
      margin-top: 25px; } }
  .strategyFeature_image {
    text-align: center;
    margin-top: 50px; }
    @media only screen and (max-width: 769px) {
      .strategyFeature_image {
        margin-top: 25px; }
        .strategyFeature_image img {
          width: 100%;
          height: auto; } }
  .strategyFeature_list {
    margin-top: 45px;
    border-top: 2px dotted #96a9d4;
    width: 710px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 769px) {
      .strategyFeature_list {
        width: 100%; } }
    .strategyFeature_list li {
      padding: 18px 0;
      font-weight: bold;
      border-bottom: 2px dotted #96a9d4;
      font-size: 1.8rem; }
      @media only screen and (max-width: 769px) {
        .strategyFeature_list li {
          font-size: 1.35rem; } }
      @media only screen and (max-width: 769px) {
        .strategyFeature_list li {
          padding: 10px 0;
          text-indent: -2em;
          padding-left: 2em;
          line-height: 1.6; } }

/** Lecture
/**************************************/
.strategyLecture {
  border: 1px solid #fff;
  margin-top: 65px; }
  @media only screen and (max-width: 769px) {
    .strategyLecture {
      margin-top: 30px; } }
  .strategyLecture_list {
    padding: 40px 30px 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media only screen and (max-width: 769px) {
      .strategyLecture_list {
        padding: 20px 15px 0; } }
  .strategyLecture_item {
    width: 430px;
    margin-bottom: 50px; }
    @media only screen and (max-width: 769px) {
      .strategyLecture_item {
        width: 100%;
        margin-bottom: 25px; } }
  .strategyLecture_title {
    display: flex;
    align-items: center;
    margin-bottom: 20px; }
    @media only screen and (max-width: 769px) {
      .strategyLecture_title {
        margin-bottom: 10px; } }
    .strategyLecture_title em {
      margin-right: 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #fff;
      color: #2c52a9;
      font-size: 1.8rem;
      width: 36px;
      height: 36px;
      font-family: 'Lato', sans-serif;
      font-weight: 400;
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      -o-border-radius: 50%;
      -ms-border-radius: 50%;
      -khtml-border-radius: 50%;
      border-radius: 50%;
      font-weight: bold; }
      @media only screen and (max-width: 769px) {
        .strategyLecture_title em {
          width: 20px;
          height: 20px;
          font-size: 1.1rem;
          margin-right: 10px; } }
    .strategyLecture_title span {
      font-weight: bold;
      font-style: italic;
      font-size: 1.8rem; }
      @media only screen and (max-width: 769px) {
        .strategyLecture_title span {
          font-size: 1.35rem; } }
  .strategyLecture_body {
    font-weight: bold;
    font-size: 1.4rem; }
    @media only screen and (max-width: 769px) {
      .strategyLecture_body {
        font-size: 1.05rem; } }

/** Entry
/**************************************/
.strategyEntry {
  margin-top: 70px; }
  @media only screen and (max-width: 769px) {
    .strategyEntry {
      margin-top: 35px;
      width: 100%; } }
  .strategyEntry_headline {
    border: 3px solid #fff;
    text-align: center;
    padding: 12px 0;
    font-weight: bold;
    margin-bottom: 50px;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
      .strategyEntry_headline {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 769px) {
      .strategyEntry_headline {
        padding: 8px 0;
        margin-bottom: 25px;
        font-size: 1.2rem;
        border-top-width: 2px;
        border-bottom-width: 2px;
        border-right: none;
        border-left: none; } }
  @media only screen and (max-width: 769px) {
    .strategyEntry_wrap {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .strategyEntry_button {
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px; }
    @media only screen and (max-width: 769px) {
      .strategyEntry_button {
        margin-bottom: 12.5px; } }
    .strategyEntry_button a {
      position: relative;
      width: 48%;
      padding: 35px;
      text-align: center;
      text-decoration: none;
      background-color: #fff;
      font-weight: bold;
      justify-content: center;
      display: flex;
      align-items: center;
      -moz-border-radius: 3px;
      -webkit-border-radius: 3px;
      -o-border-radius: 3px;
      -ms-border-radius: 3px;
      -khtml-border-radius: 3px;
      border-radius: 3px;
      font-size: 2.2rem; }
      @media only screen and (max-width: 769px) {
        .strategyEntry_button a {
          font-size: 1.65rem; } }
      @media only screen and (max-width: 769px) {
        .strategyEntry_button a {
          font-size: 1.2rem;
          padding: 10px 0; } }
      .desktop .strategyEntry_button a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .strategyEntry_button a:hover {
          opacity: .7; }
      .strategyEntry_button a .arrow {
        position: absolute;
        right: 15px;
        top: calc(50% - 0);
        height: 5px;
        width: 30px;
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2); }
        .strategyEntry_button a .arrow:before {
          display: block;
          content: '';
          background: #2c52a9;
          height: 1px;
          width: 30px;
          position: absolute;
          transform: translateY(5px); }
        .strategyEntry_button a .arrow:after {
          display: block;
          content: '';
          background: #2c52a9;
          height: 1px;
          width: 7px;
          position: absolute;
          top: 0px;
          bottom: 0;
          margin: auto;
          right: 0px;
          transform: translateY(0px) rotate(45deg); }
          @media only screen and (max-width: 769px) {
            .strategyEntry_button a .arrow:after {
              width: 7px;
              transform: translate(1px, 1px) rotate(45deg); } }
        @media only screen and (max-width: 769px) {
          .strategyEntry_button a .arrow {
            display: none; } }
      .strategyEntry_button a .icon {
        margin-right: 20px;
        width: 28px;
        height: 35px;
        display: block;
        background-repeat: no-repeat;
        background-position: left top;
        background-size: contain;
        background-image: url("/assets/img/digital_marketing/icon_download.png"); }
        @media only screen and (max-width: 769px) {
          .strategyEntry_button a .icon {
            width: 15px;
            height: 18px;
            margin-right: 10px; } }
  .strategyEntry_title {
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .strategyEntry_title {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .strategyEntry_title {
        margin-bottom: 10px;
        font-size: 1.2rem;
        text-align: center; } }
  .strategyEntryTel {
    line-height: 1; }
    @media only screen and (max-width: 769px) {
      .strategyEntryTel {
        text-align: center; } }
    .strategyEntryTel span {
      font-weight: bold; }
      .strategyEntryTel span:nth-child(1) {
        margin-right: 10px;
        font-size: 5.4rem; }
        @media only screen and (max-width: 769px) {
          .strategyEntryTel span:nth-child(1) {
            font-size: 4.05rem; } }
        @media only screen and (max-width: 769px) {
          .strategyEntryTel span:nth-child(1) {
            font-size: 3.4rem;
            display: block;
            margin-bottom: 15px; } }
        @media screen and (max-width: 320px) {
          .strategyEntryTel span:nth-child(1) {
            font-size: 3.2rem; } }
        .strategyEntryTel span:nth-child(1):before {
          vertical-align: bottom;
          margin-right: 5px;
          content: '';
          width: 33px;
          height: 47px;
          display: inline-block;
          background-repeat: no-repeat;
          background-position: left top;
          background-size: cover;
          background-image: url("/assets/img/digital_marketing/icon_tel.png"); }
          @media only screen and (max-width: 769px) {
            .strategyEntryTel span:nth-child(1):before {
              width: 22px;
              height: 31px; } }
      .strategyEntryTel span:nth-child(2) {
        margin-right: 10px;
        font-size: 2rem; }
        @media only screen and (max-width: 769px) {
          .strategyEntryTel span:nth-child(2) {
            font-size: 1.5rem; } }
        @media only screen and (max-width: 769px) {
          .strategyEntryTel span:nth-child(2) {
            font-size: 1.2rem; } }
      .strategyEntryTel span:nth-child(3) {
        font-size: 1.5rem; }
        @media only screen and (max-width: 769px) {
          .strategyEntryTel span:nth-child(3) {
            font-size: 1.125rem; } }
        @media only screen and (max-width: 769px) {
          .strategyEntryTel span:nth-child(3) {
            font-size: .9rem; } }

/** BtoB Problem
/**************************************/
.btobProblem {
  margin-top: 70px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .btobProblem {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .btobProblem {
      margin-top: 35px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .btobProblem_list {
    background-color: #e9edf6;
    padding: 30px;
    margin-top: 50px; }
    @media only screen and (max-width: 769px) {
      .btobProblem_list {
        width: 100%;
        margin-bottom: 10px;
        padding: 15px;
        margin-top: 25px; } }
    .btobProblem_list li {
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 10px;
      font-size: 1.4rem; }
      @media only screen and (max-width: 769px) {
        .btobProblem_list li {
          font-size: 1.05rem; } }
      @media only screen and (max-width: 769px) {
        .btobProblem_list li {
          padding-left: 2em;
          text-indent: -2em; } }
      .btobProblem_list li:before {
        content: '●';
        margin-right: 10px;
        color: #2c52a9;
        font-size: 10px; }
      .btobProblem_list li:last-child {
        margin-bottom: 0; }
  .btobProblem .strategyProblem_result {
    font-size: 2.7rem; }
    @media only screen and (max-width: 769px) {
      .btobProblem .strategyProblem_result {
        font-size: 2.025rem; } }
    @media only screen and (max-width: 769px) {
      .btobProblem .strategyProblem_result {
        font-size: 1.4rem; } }

/** BtoB Section
/**************************************/
.btobSection {
  margin-top: 100px; }
  @media only screen and (max-width: 769px) {
    .btobSection {
      margin-top: 50px; } }

/** BtoB About
/**************************************/
.btobAbout {
  margin-top: 60px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .btobAbout {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .btobAbout {
      margin-top: 30px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .btobAbout_section {
    display: flex; }
    .btobAbout_section:nth-child(2) .btobAbout_arrow:before {
      background-image: url("/assets/img/b_to_b/arrow02.png"); }
    .btobAbout_section:nth-child(3) .btobAbout_arrow:before {
      background-image: url("/assets/img/b_to_b/arrow03.png"); }
    .btobAbout_section:nth-child(3) .btobAbout_content:before {
      border-color: #6b79bd; }
    .btobAbout_section:nth-child(3) ul {
      margin: 0 0 10px; }
    .btobAbout_section:nth-child(4) .btobAbout_arrow:before {
      background-image: none; }
    .btobAbout_section:nth-child(4) .btobAbout_content:before {
      bottom: 0;
      border-color: #6b79bd; }
    .btobAbout_section:nth-child(4) ul {
      margin: 10px 0 0; }
  .btobAbout_content {
    width: calc(100% - 176px);
    padding: 0 0 60px 30px;
    position: relative; }
    @media only screen and (max-width: 769px) {
      .btobAbout_content {
        padding: 0 0 30px 15px;
        width: calc(100% - 90px); } }
    .has-line .btobAbout_content:before {
      position: absolute;
      bottom: 40px;
      left: 0;
      border-bottom: 2px dotted #394ca7;
      width: 100%;
      height: 2px;
      content: ''; }
      @media only screen and (max-width: 769px) {
        .has-line .btobAbout_content:before {
          bottom: 20px; } }
    .btobAbout_content ul {
      margin: 30px 0; }
      @media only screen and (max-width: 769px) {
        .btobAbout_content ul {
          margin: 15px 0; } }
      .btobAbout_content ul li {
        margin-bottom: 20px;
        font-weight: 600;
        font-size: 2rem; }
        @media only screen and (max-width: 769px) {
          .btobAbout_content ul li {
            font-size: 1.5rem; } }
        @media only screen and (max-width: 769px) {
          .btobAbout_content ul li {
            line-height: 1.6;
            padding-left: 1.3em;
            text-indent: -1.3em;
            font-size: 1.2rem; } }
        .btobAbout_content ul li em {
          font-style: normal;
          color: #394ca7; }
  .btobAbout_arrow {
    background-color: #394ca7;
    width: 176px;
    position: relative;
    text-align: center; }
    @media only screen and (max-width: 769px) {
      .btobAbout_arrow {
        width: 90px; } }
    .is-thin .btobAbout_arrow {
      background-color: #6b79bd; }
    .btobAbout_arrow.is-column2:after {
      width: 176px;
      height: 45px;
      content: '';
      display: block;
      position: absolute;
      top: calc(50% - 45px);
      left: 0;
      background-repeat: no-repeat;
      background-position: left top;
      background-size: cover;
      background-image: url("/assets/img/b_to_b/arrow01.png"); }
      @media only screen and (max-width: 769px) {
        .btobAbout_arrow.is-column2:after {
          width: 90px;
          height: 23px; } }
    .btobAbout_arrow.is-column2 span:nth-child(1) {
      top: 20%; }
    .btobAbout_arrow.is-column2 span:nth-child(2) {
      bottom: 20%;
      top: auto; }
      @media only screen and (max-width: 769px) {
        .btobAbout_arrow.is-column2 span:nth-child(2) {
          bottom: 25%; } }
    .btobAbout_arrow:before {
      width: 176px;
      height: 45px;
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      background-repeat: no-repeat;
      background-position: left top;
      background-size: cover;
      background-image: url("/assets/img/b_to_b/arrow01.png"); }
      @media only screen and (max-width: 769px) {
        .btobAbout_arrow:before {
          width: 90px;
          height: 23px; } }
    .btobAbout_arrow span {
      color: #fff;
      font-weight: bold;
      display: block;
      width: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      font-size: 2.4rem;
      top: calc(50% - 10px);
      line-height: 1.6; }
      @media only screen and (max-width: 769px) {
        .btobAbout_arrow span {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 769px) {
        .btobAbout_arrow span {
          font-size: 1.3rem; } }
  .btobAboutColumn2 {
    display: flex; }
    @media only screen and (max-width: 769px) {
      .btobAboutColumn2 {
        display: block; } }
    @media only screen and (max-width: 769px) {
      .btobAboutColumn2_item {
        margin-bottom: 20px; } }
    .btobAboutColumn2_title {
      margin-bottom: 10px;
      font-size: 1.4rem; }
      @media only screen and (max-width: 769px) {
        .btobAboutColumn2_title {
          font-size: 1.05rem; } }
    @media only screen and (max-width: 769px) {
      .btobAboutColumn2_image {
        width: 70%; }
        .btobAboutColumn2_image img {
          width: 100%;
          height: auto; } }

/** BtoB Column2
/**************************************/
.btobColumn2 {
  margin-top: 70px;
  display: flex;
  justify-content: space-between;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .btobColumn2 {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .btobColumn2 {
      margin-top: 35px;
      display: block;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .btobColumn2_item {
    width: 480px; }
    @media only screen and (max-width: 769px) {
      .btobColumn2_item {
        width: 100%; } }
    @media only screen and (max-width: 769px) {
      .btobColumn2_item:first-child {
        margin-bottom: 30px; } }
  .btobColumn2_headline {
    background-color: #394ca7;
    text-align: center;
    line-height: 1.4166666667;
    padding: 10px 0;
    margin-bottom: 30px; }
    @media only screen and (max-width: 769px) {
      .btobColumn2_headline {
        margin-bottom: 10px; } }
    .is-thin .btobColumn2_headline {
      background-color: #6b79bd; }
    .btobColumn2_headline span {
      display: block;
      font-weight: bold;
      color: #fff; }
      .btobColumn2_headline span.is-main {
        font-size: 2.4rem; }
        @media only screen and (max-width: 769px) {
          .btobColumn2_headline span.is-main {
            font-size: 1.8rem; } }
      .btobColumn2_headline span.is-sub {
        font-size: 1.8rem; }
        @media only screen and (max-width: 769px) {
          .btobColumn2_headline span.is-sub {
            font-size: 1.35rem; } }
  .btobColumn2_title {
    line-height: 1.8333333333;
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 2.2rem; }
    @media only screen and (max-width: 769px) {
      .btobColumn2_title {
        font-size: 1.8rem; } }
  .btobColumn2_list {
    line-height: 1.875;
    font-weight: bold;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .btobColumn2_list {
        font-size: 1.2rem; } }
  .btobColumn2_body {
    line-height: 2.1111111111;
    font-size: 2.2rem; }
    @media only screen and (max-width: 769px) {
      .btobColumn2_body {
        font-size: 1.35rem; } }

/** BtoB Feature
/**************************************/
.btobFeature {
  background-color: #2c52a9;
  margin-top: 90px;
  padding: 60px 0; }
  @media only screen and (max-width: 769px) {
    .btobFeature {
      margin-top: 45px;
      padding: 30px 0; } }
  .btobFeature_content {
    border: 1px solid #fff;
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 769px) {
      .btobFeature_content {
        width: 100%; } }
    @media only screen and (max-width: 769px) {
      .btobFeature_content {
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
  .btobFeature_headline {
    background-color: #fff;
    color: #2c52a9;
    padding: 20px 0;
    text-align: center;
    font-weight: bold;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
      .btobFeature_headline {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 769px) {
      .btobFeature_headline {
        padding: 10px 0; } }
  .btobFeature_list {
    padding: 30px 30px 10px 30px; }
    @media only screen and (max-width: 769px) {
      .btobFeature_list {
        padding: 15px 15px 5px 15px; } }
  .btobFeature_title {
    display: flex;
    align-items: center;
    line-height: 1.6;
    margin-bottom: 20px; }
    @media only screen and (max-width: 769px) {
      .btobFeature_title {
        margin-bottom: 10px; } }
    .btobFeature_title em {
      margin-right: 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #fff;
      color: #2c52a9;
      font-size: 1.8rem;
      width: 36px;
      height: 36px;
      font-family: 'Lato', sans-serif;
      font-weight: 400;
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      -o-border-radius: 50%;
      -ms-border-radius: 50%;
      -khtml-border-radius: 50%;
      border-radius: 50%;
      font-weight: bold; }
      @media only screen and (max-width: 769px) {
        .btobFeature_title em {
          width: 20px;
          height: 20px;
          font-size: 1.1rem;
          margin-right: 10px; } }
    .btobFeature_title span {
      color: #fff;
      font-style: italic;
      font-weight: bold;
      font-size: 1.8rem; }
      @media only screen and (max-width: 769px) {
        .btobFeature_title span {
          font-size: 1.35rem; } }
      @media only screen and (max-width: 769px) {
        .btobFeature_title span {
          width: calc(100% - 30px); } }

/** BtoB Contact
/**************************************/
.btobContact {
  background-color: #2c52a9;
  margin-top: 40px;
  padding: 60px 0; }
  @media only screen and (max-width: 769px) {
    .btobContact {
      margin-top: 20px;
      padding: 30px 0; } }
  .btobContact_headline {
    border: 3px solid #fff;
    text-align: center;
    padding: 12px 0;
    font-weight: bold;
    margin-bottom: 50px;
    color: #fff;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
      .btobContact_headline {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 769px) {
      .btobContact_headline {
        padding: 8px 0;
        margin-bottom: 25px;
        font-size: 1.2rem;
        border-top-width: 2px;
        border-bottom-width: 2px;
        border-right: none;
        border-left: none; } }
  .btobContact_wrap {
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 769px) {
      .btobContact_wrap {
        width: 100%; } }
    @media only screen and (max-width: 769px) {
      .btobContact_wrap {
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
  .btobContactBox {
    background-color: #fff;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px; }
    @media only screen and (max-width: 769px) {
      .btobContactBox {
        display: block;
        padding: 10px 20px 20px 20px; } }
    .btobContactBox_content {
      width: 620px; }
      @media only screen and (max-width: 769px) {
        .btobContactBox_content {
          width: 100%; } }
    .btobContactBox_title {
      font-weight: bold;
      color: #2c52a9;
      margin: 5px 0 20px;
      font-size: 2.6rem; }
      @media only screen and (max-width: 769px) {
        .btobContactBox_title {
          font-size: 1.95rem; } }
      @media only screen and (max-width: 769px) {
        .btobContactBox_title {
          margin: 5px 0 10px;
          line-height: 1.6; } }
    .btobContactBox_body {
      font-size: 1.6rem; }
      @media only screen and (max-width: 769px) {
        .btobContactBox_body {
          font-size: 1.2rem; } }
    .btobContactBox_button {
      display: flex;
      justify-content: space-between;
      margin-top: 20px; }
      @media only screen and (max-width: 769px) {
        .btobContactBox_button {
          margin-top: 12.5px; } }
      .btobContactBox_button a {
        width: 100%;
        position: relative;
        padding: 15px 0;
        text-align: center;
        text-decoration: none;
        background-color: #2c52a9;
        font-weight: bold;
        justify-content: center;
        display: flex;
        align-items: center;
        color: #fff;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
        -o-border-radius: 3px;
        -ms-border-radius: 3px;
        -khtml-border-radius: 3px;
        border-radius: 3px;
        font-size: 2.2rem; }
        @media only screen and (max-width: 769px) {
          .btobContactBox_button a {
            font-size: 1.65rem; } }
        @media only screen and (max-width: 769px) {
          .btobContactBox_button a {
            font-size: 1.2rem;
            padding: 10px 0; } }
        .desktop .btobContactBox_button a {
          -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
          .desktop .btobContactBox_button a:hover {
            opacity: .7; }
        .btobContactBox_button a .arrow {
          position: absolute;
          right: 15px;
          top: calc(50% - 0);
          height: 5px;
          width: 30px;
          -webkit-transform: scale(1.2);
          -moz-transform: scale(1.2);
          -ms-transform: scale(1.2);
          -o-transform: scale(1.2);
          transform: scale(1.2); }
          .btobContactBox_button a .arrow:before {
            display: block;
            content: '';
            background: #fff;
            height: 1px;
            width: 30px;
            position: absolute;
            transform: translateY(5px); }
          .btobContactBox_button a .arrow:after {
            display: block;
            content: '';
            background: #fff;
            height: 1px;
            width: 7px;
            position: absolute;
            top: 0px;
            bottom: 0;
            margin: auto;
            right: 0px;
            transform: translateY(0px) rotate(45deg); }
            @media only screen and (max-width: 769px) {
              .btobContactBox_button a .arrow:after {
                width: 7px;
                transform: translate(1px, 1px) rotate(45deg); } }
          @media only screen and (max-width: 769px) {
            .btobContactBox_button a .arrow {
              display: none; } }
        .btobContactBox_button a .icon {
          margin-right: 20px;
          width: 28px;
          height: 35px;
          display: block;
          background-repeat: no-repeat;
          background-position: left top;
          background-size: contain;
          background-image: url("/assets/img/common/icon_download.png"); }
          @media only screen and (max-width: 769px) {
            .btobContactBox_button a .icon {
              width: 15px;
              height: 18px;
              margin-right: 10px; } }
    @media only screen and (max-width: 769px) {
      .btobContactBox_image {
        margin-top: 20px;
        text-align: center; }
        .btobContactBox_image img {
          width: 100%;
          height: auto; } }
  .btobContactInfo {
    margin-top: 30px;
    color: #fff; }
    @media only screen and (max-width: 769px) {
      .btobContactInfo {
        margin-top: 15px; } }
    .btobContactInfo_text {
      font-weight: bold;
      font-size: 1.8rem; }
      @media only screen and (max-width: 769px) {
        .btobContactInfo_text {
          font-size: 1.35rem; } }
    .btobContactInfo_wrap {
      margin-top: 20px;
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 769px) {
        .btobContactInfo_wrap {
          margin-top: 10px;
          display: block; } }
    .btobContactInfo_tel {
      margin: 0 10px 20px 0;
      font-weight: bold;
      line-height: 1;
      font-size: 5.4rem; }
      @media only screen and (max-width: 769px) {
        .btobContactInfo_tel {
          font-size: 4.05rem; } }
      @media only screen and (max-width: 769px) {
        .btobContactInfo_tel {
          font-size: 3.4rem;
          display: block;
          margin-bottom: 15px; } }
      @media screen and (max-width: 320px) {
        .btobContactInfo_tel {
          font-size: 3.2rem; } }
      .btobContactInfo_tel:before {
        vertical-align: bottom;
        margin-right: 5px;
        content: '';
        width: 33px;
        height: 47px;
        display: inline-block;
        background-repeat: no-repeat;
        background-position: left top;
        background-size: cover;
        background-image: url("/assets/img/digital_marketing/icon_tel.png"); }
        @media only screen and (max-width: 769px) {
          .btobContactInfo_tel:before {
            width: 22px;
            height: 31px; } }
    .btobContactInfo_time span {
      font-weight: bold; }
      @media only screen and (max-width: 769px) {
        .btobContactInfo_time span {
          display: block;
          line-height: 1.6; } }
      .btobContactInfo_time span.is-main {
        font-size: 2rem; }
        @media only screen and (max-width: 769px) {
          .btobContactInfo_time span.is-main {
            font-size: 1.5rem; } }
      .btobContactInfo_time span.is-sub {
        margin-left: 20px;
        font-size: 1.5rem; }
        @media only screen and (max-width: 769px) {
          .btobContactInfo_time span.is-sub {
            font-size: 1.125rem; } }
    .btobContactInfo_button .arrow {
      position: absolute;
      right: 15px;
      top: calc(50% - 0);
      height: 5px;
      width: 30px;
      -webkit-transform: scale(1.2);
      -moz-transform: scale(1.2);
      -ms-transform: scale(1.2);
      -o-transform: scale(1.2);
      transform: scale(1.2); }
      .btobContactInfo_button .arrow:before {
        display: block;
        content: '';
        background: #2c52a9;
        height: 1px;
        width: 30px;
        position: absolute;
        transform: translateY(5px); }
      .btobContactInfo_button .arrow:after {
        display: block;
        content: '';
        background: #2c52a9;
        height: 1px;
        width: 7px;
        position: absolute;
        top: 0px;
        bottom: 0;
        margin: auto;
        right: 0px;
        transform: translateY(0px) rotate(45deg); }
        @media only screen and (max-width: 769px) {
          .btobContactInfo_button .arrow:after {
            width: 7px;
            transform: translate(1px, 1px) rotate(45deg); } }
      @media only screen and (max-width: 769px) {
        .btobContactInfo_button .arrow {
          display: none; } }
    .btobContactInfo_button a {
      text-decoration: none;
      width: 460px;
      padding: 35px;
      position: relative;
      text-align: center;
      text-decoration: none;
      background-color: #fff;
      font-weight: bold;
      justify-content: center;
      display: flex;
      align-items: center;
      -moz-border-radius: 3px;
      -webkit-border-radius: 3px;
      -o-border-radius: 3px;
      -ms-border-radius: 3px;
      -khtml-border-radius: 3px;
      border-radius: 3px;
      font-size: 2.2rem; }
      @media only screen and (max-width: 769px) {
        .btobContactInfo_button a {
          font-size: 1.65rem; } }
      @media only screen and (max-width: 769px) {
        .btobContactInfo_button a {
          font-size: 1.2rem;
          padding: 10px 0;
          margin-top: 20px;
          width: 100%; } }
      .desktop .btobContactInfo_button a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .btobContactInfo_button a:hover {
          opacity: .7; }

/** catalogFlowSection
/**************************************/
.catalogFlowSection {
  margin-top: 100px; }
  @media only screen and (max-width: 769px) {
    .catalogFlowSection {
      margin-top: 50px; } }
  .catalogFlowSection_lead {
    margin-top: 25px;
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .catalogFlowSection_lead {
        width: 100%; } }
    @media only screen and (max-width: 769px) {
      .catalogFlowSection_lead {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 769px) {
      .catalogFlowSection_lead {
        margin-top: 12.5px;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }

/** catalogFlow
/**************************************/
.catalogFlowProblem {
  margin-top: 80px; }
  @media only screen and (max-width: 769px) {
    .catalogFlowProblem {
      margin-top: 40px; } }
  .catalogFlowProblem_lead {
    text-align: center;
    margin-top: 25px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .catalogFlowProblem_lead {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .catalogFlowProblem_lead {
        margin-top: 12.5px; } }
  .catalogFlowProblem_wrap {
    margin-top: 70px;
    display: flex;
    justify-content: space-between;
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 769px) {
      .catalogFlowProblem_wrap {
        width: 100%; } }
    @media only screen and (max-width: 769px) {
      .catalogFlowProblem_wrap {
        margin-top: 20px;
        display: block;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
  .catalogFlowProblem_image {
    position: relative; }
    @media only screen and (min-width: 769px) {
      .catalogFlowProblem_image {
        padding-right: 40px;
        border-right: 2px solid #2c52a9; } }
    @media only screen and (max-width: 769px) {
      .catalogFlowProblem_image {
        padding-bottom: 20px;
        border-bottom: 2px solid #2c52a9; }
        .catalogFlowProblem_image img {
          width: 100%;
          height: auto; } }
    @media only screen and (min-width: 769px) {
      .catalogFlowProblem_image:before {
        content: "";
        position: absolute;
        top: 50%;
        right: -20px;
        margin-top: -19px;
        border-style: solid;
        border-width: 19px 0 19px 22px;
        border-color: transparent transparent transparent #fff;
        z-index: 2; }
      .catalogFlowProblem_image:after {
        content: "";
        position: absolute;
        top: 50%;
        right: -23px;
        margin-top: -18px;
        border-style: solid;
        border-width: 18px 0 18px 21px;
        border-color: transparent transparent transparent #2c52a9;
        z-index: 1; } }
  .catalogFlowProblem_content {
    width: 460px;
    margin-top: -20px;
    position: relative; }
    @media only screen and (max-width: 769px) {
      .catalogFlowProblem_content {
        width: 100%;
        margin-top: 0;
        padding-top: 35px; }
        .catalogFlowProblem_content:before {
          content: "";
          position: absolute;
          top: -2px;
          left: 50%;
          margin-left: -16px;
          border: 13px solid transparent;
          border-top: 13px solid #FFF;
          z-index: 2; }
        .catalogFlowProblem_content:after {
          content: "";
          position: absolute;
          top: 0;
          left: 50%;
          margin-left: -17px;
          border: 14px solid transparent;
          border-top: 14px solid #2c52a9;
          z-index: 1; } }
  .catalogFlowProblem_title {
    font-weight: bold;
    line-height: 1.5714285714;
    margin-bottom: 20px;
    font-size: 4.2rem; }
    @media only screen and (max-width: 769px) {
      .catalogFlowProblem_title {
        font-size: 3.15rem; } }
    @media only screen and (max-width: 769px) {
      .catalogFlowProblem_title {
        margin-bottom: 15px;
        font-size: 2.6rem; } }
  .catalogFlowProblem_list {
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .catalogFlowProblem_list {
        font-size: 1.35rem; } }
    .catalogFlowProblem_list li {
      line-height: 1.5;
      margin-bottom: 5px;
      padding-left: 1.3em;
      text-indent: -1.3em;
      font-weight: 600; }
      .catalogFlowProblem_list li em {
        color: #2c52a9;
        font-style: normal; }

/** catalogFlowAbout
/**************************************/
.catalogFlowAbout {
  margin-top: 60px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .catalogFlowAbout {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .catalogFlowAbout {
      margin-top: 30px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .catalogFlowAbout_section {
    display: flex;
    min-height: 200px; }
    @media only screen and (max-width: 769px) {
      .catalogFlowAbout_section {
        min-height: 0; } }
    .catalogFlowAbout_section:nth-child(1) {
      min-height: 100px; }
      @media only screen and (max-width: 769px) {
        .catalogFlowAbout_section:nth-child(1) {
          min-height: 0; } }
      .catalogFlowAbout_section:nth-child(1) .catalogFlowAbout_content {
        padding-bottom: 30px; }
        @media only screen and (max-width: 769px) {
          .catalogFlowAbout_section:nth-child(1) .catalogFlowAbout_content {
            padding-bottom: 15px; } }
    .catalogFlowAbout_section:last-child {
      min-height: 180px; }
      @media only screen and (max-width: 769px) {
        .catalogFlowAbout_section:last-child {
          min-height: 0; } }
      .catalogFlowAbout_section:last-child .catalogFlowAbout_arrow:before {
        display: none; }
      .catalogFlowAbout_section:last-child .catalogFlowAbout_content {
        padding-bottom: 40px; }
        @media only screen and (max-width: 769px) {
          .catalogFlowAbout_section:last-child .catalogFlowAbout_content {
            padding-bottom: 20px; } }
        .catalogFlowAbout_section:last-child .catalogFlowAbout_content:before {
          bottom: 0; }
  .catalogFlowAbout_body {
    line-height: 1.6666666667;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .catalogFlowAbout_body {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .catalogFlowAbout_body {
        font-size: 1.2rem; } }
  .catalogFlowAbout_content {
    width: calc(100% - 176px);
    padding: 0 0 70px 30px;
    position: relative;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 769px) {
      .catalogFlowAbout_content {
        padding: 0 0 30px 15px;
        width: calc(100% - 90px); } }
    .has-line .catalogFlowAbout_content:before {
      position: absolute;
      bottom: 40px;
      left: 0;
      border-bottom: 2px dotted #394ca7;
      width: 100%;
      height: 2px;
      content: ''; }
      @media only screen and (max-width: 769px) {
        .has-line .catalogFlowAbout_content:before {
          bottom: 20px; } }
    .catalogFlowAbout_content ul {
      margin: 30px 0; }
      @media only screen and (max-width: 769px) {
        .catalogFlowAbout_content ul {
          margin: 15px 0; } }
      .catalogFlowAbout_content ul li {
        margin-bottom: 20px;
        line-height: 1.6666666667;
        /*display: flex;*/
        justify-content: space-between;
        align-items: center;
        font-size: 1.8rem; }
        @media only screen and (max-width: 769px) {
          .catalogFlowAbout_content ul li {
            font-size: 1.35rem; } }
        @media only screen and (max-width: 769px) {
          .catalogFlowAbout_content ul li {
            line-height: 1.6;
            font-size: 1.2rem;
            align-items: flex-start; } }
        .catalogFlowAbout_content ul li em {
          font-style: normal;
          color: #fff;
          background-color: #2c52a9;
          width: 48px;
          height: 48px;
          font-size: 1.4rem;
          display: flex;
          align-items: center;
          justify-content: center;
          font-weight: bold;
          -moz-border-radius: 50%;
          -webkit-border-radius: 50%;
          -o-border-radius: 50%;
          -ms-border-radius: 50%;
          -khtml-border-radius: 50%;
          border-radius: 50%; }
          @media only screen and (max-width: 769px) {
            .catalogFlowAbout_content ul li em {
              font-size: 1.0rem;
              width: 32px;
              height: 32px;
              margin-top: 5px; } }
        .catalogFlowAbout_content ul li span {
          display: block;
          width: calc(100% - 60px); }
          @media only screen and (max-width: 769px) {
            .catalogFlowAbout_content ul li span {
              width: calc(100% - 45px); } }
  .catalogFlowAbout_arrow {
    background-color: #394ca7;
    width: 176px;
    position: relative;
    text-align: center; }
    @media only screen and (max-width: 769px) {
      .catalogFlowAbout_arrow {
        width: 90px; } }
    .catalogFlowAbout_arrow:before {
      width: 176px;
      height: 45px;
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      background-repeat: no-repeat;
      background-position: left top;
      background-size: cover;
      background-image: url("/assets/img/b_to_b/arrow01.png"); }
      @media only screen and (max-width: 769px) {
        .catalogFlowAbout_arrow:before {
          width: 90px;
          height: 23px; } }
    .catalogFlowAbout_arrow span {
      color: #fff;
      font-weight: bold;
      display: block;
      width: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      font-size: 2.4rem;
      top: calc(50% - 10px);
      line-height: 1.6; }
      @media only screen and (max-width: 769px) {
        .catalogFlowAbout_arrow span {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 769px) {
        .catalogFlowAbout_arrow span {
          font-size: 1.3rem; } }
      .catalogFlowAbout_arrow span em {
        font-style: normal;
        display: block;
        font-family: 'Lato', sans-serif;
        font-weight: 400;
        font-size: 4rem;
        font-weight: bold; }
        @media only screen and (max-width: 769px) {
          .catalogFlowAbout_arrow span em {
            font-size: 3rem; } }
        @media only screen and (max-width: 769px) {
          .catalogFlowAbout_arrow span em {
            font-size: 2.2rem;
            line-height: 1;
            margin: 20px 0 5px; } }

/** catalogFlowResult
/**************************************/
.catalogFlowResult {
  margin-top: 60px;
  padding: 40px 0;
  background-color: #e9edf6;
  text-align: center;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .catalogFlowResult {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .catalogFlowResult {
      padding: 20px;
      margin-top: 30px;
      text-align: left;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .catalogFlowResult p {
    font-weight: 600;
    line-height: 2;
    font-feature-settings: "palt";
    font-size: 2.4rem; }
    @media only screen and (max-width: 769px) {
      .catalogFlowResult p {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 769px) {
      .catalogFlowResult p {
        font-size: 1.4rem; } }
    .catalogFlowResult p span {
      color: #2c52a9; }

/** catalogFlowContact
/**************************************/
.catalogFlowContact {
  margin-top: 60px;
  background-color: #163f6c;
  color: #fff;
  text-align: center;
  padding: 30px 0;
  width: 800px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .catalogFlowContact {
      margin-top: 30px;
      padding: 20px 5%;
      width: 100%; } }
  .catalogFlowContact_title {
    display: inline-block;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 2px solid #5b7797;
    font-size: 2.6rem; }
    @media only screen and (max-width: 769px) {
      .catalogFlowContact_title {
        font-size: 1.95rem; } }
    @media only screen and (max-width: 769px) {
      .catalogFlowContact_title {
        margin-bottom: 12.5px;
        padding-bottom: 5px; } }
  .catalogFlowContact_lead {
    margin-bottom: 30px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 769px) {
      .catalogFlowContact_lead {
        font-size: 1.05rem; } }
    @media only screen and (max-width: 769px) {
      .catalogFlowContact_lead {
        margin-bottom: 15px; } }
  .catalogFlowContactBox {
    display: flex;
    width: 730px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 769px) {
      .catalogFlowContactBox {
        width: 100%;
        display: block; } }
    .catalogFlowContactBox_tel {
      width: 50%;
      border: 3px solid #456589;
      font-weight: bold;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 10px 0;
      font-size: 3.2rem; }
      @media only screen and (max-width: 769px) {
        .catalogFlowContactBox_tel {
          font-size: 2.4rem; } }
      @media only screen and (max-width: 769px) {
        .catalogFlowContactBox_tel {
          width: 100%;
          padding: 5px 0; } }
      .catalogFlowContactBox_tel:before {
        vertical-align: bottom;
        margin-right: 10px;
        content: '';
        width: 29px;
        height: 41px;
        display: inline-block;
        background-repeat: no-repeat;
        background-position: left top;
        background-size: cover;
        background-image: url("/assets/img/common/icon_tel02.png"); }
        @media only screen and (max-width: 769px) {
          .catalogFlowContactBox_tel:before {
            width: 22px;
            height: 31px; } }
    .catalogFlowContactBox_button {
      width: 50%;
      background-color: #fff;
      position: relative;
      text-decoration: none;
      background-color: #fff;
      font-weight: bold;
      justify-content: center;
      display: flex;
      align-items: center;
      color: #333;
      font-size: 1.6rem; }
      @media only screen and (max-width: 769px) {
        .catalogFlowContactBox_button {
          font-size: 1.2rem; } }
      @media only screen and (max-width: 769px) {
        .catalogFlowContactBox_button {
          font-size: 1.2rem;
          padding: 20px 0;
          width: 100%;
          margin-top: 10px; } }
      .desktop .catalogFlowContactBox_button {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .catalogFlowContactBox_button:hover {
          opacity: .7; }
      .catalogFlowContactBox_button .arrow {
        position: absolute;
        right: 15px;
        top: calc(50% - 0);
        height: 5px;
        width: 30px;
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2); }
        .catalogFlowContactBox_button .arrow:before {
          display: block;
          content: '';
          background: #8a9fb5;
          height: 1px;
          width: 30px;
          position: absolute;
          transform: translateY(5px); }
        .catalogFlowContactBox_button .arrow:after {
          display: block;
          content: '';
          background: #8a9fb5;
          height: 1px;
          width: 7px;
          position: absolute;
          top: 0px;
          bottom: 0;
          margin: auto;
          right: 0px;
          transform: translateY(0px) rotate(45deg); }
          @media only screen and (max-width: 769px) {
            .catalogFlowContactBox_button .arrow:after {
              width: 7px;
              transform: translate(1px, 1px) rotate(45deg); } }

/** operation
/**************************************/
/** Problem
/**************************************/
.operationProblem_list {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media only screen and (max-width: 769px) {
    .operationProblem_list {
      margin-top: 25px; } }
  .operationProblem_list li {
    background-color: #e9edf6;
    padding: 40px 35px 40px 60px;
    width: 470px;
    line-height: 1.7777777778;
    position: relative;
    font-weight: 600;
    margin-bottom: 45px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .operationProblem_list li {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .operationProblem_list li {
        width: 100%;
        padding: 20px 17.5px 20px 50px;
        margin-bottom: 20px; } }
    .operationProblem_list li:before {
      width: 62px;
      height: 58px;
      display: block;
      content: '';
      position: absolute;
      left: 10px;
      top: 10px;
      background-repeat: no-repeat;
      background-position: left top;
      background-size: contain;
      background-image: url("/assets/img/common/icon_check.png"); }
      @media only screen and (max-width: 769px) {
        .operationProblem_list li:before {
          width: 37.2px;
          height: 34.8px; } }

.operationProblem_result {
  margin-top: 60px;
  padding-top: 50px;
  font-weight: bold;
  text-align: center;
  position: relative;
  border-top: 2px solid #2c52a9;
  font-size: 2rem; }
  @media only screen and (max-width: 769px) {
    .operationProblem_result {
      font-size: 1.5rem; } }
  @media only screen and (max-width: 769px) {
    .operationProblem_result {
      margin-top: 10px;
      padding-top: 25px;
      font-size: 1.7rem; } }
  .operationProblem_result:before {
    content: "";
    position: absolute;
    top: -2px;
    left: 50%;
    margin-left: -16px;
    border: 13px solid transparent;
    border-top: 13px solid #FFF;
    z-index: 2; }
  .operationProblem_result:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -17px;
    border: 14px solid transparent;
    border-top: 14px solid #2c52a9;
    z-index: 1; }

/** Result
/**************************************/
.operationResult {
  display: flex;
  justify-content: space-between;
  margin: 20px 0 90px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .operationResult {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .operationResult {
      margin: 10px 0 45px;
      display: block; } }
  .operationResult_item {
    width: 300px; }
    @media only screen and (max-width: 769px) {
      .operationResult_item {
        margin-bottom: 10px;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
  .operationResult_num {
    font-size: 5.0rem;
    color: #2c52a9;
    text-align: center;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-weight: 300;
    font-style: italic; }
    @media only screen and (max-width: 769px) {
      .operationResult_num {
        font-size: 4.0rem;
        line-height: 2; } }
  .operationResult_title {
    text-align: center;
    color: #2c52a9;
    line-height: 1.55;
    font-weight: bold;
    margin-bottom: 30px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .operationResult_title {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .operationResult_title {
        margin-bottom: 15px; } }
    @media only screen and (max-width: 769px) {
      .operationResult_title br {
        display: none; } }
  .operationResult_body {
    line-height: 1.9285714286;
    font-size: 1.4rem; }
    @media only screen and (max-width: 769px) {
      .operationResult_body {
        font-size: 1.05rem; } }

/** About
/**************************************/
.operationAbout {
  margin: 60px 0 90px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .operationAbout {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .operationAbout {
      margin: 30px 0 45px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .operationAbout_section {
    display: flex; }
    .operationAbout_section:nth-child(1) .operationAbout_arrow:before {
      background-image: url("/assets/img/b_to_b/arrow02.png"); }
    .operationAbout_section:nth-child(2) .operationAbout_arrow:before {
      background-image: none; }
  .operationAbout_content {
    width: calc(100% - 176px);
    padding: 0 0 60px 30px;
    position: relative; }
    @media only screen and (max-width: 769px) {
      .operationAbout_content {
        padding: 0 0 30px 15px;
        width: calc(100% - 90px); } }
    .has-line .operationAbout_content:before {
      position: absolute;
      bottom: 40px;
      left: 0;
      border-bottom: 2px dotted #394ca7;
      width: 100%;
      height: 2px;
      content: ''; }
      @media only screen and (max-width: 769px) {
        .has-line .operationAbout_content:before {
          bottom: 20px; } }
  .operationAbout_arrow {
    background-color: #394ca7;
    width: 176px;
    position: relative;
    text-align: center; }
    @media only screen and (max-width: 769px) {
      .operationAbout_arrow {
        width: 90px; } }
    .is-thin .operationAbout_arrow {
      background-color: #6b79bd; }
    .operationAbout_arrow:before {
      width: 176px;
      height: 45px;
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      background-repeat: no-repeat;
      background-position: left top;
      background-size: cover;
      background-image: url("/assets/img/b_to_b/arrow01.png"); }
      @media only screen and (max-width: 769px) {
        .operationAbout_arrow:before {
          width: 90px;
          height: 23px; } }
    .operationAbout_arrow span {
      color: #fff;
      font-weight: bold;
      display: block;
      width: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      font-size: 2.4rem;
      top: 80px;
      line-height: 1.6; }
      @media only screen and (max-width: 769px) {
        .operationAbout_arrow span {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 769px) {
        .operationAbout_arrow span {
          font-size: 1.3rem; } }
  .operationAbout_item {
    margin-bottom: 50px; }
    @media only screen and (max-width: 769px) {
      .operationAbout_item {
        margin-bottom: 25px; } }
  .operationAbout_title {
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 10px;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
      .operationAbout_title {
        font-size: 1.5rem; } }
    .operationAbout_title em {
      color: #2c52a9;
      font-style: normal; }
  .operationAbout_body {
    line-height: 2;
    font-size: 1.4rem; }
    @media only screen and (max-width: 769px) {
      .operationAbout_body {
        font-size: 1.05rem; } }
  .operationAbout_column2 {
    display: flex;
    justify-content: space-between;
    margin-top: 30px; }
    @media only screen and (max-width: 769px) {
      .operationAbout_column2 {
        display: block;
        margin-top: 15px; } }
    .operationAbout_column2 > div {
      width: 48%; }
      @media only screen and (max-width: 769px) {
        .operationAbout_column2 > div {
          width: 100%; }
          .operationAbout_column2 > div img {
            width: 100%;
            height: auto; } }
      .operationAbout_column2 > div:nth-child(1) {
        margin-bottom: 15px; }
      .operationAbout_column2 > div img.has-border {
        display: block;
        border: 1px solid #e9edf6; }

/**salesDesignIntro
/**************************************/
.salesDesignIntro {
  margin: 60px 0 240px;
  display: flex;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .salesDesignIntro {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .salesDesignIntro {
      display: block;
      margin: 30px 0 80px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  @media only screen and (max-width: 769px) {
    .salesDesignIntro_image img {
      width: 100%;
      height: auto; } }
  .salesDesignIntro_content {
    background-color: #2c52a9;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 500px); }
    @media only screen and (max-width: 769px) {
      .salesDesignIntro_content {
        width: 100%; } }
    .salesDesignIntro_content p {
      line-height: 1.8461538462;
      color: #fff;
      font-weight: bold;
      letter-spacing: -.05em;
      font-size: 2.6rem; }
      @media only screen and (max-width: 769px) {
        .salesDesignIntro_content p {
          font-size: 1.95rem; } }
      @media only screen and (max-width: 769px) {
        .salesDesignIntro_content p {
          font-size: 1.6rem;
          text-align: center;
          padding: 20px 0; } }

/** salesDesignSection
/**************************************/
.salesDesignSection {
  margin-bottom: 70px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .salesDesignSection {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .salesDesignSection {
      margin-bottom: 50px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .salesDesignSection_head {
    text-align: center;
    margin-bottom: 70px; }
    @media only screen and (max-width: 769px) {
      .salesDesignSection_head {
        margin-bottom: 25px; } }
    .salesDesignSection_head em {
      width: 98px;
      height: 98px;
      margin: 0 auto 20px;
      background-color: #2c52a9;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      font-size: 4.5rem;
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      -o-border-radius: 50%;
      -ms-border-radius: 50%;
      -khtml-border-radius: 50%;
      border-radius: 50%;
      font-family: 'Lato', sans-serif;
      font-weight: 400; }
      @media only screen and (max-width: 769px) {
        .salesDesignSection_head em {
          width: 60px;
          height: 60px;
          font-size: 3.2rem;
          margin-bottom: 10px; } }
    .salesDesignSection_head p {
      font-weight: bold;
      font-size: 3.4rem; }
      @media only screen and (max-width: 769px) {
        .salesDesignSection_head p {
          font-size: 2.55rem; } }
  .salesDesignSection_lead {
    text-align: center;
    margin-top: -20px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .salesDesignSection_lead {
        font-size: 1.2rem; } }
  .salesDesignSection_image {
    margin-top: 40px; }
    @media only screen and (max-width: 769px) {
      .salesDesignSection_image {
        margin-top: 20px; }
        .salesDesignSection_image img {
          width: 100%;
          height: auto; } }
  .salesDesignSection_result {
    margin-top: 60px;
    padding-top: 50px;
    color: #2c52a9;
    font-weight: bold;
    text-align: center;
    position: relative;
    border-top: 2px solid #2c52a9;
    font-size: 3rem; }
    @media only screen and (max-width: 769px) {
      .salesDesignSection_result {
        font-size: 2.25rem; } }
    @media only screen and (max-width: 769px) {
      .salesDesignSection_result {
        margin-top: 30px;
        padding-top: 25px;
        font-size: 1.7rem; } }
    .salesDesignSection_result:before {
      content: "";
      position: absolute;
      top: -2px;
      left: 50%;
      margin-left: -16px;
      border: 13px solid transparent;
      border-top: 13px solid #FFF;
      z-index: 2; }
    .salesDesignSection_result:after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      margin-left: -17px;
      border: 14px solid transparent;
      border-top: 14px solid #2c52a9;
      z-index: 1; }

/** salesDesignColumn2
/**************************************/
.salesDesignColumn2 {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 769px) {
    .salesDesignColumn2 {
      display: block; } }
  .salesDesignColumn2_image {
    width: 480px; }
    @media only screen and (max-width: 769px) {
      .salesDesignColumn2_image {
        width: 100%;
        margin-bottom: 30px; }
        .salesDesignColumn2_image img {
          width: 100%;
          height: auto; } }
  .salesDesignColumn2_content {
    width: 450px; }
    @media only screen and (max-width: 769px) {
      .salesDesignColumn2_content {
        width: 100%; } }
  .salesDesignColumn2_title {
    color: #2c52a9;
    margin-bottom: 20px;
    font-size: 3.6rem; }
    @media only screen and (max-width: 769px) {
      .salesDesignColumn2_title {
        font-size: 2.7rem; } }
    @media only screen and (max-width: 769px) {
      .salesDesignColumn2_title {
        margin-bottom: 10px; } }
  .salesDesignColumn2_body {
    margin-bottom: 30px;
    line-height: 1.75;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .salesDesignColumn2_body {
        font-size: 1.2rem; } }
    .salesDesignColumn2_body:last-child {
      margin-bottom: 0; }


/** problem
/**************************************/
.exhibitionProblem {
  margin-top: 70px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .exhibitionProblem {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .exhibitionProblem {
      margin-top: 35px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .exhibitionProblem_list {
    background-color: #e9edf6;
    padding: 30px 30px 15px 20px;
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (max-width: 769px) {
      .exhibitionProblem_list {
        width: 100%;
        margin-bottom: 10px;
        padding: 15px;
        margin-top: 25px;
        display: block; } }
    .exhibitionProblem_list li {
      width: 50%;
      font-weight: bold;
      line-height: 1.6;
      margin-bottom: 10px;
      font-size: 1.4rem; }
      @media only screen and (max-width: 769px) {
        .exhibitionProblem_list li {
          font-size: 1.05rem; } }
      @media only screen and (max-width: 769px) {
        .exhibitionProblem_list li {
          padding-left: 2em;
          text-indent: -2em;
          width: 100%; } }
      .exhibitionProblem_list li:before {
        content: '●';
        margin-right: 10px;
        color: #2c52a9;
        font-size: 10px; }
      .exhibitionProblem_list li:last-child {
        margin-bottom: 0; }
  .exhibitionProblem_image {
    text-align: center;
    margin-top: 30px; }
    @media only screen and (max-width: 769px) {
      .exhibitionProblem_image {
        margin-top: 15px; }
        .exhibitionProblem_image img {
          width: 100%;
          height: auto; } }
  .exhibitionProblem_result {
    margin-top: 60px;
    padding-top: 50px;
    color: #2c52a9;
    font-weight: bold;
    text-align: center;
    position: relative;
    border-top: 2px solid #2c52a9;
    font-size: 3rem; }
    @media only screen and (max-width: 769px) {
      .exhibitionProblem_result {
        font-size: 2.25rem; } }
    @media only screen and (max-width: 769px) {
      .exhibitionProblem_result {
        margin-top: 30px;
        padding-top: 25px;
        font-size: 1.7rem; } }
    .exhibitionProblem_result rt {
      font-size: 8px;
      margin-bottom: 5px; }
      @media only screen and (max-width: 769px) {
        .exhibitionProblem_result rt {
          font-size: 6px; } }
    .exhibitionProblem_result:before {
      content: "";
      position: absolute;
      top: -2px;
      left: 50%;
      margin-left: -16px;
      border: 13px solid transparent;
      border-top: 13px solid #FFF;
      z-index: 2; }
    .exhibitionProblem_result:after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      margin-left: -17px;
      border: 14px solid transparent;
      border-top: 14px solid #2c52a9;
      z-index: 1; }

/** image
/**************************************/
.exhibitionImage {
  text-align: center;
  margin-top: 40px; }
  @media only screen and (max-width: 769px) {
    .exhibitionImage {
      margin-top: 20px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; }
      .exhibitionImage img {
        width: 100%;
        height: auto; } }

/** Service
/**************************************/
.exhibitionService {
  margin-top: 70px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .exhibitionService {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .exhibitionService {
      margin-top: 35px; } }
  .exhibitionService_list {
    background-color: #2c52a9;
    padding: 40px;
    margin-top: 50px; }
    @media only screen and (max-width: 769px) {
      .exhibitionService_list {
        padding: 20px 20px 10px;
        margin-top: 25px; } }
    .exhibitionService_list li {
      color: #fff;
      line-height: 1.25;
      text-indent: -1.3em;
      padding-left: 1.3em;
      margin-bottom: 20px;
      font-size: 2.4rem; }
      @media only screen and (max-width: 769px) {
        .exhibitionService_list li {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 769px) {
        .exhibitionService_list li {
          margin-bottom: 10px;
          font-size: 1.4rem; } }

/** Case
/**************************************/
.exhibitionCase {
  margin-top: 60px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .exhibitionCase {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .exhibitionCase {
      margin-top: 30px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .exhibitionCase .headlineLv6 {
    margin-bottom: 40px; }
    @media only screen and (max-width: 769px) {
      .exhibitionCase .headlineLv6 {
        margin-bottom: 20px; } }
  .exhibitionCase .headlineLv4 {
    margin-bottom: 30px; }
    @media only screen and (max-width: 769px) {
      .exhibitionCase .headlineLv4 {
        margin-bottom: 15px; } }
.exhibitionCase_image{
  margin-bottom:58px;
}
.exhibitionCase .headlineLv4 .half{
  width:50%;
}
@media only screen and (max-width: 769px) {
.exhibitionCase .headlineLv4 .half{
  width:100%;
}
}
.exhibitionCase ul li{
  float:left;
  margin-right:45px;
}



@media only screen and (max-width: 769px) {
  .exhibitionCase ul li{
  float:none;
  margin-right:0;
}
    .exhibitionCase_image img {
      width: 100%;
      height: auto; } }

.exhibitionCase ul li:last-child{
  margin-right:0;
}
/** Flow
/**************************************/
.exhibitionFlow {
  margin: 60px 0 80px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .exhibitionFlow {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .exhibitionFlow {
      margin: 30px 0 40px; } }
  .exhibitionFlow_image {
    margin-top: 50px; }
    @media only screen and (max-width: 769px) {
      .exhibitionFlow_image {
        margin-top: 25px; }
        .exhibitionFlow_image img {
          width: 100%;
          height: auto; } }

/** Service
/**************************************/
.officeShowroomService {
  margin-top: 90px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .officeShowroomService {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .officeShowroomService {
      margin-top: 45px; } }
  @media only screen and (max-width: 769px) {
    .officeShowroomService .headlineLv6 {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .officeShowroomService_content {
    margin-top: 60px;
    background-color: #223d99;
    padding: 60px; }
    @media only screen and (max-width: 769px) {
      .officeShowroomService_content {
        margin-top: 30px;
        padding: 30px; } }
  .officeShowroomService_image {
    text-align: center;
    margin-bottom: 60px; }
    .officeShowroomService_image img {
      width: 100%;
      height: auto; }
    @media only screen and (max-width: 769px) {
      .officeShowroomService_image {
        margin-bottom: 30px; } }
  .officeShowroomService_body {
    line-height: 2.1428571429;
    color: #fff;
    font-size: 2.1rem; }
    @media only screen and (max-width: 769px) {
      .officeShowroomService_body {
        font-size: 1.575rem; } }

/** About
/**************************************/
.officeShowroomAbout {
  margin-top: 50px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .officeShowroomAbout {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .officeShowroomAbout {
      margin-top: 25px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .officeShowroomAbout_title {
    text-align: center; }
    .officeShowroomAbout_title span {
      color: #2c52a9;
      display: block; }
      .officeShowroomAbout_title span.is-main {
        margin-bottom: 30px;
        line-height: 1.6;
        font-size: 3.6rem; }
        @media only screen and (max-width: 769px) {
          .officeShowroomAbout_title span.is-main {
            font-size: 2.7rem; } }
        @media only screen and (max-width: 769px) {
          .officeShowroomAbout_title span.is-main {
            margin-bottom: 15px; } }
      .officeShowroomAbout_title span.is-sub {
        line-height: 1.6;
        font-size: 2.4rem; }
        @media only screen and (max-width: 769px) {
          .officeShowroomAbout_title span.is-sub {
            font-size: 1.8rem; } }
  .officeShowroomAbout_wrap {
    margin-top: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media only screen and (max-width: 769px) {
      .officeShowroomAbout_wrap {
        display: block;
        margin-top: 25px; } }
  .officeShowroomAbout_body {
    width: 620px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .officeShowroomAbout_body {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .officeShowroomAbout_body {
        width: 100%; } }
  @media only screen and (max-width: 769px) {
    .officeShowroomAbout_image {
      text-align: center;
      margin-top: 20px; }
      .officeShowroomAbout_image img {
        width: 100%;
        height: auto; } }

/** Case
/**************************************/
.officeShowroomCase {
  margin: 60px 0 100px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .officeShowroomCase {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .officeShowroomCase {
      margin: 30px 0 50px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .officeShowroomCase .headlineLv6 span {
    display: block; }
  .officeShowroomCase_wrap {
    display: flex;
    margin-top: 60px;
    justify-content: space-between; }
    @media only screen and (max-width: 769px) {
      .officeShowroomCase_wrap {
        margin-top: 30px;
        display: block; } }
  .officeShowroomCase_image img {
    width: 100%;
    height: auto; }
  @media only screen and (max-width: 769px) {
    .officeShowroomCase_image {
      margin-bottom: 20px; } }
  .officeShowroomCase_content {
    width: 450px; }
    @media only screen and (max-width: 769px) {
      .officeShowroomCase_content {
        width: 100%; } }
  .officeShowroomCase_name {
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .officeShowroomCase_name {
        font-size: 1.35rem; } }
  .officeShowroomCase_title {
    line-height: 1.8636363636;
    font-weight: bold;
    font-size: 2.2rem; }
    @media only screen and (max-width: 769px) {
      .officeShowroomCase_title {
        font-size: 1.65rem; } }
    @media only screen and (max-width: 769px) {
      .officeShowroomCase_title br {
        display: none; } }
  .officeShowroomCase_button {
    height: 80px;
    line-height: 80px;
    text-align: center;
    margin-top: 40px; }
    @media only screen and (max-width: 769px) {
      .officeShowroomCase_button {
        height: 40px;
        line-height: 40px;
        margin-top: 20px; } }
    .officeShowroomCase_button a {
      background: #2c52a9;
      color: #fff;
      font-weight: bold;
      display: block;
      text-decoration: none;
      position: relative;
      -moz-border-radius: 3px;
      -webkit-border-radius: 3px;
      -o-border-radius: 3px;
      -ms-border-radius: 3px;
      -khtml-border-radius: 3px;
      border-radius: 3px;
      font-size: 1.6rem; }
      @media only screen and (max-width: 769px) {
        .officeShowroomCase_button a {
          font-size: 1.2rem; } }
      .officeShowroomCase_button a i {
        display: block;
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -5px;
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        height: 5px;
        width: 50px; }
        .officeShowroomCase_button a i:before {
          display: block;
          content: '';
          background: #fff;
          height: 1px;
          width: 50px;
          position: absolute;
          transform: translateY(5px); }
        .officeShowroomCase_button a i:after {
          display: block;
          content: '';
          background: #fff;
          height: 1px;
          width: 7px;
          position: absolute;
          top: 0px;
          bottom: 0;
          margin: auto;
          right: 0px;
          transform: translateY(0px) rotate(45deg); }
          @media only screen and (max-width: 769px) {
            .officeShowroomCase_button a i:after {
              width: 7px;
              transform: translate(1px, 1px) rotate(45deg); } }
      .desktop .officeShowroomCase_button a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .officeShowroomCase_button a:hover {
          opacity: .7; }



/** offset
/**************************************/
.hero_panel.is-wide {
  width: 500px; }
  @media only screen and (max-width: 769px) {
    .hero_panel.is-wide {
      width: 90%; } }

.heroIntroduction.is-narrow {
  padding: 50px 0 0 50px; }
  @media only screen and (max-width: 769px) {
    .heroIntroduction.is-narrow {
      padding: 20px 15px; } }


.hero_panel.is-line2 {
  width: 500px; }
  @media only screen and (max-width: 769px) {
    .hero_panel.is-line2 {
      width: 90%; } }
  .hero_panel.is-line2 span.is-title {
    display: block;
    line-height: 1.8; }

.serviceRelationBanner {
  margin-top: 40px;
  padding: 15px;
  background: #fff;
  text-decoration: none;
  position: relative;
  border: 1px solid #2c52a9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1.4;
  font-size: 1.6rem;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  -khtml-border-radius: 5px;
  border-radius: 5px; }
  @media only screen and (max-width: 769px) {
    .serviceRelationBanner {
      display: block; } }
  .desktop .serviceRelationBanner {
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    .desktop .serviceRelationBanner:hover {
      background-color: #2c52a9; }
      .desktop .serviceRelationBanner:hover .serviceRelationBanner_title {
        color: #fff; }
      .desktop .serviceRelationBanner:hover .serviceRelationBanner_body {
        color: #fff; }
  .serviceRelationBanner_image {
    width: 264px; }
    @media only screen and (max-width: 769px) {
      .serviceRelationBanner_image {
        width: 100%;
        text-align: center;
        margin-bottom: 15px; } }
  .serviceRelationBanner_content {
    width: 670px; }
    @media only screen and (max-width: 769px) {
      .serviceRelationBanner_content {
        width: 100%; } }
  .serviceRelationBanner_title {
    font-weight: bold;
    margin-bottom: 20px;
    color: #2c52a9;
    font-size: 2.2rem; }
    @media only screen and (max-width: 769px) {
      .serviceRelationBanner_title {
        font-size: 1.65rem; } }
    @media only screen and (max-width: 769px) {
      .serviceRelationBanner_title {
        margin-bottom: 10px; } }
  .serviceRelationBanner_body {
    color: #000;
    font-size: 1.4rem; }
    @media only screen and (max-width: 769px) {
      .serviceRelationBanner_body {
        font-size: 1.05rem; } }

.heroIntroduction_title {
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
  font-size: 2.4rem; }
  @media only screen and (max-width: 769px) {
    .heroIntroduction_title {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 769px) {
    .heroIntroduction_title {
      margin: 20px 0 25px; } }

/** display
/**************************************/
.onlyTabletMobile {
  display: block; }
  @media only screen and (min-width: 768px) {
    .onlyTabletMobile {
      display: none; } }

.onlyMobile {
  display: block; }
  @media only screen and (min-width: 768px) and (max-width: 1299px) {
    .onlyMobile {
      display: none; } }
  .tablet .onlyMobile {
    display: none; }
  @media only screen and (min-width: 768px) {
    .onlyMobile {
      display: none; } }

.onlyTablet {
  display: none; }
  @media only screen and (min-width: 768px) and (max-width: 1299px) {
    .onlyTablet {
      display: block; } }
  .tablet .onlyTablet {
    display: block; }
  @media only screen and (min-width: 768px) {
    .onlyTablet {
      display: none; } }

.onlyDesktop {
  display: none; }
  @media only screen and (min-width: 768px) and (max-width: 1299px) {
    .onlyDesktop {
      display: none; } }
  .tablet .onlyDesktop {
    display: none; }
  @media only screen and (min-width: 768px) {
    .onlyDesktop {
      display: block; } }

/** margin
/**************************************/
.mt-1 {
  margin-top: 10px; }
  @media only screen and (max-width: 768px) {
    .mt-1 {
      margin-top: 5px; } }

.mt-2 {
  margin-top: 20px; }
  @media only screen and (max-width: 768px) {
    .mt-2 {
      margin-top: 10px; } }

.mt-3 {
  margin-top: 30px; }
  @media only screen and (max-width: 768px) {
    .mt-3 {
      margin-top: 15px; } }

.mt-4 {
  margin-top: 40px; }
  @media only screen and (max-width: 768px) {
    .mt-4 {
      margin-top: 20px; } }

.mt-5 {
  margin-top: 50px; }
  @media only screen and (max-width: 768px) {
    .mt-5 {
      margin-top: 25px; } }

.mt-6 {
  margin-top: 60px; }
  @media only screen and (max-width: 768px) {
    .mt-6 {
      margin-top: 30px; } }

.mt-7 {
  margin-top: 70px; }
  @media only screen and (max-width: 768px) {
    .mt-7 {
      margin-top: 35px; } }

.mt-8 {
  margin-top: 80px; }
  @media only screen and (max-width: 768px) {
    .mt-8 {
      margin-top: 40px; } }

.mt-9 {
  margin-top: 90px; }
  @media only screen and (max-width: 768px) {
    .mt-9 {
      margin-top: 45px; } }

.mt-10 {
  margin-top: 100px; }
  @media only screen and (max-width: 768px) {
    .mt-10 {
      margin-top: 50px; } }

.mt-11 {
  margin-top: 110px; }
  @media only screen and (max-width: 768px) {
    .mt-11 {
      margin-top: 50px; } }

.mt-12 {
  margin-top: 120px; }
  @media only screen and (max-width: 768px) {
    .mt-12 {
      margin-top: 50px; } }

.mt-13 {
  margin-top: 130px; }
  @media only screen and (max-width: 768px) {
    .mt-13 {
      margin-top: 50px; } }

.mt-14 {
  margin-top: 140px; }
  @media only screen and (max-width: 768px) {
    .mt-14 {
      margin-top: 50px; } }

.mt-15 {
  margin-top: 150px; }
  @media only screen and (max-width: 768px) {
    .mt-15 {
      margin-top: 50px; } }

.mt-20 {
  margin-top: 200px; }
  @media only screen and (max-width: 768px) {
    .mt-20 {
      margin-top: 50px; } }

@media only screen and (max-width: 768px) {
  .mt-sm-1 {
    margin-top: 10px; } }

@media only screen and (max-width: 768px) {
  .mt-sm-2 {
    margin-top: 20px; } }

@media only screen and (max-width: 768px) {
  .mt-sm-3 {
    margin-top: 30px; } }

@media only screen and (max-width: 768px) {
  .mt-sm-4 {
    margin-top: 40px; } }

@media only screen and (max-width: 768px) {
  .mt-sm-5 {
    margin-top: 50px; } }

@media only screen and (max-width: 768px) {
  .mt-sm-6 {
    margin-top: 60px; } }

@media only screen and (max-width: 768px) {
  .mt-sm-7 {
    margin-top: 70px; } }

@media only screen and (max-width: 768px) {
  .mt-sm-8 {
    margin-top: 80px; } }

@media only screen and (max-width: 768px) {
  .mt-sm-9 {
    margin-top: 90px; } }

@media only screen and (max-width: 768px) {
  .mt-sm-10 {
    margin-top: 100px; } }

.mb-6 {
  margin-bottom: 60px; }
  @media only screen and (max-width: 768px) {
    .mb-6 {
      margin-bottom: 30px; } }

.m-auto {
  margin-left: auto;
  margin-right: auto; }

@media only screen and (max-width: 768px) {
  .wrap-mobile {
    width: 92.9319371728%;
    margin-left: auto;
    margin-right: auto; } }

/** width
/**************************************/
.w-635 {
  width: 635px; }
  @media only screen and (max-width: 768px) {
    .w-635 {
      width: 100%; } }

.w-630 {
  width: 630px; }
  @media only screen and (max-width: 768px) {
    .w-630 {
      width: 100%; } }

.w-540 {
  width: 540px; }
  @media only screen and (max-width: 768px) {
    .w-540 {
      width: 100%; } }

.w-520 {
  width: 520px; }
  @media only screen and (max-width: 768px) {
    .w-520 {
      width: 100%; } }

.w-500 {
  width: 500px; }
  @media only screen and (max-width: 768px) {
    .w-500 {
      width: 100%; } }

.w-470 {
  width: 470px; }
  @media only screen and (max-width: 768px) {
    .w-470 {
      width: 100%; } }

.w-450 {
  width: 450px; }
  @media only screen and (max-width: 768px) {
    .w-450 {
      width: 100%; } }

.w-440 {
  width: 440px; }
  @media only screen and (max-width: 768px) {
    .w-440 {
      width: 100%; } }

.w-430 {
  width: 430px; }
  @media only screen and (max-width: 768px) {
    .w-430 {
      width: 100%; } }

.w-400 {
  width: 400px; }
  @media only screen and (max-width: 768px) {
    .w-400 {
      width: 100%; } }

.w-390 {
  width: 390px; }
  @media only screen and (max-width: 768px) {
    .w-390 {
      width: 100%; } }

.w-380 {
  width: 380px; }
  @media only screen and (max-width: 768px) {
    .w-380 {
      width: 100%; } }

.w-330 {
  width: 330px; }
  @media only screen and (max-width: 768px) {
    .w-330 {
      width: 100%; } }

.w-320 {
  width: 320px; }
  @media only screen and (max-width: 768px) {
    .w-320 {
      width: 100%; } }

.w-300 {
  width: 300px; }
  @media only screen and (max-width: 768px) {
    .w-300 {
      width: 100%; } }

.w-290 {
  width: 290px; }
  @media only screen and (max-width: 768px) {
    .w-290 {
      width: 100%; } }

/** font size
/**************************************/
.font-28 {
  font-size: 2.8rem; }
  @media only screen and (max-width: 768px) {
    .font-28 {
      font-size: 2.1rem; } }

.font-23 {
  font-size: 2.3rem; }
  @media only screen and (max-width: 768px) {
    .font-23 {
      font-size: 1.725rem; } }

.font-20 {
  font-size: 2rem; }
  @media only screen and (max-width: 768px) {
    .font-20 {
      font-size: 1.5rem; } }

.font-18 {
  font-size: 1.8rem; }
  @media only screen and (max-width: 768px) {
    .font-18 {
      font-size: 1.35rem; } }

.font-16 {
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .font-16 {
      font-size: 1.2rem; } }

.font-15 {
  font-size: 1.5rem; }
  @media only screen and (max-width: 768px) {
    .font-15 {
      font-size: 1.125rem; } }

.font-14 {
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .font-14 {
      font-size: 1.05rem; } }

.font-13 {
  font-size: 1.3rem; }
  @media only screen and (max-width: 768px) {
    .font-13 {
      font-size: 0.975rem; } }

/** font color
/**************************************/
.font-blue {
  color: #2c52a9; }

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

.text-underline {
  text-decoration: underline; }

/** image
/**************************************/
.backface {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/* other */
iframe.wp-embedded-content .wp-embed-footer {
  display: none !important;
}



/**2019/08/16追加******採用サイト**新卒エントリー************/

.newgr{
  margin:auto;
  width:450px;
}
.newgr .mt-6{
  margin-bottom:20px;
}
.newgr .ttxt{
  margin:20px 0;
}
.newgr h3{
  display: block;
  padding:5px 0;
  background: #eee;
  font-size: 110%;
  font-weight: bold;
}

.newgr p{
  line-height: 2.3;
  margin-bottom: 20px;
}

.newgr label span{
  width:100%;
  font-size:1.6rem;
}

.newgr .wpcf7-form-control{
  width:90%;
  padding:5px;
  margin-bottom: 5px;

}

.newgr input[type="submit"] {
 -webkit-appearance: none;
}

.newgr .wpcf7-form-control.wpcf7-submit{
  width:100%;
  padding:20px;
  font-size: 120%;
  cursor: pointer;
}

.newgr .checkbox-kibou{
  margin:0;
  line-height: 2;
}
.newgr .wpcf7-form-control.grad-year,
.newgr .wpcf7-form-control.grad-month{
}
@media only screen and (max-width: 768px) {
  .newgr{
  margin:auto;
  width:80%;
}
.newgr .ttxt{
  margin:20px 0;
}

.newgr p{
  line-height: 2.3;
  margin-bottom: 20px;
}

.newgr label span{
  width:100%;
  font-size:1.6rem;
}

.newgr .wpcf7-form-control{
  width:90%;
  padding:5px;
  margin-bottom: 5px;

}

.newgr .wpcf7-form-control.wpcf7-submit{
  width:100%;
  padding:18px;
}
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.clearfix:before {
　　　　content: "";
  display: block;
  clear: both;
}

.clearfix {
  display: block;
}

.bl_tgt{
  background-image: url(https://d-delight.jp/assets/img/common/blank_w.png);
  background-position:center right;
  background-repeat: no-repeat;
  padding-right:22px;
  display: inline-block;
 }

/***contpp----add191023********************************/


.cppProblem {
  margin-top: 70px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .cppProblem {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .cppProblem {
      margin-top: 35px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .cppProblem_list {

    padding: 30px 0;
    margin-top: 50px; }
    @media only screen and (max-width: 769px) {
      .cppProblem_list {
        width: 100%;
        margin-bottom: 10px;
        padding: 15px;
        margin-top: 25px; } }
    .cppProblem_list li {
    /*list-style: none;*/
    float:left;
    width:32.5%;
    background:#e9edf6 url("/assets/img/cpp/ch_mrk.png") top 20px center no-repeat;
    padding:110px 20px 20px 20px ;
      font-weight: bold;
      line-height: 1.7;
    min-height:250px;
    margin-left:10px;
      margin-bottom: 10px;
      font-size: 1.6rem;
    text-align: center;
}
.cppProblem_list li:first-child{
  margin-left:0;
}
      @media only screen and (max-width: 769px) {
     .cppProblem_list li {
    /*list-style: none;*/
    float:left;
    width:90%;
    background:#e9edf6 url("/assets/img/cpp/ch_mrk.png") top 20px center no-repeat;
    padding:110px 20px 20px 20px ;
      font-weight: bold;
      line-height: 1.6;
    min-height:250px;
    margin-left:0;
      margin-bottom: 10px;
      font-size: 1.4rem;
    text-align: center;
}


        .cppProblem_list li {
      float:none;
      width:100%;
      padding:110px 20px 10px;
      min-height:50px;
          font-size: 1.2rem; } }
      @media only screen and (max-width: 769px) {
        .cppProblem_list li {
          /*padding-left: 0;*/
          text-indent: 0; } }
      /*.cppProblem_list li:before {
        content: '●';
        margin-right: 10px;
        color: #2c52a9;
        font-size: 10px; }*/
      .cppProblem_list li:last-child {
        margin-bottom: 0; }
  .cppProblem .strategyProblem_result {
    font-size: 2.7rem; }
    @media only screen and (max-width: 769px) {
      .cppProblem .strategyProblem_result {
        font-size: 2.025rem; } }
    @media only screen and (max-width: 769px) {
      .cppProblem .strategyProblem_result {
        font-size: 1.4rem; } }

/** cpp WHY?
/**************************************/
.cppSection {
  margin-top: 100px; }
  @media only screen and (max-width: 769px) {
    .cppSection {
      margin-top: 50px; } }
.bg-gray{
  padding-top:50px;
  background:#ecf1f7 url("/assets/img/cpp/cpp_why_bg_bottom.png")  bottom center no-repeat;
  background-size: contain;
  padding-bottom:100px;
}

.causetxt{
  text-align: center;
  font-weight: bold;
  font-size:2.5rem;
  margin:30px 0;
}
.causetxt span{
  display: inline-block;
  width:1000px;
  font-size:1.8rem;
  margin-bottom: 30px;
}
@media only screen and (max-width: 769px) {
.causetxt{
  text-align: center;
  font-weight: bold;
  font-size:1.8rem;
  margin:30px 0;
}
.causetxt span{
  display: inline-block;
  width:90%;
  font-size:1.4rem;
  margin-bottom: 30px;
}
.whyimg{
  text-align: center;
  max-width: 100%;
  margin-bottom: 30px;
  margin:0 4% 30px ;
}

}
.causetxt.large span{
  display: inline-block;
  width:1000px;
  font-size:2.2rem;
  margin-bottom: 30px;
  color:#2c52a9;
}
@media only screen and (max-width: 769px) {
.causetxt.large span{
  display: inline-block;
  width:90%;
  font-size:1.8rem;
  margin-bottom: 30px;
}
  .whyimg img{
  width:100%;
  height:auto;
}
}
.whyimg{
  text-align: center;
  max-width: 100%;
  margin-bottom: 30px;
}

/** cpp point
/**************************************/
.cppPoint{
  width:100%;
  background: #f6f6f6;
  margin-top:50px;

}
.rightImg{
  width:100%;
  padding:4% 50% 50px 30px ;
  padding-right:50%;
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: top right;
    min-height: 30em;
}
.leftImg{
  width:100%;
  padding:4% 30px 50px 50%;
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: top left;
  min-height: 30em;
}
.cppPoint p span{
  display: inline-block;
  font-weight: bold;
  margin-bottom:2em;
  color:#2E54A7;
  font-size:1.6rem;
}

.rightImg p{
  display: inline-block;
  text-align: left;
  padding-left: 40%;
  padding-right:15%;
  font-size:1.5rem;
}
.leftImg p{
  display: inline-block;
  padding-left: 25%;
  padding-right:35%;
  text-align: left;
  font-size:1.5rem;
}
.rightImg.vol01 p{
  background-image: url("/assets/img/cpp/point01.png");
  background-repeat: no-repeat;
  background-position: left 25% center;
}
.leftImg.vol02 p{
  background-image: url("/assets/img/cpp/point02.png");
  background-repeat: no-repeat;
  background-position: left 10% center;
}
.rightImg.vol03 p{
  background-image: url("/assets/img/cpp/point03.png");
  background-repeat: no-repeat;
  background-position: left 25% center;
}

.cppPoint .vol01{
  background-image:url("/assets/img/cpp/point_img01.png");
}

.cppPoint .vol02{
  background-image:url("/assets/img/cpp/point_img02.png");
}

.cppPoint .vol03{
  background-image:url("/assets/img/cpp/point_img03.jpg");
}

@media only screen and (max-width: 769px) {

  .cppPoint{
  width:100%;
  background: #f6f6f6;
  margin-top:50px;

}
.rightImg{
  width:100%;
  padding:55% 10px 30px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
    min-height: 0;
}
.leftImg{
  width:100%;
  padding:55% 10px 30px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  min-height: 0;
}
.cppPoint p span{
  display: inline-block;
  font-weight: bold;
  margin-bottom:1em;
  color:#2E54A7;
  font-size:1.5rem;
}

.rightImg p{
  display: inline-block;
  text-align: left;
  padding-left: 100px;
  padding-right:0;
  font-size:1.3rem;
}
.leftImg p{
  display: inline-block;
  padding-left: 100px;
  padding-right:0;
  text-align: left;
}

.rightImg.vol01 p{
  background-image: url("/assets/img/cpp/point01.png");
  background-repeat: no-repeat;
  background-position: left 2% center;
}
.leftImg.vol02 p{
  background-image: url("/assets/img/cpp/point02.png");
  background-repeat: no-repeat;
  background-position: left 2% center;
}
.rightImg.vol03 p{
  background-image: url("/assets/img/cpp/point03.png");
  background-repeat: no-repeat;
  background-position: left 2% center;
}
}

/** cpp Output
/**************************************/
.cppOutput{
  padding:50px 10%;
}

.cppOutput .imgBox{
  max-width:100%;
  border:#ccc 1px solid;
}

.cppOutput img{
  width:100%;
  height:auto;
}

.cppOutput ul{
  width:1000px;
  margin:auto;
}
.cppOutput li{
  float:left;
  max-width:47%;
  margin-left: 6%;
  margin-bottom:50px;

}
@media only screen and (max-width: 769px) {
.cppOutput ul{
  width:100%;
  margin:auto;
}

  .cppOutput li{
  float:none;
  max-width:100%;
  margin-left:0;
  margin-bottom:50px;
}
}
.cppOutput li:nth-child(odd){
  margin-left: 0;
}

.cppOutput li .txtBox{
  padding:20px;
  background:#2E54A7;
  min-height: 350px;
  margin-top:-1em;
}
.cppOutput li .cate{
  display: inline-block;
  background-color: #fff;
  padding:5px 10px;
  color:#2E54A7;
  font-weight: bold;
  margin: 30px 0 20px 0 ;
}
@media only screen and (max-width: 769px) {
.cppOutput li .txtBox{
  padding:20px;
  background:#2E54A7;
  min-height:auto;
  margin-top:-1em;
}
}

.cppOutput li p{
  color:#fff;
}
.cppOutput li p span{
  display: inline-block;
  font-weight: bold;
  margin-bottom: 1em;
  font-size: 1.6rem;
}

.cppOutput li.otherBox{
  background-color: #ecf1f7;
  color:#2E54A7;
  margin-top:10%;
  padding:30px;
  width:100%;
}
.cppOutput li.otherBox p{
  font-weight: bold;
  font-size:1.6rem;
  color:#2E54A7;
  margin-bottom: 2em;
}


.cppOutput li.otherBox li{
  float:none;
  max-width:100%;
  margin-left: 0;
  margin-bottom:0;
  line-height:2;
  font-size:1.5rem;
}
@media only screen and (max-width: 769px) {
.cppOutput li.otherBox li{
  float:none;
  max-width:100%;
  margin-left: 0;
  margin-bottom:0;
  line-height:2;
  font-size:1.2rem;
}

}
/** cpp Otorikumi
/**************************************/
.cppTorikumi{
  text-align: center;


}

.cppTorikumi h3{
  font-weight: bold;
  font-size:1.8rem;
  margin:50px 0;
}
.cppTorikumi h3 img{
  width:auto;
  height:1.7em;
  margin:0 10px 0 0;
}
.cppTorikumi h3 p{
  margin-top:-1em;
}
.cppTorikumi ul{
  width:1000px;
  margin:auto;
  padding:30px 0px 30px 70px;
  border:#e7e7e7 1px solid;
}
.cppTorikumi li{
  float:left;
  width:33%;
  padding-right:8%;
  background: url("/assets/img/cpp/cpp_bluarrow.png") center right 40px no-repeat;
  min-height:170px;
}
@media only screen and (max-width: 769px) {
.cppTorikumi ul{
  width:90%;
  margin:auto;
  padding:30px;
}

  .cppTorikumi li{
  float:none;
  width:70%;
  padding:0 0 15%;
  background: url("/assets/img/cpp/cpp_bluarrow_bottom.png") center bottom 20px no-repeat;
  min-height:100px;
  margin:auto;
}
}

.cppTorikumi li:last-child{
  background: none;
}


.cppTorikumi li p span{
  display: block;
  font-weight: bold;
  color:#2E54A7;
  font-size:2.0rem;
  margin-bottom: 1em;
}

.cppTorikumi li p{
  text-align: left;
  font-size:1.4rem;
}

/** BtoB Contact
/**************************************/
.cppContact {
  background-color: #2c52a9;
  margin-top: 40px;
  padding: 60px 0; }
  @media only screen and (max-width: 769px) {
    .cppContact {
      margin-top: 20px;
      padding: 30px 0; } }
  .cppContact_headline {
    border: 3px solid #fff;
    text-align: center;
    padding: 12px 0;
    font-weight: bold;
    margin-bottom: 50px;
    color: #fff;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
      .cppContact_headline {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 769px) {
      .cppContact_headline {
        padding: 8px 0;
        margin-bottom: 25px;
        font-size: 1.2rem;
        border-top-width: 2px;
        border-bottom-width: 2px;
        border-right: none;
        border-left: none; } }
  .cppContact_wrap {
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 769px) {
      .cppContact_wrap {
        width: 100%; } }
    @media only screen and (max-width: 769px) {
      .cppContact_wrap {
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
  .cppContactBox {
    background-color: #fff;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px; }
    @media only screen and (max-width: 769px) {
      .cppContactBox {
        display: block;
        padding: 10px 20px 20px 20px; } }
    .cppContactBox_content {
      width: 620px; }
      @media only screen and (max-width: 769px) {
        .cppContactBox_content {
          width: 100%; } }
    .cppContactBox_title {
      font-weight: bold;
      color: #2c52a9;
      margin: 5px 0 20px;
      font-size: 2.6rem; }
      @media only screen and (max-width: 769px) {
        .cppContactBox_title {
          font-size: 1.95rem; } }
      @media only screen and (max-width: 769px) {
        .cppContactBox_title {
          margin: 5px 0 10px;
          line-height: 1.6; } }
    .cppContactBox_body {
      font-size: 1.6rem; }
      @media only screen and (max-width: 769px) {
        .cppContactBox_body {
          font-size: 1.2rem; } }
    .cppContactBox_button {
      display: flex;
      justify-content: space-between;
      margin-top: 20px; }
      @media only screen and (max-width: 769px) {
        .cppContactBox_button {
          margin-top: 12.5px; } }
      .cppContactBox_button a {
        width: 100%;
        position: relative;
        padding: 15px 0;
        text-align: center;
        text-decoration: none;
        background-color: #2c52a9;
        font-weight: bold;
        justify-content: center;
        display: flex;
        align-items: center;
        color: #fff;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
        -o-border-radius: 3px;
        -ms-border-radius: 3px;
        -khtml-border-radius: 3px;
        border-radius: 3px;
        font-size: 2.2rem; }
        @media only screen and (max-width: 769px) {
          .cppContactBox_button a {
            font-size: 1.65rem; } }
        @media only screen and (max-width: 769px) {
          .cppContactBox_button a {
            font-size: 1.2rem;
            padding: 10px 0; } }
        .desktop .cppContactBox_button a {
          -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
          .desktop .cppContactBox_button a:hover {
            opacity: .7; }
        .cppContactBox_button a .arrow {
          position: absolute;
          right: 15px;
          top: calc(50% - 0);
          height: 5px;
          width: 30px;
          -webkit-transform: scale(1.2);
          -moz-transform: scale(1.2);
          -ms-transform: scale(1.2);
          -o-transform: scale(1.2);
          transform: scale(1.2); }
          .cppContactBox_button a .arrow:before {
            display: block;
            content: '';
            background: #fff;
            height: 1px;
            width: 30px;
            position: absolute;
            transform: translateY(5px); }
          .cppContactBox_button a .arrow:after {
            display: block;
            content: '';
            background: #fff;
            height: 1px;
            width: 7px;
            position: absolute;
            top: 0px;
            bottom: 0;
            margin: auto;
            right: 0px;
            transform: translateY(0px) rotate(45deg); }
            @media only screen and (max-width: 769px) {
              .cppContactBox_button a .arrow:after {
                width: 7px;
                transform: translate(1px, 1px) rotate(45deg); } }
          @media only screen and (max-width: 769px) {
            .cppContactBox_button a .arrow {
              display: none; } }
        .cppContactBox_button a .icon {
          margin-right: 20px;
          width: 28px;
          height: 35px;
          display: block;
          background-repeat: no-repeat;
          background-position: left top;
          background-size: contain;
          background-image: url("/assets/img/common/icon_download.png"); }
          @media only screen and (max-width: 769px) {
            .cppContactBox_button a .icon {
              width: 15px;
              height: 18px;
              margin-right: 10px; } }
    @media only screen and (max-width: 769px) {
      .cppContactBox_image {
        margin-top: 20px;
        text-align: center; }
        .cppContactBox_image img {
          width: 100%;
          height: auto; } }
  .cppContactInfo {
    margin-top: 30px;
    color: #fff; }
    @media only screen and (max-width: 769px) {
      .cppContactInfo {
        margin-top: 15px; } }
    .cppContactInfo_text {
      font-weight: bold;
      font-size: 1.8rem; }
      @media only screen and (max-width: 769px) {
        .cppContactInfo_text {
          font-size: 1.35rem; } }
    .cppContactInfo_wrap {
      margin-top: 20px;
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 769px) {
        .cppContactInfo_wrap {
          margin-top: 10px;
          display: block; } }
    .cppContactInfo_tel {
      margin: 0 10px 20px 0;
      font-weight: bold;
      line-height: 1;
      font-size: 5.4rem; }
      @media only screen and (max-width: 769px) {
        .cppContactInfo_tel {
          font-size: 4.05rem; } }
      @media only screen and (max-width: 769px) {
        .cppContactInfo_tel {
          font-size: 3.4rem;
          display: block;
          margin-bottom: 15px; } }
      @media screen and (max-width: 320px) {
        .cppContactInfo_tel {
          font-size: 3.2rem; } }
      .cppContactInfo_tel:before {
        vertical-align: bottom;
        margin-right: 5px;
        content: '';
        width: 33px;
        height: 47px;
        display: inline-block;
        background-repeat: no-repeat;
        background-position: left top;
        background-size: cover;
        background-image: url("/assets/img/digital_marketing/icon_tel.png"); }
        @media only screen and (max-width: 769px) {
          .cppContactInfo_tel:before {
            width: 22px;
            height: 31px; } }
    .cppContactInfo_time span {
      font-weight: bold; }
      @media only screen and (max-width: 769px) {
        .cppContactInfo_time span {
          display: block;
          line-height: 1.6; } }
      .cppContactInfo_time span.is-main {
        font-size: 2rem; }
        @media only screen and (max-width: 769px) {
          .cppContactInfo_time span.is-main {
            font-size: 1.5rem; } }
      .cppContactInfo_time span.is-sub {
        margin-left: 20px;
        font-size: 1.5rem; }
        @media only screen and (max-width: 769px) {
          .cppContactInfo_time span.is-sub {
            font-size: 1.125rem; } }
    .cppContactInfo_button .arrow {
      position: absolute;
      right: 15px;
      top: calc(50% - 0);
      height: 5px;
      width: 30px;
      -webkit-transform: scale(1.2);
      -moz-transform: scale(1.2);
      -ms-transform: scale(1.2);
      -o-transform: scale(1.2);
      transform: scale(1.2); }
      .cppContactInfo_button .arrow:before {
        display: block;
        content: '';
        background: #2c52a9;
        height: 1px;
        width: 30px;
        position: absolute;
        transform: translateY(5px); }
      .cppContactInfo_button .arrow:after {
        display: block;
        content: '';
        background: #2c52a9;
        height: 1px;
        width: 7px;
        position: absolute;
        top: 0px;
        bottom: 0;
        margin: auto;
        right: 0px;
        transform: translateY(0px) rotate(45deg); }
        @media only screen and (max-width: 769px) {
          .cppContactInfo_button .arrow:after {
            width: 7px;
            transform: translate(1px, 1px) rotate(45deg); } }
      @media only screen and (max-width: 769px) {
        .cppContactInfo_button .arrow {
          display: none; } }
    .cppContactInfo_button a {
      text-decoration: none;
      width: 460px;
      padding: 35px;
      position: relative;
      text-align: center;
      text-decoration: none;
      background-color: #fff;
      font-weight: bold;
      justify-content: center;
      display: flex;
      align-items: center;
      -moz-border-radius: 3px;
      -webkit-border-radius: 3px;
      -o-border-radius: 3px;
      -ms-border-radius: 3px;
      -khtml-border-radius: 3px;
      border-radius: 3px;
      font-size: 2.2rem; }
      @media only screen and (max-width: 769px) {
        .cppContactInfo_button a {
          font-size: 1.65rem; } }
      @media only screen and (max-width: 769px) {
        .cppContactInfo_button a {
          font-size: 1.2rem;
          padding: 10px 0;
          margin-top: 20px;
          width: 100%; } }
      .desktop .cppContactInfo_button a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .cppContactInfo_button a:hover {
          opacity: .7; }

/** service
/**************************************/
.inboundService {
  margin-top: 60px;
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .inboundService {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .inboundService {
      margin-top: 30px; } }
  @media only screen and (max-width: 769px) {
    .inboundService .headlineLv6 span {
      display: block; } }
  .inboundService_headline {
    text-align: center;
    height: 130px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 50px 0 70px; }
    @media only screen and (max-width: 769px) {
      .inboundService_headline {
        height: 65px;
        margin: 25px 0 20px; } }
    .inboundService_headline span {
      text-align: center; }
      .inboundService_headline span.is-en {
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        font-size: 13.8rem;
        color: #f9f9f9;
        font-family: 'Lato', sans-serif;
        font-weight: 400;
        font-weight: 300; }
        @media only screen and (max-width: 769px) {
          .inboundService_headline span.is-en {
            font-size: 6.1rem; } }
      .inboundService_headline span.is-jp {
        font-weight: bold;
        position: relative;
        z-index: 1;
        margin-top: 20px;
        font-size: 2.4rem; }
        @media only screen and (max-width: 769px) {
          .inboundService_headline span.is-jp {
            font-size: 1.8rem; } }
        @media only screen and (max-width: 769px) {
          .inboundService_headline span.is-jp {
            margin-top: 5px; } }
  .inboundService_section {
    position: relative; }
    .inboundService_section:before {
      width: 57px;
      height: 30px;
      content: '';
      position: absolute;
      bottom: -60px;
      left: calc(50% - (57px / 2));
      display: block;
      background-repeat: no-repeat;
      background-position: left top;
      background-size: cover;
      background-image: url("/assets/img/inbound/icon_arrow_gray.svg"); }
      @media only screen and (max-width: 769px) {
        .inboundService_section:before {
          width: 42.5px;
          height: 22px;
          bottom: -50px; } }
    .inboundService_section:last-child:before {
      display: none; }
  .inboundService_title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px; }
    @media only screen and (max-width: 769px) {
      .inboundService_title {
        margin-bottom: 15px; } }
    .inboundService_title i {
      margin-right: 20px;
      background-repeat: no-repeat;
      background-position: left top;
      background-size: cover; }
      @media only screen and (max-width: 769px) {
        .inboundService_title i {
          margin-right: 10px;
          -webkit-transform: scale(0.8);
          -moz-transform: scale(0.8);
          -ms-transform: scale(0.8);
          -o-transform: scale(0.8);
          transform: scale(0.8); } }
      .inboundService_title i.is-search {
        width: 27px;
        height: 26px;
        background-image: url("/assets/img/inbound/icon_search.svg"); }
      .inboundService_title i.is-marketing {
        width: 29px;
        height: 26px;
        background-image: url("/assets/img/inbound/icon_marketing.svg"); }
      .inboundService_title i.is-promotion {
        width: 32px;
        height: 27px;
        background-image: url("/assets/img/inbound/icon_promotion.svg"); }
    .inboundService_title span {
      font-weight: bold;
      font-size: 2.4rem; }
      @media only screen and (max-width: 769px) {
        .inboundService_title span {
          font-size: 1.8rem; } }

/** flow
/**************************************/
.inboundFlow {
  display: flex;
  justify-content: space-between;
  border: 1px solid #e7e7e7;
  padding: 30px 40px;
  margin-bottom: 110px;
  position: relative; }
  @media only screen and (max-width: 769px) {
    .inboundFlow {
      display: block;
      padding: 25px 15px;
      margin-bottom: 70px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .inboundFlow_item {
    width: 245px; }
    @media only screen and (max-width: 769px) {
      .inboundFlow_item {
        margin-bottom: 50px;
        width: 100%; } }
    .inboundFlow_item:first-child .inboundFlow_title:after {
      display: none; }
    @media only screen and (max-width: 769px) {
      .inboundFlow_item:last-child {
        margin-bottom: 0; } }
  .inboundFlow_title {
    margin-bottom: 10px;
    position: relative;
    color: #2c52a9;
    text-align: center;
    font-weight: bold;
    white-space: nowrap;
    font-size: 2.1rem; }
    @media only screen and (max-width: 769px) {
      .inboundFlow_title {
        font-size: 1.575rem; } }
    .inboundFlow_title span {
      font-size: 1.2rem; }
      @media only screen and (max-width: 769px) {
        .inboundFlow_title span {
          font-size: 0.9rem; } }
    .inboundFlow_title:after {
      content: '';
      position: absolute;
      width: 23px;
      height: 12px;
      left: -63px;
      top: calc(50% + 41px);
      background-repeat: no-repeat;
      background-position: left top;
      background-size: cover;
      background-image: url("/assets/img/inbound/icon_arrow_blue.svg");
      -webkit-transform: rotate(-90deg);
      -moz-transfrom: rotate(-90deg);
      -ms-transform: rotate(-90deg);
      -o-transform: rotate(-90deg);
      transform: rotate(-90deg); }
      @media only screen and (max-width: 769px) {
        .inboundFlow_title:after {
          left: calc(50% - 10px);
          top: -30px;
          -webkit-transform: rotate(0deg);
          -moz-transfrom: rotate(0deg);
          -ms-transform: rotate(0deg);
          -o-transform: rotate(0deg);
          transform: rotate(0deg); } }
  .inboundFlow_body {
    line-height: 1.5625;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .inboundFlow_body {
        font-size: 1.2rem; } }

/** case
/**************************************/
.inboundCase {
  background-color: #f6f7fa;
  padding: 40px 0; }
  @media only screen and (max-width: 769px) {
    .inboundCase {
      padding: 20px 0 40px; } }
  .inboundCase_headline {
    height: 100px;
    text-align: center;
    position: relative;
    margin-bottom: 80px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media only screen and (max-width: 769px) {
      .inboundCase_headline {
        height: auto;
        margin-bottom: 70px; } }
    .inboundCase_headline span.is-en {
      width: 100%;
      position: absolute;
      top: 0;
      font-size: 13.8rem;
      color: #fefeff;
      font-style: italic;
      left: 0;
      font-family: 'Lato', sans-serif;
      font-weight: 400;
      font-weight: 300; }
      @media screen and (max-width: 1300px) {
        .inboundCase_headline span.is-en {
          font-size: 12rem; } }
      @media only screen and (max-width: 769px) {
        .inboundCase_headline span.is-en {
          font-size: 6.0rem;
          padding: 0 10px; } }
      @media screen and (max-width: 420px) {
        .inboundCase_headline span.is-en {
          font-size: 4.5rem; } }
    .inboundCase_headline span.is-jp {
      font-weight: bold;
      position: relative;
      z-index: 1;
      margin-top: 20px;
      font-size: 2.4rem; }
      @media only screen and (max-width: 769px) {
        .inboundCase_headline span.is-jp {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 769px) {
        .inboundCase_headline span.is-jp {
          margin-top: 50px; } }
      @media screen and (max-width: 420px) {
        .inboundCase_headline span.is-jp {
          margin-top: 30px; } }
  .inboundCase_section {
    display: flex;
    margin-bottom: 35px;
    background-color: #fff;
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 769px) {
      .inboundCase_section {
        width: 100%; } }
    @media only screen and (max-width: 769px) {
      .inboundCase_section {
        display: block;
        width: 92.9319371728%;
        margin-left: auto;
        margin-right: auto; } }
  .inboundCase_head {
    width: 130px;
    background-color: #234291;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media only screen and (max-width: 769px) {
      .inboundCase_head {
        width: 100%;
        padding: 10px 0;
        display: block; } }
    .inboundCase_head p {
      line-height: 1; }
      @media only screen and (max-width: 769px) {
        .inboundCase_head p {
          display: flex;
          justify-content: center;
          align-items: center;
          align-items: flex-end; } }
      .inboundCase_head p span {
        display: block;
        color: #fff;
        font-family: 'Lato', sans-serif;
        font-weight: 400;
        font-weight: 300; }
        .inboundCase_head p span:nth-child(1) {
          margin-bottom: 5px;
          font-size: 1.6rem; }
          @media only screen and (max-width: 769px) {
            .inboundCase_head p span:nth-child(1) {
              font-size: 1.2rem; } }
          @media only screen and (max-width: 769px) {
            .inboundCase_head p span:nth-child(1) {
              font-size: 1.5rem;
              margin-bottom: 2px;
              margin-right: 5px; } }
        .inboundCase_head p span:nth-child(2) {
          font-size: 2.7rem; }
          @media only screen and (max-width: 769px) {
            .inboundCase_head p span:nth-child(2) {
              font-size: 2.025rem; } }
          @media only screen and (max-width: 769px) {
            .inboundCase_head p span:nth-child(2) {
              font-size: 2.4rem; } }
  .inboundCase_content {
    width: calc(100% - 130px);
    padding: 60px 50px 30px;
    display: flex; }
    @media only screen and (max-width: 769px) {
      .inboundCase_content {
        display: block;
        padding: 30px 20px;
        width: 100%; } }
  .inboundCase_wrap {
    width: 350px; }
    @media only screen and (max-width: 769px) {
      .inboundCase_wrap {
        width: 100%; } }
  .inboundCase_title {
    color: #2c52a9;
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 2.1rem; }
    @media only screen and (max-width: 769px) {
      .inboundCase_title {
        font-size: 1.575rem; } }
  .inboundCase_body {
    line-height: 1.5625;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .inboundCase_body {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 769px) {
      .inboundCase_body {
        margin-bottom: 20px; } }
    @media only screen and (max-width: 769px) {
      .inboundCase_body br {
        display: none; } }
  .inboundCase_image {
    text-align: center; }
    .inboundCase_image img {
      width: 100%;
      height: auto; }

/** shop
/**************************************/
.inboundShop {
  /*position: relative;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 90px;
  padding-top: 100px;*/
  width: 1000px;
  margin:50px auto 90px;
  /*margin-left: auto;
  margin-right: auto; */}
  @media only screen and (max-width: 769px) {
    .inboundShop {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .inboundShop {
      margin-bottom: 30px;
      padding-top: 0;
      display: block; } }
  .inboundShop_content {
    position: absolute;
    background-color: #fff;
    padding: 40px 30px;
    left: -38px;
    top: 160px;
    width: 370px;
    z-index: 1; }
    @media only screen and (max-width: 769px) {
      .inboundShop_content {
        position: static;
        width: 100%;
        padding: 30px 15px; } }


.inboundShop_headline{
  margin:60px auto;
  line-height: 2.6;
font-size: 1.6rem}
.inboundShop_image{
  position:relative;
}
  .inboundShop_title {
    line-height: 1.45;
    margin-bottom: 20px;
    text-align: center;
    font-weight: bold;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
    .inboundShop_headline{
  display: block;
  width:93%;
  margin:30px auto 50px;
  line-height: 2.0;
font-size: 1.2rem}
      .inboundShop_title {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 769px) {
      .inboundShop_title br {
        display: none; } }
  .inboundShop_body {
    line-height: 1.9375;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .inboundShop_body {
        font-size: 1.2rem; } }
  @media only screen and (max-width: 769px) {
    .inboundShop_image img {
      width: 100%;
      height: auto; } }
  .inboundShopBalloon {
    position: absolute;
    right: -32px;
    top: -42px;
    text-align: center;
    background-color: #2a4ea8;
    padding-top: 40px;
    width: 175px;
    height: 175px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    -khtml-border-radius: 50%;
    border-radius: 50%; }
    @media only screen and (max-width: 769px) {
      .inboundShopBalloon {
        width: 120px;
        height: 120px;
        padding-top: 25px;
        top: -40px;
        right: 15px; } }
    .inboundShopBalloon_title {
      color: #fff;
      line-height: 1.875;
      font-size: 1.6rem; }
      @media only screen and (max-width: 769px) {
        .inboundShopBalloon_title {
          font-size: 1.2rem; } }
    .inboundShopBalloon_time {
      color: #fff;
      line-height: 1;
      font-size: 1.6rem; }
      @media only screen and (max-width: 769px) {
        .inboundShopBalloon_time {
          font-size: 1.2rem; } }
      .inboundShopBalloon_time em {
        font-style: normal;
        font-weight: bold;
        font-size: 4.3rem; }
        @media only screen and (max-width: 769px) {
          .inboundShopBalloon_time em {
            font-size: 3.225rem; } }

/** graph
/**************************************/
.inboundGraph {
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 769px) {
    .inboundGraph {
      width: 100%; } }
  @media only screen and (max-width: 769px) {
    .inboundShop .headlineLv6 span,
    .inboundGraph .headlineLv6 span {
      display: block; } }
  .inboundGraph_wrap {
    display: flex;
    margin-top: 75px; }
    @media only screen and (max-width: 769px) {
      .inboundGraph_wrap {
        margin-top: 30px;
        display: block; } }
  .inboundGraph_image {
    width: 365px;
    text-align: center; }
    @media only screen and (max-width: 769px) {
      .inboundGraph_image {
        width: 65%;
        margin: 0 auto; }
        .inboundGraph_image img {
          width: 100%;
          height: auto; } }
  @media only screen and (max-width: 769px) {
    .inboundGraph_content {
      margin-top: 35px;
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .inboundGraph_title {
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 2.4rem; }
    @media only screen and (max-width: 769px) {
      .inboundGraph_title {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 769px) {
      .inboundGraph_title {
        margin-bottom: 10px; } }
  .inboundGraph_body {
    line-height: 1.75;
    margin-bottom: 40px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 769px) {
      .inboundGraph_body {
        font-size: 1.2rem; } }
    @media only screen and (max-width: 769px) {
      .inboundGraph_body {
        margin-bottom: 30px; } }
  .inboundGraph_attention {
    margin-top: 40px;
    text-align: center;
    font-size: 1.3rem; }
    @media only screen and (max-width: 769px) {
      .inboundGraph_attention {
        font-size: 0.975rem; } }
    @media only screen and (max-width: 769px) {
      .inboundGraph_attention {
        margin-top: 0; } }

/** research
/**************************************/
.inboundReach {
  margin: 30px 0 100px; }
  @media only screen and (max-width: 769px) {
    .inboundReach {
      margin: 30px 0 0; } }
  @media only screen and (max-width: 769px) {
    .inboundReach .headlineLv6 span {
      display: block; } }
  .inboundReach_wrap {
    margin-top: 60px;
    display: flex;
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media only screen and (max-width: 769px) {
      .inboundReach_wrap {
        width: 100%; } }
    @media only screen and (max-width: 769px) {
      .inboundReach_wrap {
        margin-top: 30px;
        display: block;
        width: 100%; } }
  .inboundReach_item {
    width: 50%;
    height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
    @media only screen and (max-width: 769px) {
      .inboundReach_item {
        width: 100%;
        height: auto;
        padding-top: 50%; } }
  @media only screen and (max-width: 769px) {
    .inboundReach_core {
      width: 100%;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); } }
  .inboundReach_title {
    font-weight: bold;
    margin-bottom: 10px;
    color: #fff;
    text-align: center;
    line-height: 1;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .inboundReach_title {
        font-size: 1.35rem; } }
  .inboundReach_num {
    color: #fff;
    font-weight: bold;
    line-height: 1;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
      .inboundReach_num {
        font-size: 1.5rem; } }
    .inboundReach_num em {
      font-style: italic;
      font-family: 'Lato', sans-serif;
      font-weight: 400;
      font-size: 10rem;
      font-weight: 300; }
      @media only screen and (max-width: 769px) {
        .inboundReach_num em {
          font-size: 7.5rem; } }

/** relation
/**************************************/
.inboundRelation {
  margin-top: 100px; }
  @media only screen and (max-width: 769px) {
    .inboundRelation {
      margin-top: 50px; } }
  .inboundRelation .headlineLv6 {
    margin-bottom: 50px; }
    @media only screen and (max-width: 769px) {
      .inboundRelation .headlineLv6 {
        margin-bottom: 25px; } }

/** entry
/**************************************/
.inboundEntry {
  background-color: #2c52a9;
  margin-top: 60px;
  color: #fff;
  padding: 20px 0 40px;
  position: relative; }
  @media only screen and (max-width: 769px) {
    .inboundEntry {
      margin-top: 0;
      padding: 20px 0 20px; } }
  .inboundEntry_headline {
    border: 3px solid #fff;
    text-align: center;
    padding: 12px 0;
    font-weight: bold;
    margin-bottom: 30px;
    font-size: 2rem; }
    @media only screen and (max-width: 769px) {
      .inboundEntry_headline {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 769px) {
      .inboundEntry_headline {
        padding: 8px 0;
        margin-bottom: 25px;
        font-size: 1.2rem;
        border-top-width: 2px;
        border-bottom-width: 2px;
        border-right: none;
        border-left: none; } }
  @media only screen and (max-width: 769px) {
    .inboundEntry_wrap {
      width: 92.9319371728%;
      margin-left: auto;
      margin-right: auto; } }
  .inboundEntry_button {
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px; }
    @media only screen and (max-width: 769px) {
      .inboundEntry_button {
        margin-bottom: 12.5px; } }
    .inboundEntry_button > div {
      width: 48%; }
    .inboundEntry_button p {
      font-weight: bold;
      margin-bottom: 10px;
      font-size: 1.4rem; }
      @media only screen and (max-width: 769px) {
        .inboundEntry_button p {
          font-size: 1.05rem; } }
    .inboundEntry_button a {
      position: relative;
      padding: 0 35px;
      height: 110px;
      text-align: center;
      text-decoration: none;
      background-color: #fff;
      font-weight: bold;
      justify-content: center;
      display: flex;
      align-items: center;
      -moz-border-radius: 3px;
      -webkit-border-radius: 3px;
      -o-border-radius: 3px;
      -ms-border-radius: 3px;
      -khtml-border-radius: 3px;
      border-radius: 3px;
      font-size: 2.2rem; }
      @media only screen and (max-width: 769px) {
        .inboundEntry_button a {
          font-size: 1.65rem; } }
      @media only screen and (max-width: 769px) {
        .inboundEntry_button a {
          font-size: 1.2rem;
          padding: 10px 0;
          height: 40px; } }
      .desktop .inboundEntry_button a {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -moz-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .desktop .inboundEntry_button a:hover {
          opacity: .7; }
      .inboundEntry_button a .arrow {
        position: absolute;
        right: 15px;
        top: calc(50% - 0);
        height: 5px;
        width: 30px;
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2); }
        .inboundEntry_button a .arrow:before {
          display: block;
          content: '';
          background: #2c52a9;
          height: 1px;
          width: 30px;
          position: absolute;
          transform: translateY(5px); }
        .inboundEntry_button a .arrow:after {
          display: block;
          content: '';
          background: #2c52a9;
          height: 1px;
          width: 7px;
          position: absolute;
          top: 0px;
          bottom: 0;
          margin: auto;
          right: 0px;
          transform: translateY(0px) rotate(45deg); }
          @media only screen and (max-width: 769px) {
            .inboundEntry_button a .arrow:after {
              width: 7px;
              transform: translate(1px, 1px) rotate(45deg); } }
        @media only screen and (max-width: 769px) {
          .inboundEntry_button a .arrow {
            display: none; } }
      .inboundEntry_button a .icon {
        margin-right: 20px;
        width: 28px;
        height: 35px;
        display: block;
        background-repeat: no-repeat;
        background-position: left top;
        background-size: contain;
        background-image: url("/assets/img/digital_marketing/icon_download.png"); }
        @media only screen and (max-width: 769px) {
          .inboundEntry_button a .icon {
            width: 15px;
            height: 18px;
            margin-right: 10px; } }
  .inboundEntry_title {
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 769px) {
      .inboundEntry_title {
        font-size: 1.35rem; } }
    @media only screen and (max-width: 769px) {
      .inboundEntry_title {
        margin-bottom: 10px;
        font-size: 1.2rem;
        text-align: center; } }
  .inboundEntryTel {
    line-height: 1; }
    @media only screen and (max-width: 769px) {
      .inboundEntryTel {
        text-align: center; } }
    .inboundEntryTel span {
      font-weight: bold; }
      .inboundEntryTel span:nth-child(1) {
        margin-right: 10px;
        font-size: 5.4rem; }
        @media only screen and (max-width: 769px) {
          .inboundEntryTel span:nth-child(1) {
            font-size: 4.05rem; } }
        @media only screen and (max-width: 769px) {
          .inboundEntryTel span:nth-child(1) {
            font-size: 3.4rem;
            display: block;
            margin-bottom: 15px; } }
        @media screen and (max-width: 320px) {
          .inboundEntryTel span:nth-child(1) {
            font-size: 3.2rem; } }
        .inboundEntryTel span:nth-child(1):before {
          vertical-align: bottom;
          margin-right: 5px;
          content: '';
          width: 33px;
          height: 47px;
          display: inline-block;
          background-repeat: no-repeat;
          background-position: left top;
          background-size: cover;
          background-image: url("/assets/img/digital_marketing/icon_tel.png"); }
          @media only screen and (max-width: 769px) {
            .inboundEntryTel span:nth-child(1):before {
              width: 22px;
              height: 31px; } }
      .inboundEntryTel span:nth-child(2) {
        margin-right: 10px;
        font-size: 2rem; }
        @media only screen and (max-width: 769px) {
          .inboundEntryTel span:nth-child(2) {
            font-size: 1.5rem; } }
        @media only screen and (max-width: 769px) {
          .inboundEntryTel span:nth-child(2) {
            font-size: 1.2rem; } }
      .inboundEntryTel span:nth-child(3) {
        font-size: 1.5rem; }
        @media only screen and (max-width: 769px) {
          .inboundEntryTel span:nth-child(3) {
            font-size: 1.125rem; } }
        @media only screen and (max-width: 769px) {
          .inboundEntryTel span:nth-child(3) {
            font-size: .9rem; } }


/** 202010 nav banner
/**************************************/
.globalMenuChild_item.is-banner a {
  border-bottom: none;
}

.globalMenuChild_item.is-banner img {
  width: 100%;
  height: auto;
}

.globalMenuMobile_child li.is-banner a img {
  width: 100%;
  height: auto;
}
