@charset "UTF-8";/*----------------------------------------------------------更新日：2024年8月27日=PC(960以上)=PC & タブレット(960以下)=スマホ(768px以下)-------------------------------------------------------------*//*==================================================================  Page common style===================================================================*/#title {  margin: 0;  padding: 1.5em 0;  background: linear-gradient(    to right,    rgba(85, 195, 199, 1) 0%,    rgba(6, 135, 162, 1) 100%  );  text-align: center;  font-size: 1.5em;  font-weight: bold;  color: #fff;}.sec section + section {  padding-top: 2em;}@media only screen and (max-width: 960px) {}@media only screen and (max-width: 768px) {  #wrap {    padding-top: 0;  }}/*==================================================================  #OWAS  (/vp-ergono/owas)===================================================================*/#owas {  padding-bottom: 5em;}#owas .evaluation .flex {  justify-content: space-between;}#owas .evaluation .txt,#owas .evaluation .pic {  width: 48%;}#owas .evaluation .txt li {  margin-bottom: 0;}#owas .feature .box {  display: flex;  align-items: center;  margin-bottom: 2em;}#owas .feature .pic {  text-align: center;}#owas .feature .pic.sp {  display: none;}#owas .feature .pic.pc {  flex-shrink: 0;  width: 300px;  margin-right: 2em;}#owas .feature .pic.ac img {  width: 250px;}#owas .feature .pic.born img {  width: 200px;}#owas .feature h3 {  margin-bottom: 0.5em;  font-size: 1.1em;  font-weight: 500;  color: #55c3c7;}#owas .owas-sheet ul {  width: max-content;  max-width: 100%;  margin: 0 auto 1em;}#owas .owas-sheet li {  margin-bottom: 0;}#owas .owas-sheet li span {  margin-right: 1em;  padding: 0 1em;  font-weight: 700;}#owas .owas-sheet li:nth-child(1) span {  background-color: #38b6fc;}#owas .owas-sheet li:nth-child(2) span {  background-color: #82e063;}#owas .owas-sheet li:nth-child(3) span {  background-color: #ffaf50;}#owas .owas-sheet li:nth-child(4) span {  background-color: #ff5555;}#owas .sheet-area {  width: 80%;  margin: 2em auto 0;  padding: 1.5em 2em;  border: 4px solid #55c3c7;}#owas .sheet-area .pic1 img {  width: 90.4%;}#owas .sheet-area p {  margin-bottom: 0;}@media only screen and (max-width: 768px) {  #owas {    padding-bottom: 2em;  }  #owas .evaluation .flex {    display: block;  }  #owas .evaluation .txt,  #owas .evaluation .pic {    width: auto;  }  #owas .evaluation .txt li {    margin-bottom: 0;  }  #owas .feature .box {    display: block;  }  #owas .feature .pic.sp {    margin-bottom: 1em;  }  #owas .feature .pic img {    width: 60% !important;  }  #owas .sheet-area {    width: auto;    margin: 2em auto 0;    padding: 1.5em 1em;  }}/*==================================================================  #movie  (/vp-ergono/movie)===================================================================*/#movie .inner:not(:last-of-type) {  margin-bottom: 2em;}#movie .flex {  flex-wrap: wrap;  justify-content: space-between;}#movie .box {  width: 50%;  max-width: 460px;  margin-bottom: 1.5em;}#movie .box h3 {  font-size: 1.2em;}@media only screen and (max-width: 768px) {  #movie .box {    width: 100%;    max-width: none;  }  #movie .box:not(:last-of-type) {    margin-bottom: 2em;  }  #movie .box h3 {    font-size: 1em;  }}/*==================================================================  #setup  (/vp-ergono/setup)===================================================================*/.cUnderLine {  background: linear-gradient(transparent 65%, #ffff66 0%);}#setup {  margin-bottom: 3em;}.deteBox {  display: flex;  justify-content: space-between;}.deteBox div + div {  margin-left: 1em;}.deteBox .pic {  width: 46%;}table.baseT {  width: 100%;  border-collapse: collapse;  text-align: left;}.baseT th,.baseT td {  padding: 0.5em;  border: 1px solid #ccc;  vertical-align: top;  font-size: 1em;}.baseT th {  background: #e5f9fd;  font-weight: 500;}.baseT .sub {  width: 0;  background: #f6f6f6;  white-space: nowrap;}.baseT td {  vertical-align: middle;}.iconlist li {  font-size: 1.25em;  margin-bottom: 0.2em;  padding-left: 1.7em;  background: transparent url("../img/vp-ergono_2.1.0/setup/icon_check.png")    no-repeat left 0.3em;  background-size: 24px 24px;}.conditions {  margin-bottom: 2em;}.conditions dl {  display: flex;  margin-bottom: 0.5em;}.conditions dt span {  color: #15a1b2;  font-size: 1.9em;  font-weight: 700;  line-height: 1;  padding: 0.4em 0.6em;  background-color: #dcf1f4;  display: inline-block;}.conditions dd {  font-size: 1.15em;  margin-left: 1.2em;  padding-top: 0.5em;}.conditions dd p {  font-size: 0.8em;  line-height: 1.6;  margin: 0.2em 0 0;}.exampleArea {  border-radius: 6px;  padding: 1em 3em 2em;  background-color: #e3f8f1;  margin-bottom: 2em;}.exampleArea .title {  color: #1ccf75;  font-size: 1.6em;  text-align: center;  margin: 0 0 0.6em;}.exampleArea .exBox {  display: flex;  align-items: flex-start;  justify-content: space-between;  margin-top: 1em;}.exampleArea .exBox + .exBox {  margin-top: 2em;}.exampleArea .exBox dl {  margin: 0;  width: 45%;}.exampleArea .exBox dt {  position: relative;}.exampleArea .exBox dt:before {  content: "";  width: 14%;  height: 17%;  line-height: 1;  position: absolute;  top: 40%;  right: -19%;  background: url("../img/vp-ergono_2.1.0/setup/icon_arrow_ok.png") no-repeat    50% 50%;  background-size: 100% 100%;}.exampleArea .exBox dl:last-child dt:before {  display: none;}.exampleArea.ngStyle {  background-color: #fff1f4;}.exampleArea.ngStyle .title {  color: #f32d5b;}.exampleArea.ngStyle .exBox dt:before {  background: url("../img/vp-ergono_2.1.0/setup/icon_arrow_ng.png") no-repeat    50% 50%;  background-size: 100% 100%;}.exampleArea .exBox dd {  margin: 0;  padding-top: 0.2em;}.sideStyle {  display: flex;  justify-content: space-between;}.sideStyle .exampleArea {  padding-bottom: 1em;}.sideStyle .exampleArea + .exampleArea {  margin-left: 1em;}.sideStyle .fashionList {  display: flex;}.sideStyle .fashionList li {  /*	border: 1px solid #F95;*/  max-width: 180px;}.sideStyle .fashionList li p {  margin: 0;}.sideStyle .fashionList li + li {  margin-left: 1.5em;}@media only screen and (max-width: 768px) {  .deteBox {    justify-content: flex-start;    flex-direction: column;    align-items: center;  }  .deteBox div + div {    margin-left: 0;  }  .deteBox .pic {    width: 90%;    margin-top: 1em;  }  .baseT th,  .baseT td {    padding: 0.5em;  }  .baseT .sub {    width: auto;    white-space: normal;  }  .conditions dt span {    font-size: 1.4em;    padding: 0.4em 0.5em;  }  .conditions dd {    font-size: 1.1em;    margin-left: 0.8em;    padding-top: 0.3em;  }  .iconlist li {    font-size: 1.1em;    margin-bottom: 0.2em;    padding-left: 1.6em;    background: transparent url("../img/vp-ergono_2.1.0/setup/icon_check.png")      no-repeat left 0.3em;    background-size: 22px 22px;  }  .exampleArea {    border-radius: 6px;    padding: 1em 1em;    background-color: #e3f8f1;    margin-bottom: 1.5em;  }  .exampleArea .title {    font-size: 1.3em;    line-height: 1.2;  }  .exampleArea .exBox + .exBox {    margin-top: 1em;    padding-top: 1.5em;    border-top: 1px dotted #999;  }  .exampleArea .exBox {    flex-direction: column;  }  .exampleArea .exBox dt:before {    display: none;  }  .exampleArea .exBox dl {    position: relative;    width: 100%;  }  .exampleArea .exBox dl:first-child {    margin-bottom: 3em;  }  .exampleArea .exBox dl:first-child:before {    content: "";    width: 34px;    height: 34px;    line-height: 1;    position: absolute;    bottom: -2.5em;    right: calc(50% - 17px);    background: url("../img/vp-ergono_2.1.0/setup/icon_arrow_ok.png") no-repeat      50% 50%;    background-size: 100% 100%;    transform: rotate(90deg);  }  .exampleArea.ngStyle .exBox dl:first-child:before {    background: url("../img/vp-ergono_2.1.0/setup/icon_arrow_ng.png") no-repeat      50% 50%;    background-size: 100% 100%;  }  .sideStyle {    flex-direction: column;  }  .sideStyle .exampleArea + .exampleArea {    margin-left: 0;  }  .sideStyle .fashionList {    justify-content: center;  }  .sideStyle .fashionList li {    width: 33%;    max-width: none;  }}@media only screen and (max-width: 560px) {  .sideStyle .fashionList {    flex-wrap: wrap;    justify-content: space-around;    margin-bottom: 0;  }  .sideStyle .fashionList li {    width: 45%;  }  .sideStyle .fashionList li + li {    margin-left: 0;    margin-bottom: 1em;  }  .sideStyle .okStyle .fashionList li {    width: 80%;    text-align: center;  }  .sideStyle .okStyle .fashionList li img {    max-width: 180px;  }}/*==================================================================  Contact 	(/vp-ergono/contact)	(/vp-ergono/thanks)===================================================================*/#contact th {  font-weight: 500;}#contact.thanks {  min-height: 35vh;}#contact img.mail {  height: 1em;  vertical-align: middle;}#contact .required,#contact .any {  min-width: 60px;}#contact .cautionBox {  margin-top: 2em;}#contact .input + .input {  margin-top: 1em;}/* 画面サイズ 768px未満 */@media only screen and (max-width: 768px) {  #contact {    margin-bottom: 0;  }  #contact .subNav li {    width: calc(50% - 1em);    margin: 0 0.25em;  }  #contact .subNav a {    padding: 0.5em;    font-size: 1em;  }  #contact .subNav .active a:before {    border-width: 5px 5px 0;  }  #contact.thanks {    min-height: 0;    margin-bottom: 3em;  }}/*==================================================================  algorithm	(/vp-ergono/algorithm)===================================================================*/#algo {}#algo .flex {  text-align: center;  align-items: flex-end;  justify-content: space-between;  /*	padding: 0 1.5em;*/}#algo .flex .box {  width: 29%;  line-height: 1.5em;  position: relative;  /*	border: 1px solid #CCC;*/}#algo .flex .box .txt {  font-weight: 700;}#algo .flex .box.arrow:before {  content: "";  width: 31px;  height: 27px;  line-height: 1;  position: absolute;  top: 35%;  right: -17%;  background: url(../img/vp-ergono/algo/arrow_a.png) no-repeat 50% 50%;  background-size: 31px 27px;}#algo .ergonoMethod .flex .box.arrow:before {  background: url(../img/vp-ergono/algo/arrow_b.png) no-repeat 50% 50%;}#algo .owasAssignment {  background-color: #f7f5f5;  margin: 3em 0 2em;  padding: 0 1.5em 1em;}#algo .owasAssignment .owastitle {  text-align: center;  position: relative;  top: -1em;  margin-bottom: 0;}#algo .owasAssignment .owastitle span {  color: #fff;  font-size: 0.9em;  background-color: #999999;  padding: 0.1em 1em;  width: 260px;  display: inline-block;}#algo .solutionTxt {  color: #fff;  font-size: 1.4em;  font-weight: 700;  line-height: 1.5;  text-align: center;  padding: 0.7em 1em;  margin-bottom: 3em;  background-color: #00abbd;  position: relative;}#algo .ergonoMethod {  margin-bottom: 5em;  position: relative;  /*	background-color: #DEF;*/}#algo .customizeTxt {  text-align: center;  /*	background-color: #FEE;*/}#algo .customizeTxt .inner {  color: #00abbd;  font-size: 1.5em;  font-weight: 700;  line-height: 1.5;  position: relative;  display: inline-block;  /*	background-color: rgba(255,137,139,0.39);*/}#algo .customizeTxt .inner:before {  content: "";  position: absolute;  bottom: 40%;  left: -4em;  width: 4em;  height: 2px;  background-color: #00abbd;  -webkit-transform: translateY(-50%) rotate(65deg);  transform: translateY(-50%) rotate(65deg);}#algo .customizeTxt .inner:after {  content: "";  position: absolute;  bottom: 40%;  right: -4em;  width: 4em;  height: 2px;  background-color: #00abbd;  -webkit-transform: translateY(-50%) rotate(115deg);  transform: translateY(-50%) rotate(115deg);}#algo .solutionTxt:after,#algo .ergonoMethod:after {  content: "";  width: 47px;  height: 37px;  margin-right: -23px;  line-height: 1;  position: absolute;  bottom: -35%;  right: 50%;  background: url(../img/vp-ergono/algo/arrow_c.png) no-repeat 50% 50%;  background-size: 47px 37px;  z-index: -1;}#algo .ergonoMethod:after {  bottom: -25%;}/* 画面サイズ 960px未満 PC縮小版*/@media screen and (width < 960px) {  #algo .solutionTxt:after {    bottom: -38%;  }}/* 画面サイズ 768px未満 */@media only screen and (max-width: 768px) {  #algo .flex {    flex-direction: column;  }  #algo .flex .box {    width: 100%;    padding: 1.5em 1em 0.5em;    margin-bottom: 25px;  }  #algo .flex .box:last-child {    margin-bottom: 0;  }  #algo .flex .box.arrow:before {    right: 50%;    top: 100%;    margin-right: -15px;    transform: rotate(90deg);  }  #algo .owasAssignment {    padding: 0 1em 1em;  }  #algo .owasAssignment .owastitle span {    width: auto;  }  #algo .owasAssignment .flex .box:first-child {    padding-top: 0.5em;  }  #algo .solutionTxt {    margin-bottom: 1em;  }  #algo .solutionTxt:after {    bottom: -1em;  }  #algo .ergonoMethod {    margin-bottom: 3em;  }  #algo .ergonoMethod:after {    bottom: -2em;  }  #algo .customizeTxt .inner {    font-size: 1.4em;    margin: 0 1em;  }  #algo .customizeTxt .inner:before {    left: -3.2em;    width: 5em;    -webkit-transform: translateY(-50%) rotate(75deg);    transform: translateY(-50%) rotate(75deg);  }  #algo .customizeTxt .inner:after {    right: -3.2em;    width: 5em;    -webkit-transform: translateY(-50%) rotate(105deg);    transform: translateY(-50%) rotate(105deg);  }}/*==================================================================  Policy ※英語版のみ  (/en/privacy)  (/en/privacy-gdpr)===================================================================*/#policy {  margin: 2em 0;}#policy a:not(:hover) {  border-bottom: 1px solid;  color: #033d83;}#policy > ol > li {  margin-bottom: 2em;}#policy ol ul,#policy ol ol {  padding-left: 1em;}#policy dt {  margin-bottom: 0;  font-weight: bold;}#policy dd {  margin-left: 0;}#policy table {  table-layout: fixed;  width: 100%;}#policy th,#policy td {  padding: 1em;  border: 1px solid #ccc;  vertical-align: top;  font-size: 0.875em;}#policy th {  background: #eee;}/* 画面サイズ 768px未満 */@media only screen and (max-width: 768px) {  #policy {    margin-bottom: 0;  }  #policy > ol {    padding-left: 1em;  }  #policy th,  #policy td {    padding: 0.5em;    font-size: 0.8em;  }}/*==================================================================  Agreement ※英語版のみ  (/vp-ergono/agreement)===================================================================*/#agreement {  margin: 8vh auto;}#agreement .topTxt {  margin-bottom: 40px;}#agreement .topTxt p {  margin-bottom: 1em;}#agreement .agList {  padding-left: 1.5em;}#agreement .agList li {  text-indent: 0;  margin-bottom: 3em;  list-style: outside decimal;}#agreement .agList li::marker {  font-weight: 900;}#agreement .agList dt {  font-weight: 700;  margin-bottom: 1em;}#agreement .agList dd {  margin-inline-start: 10px;}#agreement .agList dd p {  margin-bottom: 1em;}#agreement .subhead {  font-weight: 700;  margin-bottom: 0.5em;}#agreement .innerList {  list-style: disc;  /*	margin-left: 1.5em;*/  margin-bottom: 1.5em;}#agreement .innerList li {  margin-bottom: 1.5em;}#agreement .bracketList {  counter-reset: number;  margin-left: 1.5em;}#agreement .bracketList li {  list-style-type: none;  counter-increment: cnt;  position: relative;}/*英語ベースCSSで数値調整検討*/#agreement .bracketList.numNormal li {  margin-bottom: 1em;}#agreement .bracketList.alpha li {  margin-bottom: 0.5em;}#agreement .bracketList.roman li {  margin-bottom: 1em;}#agreement .bracketList li:before {  counter-increment: number;  content: "(" counter(number) ")";  display: inline-block;  margin-left: -3.5em;  width: 3.2em;  text-align: right;  position: absolute;  top: 0;  left: 0;}#agreement .bracketList.roman li:before {  content: "(" counter(number, lower-roman) ")";}#agreement .bracketList.alpha li:before {  content: "(" counter(number, lower-alpha) ")";}#agreement .bracketList.asterisk li:before {  content: "*";  font-size: 1.4em;}