@charset "UTF-8";
/*
font-family: $font-gothic;
300 400 600 700
*/
/*
font-family: $font-yugothic;
300 400 600 700
*/
/*
font-family: $font-en;
400 500 600 700
*/
/* font-family: $font-en; */
/*@include font-gothic();*/
/*@include font-min();*/
/*@include font-en();*/
/*@include incImg100();*/
/*@include incSmooth();*/
/*@include dropshadow;*/
/*@include boxshadow;*/
/*@include fs();*/
/*@include btm();*/
.contents {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.csTitle {
  background-color: #FFF;
  padding: 70px 40px; }
  .csTitle .inr {
    max-width: 1200px;
    margin: 0 auto; }
    .csTitle .inr h1 {
      color: #3143cf;
      font-size: 36px;
      font-size: 3.6rem;
      font-weight: 700;
      line-height: 1.4;
      margin-bottom: 40px; }
    .csTitle .inr .cName {
      display: flex;
      align-items: center; }
      .csTitle .inr .cName .img {
        width: 275px; }
      .csTitle .inr .cName dl {
        border-left: 1px solid #EEE;
        padding-left: 40px;
        width: calc(100% - 275px); }
        .csTitle .inr .cName dl dt {
          margin-bottom: 20px; }
          .csTitle .inr .cName dl dt span {
            border: 2px solid #3143cf;
            border-radius: 30px;
            color: #3143cf;
            font-size: 14px;
            font-size: 1.4rem;
            font-weight: 500;
            font-weight: 600;
            letter-spacing: 0.04em;
            line-height: 1;
            padding: 8px 20px; }
        .csTitle .inr .cName dl dd {
          font-size: 24px;
          font-size: 2.4rem;
          font-weight: 500;
          line-height: 1.4; }

.csArea {
  padding: 0 40px; }
  .csArea .csAreaInr {
    background-color: #FFF;
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 50px 80px; }
    .csArea .csAreaInr .mv {
      margin-bottom: 40px; }
      .csArea .csAreaInr .mv img {
        width: 100%; }
    .csArea .csAreaInr .info {
      border-bottom: 1px solid #EEE;
      margin: 0 auto 60px;
      max-width: 1000px;
      padding-bottom: 40px; }
      .csArea .csAreaInr .info .bodyCopy {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 700;
        margin: 0 auto;
        max-width: 900px; }
    .csArea .csAreaInr .csSec {
      margin: 0 auto 50px;
      max-width: 1000px;
      padding: 0 50px; }
      .csArea .csAreaInr .csSec h2 {
        border-bottom: 2px solid #3143cf;
        color: #3143cf;
        font-size: 32px;
        font-size: 3.2rem;
        font-weight: 700;
        line-height: 1.4;
        margin-bottom: 40px;
        padding-bottom: 13px; }
      .csArea .csAreaInr .csSec dl dt {
        font-weight: 700;
        letter-spacing: 0.04em;
        padding: 0 0 20px 65px;
        position: relative; }
        .csArea .csAreaInr .csSec dl dt:before {
          background-color: #CCC;
          content: '';
          display: inline-block;
          height: 1px;
          width: 44px;
          position: absolute;
          top: 12px;
          left: 0; }
      .csArea .csAreaInr .csSec dl dd {
        font-weight: 600;
        letter-spacing: 0.04em;
        padding: 0 0 40px 65px;
        position: relative; }
        .csArea .csAreaInr .csSec dl dd .img {
          padding: 60px 0 20px;
          text-align: center; }
          .csArea .csAreaInr .csSec dl dd .img a img {
            transition: 0.2s; }
          .csArea .csAreaInr .csSec dl dd .img a:hover img {
            opacity: 0.8; }
          .csArea .csAreaInr .csSec dl dd .img span {
            display: block;
            padding-top: 10px; }
        .csArea .csAreaInr .csSec dl dd p.bold.center {
          font-size: 24px;
          font-size: 2.4rem;
          margin-bottom: -20px;
          margin-top: 50px;
          color: #3143cf; }
      .csArea .csAreaInr .csSec dl dd.name {
        padding: 0 0 25px 65px; }
      .csArea .csAreaInr .csSec dl dd.name:before {
        display: inline-block;
        position: absolute;
        left: 0; }
      .csArea .csAreaInr .csSec dl dd.name.kudou:before {
        content: '工藤'; }
      .csArea .csAreaInr .csSec dl dd.name.nakanishi:before {
        content: '中西'; }
      .csArea .csAreaInr .csSec dl dd.name.baba:before {
        content: '馬場'; }
      .csArea .csAreaInr .csSec dl ul.flex {
        display: flex;
        padding: 20px 0 60px 0; }
        .csArea .csAreaInr .csSec dl ul.flex p {
          text-align: center; }
      .csArea .csAreaInr .csSec dl ul.flex.yupiesu01 {
        justify-content: space-between; }
        .csArea .csAreaInr .csSec dl ul.flex.yupiesu01 li p {
          margin-top: 10px; }
        .csArea .csAreaInr .csSec dl ul.flex.yupiesu01 li .img a img {
          transition: 0.2s; }
        .csArea .csAreaInr .csSec dl ul.flex.yupiesu01 li .img a:hover img {
          opacity: 0.8; }
        .csArea .csAreaInr .csSec dl ul.flex.yupiesu01 li:first-child {
          width: 46.5%; }
        .csArea .csAreaInr .csSec dl ul.flex.yupiesu01 li:last-child {
          width: 51%; }
      .csArea .csAreaInr .csSec dl ul.flex.yupiesu02 {
        justify-content: center; }
        .csArea .csAreaInr .csSec dl ul.flex.yupiesu02 li:first-child {
          margin-right: 20px; }
    .csArea .csAreaInr .csSec.sunstar {
      margin: 0 auto 0px; }
    .csArea .csAreaInr .csSec.exam_area {
      border-top: 1px solid #EEE;
      border-bottom: 1px solid #EEE;
      margin: 0px auto 60px;
      max-width: 1000px;
      padding-bottom: 40px;
      padding-top: 40px; }
      .csArea .csAreaInr .csSec.exam_area p.exam {
        font-weight: 700;
        font-size: 24px;
        font-size: 2.4rem;
        margin-bottom: 30px; }
      .csArea .csAreaInr .csSec.exam_area dd {
        padding: 0; }
    .csArea .csAreaInr .matome {
      background-color: #F0F2F4;
      padding: 30px;
      max-width: 900px; }
      .csArea .csAreaInr .matome p {
        font-weight: 600; }

.bigBtn {
  padding: 70px 0 30px;
  text-align: center; }
  .bigBtn a {
    background-color: #3143cf;
    border-radius: 50px;
    color: #FFF;
    display: inline-block;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    padding: 26px;
    text-decoration: none;
    min-width: 568px;
    transition: 0.2s; }
    .bigBtn a:hover {
      background-color: #FFF;
      color: #3143cf; }

.catalogBnr {
  padding: 0 40px 120px;
  position: relative; }
  .catalogBnr .inr {
    background: url("/assets/img/o-plux/case_studies/bg_catalogbnr.jpg") center center no-repeat;
    display: flex;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    margin: 0 auto;
    max-width: 1200px;
    height: 460px; }
    .catalogBnr .inr h2 {
      color: #FFF;
      font-size: 36px;
      font-size: 3.6rem;
      font-weight: 700;
      line-height: 1.4;
      margin-bottom: 25px;
      width: 100%; }
    .catalogBnr .inr .btn {
      width: 100%; }
      .catalogBnr .inr .btn a {
        background-color: #EED84A;
        border-radius: 50px;
        color: #000;
        display: inline-block;
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: 600;
        padding: 28px 45px;
        text-decoration: none;
        transition: 0.2s; }
        .catalogBnr .inr .btn a:hover {
          background-color: #3143cf;
          color: #FFF; }

.slideArea {
  background-color: #FFF;
  padding: 70px 0 80px; }
  .slideArea h2 {
    color: #3143cf;
    font-size: 36px;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 40px;
    text-align: center;
    width: 100%; }
  .slideArea ul li {
    padding: 1.5em 2em; }

.contents.index {
  padding: 0; }

.csIndexList {
  margin-bottom: 60px;
  padding: 100px 40px 0; }
  .csIndexList h2 {
    color: #3143cf;
    font-size: 36px;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 80px;
    text-align: center; }
  .csIndexList ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%; }
    .csIndexList ul li {
      background-color: #FFF;
      border-radius: 10px;
      letter-spacing: 0.06em;
      margin: 0 5% 40px 0;
      width: 30%;
      overflow: hidden;
      position: relative; }
      .csIndexList ul li:nth-child(3n) {
        margin-right: 0; }
      .csIndexList ul li a {
        color: #333;
        display: block;
        text-decoration: none;
        padding-bottom: 100px;
        transition: 0.2s; }
        .csIndexList ul li a:hover {
          opacity: 0.7; }
        .csIndexList ul li a .company {
          display: flex;
          align-items: center;
          justify-content: center;
          line-height: 1;
          min-height: 100px; }
        .csIndexList ul li a .img {
          margin-bottom: 30px; }
          .csIndexList ul li a .img img {
            height: auto;
            width: 100%;
            max-width: auto;
            max-width: none; }
        .csIndexList ul li a .cName {
          font-size: 18px;
          font-size: 1.8rem;
          font-weight: 700;
          margin-bottom: 10px;
          text-align: center; }
        .csIndexList ul li a .part {
          margin-bottom: 25px;
          text-align: center; }
          .csIndexList ul li a .part span {
            border: 2px solid #3143cf;
            border-radius: 30px;
            color: #3143cf;
            font-size: 13px;
            font-size: 1.3rem;
            font-weight: 700;
            line-height: 1;
            padding: 8px 20px 7px;
            display: inline-block; }
        .csIndexList ul li a .txt {
          font-weight: 600;
          line-height: 1.5;
          padding: 0 30px; }
          .csIndexList ul li a .txt strong {
            background: linear-gradient(transparent 50%, #EED84A 50%);
            font-weight: 500; }
        .csIndexList ul li a:after {
          border-top: 1px solid #EEE;
          content: '詳しく見る';
          color: #3143cf;
          display: block;
          font-weight: 600;
          letter-spacing: 0;
          padding: 25px;
          text-align: center;
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%; }

@media only screen and (min-width: 768px) {
  .ptIndex {
    min-height: 180px; }

  .catalogBnr.cbTop {
    padding: 10px 40px 80px;
    position: relative; }
    .catalogBnr.cbTop:before {
      content: '';
      background-color: #FFF;
      display: block;
      height: 150px;
      width: 100%;
      position: absolute;
      left: 0;
      top: -10px;
      z-index: -1; } }
/* Responsive Start */
@media only screen and (max-width: 768px) {
  #contents.noP {
    padding-top: 0; }

  .csTitle {
    padding: 25px 20px 20px; }
    .csTitle .inr h1 {
      font-size: 20px;
      font-size: 2rem;
      font-weight: bold;
      line-height: 1.4;
      margin-bottom: 20px; }
    .csTitle .inr .cName {
      display: block;
      width: 100%; }
      .csTitle .inr .cName .img {
        background-color: #FFF;
        border: 1px solid #DDD;
        display: inline-block;
        width: auto;
        min-width: auto;
        min-width: none;
        line-height: 1;
        margin-bottom: 25px;
        padding: 3px 15px; }
        .csTitle .inr .cName .img img {
          width: 100%;
          height: auto;
          max-width: 125px; }
      .csTitle .inr .cName dl {
        border-left: none;
        padding-left: 0;
        width: 100%; }
        .csTitle .inr .cName dl dt {
          margin-bottom: 20px; }
          .csTitle .inr .cName dl dt span {
            border: 2px solid #3143cf;
            font-size: 10px;
            font-size: 1rem;
            font-weight: 600;
            padding: 6px 15px; }
        .csTitle .inr .cName dl dd {
          font-size: 18px;
          font-size: 1.8rem;
          font-weight: bold;
          line-height: 1.4; }

  .csArea {
    padding: 0; }
    .csArea .csAreaInr {
      padding: 0 0 30px; }
      .csArea .csAreaInr .mv {
        margin-bottom: 20px; }
      .csArea .csAreaInr .info {
        border-bottom: 1px solid #EEE;
        margin: 0 0 30px;
        padding: 0 20px 30px; }
        .csArea .csAreaInr .info .bodyCopy {
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: 600; }
      .csArea .csAreaInr .csSec {
        margin: 0 auto 20px;
        padding: 0 20px; }
        .csArea .csAreaInr .csSec h2 {
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 1.4;
          margin-bottom: 30px;
          padding-bottom: 13px; }
        .csArea .csAreaInr .csSec dl dt {
          padding: 0 0 20px 25px; }
          .csArea .csAreaInr .csSec dl dt:before {
            background-color: #CCC;
            width: 15px;
            position: absolute;
            top: 10px;
            left: 0; }
        .csArea .csAreaInr .csSec dl dd {
          padding: 0 0 40px 25px; }
          .csArea .csAreaInr .csSec dl dd .img {
            font-size: 11px;
            font-size: 1.1rem;
            padding: 30px 0 0; }
            .csArea .csAreaInr .csSec dl dd .img a:hover img {
              opacity: 1; }
            .csArea .csAreaInr .csSec dl dd .img span {
              display: block;
              padding-top: 10px; }
          .csArea .csAreaInr .csSec dl dd p.bold.center {
            font-weight: 700;
            font-size: 14px;
            font-size: 1.4rem;
            margin-bottom: -20px;
            margin-top: 40px; }
        .csArea .csAreaInr .csSec dl dd.name {
          padding: 0 0 20px 30px; }
        .csArea .csAreaInr .csSec dl dd.name:before {
          font-size: 12px; }
        .csArea .csAreaInr .csSec dl ul.flex {
          padding: 0px 0 40px 25px;
          display: flex;
          flex-wrap: wrap; }
          .csArea .csAreaInr .csSec dl ul.flex p {
            font-size: 12px;
            font-size: 1.2rem; }
            .csArea .csAreaInr .csSec dl ul.flex p a {
              font-size: 12px;
              font-size: 1.2rem; }
        .csArea .csAreaInr .csSec dl ul.flex.yupiesu01 {
          margin-bottom: 0px; }
          .csArea .csAreaInr .csSec dl ul.flex.yupiesu01 li:first-child {
            width: 100%; }
          .csArea .csAreaInr .csSec dl ul.flex.yupiesu01 li:last-child {
            width: 100%;
            margin-top: 20px; }
        .csArea .csAreaInr .csSec dl ul.flex.yupiesu02 {
          margin-bottom: 0px;
          flex-wrap: nowrap; }
          .csArea .csAreaInr .csSec dl ul.flex.yupiesu02 li:first-child {
            margin-right: 10px; }
      .csArea .csAreaInr .sunstar
      .csSec.exam_area {
        margin: 0px auto 30px;
        padding-bottom: 30px;
        padding-top: 30px; }
        .csArea .csAreaInr .sunstar
        .csSec.exam_area p.exam {
          font-size: 16px;
          font-size: 1.6rem;
          margin-bottom: 20px; }
      .csArea .csAreaInr .matome {
        margin: 0 20px;
        padding: 25px 25px 20px; }
        .csArea .csAreaInr .matome p {
          line-height: 1.5;
          font-weight: 600;
          margin-bottom: 10px; }

  .bigBtn {
    padding: 35px 0 10px; }
    .bigBtn a {
      color: #FFF;
      display: inline-block;
      font-size: 18px;
      font-size: 1.8rem;
      font-weight: 700;
      padding: 12px 15px;
      min-width: 260px; }
      .bigBtn a:hover {
        background-color: #3143cf;
        color: #FFF; }

  .catalogBnr {
    padding: 0; }
    .catalogBnr .inr {
      background: url("/assets/img/o-plux/case_studies/bg_catalogbnr_sp.jpg") center center no-repeat;
      background-size: cover;
      height: auto;
      min-height: 130vw; }
      .catalogBnr .inr h2 {
        font-size: 25px;
        font-size: 2.5rem;
        font-weight: 700;
        line-height: 1.4;
        margin-bottom: 25px;
        width: 100%; }
      .catalogBnr .inr .btn {
        width: 100%; }
        .catalogBnr .inr .btn a {
          font-size: 14px;
          font-size: 1.4rem;
          font-weight: 700;
          line-height: 1;
          padding: 20px 10px;
          text-align: center;
          text-decoration: none;
          min-width: 65vw; }
          .catalogBnr .inr .btn a:hover {
            opacity: 1; }

  .slideArea {
    padding: 50px 0 40px; }
    .slideArea h2 {
      font-size: 18px;
      font-size: 1.8rem;
      margin-bottom: 30px; }
    .slideArea ul li {
      padding: .8em 1em; }
      .slideArea ul li img {
        height: 2.38em; }

  .csIndexList {
    margin-bottom: 40px;
    padding: 50px 30px 0; }
    .csIndexList h2 {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.3;
      margin-bottom: 40px; }
    .csIndexList ul {
      display: block;
      margin: 0 auto;
      width: 100%; }
      .csIndexList ul li {
        margin: 0 0 20px 0;
        width: 100%;
        overflow: hidden; }
        .csIndexList ul li:nth-child(3n) {
          margin-right: 0; }
        .csIndexList ul li a {
          padding-bottom: 60px;
          transition: 0; }
          .csIndexList ul li a:hover {
            opacity: 1; }
          .csIndexList ul li a .company {
            min-height: 60px; }
            .csIndexList ul li a .company img {
              max-height: 36px; }
          .csIndexList ul li a .img {
            margin-bottom: 15px; }
            .csIndexList ul li a .img img {
              height: auto;
              width: 100%;
              max-width: auto;
              max-width: none; }
          .csIndexList ul li a .cName {
            font-size: 15px;
            font-size: 1.5rem; }
          .csIndexList ul li a .part {
            margin-bottom: 20px; }
            .csIndexList ul li a .part span {
              font-size: 10px;
              font-size: 1rem;
              padding: 6px 15px 5px; }
          .csIndexList ul li a .txt {
            font-size: 13px;
            font-size: 1.3rem;
            font-weight: 600;
            line-height: 1.6;
            min-height: auto;
            padding: 0 30px 20px; }
          .csIndexList ul li a:after {
            padding: 15px; } }
