:root {}

/* ================================================ */
/* 変数 */
/* ================================================ */
:root {
  --color-main: #282D31;
  --color-main-hover: #36BAFF;
  --color-blue: #2E7BBE;
  --color-blue02: #08AAFF;
  --color-blue03: #013993;
  --color-blue04: #005AA7;
  --color-red: #E2002B;
  --color-gray: #D5DADE;
  --base-width-sp-value: 375;
}

/* ================================================ */
/* 基本設定 */
/* ================================================ */
body {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #474C50;
  color: var(--color-main);
  font-feature-settings: "palt";
}

input[type="text"],
textarea,
select {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.2em;
}

div.change_mode_ {
  display: none !important;
}

a:link,
a:visited {
  color: #474C50;
  color: var(--color-main);
}

@media (min-width: 769px) {

  a:link:hover,
  a:visited:hover {
    opacity: 1;
    color: #36BAFF;
    color: var(--color-main-hover);
    -webkit-text-decoration: none;
    text-decoration: none;
  }
}

a[target="_blank"] {
  position: relative;
}

a[target="_blank"]::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url(../../img/usr/common/icon_blank_blue.png) no-repeat center center / contain;
  position: relative;
}

@media (max-width: 768px) {
  .hidden-sp {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .hidden-pc {
    display: none !important;
  }
}

.mainframe_>.goods_filter_,
.mainframe_>.navistyle_:not(#goods_class_filter_) {
  display: none;
}

/* ================================================ */
/* ページ全体の背景色
/* ================================================ */
.wrapper_wrapper_ {
  padding-bottom: 0;
  background: #F2F3F5;
  min-width: 1455px;
}

@media (max-width: 768px) {
  .wrapper_ {
    padding-top: 0;
    background: #F2F3F5;
  }
}

/* ================================================ */
/* input装飾系 */
/* ================================================ */
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url(../../img/usr/common/icon_triangle_bottom_blue.png) no-repeat right 10px center/9px 7px;
  border: 1px solid #000;
  padding: 5px 32px 5px 8px;
  /* 右側に余白 */
  font-size: 14px;
  outline: none;
  cursor: pointer;
}

select:focus {
//  border: 1px solid transparent !important;
  border: 1px solid #D5DADE !important;
  border: 1px solid var(--color-gray) !important;
  outline: none !important;
}

.input[type="text"],
input[type="password"] {
  border-color: ;
}

/* ================================================ */
/* swiper装飾系 */
/* ================================================ */
.swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 10px 16px;
}

@media (max-width: 768px) {
  .swiper-pagination {
    gap: 10px 15px;
  }
}

.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  opacity: 1;
  background: #D5DADE;
  background: var(--color-gray);
  margin: 0 !important;
}

@media (max-width: 768px) {
  .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }
}

.swiper-pagination-bullet-active {
  background: #08AAFF;
  background: var(--color-blue02);
}

.block-calendar-slide-area {
  padding: 0;
}

.swiper-button-next,
.swiper-button-prev {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  display: none;
}

.swiper-button-next::before,
.swiper-button-prev::before {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

.swiper-button-next::before {
  border-top: 2px solid #08AAFF;
  border-top: 2px solid var(--color-blue02);
  border-right: 2px solid #08AAFF;
  border-right: 2px solid var(--color-blue02);
  transform: translate(-50%, -50%) rotate(45deg) translate(-1px, 1px);
}

.swiper-button-prev::before {
  border-bottom: 2px solid #08AAFF;
  border-bottom: 2px solid var(--color-blue02);
  border-left: 2px solid #08AAFF;
  border-left: 2px solid var(--color-blue02);
  transform: translate(-50%, -50%) rotate(45deg) translate(1px, -1px);
}

@media screen and (min-width: 769px) {

  .swiper-button-next:hover,
  .swiper-button-prev:hover {
    background: #36BAFF;
  }

  .swiper-button-next:hover::before,
  .swiper-button-prev:hover::before {
    border-color: #fff;
  }
}

/* ================================================ */
/* カレンダー調整 */
/* ================================================ */
#calendar.block-calendar {
  padding: 7px 0 10px;
  width: 174px;
  height: 236px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  #calendar.block-calendar {
    width: 100%;
    height: 285px;
    max-width: 100%;
  }
}

#calendar.block-calendar .block-calendar-title {
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: bold;
}

#calendar.block-calendar .block-calendar-month {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 25px;
  font-size: 12px;
  background: #2E7BBE;
  background: var(--color-blue);
  color: #fff;
  font-weight: bold;
}

#calendar.block-calendar .block-calendar-month>b {
  padding: 0;
  margin: 0;
  font-size: 12px;
}

#calendar.block-calendar .block-calendar-prev img,
#calendar.block-calendar .block-calendar-next img{
  vertical-align: bottom;
}

#calendar.block-calendar table tr {
  max-width: 100%;
  display: flex;
  border: 0;
}

#calendar.block-calendar table th {
  width: calc(100% / 7);
  padding: 3px 0;
  background: #E8EAED;
  color: #2E7BBE;
  color: var(--color-blue);
  line-height: 1;
}

#calendar.block-calendar table td {
  width: calc(100% / 7);
  height: 20px;
  font-weight: bold;
  background-color: #ffffff;
}

#calendar.block-calendar table tr:nth-of-type(1) td {
  height: 18px;
}

#calendar.block-calendar table td span {
  width: 100%;
  height: 100%;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  line-height: 1;
}

#calendar.block-calendar table td:has(span.closed) {
  background: #B7BDC3;
}

#calendar.block-calendar table td span.closed {
  color: #fff;
}

#calendar.block-calendar table td span.today {
  color: #08AAFF;
  font-weight: bold;
  font-size: 12px;
}

#calendar.block-calendar .block-calendar-slide-area-wrapper {}

#calendar.block-calendar .block-calendar-slide-area {
  width: 190px;
  padding: 0 5px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  #calendar.block-calendar .block-calendar-slide-area {
    width: 100%;
    padding: 0 15px;
    flex-shrink: 0;
  }
}

#calendar.block-calendar .block-calendar-month-area {}

/* ================================================ */
/* 検索窓 */
/* ================================================ */
.d-search {
  width: 100%;
}

@media (max-width: 768px) {
  .d-search {}
}

@media (min-width: 769px) {
  .d-search {
    width: auto;
    margin-left: 16px;
  }
}

@media (max-width: 768px) {
  .d-search>form {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 calc(10 * (100vw / 375));
    padding: 0 calc(10 * (100vw / var(--base-width-sp-value)));
    box-sizing: border-box;
    background: #F2F3F5;
    height: 52px;

  }

  .d-search>form::before,
  .d-search>form::after {
    display: none;
  }
}

.d-search>form>dl {
  position: relative;
}

.d-search>form>dl>dt {
  width: 100%;
}

.d-search>form>dl>dt input {
  width: 100%;
  padding: 5px 52px 5px 20px;
  min-height: 40px;
  border: 0;
  border-radius: 20px;
  box-sizing: border-box;
  font-size: 14px;
}

@media (max-width: 768px) {
  .d-search>form>dl>dt input.keyword_ {
    padding: 5px 10px 5px 10px;
    width: 100%;
    height: 36px;
    background: #FFFFFF;
    border-radius: 26px;
    font-size: 13px;
  }
}

.d-search>form>dl>dd {
  width: 32px;
  height: 32px;
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .d-search>form>dl>dd {
    right: 7px;
  }
}

.d-search>form>dl>dd>button {
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  margin: 0;
  cursor: pointer;
  background: url(../../img/usr/common/icon_search.png) no-repeat center center / contain;
}

.d-search.is-header>form>dl {
  width: 317px;
}

@media (max-width: 768px) {
  .d-search.is-header>form>dl {
    width: 100%;
  }
}

@media (min-width: 769px) {
  .d-search.is-header {
    order: 1;
    flex-shrink: 0;
  }
}

/* ================================================ */
/* もっと見るボタン */
/* ================================================ */
.fixbtn-area {
  position: fixed;
  bottom: 16px;
  width: 100%;
  z-index: 1000;
}

@media (max-width: 768px) {
  .fixbtn-area {
    z-index: 1000;
  }
}

.fixbtn-area--btn {
  width: 48px;
  position: absolute;
  right: 0;
  bottom: 0;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}

@media (min-width: 769px) {
  .fixbtn-area--btn:hover {
    opacity: 0.8;
  }
}

.fixbtn-area--btn.-pagetop {
  right: 16px;
}

.fixbtn-area--btn.is-hidden {
  opacity: 0;
  pointer-events: none !important;
  cursor: default !important;
}

.fixbtn-area--btn.-em-search {
  bottom: 94px;
}

@media (max-width: 768px) {
  .fixbtn-area--btn.-em-search {
    width: 40px;
    bottom: 0;
    right: auto;
    left: 16px;
  }
}

@media (max-width: 768px) {
  .fixbtn-area--btn.-em-search button {
    padding: 0;
    border: 0;
    margin: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    position: absolute;
    top: -5px;
    right: -5px;
  }
}

.fixbtn-area--btn.-ai-chat {
  bottom: 270px;
}

@media (max-width: 768px) {
  .fixbtn-area--btn.-ai-chat {
    width: 140px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
}

/* ================================================ */
/* もっと見るボタン */
/* ================================================ */
.blk-more-btn {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  position: relative;
  padding: 5px 45px;
  margin: 0 auto;
  background: #282D31;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
  position: relative;
  letter-spacing: 0.1em;
}

.blk-more-btn:link,
.blk-more-btn:visited {
  color: #fff;
}

.blk-more-btn::after {
  content: '';
  display: inline-flex;
  background: url(../../img/usr/common/icon_arrow_circle.png) no-repeat center center / contain;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

/* ================================================ */
/* 問い合わせ・カタログダウンロード */
/* ================================================ */
.d-contact-catalog-box--txt {
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

@media (max-width: 768px) {
  .d-contact-catalog-box--txt {
    font-size: min(calc(13 * (100vw / 375)), 13px);
    font-size: min(calc(13 * (100vw / var(--base-width-sp-value))), 13px);
  }
}

.d-contact-catalog-box {
  display: block;
  width: 320px;
  height: 236px;
  padding: 20px 20px 20px;
  background: #fff;
  line-height: 1;
  margin-left: 10px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .d-contact-catalog-box {
    width: 100%;
    margin: 0 auto 0;
  }
}

.d-contact-catalog-box.in-modal {
  width: calc(100% - 30px);
  margin: 40px 15px 0;
  box-sizing: border-box;
}

.d-contact-catalog-box--btns {
  margin: 20px auto 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.d-contact-catalog-box--btn {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  position: relative;
  margin: 0 auto;
}

.d-contact-catalog-box--btn.-contact {
  background: #08AAFF;
  background: var(--color-blue02);
  color: #fff;
}

.d-contact-catalog-box--btn.-contact::before {
  content: '';
  display: block;
  width: 23px;
  height: 18px;
  background: url(../../img/usr/common/icon_mail_wh.png) no-repeat center center / contain;
  position: absolute;
  top: 50%;
  left: 17px;
  transform: translateY(-50%);
  pointer-events: none;
}

@media (max-width: 768px) {
  .d-contact-catalog-box--btn.-contact::before {
    width: 19px;
    height: 14px;
    left: 25px;
  }
}

.d-contact-catalog-box--btn.-contact::after {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  background: url(../../img/usr/common/icon_arrow_circle02.png) no-repeat center center / contain;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  pointer-events: none;
}

.d-contact-catalog-box--btn.-catalog {
  background: #282D31;
  color: #fff;
  position: relative;
}

.d-contact-catalog-box--btn.-catalog::after {
  content: '';
  display: block;
  width: 15px;
  height: 14px;
  background: url(../../img/usr/common/icon_blank_wh.png) no-repeat center center / contain;
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-50%);
  pointer-events: none;
}

@media (max-width: 768px) {
  .d-contact-catalog-box--btn.-catalog::after {
    width: 12px;
    height: 12px;
    right: 18px;
  }
}

/* ================================================ */
/*共通見出し*/
/* ================================================ */
.common_headline1_ {
  padding: 0;
  margin: 0;
  font-size: 34px;
}

@media (max-width: 768px) {
  .common_headline1_ {
    font-size: 24px;
  }
}

.navitopicpath_+.common_headline1_ {
  margin-top: 18px;
}

.common_head02_,
div.topiclist_ .topiclist_head_ {
  display: flex;
  align-items: center;
  padding: 10px 20px 10px;
  background: #2E7BBE;
  background: var(--color-blue);
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  position: relative;
  min-height: 60px;
  box-sizing: border-box;
}

@media (max-width: 768px) {

  .common_head02_,
  div.topiclist_ .topiclist_head_ {
    font-size: 18px;
    min-height: 48px;
  }
}

.common_head02_ h2,
div.topiclist_ .topiclist_head_ h2 {
  position: static;
  position: initial;
  font-size: inherit;
  line-height: 1;
  font-weight: bold;
}

.common_head02_ h2::before,
div.topiclist_ .topiclist_head_ h2::before,
.common_head02_ h2::after,
div.topiclist_ .topiclist_head_ h2::after {
  width: 6px;
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50%;
}

.common_head02_ h2::before,
div.topiclist_ .topiclist_head_ h2::before {
  background: #08AAFF;
  background: var(--color-blue02);
}

.common_head02_ h2::after,
div.topiclist_ .topiclist_head_ h2::after {
  background: #013993;
  background: var(--color-blue03);
  top: auto;
}

.common_headline2_::before {
  background-color: #2E7BBE;
  background-color: var(--color-blue);
}

.common_head03_ {}

.btn-default {
  background: #282D31;
  background: var(--color-main);
  position: relative;
}

@media (max-width: 768px) {
  #contentArea {
    padding: 0;
    min-height: auto;
  }
}

/* ================================================ */
/* カートボタン */
/* ================================================ */
.btn_cart_.cart_s_button_,
.btn_cart_.cart_m_button_ {
  background: #E2002B;
  background: var(--color-red);
  color: #fff;
  padding: 10px 10px 10px;
  border-radius: 0;
  min-height: 42px;
  box-sizing: border-box;
  font-size: 14px;
  font-weight: bold;
  width: 100%;
}

@media (max-width: 768px) {

  .btn_cart_.cart_s_button_,
  .btn_cart_.cart_m_button_ {
    min-height: 40px;
  }
}

.btn_cart_.cart_s_button_::before,
.btn_cart_.cart_m_button_::before {
  display: none !important;
}

@media (min-width: 769px) {

  .btn_cart_.cart_s_button_:hover,
  .btn_cart_.cart_m_button_:hover {
    opacity: .8;
    color: #fff;
  }
}

.btn_cart_.cart_m_button_::before {
  display: block;
}

/* ================================================ */
/* 数量入力欄 */
/* ================================================ */
dl.qty_ {
  display: flex;
  align-items: center;
  gap: 20px;
}

dl.qty_>dt::after {
  content: ':';
}

dl.qty_>dd {
  width: 80px;
  flex-shrink: 0;
}

dl.qty_>dd>input {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 30px;
  padding: 3px 5px 3px;
  border-radius: 15px;
  border: 0;
  background: #fff;
  text-align: right !important;
  box-sizing: border-box;
}

dl.qty_>dd>span {
  display: none;
}

div.qty_ {
  display: flex;
  align-items: center;
  white-space: nowrap;
  gap: 10px 10px;
}

div.qty_>input[type="text"] {
  width: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 30px;
  padding: 3px 5px 3px;
  border-radius: 15px;
  border: 0 !important;
  background: #fff;
  text-align: right !important;
  box-sizing: border-box;
}

div.qty_>input[type="text"]:focus {
  border: 0 !important;
  outline: none !important;
}

@media (max-width: 768px) {
  div.qty_>input {
    width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 30px;
    padding: 3px 5px 3px;
    border-radius: 15px;
    border: 0;
    background: #fff;
    text-align: right !important;
    box-sizing: border-box;
  }

  div.qty_>span {
    display: none;
  }
}

/* ================================================ */
/* カスタムマルチプルセレクトボックス */
/* ================================================ */
span.select2-container--default .select2-selection--multiple .select2-selection__choice {
  font-size: 12px;
  border: 2px solid #08AAFF;
  margin-top: 0;
  color: #08AAFF;
  background: #fff;
  font-weight: bold;
}

.em-select+.select2.select2-container.select2-container--default .select2-selection--multiple {
  background: url(../../img/usr/common/icon_triangle_bottom_blue.png) no-repeat right 10px center/9px 7px;
}

.em-select+.select2.select2-container.select2-container--default .select2-selection--multiple.select2-selection--clearable {
  background: none;
}

span.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #08AAFF;
  border-right-color: #08AAFF;
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  color: #08AAFF;
}

/* ================================================ */
/* 注文の流れ */
/* ================================================ */
.block-order-flow {}

.block-order-flow--list {
  width: 100%;
  display: flex;
}

.block-order-flow--item {}

/* ================================================ */
/* 注文フローブロック */
/* ================================================ */
.block-order-flow {
  display: flex;
  width: 100%;
  margin-top: 40px;
}

.block-order-flow--list {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.block-order-flow--item-inner {
  padding: 10px 10px 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  min-height: 97px;
  box-sizing: border-box;
}

.block-order-flow--item-inner::before {
  content: '';
  display: block;
  position: absolute;
}

.block-order-flow--item-inner::before {
  height: 100%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #08AAFF;
  border-bottom: 2px solid #08AAFF;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  bottom: 14px;
}

.block-order-flow--item {
  width: 100%;
  max-width: calc(100% / 5);
  padding: 0;
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: all 0.3s ease;
  background: #D4E5F5;
  box-sizing: border-box;
  position: relative;
}

.block-order-flow--item::before,
.block-order-flow--item::after {
  content: '';
  display: block;
  position: absolute;
}

.block-order-flow--item::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-top: 48.5px solid transparent;
  border-bottom: 48.5px solid transparent;
  border-left: 21px solid #D4E5F5;
  transform: translateY(-50%);
  top: 50%;
  right: -10px;
  z-index: 1;
}

.block-order-flow--item::after {
  width: 22px;
  height: 100%;
  background: #D4E5F5 url('../../img/usr/common/icon_arrow_flow.png') no-repeat center center / contain;
  background: url('../../img/usr/common/icon_arrow_flow.png') no-repeat center center / contain;
  top: 50%;
  transform: translateY(-50%);
  right: -10px;
  z-index: 2;
}

.block-order-flow--item:last-of-type::before,
.block-order-flow--item:last-of-type::after {
  display: none !important;
}

.block-order-flow--item:last-of-type:hover::before,
.block-order-flow--item:last-of-type:hover::after {
  display: none !important;
}

.block-order-flow--item:nth-of-type(1) {
  order: 1;
}

.block-order-flow--item:nth-of-type(2) {
  order: 2;
}

.block-order-flow--item:nth-of-type(3) {
  order: 3;
}

.block-order-flow--item:nth-of-type(4) {
  order: 4;
}

.block-order-flow--item:nth-of-type(5) {
  order: 5;
}

.block-order-flow--item:nth-of-type(6) {
  order: 6;
}

.block-order-flow--item:nth-of-type(7) {
  order: 7;
}

.block-order-flow--item .numTxt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 15px;
  font-weight: bold;
  background: #2E7BBE;
  color: #fff;
  flex-shrink: 0;
}

.block-order-flow--item .flowTxt {
  margin-top: 4px;
  font-size: 16px;
  color: #474C50;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}

/* ================================================ */
/* もっと見る */
/* ================================================ */
/* ================================================ */
/*　パンくずリスト*/
/* ================================================ */
.navitopicpath_ {
  display: flex;
  align-items: center;
  color: #005AA7;
  padding-top: 24px;
  margin: 0 auto 0;
  gap: 0 15px;
}

@media screen and (max-width: 768px) {
  .navitopicpath_ {
    padding-top: 10px;
    gap: 0 8px;
    font-size: 10px;
  }
}

.navitopicpath_>ul {
  align-items: center;
  display: flex;
  gap: 10px 10px;
}

@media screen and (max-width: 768px) {
  .navitopicpath_>ul {
    padding: 0 4px;
    gap: 8px 8px;
  }
}

.navitopicpath_>ul>li {
  display: flex;
  align-items: center;
  gap: 10px 10px;
}

@media screen and (max-width: 768px) {
  .navitopicpath_>ul>li {
    gap: 8px 8px;
  }
}

.navitopicpath_ a {
  padding: 0;
  margin: 0;
  color: #005AA7;
  font-size: 12px;
}

@media screen and (max-width: 768px) {
  .navitopicpath_ a {
    font-size: 9px;
  }
}

.navitopicpath_ a .current_category_ {
  color: #474C50;
  color: var(--color-main);
  font-weight: bold;
}

.navitopicpath_ a.topicpath_home_ {
  position: relative;
  display: inline-flex;
  line-height: 1;
  gap: 5px;
}

.navitopicpath_ a.topicpath_home_::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background: url(../../img/usr/common/icon_home.png) no-repeat center center / contain;
  position: relative;
  left: 0;
  top: 0;
}

@media screen and (max-width: 768px) {
  .navitopicpath_ a.topicpath_home_::before {
    width: 10px;
    height: 10px;
    left: 0;
    top: 0;
  }
}

.navitopicpath_>ul>li:last-of-type a {
  font-weight: bold;
  color: #474C50;
}

.navitopicpath_>a:last-child {
  font-weight: bold;
  color: #474C50;
}

/* ================================================ */
/*　TOPIC　*/
/* ================================================ */
.topiclist_head_ h2 {}

div.topiclist_ {
  margin-top: 100px;
}

@media (max-width: 768px) {
  div.topiclist_ {
    margin-top: 40px;
    padding: 0 15px;
  }
}

div.topiclist_ .topiclist_head_wrap_ {
  display: flex;
  position: relative;
}

@media (max-width: 768px) {
  div.topiclist_ .topiclist_head_ {
    padding: 5px 20px 5px;
    color: #fff;
  }

  div.topiclist_ .topiclist_head_ h2 {
    color: #fff;
  }
}

div.topiclist_ .topiclist_link_btn_ {
  width: 100px;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 100%;
  color: #fff;
  background: #282D31;
  flex-shrink: 0;
}

div.topiclist_ .topiclist_link_btn_::after {
  content: '';
  display: inline-flex;
  background: url(../../img/usr/common/icon_arrow_circle.png) no-repeat center center / contain;
  width: 18px;
  height: 18px;
}

@media (max-width: 768px) {
  div.topiclist_ .topiclist_link_btn_ {
  min-height: 50px;
  }
}

div.topiclist_ div.topiclist_head_ {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
}

div.topiclist_ div.topiclist_head_>h2::before {
  top: 0;
  transform: none;
}

div.topiclist_ .topiclist_body_ {
  padding: 20px 40px 20px;
  background: #fff;
}

@media (max-width: 768px) {
  div.topiclist_ .topiclist_body_ {
    padding: 10px 15px 10px;
  }
}

div.topiclist_ ul.topicline_ li {
  padding: 19px 22px 18px;
  border: 0;
}

@media (max-width: 768px) {
  div.topiclist_ ul.topicline_ li {
    padding: 10px 15px 10px;
  }
}

div.topiclist_ ul.topicline_ li dl {
  width: 100%;
}

div.topiclist_ ul.topicline_ li dl dt {
  width: 132px !important;
  flex-shrink: 0;
}

div.topiclist_ ul.topicline_ li dl dd {
  width: 100% !important;
}

div.topiclist_ ul.topicline_ li dl dd a {
  color: #005AA7;
  font-size: 14px;
  font-weight: bold;
}

@media (min-width: 769px) {
  div.topiclist_ ul.topicline_ li:has(a):hover a {
    color: #36BAFF !important;
  }
}

div.topiclist_ ul.topicline_ li:nth-of-type(n+2) {
  border-top: 1px solid #D5DADE;
}

/* ================================================ */
/*　最近チェックした商品　*/
/* ================================================ */
#block_of_history {
  margin: 0 auto 0;
}

@media (max-width: 768px) {
  #block_of_history {
    padding: 0;
  }
}

#block_of_history>h2 {
  margin: 0;
  display: flex;
  align-items: center;
  padding: 10px 20px 10px;
  background: #2E7BBE;
  background: var(--color-blue);
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  position: relative;
  min-height: 60px;
  box-sizing: border-box;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  #block_of_history>h2 {
    font-size: 18px;
    min-height: 48px;
  }
}

#block_of_history>h2::before,
#block_of_history>h2::after {
  width: 6px;
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50%;
}

#block_of_history>h2::before {
  background: #08AAFF;
  background: var(--color-blue02);
}

#block_of_history>h2::after {
  background: #013993;
  background: var(--color-blue03);
  top: auto;
}

#block_of_history .StyleT_Line_ {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

@media (max-width: 768px) {
  #block_of_history .StyleT_Line_ {
    flex-wrap: nowrap;
    gap: 15px 15px;
    overflow-x: auto;
  }
}

#block_of_history div.StyleT_Item_ {
  width: calc((100% / 9) - (160px / 9));
  padding: 0;
  margin: 0;
}

@media (max-width: 768px) {
  #block_of_history div.StyleT_Item_ {
    width: 90px;
    flex-shrink: 0;
  }
}

#block_of_history div.StyleT_Item_ div.img_ {
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
  background: #fff;
}

#block_of_history div.StyleT_Item_ div.img_ a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#block_of_history div.StyleT_Item_ div.img_ a img {
  object-fit: contain;
  display: block;
  width: 100%;
  height: 120px;
  transition: transform 0.3s ease-in-out;
}

@media (min-width: 769px) {
  #block_of_history div.StyleT_Item_ div.img_ a:hover img {
    transform: scale(1.14);
  }
}

#block_of_history div.StyleT_Item_>*:not(.img_, .name_) {
  display: none !important;
}

#block_of_history #itemHistory {
  margin-top: 24px;
}

@media (max-width: 768px) {
  #block_of_history #itemHistory {
    margin-top: 0;
  }
}

#block_of_history #itemHistoryButton {
  display: none;
}

/* ================================================ */
/* 並べ替え */
/* ================================================ */
.navisort_ {
  width: auto;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  padding: 0;
  border: 0;
  margin: 0 0 0 auto;
  flex-shrink: 0;
}

.navisort_>dd {
  margin-left: 10px;
}

/* ================================================ */
/* 件数カウンター */
/* ================================================ */
.results-counter {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  font-size: 14px;
}

