.sp_only {
  display: none;
}

.oem-intro-block {
    background-color: #ecf4f7;
    border-radius: 5px;
    padding: 20px;
    width: 100%
  }
  
  .oem-intro-block>.content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
  
  .oem-intro-block>.content>.text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-left: 20px
  }
  
  .oem-intro-block>.content>.text>.site-heading-simple {
    margin-top: -.36rem;
    margin-bottom: .64rem
  }
  
  .oem-intro-block>.content>.image {
    border-radius: 50%;
    height: 72px;
    line-height: 0;
    overflow: hidden;
    width: 72px
  }
  
  .oem-schedule {
    counter-reset: schedule;
    position: relative
  }
  
  .oem-schedule::before {
    content: "";
    display: block;
    height: calc(100% - 1.4rem);
    width: 2px;
    background-color: #00aeeb;
    position: absolute;
    z-index: 1;
    top: 0.7rem;
    left: 1.7rem
  }
  
  .oem-schedule>.item {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 2rem
  }
  
  .oem-schedule>.item:nth-child(even)>.title::before {
    background-color: #37e286
  }
  
  .oem-schedule>.item:last-child {
    margin-bottom: 0
  }
  
  .oem-schedule>.item>.title {
    background-color: #fff;
    border-radius: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
    padding: 0.7rem;
    position: relative;
    width: 100%;
    z-index: 1
  }
  
  .oem-schedule>.item>.title>.text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 1rem;
    position: relative
  }
  
  .oem-schedule>.item>.title>.text>.note {
    font-size: 0.8em
  }
  
  .oem-schedule>.item>.title::before {
    font-family: 'Roboto', sans-serif;
    content: counter(schedule);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 2rem;
    width: 2rem;
    background-color: #00aeeb;
    border-radius: 5px;
    counter-increment: schedule;
    color: #fff;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.2rem;
    letter-spacing: 0;
    position: relative;
    z-index: 2
  }
  
  .oem-schedule>.item>.text {
    display: block;
    font-size: 1rem;
    letter-spacing: 0.05em;
    line-height: 1.75;
    padding-left: 3.7rem;
    width: 100%
  }
  
  .oem-schedule>.item.-delivery>.title {
    background-color: #00aeeb;
    color: #fff;
    font-size: 1.571rem;
    margin-right: 0;
    margin-bottom: 0;
    width: 100%
  }
  
  .oem-schedule>.item.-delivery>.title::before {
    content: none
  }
  
  .oem-schedule>.item.-delivery>.title>.text {
    margin-left: 0;
    text-align: center
  }
  
  .oem-intro {
    background-color: #fff;
    border-bottom: 1px solid silver;
    margin: 0 -20px -3rem;
    padding: 3rem 20px
  }
  
  .oem-intro>.item>.site-heading-simple {
    margin-top: -.50888rem;
    margin-bottom: .99112rem
  }
  
  .oem-intro>.item>.site-text-primary {
    margin-top: -.375rem;
    margin-bottom: 1.875rem
  }
  
  .oem-intro>.item>.site-text-primary.-center,
  .site-chapter>.site-text-primary{
    text-align: center
  }

  .site-chapter>.site-text-primary{
    font-size: 1.1rem;
    color: #e77900;
  }
  
  .oem-intro>.item+.item {
    margin-top: 3rem
  }
  
  .oem-intro-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -10px -10px;
    flex-wrap: wrap
  }
  
  .oem-intro-list>.item {
    margin: 10px 10px;
    width: calc(100% - 20px)
  }
  
  .oemCaseContentArea {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .oemCaseLeadArea {
    padding: 2.5rem 2.5rem;
    border-radius: 10px;
    text-align: center;
  }

  .oemCaseLead {
    font-size: 1.1875rem;
    letter-spacing: 0.2em;
    line-height: 2;
    font-weight: bold;
    margin-bottom: .9rem;
  }

  .oem-case>.site-heading-simple.-factor3 {
    margin-top: -.58913rem;
    margin-bottom: 1.91087rem
  }
  
  .oem-case>.block:first-of-type {
    border-bottom: 1px solid silver;
    margin-bottom: 40px;
    padding-bottom: 40px
  }
  
  .oem-case>.block>.site-heading-simple.-factor2 {
    margin-top: -.50888rem;
    margin-bottom: 1.99112rem;
    font-weight: 700;
    text-align: center
  }
  
  .oem-case-content {
    margin: -.75rem -10px
  }
  
  .oem-case-content>.text {
    margin: .75rem 10px;
    width: calc(100% - 20px)
  }
  
  .oem-case-content>.text>.site-heading-simple {
    margin-top: -.50888rem;
    margin-bottom: .49112rem
  }
  
  .oem-case-content>.text>.site-text-primary {
    margin-top: -.375rem;
    margin-bottom: 1.625rem
  }
  
  .oem-case-content>.text>.site-text-primary:last-child {
    margin-top: -.375rem;
    margin-bottom: -.375rem
  }
  
  .oem-case-content>.image {
    margin: .75rem 10px;
    width: calc(100% - 20px);
    border-radius: 5px;
    line-height: 0;
    overflow: hidden;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1
  }
  
  .oem-schedule-layout>.site-heading-simple {
    margin-top: -.58913rem;
    margin-bottom: 1.41087rem
  }
  
  .oem-schedule-layout>.site-text-point {
    margin-top: -.5rem;
    margin-bottom: 2.5rem
  }
  
  .mainimgArea {
    width: 100%;
    height: 0;
    padding-top: 112.2%;
    background-image: url(../../images/oem/sp_mainimg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
  }
  
  .mainimgArea h1{
    position: absolute;
    top: 0;
    left: 6vw;
    writing-mode: vertical-lr;
    text-orientation: upright;
    background-color: #fff;
    padding: 7.1vw 4vw;
    border-radius: 0 0 1px 1px;
  }

  .mainimgArea .site-heading-simple.-factor4 {
    font-size: 4.2vw;
    line-height: unset;
    letter-spacing: 0.26em;
  }

  .oemServiceArea {
    padding-bottom: 12vw;
  }

  .oemServiceTextArea {
    margin: 2vw auto 10vw;
    text-align: center;
  }

  .oemServiceLead {
    font-size: max(3.4vw,14px);
    line-height: 2;
    letter-spacing: .16em;
    font-weight: bold;
    margin-bottom: 3vw;
  }

  .oemServiceLeadAnnotation {
    background-color: #75c0d2;
    color: #fff;
    font-size: min(3vw,15px);
    margin: 0 auto;
    padding: 1.5vw 9vw 1.7vw;
    line-height: 1;
    letter-spacing: .13em;
    display: inline-block;
  }

  .oemServiceDetailArea {
    margin:  0 auto;
  }

  .oemServiceDetailBox {
    background-color: #fff;
    width: 90%;
    margin: 0 auto;
    padding: 13vw 0;
    border-radius: 10px;
  }

  .oemServiceDetailBox:first-of-type {
    margin-bottom: 6vw;
  } 

  .oemServiceDetailTitle { 
    text-align: center;
    font-size: 4.3vw;
    font-weight: 900;
    letter-spacing: .15em;
    padding: 0 4vw;
    margin-bottom: 5vw;
  }

  .oemServiceDetailTitleIcon01 {
    background-image: url(../../images/oem/icon_01.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 13vw;
    background-position-y: 8vw;
    height: 16vw;
  }

  .oemServiceDetailTitleIcon02 {
    background-image: url(../../images/oem/icon_02.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 13vw;
    background-position-y: 8vw;
    height: 18.4vw;
  }

  .oemServiceDetailExplanation {
    padding: 0 11vw;
  }

  .aboutoemServiceDetailExplanation {
    font-size: max(1.1vw,14px);
    letter-spacing: .16em;
    line-height: 1.7;
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid #cfcfcf;
    padding-bottom: 9vw;
    margin-bottom: 9vw;
  }

  .oemServiceDetailExplanation div dt {
    font-size: 4vw;
    font-weight: 900;
    letter-spacing: 0.15em;
    margin-bottom: 3vw;
  }

  .oemServiceDetailExplanation div dt::before {
    content: url(../../images/oem/icon_03.png);
    display: inline-block;
    vertical-align: middle;
    width: 30px;
  }

  .oemServiceDetailExplanation div dl:first-of-type {
    margin-right: 4vw;
    margin-bottom: 9vw;
  }

  .oemServiceDetailExplanation div dd {
    font-size: 14px;
    letter-spacing: 0.15em;
    margin-bottom: 12px;
    position: relative;
    padding-left: 16px;
    line-height: 1.5;
  }

  .oemServiceDetailExplanation div dd::before {
    content: url(../../images/oem/icon_04.png);
    display: inline-block;
    vertical-align: text-top;
    position: absolute;
    left: 0;
  }

  .oemServiceDetailExplanation div dd:last-of-type {
    margin-bottom: 0;
  }

  .oemCasestudyArea {
    background-color: #fff;
    padding: 12vw 0;
    text-align: center;
    margin:  0 auto;
  }

  .oemCasestudyArea h3 {
    font-size: 5vw;
    font-weight: 900;
    letter-spacing: .15em;
    margin-bottom: 3vw;
  }

  .oemCasestudyBox h4 {
    font-size: 4.3vw;
    font-weight: 900;
    letter-spacing: .17em;
    margin-right: 10vw;
    margin-top: -10vw;
  } 

  .oemCasestudyBox h4::before {
    content: url(../../images/oem/icon_01.png);
    display: inline-block;
    vertical-align: middle;
    width: 26vw;
    transform: scale(0.2);
  }

  .oemCasestudyBox02 h4::before {
    content: url(../../images/oem/icon_02.png);
    display: inline-block;
    vertical-align: middle;
    width: 24vw;
    transform: scale(0.2);
  }

  .oemCasestudycards,
  .oemCasestudycards02 {
    width: 90%;
    background-color: #f2f2f2;
    padding: 11vw 8vw;
    border-radius: 10px;
  }

  .oemCasestudycards {
    justify-content: space-evenly;
  }

  .oemCasestudycards02 {
    justify-content: space-between;
  }

  .oemCasestudycards {
    margin: -76px auto 0;
  }

  .oemCasestudycards02 {
    margin: -95px auto;
  }

  .oemCasestudycard {
    width: 100%;
    text-align: left;
  }

  .oemCasestudycard:first-of-type {
    margin-bottom: 8vw;
  }

  .oemCasestudycard a {
    color: #000;
  }

  .oemCasestudyBox h5 {
    font-size: 4vw;
    font-weight: 900;
    letter-spacing: .17em;
    position: relative;
    margin: 4vw 0 3vw 3.2vw;
  }

  .oemCasestudycard h5::before,
  .oemCasestudycard02 h5::before {
    content: "";
    display: inline-block;
    height: 4.5vw;
    width: 7px;
    background-color: #75c0d2;
    position: absolute;
    top: 0.15vw;
    left: -3.2vw
  }

  .oemCasestudycards img,
  .oemCasestudycard02 img {
    border-radius: 6px;
  }

  .oemCasestudycard p {
    font-size: max(3.5vw,14px);
    letter-spacing: .09em;
    line-height: 1.9;
    margin-bottom: 3vw;
  }

  .oemCasestudycard a:hover {
    color: #00aeeb;
  }

  .oemCasestudycard a img:hover {
    opacity: .6;
  }

  .oemCasestudycard a:hover,
  .oemCasestudycard a img:hover {
    transition-duration: .3s;
  }

  .oemCasestudycard02 {
    width: 100%;
    text-align: left;
    margin-bottom: 10vw;
  }

  .oemCasestudycard02:last-of-type {
    margin-bottom: 0;
  }

  .oemCasestudycard02Detail01 {
    margin-bottom: 4vw;
  }

  .oemCasestudycard02Detail01 dt {
    font-size: 14px;
    background-color: #75c0d2;
    padding: 2px 30px 4px;
    color: #fff;
    display: inline-block;
    letter-spacing: .09em;
    margin-bottom: 12px;
  }

  .oemCasestudycard02Detail01 dd {
    font-size: max(3.5vw,14px);
    letter-spacing: 0.1em;
    margin-bottom: 1.9vw;
    position: relative;
    padding-left: 16px;
    line-height: 1.3;
  }

  .oemCasestudycard02Detail01 dd:last-of-type{
    margin-bottom: 0px;
  }

  .oemCasestudycard02Detail01 dd::before {
    content: url(../../images/oem/icon_04.png);
    display: inline-block;
    vertical-align: text-top;
    width: 14px;
    position: absolute;
    left: 0;
  }

  .oemCasestudycard02Detail02 {
    background-color: #fff;
    padding: 4vw;
  }

  .oemCasestudycard02Detail02 li {
    font-size: 14px;
    letter-spacing: 0.15em;
    margin-bottom: 10px;
  }

  .oemCasestudycard02Detail02 li:last-of-type {
    margin-bottom: 0px;
  }

  .oemNotesonhis {
    width: 90%;
    margin: 100px auto 10px;
    font-size: 14px;
    text-align: left;
    letter-spacing: .09em;
  }



  

  



