@charset "UTF-8";
#main-image.page {
  background-size: cover;
  background-position: center center;
}
#main-image.privacy {
  background-image: url(../img/pagetitle/title-privacy-pc@2x.jpg);
}
#main-image.contact_send, #main-image.contact {
  background-image: url(../img/pagetitle/title-contact-pc@2x.jpg);
}
#main-image.business {
  background-image: url(../img/pagetitle/title-company-pc@2x.jpg);
}
#main-image.company {
  background-image: url(../img/pagetitle/title-company-pc@2x.jpg);
}
#main-image.products {
  background-image: url(../img/pagetitle/title-company-pc@2x.jpg);
}

/**
業務内容
*/
.body_business main {
  padding-bottom: 0;
}

#page-business {
  position: relative;
}
#page-business .menu .btns {
  display: flex;
  justify-content: center;
}
#page-business .menu .btns .btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15.3733528551vw;
  height: 3.3674963397vw;
  border: solid 0.0732064422vw #09f;
  color: #0099ff;
  font-weight: bold;
  background-color: #fff;
  text-decoration: none;
  font-size: 1.1713030747vw;
  line-height: 1;
}
#page-business .menu .btns .btn:hover {
  border: solid 0.0732064422vw #09f;
  background-color: #cdebff;
  opacity: 1;
}
#page-business .menu .btns .btn + .btn {
  margin-left: 1.4641288433vw;
}
#page-business .menu .btns .btn:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.7320644217vw;
  content: "";
  display: block;
  width: 1.0980966325vw;
  height: 0.5124450952vw;
  background: url(../img/common/arrow-s-blue.png) center center no-repeat;
  background-size: contain;
}
#page-business .menu + section {
  margin-top: 6.149341142vw;
}
#page-business section .inner {
  width: 73.2064421669vw;
  margin: 0 auto;
}
#page-business h3 {
  font-size: 1.9033674963vw;
  line-height: 1;
  text-align: center;
}
#page-business h3 span {
  font-size: 1.0248901903vw;
  line-height: 1;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 0.102489019vw;
  color: #0099ff;
  display: block;
  margin-top: 0.7320644217vw;
}
#page-business #sales .main-image img {
  width: 100%;
}
#page-business #sales h3 {
  margin-top: 2.9282576867vw;
  margin-bottom: 0;
  font-size: 1.9033674963vw;
  line-height: 1;
  font-weight: bold;
  text-align: center;
}
#page-business #sales .description {
  font-size: 1.0980966325vw;
  line-height: 1;
  margin-top: 1.4641288433vw;
  text-align: center;
}
#page-business #sales .boxes {
  display: flex;
  flex-wrap: wrap;
  width: 65.8857979502vw;
  margin: 2.635431918vw auto 0;
}
#page-business #sales .boxes .box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
  width: 20.4978038067vw;
  height: 16.8374816984vw;
  border-radius: 1.4641288433vw;
  border: solid 0.3660322108vw #2087cb;
  background-color: #fff;
  margin-left: 2.196193265vw;
  margin-bottom: 2.196193265vw;
  padding: 1.8301610542vw 0.5856515373vw 0.7320644217vw;
}
#page-business #sales .boxes .box h4 {
  font-size: 1.317715959vw;
  line-height: 1.3333333333;
  font-weight: bold;
  text-align: center;
  color: #2087cb;
}
#page-business #sales .boxes .box .img {
  margin-top: 2.635431918vw;
}
#page-business #sales .boxes .box .img img {
  width: auto;
  height: 5.8565153734vw;
}
#page-business #sales .boxes .box:nth-of-type(3n+1) {
  margin-left: 0;
}
#page-business #sales .boxes .box:nth-last-child(-n+3) {
  margin-bottom: 0;
}
#page-business #sales .message {
  font-size: 1.317715959vw;
  line-height: 1.5555555556;
  font-weight: bold;
  text-align: center;
  color: #333;
  margin-top: 3.2942898975vw;
}
#page-business #sales .link {
  display: flex;
  justify-content: center;
  margin-top: 2.9282576867vw;
}
#page-business #sales .link a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 29.2825768668vw;
  height: 4.831625183vw;
  border: solid 0.0732064422vw #09f;
  background-color: #fff;
  font-size: 1.317715959vw;
  line-height: 1;
  font-weight: bold;
  text-decoration: none;
  color: #09f;
}
#page-business #sales .link a:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.4641288433vw;
  content: "";
  display: block;
  width: 1.0980966325vw;
  height: 0.5124450952vw;
  background: url(../img/common/arrow-s-blue.png) center center no-repeat;
  background-size: contain;
}
#page-business #maker {
  background-color: #dfe5ea;
  padding-top: 4.39238653vw;
  margin-top: 5.8565153734vw;
  padding-bottom: 5.8565153734vw;
}
#page-business #maker .main-image img {
  width: 100%;
}
#page-business #maker h3 {
  margin-top: 2.9282576867vw;
  margin-bottom: 0;
  font-size: 1.9033674963vw;
  line-height: 1;
  font-weight: bold;
  text-align: center;
}
#page-business #maker .boxes {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2.7818448023vw;
}
#page-business #maker .boxes .box {
  display: block;
  text-align: center;
  margin-left: 0.7320644217vw;
  margin-bottom: 1.4641288433vw;
  text-decoration: none;
}
#page-business #maker .boxes .box:nth-child(5n+1) {
  margin-left: 0;
}
#page-business #maker .boxes .box:nth-last-child(-n+5) {
  margin-bottom: 0;
}
#page-business #maker .boxes .box .img {
  text-decoration: none;
  font-size: 0.9516837482vw;
  line-height: 1;
  color: #333;
  font-weight: bold;
  width: 14.055636896vw;
  height: 4.39238653vw;
}
#page-business #maker .boxes .box .img img {
  display: block;
  width: 100%;
}
#page-business #maker .boxes .box .name {
  font-size: 0.9516837482vw;
  line-height: 1;
  margin-top: 0.3660322108vw;
  font-weight: 500;
  text-align: center;
}
#page-business #maker .boxes a.box .name {
  text-decoration: underline;
  color: #2087cb;
}
#page-business #common-access {
  margin-top: 0;
}