.results-counter .counter-hit {
  font-size: 30px;
  font-weight: bold;
  color: #E2002B;
  color: var(--color-red);
  position: relative;
  top: 2px;
}

@media screen and (max-width: 768px) {
  .results-counter .counter-hit {
    font-size: 20px;
  }
}

.results-counter2 {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  font-size: 14px;
}

.results-counter2 .counter-hit {
  font-size: 30px;
  font-weight: bold;
  color: #E2002B;
  color: var(--color-red);
  position: relative;
  top: 2px;
}

@media screen and (max-width: 768px) {
  .results-counter2 .counter-hit {
    font-size: 20px;
  }
}

/* ================================================ */
/* 一覧のページネーション */
/* ================================================ */
.navipage_ {}

.navipage_sum_ {
  font-size: 14px;
}

.navipage_sum_>strong {
  font-weight: bold;
  font-size: 18px;
}

.navipage_.bottom_ {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}

.navipage_.bottom_>.navipage_sum_ {
  display: none !important;
}

.d-navWrap>.navipage_,
.navipage_ {
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 10px;
  position: relative;
}

.d-navWrap>.navipage_>br,
.navipage_>br {
  display: none;
}

/* ページ番号*/
.d-navWrap>.navipage_>.navipage_now_,
.navipage_>.navipage_now_,
.d-navWrap>.navipage_>a,
.navipage_>a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 32px;
  min-height: 32px;
  box-sizing: border-box;
  border: 0;
  background: #fff;
  line-height: 1;
}

.d-navWrap>.navipage_>.navipage_now_,
.navipage_>.navipage_now_ {
  background: #08AAFF;
  color: #fff;
}

/* 次へボタン*/
.d-navWrap>.navipage_ .navipage_forward_,
.navipage_ .navipage_forward_ {
  display: flex;
  gap: 15px;
  flex-shrink: 0;
  text-align: left;
}

.d-navWrap>.navipage_ .navipage_forward_>.navipage_next_>a,
.navipage_ .navipage_forward_>.navipage_next_>a,
.d-navWrap>.navipage_ .navipage_forward_>.navipage_last_>a,
.navipage_ .navipage_forward_>.navipage_last_>a {
  width: 13px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  border: 0;
  overflow: hidden;
  text-indent: -150vw;
  background: none;
}

.d-navWrap>.navipage_ .navipage_forward_>.navipage_next_>a::after,
.navipage_ .navipage_forward_>.navipage_next_>a::after,
.d-navWrap>.navipage_ .navipage_forward_>.navipage_last_>a::after,
.navipage_ .navipage_forward_>.navipage_last_>a::after {
  content: '';
  display: block;
  width: 12.5px;
  height: 11px;
  background: url(../../img/usr/common/nav-last.png) no-repeat center center / contain;
}

.d-navWrap>.navipage_ .navipage_forward_>.navipage_next_>a::after,
.navipage_ .navipage_forward_>.navipage_next_>a::after {
  width: 7.5px;
  background-image: url(../../img/usr/common/nav-next.png);
}

/* 戻るボタン*/
.d-navWrap>.navipage_ .navipage_reverse_,
.navipage_ .navipage_reverse_ {
  display: flex;
  gap: 15px;
  flex-shrink: 0;
  text-align: left;
}

.d-navWrap>.navipage_ .navipage_reverse_>.navipage_prev_>a,
.navipage_ .navipage_reverse_>.navipage_prev_>a,
.d-navWrap>.navipage_ .navipage_reverse_>.navipage_first_>a,
.navipage_ .navipage_reverse_>.navipage_first_>a {
  width: 13px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  border: 0;
  overflow: hidden;
  text-indent: -150vw;
  background: none;
}

.d-navWrap>.navipage_ .navipage_reverse_>.navipage_prev_>a::after,
.navipage_ .navipage_reverse_>.navipage_prev_>a::after,
.d-navWrap>.navipage_ .navipage_reverse_>.navipage_first_>a::after,
.navipage_ .navipage_reverse_>.navipage_first_>a::after {
  content: '';
  display: block;
  width: 12.5px;
  height: 11px;
  background: url(../../img/usr/common/nav-last.png) no-repeat center center / contain;
  transform: scale(-1, 1);
}

.d-navWrap>.navipage_ .navipage_reverse_>.navipage_prev_>a::after,
.navipage_ .navipage_reverse_>.navipage_prev_>a::after {
  width: 7.5px;
  background-image: url(../../img/usr/common/nav-next.png);
  transform: scale(-1, 1);
}

/* ================================================ */
/* マイページ系 */
/* ================================================ */
div.mymenu_ {
  margin-top: 40px;
}

div.mymenu_ a:hover {
  color: #2E7BBE;
  color: var(--color-blue);
}

/* マイメニュー罫線 */
div.mymenu_topic_,
div.mymenu_ div.mymenu_main_list_ {
  border-color: #2E7BBE;
  border-color: var(--color-blue);
}

div.mymenu_ div.mymenu_main_list_ h5::before,
div.mymenu_ div.mymenu_main_list_ h4::before {
  background: #2E7BBE;
  background: var(--color-blue);
}

div.mymenu_ div.mymenu_main_list_ h5::before {
  top: 10px;
}

/* ================================================ */
/* フォーム系 */
/* ================================================ */
/* セル背景色 */
div.order_ table.estimate_method_ th,
div.order_ table.order_ th,
table.formlist_ th,
div.order_ table.formsublist_ th,
table.host_ th,
table.dest_ th,
div.order_ table.destspeclist_ th,
div.order_ table.destgoodslist_ th,
.formdetail_ th,
.formlist_ th {
  background: #D4E5F5;
}

/* ボーダー色 */
div.customer_status_,
div.order_ span.method_supplier_name_ {
  border-color: #08AAFF;
}

/* その他調整 */
div.order_ table.destgoodslist_ table.estimate_comments_ th {
  flex-shrink: 0;
  text-align: left;
}

div.order_ table.destgoodslist_ table.estimate_comments_ tr {
  /* width: 100%; */
  /* display: flex; */
}

.d-navWrap {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 82px auto 0;
}

@media (max-width: 768px) {
  .d-navWrap {
    margin-top: 40px;
    gap: 10px 10px;
    flex-wrap: wrap;
  }
}

.d-navWrap .navipage_sum_ {
  display: block;
  margin: 0;
  flex-shrink: 0;
  width: 236px;
}

@media (max-width: 768px) {
  .d-navWrap .navipage_sum_ {
    width: auto;
  }
}

.d-navWrap>.navipage_.top_ {
  width: 100%;
  margin: 0;

}

.d-navWrap>.navipage_ {
  padding: 0;
}

/* ================================================ */
/* ヘッダー調整 */
/* ================================================ */
.d-header--frame-sub-wrap>.logo {
  max-width: 282px;
}

.d-header--frame-top {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 0;

}

.d-header--logo {
  flex-shrink: 0;

}

.d-header--logo>a {
  display: block;
}

@media (min-width: 769px) {
  .d-header--logo>a {}

}

.d-header--logo>a img {
  width: auto;
  height: calc(56 * (100vw / 375));
  height: calc(56 * (100vw / var(--base-width-sp-value)));
}

@media (min-width: 769px) {
  .d-header--logo>a img {
    height: 84px;
  }
}

.d-header--frame-inner {
  width: 100%;
  display: flex;
}

@media (max-width: 768px) {
  .d-header--frame-inner {
    flex-wrap: wrap;
  }
}

@media (min-width: 769px) {
  .d-header--frame-inner {
    align-items: center;
    gap: 16px 16px;
  }
}

.d-header--frame-sub-wrap {
  display: flex;
}

@media (min-width: 769px) {
  .d-header--frame-sub-wrap {
    width: 100%;
    justify-content: space-between;
    gap: 24px 10px;
    order: 2;
  }
}

#pageTop {
  background: #E8EAED;
}

.d-header {
  width: 100%;
  overflow: hidden;
  position: relative;
  border: 0;
}

.d-header img {
  display: block;
  width: 100%;
  height: auto;
}

#pageTop.d-header.is-fixed {
  position: sticky;
  top: 0;
  z-index: 9999;
  min-width: 1455px;
}

@media (max-width: 768px) {
  #pageTop.d-header.is-fixed {
    min-width: auto;
  }
}

.d-header--nav {
  display: flex;
  align-items: center;
  gap: 23px 33px;
  font-weight: bold;
}

.d-header--nav-item>a {
  display: flex;
  align-items: center;
  gap: 7px 7px;
  font-size: 13px;
  line-height: 1;
}

.d-header--nav-item.-catalog>a {}

.d-header--nav-item.-contact>a::before {
  content: '';
  display: block;
  width: 23px;
  height: 17px;
  background: url(../../img/usr/header/icon_mail.png) no-repeat center center / contain;
  position: relative;
}

@media (max-width: 768px) {
  .d-header--nav-item.-contact>a::before {
    width: 23px;
    height: 17px;
  }
}

.d-header--nav-item.-login>a::before {
  content: '';
  display: block;
  width: 21px;
  height: 22px;
  background: url(../../img/usr/header/icon_login.png) no-repeat center center / contain;
  position: relative;
}

@media (max-width: 768px) {
  .d-header--nav-item.-login>a {
    width: calc(95 * (100vw / 375));
    width: calc(95 * (100vw / var(--base-width-sp-value)));
    flex-direction: column;
    font-size: calc(8 * (100vw / 375));
    font-size: calc(8 * (100vw / var(--base-width-sp-value)));
  }

  .d-header--nav-item.-login>a::before {
    width: 20px;
    height: 20px;
  }
}

.d-header--nav-item.-onlogin>a::before {
  content: '';
  display: block;
  width: 21px;
  height: 22px;
  background: url(../../img/usr/header/icon_onlogin.png) no-repeat center center / contain;
  position: relative;
}

@media (max-width: 768px) {
  .d-header--nav-item.-onlogin>a {
    width: calc(95 * (100vw / 375));
    width: calc(95 * (100vw / var(--base-width-sp-value)));
    flex-direction: column;
    font-size: calc(8 * (100vw / 375));
    font-size: calc(8 * (100vw / var(--base-width-sp-value)));
  }

  .d-header--nav-item.-onlogin>a::before {
    width: 20px;
    height: 20px;
  }
}

.d-header--cart-btn {
  flex-shrink: 0;
}

.d-header--cart-btn>a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 127px;
  height: 52px;
  background: #E2002B;
  color: #fff;
  gap: 5px 5px;
  font-size: 15px;
  font-weight: bold;
  position: relative;
  line-height: 1;
  box-sizing: border-box;
}

@media screen and (min-width: 769px) {
  .d-header--cart-btn>a {
    padding: 0 20px 0 0;
    flex-shrink: 0;
  }
}

@media (max-width: 768px) {
  .d-header--cart-btn>a {
    width: calc(56 * (100vw / 375));
    width: calc(56 * (100vw / var(--base-width-sp-value)));
    height: calc(56 * (100vw / 375));
    height: calc(56 * (100vw / var(--base-width-sp-value)));
    flex-shrink: 0;
    flex-direction: column;
    font-size: calc(8 * (100vw / 375));
    font-size: calc(8 * (100vw / var(--base-width-sp-value)));
  }

  .d-header--cart-btn>a::before {
    width: 14px;
    height: 14px;
  }
}

@media (min-width: 769px) {
  .d-header--cart-btn>a:hover {
    color: #fff;
    opacity: 0.8;
  }
}

.d-header--cart-btn>a::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: url(../../img/usr/header/icon_cart_wh.png) no-repeat center center / contain;
  position: relative;
}

@media (max-width: 768px) {
  .d-header--cart-btn>a::before {
    left: -2px;
  }
}

.d-header--cart-btn .js-cart-count {
  display: none;
  width: 28px;
  height: 28px;
  font-size: 13px;
  position: absolute;
  background: #282D31;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
  padding: 11px 0 5px;
  line-height: 1;
  text-box: trim-both ex alphabetic;
}

@media screen and (min-width: 769px) {
  .d-header--cart-btn .js-cart-count {
    top: 50%;
    transform: translateY(-50%);
    right: 7px;
  }
}

@media screen and (max-width: 768px) {
  .d-header--cart-btn .js-cart-count {
    padding: 7px 0 4px;
    width: 18px;
    height: 18px;
    top: 5px;
    right: 5px;
    font-size: min(calc(11 * (100vw / var(--base-width-sp))), 11px);
  }
}

.d-header.is-simple {}

.d-header.is-top {}

/* ヘッダー調整 -- レイアウト
/* ================================================ */
.d-header--frame-bottom {
  width: 100%;
  margin: 0 auto 0;
  background: #415160;
}

.d-header--frame-bottom a {
  color: #fff;
}

/* ヘッダー調整 -- グローバルナビゲーション */
/* ================================================ */
.d-globalnav {
  width: 100%;
}

.d-globalnav--inner {
//  padding-top: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 0;
  min-height: 56px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .d-globalnav--inner {
    padding: 0;
    min-height: calc(50 * (100vw / 375));
    min-height: calc(50 * (100vw / var(--base-width-sp-value)));
  }
}

.d-globalnav--list {
  display: flex;
  font-weight: bold;
}

@media (max-width: 768px) {
  .d-globalnav--frame.-frame01 {
    width: 100%;
  }
}

.d-globalnav--frame.-frame01 .d-globalnav--list {
  gap: 20px 50px;
}

@media (max-width: 768px) {
  .d-globalnav--frame.-frame01 .d-globalnav--list {
    width: 100%;
    gap: 0;
  }
}

@media (max-width: 768px) {
  .d-globalnav--frame.-frame01 .d-globalnav--item {
    text-align: center;
  }

  .d-globalnav--frame.-frame01 .d-globalnav--item:nth-of-type(1) {
    width: calc(120 * (100vw / 375));
    width: calc(120 * (100vw / var(--base-width-sp-value)));
  }

  .d-globalnav--frame.-frame01 .d-globalnav--item:nth-of-type(2) {
    width: calc(160 * (100vw / var(-- base-width-sp-value)));
    position: relative;
  }

  .d-globalnav--frame.-frame01 .d-globalnav--item:nth-of-type(2)::before {
    content: '';
    display: block;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background: #58646F;
    position: absolute;
    z-index: 2;
  }

  .d-globalnav--frame.-frame01 .d-globalnav--item:nth-of-type(3) {
    width: calc(95 * (100vw / 375));
    width: calc(95 * (100vw / var(--base-width-sp-value)));
    position: relative;
  }

  .d-globalnav--frame.-frame01 .d-globalnav--item:nth-of-type(3)::before {
    content: '';
    display: block;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background: #58646F;
    position: absolute;
    z-index: 2;
  }
}

.d-globalnav--frame.-frame01 .d-globalnav--item>a {
  font-size: 15px;
  padding-right: 25px;
  position: relative;
  letter-spacing: 0.1em;

}

@media (max-width: 768px) {
  .d-globalnav--frame.-frame01 .d-globalnav--item>a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-size: calc(13 * (100vw / 375));
    font-size: calc(13 * (100vw / var(--base-width-sp-value)));
    min-height: calc(50 * (100vw / 375));
    min-height: calc(50 * (100vw / var(--base-width-sp-value)));

  }
}

.d-globalnav--frame.-frame01 .d-globalnav--item>a::after {
  content: '';
  display: inline-flex;
  background: url('../../img/usr/common/icon_arrow_circle.png') no-repeat center center / contain;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 0;
  top: 52%;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .d-globalnav--frame.-frame01 .d-globalnav--item>a::after {
    display: none;
  }
}

.d-globalnav--frame.-frame02 .d-globalnav--list {
  gap: 34px;
}

.d-globalnav--frame.-frame02 .d-globalnav--item>a {
  font-size: 13px;
  padding-left: 19px;
  position: relative;
}

.d-globalnav--frame.-frame02 .d-globalnav--item>a::before {
  content: '';
  display: inline-flex;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.d-globalnav--frame.-frame02 .d-globalnav--item.-quick-order>a::before {
  background: url('../../img/usr/header/icon_quickorder.png') no-repeat center center / contain;
  ;
  width: 14px;
  height: 15px;
}

.d-globalnav--frame.-frame02 .d-globalnav--item.-history>a::before {
  background: url('../../img/usr/header/icon_history.png') no-repeat center center / contain;
  width: 14px;
  height: 14px;
}

.d-globalnav--frame.-frame02 .d-globalnav--item.-favorite>a {
  padding-left: 20px;
}

.d-globalnav--frame.-frame02 .d-globalnav--item.-favorite>a::before {
  background: url('../../img/usr/header/icon_favorite.png') no-repeat center center / contain;
  width: 16px;
  height: 14px;
}

/* ================================================ */
/* モーダル調整*/
/* ================================================ */
/* モーダルボタン */
.d-header--modal-btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  width: calc(56 * (100vw / 375));
  width: calc(56 * (100vw / var(--base-width-sp-value)));
  height: calc(56 * (100vw / 375));
  height: calc(56 * (100vw / var(--base-width-sp-value)));
  padding: calc(20 * (100vw / 375)) 0 0;
  padding: calc(20 * (100vw / var(--base-width-sp-value))) 0 0;
  flex-shrink: 0;
  background: #282D31;
  border: 0;
  box-sizing: border-box;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.d-header--modal-btn.-close {
  flex-shrink: 0;
}

/* モーダルボタン -- アイコン*/
.d-header--modal-btn-icon {
  display: block;
  width: calc(14 * (100vw / 375));
  width: calc(14 * (100vw / var(--base-width-sp-value)));
  height: 2px;
  background: url(../../img/usr/header/icon_menu.png) no-repeat center center / contain;
  position: relative;
  background: #fff;
}

.d-header--modal-btn-icon::before,
.d-header--modal-btn-icon::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.d-header--modal-btn-icon::before {
  top: -4px;
}

.d-header--modal-btn-icon::after {
  bottom: -4px;
}

.d-header--modal-btn-icon.-close {
  background: none;
}

.d-header--modal-btn-icon.-close::before {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

.d-header--modal-btn-icon.-close::after {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  bottom: auto;
}

/* モーダルボタン -- テキスト*/
.d-header--modal-btn-txt {
  margin-top: calc(10 * (100vw / 375));
  margin-top: calc(10 * (100vw / var(--base-width-sp-value)));
  display: block;
  font-size: calc(8 * (100vw / 375));
  font-size: calc(8 * (100vw / var(--base-width-sp-value)));
  line-height: 1;
  font-weight: bold;
  color: #fff;
}

.d-header--modal-btn-txt.-close {
  margin-top: calc(17 * (100vw / 375));
  margin-top: calc(17 * (100vw / var(--base-width-sp-value)));
}

/*モーダルコンテンツ部分*/
.gnavi__sp-style {
  z-index: 10000;
  top: 0;
  background: #415160;
}

[data-utility-item="menu-modal-body"].is-modal-active {
  opacity: 1;
  pointer-events: all;
}

.gnavi_inner {
  padding: 0;
  margin: 0;
}

.gnavi__sp-style div.CategoryStyleG_ {
  padding: 0 15px;
  margin: 0;
  background: #E8EAED;
}

.gnavi--header {
  display: flex;
  background: #E8EAED;
}

.gnavi--header-title {
  padding-right: calc(56 * (100vw / 375));
  padding-right: calc(56 * (100vw / var(--base-width-sp-value)));
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  font-weight: bold;
  font-size: 14px;
}

.gnavi__sp-style div.CategoryStyleG_ div.category_list_block0_>div.link_ {
  font-weight: bold;
  color:#474C50
}

/* ================================================ */
/* フッター調整 */
/* ================================================ */
#footer {
  position: relative;
  height: auto;
}

#footer>* {
  box-sizing: border-box;
}

@media (max-width: 768px) {
  div.footer_ {
    padding: 0;
    margin: 0;
    position: relative;
    height: auto;
    background: #415160;
  }
}

.d-footer a {
  color: #fff;
}

#footer.d-footer {
  background: #415160;
}

.d-footer--frame {
  max-width: 1200px;
  padding: 40px 0 40px;
  margin: 0 auto 0;
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
}

@media (max-width: 768px) {
  .d-footer--frame {
    padding: 20px 15px 20px;
    flex-direction: column;
  }
}

/* フッター調整 */
#js_calendar_replace {
  margin: 0 auto 0;
}

@media (min-width: 769px) {
  #js_calendar_replace {
    margin: 0 0 0 42px;
  }
}

/* フッター調整 -- カタログダウンロード */
/* .d-footer--link-box-txt{
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
  @media (max-width: 768px) {
    font-size: min(calc(13 * (100vw / var(--base-width-sp-value))), 13px);
  }
}
.d-footer--link-box{
  display: block;
  width: 320px;
  height: 216px;
  padding: 20px 20px 20px;
  background: #fff;
  line-height: 1;
  margin-left: 10px;
  box-sizing: border-box;
  @media (max-width: 768px) {
    width: 100%;
    margin: 0 auto 0;
  }
}
.d-footer--link-btns{
  margin: 20px auto 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.d-footer--link-btn{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  position: relative;
  margin: 0 auto;
  &.-contact{
    background: var(--color-blue02);
    color: #fff;
  }
  &.-catalog{
    background: #282D31;
    color: #fff;
  }
}
 */
/* フッター調整 -- 会社情報 */
.d-footer--company {
  color: #fff;
  text-align: left;
  margin: 30px auto 0;
}

@media (min-width: 769px) {
  .d-footer--company {
    order: 1;
    margin: 0 auto 0 0;
  }
}

.d-footer--sns-links {
  margin: 34px 0 0;
  display: flex;
  gap: 10px;
}

@media (max-width: 768px) {
  .d-footer--sns-links {
    margin: 10px 0 0;
    justify-content: center;
  }
}

.d-footer--sns-links>a {
  width: 34px;
  height: 34px;
  display: flex;
}

.d-footer--sns-links>a::after {
  display: none;
}

.d-footer--company-info {
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.8;
}

@media (max-width: 768px) {
  .d-footer--company-info {
    width: 100%;
    text-align: center;
  }
}

.d-footer--company-logo {
  max-width: 271px;
}

@media (max-width: 768px) {
  .d-footer--company-logo {
    width: min(calc(271 * (100vw / 375)), 271px);
    width: min(calc(271 * (100vw / var(--base-width-sp-value))), 271px);
  }
}

.d-footer--company-name {}

.d-footer--company-address {
  font-weight: bold;
  letter-spacing: 0;
}

.d-footer--company-link {
  margin-top: 7px;
}

.d-footer--company-link>a {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
}

@media (max-width: 768px) {
  .d-footer--company-link>a {
    display: inline-flex;
  }
}

/* フッター調整 -- SNSリンク */
.d-footer--sns-link {}

/* フッター調整 -- カレンダーのレイアウト */
#js_calendar_replace {
  width: 174px;
}

@media (max-width: 768px) {
  #js_calendar_replace {
    width: 100%;
    margin-top: 15px;
  }
}

#js_calendar_replace .block-calendar {
  position: relative;
  top: 0;
  right: 0;
}

/* フッター調整 -- ナビゲーション */
.d-footer--nav {
  text-align: left;

}

@media (max-width: 768px) {
  .d-footer--nav {
    margin-top: 40px;
    width: 100%;

  }
}

@media (min-width: 768px) {
  .d-footer--nav {
    display: flex;
    gap: 42px;

  }
}

.d-footer--nav-frame a {
  color: #fff;
  text-align: left;
  font-size: 14px;
  letter-spacing: 0.05em;
}

@media (min-width: 769px) {
  .d-footer--nav-frame.-nav01 {
    padding-top: 9px;
  }
}

@media (min-width: 769px) {
  .d-footer--nav-frame.-nav02 {
    padding-top: 9px;
  }
}

.d-footer--nav-list {
  margin: 0;
}

@media (min-width: 769px) {
  .d-footer--nav-list {
    margin-top: 18px;
  }
}

@media (max-width: 768px) {
  .d-footer--nav-item {
    padding: 20px 0 20px;
    position: relative;
  }

  .d-footer--nav-item::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    background: #58646F;
  }
}

@media (min-width: 769px) {
  .d-footer--nav-item:nth-of-type(n+2) {
    margin-top: 10px;
  }
}

@media (max-width: 768px) {
  .d-footer--nav-frame.-nav01 .d-footer--nav-item:nth-of-type(1)::before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    background: #58646F;
  }
}

.d-footer--nav-heading {
  font-weight: bold;
  font-size: 14px;
  color: #fff
}

.d-footer--nav-heading a {
  letter-spacing: 0.12em;
}

/* フッター調整 -- コピーライト */
div.footer_ #copyright,
#copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 56px;
  padding: 10px 0;
  margin: 0;
  position: relative;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #2E7BBE;
  background: var(--color-blue);
  text-align: center;
  color: #fff;
  font-size: 12px;
  line-height: 1;
}

@media (max-width: 768px) {

  div.footer_ #copyright,
  #copyright {
    padding: 5px 0;
    min-height: min(calc(55 * (100vw / 375)), 55px);
    min-height: min(calc(55 * (100vw / var(--base-width-sp-value))), 55px);
    font-size: min(calc(10 * (100vw / 375)), 10px);
    font-size: min(calc(10 * (100vw / var(--base-width-sp-value))), 10px);
  }
}

@media (max-width: 768px) {

  div.footer_ #copyright.add-cartbox-space,
  #copyright.add-cartbox-space {
    padding-bottom: 83px;
  }
}

.top-body {
  padding: 24px 0 58px;
  position: relative;
  overflow: visible;
  overflow: initial;
}

@media screen and (max-width: 768px) {
  .top-body {
    padding: 22px 0 38px;
  }
}

.top-body::before,
.top-body::after {
  content: '';
  display: block;
  width: 150vw;
  height: 100%;
  background: #2E7BBE;
  background: var(--color-blue);
  position: absolute;
  top: 0;
  z-index: 1;
}

.top-body::before {
  right: 0;
}

.top-body::after {
  left: 0;
}

.top-body>.swiper {
  position: relative;
  z-index: 2;
  width: 720px;
  height: 360px;
  overflow: visible;
}

@media (max-width: 768px) {
  .top-body>.swiper {
    width: min(calc(325 * (100vw / 375)), 325px);
    width: min(calc(325 * (100vw / var(--base-width-sp-value))), 325px);
    height: min(calc(163 * (100vw / 375)), 163px);
    height: min(calc(163 * (100vw / var(--base-width-sp-value))), 163px);
  }
}

.top-body>.swiper .swiper-pagination {
  left: 50%;
  right: auto;
  top: auto;
  bottom: -24px;
  transform: translate(-50%, 100%);
}

