@charset "UTF-8";
/* general */
#page_body {
  position: relative;
  overflow: hidden;
  width: 100%;
  font-size: 16px;

/* CTA不具合対応用 */
  transform: none !important;

  /* /CTA不具合対応用 */
}

#page_body p {
  line-height: 1.7;
}

table {
  border-collapse: collapse;
}

.pc_view a,
.pc_view {
  display: block;
}
.sp_view a,
.sp_view {
  display: none;
}

.clearfix:after {
  display: table;
  clear: both;
  content: "";
}

.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-3 {
  order: 3;
}
.order-4 {
  order: 4;
}
.order-5 {
  order: 5;
}

.wrap {
  margin: 0 auto;
  width: 980px;
}

/* header */
#header {
  width: 100%;
}
#header > .inner {
  margin: 0 auto;
  width: 980px;
}
#header > .inner:after {
  display: block;
  clear: both;
  height: 0;
  content: "";
}
#header .site_title {
  float: left;
}
#header .site_title img {
  max-width: 100%;
  height: auto;
}
#header ul {
  float: right;
  width: 401px;
}
#header ul li {
  display: table;
  float: left;
  width: 198px;
  height: 38px;
  line-height: 1.6;
}
#header ul li a {
  display: table-cell;
  padding: 0 0 0 0;
  color: #fff;
  vertical-align: middle;
  font-weight: bold;
  font-size: 14px;
}
#header ul li a > span {
  display: none;
  font-weight: bold;
}
#header ul li a:before {
  display: inline-block;
  content: "";
  vertical-align: middle;
}
#header .btn_download {
  margin-right: 5px;
  border-radius: 0 0 5px 5px;
  background-color: #e60012;
}
#header .btn_download a {
  text-align: center;
}
#header .btn_download a:before {
  margin: 0 10px 0 0;
  width: 20px;
  height: 26px;
  background: url(/img/ss/common/bg_icon_dl_001.png) no-repeat center;
  background-size: contain;
}
#header .btn_contact {
  border-radius: 0 0 5px 5px;
  background-color: #41a147;
}
#header .btn_contact a {
  text-align: center;
}
#header .btn_contact a:before {
  margin: -4px 8px 0 0;
  width: 25px;
  height: 25px;
  background: url(/img/ss/common/bg_icon_contact_001.png) no-repeat center;
  background-size: contain;
}
#header .btn_tel {
  display: none;
  background-color: #00284a;
}
#header .btn_tel a:before {
  background: url(/img/ss/common/bg_icon_tel_001.png) no-repeat center;
  background-size: contain;
}
#header .logo {
  float: right;
  margin-left: 10px;
  width: 93px;
}
#header .logo a {
  display: inline-block;
  padding: 10px 0 0;
}
#header .logo img {
  max-width: 100%;
  height: auto;
}

/* headeer navi */
.header_nav {
  position: relative;
  height: 51px;
}

.header_nav .fixed_wrapper {
  position: relative;
  width: 100%;
  background: url(/img/ss/products/vision/visionbasics/bg_style_001.jpg) repeat-x;
  background-size: contain;
}

.header_nav.fixed .fixed_wrapper {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}

.header_nav ul > li {
  position: relative;
  display: block;
  float: left;
  padding: 14px 17px 14px 10px;
  width: 20%;
  border-right: 1px solid #2f3d47;
  text-align: center;
  cursor: pointer;
}
.header_nav ul > li:first-child {
  border-left: 1px solid #2f3d47;
}
.header_nav li:after {
  position: absolute;
  right: 7px;
  bottom: 50%;
  display: inline-block;
  width: 8px;
  height: 5px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_002.png) no-repeat;
  content: "";
}
.header_nav ul > li,
.header_nav ul > li a {
  color: #fff;
  font-weight: bold;
  font-size: 100%;
}

.header_nav ul li > .btn_ttl {
  color: #fff;
  font-weight: bold;
  font-size: 15px;
}

.header_nav ul > li.on,
.header_nav ul > li.current,
.header_nav ul > li:hover {
  background-color: #4a687d;
}

.header_nav ul > li > div.full {
  position: absolute;
  top: 100%;
  left: -40%;
  z-index: 1;
  display: none;
  padding: 0 15px;
  min-width: 1160px;
  background-color: #3c5567;
  text-align: left;
  opacity: 0.97;
}
.header_nav ul > li > div {
  position: absolute;
  top: 100%;
  left: 0%;
  z-index: 1;
  display: none;
  padding: 0 15px;
  min-width: 300px;
  background-color: #3c5567;
  text-align: left;
  opacity: 0.97;
}
.header_nav ul > li > div.full dl {
  float: left;
  padding: 20px 5px;
  width: 20%;
}
.header_nav ul > li > div dl {
  float: left;
  padding: 20px 5px;
  width: 100%;
}
.header_nav ul > li > div dd {
  position: relative;
  margin-bottom: 10px;
  padding-left: 10px;
}
.header_nav ul > li > div dd:before {
  position: absolute;
  top: 5px;
  left: 0;
  display: inline-block;
  width: 5px;
  height: 10px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_012.png) no-repeat;
  content: "";
}
.header_nav ul > li > div dt {
  margin-bottom: 10px;
  color: #fff;
  font-size: 106%;
  cursor: default;
}
.header_nav ul > li > div a {
  font-weight: normal;
}
.header_nav ul > li > div a:hover {
  color: #b2cbdd;
  text-decoration: underline;
  opacity: 1;
}
.header_nav ul > li.on > div {
  display: block;
}

/* prt_anchor_list_01 */
.prt_anchor_list_01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 40px 0 30px;
  padding: 4px 4px 18px;
  background: rgba(83, 83, 83, 0.05);
  font-size: 0;
}
.prt_anchor_list_01.style_col {
  flex-direction: column;
}

.prt_anchor_list_01>li {
  position: relative;
  margin: 12px 14px 0;
  padding-left: 18px;
  font-size: 15px;
  line-height: 1.33333;
}

.prt_anchor_list_01>li:before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 12px;
  height: 12px;
  background: #2c7fab;
  content: "";
  font-size: 0;
}

