@charset "utf-8";
/* CSS Document */

/*-----ボタン-----*/
.btn_ltblue_ccl a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  line-height: 1.8em;
  color: black;
}
.btn_ltblue_ccl a::before {
  font-family: Material Icons;
  content: "\e5cc";
  color: #fff;
  background-color: #707d96;
  font-size: 1.3rem;
  border-radius: 50%;
  padding: 1px 1px 1px 2px;
  margin-right: 0.4em;
  vertical-align: bottom;
}

/*-----product_header-----*/
.area_product{
  width: calc((100% - 3rem) / 4 * 3);
  margin-right: 3rem;
}

.area_product .product_header,
.area_product .related_info {
  margin-top: 0;
}

.product_header {
  justify-content: space-between;
}

.product_header hr {
  margin-bottom:0;
}
.area_product a {
  text-decoration: none;
}
.area_product th,
.area_product td {
  padding: 0.6em 0.7em;
  font-size: 1.4rem;
}

.area_product .note th,
.area_product .note td {
  font-size: 1.2rem;
}

h1.product_ttl {
  font-size: 4.5rem;
  line-height: 1.2;
  font-weight: bold;
  overflow-wrap: anywhere;
}
.product_ttl .name_label {
  display: block;
  font-size: 1.5rem;
  line-height: 1.5;
}
h1.product_ttl_nolabel  {
  font-size: 4.5rem;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 2.2rem;
}

.related_area {
  flex-direction: column;
}
.related_info .btn_cmn {
  font-size: 1.4rem;
  padding: 0.25em 1.7em 0.25em 1.2em;
}
.related_info > .related_item:not(:first-child) {
  margin-left:1rem;
}

.related_info .btn_ltblue_ccl {
  font-size: 1.3rem;
  margin-right: 0.6em;
}

.related_item .material-icons {
  font-size: 2rem;
  vertical-align: middle;
  padding-left: 0.5em;
  width: 2rem;
}
.print_off {
  display: none;
}

/*-----product_lead-----*/
.product_lead {
  display: flex;
  margin-top: 7rem;
}
.lead_txt {
  width: calc((100% - 3rem) / 9 * 5); 
}
.lead_txt h4 {
  font-size: 1.7rem;
}
.lead_img {
  margin-left: 3rem;
  width: calc((100% - 3rem) / 9 * 4); 
}
.lead_img img {
  margin-top: 0;
}
.product_lead h2 {
  border-left: none;
  padding-left: 0;
  margin: 0;
}
.lead_detail {
  margin-top: 5rem;
}
/*単位*/
.lead_detail .al_right {
  margin-top: 0;
}
.sdmark{
  width: calc((100%) / 5 * 3);
}
/*-----product_main-----*/
.product_main {
  margin-top: 4rem;
}

/*ボーダー無しのテーブルには「：」を入れる*/
.tb_noborder tbody tr td:not(:first-of-type) {
  padding-left: 0.2em;
  text-indent: -0.2em;
}
.tb_noborder tbody tr td:not(:first-of-type):before {
  content: ":";
}

/*-----製品ラインナップ-----*/
.wrap_tb_scroll_headfix {
  max-width: 90rem;
  overflow: hidden;
}
.wrap_tb_scroll_headfix table {
  margin-top: 0;
}
.wrap_tb_scroll_headfix table th,
.wrap_tb_scroll_headfix table td{
  padding:0 0.5em;
  line-height: 1.2;
}
div.lock_box {
  float: left;
  width: 20%;
}
div.lock_box  table{
  border-right: 0;
}
div.x_scroll_box {
  float: left;
  max-width: 80%;
  overflow-y: hidden;
  overflow-x: auto;
}
.product_lineup .tb_img {
  height: 15.6rem;
}
.product_lineup .tb_img img{
  margin-top: 0;
  max-height: 14rem;
}
.product_lineup .tb_high{
  height: 6rem;
}
.product_lineup .tb_default {
  height: 4rem;
}
div.x_scroll_box::-webkit-scrollbar {
  height: 0.5rem;
}
div.x_scroll_box::-webkit-scrollbar-thumb {
  background: #707d96;
}
div.x_scroll_box::-webkit-scrollbar-track {
  background: #ddd;
}
.product_lineup table,
.product_lineup th,
.product_lineup td {
  border: none;
  padding: 0.3rem 1rem;
  line-height: 1.85;
  background-color:white;
}
.product_lineup tr:nth-child(2) td{
  font-size: 1.8rem;
  font-weight: bold;
  padding-bottom: 1.5rem;
}

