@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@400;500&display=swap");
/*------------------------------
svgScrollAnim
------------------------------*/
.svg-anim {
  position: absolute;
  width: 100%;
  overflow: hidden;
}
.svg-anim .svg-anim-inner {
  position: absolute;
  width: 2000px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width: 767px) {
  .svg-anim .svg-anim-inner {
    width: 100%;
  }
}
.svg-anim .svg-anim-inner.origin-ct {
  -webkit-transform-origin: center top;
          transform-origin: center top;
}
.svg-anim .line {
  position: absolute;
  width: 100%;
}
.svg-anim .line img,
.svg-anim .line svg {
  width: 100%;
  height: auto;
}

.svg-anim--top.svg-anim--1 {
  height: 792px;
  margin-top: -101px;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--1 {
    height: 167.949vw;
    margin-top: -20.513vw;
  }
}
.svg-anim--top.svg-anim--1 .svg-anim-inner {
  height: 792px;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--1 .svg-anim-inner {
    height: 167.949vw;
  }
}
.svg-anim--top.svg-anim--1 .line--1 {
  width: 2000px;
  top: 216px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--1 .line--1 {
    width: 100%;
    top: 34.615vw;
  }
}
.svg-anim--top.svg-anim--1 .line--2 {
  width: 2000px;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--1 .line--2 {
    width: 100%;
  }
}
.svg-anim--top.svg-anim--2 {
  height: 822px;
  margin-top: -809px;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--2 {
    height: 167.949vw;
    margin-top: -84.872vw;
  }
}
.svg-anim--top.svg-anim--2 .svg-anim-inner {
  height: 822px;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--2 .svg-anim-inner {
    height: 167.949vw;
  }
}
.svg-anim--top.svg-anim--2 .line--1 {
  width: 2000px;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--2 .line--1 {
    width: 100%;
    top: 34.615vw;
  }
}
.svg-anim--top.svg-anim--2 .line--2 {
  width: 496px;
  top: 343px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--2 .line--2 {
    width: 12.821vw;
    top: 44.872vw;
  }
}
.svg-anim--top.svg-anim--3 {
  height: 492px;
  margin-top: 0px;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--3 {
    height: 167.949vw;
    margin-top: 0vw;
  }
}
.svg-anim--top.svg-anim--3 .svg-anim-inner {
  height: 492px;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--3 .svg-anim-inner {
    height: 167.949vw;
  }
}
.svg-anim--top.svg-anim--3 .line--1 {
  width: 701px;
  top: -130px;
  right: 0;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--3 .line--1 {
    width: 39.487vw;
    top: 0;
  }
}
.svg-anim--top.svg-anim--4 {
  height: 792px;
  margin-top: -2px;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--4 {
    height: 167.949vw;
    margin-top: -5.128vw;
  }
}
.svg-anim--top.svg-anim--4 .svg-anim-inner {
  height: 792px;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--4 .svg-anim-inner {
    height: 167.949vw;
  }
}
.svg-anim--top.svg-anim--4 .line--1 {
  width: 2000px;
  top: 2px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--4 .line--1 {
    width: 100%;
    top: 1.795vw;
    left: 0vw;
  }
}
.svg-anim--top.svg-anim--4 .line--2 {
  width: 1717px;
  top: 214px;
  left: 2px;
}
@media only screen and (max-width: 767px) {
  .svg-anim--top.svg-anim--4 .line--2 {
    width: 94.615%;
    top: 16.41vw;
    left: 0%;
  }
}

@media only screen and (max-width: 767px) {
  _:lang(x) + _:-webkit-full-screen-document, .svg-anim--top.svg-anim--4 {
    margin-top: -5.641vw;
  }
}

/* -----------------------------
module original
------------------------------*/
/* -----------------------------
common reset
------------------------------*/
html, body, h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, caption, th, td, img, form, figure {
  margin: 0;
  padding: 0;
  border: none;
  font-style: normal;
  font-weight: normal;
  text-align: left;
  list-style-type: none;
  color: #000;
}

body {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  font-family: YakuHanJPs, "Noto Sans JP", sans-serif;
  max-width: 100%;
}

img {
  vertical-align: bottom;
}

a img {
  border: none;
}

a:hover img {
  border: none;
}