.prt_anchor_list_01>li:after {
  position: absolute;
  top: 12px;
  left: 6px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  content: "";
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

.prt_anchor_list_01>li a {
  text-decoration: none;
}

.prt_anchor_list_01>li a:hover {
  text-decoration: underline;
}

.prt_anchor_list_01>li>a {
  font-weight: bold;
}

.prt_anchor_list_01>li ul {
  margin-left: -26px;
  font-size: 0;
}

.prt_anchor_list_01>li ul li {
  position: relative;
  display: inline-block;
  margin: 6px 8px 0;
  padding-left: 14px;
  font-size: 15px;
}

.prt_anchor_list_01>li ul li:before {
  position: absolute;
  top: 14px;
  left: 5px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #2c7fab;
  border-left: 2px solid #2c7fab;
  content: "";
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

.prt_anchor_list_01>li.is_line{
  width: 100%;
}

/* banner */
.banner {
  min-height: 400px;
  width: 100%;
  background: url(/img/ss/products/vision/visionbasics/bg_style_003.jpg) no-repeat center top #fff;
}
.mainvs {
  position: relative;
  margin: 0 auto;
  width: 980px;
}
.banner h1 {
  width: 100%;
}
.banner p {
  position: absolute;
  top: 220px;
  left: 40px;
}

/* btn download */
.btn_download span.txt {
  display: inline-block;
  padding: 14px 0 0 0;
  color: #fff;
  vertical-align: top;
  font-weight: bold;
  font-size: 110%;
  line-height: 1.4;
}

.btn_download span img {
  width: auto;
  height: 48px;
}

.btn_download .icon,
.btn_download .icon_2 {
  position: absolute;
  top: 50%;
  right: 10px;
  border: 1px solid #ccc;
  transform: translate(0, -50%);
}

.btn_download .icon {
  width: 46px;
}
.btn_download .icon_2 {
  width: 65px;
}

.btn_download a > span img {
  width: 100%;
  height: auto;
}
.button_02 {
  padding: 30px 10%;
}
.button_02:after {
  display: block;
  clear: both;
  height: 0;
  content: "";
}
.button_02 .ss_download_btn.type01 {
  margin: 0 auto;
  max-width: 340px;
  height: 59px;
}
.button_02 .product {
  float: left;
  width: 48%;
}
.button_02 .product .product_btn {
  position: relative;
  display: table;
  max-width: 340px;
  width: 100%;
  height: 59px;
  border-radius: 5px;
  background: #3e944c;
  background: linear-gradient(#3e944c, #176a25);
  text-align: center;
}
.button_02 .product_btn .img01 {
  position: absolute;
  top: 50%;
  right: 12px;
  display: inline-block;
  transform: translateY(-50%);
}
.button_02 .product_btn .txt01 {
  padding-right: 5px;
}
.button_02 .product_btn.icon01 > span:first-child {
  background: url(/img/ss/products/vision/visionbasics/bg_icon_dl_001.png) no-repeat left center;
}
.button_02 .product_btn.type01 {
  margin: 0 auto;
  padding-right: 12px;
  padding-left: 12px;
}
.button_02 .product .product_btn span {
  display: table-cell;
  padding-top: 5px;
  color: #fff;
  vertical-align: middle;
  font-weight: bold;
  line-height: 1.2;
}
.button_02 .download {
  float: right;
  width: 48%;
}
.button_02 a:hover {
  text-decoration: none;
}
.prt_download_box1 .button_02 .product a {
  float: none;
}

/* prt_btn_02 */
.prt_btn_02,
.prt_btn_02 a {
  position: relative;
  display: inline-block;
}

.prt_btn_02 a img {
  width: 312px;
}

.prt_btn_02 .txt {
  position: absolute;
  top: 52%;
  left: 40px;
  color: #fff;
  font-weight: bold;
  font-size: 110%;
  line-height: 1.3;
  transform: translate(0, -50%);
}
.prt_btn_02 .txt.style_01 {
  left: 50px;
}

.prt_btn_02 .txt > span {
  font-size: 80%;
}

.prt_btn_02 .icon {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 16%;
  border: 1px solid #ccc;
  transform: translate(0, -50%);
}

.prt_btn_02 .icon.landscape {
  width: 20%;
}

.prt_btn_02 span img,
.prt_btn_01 a span img {
  width: 100%;
  height: auto;
}

/* main */
.main {
  padding: 60px 0 0 0;
  background-color: #e7f4fa;
}
.main h2 {
  padding: 25px 20px;
  background: #2c7fab url(/img/ss/products/vision/visionbasics/bg_style_004.gif) no-repeat right center;
  color: #fff;
  text-align: left;
  font-size: 178%;
  line-height: 1.25;
}
.main .top_lead {
  margin-bottom: 20px;
  padding: 10px 30px;
  border-left: 10px solid #2c7fab;
  background: none;
  color: #2c7fab;
}
.main .section {
  margin-bottom: 40px;
}
.main .section_cont,
.main .section_example {
  position: relative;
  padding: 30px 15px 15px 15px;
  border: 1px solid #cee6ef;
  border-top: none;
  background-color: #fff;
}

.main .section_4side_img {
  position: relative;
}
.main .section_4side {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px dotted #a6d0de;
}
.main .section_4side li {
  float: left;
  padding: 0 15px;
  width: 25%;
}
.main .section_4side li:not(:last-child) {
  border-right: 1px dotted #a6d0de;
}
.main .section_full_sub .title,
.main .section_4side dt {
  margin-bottom: 15px;
  font-size: 106%;
}
.main .section_4side dt span {
  display: inline-block;
}
.main .section_3side_img p,
.main .section_4side_img dd,
.main .section_full li,
.main .section_full_sub li,
.main .section_4side dd {
  position: relative;
  margin-bottom: 15px;
  padding-left: 20px;
}

.main .section_3side_img p:before,
.main .section_4side_img dd:before,
.main .section_full li:before,
.main .section_full_sub li:before,
.main .section_4side dd:before {
  position: absolute;
  top: 3px;
  left: 0;
  display: inline-block;
  width: 15px;
  height: 15px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_005.jpg) no-repeat;
  content: "";
}
.main .section_full,
.main .section_full_sub {
  margin-bottom: 0;
  padding: 0 15px 0 15px;
  width: 100%;
  border: none;
}
.main .section_full_sub .title {
  float: none;
  padding-left: 0;
  width: 100%;
  line-height: 1.4;
}
.main .section_full_sub li.title:before {
  background: none;
}
.main .section_full_sub li {
  position: relative;
  float: left;
  padding-right: 15px;
  width: 20%;
}
.main .section_full li {
  position: relative;
  float: left;
  padding-right: 15px;
  width: 25%;
}
.main .section_left {
  float: left;
  width: 48%;
}
.main .section_right {
  float: right;
  width: 48%;
}
.main .section_right li,
.main .section_left li {
  float: none;
  width: 100%;
}
.main .section_3side_img li {
  float: left;
  margin: 0 15px 15px 15px;
  width: 30.1%;
  border: 1px solid #cee6ef;
  background: #e7f4fa;
}
.main .section_4side_img li {
  float: left;
  margin: 0 15px 15px 15px;
  width: 21.8%;
  border: 1px solid #cee6ef;
}
.main .section_3side_img li img,
.main .section_4side_img li img {
  width: 100%;
}
.main .section_3side_img div,
.main .section_4side_img dl {
  padding: 15px;
  background: #e7f4fa;
}
.main .section_3side_img h3,
.main .section_4side_img dt {
  margin-bottom: 10px;
  font-size: 142.1%;
}
.main .section_3side_img p,
.main .section_4side_img dd {
  position: relative;
  float: left;
  margin-bottom: 0;
  width: 50%;
}

.main .comming_soon {
  position: relative;
  width: 100%;
}
.main .comming_soon .filter {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  border: none;
  background: url(/img/ss/products/vision/visionbasics/bg_style_006.png) no-repeat;
  background-position: 50% 50%;
}

.main .block .textbox {
  padding-right: 320px;
}

.main .block .col4_block .border_box {
  padding: 24px;
  border: 3px solid #cee6ef;
}

.main .block .col4_block .relbox {
  position: relative;
  padding-bottom: 80px;
}

.main .block .col4_block .relbox .abs_button {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translate(-50%, 0);
}

.product_list {
  display: flex;
  justify-content: space-between;
}
.product_list li {
  width: 48%;
}
.product_list li a {
  display: block;
  background: #2c7fab;
  color: #fff;
  position: relative;
  font-size: 178%;
  line-height: 1.25;
  padding: 25px 20px;
}
.product_list li a::before {
  position: absolute;
  top: 50%;
  right: 30px;
  width: 14px;
  height: 14px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  transform: translate(0, -50%) rotate(-45deg);
}

/* SUB Page Bnr */
.ss_subpage_box {
  margin: 0 auto;
  max-width: 478px;
  width: 100%;
}
.ss_subpage_box .ss_subpage_bnr {
  overflow: hidden;
  width: 100%;
}
.ss_subpage_box .ss_subpage_bnr > a {
  position: relative;
  display: block;
  box-sizing: border-box;
  padding: 10px;
  max-width: 478px;
  border: 1px solid #2c7fab;
  background: #fff;
  color: #333;
  font-size: 14px;
}
.ss_subpage_box .ss_subpage_bnr > a .img {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 104px;
  border: 1px solid #ccc;
}
.ss_subpage_box .ss_subpage_bnr.oblong > a .img {
  width: 144px;
}
.ss_subpage_box .ss_subpage_bnr > a .img img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.ss_subpage_box .ss_subpage_bnr > a .inner {
  position: relative;
  margin-left: 114px;
  padding-bottom: 43px;
  min-height: 148px;
}
.ss_subpage_box .ss_subpage_bnr.oblong > a .inner {
  margin-left: 160px;
}
.ss_subpage_box .ss_subpage_bnr > a .inner .title {
  margin-bottom: 8px;
  padding-bottom: 3px;
  border-bottom: 1px solid #2c7fab;
  color: inherit;
  font-size: inherit;
}
.ss_subpage_box .ss_subpage_bnr > a .inner .title span {
  color: inherit;
  font-weight: bold;
  font-size: 18px;
}
.ss_subpage_box .ss_subpage_bnr > a .inner .txt {
  color: inherit;
  font-size: inherit;
}
.ss_subpage_box .ss_subpage_bnr > a .inner .btn_wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
.ss_subpage_box .ss_subpage_bnr > a .inner .btn_wrap .btn {
  display: inline-block;
  padding: 5px 12px;
  width: 80%;
  border-radius: 5px;
  background: #e24141;
  background: linear-gradient(#e24141, #ca1616);
  color: #fff;
  text-align: center;
  font-weight: bold;
}
.ss_subpage_box .ss_subpage_bnr > a .inner .btn_wrap .btn span {
  display: inline-block;
  width: 100%;
  background: url(/img/ss/common/bg_icon_dl_001.png) no-repeat left center;
}
.ss_subpage_box .ss_subpage_bnr > .ss_subpage_btn {
  color: #333;
  text-decoration: none;
}
.ss_subpage_box .ss_subpage_bnr > .ss_subpage_btn:hover {
  opacity: 0.7;
}

/* ss download btn */
.ss_download_btn {
  position: relative;
  display: table;
  border-radius: 5px;
  background: #e60012;
  background: linear-gradient(#e24140, #cc1717);
  transition: opacity 0.3s;
}
.ss_download_btn.type01,
.ss_download_btn.type02,
.ss_download_btn.type03,
.ss_download_btn.type04,
.ss_download_btn.type05 {
  padding: 6px 0 5px;
  width: 100%;
  text-align: center;
}
.ss_download_btn.type01,
.ss_download_btn.type02 {
  padding-right: 12px;
  padding-left: 12px;
}
.ss_download_btn.type01 {
  max-width: 340px;
  height: 45px;
}
.ss_download_btn.type02 {
  max-width: 380px;
  height: 60px;
}
.ss_download_btn.type03,
.ss_download_btn.type05 {
  padding-right: 8px;
  padding-left: 8px;
  max-width: 160px;
  height: 30px;
}
.ss_download_btn.type04 {
  padding-right: 4px;
  padding-left: 4px;
  max-width: 110px;
  height: 34px;
  color: #fff;
  font-weight: bold;
}
.ss_download_btn.type05 {
  border-radius: 0 0 5px 5px;
}
.ss_download_btn.icon01 > span:first-child {
  background: url(/img/ss/common/bg_icon_dl_001.png) no-repeat left center;
}
.ss_download_btn.icon02 > span:first-child {
  background: url(/img/ss/common/bg_icon_dl_002.png) no-repeat left center;
}
.ss_download_btn .img01,
.ss_download_btn .img02,
.ss_download_btn .img03 {
  position: absolute;
  top: 50%;
  right: 12px;
  display: inline-block;
  transform: translateY(-50%);
}
.ss_download_btn .img01 img,
.ss_download_btn .img02 img,
.ss_download_btn .img03 img {
  border: solid 1px #ccc;
}
.ss_download_btn .txt01,
.ss_download_btn .txt02,
.ss_download_btn .txt03,
.ss_download_btn .txt04,
.ss_download_btn .txt05 {
  display: table-cell;
  color: #fff;
  vertical-align: middle;
  word-break: break-all;
  font-weight: bold;
}
.ss_download_btn .txt01,
.ss_download_btn .txt02,
.ss_download_btn .txt03,
.ss_download_btn .txt04 {
  padding-left: 30px;
  width: calc(100% - 30px);
  font-size: 16px;
  line-height: 1.2;
}
.ss_download_btn .txt01 {
  padding-right: 60px;
}
.ss_download_btn .txt02 {
  padding-right: 79px;
}
.ss_download_btn .txt03 {
  padding-right: 77px;
}
.ss_download_btn .txt04 {
  padding-right: 104px;
}
.ss_download_btn .txt05 {
  padding-left: 20px;
  font-size: 12px;
  line-height: 1;
}
.ss_download_btn .in_txt1,
.ss_download_btn .in_txt2 {
  display: block;
}
.ss_download_btn .in_txt1 {
  font-size: 14px;
}
/* ----------------------- */

/* block */
.block {
  background-color: #fff;
}
.block h2 {
  margin-bottom: 40px;
  padding: 0 120px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_007.jpg) no-repeat center center;
  color: #435a6c;
  text-align: center;
  font-size: 215%;
  line-height: 1.2;
}
.block p {
  margin: 0 25px 25px 25px;
}

.block_inner {
  padding: 50px 0;
  background: url(/img/ss/products/vision/visionbasics/bg_style_008.jpg) no-repeat;
  background-position: 95% 56%;
}
.block .orange {
  color: #ef6411;
  font-weight: bold;
}
.block .button {
  margin: 0 auto;
  width: 100%;
  text-align: center;
}

/* side cv area */
#side_cv {
  position: absolute;
  top: 208px;
  left: 50%;
  display: none;
  margin-left: 520px;
  width: 230px;
}

/* CV Right */

.cv_right a,
.cv_right .banner {
  display: block;
  transition: opacity 0.3s;
}
.cv_right a {
  background: #fff;
  opacity: 1;
}
.cv_right .banner {
  overflow: hidden;
  width: 230px;
  background: #fff;
}
.cv_right a:hover .banner {
  opacity: 0.7;
}
.cv_right .ss_download_btn.bnr {
  padding: 0 5px;
  height: 30px;
  border-radius: 3px;
}
.cv_right .ss_download_btn.bnr .txt05 {
  padding: 2px 0 2px 17px;
  background-size: 10px auto;
}

.cv_right .caption,
.cv_right .desc,
.cv_right .thumb,
.cv_right .button,
.cv_right .exp {
  display: block;
}
.cv_right .banner {
  min-height: auto;
  border: 1px solid #455c6c;
}
.cv_right .thumb {
  float: left;
}
.cv_right .button {
  clear: both;
}
.cv_right .asset_bnr .caption {
  padding: 3px 5px 4px;
  background: #455c6c;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.6;
}
.cv_right .asset_bnr .desc {
  overflow: hidden;
  padding: 10px;
}
.cv_right .asset_bnr .thumb {
  /*width: 48px;*/
}
.cv_right .asset_bnr .thumb img {
  border: 1px solid #ccc;
}
.cv_right .asset_bnr .exp {
  margin-left: 75px;
}
.cv_right .asset_bnr .exp.sideway {
  margin-left: 102px;
}
.cv_right .asset_bnr .ss_download_btn {
  margin: 0 auto 10px;
}
.cv_right .asset_bnr .exp {
  margin-bottom: 5px;
  color: #000;
  font-size: 14px;
  line-height: 1.6;
}
.cv_right .asset_bnr .exp .em {
  font-weight: bold;
}
.cv_right .asset_bnr .ss_download_btn {
  max-width: 205px;
}
.cv_right .series_list li {
  margin: 10px 0 0;
}
.cv_right .series_list .banner {
  padding: 10px 0;
  border-width: 2px;
}
.cv_right .series_list .thumb {
  float: left;
  margin: -10px 0 10px;
  padding: 1px;
  width: 92px;
  height: 92px;
}
.cv_right .series_list .caption {
  float: right;
  margin: 0 0 10px;
  width: 113px;
  color: #333;
  letter-spacing: -1px;
  font-size: 13px;
  line-height: 1.385;
}
.cv_right .series_list .caption strong {
  display: block;
  margin: 3px 0 0;
  color: #cd1919;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.2;
}
.cv_right .series_list .button {
  padding: 0 10px;
}
.cv_right .series_list .ss_download_btn {
  max-width: 184px;
}

/* side cv catalog */
#side_cv .catalog {
  margin-bottom: 10px;
}
#side_cv .catalog_box {
  display: block;
  padding: 10px;
  width: 230px;
  border: 1px solid #e7e7e7;
  background: #fff;
}
.catalog_box .catch {
  display: block;
  margin-bottom: 10px;
  color: #d31c1e;
  font-weight: bold;
  font-size: 16px;
}
.catalog_box .item {
  display: block;
  margin-bottom: 10px;
}
.catalog_box .item:after {
  display: table;
  clear: both;
  content: "";
}
.catalog_box .item img {
  display: block;
  float: left;
  margin-right: 7px;
  width: 46px;
  border: 1px solid #ccc;
}
.catalog_box .item .txt {
  display: block;
  float: left;
  width: 140px;
  color: #333;
  font-weight: bold;
  font-size: 13px;
  line-height: 1.4;
}

