@charset "UTF-8";/*----------------------------------------------------------更新日：2024年10月16日=PC(960以上)=PC & タブレット(960以下)=スマホ(768px以下)-------------------------------------------------------------*//*==================================================================  Top page===================================================================*//* #keyv------------------------------------------------------*/#keyv {  position: relative;  z-index: 0;  height: 600px;}#keyv #keyvVideo {  overflow: hidden;  display: flex;  justify-content: center;  align-items: center;  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;}#keyvVideo video {  position: absolute;  min-width: 100%;  min-height: 100%;  background: #000 url("../img/keyv_bg.webp") no-repeat    center center;  background-size: cover;}#keyv #keyvVideo:before {  content: "";  display: block;  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  background-color: rgba(0, 0, 0, 0.5);  z-index: 1;}#keyv .mainTxt {  display: flex;  flex-direction: column;  align-items: flex-start;  justify-content: center;  height: 100%;  padding: 0 1.5em;  position: relative;  z-index: 10;  max-width: 1000px;  margin: 0 auto;}#keyv .keyvPic {  display: inline-block;  position: relative;  left: -1.5em;}#keyv .mainTxt .name {  color: #150aa3;  font-size: 1.6em;  font-weight: 700;  line-height: 1.6;  padding: 0 0.5em 0 1.1em;  margin: 2em 0 0;  background-color: #fff;  /*	text-shadow: 0 1px 4px rgba(0, 0, 0, .6);*/}#keyv .breadcrumbs {  top: auto;  bottom: 0.5em;}#keyv .breadcrumbs,#keyv .breadcrumbs a,#keyv .breadcrumbs .current-item {  color: rgba(255, 255, 255, 0.8);}@media only screen and (max-width: 1024px) {  #keyv {    min-height: 600px;  }  #keyvVideo video {    background: url("../img/keyv_bg.webp") no-repeat center      right;  }  #keyv .keyvPic {    right: 3vw;    min-width: 240px;  }}@media only screen and (max-width: 768px) {  #keyv {    background: url("../img/keyv_bg.webp") no-repeat 40%      center;    background-size: cover;    min-height: 380px;    height: 400px;  }  #keyv .mainTxt {    padding-top: 4vw;  }  #keyv .mainTxt .name {    font-size: 1em;    margin-top: 1em;  }}/* .sec------------------------------------------------------*/.sec .topTxt {  text-align: center;  margin-bottom: 2em;  padding: 0 4em;}@media only screen and (max-width: 768px) {  .sec .topTxt {    padding: 0;    text-align: left;  }}/* 共通------------------------------------------------------*/.boxPic {  position: absolute;  right: 0;  top: 5em;  width: 49%;  max-width: 900px;}.boxHalf {  /*	border: 1px solid #9CC;*/  width: 50%;}.txtGra01 {  font-weight: 700;  background: linear-gradient(170deg, #150aa3 0%, #150aa3 20%, #f46824 90%);  -webkit-background-clip: text;  -webkit-text-fill-color: transparent;  line-height: 1.6;}.txtGra02 {  font-weight: 700;  background: linear-gradient(170deg, #f46824 10%, #150aa3 90%, #150aa3 0%);  -webkit-background-clip: text;  -webkit-text-fill-color: transparent;  line-height: 1.6;}.txtGra03 {  font-weight: 700;  background: linear-gradient(200deg, #150aa3 0%, #150aa3 20%, #f20c88 80%);  -webkit-background-clip: text;  -webkit-text-fill-color: transparent;  line-height: 1.6;}.txtGra04 {  font-weight: 700;  background: linear-gradient(200deg, #f20c88 10%, #150aa3 90%, #150aa3 0%);  -webkit-background-clip: text;  -webkit-text-fill-color: transparent;  line-height: 1.6;}.txtGra01 p,.txtGra02 p,.txtGra03 p{  margin: 1em 0;}.txtGra04 p{  margin: 0 0 1em;}@media only screen and (max-width: 768px) {  .boxHalf {    width: 100%;  }  .boxPic {    position: relative;    right: -1em;    bottom: 0;    top: 0;    width: 100%;  }  .boxPic p {    margin-bottom: 0.5em;  }}/* #about------------------------------------------------------*/#about {  background-color: #fff;  padding: 3em 1em 1.5em;  position: relative;}@media only screen and (max-width: 768px) {  #about {    padding: 1.5em 1em 1.5em;  }}/* #hyougo------------------------------------------------------*/#hyougo {  background-color: #eff6ff;  padding: 2.5em 1em 3em;  background: #f7fafb url("../img/bg_hyougo.webp") repeat    center center;  background-size: cover;}#hyougo .initials {  display: flex;  justify-content: space-between;  align-items: stretch;  text-align: center;  margin: 2em 0 0;  /*	border: 1px solid #C6C;*/}#hyougo .initials li {  width: 19.5%;  background-color: #fff;  border-radius: 10px;  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.15);}#hyougo .initials li .laLetter {  color: #f20c88;  font-size: 3.3em;  font-weight: 700;  margin-bottom: 0.3em;  line-height: 1.6;}#hyougo .initials li .txt {  font-weight: 700;  line-height: 1.4;  margin-bottom: 1.5em;}#hyougo .initials li:nth-child(4) .pic {  text-align: right;}@media only screen and (max-width: 768px) {  #hyougo .initials {    flex-direction: column;  }  #hyougo .initials li {    width: 100%;    display: flex;    align-items: center;    padding: 0.5em 1em;    margin-bottom: 0.5em;  }  #hyougo .initials li p {    margin-bottom: 0;  }  #hyougo .initials li p + p {    margin-left: 1em;  }  #hyougo .initials li .laLetter {    font-size: 2.5em;    margin-bottom: 0;  }  #hyougo .initials li .txt {    text-align: left;    margin-bottom: 0;  }  #hyougo .initials li .pic {    max-width: 10em;  }}/* #scene------------------------------------------------------*/#scene {  position: relative;}#scene .movie {  max-width: 700px;  margin: 0 auto;}#scene .movie .headline2 {  margin-top: 2.5em;}@media only screen and (max-width: 768px) {  #scene .movie .headline2 {    font-size: 1.1em;  }}/* #feature------------------------------------------------------*/#feature {  background-color: #f3f9f9;  position: relative;}#feature .baseWidth {  /*	border: 1px solid #F69;*/}#feature .title {  width: 70%;  margin-bottom: 0;}#feature .title li {  margin-bottom: 0;  position: relative;}#feature .title li + li {  margin-top: 5em;}#feature .title li:before {  font-family: "Font Awesome 5 Free";  font-weight: 900;  content: "\f00d";  color: #150aa3;  font-size: 3.8em;  position: absolute;  top: 1.7em;  left: 50%;  transform: translate(-50%, -50%);}#feature .title li:last-child:before {  display: none;}#feature .title .headlineBox {  color: #fff;  font-weight: 700;  line-height: 1.2;  background-color: #150aa3;  text-align: center;  padding: 0.5em 0;  margin-bottom: 0;}#feature .title .headlineBox strong {  font-size: 1.5em;}#feature .worries {  text-align: center;  margin: 2em 0 2em;}#feature .worries .woman {  margin-bottom: 3em;}#feature .fSsolution {  display: flex;  justify-content: space-between;}#feature .fSPic {  text-align: center;}#feature .fSPic img {  width: 60%;}#feature .rationale {  margin-top: 3em;}#feature .rationale .boxRati {  margin-top: 2em;}#feature .rationale .boxRati dl {  position: relative;}#feature .rationale .boxRati dt {  font-size: 2em;  font-family: "Roboto";  font-feature-settings: "palt";  line-height: 1.5;  font-weight: bold;}#feature .rationale .boxRati dd {  margin: 0;  font-weight: 700;}#feature .rationale .boxRati .txt {  font-weight: 700;  border: 10px solid;  border-image: linear-gradient(    to right,    #f20c88 0%,    #f20c88 10%,    #fcbedf 70%,    #f3eff5 100%  );  border-image-slice: 1;}#feature .rationale .boxRati .txt .leadTitle {  color: #fff;  font-weight: 700;  background-color: #f20c88;  width: 56%;  margin: 0.8em 0;  padding: 0 0 0 50px;}#feature .rationale .boxRati .txt .lineNote {  background-color: #f3f9f9;  background-image: linear-gradient(transparent 0, transparent 97%, #000 100%);  background-size: 100% 2em;  line-height: 2em;  width: 45%;  margin-left: 50px;  padding-bottom: 1em;}#feature .rationale .boxRati .txt .lineNote li {  margin: 0;  padding-left: 1.2em;  text-indent: -1em;}#feature .rationale .boxRati .txt .lineNote li:before {  font-family: "Font Awesome 5 Free";  content: "\f054";  color: #f20c88;  margin-right: 0.4em;}#feature .rationale .boxRati .pic {  position: absolute;  bottom: 5%;  right: 5%;  max-width: 300px;}#feature .rationale .boxRati:nth-child(odd) {  /*	background-color: #FF4B4E;*/}#feature .rationale .boxRati:nth-child(odd) dt {  text-align: right;}#feature .rationale .boxRati:nth-child(odd) .txt {  border-image: linear-gradient(    to left,    #f20c88 0%,    #f20c88 10%,    #fcbedf 70%,    #f3eff5 100%  );  border-image-slice: 1;}#feature .rationale .boxRati:nth-child(odd) .pic {  left: 10%;}#feature .rationale .boxRati:nth-child(odd) .txt .leadTitle {  width: 55%;  margin: 0.8em 0 0.8em auto;}#feature .rationale .boxRati:nth-child(odd) .txt .lineNote {  margin: 0 50px 1em auto;}@media only screen and (max-width: 768px) {  #feature .title {    margin: 0 auto;  }  #feature .title .headlineBox {    font-size: 1.2em;  }  #feature .title .headlineBox strong {    font-size: 1.3em;  }  #feature .title li + li {    margin-top: 3em;  }  #feature .title li:before {   font-size: 2.8em;   position: absolute;   top: 2.2em;   left: 50%;   transform: translate(-50%, -50%);  }  #feature .worries {    text-align: center;    margin: 2em 0 2em;  }  #feature .worries .woman {    margin-bottom: 1.5em;  }  #feature .worries .arrowBtm img {    width: 3em;  }  #feature .fSsolution {    flex-direction: column;  }  #feature .rationale .boxRati .txt .leadTitle {    width: 90%;    font-size: 1.2em;    padding: 0 0 0 5%;  }  #feature .rationale .boxRati .txt .lineNote {    width: 90%;    margin-left: 5%;  }  #feature .rationale .boxRati {    margin-top: 1em;  }  #feature .rationale .boxRati dt {    font-size: 1.4em;  }  #feature .rationale .boxRati .pic {    display: none;  }  #feature .rationale .boxRati:nth-child(odd) .txt .leadTitle {    width: 90%;    font-size: 1.2em;    padding: 0 0 0 5%;  }  #feature .rationale .boxRati:nth-child(odd) .txt .lineNote {    width: 90%;    margin-left: 5%;  }}#addmore {  position: relative;  padding: 3.5em 0;}#addmore:before {  content: "";  display: block;  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  z-index: -1;  background-color: #f46824;  clip-path: polygon(100% 70%, 50% 100%, 0 70%, 0 0, 50% 20%, 100% 0);}#addmore:after {  content: "";  display: block;  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 50%;  z-index: -5;  background-color: #f3f9f9;}#addmore .baseWidth {  text-align: center;  position: relative;  /*	border: 1px solid #F69;*/}#addmore .topimgTxt {  line-height: 1.75em;  position: relative;  top: -4.5em;  margin-bottom: 0;  /*	border: 1px solid #999;*/}#addmore .addmTitle {  color: #fff;  font-size: 1.5em;  font-weight: 700;  line-height: 1.6;  margin-bottom: 1.2em;}#addmore ul {  margin-bottom: 0;}#addmore ul li {  margin: 0;  padding-left: 1.2em;  text-indent: -1em;  font-weight: 700;}#addmore ul li:before {  font-family: "Font Awesome 5 Free";  content: "\f054";  color: #fff;  margin-right: 0.4em;  font-size: 1.1em;}#addmore .leftpic img,#addmore .rightpic img {  max-width: 260px;}#addmore .leftpic {  position: absolute;  top: -3em;  left: -3em;}#addmore .rightpic {  position: absolute;  bottom: -3em;  right: -3em;}@media only screen and (max-width: 960px) {  #addmore {    padding-top: 5em;  }  #addmore .addmTitle {    font-size: 1.2em;    margin-bottom: 1em;  }  #addmore ul li {    font-size: 0.9em;    line-height: 1.6;    margin-bottom: 0.5em;  }  #addmore .leftpic img,  #addmore .rightpic img {    max-width: 180px;  }  #addmore .leftpic {    top: -3em;    left: 0em;  }  #addmore .rightpic {    bottom: -5em;    right: 1em;  }}#voice {  padding: 3em 0 0;}#voice .bList {  display: flex;  justify-content: space-around;}#voice .bList ul {  width: 40%;  font-weight: 700;}#voice .bList ul:nth-child(2) {  margin-top: 4em;}#voice .bList li {  background-color: #fff;  border-radius: 10px;  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);  padding: 1em 1.5em;  margin-bottom: 2.5em;}#voice .bList li .txt {  margin-bottom: 1em;  line-height: 1.7;}#voice .bList li .name {  margin-bottom: 0.5em;}#voice .bList li .name span {  padding-left: 0.5em;}@media only screen and (max-width: 960px) {  #voice {    padding: 3em 1em 0;  }  #voice .bList {    flex-direction: column;  }  #voice .bList ul {    width: 100%;    margin: 0 auto;  }  #voice .bList ul:nth-child(2) {    margin-top: 0;  }  #voice .bList li {    margin-bottom: 1em;  }  #voice .bList li .name {    margin-bottom: 0;  }}/* #flow------------------------------------------------------*/#flow {  padding: 1em 0 0;}#flow .flowList {  color: #fff;  background-color: #150aa3;  padding: 2em 1em;}#flow .flowList dl {  /*	border: 1px solid #FDF;*/  display: flex;  max-width: 900px;  margin: 0 auto;  /*	padding: 0 0 0 2em;*/}#flow .flowList dl dd p{  margin: 0 0 1em 0;}#flow .flowList dl + dl {  margin-top: 1em;}#flow .flowList dt {  display: flex;  align-items: flex-start;  width: 40%;}#flow .flowList dt .icon {  max-width: 60px;  margin-right: 1em;}#flow .flowList dt .title {  font-weight: 700;  line-height: 1.5;}#flow .flowList dt span {  font-size: 0.8em;  font-family: "Roboto";  font-style: italic;  font-feature-settings: "palt";}#flow .flowList dd {  width: 60%;  margin-left: 0;}#flow .flowList dd .title {  font-size: 1.4em;  font-weight: 700;  margin-bottom: 0.1em;}#flow .flowList dd .btnArea {  margin-top: -0.3em;}@media only screen and (max-width: 768px) {  #flow {    padding: 1em 1em 0;  }  #flow .flowList dt .title {    margin-bottom: 0.5em;  }  #flow .flowList dl {    flex-direction: column;  }  #flow .flowList dt {    width: auto;  }  #flow .flowList dd {    width: auto;    margin-left: 60px;    padding-left: 1em;  }  #flow .flowList dd .btnArea .btn {    padding: 0.4em 0.5em;  }}/* #spec------------------------------------------------------*//*spec タイトル系*/#spec.sec section {  font-size: 16px;}#spec.sec .headline1 {  margin-top: 0.5em;}#spec h3 {  font-size: 1.5em;  font-weight: 700;  margin-bottom: 0.5em;  margin-top: 2.5em;}/*#spec.sec .headline1.notmt{	margin-top: 0;}*/#spec .priHeadline02 {  padding: 0.5em;  font-size: 1.1em;  font-weight: bold;  text-align: center;  letter-spacing: 1px;  background-color: #e5f9fd;}#spec .priHeadline02 span {  color: #000;}@media only screen and (max-width: 768px) {  #spec.sec .headline1 {    margin-top: 2em;  }  #spec h3 {    margin-top: 1.5em;  }}/*spec 共通*/#spec p {  margin: 0;}#spec .pic {  margin-bottom: 1em;}#spec .mb1em {  margin-bottom: 1em !important;}#spec .toptxt {  text-align: center;  margin-bottom: 1em;}#spec .deals {  font-size: 1.2em;  font-weight: 700;  text-align: center;  margin: 0.5em 0 0;}#spec .cUnderLine {  background: linear-gradient(transparent 65%, #feffa0 0%);}#spec .capList {  margin-bottom: 2em;}#spec .capList li {  color: #666;  font-size: 0.875em;  line-height: 1.6;  margin-bottom: 0;}#spec .name {  color: #0066cc;  font-size: 1.2em;  font-weight: 700;  margin-bottom: 0;  line-height: 1.6;}#spec .pl_title {  font-size: 0.9em;  font-weight: 700;  text-decoration: underline;  text-underline-offset: 0.3em;}#spec .pl_price span {  font-size: 1.4em;  font-weight: 700;  padding-right: 0.1em;  line-height: 1.6;}#spec .pl_tax {  font-size: 0.9em;}@media only screen and (max-width: 768px) {  #spec .toptxt {    text-align: left;  }  #spec .deals {    font-size: 1em;  }  #spec .name {    font-size: 1.1em;    text-align: center;  }  #spec .pl_title {    font-size: 0.8em;  }  #spec .pl_price span {    font-size: 1.2em;  }  #spec .pl_tax {    font-size: 0.8em;  }}/*基本製品*/#spec .basicBox {  background-color: #f3f3f3;  padding: 2em;}#spec .basicBox + .basicBox {  margin: 2em 0 0.5em 0;}#spec .basicBox .expBox {  background-color: #fff;  border-radius: 4px;  padding: 1em 2em 1em;  margin-bottom: 1em;  font-feature-settings: "palt";}#spec .basicBox .expBox dl {  display: flex;  justify-content: space-between;  align-items: center;  margin: 0 0 0.5em;}#spec .basicBox .expBox dt {  width: 55%;}#spec .basicBox .expBox dt p {  font-size: 0.9em;  line-height: 1.6;}#spec .basicBox .expBox dd {  display: flex;  margin: 0;}#spec .basicBox .expBox dd > div {  text-align: right;}#spec .basicBox .expBox dd > div + div {  margin-left: 2.5em;}#spec .basicBox .detailBox {  display: flex;  justify-content: space-between;}#spec .basicBox .detailBox.boderb {  border-bottom: 1px dotted #333;  padding: 0 0 1.5em 0;}#spec .basicBox .detailBox > div {  width: 48%;}#spec .basicBox .detailBox > div p {  line-height: 1.6;  margin: 0 0 0.5em;}#spec .movie {  max-width: 640px;  margin: 1em auto 0;}#spec .movie .title {  text-align: center;  font-size: 1.2em;  font-weight: 700;  margin-bottom: 0.5em;}@media only screen and (max-width: 768px) {  #spec .basicBox {    padding: 1em;  }  #spec .basicBox + .basicBox {    margin: 1.5em 0 0.5em 0;  }  #spec .basicBox .expBox {    padding: 1em 1em 1em;  }  #spec .basicBox .expBox dl {    flex-direction: column;    margin: 0 0 1em;  }  #spec .basicBox .expBox dt {    width: 100%;    margin-bottom: 1em;  }  #spec .basicBox .expBox dd > div {    text-align: center;  }  #spec .basicBox .detailBox {    flex-direction: column;  }  #spec .basicBox .detailBox > div {    width: 100%;  }  #spec .movie .title {    font-size: 1.1em;  }}/*spec 各種サポート式料金表*/#spec .supportList {  margin-bottom: 0.5em;}#spec .supportList dl {  display: flex;  justify-content: space-between;  align-items: center;  padding: 1em 0;  margin: 0;  border-bottom: 1px dotted #333;}#spec .supportList dl:first-child {  padding-top: 0;}#spec .supportList dl dt {  width: 20%;}#spec .supportList dl .txt {  width: 60%;  line-height: 1.5;}#spec .supportList dl .txt span {  color: #888;  font-weight: 700;}#spec .supportList dl .txt p + p {  margin-top: 0.5em;}#spec .supportList dl .amount {  width: 20%;  text-align: right;}#spec .supportList.typeB {  border-top: 1px dotted #333;  margin-bottom: 1em;}#spec .supportList.typeB dl:first-child {  padding: 1.5em 0;}@media only screen and (max-width: 768px) {  #spec .supportList dl {    flex-direction: column;  }  #spec .supportList dl dt {    width: 100%;  }  #spec .supportList dl .txt {    width: 100%;    margin: 0.5em 0 0;  }  #spec .supportList dl .txt p + p {    margin-top: 1em;  }  #spec .supportList dl .amount {    width: 100%;    margin: 1em 0 0;  }}/*spec table式料金表*/#spec .sLineTable {  width: 100%;  font-feature-settings: "palt";}#spec .sLineTable tr {  text-align: left;  border-bottom: 1px dotted #333;}#spec .sLineTable th {  width: 65%;  padding-left: 1em;}#spec .sLineTable td {  text-align: right;  line-height: 1.5;  padding: 1em;}#spec .sLineTable td.subtit {  font-size: 0.9em;  font-weight: 700;  padding: 0.5em 1em;}@media only screen and (max-width: 768px) {  #spec .sLineTable th {    width: 40%;    padding: 1em 0;    font-size: 1em;    text-align: left;  }  #spec .sLineTable td {    padding: 1em 0;  }  #spec .sLineTable td.subtit {    font-size: 0.8em;    padding: 0;  }}/*spec 動作環境表*/#spec .operation table {  width: 100%;  border-top: 1px dotted #333;}#spec .operation tr {  border-bottom: 1px dotted #333;}#spec .operation th {  font-size: 1.1em;  font-weight: 700;  text-align: right;  padding: 1em 1.5em;  background-color: #f8f8f8;  width: 30%;}#spec .operation td {  padding: 1em 1.5em;}@media only screen and (max-width: 768px) {  #spec .operation th {    font-size: 1em;    text-align: left;    padding: 1em 0.5em;    width: 28%;  }  #spec .operation td {    padding: 1em 1em;  }}/* 旧#spec------------------------------------------------------*//*#spec{}#spec .headBox {	border-bottom: 2px solid #000;	padding: 0 0 .3em;	margin-bottom: 1em;}#spec .headBox p{	font-size: 0.9em;	line-height: 1.5;	margin-bottom: 0.5em;}#spec .headBox:not(:first-of-type) {	margin-top: 2em;}#spec h3 {	font-size: 1.3em;	font-weight: 700;	margin-bottom: 0.2em;}#spec table {	width: 100%;	border-collapse: collapse;	text-align: left;	border-bottom: 2px solid #000;}#spec .sheet {	margin-bottom: 1em;}#spec th,#spec td {	vertical-align: top;	padding: .4em 0;}#spec th {	width: 35%;	white-space: nowrap;	font-weight: 500;}#spec td {	width: 65%;}#spec tr:last-child td{	padding-bottom: 1.5em;}#spec td .pic{	padding-top: 1em;	padding-bottom: 0.5em;}#spec .capList {	margin-bottom: 0;	padding-top: 0.5em;}#spec .capList+table {	margin-top: 2em;}#spec .capList li {	color: #444;	font-size: .8em;	padding-left: 1em;	text-indent: -1em;	margin-bottom: 0;	line-height: 1.6;}#spec td dl {	display: flex;	padding: 0;	margin: 0 0 1em;}#spec td dl dt {	min-width: 4em;	margin-right: 2em;}#spec td dl dd {	margin-left: 0;}#spec .movie{	max-width: 700px;	margin: 3em auto;}#spec .spec {	font-weight: 700;	color: #f20c88;}@media only screen and (max-width: 768px) {	#spec {		padding-top:2em;		margin-bottom: 0;	}	#spec th,#spec td {		padding: .5em;		font-size: .875em;	}	#spec th {		width: 10%;	}}*//* #contactSec------------------------------------------------------*/#contactSec {  background-color: #f3f4f7;  /*	padding:5em 1em;*/}#contactSec .contactInner {  background-color: #fff;  padding: 0 4% 3%;  border-radius: 10px;  margin-top: 2em;}#contactSec .txt {  margin-bottom: 2em;  text-align: center;}#contactSec .backBox {  margin-top: 5%;}#contactSec.sec.thanks {  margin-top: 70px;  padding-bottom: 10em;}#contactSec.thanks .contactInner {  padding: 6% 4% 6%;}@media only screen and (max-width: 768px) {  #contactSec {  }  #contactSec.sec.thanks {    margin-top: 14vw;    padding-bottom: 12vw;  }  #contactSec .txt {    text-align: left;  }  #contactSec .txt br {    display: none;  }}/* --- 2025/10追記分 オープン価格対応--- *//* --- 共通レイアウト --- */.vp-baseWidth {  max-width: 1000px;  margin-left: auto;  margin-right: auto;}.vp-content-block {  margin: 0 auto;}.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-section-description {  text-align: center;}#introduction-and-plan .vp-title {  padding: 2em 0 0;}#introduction-and-plan .vp-subtitle {  color: #f20c88;  font-weight: 700;  margin-bottom: 0.5em;}.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;  text-align: center;}.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: #f20c88;  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;  }}