a {
  color: #000;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

ul, ol, dl {
  list-style-position: outside;
}

button {
  background: none;
  margin: 0;
  padding: 0;
  border: none;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
  html {
    font-size: 14px;
  }
  body {
    font-size: 14px;
  }
  li, dt, dd {
    font-size: inherit;
  }
}
em {
  font-style: normal;
}

::-webkit-input-placeholder {
  color: #999;
}

::-moz-placeholder {
  color: #999;
}

:-ms-input-placeholder {
  color: #999;
}

::-ms-input-placeholder {
  color: #999;
}

::placeholder {
  color: #999;
}

/*------------------------------
module　basic
------------------------------*/
.clearFix:after {
  content: "";
  display: block;
  clear: both;
}

.clearFix {
  zoom: 1;
}

.textL {
  text-align: left !important;
}

.textC {
  text-align: center !important;
}

.textR {
  text-align: right !important;
}

@media only screen and (max-width: 767px) {
  .sp-textL {
    text-align: left !important;
  }
}

@media only screen and (max-width: 767px) {
  .sp-textC {
    text-align: center !important;
  }
}

@media only screen and (max-width: 767px) {
  .sp-textR {
    text-align: right !important;
  }
}

.ps_ab {
  position: absolute;
}

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.body_inner {
  position: relative;
  overflow: hidden;
}

.mod-em {
  color: #1E6E78;
}

.cnt_inner {
  max-width: 1320px;
  padding: 0 min(4.545vw, 60px);
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .cnt_inner {
    padding: 0 5.128vw;
  }
}

body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}
body main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/*------------------------------
animation
------------------------------*/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes slideDown {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slideDown {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/*------------------------------
module set example
------------------------------*/
.mt_10 {
  margin-top: 10px;
}

.mt_20 {
  margin-top: 20px;
}

.mt_30 {
  margin-top: 30px;
}

.mt_40 {
  margin-top: 40px;
}

.mt_50 {
  margin-top: 50px;
}

.mt_60 {
  margin-top: 60px;
}

.mt_70 {
  margin-top: 70px;
}

/* -----------------------------
common style
------------------------------*/
img {
  max-width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  img {
    width: 100%;
    height: auto;
  }
}

sup {
  font-size: 60%;
}

em {
  font-weight: bold;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

.sp-inline {
  display: none !important;
}

.pc-inline {
  display: inline-block !important;
}

ul.inline li {
  display: inline-block;
  vertical-align: top;
}

body {
  background: #fff;
  margin: 0 auto;
  min-width: 100%;
  width: 100%;
  overflow-x: hidden;
}

html, body {
  opacity: 1;
}

html.fixed,
body.fixed {
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  html.drop-opened,
  body.drop-opened {
    overflow: hidden;
  }
  html.drop-opened main,
  body.drop-opened main {
    opacity: 0;
  }
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .sp-inline {
    display: inline-block !important;
  }
  .pc-inline {
    display: none !important;
  }
  body {
    min-width: 100%;
    width: 100%;
  }
}
/* -----------------------------
hover style
------------------------------*/
@media print, screen and (min-width: 768px) {
  .btn_style__f_list,
  .btn_style__detail,
  .btn_style__popup {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .btn_style__f_list:hover,
  .btn_style__detail:hover,
  .btn_style__popup:hover {
    opacity: 0.75;
  }
  footer .corpo_nav a:hover {
    text-decoration: underline;
  }
  nav li:not(.contact, .logo_yokogawa) a[href] {
    border-bottom: 2px;
    position: relative;
  }
  nav li:not(.contact, .logo_yokogawa) a[href]::after {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 2px;
    background: #1E6E78;
    bottom: 20px;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transition: -webkit-transform 0.1s;
    transition: -webkit-transform 0.1s;
    transition: transform 0.1s;
    transition: transform 0.1s, -webkit-transform 0.1s;
  }
  nav li:not(.contact, .logo_yokogawa) a[href]:hover::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
  }
  header nav ul.global > li.contact {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  header nav ul.global > li.contact:hover {
    background-color: rgba(30, 110, 120, 0.8);
  }
  header nav ul.global > li.logo_yokogawa {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  header nav ul.global > li.logo_yokogawa:hover {
    opacity: 0.7;
  }
  .footer_nav a[href] {
    border-bottom: 2px;
    position: relative;
  }
  .footer_nav a[href]::after {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 2px;
    background: #1E6E78;
    bottom: 0px;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  .footer_nav a[href]:hover::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
  }
  nav a[href].current:hover {
    opacity: 1;
  }
  .breadcrumb a[href]:hover {
    opacity: 0.7;
  }
  .task_link.link a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .task_link.link a:hover {
    opacity: 0.7;
    text-decoration: underline;
  }
  .btn_style__nav {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .btn_style__nav:hover {
    opacity: 0.7;
  }
  /* 反転 */
  .btn_style__contact {
    -webkit-transition: background-color 0.2s, color 0.2s;
    transition: background-color 0.2s, color 0.2s;
  }
  .btn_style__contact:hover {
    background-color: #fff;
    background-image: url(../img/common/arw_btn2.svg);
    color: #1E6E78;
  }
  .btn_style__contact:hover:before {
    background-image: url(../img/common/icon_mail_on.svg);
  }
  .btn_style__contact_l {
    -webkit-transition: background-color 0.2s, color 0.2s;
    transition: background-color 0.2s, color 0.2s;
  }
  .btn_style__contact_l:hover {
    background-color: #fff;
    border: 2px solid #1E6E78;
    background-image: url(../img/common/arw_btn2.svg);
    background-size: min(4.697vw, 62px) auto;
    background-position: right min(3.258vw, 43px) center;
    color: #1E6E78;
  }
  .btn_style__contact_l:hover:before {
    background-image: url(../img/common/icon_mail_on.svg);
  }
  .btn_style__white[href],
  .btn_style__white_wide[href],
  .btn_style__white_s[href] {
    -webkit-transition: background-color 0.2s, color 0.2s;
    transition: background-color 0.2s, color 0.2s;
  }
  .btn_style__white[href]:hover,
  .btn_style__white_wide[href]:hover,
  .btn_style__white_s[href]:hover {
    background-color: #1E6E78;
    background-image: url(../img/common/arw_btn.svg);
    color: #fff;
  }
}
/* ==================================================
	footer
================================================== */
footer {
  background-color: #C8DCDC;
  position: relative;
}
footer .ftr_inner {
  max-width: 1280px;
  margin: auto;
  padding: 46px 40px 0 50px;
}
@media only screen and (max-width: 767px) {
  footer .ftr_inner {
    padding: 16.41vw 8.974vw 0;
  }
}
footer .gotoTop {
  font-size: 0;
  z-index: 15;
  right: 20px;
  position: absolute;
  bottom: inherit;
  top: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
footer .gotoTop a {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: inline-block;
  width: min(4.545vw, 60px);
  height: min(4.545vw, 60px);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2214%22%20height%3D%2213%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20stroke%3D%22%23093149%22%20d%3D%22M2%201.225h10M1%2012.275l6-6%206%206%22%2F%3E%3C%2Fsvg%3E");
  background-image: url("../img/common/totop.svg");
  background-size: min(1.364vw, 18px) auto;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #E9F0F0;
  border-radius: 100vh;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  footer .gotoTop a {
    background-size: 16px auto;
    width: 50px;
    height: 50px;
  }
}
footer .gotoTop a:hover {
  opacity: 1;
  -webkit-filter: brightness(103%);
          filter: brightness(103%);
}
footer .col_wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  footer .col_wrap {
    display: block;
  }
}
footer .footer_logo {
  display: block;
  margin-top: 36px;
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  footer .footer_logo {
    margin-top: 0;
    margin-bottom: 5.128vw;
  }
}
footer .footer_logo img {
  width: 250px;
  height: auto;
}
@media only screen and (max-width: 767px) {
  footer .footer_logo img {
    width: 70.256vw;
  }
}
footer .corpo_nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-column-gap: 32px;
     -moz-column-gap: 32px;
          column-gap: 32px;
}
@media only screen and (max-width: 767px) {
  footer .corpo_nav {
    row-gap: 2.564vw;
    -webkit-column-gap: 6.667vw;
       -moz-column-gap: 6.667vw;
            column-gap: 6.667vw;
  }
}
footer .corpo_nav li {
  position: relative;
}
footer .corpo_nav li::before {
  content: "|";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -17px;
  margin: auto;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  footer .corpo_nav li::before {
    font-size: 3.333vw;
    right: -3.59vw;
  }
}
footer .corpo_nav li:last-child::before {
  content: none;
}
@media only screen and (max-width: 767px) {
  footer .corpo_nav li:nth-child(even)::before {
    content: none;
  }
}
footer .corpo_nav a {
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 767px) {
  footer .corpo_nav a {
    font-size: 3.333vw;
  }
}
footer .footer_nav {
  width: 348px;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, auto);
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 45px;
     -moz-column-gap: 45px;
          column-gap: 45px;
  margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  footer .footer_nav {
    width: auto;
    display: block;
    margin-top: 4.103vw;
    margin-bottom: 7.692vw;
  }
}
footer .footer_nav li.full-wide {
  grid-area: 1/1/1/3;
}
footer .footer_nav a {
  color: #1E6E78;
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  padding: 10px 0 10px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  footer .footer_nav a {
    display: block;
    font-size: 4.103vw;
    padding: 2.564vw 0 2.564vw;
  }
}
footer .copyright {
  font-size: 10px;
  letter-spacing: 0.05em;
  padding: 20px 0 60px;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  footer .copyright {
    font-size: 2.564vw;
    padding: 3.846vw 0 7.179vw;
  }
}
footer .btn_style__contact {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.1em;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-image: url(../img/common/arw_btn.svg);
  background-size: 30px auto;
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-color: #1E6E78;
  border-radius: 100vh;
  border: 2px solid #1E6E78;
  color: #fff;
  line-height: 1;
  text-align: center;
  width: 244px;
  height: 38px;
}
@media only screen and (max-width: 767px) {
  footer .btn_style__contact {
    font-size: 4.103vw;
    letter-spacing: 0.05em;
    background-size: 7.692vw auto;
    background-position: right 2.564vw center;
    width: 51.282vw;
    height: 10.256vw;
  }
}
footer .btn_style__contact span {
  -webkit-transform: translateY(-0.02em);
          transform: translateY(-0.02em);
}
footer .btn_style__contact::before {
  background: url(../img/common/icon_mail.svg) 0 0/100% auto no-repeat;
  content: "";
  position: absolute;
  left: 27px;
  width: 22px;
  height: 18px;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
@media only screen and (max-width: 767px) {
  footer .btn_style__contact::before {
    left: 5.641vw;
    width: 4.615vw;
    height: 3.846vw;
  }
}

/* ==================================================
	header
================================================== */
header {
  background-color: #C8DCDC;
  width: 100%;
  position: fixed;
  z-index: 100;
  top: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
header.scrolled {
  -webkit-box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}
header .global_wrap {
  position: relative;
  display: grid;
  grid-template-columns: auto auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 90px;
  padding-left: min(2.083vw, 30px);
}
@media only screen and (max-width: 767px) {
  header .global_wrap {
    height: 17.949vw;
    padding-left: 3.59vw;
  }
}
header .head_logo {
  position: relative;
  z-index: 2;
  width: min(15.278vw, 220px);
  height: auto;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}
@media only screen and (max-width: 767px) {
  header .head_logo {
    width: 48.205vw;
    height: 6.667vw;
  }
}
header .drop-down {
  cursor: pointer;
}
header .drop-down.hover .drop {
  display: block;
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  header .drop.show {
    display: block;
    opacity: 1;
    z-index: 11;
  }
}
@media only screen and (max-width: 767px) {
  header .drop {
    overflow-y: scroll;
  }
}
header br.for-nav {
  display: none;
}
@media screen and (max-width: 1180px) {
  header br.for-nav {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  header br.for-nav {
    display: none;
  }
}
header nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
header nav .btn_menu {
  display: none;
}
@media only screen and (max-width: 767px) {
  header nav .btn_menu {
    display: block;
    width: 20.513vw;
    height: 17.949vw;
    position: relative;
  }
  header nav .btn_menu .bar {
    width: 10.256vw;
    height: 2px;
    display: block;
    -webkit-transition: 0.1s;
    transition: 0.1s;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    background: #1E6E78;
  }
  header nav .btn_menu::before, header nav .btn_menu::after {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  header nav .btn_menu::before {
    background: #1E6E78;
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2.308vw + 1px);
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 10.256vw;
    height: 2px;
  }
  header nav .btn_menu::after {
    background: #1E6E78;
    content: "";
    display: block;
    position: absolute;
    top: calc(50% + 2.308vw - 1px);
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 10.256vw;
    height: 2px;
  }
  header nav .btn_menu.show .bar {
    opacity: 0;
  }
  header nav .btn_menu.show::before {
    top: calc(50% - 1px);
    top: 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  header nav .btn_menu.show::after {
    top: calc(50% + 1px);
    top: 50%;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}
header nav ul.global {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: min(1.806vw, 26px);
     -moz-column-gap: min(1.806vw, 26px);
          column-gap: min(1.806vw, 26px);
}
@media only screen and (max-width: 767px) {
  header nav ul.global {
    display: none;
  }
  header nav ul.global.show {
    display: block;
    position: relative;
  }
}
header nav ul.global > li.logo_yokogawa {
  padding-right: min(2.083vw, 30px);
  width: min(11.111vw, 160px);
}
header nav ul.global > li.contact {
  background-color: #1E6E78;
}
header nav ul.global > li.contact a {
  color: #fff;
  display: inline-grid;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  justify-items: center;
  padding: 0 min(1.181vw, 17px);
}
header nav ul.global > li.contact a::before {
  background: url(../img/common/icon_mail.svg) 0 0/100% auto no-repeat;
  content: "";
  display: block;
  width: min(1.944vw, 28px);
  height: min(1.528vw, 22px);
  margin-bottom: min(0.694vw, 10px);
}
header nav ul.global > li > a {
  padding-top: 0.3em;
  color: #1E6E78;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: min(1.042vw, 15px);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  height: 90px;
}
@media screen and (max-width: 1180px) {
  header nav ul.global > li > a {
    font-size: 14px;
  }
}
@media screen and (max-width: 900px) {
  header nav ul.global > li > a {
    font-size: min(1.389vw, 20px);
  }
}
@media print, screen and (min-width: 768px) {
  header nav ul.global > li.arw_bottoms {
    background-image: url('data:image/svg+xml;charset=utf-8,<svg width="10" height="6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9 1L5 5 1 1" stroke="%23444"/></svg>');
    background-size: 10px auto;
    background-position: center bottom 24px;
    background-repeat: no-repeat;
  }
}
header .drop {
  background-color: #C8DCDC;
  padding: 60px 30px;
  position: absolute;
  inset: 90px 0 auto 0;
  z-index: 10;
  display: none;
  opacity: 0;
  -webkit-animation: fadeIn 0.3s ease-out alternate;
          animation: fadeIn 0.3s ease-out alternate;
}
@media only screen and (max-width: 767px) {
  header .drop {
    border-bottom: none;
    padding: 3.077vw 8.974vw 35.897vw;
    inset: 17.949vw 0 auto;
    height: 100vh;
  }
}
header .drop.drop1 ul.global, header .drop.drop1-sp ul.global {
  background-color: #C8DCDC;
}
@media print, screen and (min-width: 768px) {
  header .drop.drop1 ul.global, header .drop.drop1-sp ul.global {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  header .drop.drop1 ul.global li a, header .drop.drop1-sp ul.global li a {
    border-bottom: 1px solid #1E6E78;
    color: #1E6E78;
    font-size: 4.103vw;
    font-weight: 600;
    height: 15.128vw;
    display: grid;
    grid-template-columns: 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    background-image: url('data:image/svg+xml;charset=utf-8,<svg width="17" height="6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M.5 5h15l-4.375-4" stroke="%23444"/></svg>');
    background-image: url(../img/common/arw_btn.svg);
    background-size: 7.692vw auto;
    background-position: right 0 center;
    background-repeat: no-repeat;
  }
  header .drop.drop1 ul.global li.contact, header .drop.drop1-sp ul.global li.contact {
    margin-top: 10.256vw;
  }
  header .drop.drop1 ul.global li.contact a, header .drop.drop1-sp ul.global li.contact a {
    background-color: #1E6E78;
    border-radius: 100vh;
    border: none;
    color: #fff;
    font-size: 4.615vw;
    line-height: 1;
    text-align: center;
    background-size: 14.359vw auto;
    background-position: right 3.077vw center;
  }
  header .drop.drop1 ul.global li.contact a::before, header .drop.drop1-sp ul.global li.contact a::before {
    background: url(../img/common/icon_mail.svg) 0 0/100% auto no-repeat;
    content: "";
    position: absolute;
    left: 7.692vw;
    width: 6.41vw;
    height: 5.128vw;
  }
  header .drop.drop1 ul.global li.logo_yokogawa, header .drop.drop1-sp ul.global li.logo_yokogawa {
    margin: 8.718vw 0;
  }
  header .drop.drop1 ul.global li.logo_yokogawa a, header .drop.drop1-sp ul.global li.logo_yokogawa a {
    width: 35.897vw;
    height: auto;
    background-image: none;
    border: none;
    margin: auto;
  }
}

/* ==================================================
	main
================================================== */
main {
  padding-top: 90px;
}
@media only screen and (max-width: 767px) {
  main {
    padding-top: 17.949vw;
  }
}

/* ==================================================
	btn 
================================================== */
.btn_style__contact_l {
  border: 2px solid #1E6E78;
  font-size: min(1.97vw, 26px);
  font-weight: 500;
  letter-spacing: 0.05em;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-image: url(../img/common/arw_btn.svg);
  background-size: min(4.697vw, 62px) auto;
  background-position: right min(3.258vw, 43px) center;
  background-repeat: no-repeat;
  background-color: #1E6E78;
  border-radius: 100vh;
  color: #fff;
  line-height: 1;
  text-align: center;
  width: min(49.773vw, 657px);
  height: min(6.818vw, 90px);
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .btn_style__contact_l {
    font-size: 4.615vw;
    letter-spacing: normal;
    background-size: auto 9.231vw;
    background-position: right 3.077vw center;
    width: 82.051vw;
    height: 15.385vw;
  }
}
.btn_style__contact_l span {
  -webkit-transform: translateY(-0.05em);
          transform: translateY(-0.05em);
  padding-left: min(1.894vw, 25px);
}
.btn_style__contact_l::before {
  background: url(../img/common/icon_mail.svg) 0 0/100% auto no-repeat;
  content: "";
  position: absolute;
  left: min(9.848vw, 130px);
  width: min(2.727vw, 36px);
  height: min(2.273vw, 30px);
}
@media only screen and (max-width: 767px) {
  .btn_style__contact_l::before {
    left: 7.949vw;
    width: 6.41vw;
    height: 5.128vw;
  }
}

.btn_style__nav {
  border: 1.5px solid #1E6E78;
  font-size: min(1.061vw, 14px);
  font-weight: 600;
  letter-spacing: 0.05em;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-image: url(../img/common/arw_navbtn_back.svg);
  background-size: min(1.97vw, 26px) auto;
  background-position: left min(1.364vw, 18px) top calc(50% - 1px);
  background-repeat: no-repeat;
  background-color: #fff;
  border-radius: 100vh;
  color: #1E6E78;
  line-height: 1;
  text-align: center;
  width: min(17.424vw, 230px);
  height: min(3.03vw, 40px);
  padding-left: min(1.515vw, 20px);
}
@media only screen and (max-width: 767px) {
  .btn_style__nav {
    font-size: 3.59vw;
    letter-spacing: normal;
    background-image: url(../img/common/arw_navbtn_back_s.svg);
    background-size: 3.59vw auto;
    background-position: left 3.59vw top calc(50% - 1px);
    width: 49.744vw;
    height: 7.692vw;
    padding-left: 2.308vw;
  }
}

.btn_style__white {
  font-size: min(1.212vw, 16px);
  font-weight: 600;
  letter-spacing: 0.04em;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-image: url(../img/common/arw_btn2.svg);
  background-size: min(3.258vw, 43px) auto;
  background-position: right min(0.833vw, 11px) center;
  background-repeat: no-repeat;
  background-color: #fff;
  border: solid 2px #1E6E78;
  border-radius: 100vh;
  color: #1E6E78;
  line-height: 1;
  text-align: center;
  width: min(21.667vw, 286px);
  height: min(3.788vw, 50px);
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .btn_style__white {
    font-size: 3.59vw;
    letter-spacing: 0.05em;
    background-size: 7.692vw auto;
    background-position: right 2.564vw center;
    width: 60.513vw;
    height: 10.256vw;
  }
}
.btn_style__white span {
  -webkit-transform: translateY(-0.02em);
          transform: translateY(-0.02em);
}
.btn_style__white_wide {
  font-size: min(1.212vw, 16px);
  font-weight: 500;
  letter-spacing: 0.04em;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-image: url(../img/common/arw_btn2.svg);
  background-size: min(3.258vw, 43px) auto;
  background-position: right min(0.833vw, 11px) center;
  background-repeat: no-repeat;
  background-color: #fff;
  border: solid 2px #1E6E78;
  border-radius: 100vh;
  color: #1E6E78;
  line-height: 1;
  text-align: center;
  width: min(21.667vw, 286px);
  height: min(3.788vw, 50px);
  margin: auto;
  font-size: min(1.818vw, 24px);
  background-size: min(3.788vw, 50px) auto;
  background-position: right min(1.364vw, 18px) center;
  width: min(42.424vw, 560px);
  height: min(5.455vw, 72px);
  margin-top: min(6.061vw, 80px);
}
@media only screen and (max-width: 767px) {
  .btn_style__white_wide {
    font-size: 3.59vw;
    letter-spacing: 0.05em;
    background-size: 7.692vw auto;
    background-position: right 2.564vw center;
    width: 60.513vw;
    height: 10.256vw;
    font-size: 4.615vw;
    background-size: 12.821vw;
    background-position: right 4.103vw center;
    width: 82.051vw;
    height: 15.385vw;
    margin-top: 10.769vw;
  }
}
.btn_style__white_wide span {
  -webkit-transform: translateY(-0.02em);
          transform: translateY(-0.02em);
}
.btn_style__white_s {
  font-size: min(1.212vw, 16px);
  font-weight: 600;
  letter-spacing: 0.04em;
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-image: url(../img/common/arw_btn2.svg);
  background-size: min(3.258vw, 43px) auto;
  background-position: right min(0.833vw, 11px) center;
  background-repeat: no-repeat;
  background-color: #fff;
  border: solid 2px #1E6E78;
  border-radius: 100vh;
  color: #1E6E78;
  line-height: 1;
  width: min(21.667vw, 286px);
  height: min(3.788vw, 50px);
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .btn_style__white_s {
    font-size: 3.59vw;
    letter-spacing: 0.05em;
    background-size: 7.692vw auto;
    background-position: right 2.564vw center;
    width: 60.513vw;
    height: 10.256vw;
  }
}
.btn_style__white_s span {
  -webkit-transform: translateY(-0.02em);
          transform: translateY(-0.02em);
  margin-left: min(2.879vw, 38px);
}
@media only screen and (max-width: 767px) {
  .btn_style__white_s span {
    margin-left: 8.205vw;
  }
}
.btn_style__white_s.type-news span {
  margin-left: min(3.636vw, 48px);
}
@media only screen and (max-width: 767px) {
  .btn_style__white_s.type-news span {
    margin-left: 9.744vw;
  }
}

/* ====================================================================================================
	module
==================================================================================================== */
/* -----------------------------
faq
------------------------------*/
.faq_wrap {
  margin-bottom: min(4.242vw, 56px);
}
@media only screen and (max-width: 767px) {
  .faq_wrap {
    margin-bottom: 9.231vw;
  }
}
.faq_wrap .btn {
  margin-right: 0;
  margin-top: min(4.242vw, 56px);
}
@media only screen and (max-width: 767px) {
  .faq_wrap .btn {
    margin-top: 9.231vw;
  }
}

.mdl-faq_box {
  border-radius: 10px 10px 10px 10px;
  margin-bottom: min(1.818vw, 24px);
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box {
    margin-bottom: 5.128vw;
  }
}
.mdl-faq_box:last-child {
  margin-bottom: 0;
}
.mdl-faq_box .acc_head {
  background-color: #FAFAFA;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: min(1.364vw, 18px);
  position: relative;
  -webkit-transition: background-color 0.6s;
  transition: background-color 0.6s;
  padding-right: min(8vw, 80px);
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box .acc_head {
    font-size: 4.103vw;
    padding-right: 12.308vw;
  }
}
@media print, screen and (min-width: 768px) {
  .mdl-faq_box .acc_head:hover .acc_head__text::after {
    -webkit-filter: brightness(130%);
            filter: brightness(130%);
  }
  .mdl-faq_box .acc_head:hover .acc_head__text::before {
    opacity: 0.7;
  }
}
.mdl-faq_box .acc_head.opened .acc_head__text::after {
  opacity: 0;
}
.mdl-faq_box .acc_head__text {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: min(2.121vw, 28px) 0 min(2.424vw, 32px);
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box .acc_head__text {
    width: 100%;
    vertical-align: middle;
    padding: 5.128vw 0;
  }
}
.mdl-faq_box .acc_head__text::before {
  background: url(../img/common/acc_minus.svg) 0 0/100% auto no-repeat;
  content: "";
  display: block;
  width: min(3.2vw, 32px);
  height: min(3.2vw, 32px);
  border-radius: 100vh;
  position: absolute;
  right: min(3.7vw, 37px);
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box .acc_head__text::before {
    width: 6.154vw;
    height: 6.154vw;
  }
}
.mdl-faq_box .acc_head__text::after {
  background: url(../img/common/acc_plus.svg) 0 0/100% auto no-repeat;
  content: "";
  display: block;
  width: min(3.2vw, 32px);
  height: min(3.2vw, 32px);
  border-radius: 100vh;
  position: absolute;
  right: min(3.7vw, 37px);
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box .acc_head__text::after {
    width: 6.154vw;
    height: 6.154vw;
  }
}
.mdl-faq_box .acc_head__text .mark {
  color: #00C8A0;
  font-size: min(3vw, 30px);
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: min(7.576vw, 100px);
  padding-right: min(2.273vw, 30px);
  -webkit-transform: translateY(-0.1em);
          transform: translateY(-0.1em);
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box .acc_head__text .mark {
    font-size: 6.154vw;
    width: 13.333vw;
    padding-right: 3.077vw;
  }
}
.mdl-faq_box .acc_head__text .text {
  width: 100%;
  display: grid;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-transform: translateY(0.2em);
          transform: translateY(0.2em);
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box .acc_head__text .text {
    padding-right: 0px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.mdl-faq_box .acc_body {
  display: none;
  padding-bottom: min(2.424vw, 32px);
  padding-top: min(1.818vw, 24px);
  padding-right: 40px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box .acc_body {
    padding: 6.154vw 3.846vw 2.051vw 0;
  }
}
.mdl-faq_box .acc_body .acc_body__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box .acc_body .acc_body__text {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.mdl-faq_box .acc_body .text {
  font-size: min(1.212vw, 16px);
  line-height: 1.6;
  width: 100%;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box .acc_body .text {
    font-size: 3.59vw;
    line-height: 1.6;
  }
}
.mdl-faq_box .acc_body .mark {
  color: #1E6E78;
  font-size: min(3vw, 30px);
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: min(7.576vw, 100px);
  -webkit-transform: translateY(-0.1em);
          transform: translateY(-0.1em);
  padding-right: min(2.273vw, 30px);
}
@media only screen and (max-width: 767px) {
  .mdl-faq_box .acc_body .mark {
    font-size: 6.154vw;
    width: 13.333vw;
    padding-right: 3.077vw;
  }
}

/* -----------------------------
lower_common
------------------------------*/
.breadcrumb {
  max-width: 1320px;
  margin: auto;
  padding-right: min(4.545vw, 60px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .breadcrumb {
    padding-right: 5.128vw;
    overflow-x: scroll;
    word-break: keep-all;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .breadcrumb::-webkit-scrollbar {
    display: none;
  }
}
.breadcrumb li {
  font-size: min(1.061vw, 14px);
  display: inline-block;
  color: #BEBEBE;
}
@media only screen and (max-width: 767px) {
  .breadcrumb li {
    font-size: 3.077vw;
  }
}
.breadcrumb li:not(:first-child) a::before {
  content: ">";
  margin-left: 0.75em;
  margin-right: 0.75em;
  color: #000;
}
.breadcrumb li:not(:first-child) > span::before {
  content: ">";
  margin-left: 0.75em;
  margin-right: 0.75em;
  color: #000;
}
.breadcrumb li a, .breadcrumb li span {
  display: inline-block;
  height: 100%;
  padding: 2px;
}
.breadcrumb li a {
  color: #000;
}

.lower_common_wrap {
  margin-top: min(7.576vw, 100px);
}
@media only screen and (max-width: 767px) {
  .lower_common_wrap {
    margin-top: 11.538vw;
  }
}

/* -----------------------
ttl_style
-----------------------*/
.ttl_style_h1 {
  background: url(../img/common/bg_h1.svg) center 0/100% auto no-repeat;
  background-size: min(109.091vw, 1440px) auto;
  color: #1E6E78;
  font-family: YakuHanJPs, "Noto Sans JP";
  text-align: center;
  padding-top: min(6.061vw, 80px);
  padding-bottom: min(8.788vw, 116px);
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .ttl_style_h1 {
    background: url(../img/common/bg_h1_s.svg) 0 0/100% auto no-repeat;
    padding-top: 10.769vw;
    padding-bottom: 21.282vw;
    padding-bottom: 0vw;
    height: 56.41vw;
  }
}
.ttl_style_h1::before {
  background: url(../img/common/bg_h1_right.svg) 0 0/100% auto repeat-x;
  background-size: 2px auto;
  content: "";
  display: block;
  position: absolute;
  left: calc(50% + 720px);
  top: 0px;
  width: 50vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .ttl_style_h1::before {
    content: none;
  }
}
.ttl_style_h1::after {
  background: url(../img/common/bg_h1_left.svg) 0 0/100% auto repeat-x;
  background-size: 2px auto;
  content: "";
  display: block;
  position: absolute;
  right: calc(50% + 719px);
  top: 0px;
  width: 50vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .ttl_style_h1::after {
    content: none;
  }
}
.ttl_style_h1 span.gr {
  color: #1E6E78;
  font-size: min(3.788vw, 50px);
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .ttl_style_h1 span.gr {
    font-size: 8.205vw;
  }
}
.ttl_style_h1 span.gr .trade {
  font-size: min(3.03vw, 40px);
}
@media only screen and (max-width: 767px) {
  .ttl_style_h1 span.gr .trade {
    font-size: 6.667vw;
  }
}
.ttl_style_h1 span.ttl_block {
  display: block;
  font-size: min(3.333vw, 44px);
  font-weight: 500;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .ttl_style_h1 span.ttl_block {
    font-size: 7.179vw;
    line-height: 1.3;
  }
}
.ttl_style_h1 .decor_en {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  color: #1E6E78;
  font-family: "Outfit", serif;
  font-weight: 400;
  font-size: min(1.667vw, 22px);
  margin-bottom: min(1.364vw, 18px);
  padding-right: min(0.758vw, 10px);
}
@media only screen and (max-width: 767px) {
  .ttl_style_h1 .decor_en {
    font-size: 5.641vw;
    margin-bottom: 2.308vw;
    padding-right: 2.564vw;
    background-size: 2.308vw auto;
  }
}
.ttl_style_h1 .decor_en::before {
  background: url(../img/common/mark_ttl.svg) 0 0/100% auto no-repeat;
  content: "";
  display: inline-block;
  width: min(0.682vw, 9px);
  height: min(0.682vw, 9px);
  margin-right: min(0.758vw, 10px);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}
@media only screen and (max-width: 767px) {
  .ttl_style_h1 .decor_en::before {
    width: 2.308vw;
    height: 2.308vw;
    margin-right: 2.564vw;
  }
}
.ttl_style_h1 .decor_en.center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.ttl_style_h1 .decor_en.center::before {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.ttl_style {
  color: #333;
  font-family: YakuHanJPs, "Noto Sans JP";
  font-size: min(3.333vw, 44px);
  font-weight: 500;
  line-height: 1;
  text-align: center;
  margin-bottom: min(5.455vw, 72px);
}
@media only screen and (max-width: 767px) {
  .ttl_style {
    font-size: 7.179vw;
    line-height: 1.3;
    margin-bottom: 6.667vw;
  }
}
.ttl_style span.gr {
  color: #1E6E78;
  font-size: min(3.636vw, 48px);
}
@media only screen and (max-width: 767px) {
  .ttl_style span.gr {
    font-size: 7.179vw;
  }
}
.ttl_style span.ttl_block {
  display: block;
}
.ttl_style .decor_en {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  color: #1E6E78;
  font-family: "Outfit", serif;
  font-weight: 400;
  font-size: min(1.667vw, 22px);
  margin-bottom: min(1.364vw, 18px);
  padding-right: min(0.758vw, 10px);
}
@media only screen and (max-width: 767px) {
  .ttl_style .decor_en {
    font-size: 5.641vw;
    margin-bottom: 3.846vw;
    padding-right: 2.564vw;
    background-size: 2.308vw auto;
  }
}
.ttl_style .decor_en::before {
  background: url(../img/common/mark_ttl.svg) 0 0/100% auto no-repeat;
  content: "";
  display: inline-block;
  width: min(0.682vw, 9px);
  height: min(0.682vw, 9px);
  margin-right: min(0.758vw, 10px);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}
@media only screen and (max-width: 767px) {
  .ttl_style .decor_en::before {
    width: 2.308vw;
    height: 2.308vw;
    margin-right: 2.564vw;
  }
}
.ttl_style .decor_en.center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.ttl_style .decor_en.center::before {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.ttl_style_func {
  color: #1E6E78;
  font-size: min(2.879vw, 38px);
  font-weight: 500;
  line-height: 1;
}

.ttl_style_check {
  background: url(../img/common/mark_check.svg) 0 bottom/auto no-repeat;
  background-size: min(2.879vw, 38px) auto;
  color: #1E6E78;
  font-size: min(2.879vw, 38px);
  font-weight: 500;
  line-height: 1;
  padding-left: min(4.394vw, 58px);
  margin-bottom: min(5.152vw, 68px);
}
@media only screen and (max-width: 767px) {
  .ttl_style_check {
    background-position: left top 0.15em;
    background-size: 7.692vw auto;
    font-size: 6.667vw;
    line-height: 1.2;
    margin-bottom: 6.667vw;
    padding-left: 10.256vw;
  }
}

/* -----------------------
other parts
-----------------------*/
.text_link {
  color: #1E6E78;
  text-decoration: underline;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media print, screen and (min-width: 768px) {
  .text_link:hover {
    text-decoration: none;
  }
}

.lead_txt_under-check {
  font-size: min(1.364vw, 18px);
  line-height: 1.6;
  margin-bottom: min(5.303vw, 70px);
}
@media only screen and (max-width: 767px) {
  .lead_txt_under-check {
    font-size: 4.615vw;
    margin-bottom: 10.256vw;
    margin-left: 3.846vw;
    margin-right: 2.051vw;
  }
}

.contact_area_common {
  background: url(../img/common/bg_contact.svg) center 0/100% auto no-repeat;
  background-size: min(109.091vw, 1440px) auto;
  padding-top: min(25.758vw, 340px);
  position: relative;
  z-index: 11;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .contact_area_common {
    background: url(../img/common/bg_contact_s.svg) 0 0/100% auto no-repeat;
    padding-top: 33.333vw;
  }
}
.contact_area_common::before {
  background: url(../img/common/bg_contact_right.svg) 0 0/100% auto repeat-x;
  background-size: 2px auto;
  content: "";
  display: block;
  position: absolute;
  left: calc(50% + 720px);
  top: 0px;
  width: 50vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .contact_area_common::before {
    content: none;
  }
}
.contact_area_common::after {
  background: url(../img/common/bg_contact_left.svg) 0 0/100% auto repeat-x;
  background-size: 2px auto;
  content: "";
  display: block;
  position: absolute;
  right: calc(50% + 719px);
  top: 0px;
  width: 50vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .contact_area_common::after {
    content: none;
  }
}
.contact_area_common .text1 {
  font-size: min(1.667vw, 22px);
  font-weight: 400;
  line-height: 2;
  text-align: center;
  margin-bottom: min(3.636vw, 48px);
}
@media only screen and (max-width: 767px) {
  .contact_area_common .text1 {
    font-size: 3.846vw;
    line-height: 1.8;
    margin-bottom: 7.692vw;
  }
}

ul.mod-news_list {
  margin-bottom: min(4.242vw, 56px);
}
@media only screen and (max-width: 767px) {
  ul.mod-news_list {
    margin-bottom: 9.231vw;
  }
}
ul.mod-news_list li {
  border-bottom: solid 1px #C8DCDC;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: min(1.212vw, 16px);
  min-height: min(7.576vw, 100px);
}
@media only screen and (max-width: 767px) {
  ul.mod-news_list li {
    font-size: 3.59vw;
    min-height: auto;
  }
}
ul.mod-news_list li a {
  display: grid;
  grid-template-columns: min(21.212vw, 280px) 1fr;
  padding: min(2.803vw, 37px) 1px min(2.727vw, 36px);
  width: 100%;
}
@media only screen and (max-width: 767px) {
  ul.mod-news_list li a {
    display: block;
    padding: 6.154vw 0;
  }
}
ul.mod-news_list li a p {
  -webkit-transition: 0.1s;
  transition: 0.1s;
}
@media print, screen and (min-width: 768px) {
  ul.mod-news_list li a[href]:hover p {
    opacity: 0.6;
  }
}
ul.mod-news_list li.tag-news span.date::after {
  background: url(../img/common/mark_ttl.svg) 0 center/100% auto no-repeat;
  background-size: min(0.682vw, 9px) auto;
  padding-left: min(1.742vw, 23px);
  font-family: "Noto Sans JP", sans-serif;
  content: "ニュース";
  color: #1E6E78;
  font-size: min(1.061vw, 14px);
  font-weight: 500;
  margin-left: min(2.879vw, 38px);
}
@media only screen and (max-width: 767px) {
  ul.mod-news_list li.tag-news span.date::after {
    background-size: 2.308vw auto;
    padding-left: 4.359vw;
    font-size: 3.59vw;
    margin-left: 4.615vw;
  }
}
ul.mod-news_list li.tag-press span.date::after {
  background: url(../img/common/mark_ttl2.svg) 0 center/100% auto no-repeat;
  background-size: min(0.682vw, 9px) auto;
  padding-left: min(1.288vw, 17px);
  font-family: "Noto Sans JP", sans-serif;
  content: "プレスリリース";
  color: #1E6E78;
  font-size: min(1.061vw, 14px);
  font-weight: 500;
  margin-left: min(2.879vw, 38px);
}
@media only screen and (max-width: 767px) {
  ul.mod-news_list li.tag-press span.date::after {
    background-size: 2.308vw auto;
    padding-left: 4.359vw;
    font-size: 3.59vw;
    margin-left: 4.615vw;
  }
}
ul.mod-news_list li span.date {
  font-family: "Outfit", sans-serif;
  display: block;
  margin-right: min(2.121vw, 28px);
  padding-left: min(0.152vw, 2px);
  border-right: solid 1px #C8DCDC;
}
@media only screen and (max-width: 767px) {
  ul.mod-news_list li span.date {
    margin-bottom: 0.4em;
    padding-left: 0;
    border-right: none;
  }
}

ul.mod-notes {
  margin-top: min(1.515vw, 20px);
}
@media only screen and (max-width: 767px) {
  ul.mod-notes {
    margin-top: 2.564vw;
  }
}
ul.mod-notes li {
  font-size: min(1.061vw, 14px);
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  ul.mod-notes li {
    font-size: 3.077vw;
    margin: 0 3.846vw;
  }
}

.f_list {
  display: grid;
  -webkit-column-gap: min(1.515vw, 20px);
     -moz-column-gap: min(1.515vw, 20px);
          column-gap: min(1.515vw, 20px);
  row-gap: min(1.515vw, 20px);
  grid-template-columns: min(53.788vw, 710px) auto;
  grid-template-rows: 1fr 1fr;
  max-width: 1320px;
  margin: auto;
  padding: 0 min(4.545vw, 60px);
}
@media only screen and (max-width: 767px) {
  .f_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-column-gap: 5.128vw;
       -moz-column-gap: 5.128vw;
            column-gap: 5.128vw;
    row-gap: 5.128vw;
    padding: 0 5.128vw;
  }
}
.f_list li {
  background-color: #fff;
  border-radius: 20px;
  padding: min(1.818vw, 24px) min(2.424vw, 32px) min(2.121vw, 28px) min(3.258vw, 43px);
}
@media only screen and (max-width: 767px) {
  .f_list li {
    border-radius: 20px;
    width: 100%;
    padding: 5.128vw 4.615vw 6.667vw 7.179vw;
  }
}
.f_list li .tag_area {
  display: grid;
  row-gap: min(0.379vw, 5px);
}
@media only screen and (max-width: 767px) {
  .f_list li .tag_area {
    grid-area: 1/2/2/3;
    row-gap: 1.282vw;
  }
}
.f_list li .f_ttl_set {
  display: grid;
  grid-template-columns: min(5.303vw, 70px) 1fr min(9.848vw, 130px);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  .f_list li .f_ttl_set {
    grid-template-columns: 31.282vw 33.333vw;
    grid-template-rows: auto auto;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
    -webkit-align-items: end;
        -ms-flex-align: end;
            align-items: end;
  }
}
.f_list li .f_ttl {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #333;
  font-size: min(2.121vw, 28px);
  font-weight: 500;
  letter-spacing: -0.01em;
}
@media only screen and (max-width: 767px) {
  .f_list li .f_ttl {
    font-size: 5.641vw;
    grid-area: 2/1/3/3;
    margin-top: 4.103vw;
  }
}
.f_list li .f_ttl .small {
  font-size: min(1.364vw, 18px);
}
@media only screen and (max-width: 767px) {
  .f_list li .f_ttl .small {
    font-size: 5.128vw;
  }
}
.f_list li .f_ttl .small.block {
  display: block;
}
.f_list li .f_ttl .small.sup {
  vertical-align: super;
}
@media only screen and (max-width: 767px) {
  .f_list li .f_ttl .small.sup {
    vertical-align: inherit;
  }
}
@media only screen and (max-width: 767px) {
  .f_list li .f_icon {
    text-align: center;
  }
}
.f_list li .f_icon img {
  width: min(4.091vw, 54px);
}
@media only screen and (max-width: 767px) {
  .f_list li .f_icon img {
    width: 14.872vw;
    padding-bottom: 1.795vw;
  }
}
.f_list li .f_txt {
  font-size: min(1.212vw, 16px);
  margin-top: min(1.818vw, 24px);
  margin-bottom: min(1.515vw, 20px);
  margin-right: min(0.985vw, 13px);
}
@media only screen and (max-width: 767px) {
  .f_list li .f_txt {
    font-size: 4.103vw;
    margin-top: 3.077vw;
    margin-bottom: 0;
    margin-right: 2.564vw;
  }
}
.f_list li .btn_area {
  text-align: right;
  margin-top: min(1.515vw, 20px);
}
@media only screen and (max-width: 767px) {
  .f_list li .btn_area {
    margin-top: 5.128vw;
    margin-bottom: 0.513vw;
  }
}
.f_list li .btn_area .btn_style__f_list {
  font-size: min(1.061vw, 14px);
  font-weight: 600;
  letter-spacing: 0.04em;
  display: inline-grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-image: url(../img/common/arw_btn.svg);
  background-size: min(2.424vw, 32px) auto;
  background-position: right min(0.833vw, 11px) center;
  background-repeat: no-repeat;
  background-color: #C8DCDC;
  border-radius: 100vh;
  color: #1E6E78;
  line-height: 1;
  width: auto;
  height: min(2.727vw, 36px);
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (max-width: 767px) {
  .f_list li .btn_area .btn_style__f_list {
    font-size: 3.59vw;
    letter-spacing: 0.04em;
    background-size: 7.692vw auto;
    background-position: right 2.564vw center;
    height: 9.231vw;
  }
}
.f_list li .btn_area .btn_style__f_list span {
  -webkit-transform: translateY(-0.02em);
          transform: translateY(-0.02em);
  padding-left: min(1.894vw, 25px);
  padding-right: min(3.788vw, 50px);
}
@media only screen and (max-width: 767px) {
  .f_list li .btn_area .btn_style__f_list span {
    padding-left: 6.667vw;
    padding-right: 13.333vw;
  }
}

.feature_category {
  background-color: #C8DCDC;
  padding: min(9.697vw, 128px) 0 min(10vw, 132px);
}
@media only screen and (max-width: 767px) {
  .feature_category {
    padding: 12.821vw 0 18.462vw;
  }
}
.feature_category .f_list {
  grid-template-columns: repeat(2, calc(50% - min(0.758vw, 10px)));
  grid-template-rows: 1fr auto;
}

.mod-demo_common {
  background: url(../img/common/demo_img.png) no-repeat;
  background-size: min(30vw, 396px) auto;
  background-position: right calc(50% - min(30.303vw, 400px)) top min(21.288vw, 281px);
  margin-top: min(-6.061vw, -80px);
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .mod-demo_common {
    background: url(../img/common/demo_img_s_withline.png) no-repeat;
    background-size: 100% auto;
    background-position: center bottom 18.718vw;
    background-position: 0 0;
    margin-top: 0;
  }
}
.mod-demo_common::before {
  background: url(../img/common/bg_demo_right.svg) 0 0/100% auto repeat-x;
  background-size: 2px auto;
  content: "";
  display: block;
  position: absolute;
  left: calc(50% + 720px);
  top: 0px;
  width: 50vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .mod-demo_common::before {
    content: none;
  }
}
.mod-demo_common::after {
  background: url(../img/common/bg_demo_left.svg) 0 0/100% auto repeat-x;
  background-size: 2px auto;
  content: "";
  display: block;
  position: absolute;
  right: calc(50% + 719px);
  top: 0px;
  width: 50vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .mod-demo_common::after {
    content: none;
  }
}
.mod-demo_common .bg_wrap {
  background: url(../img/common/bg_demo_line.svg) center 0/100% auto no-repeat;
  background-size: min(109.545vw, 1446px) auto;
  padding: min(22.727vw, 300px) 0 min(17.576vw, 232px);
}
@media only screen and (max-width: 767px) {
  .mod-demo_common .bg_wrap {
    background: url(../img/common/bg_demo_line_s.svg) center 0/100% auto no-repeat;
    background: none;
    padding: 22.051vw 0 64.615vw;
  }
}
@media print, screen and (min-width: 768px) {
  .mod-demo_common .cnt_wrap {
    width: min(60.606vw, 800px);
  }
}
.mod-demo_common h2 {
  font-size: min(3.409vw, 45px);
  font-weight: 600;
  line-height: 1;
  margin-bottom: min(2.273vw, 30px);
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .mod-demo_common h2 {
    text-align: center;
    font-size: 8.718vw;
    line-height: 1.2;
    margin-bottom: 6.667vw;
  }
}
.mod-demo_common h2 small {
  font-size: min(3.333vw, 44px);
}
@media only screen and (max-width: 767px) {
  .mod-demo_common h2 small {
    font-size: 7.179vw;
  }
}
.mod-demo_common h2 span.font1 {
  font-size: min(3.333vw, 44px);
}
@media only screen and (max-width: 767px) {
  .mod-demo_common h2 span.font1 {
    font-size: 8.718vw;
  }
}
.mod-demo_common h2 span.font_green {
  color: #1E6E78;
}
@media only screen and (max-width: 767px) {
  .mod-demo_common h2 span.font_green {
    font-size: 8.205vw;
  }
}
.mod-demo_common h2 span.font_green .trade {
  font-size: min(3.636vw, 48px);
}
@media only screen and (max-width: 767px) {
  .mod-demo_common h2 span.font_green .trade {
    font-size: 6.667vw;
  }
}
.mod-demo_common .text1 {
  font-size: min(2.273vw, 30px);
  font-weight: 600;
  color: #1E6E78;
  margin-bottom: min(1.364vw, 18px);
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .mod-demo_common .text1 {
    text-align: center;
    font-size: 5.128vw;
    line-height: 1.5;
    margin-bottom: 2.564vw;
  }
}
.mod-demo_common .btn {
  width: min(29.545vw, 390px);
  justify-items: start;
  padding-left: min(2.576vw, 34px);
}
@media only screen and (max-width: 767px) {
  .mod-demo_common .btn {
    width: 79.487vw;
    letter-spacing: normal;
    padding-left: 4.615vw;
  }
}

.contact_area_middle {
  background: url(../img/top/bg_movie.svg) center bottom/100% auto no-repeat;
  background-size: min(151.515vw, 2000px) auto;
  padding: min(9.091vw, 120px) 0 min(29.242vw, 386px);
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.contact_area_middle::before {
  background: url(../img/top/bg_movie_right.svg) 0 bottom/100% auto repeat-x;
  background-size: 1px auto;
  content: "";
  display: block;
  position: absolute;
  left: calc(50% + 999px);
  top: 0px;
  width: 50vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .contact_area_middle::before {
    content: none;
  }
}
.contact_area_middle::after {
  background: url(../img/top/bg_movie_left.svg) 0 bottom/100% auto repeat-x;
  background-size: 1px auto;
  content: "";
  display: block;
  position: absolute;
  right: calc(50% + 999px);
  top: 0px;
  width: 50vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  .contact_area_middle::after {
    content: none;
  }
}
.contact_area_middle .text1 {
  font-size: min(1.667vw, 22px);
  font-weight: 400;
  line-height: 2;
  text-align: center;
  margin-bottom: min(3.636vw, 48px);
}
@media only screen and (max-width: 767px) {
  .contact_area_middle .text1 {
    font-size: 3.846vw;
    line-height: 1.8;
    margin-bottom: 7.692vw;
  }
}

.contact_area_middle.type1 {
  background: url(../img/price/bg_contact1.svg) center 0/100% auto no-repeat;
  background-size: min(109.091vw, 1440px) auto;
  margin-top: min(5.152vw, 68px);
  padding-bottom: min(37.879vw, 500px);
}
@media only screen and (max-width: 767px) {
  .contact_area_middle.type1 {
    background: url(../img/price/bg_contact1_s.svg) 0 bottom/100% auto no-repeat;
    margin-top: 0;
    padding-top: 10.256vw;
    padding-bottom: 49.744vw;
    margin-bottom: 12.821vw;
  }
}
.contact_area_middle.type1::before {
  background: url(../img/price/bg_contact1_right.svg) 0 top/100% auto repeat-x;
  background-size: 2px auto;
  left: calc(50% + 719px);
}
.contact_area_middle.type1::after {
  background: url(../img/price/bg_contact1_left.svg) 0 top/100% auto repeat-x;
  background-size: 2px auto;
  right: calc(50% + 719px);
}

.contact_area_middle.type2 {
  background: url(../img/price/bg_contact2.svg) center bottom/100% auto no-repeat;
  background-size: min(109.091vw, 1440px) auto;
  padding-top: min(7.576vw, 100px);
  padding-bottom: min(40.303vw, 532px);
}
@media only screen and (max-width: 767px) {
  .contact_area_middle.type2 {
    background: url(../img/price/bg_contact2_s.svg) 0 bottom/100% auto no-repeat;
    margin-top: 0;
    padding-top: 5.128vw;
    padding-bottom: 46.154vw;
    margin-bottom: 0vw;
  }
}
.contact_area_middle.type2::before {
  background: url(../img/price/bg_contact2_right.svg) 0 bottom/100% auto repeat-x;
  background-size: 2px auto;
  left: calc(50% + 719px);
}
.contact_area_middle.type2::after {
  background: url(../img/price/bg_contact2_left.svg) 0 bottom/100% auto repeat-x;
  background-size: 2px auto;
  right: calc(50% + 719px);
}

/* ------------------------------
table
------------------------------ */
.table_style {
  border-spacing: 0;
  border-radius: 30px;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .table_style {
    border-radius: 15px;
  }
}
.table_style th[scope=row] {
  background-color: rgba(200, 220, 220, 0.5);
  color: #1E6E78;
  font-weight: 500;
}
.table_style td {
  background-color: #fff;
}
.table_style.table_normal tr:first-child > *:first-child {
  border-radius: 29px 0 0 0;
}
@media only screen and (max-width: 767px) {
  .table_style.table_normal tr:first-child > *:first-child {
    border-radius: 14px 0 0 0;
  }
}
.table_style.table_normal tr:first-child > *:last-child {
  border-radius: 0 29px 0 0;
}
@media only screen and (max-width: 767px) {
  .table_style.table_normal tr:first-child > *:last-child {
    border-radius: 0 14px 0 0;
  }
}
.table_style.table_normal tr:last-child > *:first-child {
  border-radius: 0 0 0 29px;
}
@media only screen and (max-width: 767px) {
  .table_style.table_normal tr:last-child > *:first-child {
    border-radius: 0 0 0 14px;
  }
}
.table_style.table_normal tr:last-child > *:last-child {
  border-radius: 0 0 29px 0;
}
@media only screen and (max-width: 767px) {
  .table_style.table_normal tr:last-child > *:last-child {
    border-radius: 0 0 14px 0;
  }
}

/* ------------------------------
オプションサービス　アシスタンス表
------------------------------ */
.mod-option_data {
  border-radius: 30px;
  border: solid 2px #1E6E78;
}
@media only screen and (max-width: 767px) {
  .mod-option_data {
    border-radius: 15px;
    border: none;
  }
}
.mod-option_data .group {
  display: grid;
  grid-template-columns: min(23.485vw, 310px) 1fr min(19.545vw, 258px);
  border-bottom: solid 2px #1E6E78;
}
@media only screen and (max-width: 767px) {
  .mod-option_data .group {
    border: solid 2px #1E6E78;
    border-radius: 15px;
    grid-template-columns: 1fr;
    margin-bottom: 5.641vw;
  }
}
@media print, screen and (min-width: 768px) {
  .mod-option_data .group:last-of-type {
    border-bottom: none;
  }
}
.mod-option_data .group:last-of-type .dt_mark {
  border-bottom-left-radius: 29px;
}
@media only screen and (max-width: 767px) {
  .mod-option_data .group:last-of-type .dt_mark {
    border-bottom-left-radius: 0;
  }
}
.mod-option_data .group:first-of-type .dt_mark {
  border-top-left-radius: 29px;
}
@media only screen and (max-width: 767px) {
  .mod-option_data .group:first-of-type .dt_mark {
    border-top-left-radius: 14px;
  }
}
.mod-option_data .group dt {
  display: table;
  grid-template-columns: min(4.091vw, 54px) 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #1E6E78;
}
@media only screen and (max-width: 767px) {
  .mod-option_data .group dt {
    border-bottom: solid 2px #1E6E78;
  }
}
.mod-option_data .group .dt_mark {
  border-right: solid 2px #1E6E78;
  background-color: rgba(200, 220, 220, 0.3);
  font-size: min(2.121vw, 28px);
  font-family: "Outfit", sans-serif;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: min(4.242vw, 56px);
}
@media only screen and (max-width: 767px) {
  .mod-option_data .group .dt_mark {
    font-size: 5.128vw;
    width: 14.872vw;
    border-top-left-radius: 14px;
  }
}
.mod-option_data .group .dt_txt {
  border-right: solid 2px #1E6E78;
  font-size: min(1.515vw, 20px);
  font-weight: 500;
  line-height: 1.2;
  display: table-cell;
  vertical-align: middle;
  padding-left: min(2.879vw, 38px);
}
@media only screen and (max-width: 767px) {
  .mod-option_data .group .dt_txt {
    font-size: 4.103vw;
    border-right: none;
    padding: 3.333vw 4.615vw 3.59vw 5.128vw;
  }
}
.mod-option_data .group dd {
  font-size: min(1.212vw, 16px);
  min-height: min(11.364vw, 150px);
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  padding: 0 min(3.03vw, 40px) 0 min(3.485vw, 46px);
}
@media only screen and (max-width: 767px) {
  .mod-option_data .group dd {
    font-size: 3.846vw;
    min-height: auto;
    padding: 4.615vw 7.692vw;
  }
}
.mod-option_data .group dd .att {
  display: block;
  color: #1E6E78;
  font-weight: 500;
  margin-top: min(0.606vw, 8px);
  margin-left: min(0.379vw, 5px);
}
.mod-option_data .group dd.remarks {
  border-left: solid 2px #1E6E78;
}
@media only screen and (max-width: 767px) {
  .mod-option_data .group dd.remarks {
    border-left: none;
    border-top: solid 2px #1E6E78;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* ================================================
機能ページ
================================================ */
main#func section.feature_category {
  background-color: transparent;
  padding: min(7.576vw, 100px) 0;
}
@media only screen and (max-width: 767px) {
  main#func section.feature_category {
    padding: 15.385vw 0;
  }
}
main#func section.feature_category:nth-of-type(even) {
  background-color: #FAFAFA;
}
main#func .f_list li {
  border: solid 2px #1E6E78;
}

/* ================================================
料金プランページ
================================================ */
main#price section.section {
  background-color: transparent;
  padding: min(7.576vw, 100px) 0 min(6.818vw, 90px);
}
@media only screen and (max-width: 767px) {
  main#price section.section {
    padding: 15.385vw 0;
  }
}
main#price #operating {
  background-color: #FAFAFA;
}
main#price #system {
  padding-bottom: min(3.03vw, 40px);
}
@media only screen and (max-width: 767px) {
  main#price #system {
    padding-bottom: 15.385vw;
  }
}
main#price #system img {
  display: block;
  margin: min(3.788vw, 50px) auto 0;
  width: min(68.182vw, 900px);
}
@media only screen and (max-width: 767px) {
  main#price #system img {
    margin-top: 2.564vw;
    width: 100%;
  }
}
main#price #flow {
  background-color: #FAFAFA;
  padding-top: min(7.576vw, 100px);
  padding-top: 0;
}
@media only screen and (max-width: 767px) {
  main#price #flow {
    padding-top: 15.385vw;
    padding-top: 0;
  }
}
main#price #flow .cnt_inner {
  padding-top: min(7.576vw, 100px);
}
@media only screen and (max-width: 767px) {
  main#price #flow .cnt_inner {
    padding-top: 15.385vw;
  }
}
main#price #flow .flow_step {
  display: grid;
  row-gap: min(2.121vw, 28px);
  margin-bottom: min(2.121vw, 28px);
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step {
    row-gap: 8.974vw;
    margin: 0 3.846vw 6.667vw;
  }
}
main#price #flow .flow_step li {
  position: relative;
}
main#price #flow .flow_step li::before {
  background: url(../img/common/step_arw.svg) 0 bottom/100% auto no-repeat;
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: min(6.97vw, 92px);
  bottom: -20px;
  width: 32px;
  height: 26px;
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li::before {
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -5.128vw;
    width: 9.231vw;
    height: 7.692vw;
  }
}
main#price #flow .flow_step li:last-child::before {
  content: none;
}
main#price #flow .flow_step li .list_inner {
  position: relative;
  z-index: 2;
  background: -webkit-linear-gradient(315deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
  background: linear-gradient(135deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
  border-radius: 20px;
  padding: 2px;
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .list_inner {
    border-radius: 10px;
  }
}
main#price #flow .flow_step li .box_cnt {
  background-color: #fff;
  border-radius: 19px;
  padding: min(1.515vw, 20px) min(3.03vw, 40px);
  display: grid;
  grid-template-columns: min(9.848vw, 130px) 1fr;
  -webkit-column-gap: min(3.03vw, 40px);
     -moz-column-gap: min(3.03vw, 40px);
          column-gap: min(3.03vw, 40px);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .box_cnt {
    border-radius: 9px;
    padding: 7.179vw 0 8.718vw;
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .img_part {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .img_part img {
    width: 33.333vw;
    margin-bottom: 3.846vw;
  }
}
main#price #flow .flow_step li .txt_part .step_ttl {
  display: inline-block;
  border-bottom: 3px solid #59FFA6;
  color: #1E6E78;
  font-size: min(1.97vw, 26px);
  font-family: "Outfit", sans-serif;
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .txt_part .step_ttl {
    border-bottom: none;
    display: grid;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 5.128vw;
  }
}
main#price #flow .flow_step li .txt_part .step_ttl .num {
  font-size: min(2.273vw, 30px);
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .txt_part .step_ttl .num {
    font-size: 6.667vw;
  }
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .txt_part .step_ttl .step_label {
    text-align: center;
    line-height: 1;
    margin-bottom: 1.026vw;
  }
}
main#price #flow .flow_step li .txt_part .step_ttl .step_label::before {
  background: url(../img/common/mark_ttl.svg) 0 0/100% auto no-repeat;
  content: "";
  display: inline-block;
  width: min(0.909vw, 12px);
  height: min(0.909vw, 12px);
  margin-right: min(0.758vw, 10px);
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .txt_part .step_ttl .step_label::before {
    width: 3.077vw;
    height: 3.077vw;
    margin-right: 2.564vw;
  }
}
main#price #flow .flow_step li .txt_part .step_ttl .step_label_txt {
  font-size: min(1.97vw, 26px);
  font-weight: 600;
  margin-left: min(1.894vw, 25px);
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .txt_part .step_ttl .step_label_txt {
    font-size: 5.641vw;
    margin-left: 0;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .txt_part .step_ttl .step_label_txt span {
    border-bottom: 3px solid #59FFA6;
    padding-bottom: 1.282vw;
  }
}
main#price #flow .flow_step li .txt_part p {
  font-size: min(1.212vw, 16px);
  margin-top: min(1.364vw, 18px);
  padding-bottom: min(0.227vw, 3px);
}
@media only screen and (max-width: 767px) {
  main#price #flow .flow_step li .txt_part p {
    font-size: 4.103vw;
    margin-top: 4.103vw;
    margin-left: 7.179vw;
    margin-right: 7.179vw;
    padding-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  main#price .table_style {
    margin-top: 10.256vw;
  }
}
main#price .table_style.table_plan {
  border: 2px solid #1E6E78;
  margin-bottom: min(1.515vw, 20px);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan {
    margin-bottom: 7.179vw;
    margin-top: 7.179vw;
  }
}
main#price .table_style.table_plan tr:first-child > *:first-child {
  border-radius: 30px 0 0 0;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan tr:first-child > *:first-child {
    border-radius: 15px 0 0 0;
  }
}
main#price .table_style.table_plan tr:first-child > *:last-child {
  border-radius: 0 30px 0 0;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan tr:first-child > *:last-child {
    border-radius: 0 15px 0 0;
  }
}
main#price .table_style.table_plan .cell_left-btm {
  border-radius: 0 0 0 29px;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan .cell_left-btm {
    border-radius: 0 0 0 14px;
  }
}
main#price .table_style.table_plan tr:last-child > *:last-child {
  border-radius: 0 0 30px 0;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan tr:last-child > *:last-child {
    border-radius: 0 0 15px 0;
  }
}
main#price .table_style.table_plan th[scope=col] {
  color: #1E6E78;
  border-bottom: 2px solid #1E6E78;
  height: min(11.364vw, 150px);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan th[scope=col] {
    height: 8.718vw;
  }
}
main#price .table_style.table_plan .col_head {
  background-color: rgba(200, 220, 220, 0.5);
  width: min(16.667vw, 220px);
  font-size: min(1.667vw, 22px);
  font-weight: 500;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan .col_head {
    width: 14.103vw;
    font-size: 2.564vw;
    letter-spacing: -0.1em;
    line-height: 1.1;
    background-color: rgba(0, 255, 255, 0.3);
  }
}
main#price .table_style.table_plan .col_head::before {
  background: url(../img/price/icon_plan-bsc.svg) 0 0/100% auto no-repeat;
  content: "";
  display: block;
  width: min(1.894vw, 25px);
  height: min(1.894vw, 25px);
  margin: 0 auto min(0.985vw, 13px);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan .col_head::before {
    display: none;
  }
}
main#price .table_style.table_plan .col_head__standard::before {
  background-image: url(../img/price/icon_plan-std.svg);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan .col_head__standard {
    background-color: rgba(89, 255, 166, 0.3);
  }
}
main#price .table_style.table_plan .col_head__premium::before {
  background-image: url(../img/price/icon_plan-prm.svg);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan .col_head__premium {
    background-color: rgba(255, 255, 1, 0.3);
  }
}
main#price .table_style.table_plan .col_head div.price {
  font-size: min(1.364vw, 18px);
  font-weight: 600;
  line-height: 1;
  margin-top: min(0.758vw, 10px);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan .col_head div.price {
    display: none;
  }
}
main#price .table_style.table_plan .col_head span.num {
  font-size: min(2.121vw, 28px);
}
main#price .table_style.table_plan th[scope=row] {
  color: #1E6E78;
  font-size: min(1.515vw, 20px);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan th[scope=row] {
    font-size: 4.103vw;
    width: 10.769vw;
    width: 2.4em;
    text-align: center;
  }
  main#price .table_style.table_plan th[scope=row] span {
    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    white-space: pre;
  }
}
main#price .table_style.table_plan .bdr_tr th, main#price .table_style.table_plan .bdr_tr td {
  border-bottom: 2px solid #1E6E78;
}
main#price .table_style.table_plan .bdr_cell {
  border-bottom: 2px solid #1E6E78;
}
main#price .table_style.table_plan th, main#price .table_style.table_plan td {
  text-align: center;
  border-right: 2px solid #1E6E78;
  color: #1E6E78;
  font-size: min(1.212vw, 16px);
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan th, main#price .table_style.table_plan td {
    font-size: 2.564vw;
  }
}
main#price .table_style.table_plan tr td:first-of-type {
  color: #333;
  font-size: min(1.364vw, 18px);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan tr td:first-of-type {
    font-size: 3.846vw;
    line-height: 1.2;
  }
}
main#price .table_style.table_plan tr td:last-child,
main#price .table_style.table_plan tr th:last-child {
  border-right: none;
}
main#price .table_style.table_plan .bg_cell td {
  background-color: #FAFAFA;
}
main#price .table_style.table_plan td {
  height: min(6.061vw, 80px);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_plan td {
    height: 18.462vw;
  }
}
@media print, screen and (min-width: 768px) {
  main#price .table_style.table_legend {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_legend {
    border: solid 2px #1E6E78;
    border-radius: 15px;
    margin-top: 10.256vw;
  }
  main#price .table_style.table_legend td:not(:last-child) {
    border-right: solid 2px #1E6E78;
  }
  main#price .table_style.table_legend td {
    background-color: rgba(200, 220, 220, 0.5);
    color: #1E6E78;
    text-align: center;
    font-size: 4.103vw;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.05em;
    padding: 4.103vw 0 4.615vw;
    width: 33.33%;
  }
  main#price .table_style.table_legend td::before {
    background: url(../img/price/icon_plan-bsc.svg) 0 0/100% auto no-repeat;
    content: "";
    display: block;
    width: 4.103vw;
    height: 4.103vw;
    margin: 0 auto 2.564vw;
  }
  main#price .table_style.table_legend td.cell_basic {
    border-top-left-radius: 14px;
    border-bottom-left-radius: 14px;
  }
  main#price .table_style.table_legend td.cell_standard::before {
    background-image: url(../img/price/icon_plan-std.svg);
  }
  main#price .table_style.table_legend td.cell_premium {
    border-top-right-radius: 14px;
    border-bottom-right-radius: 14px;
  }
  main#price .table_style.table_legend td.cell_premium::before {
    background-image: url(../img/price/icon_plan-prm.svg);
  }
  main#price .table_style.table_legend td div.price {
    font-size: 3.59vw;
    font-weight: 600;
    line-height: 1;
    margin-top: 1.026vw;
  }
  main#price .table_style.table_legend td span.num {
    font-size: 5.128vw;
    display: inline-block;
  }
}
main#price .table_style.table_operate {
  margin-bottom: min(1.515vw, 20px);
  border: 2px solid #1E6E78;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate {
    margin-bottom: 0;
  }
}
main#price .table_style.table_operate tr:first-child > *:first-child {
  border-radius: 30px 0 0 0;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate tr:first-child > *:first-child {
    border-radius: 15px 0 0 0;
  }
}
main#price .table_style.table_operate tr:first-child > *:last-child {
  border-radius: 0 30px 0 0;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate tr:first-child > *:last-child {
    border-radius: 0 15px 0 0;
  }
}
main#price .table_style.table_operate .cell_left-btm {
  border-radius: 0 0 0 29px;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate .cell_left-btm {
    border-radius: 0 0 0 14px;
  }
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate .cell_right-btm-sp {
    border-radius: 0 0 14px 0;
  }
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate .cell_right-top-sp {
    border-radius: 0 14px 0 0;
  }
}
main#price .table_style.table_operate tr:last-child > *:last-child {
  border-radius: 0 0 30px 0;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate tr:last-child > *:last-child {
    border-radius: 0 0 15px 0;
  }
}
main#price .table_style.table_operate th[scope=row] {
  width: min(20.455vw, 270px);
  font-size: min(1.515vw, 20px);
  padding: 0 min(2.879vw, 38px);
  border-right: 2px solid #1E6E78;
  border-bottom: 2px solid #1E6E78;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate th[scope=row] {
    width: 25.641vw;
    font-size: 4.103vw;
    line-height: 1.2;
    text-align: center;
    padding: 0;
  }
}
main#price .table_style.table_operate td {
  font-size: min(1.364vw, 18px);
  line-height: 1.4;
  height: min(8.333vw, 110px);
  padding-left: min(3.03vw, 40px);
  padding-right: min(3.03vw, 40px);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate td {
    font-size: 3.846vw;
    height: auto;
    padding-left: 6.923vw;
    padding-right: 5.128vw;
    padding-top: 1em;
    padding-bottom: 1em;
  }
}
main#price .table_style.table_operate tr td:nth-of-type(2) {
  font-size: min(1.212vw, 16px);
  padding-left: min(2.121vw, 28px);
  padding-right: min(1.515vw, 20px);
  width: min(28.409vw, 375px);
  border-left: 2px solid #1E6E78;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate tr td:nth-of-type(2) {
    padding: 0;
    display: none;
  }
}
main#price .table_style.table_operate tr td {
  border-bottom: 2px solid #1E6E78;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate tr td .notes-sp {
    display: block;
    font-size: 3.077vw;
    line-height: 1.2;
    margin-top: 2.051vw;
  }
}
main#price .table_style.table_operate tr td.cell_notes {
  font-size: min(1.061vw, 14px);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_operate tr td.cell_notes {
    font-size: 3.077vw;
  }
}
main#price .table_style.table_operate tr:last-child td, main#price .table_style.table_operate tr:last-child th {
  border-bottom: none;
}
main#price .table_style.table_option {
  margin-bottom: min(1.515vw, 20px);
  border: 2px solid #1E6E78;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_option {
    margin-bottom: 0;
  }
}
main#price .table_style.table_option tr:first-child > *:first-child {
  border-radius: 30px 0 0 0;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_option tr:first-child > *:first-child {
    border-radius: 15px 0 0 0;
  }
}
main#price .table_style.table_option tr:first-child > *:last-child {
  border-radius: 0 30px 0 0;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_option tr:first-child > *:last-child {
    border-radius: 0 15px 0 0;
  }
}
main#price .table_style.table_option .cell_left-btm {
  border-radius: 0 0 0 29px;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_option .cell_left-btm {
    border-radius: 0 0 0 14px;
  }
}
main#price .table_style.table_option tr:last-child > *:first-child {
  border-radius: 0 0 0 29px;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_option tr:last-child > *:first-child {
    border-radius: 0 0 0 14px;
  }
}
main#price .table_style.table_option tr:last-child > *:last-child {
  border-radius: 0 0 30px 0;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_option tr:last-child > *:last-child {
    border-radius: 0 0 15px 0;
  }
}
main#price .table_style.table_option th[scope=row] {
  font-size: min(1.515vw, 20px);
  padding: 0 min(2.879vw, 38px);
  border-right: 2px solid #1E6E78;
  border-bottom: 2px solid #1E6E78;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_option th[scope=row] {
    font-size: 4.103vw;
    line-height: 1.2;
    text-align: center;
    padding: 0;
  }
}
main#price .table_style.table_option td {
  font-size: min(1.364vw, 18px);
  line-height: 1.4;
  height: min(8.333vw, 110px);
  padding-left: min(3.03vw, 40px);
  padding-right: min(3.03vw, 40px);
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_option td {
    font-size: 3.846vw;
    height: auto;
    padding-left: 6.923vw;
    padding-right: 5.128vw;
    padding-top: 1em;
    padding-bottom: 1em;
  }
}
main#price .table_style.table_option tr td:nth-of-type(2),
main#price .table_style.table_option tr td:nth-of-type(3) {
  font-size: min(1.212vw, 16px);
  padding-left: min(2.121vw, 28px);
  padding-right: min(1.515vw, 20px);
  width: min(28.409vw, 375px);
  border-left: 2px solid #1E6E78;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_option tr td:nth-of-type(2),
  main#price .table_style.table_option tr td:nth-of-type(3) {
    padding: 0;
  }
}
main#price .table_style.table_option tr td {
  border-bottom: 2px solid #1E6E78;
}
main#price .table_style.table_option tr:last-child td, main#price .table_style.table_option tr:last-child th {
  border-bottom: none;
}
@media only screen and (max-width: 767px) {
  main#price .table_style.table_option .notes-sp {
    display: block;
    font-size: 3.59vw;
    line-height: 1.2;
    margin-top: 2.051vw;
  }
}
main#price #option {
  margin-top: max(-14.167vw, -187px);
  padding-top: 0;
  padding-bottom: min(6.061vw, 80px);
}
@media only screen and (max-width: 767px) {
  main#price #option {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 12.821vw;
  }
}
main#price #option.section section {
  padding-top: min(1.515vw, 20px);
}
@media only screen and (max-width: 767px) {
  main#price #option.section section {
    padding-top: 2.564vw;
  }
}
main#price #option.section section:not(:last-child) {
  margin-bottom: min(4.924vw, 65px);
}
@media only screen and (max-width: 767px) {
  main#price #option.section section:not(:last-child) {
    margin-bottom: 10.256vw;
  }
}
main#price #option h2 {
  margin-bottom: min(5.303vw, 70px);
}
@media only screen and (max-width: 767px) {
  main#price #option h2 {
    margin-bottom: 8.974vw;
  }
}
main#price #option h3 {
  font-size: min(2.424vw, 32px);
  font-weight: 600;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: min(4.242vw, 56px) auto;
  padding-left: min(5.606vw, 74px);
  margin-bottom: min(1.97vw, 26px);
}
@media only screen and (max-width: 767px) {
  main#price #option h3 {
    background-size: 8.205vw auto;
    background-position: left 0 top 0.769vw;
    font-size: 5.641vw;
    padding-left: 10.769vw;
    margin-bottom: 4.103vw;
  }
}
main#price #option h3 + p {
  font-size: min(1.364vw, 18px);
  margin-bottom: min(4.091vw, 54px);
}
@media only screen and (max-width: 767px) {
  main#price #option h3 + p {
    font-size: 4.615vw;
    margin: 0 3.846vw 10.256vw;
  }
}
main#price #option h3.assistance {
  background-image: url(../img/common/option/icon_assistance.svg);
}
main#price #option h3.calibration {
  background-image: url(../img/common/option/icon_calibration.svg);
}
main#price #option h3.monitor {
  background-image: url(../img/common/option/icon_monitor.svg);
  background-size: min(3.788vw, 50px) auto;
}
@media only screen and (max-width: 767px) {
  main#price #option h3.monitor {
    background-size: 7.179vw auto;
  }
}
main#price #option #calibration .detail_list > div:not(:last-child) {
  margin-bottom: min(4.545vw, 60px);
}
@media only screen and (max-width: 767px) {
  main#price #option #calibration .detail_list > div:not(:last-child) {
    margin-bottom: 11.538vw;
  }
}
main#price #option #calibration .detail_list > div > dt {
  font-size: min(1.818vw, 24px);
  font-weight: 600;
  line-height: 1;
  margin-bottom: min(2.273vw, 30px);
}
@media only screen and (max-width: 767px) {
  main#price #option #calibration .detail_list > div > dt {
    font-size: 5.128vw;
    margin-bottom: 6.41vw;
  }
}
main#price #option #calibration .detail_list > div > dt::before {
  background: url(../img/common/mark_ttl.svg) 0 center/100% auto no-repeat;
  content: "";
  display: inline-block;
  width: min(1.515vw, 20px);
  height: min(1.515vw, 20px);
  margin-right: min(0.909vw, 12px);
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
@media only screen and (max-width: 767px) {
  main#price #option #calibration .detail_list > div > dt::before {
    width: 4.103vw;
    height: 4.103vw;
    margin-right: 2.564vw;
  }
}
main#price #option #calibration .detail_list > div > dd {
  font-size: min(1.212vw, 16px);
}
@media only screen and (max-width: 767px) {
  main#price #option #calibration .detail_list > div > dd {
    font-size: 4.103vw;
  }
}
main#price #option #calibration .detail_list > div > dd .att_notes {
  color: #1E6E78;
  margin-top: 0.8em;
}
main#price #option #calibration .detail_list > div .list_style_disc {
  margin-top: 1em;
}
main#price #option #calibration .detail_list > div .list_style_disc li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.4em;
}
main#price #option #calibration .detail_list > div .list_style_disc li:before {
  background: #C8DCDC;
  border-radius: 100vh;
  content: "";
  display: block;
  margin-top: 0.5em;
  margin-right: min(0.758vw, 10px);
  width: min(0.758vw, 10px);
  height: min(0.758vw, 10px);
}
@media only screen and (max-width: 767px) {
  main#price #option #calibration .detail_list > div .list_style_disc li:before {
    width: 2.564vw;
    height: 2.564vw;
    margin-right: 2.564vw;
  }
}
main#price #option #calibration .detail_list > div .word_detail dt {
  color: #1E6E78;
  font-weight: 600;
  margin-bottom: min(0.758vw, 10px);
  margin-top: min(1.515vw, 20px);
}
@media only screen and (max-width: 767px) {
  main#price #option #calibration .detail_list > div .word_detail dt {
    margin-bottom: 2.564vw;
    margin-top: 6.154vw;
  }
}
/* ================================================
よくあるご質問ページ
================================================ */
main#faq .sections_wrap {
  background-color: #fff;
  position: relative;
}
main#faq .sections_wrap section {
  margin-bottom: min(6.818vw, 90px);
  padding-top: min(4.545vw, 60px);
}
@media only screen and (max-width: 767px) {
  main#faq .sections_wrap section {
    margin-bottom: 12.821vw;
    padding-top: 7.692vw;
  }
}
main#faq .sections_wrap section:last-child {
  margin-bottom: min(9.848vw, 130px);
}
@media only screen and (max-width: 767px) {
  main#faq .sections_wrap section:last-child {
    margin-bottom: 12.821vw;
  }
}
@media only screen and (max-width: 767px) {
  main#faq .lower_common_wrap {
    margin-top: 7.692vw;
  }
}
main#faq .page_nav_wrap {
  background-color: #fff;
  position: relative;
  top: 0;
  padding-top: min(1.515vw, 20px);
  padding-bottom: min(1.515vw, 20px);
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: min(6.061vw, 80px);
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media only screen and (max-width: 767px) {
  main#faq .page_nav_wrap {
    padding-left: 5.128vw;
    padding-right: 5.128vw;
    padding-top: 3.846vw;
    padding-bottom: 3.846vw;
    margin-left: -5.128vw;
    margin-right: -5.128vw;
    margin-bottom: 10.256vw;
  }
}
main#faq .page_nav_wrap .page_nav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  margin-left: auto;
  margin-right: auto;
  width: min(90.909vw, 1200px);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  main#faq .page_nav_wrap .page_nav {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 1.538vw;
       -moz-column-gap: 1.538vw;
            column-gap: 1.538vw;
    row-gap: 2.051vw;
    width: 89.744vw;
  }
}
main#faq .page_nav_wrap .page_nav li a {
  border: 2px solid #C8DCDC;
  border-radius: 10px;
  background: url(../img/common/arw_link.svg) 0 0/100% auto no-repeat;
  background-size: min(1.212vw, 16px) auto;
  background-position: right min(1.818vw, 24px) top calc(50% + min(0.076vw, 1px));
  color: #1E6E78;
  font-size: min(1.212vw, 16px);
  font-weight: 500;
  line-height: 1.2;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: min(5.758vw, 76px);
  padding-left: min(2.576vw, 34px);
  position: relative;
  -webkit-transition: height 0.3s background-color 0.1s;
  transition: height 0.3s background-color 0.1s;
}
@media only screen and (max-width: 767px) {
  main#faq .page_nav_wrap .page_nav li a {
    background-size: 3.59vw auto;
    background-position: right 3.077vw top calc(50% + 1px);
    font-size: 3.333vw;
    height: 13.333vw;
    padding-left: 4.359vw;
  }
}
main#faq .page_nav_wrap .page_nav li a.current {
  background-color: #C8DCDC;
}
@media print, screen and (min-width: 768px) {
  main#faq .page_nav_wrap .page_nav li a:hover {
    background-color: #C8DCDC;
  }
}
main#faq .page_nav_wrap2 {
  background-color: #fff;
  padding-top: min(1.515vw, 20px);
  padding-bottom: min(1.515vw, 20px);
  width: 100%;
  position: absolute;
  position: fixed;
  opacity: 0;
  z-index: -1;
  top: 90px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: min(6.061vw, 80px);
  -webkit-box-shadow: 0px 2px 8px 0px rgba(122, 155, 159, 0.2);
          box-shadow: 0px 2px 8px 0px rgba(122, 155, 159, 0.2);
  -webkit-transition: opacity 0.1s;
  transition: opacity 0.1s;
}
@media only screen and (max-width: 767px) {
  main#faq .page_nav_wrap2 {
    padding-left: 5.128vw;
    padding-right: 5.128vw;
    padding-top: 3.846vw;
    padding-bottom: 3.846vw;
    margin-bottom: 10.256vw;
    padding: 3.846vw 5.128vw 3.846vw;
    -webkit-box-shadow: 0px 2px 8px 0px rgba(122, 155, 159, 0.2);
            box-shadow: 0px 2px 8px 0px rgba(122, 155, 159, 0.2);
    top: 17.949vw;
  }
}
main#faq .page_nav_wrap2.active {
  opacity: 1;
  z-index: 20;
}
main#faq .page_nav_wrap2 .page_nav2 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  margin-left: auto;
  margin-right: auto;
  width: min(90.909vw, 1200px);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  main#faq .page_nav_wrap2 .page_nav2 {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 1.538vw;
       -moz-column-gap: 1.538vw;
            column-gap: 1.538vw;
    row-gap: 2.051vw;
    width: 89.744vw;
  }
}
main#faq .page_nav_wrap2 .page_nav2 li a {
  border: 2px solid #C8DCDC;
  border-radius: 10px;
  background: url(../img/common/arw_link.svg) 0 0/100% auto no-repeat;
  background-size: min(1.212vw, 16px) auto;
  background-position: right min(1.818vw, 24px) top calc(50% + min(0.076vw, 1px));
  color: #1E6E78;
  font-size: min(1.212vw, 16px);
  font-weight: 500;
  line-height: 1.2;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: min(5.758vw, 76px);
  padding-left: min(2.576vw, 34px);
  position: relative;
  -webkit-transition: height 0.3s background-color 0.1s;
  transition: height 0.3s background-color 0.1s;
}
@media only screen and (max-width: 767px) {
  main#faq .page_nav_wrap2 .page_nav2 li a {
    background-size: 3.077vw auto;
    background-position: right 2.308vw top calc(50% + 1px);
    border-width: 1.5px;
    font-size: 2.564vw;
    height: 8.462vw;
    padding-left: 2.821vw;
  }
}
main#faq .page_nav_wrap2 .page_nav2 li a.current {
  background-color: #C8DCDC;
}
@media print, screen and (min-width: 768px) {
  main#faq .page_nav_wrap2 .page_nav2 li a:hover {
    background-color: #C8DCDC;
  }
}
/* ================================================
ニュース ページ
================================================ */
@media only screen and (max-width: 767px) {
  main#news .lower_common_wrap {
    margin-top: 15.385vw;
  }
}
main#news .page_nav_wrap {
  background-color: #fff;
  margin-bottom: min(6.439vw, 85px);
}
@media only screen and (max-width: 767px) {
  main#news .page_nav_wrap {
    margin-bottom: 9.231vw;
  }
}
main#news .tab_switch {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media print, screen and (min-width: 768px) {
  main#news .tab_switch {
    margin: 0 min(11.364vw, 150px);
  }
}
main#news .tab_switch li {
  text-align: center;
  border-bottom: 4px solid #C8DCDC;
  color: #1E6E78;
  font-size: min(1.515vw, 20px);
  font-weight: 500;
  padding-bottom: min(1.515vw, 20px);
}
@media only screen and (max-width: 767px) {
  main#news .tab_switch li {
    font-size: 3.59vw;
  }
}
main#news .tab_switch li.current {
  border-color: #1E6E78;
}
main#news div[role=tablist] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media print, screen and (min-width: 768px) {
  main#news div[role=tablist] {
    margin: 0 min(11.364vw, 150px);
    margin-bottom: min(6.439vw, 85px);
  }
}
@media only screen and (max-width: 767px) {
  main#news div[role=tablist] {
    margin-bottom: 9.231vw;
  }
}
main#news div[role=tablist] button {
  text-align: center;
  border-bottom: 4px solid #C8DCDC;
  color: #1E6E78;
  font-family: YakuHanJPs, "Noto Sans JP", sans-serif;
  font-size: min(1.515vw, 20px);
  font-weight: 500;
  padding-bottom: min(1.515vw, 20px);
}
@media only screen and (max-width: 767px) {
  main#news div[role=tablist] button {
    font-size: 3.59vw;
  }
}
main#news div[role=tablist] button[aria-selected=true] {
  border-color: #1E6E78;
}
main#news div[role=tablist] button[aria-selected=false] {
  cursor: pointer;
}
main#news div[role=tablist] button[aria-selected=false]:hover {
  opacity: 0.7;
}
main#news ul.mod-news_list {
  margin-bottom: min(9.091vw, 120px);
}
@media only screen and (max-width: 767px) {
  main#news ul.mod-news_list {
    margin-bottom: 15.385vw;
  }
}