@media (max-width: 768px) {
  .top-body>.swiper .swiper-pagination {
    bottom: -15px;
  }
}

.top-body>.swiper>.swiper-wrapper {}

.top-body .swiper-button-next,
.top-body .swiper-button-prev {
  margin: 0;
  position: absolute;
  top: 50%;
  bottom: auto;
}

@media (max-width: 768px) {

  .top-body .swiper-button-next,
  .top-body .swiper-button-prev {
    width: min(calc(42 * (100vw / 375)), 42px);
    width: min(calc(42 * (100vw / var(--base-width-sp-value))), 42px);
    height: min(calc(42 * (100vw / 375)), 42px);
    height: min(calc(42 * (100vw / var(--base-width-sp-value))), 42px);
    top: min(calc(80 * (100vw / 375)), 80px);
    top: min(calc(80 * (100vw / var(--base-width-sp-value))), 80px);
    z-index: 2;
  }
}

.top-body .swiper-button-next {
  left: auto;
  right: -21px;
  transform: translate(100%, -50%);
}

@media (max-width: 768px) {
  .top-body .swiper-button-next {
    right: min(calc(-21 * (100vw / 375)), -21px);
    right: min(calc(-21 * (100vw / var(--base-width-sp-value))), -21px);
    transform: none;
  }

  .top-body .swiper-button-next::before {
    width: 5px;
    height: 5px;
    left: min(calc(10 * (100vw / 375)), 10px);
    left: min(calc(10 * (100vw / var(--base-width-sp-value))), 10px);
  }
}

.top-body .swiper-button-prev {
  right: auto;
  left: -21px;
  transform: translate(-100%, -50%);
}

@media (max-width: 768px) {
  .top-body .swiper-button-prev {
    left: min(calc(-21 * (100vw / 375)), -21px);
    left: min(calc(-21 * (100vw / var(--base-width-sp-value))), -21px);
    transform: none;
  }

  .top-body .swiper-button-prev::before {
    width: 5px;
    height: 5px;
    left: min(calc(30 * (100vw / 375)), 30px);
    left: min(calc(30 * (100vw / var(--base-width-sp-value))), 30px);
  }
}

.top-body .swiper-slide {
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
}

/* ================================================ */
/*　製品カテゴリから探す　*/
/* ================================================ */
/* ================================================ */
/*　共通スタイル定義　*/
/* ================================================ */
/* ヘッダー系の共通スタイル */
.pcb-drill-section--header,
.biosensor-section--header,
.endmill-search-area--header {
  display: flex;
  align-items: center;
  min-height: 60px;
}

@media (max-width: 768px) {

  .pcb-drill-section--header,
  .biosensor-section--header,
  .endmill-search-area--header {
    min-height: 48px;
  }
}

/* タイトル系の共通スタイル */
.pcb-drill-section--title,
.biosensor-section--title,
.endmill-search-area--title {
  display: flex;
  align-items: center;
  gap: 10px 15px;
  font-size: 24px;
  font-weight: bold;
  color: #474C50;
  color: var(--color-main);
  letter-spacing: 0.1em;
}

@media (max-width: 768px) {

  .pcb-drill-section--title,
  .biosensor-section--title,
  .endmill-search-area--title {
    font-size: 18px;
  }
}

.pcb-drill-section--title::before,
.biosensor-section--title::before,
.endmill-search-area--title::before {
  content: '';
  display: block;
  width: 19px;
  height: 19px;
  background: #08AAFF;
  background: var(--color-blue02);
}

@media (max-width: 768px) {

  .pcb-drill-section--title::before,
  .biosensor-section--title::before,
  .endmill-search-area--title::before {
    width: 17px;
    height: 17px;
  }
}

.wrapper_ h1.category_name_ {
  margin-top: 22px;
  letter-spacing: 0.05em;
  padding: 0;
  font-size: 34px;
}

@media (max-width: 768px) {
  .wrapper_ h1.category_name_ {
    font-size: 24px;
  }
}

/* リンクボタン系の共通スタイル */
.pcb-drill-section--header-link-btn,
.biosensor-section--header-link-btn,
.endmill-search-area--link-btn {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100px;
  height: 100%;
  background: #282D31;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

@media (max-width: 768px) {

  .pcb-drill-section--header-link-btn,
  .biosensor-section--header-link-btn,
  .endmill-search-area--link-btn {
    width: 86px;
    min-height: 48px;
    gap: 5px;
  }
}

.pcb-drill-section--header-link-btn:link,
.biosensor-section--header-link-btn:link,
.endmill-search-area--link-btn:link,
.pcb-drill-section--header-link-btn:visited,
.biosensor-section--header-link-btn:visited,
.endmill-search-area--link-btn:visited {
  color: #fff;
}

.pcb-drill-section--header-link-btn::after,
.biosensor-section--header-link-btn::after,
.endmill-search-area--link-btn::after {
  content: '';
  display: inline-flex;
  background: url(../../img/usr/common/icon_arrow_circle.png) no-repeat center center / contain;
  width: 18px;
  height: 18px;
}

.category-search-area {
  position: relative;
}

.category-search-area::before {
  content: '';
  display: block;
  min-width: 1920px;
  width: 150vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image:
    linear-gradient(90deg, #B4DEF0 1px, transparent 1px),
    linear-gradient(0deg, #B4DEF0 1px, transparent 1px);
  background-size: 192px 192px;
  background-color: #75CAF7;
  background-position: 106px 29px;
}

@media (max-width: 768px) {
  .category-search-area::before {
    background-size: calc(64 * (100vw / 375)) calc(64 * (100vw / 375));
    background-size: calc(64 * (100vw / var(--base-width-sp-value))) calc(64 * (100vw / var(--base-width-sp-value)));
    background-position: 0 0;
  }
}

.category-search-area--inner {
  padding: 84px 0 80px;
  position: relative;
  z-index: 2;
}

@media (max-width: 768px) {
  .category-search-area--inner {
    padding: 43px 15px 40px;
  }
}

.category-search-area--title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px 10px;
  font-weight: bold;
  color: #fff;
}

@media (max-width: 768px) {
  .category-search-area--title {
    gap: 10px 10px;
  }
}

.category-search-area--title>.engTxt {
  padding: 0;
  margin: 0;
  font-size: 16px;
  line-height: 1;
}

@media (max-width: 768px) {
  .category-search-area--title>.engTxt {
    font-size: 12px;
  }
}

.category-search-area--title>.jpTxt {
  padding: 0;
  margin: 0;
  font-size: 34px;
  line-height: 1;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .category-search-area--title>.jpTxt {
    margin-top: 8px;
    font-size: 24px;
  }
}

/* ================================================ */
/*　製品カテゴリから探す　　-- 超硬エンドミル */
/* ================================================ */
.endmill-search-area {
  margin-top: 39px;
}

@media (max-width: 768px) {
  .endmill-search-area {
    margin-top: 25px;
  }
}

.endmill-search-area--header {
  justify-content: space-between;
  background: #013993;
  background: var(--color-blue03);
  box-sizing: border-box;
  position: relative;
}

.endmill-search-area--title {
  padding: 5px 15px;
  line-height: 1;
  gap: 10px;
  color: #fff;
}

@media (max-width: 768px) {
  .endmill-search-area--title {
    padding: 5px 15px;
    font-size: 18px;
  }
}

.endmill-search-area--title::before {
  content: '';
  display: inline-flex;
  width: 19px;
  height: 19px;
  background: #08AAFF;
  background: var(--color-blue02);
}

@media (max-width: 768px) {
  .endmill-search-area--title::before {
    width: 17px;
    height: 17px;
  }
}

.endmill-search-area--link-btn {
  width: 100px;
  height: 100%;
}

@media (max-width: 768px) {
  .endmill-search-area--link-btn {
    width: 86px;
  }
}

.endmill-search-area--link-btn::after {
  content: '';
  display: inline-flex;
  background: url(../../img/usr/common/icon_arrow_circle.png) no-repeat center center / contain;
  width: 18px;
  height: 18px;
}

.endmill-search-area--link-btn:link,
.endmill-search-area--link-btn:visited {
  color: #fff;
}

.endmill-search-area--link-btn:link:hover,
.endmill-search-area--link-btn:visited:hover {
  opacity: 1;
  color: #36BAFF;
  color: var(--color-main-hover);
  -webkit-text-decoration: none;
  text-decoration: none;
}

.endmill-search-area--tabs-search {
  padding: 0 24px 0 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 88px;
  background: #415160;
}

@media (max-width: 768px) {
  .endmill-search-area--tabs-search {
    flex-direction: column;
    padding: 15px 15px 11px;
    min-height: auto;
    gap: 10px 10px;
  }
}

.endmill-search-area--tabs {
  width: 530px;
  flex-shrink: 0;
  display: flex;
}

.endmill-search-area--tab {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px 5px;
  width: calc(100% / 3);
  padding: 10px 5px;
  min-height: 40px;
  line-height: 1;
  background: #2E7BBE;
  color: white;
  cursor: pointer;
  box-sizing: border-box;
  position: relative;
}

@media (max-width: 768px) {
  .endmill-search-area--tab {
    flex-direction: column;
    align-items: flex-start;
    padding: 5px 5px 5px 35px;
    font-size: 11px;
    gap: 4px;
    min-height: 48px;
  }
}

.endmill-search-area--tab:nth-of-type(n+2) {
  border-left: 1px solid #013993;
}

@media (max-width: 768px) {
  .endmill-search-area--tab:nth-of-type(2) {
    padding-left: 42px;
  }
}

.endmill-search-area--tab::before {
  content: '';
  display: inline-flex;
  width: 18px;
  height: 18px;
  background: url(../../img/usr/common/icon_check.png) no-repeat center center / contain;
}

@media (max-width: 768px) {
  .endmill-search-area--tab::before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
  }
}

.endmill-search-area--tab>span {
  font-size: 18px;
  font-weight: bold;
}

@media (max-width: 768px) {
  .endmill-search-area--tab>span {
    font-size: 16px;
  }
}

.endmill-search-area--tab.is-active {
  background: #08AAFF;
  background: var(--color-blue02);
}

.endmill-search-area--tab.is-active::before {
  background: url(../../img/usr/common/icon_check_on.png) no-repeat center center / contain;
}

.endmill-search-area--content {
  display: none;
  padding: 30px 30px 30px;
  background: #D4E5F5;
  border: 1px solid #ccc;
}

.endmill-search-area--content>form {
  padding: 0;
}

@media (max-width: 768px) {
  .endmill-search-area--content {
    padding: 15px 15px 15px;
  }
}

.endmill-search-area--content.is-active {
  display: block;
}

#materials.search-area--content {
  display: none;
}

.endmill-search-area--tool-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  background: #fff;
}

.endmill-search-area--tool-list.-series {
  gap: 11px;
  background: none;
}

@media (max-width: 768px) {
  .endmill-search-area--tool-list.-series {
    gap: 3px 3px;
  }
}

/* 超硬エンドミル リスト項目　-- 工具形状　*/
.endmill-search-area--tool-option {
  display: flex;
  padding: 0;
  width: calc(100% / 5);
  text-align: center;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .endmill-search-area--tool-option {
    width: calc(100% / 2);
  }
}

.endmill-search-area--tool-option>label {
  width: 100%;
  padding: 5px 7px 5px 14px;
  min-height: 59px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #D5DADE;
  margin: 0;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
}

.endmill-search-area--tool-option>label::after {
  content: '';
  display: block;
  width: 1px;
  height: calc(100% - 10px);
  background: #D5DADE;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: #D5DADE;
}

a.endmill-search-area--tool-option-link {
  padding: 5px 30px 5px 20px;
  width: calc((100% / 4) - (33px / 4));
  min-height: 58px;
  display: flex;
  align-items: center;
  color: #005AA7;
  font-weight: bold;
  font-size: 14px;
  text-align: left;
  line-height: 1.2;
  background: #fff;
  box-sizing: border-box;
  position: relative;
}

a.endmill-search-area--tool-option-link:link {
  color: #005AA7;
}

a.endmill-search-area--tool-option-link::after {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  background: url(../../img/usr/common/icon_arrow_circle03.png) no-repeat center center / contain;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 12px;
}

a.endmill-search-area--tool-option-link:hover {
  opacity: .6;
}

@media (max-width: 768px) {
  .endmill-search-area--tool-option.-tools:nth-of-type(2n)>label::after {
    display: none;
  }

  .endmill-search-area--tool-option.-tools:nth-of-type(n+13)>label {
    border-bottom-color: #fff;
  }
}

@media (min-width: 769px) {
  .endmill-search-area--tool-option.-tools:nth-of-type(5n)>label::after {
    display: none;
  }

  .endmill-search-area--tool-option.-tools:nth-of-type(n+11)>label {
    border-bottom-color: #fff;
  }
}

/* 超硬エンドミル リスト項目　-- 被削材 */
.endmill-search-area--tool-option.-materials {
  width: calc(100% / 6);
}

@media (max-width: 768px) {
  .endmill-search-area--tool-option.-materials {
    width: calc(100% / 3);
  }
}

@media (max-width: 768px) {
  .endmill-search-area--tool-option.-materials:nth-of-type(3n)>label::after {
    display: none;
  }

  .endmill-search-area--tool-option.-materials:nth-of-type(n+16)>label {
    border-bottom-color: #fff;
  }
}

@media (min-width: 769px) {
  .endmill-search-area--tool-option.-materials:nth-of-type(6n)>label::after {
    display: none;
  }

  .endmill-search-area--tool-option.-materials:nth-of-type(n+13)>label {
    border-bottom-color: #fff;
  }

}

/* 超硬エンドミル リスト項目　-- シリーズ */
@media (max-width: 768px) {
  .endmill-search-area--tool-option-link.-series {
    width: calc((100% / 2) - (3px / 2));
  }
}

.endmill-search-area--tool-label {
  font-weight: bold;
  font-size: 14px;
  text-align: left;
  line-height: 1.2;
}

@media (max-width: 768px) {
  .endmill-search-area--tool-label {
    font-size: 12px;
  }
}

.endmill-search-area--tool-figure {
  width: 94px;
  padding: 0;
  margin: 0 0 0 auto;
  flex-shrink: 0;
}

.endmill-search-area--tool-image {
  width: 100%;
  height: auto;
}

.endmill-search-area--search-bar {
  padding-top: 24px;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: right;
  flex-wrap: wrap;
  gap: 0 10px;
  min-height: 88px;
  box-sizing: border-box;
}

.endmill-search-area--search-bar-sp {
  padding-top: 24px;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 10px;
  min-height: 88px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .endmill-search-area--search-bar {
    padding: 0;
    min-height: 48px;
    gap: 0 5px;
  }
}

.endmill-search-area--filter-btn {
  margin: 19px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 320px;
  height: 48px;
  background: #FFBA00;
  border: 0;
  color: #282D31;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
}

@media (max-width: 768px) {
  .endmill-search-area--filter-btn {
    width: calc(100% - 28px);
    margin: 16px auto 0;
  }
}

.endmill-search-area--filter-btn::before {
  content: '';
  display: block;
  width: 38px;
  height: 38px;
  background: url(../../img/usr/common/icon_search.png) no-repeat center center / contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 10px;
}

.endmill-search-area--search-box {
  display: flex;
  width: calc(100% - 81px - 10px);
  position: relative;
  height: 40px;
}

@media (max-width: 768px) {
  .endmill-search-area--search-box {
    width: calc(100% - 44px - 5px);
    height: 38px;
    padding: 0;
  }
}

input.endmill-search-area--search-input {
  width: 100%;
  max-width: 100%;
  padding: 5px 37px 5px 15px;
  border: 0;
  box-sizing: border-box;
  height: 40px;
  border-radius: 20px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  input.endmill-search-area--search-input {
    height: 36px;
    padding: 5px 37px 5px 5px;
    font-size: min(calc(10 * (100vw / 375)), 10px);
    font-size: min(calc(10 * (100vw / var(--base-width-sp-value))), 10px);
  }
}

.endmill-search-area--search-icon {
  width: 32px;
  height: 32px;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
  padding: 0;
  border: 0;
  margin: 0;
  cursor: pointer;
  background: url(../../img/usr/common/icon_search.png) no-repeat center center / contain;
}

.endmill-search-area--search-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 81px;
  height: 40px;
  padding: 8px 5px;
  background: orange;
  border: none;
  cursor: pointer;
  font-weight: bold;
}

@media (max-width: 768px) {
  .endmill-search-area--search-button {
    width: 44px;
    height: 38px;
    line-height: 1.2;
    font-size: 12px;
  }
}

.endmill-search-area--search-label {
  width: 100%;
  text-align: right;
  line-height: 1;
  color: #fff;
  font-size: 12px;
}

.endmill-search-area--search-label-sp {
  width: 100%;
  text-align: center;
  line-height: 1;
  color: #fff;
  font-size: 12px;
}

@media (max-width: 768px) {
  .endmill-search-area--search-label {
    margin-top: 5px;
    font-size: 10px;
    text-align: center;
  }
}

/* 超硬エンドミル リスト用説明テキスト*/
.endmill-search-area--tool-list-notes {
  font-size: 12px;
  color: #474C50;
  color: var(--color-main);
  margin-bottom: 10px;
  font-weight: bold;
}

/* 超硬エンドミル チェックボックス*/
/* 超硬エンドミル チェックボック　 -- チェックボックス非表示 */
.endmill-search-area--tool-option input[type="checkbox"] {
  display: none;
  /* または opacity: 0; position: absolute; */
}

/* 超硬エンドミル チェックボック　 -- チェックボックス */
.endmill-search-area--tool-option label::before {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  position: relative;
  background: url(../../img/usr/common/icon_check02.png) no-repeat center center / contain;
  flex-shrink: 0;
}

/* チェック済み状態 */
.endmill-search-area--tool-option input[type="checkbox"]:checked+label {
  color: #08AAFF;
  color: var(--color-blue02);
}

.endmill-search-area--tool-option input[type="checkbox"]:checked+label::before {
  background: url(../../img/usr/common/icon_check02_on.png) no-repeat center center / contain;
}

/* 超硬エンドミル チェックボックス内のヘルプモーダル*/
.option-help-icon {
  display: inline-block;
  width: 14px;
  height: 14px;
  background: #8C99A4;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 16px;
  font-size: 9px;
  cursor: pointer;
  position: relative;
  margin-left: 0px;
}

.option-help-icon::after {
  /*   width: max-content;
  content: attr(data-tooltip);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #E8EAED;
  color: var(--color-main);
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 14px;
  white-space: pre-line;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 1000;
  max-width: 300px;
  word-break: keep-all;
  margin-bottom: 10px;
  pointer-events: none;
  text-align: left;
  line-height: 1.4; */
}

/* 下が尖った三角形 */
/* .option-help-icon::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-left: 7.5px solid transparent;
  border-right: 7.5px solid transparent;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 1000;
  margin-bottom: 2px;
  pointer-events: none;
} */
.option-help-icon-balloon {

  width: max-content;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  color: #474C50;
  color: var(--color-main);
  padding: 10px 30px 10px;
  border-radius: 4px;
  font-size: 14px;
  white-space: pre-line;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 10000;
  max-width: 600px;
  word-break: keep-all;
  margin-bottom: 10px;
  pointer-events: none;
  text-align: left;
  line-height: 1;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .option-help-icon-balloon {
    padding: 10px 10px 10px;
    max-width: calc(100vw - 10px);
    left: -5px;
    transform: none;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  }
}

.option-help-icon-balloon p {
  padding: 0;
  line-height: 1;
  margin: 0;
}

.option-help-icon-balloon::before {
  content: '';
  display: block;
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
  border-top: 9px solid #fff;
  border-left: 7.5px solid transparent;
  border-right: 7.5px solid transparent;
  transition: opacity 0.3s;
  z-index: 1000;
  margin-bottom: 2px;
  pointer-events: none;
}

@media (max-width: 768px) {
  .option-help-icon-balloon::before {
    left: 5px;
    transform: none;
  }
}

.option-help-icon-balloon.nec-length {
  min-width: 375px;
}

/* 下が尖った三角形 */
.option-help-icon-balloon::before {}