/**
会社案内
*/
.body_company main {
  padding-bottom: 0;
}

#page-company {
  padding: 1.1713030747vw 0 0;
  position: relative;
}
#page-company .menu .btns {
  display: flex;
  justify-content: center;
}
#page-company .menu .btns .btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15.3733528551vw;
  height: 3.3674963397vw;
  border: solid 0.0732064422vw #09f;
  color: #0099ff;
  font-weight: bold;
  background-color: #fff;
  text-decoration: none;
  font-size: 1.1713030747vw;
  line-height: 1;
}
#page-company .menu .btns .btn:hover {
  border: solid 0.0732064422vw #09f;
  background-color: #cdebff;
  opacity: 1;
}
#page-company .menu .btns .btn + .btn {
  margin-left: 1.4641288433vw;
}
#page-company .menu .btns .btn:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.7320644217vw;
  content: "";
  display: block;
  width: 1.0980966325vw;
  height: 0.5124450952vw;
  background: url(../img/common/arrow-s-blue.png) center center no-repeat;
  background-size: contain;
}
#page-company section .inner {
  width: 73.2064421669vw;
  margin: 0 auto;
}
#page-company h3 {
  font-size: 1.9033674963vw;
  line-height: 1;
  text-align: center;
  margin-bottom: 2.5622254758vw;
}
#page-company h3 span {
  font-size: 1.0248901903vw;
  line-height: 1;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 0.102489019vw;
  color: #0099ff;
  display: block;
  margin-top: 0.7320644217vw;
}
#page-company #greeting {
  margin-top: 2.9282576867vw;
  padding-top: 3.2942898975vw;
}
#page-company #greeting .contents {
  display: flex;
  justify-content: center;
  margin-top: 4.39238653vw;
}
#page-company #greeting .contents .img {
  width: 32.9428989751vw;
}
#page-company #greeting .contents .img img {
  width: 100%;
}
#page-company #greeting .contents .text {
  width: 40.2635431918vw;
  margin-left: 3.6603221083vw;
}
#page-company #greeting .contents .text strong {
  font-size: 2.4890190337vw;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.2489019034vw;
  color: #09f;
}
#page-company #greeting .contents .text .message {
  margin-top: 1.317715959vw;
  font-size: 1.0980966325vw;
  line-height: 1.6;
}
#page-company #greeting .contents .text .message .president {
  font-size: 1.0248901903vw;
  line-height: 1.7142857143;
  font-weight: bold;
  margin-top: 1.0248901903vw;
}
#page-company #greeting .contents .text .message .president .name {
  font-size: 1.1713030747vw;
  line-height: 1.5;
}
#page-company #outline {
  margin-top: 2.9282576867vw;
  padding-top: 2.5622254758vw;
}
#page-company #outline table {
  width: 100%;
}
#page-company #outline table tr th,
#page-company #outline table tr td {
  padding: 1.1713030747vw 0;
  font-size: 1.0980966325vw;
  line-height: 1.6;
  border: solid 0.0732064422vw #fff;
  color: #333;
}
#page-company #outline table tr th {
  text-align: left;
  width: 17.5695461201vw;
  vertical-align: middle;
  border-left: 0;
  background-color: #deecf6;
  text-align: center;
}
#page-company #outline table tr td {
  background-color: #f6f8f9;
  padding-left: 1.4641288433vw;
}
#page-company #outline table tr td a {
  color: #2542bb;
}
#page-company #outline P + P {
  margin-top: 1em;
}
#page-company #common-access {
  margin-top: 7.3206442167vw;
}