/* ================================================
ニュース　詳細ページ
================================================ */
#news_detail #content {
  padding-top: min(3.409vw, 45px);
}
@media only screen and (max-width: 767px) {
  #news_detail #content {
    padding-top: 4.103vw;
  }
}
#news_detail .lower_common_wrap {
  margin-bottom: min(6.061vw, 80px);
}
@media only screen and (max-width: 767px) {
  #news_detail .lower_common_wrap {
    margin-bottom: 17.949vw;
  }
}
#news_detail .breadcrumb li:last-child span {
  width: 15em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#news_detail .page_title {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  color: #1E6E78;
  font-family: "Outfit", serif;
  font-weight: 400;
  font-size: min(1.667vw, 36px);
  margin-bottom: min(2.727vw, 36px);
  padding-right: min(0.758vw, 10px);
}
@media only screen and (max-width: 767px) {
  #news_detail .page_title {
    font-size: 5.128vw;
    margin-bottom: 3.59vw;
    padding-right: 2.564vw;
  }
}
#news_detail .page_title::before {
  background: url(../img/common/mark_ttl.svg) 0 0/100% auto no-repeat;
  content: "";
  display: inline-block;
  width: min(0.682vw, 9px);
  height: min(0.682vw, 9px);
  margin-right: min(0.758vw, 10px);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}
