@charset "utf-8";
.sp {
  display: none;
}

.pc {
  display: block;
}

#rContent {
  padding: 0;
}

#rContainer {
  text-align: left;
  max-width: none;
}

/*========== FV ==========*/
.fv {
  width: min(80%, 1540px);
  margin: 110px auto;
  position: relative;
  z-index: 1;
}

.img_fv img {
  width: 100%;
}

.wrap_txt_fv {
  color: #fff;
  font-weight: 500;
  position: absolute;
  top: 50%;
  left: min(calc(65 / 1920 * 100vw), 65px);
  transform: translateY(-50%);
}

.lead_txt_fv {
  font-size: min(calc(24 / 1920 * 100vw), 24px);
  letter-spacing: 0.1em;
  margin-bottom: min(calc(40 / 1920 * 100vw), 40px);
}

.ttl_fv {
  display: flex;
  gap: min(calc(32 / 1920 * 100vw), 32px);
  letter-spacing: 0.1em;
}

.ttl_fv span:first-child {
  font-size: min(calc(48 / 1920 * 100vw), 48px);
  position: relative;
}

.ttl_fv span:first-child::after {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  right: max(calc(-16 / 1920 * 100vw), -16px);
}

.ttl_fv span:nth-child(2) {
  font-size: min(calc(57 / 1920 * 100vw), 57px);
  font-weight: 400;
  line-height: calc(64 / 57);
}

/*========== 主な特長 ==========*/
.contents {
  margin-bottom: 64px;
}

.contents:last-child {
  margin-bottom: 0;
}

.ttl_h3 {
  font-size: 36px;
  font-weight: 400;
  line-height: calc(64.8 / 36);
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}

.txt {
  font-size: 16px;
  font-weight: 300;
  line-height: 2;
}

.flex_box {
  display: flex;
  justify-content: center;
  gap: 30px;
}

.bg_white {
  background: #fff;
  padding: 24px 20px;
  box-sizing: border-box;
  border-radius: 10px;
}

.ul_unit {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 22px;
}

.ul_unit li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ul_unit li img {
  height: 105px;
}

.ul_unit li span {
  display: block;
  text-align: center;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 300;
}

/* 製品の特長 */
.ttl_h4 {
  font-size: 18px;
  line-height: 2;
  font-weight: 400;
  margin-bottom: 8px;
}

.ul_img {
  display: flex;
  gap: 8px;
}

/*========== 参考仕様 ==========*/
.specification .ttl_h3 span {
  position: relative;
}

.specification .ttl_h3 sup {
  font-size: 16px;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(100%, 80%);
}

.ttl_h4_2 {
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: calc(50.4 / 28);
  margin-bottom: 24px;
}

.img_specification {
  width: min(100%, 600px);
  margin: 0 auto 24px;
}

/* テーブル */
.table_specification {
  width: 100%;
  box-sizing: border-box;
  border-collapse: collapse;
  border: 1px solid #8c8c8c;
}

.table_specification th,
.table_specification td {
  border-collapse: collapse;
  border: 1px solid #8c8c8c;
  padding: 8px 20px;
  font-size: 16px;
  font-weight: 300;
  vertical-align: text-top;
}

.specification2 .table_specification th,
.specification2 .table_specification td {
  width: 50%;
}

.table_specification th {
  background: rgba(40, 40, 40, 0.1);
}

.col1 {
  width: 17.865169%;
}

.col2 {
  width: 33.258427%;
}

.col3 {
  width: 48.876404%;
}

.table_note {
  font-size: 10px;
  vertical-align: top;
}

.ul_table {
  margin-top: 8px;
}

.ul_table li {
  margin-bottom: 8px;
  font-size: 14px;
}

.ul_table li:last-child {
  margin-bottom: 0;
}

/*========== オプション ==========*/
.wrap_option_table {
  margin-top: 24px;
}

.wrap_option_table table {
  width: 100%;
  box-sizing: border-box;
  border-collapse: collapse;
  border: 1px solid #8c8c8c;
  table-layout: fixed;
}

.wrap_option_table table td {
  padding: 8px 20px;
  border: 1px solid #8c8c8c;
  font-size: 16px;
  font-weight: 300;
}