/*-----ブレード注意文-----*/
.area_caution {
  margin-top: 3rem;
}
.area_caution .note {
  color:#8d8d8d;
}


/*-----検索ページ用-----*/
.product_top_ttl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
ul.ul_products li {
  padding-right: 1rem;
}
.area_products a {
  text-decoration: none;
  color: #000;
}
.area_products a:hover {
  box-shadow: 0 0 3rem #8d8d8d;
  border-radius: 0.5rem;
  z-index: 1;
  opacity: 1;
}
#msg_link {
  text-decoration: underline;
  line-height: initial;
  color: #293382;
  transition: 0.1s;
  cursor: pointer;
}
#msg_link:hover {
  text-decoration: none;
  box-shadow: initial;
  border-radius: initial;
  z-index: initial;
  opacity: initial;
}
.area_products .item_1_5 {
  margin-right: 0;
  padding: 0 1rem 2rem 1rem;
  width: calc(100% / 5 * 1);
}
.area_products .item_1_6 {
  margin-right: 0;
  padding: 0 1rem 2rem 1rem;
  width: calc(100% / 6 * 1);
}
.product_box .product_image {
  position: relative;
  width: 100%;
}
.product_box .btn_product {
  display: none;
  position: absolute;
  width: 80%;
  top: 100%;
  left: 50%;
  transform: translateY(-100%) translateX(-50%);
  padding-top: 1.0rem;
  padding-bottom: 1.0rem;
}
.area_products a:hover > .product_box .btn_product {
  display: block;
  background-color: #293382;
}
.product_box .top_name {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 2.0rem;
  padding-left: 1rem;
}
.product_box .top_sub {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.5rem;
  margin-top: 0;
  padding-left: 1rem;
}
.product_box .top_note {
  font-size: 1.2rem;
  color: #8d8d8d;
  line-height: 1.7rem;
  margin-top: 1rem;
  padding-left: 1rem;
}
.nav_side_search {
  border-left: 0.1rem solid #ddd;
  align-self: stretch;
}
#product_search {
  margin-left: 3rem;
  display: block;
}
#nav_btn {
  display: none;
}
.btn_arrow_down::after,
.btn_arrow_up::after{
  font-family: Material Icons;
  position: absolute;
  display: inline-block;
  top: calc(50% - 1rem);
  right: 0.7rem;
  font-size: 1.8rem;
  font-weight: bold;
}
.btn_arrow_down::after {
  content: "\e5cf";
}
.btn_arrow_up::after {
  content: "\e316";
}
.slct_arrow {
  position: relative;
}
.slct_arrow::after {
  font-family: Material Icons;
  content: "\e5cf";
  padding-top: 0.2rem;
  font-size: 1.8rem;
  font-weight: bold;
  position: absolute;
  top: 0;
  left:97%;
  transform: translateX(-97%);
  pointer-events: none;
}
.product_search select {
  border-style: solid;
  border-radius: 0.3rem;
  height: 3.5rem;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  cursor: pointer;
  font-size: 1.3rem;
}
.product_search p {
  margin-top: 2rem;
}
.product_search .count{
  margin-top: 5rem;
}
#count_data {
  font-size: 2rem;
  font-weight: bold;
}
#product_search .btn_cmn {
	padding-left:2.5rem;
}

/**チェックボックス系*/
.closed input,
.method input,
.type input,
.size input {
  display: none;
}
.closed span,
.method span,
.type span,
.size span {
  display: block;
  position: relative;
  padding-left: 2rem;
  cursor: pointer;
}
.closed span::before,
.method span::before,
.type span::before,
.size span::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border: 0.2rem solid #ddd;
  border-radius: 0.3rem;
}
.closed input:checked + span::before,
.method input:checked + span::before,
.type input:checked + span::before,
.size input:checked + span::before {
  background-color: #293382;
  border: 0.2rem solid #293382;
}
.closed input:checked + span::after,
.method input:checked + span::after,
.type input:checked + span::after,
.size input:checked + span::after {
  font-family: Material Icons;
  content: "\e5ca";
  color: white;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.process span{
  cursor: pointer;
  display:inline-block;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border: 0.1rem solid #707d96;
  border-radius: 0.5rem;
  word-break: keep-all;
  margin-bottom: 0.6rem;
  margin-right: 0.25rem;
}
.process input{
  display: none;
}
.process input:checked + span {
  background-color: #707d96;
  color: white;
}
#clear {
  margin-top: 3rem;
}