@media only screen and (max-width: 767px) {
  #news_detail .page_title::before {
    width: 2.308vw;
    height: 2.308vw;
    margin-right: 2.564vw;
  }
}
#news_detail .page_title.center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#news_detail .page_title.center::before {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
#news_detail .news_ttl_area {
  border-bottom: 3px solid #FF0;
  -webkit-border-image: -webkit-gradient(linear, left top, right top, color-stop(-15.94%, #FF0), color-stop(141.67%, #0FF));
  -webkit-border-image: -webkit-linear-gradient(left, #FF0 -15.94%, #0FF 141.67%);
       -o-border-image: linear-gradient(90deg, #FF0 -15.94%, #0FF 141.67%);
          border-image: -webkit-gradient(linear, left top, right top, color-stop(-15.94%, #FF0), color-stop(141.67%, #0FF));
          border-image: linear-gradient(90deg, #FF0 -15.94%, #0FF 141.67%);
  border-image-slice: 1;
  padding-bottom: min(3.788vw, 50px);
  margin-bottom: min(5.152vw, 68px);
}
@media only screen and (max-width: 767px) {
  #news_detail .news_ttl_area {
    padding-bottom: 7.692vw;
    margin-bottom: 12.821vw;
  }
}
#news_detail .news_ttl_area .news_ttl {
  font-size: min(2.273vw, 30px);
  font-weight: 600;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  #news_detail .news_ttl_area .news_ttl {
    font-size: 5.128vw;
  }
}
#news_detail .news_ttl_area.tag-news .date::after {
  background: url(../img/common/mark_ttl.svg) 0 center/100% auto no-repeat;
  background-size: min(0.682vw, 9px) auto;
  background-position: 0 calc(50% + 1px);
  padding-left: min(1.742vw, 23px);
  font-family: "Noto Sans JP", sans-serif;
  content: "ニュース";
  color: #1E6E78;
  font-size: min(1.061vw, 14px);
  font-weight: 500;
  margin-left: min(1.894vw, 25px);
}
@media only screen and (max-width: 767px) {
  #news_detail .news_ttl_area.tag-news .date::after {
    background-size: 2.308vw auto;
    padding-left: 4.359vw;
    font-size: 3.59vw;
    margin-left: 4.615vw;
  }
}
#news_detail .news_ttl_area.tag-press .date::after {
  background: url(../img/common/mark_ttl2.svg) 0 center/100% auto no-repeat;
  background-size: min(0.682vw, 9px) auto;
  padding-left: min(1.288vw, 17px);
  font-family: "Noto Sans JP", sans-serif;
  content: "プレスリリース";
  color: #1E6E78;
  font-size: min(1.061vw, 14px);
  font-weight: 500;
  margin-left: min(1.894vw, 25px);
}
@media only screen and (max-width: 767px) {
  #news_detail .news_ttl_area.tag-press .date::after {
    background-size: 2.308vw auto;
    padding-left: 4.359vw;
    font-size: 3.59vw;
    margin-left: 4.615vw;
  }
}
#news_detail .news_ttl_area .date {
  font-family: "Outfit", sans-serif;
  font-size: min(1.515vw, 20px);
  display: block;
  margin-right: min(2.121vw, 28px);
  margin-bottom: min(2.121vw, 28px);
  padding-left: min(0.152vw, 2px);
}
@media only screen and (max-width: 767px) {
  #news_detail .news_ttl_area .date {
    font-size: 4.103vw;
    margin-bottom: 3.59vw;
    padding-left: 0;
  }
}
#news_detail .news_cnt .mod-col1 {
  display: grid;
  grid-template-columns: 1fr;
  -webkit-column-gap: min(4.545vw, 60px);
     -moz-column-gap: min(4.545vw, 60px);
          column-gap: min(4.545vw, 60px);
  row-gap: min(4.545vw, 60px);
  margin-bottom: min(5.303vw, 70px);
}
@media only screen and (max-width: 767px) {
  #news_detail .news_cnt .mod-col1 {
    grid-template-columns: 1fr;
    row-gap: 7.692vw;
    margin-bottom: 12.821vw;
  }
}
#news_detail .news_cnt .mod-col1 p {
  font-size: min(1.212vw, 16px);
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  #news_detail .news_cnt .mod-col1 p {
    font-size: 4.103vw;
    line-height: 1.8;
  }
}
#news_detail .news_cnt .mod-col1 img {
  width: 100%;
}
#news_detail .news_cnt .mod-col2 {
  display: grid;
  grid-template-columns: min(42.424vw, 560px) 1fr;
  -webkit-column-gap: min(4.545vw, 60px);
     -moz-column-gap: min(4.545vw, 60px);
          column-gap: min(4.545vw, 60px);
  margin-bottom: min(5.303vw, 70px);
}
@media only screen and (max-width: 767px) {
  #news_detail .news_cnt .mod-col2 {
    grid-template-columns: 1fr;
    row-gap: 7.692vw;
    margin-bottom: 12.821vw;
  }
}
#news_detail .news_cnt .mod-col2 p {
  font-size: min(1.212vw, 16px);
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  #news_detail .news_cnt .mod-col2 p {
    font-size: 4.103vw;
    line-height: 1.8;
  }
}
#news_detail .news_cnt .mod-col2 img {
  width: 100%;
}