.option-help-icon:hover .option-help-icon-balloon {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

/* 技術情報 */
/* セクション全体 */
@media (max-width: 768px) {
  .technical-info-section {
    padding: 0 15px 0;
  }
}

.technical-info-section--header {
  display: flex;
  align-items: center;
  padding: 10px 20px 10px;
  background: #2E7BBE;
  background: var(--color-blue);
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  position: relative;
  min-height: 60px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .technical-info-section--header {
    font-size: 18px;
    min-height: 48px;
  }
}

.technical-info-section--header h2 {
  position: static;
  position: initial;
  font-size: inherit;
  line-height: 1;
  font-weight: bold;
}

.technical-info-section--header h2::before,
.technical-info-section--header h2::after {
  width: 6px;
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50%;
}

.technical-info-section--header h2::before {
  background: #08AAFF;
  background: var(--color-blue02);
}

.technical-info-section--header h2::after {
  background: #013993;
  background: var(--color-blue03);
  top: auto;
}

.technical-info-section--title {
  /* タイトル */
}

.technical-info-section--content {
  margin: 24px auto 0;
}

.technical-info-section--list {
  margin: 0 auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 36px;
}

@media (max-width: 768px) {
  .technical-info-section--list {
    gap: 15px;
  }
}

.technical-info-section--item {
  /* リスト項目 */
}

.technical-info-section--bnr {
  /* バナーリンク */
}

.technical-info-section--bnr-img {
  width: 100%;
  display: block;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.technical-info-section--bnr-img>img {
  transition: transform 0.3s ease-in-out;
}

@media (min-width: 769px) {
  a:hover .technical-info-section--bnr-img>img {
    transform: scale(1.14);
  }

  a:hover .technical-info-section--bnr-txt {
    color: #36BAFF;
  }
}

.technical-info-section--bnr-txt {
  margin: 15px auto 0;
  color: #005AA7;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.1em;
}

@media (max-width: 768px) {
  .technical-info-section--bnr-txt {
    margin-top: 10px;
    font-size: 12px;
  }
}



.technical-info-section--bnr[target="_blank"]::after,
.technical-info-section--bnr[target="blank"]::after {
  display: none;
}


.technical-info-section--bnr[target="_blank"] .technical-info-section--bnr-txt::after,
.technical-info-section--bnr[target="blank"] .technical-info-section--bnr-txt::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url(../../img/usr/common/icon_blank_blue.png) no-repeat center center / contain;
  position: relative;
  margin-left: 3px;
  top: 1px;
}

/* ================================================ */
/* PCBドリル・ルーターセクション */
/* ================================================ */
/* セクション全体 */
.pcb-drill-section {
  margin: 32px auto 0;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .pcb-drill-section {
    margin-top: 20px;
  }
}

/* ヘッダー部分 */
.pcb-drill-section--header {
  background: #E8EAED;
}

@media (max-width: 768px) {
  .pcb-drill-section--header {
    position: static;
    position: initial;
  }
}

.pcb-drill-section--title {
  padding: 0 15px;
  margin: 0;
  width: 100%;
  position: relative;
}

@media (max-width: 768px) {
  .pcb-drill-section--title {
    font-size: 18px;
  }
}

.pcb-drill-section--title::before {
  content: '';
  display: block;
  width: 19px;
  height: 19px;
  background: #08AAFF;
  background: var(--color-blue02);
}

.pcb-drill-section--header-link-btn {
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .pcb-drill-section--header-link-btn {
    width: 86px;
    gap: 5px;
  }
}

.pcb-drill-section--header-link-btn:link,
.pcb-drill-section--header-link-btn:visited {
  color: #fff;
}

.pcb-drill-section--header-link-btn::after {
  content: '';
  display: inline-flex;
  background: url(../../img/usr/common/icon_arrow_circle.png) no-repeat center center / contain;
  width: 18px;
  height: 18px;
}

.pcb-drill-section--title {
  /* タイトル */
}

.pcb-drill-section--description {
  /* 説明文 */
}

/* コンテンツ部分 */
.pcb-drill-section--content {
  padding: 24px 24px 28px;
  background: #fff;
}

.pcb-drill-section--list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

@media (max-width: 768px) {
  .pcb-drill-section--list {
    gap: 22px 22px;
  }
}

.pcb-drill-section--item {
  width: calc((100% / 7) - (144px / 7));
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .pcb-drill-section--item {
    width: calc((100% / 3) - (44px / 3));
  }
}

/* リンク部分 */
.pcb-drill-section--link {
  transition: all 0.3s ease;
  display: block;
}

.pcb-drill-section--link-image {
  width: 100%;
  height: 144px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  transition: transform 0.3s ease;
}

@media (max-width: 768px) {
  .pcb-drill-section--link-image {
    height: calc(84.33 * (100vw / 375));
    height: calc(84.33 * (100vw / var(--base-width-sp-value)));
  }
}

.pcb-drill-section--link-title .pcb-drill-section--link:link,
.pcb-drill-section--link-size .pcb-drill-section--link:link {
  color: #005AA7;
  color: var(--color-blue04);
}

.pcb-drill-section--link-content {
  padding: 12px 0 0;
  border-top: 1px solid #D5DADE;
  margin-top: 10px;
}

@media (max-width: 768px) {
  .pcb-drill-section--link-content {
    padding: 0;
    border: 0;
    margin-top: 10px;
  }
}

/* タイトルエリア */
.pcb-drill-section--link-title-area {
  color: #005AA7;
  font-weight: bold;
}

.pcb-drill-section--link-title {
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.1em;
}

@media (max-width: 768px) {
  .pcb-drill-section--link-title {
    font-size: 12px;
  }
}

.pcb-drill-section--link-size {
  line-height: 1.1;
  font-size: 12px;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .pcb-drill-section--link-size {
    font-size: 10px;
  }
}

/* 備考エリア */
.pcb-drill-section--notes-item {
  padding-left: 11px;
  font-size: 14px;
  font-weight: bold;
  position: relative;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.pcb-drill-section--notes-item::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #08AAFF;
  background: var(--color-blue02);
  position: absolute;
  top: 12px;
  left: 0;
}

@media (max-width: 768px) {
  .pcb-drill-section--link-notes {
    display: none !important;
  }

  ;
}

/* ================================================ */
/* 生体センサーセクション */
/* ================================================ */
/* セクション全体 */
.biosensor-section {
  margin: 32px auto 0;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .biosensor-section {
    margin-top: 20px;
  }
}

/* ヘッダー部分 */
.biosensor-section--header {
  background: #E8EAED;
  gap: 10px 18px;
}

@media (max-width: 768px) {
  .biosensor-section--header {
    position: static;
    position: initial;
    gap: 10px 10px;
  }
}

.biosensor-section--title {
  padding: 0 15px;
  margin: 0;
  width: 100%;
  position: relative;
}

@media (max-width: 768px) {
  .biosensor-section--title {
    gap: 10px 10px;
    padding: 0 0 0 10px;
  }
}

.biosensor-section--title::before {
  content: '';
  display: block;
  width: 19px;
  height: 19px;
  background: #08AAFF;
  background: var(--color-blue02);
}

@media (max-width: 768px) {
  .biosensor-section--title::before {
    width: 17px;
    height: 17px;
  }
}

.biosensor-section--header-link-btn {
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .biosensor-section--header-link-btn {
    width: 86px;
    min-height: 47px;
    gap: 5px;
  }
}

.biosensor-section--header-link-btn:link,
.biosensor-section--header-link-btn:visited {
  color: #fff;
}

.biosensor-section--header-link-btn::after {
  content: '';
  display: inline-flex;
  background: url(../../img/usr/common/icon_arrow_circle.png) no-repeat center center / contain;
  width: 18px;
  height: 18px;
}

.biosensor-section--title {
  /* タイトル */
}

.biosensor-section--description {
  /* 説明文 */
}

/* コンテンツ部分 */
.biosensor-section--content {
  padding: 24px 24px 31px;
  background: #fff;
}

@media (max-width: 768px) {
  .biosensor-section--content {
    padding: 15px 15px 15px;
  }
}

.biosensor-section--list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

@media (max-width: 768px) {
  .biosensor-section--list {
    gap: 20px 20px;
  }
}

.biosensor-section--item {
  width: calc((100% / 7) - (144px / 7));
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .biosensor-section--item {
    width: calc((100% / 3) - (40px / 3));
  }
}

/* リンク部分 */
.biosensor-section--link {
  transition: all 0.3s ease;
  display: block;
}

@media (min-width: 769px) {
  .biosensor-section--link:hover .biosensor-section--link-image>img {
    transform: scale(1.14);
  }

  .biosensor-section--link:hover .biosensor-section--link-title {
    color: #36BAFF;
  }
}

.biosensor-section--link-image {
  width: 100%;
  height: 144px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.biosensor-section--link-image img {
  transition: transform 0.3s ease;
}

@media (max-width: 768px) {
  .biosensor-section--link-image {
    height: calc(91.33 * (100vw / 375));
    height: calc(91.33 * (100vw / var(--base-width-sp-value)));
  }
}

.biosensor-section--logo {
  width: 163px;
}

@media (max-width: 768px) {
  .biosensor-section--logo {
    width: calc(79 * (100vw / 375));
    width: calc(79 * (100vw / var(--base-width-sp-value)));
    flex-shrink: 0;
  }
}

.biosensor-section--logo img {
  mix-blend-mode: multiply;
}

.biosensor-section--link-img {
  /* 画像 */
}

.biosensor-section--link-content {
  padding: 12px 0 0;
  border-top: 1px solid #D5DADE;
  margin-top: 10px;
}

@media (max-width: 768px) {
  .biosensor-section--link-content {
    padding: 0;
    border: 0;
    margin-top: 10px;
  }
}

/* タイトルエリア */
.biosensor-section--link-title-area {
  color: #005AA7;
  font-weight: bold;
}

.biosensor-section--link-title {
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.05em;
//  text-align: center;
}

@media (max-width: 768px) {
  .biosensor-section--link-title {
    font-size: 12px;
//    text-align: center;
  }
}

.biosensor-section--link-size {
  line-height: 1.1;
  font-size: 12px;
  letter-spacing: 0.05em;
}

/* 備考エリア */
.biosensor-section--notes-item {
  padding-left: 11px;
  font-size: 14px;
  font-weight: bold;
  position: relative;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.biosensor-section--notes-item::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #08AAFF;
  background: var(--color-blue02);
  position: absolute;
  top: 12px;
  left: 0;
}

.search-tree--checkbox {
  display: none;
}

.search-tree--item:nth-of-type(n+2) {
  border-top: 1px solid #D5DADE;
}

.search-tree--title {
  padding: 5px 15px 5px;
  display: flex;
  align-items: center;
  min-height: 43px;
  background: #E8EAED;
  color: #474C50;
  font-weight: bold;
  box-sizing: border-box;
  line-height: 1.2;
}

.search-tree--title.-modal {
  display: flex;
  gap: 10px;
  padding: 5px 15px 5px;
  background: #2E7BBE;
  color: #fff;
  margin-top: 15px;
  font-size: 16px;
  font-weight: bold;
  min-height: 47px;
}

.search-tree--title.-modal::before {
  content: '';
  width: 11px;
  height: 11px;
  background: #08AAFF;
  position: relative;
  display: block;
}

.search-tree--title.-modal:nth-of-type(1) {
  margin-top: 0;
}

.search-tree--label {
  padding: 5px 15px 5px;
  margin: 0;
  min-height: 52px;
  display: flex;
  align-items: center;
  background: #fff;
}

.search-tree--label::before {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  position: relative;
  background: url(../../img/usr/common/icon_check02.png) no-repeat center center / contain;
  flex-shrink: 0;
}

input[type="checkbox"]:checked+.search-tree--label {
  color: #08AAFF;
  color: var(--color-blue02);
}

input[type="checkbox"]:checked+.search-tree--label::before {
  background: url(../../img/usr/common/icon_check02_on.png) no-repeat center center / contain;
}

.search-tree--label-text {
  font-weight: bold;
  font-size: 12px;
  text-align: left;
  line-height: 1.2;

}

.search-tree-btn-wrap {
  padding: 16px 16px 16px;
  display: flex;
  gap: 8px;
  background: #414640;
}

.search-tree--btn {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 320px;
  height: 48px;
  background: #FFBA00;
  border: 0;
  color: #282D31;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
}

.search-tree--btn.-clear {
  width: 70px;
  background: #D5DADE;
  flex-shrink: 0;
}

.notice_tree_item1_>a {
  display: block;


}

.notice_tree_item1_>a,
.notice_tree_item2_>a {
  position: relative;
}

.notice_tree_item1_ a[target="_blank"]::after, 
.notice_tree_item2_ a[target="_blank"]::after {
  background: none;
}

.notice_tree_item1_>a::after,
.notice_tree_item2_>a::after {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-top: 2px solid #005AA7;
  border-right: 2px solid #005AA7;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
}

.notice_tree_item2_>a::after {
  right: 5px;
}

@media (max-width: 768px) {

  .notice_tree_item1_>a::after,
  .notice_tree_item2_>a::after {
    top: 50%;
    right: 30px;
  }

  .notice_tree_item2_>a::after {
    right: 15px;
  }

}

.notice_tree_item1_>span,
.notice_tree_item2_>span {
  position: relative;

}

.notice_tree_item1_>span::before,
.notice_tree_item2_>span::before,
.notice_tree_item1_>span::after,
.notice_tree_item2_>span::after {
  content: '';
  display: block;
  width: 16px;
  height: 2px;
  background: #005AA7;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: rotate(0deg) translateY(-50%);
  transition: 0.3s ease-in-out 0s;
}

.notice_tree_item1_>span::after,
.notice_tree_item2_>span::after {
  right: 13px;
  transform: rotate(90deg) translateY(-50%);
}

.notice_tree_item1_.notice-tree--open>span::after,
.notice_tree_item2_.notice-tree--open>span::after {
  transform: rotate(0deg) translateY(-50%);
}

.notice_tree_item1_>a>span,
.notice_tree_item1_>span,
.notice_tree_item2_>a>span,
.notice_tree_item2_>span {
  padding: 5px 15px 5px;
  margin: 0;
  min-height: 52px;
  display: flex;
  align-items: center;
}

.notice_tree_item2_>a>span,
.notice_tree_item2_>span {
  padding: 5px 10px 5px;
  min-height: 40px;
}

.notice_tree_item1_ {
  background: #fff;
  position: relative;
}

.notice_tree_item1_:nth-of-type(n+2) {
  border-top: 1px solid #D5DADE;
}

.notice_tree_item2_ {
  border-top: 1px solid #D5DADE;
  width: calc(100% - 30px);
  margin: 0 auto;
  box-sizing: border-box;
}

.cat-genre-search-footer {
  margin-top: 40px;
}

.cat-genre-search-footer>h2 {
  padding: 3px 12px 3px 12px;
  display: flex;
  align-items: center;
  background: #2E7BBE;
  background: var(--color-blue);
  text-align: left;
  font-weight: bold;
  font-size: 16px;
  position: relative;
  gap: 11px;
  min-height: 43px;
  box-sizing: border-box;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  color: #fff;
}

.cat-genre-search-footer>h2::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background: #08AAFF;
  background: var(--color-blue02);
  position: relative;
}

/* 絞り込みモーダル */
.search-modal-close-btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  width: calc(56 * (100vw / 375));
  width: calc(56 * (100vw / var(--base-width-sp-value)));
  height: calc(56 * (100vw / 375));
  height: calc(56 * (100vw / var(--base-width-sp-value)));
  padding: calc(20 * (100vw / 375)) 0 0;
  padding: calc(20 * (100vw / var(--base-width-sp-value))) 0 0;
  flex-shrink: 0;
  background: #282D31;
  border: 0;
  box-sizing: border-box;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.search-modal-close-btn-icon {
  display: block;
  width: calc(14 * (100vw / 375));
  width: calc(14 * (100vw / var(--base-width-sp-value)));
  height: 2px;
  position: relative;
  background: none;
}

.search-modal-close-btn-icon::before,
.search-modal-close-btn-icon::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.search-modal-close-btn-icon::before {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  bottom: auto;
}

.search-modal-close-btn-icon::after {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  bottom: auto;
}

.search-modal-close-btn-text {
  margin-top: calc(17 * (100vw / 375));
  margin-top: calc(17 * (100vw / var(--base-width-sp-value)));
  display: block;
  font-size: calc(8 * (100vw / 375));
  font-size: calc(8 * (100vw / var(--base-width-sp-value)));
  line-height: 1;
  font-weight: bold;
  color: #fff;
}

.search-modal-header {
  display: flex;
  min-height: 56px;
}

.search-modal-header>h2 {
  padding: 0 56px 0 0;
  margin: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #E8EAED;
  color: #474C50;
  font-size: 16px;
  font-weight: bold;
  box-sizing: border-box;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.filtered-search-area .search-modal-btn {
  margin-top: 20px;
}

.search-modal-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 285px;
  min-height: 48px;
  padding: 0;
  border: 0;
  margin: 0 auto 0;
  background: #08AAFF;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  position: relative;
}

.search-modal-btn::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 17px;
  height: 15px;
  background: url(../../img/usr/common/icon_filter.png) no-repeat center center / contain;
  left: 18px;
}

.search-modal-btn-text {
  display: block;
}

.search-modal {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #F2F3F5;
  opacity: 0;
  pointer-events: none;
}

.search-modal .search-tree-form {
  padding: 0;
  margin: 0;
}

.search-modal.is-modal-transition {
  transition: opacity 0.3s ease-in-out 0s;
}

.search-modal.is-modal-active {
  opacity: 1;
  pointer-events: all;
}

.search-tree-form-inner {
  padding: 15px 15px 15px;
  height: calc(100vh - 136px);
  overflow: auto;
  box-sizing: border-box;
}

div.wrapper_ {
  width: 1200px;
  padding-top: 32px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  div.wrapper_ {
    width: 100%;
    padding: 0 15px 10px;
  }
}

div.container_ div.contents_ {
  margin: 0 auto 0;
}

div.rightmenuframe_ {
  display: none;
}

/* ================================================ */
/* 検索ページレイアウト */
/* ================================================ */
.wrapper_.is-search-page {
  margin-left: auto;
  margin-right: auto;
  width: 1200px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .wrapper_.is-search-page {
    width: 100%;
    overflow: hidden;
  }
}

.wrapper_.is-search-page div.container_ div.contents_ div.mainframe_,
.wrapper_.is-search-page div.container_ div.contents_ div.mainframe_ .event_ .goods_ {
  width: 940px;
}

@media (max-width: 768px) {

  .wrapper_.is-search-page div.container_ div.contents_ div.mainframe_,
  .wrapper_.is-search-page div.container_ div.contents_ div.mainframe_ .event_ .goods_ {
    width: 100%;
  }
}

.wrapper_.is-em-search-page .mainframe_ {
  overflow: visible;
}

/* ================================================ */
/*　トップページ用レイアウト調整　*/
/* ================================================ */
/*トップページ用調整 - 非表示項目*/
.d-header.-top+.wrapper_ .leftmenuframe_ {
  display: none !important;
}

header:has(.d-header.-top)~.wrapper_,
.d-header.-top+div.wrapper_ {
  width: 100%;
  padding: 0 0 60px;
  margin: 0;
  overflow: hidden;
  background: #F2F3F5;
}

@media (max-width: 768px) {

  header:has(.d-header.-top)~.wrapper_,
  .d-header.-top+div.wrapper_ {
    overflow: hidden;
  }
}

@media (max-width: 768px) {

  #contentArea>header,
  #contentArea>header>.header_ {
    display: contents !important;
  }
}

header:has(.d-header.-top)~.wrapper_ div.container_ div.contents_,
.d-header.-top+.wrapper_ div.container_ div.contents_ {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

header:has(.d-header.-top)~.wrapper_ div.container_ div.contents_>.mainframe_,
.d-header.-top+.wrapper_ div.container_ div.contents_>.mainframe_ {
  overflow: visible;
  overflow: initial;
}

header:has(.d-header.-top)~.wrapper_ div.container_ div.contents_ div.mainframe_,
.d-header.-top+.wrapper_ div.container_ div.contents_ div.mainframe_,
header:has(.d-header.-top)~.wrapper_ div.container_ div.contents_ div.mainframe_ .event_ .goods_,
.d-header.-top+.wrapper_ div.container_ div.contents_ div.mainframe_ .event_ .goods_ {
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

header:has(.d-header.-top)~.wrapper_ .event_,
.d-header.-top+.wrapper_ .event_ {
  margin: 80px auto 0;
}

@media (max-width: 768px) {

  header:has(.d-header.-top)~.wrapper_ .event_,
  .d-header.-top+.wrapper_ .event_ {
    padding: 0 15px 0;
    margin: 40px auto 0;
  }
}

header:has(.d-header.-top)~.wrapper_ .event_ .blk-more-btn,
.d-header.-top+.wrapper_ .event_ .blk-more-btn {
  margin-top: 40px;
  max-width: 320px;
}

@media (max-width: 768px) {

  header:has(.d-header.-top)~.wrapper_ .event_ .blk-more-btn,
  .d-header.-top+.wrapper_ .event_ .blk-more-btn {
    margin-top: 30px;
    max-width: 280px;
  }
}

header:has(.d-header.-top)~.wrapper_ .topiclist_,
.d-header.-top+.wrapper_ .topiclist_ {
  margin: 80px auto 0;
}

@media (max-width: 768px) {

  header:has(.d-header.-top)~.wrapper_ .topiclist_,
  .d-header.-top+.wrapper_ .topiclist_ {
    margin: 40px auto 0;
  }
}

header:has(.d-header.-top)~.wrapper_ .technical-info-section,
.d-header.-top+.wrapper_ .technical-info-section {
  margin: 80px auto 0;
}

@media (max-width: 768px) {

  header:has(.d-header.-top)~.wrapper_ .technical-info-section,
  .d-header.-top+.wrapper_ .technical-info-section {
    margin: 40px auto 0;
  }
}

@media (max-width: 768px) {

  header:has(.d-header.-top)~.wrapper_ div.goods_,
  .d-header.-top+.wrapper_ div.goods_ {
    background: none;
  }
}

header:has(.d-header.-top)~.wrapper_ #block_of_history,
.d-header.-top+.wrapper_ #block_of_history {
  margin-top: 81px;
}

@media (max-width: 768px) {

  header:has(.d-header.-top)~.wrapper_ #block_of_history,
  .d-header.-top+.wrapper_ #block_of_history {
    margin-top: 0;
  }
}

.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  display: none;
}

/* ================================================ */
/* 一覧調整 */
/* ================================================ */
.d-navWrap+.autopagerize_page_element_ {
  margin-top: 40px;
}

.d-navWrap+div.autopagerize_page_element_ {
  margin-top: 20px;
}

/* ================================================ */
/* エンドミル用詳細検索 */
/* ================================================ */
.wrapper_.is-em-search-page,
.wrapper_:has(.search-form-wrapper.-em-form) {
  padding-top: 27px;
}

@media screen and (max-width: 768px) {

  .wrapper_.is-em-search-page,
  .wrapper_:has(.search-form-wrapper.-em-form) {
    padding-top: 0;
  }
}