.closed li{
	color: #8a8a8a;
}

/*-------------------タブレット以下用-------------------*/
@media screen and (max-width: 1024px) {
  .area_product{
    width:100%;
  }
  .product_header {
    flex-direction: column;
  }
  /*product_lead*/
  .product_lead {
    flex-direction: column-reverse;
    margin-top: 2rem;
  }
  .lead_img {
    margin-left: 0;
    width: 100%;
  }
  .lead_img img {
    margin: 0 auto;
  }
  .lead_txt {
    width: 100%;
    margin-top: 1rem;
  }
  .sdmark{
    width: calc(100vw / 3 * 2);
    margin: 0 auto;
  }
  /*スマホの時は左寄せ*/
  .related_info {
    justify-content: left;
  }
  .related_item,
  .related_info > .related_item:not(:first-child) {
    margin-left: 0;
  }
  .related_info .btn_cmn {
    margin: 2rem 1rem 0 0;
  }
  /*印刷ボタンはスマホでは非表示*/
  .related_area .related_info .btn_cmn:first-of-type {
    display: none;
  }
  .related_area .related_info:not(:first-of-type) {
    margin-top: 1rem;
  }
  /*製品ラインナップ*/
  div.lock_box {
    width: 40%;
  }
  div.x_scroll_box {
    width: 60%;
  }
  .product_lineup .tb_high{
    height: 10rem;
  }
  /*装置検索一覧ページ用*/
  .product_top_header {
    padding-bottom: 1.5rem;
  }
  .product_top_ttl h1{
    padding-bottom: 3.8rem;
  }
  ul.ul_products {
    border-top: solid 1px #ddd;
    padding-top: 1.5rem;
    width: 100%;
  }
  .area_products {
    order:2;
  }
  .area_products .item_1_5, .area_products .item_1_6 {
    width: 50%;
  }
  .product_box .btn_product {
    width: 100%;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
  }
  .nav_side_search {
    border: none;
    order:1;
    margin-top: 2rem;
  }
  #product_search {
    margin-left: 0;
    display: none;
  }
  .product_search .flex_row {
    margin-top: 0;
  }
  #nav_btn {
    display: block;
  }
  .order .item_2_3 {
    margin-top: 2rem;
    margin-right: 0;
    width: 60%;
  }
  .order .item_extra {
    width: 40%;
  }
  .product_search select {
    width: 100%;
    font-size: 1.6rem;
  }
  .product_search .count {
    text-align: right;
    margin: 2rem 2rem 0 0;
  }
  
}

/*-------------------印刷用-------------------*/
@media print {
  /*必要なところ以外は非表示*/
  header,
  .inner_wide,
  nav,
  #consent,
  #area_recommend,
  #area_history,
  footer{
    display: none;
  }
  #print_target {
    width: 100%;
    margin-right: 0;
  }
  /*印刷ボタン*/
  .related_item:hover {
    background-color:#8a8a8a;
  }
  a:hover {
    opacity: initial;
  }
  /*コンテンツサイズ調整*/
  .area_conts h2 {
    font-size: 1.9rem;
  }
  .lead_txt {
    width: 60%;
  }
  .lead_img {
    width: 40%;
  }
  /*表・ラインナップdiv内で改ページしない*/
  table,
  .product_lineup {
      page-break-inside: avoid;
  }
  .product_lead {
    margin-top: 1.5rem;
  }
  .product_main hr{
    page-break-before: always;
    margin-top: 0 !important;
  }
  .product_main hr:first-child{
    page-break-before:auto;
    margin-top: auto;
  }
  .product_main + hr, .product_lineup + hr{
    page-break-before: always;
    margin-top: 0 !important;
  }
  .printbreak {
    page-break-before: always;
    margin-top: 0 !important;
  }
  body {
    zoom: 0.60;
  }
  img {
    page-break-inside: avoid;
  }
}