.catalog_box .dl_btn {
  display: block;
}

/* side cv banner area  */
.side_banner_area a {
  margin-bottom: 10px;
}

.side_banner_area a:last-child {
  margin-bottom: 0;
}

/* series box */
.series_box {
  display: block;
  padding: 10px;
  width: 230px;
  border: solid 2px #2c7fab;
  background: #fff;
}

.series_box .item {
  display: block;
  margin-bottom: 5px;
}

.series_box .item:after {
  display: table;
  clear: both;
  content: "";
}

.series_box .item .left {
  display: block;
  float: left;
}

.series_box .item .right {
  display: block;
  float: right;
  width: 110px;
}

.series_box .item .txt {
  display: block;
  margin-bottom: 5px;
  color: #333;
  font-weight: bold;
  font-size: 13px;
  line-height: 1.2;
}

.series_box .item .ttl {
  display: block;
  color: #2c7fab;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.2;
}

.catalog_box .ss_download_btn.type03,
.series_box .ss_download_btn.type03 {
  max-width: 100%;
  height: 26px;
}

/* cv contact */
.contact_area {
  position: relative;
  width: 100%;
  height: 68px;
}

.contact_area img {
  max-width: 100%;
  height: auto;
}

.contact_area .fixed_wrapper {
  position: relative;
  padding: 9px 0;
  width: 100%;
  background: #435b6b;
}

.contact_area .fixed_wrapper .pagetop_button {
  position: absolute;
  top: -71px;
  left: 50%;
  margin-left: 540px;
  width: 51px;
  background: #e7f4fa;
}

.contact_area .fixed_wrapper .inner {
  overflow: hidden;
  margin: 0 auto;
  width: 960px;
  font-size: 0;
}

.contact_area .fixed_wrapper .inner p {
  float: left;
  width: 417px;
}

.contact_area .fixed_wrapper .inner ul {
  float: right;
  width: 468px;
}

.contact_area .fixed_wrapper .inner li {
  display: table;
  float: left;
  margin: 0 0 0 5px;
  width: 229px;
  height: 47px;
  vertical-align: middle;
}

.contact_area .fixed_wrapper .inner li a {
  display: table-cell;
  padding: 11px 14px;
  color: #fff;
  vertical-align: middle;
  font-weight: bold;
  font-size: 16px;
  transition: opacity 0.3s;
}
.contact_area .fixed_wrapper .inner ul li a:before {
  display: inline-block;
  content: "";
  vertical-align: middle;
}

.contact_area .fixed_wrapper .inner ul li a.catalog {
  background: #e60012;
}
.contact_area .fixed_wrapper .inner ul li a.catalog:before {
  margin: 0 30px 0 0;
  width: 20px;
  height: 25px;
  background: url(/img/ss/products/vision/visionbasics/bg_icon_001.gif) no-repeat center;
  background-size: contain;
}

.contact_area .fixed_wrapper .inner ul li a.contact {
  background: #41a147;
}
.contact_area .fixed_wrapper .inner ul li a.contact:before {
  margin: 0 13px 0 0;
  width: 25px;
  height: 25px;
  background: url(/img/ss/products/vision/visionbasics/bg_icon_002.png) no-repeat center;
  background-size: contain;
}

.contact_area .fixed_wrapper .inner li a img {
  width: auto;
  height: 16px;
  vertical-align: middle;
}

#cv_contact #pagetop a:hover {
  opacity: 0.7 !important;
}

.prt_colon_def > div {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  overflow: hidden;
  text-align: left;
}

.prt_colon_def dt,
.prt_colon_def dd {
  float: left;
  flex: 0 1 auto;
}

.prt_colon_def.inline > div {
  display: inline-block;
  margin: 0 5px;
  white-space: nowrap;
  letter-spacing: -0.4em;
}

.prt_colon_def.inline dt,
.prt_colon_def.inline dd {
  display: inline-block;
  float: none;
  letter-spacing: normal;
}

.prt_colon_def.right {
  text-align: right;
}

.prt_colon_def dt {
  white-space: nowrap;
}

.prt_colon_def dd {
  padding-left: 1em;
  text-indent: -1em;
  white-space: normal;
}

.prt_colon_def dd img {
  vertical-align: top;
}

.prt_colon_def dd:before {
  content: "：";
}

.case_content {
  display: flex;
  justify-content: space-between;
  padding: 24px 24px 20px;
  border: 1px solid #b6b8b7;
}

.case_content.style_01 {
  margin: 0 auto;
  padding: 24px;
  max-width: 777px;
}

.case_content.style_02 {
  margin: 0 auto;
  padding: 24px;
  max-width: 836px;
}

.case_content.style_03 {
  margin: 0 auto;
  padding: 24px;
  max-width: 937px;
}

.case_content.style_02 .flex_box.img.col2 .flex_item:first-child {
  margin-right: 22px;
  width: 45%;
}

.case_content.style_02 .flex_box.img.col2 .flex_item:last-child {
  width: 55%;
}

.case_content.style_03 .flex_box.img.col4 .flex_item:not(:last-child) {
  width: 23%;
}
.case_content.style_03 .flex_box.img.col4 .flex_item:last-child {
  width: 31%;
}

.case_content.bottom {
  align-items: flex-end;
}

.case_content.center {
  align-items: center;
}

.sup {
  vertical-align: super;
  font-size: 10px;
}

.case_content .prt_colon_def {
  margin-bottom: 10px;
  font-size: 14px;
}

.case_content > div:not(:last-child) {
  margin-right: 10px;
}

.case_content .flex_box.img > div:not(:last-child) {
  margin-right: 10px;
}

.case_content .flex_box.img.col2.wide .flex_item:first-child {
  width: 67%;
}

.case_content .flex_box.img.col2.wide .flex_item:last-child {
  width: 33%;
}

.case_content .flex_box.img.col2 .flex_item {
  width: 50%;
}

.case_content .flex_box.img.col3 .flex_item {
  width: 33%;
}

.case_content .flex_box.img .caption_txt {
  margin: 10px 0 0;
  text-align: center;
  font-size: 16px;
}

.notes {
  font-size: 14px;
}

.flex_box {
  display: flex;
}

.flex_box.caption {
  justify-content: space-around;
  margin: 10px 0 0;
  font-size: 16px;
}

.flex_box.caption .flex_item {
  text-align: center;

  flex-basis: 33%;
}

.flex_box.caption .flex_item:nth-child(2) {
  margin: 0 10px;
}

.link_wrap {
  margin-bottom: 20px;
}

.link_wrap .link_ttl_01 {
  padding: 10px;
  background: #cee6ef;
  text-align: center;
  font-weight: bold;
}

.link_wrap .close_txt,
.link_wrap.open .open_txt {
  display: none;
}

.link_wrap .open_txt,
.link_wrap.open .close_txt {
  display: inline-block;
}

.prt_btn_01 {
  margin-top: 5px;
  margin-bottom: 30px;
  text-align: right;
}
.prt_btn_01 a {
  position: relative;
  display: inline-block;
  padding: 13px 20px 13px 35px;
  background: #eef4fb;
  text-align: left;
  line-height: 1.2;
}
.prt_btn_01 a:before {
  position: absolute;
  top: 50%;
  left: 15px;
  display: block;
  margin-top: -1px;
  border-top: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid #5bcdda;
  content: "";
  transition: all 0.3s;
  transform: translateY(-50%);
}
.prt_btn_01 a:hover {
  color: #f00;
  opacity: 0.7;
}

@media screen and (min-width: 641px) {
  .contact_area .fixed_wrapper .inner p a {
    opacity: 1;
    cursor: default;
  }
}