.wrapper_.is-em-search-page .navitopicpath_,
.wrapper_:has(.search-form-wrapper.-em-form) .navitopicpath_ {
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {

  .wrapper_.is-em-search-page .navitopicpath_,
  .wrapper_:has(.search-form-wrapper.-em-form) .navitopicpath_ {
    padding: 10px 15px 0;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
}

.wrapper_.is-em-search-page .common_headline1_,
.wrapper_:has(.search-form-wrapper.-em-form) .common_headline1_ {
  margin-top: 22px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {

  .wrapper_.is-em-search-page .common_headline1_,
  .wrapper_:has(.search-form-wrapper.-em-form) .common_headline1_ {
    margin-top: 15px;
  }
}

@media screen and (max-width: 768px) {
  .wrapper_.is-em-search-page .common_headline1_ {
    padding: 0 15px;
  }
}

.wrapper_.is-em-search-page div.container_ div.contents_ div.mainframe_ {
  width: 100%;
}

/* エンドミル検索ヘッダー */
.em-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.em-header h1 {
  font-size: 24px;
  font-weight: bold;
  color: #282d31;
}

.em-result-count {
  text-align: right;
}

.em-result-count .count {
  font-size: 24px;
  font-weight: bold;
  color: #e2002b;
}

.em-result-count .total {
  color: #8c99a4;
}

/* フレーム */
.search-form-wrapper.-em-form {
  margin-top: 20px;
  position: relative;
}

.search-form-wrapper.-em-form .results-counter {
  position: absolute;
  top: -20px;
  transform: translateY(-100%);
  right: 0;
}

.search-form-wrapper.-em-form .results-counter.area2 {
  position: static;
}


@media screen and (max-width: 768px) {
  .search-form-wrapper.-em-form .results-counter {
    top: -22px;
    right: 10px;
  }
}

@media screen and (max-width: 768px) {
  .em-search-form {
    padding: 0;
  }
}

.em-search-form--frame {
  padding: 10px 14px 16px;
  background: #EBEAED;
  border: 0;
  border-radius: 0;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame {
    padding: 13px 5px 5px;
  }
}

.em-search-form--frame:nth-of-type(n+2) {
  margin-top: 5px;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame:nth-of-type(n+2) {
    margin-top: 10px;
  }
}

.em-search-form--frame-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-header {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.em-search-form--frame-title {
  font-size: 18px;
  font-weight: 500;
  color: #282d31;
  display: flex;
  align-items: center;
  gap: 12px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-title {
    font-size: 15px;
    gap: 8px;
    letter-spacing: 0.05em;
  }
}

.em-search-form--frame-item {
  display: flex;
  padding: 0;
}

.em-search-form--frame-items {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-items {
    gap: 1px;
  }
}

.em-search-form--frame-items:nth-of-type(n+2) {
  margin-top: 15px;
}

.em-search-form--frame-items.-col3 {
  flex-direction: row;
  gap: 15px 15px;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-items.-col3 {
    flex-direction: column;
    gap: 1px;
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-items.-col3:nth-of-type(n+2) {
    margin-top: 1px;
  }
}

.em-search-form--frame-items.-col3 .em-search-form--frame-item {
  padding: 0;
  width: calc((100% / 3) - (30px / 3));
  margin: 0;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-items.-col3 .em-search-form--frame-item {
    width: 100%;
  }
}

.em-search-form--frame-items.-col2 {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 15px 15px;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-items.-col2 {
    flex-direction: column;
    margin-top: 10px;
  }
}

.em-search-form--frame-items.-col2:nth-of-type(n+2) {
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-items.-col2:nth-of-type(n+2) {
    margin-top: 1px;
  }
}

.em-search-form--frame-items.-col2 .em-search-form--frame-item {
  padding: 0;
  width: calc((100% / 2) - (15px / 2));
  margin: 0;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-items.-col2 .em-search-form--frame-item {
    width: 100%;
  }
}

.em-search-form--frame-items.-col2 .em-search-form--frame-item.-shank-diameter,
.em-search-form--frame-items.-col2 .em-search-form--frame-item.-large {
  width: calc(100% - 381px - 15px);
  padding: 0;
  margin: 0;
}

@media screen and (max-width: 768px) {

  .em-search-form--frame-items.-col2 .em-search-form--frame-item.-shank-diameter,
  .em-search-form--frame-items.-col2 .em-search-form--frame-item.-large {
    width: 100%;
  }
}

.em-search-form--frame-items.-col2 .em-search-form--frame-item.-total-length,
.em-search-form--frame-items.-col2 .em-search-form--frame-item.-small {
  width: 381px;
}

@media screen and (max-width: 768px) {

  .em-search-form--frame-items.-col2 .em-search-form--frame-item.-total-length,
  .em-search-form--frame-items.-col2 .em-search-form--frame-item.-small {
    width: 100%;
  }
}

.em-search-form--frame.-basic-info .em-search-form--frame-items,
.em-search-form--frame.-tool-size .em-search-form--frame-items {
  margin-top: 10px;
}

@media screen and (min-width: 769px) {

  .em-search-form--frame.-basic-info .em-search-form--frame-items,
  .em-search-form--frame.-tool-size .em-search-form--frame-items {}
}

@media screen and (max-width: 768px) {

  .em-search-form--frame.-basic-info .em-search-form--frame-items,
  .em-search-form--frame.-tool-size .em-search-form--frame-items {
    gap: 1px 1px;
  }

}

/* 基本情報個別調整 */
/* ================================================ */
.em-search-form--frame.-basic-info .em-search-form--frame-label {
  height: auto;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame.-basic-info .em-search-form--frame-label {
    padding: 9px 7px 5px;
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame.-basic-info .em-search-form--frame-label.-mini-height {
    padding: 9px 7px 5px;
  }
}

@media screen and (max-width: 768px) {

  .em-search-form--frame.-basic-info .em-search-form--frame-item.-shank-diameter .em-search-form--frame-label,
  .em-search-form--frame.-basic-info .em-search-form--frame-item.-blade-count .em-search-form--frame-label {
    padding: 17px 7px 17px;
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame.-basic-info .em-search-form--frame-item.-total-length .em-search-form--frame-label-note {
    display: none !important;
  }
}

/* 工具サイズ */
/* ================================================ */
@media screen and (max-width: 768px) {
  .em-search-form--frame.-tool-size {
    padding: 12px 5px 12px;
    min-height: 44px;

  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame.-tool-size .em-search-form--frame-header+.em-search-form--frame-items {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame.-tool-size .em-search-form--frame-items {
    margin-top: 1px;
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame.-tool-size .em-search-form--frame-header+.em-search-form--frame-content {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame.-tool-size .em-search-form--frame-content>* {
    border: 0;
    height: 100%;
  }
}

/* ブルーインジケーター */
.blue-indicator {
  width: 14px;
  height: 14px;
  background-color: #08aaff;
  border-radius: 0;
}

@media screen and (max-width: 768px) {
  .blue-indicator {
    width: 10px;
    height: 10px;
    border-radius: 0px;
  }
}

/* フレームラベル */
.em-search-form--frame-label {
  width: 144px;
  background-color: #D4E5F5;
  padding: 12px 12px 12px;
  margin: 0;
  border-radius: 4px;
  display: block;
  flex-shrink: 0;
  box-sizing: border-box;
  min-height: 40px;
  font-size: 15px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-label {
    width: 112px;
    padding: 18px 7px 12px;
    font-size: min;
  }
}

.em-search-form--frame-label.-mini-height {
  padding: 5px 12px 2px;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-label.-mini-height {
    padding: 5px 7px 2px;
  }
}

.em-search-form--frame-item.-coating .em-search-form--frame-label-note {
  display: none;
}

.em-search-form--frame-label-txt {
  width: 100%;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-label-txt {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    letter-spacing: 0.1em;
  }
}

.em-search-form--frame-label-txt .option-help-icon {
  position: relative;
  top: -2px;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-label-txt .option-help-icon {}
}

.em-search-form--frame-label-note {
  margin-top: 5px;
  font-size: 11px;
/*  color: #8c99a4;*/
  color:rgba(140, 153, 164, 0.6);
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-label-note {
    font-size: 10px;
  }
}

.em-search-form--frame-label .title {
  font-size: 14px;
  font-weight: 500;
  color: #474c50;
}

.em-search-form--frame-label .subtitle {
  font-size: 12px;
  color: #8c99a4;
}

/* ヘルプアイコン */
/* ================================================ */
.help-icon {
  width: 16px;
  height: 16px;
  color: #8c99a4;
}

/* ユーティリティクラス */
.title-section {
  font-size: 14px;
  font-weight: 500;
  color: #474c50;
  margin-bottom: 16px;
}

.margin-top-24 {
  margin-top: 24px;
}

.margin-top-16 {
  margin-top: 16px;
}

.text-muted {
  font-size: 14px;
  color: #8c99a4;
}

/* 項目レイアウト */
/* ================================================ */
.em-search-form--frame-content {
  padding: 8px 12px 12px;
  width: 100%;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 7px 0;
  align-items: start;
  box-sizing: border-box;
  min-height: 40px;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-content {
    padding: 8px 13px 12px;
  }
}

/* 明示的なグリッド修飾子 */
.em-search-form--frame-content.-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.em-search-form--frame-content.-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 24px;
  gap: 24px;
}

.em-search-form--frame-content.-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 24px;
  gap: 24px;
}

/* 入力フィールド修飾子 */
.em-search-form--frame-content.-input2 {
  display: flex;
  flex-wrap: nowrap;
  padding: 0;
  gap: 0;
  background: none;
}

.em-search-form--frame-content.-input2 span {
  width: 100%;
  display: flex;
  min-height: 40px;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  text-align: center;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-content.-input2 span {
    background: #F2F3F5;
  }
}

.em-search-form--frame-content.-input2 input {
  width: calc(100% * 106 / 237);
  min-height: 40px;
  box-sizing: border-box;
  border-radius: 0;
  flex-shrink: 0;

  height: 100%;

}

.em-search-form--frame-content.-input2 input:focus {
  border: 0 !important;
  outline: none !important;
}

.em-search-form--frame-content.-input2 input::placeholder {
  color: #8C99A4;
}

.em-search-form--frame-content.-input2 input:focus::placeholder {
  color: transparent;
  transition: color 0.2s ease-out;
}

/* セレクト修飾子 */
.em-search-form--frame-content.-select {
  padding: 0;
}

.em-search-form--frame-content.-select select {
  width: 100%;
  min-height: 40px;
  height: 100%;
  border: 0;
  color: #474C50;
  color: var(--color-main);
}

.em-search-form--frame-content.-series {
  padding: 8px 18px 12px;
  gap: 16px 66px;
  letter-spacing: 0.12em;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-content.-series {
    padding: 8px 13px 12px;
    gap: 4px;
    flex-direction: column;
  }
}

.grid-2-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 8px;
  gap: 8px;
}

/* 項目レイアウト　ー工具形状 */
@media screen and (max-width: 768px) {
  .em-search-form--frame-item.-shape .em-search-form--frame-content {
    gap: 4px 4px;
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-item.-shape .em-checkbox-item:nth-of-type(odd) {
    width: calc(50% + 6px);
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-item.-shape .em-checkbox-item:nth-of-type(even) {
    width: calc(50% - 10px);
  }
}

/* 項目レイアウト　ー 補作剤 */
@media screen and (max-width: 768px) {
  .em-search-form--frame-item.-material .em-search-form--frame-content {
    gap: 4px 4px;
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-item.-material .em-checkbox-item:nth-of-type(odd) {
    width: calc(50% + 6px);
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-item.-material .em-checkbox-item:nth-of-type(even) {
    width: calc(50% - 10px);
  }
}

/* 項目レイアウト　ー 刃数・シャンク径 */
.em-search-form--frame-item.-blade-count .em-search-form--frame-content,
.em-search-form--frame-item.-shank-diameter .em-search-form--frame-content {
  gap: 20px;
}

@media screen and (max-width: 768px) {

  .em-search-form--frame-item.-blade-count .em-search-form--frame-content,
  .em-search-form--frame-item.-shank-diameter .em-search-form--frame-content {
    gap: 4px 5px;
  }
}

@media screen and (max-width: 768px) {

  .em-search-form--frame-item.-blade-count .em-checkbox-items,
  .em-search-form--frame-item.-shank-diameter .em-checkbox-items {}
}

@media screen and (max-width: 768px) {

  .em-search-form--frame-item.-blade-count .em-checkbox-item,
  .em-search-form--frame-item.-shank-diameter .em-checkbox-item {
    width: calc((100% / 5) - (20px / 5));
  }
}

.em-search-form--frame-item.-shank-diameter .em-search-form--frame-content {
  align-items: center;
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-item.-shank-diameter .em-search-form--frame-content {}
}

.em-search-form--frame-item.-total-length .em-search-form--frame-label {
  padding: 5px 12px 5px;
}

.em-search-form--frame.-tool-size {}

.em-search-form--frame.-options .em-search-form--frame-header {}

@media screen and (max-width: 768px) {
  .em-search-form--frame.-options .em-search-form--frame-header+.em-search-form--frame-items {
    margin-top: 10px;
  }
}

.frame-label-compact {
  margin: 0;
  padding: 8px;
}

.size-label-with-icon {
  display: flex;
  align-items: center;
  gap: 4px;
}

.help-icon-small {
  width: 12px;
  height: 12px;
}

/* エンドミル検索チェックボックス */
.em-checkbox {
  display: none;
}

.em-checkbox-bg {
  display: flex;
  width: 100%;
  height: 100%;
  position: absolute;
  padding: 10px 10px 10px;
  top: 0;
  left: 0;
  z-index: 1;
  border-radius: 4px;
  box-shadow: 0 0 0 1px #d5dade;
  box-sizing: border-box;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .em-checkbox-bg {
    display: none !important;
  }
}

.em-checkbox-bg>span {
  width: calc(100% / 5);
  display: block;
  position: relative;
  height: 100%;
}

.em-checkbox-bg>span::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: #E8EAED;
}

.em-checkbox-item>input+label {
  display: flex;
  align-items: center;
  gap: 0 5px;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .em-checkbox-item>input+label {
    font-size: 12px;
    line-height: 1.2;
    min-height: 2.4em;
    letter-spacing: 0;
  }
}

.em-checkbox-item>input+label::before {
  content: '';
  display: block;
  position: relative;
  width: 18px;
  height: 18px;
  background: url(../../img/usr/common/icon_check02.png) no-repeat center center / contain;
  top: 1px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .em-checkbox-item>input+label::before {
    top: 2px;
  }
}

.em-checkbox-item>input:checked+label {
  font-weight: bold;
  color: #08AAFF;
}

.em-checkbox-item>input:checked+label::before {
  background-image: url(../../img/usr/common/icon_check02_on.png);
}

.em-checkbox-label {
  padding: 0;
  margin: 0;
  font-size: 14px;
  cursor: pointer;
}

/* グリッド内のチェックボックス調整 */
/* ================================================ */
.em-search-form--frame-content-subwrap {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: calc(100% / 5);
  position: relative;
}

.em-search-form--frame-content-subwrap::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: #E8EAED;
}

.em-search-form--frame-content.-multi-column {
  width: 100%;
  position: relative;
  flex-wrap: nowrap;
  align-items: initial;
}

.em-search-form--frame-content.-multi-column .em-checkbox-item {
  padding-left: 10px;
}

@media screen and (max-width: 769px) {
  .em-search-form--frame-content.-multi-column {
    display: flex;
  }
}

@media screen and (max-width: 768px) {
  .em-search-form--frame-content.-multi-column {
    display: flex;
  }

  .em-search-form--frame-content.-multi-column .em-checkbox-item {
    width: calc((100% / 2) - (16px / 2));
    padding-left: 0;
    box-sizing: border-box;
  }
}

/* エンドミル検索フォーム要素 */
/* ================================================ */
.em-input {
  padding: 8px 12px;
  border: 1px solid #d5dade;
  border-radius: 4px;
  background-color: white;
  font-size: 14px;
  text-align: center;
}

.em-input-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.em-select {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d5dade;
  border-radius: 4px;
  background-color: white;
  font-size: 14px;
  cursor: pointer;
}

.em-select[multiple] {}

.ui-multiselect-checkboxes {
  max-height: 230px;
  overflow-y: auto !important;
}

.ui-multiselect-checkboxes::-webkit-scrollbar-track {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.ui-multiselect-menu {
  padding: 5px 10px;
  display: none;
}

.em-select[multiple]+.ui-multiselect {
  width: 100% !important;
  height: 100%;
  border-radius: 0;
  padding: 5px 10px 5px;
  border: 0;
  background: url(../../img/usr/common/icon_triangle_bottom_blue.png) no-repeat right 10px center / 9px 7px;

}

.em-select[multiple]+.ui-multiselect .ui-multiselect-open {
  display: none !important;
}

.em-select[multiple]+.ui-multiselect .ui-state-active {
  color: #08AAFF !important;
}

.ui-state-default {
  color: #474C50 !important;
  color: var(--color-main) !important;
  font-weight: normal;
  font-size: 14px;
}
/*
form.em-search-form .ui-multiselect.ui-state-default span {
  color: rgba(140, 153, 164, 0.6);
}
*/

.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
.ui-button.ui-state-disabled:hover,
.ui-button.ui-state-disabled:active {
  color: #08AAFF !important;
  font-size: 14px;
}

.ui-multiselect-header {
  display: none;
}

.ui-widget.ui-widget-content {
  border-radius: 0;
  border: 1px solid #EBEAED;
}

.ui-multiselect-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.ui-multiselect-checkboxes>li {}

.ui-multiselect-checkboxes>li>label {
  display: block;
  padding: 0;
  border: 0;
  text-indent: 0;
}

.ui-multiselect-checkboxes>li>label>input {
  display: none;
}

.ui-multiselect-checkboxes>li>label>span {
  display: flex;
  align-items: center;
  gap: 0 5px;
  font-size: 14px;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .ui-multiselect-checkboxes>li>label>span {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0;
  }
}

.ui-multiselect-checkboxes>li>label>span::before {
  content: '';
  display: block;
  position: relative;
  width: 18px;
  height: 18px;
  background: url(../../img/usr/common/icon_check02.png) no-repeat center center / contain;
  top: 1px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .ui-multiselect-checkboxes>li>label>span::before {
    top: 2px;
  }
}

.ui-multiselect-checkboxes>li>label>input:checked+span {
  font-weight: bold;
  color: #08AAFF;
}

.ui-multiselect-checkboxes>li>label>input:checked+span::before {
  background-image: url(../../img/usr/common/icon_check02_on.png);
}

/* グリッド */
.blade-count-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.shank-diameter-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 16px;
}

.size-input-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-gap: 8px;
  gap: 8px;
  align-items: center;
  margin-bottom: 16px;
}

.size-label {
  background-color: #e8eaed;
  padding: 8px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: #474c50;
}

.size-label.blue {
  background-color: #d4e5f5;
}

/* トグルボタン */
/* ================================================ */
.toggle-button {
  width: 24px;
  height: 24px;
  background-color: #282d31;
  color: white;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  position: relative;
}

.toggle-button::before,
.toggle-button::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: '';
  display: block;
  width: calc(100% - 10px);
  height: 2px;
  background: #fff;
}

.toggle-button::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.toggle-button::after {}

.em-search-result+.message_.-no-results,
.em-search-result .message_.-no-results {
  padding: 0;
  margin: 20px auto 0;
  text-align: center;
  font-size: 16px;
  line-height: 1.9;
}

@media screen {

  .em-search-result+.message_.-no-results,
  .em-search-result .message_.-no-results {
    margin-top: 40px;
    font-size: 13px;
    line-height: 1.4;
  }
}

.em-search-result+.message_.-no-results>strong,
.em-search-result .message_.-no-results>strong {
  font-weight: bold;
  color: #E2002B;
  font-size: 20px;
}

@media screen {

  .em-search-result+.message_.-no-results>strong,
  .em-search-result .message_.-no-results>strong {
    font-size: 18px;
  }
}

.em-search-form--frame-header+.em-search-form--frame-items {
  margin-top: 15px;
}

.em-search-form--frame-items.is-hidden {
  display: none;
}

.em-search-form--frame-header.is-active .toggle-button::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

/* エンドミル検索ボトムバー */
.em-bottom-area {
  background-color: #415160;
  padding: 16px;
  border-radius: 0;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.em-bottom-area.fixed {
  position: fixed;
  bottom: 0;
  z-index: 1000;
  width: 1200px;
}

@media screen and (max-width: 768px) {
  .em-bottom-area {
    margin-top: 10px;
  }
}

/* エンドミル検索ボタン */
/* ================================================ */
.em-btn {

  padding: 8px 16px;
  border-radius: 0;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

}

.em-btn:hover {
  opacity: 0.9;
}

.em-btn-clear {
  width: 69px;
  padding: 8px 10px;
  background-color: white;
  color: #282d31;
  border: 1px solid #d5dade;
}

@media screen and (max-width: 768px) {
  .em-btn-clear {
    width: 82px;
    flex-shrink: 0;
  }
}

.em-btn-search {
  width: 320px;
  background-color: #ffba00;
  color: #282d31;
  border: none;
  padding: 8px 32px;
  position: relative;
}

.em-btn-search>svg {
  display: none !important;
}

.em-btn-search::before {
  content: '';
  display: block;
  width: 21px;
  height: 21px;
  background: url('../../img/usr/common/icon_search02.png') no-repeat center center / contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 16px;
}

/* ================================================ */
/* 検索結果（通常一覧用）*/
/* ================================================ */
.wrapper_.is-search-page {}

/* ================================================ */
/* 検索結果ページ用 */
/* ================================================ */
.wrapper_.is-em-search-page * {
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .wrapper_.is-em-search-page {
    padding: 20px 0 0;
    overflow: hidden;
  }
}

.d-search.is-em-search-result-ctrl {
  width: 404px;
  margin: 0;
}

@media (max-width: 768px) {
  .d-search.is-em-search-result-ctrl {
    width: 100%;
  }

  .d-search.is-em-search-result-ctrl form {
    background: none;
    padding: 0;
  }

  .d-search.is-em-search-result-ctrl form dl {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .em-search-result {
    width: 100%;
    overflow-x: auto;
    /* 横スクロール有効 */
    /*overflow-y: hidden;*/
    /* 縦スクロール無効 */
    white-space: nowrap;
    /* 改行禁止 */
  }
}

@media (max-width: 768px) {
  .em-search-result-table {
    width: auto;
    /* 内容に応じて可変 */
    min-width: 1200px;
    /* 最小幅は親要素に合わせる */
    table-layout: auto;
    /* 内容に応じて列幅調整 */
    border-collapse: collapse;
  }
}

.em-search-result-table .th_,
.em-search-result-table .td_ {
  text-align: center;
}

@media screen and (max-width: 768px) {

  .em-search-result-table .th_,
  .em-search-result-table .td_ {
    white-space: wrap;
  }
}

.em-search-result-table .th_ {
  line-height: 1.1;
}

.em-search-result-table .th_.-quantity {
  width: 50px;
}

/* thのspan要素 */
.em-search-result-table .th_ span {
  position: relative;
  display: inline-block;
}

.em-search-result-table .th_.is-sort-header span {
  cursor: pointer;
  padding-left: 14px;
}

.em-search-result-table .th_.is-sort-header span::before {
  content: '';
  position: absolute;
  left: 0;
  /* テキストの左側にアイコンを配置 */
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background-image: url('../../img/usr/common/icon-sort.png');
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.6;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.em-search-result-table .th_.is-sort-header span::before {
  content: '';
  position: absolute;
  left: 0;
  /* テキストの左側にアイコンを配置 */
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background-image: url('../../img/usr/common/icon-sort.png');
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.6;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.em-search-result-table .th_.is-sort-header.sort-asc span::before {
  background-image: url('../../img/usr/common/icon-sort-asc.png');
}
.em-search-result-table .th_.is-sort-header.sort-desc span::before {
  background-image: url('../../img/usr/common/icon-sort-desc.png');
}



/* 検索結果ヘッダー制御 */
/* ================================================ */
.em-search-result-ctrl {
  margin: 96px auto 0;
  background-color: #d4e5f5;
  padding: 16px;
  border-bottom: 1px solid #d5dade;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

div.em-search-result-ctrl {
  margin: 20px auto 0;
}

@media screen and (max-width: 768px) {
  .em-search-result-ctrl {
    margin-top: 20px;
  }
}

.em-search-result-ctrl--frame {
  display: flex;
  gap: 16px;
}

@media screen and (max-width: 768px) {
  .em-search-result-ctrl--frame {
    margin-top: 0;
  }
}

.em-search-result-ctrl--frame label {
  white-space: nowrap;
}

.em-search-result-sort {
  display: flex;
  align-items: center;
  gap: 8px;
}

.em-btn-sort {
  padding: 8px 16px;
  border: 1px solid;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  -webkit-text-decoration: none;
  text-decoration: none;
  display: inline-block;
  background: none;
  color: #474c50;
  border-color: #8c99a4;
}

.em-btn-sort:hover {
  background-color: #e8eaed;
}

.em-btn-sort-active {
  background-color: #2e7bbe;
  color: white;
  border-color: #2e7bbe;
}

.em-btn-sort-active:hover {
  background-color: #005aa7;
}

.em-search-result-filter {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-left: auto;
}

.sort-radio-group {
  width: 330px;
  display: flex;
  gap: 1px;
  align-items: center;
}

.d-navWrap.-em-search-page~.navipage_.top_ .navipage_sum_ {
  display: none;
}

@media screen and (max-width: 768px) {
  .d-navWrap.-em-search-page~.navipage_.top_ {
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .d-navWrap.-em-search-page~.navipage_.top_:not(:has(> *)) {
    margin: 5px;
  }
}

.d-navWrap.-em-search-page {
  margin-top: 40px;
}

div.d-navWrap.-em-search-page {
  margin-top: 20px;
}

.d-navWrap.-em-search-page .navipage_sum_ {
  display: none;
}

@media screen and (max-width: 768px) {
  .d-navWrap.-em-search-page {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 0 15px 0;
    margin-top: 20px;
  }
}

.sort-radio-item {
  width: calc(100% / 3);
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.sort-radio-item input[type="radio"] {
  display: none;
}

.sort-radio-item .sort-radio-label {
  width: 100%;
  padding: 8px 5px;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  color: #474c50;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  background: #fff;
}

.sort-radio-item:hover .sort-radio-label {
  background-color: #e8eaed;
}

.sort-radio-item input[type="radio"]:checked+.sort-radio-label {
  background-color: #2e7bbe;
  color: white;
  border-color: #2e7bbe;
}

.checkbox-container {
  display: flex;
  align-items: center;
  gap: 8px;
}

@media screen and (max-width: 768px) {
  .checkbox-container {
    gap: 3px;
    font-size: min(calc(12 * (100vw / 375)), 12px);
    font-size: min(calc(12 * (100vw / var(--base-width-sp-value))), 12px);
  }
}

.checkbox {
  width: 16px;
  height: 16px;
  border: 1px solid #8c99a4;
  border-radius: 2px;
}

.select-container {
  display: flex;
  align-items: center;
  gap: 8px;

}

.display-count-wrap {
  display: flex;
  gap: 10px;
}

@media screen and (max-width: 768px) {
  .display-count-wrap {
    gap: 5px;
  }
}

.display-count-wrap>span {
  display: flex;
  align-items: center;
  font-size: 14px;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .display-count-wrap>span {
    font-size: min(calc(12 * (100vw / 375)), 12px);
    font-size: min(calc(12 * (100vw / var(--base-width-sp-value))), 12px);
  }
}

.display-count-wrap .radio-group {
  display: flex;
  gap: 1px 1px;
  align-items: center;
}

.display-count-wrap .radio-item {
  width: 40px;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

.display-count-wrap .radio-item input[type="radio"] {
  display: none;
}

.display-count-wrap .radio-item input[type="radio"]:checked+.radio-label {
  background: #2E7BBE;
  color: #fff;
}

.display-count-wrap .radio-item .radio-label {
  min-height: 32px;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 12px;
  color: #474c50;
  cursor: pointer;
  background: #fff;
}

.display-count-wrap .radio-item:hover .radio-label {
  color: #08aaff;
}

.search-container {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.search-input {
  width: 192px;
  height: 32px;
  border: 1px solid #8c99a4;
  border-radius: 4px;
  padding: 4px 8px;
}

.search-btn {
  background-color: #ffba00;
  color: #282d31;
  border: none;
  height: 32px;
  padding: 0 12px;
  border-radius: 0px;
  cursor: pointer;
}

.results-header {
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.results-count {
  color: #e2002b;
  font-size: 24px;
  font-weight: bold;
}

.results-count .total {
  color: #474c50;
  font-size: 16px;
  font-weight: normal;
}

.pagination {
  display: flex;
  align-items: center;
  gap: 4px;
}

.pagination-btn {
  padding: 4px 8px;
  border: none;
  background: none;
  color: #474c50;
  cursor: pointer;
  border-radius: 4px;
}

.pagination-btn:hover {
  background-color: #e8eaed;
}

.pagination-btn.active {
  background-color: #08aaff;
  color: white;
}

.pagination-btn.disabled {
  color: #8c99a4;
  cursor: not-allowed;
}

.table-container {
  padding: 0 16px;
  overflow-x: auto;
}

.em-search-result--unit-txt {
  font-size: 12px;
  color: #474c50;
  text-align: right;
  margin-bottom: 5px;
}
/*
p.em-search-result--unit-txt{
  margin-bottom:  5px;
}*/

@media screen and (max-width: 768px) {
  .em-search-result--unit-txt {
    margin-right: 10px;
  }
}

.em-search-result-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  table-layout: fixed;
}

.em-search-result-table th {
  background-color: #e8eaed;
  color: #474c50;
  font-weight: 500;
  padding: 8px 4px;
  text-align: left;
  border-top: 1px solid #D5DADE;
  border-bottom: 1px solid #D5DADE;
  /* 幅の調整方法 */
  width: auto;
  /* 自動調整 */
  min-width: 80px;
  /* 最小幅 */
  /* max-width: 200px; */
  /* 最大幅 */
}

.em-search-result-table td {
  border-bottom: 1px solid #e8eaed;
  vertical-align: middle;
}

.em-search-result-table tr:hover {
  background-color: rgba(232, 234, 237, 0.5);
}

.product-image {
  width: 60px;
  height: 40px;
  object-fit: contain;
  background-color: #f5f5f5;
  border: 1px solid #e8eaed;
}

.product-link {
  color: #08aaff;
  -webkit-text-decoration: underline;
  text-decoration: underline;
  cursor: pointer;
}

.product-link:hover {
  color: #2e7bbe;
}

.stock-status {
  text-align: center;
  font-weight: bold;
}

/* 検索結果テーブルセル */
.td_ {
  padding: 3px 4px;
  text-align: center;
  height: 50px;
  box-sizing: border-box;
  /* 幅の調整方法 */
  width: auto;
  /* 自動調整 */
  min-width: 80px;
  /* 最小幅 */
  /* max-width: 200px; */
}

.em-search-result-table .th_ span {
  color: #474C50;
  color: var(--color-main);
}

/* 最大幅 */
.th_.-image,
.td_.-image {
  width: 90px;
  /* 固定幅 */
  text-align: center;
}

.th_.-image figure,
.td_.-image figure {
  display: block;
  padding: 0;
  margin: 0;
}

.th_.-shape,
.td_.-shape {
  width: 120px;
  /* 最大幅も制限 */

  /* 形状列の幅 */
}

@media screen and (max-width: 768px) {

  .th_.-shape,
  .td_.-shape {
/*    width: auto;*/
    min-width: 90px;
  }
}

.th_.-product-code,
.td_.-product-code {
  width: 90px;
  /* 製品コード列の幅 */
}

.th_.-it-standard,
.td_.-it-standard {
  width: 80px;
  /* IT基準列の幅 */
}

.th_.-diameter,
.td_.-diameter,
.th_.-blade-length,
.td_.-blade-length,
.th_.-total-length,
.td_.-total-length {
  width: 50px;
}

.th_.-shank-diameter,
.td_.-shank-diameter {
  width: 80px;
  /* 数値列の幅 */
}

.th_.-coating,
.td_.-coating {
  width: 100px;
}

.th_.-blade-count,
.td_.-blade-count {}

.th_.-material,
.td_.-material {
  width: 80px;
  /* 文字列列の幅 */
}

.th_.-retail-price,
.td_.-retail-price,
.th_.-sale-price,
.td_.-sale-price {
  width: 120px;
  /* 価格列の幅 */
}

.th_.-sale-price,
.td_.-sale-price {
  /* background: #F2F3F5; */
}

.th_.-stock,
.td_.-stock {
  width: 35px;
  /* 在庫・数量列の幅 */
}

.th_.-quantity,
.td_.-quantity {
  width: 50px;
  /* 在庫・数量列の幅 */
}

.th_.-shape,
.td_.-shape {}

.th_.-product-code,
.td_.-product-code,
.th_.-it-standard,
.td_.-it-standard {
  color: #005AA7;
  color: var(--color-blue04);
}

.th_.-diameter,
.td_.-diameter,
.th_.-blade-length,
.td_.-blade-length,
.th_.-total-length,
.td_.-total-length,
.th_.-shank-diameter,
.td_.-shank-diameter {}

.th_.-blade-count,
.td_.-blade-count,
.th_.-material,
.td_.-material {
  width: 80px;
}

.th_.-retail-price,
.td_.-retail-price {}

.th_.-sale-price,
.td_.-sale-price {
  min-width: 150px;
  color: #E2002B;
  color: var(--color-red);
}

.th_.-stock,
.td_.-stock,
.th_.-quantity,
.td_.-quantity {}

.quantity-input {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: right;
  width: 50px;
  max-width: 100%;
  height: 30px;
  border: 0;
  border-radius: 15px;
  font-size: 12px;
  font-weight: bold;
  background-color: white;
  padding: 2px 4px;
  box-sizing: border-box;
  cursor: pointer;
}

.quantity-input:focus {
  outline: 2px solid #08aaff;
  outline-offset: -2px;
  border-color: #08aaff;
}

.quantity-input::-webkit-outer-spin-button,
.quantity-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity-input[type=number] {
  -moz-appearance: textfield;
}

.em-bottom-section {
  width: 100%;
  padding: 0;
  margin: 20px 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .em-bottom-section {
    justify-content: center;
    margin: 40px auto 0;
  }
}

.em-bottom-section .cart-btn {
  background-color: #E2002B;
  background-color: var(--color-red);
  color: white;
  border: none;
  padding: 8px 24px;
  border-radius: 0;
  cursor: pointer;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .em-bottom-section .cart-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 315px;
    padding: 8px 16px;
    min-height: 48px;
    position: relative;
  }

  .em-bottom-section .cart-btn::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: url(../../img/usr/header/icon_cart_wh.png) no-repeat center center / contain;
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
  }
}

.floating-bottom-section-container {
  width: 100%;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  display: flex;
  align-items: center;
  margin: 0;
  gap: 15px 15px;
  background: rgba(65, 81, 96, 0.8);
  border: 0;
  border-radius: 0;
  padding: 15px 30px 15px;
  margin: 0;
  z-index: 1004;
  min-width: 200px;
  width: 100%;
  box-sizing: border-box;
  color: #fff;
  min-height: 78px;
  box-sizing: border-box;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}

.floating-bottom-section-container .em-bottom-section {
  margin: 0;
}

.floating-bottom-section-container.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.cart-btn:hover {
  background-color: rgba(226, 0, 43, 0.9);
}

.search-icon {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.nav-icon {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* 右3列固定表示用CSS - SP専用 */
/*@media screen and (max-width: 768px) { */
  .em-search-result-table {
    position: relative;
    overflow-x: auto;
    border-collapse: collapse;
    /* テーブル全体の幅を固定 */
    min-width: 1200px;
    /* スクロールバーのスタイル調整 */
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
  }

  div.em-search-result {
    overflow-x: auto;
    width: 1200px;
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
    
    height: 600px;
  }


  /* Webkit系ブラウザのスクロールバー調整 */
  .em-search-result-table::-webkit-scrollbar {
    height: 8px;
  }

  .em-search-result-table::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
  }

  .em-search-result-table::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
  }

  .em-search-result-table::-webkit-scrollbar-thumb:hover {
    background: #555;
  }

  /* テーブルヘッダーとボディの分離 */
  .em-search-result-table thead {
    position: sticky;
    top: -1px;
    z-index: 20;
    background: white;
  }

  .em-search-result-table tbody {
    height: 100%;
    overflow-y: scroll;
  }

  .em-search-result-table .td_ {
    background: #fff;
  }

  /* 左4列固定用のスタイル */
  .em-search-result-table th:nth-child(1), 
  .em-search-result-table th:nth-child(2), 
  .em-search-result-table th:nth-child(3), 
  .em-search-result-table th:nth-child(4),
  .em-search-result-table td:nth-child(1), 
  .em-search-result-table td:nth-child(2), 
  .em-search-result-table td:nth-child(3), 
  .em-search-result-table td:nth-child(4) {
    position: sticky !important;
    z-index: 10 !important;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1) !important;
    /* 固定列の境界線を強調 */
    border-right: 2px solid #e8eaed !important;

  }

  /* 右3列固定用のスタイル */
  .em-search-result-table th:nth-last-child(-n+3),
  .em-search-result-table td:nth-last-child(-n+3) {
    position: sticky !important;
    z-index: 10 !important;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1) !important;
    /* 固定列の境界線を強調 */
    border-left: 2px solid #e8eaed !important;

  }

  /* 右から3番目（価格列） */
  .em-search-result-table th:nth-last-child(3),
  .em-search-result-table td:nth-last-child(3) {
    right: 120px !important;
    /* 在庫列と数量列の幅分 */
    min-width: 72px !important;
    max-width: 72px !important; 
    border-left: 2px solid #e8eaed !important;

  }
@media screen and (max-width: 768px) { 
  .em-search-result-table th:nth-last-child(3),
  .em-search-result-table td:nth-last-child(3) {
    right: 110px !important;
    /* 在庫列と数量列の幅分 */
    min-width: 72px !important;
    max-width: 72px !important; 
    border-left: 2px solid #e8eaed !important;

  }

/*
  div.em-search-result {
    height: auto;
  }
*/
  .em-search-result-table tbody {
    overflow-y: auto;
  }

}


  .em-search-result-table th:nth-last-child(3)::before,
  .em-search-result-table td:nth-last-child(3)::before {
    content: '';
    display: block;
    z-index: 2;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -1px;
    width: 1px;
    height: calc(100% + 2px);
    background: #8C99A4;
  }

  /* 右から2番目（在庫列） */
  .em-search-result-table th:nth-last-child(2),
  .em-search-result-table td:nth-last-child(2) {
    right: 50px !important;
    /* 数量列の幅分 */
    min-width: 70px !important;
    max-width: 70px !important;
  }

@media screen and (max-width: 768px) { 
  /* 右から2番目（在庫列） */
  .em-search-result-table th:nth-last-child(2),
  .em-search-result-table td:nth-last-child(2) {
    right: 50px !important;
    /* 数量列の幅分 */
    min-width: 60px !important;
    max-width: 60px !important;
  }
}

  .em-search-result-table th:nth-last-child(2)::before,
  .em-search-result-table td:nth-last-child(2)::before {
    content: '';
    display: block;
    z-index: 2;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -2px;
    width: 2px;
    height: calc(100% + 2px);
    background: #8C99A4;
  }

  /* 右から1番目（数量列） */
  .em-search-result-table th:nth-last-child(1),
  .em-search-result-table td:nth-last-child(1) {
    right: 0 !important;
    min-width: 50px !important;
    max-width: 50px !important;
  }

  .em-search-result-table th:nth-last-child(1)::before,
  .em-search-result-table td:nth-last-child(1)::before {
    content: '';
    display: block;
    z-index: 2;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -2px;
    width: 2px;
    height: calc(100% + 2px);
    background: #F2F3F5;
  }

  .em-search-result-table th:nth-last-child(1)::before,
  .em-search-result-table th:nth-last-child(2)::before {
    background: #E8EAED;
  }

  .em-search-result-table td:nth-last-child(1)::before,
  .em-search-result-table td:nth-last-child(2)::before {
    background: #F2F3F5;
  }

  /* 左から1番目（数量列） */
  .em-search-result-table th:nth-child(1),
  .em-search-result-table td:nth-child(1) {
    left: 0 !important;
    min-width: 90px !important;
    max-width: 90px !important;
  }

  /* 左から2番目（数量列） */
  .em-search-result-table th:nth-child(2),
  .em-search-result-table td:nth-child(2) {
    left: 90px !important;
    min-width: 120px !important;
    max-width: 120px !important;
  }

  /* 左から3番目（数量列） */
  .em-search-result-table th:nth-child(3),
  .em-search-result-table td:nth-child(3) {
    left: 210px !important;
    min-width: 90px !important;
    max-width: 90px !important;
  }

  /* 左から4番目（数量列） */
  .em-search-result-table th:nth-child(4),
  .em-search-result-table td:nth-child(4) {
    left: 300px !important;
    min-width: 160px !important;
    max-width: 160px !important;
  }

  .em-search-result-table th:nth-child(1)::before,
  .em-search-result-table td:nth-child(1)::before,
  .em-search-result-table th:nth-child(2)::before,
  .em-search-result-table td:nth-child(2)::before,
  .em-search-result-table th:nth-child(3)::before,
  .em-search-result-table td:nth-child(3)::before {
    content: '';
    display: block;
    z-index: 2;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -2px;
    width: 2px;
    height: calc(100% + 2px);
    background: #8C99A4;
  }

  .em-search-result-table th:nth-child(4)::before,
  .em-search-result-table td:nth-child(4)::before {
    content: '';
    display: block;
    z-index: 2;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -1px;
    width: 1px;
    height: calc(100% + 2px);
    background: #8C99A4;
  }

  .em-search-result-table th:nth-child(1)::before,
  .em-search-result-table th:nth-child(2)::before,
  .em-search-result-table th:nth-child(3)::before {
    background: #E8EAED;
  }

  .em-search-result-table td:nth-child(1)::before,
  .em-search-result-table td:nth-child(2)::before,
  .em-search-result-table td:nth-child(3)::before {
    background: #F2F3F5;
  }


  /* 固定列の背景色を確実に設定 */
  .em-search-result-table tr:nth-child(even) td:nth-last-child(-n+3) {
    background-color: #F2F3F5 !important;
  }

  .em-search-result-table tr:nth-child(odd) td:nth-last-child(-n+3) {
    background-color: #F2F3F5 !important;
  }

  .em-search-result-table tr:nth-child(even) td:nth-child(1),
  .em-search-result-table tr:nth-child(even) td:nth-child(2),
  .em-search-result-table tr:nth-child(even) td:nth-child(3),
  .em-search-result-table tr:nth-child(even) td:nth-child(4) {
    background-color: #F2F3F5 !important;
  }

  .em-search-result-table tr:nth-child(odd) td:nth-child(1),
  .em-search-result-table tr:nth-child(odd) td:nth-child(2),
  .em-search-result-table tr:nth-child(odd) td:nth-child(3),
  .em-search-result-table tr:nth-child(odd) td:nth-child(4) {
    background-color: #F2F3F5 !important;
  }

  /* 左側の列の幅を調整 */
  .em-search-result-table th:not(:nth-last-child(-n+3)),
  .em-search-result-table td:not(:nth-last-child(-n+3)) {
    min-width: 80px;
    max-width: 200px;
    border-right: 1px solid #e8eaed;
  }

  /* 固定列のセル内容の中央揃え */
  .em-search-result-table th:nth-last-child(-n+3),
  .em-search-result-table td:nth-last-child(-n+3) {
    text-align: center !important;
    vertical-align: middle !important;
  }

  /* 数量入力フィールドの調整 */
  .em-search-result-table td:nth-last-child(1) .quantity-input {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    margin: 0 auto !important;
  }

  /* 固定列の影をより明確に */
  .em-search-result-table th:nth-child(-n+4),
  .em-search-result-table th:nth-last-child(-n+3) {
    box-shadow: none!important;
  }


  .em-search-result-table td:nth-last-child(-n+2)::before{
    background: #F2F3F5;
  }


  .em-search-result-table td:nth-child(-n+4),
  .em-search-result-table td:nth-last-child(-n+3) {
    box-shadow: none!important;
  }
  .em-search-result-table td:nth-child(-n+4),
  .em-search-result-table td:nth-last-child(-n+3) {
    border-bottom: 1px solid #fff!important;
  }
/* }*/

/* PC表示時は通常表示 */
/*
@media screen and (min-width: 769px) {

  .em-search-result-table th:nth-last-child(-n+3),
  .em-search-result-table td:nth-last-child(-n+3) {
    position: static !important;
    box-shadow: none !important;
    right: auto !important;
    border-left: none !important;
    min-width: auto !important;
    max-width: none !important;
  }

  .em-search-result-table thead {
    position: static;
    z-index: auto;
  }

}
*/

@media screen and (max-width: 768px) {

  /* 左4列固定用のスタイル */
  .em-search-result-table th:nth-child(1), 
  .em-search-result-table th:nth-child(2), 
  .em-search-result-table th:nth-child(3), 
  .em-search-result-table th:nth-child(4),
  .em-search-result-table td:nth-child(1), 
  .em-search-result-table td:nth-child(2), 
  .em-search-result-table td:nth-child(3), 
  .em-search-result-table td:nth-child(4) {
    position: static !important;
    box-shadow: none !important;
    right: auto !important;
    border-left: none !important;
    min-width: auto !important;
    max-width: none !important;
  }

  .em-search-result-table tr:nth-child(even) td:nth-child(1),
  .em-search-result-table tr:nth-child(even) td:nth-child(2),
  .em-search-result-table tr:nth-child(even) td:nth-child(3),
  .em-search-result-table tr:nth-child(even) td:nth-child(4) {
    background-color: #fff !important;
  }

  .em-search-result-table tr:nth-child(odd) td:nth-child(1),
  .em-search-result-table tr:nth-child(odd) td:nth-child(2),
  .em-search-result-table tr:nth-child(odd) td:nth-child(3),
  .em-search-result-table tr:nth-child(odd) td:nth-child(4) {
    background-color: #fff !important;
  }

}

/* ================================================ */
/*　商品詳細レイアウト　*/
/* ================================================ */
.wrapper_.is-goods-detail,
.wrapper_:has(.goodsproductdetail_) {
  margin-left: auto;
  margin-right: auto;
  width: 1200px;
  box-sizing: border-box;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail,
  .wrapper_:has(.goodsproductdetail_) {
    width: 100%;
    overflow: hidden;
  }
}

/*　商品詳細レイアウト　 - 非表示項目*/
.wrapper_.is-goods-detail .leftmenuframe_,
.wrapper_:has(.goodsproductdetail_) .leftmenuframe_ {
  //display: none !important;
}

.wrapper_.is-goods-detail .goodsproductdetail_ .goodsimg_,
.wrapper_:has(.goodsproductdetail_) .goodsproductdetail_ .goodsimg_ {
//  max-width: 390px;
  width: 600px;
  flex-shrink: 0;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail .goodsproductdetail_ .goodsimg_,
  .wrapper_:has(.goodsproductdetail_) .goodsproductdetail_ .goodsimg_ {
    max-width: 100%;
  }
}

.wrapper_.is-goods-detail div.goodsspec_,
.wrapper_:has(.goodsproductdetail_) div.goodsspec_ {
  padding-top: 16px;
/*
  width: 100%;
*/
}

.wrapper_.is-goods-detail div.container_ div.contents_ div.mainframe_,
.wrapper_:has(.goodsproductdetail_) div.container_ div.contents_ div.mainframe_,
.wrapper_.is-goods-detail div.container_ div.contents_ div.mainframe_ .event_ .goods_,
.wrapper_:has(.goodsproductdetail_) div.container_ div.contents_ div.mainframe_ .event_ .goods_ {
  //width: 100%;
  width: 940px;
}

.wrapper_.is-goods-detail .goodsspec-table-wrap+*,
.wrapper_:has(.goodsproductdetail_) .goodsspec-table-wrap+* {
  margin-top: 20px;
}

.wrapper_.is-goods-detail .goodsspec-table-wrap+*.-wrap02,
.wrapper_:has(.goodsproductdetail_) .goodsspec-table-wrap+*.-wrap02 {
  margin-top: 30px;
}

.wrapper_.is-goods-detail .goods_variation_list_,
.wrapper_:has(.goodsproductdetail_) .goods_variation_list_ {
  margin-top: 20px;
}

.wrapper_.is-goods-detail .qty_+.cartbutton_,
.wrapper_:has(.goodsproductdetail_) .qty_+.cartbutton_ {
  margin-top: 10px;
}

.wrapper_.is-goods-detail .icon_,
.wrapper_:has(.goodsproductdetail_) .icon_ {
  display: flex;
  gap: 4px 4px;
  flex-wrap: wrap;
}

.wrapper_.is-goods-detail .icon_ img,
.wrapper_:has(.goodsproductdetail_) .icon_ img {
  height: 21px;
}

.wrapper_.is-goods-detail .cartbox_note,
.wrapper_:has(.goodsproductdetail_) .cartbox_note {
  width: 100%;
  border-top: 1px solid #D5DADE;
  padding: 13px 0 0;
  margin-top: 20px;
  display: block;
  color: #E2002B;
  color: var(--color-red);
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}

/* ================================================ */
/*　商品詳細　　-- 共通パーツ*/
/* ================================================ */
.goodsproductdetail_ .goods_name_ {
  font-size: 24px;
}

.goodsproductdetail_>.top_comment_ {
  margin: 0;
}

.wrapper_.is-goods-detail .top_comment_ p {
  display: none;
}

dl.spec_price>dt,
dl:has(#spec_price)>dt {
  display: none;
}

dl.spec_price>dd,
dl:has(#spec_price)>dd {
  font-size: 20px;
}

dl.spec_price>dd .price_,
dl:has(#spec_price)>dd .price_ {
  color: #474C50;
  color: var(--color-main);
}

@media (max-width: 768px) {

  dl.spec_price>dd .large_,
  dl:has(#spec_price)>dd .large_ {
    font-size: 20px;
  }

  dl.spec_price>dd .small_,
  dl:has(#spec_price)>dd .small_ {
    font-size: 11px;
  }
}

div.goodsspec-anchor-box {
  display: flex;
  gap: 0;
  margin-top: 10px;
  border-top: 1px solid #D5DADE;
  border-bottom: 1px solid #D5DADE;
  position: relative;
}

.goodsspec-anchor-link {
  width: 100%;
  padding: 10px min(calc(14 * (100vw / 375)), 14px) 11px;
  padding: 10px min(calc(14 * (100vw / var(--base-width-sp-value))), 14px) 11px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #005AA7;
  font-size: min(calc(13 * (100vw / 375)), 13px);
  font-size: min(calc(13 * (100vw / var(--base-width-sp-value))), 13px);
  font-weight: bold;
  background: #fff;
  gap: 2px 0;
  text-align: center;
  position: relative;
  white-space: nowrap;
  min-height: 50px;
  box-sizing: border-box;
}

.goodsspec-anchor-link::after {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  border-right: 2px solid #08AAFF;
  border-bottom: 2px solid #08AAFF;
  position: relative;
  transform: rotate(45deg);
}

.goodsspec-anchor-link:link,
.goodsspec-anchor-link:visited {
  color: #005AA7;
}

.goodsspec-anchor-link:nth-of-type(n+2) {
  border-left: 1px solid #D5DADE;
}

.goodsspec-table-unit-pc {
  font-size: 12px;
  position: absolute;
  top: 3px;
  right: 0;
}

@media (max-width: 768px) {
  .goodsspec-table-unit {
    font-size: 12px;
    position: absolute;
    top: 3px;
    right: 0;
  }
}

@media (max-width: 768px) {
  *+.spec_attr3 {
    margin-top: 10px;
  }
}

.spec_attr3 {
  display: flex;
}

@media (max-width: 768px) {
  .spec_attr3 {
    font-size: 11px;
  }
}

.spec_attr3>dt::after {
  content: ':';
  display: inline-flex;
  margin: 0 5px;
}

.goodsproductdetail_ .cartbox_notes_ {
  padding: 10px 10px 10px;
  border-top: 1px solid #D5DADE;
  margin-top: 10px;
  font-weight: bold;
  color: #E2002B;
}

@media (max-width: 768px) {
  .goodsproductdetail_ .cartbox_notes_ {
    padding: 10px 10px 10px;
    margin-top: 10px;
    font-size: 12px;
  }
}

.goodsproductdetail_ .btn_cart_.cart0_button_ {
  width: 100%;
  min-height: 52px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  box-sizing: border-box;
  gap: 10px;
  background: #E2002B;
  background: var(--color-red);
  border-radius: 0;
}

.goodsproductdetail_ .btn_cart_.cart0_button_::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  position: relative;
  margin: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform: none;
  content: '';
  display: block;
  background: url(../../img/usr/header/icon_cart_wh.png) no-repeat center center / contain;
}

.goodsproductdetail_ .option_buttons_ {
  width: 100%;
  padding: 0;
  display: block;
  overflow: visible;
  box-sizing: border-box;
}

.goodsproductdetail_ .option_buttons_>li {
//  width: calc((100% / 2) - (10px / 2));
  margin: 0;
  float: none;
  display: block;
  background: #fff;
}

.goodsproductdetail_ .option_buttons_>li:nth-of-type(2) {
  margin: 0;
  width: auto;
}

.goodsproductdetail_ .option_buttons_>li:nth-of-type(3) {
  margin-left: 10px;
}

.goodsproductdetail_ .option_buttons_ .btn-add-bookmark,
.goodsproductdetail_ .option_buttons_ .btn-contact-goods {
  padding: 5px 10px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px 10px;
  box-sizing: border-box;
  height: auto;
  min-height: 40px;
  border-radius: 0;
  font-family: 12px;
  font-weight: bold;
}

@media (max-width: 768px) {

  .goodsproductdetail_ .option_buttons_ .btn-add-bookmark,
  .goodsproductdetail_ .option_buttons_ .btn-contact-goods {
    padding: 5px 10px 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    gap: 10px 10px;
  }
}

.goodsproductdetail_ .option_buttons_ .btn-add-bookmark::before,
.goodsproductdetail_ .option_buttons_ .btn-contact-goods::before {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform: none;
}

.goodsproductdetail_ .option_buttons_ .btn-contact-goods {
  margin: 0;
}

.goodsproductdetail_ .option_buttons_ .btn-contact-goods::before {
  content: "";
  background: url(../../img/usr/header/icon_mail.png) no-repeat center center / contain;
  width: 20px;
  height: 20px;
  display: block;
  background-size: contain;
  position: relative;
  top: 0;
}

.goodsproductdetail_ .option_buttons_ .btn-add-bookmark {
  margin: 0 auto 0 0;
}

.goodsproductdetail_ .option_buttons_ .btn-add-bookmark::before {
  content: "";
  background: url(../../img/usr/header/icon_favorite.png);
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  display: block;
  background-size: contain;
  position: relative;
  top: 0;
}

.goodsproductdetail_ .option_buttons_ .btn-add-bookmark.btn-registed-bookmark::before {
  background-image: url(../../img/usr/icon_registed_bookmark.png);
}

@media (max-width: 768px) {
  .goodsproductdetail_ .option_buttons_ .btn-add-bookmark {}
}

@media (max-width: 768px) {

  .goodsproductdetail_ .option_buttons_ li:has(.btn-add-bookmark),
  .goodsproductdetail_ .option_buttons_ li:has(.btn-contact-goods) {

    margin: 0;
//    width: calc((100% / 2) - (10px / 2));
    box-sizing: border-box;
  }
}

@media (max-width: 768px) {
  .goodsproductdetail_ .option_buttons_ li:has(.btn-add-bookmark) {}
}

.goodsproductdetail_ .spec_postage {
  display: flex;
  gap: 10px 10px;
}

.goodsproductdetail_ .spec_postage>dt {
  font-size: 14px;
  font-weight: bold;
}

.goodsproductdetail_ .spec_postage>dt::after {
  content: ':';
  display: inline-flex;
  margin: 0 5px;
}

.goodsspec_>.cartbox_ {
  margin-bottom: 10px;
}

.goodsspec_>.cartbox_>.qty_>input {
  max-width: 100px;
}

/* バリエーション用の調整*/
div.cartvariation_ ul.cartvariation_ .msg_ {
  margin: 0;
}

div.cartvariation_ ul.cartvariation_ {
  overflow: hidden;
  text-align: left;
  background: none;
  padding: 0;
}

div.cartvariation_ ul.cartvariation_>li {
  padding: 20px 0 20px;
}

div.cartvariation_ ul.cartvariation_>li .block_ {
  padding-top: 0;
  background-size: 90px auto;
  min-height: 100px;
}

div.cartvariation_ ul.cartvariation_>li .link_ {
  top: 25px;
  min-width: 90px;
  min-height: 90px;
}

div.cartvariation_ ul.cartvariation_ .msg_ {
  padding: 0;
}

div.cartvariation_ ul.cartvariation_ .msg_>.name_ a {
  padding: 0;
  margin: 0;
  color: #013993;
  color: var(--color-blue03);
  font-weight: bold;
  font-size: 18px;
}

div.cartvariation_ ul.cartvariation_ .g_price_ {
  margin-top: 5px;
  font-size: 13px;
}

div.cartvariation_ ul.cartvariation_ .g_price_ .price_ {
  color: #474C50;
  color: var(--color-main);
}
/*
div.cartvariation_ ul.cartvariation_ .g_price_ .price_::after {
  content: '（税込）';
  font-size: 10px;
}
*/
div.cartvariation_ ul.cartvariation_ .g_price_ .tax_comment_ {
  font-size: 10px;
}

div.cartvariation_ ul.cartvariation_ .maker_price_ {
  display: none;
}

div.cartvariation_ ul.cartvariation_ .cartbox_ {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 15px;
}

div.cartvariation_ ul.cartvariation_ .cartbox_>.qty_ {
  display: flex;
}

div.cartvariation_ ul.cartvariation_ .cartbox_>.qty_>input {
  width: 67px;
  padding-right: 12px;
}

div.cartvariation_ ul.cartvariation_ .cartbox_>.cartbutton_ {
  margin: 0;
}

div.cartvariation_ ul.cartvariation_ .cart_m_button_::before {
  display: none !important;
}

/* バリエーション用の調整　-- 見出し*/
.title_decoration_.title_block_ {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 40px 0 20px;
  background: #2E7BBE !important;
  background: var(--color-blue) !important;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  position: relative;
  min-height: 60px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .title_decoration_.title_block_ {
    font-size: 18px;
    min-height: 48px;
  }
}

.title_decoration_.title_block_>p {
  display: flex;
  align-items: center;
  padding: 0 20px;
  margin: 0;
  color: #fff;
}

.title_decoration_.title_block_>p::before,
.title_decoration_.title_block_>p::after {
  width: 6px;
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50%;
}

.title_decoration_.title_block_>p::before {
  background: #08AAFF;
  background: var(--color-blue02);
}

.title_decoration_.title_block_>p::after {
  background: #013993;
  background: var(--color-blue03);
  top: auto;
}

/* ================================================ */
/*　商品詳細テーブル　*/
/* ================================================ */
.goodsspec-material-table-wrap {
  margin-top: 28px;
}

.goodsspec-material-table-heading {
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  gap: 10px 10px;
}

.goodsspec-material-table-heading::before {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  background: #08AAFF;
}

@media (max-width: 768px) {
  .goodsspec-material-table-heading::before {
    width: 10px;
    height: 10px;
  }
}

.goodsspec-material-table {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  table-layout: fixed;

  overflow: auto;
  
  /* 高速化 */
}

@media (max-width: 768px) {
  .goodsspec-material-table {
    padding: 5px 20px 10px;
    width: 100vw;
    max-width: none;
    overflow: auto;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background: #E8EAED;
  }
}

.goodsspec-material-table>tbody {
  box-sizing: border-box;
}

.goodsspec-material-table>tbody tr {
  width: 100%;
}

.goodsspec-material-table>tbody tr>.th_ {
  width: auto;
  padding: 3px 4.2px 3px;
  border-top: 1px solid #D5DADE;
  border-right: 1px solid #D5DADE;
  border-bottom: 1px solid #D5DADE;
  min-width: 20px;
  min-height: 33px;
  background: #D5DADE;
  box-sizing: border-box;
  line-height: 1;
  text-align: center;
  font-size: 10px;
  vertical-align: middle;
  white-space: nowrap;
  font-weight: bold;
  background: #E8EAED;
  box-sizing: border-box;
  line-height: 1.4;
}

.goodsspec-material-table>tbody tr>.th_>span {
  display: block;
  line-height: 1;
  font-weight: normal;
}

.goodsspec-material-table>tbody tr>.th_.is-applicable {
  background: #D4E5F5;
}

.goodsspec-material-table>tbody tr>.th_:nth-of-type(1) {
  border-left: 1px solid #D5DADE;
}

@media (max-width: 768px) {
  .goodsspec-material-table>tbody tr>.th_ {
    min-height: 40px;
  }
}

.goodsspec-material-table>tbody tr>.td_ {
  width: auto;
  padding: 0;
  border-right: 1px solid #D5DADE;
  border-bottom: 1px solid #D5DADE;
  background: #fff;
  min-width: 0px;
  text-align: center;
  vertical-align: middle;
  text-align: center;
  font-size: 16px;
  height: 30px;
}

.goodsspec-material-table>tbody tr>.td_.is-applicable {
  background: #D4E5F5;
  color: #08AAFF;
}

.goodsspec-material-table>tbody tr>.td_:nth-of-type(1) {
  border-left: 1px solid #D5DADE;
}

@media (max-width: 768px) {
  .goodsspec-material-table>tbody tr>.td_ {
    min-height: 40px;
  }
}

.goodsspec-table-heading+.goodsspec-material-table {
  margin-top: 15px;
}

@media (max-width: 768px) {
  .goodsspec-table-heading+.goodsspec-material-table {
    margin-top: 10px;
  }
}

/*　商品詳細テーブル　 工具情報・工具情報等*/
/* ================================================ */
.goodsspec-material-table-wrap.-wrap02 {
  margin-top: 32px;
}

.goodsspec-table-heading {
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  gap: 10px 10px;
}

@media screen and (max-width: 768px) {
  .goodsspec-table-heading {
    font-size: 15px;
    gap: 10px 8px;
  }
}

@media screen and (max-width: 768px) {
  .goodsspec-table-heading>span {
    font-size: 15px;
  }
}

.goodsspec-table-heading::before {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  background: #08AAFF;
}

@media (max-width: 768px) {
  .goodsspec-table-heading::before {
    width: 10px;
    height: 10px;
  }
}

.goodsspec-table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow: auto;
  box-sizing: border-box;
}

.goodsspec-table>tbody {
  display: flex;
  box-sizing: border-box;
}

.goodsspec-table>tbody tr {
  flex-shrink: 0;
}

.goodsspec-table>tbody tr>.th_ {
  padding: 2px 10px 2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  min-height: 33px;
  background: #D5DADE;
  box-sizing: border-box;
  line-height: 1;
  font-size: 12px;
}

.goodsspec-table>tbody tr>.th_>span {
  display: block;
  line-height: 1;
  font-weight: normal;
}

@media (max-width: 768px) {
  .goodsspec-table>tbody tr>.th_ {
    min-width: 60px;
    min-height: 33px;
  }
}

.goodsspec-table>tbody tr>.td_ {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px 5px;
  background: #fff;
  min-height: 48px;
  text-align: center;
  font-size: 12px;
}

@media (max-width: 768px) {
  .goodsspec-table>tbody tr>.td_ {
    min-height: 40px;
  }
}

.goodsspec-table.-table02 {
  width: 100%;
}

.goodsspec-table.-table02>tbody {
  width: 100%;
}

.goodsspec-table.-table02>tbody>tr {
  width: 100%;
  flex-shrink: 1;
}

.goodsspec-table.-table02>tbody>tr>.th_ {}

.goodsspec-table.-table02>tbody>tr>.td_ {}

.goodsspec-table-heading+.goodsspec-table {
  margin-top: 15px;
}

.goodsspec-table.-table02>tbody>tr>.th_.spec_pcb_shank_diameter {
  white-space: nowrap;
}

.goodsspec-table.-table02>tbody>tr>.th_.spec_shank_taper_shape {
  white-space: nowrap;
}

@media (max-width: 768px) {
  .goodsspec-table.-table02>tbody {
    display: block;
  }

  .goodsspec-table.-table02 tr {
    display: flex;

    border-bottom: 1px solid #D5DADE;
  }

  .goodsspec-table.-table02 tr:nth-of-type(1) {
    /* border-top: 1px solid #E8EAED; */
    border-top: 1px solid #D5DADE;
  }

  .goodsspec-table.-table02 tr .th_ {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    width: 227px;
    flex-shrink: 0;
    height: 37px;
    min-height: 37px;
    font-size: 14px;
    letter-spacing: 0.07em;
    background: #E8EAED;
    font-weight: bold;
  }

  .goodsspec-table.-table02 tr .th_ span {
    display: inline-flex;
    font-weight: bold;
  }

  .goodsspec-table.-table02 tr .td_ {
    justify-content: flex-end;
    width: 100%;
    height: 37px;
    min-height: 37px;
    font-size: 14px;
  }
}

.to_detaillink_>a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

h2.goods_variation_list_ {
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  position: relative;
  gap: 10px 10px;
  background: none;

}

h2.goods_variation_list_::before {
  width: 14px;
  height: 14px;
  background: #08AAFF;
  position: relative;
  top: 0;
  left: 0;
}

.goods_variation_list_ {}

.cartvariation_ {}

table.variation_ {
  width: 100%;
  padding: 0 15px;
  box-sizing: border-box;
  background: none;
}

table.variation_ tr {
  width: 100%;
  display: block;
  padding: 0;
  border-bottom: 1px solid #D5DADE;
  box-sizing: border-box;
  gap: 10px 20px;
  background: none !important;
}

table.variation_ tr td {
  display: block;
  width: 100%;
  border: 0;
}

table.variation_ tr td .comment_ {
  width: 100%;
  margin: 10px auto 0;
  font-size: 14px;
}

table.variation_ tr td .comment_ .small_ {
  font-size: inherit;
}

table.variation_ .cartbox_ {
  display: flex;
  gap: 10px 10px;
  align-items: center;
  margin-right: 0;
  margin-left: auto;
}

table.variation_ .cartbox_ .qty_+.cartbutton_ {
  margin: 0;
}

table.variation_ .cartbox_ .btn_cart_ {
  margin: 0;
}

.variation-inner-frame {
  width: 100%;
  display: flex;
  gap: 20px 20px;
}

.variation-inner-frame .img_s_ {
  width: 90px;
}

.variation-inner-frame .cartbox_ {
  margin: auto 0 0 auto;
  flex-shrink: 0;
}

.variation-inner-frame div.qty_>input[type="text"] {
  width: 70px;
  padding-right: 12px;
}

.variation-desc .name_ {
  color: #005AA7;
  font-weight: bold;
  font-size: 18px;
  margin: 0;
}

.variation-desc .name_ a {
  color: inherit;
}

.variation-desc .g_price_ {
  margin-top: 10px;
  font-size: 20px;
  font-weight: bold;
}

.variation-desc span.price_ {
  font-size: inherit;
}
/*
.variation-desc span.price_::after {
  content: '（税込）';
  font-size: 10px;
}
*/
.variation-desc span.tax_comment_ {
  font-size: 10px;
}

.variation-desc .maker_price_ {
  display: none;
}

/* ================================================ */
/*　商品詳細（エンドミル）　*/
/* ================================================ */
.wrapper_.is-goods-detail-endmill,
.wrapper_:has(.goodsproductdetail_.-endmill) {
  margin-left: auto;
  margin-right: auto;
  width: 1200px;
  box-sizing: border-box;
  overflow: visible;
  overflow: initial;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill,
  .wrapper_:has(.goodsproductdetail_.-endmill) {
    width: 100%;
    overflow: hidden;
  }
}

.wrapper_.is-goods-detail-endmill div.goodsproductdetail_.-endmill,
.wrapper_:has(.goodsproductdetail_.-endmill) div.goodsproductdetail_.-endmill {
  overflow: visible;
  margin-bottom: 0;
}

.wrapper_.is-goods-detail-endmill div.mainframe_,
.wrapper_:has(.goodsproductdetail_.-endmill) div.mainframe_ {
  width: 100%;
  display: flex;
}

.wrapper_.is-goods-detail-endmill div.goodsspec_,
.wrapper_:has(.goodsproductdetail_.-endmill) div.goodsspec_ {
  width: 450px;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill div.goodsspec_,
  .wrapper_:has(.goodsproductdetail_.-endmill) div.goodsspec_ {
    width: 100%;
  }
}

.wrapper_.is-goods-detail-endmill div.container_,
.wrapper_:has(.goodsproductdetail_.-endmill) div.container_ {
  display: block;
}

.wrapper_.is-goods-detail-endmill div.container_ div.contents_,
.wrapper_:has(.goodsproductdetail_.-endmill) div.container_ div.contents_ {
  width: 100%;
  margin: 0;
}

.wrapper_.is-goods-detail-endmill div.container_ div.contents_ div.mainframe_,
.wrapper_:has(.goodsproductdetail_.-endmill) div.container_ div.contents_ div.mainframe_ {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  margin: 0;
  gap: 0 40px;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill dl.spec_price,
  .wrapper_:has(.goodsproductdetail_.-endmill) dl.spec_price,
  .wrapper_.is-goods-detail-endmill dl:has(#spec_price),
  .wrapper_:has(.goodsproductdetail_.-endmill) dl:has(#spec_price) {
    margin-top: 9px;
  }
}

.wrapper_.is-goods-detail-endmill .cartbox-wrap,
.wrapper_:has(.goodsproductdetail_.-endmill) .cartbox-wrap {
  padding: 27px 20px 20px;
  position: relative;
  background: #E8EAED;
  text-align: center;
}

.wrapper_.is-goods-detail-endmill .cartbox-wrap .link-back-to-page,
.wrapper_:has(.goodsproductdetail_.-endmill) .cartbox-wrap .link-back-to-page {
  display: inline-flex;
  -webkit-text-decoration: underline;
  text-decoration: underline;
//  font-size: 12px;
  color: #005AA7;
  font-weight: normal;
  margin-top: 15px;
  cursor: pointer;
}

.wrapper_.is-goods-detail-endmill div.rightmenuframe_,
.wrapper_:has(.goodsproductdetail_.-endmill) div.rightmenuframe_ {
  display: none !important;
}

.wrapper_.is-goods-detail-endmill .navitopicpath_,
.wrapper_:has(.goodsproductdetail_.-endmill) .navitopicpath_ {
  padding: 0;
  margin: 0;
}

@media screen and (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .navitopicpath_,
  .wrapper_:has(.goodsproductdetail_.-endmill) .navitopicpath_ {}
}

/*　商品詳細レイアウト(エンドミル)　-- お気に入り・特約店情報*/
.wrapper_.is-goods-detail-endmill .option_buttons_,
.wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin: 10px auto 0;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .option_buttons_,
  .wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ {
    flex-direction: row;
    margin-top: 15px;
    gap: 10px 10px;
  }
}

.wrapper_.is-goods-detail-endmill .option_buttons_ li,
.wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li {
  width: 100%;
  margin: 0;
  width: 100%;
  display: block;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .option_buttons_ li,
  .wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li {
    width: calc((100% / 2) - (10px / 2));
  }
}

.wrapper_.is-goods-detail-endmill .option_buttons_ li a,
.wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li a {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .option_buttons_ li a,
  .wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li a {}
}

.wrapper_.is-goods-detail-endmill .option_buttons_ li a.btn-add-bookmark,
.wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li a.btn-add-bookmark {
  min-height: 34px;
  background: #fff;
  padding: 0;
  border: 1px solid #D5DADE;
  border-radius: 0;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .option_buttons_ li a.btn-add-bookmark,
  .wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li a.btn-add-bookmark {
    padding: 0 0;
    margin: 0 !important;
    min-height: 40px;
    font-size: 12px;
  }
}

.wrapper_.is-goods-detail-endmill .option_buttons_ li a.btn-add-bookmark::before,
.wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li a.btn-add-bookmark::before {
  content: "";
  position: relative;
  left: 0;
  top: 0;
  background: url(../../img/usr/header/icon_favorite.png) no-repeat center center / contain;
  width: 16px;
  height: 14px;
}

.wrapper_.is-goods-detail-endmill .option_buttons_ li a.btn-add-bookmark.btn-registed-bookmark::before {
  background-image: url(../../img/usr/icon_registed_bookmark.png);
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .option_buttons_ li a.btn-add-bookmark::before,
  .wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li a.btn-add-bookmark::before {
    min-height: 34px;
  }
}

.wrapper_.is-goods-detail-endmill .option_buttons_ li a.btn-official-dealer,
.wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li a.btn-official-dealer {
  min-height: 52px;
  border-radius: 0;
  background: #08AAFF;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  gap: 10px 10px;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .option_buttons_ li a.btn-official-dealer,
  .wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li a.btn-official-dealer {
    padding: 0 0;
    margin: 0 !important;
    min-height: 40px;
    font-size: 12px;
    gap: 10px 7px;
  }
}

.wrapper_.is-goods-detail-endmill .option_buttons_ li a.btn-official-dealer::before,
.wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li a.btn-official-dealer::before {
  content: "";
  position: relative;
  left: 0;
  top: 0;
  background: url(../../img/usr/common/icon_shop.png) no-repeat center center / contain;
  width: 18px;
  height: 18px;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .option_buttons_ li a.btn-official-dealer::before,
  .wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li a.btn-official-dealer::before {
    width: 14px;
    height: 14px;
  }
}

.wrapper_.is-goods-detail-endmill .option_buttons_ li:nth-of-type(n+2) a,
.wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li:nth-of-type(n+2) a {
  margin-top: 10px;
}

.wrapper_.is-goods-detail-endmill .option_buttons_ li:nth-of-type(n+2) a[target="_blank"]::after, 
.wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ li:nth-of-type(n+2) a[target="_blank"]::after {
  content: none;
}

.wrapper_.is-goods-detail-endmill .goodscomment4_,
.wrapper_:has(.goodsproductdetail_.-endmill) .goodscomment4_ {
  margin-bottom: 0;
}

.wrapper_.is-goods-detail-endmill .goodscomment4_:has(> *),
.wrapper_:has(.goodsproductdetail_.-endmill) .goodscomment4_:has(> *) {
  margin-top: 10px;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .goodscomment4_:has(> *),
  .wrapper_:has(.goodsproductdetail_.-endmill) .goodscomment4_:has(> *) {
    margin-top: 15px;
  }
}

.wrapper_.is-goods-detail-endmill .goodscomment4_>figure,
.wrapper_:has(.goodsproductdetail_.-endmill) .goodscomment4_>figure {
  max-width: 273px;
  padding: 0;
  margin: 0 auto 0 0;
}

@media screen and (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .goodscomment4_>figure,
  .wrapper_:has(.goodsproductdetail_.-endmill) .goodscomment4_>figure {
    max-width: 180px;
  }
}

.wrapper_.is-goods-detail-endmill .spec_postage,
.wrapper_:has(.goodsproductdetail_.-endmill) .spec_postage {
  margin-top: 9px;
}

.wrapper_.is-goods-detail-endmill .spec_shipping_date,
.wrapper_:has(.goodsproductdetail_.-endmill) .spec_shipping_date {
  margin-top: 4px;
  letter-spacing: 0.1em;
}

.wrapper_.is-goods-detail-endmill .spec_shipping_date>dt,
.wrapper_:has(.goodsproductdetail_.-endmill) .spec_shipping_date>dt {
  display: none;
}

.wrapper_.is-goods-detail-endmill .spec_shipping_date>dd,
.wrapper_:has(.goodsproductdetail_.-endmill) .spec_shipping_date>dd {
  font-size: 11px;
}

.wrapper_.is-goods-detail-endmill .goodsspec_,
.wrapper_:has(.goodsproductdetail_.-endmill) .goodsspec_ {
  padding-top: 15px;
}

.goodsproductdetail_wrap_,
-endmill {
  width: 100%;
  max-width: 880px;
}

.goodsproductdetail_header_.-endmill {
  margin-top: 26px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .goodsproductdetail_header_.-endmill {
    margin-top: 14px;
    margin-bottom: 17px;
  }
}

.goodsproductdetail_header_.-endmill div.goodscomment1_ {
  padding: 0;
  margin: 0;
}

.wrapper_.is-goods-detail-endmill、 .wrapper_:has(.goodsproductdetail_.-endmill) {}

/*　商品詳細（エンドミル）　 ヘッダー部分 */
/* ================================================ */
.goodsproductdetail_header_frame_ {
  padding: 0 27px 0;
  position: relative;
  display: flex;
  background: #2E7BBE;
  color: #fff;
  min-height: 60px;

}

@media (max-width: 768px) {
  .goodsproductdetail_header_frame_ {
    justify-content: center;
    min-height: 52px;
    padding: 5px 15px 5px;
    flex-direction: column;
    gap: 8px 10px;

  }
}

.goodsproductdetail_header_frame_::before,
.goodsproductdetail_header_frame_::after {
  width: 6px;
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50%;
}

.goodsproductdetail_header_frame_::before {
  background: #08AAFF;
  background: var(--color-blue02);
}

.goodsproductdetail_header_frame_::after {
  background: #013993;
  background: var(--color-blue03);
  top: auto;
}

.goodsproductdetail_header_frame_>p {}

.goodsproductdetail_header_frame_>p,
.goodsproductdetail_header_frame_>ul {
  padding-top: 10px;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  height: auto;
  font-size: 28px;
  font-weight: bold;
  min-height: 40px;
  letter-spacing: 0.05em;
}

@media (min-width: 769px) {

  .goodsproductdetail_header_frame_>p,
  .goodsproductdetail_header_frame_>ul {}
}

@media (max-width: 768px) {

  .goodsproductdetail_header_frame_>p,
  .goodsproductdetail_header_frame_>ul {
    padding: 0;
    font-size: min(calc(16 * (100vw / 375)), 16px);
    font-size: min(calc(16 * (100vw / var(--base-width-sp-value))), 16px);
    line-height: 1;
    min-height: 17px;
    flex-wrap: wrap;
    gap: 5px 0;
  }
}

.goodsproductdetail_header_frame_>ul {
  letter-spacing: 0.02em;

}

.goodsproductdetail_header_frame_>ul>li {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  padding: 0 18px 0;
  box-sizing: border-box;
  min-height: 40px;
  position: relative;
}

@media (min-width: 769px) {
  .goodsproductdetail_header_frame_>ul>li:nth-of-type(1) {
    border-left: 1px solid #D5DADE;
    margin-left: 19px;
  }
}

@media (max-width: 768px) {
  .goodsproductdetail_header_frame_>ul>li {
    padding: 0 min(calc(8 * (100vw / 375)), 8px) 0;
    padding: 0 min(calc(8 * (100vw / var(--base-width-sp-value))), 8px) 0;
    min-height: 17px;
    line-height: 1;
  }

  .goodsproductdetail_header_frame_>ul>li:nth-of-type(1) {
    padding-left: 0;
  }
}

.goodsproductdetail_header_frame_>ul>li:nth-of-type(n+2) {
  border-left: 1px solid #D5DADE;
}

/*　商品詳細（エンドミル）　 メイン画像*/
/* ================================================ */
/*
.goodsimg_.-endmill {
  width: 390px;
}
*/
.wrapper_.is-goods-detail-endmill div.goodsproductdetail_.-endmill .goodsimg_.-endmill, 
.wrapper_:has(.goodsproductdetail_.-endmill) div.goodsproductdetail_.-endmill .goodsimg_.-endmill {
  width: 390px;
}

@media (max-width: 768px) {
  .goodsimg_.-endmill {
    width: 100%;
  }
}

.goodsimg_.-endmill>figure {
  padding: 0;
  margin: 0;
}

.goodsproductdetail_header_.-endmill {
  width: 100%;
}

.goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-main.-endmill {
  margin: 10px 0 0;
}

@media (max-width: 768px) {
  .goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-main.-endmill {
    margin: 5px 0 0;
  }
}

.goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-main.-endmill img {
  height: auto;
}

@media (max-width: 768px) {
  .goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-main.-endmill img {
    width: 100%;
    height: auto;
  }
}

.goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-thumbnail.-endmill {
  margin: 7px 0 0;
}

@media (max-width: 768px) {
  .goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-thumbnail.-endmill {
    padding: 5px 15px 13px;
    margin-top: 5px;
    background: #E8EAED;
    position: relative;
    width: 100vw;
    max-width: none;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
  }
}

.goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-thumbnail.-endmill img {
  height: 32px;
}

.goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-thumbnail .swiper-wrapper {
  gap: 3px 3px;
}

.goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-thumbnail .swiper-slide {
  width: calc((100% / 4) - (9px / 4));
  height: 32px;
  border: 0;
  margin: 0 !important;
  overflow: hidden;
  position: relative;
}

.goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-thumbnail .swiper-slide.swiper-slide-thumb-active::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: none;
  border: 2px solid #36BAFF;
  z-index: 1;
  pointer-events: none;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .goodsproductdetail_.-endmill .goodsimg_ .swiper-slider-thumbnail .swiper-slide {
    width: 95px;
  }
}

/*　商品詳細（エンドミル）　 商品情報*/
/* ================================================ */
.wrapper_.is-goods-detail-endmill,
.wrapper_:has(.goodsproductdetail_.-endmill) {
  padding-top: 22px;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill,
  .wrapper_:has(.goodsproductdetail_.-endmill) {
    padding-top: 10px;
  }
}

/*　商品詳細（エンドミル）　 カート*/
/* ================================================ */
.wrapper_.is-goods-detail .btn_cart_.cart0_button_,
.wrapper_:has(.goodsproductdetail_) .btn_cart_.cart0_button_,
.wrapper_.is-goods-detail-endmill .btn_cart_.cart0_button_,
.wrapper_:has(.goodsproductdetail_.-endmill) .btn_cart_.cart0_button_,
.floating-cart-container.cartbox_ .btn_cart_.cart0_button_ {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px 0 0;
  border-radius: 0;
  width: 100%;
  background: #E2002B;
  background: var(--color-red);
  box-sizing: border-box;
  min-height: 52px;
  gap: 10px 10px;
}

.wrapper_.is-goods-detail .btn_cart_.cart0_button_::before,
.wrapper_:has(.goodsproductdetail_) .btn_cart_.cart0_button_::before,
.wrapper_.is-goods-detail-endmill .btn_cart_.cart0_button_::before,
.wrapper_:has(.goodsproductdetail_.-endmill) .btn_cart_.cart0_button_::before,
.floating-cart-container.cartbox_ .btn_cart_.cart0_button_::before {
  width: 20px;
  height: 20px;
  background: url(../../img/usr/header/icon_cart_wh.png) no-repeat center center / contain;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
}

.cartbox-wrap {
  width: 280px;
  box-sizing: border-box;
}

.cartbox-wrap .cartbox_ {
  box-sizing: border-box;
}

.cartbox-wrap .cartbox_ .btn_cart_.cart0_button_ {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px 0 0;
  border-radius: 0;
  width: 100%;
  background: #E2002B;
  background: var(--color-red);
  box-sizing: border-box;
  min-height: 52px;
  gap: 10px 10px;
}

.cartbox-wrap .cartbox_ .btn_cart_.cart0_button_::before {
  width: 20px;
  height: 20px;
  background: url(../../img/usr/header/icon_cart_wh.png) no-repeat center center / contain;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
}

.cartbox-wrap #spce_price {
  text-align: left;
}

.cartbox-wrap .price_ {
  display: block;
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  text-align: left;
}

.cartbox-wrap .price_ .small_ {
  font-size: 11px;
  font-weight: normal;
}

.cartbox-wrap dl.spec_postage {
  display: flex;
  gap: 10px 10px;
  padding: 0 10px 0;
  margin: 16px auto 0;
}

@media (max-width: 768px) {
  .cartbox-wrap dl.spec_postage {
    margin-top: 10px;
  }
}

.cartbox-wrap dl.spec_postage>.dt_ {
  font-size: 14px;
  font-weight: bold;
}

.cartbox-wrap dl.spec_postage>.dd_ {}

.cartbox-wrap .spec_price {
  padding: 0 10px;
}

.cartbox-wrap .qty_wrap_ {
  padding: 0 10px;
  margin-top: 10px;
}

.cartbox-wrap .qty_ {
  font-size: 14px;
  font-weight: bold;
}

.cartbox-wrap .qty_ input[type="text"] {
  display: block;
  width: calc(100% - 60px);
  margin: 0 0 0 auto;
  font-weight: normal;
}

.cartbox-wrap .purchase-other-facilities-count {
  display: block;
  width: 100%;
  font-size: 12px;
  font-weight: normal;
  margin-top: 6px;
  line-height: 1;
}

.cartbox-wrap .option_buttons_ {
  padding: 0;
  margin: 0;
  display: block;
}

.cartbox-wrap .option_buttons_>li {
  display: block;
  float: none;
}

/* ================================================ */
/* 仕様書ダウンロードエリア - 基本セレクタ */
/* ================================================ */
/* 全体エリア */
*+.specification-download-area {
  margin-top: 30px;
}

.specification-download-area-heading {
  width: 100%;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  gap: 10px 10px;
  opacity: 1 !important;
}

@media screen and (max-width: 768px) {
  .specification-download-area-heading {
    gap: 10px 8px;
    font-size: 15px;
  }
}

.specification-download-area-heading:focus {
  outline: none !important;
}

.specification-download-area-heading::before {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  background: #08AAFF;
}

@media screen and (max-width: 768px) {
  .specification-download-area-heading::before {
    width: 10px;
    height: 10px;
  }
}

/* トグルボタン */
.specification-download-area-heading .toggle-button {
  width: 24px;
  height: 24px;
  background-color: #282d31;
  color: white;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  position: relative;
  margin: 0 0 0 auto;
}

.specification-download-area-heading .toggle-button::before,
.specification-download-area-heading .toggle-button::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: '';
  display: block;
  width: calc(100% - 10px);
  height: 2px;
  background: #fff;
}

.specification-download-area-heading .toggle-button::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.specification-download-area-heading .toggle-button::after {}

/* is-openクラスのスタイル追加 */
.specification-download-area-heading.is-open .toggle-button::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.specification-download-area-heading {}

@media (max-width: 768px) {
  .specification-download-area {
    padding: 10px 15px 10px;
    width: 100vw;
    max-width: none;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background: #E8EAED;
    box-sizing: border-box;
  }
}

/*   margin-top: 0px;
  transition: margin-top 0.3s ease-in-out; */
@media (max-width: 768px) {
  .specification-download-area-frame.is-expanded {
    /* margin-top: 28px; */
  }
}

/* 上段エリア */
.specification-download-main {
  width: 100%;
  display: block;
}

@media (max-width: 768px) {
  .specification-download-main {
    margin-top: 15px;
  }
}

.specification-download-main>a {
  display: flex;
  width: 100%;
  min-height: 48px;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #013993;
  border: 0;
  border-radius: 0;
  gap: 10px;
  position: relative;
}

.specification-download-main.-nothing {
  display: flex;
  width: 100%;
  min-height: 48px;
  justify-content: center;
  align-items: center;
  color: #999;
  background: #555555;
  border: 0;
  border-radius: 0;
  gap: 10px;
  position: relative;
}

@media (max-width: 768px) {
  .specification-download-main>a , .specification-download-main.-nothing {
    justify-content: space-between;
    min-height: 40px;
    padding: 0 10px 0;
    box-sizing: border-box;
  }
}

.specification-download-main>a::after,.specification-download-main.-nothing::after  {
  content: '';
  display: block;
  position: relative;
  width: 14px;
  height: 14px;
  background: url(../../img/usr/common/icon_dl_wh.png) no-repeat center center / contain;
}
.specification-download-main.-nothing::after  {
  background-color: rgba(85, 85, 85, 0.5);
  background-blend-mode: darken;
}

@media (max-width: 768px) {
  .specification-download-main>a::after ,.specification-download-main.-nothing::after {
    width: 14px;
    height: 14px;
  }
}

.specification-download-main>a .btn-icon {
  display: block;
  width: 18px;
  height: 21px;
  background: url(../../img/usr/common/icon_pdf_wh.png) no-repeat center center / contain;
}

.specification-download-main.-nothing span.btn-icon{
  display: block;
  width: 18px;
  height: 21px;
  background: url(../../img/usr/common/icon_pdf_wh.png) no-repeat center center / contain;
  background-color: rgba(85, 85, 85, 0.5);
  background-blend-mode: darken;
}

@media (max-width: 768px) {
  .specification-download-main>a .btn-icon , .specification-download-main .btn-icon{
    width: 14px;
    height: 17px;
  }
}

.specification-download-main>a .btn-text, .specification-download-main.-nothing .btn-text {
  display: flex;
  gap: 10px;
  font-size: 15px;
}

@media (max-width: 768px) {
  .specification-download-main>a .btn-text, .specification-download-main.-nothing .btn-text {
    font-size: 14px;
  }
}

.specification-download-main>a .btn-text>span , .specification-download-main.-nothing .btn-text>span {
  font-size: 12px;

}

/* 下段エリア */
.specification-download-sub {
  display: flex;
  gap: 10px 10px;
  margin-top: 10px;
}

/* 下段の各ボタン */
.specification-download-sub-item {
  width: calc((100% / 2) - (10px / 2));
  display: block;
}

.specification-download-sub-item>a {
  padding: 5px 10px 5px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border: 1px solid #D5DADE;
  border-radius: 0;
  min-height: 48px;
  gap: 10px;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 12px;
}

.specification-download-sub-item.-nothing {
  padding: 5px 10px 5px;
  /*width: 100%; */
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #555555;
  border: 1px solid #D5DADE;
  border-radius: 0;
  min-height: 48px;
  gap: 10px;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 12px;
  color: #999;
}

.specification-download-sub-item>a::after {
  content: '';
  display: block;
  position: relative;
  width: 14px;
  height: 14px;
  background: url(../../img/usr/common/icon_dl.png) no-repeat center center / contain;
}

.specification-download-sub-item.-nothing::after {
  content: '';
  display: block;
  position: relative;
  width: 14px;
  height: 14px;
  background: url(../../img/usr/common/icon_dl_wh.png) no-repeat center center / contain;
  background-color: rgba(85, 85, 85, 0.5);
  background-blend-mode: darken;
}

.specification-download-sub-item .btn-text {
  display: flex;
  gap: 10px;
  font-size: 15px;
}

.specification-download-sub-item .btn-text>span {
  font-size: 12px;

}

.specification-download-sub-item.-step>a , .specification-download-sub-item.-step.-nothing {
  min-height: 38px;
}

.specification-download-sub-item.-step .btn-icon {
  display: block;
  width: 14px;
  height: 16px;
  background: url(../../img/usr/common/icon_step.png) no-repeat center center / contain;
}

.specification-download-sub-item.-step.-nothing .btn-icon {
  display: block;
  width: 14px;
  height: 16px;
  background: url(../../img/usr/common/icon_step_wh.png) no-repeat center center / contain;
  background-color: rgba(85, 85, 85, 0.5);
  background-blend-mode: darken;
}

.specification-download-sub-item.-step .btn-text {
  font-size: 12px;
  letter-spacing: 0.1em;
}

.specification-download-sub-item.-dxf>a , .specification-download-sub-item.-dxf.-nothing {
  min-height: 38px;
}

.specification-download-sub-item.-dxf .btn-icon {
  display: block;
  width: 14px;
  height: 16px;
  background: url(../../img/usr/common/icon_dxf.png) no-repeat center center / contain;
}

.specification-download-sub-item.-dxf.-nothing .btn-icon {
  display: block;
  width: 14px;
  height: 16px;
  background: url(../../img/usr/common/icon_dxf_wh.png) no-repeat center center / contain;
  background-color: rgba(85, 85, 85, 0.5);
  background-blend-mode: darken;
}

.specification-download-sub-item.-dxf .btn-text {
  font-size: 12px;
  letter-spacing: 0.1em;
}

/* ダウンロードボタン共通 */
.btn-specification-download {}

/* 上段ボタン（メイン） */
.btn-specification-download.btn-primary {}

/* 下段ボタン（サブ） */
.btn-specification-download.btn-secondary {}

/* ボタンアイコン */
.btn-specification-download .btn-icon {}

/* ボタンテキスト */
.btn-specification-download .btn-text {}

div.top_comment_,
div.goodscomment1_,
div.goodscomment2_,
div.goodscomment3_,
div.goodscomment8_ {
  width: 100%;
  display: block;
  box-sizing: border-box;
  margin: 10px auto 0;
}

div.top_comment_:has(> *),
div.goodscomment1_:has(> *),
div.goodscomment2_:has(> *),
div.goodscomment3_:has(> *),
div.goodscomment8_:has(> *) {
  margin-top: 20px;
}

div.goodscomment5_,
div.goodscomment6_ {
  width: 100%;
  display: block;
  box-sizing: border-box;
  margin: 10px auto 0;
}

div.goodscomment5_:has(> *),
div.goodscomment6_:has(> *) {
  margin-top: 20px;
  margin-bottom: 20px;
}

/* ================================================ */
/* 動画領域 */
/* ================================================ */
@media (max-width: 768px) {
  .goodscomment8_ {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}

.goodsspec-movie-items {
  position: relative;
}

.goodsspec-movie-items-body {
  display: flex;
  gap: 20px 20px;
}

.goodsspec-movie-items-body video {
  display: block;
  width: 100%;
}

@media (max-width: 768px) {
  .goodsspec-movie-items.-col03 .goodsspec-movie-items-body {
    flex-direction: column;
    gap: 15px 15px;
  }
}

.goodsspec-movie-items.-col03 .goodsspec-movie-items-body .goodsspec-movie-item {
  width: calc((100% / 3) - (40px / 3));
}

@media (max-width: 768px) {
  .goodsspec-movie-items.-col03 .goodsspec-movie-items-body .goodsspec-movie-item {
    width: 100%;
  }
}

.goodsspec-movie-items.-col05 {
  width: 100%;
}

@media (max-width: 768px) {
  .goodsspec-movie-items.-col05 {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (max-width: 768px) {
  .goodsspec-movie-items.-col05 .goodsspec-movie-items-body {
    max-width: auto;
    margin: 10px auto 0;
    position: static;
    position: initial;

  }
}

.goodsspec-movie-items.-col05 .goodsspec-movie-items-body .goodsspec-movie-item {
  width: calc((100% / 5) - (80px / 5));

}

@media (max-width: 768px) {
  .goodsspec-movie-items.-col05 .goodsspec-movie-items-body .goodsspec-movie-item {
    width: 100%;

  }
}

.goodsspec-movie-items.-col05 .swiper-button-next {
  right: calc(var(--swiper-navigation-size) / 0 * 27);
}

.goodsspec-movie-items.-col05 .swiper-button-prev {
  left: calc(var(--swiper-navigation-size) / 0 * 27);
}

*+.goodsspec-movie-items {
  margin-top: 30px;
}

.goodsspec-movie-heading+.goodsspec-movie-items {
  margin-top: 18px;
}

@media (max-width: 768px) {
  .goodsspec-movie-heading+.goodsspec-movie-items {
    margin-top: 10px;
  }
}

@media (max-width: 768px) {
  .goodsspec-movie-heading+.goodsspec-movie-items .swiper-pagination {
    margin: 15px auto 0;
    position: relative;
    left: 0;
    transform: none;
    bottom: 0;
  }
}

.goodsspec-movie-heading+.goodsspec-movie-items .swiper-button-next,
.goodsspec-movie-heading+.goodsspec-movie-items .swiper-button-prev {
  width: 42px;
  height: 42px;

}

.goodsspec-movie-heading+.goodsspec-movie-items .swiper-button-next {
  right: -35px;
  left: auto;
}

.goodsspec-movie-heading+.goodsspec-movie-items .swiper-button-next::before {
  transform: translate(-50%, -50%) rotate(45deg) translate(-6px, 5px);
}

.goodsspec-movie-heading+.goodsspec-movie-items .swiper-button-prev {
  left: -35px;
  right: auto;
}

.goodsspec-movie-heading+.goodsspec-movie-items .swiper-button-prev::before {
  transform: translate(-50%, -50%) rotate(45deg) translate(5px, -6px);
}

.goodsspec-movie-heading+.goodsspec-movie-items .swiper-slide .goodsspec-movie-item {
  opacity: 0.5;
  transition: 0.5s ease-in-out;
}

.goodsspec-movie-heading+.goodsspec-movie-items .swiper-slide.swiper-slide-active .goodsspec-movie-item {
  opacity: 1;
}

.goodsspec-movie-player {
  position: relative;
}

.goodsspec-movie-heading {
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  gap: 10px 10px;
  font-weight: bold;
}

@media (max-width: 768px) {
  .goodsspec-movie-heading {
    font-size: 15px;
  }
}

.goodsspec-movie-heading::before {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  background: #08AAFF;
}

@media (max-width: 768px) {
  .goodsspec-movie-heading::before {
    width: 10px;
    height: 10px;
  }
}

.goodsspec-movie-title {
  font-weight: bold;
}

/* ================================================ */
/* カスタム動画プレイヤー */
/* ================================================ */
.custom-video-player {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.custom-video-player video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* カスタム再生ボタン */
.custom-video-player .custom-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: all 0.3s ease;
  background: url('/img/usr/common/icon_play.png') no-repeat center center / contain;
}

@media (max-width: 768px) {
  .custom-video-player .custom-play-button {
    width: 44px;
    height: 32px;
  }
}

/* 動画再生中は再生ボタンを非表示 */
.custom-video-player.is-playing .custom-play-button {
  opacity: 0;
  pointer-events: none;
}

/* 動画プレイヤーのオーバーレイ */
.custom-video-player .video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 5;
  transition: opacity 0.3s ease;
}

.custom-video-player.is-playing .video-overlay {
  opacity: 0;
}

/* ================================================ */
/* シンプルトグル（アコーディオン）機能 */
/* ================================================ */
[data-utility-item="simple-toggle-btn"] {
  cursor: pointer;
  transition: all 0.4s ease;
  position: relative;
}

[data-utility-item="simple-toggle-btn"]:hover {
  opacity: 0.8;
}

[data-utility-item="simple-toggle-btn"]:focus {
  outline: 2px solid #007bff;
  outline-offset: 2px;
}

/* アコーディオンコンテンツの初期状態（非表示） */
[data-utility-item="simple-toggle-content"] {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-10px);
  transition: max-height 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
}

/* アコーディオンが展開された状態 */
[data-utility-item="simple-toggle-content"].is-expanded {
  max-height: 1000px;
  /* 十分な高さを確保 */
  opacity: 1;
  transform: translateY(0);
}

/* ヘッダー部分のスタイル調整 */
[data-utility-item="simple-toggle-btn"] {
  position: relative;
  cursor: pointer;
  user-select: none;
}

/* ================================================ */
/*　商品詳細パーツレイアウト(通常)　*/
/* ================================================ */
/* ================================================ */
/*　商品詳細レイアウト(エンドミル)　*/
/* ================================================ */
/*　商品詳細レイアウト(エンドミル)　-- 一言コメント・商品コメント2*/
@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill div.top_comment_:has(> *),
  .wrapper_:has(.goodsproductdetail_.-endmill) div.top_comment_:has(> *),
  .wrapper_.is-goods-detail-endmill div.goodscomment2_:has(> *),
  .wrapper_:has(.goodsproductdetail_.-endmill) div.goodscomment2_:has(> *) {
    margin-top: 5px;
  }
}

.wrapper_.is-goods-detail-endmill .goodsspec_,
.wrapper_:has(.goodsproductdetail_.-endmill) .goodsspec_ {
  padding: 3px 0 0;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .goodsspec_,
  .wrapper_:has(.goodsproductdetail_.-endmill) .goodsspec_ {
    padding: 0;
    margin-top: 15px;
  }
}

/*　商品詳細レイアウト(エンドミル)　-- アイコン*/
.wrapper_.is-goods-detail-endmill .icon_:has(> *),
.wrapper_:has(.goodsproductdetail_.-endmill) .icon_:has(> *) {
  margin-top: 11px;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .icon_:has(> *),
  .wrapper_:has(.goodsproductdetail_.-endmill) .icon_:has(> *) {
    margin-top: 15px;
  }
}

/*　商品詳細レイアウト(エンドミル)　-- 商品名*/
.wrapper_.is-goods-detail-endmill .goods_name_,
.wrapper_:has(.goodsproductdetail_.-endmill) .goods_name_ {
  padding: 0;
  margin: 0;
  font-size: 34px;
  font-weight: bold;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .goods_name_,
  .wrapper_:has(.goodsproductdetail_.-endmill) .goods_name_ {
    margin-top: 5px;
    font-size: 24px;
  }
}

/*　商品詳細レイアウト(エンドミル)　-- カート領域*/
@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .cartbox_notes_,
  .wrapper_:has(.goodsproductdetail_.-endmill) .cartbox_notes_ {
    padding: 12px 10px 12px;
    margin-top: 12px;
    line-height: 1.85;
    letter-spacing: 0.05em;
  }
}

/*　商品詳細レイアウト(エンドミル)　-- 購入単位数*/
@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill *+.spec_attr3,
  .wrapper_:has(.goodsproductdetail_.-endmill) *+.spec_attr3 {
    margin-top: 5px;
  }
}

/*　商品詳細レイアウト(エンドミル)　-- お気に入り・特約店情報*/
.wrapper_.is-goods-detail-endmill .option_buttons_,
.wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ {
  margin-top: 10px;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .option_buttons_,
  .wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_ {}
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .option_buttons_>li,
  .wrapper_:has(.goodsproductdetail_.-endmill) .option_buttons_>li {
    order: 1;
  }
}

/*　商品詳細レイアウト(エンドミル)　-- 商品コメント3*/
.wrapper_.is-goods-detail-endmill div.goodscomment3_,
.wrapper_:has(.goodsproductdetail_.-endmill) div.goodscomment3_ {
  margin-bottom: 10px;
  //width: 100vw;
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill div.goodscomment3_,
  .wrapper_:has(.goodsproductdetail_.-endmill) div.goodscomment3_ {
    margin-bottom: 30px;
  }
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill div.goodscomment8_:has(> *),
  .wrapper_:has(.goodsproductdetail_.-endmill) div.goodscomment8_:has(> *) {
    margin-top: 30px;
  }
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill div.goodscomment9_:has(> *),
  .wrapper_:has(.goodsproductdetail_.-endmill) div.goodscomment9_:has(> *) {
    margin-top: 5px;
  }
}

/*商品詳細レイアウト(エンドミル)　-- 工具情報*/
.wrapper_.is-goods-detail-endmill .goodsspec-table-wrap,
.wrapper_:has(.goodsproductdetail_.-endmill) .goodsspec-table-wrap {
  position: relative;
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .goodsspec-table.-table01,
  .wrapper_:has(.goodsproductdetail_.-endmill) .goodsspec-table.-table01 {
    margin-top: 11px;
    width: 100vw;
    max-width: none;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (max-width: 768px) {

  .wrapper_.is-goods-detail-endmill .goodsspec-table.-table02,
  .wrapper_:has(.goodsproductdetail_.-endmill) .goodsspec-table.-table02 {
    margin-top: 10px;
  }
}

.yt-custom {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16/9;
  cursor: pointer;
  border-radius: 0;
  overflow: hidden;
  background: #000 center/cover no-repeat;
  transition: transform 0.2s ease;
}

.yt-custom.is-vertical {
  aspect-ratio: 9/16;
}

.yt-custom:hover {
  /* transform: scale(1.02); */
}

.wrapper_.is-goods-detail-endmill .goodsproductdetail_wrap_ .-wrap02 td.spec_goods_image figure,
.wrapper_.is-goods-detail-endmill .goodsproductdetail_ .-wrap02 td.spec_goods_image figure {
  max-width: 45px;
}

/* 独自再生アイコン */
.yt-custom .play-btn {
  background: url('../../img/usr/common/icon_play.png') no-repeat center center / contain;
  width: 45px;
  height: 32px;
  transition: all 0.3s ease;
  opacity: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}

.yt-custom:hover .play-btn {
  opacity: 0.6;
}

.yt-custom iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* グリッドレイアウト */
.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-gap: 20px;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

/* 読み込み状態表示 */
.yt-custom.loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top: 3px solid white;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@media (max-width: 768px) {
  .d-search>div.keyword_form {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 calc(10 * (100vw / 375));
    padding: 0 calc(10 * (100vw / var(--base-width-sp-value)));
    box-sizing: border-box;
    background: #F2F3F5;
    height: 52px;

  }

  .d-search>div.keyword_form::before,
  .d-search>div.keyword_form::after {
    display: none;
  }
}

.d-search>div.keyword_form>dl {
  position: relative;
  width: 100%;
}

.d-search>div.keyword_form>dl>dt {
  width: 100%;
}

.d-search>div.keyword_form>dl>dt input {
  width: 100%;
  padding: 5px 52px 5px 20px;
  min-height: 40px;
  border: 0;
  border-radius: 20px;
  box-sizing: border-box;
  font-size: 14px;
}

@media (max-width: 768px) {
  .d-search>div.keyword_form>dl>dt input.keyword_ {
    padding: 5px 10px 5px 10px;
    width: 100%;
    height: 36px;
    background: #FFFFFF;
    border-radius: 26px;
    font-size: 13px;
  }
}

.d-search>div.keyword_form>dl>dd {
  width: 32px;
  height: 32px;
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .d-search>div.keyword_form>dl>dd {
    right: 7px;
  }
}

.d-search>div.keyword_form>dl>dd>button {
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  margin: 0;
  cursor: pointer;
  background: url(../../img/usr/common/icon_search.png) no-repeat center center / contain;
}

div.mymenu_topic_ img {
  height: 21px;
}

/*　商品詳細（エンドミル）　 税抜価格併記*/
.wrapper_.is-goods-detail-endmill .price_ span.em_goods_net_ {
  font-size: 20px;
  font-weight: normal;
}

/*　詳細検索（エンドミル）　型番*/
.em-search-result-table td.list-em-model-number {
  overflow-wrap: anywhere;
}

/*# sourceMappingURL=theme-core.css.map */

/*em商品検索一覧*/
table.em-search-result-table tr th.th_.-product-link,
table.em-search-result-table tr td.td_.-product-link {
  width: 160px;
}

table.em-search-result-table tr th.th_.-quantity,
table.em-search-result-table tr td.td_.-quantity {
  width: 60px;
}

table.em-search-result-table tr th.th_.-stock,
table.em-search-result-table tr td.td_.-stock {
  width: 70px;
}

@media screen and (max-width: 768px) { 
table.em-search-result-table tr th.th_.-stock,
table.em-search-result-table tr td.td_.-stock {
  width: 60px;
}

}

/*商品一覧*/
div.goods_ div.goods_.StyleL_Frame_ div.desc_frame_.-frame02 dd input {
  width: 100px;
}

div.goods_ div.StyleP_Frame_ div.StyleP_Item_ div.qty_ input {
  width: 100px;
  padding-right: 12px;
}

div.formlist_.goods_.StyleL_Frame_ div.cart_ {
  margin-left: 10px;
}

div.goods_  div.StyleL_item_ div.StyleL_item_frame dl.qty_ dd input {
  padding-right: 12px;
}

/* 商品詳細 */
div.goodsproductdetail_ div.goodsspec_ div.cartbox_ input {
  text-align: right !important;
  padding-right: 12px;
}

.accessory_list_ div.goods_ div.StyleP_Frame_ div.StyleP_Item_ div.qty_ input {
  width: 70px;
  padding-right: 10px;
}

/*em商品一覧*/
div.em-search-result table.em-search-result-table tbody td.td_.-product-link,
div.em-search-result table.em-search-result-table tbody td.td_.-product-code {
  text-align: left;
}

div.em-search-result table.em-search-result-table tbody td.td_.-retail-price,
div.em-search-result table.em-search-result-table tbody td.td_.-sale-price {
  text-align: right;
  font-size: 10px;
}

div.em-search-result table.em-search-result-table tbody td.td_.-retail-price span.large_,
div.em-search-result table.em-search-result-table tbody td.td_.-sale-price span.large_ {
  font-size: 14px;
}

div.em-search-result table.em-search-result-table tbody td.td_.-quantity input {
  padding-right: 8px;
}

.em-search-result-table td:nth-last-child(-n+3) {
 text-align: right !important;
}

/* EM商品一覧テーブル　選択禁止 */
.em-search-result.no-copy {
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none;     /* IE/Edge */
  user-select: none;         /* 標準ブラウザ */
}

/*em商品詳細*/
div.goodsproductdetail_wrap_.-endmill table.formdetail_.goodsspec-table td.td_.spec_goods,
div.goodsproductdetail_wrap_.-endmill table.formdetail_.goodsspec-table td.td_.spec_attr2 {
  text-align: left;
}

div.goodsproductdetail_.-endmill div.goodsspec-table-wrap td.td_.spec_goods,
div.goodsproductdetail_.-endmill div.goodsspec-table-wrap td.td_.spec_attr2 {
  text-align: left;
}

div.goodsproductdetail_wrap_.-endmill table.formdetail_.goodsspec-table td.td_.spec_maker_price,
div.goodsproductdetail_wrap_.-endmill table.formdetail_.goodsspec-table td.td_.spec_sale_price {
  text-align: right;
}

div.is-goods-detail-endmill div.cartbox-wrap div.qty_ input {
  font-weight: bold;
  width: 80px;
  margin-right: 80px;
  padding-right: 15px;
}

div.is-goods-detail-endmill div.cartbox-wrap dd#spec_price span.price_ span.large_ {
  font-size: 30px;
}

div.is-goods-detail-endmill div.cartbox-wrap dd#spec_price span.price_ span.small_ {
  font-size: 11px;
}

/* 商品詳細 */
dd#spec_price span.disp_goods_net_ span.large_ {
 font-size: 14px;
}

div.wrapper_.is-goods-detail div.goodsproductdetail_ div.goodsspec_:has(table.formdetail_.goodsspec_) {
//  padding-left: 200px;
}

/* 購入履歴、見積履歴 */
div.customer_ div.submit_.history_serch_ input.btn.btn-large.btn-default {
  background: #FFBA00;
  border: none;
  color:#282D31
}

div.customer_ table.formlist_.history_ a {
  color: #08AAFF;
}

/* トップページ */
li.pcb-drill-section--item figure.pcb-drill-section--link-image a.pcb-drill-section--link {
  transition: transform 0.3s ease-in-out;
}

li.pcb-drill-section--item:hover figure.pcb-drill-section--link-image a.pcb-drill-section--link {
  transform: scale(1.14);
}

/* 商品検索 */
input.goods-search-btn {
  background-color: #ffba00;
  color:#282D31;
  font-size: 14px;
  font-weight: bold;
  border:none;
}

/* L商品一覧 */
div.formlist_.goods_.StyleL_Frame_ div.StyleL_item_frame {
  min-height: 90px;
}

div.formlist_.goods_.StyleL_Frame_ div.StyleL_item_frame > div.desc_frame_.-frame01 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  max-width: 500px;
}

div.formlist_.goods_.StyleL_Frame_ div.StyleL_item_frame div.desc_frame_.-frame01 p.g_price_ {
  margin-top: auto;
}

/* ログインページ、CSV一括発注 */
div.login_.col1_, div.impcart_.col1_ {
  background-color: #ffffff;
}

@media screen and (max-width: 768px) { 
  .login_uid_, .login_pwd_ {
    width: 100%;
  }
  
  div.impcart_ {
    padding: 10px;
  }
  div.impcart_ .common_headline1_ {
    margin-top: 15px;
    margin-bottom: 10px;
  }
  div.impcart_ table.formlist_.impcartlist_ td.imp_price_ {
    text-align: right;
    padding-right: 14px;
  }
}
/* マイページ */
div.customer_ {
  box-sizing: border-box;
}

/* 会員ページ */
/* CSV一括発注 */
/* お問い合わせページ */
div.customer_.col1_ h1.common_headline1_ ,
div.impcart_.col1_ h1.common_headline1_ ,
div.contact_.col1_ h1.common_headline1_ {
  margin-bottom: 40px;
}

/* ログインページ */
/* CSV一括発注 */
/* ログアウトページ */
/* 会員登録、得意先会員登録、得意先会員編集 */
div.login_.col1_ h1.common_headline1_ ,
div.impcart_.col1_ h1.common_headline1_ ,
div.customer_.col1_.logout_ h1.common_headline1_,
div.customer_.col1_ div.navitopicpath_.customer_entry_+h1.common_headline1_ ,
div.customer_.col1_ div.navitopicpath_.customer_bizuserentry_+h1.common_headline1_ ,
div.customer_.col1_ div.navitopicpath_.customer_bizuseredit_+h1.common_headline1_ {
  padding-top:18px; 
}

/* CSV一括発注 */
div.impcart_.col1_ {
  padding: 0 30px 20px 60px;
}

/* カレンダー */
ul.calender_legend_ {
  font-size: 12px;
  justify-content: center;
  display:flex;
  gap:10px;
  padding-top:3px;
}

ul.calender_legend_ li.legend_item_ {
  display: flex;
  align-items: center;
  gap:5px;
}

ul.calender_legend_ li.legend_item_ span.today_box_,
ul.calender_legend_ li.legend_item_ span.holiday_box_ {
  width:10px;
  height:10px;
  display: inline-block;
}

ul.calender_legend_ li.legend_item_ span.today_box_ {
  background-color: #08AAFF;
}

ul.calender_legend_ li.legend_item_ span.holiday_box_ {
  background-color: #B7BDC3;
}

div.d-contact-catalog-box.in-footer,
div#calendar {
  background-color: #F2F3F5;
}

/* トピック */
div.contents_ div.topicframe_ {
  background-color: #FFF;
  padding: 18px 10px 0 10px;
}

/* TOPのみ：eventブロック内にアイコンimgが1つでもあれば、全商品のicon枠高さを揃える */
header:has(.d-header.-top) ~ .wrapper_ .event_:has(.StyleP_Item_ .icon_ img) .StyleP_Item_ .icon_,
.d-header.-top + .wrapper_ .event_:has(.StyleP_Item_ .icon_ img) .StyleP_Item_ .icon_ {
  min-height: 24px;
}

.wrapper_.is-search-page:has(h1.event_name_) .goods_:has(.StyleP_Item_ .icon_ img) .StyleP_Item_ .icon_{
  min-height: 24px;
}