/* ================================================
サポートサービス ページ
================================================ */
main#support .ttl_style_normal {
  color: #1E6E78;
  font-size: min(3.03vw, 40px);
  font-weight: 600;
  line-height: 1;
  text-align: center;
  margin-bottom: min(3.03vw, 40px);
}
@media only screen and (max-width: 767px) {
  main#support .ttl_style_normal {
    font-size: 6.667vw;
    line-height: 1.2;
    margin-bottom: 8.205vw;
  }
}
main#support .ttl_sub_check {
  background-size: min(2.879vw, 38px) auto;
  color: #1E6E78;
  font-size: min(1.364vw, 18px);
  line-height: 1;
  text-align: center;
  margin-bottom: min(2.727vw, 36px);
  padding-right: min(1.818vw, 24px);
}
@media only screen and (max-width: 767px) {
  main#support .ttl_sub_check {
    font-size: 3.846vw;
    line-height: 1.4;
    margin-bottom: 4.103vw;
    padding-right: 0vw;
    text-indent: -6.154vw;
  }
}
main#support .ttl_sub_check::before {
  background: url(../img/common/mark_check.svg) 0 0/100% auto no-repeat;
  content: "";
  -webkit-transform: translateY(min(0.227vw, 3px));
          transform: translateY(min(0.227vw, 3px));
  display: inline-block;
  width: min(1.818vw, 24px);
  height: min(1.364vw, 18px);
  margin-right: min(0.758vw, 10px);
}
@media only screen and (max-width: 767px) {
  main#support .ttl_sub_check::before {
    width: 5.128vw;
    height: 3.846vw;
    margin-right: 1.282vw;
  }
}
main#support .lead1 {
  font-size: min(1.364vw, 18px);
  line-height: 1.8;
  text-align: center;
  margin-bottom: min(4.545vw, 60px);
}
@media only screen and (max-width: 767px) {
  main#support .lead1 {
    font-size: 4.615vw;
    text-align: left;
    margin-left: 3.846vw;
    margin-right: 3.846vw;
    margin-bottom: 9.231vw;
  }
}
main#support .lead1 strong {
  color: #1E6E78;
  font-weight: 500;
}
main#support #assistance {
  padding-bottom: min(8.333vw, 110px);
}
@media only screen and (max-width: 767px) {
  main#support #assistance {
    padding-bottom: 15.385vw;
  }
}
main#support #assistance .logo_assistance {
  margin-bottom: min(4.545vw, 60px);
}
@media only screen and (max-width: 767px) {
  main#support #assistance .logo_assistance {
    margin-bottom: 8.205vw;
  }
}
main#support #assistance .logo_assistance img {
  display: block;
  margin: auto;
  width: 500px;
  height: auto;
}
@media only screen and (max-width: 767px) {
  main#support #assistance .logo_assistance img {
    width: 320px;
  }
}
main#support #assistance .btn_style__white_wide {
  margin-top: min(9.091vw, 120px);
}
@media only screen and (max-width: 767px) {
  main#support #assistance .btn_style__white_wide {
    margin-top: 12.821vw;
  }
}
main#support #calibration {
  background-color: #FAFAFA;
  padding-top: min(7.576vw, 100px);
  padding-bottom: min(9.848vw, 130px);
  margin-bottom: min(7.121vw, 94px);
}
@media only screen and (max-width: 767px) {
  main#support #calibration {
    padding-top: 15.385vw;
    padding-bottom: 20.513vw;
    margin-bottom: 12.821vw;
  }
}
main#support #calibration .service_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: min(2.273vw, 30px);
     -moz-column-gap: min(2.273vw, 30px);
          column-gap: min(2.273vw, 30px);
}
@media only screen and (max-width: 767px) {
  main#support #calibration .service_list {
    grid-template-columns: 1fr;
    row-gap: 6.667vw;
  }
}
main#support #calibration .service_list div {
  display: grid;
  grid-template-rows: auto 1fr;
}
main#support #calibration .service_list dt {
  border: 2px solid #1E6E78;
  border-radius: 20px 20px 0 0;
  color: #1E6E78;
  background-color: rgba(200, 220, 220, 0.3);
  font-size: min(1.515vw, 20px);
  font-weight: 500;
  height: min(5.758vw, 76px);
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 767px) {
  main#support #calibration .service_list dt {
    font-size: 4.615vw;
    height: 15.385vw;
  }
}
main#support #calibration .service_list dd {
  border: 2px solid #1E6E78;
  border-top: none;
  border-radius: 0 0 20px 20px;
  background-color: #fff;
  font-size: min(1.212vw, 16px);
  padding: min(1.742vw, 23px) min(3.258vw, 43px);
}
@media only screen and (max-width: 767px) {
  main#support #calibration .service_list dd {
    font-size: 4.103vw;
    padding: 5.897vw 7.692vw;
  }
}
main#support #calibration .btn_style__white_wide {
  margin-top: min(3.636vw, 48px);
}
@media only screen and (max-width: 767px) {
  main#support #calibration .btn_style__white_wide {
    margin-top: 12.821vw;
  }
}
main#support .btn_area {
  text-align: right;
  margin-top: min(3.485vw, 46px);
}
@media only screen and (max-width: 767px) {
  main#support .btn_area {
    margin-top: 7.692vw;
  }
}
main#support .btn_style__detail {
  font-size: min(1.061vw, 14px);
  font-weight: 600;
  letter-spacing: 0.04em;
  display: inline-grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-image: url(../img/common/arw_btn.svg);
  background-size: min(2.424vw, 32px) auto;
  background-position: right min(0.833vw, 11px) center;
  background-repeat: no-repeat;
  background-color: #C8DCDC;
  border-radius: 100vh;
  color: #1E6E78;
  line-height: 1;
  width: auto;
  height: min(2.727vw, 36px);
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (max-width: 767px) {
  main#support .btn_style__detail {
    font-size: 3.59vw;
    letter-spacing: 0.04em;
    background-size: 7.692vw auto;
    background-position: right 2.564vw center;
    height: 9.231vw;
  }
}
main#support .btn_style__detail span {
  -webkit-transform: translateY(-0.02em);
          transform: translateY(-0.02em);
  padding-left: min(1.894vw, 25px);
  padding-right: min(3.788vw, 50px);
}
@media only screen and (max-width: 767px) {
  main#support .btn_style__detail span {
    padding-left: 6.667vw;
    padding-right: 13.333vw;
  }
}