@media screen and (max-width: 640px) {
  .order-1,
  .order-2,
  .order-3,
  .order-4,
  .order-5 {
    order: 0;
  }

  .link_wrap .open_txt {
    display: inline-block;
  }

  .link_wrap .close_txt {
    display: none;
  }

  .case_content {
    flex-direction: column;
  }

  .case_content.bottom {
    align-items: flex-start;
  }

  .case_content .case_content_item {
    width: 100%;
  }

  .case_content > div:not(:last-child) {
    margin-right: 0;
    margin-bottom: 10px;
  }

  .case_content.style_02 .flex_box.img.col2 .flex_item:first-child {
    width: 46%;
  }

  .case_content.style_02 .flex_box.img.col2 .flex_item:last-child {
    width: 54%;
  }

  .case_content.style_03 .flex_box.img.col4 .flex_item:not(:last-child) {
    width: 24.5%;
  }
  .case_content.style_03 .flex_box.img.col4 .flex_item:last-child {
    width: 30.5%;
  }

  .contact_area {
    width: 100%;
    height: auto;
  }

  #cv_contact {
    position: relative;
    width: 100%;
    height: auto;
  }

  #cv_contact.fixed #cv_area_inner {
    position: relative;
  }

  .contact_area .fixed_wrapper {
    position: relative;
    padding: 0;
    width: 100%;
    background: none;
  }

  .contact_area .fixed_wrapper .pagetop_button {
    position: relative;
    top: auto;
    left: auto;
    margin: 0;
    width: 100%;
    height: 60px;
    background: none;
  }

  .contact_area .fixed_wrapper .pagetop_button a {
    position: absolute;
    right: 13px;
    bottom: 11px;
    display: block;
    width: 38px;
  }

  #cv_contact.fixed .contact_area .fixed_wrapper .pagetop_button a {
    position: fixed;
  }

  .contact_area .fixed_wrapper .pagetop_button a img {
    width: 100%;
    height: auto;
  }

  .contact_area .fixed_wrapper .inner {
    overflow: visible;
    width: auto;
    background: #435b6b;
  }

  .contact_area .fixed_wrapper .inner p {
    float: none;
    width: 100%;
    text-align: center;
  }

  .contact_area .fixed_wrapper .inner p a {
    display: block;
    padding: 2.2% 4.7% 1.6%;
  }

  .contact_area .fixed_wrapper .inner p a img {
    width: 100%;
    height: auto;
  }

  .contact_area .fixed_wrapper .inner ul {
    float: none;
    overflow: hidden;
    width: 100%;
  }

  .contact_area .fixed_wrapper .inner li {
    display: table;
    float: left;
    margin: 0;
    width: 50%;
    height: auto;
  }

  .contact_area .fixed_wrapper .inner li a {
    padding: 7.5% 0;
    text-align: center;
    font-size: 14px;
  }

  .contact_area .fixed_wrapper .inner ul li a.catalog:before {
    margin: 0 6.9% 0 0;
    padding: 8.1% 0 0;
    width: 6.9%;
    height: auto;
  }

  .contact_area .fixed_wrapper .inner ul li a.contact:before {
    margin: 0 7.5% 0 0;
    padding: 8.1% 0 0;
    width: 10.6%;
    height: auto;
  }

  .contact_area .fixed_wrapper .inner li a.catalog img {
    width: 53.7%;
    height: auto;
  }

  .contact_area .fixed_wrapper .inner li a.contact img {
    width: 66.9%;
    height: auto;
  }

  .btn_download a {
    width: 100%;
  }

  .btn_download a > img {
    width: 100%;
    height: auto;
  }

  .btn_download .icon {
    right: 4.87%;
    width: 13.96%;
  }
  .button_02 {
    margin: 0 0 50px;
    padding: 0;
  }

  .btn_download .icon_2 {
    right: 2.3%;
    width: 22.4%;
  }
  .button_02 .product {
    float: none;
    margin: 0 0 20px;
    width: 100%;
  }
  .button_02 .product .product_btn {
    margin: 0 auto 40px;
  }
  .button_02 .download {
    float: none;
    width: 100%;
  }
  .button_02 .download .ss_download_btn {
    margin: 0 auto;
  }
  .prt_download_box1 .button_02 a {
    float: none;
    margin: 0 auto;
  }
}
@media screen and (max-width: 480px) {
  .contact_area .fixed_wrapper .inner li {
    height: 58px;
  }

  .contact_area .fixed_wrapper .inner li a {
    font-size: 12px;
  }
}

/* cv catalog */
.catalog_list {
  position: relative;
  float: left;
  padding: 25px;
  width: 60%;
  background: #fff;
}
.catalog_list .inner:after {
  display: table;
  clear: both;
  content: "";
}
.catalog_list .item_box .ttl {
  margin-bottom: 10px;
  color: #435b6b;
  font-size: 194%;
  line-height: 1.2;
  ;
}
.catalog_list .ttl .em {
  color: #cc1818;
}
.catalog_list .item_box .thumb {
  display: block;
  float: left;
  padding: 0;
  width: 25%;
}
.catalog_list .item_box .thumb > img {
  max-width: 100%;
  border: 1px solid #ccc;
}
.catalog_list .item_box .txt {
  float: right;
  width: 70%;
  color: #435b6b;
  font-size: 106.6%;
}

.catalog_list .item_box .dl_btn {
  position: absolute;
  right: 4.25%;
  bottom: 25px;
  display: block;
}

/* cv area contact */
#cv_contact {
  position: relative;
  width: 100%;
  height: 68px;
}
#cv_contact #cv_area_inner {
  position: relative;
  width: 100%;
  height: 68px;
}
#cv_contact.fixed #cv_area_inner {
  position: fixed;
  bottom: -1px;
  left: 0;
  z-index: 10000;
}
#cv_contact.fixed.hidden #cv_area_inner {
  display: none;
}
#cv_contact .cv_area_contact {
  position: relative;
  float: right;
  padding: 25px;
  width: 37%;
  background-color: #fff;
  text-align: center;
}
.cv_area_contact .txt {
  display: block;
  margin-bottom: 10px;
  color: #435b6b;
  font-size: 194%;
  line-height: 1.2;
}
.cv_area_contact .thumb {
  margin-bottom: 25px;
}

#cv_contact .cv_area_inner_top {
  padding: 50px 0 40px 0;
}

#cv_contact #cv_area_inner .cv_area_inner_bottom {
  padding-bottom: 50px;
  text-align: center;
}

#cv_contact #cv_area_inner .cv_area_inner_bottom a {
  display: inline-block;
  margin: 0 10px;
  max-width: 380px;
  width: 46%;
}

@media screen and (max-width: 640px) {
  .contact_area {
    width: 100%;
    height: auto;
  }

  #cv_contact {
    position: relative;
    width: 100%;
    height: auto;
  }

  #cv_contact.fixed #cv_area_inner {
    position: relative;
  }
  #cv_contact #cv_area_inner {
    height: auto;
  }
}

/* footer */
.footer {
  border-top: 1px solid #acd3e1;
  background: #e7f4fa;
}
.footer .site_map {
  padding: 30px 0;
}

/* site map */
.site_map .home_link {
  margin-bottom: 10px;
  padding: 0 5px;
  text-align: left;
}
.site_map .home_link a {
  color: #373737;
  text-decoration: none;
  font-weight: bold;
  font-size: 113.8%;
}
.site_map .site_map_box {
  float: left;
  padding: 0 5px;
  width: 25%;
}
.site_map .site_map_box dt {
  margin-bottom: 5px;
  color: #373737;
  font-weight: bold;
  font-size: 106.6%;
}
.site_map .site_map_box .footer_nav_ttl {
  padding-left: 0;
  color: #373737;
  font-size: 106.6%;
}
.site_map .site_map_box dd {
  position: relative;
  margin-bottom: 5px;
  padding-left: 15px;
}
.site_map .site_map_box dl {
  padding-bottom: 15px;
}
.site_map .site_map_box dd a {
  color: #373737;
  font-size: 99.6%;
}
.site_map .site_map_box dd a:before {
  position: absolute;
  top: 7px;
  left: 0;
  display: inline-block;
  width: 5px;
  height: 8px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_022.png) no-repeat;
  content: "";
}
.site_map .site_map_box dd a:hover {
  text-decoration: underline;
}

/* copy */
.copy {
  background: #0085c3;
  font-size: 14px;
}
.copy  p {
  float: left;
  padding: 25px 0;
  width: 50%;
  color: #fff;
}
.copy  ul {
  float: right;
  width: 50%;
  text-align: right;
}
.copy  ul li {
  display: inline-block;
  padding: 25px 12px;
}
.copy  ul a {
  color: #fff;
}

/* pager */
.pager {
  display: table;
  overflow: hidden;
  width: 100%;
  height: auto;
  border-top: 1px solid #e7e7e7;
  border-bottom: 1px solid #e7e7e7;
  word-wrap: break-word;
}
.pager li {
  position: relative;
  display: table-cell;
  width: 50%;
  border-left: 1px solid #e7e7e7;
}
.pager li:first-child {
  border-left: none;
}
.pager li a > strong {
  display: block;
  color: #0085c4;
  font-weight: 900;
  font-size: 113%;
  line-height: 1.6em;
}
.pager li a > span {
  display: block;
  color: #333;
  font-size: 100%;
}
.pager a {
  display: block;
  opacity: 1;
}
.pager li > a:hover {
  background-color: #e0f4ff;
  opacity: 1;
}
.pager .prev a {
  padding: 17px 17px 17px 55px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_016.png) no-repeat left;
}
.pager .next a {
  padding: 17px 55px 17px 17px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_017.png) no-repeat right;
  text-align: right;
}

.back_index {
  margin-bottom: 40px;
  padding: 15px 0;
  border-bottom: 1px solid #e7e7e7;
  text-align: center;
}
.back_index a {
  display: inline-block;
  padding-left: 20px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_013.jpg) no-repeat left center;
}

/* breadcrumb */
#breadcrumb {
  margin-bottom: 20px;
  padding: 15px 0 13px;
  width: 100%;
  background: #e7f4fa;
}

#breadcrumb ul li {
  display: inline-block;
  padding-right: 5px;
  color: #6a6a6a;
}

#breadcrumb ul {
  margin: 0 auto;
  max-width: 960px;
  width: 100%;
  text-align: left;
}

/* download contents */
.download_contents .btn_area {
  text-align: center;
}

.download_contents .btn_area .btn_style1 {
  display: block;
  padding: 10px;
  width: 300px;
  background-color: #d92525;
  color: #fff;
  font-weight: bold;
  font-size: 113.7%;
  transition: opacity 0.3s;
}

.download_contents .btn_area .btn_style1:before {
  position: relative;
  top: 3px;
  left: -5px;
  display: inline-block;
  width: 14px;
  height: 17px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_021.gif) no-repeat;
  background-size: 100%;
  content: "";
}

.download_contents .item_col_1 {
  margin-bottom: 25px;
  padding: 20px;
  border: 1px solid #ccc;
}

.download_contents .item_col_1 .inner {
  position: relative;
}

.download_contents .item_col_1 .inner:after {
  display: table;
  clear: both;
  content: "";
}

.download_contents .item_col_1 .inner .pic {
  float: left;
  width: 30%;
  text-align: center;
}

.download_contents .item_col_1 .inner .pic img {
  max-width: inherit;
  max-height: inherit;
  border: 1px solid #ccc;
}

.download_contents .item_col_1 .inner .item {
  float: right;
  margin-bottom: 0;
  padding: 0;
  width: 70%;
  border: 0;
}

.download_contents .item_col_1 .inner .item .ttl {
  margin: 0 0 5px;
}

.download_contents .item_col_1 .inner .item .ttl a {
  color: #0094d3;
  font-weight: bold;
  font-size: 142%;
  line-height: 1.4;
}

.download_contents .item_col_1 .inner .item .txt {
  margin-bottom: 15px;
  font-size: 100%;
  line-height: 1.5;
}

