@charset "utf-8";
/*=================================================================*/
/* 共通
/*=================================================================*/
.jsLowdirTopMenu a.corlogo {
  width: auto !important;
}
.jsLowdirTopMenu .btn {
  margin: 0 0 0 auto;
}
.jsLowdirTopMenu .btn li.contact a {
  background: #0254a5 url(/system/cocktail/common/images/core/hanbai/icon_contact.svg) no-repeat right 10px center;
  width: unset;
  padding: 6px 34px 5px 11px;
}
/*	footer
---------------------------------------------------------------*/
#contact {
  background: url(../images/pic_smartoffice_02.jpg) no-repeat center center #24597F;
  background-size: auto 100%;
}
.btn_w a {
  color: #24597F;
}
/*******************************************************************/
/* PC：幅769px以上
/*******************************************************************/
@media screen and (min-width: 769px), print {
  /*<start>==========================================================*/
  #mv {
    background: #f3fff6;
    background-size: auto 100%;
    position: relative;
    overflow: hidden;
  }
  #mv::before {
    content: "";
    position: absolute;
    width: 731px;
    height: 162px;
    background: url(../images/bg_wave3.svg) no-repeat 0 0;
    left: 0;
    bottom: 0;
  }
  #mv::after {
    content: "";
    position: absolute;
    width: 1273px;
    height: 634px;
    background: url(../images/bg_wave1.svg) no-repeat 0 0;
    right: 0;
    bottom: 0;
    background-size: 100% auto;
  }
  #mv .inner {
    width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 5% 0;
  }
  #mv .inner .topTxt {
    width: 520px;
  }
  #mv .inner .topTxt .small {
    display: inline-block;
    border: solid 2px #333;
    padding: 5px 12px;
    margin: 0 0 22px;
    font-size: 16px;
    font-weight: bold;
  }
  #mv .inner .topTxt .mainTxt {
    font-size: 32px;
    font-weight: bold;
    margin: 0 0 18px;
  }
  #mv .inner .btnArea {
    text-align: center;
    display: block;
    background-color: #0654a5;
    color: #FFF;
    width: 360px;
    border-radius: 100px;
    padding: 10px;
    box-sizing: border-box;
    margin: 0 auto 10px;
    position: relative;
  }
  #mv .inner .btnArea::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border-top: solid 1px;
    border-right: solid 1px;
    top: 50%;
    right: 22px;
    color: #FFF;
    display: block;
    margin: -5px 0 0;
    transform: rotate(45deg);
  }
  #mv .inner .btnArea .txt {
    font-size: 14px;
  }
  #mv .inner .textArea {
    width: 300px;
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .ttlStyle01 {
    font-size: 30px;
  }
  .ttlStyle01 {
    position: relative;
    padding: 0 0 30px;
    margin: 0 0 40px;
    text-align: center;
  }
  .ttlStyle01::after {
    position: absolute;
    content: "";
    width: 220px;
    height: 1px;
    background-color: #24597F;
    left: 50%;
    bottom: 0px;
    margin: 0 0 0 -110px;
  }
  /*メインビジュアルにバッジを追加*/
  .MV_badge {
    position:
      absolute;
    left: calc(50% + 332px);
    top: calc(50% + 17%);
    background-color: #0068b7;
    opacity: 0.8;
    width: 119px;
    height: 119px;
    /* border-radius: 5%; */
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, .2);
    transform: rotate(45deg);
    z-index: 10;
    transform: rotate(135deg) skew(15deg, 15deg);
  }
  .MV_badge span {
    position: absolute;
    display: inline-block;
    left: 9px;
    top: 33px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 99px;
    /* text-align:
  center; */
    color: #fff;
    font-size: 100%;
    font-weight: bold;
    line-height: 150%;
    transform: skew(-15deg, -15deg) rotate(-135deg);
  }
  .MV_badge span:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -10px;
    margin-left: -28px;
    width: 50px;
    border-bottom: 1px solid #ffffff;
  }
  /*	about
---------------------------------------------------------------*/
  .about {
    padding: 100px 0 60px;
  }
  .about .inner {
    width: 1000px;
  }
  .about .ttlTxt {
    margin-bottom: 60px;
    line-height: 1.8em;
    font-size: 18px;
  }
  .about .ttlTxt strong {
    background: linear-gradient(transparent 65%, #f1ecad 0%);
    font-weight: bold;
    display: inline-block;
    line-height: 1.3em;
  }
  p.osusume {
    text-align: center;
    font-weight: bold;
    font-size: 24px;
    color: #0654a5;
  }
  .checkList {
    width: 720px;
    margin: 40px auto 0;
    border-top: 1px solid #c5c6ca;
    text-align: left;
  }
  .checkList li {
    padding: 17px 0 15px 60px;
    border-bottom: 1px solid #c5c6ca;
    font-size: 118%;
    position: relative;
  }
  .checkList li::before {
    content: url(../images/icon_list.svg);
    display: inline-block;
    margin-right: 15px;
    vertical-align: middle;
    position: absolute;
    left: 20px;
  }
  .checkList li span {
    background: linear-gradient(transparent 65%, #f1ecad 0%);
    font-weight: bold;
    display: inline-block;
    line-height: 1.3em;
  }
  /*	imgWrap
---------------------------------------------------------------*/
  section .imgWrap {
    text-align: center;
    margin: 0 0 60px;
  }
  /*	dlBtnWrap
---------------------------------------------------------------*/
  .dlBtnWrap {
    padding: 60px 0;
    background-color: #f5f5f5;
    text-align: center;
  }
  .dlBtnWrap a.dlBtn {
    display: block;
    margin: 0 auto;
    width: 690px;
    background: #dfe6f9 url(../images/bg_wave8.svg) no-repeat right bottom;
    background-size: 760px auto;
    box-sizing: border-box;
    padding: 0 20px 0 10px;
    border-radius: 10px;
    transition: .2s;
  }
  .dlBtnWrap a.dlBtn dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .dlBtnWrap a.dlBtn dl dt {
    width: 100%;
  }
  .dlBtnWrap a.dlBtn dl dd {
    text-align: center;
    min-width: 50%;
  }
  .dlBtnWrap a.dlBtn dl dd .baloon {
    background: #fff;
    border-radius: 5px;
    text-align: center;
    color: #0254a5;
    font-weight: bold;
    display: inline-block;
    padding: 5px 9px;
    position: relative;
    margin-bottom: 11px;
  }
  .dlBtnWrap a.dlBtn dl dd .baloon::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid #fff;
  }
  .dlBtnWrap a.dlBtn dl dd .flex {
    display: flex;
    font-size: 26px;
    font-weight: bold;
    align-items: baseline;
  }
  .dlBtnWrap a.dlBtn dl dd .flex .white {
    color: #0254a5;
  }
  .dlBtnWrap a.dlBtn dl dd .sub {
    font-size: 14px;
    text-align: left;
  }
  .dlBtnWrap a.contact {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #00c6c2;
    box-sizing: border-box;
    width: 380px;
    margin: 40px auto 0;
    color: #00c6c2;
    transition: .2s;
    padding: 14px 0;
  }
  .dlBtnWrap a.contact span {
    margin-right: 15px;
    font-weight: bold;
  }
  .dlBtnWrap a.contactLink {
    margin: 20px 0 0;
    display: inline-block;
  }
  /*	step
---------------------------------------------------------------*/
  .step {
    padding: 80px 0 60px;
  }
  .step .ttlStyle01 {
    margin: 0 0 60px;
  }
  .ulcol3 {
    width: 1000px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .ulcol3 li {
    width: 260px;
    position: relative;
  }
  .ulcol3 li::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border-top: solid 3px;
    border-right: solid 3px;
    top: 50%;
    right: -55px;
    color: #545454;
    display: block;
    margin: -30px 0 0;
    transform: rotate(45deg);
  }
  .ulcol3 li:nth-child(3)::after {
    content: none;
  }
  .ulcol3 li img {
    border-radius: 100%;
    display: block;
    margin: 0 0 20px;
  }
  .ulcol3 li p {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
  }
  /*	function
---------------------------------------------------------------*/
  .function {
    padding: 60px 0;
  }
  .txtcol3 {
    width: 1000px;
    margin: 60px auto 0;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .txtcol3 li {
    width: 310px;
    margin: 0 0 36px;
  }
  .txtcol3 li::after {
    content: "";
    width: 320px;
  }
  .txtcol3 li dl {
    font-size: 14px;
  }
  .txtcol3 li dl dt {
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 16px;
  }
  .txtcol3 li dl dd {
    line-height: 1.8em;
  }
  /*	other
---------------------------------------------------------------*/
  .other {
    padding: 60px 0;
  }
  .ttlTxt {
    width: 1000px;
    margin: 0 auto 40px;
    text-align: left;
  }
  .imgTxt {
    width: 1000px;
    margin: 0 auto 40px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    border: solid 1px #efefef;
    padding: 40px;
    box-sizing: border-box;
    box-shadow: 4px 4px 6px rgb(0 0 0 / 6%);
  }
  .imgTxt .img {
    width: 460px;
  }
  .imgTxt .img img {
    height: auto;
  }
  .imgTxt .txt {
    padding: 10px 0 0;
  }
  .imgTxt .txt h3 {
    margin: 0 0 20px;
    font-size: 28px;
    letter-spacing: 0.1em;
    color: #189c3e;
  }
  .imgTxt .txt p {
    line-height: 1.8em;
  }
  /*	strong
---------------------------------------------------------------*/
  .strong {
    padding: 80px 0 60px;
    background-color: #f5f5f5;
  }
  .col2txtBox {
    width: 1000px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    text-align: center;
  }
  .col2txtBox .left, .col2txtBox .right {
    background: #fff;
    width: 48%;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 50px 20px 40px;
  }
  .bg__wht .col2txtBox .left, .bg__wht .col2txtBox .right {
    background: #f5f5f5;
  }
  .col2txtBox h3 {
    text-align: center;
    font-size: 20px;
    padding-bottom: 20px;
    margin-bottom: 30px;
    position: relative;
  }
  .col2txtBox h3::after {
    position: absolute;
    content: "";
    width: 80px;
    height: 1px;
    background-color: #24597F;
    left: 50%;
    bottom: 0px;
    margin: 0 0 0 -40px;
  }
  .col2txtBox p {
    text-align: left;
  }
  .col2txtBox .innerImg {
    margin: 20px 0 0;
  }
  .cautionArea {
    width: 1000px;
    margin: 80px auto 0;
  }
  .cautionArea p {
    font-size: 80%;
  }
  .flex-container {
    justify-content: center;
  }
  /*<end>============================================================*/
}
/*******************************************************************/
/* SP：幅768px以下 
/*******************************************************************/
@media screen and (max-width: 768px) {
  /*<start>==========================================================*/
  /*=================================================================*/
  /* SP共通
/*=================================================================*/
  /*	contactBtn
---------------------------------------------------------------*/
  .btn-box > .downloadBtn, .btn-box > .contactBtn {
    background: #0654a5;
  }
  #mv {
    background: #f3fff6;
    background-size: auto 100%;
    position: relative;
    overflow: hidden;
    padding: 7% 3% 5% 3%;
  }
  #mv::before {
    content: "";
    position: absolute;
    width: 440px;
    height: 97px;
    background: url(../images/bg_wave3.svg) no-repeat 0 0;
    background-size: 100% auto;
    left: 0;
    bottom: 0;
  }
  #mv::after {
    content: "";
    position: absolute;
    width: 600px;
    height: 298px;
    background: url(../images/bg_wave1.svg) no-repeat 0 0;
    background-size: 100% auto;
    right: 0;
    bottom: 0;
  }
  #mv .inner {
    /* width: 1000px; */
    margin: 0 auto;
    background: url(../images/main_img.png) no-repeat center bottom;
    background-size: 80% auto;
    position: relative;
    z-index: 1;
    padding: 0 0 58%;
  }
  #mv .inner .topTxt {
    /* width: 500px; */
  }
  #mv .inner .topTxt .small {
    display: inline-block;
    border: solid 2px #333;
    padding: 5px 12px;
    margin: 0 0 14px;
    font-size: 16px;
    font-weight: bold;
  }
  #mv .inner .topTxt .mainTxt {
    font-size: 6vw;
    font-weight: bold;
    margin: 0 0 18px;
    line-height: 1.5em;
  }
  #mv .inner .topTxt .mainTxt br {
    display: none;
  }
  #mv .inner .btnArea {
    text-align: center;
    display: block;
    background-color: #0654a5;
    color: #FFF;
    width: 300px;
    border-radius: 100px;
    padding: 10px;
    box-sizing: border-box;
    margin: 0 auto 10px;
    position: relative;
  }
  #mv .inner .btnArea::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border-top: solid 1px;
    border-right: solid 1px;
    top: 50%;
    right: 22px;
    color: #FFF;
    display: block;
    margin: -5px 0 0;
    transform: rotate(45deg);
  }
  #mv .inner .btnArea .txt {
    font-size: 14px;
  }
  #mv .inner .textArea {
    width: 300px;
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .ttlStyle01 {
    font-size: 26px;
  }
  .ttlStyle01 {
    position: relative;
    padding: 0 0 26px;
    margin: 0 0 30px;
    text-align: center;
  }
  .ttlStyle01::after {
    position: absolute;
    content: "";
    width: 160px;
    height: 1px;
    background-color: #24597F;
    left: 50%;
    bottom: 0px;
    margin: 0 0 0 -80px;
  }
  /* メインビジュアルにバッジを追加 */
  .MV_badge {
    position:
      absolute;
    left: calc(50% + 20%);
    top: calc(50% + 32%);
    background-color: #0068b7;
    opacity: 0.8;
    width: 83px;
    height: 84px;
    /* border-radius: 5%; */
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, .2);
    transform: rotate(45deg);
    z-index: 10;
    transform: rotate(135deg) skew(15deg, 15deg);
  }
  .MV_badge span {
    position: absolute;
    display: inline-block;
    left: -2px;
    top: 22px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 83px;
    /* text-align:
  center; */
    color: #fff;
    font-size: 75%;
    font-weight:
      bold;
    line-height: 150%;
    transform: skew(-15deg, -15deg) rotate(-135deg);
  }
  .MV_badge span:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -7px;
    margin-left: -28px;
    width: 50px;
    border-bottom: 1px solid #ffffff;
  }
  /*	about
---------------------------------------------------------------*/
  .about {
    padding: 60px 0 40px 0;
  }
  .about .inner {}
  .about .ttlTxt {
    margin-bottom: 50px;
    line-height: 1.8em;
  }
  .about .ttlTxt strong {
    background: linear-gradient(transparent 65%, #f1ecad 0%);
    font-weight: bold;
    display: inline-block;
    line-height: 1.3em;
  }
  p.osusume {
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    color: #0654a5;
  }
  .checkList {
    margin: 25px auto 0;
    border-top: 1px solid #c5c6ca;
    text-align: left;
  }
  .checkList li {
    padding: 17px 0 15px 60px;
    border-bottom: 1px solid #c5c6ca;
    /* font-size: 118%; */
    position: relative;
  }
  .checkList li::before {
    content: url(../images/icon_list.svg);
    display: inline-block;
    margin-right: 15px;
    vertical-align: middle;
    position: absolute;
    left: 20px;
  }
  .checkList li span {
    background: linear-gradient(transparent 65%, #f1ecad 0%);
    font-weight: bold;
    display: inline-block;
    line-height: 1.3em;
  }
  /*	imgWrap
---------------------------------------------------------------*/
  section .imgWrap {
    text-align: center;
    padding: 0 0 4%;
  }
  /*	dlBtnWrap
---------------------------------------------------------------*/
  .dlBtnWrap {
    padding: 8% 4%;
    background-color: #f5f5f5;
    text-align: center;
  }
  .dlBtnWrap a.dlBtn {
    display: block;
    margin: 0 auto;
    max-width: 690px;
    background: #eef2fc url(../images/bg_wave1.svg) no-repeat right bottom;
    background-size: 760px auto;
    box-sizing: border-box;
    border-radius: 10px;
    transition: .2s;
  }
  .dlBtnWrap a.dlBtn dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 10px 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .dlBtnWrap a.dlBtn dl dt {
    width: 48%;
  }
  .dlBtnWrap a.dlBtn dl dt img {
    width: 100%;
    height: auto;
  }
  .dlBtnWrap a.dlBtn dl dd {
    text-align: center;
  }
  .dlBtnWrap a.dlBtn dl dd .baloon {
    background: #fff;
    border-radius: 5px;
    text-align: center;
    color: #0254a5;
    font-weight: bold;
    display: inline-block;
    padding: 5px 9px;
    position: relative;
    margin-bottom: 16px;
    font-size: 3vw;
  }
  .dlBtnWrap a.dlBtn dl dd .baloon::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid #fff;
  }
  .dlBtnWrap a.dlBtn dl dd .flex {
    display: flex;
    font-size: 5vw;
    font-weight: bold;
  }
  .dlBtnWrap a.dlBtn dl dd .flex .white {
    color: #0254a5;
  }
  .dlBtnWrap a.dlBtn dl dd .sub {
    font-size: 14px;
  }
  .dlBtnWrap a.contact {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #00c6c2;
    box-sizing: border-box;
    width: 380px;
    margin: 40px auto 0;
    color: #00c6c2;
    transition: .2s;
    padding: 14px 0;
  }
  .dlBtnWrap a.contact span {
    margin-right: 15px;
    font-weight: bold;
  }
  .dlBtnWrap a.contactLink {
    margin: 20px 0 0;
    display: inline-block;
  }
  /*	step
---------------------------------------------------------------*/
  .step {
    padding: 8% 4%;
  }
  .step .ttlStyle01 {
    margin: 0 0 60px;
  }
  .ulcol3 {
    margin: 0 auto;
    text-align: center;
  }
  .ulcol3 li {
    max-width: 260px;
    position: relative;
    margin: 0 auto 60px;
  }
  .ulcol3 li::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border-top: solid 3px;
    border-right: solid 3px;
    bottom: -27px;
    left: 50%;
    color: #545454;
    display: block;
    margin: 0 0 0 -10px;
    transform: rotate(135deg);
  }
  .ulcol3 li:nth-child(3) {
    margin-bottom: 0;
  }
  .ulcol3 li:nth-child(3)::after {
    content: none;
  }
  .ulcol3 li img {
    border-radius: 100%;
    display: block;
    margin: 0 0 20px;
  }
  .ulcol3 li p {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
  }
  /*	function
---------------------------------------------------------------*/
  .function {
    padding: 8% 4% 0;
  }
  .txtcol3 {
    margin: 60px auto 0;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .txtcol3 li {
    width: 48%;
    margin: 0 0 5%;
  }
  .txtcol3 li::after {
    content: "";
    width: 320px;
  }
  .txtcol3 li dl {
    font-size: 14px;
  }
  .txtcol3 li dl dt {
    font-weight: bold;
    margin: 0 0 16px;
    font-size: 15px;
  }
  .txtcol3 li dl dd {
    line-height: 1.8em;
    font-size: 13px;
  }
  /*	other
---------------------------------------------------------------*/
  .other {
    padding: 8% 4%;
  }
  .other .ttlTxt {
    margin: 0 auto 40px;
  }
  .imgTxt {
    margin: 0 auto 40px;
    border: solid 1px #efefef;
    padding: 35px 30px;
    box-sizing: border-box;
    box-shadow: 4px 4px 6px rgb(0 0 0 / 6%);
  }
  .other .imgTxt:last-child {
    margin: 0 auto 0;
  }
  .imgTxt .img {
    margin: 0 0 20px;
  }
  .imgTxt .img img {
    height: auto;
  }
  .imgTxt .txt {
    padding: 10px 0 0;
  }
  .imgTxt .txt h3 {
    margin: 0 0 15px;
    font-size: 24px;
    letter-spacing: 0.1em;
    color: #189c3e;
  }
  .imgTxt .txt p {
    line-height: 1.6em;
    font-size: 15px;
  }
  /*	strong
---------------------------------------------------------------*/
  .strong {
    padding: 8% 4%;
    background-color: #f5f5f5;
  }
  .col2txtBox {
    margin: 0 auto;
    text-align: center;
  }
  .col2txtBox .left, .col2txtBox .right {
    border-radius: 5px;
    box-sizing: border-box;
    padding: 40px 20px 30px;
    background: #f5f5f5;
  }
  .col2txtBox .left {
    margin: 0 0 20px;
  }
  .col2txtBox h3 {
    text-align: center;
    font-size: 18px;
    padding-bottom: 15px;
    margin-bottom: 25px;
    position: relative;
  }
  .col2txtBox h3::after {
    position: absolute;
    content: "";
    width: 60px;
    height: 1px;
    background-color: #24597F;
    left: 50%;
    bottom: 0px;
    margin: 0 0 0 -30px;
  }
  .col2txtBox p {
    text-align: left;
  }
  .col2txtBox .innerImg {
    margin: 20px 0 0;
  }
  .cautionArea {
    margin: 10% auto 0;
  }
  .cautionArea p {
    font-size: 80%;
  }
  /*<end>============================================================*/
}
/*  フローティングメニュー用スタイル(ページ下部)
---------------------------------------------------------------*/
#pagetop {
  z-index: 1001;
}
#float_area {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 100px;
  background-color: rgba(80, 80, 80, 0.8);
  z-index: 1000;
}
#float_area ul {
  margin: 0px auto;
  padding: 15px 0;
  width: 912px;
  overflow: hidden;
}
#float_area ul li {
  padding-top: 10px;
  display: inline-block;
  width: 438px;
  height: 70px;
  *display: inline;
  *zoom: 1;
  float: left;
}
#float_area ul li a {
  padding: 4px 40px 2px 150px;
  box-sizing: border-box;
  position: relative;
  display: table-cell;
  font-size: 110%;
  line-height: 1.4rem;
  font-weight: bold;
  width: 438px;
  height: 60px;
  color: #fff;
  vertical-align: middle;
  background: #0254a5;
}
#float_area ul li a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#float_area ul li a:after {
  content: "";
  position: absolute;
  right: 26px;
  top: 50%;
  display: inline-block;
  margin-left: 15px;
  margin-top: -6px;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
}
/*PDFダウンロード*/
#float_area ul li.float_dl_pdf {}
#float_area ul li.float_dl_pdf a img {
  position: absolute;
  left: 30px;
  bottom: 0;
  width: 90px;
}
/*お問い合わせ*/
#float_area ul li.float_contact {}
#float_area ul li.float_contact a img {
  margin-top: -15px;
  position: absolute;
  left: 40px;
  top: 50%;
  width: 40px;
}
#float_area ul li.first {
  margin-right: 36px;
}
/*IE11用のハック*/
@media all and (-ms-high-contrast:none) {
  /* IE11 にのみ適用される */
  *::-ms-backdrop, #float_area ul li.float_contact a img {
    margin-top: 0px;
  }
  *::-ms-backdrop, #float_area ul li a:after {
    margin: 0px;
    top: 24px;
  }
}
/*	202506
---------------------------------------------------------------*/
.pt0 {
  padding-top: 0px !important;
}
.pb0 {
  padding-bottom: 0px !important;
}
.necessity .inner .featuresList {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: center;
  grid-row-gap: 40px;
  column-gap: 20px;
  width: 100%;
}
.necessity .inner .featuresList.col4 {
  max-width: 980px;
}
.necessity .inner .featuresList li {
  background-color: #eaf1ff;
  width: 320px;
  box-sizing: border-box;
  padding: 30px 20px 20px;
}
.necessity .inner .featuresList li .img {
  margin: 0 auto 20px;
  text-align: center;
  width: 120px;
  height: 120px;
  display: flex;
  border-radius: 100%;
  overflow: hidden;
  padding: 20px;
  box-sizing: border-box;
  background: #fff;
  align-items: center;
  justify-content: center;
}
.necessity .inner .featuresList li .img img {
  max-width: 90%;
  height: auto;
  max-height: 95%;
}
.necessity .inner .featuresList li dl {}
.necessity .inner .featuresList li dl dt {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px;
}
.necessity .inner .featuresList li dl dt strong {
  color: #039;
  background: linear-gradient(transparent 65%, #cedeff 0%);
  display: inline-block;
  line-height: 1.2;
  padding: 0 2px;
}
.necessity .inner .featuresList li dl dd {
  line-height: 1.6;
}
.necessity .inner .featuresList li dl dd span {
  background: #FFF500
}
.necessity {
  background-color: #ededed;
  padding: 100px 20px 60px;
  text-align: center;
}
.necessity .inner {
  max-width: 1000px;
  margin: 0 auto;
}
.necessity .inner h2 {
  margin: 0 0 80px;
  letter-spacing: 0.05em;
}
.necessity .inner h3 {
  background-color: #0654a5;
  color: #FFF;
  margin: 0 0 40px;
  font-size: 22px;
  padding: 10px;
  letter-spacing: 0.05em;
}
.necessity .inner .imgWrap {
  margin: 30px 0;
}
.necessity .inner .col2Txt {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 35px;
}
.necessity .inner .col2Txt .col {
  width: 48%;
}
.necessity .inner .col2Txt .col.imImg {
  position: relative;
  padding: 0 0 25%;
}
/*.necessity .inner .col2Txt .col dt {
  color: #0654a5;
  font-size: 26px;
  padding: 0 0 15px;
  line-height: 1.3;
  background-color: #ededed;
}
.necessity .inner .col2Txt .col dt strong {}
.necessity .inner .col2Txt .col dd {
  text-align: left;
  padding: 36px 36px 28px;
}
.necessity .inner .col2Txt .col.imImg dd {
  text-align: left;
  padding: 36px 36px 0;
}*/
.necessity .inner .col2Txt .col dd .img {
  margin: 20px auto 30px auto;
  text-align: center;
}
.necessity .inner .col2Txt .col dd ul {}
.necessity .inner .col2Txt .col dd ul li {
  padding: 0 0 0 14px;
  position: relative;
  margin: 0 0 8px;
}
.necessity .inner .col2Txt .col dd ul li::after {
  position: absolute;
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 100%;
  left: 0;
  top: 11px;
  background-color: #000;
}
.necessity .inner dl dt {
  letter-spacing: 0.1em;
  font-size: 24px;
  font-weight: bold;
  margin: 30px 0 20px;
  text-align: left;
}
.necessity .inner dl dd {
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-align: left;
}
.items {
  padding: 80px 0 60px 0;
}
.items .inner {
  max-width: 1200px;
}
.case {
  padding: 60px 0;
}
.case .titleTxt {
  text-align: center;
  margin: 0 auto 40px;
}
.caseLink {
  width: 1000px;
  margin: 0 auto 60px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 30px;
  column-gap: 3%;
}
.caseLink a {
  width: 22%;
  background-color: #f5f5f5;
  display: block;
}
.bg__wht .caseLink a {
  background-color: #f7f7f7;
}
.caseLink a .img {
  display: block;
  height: 140px;
  position: relative;
}
.caseLink a .img span {
  position: absolute;
  right: 0;
  top: 0;
  padding: 2px 10px;
  display: inline-block;
  color: #fff;
  font-size: 12px;
  z-index: 1
}
.caseLink a .img span.grn {
  background: #6eba33
}
.caseLink a .img span.blue {
  background: #0075c1
}
.caseLink a .img span.yel {
  background: #e1a800
}
.caseLink a .img span.org {
  background: #ffc14e
}
.caseLink a .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.caseLink a .txt {
  padding: 15px;
}
.caseLink a .txt p {
  font-weight: bold;
  margin: 0 0 15px;
  line-height: 1.4;
}
.caseLink a .txt span.company {
  font-size: 14px;
}
.systemWrap {
  width: 1000px;
  margin: 0 auto;
}
.systemWrap h3 {
  text-align: center;
  margin: 0 0 40px;
  font-size: 20px;
}
.systemBox {
  width: 1000px;
  margin: 0 auto 60px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.systemBox dl {
  width: 310px;
  background-color: #f7f7f7;
  padding: 25px;
  box-sizing: border-box;
}
.systemBox dl dt {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 15px;
}
.systemBox dl dd {}
.foodpro #mv .inner {
  background: url("../trace_eye_food-pro/images/main_food-pro.png") no-repeat right center;
}
.checkList.col2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  border: none;
}
.checkList.col2 li {
  width: 48%;
  box-sizing: border-box;
}
.checkList.col2 li strong {
  color: #0654a5
}
.necessity .inner .featuresList dl dt {
  text-align: center;
}
.bg__wht {
  background: #fff !important;
}
.bg__wht .col2txtBox .left a, .bg__wht .col2txtBox .right a, a.contactLink, .about .ttlTxt a, .boxgray__items a, .link_blue, .list_faq dd a {
  color: #0400ff;
  text-decoration: underline;
}
.productLink {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 30px;
  column-gap: 2%;
}
.productLink__item {
  width: 23%;
  background-color: #fff;
  border: 2px solid #eef2fc;
  display: flex;
  flex-direction: column;
}
.productLink__item .top {
  color: #0654a5;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  display: block;
  background: #eef2fc;
  padding: 10px 5px;
}
.productLink__item dl {
  padding: 15px;
  font-size: 15px;
}
.productLink__item dl dt {
  padding-bottom: 15px;
  text-align: center
}
.productLink__item .bottom {
  margin-top: auto;
  padding: 0 15px 15px 15px;
}
.productLink__item .arrow a {
  text-align: center;
  display: block;
  border: 1px solid #0654a5;
  color: #0654a5;
  font-weight: bold;
  font-size: 13px;
  padding: 4px;
  position: relative;
  margin-bottom: 10px;
}
.productLink__item .arrow a::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-top: solid 1px;
  border-right: solid 1px;
  top: 50%;
  right: 10px;
  color: #0654a5;
  display: block;
  margin: -4px 0 0;
  transform: rotate(45deg);
}
.productLink__item .contactBtn {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
.productLink__item .contactBtn a {
  width: 48%;
  border-radius: 5px;
  background: #0654a5;
  padding: 5px;
  text-align: center;
  color: #fff;
  font-size: 13px;
  box-sizing: border-box;
}
.trouble {
  padding: 30px 30px 80px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  border-radius: 18px;
  background: #e8f4ff url(../shoku-inspector/images/img_shoku-inspector01.png) no-repeat center bottom;
  background-size: auto 165px;
  margin-top: 20px;
}
.trouble > div {
  width: 280px;
}
.trouble .left {}
.trouble .center {}
.trouble .right {}
.trouble dl {
  margin: 0 0 20px;
}
.trouble dl dt {
  font-weight: bold;
  margin: 0 0 5px;
  font-size: 16px;
  position: relative;
  padding: 0 0 0 20px;
  text-align: left;
}
.trouble dl dt::after {
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 100%;
  left: 0;
  top: 4px;
  background-color: #73b2e7;
}
.trouble dl dd {}
.trouble dl dd ul {}
.trouble dl dd ul li {
  background-color: #FFF;
  border-radius: 12px;
  padding: 12px;
  margin: 0 0 12px;
  border: solid 1px #bacedf;
  box-sizing: border-box;
  text-align: left;
}
.caseList {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: center;
}
.caseList > a {
  background: #eef2fc;
  width: calc((100% - (20px * 3)) / 4);
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1000px) {
  .caseList > a {
    width: calc((100% - 40px) / 3);
  }
}
.caseList > a:hover {
  text-decoration: none;
  opacity: 0.8;
  background: #dbdbff;
}
.caseList > a .visual {
  position: relative;
}
.caseList > a .visual > img {
  width: 100%;
  aspect-ratio: 7 / 5;
  object-fit: cover;
}
.caseList > a .visual > span {
  margin: auto;
  padding: 5px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  width: fit-content;
  min-width: 100px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0654a5;
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(0% - 10px);
}
.caseList > a dl {
  padding: 30px 20px 14px;
  width: 100%;
  box-sizing: border-box;
}
.caseList > a dl dt {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}
.caseList > a dl dd {
  margin-top: 10px;
}
.caseList > a .more {
  margin-top: auto;
  padding: 16px;
  border-top: 1px solid #e7e7f3;
  width: 100%;
  box-sizing: border-box;
}
.caseList > a .more > p {
  margin: 0 auto;
  color: #0654a5;
  font-size: 12px;
  line-height: 1;
  width: fit-content;
  position: relative;
}
.caseList > a .more > p:after {
  content: "";
  margin: auto;
  width: 6px;
  height: 6px;
  display: block;
  border: 1px solid #0654a5;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: -12px;
}
.catalog_dl {
  margin: 60px 0;
}
.catalog_dl .btn_box {
  margin: 0 auto;
  width: fit-content;
}
.catalog_dl a.btn_dl {
  margin: 0 auto;
  width: fit-content;
  display: block;
}
.catalog_dl a.btn_dl:hover {
  opacity: 0.8;
}
.catalog_dl a.more_text {
  margin: 20px auto 0;
  color: #0000ff;
  font-size: 15px;
  width: fit-content;
  display: block;
}
a.moreBtn {
  margin: 60px auto 0;
  color: #fff;
  padding: 18px 100px;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  line-height: 1.2;
  width: fit-content;
  display: flex;
  background: #6561ab;
  align-items: flex-start;
  justify-content: center;
  border-radius: 4px;
  box-sizing: border-box;
  position: relative;
}
a.moreBtn:after {
  content: "";
  margin: auto;
  width: 10px;
  height: 10px;
  border: 1px solid #fff;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 80px;
}
a.moreBtn:hover {
  opacity: 0.8;
  text-decoration: none;
}
.dlBox .btnBox {
  margin: 0 auto;
  max-width: 1200px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 60px 40px;
}
.dlBox .btnBox a.normalButton {
  line-height: 1.2;
  min-height: 60px;
  min-width: 420px;
  max-width: calc((100% - 40px) / 2);
  text-align: center;
  margin-top: 80px;
}
.dlBox .btnBox a.normalButton:has(span) {
  padding: 16px 46px 12px;
  flex-direction: column;
  align-items: flex-start;
}
.dlBox .btnBox a.normalButton span {
  font-size: 14px;
}
.dlBox .btnBox a.normalButton:has(span) > p {
  font-size: 20px;
}
.normalButton {
  padding: 12px 46px 10px;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0654a5;
  border-radius: 100px;
  box-sizing: border-box;
  position: relative;
}
.normalButton:has(span) {
  line-height: 1.2;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 2px;
}
.normalButton span {
  font-size: 14px;
}
.normalButton:hover {
  text-decoration: none;
  opacity: 0.8;
}
.normalButton:after {
  content: "";
  margin: auto;
  position: absolute;
  width: 10px;
  height: 10px;
  display: block;
  border: 2px solid #fff;
  border-width: 2px 2px 0 0;
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  right: 25px;
}
.mt_space {
  margin-top: 60px !important;
}
.necessity .inner .featuresList.col4 li {
  width: 230px;
  padding: 30px 20px 20px;
}
.boxgray__items {
  background: #f5f5f5;
  width: 100%;
  padding: 30px;
  display: flex;
  box-sizing: border-box;
  flex-wrap: wrap;
  justify-content: space-between;
}
.boxgray__item__pic {
  width: 45%;
}
.boxgray__item__txt {
  width: 50%;
}
.boxgray__item__txt dt {
  font-size: 20px;
  padding-bottom: 20px;
}
.var_blue.appguard #mv .inner, .var_blue.kaigishindan #mv .inner, .var_blue.pclcm #mv .inner {
  height: 465px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.var_blue.appguard #mv::before, .var_blue.appguard #mv::after, .var_blue.kaigishindan #mv::before, .var_blue.kaigishindan #mv::after, .var_blue.pclcm #mv::before, .var_blue.pclcm #mv::after {
  display: none;
}
.var_blue.appguard #mv {
  background: url("../appguard/images/main_appguard.jpg") no-repeat right center;
  background-size: cover;
}
.var_blue.kaigishindan #mv {
  background: url("../../../it/products/kaigishindan/images/main_kaigishindan.jpg") no-repeat right center;
  background-size: cover;
}
.var_blue.pclcm #mv {
  background: url("../pclcm/images/main.jpg") no-repeat right center;
  background-size: cover;
}
#mv .inner .topTxt.bg_wht {
  background-color: rgb(255, 255, 255, 0.7);
  padding: 30px 50px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: baseline;
  max-width: 600px;
  width: auto;
}
.mv_fot {
  margin: auto auto 0 auto;
}
#mv .inner .topTxt.bg_wht .mainTxt {
  margin: 0 0 15px;
  line-height: 1.3;
}
#mv .inner .topTxt.bg_wht .ttlTxt {
  margin: 0 auto 20px;
}
.var_blue.appguard .necessity .inner .col2Txt {
  margin: 0 auto 40px auto;
}
.featuresList.ver_gray .subttl {
  background: #fff;
  font-size: 12px;
  padding: 3px;
  box-sizing: border-box;
}
.featuresList.ver_gray .ttl {
  font-weight: bold;
  font-size: 20px;
  padding: 10px;
  box-sizing: border-box;
  line-height: 1.4;
  height: 80px;
}
.necessity .inner .featuresList.ver_gray li .img {
  background: none;
  width: 100%;
  height: 60px;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: unset;
  margin: 18px auto 12px auto;
}
.featuresList.ver_gray li {
  display: flex;
  flex-direction: column;
}
.featuresList.ver_gray li p:last-child {
  margin-top: auto;
  text-align: left;
}
.sp {
  display: none;
}
.necessity .inner .featuresList.box_line li {
  background-color: #fff !important;
  border: #c6171e 1px solid;
}
.necessity .inner .featuresList.box_line.ver__blue li {
  border: #0254a5 1px solid;
}
.necessity .inner .featuresList.box_line li .img {
  padding: 0;
  width: 100%;
  height: auto;
  border-radius: 0;
}
.txt_bg_blue {
  background: linear-gradient(transparent 65%, #dfe6f9 0%);
  font-weight: bold;
  display: inline;
  line-height: 1.6;
}
.subTtl03 {
  text-align: center;
  margin-bottom: 6px;
  color: #0254a5;
}
.var_blue.kaigishindan .dlBtnWrap a.dlBtn dl dd {
  text-align: center;
  min-width: 62%;
}
.list_faq {
  margin-bottom: 80px;
}
.list_faq dt, .list_faq dd {
  padding: 10px 20px 10px 75px;
  position: relative;
  min-height: 58px;
  display: flex;
  align-items: center;
}
.list_faq dt:before {
  content: 'Q';
  font-size: 2.8rem;
  position: absolute;
  left: 25px;
  top: 6px;
  /*color: #0254a5;*/
}
.list_faq dd {
  background: #f5f5f5;
}
.list_faq dd:before {
  content: 'A';
  color: #24597F;
  font-size: 2.8rem;
  position: absolute;
  left: 25px;
  top: 6px;
}
.tbl-type01 {
  border-collapse: collapse;
  width: 100%;
  border: solid 1px #bacedf;
  margin-bottom: 15px;
}
.tbl-type01 th {
  border: solid 1px #bacedf;
  background: #e8f4ff;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  width: 33.33%;
}
.tbl-type01 td {
  border: solid 1px #bacedf;
  background: #fff;
  padding: 10px;
  vertical-align: top;
}
.tab_navy, .tab_grn, .tab_red {
  background: #0254a5;
  color: #fff;
  padding: 2px 15px;
  font-size: 90%;
  margin-right: 5px;
}
.tab_grn {
  background: #38a502;
}
.tab_red {
  background: #a51802;
}
.box_style01 {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.box_style01 > li {
  width: 30%;
  text-align: left;
}
.box_style01 > li span:first-child {
  background: #0254a5;
  color: #fff;
  display: block;
  border-radius: 100%;
  width: 60px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  font-size: 30px;
  margin: 0 auto 15px auto;
}
.box_style01 > li .ttl {
  text-align: center;
  color: #0254a5;
  font-size: 18px;
  border-bottom: #0254a5 1px solid;
  padding-bottom: 8px;
}
.box_style01 > li .img {
  text-align: center;
  margin: 0 auto 20px auto;
  max-width: 80%;
}
.box_style01 > li .answer {
  background: #e8f4ff;
  padding: 20px;
  box-sizing: border-box;
  min-height: 336px;
}
.box_style01 > li .answer span {
  color: #0254a5;
}
.box_style01 > li .txt {
  min-height: 168px;
  padding: 20px;
  box-sizing: border-box;
}
.img__wht {
  box-sizing: border-box;
  padding: 30px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: inline-block;
  }
  .checkList.col2 li {
    width: 100%;
  }
  .necessity {
    padding: 60px 4% 40px;
  }
  .necessity .inner {
    width: 100%;
  }
  .necessity .inner h2 {
    font-size: 26px;
    margin: 0 0 40px;
  }
  .necessity .inner h3 {
    margin: 0 0 20px;
    font-size: 18px;
    padding: 10px;
    letter-spacing: 0.05em;
  }
  .necessity .inner .imgWrap {
    margin: 20px 0 40px;
  }
  .necessity .inner .col2Txt {
    display: block;
  }
  .necessity .inner .col2Txt .col {
    width: 100%;
    margin: 0;
  }
  .necessity .inner .col2Txt .col.imImg {
    position: static;
    padding: 0;
  }
  .necessity .inner .col2Txt .col dt {
    font-size: 20px;
    line-height: 1.3;
    margin: 0;
  }
  .necessity .inner .col2Txt .col dd {
    padding: 20px 0 15px 0;
  }
  .necessity .inner .col2Txt .col.imImg dd {
    padding: 20px 0 15px 0;
  }
  .necessity .inner .col2Txt .col dd .img {
    position: static;
    width: 100%;
    max-width: 400px;
    margin: 20px auto 0;
  }
  .featuresList {
    width: 100% !important;
  }
  .necessity .inner .featuresList {
    grid-row-gap: 20px;
  }
  .necessity .inner .featuresList li {
    width: 100%;
    padding: 40px 20px 30px;
  }
  .necessity .inner dl dt {
    font-size: 18px;
    margin: 0 0 20px;
  }
  .items {
    padding: 8% 4%;
  }
  .productLink {
    row-gap: 20px;
  }
  .productLink__item {
    width: 100%;
  }
  .productLink__item .top {
    font-size: 15px;
  }
  .case {
    padding: 8% 4%;
  }
  .caseLink {
    width: 100%;
    margin: 0 auto 30px;
    row-gap: 20px;
  }
  .caseLink a {
    width: 100%;
  }
  .caseLink a .img span {
    padding: 2px 5px;
  }
  .foodpro #mv .inner {
    background: url(../trace_eye_food-pro/images/main_food-pro.png) no-repeat center bottom;
    background-size: auto 145px;
  }
  .trouble {
    flex-wrap: wrap;
    padding: 30px 20px 180px 20px;
  }
  .trouble > div {
    width: 100%;
  }
  .caseList {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .caseList > a {
    background: #eef2fc;
    width: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #f3f3f3;
    box-sizing: border-box;
  }
  .caseList > a:active {
    text-decoration: none;
    opacity: 0.8;
    background: #dbdbff;
  }
  .caseList > a .visual {
    position: relative;
  }
  .caseList > a .visual > img {
    width: 100%;
    aspect-ratio: 7 / 5;
    object-fit: cover;
  }
  .caseList > a .visual > span {
    margin: auto;
    padding: 8px 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    width: fit-content;
    min-width: 100px;
    background: #0654a5;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
  }
  .caseList > a dl {
    padding: 6% 4% 4%;
    width: 100%;
    box-sizing: border-box;
  }
  .caseList > a dl dt {
    font-size: 16px;
    font-weight: 600;
    text-align: center;
  }
  .caseList > a dl dd {
    margin-top: 2%;
    font-size: 14px;
  }
  .caseList > a .more {
    margin-top: auto;
    padding: 14px;
    border-top: 1px solid #e7e7f3;
    width: 100%;
    box-sizing: border-box;
  }
  .caseList > a .more > p {
    margin: 0 auto;
    color: #0654a5;
    font-size: 12px;
    line-height: 1;
    width: fit-content;
    position: relative;
  }
  .caseList > a .more > p:after {
    content: "";
    margin: auto;
    width: 6px;
    height: 6px;
    display: block;
    border: 1px solid #0654a5;
    border-width: 1px 1px 0 0;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: -12px;
  }
  .catalog_dl {
    margin: 40px 0;
  }
  .catalog_dl .btn_box {
    margin: 0 auto;
    width: fit-content;
  }
  .catalog_dl a.btn_dl {
    margin: 0 auto;
    width: fit-content;
    display: block;
  }
  .catalog_dl a.btn_dl:hover {
    opacity: 0.8;
  }
  .catalog_dl a.more_text {
    margin: 16px auto 0;
    color: #0000ff;
    font-size: 14px;
    width: fit-content;
    display: block;
  }
  a.moreBtn {
    margin: 30px auto 0;
    color: #fff;
    padding: 1.0em 1.6em;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    display: flex;
    background: #6561ab;
    align-items: flex-start;
    justify-content: center;
    border-radius: 4px;
    box-sizing: border-box;
    position: relative;
  }
  a.moreBtn:after {
    content: "";
    margin: auto;
    width: 0.5em;
    height: 0.5em;
    border: 1px solid #fff;
    border-width: 1px 1px 0 0;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
  }
  a.moreBtn:hover {
    opacity: 0.8;
    text-decoration: none;
  }
  .dlBox .btnBox {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0px;
  }
  .dlBox .btnBox li {
    width: 100%
  }
  .dlBox .btnBox a.normalButton {
    line-height: 1.2;
    padding: 12px 28px;
    min-width: 100%;
    width: 100%;
    margin-top: 20px;
  }
  .dlBox .btnBox a.normalButton:has(span) {
    flex-direction: column;
    align-items: flex-start;
  }
  .dlBox .btnBox a.normalButton span {
    font-size: 14px;
  }
  .dlBox .btnBox a.normalButton:has(span) > p {
    font-size: 16px;
  }
  .dlBox .btnBox a.normalButton.solution, .dlBox .btnBox a.normalButton.erp {}
  .normalButton {
    padding: 1.2em 3em;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #0654a5;
    border-radius: 100px;
    box-sizing: border-box;
    position: relative;
    border: solid 2px #FFF;
  }
  .normalButton:has(span) {
    line-height: 1.2;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  .normalButton span {
    font-size: 12px;
    font-weight: 400;
  }
  .normalButton:active {
    text-decoration: none;
    opacity: 0.8;
  }
  .normalButton:after {
    content: "";
    margin: auto;
    position: absolute;
    width: 0.6em;
    height: 0.6em;
    display: block;
    border: 2px solid #fff;
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
    top: 0;
    bottom: 0;
    right: 1.4em;
  }
  .mt_space {
    margin-top: 30px !important;
  }
  .necessity .inner .featuresList.col4 li {
    width: 100%;
    padding: 40px 20px 30px;
  }
  .boxgray__items {
    padding: 30px 20px;
    grid-row-gap: 20px
  }
  .boxgray__item__pic, .boxgray__item__txt {
    width: 100%;
  }
  .boxgray__item__txt dt {
    font-size: 18px;
    padding-bottom: 15px;
  }
  .var_blue.appguard #mv .inner, .var_blue.kaigishindan #mv .inner, .var_blue.pclcm #mv .inner {
    height: inherit;
    padding: 0;
  }
  .var_blue.appguard #mv {
    background: url("../appguard/images/main_appguard_sp.jpg") no-repeat center center;
    background-size: cover;
  }
  .var_blue.pclcm #mv {
    background: url("../pclcm/images/main_sp.jpg") no-repeat center center;
    background-size: cover;
  }
  .reverse_sp {
    flex-direction: column-reverse !important;
    display: flex !important;
  }
  #mv .inner .topTxt.bg_wht {
    padding: 20px;
    width: 100% !important;
  }
  .featuresList.ver_gray .ttl {
    font-size: 18px;
    height: inherit;
  }
  .necessity .inner .featuresList.ver_gray li .img {
    height: inherit;
    margin: 23px auto 15px auto;
  }
  .necessity .inner .featuresList.ver_gray li .img img {
    max-width: 65%;
  }
  .list_faq {
    margin-bottom: 40px;
    font-size: 1.0rem;
  }
  .list_faq dt, .list_faq dd {
    padding: 10px 15px 10px 50px;
    min-height: 58px;
  }
  .list_faq dt:before, .list_faq dd:before {
    font-size: 2.0rem;
    left: 17px;
    top: 11px;
  }
  .tbl_wrap {
    overflow-x: scroll
  }
  .tbl-type01 {
    width: 600px;
  }
  .tab_navy, .tab_grn, .tab_red {
    padding: 2px 10px;
  }
  .box_style01 {
    flex-wrap: wrap;
    grid-row-gap: 30px
  }
  .box_style01 > li {
    width: 100%;
  }
  .box_style01 > li span:first-child {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 20px;
  }
  .box_style01 > li .ttl {
    font-size: 16px;
  }
  .box_style01 > li .answer {
    min-height: inherit;
  }
  .box_style01 > li .txt {
    min-height: inherit;
  }
  .img__wht {
    padding: 25px;
  }
  p.ttlTxt {
    text-align: left;
  }
  .scroll_sp {
    overflow-x: scroll;
    width: 100%;
  }
  .scroll_sp img {
    width: 600px;
    max-width: inherit;
  }
}
/* flow */
.serviceFlowList_caption {
  font-size: 20px;
  font-weight: 500;
  text-align: center
}
@media only screen and (max-width:768px) {
  .serviceFlowList_caption {
    font-size: 18px
  }
}
.serviceFlowList_caption + .serviceFlowList {
  margin: 1rem auto 0
}
.serviceFlowList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin: 4rem auto 0;
    counter-reset: number;
    column-gap: 20px;
}
@media only screen and (max-width:768px) {
  .serviceFlowList {
    position: relative;
    z-index: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.serviceFlowList > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 30px 20px 20px;
  background: #e5f8f6;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: 1px solid #fff;
}
@media only screen and (max-width:768px) {
  .serviceFlowList > li {
    position: relative;
    padding: 3.4rem 20px 20px
  }
  .serviceFlowList > li:nth-child(1) {
    z-index: -1;
	  padding-top: 20px;
  }
  .serviceFlowList > li:nth-child(2) {
    z-index: -2
  }
  .serviceFlowList > li:nth-child(3) {
    z-index: -3
  }
  .serviceFlowList > li:nth-child(4) {
    z-index: -4
  }
  .serviceFlowList > li:nth-child(5) {
    z-index: -5
  }
  .serviceFlowList > li:nth-child(6) {
    z-index: -6
  }
  .serviceFlowList > li:nth-child(7) {
    z-index: -7
  }
  .serviceFlowList > li:nth-child(8) {
    z-index: -8
  }
  .serviceFlowList > li:nth-child(9) {
    z-index: -9
  }
  .serviceFlowList > li:nth-child(10) {
    z-index: -10
  }
}
.serviceFlowList > li:last-child .serviceFlowDetail_pic::after, .serviceFlowList > li:last-child .serviceFlowDetail_pic::before {
  display: none
}
.serviceFlowList .serviceFlowDetail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}
@media only screen and (max-width:768px) {
  .serviceFlowList .serviceFlowDetail {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}
.serviceFlowList .serviceFlowDetail_pic {
  position: relative;
  width: 100%;
  margin: 1rem auto 0;
  text-align: center
}
.serviceFlowList .serviceFlowDetail_pic span {
  border-radius: 100%;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  background: #fff;
}
@media only screen and (max-width:768px) {
  .serviceFlowList .serviceFlowDetail_pic {
    width: 70px;
    margin: 0;
    padding-top: 1.6rem
  }
  .serviceFlowList .serviceFlowDetail_pic span {
    width: 70px;
    height: 70px;
    padding: 12px;
    box-sizing: border-box;
  }
}
.serviceFlowList .serviceFlowDetail_pic::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -75px;
    display: block;
    width: 100px;
    height: 1px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #00ae83;
    z-index: 1;
}
@media only screen and (max-width:768px) {
  .serviceFlowList .serviceFlowDetail_pic::before {
    z-index: 1;
    top: inherit;
    left: 50%;
    width: 1px;
    height: 100px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: -103px;
  }
}
.serviceFlowList .serviceFlowDetail_pic::after {
content: "";
    position: absolute;
    top: 50%;
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #00ae83;
    border-right: 1px solid #00ae83;
    z-index: 1;
    right: -72px;
}
@media only screen and (max-width:768px) {
  .serviceFlowList .serviceFlowDetail_pic::after {
    z-index: 1;
    top: calc((100% - 10rem - 2.4rem + 3.4rem + 3rem) + 12.5rem - ((1.4rem / .7071067812) - (1.4rem * (1 /.7071067812 - 1)/ 2)));
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(135deg);
    transform: translateX(-50%) rotate(135deg)
  }
}
.serviceFlowList .serviceFlowDetail_pic img, .serviceFlowList .serviceFlowDetail_pic svg {
  margin: 0 auto;
  -o-object-fit: contain;
  object-fit: contain
}
.serviceFlowList .serviceFlowDetail_texts {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}
@media only screen and (max-width:768px) {
  .serviceFlowList .serviceFlowDetail_texts {
    width: calc(100% - 10rem - 2rem);
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    margin-left: 14px;
    margin-left: 1.4rem
  }
}
.serviceFlowList .serviceFlowDetail_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: .7em;
  font-weight: 700;
  line-height: 1.625;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  font-size: 20px !important;
  margin: 20px 0 10px 0 !important
}
@media only screen and (max-width:768px) {
  .serviceFlowList .serviceFlowDetail_ttl {
    margin-top: 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    text-align: left;
    font-size: 18px !important
  }
}
.serviceFlowList .serviceFlowDetail_txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-top: .6em;
}
.serviceFlowList .serviceFlowDetail_txt a{
    color: #0400ff;
    text-decoration: underline;
}
@media only screen and (max-width:768px) {
  .serviceFlowList .serviceFlowDetail_txt {
    margin-top: .2em
  }
}
.serviceFlowList .serviceFlowDetail_txt ul li {
  position: relative;
  padding-left: 1em;
  text-indent: -1em
}
.serviceFlowList .serviceFlowDetail_txt ul li::before {
  content: "・"
}
.serviceFlowList .serviceFlowDetail_link {
  margin-top: auto;
  margin-bottom: 0;
  padding-top: 1em;
  text-align: center
}
.serviceFlowList .serviceFlowDetail_link .c-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 1.2rem;
  font-weight: 400;
  background-color: transparent;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.serviceFlowList .serviceFlowDetail_link .c-link:active .-icon, .serviceFlowList .serviceFlowDetail_link .c-link:hover .-icon {
  background-color: #cecdcd
}
.serviceFlowList .serviceFlowDetail_link .c-link .-icon {
  position: relative;
  width: 12px;
  width: 1.2rem;
  height: 12px;
  height: 1.2rem;
  margin-left: .5em;
  background-color: #eee
}
.serviceFlowList .serviceFlowDetail_link .c-link .-icon.waves-effect .waves-ripple {
  background: rgba(0, 0, 0, .2);
  background: radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%)
}
@media only screen and (max-width:768px) {
  .serviceFlowList .serviceFlowDetail_link .c-link .-icon {
    width: 14px;
    width: 1.4rem;
    height: 14px;
    height: 1.4rem
  }
}
.serviceFlowList .serviceFlowDetail_link .c-link .-icon::after {
  content: "";
  top: 32%;
  width: 4px;
  width: .4rem;
  height: 4px;
  height: .4rem;
  border-right: 1px solid #3e3a39;
  border-bottom: 1px solid #3e3a39
}
@media only screen and (max-width:768px) {
  .serviceFlowList .serviceFlowDetail_link .c-link .-icon::after {
    top: 36%;
    width: 4px;
    width: .4rem;
    height: 4px;
    height: .4rem
  }
}
.serviceFlowList .serviceFlowDetail_note {
  font-size: 12px;
  font-size: 1.2rem
}
/* color grn*/
.var_grn #mv::after {
  background: url(../images/bg_wave2.svg) no-repeat 0 0;
  background-size: 100% auto;
}
.var_grn #mv::before {
  background: url(../images/bg_wave4.svg) no-repeat 0 0;
  background-size: 100% auto;
}
.jsLowdirTopMenu .btn li.contact.grn a {
  background: #189c3e url(/system/cocktail/common/images/core/hanbai/icon_contact.svg) no-repeat right 10px center;
}
.var_grn .dlBtnWrap a.dlBtn {
  background: #f3fff6 url(../images/bg_wave2.svg) no-repeat right bottom;
  background-size: 100% auto;
}
.var_grn p.osusume, .var_grn .dlBtnWrap a.dlBtn dl dd .baloon, .var_grn .dlBtnWrap a.dlBtn dl dd .flex .white {
  color: #189c3e;
}
.var_grn .necessity .inner h3, .var_grn .col2txtBox h3::after, .var_grn .ttlStyle01::after, .var_grn #float_area ul li a, .btn-box > .downloadBtn.var_grn, .btn-box > .contactBtn.var_grn, .var_grn .normalButton {
  background-color: #189c3e;
}
/*.var_grn .productLink__item {
  border: 2px solid #f3fff6;
}
.var_grn .productLink__item .top {
  color: #189c3e;
  background: #f3fff6;
}
.var_grn .productLink__item .arrow a {
  border: 1px solid #189c3e;
  color: #189c3e;
}*/
.jsLowdirTopMenu .btn li.contact.var_grn a {
  background: #189c3e url(/system/cocktail/common/images/core/hanbai/icon_contact.svg) no-repeat right 10px center;
}
.var_grn .necessity .inner .featuresList li {
  background-color: #f3faf5
}
@media screen and (max-width: 768px) {}
/* color grn2*/
.var_grn2 #mv {
  background-color: #e5f8f6
}
.var_grn2.optamo #mv .inner {
  background: url("../optamo/images/main.png") no-repeat right center;
  background-size: 500px auto;
}
.var_grn2 #mv::after {
  background: url(../images/bg_wave10.svg) no-repeat 0 0;
  background-size: 100% auto;
}
.var_grn2 #mv::before {
  background: url(../images/bg_wave9.svg) no-repeat 0 0;
  background-size: 100% auto;
}
.var_grn2 .dlBtnWrap a.dlBtn {
  background: #e5f8f6 url(../images/bg_wave10.svg) no-repeat right bottom;
  background-size: 100% auto;
}
.var_grn2 p.osusume, .var_grn2 .dlBtnWrap a.dlBtn dl dd .baloon, .var_grn2 .dlBtnWrap a.dlBtn dl dd .flex .white {
  color: #00bea5;
}
.var_grn2 .necessity .inner h3, .var_grn2 .col2txtBox h3::after, .var_grn2 .ttlStyle01::after, .var_grn2 #float_area ul li a, .btn-box > .downloadBtn.var_grn2, .btn-box > .contactBtn.var_grn2, .var_grn2 .normalButton {
  background-color: #00bea5;
}
.jsLowdirTopMenu .btn li.contact.var_grn2 a {
  background: #00bea5 url(/system/cocktail/common/images/core/hanbai/icon_contact.svg) no-repeat right 10px center;
}
.var_grn2 .necessity .inner .featuresList li {
  background-color: #e5f8f6
}
@media screen and (max-width: 768px) {
  .var_grn2.optamo #mv .inner {
    background: url(../optamo/images/main.png) no-repeat center bottom;
    background-size: 100% auto;
  }
}
/* color blue*/
.var_blue #mv {
  background-color: #eef2fc
}
.var_blue.foodpro #mv .inner {
  background: url("../shoku-inspector/images/main_shoku-inspector.png") no-repeat right center;
}
@media screen and (max-width: 768px) {
  .var_blue.foodpro #mv .inner {
    background: url("../shoku-inspector/images/main_shoku-inspector.png") no-repeat bottom center;
    background-size: auto 45vw;
  }
}
/* color red*/
.var_red #mv {
  background-color: #fef0f1
}
.var_red.v-one #mv .inner {
  background: url("../v-one-cloud/images/main_v-one-cloud.svg") no-repeat right center;
  background-size: 490px auto;
}
@media screen and (max-width: 768px) {
  .var_red.v-one #mv .inner {
    background: url("../v-one-cloud/images/main_v-one-cloud.svg") no-repeat bottom center;
    background-size: auto 45vw;
  }
}
.var_red #mv::after {
  background: url(../images/bg_wave6.svg) no-repeat 0 0;
  background-size: 100% auto;
}
.var_red #mv::before {
  background: url(../images/bg_wave5.svg) no-repeat 0 0;
  background-size: 100% auto;
}
.jsLowdirTopMenu .btn li.contact.red a {
  background: #c6171e url(/system/cocktail/common/images/core/hanbai/icon_contact.svg) no-repeat right 10px center;
}
.var_red .dlBtnWrap a.dlBtn {
  background: #fddcdf url(../images/bg_wave7.svg) no-repeat right bottom;
  background-size: 100% auto;
}
.var_red p.osusume, .var_red .dlBtnWrap a.dlBtn dl dd .baloon, .var_red .dlBtnWrap a.dlBtn dl dd .flex .white {
  color: #c6171e;
}
.var_red .necessity .inner h3, .var_red .col2txtBox h3::after, .var_red .ttlStyle01::after, .var_red #float_area ul li a, .btn-box > .downloadBtn.var_red, .btn-box > .contactBtn.var_red, .var_red .normalButton {
  background-color: #c6171e;
}
.jsLowdirTopMenu .btn li.contact.var_red a {
  background: #c6171e url(/system/cocktail/common/images/core/hanbai/icon_contact.svg) no-repeat right 10px center;
}
.var_red .necessity .inner .featuresList li {
  background-color: #fef0f1
}