/* ================================================
実稼働モニタリング ページ
================================================ */
#monitoring .kv {
  background: url(../img/monitoring/main.png) center 0 no-repeat;
  background-size: min(109.091vw, 1440px) auto;
  height: min(61.061vw, 806px);
  position: relative;
  z-index: 11;
  overflow: hidden;
}
@media screen and (max-width: 1440px) {
  #monitoring .kv {
    background-size: 100% auto;
    background-size: 104.167vw;
    height: 58.333vw;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring .kv {
    background: url(../img/monitoring/main_s.png) 0 0/100% auto no-repeat;
    height: 163.59vw;
  }
}
#monitoring .kv::before {
  background: url(../img/monitoring/bg_main_right.svg) 0 0/100% auto repeat-x;
  background-size: 2px auto;
  content: "";
  display: block;
  position: absolute;
  left: calc(50% + 720px);
  top: 0px;
  width: 50vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  #monitoring .kv::before {
    content: none;
  }
}
#monitoring .kv::after {
  background: url(../img/monitoring/bg_main_left.svg) 0 0/100% auto repeat-x;
  background-size: 2px auto;
  content: "";
  display: block;
  position: absolute;
  right: calc(50% + 719px);
  top: 0px;
  width: 50vw;
  height: 100%;
}
@media only screen and (max-width: 767px) {
  #monitoring .kv::after {
    content: none;
  }
}
#monitoring .kv .kv_cnt {
  width: min(90.909vw, 1200px);
  max-width: 100%;
  height: min(61.061vw, 806px);
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  position: relative;
}
@media screen and (max-width: 1440px) {
  #monitoring .kv .kv_cnt {
    width: 86.806vw;
    height: 55.972vw;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring .kv .kv_cnt {
    width: 100%;
    height: 163.59vw;
    text-align: center;
  }
}
#monitoring .kv .kv_cnt .main_ttl {
  margin-top: min(12.652vw, 167px);
  display: inline-block;
}
@media screen and (max-width: 1440px) {
  #monitoring .kv .kv_cnt .main_ttl {
    margin-top: 12.061vw;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring .kv .kv_cnt .main_ttl {
    margin-top: 21.538vw;
  }
}
#monitoring .kv .kv_cnt .main_ttl .tagline {
  display: block;
  font-size: min(1.667vw, 22px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 300;
  -webkit-font-feature-settings: "palt" on;
          font-feature-settings: "palt" on;
  color: #1E6E78;
  text-align: center;
  margin-bottom: min(0.833vw, 11px);
}
@media screen and (max-width: 1440px) {
  #monitoring .kv .kv_cnt .main_ttl .tagline {
    font-size: 1.589vw;
    margin-bottom: 0.794vw;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring .kv .kv_cnt .main_ttl .tagline {
    font-size: 3.59vw;
    margin-bottom: 2.564vw;
  }
}
#monitoring .kv .kv_cnt .main_ttl .logo {
  display: block;
  margin-bottom: min(2.121vw, 28px);
}
@media screen and (max-width: 1440px) {
  #monitoring .kv .kv_cnt .main_ttl .logo {
    width: 46.944vw;
    height: auto;
    margin-bottom: 2.022vw;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring .kv .kv_cnt .main_ttl .logo {
    width: 89.744vw;
    height: auto;
    margin-bottom: 5.128vw;
  }
}
#monitoring .kv .kv_cnt .desc {
  color: #A0B4B4;
  font-size: min(1.818vw, 24px);
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 1440px) {
  #monitoring .kv .kv_cnt .desc {
    font-size: 1.733vw;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring .kv .kv_cnt .desc {
    font-size: 4.103vw;
    line-height: 1.6;
    text-align: center;
  }
}
#monitoring .kv .kv_cnt .desc em {
  color: #1E6E78;
  font-size: min(2.273vw, 30px);
  font-weight: 500;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1440px) {
  #monitoring .kv .kv_cnt .desc em {
    font-size: 2.167vw;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring .kv .kv_cnt .desc em {
    font-size: 5.128vw;
  }
}
#monitoring .kv .kv_cnt .desc em.type2 {
  font-size: min(2.424vw, 32px);
  letter-spacing: 0.01em;
}
@media screen and (max-width: 1440px) {
  #monitoring .kv .kv_cnt .desc em.type2 {
    font-size: 2.311vw;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring .kv .kv_cnt .desc em.type2 {
    font-size: 5.128vw;
  }
}
#monitoring .kv .kv_cnt .desc .color1 {
  display: inline-block;
  color: #1E6E78;
  line-height: 2;
}
#monitoring .kv .kv_cnt .notes {
  font-size: min(0.909vw, 12px);
  position: absolute;
  bottom: min(10.606vw, 140px);
}
@media only screen and (max-width: 767px) {
  #monitoring .kv .kv_cnt .notes {
    font-size: 3.077vw;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
  }
}
#monitoring .kv .kv_cnt .btn {
  cursor: pointer;
  position: absolute;
  top: min(36.97vw, 488px);
  width: min(22.273vw, 294px);
}
@media only screen and (max-width: 767px) {
  #monitoring .kv .kv_cnt .btn {
    width: 66.667vw;
    left: 0;
    right: 0;
    top: inherit;
    bottom: 13.333vw;
    margin: auto;
  }
}
#monitoring .kv .kv_cnt .btn span {
  padding-right: min(2.803vw, 37px);
}
@media only screen and (max-width: 767px) {
  #monitoring .kv .kv_cnt .btn span {
    padding-right: 7.692vw;
  }
}
#monitoring .monitoring_page_nav {
  border-radius: 10px;
  background-color: #C8DCDC;
  max-width: min(90.909vw, 1200px);
  height: min(6.212vw, 82px);
  padding: min(1.288vw, 17px) 0;
  margin: min(6.818vw, 90px) auto 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  #monitoring .monitoring_page_nav {
    height: auto;
    padding: 5.128vw 0;
    margin-top: 14.359vw;
    grid-template-columns: 1fr 1fr;
    row-gap: 3.846vw;
  }
}
#monitoring .monitoring_page_nav li a {
  background: url(../img/common/arw_link.svg) right min(1.667vw, 22px) center/100% auto no-repeat;
  background-size: min(1.212vw, 16px) auto;
  color: #1E6E78;
  font-size: min(1.212vw, 16px);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-right: solid 1px #1E6E78;
  height: min(3.636vw, 48px);
  padding-right: min(1.667vw, 22px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  #monitoring .monitoring_page_nav li a {
    background-position: right 2.821vw center;
    background-size: 3.077vw auto;
    font-size: 3.333vw;
    text-align: left;
    height: 5.128vw;
    padding-right: 0;
    padding-left: 4.103vw;
  }
}
@media print, screen and (min-width: 768px) {
  #monitoring .monitoring_page_nav li a:hover {
    opacity: 0.7;
  }
}
#monitoring .monitoring_page_nav li:last-child a {
  border-right: none;
}
@media only screen and (max-width: 767px) {
  #monitoring .monitoring_page_nav li:nth-child(even) a {
    border-right: none;
  }
}
#monitoring .color-gr {
  color: #1E6E78;
}
#monitoring .ttl_style {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
}
#monitoring .ttl_caption {
  text-align: center;
  font-size: min(1.667vw, 22px);
  font-weight: 500;
  margin-bottom: min(4.545vw, 60px);
}
@media only screen and (max-width: 767px) {
  #monitoring .ttl_caption {
    font-size: 4.103vw;
    margin-bottom: 8.974vw;
  }
}
#monitoring .ttl_caption .color-gr {
  color: #1E6E78;
}
#monitoring #solution {
  padding: min(9.091vw, 120px) 0 min(11.364vw, 150px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution {
    padding: 15.385vw 0 12.821vw;
  }
}
#monitoring #solution .ttl_style {
  font-size: min(3.333vw, 44px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .ttl_style {
    font-size: 6.154vw;
  }
}
#monitoring #solution .ttl_style .gr {
  font-size: min(3.636vw, 48px);
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .ttl_style .gr {
    font-size: 7.179vw;
    letter-spacing: normal;
  }
}
#monitoring #solution .case_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: min(1.364vw, 18px);
     -moz-column-gap: min(1.364vw, 18px);
          column-gap: min(1.364vw, 18px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .case_list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 5.128vw;
  }
  #monitoring #solution .case_list:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    bottom: -10.256vw;
    margin: auto;
    background: -webkit-gradient(linear, left top, right top, from(rgb(221, 255, 34)), to(rgb(0, 255, 255)));
    background: -webkit-linear-gradient(left, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
    background: linear-gradient(90deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
    width: 3px;
    height: 10.256vw;
  }
}
#monitoring #solution .case_list > li.box {
  background-color: #fff;
  border-radius: min(1.515vw, 20px);
  border: 2px solid #C8DCDC;
  display: grid;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .case_list > li.box {
    border-radius: 5.128vw;
  }
}
@media print, screen and (min-width: 768px) {
  #monitoring #solution .case_list > li.box:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    bottom: max(-6.212vw, -82px);
    margin: auto;
    background: -webkit-gradient(linear, left top, right top, from(rgb(221, 255, 34)), to(rgb(0, 255, 255)));
    background: -webkit-linear-gradient(left, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
    background: linear-gradient(90deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
    width: 3px;
    height: min(6.061vw, 80px);
  }
}
#monitoring #solution .case_list > li.box .box_cnt {
  position: relative;
  display: grid;
  -webkit-align-content: space-between;
      -ms-flex-line-pack: justify;
          align-content: space-between;
  grid-template-rows: auto;
  padding: min(4.394vw, 58px) 0 min(3.03vw, 40px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .case_list > li.box .box_cnt {
    border-radius: 4.615vw;
    padding: 9.744vw 0 9.744vw;
  }
}
#monitoring #solution .case_list > li.box .box_cnt::before {
  background: url(../img/monitoring/icon_case1.svg) 0 0/100% auto no-repeat;
  content: "";
  display: block;
  position: absolute;
  left: min(2.879vw, 38px);
  top: min(2.424vw, 32px);
  width: min(7.045vw, 93px);
  height: min(5.833vw, 77px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .case_list > li.box .box_cnt::before {
    left: 7.692vw;
    top: 5.128vw;
    width: 20vw;
    height: 16.667vw;
  }
}
#monitoring #solution .case_list > li.box:nth-child(2) .box_cnt::before {
  background-image: url(../img/monitoring/icon_case2.svg);
  width: min(7.576vw, 100px);
  height: min(5.833vw, 77px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .case_list > li.box:nth-child(2) .box_cnt::before {
    width: 21.538vw;
    height: 16.667vw;
  }
}
#monitoring #solution .case_list > li.box:nth-child(3) .box_cnt::before {
  background-image: url(../img/monitoring/icon_case3.svg);
  width: min(7.576vw, 100px);
  height: min(5.833vw, 77px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .case_list > li.box:nth-child(3) .box_cnt::before {
    width: 21.538vw;
    height: 16.667vw;
  }
}
#monitoring #solution .case_list > li.box .row1 {
  display: grid;
  -webkit-align-content: space-between;
      -ms-flex-line-pack: justify;
          align-content: space-between;
  height: min(12.576vw, 166px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .case_list > li.box .row1 {
    height: auto;
  }
}
#monitoring #solution .case_list > li.box .task_img {
  text-align: center;
}
#monitoring #solution .case_list > li.box .task_img img {
  width: min(12.727vw, 168px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .case_list > li.box .task_img img {
    width: 43.077vw;
  }
}
#monitoring #solution .case_list > li.box .task_ttl {
  background: url(../img/monitoring/mark_tri.png) 0 center/auto no-repeat;
  background-size: min(1.591vw, 21px) auto;
  color: #1E6E78;
  font-size: min(1.818vw, 24px);
  font-weight: 600;
  line-height: 1.5;
  padding-left: min(2.348vw, 31px);
  padding-bottom: min(0.152vw, 2px);
  margin-top: min(2.576vw, 34px);
  margin-bottom: min(0.758vw, 10px);
  margin-left: min(2.576vw, 34px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .case_list > li.box .task_ttl {
    background-position: 0 center;
    background-size: 5.385vw auto;
    font-size: 5.641vw;
    margin: 5.128vw 5.128vw 3.59vw 7.179vw;
    padding-left: 8.205vw;
  }
}
#monitoring #solution .case_list > li.box .task_txt {
  font-size: min(1.212vw, 16px);
  text-align: justify;
  margin: 0 min(2.576vw, 34px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .case_list > li.box .task_txt {
    font-size: 4.103vw;
    margin: 0 7.692vw;
  }
}
#monitoring #solution .solution_text {
  background: -webkit-linear-gradient(315deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
  background: linear-gradient(135deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
  border-radius: min(1.515vw, 20px);
  padding: 3px;
  margin-top: min(6.061vw, 80px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .solution_text {
    border-radius: 5.128vw;
    margin-top: 10.256vw;
  }
}
#monitoring #solution .solution_text .inner_box {
  display: block;
  background-color: #fff;
  border-radius: min(1.364vw, 18px);
  font-size: min(3.333vw, 44px);
  font-weight: 500;
  line-height: 1;
  text-align: center;
  padding: min(2.727vw, 36px) 0;
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .solution_text .inner_box {
    border-radius: 4.615vw;
    font-size: 7.179vw;
    line-height: 1.3;
    padding: 7.179vw 0 7.692vw;
  }
}
#monitoring #solution .solution_text .inner_box::before {
  background: url(../img/common/mark_check.svg) 0 0/100% auto no-repeat;
  content: "";
  display: inline-block;
  width: min(3.333vw, 44px);
  height: min(2.273vw, 30px);
  margin-right: min(1.515vw, 20px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .solution_text .inner_box::before {
    width: 7.692vw;
    height: 5.385vw;
    margin-right: 2.051vw;
  }
}
#monitoring #solution .sensor-box_area {
  background: -webkit-linear-gradient(315deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
  background: linear-gradient(135deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
  border-radius: min(1.515vw, 20px);
  padding: 3px;
  margin-top: min(3.788vw, 50px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area {
    border-radius: 5.128vw;
    margin-top: 5.128vw;
  }
}
#monitoring #solution .sensor-box_area:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  bottom: max(-6.742vw, -89px);
  margin: auto;
  background: -webkit-gradient(linear, left top, right top, from(rgb(221, 255, 34)), to(rgb(0, 255, 255)));
  background: -webkit-linear-gradient(left, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
  background: linear-gradient(90deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
  width: 3px;
  height: min(6.818vw, 90px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area:before {
    bottom: -15.385vw;
    height: 15.385vw;
  }
}
#monitoring #solution .sensor-box_area .inner_box {
  display: block;
  background-color: #fff;
  border-radius: min(1.364vw, 18px);
  font-size: min(3.333vw, 44px);
  display: grid;
  grid-template-columns: min(28.788vw, 380px) 1fr;
  -webkit-column-gap: min(6.818vw, 90px);
     -moz-column-gap: min(6.818vw, 90px);
          column-gap: min(6.818vw, 90px);
  padding: min(3.788vw, 50px) min(5vw, 66px) min(3.788vw, 50px) min(5.303vw, 70px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box {
    border-radius: 4.615vw;
    grid-template-columns: 1fr;
    row-gap: 9.744vw;
    padding: 8.462vw 0 9.231vw;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box .sensor-box_data {
    padding: 0 7.692vw;
  }
}
#monitoring #solution .sensor-box_area .inner_box .sensor-box_data .sub_name {
  font-size: min(1.515vw, 20px);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  margin-bottom: min(0.606vw, 8px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box .sensor-box_data .sub_name {
    font-size: 4.615vw;
    margin-bottom: 1.538vw;
  }
}
#monitoring #solution .sensor-box_area .inner_box .sensor-box_data .sub_name::before {
  background: url(../img/common/mark_ttl.svg) 0 0/100% auto no-repeat;
  content: "";
  display: inline-block;
  width: min(0.682vw, 9px);
  height: min(0.682vw, 9px);
  margin-right: min(0.758vw, 10px);
  -webkit-transform: translateY(max(-0.152vw, -2px));
          transform: translateY(max(-0.152vw, -2px));
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box .sensor-box_data .sub_name::before {
    width: 2.308vw;
    height: 2.308vw;
    margin-right: 2.564vw;
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
}
#monitoring #solution .sensor-box_area .inner_box .sensor-box_data .prd_image {
  display: block;
  width: min(26.364vw, 348px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box .sensor-box_data .prd_image {
    width: 71.795vw;
    margin: auto;
  }
}
#monitoring #solution .sensor-box_area .inner_box .sensor-box_data .prd_name {
  color: #1E6E78;
  font-size: min(3.333vw, 44px);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  margin-bottom: min(0.833vw, 11px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box .sensor-box_data .prd_name {
    font-size: 7.692vw;
    margin-bottom: 4.103vw;
  }
}
#monitoring #solution .sensor-box_area .inner_box .sensor-box_data .ttl_style_sensor {
  color: #1E6E78;
  font-size: min(2.273vw, 30px);
  font-weight: 600;
  line-height: 1.4;
  margin-top: min(1.515vw, 20px);
  margin-bottom: min(0.606vw, 8px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box .sensor-box_data .ttl_style_sensor {
    font-size: 6.154vw;
    margin-top: 4.615vw;
    margin-bottom: 2.564vw;
  }
}
#monitoring #solution .sensor-box_area .inner_box .sensor-box_data .ttl_style_sensor .decor_en {
  font-family: "Outfit";
  font-size: min(1.667vw, 22px);
  font-weight: 400;
  margin-right: min(1.364vw, 18px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box .sensor-box_data .ttl_style_sensor .decor_en {
    font-size: 5.641vw;
    margin-right: 4.103vw;
  }
}
#monitoring #solution .sensor-box_area .inner_box .sensor-box_data .ttl_style_sensor .decor_en::before {
  background: url(../img/common/mark_ttl.svg) 0 0/100% auto no-repeat;
  content: "";
  display: inline-block;
  width: min(0.682vw, 9px);
  height: min(0.682vw, 9px);
  margin-right: min(0.758vw, 10px);
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box .sensor-box_data .ttl_style_sensor .decor_en::before {
    width: 2.308vw;
    height: 2.308vw;
    margin-right: 2.564vw;
  }
}
#monitoring #solution .sensor-box_area .inner_box .sensor-box_data .desc {
  font-size: min(1.212vw, 16px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box .sensor-box_data .desc {
    font-size: 4.103vw;
  }
}
#monitoring #solution .sensor-box_area .inner_box ul.points li {
  display: grid;
  grid-template-columns: min(6.364vw, 84px) 1fr;
  grid-template-rows: auto auto;
  -webkit-column-gap: min(1.97vw, 26px);
     -moz-column-gap: min(1.97vw, 26px);
          column-gap: min(1.97vw, 26px);
  margin-bottom: min(3.03vw, 40px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box ul.points li {
    grid-template-columns: 21.538vw 1fr;
    -webkit-column-gap: 4.615vw;
       -moz-column-gap: 4.615vw;
            column-gap: 4.615vw;
    row-gap: 3.59vw;
    -webkit-box-align: end;
    -webkit-align-items: end;
        -ms-flex-align: end;
            align-items: end;
    margin-bottom: 7.692vw;
    padding-left: 7.179vw;
  }
}
#monitoring #solution .sensor-box_area .inner_box ul.points li:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  #monitoring #solution .sensor-box_area .inner_box ul.points li img {
    grid-area: 1/1/3/2;
  }
}
#monitoring #solution .sensor-box_area .inner_box ul.points li .ttl {
  font-size: min(2.273vw, 30px);
  font-weight: 600;
  color: #1E6E78;
  margin-bottom: min(0.379vw, 5px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box ul.points li .ttl {
    font-size: 6.667vw;
    line-height: 1.4;
    margin-bottom: 0;
    padding-bottom: 1.538vw;
  }
}
#monitoring #solution .sensor-box_area .inner_box ul.points li .txt {
  font-size: min(1.212vw, 16px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .sensor-box_area .inner_box ul.points li .txt {
    font-size: 4.103vw;
    grid-area: 2/1/3/3;
    padding-right: 6.667vw;
  }
}
#monitoring #solution .optimize {
  margin-top: min(10.606vw, 140px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .optimize {
    margin-top: 18.974vw;
  }
}
#monitoring #solution .optimize p {
  font-size: min(2.727vw, 36px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: min(3.788vw, 50px);
}
@media only screen and (max-width: 767px) {
  #monitoring #solution .optimize p {
    font-size: 5.641vw;
    margin-bottom: 7.179vw;
  }
}
#monitoring #mechanism {
  background-color: #FAFAFA;
  padding: min(7.576vw, 100px) 0;
}
@media only screen and (max-width: 767px) {
  #monitoring #mechanism {
    padding: 10.256vw 0 12.821vw;
  }
}
#monitoring #mechanism .bg_box {
  border-radius: 20px;
  background-color: #fff;
  padding: min(6.061vw, 80px) min(4.545vw, 60px) min(6.061vw, 80px);
}
@media only screen and (max-width: 767px) {
  #monitoring #mechanism .bg_box {
    padding: 8.205vw 3.846vw 12.821vw;
  }
}
#monitoring #mechanism .bg_box .lead_text {
  text-align: center;
  font-size: min(1.515vw, 20px);
  margin-bottom: min(4.848vw, 64px);
}
@media only screen and (max-width: 767px) {
  #monitoring #mechanism .bg_box .lead_text {
    text-align: left;
    font-size: 4.103vw;
    margin: 0 4.359vw 6.154vw;
  }
}
#monitoring #mechanism .bg_box .lead_text .color-gr {
  font-weight: 600;
}
#monitoring #mechanism .bg_box .notes_text {
  text-align: center;
  font-size: min(1.212vw, 16px);
  margin-bottom: min(6.061vw, 80px);
  margin-top: min(6.061vw, 80px);
}
@media only screen and (max-width: 767px) {
  #monitoring #mechanism .bg_box .notes_text {
    font-size: 3.59vw;
    line-height: 1.4;
    margin: 14.359vw 3.846vw 10.256vw;
    text-align: left;
  }
}
#monitoring #mechanism .btn_area {
  text-align: right;
  margin-top: min(4.545vw, 60px);
}
@media only screen and (max-width: 767px) {
  #monitoring #mechanism .btn_area {
    margin-top: 9.744vw;
  }
}
#monitoring #mechanism .btn_style__popup {
  font-size: min(1.061vw, 14px);
  font-weight: 600;
  letter-spacing: 0.04em;
  display: inline-grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-image: url(../img/common/arw_btn.svg);
  background-size: min(2.424vw, 32px) auto;
  background-position: right min(0.833vw, 11px) center;
  background-repeat: no-repeat;
  background-color: #C8DCDC;
  border-radius: 100vh;
  color: #1E6E78;
  line-height: 1;
  width: auto;
  height: min(2.727vw, 36px);
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (max-width: 767px) {
  #monitoring #mechanism .btn_style__popup {
    font-size: 3.59vw;
    letter-spacing: 0.04em;
    background-size: 7.692vw auto;
    background-position: right 2.564vw center;
    height: 9.231vw;
  }
}
#monitoring #mechanism .btn_style__popup span {
  padding-left: min(1.894vw, 25px);
  padding-right: min(3.788vw, 50px);
}
@media only screen and (max-width: 767px) {
  #monitoring #mechanism .btn_style__popup span {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    padding-left: 6.667vw;
    padding-right: 13.333vw;
  }
}
#monitoring #flow {
  background-color: #FAFAFA;
  padding: min(6.818vw, 90px) 0 min(7.576vw, 100px);
}
@media only screen and (max-width: 767px) {
  #monitoring #flow {
    padding: 10.256vw 0;
  }
}
#monitoring #flow .ttl_style {
  margin-bottom: min(1.818vw, 24px);
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .ttl_style {
    margin-bottom: 5.128vw;
  }
}
#monitoring #flow .flow_step {
  display: grid;
  row-gap: min(2.121vw, 28px);
  margin-bottom: min(2.121vw, 28px);
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step {
    row-gap: 8.974vw;
    margin: 0 3.846vw 6.667vw;
  }
}
#monitoring #flow .flow_step li {
  position: relative;
}
#monitoring #flow .flow_step li::before {
  background: url(../img/common/step_arw.svg) 0 bottom/100% auto no-repeat;
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: min(6.97vw, 92px);
  bottom: -20px;
  width: 32px;
  height: 26px;
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li::before {
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -5.128vw;
    width: 9.231vw;
    height: 7.692vw;
  }
}
#monitoring #flow .flow_step li:last-child::before {
  content: none;
}
#monitoring #flow .flow_step li .list_inner {
  position: relative;
  z-index: 2;
  background: -webkit-linear-gradient(315deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
  background: linear-gradient(135deg, rgb(221, 255, 34) 0%, rgb(0, 255, 255) 100%);
  border-radius: 20px;
  padding: 2px;
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .list_inner {
    border-radius: 10px;
  }
}
#monitoring #flow .flow_step li .box_cnt {
  background-color: #fff;
  border-radius: 19px;
  padding: min(1.515vw, 20px) min(3.03vw, 40px);
  display: grid;
  grid-template-columns: min(9.848vw, 130px) 1fr;
  -webkit-column-gap: min(3.03vw, 40px);
     -moz-column-gap: min(3.03vw, 40px);
          column-gap: min(3.03vw, 40px);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .box_cnt {
    border-radius: 9px;
    padding: 7.179vw 0 8.718vw;
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .img_part {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .img_part img {
    width: 33.333vw;
    margin-bottom: 3.846vw;
  }
}
#monitoring #flow .flow_step li .txt_part .step_ttl {
  display: inline-block;
  border-bottom: 3px solid #59FFA6;
  color: #1E6E78;
  font-size: min(1.97vw, 26px);
  font-family: "Outfit", sans-serif;
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .txt_part .step_ttl {
    border-bottom: none;
    display: grid;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 5.128vw;
  }
}
#monitoring #flow .flow_step li .txt_part .step_ttl .num {
  font-size: min(2.273vw, 30px);
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .txt_part .step_ttl .num {
    font-size: 6.667vw;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .txt_part .step_ttl .step_label {
    text-align: center;
    line-height: 1;
    margin-bottom: 1.026vw;
  }
}
#monitoring #flow .flow_step li .txt_part .step_ttl .step_label::before {
  background: url(../img/common/mark_ttl.svg) 0 0/100% auto no-repeat;
  content: "";
  display: inline-block;
  width: min(0.909vw, 12px);
  height: min(0.909vw, 12px);
  margin-right: min(0.758vw, 10px);
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .txt_part .step_ttl .step_label::before {
    width: 3.077vw;
    height: 3.077vw;
    margin-right: 2.564vw;
  }
}
#monitoring #flow .flow_step li .txt_part .step_ttl .step_label_txt {
  font-size: min(1.97vw, 26px);
  font-weight: 600;
  margin-left: min(1.894vw, 25px);
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .txt_part .step_ttl .step_label_txt {
    font-size: 5.641vw;
    margin-left: 0;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .txt_part .step_ttl .step_label_txt span {
    border-bottom: 3px solid #59FFA6;
    padding-bottom: 1.282vw;
  }
}
#monitoring #flow .flow_step li .txt_part p {
  font-size: min(1.212vw, 16px);
  margin-top: min(1.364vw, 18px);
  padding-bottom: min(0.227vw, 3px);
}
@media only screen and (max-width: 767px) {
  #monitoring #flow .flow_step li .txt_part p {
    font-size: 4.103vw;
    margin-top: 4.103vw;
    margin-left: 7.179vw;
    margin-right: 7.179vw;
    padding-bottom: 0;
  }
}
#monitoring #flow .flow_step li .txt_part p a {
  color: #1E6E78;
  text-decoration: underline;
}
@media print, screen and (min-width: 768px) {
  #monitoring #flow .flow_step li .txt_part p a:hover {
    text-decoration: none;
  }
}
#monitoring .table_style.table_operate {
  margin-bottom: min(4.545vw, 60px);
  border: 2px solid #1E6E78;
}
@media only screen and (max-width: 767px) {
  #monitoring .table_style.table_operate {
    margin-bottom: 10.256vw;
  }
}
#monitoring .table_style.table_operate .table_head th {
  background-color: #C8DCDC;
  border-radius: 29px 29px 0 0;
  border-bottom: 2px solid #1E6E78;
  color: #1E6E78;
  font-size: min(1.515vw, 20px);
  font-weight: 500;
  height: min(4.545vw, 60px);
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #monitoring .table_style.table_operate .table_head th {
    border-radius: 14px 14px 0 0;
    font-size: 4.103vw;
    height: 15.385vw;
  }
}
#monitoring .table_style.table_operate .cell_left-btm {
  border-radius: 0 0 0 29px;
  border-bottom: none !important;
}
@media only screen and (max-width: 767px) {
  #monitoring .table_style.table_operate .cell_left-btm {
    border-radius: 0 0 0 14px;
  }
}
@media only screen and (max-width: 767px) {
  #monitoring .table_style.table_operate .cell_right-btm-sp {
    border-radius: 0 0 14px 0;
  }
}
#monitoring .table_style.table_operate tr:last-child > *:last-child {
  border-radius: 0 0 30px 0;
}
@media only screen and (max-width: 767px) {
  #monitoring .table_style.table_operate tr:last-child > *:last-child {
    border-radius: 0 0 15px 0;
  }
}
#monitoring .table_style.table_operate th[scope=row] {
  width: min(14.394vw, 190px);
  font-size: min(1.515vw, 20px);
  padding: 0 min(1.136vw, 15px);
  border-right: 2px solid #1E6E78;
  border-bottom: 2px solid #1E6E78;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #monitoring .table_style.table_operate th[scope=row] {
    width: 9.231vw;
    font-size: 4.103vw;
    line-height: 1.2;
    text-align: center;
    padding: 0;
  }
  #monitoring .table_style.table_operate th[scope=row] > span {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: pre;
  }
  #monitoring .table_style.table_operate th[scope=row] > span > span {
    text-orientation: upright;
  }
}
#monitoring .table_style.table_operate td {
  font-size: min(1.364vw, 18px);
  line-height: 1.4;
  height: min(6.061vw, 80px);
  padding-left: min(3.03vw, 40px);
  padding-right: min(3.03vw, 40px);
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
@media only screen and (max-width: 767px) {
  #monitoring .table_style.table_operate td {
    font-size: 3.846vw;
    height: auto;
    padding-left: 2.564vw;
    padding-right: 2.564vw;
    padding-top: 1em;
    padding-bottom: 1em;
  }
}
#monitoring .table_style.table_operate tr td:nth-of-type(1) {
  font-weight: 500;
}
#monitoring .table_style.table_operate tr td:nth-of-type(2) {
  font-size: min(1.212vw, 16px);
  padding-left: min(2.121vw, 28px);
  padding-right: min(1.515vw, 20px);
  width: min(49.242vw, 650px);
  border-left: 2px solid #1E6E78;
}
@media only screen and (max-width: 767px) {
  #monitoring .table_style.table_operate tr td:nth-of-type(2) {
    font-size: 3.59vw;
    padding-left: 2.564vw;
    width: 48.718vw;
  }
}
#monitoring .table_style.table_operate tr td {
  border-bottom: 2px solid #1E6E78;
}
@media only screen and (max-width: 767px) {
  #monitoring .table_style.table_operate tr td .notes-sp {
    display: block;
    font-size: 3.077vw;
    line-height: 1.2;
    margin-top: 2.051vw;
  }
}
#monitoring .table_style.table_operate tr span.cell_notes {
  display: block;
  font-size: min(1.061vw, 14px);
}
@media only screen and (max-width: 767px) {
  #monitoring .table_style.table_operate tr span.cell_notes {
    font-size: 3.077vw;
  }
}
#monitoring .table_style.table_operate tr:last-child td, #monitoring .table_style.table_operate tr:last-child th {
  border-bottom: none;
}
#monitoring #specs {
  padding: min(7.576vw, 100px) 0 min(4.545vw, 60px);
}
@media only screen and (max-width: 767px) {
  #monitoring #specs {
    padding: 10.256vw 0 2.564vw;
  }
}
#monitoring #faq {
  padding: min(6.818vw, 90px) 0 min(7.576vw, 100px);
}
@media only screen and (max-width: 767px) {
  #monitoring #faq {
    padding: 10.256vw 0 12.821vw;
  }
}