.download_contents .item_col_1 .inner .item .btn_area {
  position: absolute;
  bottom: 0;
  left: 30%;
  text-align: left;
}
.download_contents .item_col_1 .inner .item .btn_area a {
  text-align: center;
}

.download_contents .item_list {
  margin: 0 -12px;
}

.download_contents .item_list:after,
.download_contents .item_list .item:after {
  display: table;
  clear: both;
  content: "";
}

.download_contents .item_list li {
  float: left;
  padding: 0 12px 25px;
  width: 33.3%;
}
.download_contents .item_list li:nth-child(3n) {
  width: 33.4%;
}

.download_contents .item_list li .item {
  padding: 20px;
  border: 1px solid #ccc;
}

.download_contents .item_list li .item .pic {
  margin: 0 0 15px;
  min-height: 202px;
  text-align: center;
}
.download_contents .item_list li .item .pic img {
  max-width: 100%;
  height: auto;
  border: 1px solid #ccc;
}

.download_contents .item_list li .item .txt {
  margin: 0 0 15px;
}

.download_contents .item_list li .item .txt a {
  color: #0094d3;
  font-weight: bold;
  font-size: 120%;
  line-height: 1.4;
}

.download_contents .item_list li .item .btn_area .btn_style1 {
  width: 100%;
}

#content_wrap .img_arrow {
  margin-bottom: 30px;
}
#content_wrap .img_arrow .figure {
  float: left;
  text-align: center;
}
#content_wrap .img_arrow:after {
  display: block;
  margin: 30px 0 0;
  width: 100%;
  height: 21px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_011.jpg) center no-repeat;
  content: "";
}

/* sp navi bottom */
#sp_nav_bottom {
  margin-bottom: 20px;
  border: 1px solid #e2e2e2;
}
#sp_nav_bottom dl {
  border-bottom: 1px solid #e2e2e2;
}
#sp_nav_bottom > dl:last-child {
  border-bottom: none;
}
#sp_nav_bottom dl dt {
  padding: 15px 48px 15px 15px;
  border-bottom: 1px solid #f1f1f1;
  background: url(/img/ss/products/vision/visionbasics/bg_style_014.png) no-repeat 95% center;
  font-weight: bold;
  cursor: pointer;
}
#sp_nav_bottom .active_nav dt {
  background: url(/img/ss/products/vision/visionbasics/bg_style_015.png) no-repeat 95% center;
}
#sp_nav_bottom dl dd {
  position: relative;
  display: none;
  padding: 10px 30px;
  line-height: 1.2;
}
#sp_nav_bottom dl dd:before {
  position: absolute;
  top: 11px;
  left: 10px;
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_010.png) no-repeat;
  content: "";
}
#sp_nav_bottom dl dd.side_nav_ttl {
  font-size: 120%;
}
#sp_nav_bottom .active_nav dd {
  display: block;
}
#sp_nav_bottom .active_nav dd.active a {
  color: #0085c3;
}
#sp_nav_bottom dl.open dt {
  background-color: #e7f4fa;
  color: #0085c3;
}
#sp_nav_bottom dl dd.side_nav_ttl:before {
  background: none;
}

@media screen and (max-width: 640px) {
  body {
    min-width: 100%;
  }
  .pc_view a,
  .pc_view {
    display: none;
  }
  .sp_view a,
  .sp_view {
    display: block;
  }
  img {
    max-width: 100%;
    height: auto;
  }

  .wrap {
    width: 100%;
  }
  .wrap_inner {
    margin: 0 12px;
  }

  /* header */
  .header p {
    width: 50%;
  }
  .header p.logo {
    float: right;
    width: 25%;
  }
  .header ul li {
    margin: 0;
    padding: 0;
  }
  .header ul li:last-child {
    padding: 0;
  }
  .header .header_button li {
    float: left;
    width: 33.33%;
  }

  /* banner */
  .banner {
    min-height: inherit;
    background: #e7f4fa;
  }
  .mainvs {
    width: 100%;
  }
  .banner p {
    position: static;
    margin: 0 auto;
    padding: 32px 0 0;
    width: 90%;
    text-align: center;
  }

  /* main */
  .main {
    padding: 32px 0 0 0;
  }
  .main .section {
    margin: 0 12px 40px 12px;
  }
  .main .section_cont {
    padding: 20px 10px 10px;
  }

  .main .section_4side li:not(:last-child) {
    border-right: none;
  }
  .main .section_4side li {
    float: none;
    margin-bottom: 15px;
    width: 100%;
    border-bottom: 1px dotted #a6d0de;
  }
  .main .section_4side {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  .main .section_full_sub li {
    float: none;
    width: 100%;
  }
  .main .section_full li {
    width: 100%;
  }
  .main .section_left {
    float: none;
    margin-bottom: 40px;
    width: 100%;
  }
  .main .section_right {
    float: none;
    width: 100%;
  }
  .main .section_3side_img {
    display: flex;
    flex-wrap: wrap;
  }
  .main .section_3side_img li {
    display: flex;
    flex-direction: column;
    margin: 0 1% 10px;
    width: 48%;
  }
  .main .section_4side_img li {
    margin: 0 1% 10px;
    width: 48%;
  }
  .main .section_3side_img div {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 7px;
  }
  .main .section_4side_img dl {
    padding: 7px;
  }
  .main .section_3side_img h3 {
    flex: 1;
    margin-bottom: 7px;
  }
  .main .section_4side_img dt {
    margin-bottom: 7px;
  }
  .main .section_3side_img p {
    float: none;
    flex: 0;
    width: 100%;
  }
  .main .section_4side_img dd {
    float: none;
    width: 100%;
  }
  .main .coming_soon {
    width: 100%;
    height: 1025px;
  }
  .product_list {
    display: block;
  }
  .product_list li {
    width: 100%;
  }
  .product_list li:not(:last-child) {
    margin-bottom: 20px;
  }
  .product_list li a {
    padding: 25px 40px 25px 20px;
  }
  .product_list li a::before {
    right: 20px;
  }

  .main .block .textbox {
    padding-right: 0;
  }

  .main .block .col4_block .relbox .abs_button {
    width: 90%;
  }
  /* block */
  .block h2 {
    padding: 0;
    background: none;
  }
  .block p {
    margin: 0 0 25px 0;
  }
  .block .button {
    width: 80%;
  }

  .block .button a {
    font-size: 100%;
  }

  .block_inner h2 {
    text-align: left;
  }
  .block_inner {
    background: none;
  }

  /* cv top */
  #cv_contact .cv_area_inner_top {
    padding: 12px 12px 0 12px;
  }

  /* cv area catalog */
  #cv_contact .catalog_list {
    float: none;
    margin: 0 auto;
    width: 100%;
  }
  #cv_contact .catalog_list .inner {
    margin-bottom: 20px;
  }
  #cv_contact .catalog_list > .item_box {
    width: 100%;
  }

  .catalog_list .item_box .dl_btn {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 20px;
    text-align: center;
  }

  /*cv bottom */
  #cv_contact #cv_area_inner .cv_area_inner_bottom {
    padding: 12px 12px 0;
  }
  #cv_contact #cv_area_inner .cv_area_inner_bottom a {
    display: block;
    margin: 0 0 10px 0;
    max-width: inherit;
    width: 100%;
  }

  /* footer */
  .footer {
    border-top: none;
  }
  .copy p,
  .copy ul {
    float: none;
    width: 100%;
    text-align: center;
  }
  .copy ul li {
    padding: 12px 0;
  }
  .copy p {
    padding: 12px 0;
  }

  .pager li p {
    line-height: 1.2em;
  }

  #breadcrumb {
    display: none;
  }

  .download_contents .btn_area .btn_style1 {
    width: 100%;
  }

  .download_contents .item_col_1 .inner .pic,
  .download_contents .item_col_1 .inner .item,
  .download_contents .item_list li,
  .download_contents .item_list li:nth-child(3n) {
    float: none;
    width: 100%;
  }
  .download_contents .item_col_1 .inner .pic {
    margin: 0 0 15px;
  }

  .download_contents .item_col_1 .inner .item .btn_area {
    position: relative;
    bottom: auto;
    left: auto;
    margin-bottom: 50px;
  }

  .download_contents .item_list li .item .pic img {
    max-width: 100%;
  }

  .img_arrow .figure {
    padding-right: 1em;
  }
}

.inner_ttl_1 {
  margin-bottom: 20px;
  padding: 15px 15px 12px;
  background: #2c7fab url(/img/ss/products/vision/visionbasics/bg_style_004.gif) no-repeat right center;
  color: #fff;
  text-align: left;
  font-weight: normal;
  font-size: 150%;
}
.inner_ttl_1 span {
  display: block;
  font-size: 14px;
}
.inner_ttl_2 {
  margin-bottom: 25px;
  padding: 11px 15px 9px;
  border: 1px solid #cee6ef;
  background: #e7f4fa;
  color: #435b6b;
  text-align: left;
  font-weight: normal;
  font-size: 132%;
}
.inner_ttl_3 {
  margin-bottom: 20px;
  padding-bottom: 5px;
  border-bottom: 1px solid #b6b8b7;
  color: #435b6b;
  text-align: left;
  font-weight: bold;
  font-size: 113%;
}
.inner_ttl_4 {
  margin-bottom: 20px;
  padding-left: 7px;
  border-left: 3px solid #0085c3;
  color: #435b6b;
  text-align: left;
  font-weight: normal;
  font-size: 113%;
}

.inner_ttl_5 {
  font-weight: bold;
  font-size: 100%;
}

/* img_box */
.img_box {
  overflow: hidden;
  text-align: center;
}
.img_box .line_up {
  margin-right: 20px;
  margin-bottom: 20px;
  letter-spacing: normal;
}
.img_box .line_up:last-child {
  margin-right: 0;
}

/* inner_box */
.inner_box {
  margin-bottom: 45px;
}
.inner_box p {
  margin-bottom: 18px;
}
.inner_box p.summary_txt {
  margin-bottom: 0;
}

/* border_box */
.border_box {
  margin-bottom: 25px;
  padding: 24px;
  border: 3px solid #cee6ef;
}
.border_box .border_box_ttl {
  margin-bottom: 20px;
  color: #0085c3;
  font-weight: bold;
  font-size: 113%;
}

/* border_box02 */
.border_box02 {
  margin-bottom: 25px;
  padding: 24px;
  border: 1px solid #cee6ef;
}
.border_box02 span {
  color: #0085c3;
  font-weight: bold;
}

/* blue_box */
.blue_box {
  padding: 20px;
  background: #e7f4fa;
}
.blue_box p {
  color: #0085c3;
}
.blue_box .blue_box_ttl {
  margin-bottom: 10px;
  color: #0085c3;
  font-weight: bold;
  font-size: 113%;
}

/* red_box */
.red_box {
  padding: 20px;
  background: #f7d1d1;
}
.red_box p {
  color: #cc1313;
}
.red_box .red_box_ttl {
  margin-bottom: 10px;
  color: #cc1313;
  font-weight: bold;
  font-size: 113%;
}

