@charset "UTF-8";
/* -------------------------------------------------------------------------*/
/* COMMON COLORS
/* -------------------------------------------------------------------------*/
.clr-red {
  color: #ef0000; }

/* -------------------------------------------------------------------------*/
/* -------------------------------------------------------------------------*/
/* MIXIN / ARGUMENT / COMMON CLASS
/* -------------------------------------------------------------------------*/
.default_ftz {
  font-size: 18px;
  font-size: 1.125rem; }
  @media only screen and (max-width: 980px) {
    .default_ftz {
      font-size: 16px;
      font-size: 1rem; } }

.text_out {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }

.mincho {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif; }

.uiFont {
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo UI', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif; }

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

/* -------------------------------------------------------------------------*/
/* -------------------------------------------------------------------------*/
/* SOLUTION
/* -------------------------------------------------------------------------*/
.solution_blk > figure {
  margin: 50px 0;
  padding: 0;
  text-align: center; }
  .solution_blk > figure img {
    max-width: 100%;
    height: auto; }

.solution_blk .block_1 {
  display: table;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 10px; }
  .solution_blk .block_1 .cell_1, .solution_blk .block_1 .cell_2 {
    display: table-cell;
    width: 50%;
    vertical-align: top;
    padding: 20px 20px 10px;
    border-radius: 10px; }
    .solution_blk .block_1 .cell_1 .title, .solution_blk .block_1 .cell_2 .title {
      font-size: 20px;
      font-size: 1.25rem;
      margin: 0 0 15px;
      font-weight: bold; }
    .solution_blk .block_1 .cell_1 ul, .solution_blk .block_1 .cell_2 ul {
      margin: 0 0 0 20px;
      padding: 0; }
  .solution_blk .block_1 .cell_1 {
    background-color: #f4f6f5; }
    .solution_blk .block_1 .cell_1 .title {
      color: #0049b8; }
  .solution_blk .block_1 .cell_2 {
    background-color: #fdf0f0; }
    .solution_blk .block_1 .cell_2 .title {
      color: #e62525; }

.solution_blk .block_2 {
  display: table;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 10px;
  width: 100%; }
  .solution_blk .block_2 .cell_1, .solution_blk .block_2 .cell_2 {
    display: table-cell; }
  .solution_blk .block_2 .cell_1 {
    width: 50%;
    padding: 20px 30px;
    background-color: #ebf3ff;
    vertical-align: top; }
    .solution_blk .block_2 .cell_1 .title {
      font-size: 18px;
      font-size: 1.125rem;
      font-weight: bold;
      margin: 0 0 10px; }
    .solution_blk .block_2 .cell_1 .text {
      margin: 0; }
  .solution_blk .block_2 .cell_2 {
    position: relative;
    vertical-align: middle; }
    .solution_blk .block_2 .cell_2 p {
      font-size: 30px;
      font-weight: bold;
      margin: 0;
      padding: 15px 0 0;
      width: 60px;
      height: 60px;
      background-color: #0049b8;
      border-radius: 60px;
      color: #fff;
      text-align: center;
      margin-left: -30px;
      line-height: 1; }

@media only screen and (max-width: 980px) {
  .solution_blk .block_1 .cell_1, .solution_blk .block_1 .cell_2 {
    padding: 15px; } }

@media only screen and (max-width: 640px) {
  .solution_blk .block_1 {
    display: block; }
    .solution_blk .block_1 .cell_1, .solution_blk .block_1 .cell_2 {
      display: block;
      width: 100%;
      margin: 10px 0; }
  .solution_blk .block_2 {
    display: block; }
    .solution_blk .block_2 .cell_1, .solution_blk .block_2 .cell_2 {
      display: block;
      width: 100%; }
    .solution_blk .block_2 .cell_1 {
      padding: 30px 10px; }
    .solution_blk .block_2 .cell_2 {
      padding: 0;
      text-align: center; }
      .solution_blk .block_2 .cell_2 p {
        display: inline-block;
        margin: -20px 0; } }

.solution_btn {
  margin-top: 30px;
  text-align: center; }
  .solution_btn p {
    display: inline-block;
    width: 100%;
    max-width: 310px; }
    .solution_btn p a {
      display: block;
      font-size: 20px;
      font-size: 1.25rem;
      color: #fff;
      text-decoration: none;
      padding: 15px 50px 13px;
      line-height: 1.5;
      background: #289ae9 url(../img/btn_arw.png) right center no-repeat;
      transition: background 0.2s ease; }
      .solution_btn p a:hover {
        background-color: #00c4ff; }

.solution_srvc {
  font-size: 18px;
  font-size: 1.125rem; }
  .solution_srvc ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0; }
  .solution_srvc li {
    display: inline-block;
    vertical-align: top;
    width: 30%;
    margin: 1.5%; }
    .solution_srvc li .title {
      font-size: 20px;
      font-size: 1.25rem;
      padding: 0 0 5px 5px;
      border-bottom: 2px solid #0049b8; }
    .solution_srvc li figure {
      margin: 0;
      padding: 0;
      text-align: center; }
      .solution_srvc li figure img {
        max-width: 100%;
        height: auto;
        transition: all 0.2s ease; }
    .solution_srvc li .text {
      font-size: 14px;
      font-size: 0.875rem;
      color: #000;
      transition: color 0.2s ease; }
    .solution_srvc li a:hover img {
      box-shadow: 0 0 20px #a4c6df; }
  @media only screen and (max-width: 980px) {
    .solution_srvc li {
      display: block;
      width: 100%;
      margin: 1% 0;
      overflow: hidden; }
      .solution_srvc li figure {
        float: left;
        margin-right: 10px; }
        .solution_srvc li figure img {
          border: 1px solid #dfdfdf; }
      .solution_srvc li:hover figure img {
        box-shadow: none; } }
  @media only screen and (max-width: 640px) {
    .solution_srvc li figure {
      float: none;
      margin-bottom: 20px; } }

.solution_prd {
  display: inline-table;
  width: 50%;
  margin-bottom: 10px;
  padding: 10px;
  vertical-align: top; }
  .solution_prd figure {
    display: table-cell;
    vertical-align: top;
    width: 180px;
    margin: 0;
    padding: 0; }
    .solution_prd figure img {
      max-width: 100%;
      height: auto;
      border: 1px solid #c8c8c8; }
  .solution_prd .box {
    display: table-cell;
    vertical-align: top; }
  .solution_prd .title {
    font-size: 17px;
    font-size: 1.0625rem;
    font-weight: bold;
    margin: 5px 0 5px; }
    .solution_prd .title, .solution_prd .title a {
      color: #0049b8; }
    .solution_prd .title a {
      text-decoration: underline; }
  .solution_prd .text {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.5; }
    .solution_prd .text ul {
      margin: 0 0 0 20px;
      padding: 0; }
    .solution_prd .text li {
      margin: 0 0 3px;
      padding: 0; }
  @media only screen and (max-width: 980px) {
    .solution_prd {
      width: 100%;
      margin: 0;
      border-bottom: 1px dotted #c8c8c8; } }
  @media only screen and (max-width: 640px) {
    .solution_prd {
      display: block; }
      .solution_prd figure {
        display: block;
        width: 100%;
        text-align: center;
        margin-bottom: 10px; }
      .solution_prd .box {
        display: block; }
      .solution_prd .title {
        text-align: center; } }

/* -------------------------------------------------------------------------*/
