@charset "UTF-8";/*----------------------------------------------------------更新日：2024年9月12日=PC(960以上)=PC & タブレット(960以下)=スマホ(768px以下)-------------------------------------------------------------*//*==================================================================Top page===================================================================*//* #keyv------------------------------------------------------*/#keyv {  display: flex;  position: relative;  flex-direction: column;  justify-content: center;  align-items: center;  height: 460px;  background: url("../img/top/keyv.webp") no-repeat center    center;  background-size: cover;  text-align: center;  color: #fff;  z-index: 5;}#keyv .mainTxt {  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  height: 100%;  padding: 0 2em;  position: relative;  z-index: 10;}#keyv .mainTxt h1 {  position: relative;  margin-bottom: 0.5em;  line-height: 1;  font-size: 100px;  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.75);}#keyv .mainTxt h1 span {  display: block;  margin-bottom: 0.5em;  font-size: 2rem;}#keyv .mainTxt h1 sub {  position: absolute;  right: -1em;  bottom: 0;  font-weight: normal;  font-size: 0.25em;}#keyv .mainTxt .box {  display: flex;  justify-content: center;  margin-bottom: 0;}#keyv .mainTxt li {  width: 180px;  margin: 0 0.5em;  padding: 1em 0;  border-radius: 5px;  background: rgba(0, 0, 0, 0.35);  line-height: 1.6;  font-size: 1.2em;}/* Video FV */#keyv #keyvVideo {  overflow: hidden;  display: flex;  justify-content: center;  align-items: center;  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;}/*カラーフィルター用*/#keyv #keyvVideo:before {  content: "";  display: block;  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  background: url("../img/top/bg_dot.png") repeat center center;  /*	background: linear-gradient(45deg, rgba(2, 7, 24, 0.3), rgba(12, 73, 119, 0.3));*/  z-index: 1;}#keyv #keyvVideo video {  position: absolute;  min-width: 100%;  min-height: 100%;  background: url("../img/top/keyv.webp") no-repeat center    center;  background-size: cover;}@media only screen and (max-width: 960px) {  #keyv {    height: 50vw;  }  #keyv .mainTxt h1 {    font-size: 10vw;  }  #keyv .mainTxt h1 span {    font-size: 3.6vw;  }  #keyv .mainTxt li {    width: 18vw;  }}@media only screen and (max-width: 768px) {  #keyv {    height: 80vw;  }  #keyv .mainTxt h1 {    margin-bottom: 0.5em;    font-size: 12vw;  }  #keyv .mainTxt h1 span {    font-size: 5vw;  }  #keyv .mainTxt {    padding: 0;  }  #keyv .mainTxt li {    width: 30vw;    margin: 0 1vw;    padding: 0.5em;    font-size: 0.875em;  }  #keyv .mainTxt li br {    display: none;  }}/*セール用ボタン*/#keyv .saleBan {  width: 160px;  position: absolute;  left: -14%;  top: 12%;  z-index: 15;  opacity: 0;}#keyv .saleBan a:hover {  opacity: 0.8;}.saleBan {  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;  animation-delay: 0.5s;}@keyframes zoomIn {  0% {    transform: scale(0.5);    opacity: 0;  }  100% {    opacity: 1;    transform: scale(1);  }}@media only screen and (max-width: 768px) {  #keyv .saleBan {    width: 20vw;    left: 1%;    top: 3%;  }}/* #read------------------------------------------------------*/#read {  position: relative;  margin-bottom: 2em;  background: #0d031e;  background: -moz-linear-gradient(    left,    #0d031e 0%,    #125e8e 35%,    #125e8e 65%,    #0d031e 100%  );  background: -webkit-linear-gradient(    left,    #0d031e 0%,    #125e8e 35%,    #125e8e 65%,    #0d031e 100%  );  background: linear-gradient(    to right,    #0d031e 0%,    #125e8e 35%,    #125e8e 65%,    #0d031e 100%  );  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0d031e', endColorstr='#0d031e',GradientType=1 );}#read h2 {  padding: 1em;  text-align: center;  line-height: 1.6;  font-size: 1.8em;  color: #fff;}#read .btn {  position: absolute;  top: 0;  left: 50%;  height: auto;  margin: 0;  padding: 0.5em 1em;  background: #ebf400;  font-size: 18px;  font-weight: bold;  color: #006db2;  transform: translate(-50%, -60%);  z-index: 30;}#read .btn:hover {  background: #888;  color: #fff;}#read .btn:before {  display: inline-block;  content: "";  margin: 2px 0.5em 0 0;  border-style: solid;  border-width: 8px 8px 0 8px;  border-color: #006db2 transparent transparent transparent;}#read .btn:hover:before {  border-color: #fff transparent transparent transparent;}#read .btn br {  display: none;}@media only screen and (max-width: 960px) {}@media only screen and (max-width: 768px) {  #read {    margin-bottom: 1em;  }  #read h2 {    font-size: 1.2em;  }  #read .btn {    width: max-content;    max-width: 90%;    text-align: center;    line-height: 1.4;    text-decoration: underline;    font-size: 1em;    transform: translate(-50%, -80%);  }  #read .btn:before {    display: none;  }  #read .btn br {    display: inline;  }}/* banArea------------------------------------------------------*/.banArea {  text-align: center;  margin: 2em 0 3em;  padding: 0 1em;}/* #about------------------------------------------------------*/#about .regist {  font-size: 0.8em;  color: #888;}#about .movie {  max-width: 640px;  margin: 2em auto;}#about .youtube:empty {  background: #ccc;}#about .youtube:empty:before {  content: "動画準備中";  position: absolute;  top: 50%;  left: 50%;  color: #666;  transform: translate(-50%, -50%);}#about .addFunc {  display: flex;  flex-direction: column;  justify-content: center;  align-items: center;  position: relative;  margin: 4em auto;  padding: 2em 2em 1em;  border: 1px solid #ccc;}#about .addFunc h3 {  position: absolute;  top: 0;  left: 50%;  width: max-content;  max-width: 100%;  padding: 0 1em;  transform: translate(-50%, -50%);  font-weight: bold;  font-size: 1.2em;  background: #ebf400;  color: #006db2;  text-align: center;}#about .addFunc .flex {  width: 100%;  justify-content: space-between;}#about .addFunc .box {  width: 33.3333%;  max-width: 300px;  margin-bottom: 1em;}#about .addFunc .box div {  display: flex;  justify-content: center;  align-items: center;  height: 180px;}#about .addFunc dt {  padding: 0.5em 0;  line-height: 1.6;  text-align: center;  font-size: 1.2em;  font-weight: 500;  color: #0076b3;}#about .addFunc dd {  width: max-content;  margin: 0 auto;  text-align: center;}#about .addFunc .btn {  max-width: none;  height: auto;  margin: 1em auto 0;  padding: 0 1em;  border-radius: 100vw;  font-size: 1em;}@media only screen and (max-width: 960px) {}@media only screen and (max-width: 768px) {  #about .addFunc {    margin-bottom: 2em;    padding: 2em 1em 1em;  }  #about .flex {    display: block;  }  #about .addFunc .box {    width: auto;    max-width: none;  }  #about .addFunc .box:not(:last-of-type) {    margin-bottom: 1em;    padding-bottom: 1em;    border-bottom: 1px solid #ccc;  }}/* #feature------------------------------------------------------*/#feature p.pic {  margin: 2em auto 3em;}#feature .box {  margin-top: 2em;}#feature .flex {  justify-content: space-between;  align-items: flex-start;}#feature .flex .txt,#feature .flex .pic {  width: 50%;  max-width: 460px;}#feature .pic:empty {  padding-top: 30%;  background: #eee;}#feature .pic p {  margin: 1em 0;  text-align: center;}#feature .headline2 {  display: flex;  align-items: center;}#feature .headline2 span {  display: flex;  align-items: center;  position: relative;  height: 1.8em;  margin-right: 1.5em;  padding: 0 0.5em;  background: #888;  white-space: nowrap;  font-size: 1rem;  font-weight: normal;  color: #fff;}#feature .headline2 span:after {  content: "";  position: absolute;  top: 0;  right: -0.5em;  border-style: solid;  border-width: 0.9em 0 0.9em 0.5em;  border-color: transparent transparent transparent #888;}#feature .box.border {  padding: 2em 2em 1em;  border: 10px solid #eee;}#feature .box.border .headline1 {  align-items: center;  justify-content: center;}#feature .box .headline1 img {  margin-right: 0.5em;  vertical-align: middle;  transform: translate(0, -1px);}#feature .addFunc {  margin: 3em 0;  border: 1px solid #ccc;  padding: 2em;}#feature .addFunc h3 {  margin: 0 0 0.5em;  text-align: center;  font-size: 1.4em;  font-weight: 500;  color: #006db2;}#feature .addFunc .flex {  width: 100%;  justify-content: space-between;}#feature .addFunc .box {  width: calc(50% - 1em);  max-width: 450px;  margin-top: 0;}#feature .addFunc .box .cap {  text-align: center;}#feature .addFunc img {  width: 100%;}#feature .movie {  max-width: 640px;  margin: 1em auto;}@media only screen and (max-width: 960px) {  #feature .headline2 span {    font-size: 0.875em;  }  #feature .flex .txt,  #feature .flex .pic {    width: 48%;    max-width: none;  }}@media only screen and (max-width: 768px) {  #feature p.pic {    margin-bottom: 2em;  }  #feature .headline2 span {    margin-right: 1em;  }  #feature .flex {    display: block;  }  #feature .flex .txt,  #feature .flex .pic {    width: auto;  }  #feature .flex .pic {    margin-bottom: 1em;  }  #feature .flex .pic p {    font-size: 0.875em;  }  #feature .box.border {    padding: 1em;    border-width: 3vw;  }  #feature .addFunc {    padding: 1.5em;  }  #feature .addFunc h3 {    font-size: 1.3em;  }  #feature .addFunc .box {    width: auto;    max-width: none;  }  #feature .addFunc .box + .box {    margin-top: 1em;  }}/* #model------------------------------------------------------*/#model .pic {  margin: 2em 0;}#model .pic:empty {  padding-top: 30%;  background: #eee;}#comparison {  display: flex;  justify-content: space-between;  padding-top: 2em;}#comparison .box {  position: relative;  width: 50%;  border-left: 1px solid #ccc;  padding-left: 2em;}#comparison h3 {  position: relative;  width: max-content;  max-width: 100%;  margin: 0 auto 1em;  padding: 0.25em 1.5em;  background: #888;  font-size: 1.2em;  color: #fff;}#comparison h3:after {  content: "";  position: absolute;  left: 50%;  bottom: 0;  border-style: solid;  border-width: 10px 10px 0 10px;  border-color: #888 transparent transparent transparent;  transform: translate(-50%, 100%);}#comparison h4 {  margin-bottom: 0;  padding-left: 1.5em;  text-indent: -1.5em;}#comparison h4 .new {  margin-right: 0.5em;  text-indent: 0;}#comparison h4:before {  content: "●";  margin-right: 0.5em;  color: #bbb;}#comparison .box:first-of-type {  padding: 0 2em 0 0;  border-left: 0;}#comparison .box:first-of-type h3 {  background: #0076b3;}#comparison .box:first-of-type h3:after {  border-color: #0076b3 transparent transparent transparent;}#comparison .box:first-of-type h4:before {  color: #0076b3;}#comparison .kome li {  margin-bottom: 0;  font-size: 0.875em;  font-weight: normal;}#cost {  margin-top: 2em;}#cost .flex {  justify-content: space-between;  flex-wrap: wrap;  padding: 2em;  background: #ebeffb;}#cost .box {  width: calc(50% - 1em);  padding: 2em 1em 1em;  background: #fff;  text-align: center;}#cost h3 {  display: flex;  justify-content: center;  align-items: center;  font-size: 1.4em;}#cost h3 img {  margin: 0.2em 0.5em 0 0;}#cost .pic img {  width: 100%;  max-width: 376px;}#cost .box p {  margin: 0.5em 0 0;  font-size: 1.4em;  font-weight: 500;}#cost .box p strong {  color: #00b372;}#cost .box p span {  font-size: 1.4em;}@media only screen and (max-width: 960px) {}@media only screen and (max-width: 768px) {  #comparison {    display: block;    padding-top: 1em;  }  #comparison .box {    width: 100%;    border-left: 0;    padding: 0 !important;  }  #comparison h3:after {    border-width: 3vw 3vw 0 3vw;  }  #comparison .box:first-of-type {    margin-bottom: 2em;  }  #comparison .kome li {    margin-bottom: 0;    font-size: 0.875em;    font-weight: normal;  }  #cost .flex {    padding: 1em;  }  #cost .box {    width: 100%;    padding: 1em;  }  #cost .box:not(:first-of-type) {    margin-top: 1em;  }  #cost h3,  #cost .box p {    font-size: 1.2em;  }  #cost .pic img {    max-width: none;  }}/* #use-case------------------------------------------------------*/#use-case .flex {  justify-content: space-between;  flex-wrap: wrap;}#use-case .box {  position: relative;  width: calc(50% - 0.5px);  margin-top: 1px;}#use-case .box .headline2,#use-case .box p {  margin-bottom: 0;}#use-case .headline2 {  position: absolute;  left: 0;  bottom: 0;  width: 100%;  background: rgba(0, 0, 0, 0.2);  margin-bottom: 0;  padding-left: 1em;  font-size: 1.3em;  color: #fff;}#use-case .headline2 span {  display: block;  width: max-content;  margin-left: -1em;  padding: 0 0.5em;  background: #0076b3;  font-size: 1rem;  font-weight: normal;}#use-case .btnarea a:hover {  opacity: 0.8;}#voice {  margin-top: 2em;}#voice > p {  text-align: center;}#voice .inner {  padding: 2em;  background: #ebeffb;}#voice dl {  overflow: hidden;  display: flex;  margin: 0 auto 1em;  border-radius: 5px;}#voice dl:last-child {  margin-bottom: 0;}#voice dt {  display: flex;  align-items: center;  flex-shrink: 0;  position: relative;  width: 25%;  padding: 0 1em;  background-color: #0076b3;  color: #fff;  z-index: 1;}#voice dt .fa {  margin-right: 0.5em;}#voice dd {  margin: 0;  padding: 1em 2em;  border-radius: 0 5px 5px 0;  background: #fff;  width: 75%;}#voice dd strong {  color: #00b372;}@media only screen and (max-width: 960px) {  #use-case .headline2 span {    font-size: 1.67vw;  }}@media only screen and (max-width: 768px) {  #use-case .box {    width: 100%;    margin-top: 1em;  }  #use-case .headline2 span {    font-size: 3.6vw;  }  #voice .inner {    padding: 1em;  }  #voice dl {    display: block;    border-radius: 0;  }  #voice dt {    width: 60%;    border-radius: 5px 5px 0 0;  }  #voice dd {    padding: 1em;    border-radius: 0 5px 5px 5px;    width: 100%;  }}/* #price------------------------------------------------------*//*#price table {width: 100%;border-collapse: collapse;text-align: left;}#price table + .headline1 {margin-top: 2em;}#price th,#price td {padding: 1em;border: 1px solid #CCC;vertical-align: top;}#price th {background: #e5f9fd;white-space: nowrap;font-weight: 500;}#price .sub {background: #F6F6F6;white-space: nowrap;}#price .kitting,#price .option {margin: 2em 0;}#price .pbTitle{font-size: 18px;font-weight: 700;text-align: center;margin-bottom: 1em;padding: 0.5em 1em;letter-spacing: 1px;background-color: #e5f9fd;}#price .pbTitle span{color: #000;}#price .amount{display: flex;justify-content: flex-start;align-items:baseline;}#price .amount .txt span{color: #135aac;font-size: 1.1em;font-weight: 900;letter-spacing: 1px;}#price .amount .money{white-space: nowrap;padding-left: 1.5em;}#price .amount .money strong{font-size: 1.4em;}#price .servicetxt{margin: 1em 0 2em;}#price .priceBox .pic{margin-bottom: 1em;}#price .disc{margin-bottom: 0;}#price .disc li{margin-bottom: 0;list-style: inside disc;padding-left: 1em;text-indent: -1em;}#price  .deliver{padding: 1em 1.8em;margin-top: 1.5em;border: 1px solid #DDD;}#price .deliver .dHead{color: #135aac;font-weight: 700;margin-bottom: 0.5em;}#price .capList{margin-top: 0.5em;}#price .capList li{color: #444;font-size: 0.9em;padding-left: 1em;text-indent: -1em;margin-bottom: 0;}#price #usb-dongle .flex {align-items: center;}#price #usb-dongle .flex .pic {width: 250px;margin-right: 1em;}#price .movie {max-width: 640px;margin: 2em auto;}@media only screen and (max-width:960px) {}@media only screen and (max-width:768px) {#price th,#price td {padding: 0.5em;font-size: 0.875em;}#price .pbTitle{font-size: 1em;margin-bottom: 1em;}#price .amount .money{text-align: right;line-height: 1.4;}#price .deliver{padding: 1em;}#price #usb-dongle .flex {display: block;}#price #usb-dongle .flex .pic {width: 50%;margin:0 auto;}}*//*price タイトル系*/#price.sec .headline1 {  margin-top: 3em;}#price.sec .headline1.notmt {  margin-top: 0;}#price .priHeadline02 {  padding: 0.5em;  font-size: 1.1em;  font-weight: bold;  text-align: center;  letter-spacing: 1px;  background-color: #e5f9fd;}#price .priHeadline02 span {  color: #000;}@media only screen and (max-width: 768px) {  #price.sec .headline1 {    margin-top: 2em;  }}/*price 共通*/#price p {  margin: 0;}#price .pic {  margin-bottom: 1em;}#price .mb1em {  margin-bottom: 1em !important;}#price .toptxt {  text-align: center;  margin-bottom: 1em;}#price .deals {  font-size: 1.2em;  font-weight: 700;  text-align: center;  margin: 0.5em 0 0;}#price .cUnderLine {  background: linear-gradient(transparent 65%, #feffa0 0%);}#price .capList {  margin-bottom: 2em;}#price .capList li {  color: #666;  font-size: 0.875em;  line-height: 1.6;  margin-bottom: 0;}#price .name {  color: #0066cc;  font-size: 1.2em;  font-weight: 700;  margin-bottom: 0;  line-height: 1.6;}#price .pl_title {  font-size: 0.9em;  font-weight: 700;  text-decoration: underline;  text-underline-offset: 0.3em;}#price .pl_price span {  font-size: 1.4em;  font-weight: 700;  padding-right: 0.1em;  line-height: 1.6;}#price .pl_tax {  font-size: 0.9em;}@media only screen and (max-width: 768px) {  #price .toptxt {    text-align: left;  }  #price .deals {    font-size: 1em;  }  #price .name {    font-size: 1.1em;    text-align: center;  }  #price .pl_title {    font-size: 0.8em;  }  #price .pl_price span {    font-size: 1.2em;  }  #price .pl_tax {    font-size: 0.8em;  }}/*基本製品*/#price .basicBox {  background-color: #f3f3f3;  padding: 2em;}#price .basicBox + .basicBox {  margin: 2em 0 0.5em 0;}#price .basicBox .expBox {  background-color: #fff;  border-radius: 4px;  padding: 1em 2em 1em;  margin-bottom: 1em;  font-feature-settings: "palt";}#price .basicBox .expBox dl {  display: flex;  justify-content: space-between;  align-items: center;  margin: 0 0 0.5em;}#price .basicBox .expBox dt {  width: 55%;}#price .basicBox .expBox dt p {  font-size: 0.9em;  line-height: 1.6;}#price .basicBox .expBox dd {  display: flex;  margin: 0;}#price .basicBox .expBox dd > div {  text-align: right;}#price .basicBox .expBox dd > div + div {  margin-left: 2.5em;}#price .basicBox .detailBox {  display: flex;  justify-content: space-between;}#price .basicBox .detailBox.boderb {  border-bottom: 1px dotted #333;  padding: 0 0 1.5em 0;}#price .basicBox .detailBox > div {  width: 48%;}#price .basicBox .detailBox > div p {  line-height: 1.6;  margin: 0 0 0.5em;}#price .movie {  max-width: 640px;  margin: 1em auto 0;}#price .movie .title {  text-align: center;  font-size: 1.2em;  font-weight: 700;  margin-bottom: 0.5em;}@media only screen and (max-width: 768px) {  #price .basicBox {    padding: 1em;  }  #price .basicBox + .basicBox {    margin: 1.5em 0 0.5em 0;  }  #price .basicBox .expBox {    padding: 1em 1em 1em;  }  #price .basicBox .expBox dl {    flex-direction: column;    margin: 0 0 1em;  }  #price .basicBox .expBox dt {    width: 100%;    margin-bottom: 1em;  }  #price .basicBox .expBox dd > div {    text-align: center;  }  #price .basicBox .detailBox {    flex-direction: column;  }  #price .basicBox .detailBox > div {    width: 100%;  }  #price .movie .title {    font-size: 1.1em;  }}/*price 各種サポート式料金表*/#price .supportList {  margin-bottom: 0.5em;}#price .supportList dl {  display: flex;  justify-content: space-between;  align-items: center;  padding: 1em 0;  margin: 0;  border-bottom: 1px dotted #333;}#price .supportList dl:first-child {  padding-top: 0;}#price .supportList dl dt {  width: 20%;}#price .supportList dl .txt {  width: 60%;  line-height: 1.5;}#price .supportList dl .txt span {  color: #888;  font-weight: 700;}#price .supportList dl .txt p + p {  margin-top: 0.5em;}#price .supportList dl .amount {  width: 20%;  text-align: right;}#price .supportList.typeB {  border-top: 1px dotted #333;  margin-bottom: 1em;}#price .supportList.typeB dl:first-child {  padding: 1.5em 0;}@media only screen and (max-width: 768px) {  #price .supportList dl {    flex-direction: column;  }  #price .supportList dl dt {    width: 100%;  }  #price .supportList dl .txt {    width: 100%;    margin: 0.5em 0 0;  }  #price .supportList dl .txt p + p {    margin-top: 1em;  }  #price .supportList dl .amount {    width: 100%;    margin: 1em 0 0;  }}/*price table式料金表*/#price .sLineTable {  width: 100%;  font-feature-settings: "palt";}#price .sLineTable tr {  text-align: left;  border-bottom: 1px dotted #333;}#price .sLineTable th {  width: 65%;  padding-left: 1em;}#price .sLineTable td {  text-align: right;  line-height: 1.5;  padding: 1em;}#price .sLineTable td.subtit {  font-size: 0.9em;  font-weight: 700;  padding: 0.5em 1em;}#price .sLineTable.col2box {  border-top: 1px dotted #333;  margin-bottom: 1.5em;}@media only screen and (max-width: 768px) {  #price .sLineTable th {    width: 40%;    padding: 1em 0;    font-size: 1em;    text-align: left;  }  #price .sLineTable td {    padding: 1em 0;  }  #price .sLineTable td.subtit {    font-size: 0.8em;    padding: 0;  }  #price .sLineTable.col2box th {    width: 65%;  }}/*price 動作環境表*/#price .operation table {  width: 100%;  border-top: 1px dotted #333;}#price .operation tr {  border-bottom: 1px dotted #333;}#price .operation th {  font-size: 1.1em;  font-weight: 700;  text-align: right;  padding: 1em 1.5em;  background-color: #f8f8f8;  width: 30%;}#price .operation td {  padding: 1em 1.5em;}@media only screen and (max-width: 768px) {  #price .operation th {    font-size: 1em;    text-align: left;    padding: 1em 0.5em;    width: 28%;  }  #price .operation td {    padding: 1em 1em;  }}/* #info------------------------------------------------------*/#info ul {  border-top: 1px solid #ccc;}#info li {  margin-bottom: 0;  border-bottom: 1px solid #ccc;}#info li a:not(.txtLink),#info li dl {  display: flex;  padding: 1em;}#info li dd {  margin-left: 0;}#info li a:hover {  color: #0076b3;}#info .date {  margin-right: 1em;  white-space: nowrap;  font-weight: bold;  color: #888;}@media only screen and (max-width: 960px) {}@media only screen and (max-width: 768px) {  #info li a:not(.txtLink),  #info li div {    display: block;    padding: 1em 0;  }}/* #partner------------------------------------------------------*/#partner {  border: 5px double #0076b3;  padding: 0 2em;}#partner header h2 {  padding-top: 1em;}#partner header h2 .line {  background: linear-gradient(transparent 75%, #fffd54 75%);  font-weight: 500;  color: #0076b3;  position: inherit;  padding: 0;  border: none;}#partner header h2 .line:after {  display: none;}#partner .conbox {  display: flex;  justify-content: space-between;  align-items: flex-start;}#partner .conbox .txt,#partner .conbox .pic {  width: 48%;  max-width: 460px;}#partner .conbox .txt p:last-child {  margin-bottom: 0;}#partner .btn {  background: #f69227;  margin: 0 auto 2em;}@media only screen and (max-width: 960px) {}@media only screen and (max-width: 768px) {  #partner {    padding: 0 1em;  }  #partner .conbox {    flex-direction: column;  }  #partner .conbox .txt,  #partner .conbox .pic {    width: 100%;    max-width: none;  }  #partner .btn {    height: 4.6em;    line-height: 1.5;  }}/* --- 2025/9/1追記分 プランを営業資料のデザインに--- *//* #plan------------------------------------------------------*//*#plan .sp_only,#plan .sp_only .triangle_down_left,#plan .sp_only .triangle_down_left::before {  display: none;}#plan .container {  max-width: 1000px;  margin: 0 auto;  padding-bottom: 2em;  position: relative;}#plan .product-box {  width: 100%;  display: flex;  justify-content: space-around;  align-items: center;  margin-bottom: 1em;}#plan .product-image {  width: 50%;  padding: 3em;}#plan .product-details {  width: 50%;  margin: 0;}#plan .product-details p {  margin: 0;}#plan .product-details p:nth-of-type(1),#plan .product-details p:nth-of-type(3) {  font-weight: bold;  margin-bottom: 0.5em;}#plan .product-details p:nth-of-type(2) {  font-size: 1.5em;  font-weight: bold;  margin-bottom: 1.5em;}#plan .product-details ul,#plan .product-details ul li {  margin: 0;}#plan .section-title-01 {  width: 93%;  height: 3em;  border: 1px solid #1b1464;  display: flex;  align-items: center;  justify-content: center;  font-weight: bold;  margin: 0 auto 1em;  position: relative;}#plan .section-title-02 {  position: absolute;  top: 60%;  left: 0;  right: 0;  margin: 0 auto;  background-color: white;  width: 93%;  height: 3em;  border: 1px solid #1b1464;  display: flex;  align-items: center;  justify-content: center;  font-weight: bold;}#plan .section-title-03 {  display: none;}#plan .section-title-01 .triangle_down_left {  top: 1.6em;  left: -4em;}#plan .section-title-02 .triangle_down_left {  top: 1.6em;  left: -1em;}#plan .triangle_down_left,#plan .section-title-01 .triangle_down_right,#plan .section-title-02 .triangle_down_right {  display: inline-block;  position: relative;  width: 1.5em;  height: 1.2em;  background: #1b1464;  clip-path: polygon(0 0, 100% 0%, 50% 100%);}#plan .triangle_down_left {  background: #1b1464;}#plan .triangle_down_left::before {  content: "";  display: block;  position: absolute;  top: 0.1em;  left: 50%;  width: 1.155em;  height: 1em;  background: #fff;  clip-path: polygon(0 0, 100% 0%, 50% 100%);  transform: translateX(-50%);}#plan .section-title-01 .triangle_down_right,#plan .section-title-02 .triangle_down_right {  background: #000000;  top: 1.6em;}#plan .section-title-01 .triangle_down_right {  right: -4em;}#plan .section-title-02 .triangle_down_right {  right: -1em;}#plan .section-title-01 .triangle_down_right::before,#plan .section-title-02 .triangle_down_right::before {  content: "";  display: block;  position: absolute;  top: 0.1em;  left: 50%;  width: 1.155em;  height: 1em;  background: #fff;  clip-path: polygon(0 0, 100% 0%, 50% 100%);  transform: translateX(-50%);}#plan .plans {  position: relative;  display: flex;  flex-wrap: wrap;  justify-content: space-between;  gap: 2em; }#plan .plan-box {  border: 2px solid #1b1464;  width: 48%;  margin-bottom: 1em;}#plan .plan-box h3 {  width: 100%;  background-color: #1b1464;  color: white;  text-align: center;  padding: 1em 0;  font-size: 1.5em;}#plan .plan-box h3 .subtitle {  display: block;  color: white;  font-size: 0.75em;  margin-bottom: -0.3em;}#plan .plan-box .text {  width: 85%;  margin: 0 auto 1em;}#plan .price-box {  width: 85%;  border: 2px solid #0071bc;  border-radius: 6px;  padding: 1em;  margin: 0 auto 6em;  text-align: center;  color: #0071bc;}#plan .price-box p:nth-of-type(1) {  font-size: 1.5em;  font-weight: bold;  margin-bottom: 0;}#plan .price-box p:nth-of-type(2) {  height: 40px;  font-weight: bold;  margin-bottom: 0.5em;}#plan .price-box p:nth-of-type(3) {  font-weight: bold;}#plan .plan-box .price-box .price {  font-size: 2em;}#plan .subplan-box {  width: 85%;  border: 2px solid #009245;  border-radius: 6px;  padding: 1em;  margin: 0 auto 1em;  text-align: center;  color: #009245;}#plan .subplan-box p:nth-of-type(1) {  margin-bottom: 0;}#plan .subplan-box p:nth-of-type(2) {  font-size: 1.5em;  font-weight: bold;  margin-bottom: 0.5em;}#plan .subplan-box p:nth-of-type(3) {  height: 40px;  font-weight: bold;}#plan .subplan-box p:nth-of-type(4) {  font-weight: bold;}#plan .plan-box .subplan-box .tip-box {  font-size: 0.8em;  font-weight: bold;  padding: 0.2em 0.3em;  margin-right: 0.3em;  background-color: #009245;  color: white;  vertical-align: super;}#plan .plan-box .subplan-box .price {  font-size: 2em;}#plan .capList li {  color: #666;  font-size: 0.875em;  line-height: 1.6;  margin-bottom: 0;}#plan .basicBox .detailBox > div {  width: 48%;}#plan .basicBox .detailBox > div p {  line-height: 1.6;  margin: 0 0 0.5em;}#plan .movie {  max-width: 640px;  margin: 1em auto 0;}#plan .movie .title {  text-align: center;  font-size: 1.2em;  font-weight: 700;  margin-bottom: 1.5em;  border-bottom: 1px dotted #333;}@media (max-width: 768px) {  #plan .container {    padding-bottom: 0;  }  #plan .product-box {    width: 100%;    display: block;  }  #plan .product-image {    width: 80%;    margin: 0 auto;    padding: 0 2em 0 2em;  }  #plan .product-details {    width: 100%;    margin: 0;  }  #plan .product-details p:nth-of-type(2) {    font-size: 1.2em;  }  #plan .section-title-01 {    width: 100%;    padding: 1em 0;  }  #plan .section-title-01 .triangle_down_left {    position: absolute;    top: 2.4em;    left: calc(50% - 0.75em);  }  #plan .section-title-01 .triangle_down_right {    display: none;  }  #plan .plan-box h3 {    font-size: 1.2em;  }  #plan .price-box p:nth-of-type(2) {    height: 60px;  }  #plan .section-title-03 {    width: 85%;    border: 1px solid #1b1464;    display: flex;    align-items: center;    justify-content: center;    font-weight: bold;    text-align: center;    margin: 0 auto 1em;    padding: 0.5em 0;    position: relative;  }  #plan .section-title-03 .triangle_down_left {    position: absolute;    top: 4.2em;    left: calc(50% - 0.75em);  }  #plan .price-box {    margin: 0 auto 1em;  }  #plan .product-box {    flex-direction: column;    align-items: center;  }  #plan .plan-box {    width: 100%;  }  #plan .section-title-02 {    position: static;    transform: none;    margin: 1.5em auto;    white-space: normal;  }  #plan .pc_only {    display: none;  }--*//* #banLink------------------------------------------------------*//*#banLink{margin: 0 auto 3em;padding: 0 1em;}#banLink a:hover img{transition: 0.3s;opacity: 0.7;}@media only screen and (max-width:768px) {#banLink {margin-bottom: 1.5em;}}*//* --- 2025/10追記分 オープン価格対応--- *//* --- 共通レイアウト --- */.vp-baseWidth {  max-width: 960px;  margin-left: auto;  margin-right: auto;}.vp-content-block {  margin: 0 0 4em;}.vp-flow-grid {  display: grid;  align-items: stretch;}.vp-plan-grid,.vp-cta-grid {  display: grid;  grid-template-columns: repeat(1, minmax(0, 1fr));}.vp-flow-grid,.vp-cta-grid {  gap: 2em;}.vp-headline1 {  text-align: center;  font-size: 2.1em;  font-weight: 700;  letter-spacing: 0.02em;  margin-bottom: 0.5em;}.line {  background: linear-gradient(transparent 70%, #fffa81 70%);  font-weight: 500;  color: #0076b3;}/* --- ヘッダー & タイトル --- */.vp-section-header,.vp-content-block,.vp-section-description {  text-align: center;}#introduction-and-plan .vp-title {  padding: 2em 0 0;}#introduction-and-plan .vp-subtitle {  margin-top: 1em;  font-weight: 500;  text-align: center;}.headicon span {  color: #55c3c7;  font-size: 1.25em;  letter-spacing: 5px;  font-family: "Roboto", sans-serif;}.headicon span:after {  content: "";  display: block;  width: 50px;  height: 2px;  margin: 0.1em auto 0;  background: #55c3c7;}.vp-headline1 {  color: #000;  font-size: 1.6em;  font-weight: 700;  line-height: 1.4;  text-align: center;  margin: 0;}.vp-headline2 {  color: #0076b3;  font-size: 1.4em;  text-align: center;  margin: 1em 0;  padding: 0.5em 0;  border: 1px solid #0076b3;}.vp-section-description {  margin-top: 0.5em;  color: #4b5563;}/* --- アクション通知プラグイン --- */#feature .optionlist p {}/* --- 導入の流れ --- */.vp-flow-step {  background-color: #ebeffb;  padding: 2em 1.4em;  border-radius: 8px;  box-shadow: 0 1px 4px 0 rgb(0 0 0 / 0.15);  text-align: center;}.vp-step-number {  margin: 0;  color: #0076b3;  font-family: "Roboto", sans-serif;  font-size: 1em;  font-weight: bold;}.vp-step-title {  margin: 0 0 0.5em 0;  font-size: 1.125em;  font-weight: bold;  color: #111827;}.vp-step-description {  text-align: left;  margin-top: 0.25em;}/* --- ご利用プラン --- */.vp-plan-grid {  margin: 1.4em 0 0;  gap: 3em;}.vp-plan-leftimg,.vp-plan-rightimg {  width: 10em;  margin: 1.4em auto 0;}.vp-plan-leftbox,.vp-plan-rightbox {  display: flex;  flex-direction: column;  background-color: #ffffff;  padding: 2em;  border-radius: 6px;  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);}.vp-plan-leftbox {  border: 1px solid #0071bc;}.vp-plan-rightbox {  border: 1px solid #009245;}.vp-plan-leftbox .vp-plan-title,.vp-plan-rightbox .vp-plan-title {  font-size: 1.5em;  font-weight: 700;  margin: 0 0 0.5em 0;}.vp-plan-leftbox .vp-plan-title,.vp-plan-leftbox .vp-plan-catchphrase {  color: #0071bc;}.vp-plan-rightbox .vp-plan-title,.vp-plan-rightbox .vp-plan-catchphrase {  color: #009245;}.vp-plan-leftbox .vp-plan-catchphrase,.vp-plan-rightbox .vp-plan-catchphrase {  margin: 0;  font-weight: 600;  letter-spacing: 1px;}.vp-plan-description {  text-align: left;}/* --- 動作環境 --- */.vp-headline3 {  color: #000;  font-size: 1.6em;  font-weight: 700;  line-height: 1.4;  text-align: center;  margin: 0;}.vp-env-box {  margin: 1.4em 0;  background-color: #ffffff;  padding: 0;  border-radius: 6px;  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);}.vp-env-box table {  width: 100%;  border-collapse: collapse;  border: 1px solid #e5e7eb;}.vp-env-box th,.vp-env-box td {  text-align: right;  padding: 1em 1.5em;  border: 1px solid #e5e7eb;  color: #4b5563;}.vp-env-box td:not(:first-child) {  text-align: left;}.vp-env-box th {  font-weight: 600;  color: #111827;  width: 25%;  background-color: #f9fafb;}.vp-env-box td div {  margin-bottom: 0.4em;}.vp-env-box td div:last-child {  margin-bottom: 0;}/* --- サポート & カスタマイズ --- */.vp-support-grid {  display: grid;  margin: 1.4em 0;  padding: 1.4em 0;  border-radius: 6px;  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);  counter-reset: point-counter;  gap: 0; /* 線を合わせるために隙間ゼロ */  position: relative;}.vp-support-box {  text-align: center;  padding: 1em 2em;  position: relative;}.vp-support-icon {  background-color: #f5f5f5;  width: 4em;  height: 4em;  border-radius: 50%;  display: flex;  justify-content: center;  align-items: center;  margin: 1.4em auto;}.vp-support-icon img {  width: 4.5em;  height: 4.5em;}.vp-support-title {  margin: 0;  font-weight: bold;  line-height: 1.4;  font-size: 1.125em;}.vp-support-title::before {  counter-increment: point-counter;  content: "POINT 0" counter(point-counter);  display: block;  color: #55c3c7;  font-size: 0.8em;  font-family: "Roboto", sans-serif;  font-weight: bold;  line-height: 2em;}.vp-support-desc {  text-align: left;  color: #666;  line-height: 1.6;  font-size: 0.875em;}/* --- お問い合わせCTA --- */.vp-cta-grid {  margin: 0;}#support-and-contact .vp-cta_box {  padding: 2em 0;  font-weight: bold;  text-align: center;  letter-spacing: 1px;}#support-and-contact .vp-cta-grid {  align-items: center;  gap: 2;}#support-and-contact .vp-btn {  position: relative;  display: inline-block;  padding: 1em 2em;  border-radius: 100vw;  text-decoration: none;  font-weight: 700;  color: #ffffff;  background-color: #2176b3;  width: 45%;  text-align: center;  margin-top: 2em;  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);  transition: transform 0.2s ease, box-shadow 0.2s ease;}/* ホバー時アニメーション */#support-and-contact .vp-btn:hover {  transform: translateY(-3px);  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);}#support-and-contact .vp-subtitle,#support-and-contact .vp-btn-content i {  transition: all 0.3s ease-in-out;}#support-and-contact .vp-btn:hover .vp-subtitle {  opacity: 0;  visibility: hidden;  transform: translateX(-50%) translateY(-10px);}#support-and-contact .vp-btn:hover .vp-btn-content i {  transform: translateY(-50%) translateX(5px);}#support-and-contact .vp-subtitle {  position: absolute;  top: -1.6em;  left: 50%;  transform: translateX(-50%);  background-color: #ffffff;  padding: 0.2em 1.4em;  border-radius: 100vw;  font-size: 0.8em;  font-weight: 500;  white-space: nowrap;  margin: 0;  color: #000;}#support-and-contact .vp-subtitle::after {  content: "";  position: absolute;  bottom: -5px;  left: 50%;  transform: translateX(-50%) rotate(45deg);  width: 10px;  height: 10px;  background-color: #ffffff;}#support-and-contact .vp-btn-content {  position: relative;  margin: 0;  letter-spacing: 2px;}#support-and-contact .vp-btn-content i {  position: absolute;  right: 2em;  top: 50%;  transform: translateY(-50%);}#support-and-contact .vp-subtitle {  border: 1.5px solid #2176b3;  color: #000;}#support-and-contact .vp-subtitle::after {  border-bottom: 1.5px solid #2176b3;  border-right: 1.5px solid #2176b3;}/* 吹き出し内の強調テキスト */#support-and-contact .vp-subtitle .highlight {  color: #00b372;  font-weight: 700;}/* --- レスポンシブ SP --- */@media only screen and (max-width: 768px) {  /* --- 共通レイアウト --- */  .new {    display: block;    padding: 0.2em 0;    margin: 0 3em 0.1em;  }  .vp-content-block {    margin: 0 0 3em;  }  .sponly_none {    display: none;  }  .headicon span {    font-size: 1.25em;  }  .vp-headline2 {    font-size: 1.4em;  }  /* --- ヘッダー & タイトル --- */  .vp-headline1 {    font-size: 1.6em;    line-height: 1.4;  }  #introduction-and-plan .vp-subtitle {    line-height: 1.6;  }  /* --- 導入の流れ --- */  .vp-flow-grid {    grid-template-columns: repeat(2, minmax(0, 1fr));    gap: 1em;  }  .vp-flow-step {    padding: 1em 1.4em;  }  .vp-step-number {    font-size: 1.125em;  }  .vp-step-title {    margin: 0;    line-height: 1.4;    font-size: 1.125em;    min-height: 3.25em;    display: flex;    align-items: center;    justify-content: center;    text-align: center;  }  /* --- ご利用プラン --- */  .vp-plan-grid {    margin: 1.4em 0 0;    gap: 1em;  }  .vp-plan-leftimg,  .vp-plan-rightimg {    width: 9em;    margin: 0 auto;  }  .vp-plan-leftbox,  .vp-plan-rightbox {    padding: 2em 0;  }  .vp-plan-leftbox .vp-plan-title,  .vp-plan-rightbox .vp-plan-title {    font-size: 1.4em;  }  .vp-plan-leftbox .vp-plan-description,  .vp-plan-rightbox .vp-plan-description {    padding: 0 2em;  }  /* --- 動作環境 --- */  .vp-env-box th,  .vp-env-box td {    padding: 0.6em 1em;  }  .vp-env-box td {    padding: 0.5em 1em;    line-height: 1.6;  }  .vp-env-box th {    width: 32%;  }  /* --- サポート & カスタマイズ --- */  .vp-support-grid {    grid-template-columns: repeat(1, minmax(0, 1fr));  }  .vp-support-icon {    width: 4em;    height: 4em;    margin: 1.5em auto;  }  .vp-support-icon img {    width: 4em;    height: 4em;  }  .vp-support-title {    font-size: 1em;    line-height: 1.6;  }  /* 下に横線 2番目 */  .vp-support-box::before {    content: "";    position: absolute;    left: 10%;    bottom: 0;    width: 80%;    height: 1px;    background: #ddd;  }  /* 3番目（右上） → 下に横線 */  .vp-support-box:last-child::before {    display: none;  }  /* --- お問い合わせCTA --- */  #support-and-contact .vp-btn-content i {    right: -1.5em;  }  #support-and-contact .vp-cta_box {    padding: 1.4em 0 0;  }  #support-and-contact .vp-btn {    padding: 1em 3em;	width: auto;  }}/* --- レスポンシブ PC --- */@media only screen and (min-width: 769px) {  #support-and-contact .vp-btn {    min-width: 340px;  }  .vp-flow-grid {    grid-template-columns: repeat(4, minmax(0, 1fr));  }  .vp-support-grid {    grid-template-columns: repeat(3, minmax(0, 1fr));  }  .vp-plan-grid {    grid-template-columns: repeat(2, minmax(0, 1fr));  }  /* --- サポート & カスタマイズ --- */  /* 1番目（左上） → 右に縦線 + 下に横線 */  .vp-support-box:nth-child(1)::after {    content: "";    position: absolute;    top: 10%;    right: 0;    height: 80%;    width: 1px;    background: #ddd;  }  .vp-support-box:nth-child(1)::before {    content: "";    position: absolute;    left: 10%;    bottom: 0;    width: 80%;    height: 1px;    background: #ddd;  }  /* 2番目（右上） → 右に縦線 + 下に横線 */  .vp-support-box:nth-child(2)::after {    content: "";    position: absolute;    top: 10%;    right: 0;    height: 80%;    width: 1px;    background: #ddd;  }  .vp-support-box:nth-child(2)::before {    content: "";    position: absolute;    left: 10%;    bottom: 0;    width: 80%;    height: 1px;    background: #ddd;  }  /* 3番目（右上） → 下に横線 */  .vp-support-box:nth-child(3)::before {    content: "";    position: absolute;    left: 10%;    bottom: 0;    width: 80%;    height: 1px;    background: #ddd;  }  /* 4番目（左下） → 右に縦線 */  .vp-support-box:nth-child(4)::after {    content: "";    position: absolute;    top: 10%;    right: 0;    height: 80%;    width: 1px;    background: #ddd;  }  /* 5番目（左下） → 右に縦線 */  .vp-support-box:nth-child(5)::after {    content: "";    position: absolute;    top: 10%;    right: 0;    height: 80%;    width: 1px;    background: #ddd;  }}/* スマホメニューのクリック判定を最前面に強制する修正 */@media only screen and (max-width:768px) {  /* nav自体を最前面へ */  #header nav {    z-index: 9999 !important;  }    /* ボタン自体にも念のためz-indexとカーソル指マークを指定 */  #spMenu {    position: relative;    z-index: 10000 !important;    cursor: pointer;  }}