/* summary_box */
.summary_box {
  background: #e7f4fa;
}
.summary_box.style_01 table.table_area02 td a {
  font-size: 14px;
}
.summary_box .summary_box_ttl {
  margin: 0;
  padding: 6px 0;
  background: #0185c5;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 113%;
}
.summary_box .summary_box_text {
  padding: 25px;
}
.summary_box .summary_box_text span {
  color: #0085c3;
}
.summary_box .summary_box_text .block_indent {
  display: block;
  margin-left: 6em;
  text-indent: -6em;
}

/* right_content_cv */
.right_content_cv {
  padding: 20px 0 20px;
  text-align: right;
}
.right_content_cv .cv_txt {
  margin-bottom: 20px;
  text-align: right;
}

/* alignment dl box */
.dl_box {
  position: relative;
  margin: 0 auto;
  padding: 20px 25px;
  max-width: 760px;
  width: 100%;
  border: 1px solid #e7e7e7;
}
.dl_box:after {
  display: table;
  clear: both;
  content: "";
}
.dl_box .left {
  float: left;
  margin-right: 5%;
  max-width: 141px;
  width: 25%;
}
.dl_box .right {
  float: right;
  width: 70%;
}
.dl_box .ttl {
  margin-bottom: 15px;
  color: #586575;
  font-size: 200%;
  line-height: 1.2;
}
.dl_box .txt {
  font-size: 121%;
}

.dl_box .dl_btn {
  position: absolute;
  bottom: 8.2%;
  left: 30%;
  max-width: 412px;
  width: 70%;
}

.dl_box a.dummy {
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
}
.dl_box a.dummy:hover {
  opacity: 0.2;
}

/* SP */
@media screen and (max-width: 640px) {
  /* img_box */
  .img_box .line_up {
    margin-right: 0;
  }

  .inner_ttl_1 {
    margin-top: 20px;
  }

  /* right_content_cv */
  .right_content_cv {
    margin: 0 auto;
    padding: 4% 0;
    max-width: inherit;
    text-align: center;
  }
  .right_content_cv .cv_txt {
    text-align: left;
  }
  #cv_contact #cv_area_inner .cv_area_inner_bottom a {
    display: block;
    margin: 0 auto 3%;
    max-width: none;
    width: 100%;
    width: 95%;
  }
  #cv_contact #cv_area_inner .cv_area_inner_bottom a:last-child {
    margin-bottom: 0;
  }
  #cv_contact #cv_area_inner .cv_area_inner_bottom a img {
    width: 100%;
  }

  .dl_box {
    width: 100%;
  }
  .dl_box .dl_btn {
    position: static;
    margin-top: 10px;
    width: 100%;
  }
  /* SUB Page Bnr */
  .ss_subpage_box {
    max-width: none;
  }
  .ss_subpage_box .ss_subpage_bnr > a {
    max-width: none;
    width: 100%;
  }
  .ss_subpage_box .ss_subpage_bnr > a .inner .btn_wrap .btn {
    width: 100%;
  }
}

/*** right_content ***/
.col1_block {
  width: 100%;
}
.black_ttl_box {
  border: 1px solid #435b6b;
}
.black_ttl_box .ttl {
  padding: 5px 0;
  background: #435b6b;
  color: #fff;
  text-align: center;
}
.black_ttl_box .inner {
  padding: 20px;
}
.caption_box .ttl_block {
  margin-bottom: 10px;
  width: 100%;
}
.caption_box .img_box {
  margin-bottom: 10px;
}

.caption_box .txt {
  padding: 10px;
  background: #e7f4fa;
}

.caption_box .ttl_block .caption {
  display: block;
  float: left;
  margin-right: 10px;
  padding: 0 5px;
  width: auto;
  background: #0085c3;
  color: #fff;
  vertical-align: top;
  font-weight: bold;
}
.col4_block.caption_box_wrap .caption_box .ttl_block .caption {
  background: #6a6a6a;
}
.col4_block.caption_box_wrap .caption_box .ttl_block .caption.current {
  background: #0085c3;
}
.caption_box .ttl_block .ttl {
  display: block;
  overflow: hidden;
  width: auto;
  font-weight: bold;
}
.col2_block .col {
  float: left;
  margin-right: 2%;
  margin-bottom: 3%;
  width: 49%;
}
.col2_block02 .col {
  margin-bottom: 3%;
  padding: 2%;
  width: 49%;
  border: 1px solid #dedede;
}
.col3_block .col {
  float: left;
  margin-right: 2%;
  margin-bottom: 3%;
  width: 32%;
}
.col4_block .col {
  margin-bottom: 3%;
  padding: 2%;
  width: 49%;
  border: 1px solid #dedede;
}
.col4-4_block .col {
  float: left;
  margin-right: 1%;
  margin-bottom: 3%;
  width: 24%;
}
.col2_block .col:last-child,
.col3_block .col:last-child,
.col4_block .col,
.col4-4_block .col:last-child {
  margin-right: 0;
}
.col_left {
  float: left;
}
.col_right {
  float: right;
}
.col2_block .w32 {
  width: 32%;
}
.col2_block .w66 {
  width: 66%;
}

.inline_black_list li {
  display: inline-block;
  margin: 5px 10px 5px 0;
  padding: 0 5px;
  background: #435b6b;
  color: #fff;
  font-size: 95%;
}
.faqBox dt {
  margin-bottom: 10px;
}
.faqBox .caption {
  display: inline-block;
  float: left;
  margin-right: 10px;
  padding: 0 10px;
  background: #0085c3;
  color: #fff;
}
.faqBox dd .txt {
  margin-bottom: 10px;
}

/* table ------- */
table th {
  font-weight: bold;
}

table.table_area th,
table.table_area td {
  padding: 10px 7px;
  border: 1px solid #435b6b;
  background: #fff;
}
table.table_area th {
  background: #e7f4fa;
}
table.table_area .bg_deep {
  background: #374d5c;
  color: #fff;
}
span.bor_txt {
  margin-left: 10px;
  padding: 0 5px;
  border: 1px solid #0085c3;
  color: #0085c3;
}

.table_scroll {
  overflow-x: visible;
}

.table_scroll table.table_area02 th,
table.table_area02 td {
  padding: 10px 0px;
  border: 1px solid #435b6b;
  background: #fff;
  vertical-align: middle;
}

.table_scroll table.table_area02 th {
  background: #e7f4fa;
}

.table_scroll table.table_area02 .bg_deep {
  background: #374d5c;
  color: #fff;
}

.table_scroll table.table_area02 th sup,
table.table_area02 td sup {
  vertical-align: top;
}

@media screen and (max-width: 640px) {
  .table_scroll {
    overflow-x: scroll;
    padding-top: 0;
  }
  .table_scroll::-webkit-scrollbar {
    width: 5px;
    background: #e7f4fa;
  }
  .table_scroll::-webkit-scrollbar:horizontal {
    height: 5px;
    background: #e7f4fa;
  }
  .table_scroll::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: #3ea8dc;
  }
  .table_scroll::-webkit-scrollbar-thumb:horizontal {
    border-radius: 2px;
    background: #3ea8dc;
  }
  .table_scroll table.table_area02 th,
  table.table_area02 td {
    padding: 10px 7px;
  }

  .col2_block .col,
  .col2_block02 .col,
  .col3_block .col,
  .col4_block .col {
    float: none;
    margin: 0 auto 6%;
    max-width: none;
    width: 96%!important;
  }
  .col4-4_block .col {
    float: none;
    margin: 0 2% 6%;
    max-width: none;
    width: 96%!important;
  }

  .caption_box .ttl_block .ttl,
  .caption_box .ttl_block .caption {
    display: inline;
    float: none;
    line-height: 1.5em;
  }
}

/*** Q and A ***/
/* general */
.qanda .quiz_section .clearfix:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: ".";
  font-size: 0;
}

/* parts
----------------------- */
.qanda .quiz_section .columnWrap {
  margin-bottom: 20px;
}
.qanda .quiz_section .columnWrap:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: ".";
  font-size: 0;
}
.qanda .quiz_section .column02 > .column {
  float: left;
  width: 50%;
}
.qanda .quiz_section .column03 > .column {
  float: left;
  width: 33%;
}
@media screen and (max-width: 640px) {
  .qanda .quiz_section .column02:not(.sp_column) > .column,
  .qanda .quiz_section .column03:not(.sp_column) > .column {
    float: none;
    width: auto;
  }
}

.qanda .quiz_section .image_column > .column:first-child {
  float: left;
  width: auto;
}
.qanda .quiz_section .image_column > .column:last-child {
  float: none;
  overflow: hidden;
  width: auto;
}
.qanda .quiz_section .image_column.blockRight > .column:first-child {
  float: right;
}
@media screen and (max-width: 640px) {
  .qanda .quiz_section .image_column:not(.sp_column) > .column,
  .qanda .quiz_section .image_column.blockRight:not(.sp_column) > .column {
    float: none;
  }
}
@media screen and (min-width: 641px) {
  .qanda .quiz_section .w334 {
    width: 334px;
  }
  .qanda .quiz_section .w346 {
    width: 346px;
  }
}

/* image_box */
@media screen and (min-width: 641px) {
  .qanda .quiz_section .image_box {
    margin: 25px 0;
  }
  .qanda .quiz_section .image_column > .column:first-child .image_box {
    margin: 0 25px 0 0;
  }
  .qanda .quiz_section .image_column > .column:last-child .image_box {
    margin: 0 0 0 25px;
  }
  .qanda .quiz_section .image_column.blockRight > .column:last-child .image_box {
    margin: 0 25px 0 0;
  }
  .qanda .quiz_section .image_column.blockRight > .column:first-child .image_box {
    margin: 0 0 0 25px;
  }
}
@media screen and (max-width: 640px) {
  .qanda .quiz_section .image_box {
    margin: 25px 0;
    text-align: center;
  }
  .qanda .quiz_section .image_box img {
    max-width: 100%;
    height: auto;
  }
}

/* openans */
.qanda .open_ans {
  position: relative;
  margin-top: 15px;
  margin-bottom: 5px;
  padding-left: 22px;
  text-decoration: none;
  line-height: 140%;
}
.qanda .choices p {
  margin-bottom: 0px;
}
.qanda .open_ans:after {
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  margin: -4px 0 0 0;
  width: 6px;
  height: 6px;
  border-top: solid 2px #0085c4;
  border-right: solid 2px #0085c4;
  content: "";
  transform: rotate(135deg);
}

@media screen and (max-width: 640px) {
  .qanda .open_ans {
    padding-left: 40px;
  }
  .qanda .open_ans:after {
    top: 50%;
    left: 10px;
    margin: -6px 0 0 0;
    width: 12px;
    height: 12px;
    border-top: solid 4px #0085c4;
    border-right: solid 4px #0085c4;
  }
}

/* mark_indent */
.qanda .mark_indent01 {
  margin-left: 1.2em;
  text-indent: -1.2em;
}
.qanda .mark_indent01 .mark {
  margin-right: 0.2em;
}

.qanda .open_ans:hover {
  text-decoration: underline;
}