/**
お問い合わせ
*/
#page-contact {
  padding: 0vw 0 8.78477306vw;
  position: relative;
}
#page-contact .inner {
  width: 65.8857979502vw;
  margin: 0 auto;
}
#page-contact .message {
  font-size: 1.317715959vw;
  line-height: 1.6666666667;
  margin-bottom: 1em;
  text-align: center;
}
#page-contact .message:last-of-type {
  margin-bottom: 0;
}
#page-contact a {
  color: #357fae;
}
#page-contact .form {
  background: #ddd;
  padding: 2.7818448023vw 4.39238653vw 5.8565153734vw;
  margin-top: 3.6603221083vw;
}
#page-contact .form h3 {
  text-align: center;
  font-size: 1.4641288433vw;
  line-height: 1.2;
  margin-bottom: 2.9282576867vw;
}
#page-contact .form table {
  margin-bottom: 2.9282576867vw;
}
#page-contact .form table tr th,
#page-contact .form table tr td {
  padding: 0.7320644217vw 0;
  font-size: 1.0980966325vw;
  line-height: 2;
}
#page-contact .form table tr th {
  text-align: left;
  width: 17.2035139092vw;
  vertical-align: middle;
}
#page-contact .form table tr th.require:after {
  content: "必須";
  background: #d20000;
  color: #fff;
  font-size: 0.878477306vw;
  line-height: 1.5;
  padding: 0.1464128843vw 0.7320644217vw;
  margin-left: 0.7320644217vw;
}
#page-contact .form table tr .label {
  font-size: 1.0248901903vw;
  line-height: 2.1428571429;
  color: #999999;
  display: block;
  margin-bottom: 0.5em;
}
#page-contact .form table tr .label:first-of-type {
  margin-top: 0;
}
#page-contact .form table tr .label:last-of-type {
  margin-bottom: 0;
}
#page-contact .form table tr .wpcf7-not-valid-tip {
  font-size: 1.1713030747vw;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
#page-contact .form table tr select,
#page-contact .form table tr textarea,
#page-contact .form table tr input[type=text],
#page-contact .form table tr input[type=email] {
  border: 0.0732064422vw solid #cccccc;
  padding: 0.65em;
  font-size: 1.0980966325vw;
  max-width: 100%;
}
#page-contact .form table tr textarea {
  width: 100%;
}
#page-contact .form table tr .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  margin-top: 0.75em;
}
#page-contact .form table tr .wpcf7-checkbox .wpcf7-list-item {
  margin-left: 0;
}
#page-contact .form table tr .line {
  margin-top: 0.25em;
  margin-bottom: 0.5em;
}
#page-contact .form table tr dl {
  display: flex;
  flex-wrap: wrap;
}
#page-contact .form table tr dl dt {
  display: flex;
  align-items: center;
  width: 6.588579795vw;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}
#page-contact .form table tr dl dd {
  width: 31.0395314788vw;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}