/* ================================================
modaal 
================================================ */
body.modal-open {
  overflow-y: scroll !important;
}

.modaal-container {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.modaal-container {
  background-color: transparent;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.modaal-container .cap_title {
  text-align: center;
  color: #fff;
  font-size: min(2.273vw, 30px);
  font-weight: 600;
  margin-bottom: min(2.727vw, 36px);
}
@media only screen and (max-width: 767px) {
  .modaal-container .cap_title {
    font-size: 5.641vw;
    margin-bottom: 4.615vw;
  }
}

.modaal-content-container {
  padding: 30px;
}
@media only screen and (max-width: 767px) {
  .modaal-content-container {
    padding-left: 0;
    padding-right: 0;
  }
}

.modaal-close:after, .modaal-close:before {
  border-radius: 0;
  width: 2px;
  height: 38px;
  top: 6px;
  left: 24px;
}

.modaal-close:focus, .modaal-close:hover {
  background-color: transparent;
}

.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before {
  background: #ccc;
}

.modal-movie_area .mov_wrap {
  width: 100%;
  aspect-ratio: 16/9;
}
.modal-movie_area iframe {
  width: 100%;
  height: 100%;
}

/* ================================================
#model
================================================ */
#model + #faq {
  margin-top: 0;
}

#model {
  margin-top: max(-3.03vw, -40px);
  padding-bottom: min(8.333vw, 110px);
}
@media only screen and (max-width: 767px) {
  #model {
    margin-top: 0;
    padding-bottom: 17.949vw;
  }
}
#model .slider_container {
  position: relative;
  max-width: 100%;
  min-height: 300px;
}
#model .swiper {
  min-height: 300px;
  margin-bottom: min(12.424vw, 164px);
}
@media only screen and (max-width: 767px) {
  #model .swiper {
    margin-left: 5.128vw;
    margin-right: 5.128vw;
    margin-bottom: 22.051vw;
    padding-left: 3.846vw;
    padding-right: 3.846vw;
  }
}
#model .swiper-button-prev, #model .swiper-rtl .swiper-button-next,
#model .swiper-button-next, #model .swiper-rtl .swiper-button-prev {
  background-color: #1E6E78;
  border-radius: 100vh;
  width: min(3.788vw, 50px);
  height: min(3.788vw, 50px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-button-prev, #model .swiper-rtl .swiper-button-next,
  #model .swiper-button-next, #model .swiper-rtl .swiper-button-prev {
    width: 7.179vw;
    height: 7.179vw;
    bottom: auto;
    top: 45.641vw;
    margin-top: 0;
  }
}
#model .swiper-button-prev, #model .swiper-rtl .swiper-button-next {
  left: calc(50% - min(34.091vw, 450px) - 60px - min(1.894vw, 25px));
}
@media only screen and (max-width: 767px) {
  #model .swiper-button-prev, #model .swiper-rtl .swiper-button-next {
    left: 0vw;
    left: 5.128vw;
  }
}
#model .swiper-button-next, #model .swiper-rtl .swiper-button-prev {
  right: calc(50% - min(34.091vw, 450px) - 60px - min(1.894vw, 25px));
}
@media only screen and (max-width: 767px) {
  #model .swiper-button-next, #model .swiper-rtl .swiper-button-prev {
    right: 0vw;
    right: 5.128vw;
  }
}
#model .swiper-button-prev:after, #model .swiper-rtl .swiper-button-next:after,
#model .swiper-button-next:after, #model .swiper-rtl .swiper-button-prev:after {
  color: transparent;
  font-size: 0;
  background: url(../img/common/slide_arw.svg) center center/auto 100% no-repeat;
  width: min(1.136vw, 15px);
  height: min(1.818vw, 24px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-button-prev:after, #model .swiper-rtl .swiper-button-next:after,
  #model .swiper-button-next:after, #model .swiper-rtl .swiper-button-prev:after {
    width: 2.308vw;
    height: 3.59vw;
  }
}
#model .swiper-button-prev:after, #model .swiper-rtl .swiper-button-next:after {
  -webkit-transform: rotate(180deg) translateX(1px);
          transform: rotate(180deg) translateX(1px);
}
#model .swiper-button-next:after, #model .swiper-rtl .swiper-button-prev:after {
  -webkit-transform: translateX(1px);
          transform: translateX(1px);
}
#model .swiper-horizontal > .swiper-pagination-bullets, #model .swiper-pagination-bullets.swiper-pagination-horizontal, #model .swiper-pagination-custom, #model .swiper-pagination-fraction {
  top: inherit;
  bottom: 1px;
  font-size: 0;
  bottom: max(-4.848vw, -64px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-horizontal > .swiper-pagination-bullets, #model .swiper-pagination-bullets.swiper-pagination-horizontal, #model .swiper-pagination-custom, #model .swiper-pagination-fraction {
    bottom: -8.718vw;
  }
}
#model .swiper-pagination-bullet {
  width: min(1.061vw, 14px);
  height: min(1.061vw, 14px);
  border: 2px solid #1E6E78;
  background-color: #fff;
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  #model .swiper-pagination-bullet {
    width: 2.564vw;
    height: 2.564vw;
    border-width: 2px;
  }
}
#model .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, #model .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 min(1.136vw, 15px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, #model .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 2.564vw;
  }
}
#model .swiper-pagination-bullet-active {
  background-color: #1E6E78;
}
#model .swiper-slide {
  width: min(68.182vw, 900px);
  border: solid #1E6E78 3px;
  border-radius: 20px;
  padding: min(3.636vw, 48px) min(5.833vw, 77px) min(4.318vw, 57px);
  height: auto;
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide {
    width: 82.051vw;
    width: auto;
    border-width: 2px;
    padding: 4.872vw 7.179vw 5.128vw;
  }
}
#model .swiper-slide .swiper-slide-inner {
  height: 100%;
}
#model .swiper-slide .main_copy {
  color: #1E6E78;
  font-size: min(2.121vw, 28px);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  border-bottom: solid #C8DCDC 3px;
  padding-bottom: min(1.667vw, 22px);
  margin-bottom: min(2.121vw, 28px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .main_copy {
    font-size: 5.128vw;
    padding-bottom: 4.615vw;
    margin-bottom: 5.128vw;
  }
}
#model .swiper-slide .model_data {
  display: grid;
  grid-template-columns: min(21.212vw, 280px) 1fr;
  -webkit-column-gap: min(2.424vw, 32px);
     -moz-column-gap: min(2.424vw, 32px);
          column-gap: min(2.424vw, 32px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .model_data {
    grid-template-columns: 1fr;
  }
}
#model .swiper-slide .model_data .model_name {
  display: grid;
  grid-template-columns: 1fr min(9.848vw, 130px);
  grid-template-rows: auto 1fr;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: min(0.379vw, 5px);
     -moz-column-gap: min(0.379vw, 5px);
          column-gap: min(0.379vw, 5px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .model_data .model_name {
    grid-template-columns: 1fr 33.333vw;
    margin-top: 5.128vw;
  }
}
#model .swiper-slide .model_data .model_name .sector {
  grid-area: 1/1/2/2;
  font-size: min(1.212vw, 16px);
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: min(0.758vw, 10px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .model_data .model_name .sector {
    font-size: 3.59vw;
    padding-top: 1.282vw;
    margin-bottom: 2.564vw;
    padding-right: 2.564vw;
  }
}
#model .swiper-slide .model_data .model_name .tag_area {
  display: grid;
  grid-template-columns: 1fr;
  grid-area: 1/2/3/3;
  row-gap: min(0.379vw, 5px);
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .model_data .model_name .tag_area {
    grid-area: 1/2/2/3;
  }
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .model_data .model_name .tag_area .tag_blank {
    display: none;
  }
}
#model .swiper-slide .model_data .model_name .company {
  grid-area: 2/1/3/2;
  font-size: min(1.818vw, 24px);
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: min(1.591vw, 21px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .model_data .model_name .company {
    grid-area: 2/1/3/3;
    font-size: 4.872vw;
    margin-bottom: 5.385vw;
  }
}
#model .swiper-slide .model_data .model_name .company .title {
  font-size: min(1.364vw, 18px);
  margin-left: min(0.152vw, 2px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .model_data .model_name .company .title {
    font-size: 3.59vw;
    margin-left: 0.513vw;
  }
}
#model .swiper-slide .model_data dl dt {
  font-size: min(1.212vw, 16px);
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: min(0.606vw, 8px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .model_data dl dt {
    font-size: 3.59vw;
    margin-bottom: 2.308vw;
  }
}
#model .swiper-slide .model_data dl dd {
  font-size: min(1.212vw, 16px);
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .model_data dl dd {
    font-size: 4.103vw;
  }
}
@media print, screen and (min-width: 768px) {
  #model .swiper-slide .more_content {
    display: block !important;
  }
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .more_content {
    display: none;
    margin-top: -7.692vw;
    position: relative;
  }
  #model .swiper-slide .more_content.opened {
    z-index: 2;
  }
}
#model .swiper-slide .more_btn_area {
  text-align: right;
}
#model .swiper-slide .more_btn_area .more_btn {
  display: none;
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .more_btn_area .more_btn {
    display: inline-block;
    color: #1E6E78;
    font-size: 4.103vw;
    font-weight: 500;
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: 0;
    margin-top: 2.564vw;
    padding-right: 6.667vw;
  }
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .more_btn_area .more_btn::after {
    background: url(../img/common/acc_plus.svg) 0 0/100% auto no-repeat;
    content: "";
    display: block;
    position: absolute;
    right: min(3.7vw, 37px);
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 4.103vw;
    height: 4.103vw;
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
}
#model .swiper-slide .more_btn_area .more_btn.btn_close::after {
  background-image: url(../img/common/acc_minus.svg);
}
#model .swiper-slide .heading {
  background-color: #fff;
  font-size: min(1.364vw, 18px);
  font-weight: 500;
  color: #1E6E78;
  line-height: 1;
  padding-top: min(2.424vw, 32px);
  margin-bottom: min(1.364vw, 18px);
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .heading {
    font-size: 3.59vw;
    padding-top: 7.179vw;
    margin-bottom: 3.077vw;
  }
}
#model .swiper-slide .normal_txt {
  font-size: min(1.212vw, 16px);
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .normal_txt {
    font-size: 4.103vw;
    line-height: 1.4;
  }
}
#model .swiper-slide .case_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: min(1.212vw, 16px);
     -moz-column-gap: min(1.212vw, 16px);
          column-gap: min(1.212vw, 16px);
  row-gap: min(1.212vw, 16px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .case_list {
    grid-template-columns: 1fr;
    -webkit-column-gap: 3.077vw;
       -moz-column-gap: 3.077vw;
            column-gap: 3.077vw;
    row-gap: 3.077vw;
    margin-top: 3.59vw;
  }
}
#model .swiper-slide .case_list li {
  background-color: #EFF5F5;
  border-radius: 10px;
  padding: min(1.061vw, 14px) min(2.424vw, 32px) min(1.364vw, 18px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .case_list li {
    padding: 3.077vw 4.615vw 5.128vw 5.128vw;
  }
}
#model .swiper-slide .case_list li p {
  font-size: min(1.288vw, 17px);
  font-weight: 500;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .case_list li p {
    font-size: 3.59vw;
  }
}
#model .swiper-slide .case_list li .case_head {
  display: block;
  color: #1E6E78;
  font-family: "Outfit", serif;
  font-size: min(1.364vw, 18px);
  line-height: 1;
  margin-bottom: min(0.606vw, 8px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .case_list li .case_head {
    font-size: 4.103vw;
    margin-bottom: 2.051vw;
  }
}
#model .swiper-slide .case_list li .case_head::before {
  background: url(../img/common/mark_ttl.svg) 0 0/100% auto no-repeat;
  content: "";
  display: inline-block;
  width: min(0.682vw, 9px);
  height: min(0.682vw, 9px);
  margin-right: min(0.455vw, 6px);
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .case_list li .case_head::before {
    width: 2.051vw;
    height: 2.051vw;
    margin-right: 1.538vw;
  }
}
#model .swiper-slide .case_list li .case_head .num {
  font-size: min(1.818vw, 24px);
  line-height: 1;
  margin-left: 0.2em;
}
@media only screen and (max-width: 767px) {
  #model .swiper-slide .case_list li .case_head .num {
    font-size: 5.641vw;
  }
}