/* layout */
@media screen (min-width: 640px) and (max-width: 890px) {
  .qanda .inner_box {
    padding: 0 10px;
  }
}
.qanda .quiz_section {
  position: relative;
  clear: both;
  margin-bottom: 20px;
}
.qanda .quiz_section .qtitle {
  position: relative;
  margin-bottom: 16px;
  font-size: 100%;
}
.qanda .quiz_section .quiz_num {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 60px;
  color: #0085c4;
  font-weight: bold;
}
.qanda .quiz_section .quiz_title {
  display: block;
  margin-left: 60px;
  font-weight: bold;
}
.qanda .quiz_btn {
  padding-bottom: 5px;
  width: 100%;
  border-bottom: 1px dotted #b6b8b7;
  cursor: pointer;
}
/* choices_column */
.qanda .quiz_section .choices {
  display: inline-block;
  margin-right: 2%;
}
.qanda .quiz_section .choices p {
  color: #000;
}
.qanda .quiz_section .choices:last-child {
  margin-right: 0;
}
/* quiz_answer */
.qanda .quiz_section .quiz_answer {
  padding: 0px 0px 10px 40px;
  border-bottom: 1px solid #b6b8b7;
}
.qanda .quiz_section .quiz_answer .answer {
  margin: 20px 0;
}
.qanda .quiz_section .quiz_answer .icon_a {
  margin-right: 5px;
  color: #0085c4;
  font-weight: bold;
  font-size: 140%;
}
@media screen and (max-width: 640px) {
  .qanda .quiz_section .qtitle {
    margin-bottom: 20px;
  }
  .qanda .quiz_section .qtitle .quiz_num {
    position: relative;
  }
  .qanda .quiz_section .qtitle .quiz_title {
    margin: 0;
  }
  .qanda .quiz_section .choices_column {
    margin-left: 10px;
  }
  .qanda .quiz_section .choices {
    margin-right: 0;
  }
  .qanda .quiz_section .choices {
    display: block;
  }
  .qanda .quiz_section .quiz_answer {
    padding-left: 20px;
  }
}

/* classes
----------------------- */
.qanda .blue {
  color: #0085c4;
}
.qanda .black {
  color: #000;
}
.qanda .fwn {
  font-weight: normal;
}
.qanda .fwb {
  font-weight: bold;
}

.qanda .blueLine {
  margin-bottom: 10px;
  padding-bottom: 2px;
  border-bottom: 1px solid #0085c4;
  font-weight: bold;
}

/*----------------------*/
/*   parts_fk_phase2    */
/*----------------------*/

/*** right_content ***/
.inner_ttl_6 {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 100%;
}
.use a.inline_link,
.merit a.inline_link {
  color: #0085c3;
  text-decoration: underline;
}
.use a.inline_link:hover,
.merit a.inline_link:hover {
  text-decoration: none;
}
.use p.right_link,
.merit p.right_link {
  text-align: right;
}
.use p.right_link a,
.merit p.right_link a {
  display: inline-block;
  padding-left: 15px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_022.png) no-repeat left 6px;
  color: #0085c3;
  text-align: left;
}
.merit .center_link {
  margin-bottom: 18px;
  text-align: center;
}
.merit .center_link a {
  display: inline-block;
  margin: 0 1em;
  padding-left: 15px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_022.png) no-repeat left 6px;
  color: #0085c3;
}
.left_link {
  text-align: left;
}
.left_link a {
  display: inline-block;
  padding-left: 15px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_022.png) no-repeat left 6px;
  color: #0085c3;
  text-align: left;
}

/* calculation form */
.calculation_box table {
  margin: 0 auto;
  width: 80%;
}
.calculation_box table th {
  padding-left: 1em;
  width: 35%;
  color: #0085c3;
  text-align: left;
  text-indent: -1em;
  font-weight: bolder;
  line-height: 2;
}
.calculation_box table td {
  width: 5%;
  font-weight: bolder;
  line-height: 2.5;
}
.calculation_box table td:last-child {
  width: 60%;
}
.calculation_box table td input[type="number"] {
  margin-right: 5%;
  width: 70%;
  height: 1.8em;
  border: 1px solid #808080;
  text-align: center;
  font-weight: bolder;
  line-height: 1.8;
}

/* hide spin */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  margin: 0;

  -webkit-appearance: none;
}
input[type="number"] {
  -moz-appearance: textfield;
}
.calculation_box table td input.is--error {
  border: 1px solid #cc1313;
}
.calculation_box table td input.is--success {
  border: 1px solid #0085c3;
}
.calculation_box table td input[type="button"] {
  margin-top: 18px;
  width: 100%;
  border: none;
  border-radius: 5px;
  background-color: #0085c3;
  color: #fff;
  font-weight: bolder;
  font-size: 113%;
  line-height: 2.5;
}
.calculation_resultbox,
.calculation_errorbox {
  margin-top: 18px;
}
.calculation_resultbox p {
  color: #373737;
}
.calculation_resultbox .form_result {
  margin-right: 2%;
  color: #0085c3;
  word-wrap: break-word;
  word-break: break-all;
  font-size: 190%;
}

/* anchor link_list */
.anchor_link_box {
  overflow: hidden;
  padding: 20px;
  background: #e7f4fa;
  font-size: 94%;
}

.anchor_link_box .left_content {
  float: left;
  width: 50%;
}

.anchor_link_box .right_content {
  float: right;
  width: 50%;
}

.anchor_link_box .link_ttl {
  margin-bottom: 5px;
  font-weight: bold;
}

.anchor_link_box .anchor_link_list {
  margin-bottom: 15px;
}

.anchor_link_box .anchor_link_list .anchor_link {
  padding-left: 15px;
  background: url(/img/ss/products/vision/visionbasics/bg_style_022.png) no-repeat left center;
}

/* right content product */
.right_content_product {
  margin: 0 0 0 auto;
  padding: 20px 0 20px;
  max-width: 40%;
}

.right_content_product .product_link {
  display: block;
  margin: 0 0 0 auto;
  padding: 5px 0;
  width: 163px;
  border-radius: 3px;
  background: #0085c3;
  color: #fff;
  text-align: center;
  font-weight: bold;
}

.img_box.cap {
  margin: 0 auto;
  width: 62.5%;
  text-align: left;
}

@media screen and (max-width: 640px) {
  /* anchor link_list */
  .anchor_link_box .left_content,
  .anchor_link_box .right_content {
    float: none;
    width: 100%;
  }
  /* calculation form */
  .calculation_box table {
    width: 100%;
  }
  .calculation_box table th {
    width: 44%;
  }
  .calculation_box table td {
    width: 2%;
  }
  .calculation_box table td:last-child {
    width: 54%;
  }
  .calculation_box table td input[type="number"] {
    margin-right: 4%;
    width: 75%;
    font-size: 100%;
  }
  .calculation_box table td input[type="button"] {
    margin-top: 18px;
    width: 100%;
    border: none;
    border-radius: 5px;
    background-color: #0085c3;
    color: #fff;
    font-weight: bolder;
    font-size: 113%;
    line-height: 2;
  }
  .calculation_resultbox p {
    color: #373737;
  }
  .calculation_resultbox .form_result {
    margin-right: 2%;
    color: #0085c3;
    font-size: 190%;
  }
}

.float_image {
  overflow: hidden;
  margin-bottom: 35px;
}
.float_image .image {
  float: right;
  margin-bottom: 20px;
  margin-left: 20px;
}
.float_image.no_wrap .image {
  margin-bottom: 0;
  text-align: center;
}
.float_image.no_wrap .txt {
  overflow: hidden;
  margin: 0;
}
@media screen and (max-width: 640px) {
  .float_image .image,
  .float_image.no_wrap .image {
    float: none;
    margin-bottom: 20px;
    margin-left: 0;
  }
}

.box_style02 {
  padding: 20px;
  background: #e7f4fa;
}
.box_style02 > *:last-child {
  margin-bottom: 0;
}
.box_style02 .box_title {
  color: #0085c3;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.4em;
}

.col_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.col_box.col_2 .col {
  width: 350px;
  margin: 0 70px 25px;
}
.col_box.col_3 .col {
  width: 255px;
  margin-right: 107px;
  margin-bottom: 25px;
}
.col_box.col_2 .col:nth-child(2n),
.col_box.col_3 .col:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  .col_box {
    flex-direction: column;
  }
  .col_box > * {
    min-height: 0%;
  }
  .col_box.col_2 .col,
  .col_box.col_3 .col {
    margin-right: 0;
    margin-left: 0;
    width: 100%;
  }
}

.col_style01 {
 display: block;
}
.col_style01 > .thumb {
 text-align: center;
 margin-bottom: 5px;
}
.col_style01 > .title {
 font-weight: bold;
 color: #333;
 margin-bottom: 10px;
}
.col_style01 > .txt {
 color: #333;
 font-size: 14px;
}

.desc_list > .item + .item {
  margin-top: 25px;
}
.desc_list > .item .title {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 5px;
}

/* utility */
.aright {
  text-align: right;
}
.aleft {
  text-align: left;
}
.acenter {
  text-align: center;
}
.mt-30 {
  margin-top: -30px;
}
.mt-25 {
  margin-top: -25px;
}
.mt-20 {
  margin-top: -20px;
}
.mt-15 {
  margin-top: -15px;
}
.mt-10 {
  margin-top: -10px;
}
.mt-5 {
  margin-top: -5px;
}
.mt0 {
  margin-top: 0;
}
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}
.mt30 {
  margin-top: 30px;
}
.mt40 {
  margin-top: 40px;
}
.mt50 {
  margin-top: 50px;
}
.mb-30 {
  margin-bottom: -30px;
}
.mb-25 {
  margin-bottom: -25px;
}
.mb-20 {
  margin-bottom: -20px;
}
.mb-15 {
  margin-bottom: -15px;
}
.mb-10 {
  margin-bottom: -10px;
}
.mb-5 {
  margin-bottom: -5px;
}
.mb0 {
  margin-bottom: 0;
}
.mb5 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mr-30 {
  margin-right: -25px;
}
.mr-25 {
  margin-right: -25px;
}
.mr-20 {
  margin-right: -20px;
}
.mr-15 {
  margin-right: -15px;
}
.mr-10 {
  margin-right: -10px;
}
.mr-5 {
  margin-right: -5px;
}
.mr0 {
  margin-right: 0;
}
.mr10 {
  margin-right: 10px;
}
.mr15 {
  margin-right: 15px;
}
.mr20 {
  margin-right: 20px;
}
.mr30 {
  margin-right: 30px;
}
.mr40 {
  margin-right: 40px;
}
.mr50 {
  margin-right: 50px;
}
.ml-30 {
  margin-left: -30px;
}
.ml-25 {
  margin-left: -25px;
}
.ml-20 {
  margin-left: -20px;
}
.ml-15 {
  margin-left: -15px;
}
.ml-10 {
  margin-left: -10px;
}
.ml-5 {
  margin-left: -5px;
}
.ml0 {
  margin-left: 0;
}
.ml5 {
  margin-left: 5px;
}
.ml10 {
  margin-left: 10px;
}
.ml15 {
  margin-left: 15px;
}
.ml20 {
  margin-left: 20px;
}
.ml30 {
  margin-left: 30px;
}
.ml40 {
  margin-left: 40px;
}
.ml50 {
  margin-left: 50px;
}