/* システム関係 */
.ul_sistem {
  gap: 12px;
}
.ul_sistem li:nth-child(1) {
  width: min(calc(100% / 2 - 12px / 2), 178px);
}
.ul_sistem li:nth-child(2) {
  width: min(calc(100% / 2 - 12px / 2), 178px);
}
.ul_sistem li:nth-child(3) {
  width: min(calc(100% / 2 - 12px / 2), 178px);
}
.ul_sistem li:nth-child(4) {
  width: min(calc(100% / 2 - 12px / 2), 178px);
}

/* ソリューション機器 */
.wrap_solution_contents {
  margin-top: 24px;
}

.ul_solution {
  gap: 32px 80px;
}
.ul_solution li:nth-child(1) {
  width: 253px;
}
.ul_solution li:nth-child(2) {
  width: 149px;
}
.ul_solution li:nth-child(3) {
  width: 113px;
}
.ul_solution li:nth-child(4) {
  width: 253px;
}
.ul_solution li:nth-child(5) {
  width: 253px;
}

/*========== 導入事例 ==========*/
.txt_case {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.txt_case p {
  margin-bottom: 16px;
}

.txt_case p:last-child {
  margin-bottom: 0;
}

.txt_case a.primary_btn span {
  font-size: 20px;
}

/*========== 250924追加 ==========*/
.system_ttl {
  font-size: 36px;
  font-weight: 400;
  line-height: calc(64.8 / 36);
  letter-spacing: 0.1em;
  margin: 40px 0;
  text-align: center;
}

.system_flex {
	display: flex;
  margin-top: 16px;
}

.system_flex .item {
	width: 50%;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.system_flex .item .text {
	font-size: 22px;
	text-align: center;
	font-weight: 400;
	line-height: 1.44;
}

/* ========================================
	SP
======================================== */
body.responsive-sp .sp {
  display: block;
}

body.responsive-sp .pc {
  display: none;
}

body.responsive-sp #rContent {
  padding: 0;
}

/*========== FV ==========*/
body.responsive-sp .fv {
  width: 100%;
  margin: 0;
  padding: 56px 0;
}

body.responsive-sp .wrap_txt_fv {
  position: static;
  transform: translateY(0);
  padding: 0 20px;
  margin-bottom: 24px;
}

body.responsive-sp .lead_txt_fv {
  font-size: 15px;
  margin-bottom: 32px;
}

body.responsive-sp .ttl_fv {
  gap: 16px;
}

body.responsive-sp .ttl_fv span:first-child {
  font-size: 21px;
}

body.responsive-sp .ttl_fv span:first-child::after {
  right: -8px;
}

body.responsive-sp .ttl_fv span:nth-child(2) {
  font-size: 25px;
  line-height: calc(28.8 / 25);
}

/*========== 主な特長 ==========*/
body.responsive-sp .grad_ttl {
  margin: 0 0 40px;
  background: linear-gradient(to right, #1747c4 0%, #1967cc 50%, #1c86d3 100%);
  padding: 0;
  letter-spacing: 0.15em;
}

body.responsive-sp .grad_ttl::after {
  content: none;
}

body.responsive-sp .grad_ttl span {
  width: 100%;
  text-align: center;
}

body.responsive-sp .contents {
  margin-bottom: 48px;
}

body.responsive-sp .contents:last-child {
  margin-bottom: 0;
}

body.responsive-sp .ttl_h3 {
  font-size: 16px;
  line-height: calc(28.8 / 16);
  letter-spacing: 0;
  margin-bottom: 16px;
}

body.responsive-sp .txt {
  font-size: 14px;
}

body.responsive-sp .flex_box {
  display: block;
}

body.responsive-sp .left_contents,
body.responsive-sp .right_contents {
  width: 100%;
}

body.responsive-sp .feature .txt,
body.responsive-sp .feature2 .txt {
  margin-bottom: 16px;
}

body.responsive-sp .feature .bg_white {
  padding: 12px;
}

body.responsive-sp .ul_unit {
  gap: 19px 17px;
}

body.responsive-sp .ul_unit li {
  align-items: center;
}

body.responsive-sp .ul_unit li:nth-child(1) {
  width: 77px;
}

body.responsive-sp .ul_unit li:nth-child(2) {
  width: 98px;
}

body.responsive-sp .ul_unit li:nth-child(2) img {
  width: 76px;
}

body.responsive-sp .ul_unit li:nth-child(3) {
  width: 80px;
}

body.responsive-sp .ul_unit li:nth-child(4) {
  width: 73px;
}

body.responsive-sp .ul_unit li:nth-child(5) {
  width: 74px;
}

body.responsive-sp .ul_unit li:nth-child(6) {
  width: 74px;
}

body.responsive-sp .ul_unit li img {
  height: auto;
}

body.responsive-sp .ul_unit li span {
  margin-top: 12px;
  font-size: 10px;
}

/* 製品の特長 */
body.responsive-sp .ttl_h4 {
  font-size: 18px;
  line-height: 2;
  font-weight: 400;
  margin-bottom: 8px;
}

body.responsive-sp .ul_img {
  display: flex;
  gap: 8px;
}

/*========== 参考仕様 ==========*/
body.responsive-sp .ttl_h4_2 {
  font-size: 15px;
  line-height: calc(27 / 15);
  margin-bottom: 8px;
}

body.responsive-sp .img_specification {
  margin: 0 auto 8px;
}

body.responsive-sp .specification .ttl_h3 sup {
  transform: translate(100%, 0);
}

/* テーブル */
body.responsive-sp .table_specification {
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
}

body.responsive-sp .table_specification th,
body.responsive-sp .table_specification td {
  padding: 8px 10px;
  font-size: 14px;
}

body.responsive-sp .table_specification td {
  vertical-align: middle;
}

body.responsive-sp .col1 {
  width: 19.81982%;
}

body.responsive-sp .col2 {
  width: 31.531532%;
}

body.responsive-sp .col3 {
  width: 48.648648%;
}

body.responsive-sp .ul_table li {
  font-size: 12px;
}

/*========== オプション ==========*/
body.responsive-sp .wrap_option_table {
  margin-top: 8px;
}

body.responsive-sp .wrap_option_table table td {
  padding: 8px 10px;
  font-size: 14px;
}

/* システム関係 */
body.responsive-sp .wrap_system_contents {
  margin-top: 8px;
}
body.responsive-sp .ul_sistem li:nth-child(1) {
  width: min(calc(100% / 2 - 12px / 2), 138px);
}
body.responsive-sp .ul_sistem li:nth-child(2) {
  width: min(calc(100% / 2 - 12px / 2), 138px);
}
body.responsive-sp .ul_sistem li:nth-child(3) {
  width: min(calc(100% / 2 - 12px / 2), 138px);
}
body.responsive-sp .ul_sistem li:nth-child(4) {
  width: min(calc(100% / 2 - 12px / 2), 138px);
}

/* ソリューション機器 */
body.responsive-sp .wrap_solution_contents {
  margin-top: 8px;
}

body.responsive-sp .ul_solution {
  gap: calc(32 / 393 * 100vw) calc(16 / 393 * 100vw);
}
body.responsive-sp .ul_solution li:nth-child(1) {
  width: calc(167 / 393 * 100vw);
}
body.responsive-sp .ul_solution li:nth-child(2) {
  width: calc(98 / 393 * 100vw);
}
body.responsive-sp .ul_solution li:nth-child(3) {
  width: calc(74 / 393 * 100vw);
}
body.responsive-sp .ul_solution li:nth-child(4) {
  width: calc(167 / 393 * 100vw);
}
body.responsive-sp .ul_solution li:nth-child(5) {
  width: calc(167 / 393 * 100vw);
}

/*========== 導入事例 ==========*/
body.responsive-sp .case .right_contents {
  margin: 16px 0 24px;
}

body.responsive-sp #cont03 + .wrap_contents .case .right_contents {
  margin-bottom: 0;
}

body.responsive-sp .wrap_btn {
  margin-top: 24px;
}

body.responsive-sp a.primary_btn {
  margin: 0 auto;
}

body.responsive-sp .wrap_btn .sp:not(:first-child) {
  margin-top: 16px;
}

/*========== 250924追加 ==========*/
body.responsive-sp .system_ttl {
  font-size: 16px;
  line-height: calc(28.8 / 16);
  letter-spacing: 0;
  margin-bottom: 16px;
}

body.responsive-sp .system_flex .item .text {
	font-size: 12px;
}