/* ================================================
monitoring movie
================================================ */
.kv_wrap {
  position: relative;
}

.mov_pos {
  position: absolute;
  top: min(9.242vw, 122px);
  left: calc(50% + min(9.545vw, 126px));
  width: min(40.606vw, 536px);
  height: min(32.576vw, 430px);
}
@media screen and (max-width: 1440px) {
  .mov_pos {
    top: 8.472vw;
    left: calc(50% + 9.097vw);
    width: 38.819vw;
    height: 31.389vw;
  }
}
@media only screen and (max-width: 767px) {
  .mov_pos {
    top: 79.487vw;
    left: 8.974vw;
    width: 82.051vw;
    height: 51.282vw;
  }
}

.mov_wrapper {
  position: relative;
}

#ytPlayerWrap {
  position: relative;
  width: 100%;
  height: min(32.576vw, 430px);
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1440px) {
  #ytPlayerWrap {
    height: 31.389vw;
  }
}
@media only screen and (max-width: 767px) {
  #ytPlayerWrap {
    width: 82.051vw;
    height: 51.282vw;
  }
}
#ytPlayerWrap iframe {
  height: 100% !important;
  margin-top: 0 !important;
}
#ytPlayerWrap.loading .yt-fade-block {
  opacity: 1;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#ytPlayerWrap .yt-fade-block {
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: white;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(90%, #fafafa), to(transparent));
  background: -webkit-linear-gradient(top, #fafafa 90%, transparent 100%);
  background: linear-gradient(to bottom, #fafafa 90%, transparent 100%);
  z-index: 5;
  pointer-events: none;
}
@media screen and (max-width: 1440px) {
  #ytPlayerWrap .yt-fade-block {
    height: 9.722vw;
  }
}
@media only screen and (max-width: 767px) {
  #ytPlayerWrap .yt-fade-block {
    height: 10.256vw;
  }
}

.video_pos {
  position: absolute;
  top: min(9.242vw, 122px);
  left: calc(50% + min(9.545vw, 126px));
  width: min(40.606vw, 536px);
  height: min(32.576vw, 430px);
  background-color: #BEBEBE;
}
@media screen and (max-width: 1440px) {
  .video_pos {
    top: 8.472vw;
    left: calc(50% + 9.097vw);
    width: 38.819vw;
    height: 31.389vw;
  }
}
@media only screen and (max-width: 767px) {
  .video_pos {
    top: 79.487vw;
    left: 8.974vw;
    width: 82.051vw;
    height: 51.282vw;
  }
}
.video_pos video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ================================================
func add
================================================ */
.pop_btn_area {
  text-align: right;
}
.pop_btn_area .pop_btn {
  color: #1E6E78;
  font-size: min(1.212vw, 16px);
  font-weight: 500;
  position: relative;
  padding-right: min(1.97vw, 26px);
  margin-top: min(2.273vw, 30px);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  cursor: pointer;
  outline: none;
}
.pop_btn_area .pop_btn:focus-visible {
  outline: auto;
}
@media only screen and (max-width: 767px) {
  .pop_btn_area .pop_btn {
    display: inline-block;
    font-size: 4.103vw;
    margin-left: auto;
    margin-right: 2.564vw;
    margin-top: 3.59vw;
    padding-right: 6.667vw;
  }
  .pop_btn_area .pop_btn:focus {
    outline: none;
  }
}
.pop_btn_area .pop_btn::after {
  background: url(../img/common/acc_plus.svg) 0 0/100% auto no-repeat;
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: min(1.212vw, 16px);
  height: min(1.212vw, 16px);
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
@media only screen and (max-width: 767px) {
  .pop_btn_area .pop_btn::after {
    right: min(3.7vw, 37px);
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 4.103vw;
    height: 4.103vw;
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
}
@media print, screen and (min-width: 768px) {
  .pop_btn_area .pop_btn:hover {
    -webkit-filter: brightness(130%);
            filter: brightness(130%);
  }
}

.modal_screen .cap_title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
}
.modal_screen .cap_title::before {
  content: "";
  display: inline-block;
  background-color: #fff;
  width: min(4.091vw, 54px);
  height: min(3.409vw, 45px);
  margin-right: min(1.591vw, 21px);
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
@media only screen and (max-width: 767px) {
  .modal_screen .cap_title::before {
    width: 8.718vw;
    height: 7.692vw;
    margin-right: 3.846vw;
  }
}

/* -- several icon -- */
#cont-screen-manage .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_manage.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_manage.svg) no-repeat center/contain;
}

#cont-screen-product .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_product.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_product.svg) no-repeat center/contain;
}

#cont-screen-rental .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_rental.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_rental.svg) no-repeat center/contain;
}

#cont-screen-news .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_news.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_news.svg) no-repeat center/contain;
}

#cont-screen-non-conforming .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_non-conforming.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_non-conforming.svg) no-repeat center/contain;
}

#cont-screen-document .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_document.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_document.svg) no-repeat center/contain;
}

#cont-screen-supplier .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_supplier.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_supplier.svg) no-repeat center/contain;
}

#cont-screen-inventory .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_inventory.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_inventory.svg) no-repeat center/contain;
}

#cont-screen-proofread .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_proofread.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_proofread.svg) no-repeat center/contain;
}

#cont-screen-paperless .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_paperless.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_paperless.svg) no-repeat center/contain;
}

#cont-screen-proofread-order .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_proofread-order.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_proofread-order.svg) no-repeat center/contain;
}

#cont-screen-proofread-info .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_proofread-info.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_proofread-info.svg) no-repeat center/contain;
}

#cont-screen-reserve .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_reserve.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_reserve.svg) no-repeat center/contain;
}

#cont-screen-skillup .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_skillup.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_skillup.svg) no-repeat center/contain;
}

#cont-screen-analysis .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_analysis.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_analysis.svg) no-repeat center/contain;
}

#cont-screen-alert .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_alert.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_alert.svg) no-repeat center/contain;
}

#cont-screen-rental-support .cap_title::before {
  -webkit-mask: url(../img/common/feature/icon_rental-support.svg) no-repeat center/contain;
          mask: url(../img/common/feature/icon_rental-support.svg) no-repeat center/contain;
}