#page-contact .form .privacy {
  width: 100%;
  padding: 2.635431918vw;
  text-align: center;
  background-color: #eee;
  font-size: 1.0980966325vw;
  line-height: 2;
}
#page-contact .form .privacy label {
  font-weight: bold;
}
#page-contact .form .submit {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 2.196193265vw;
}
#page-contact .form .submit [type=submit] {
  display: block;
  background: #2087cb;
  border: 0;
  font-size: 1.1713030747vw;
  color: #fff;
  width: 17.5695461201vw;
  height: 3.3674963397vw;
  cursor: pointer;
}
#page-contact .form .submit [type=submit]:hover {
  opacity: 0.5;
}
#page-contact .form .submit [type=submit]:disabled {
  background-color: #999;
  cursor: not-allowed;
}
#page-contact .form .submit [type=submit]:disabled:hover {
  opacity: 1;
}

#page-contact_send {
  padding: 7.3206442167vw 0 9.5168374817vw;
  position: relative;
}
#page-contact_send .inner {
  width: 65.8857979502vw;
  margin: 0 auto;
}
#page-contact_send h3 {
  font-size: 1.756954612vw;
  line-height: 1.4166666667;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2.196193265vw;
}
#page-contact_send p {
  font-size: 1.0980966325vw;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2.9282576867vw;
}
#page-contact_send .link {
  display: flex;
  justify-content: center;
}
#page-contact_send .link a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.317715959vw;
  width: 17.5695461201vw;
  height: 3.3674963397vw;
  background-color: #2087cb;
}

/**
404
*/
/**
サイトポリシー
*/
#page-privacy,
#page-sitepolicy {
  padding: 0.7320644217vw 0 0;
  position: relative;
}
#page-privacy .inner,
#page-sitepolicy .inner {
  width: 65.8857979502vw;
  margin: 0 auto;
}
#page-privacy h3,
#page-sitepolicy h3 {
  font-weight: bold;
  margin-top: 2.9282576867vw;
  margin-bottom: 1.0980966325vw;
  font-size: 1.1713030747vw;
  line-height: 1.5;
  position: relative;
  background-color: #eee;
  color: #fff;
  padding: 0 1.9033674963vw;
  min-height: 4.0263543192vw;
  color: #333333;
  display: flex;
  align-items: center;
}
#page-privacy h3:before,
#page-sitepolicy h3:before {
  position: absolute;
  content: "";
  width: 0.1464128843vw;
  height: 2.9282576867vw;
  background-color: #fff;
  display: block;
  top: 0vw;
  left: 1.0980966325vw;
  background-color: #09f;
}
#page-privacy p,
#page-sitepolicy p {
  font-size: 1.0980966325vw;
  line-height: 1.6;
  margin-bottom: 1.4641288433vw;
  color: #333;
  font-weight: 500;
}
#page-privacy p:last-of-type,
#page-sitepolicy p:last-of-type {
  margin-bottom: 0;
}
#page-privacy ol li,
#page-privacy ul li,
#page-sitepolicy ol li,
#page-sitepolicy ul li {
  font-size: 1.0980966325vw;
  line-height: 1.6;
}
#page-privacy ul li:before,
#page-sitepolicy ul li:before {
  content: "・";
}
#page-privacy ol li,
#page-sitepolicy ol li {
  list-style-type: decimal;
}

/**
リンク
*/
/**
サイトマップ
*/
/**
coming_soon
*/
#page-coming_soon {
  padding: 16.1054172767vw 0 17.5695461201vw;
  position: relative;
}
#page-coming_soon .inner {
  width: 65.8857979502vw;
  margin: 0 auto;
}
#page-coming_soon h3 {
  font-size: 2.7818448023vw;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  color: #000000;
}
#page-coming_soon p {
  font-size: 1.317715959vw;
  line-height: 1.67;
  text-align: center;
  color: #333333;
  margin-top: 2.196193265vw;
}
#page-coming_soon .link a {
  width: 21.9619326501vw;
  height: 4.39238653vw;
  margin: 2.9282576867vw auto 0;
  font-size: 1.317715959vw;
}

/**
notfound
*/
#page-notfound-page {
  padding: 16.1054172767vw 0 17.5695461201vw;
  position: relative;
}
#page-notfound-page .inner {
  width: 65.8857979502vw;
  margin: 0 auto;
}
#page-notfound-page h3 {
  font-size: 2.7818448023vw;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  color: #000000;
}
#page-notfound-page p {
  font-size: 1.317715959vw;
  line-height: 1.67;
  text-align: center;
  color: #333333;
  margin-top: 2.196193265vw;
}
#page-notfound-page .link a {
  width: 21.9619326501vw;
  height: 4.39238653vw;
  margin: 2.9282576867vw auto 0;
  font-size: 1.317715959vw;
}