.pt0 {
  padding-top: 0;
}
.pt5 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt30 {
  padding-top: 30px;
}
.pt40 {
  padding-top: 40px;
}
.pt50 {
  padding-top: 50px;
}

.pb0 {
  padding-bottom: 0;
}
.pb5 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb40 {
  padding-bottom: 40px;
}
.pb50 {
  padding-bottom: 50px;
}

.w5 {
  width: 5%;
}
.w10 {
  width: 10%;
}
.w20 {
  width: 20%;
}
.w25 {
  width: 25%;
}
.w30 {
  width: 30%;
}
.w33 {
  width: 33%;
}
.w36 {
  width: 36%;
}
.w40 {
  width: 40%;
}
.w50 {
  width: 50%;
}
.w60 {
  width: 60%;
}
.w70 {
  width: 70%;
}
.w80 {
  width: 80%;
}
.w90 {
  width: 90%;
}
.w100 {
  width: 100%;
}

.fl {
  float: left;
}
.fr {
  float: right;
}
.tac {
  text-align: center;
}
.tal {
  text-align: left;
}
.tar {
  text-align: right;
}
.vam {
  vertical-align: middle;
}
.indent_t {
  margin-left: 1em;
  text-indent: -1em;
}
.b_center {
  margin: 0 auto;
}
.bl {
  font-weight: bold;
}
.color_bl {
  color: #0085c3;
}
.small_txt {
  font-size: 82%;
}

.link_text01 {
  display: inline-block;
  padding: 0 0 0 20px;
  text-align: left;
  text-indent: -20px;
}

.link_text01:before {
  display: inline-block;
  margin: -2px 12px 0 0;
  width: 0;
  height: 0;
  border-width: 5px 4px 0;
  border-style: solid;
  border-color: #0085c3 transparent transparent;
  content: "";
  vertical-align: middle;
  font-size: 0;
}

@media screen and (max-width: 640px) {
  .tac {
    text-align: left;
  }
}


/* media screen
------------------------------- */
/* header */
@media screen and (max-width: 980px) {
  #header > .inner {
    padding: 0 0.5102%;
    width: 100%;
  }
  #header .site_title {
    width: 28.57143%;
  }
}
@media screen and (max-width: 739px) {
  #header ul {
    float: right;
    width: 345px;
  }
  #header ul li {
    width: 170px;
  }
  #header ul li a {
    font-size: 12px;
  }
  #header .btn_download a:before {
    margin: 0 11px 0 0;
    width: 18px;
    height: 24px;
  }
  #header .btn_contact a:before {
    margin: -4px 4px 0 0;
    width: 20px;
    height: 20px;
  }
  #header .logo {
    width: 83px;
  }
}
@media screen and (max-width: 640px) {
  #header > .inner {
    padding: 0;
  }
  #header .head_box {
    margin: 0;
    padding: 0 12px;
    width: 100%;
  }
  #header .head_box:after {
    display: block;
    clear: both;
    height: 0;
    content: "";
  }
  #header .site_title {
    padding: 0;
    width: 50%;
  }
  #header .logo {
    padding: 12px 0 0;
  }

  #header .logo a {
    padding: 0;
  }
  #header ul {
    float: none;
    width: 100%;
  }
  #header ul li {
    display: block;
    min-height: 92px;
    width: 33.33333%;
    height: auto;
  }
  #header ul li a {
    display: block;
    text-align: center;
    font-size: 14px;
  }
  #header ul li a > span {
    display: block;
  }
  #header .btn_download {
    margin-right: 0;
    border-radius: 0 0 0 0;
  }
  #header .btn_download a {
    padding: 13px 0 14px;
  }
  #header .btn_download a:before {
    display: block;
    margin: 0 auto 12px;
    width: 20px;
    height: 26px;
  }
  #header .btn_contact {
    margin-right: 0;
    border-radius: 0 0 0 0;
  }
  #header .btn_contact a {
    padding: 10px 0 5px;
  }
  #header .btn_contact a:before {
    display: block;
    margin: 0 auto 8px;
    width: 25px;
    height: 25px;
  }
  #header .btn_tel {
    display: block;
  }
  #header .btn_tel a {
    padding: 8px 0 5px;
  }
  #header .btn_tel a:before {
    display: block;
    margin: 0 auto 5px;
    width: 22px;
    height: 30px;
  }
}
@media screen and (max-width: 480px) {
  #header ul li {
    min-height: 76px;
  }

  #header ul li a {
    font-size: 10px;
  }
  #header .btn_download a:before {
    width: 16px;
    height: 20px;
  }
  #header .btn_contact a:before {
    width: 21px;
    height: 21px;
  }
  #header .btn_tel a:before {
    width: 18px;
    height: 26px;
  }
}
/* ----- end header ----- */

/* ----- price ----- */
.p_price .part_col4_01 {
  display: flex;
  flex-wrap: wrap;
}
.p_price .part_col4_01 .part_col4_inner01,
.p_price .part_col4_01 .part_col4_inner02 {
  width: calc(100% / 4 * 1);
  border-top: 1px solid #c7c7c7;
  border-bottom: 1px solid #c7c7c7;
  border-left: 1px solid #c7c7c7;
  text-align: center;
}
.part_col4_01 .prt_w100 {
  margin: 0;
  padding: 10px 0;
  width: 100%;
  border: solid 1px #c7c7c7;
  border-bottom: none;
  background: linear-gradient(to right, #e7f4fa,#113251);
  color: #fff;
  text-align: center;
  font-weight: bold;
}
.p_price .part_col4_01 .part_col4_inner01 dl {
  padding: 10px;
}

.p_price .part_col4_01 .part_col4_inner01 dl dt {
  padding: 7px 0;
  background: #e7f4fa;
}
.p_price .part_col4_01 .part_col4_inner02 dl {
  padding: 10px;
}
.p_price .part_col4_01 .part_col4_inner02 dl dt {
  padding: 7px 0;
  background: #76aee2;
}

.p_price .part_col4_01 .part_col4_inner03 {
  width: calc(100% / 4 * 2);
  border-top: 1px solid #c7c7c7;
  border-right: 1px solid #c7c7c7;
  border-bottom: 1px solid #c7c7c7;
  border-left: 1px solid #c7c7c7;
  text-align: center;
}

.p_price .part_col4_01 .part_col4_inner03:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: "";
  font-size: 0;
}

.p_price .part_col4_01 .part_col4_inner03 dt {
  padding: 7px 0;
  background: #113251;
  color: #fff;
}

.p_price .part_col4_01 img {
  max-width: 100%;
}
.p_price .part_col4_01 .part_col4_inner03 dl {
  float: left;
  box-sizing: border-box;
  padding: 10px;
  width: 50%;
}

@media screen and (max-width: 640px) {
  .p_price .part_col4_01 .part_col4_inner01,
  .p_price .part_col4_01 .part_col4_inner02 {
    width: calc(100% / 2 * 1);
  }
  .p_price .part_col4_01 .part_col4_inner02 {
    border-right: 1px solid #c7c7c7;
  }

  .p_price .part_col4_01 .part_col4_inner03 {
    margin: 15px 0;
    width: 100%;
    border: 1px solid #c7c7c7;
  }
}

/* ----- new_icon ----- */
.main .js_new_icon:after,
.footer .js_new_icon:after,
#sp_nav_bottom dl dd a.js_new_icon:after {
  position: relative;
  top: -2px;
  display: inline-block;
  margin-left: 4px;
  padding: 0 4px;
  background: #e60012;
  color: #fff;
  content: "NEW";
  vertical-align: middle;
  font-weight: bold;
  font-size: 12px;
  line-height: 1.4;
}

/*	colorbox
-----------------------------------------*/
#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper {
  max-width: none;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  margin: 0 auto;
  padding: 20px;
}
#cboxLoadedContent p {
  margin-top: 20px;
}
#cboxLoadedContent p em {
  font-weight: bold;
  font-style: normal;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}

#cboxOverlay {
  background: #000;
  opacity: .5;
  filter: alpha(opacity=50);
}

#colorbox {
  outline: 0;
}

#cboxContent {
  margin-top: 44px;
  overflow: visible;
  background: #fff;
}

.cboxIframe {
  background: #fff;
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}

#cboxLoadingGraphic {
  background: url(/img/elements/loading.gif) no-repeat center center;
}

#cboxLoadingOverlay {
  background: #fff;
}

#cboxCurrent {
  position: absolute;
  top: -22px;
  right: 205px;
  text-indent: -9999px;
}
#cboxPrevious, #cboxNext, #cboxSlideshow {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  text-indent: -9999px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: -20px;
}

#cboxTitle {
  position: absolute;
  top: -44px;
  left: 0;
  color: #333;
  padding: 10px 15px;
  font-weight: bold;
  background: #f4f4f4;
  border-bottom: #c3c3c3 1px solid;
  width: 100%;
  min-height: 44px;
}

#cboxClose {
  position: absolute;
  top: -35px;
  right: 15px;
  display: block;
  text-indent: -999em;
  height: 25px;
  width: 25px;
}
#cboxClose:before {
  content: "";
  display: block;
  background: #666;
  border: #666 1px solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 12px;
  right: 3px;
  width: 20px;
  height: 1px;
}
#cboxClose:after {
  content: "";
  display: block;
  background: #666;
  border: #666 1px solid;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 12px;
  right: 3px;
  width: 20px;
  height: 1px;
}
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
  outline: 0;
}

#cboxPrevious {
  background-position: 0px 0px;
  right: 44px;
}

#cboxPrevious:hover {
  background-position: 0px -25px;
}

#cboxNext {
  background-position: -25px 0px;
  right: 22px;
}

#cboxNext:hover {
  background-position: -25px -25px;
}

#cboxClose {
  background-position: -50px 0px;
}

#cboxClose:hover {
  background-position: -50px -25px;
}

.cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious {
  right: 66px;
}

.cboxSlideshow_on #cboxSlideshow {
  background-position: -75px -25px;
  right: 44px;
}

.cboxSlideshow_on #cboxSlideshow:hover {
  background-position: -100px -25px;
}

.cboxSlideshow_off #cboxSlideshow {
  background-position: -100px 0px;
  right: 44px;
}

.cboxSlideshow_off #cboxSlideshow:hover {
  background-position: -75px -25px;
}

/* modal_movie */
#modal_movie {
  margin: 0 auto;
  max-width: 620px;
  width: 100%;
}
#modal_movie .movie_wrap {
  position: relative;
  overflow: hidden;
  margin: 0 auto 25px;
  max-width: 620px;
  max-height: 355px;
  width: 100vw;
  height: 100vw;
}
#modal_movie .movie_ttl {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 18px;
}
#modal_movie .movie_txt {
  font-size: 15px;
}