/**
製品情報
*/
.body_products main {
  padding-bottom: 0;
}

#page-products {
  padding: 1.1713030747vw 0 0;
  position: relative;
}
#page-products .menu .btns {
  display: flex;
  justify-content: center;
}
#page-products .menu .btns .btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15.3733528551vw;
  height: 3.3674963397vw;
  border: solid 0.0732064422vw #09f;
  color: #0099ff;
  font-weight: bold;
  background-color: #fff;
  text-decoration: none;
  font-size: 1.1713030747vw;
  line-height: 1;
}
#page-products .menu .btns .btn:hover {
  border: solid 0.0732064422vw #09f;
  background-color: #cdebff;
  opacity: 1;
}
#page-products .menu .btns .btn + .btn {
  margin-left: 1.4641288433vw;
}
#page-products .menu .btns .btn:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.7320644217vw;
  content: "";
  display: block;
  width: 1.0980966325vw;
  height: 0.5124450952vw;
  background: url(../img/common/arrow-s-blue.png) center center no-repeat;
  background-size: contain;
}
#page-products section .inner {
  width: 73.2064421669vw;
  margin: 0 auto;
}
#page-products h3 {
  font-size: 1.9033674963vw;
  line-height: 1;
  text-align: center;
  margin-top: 2.9282576867vw;
}
#page-products h3 span {
  font-size: 1.0248901903vw;
  line-height: 1;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 0.102489019vw;
  color: #0099ff;
  display: block;
  margin-top: 0.7320644217vw;
}
#page-products .main-image img {
  display: block;
  width: 100%;
}
#page-products #safety {
  margin-top: 6.2225475842vw;
}
#page-products #infectious {
  margin-top: 4.39238653vw;
}
#page-products .items {
  margin-top: 4.0263543192vw;
  padding: 0 0.7320644217vw;
}
#page-products .items.boxes {
  display: flex;
  flex-wrap: wrap;
}
#page-products .items.boxes .box {
  width: 21.9619326501vw;
  margin-left: 2.9282576867vw;
  margin-bottom: 2.196193265vw;
}
#page-products .items.boxes .box:nth-of-type(3n+1) {
  margin-left: 0;
}
#page-products .items.boxes .box:nth-last-child(-n+3) {
  margin-bottom: 0;
}
#page-products .items.boxes .box .img {
  min-height: 13.5431918009vw;
}
#page-products .items.boxes .box .img img {
  display: block;
  width: 100%;
}
#page-products .items.boxes .box .description {
  margin-top: 0.7320644217vw;
  min-height: 13.17715959vw;
  border-left: 0.1464128843vw solid #09f;
  padding-left: 0.7320644217vw;
}
#page-products .items.boxes .box .description h4 {
  padding: 0.5856515373vw;
  background-color: #deecf6;
  font-size: 1.1713030747vw;
  line-height: 1;
  font-weight: bold;
  text-align: left;
  color: #333;
}
#page-products .items.boxes .box .description ul {
  margin-top: 0.7320644217vw;
}
#page-products .items.boxes .box .description ul li a {
  font-size: 1.0980966325vw;
  line-height: 1.6;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
  color: #09f;
  text-decoration: underline;
}
#page-products #common-access {
  margin-top: 7.3206442167vw;
}
#page-products #common-access h3 {
  margin-top: 0;
}

#common-access {
  margin-top: 7.3206442167vw;
  background-color: #deecf6;
  padding-top: 4.39238653vw;
  padding-bottom: 13.9092240117vw;
}
#common-access h3 {
  margin-top: 0;
}
#common-access #map {
  background-color: #fff;
  margin-top: 2.5622254758vw;
}
#common-access #map iframe {
  width: 100%;
  height: 29.2825768668vw;
}
#common-access #map .caption {
  padding: 1.4641288433vw;
}
#common-access #map .caption dl {
  font-size: 1.0980966325vw;
  line-height: 1.6;
  font-weight: bold;
  display: flex;
}
#common-access #map .caption dl dt {
  width: 12.8111273792vw;
  border-right: 0.0732064422vw solid #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
}
#common-access #map .caption dl dd {
  width: 54.9048316252vw;
  padding-left: 2.5622254758vw;
  display: flex;
  align-items: center;
}