/* 20260728 メインカラー、アクセントカラーを変更 */

:root {
  --sanwa-main: #1f3599;
  --sanwa-accent: #009bcf;
  --sanwa-button-dark: #000;
}

/* Standard text links */
a,
a:visited,
a:hover,
a:active {
  color: var(--sanwa-main);
}

/* Header */
#h_box01 {
  background: var(--sanwa-main);
}

#h_box01 .box_buttons .button_03 a:after {
  background: var(--sanwa-main);
}

/* Main visual CTA */
#index #top_info .button_01 a,
#index #top_info .button_09 a {
  background: var(--sanwa-accent);
}

#index #top_info .button_01 a:hover,
#index #top_info .button_09 a:hover {
  background: #fff;
  color: var(--sanwa-main);
  border-color: var(--sanwa-main);
}

#index #top_info .button_01 a:hover:before,
#index #top_info .button_09 a:hover:before {
  background: var(--sanwa-main);
}

/* Linked section headings */
#index .box_h3 > a {
  text-decoration-color: var(--sanwa-main);
}

/* News list link underline */
.news_list a {
  text-decoration-color: var(--sanwa-main);
}

/* Primary content buttons */
.btn_01 a {
  background: #fff;
  color: var(--sanwa-main);
  border: 1px solid var(--sanwa-main);
}

.btn_01 a:before {
  background: var(--sanwa-main);
}

.btn_01 a:hover {
  background: var(--sanwa-main);
  color: #fff;
  border-color: var(--sanwa-main);
}

.btn_01 a:hover:before {
  background: #fff;
}

/* Selected search tab */
#index_box01 .box_tab_title .list_tab li span:after {
  background: rgba(31, 53, 153, 0.9);
}

/* Service feature panels */
#index_box02 .content .item .box_title .inner_title:before {
  background: var(--sanwa-main);
}

#index_box02 .content .item .box_title:before {
  border-color: var(--sanwa-main);
}

#index_box02 .content .item .box_title:after {
  background-image: url("../images/box03_icon01_main.png");
}

/* White-to-main buttons */
#index_box05 {
  background-image: url("../images/box06_bg01_accent.png");
}

#index_box03 .btn_01 a,
#index_box05 .btn_01 a {
  background: #fff;
  color: var(--sanwa-main);
}

#index_box03 .btn_01 a:before,
#index_box05 .btn_01 a:before {
  background: var(--sanwa-main);
}

#index_box03 .btn_01 a:hover,
#index_box05 .btn_01 a:hover {
  background: var(--sanwa-main);
  color: #fff;
  border-color: var(--sanwa-main);
}

#index_box03 .btn_01 a:hover:before,
#index_box05 .btn_01 a:hover:before {
  background: #fff;
}

/* Performance cards */
#index_box04 .content .row_image .single img {
  border-color: var(--sanwa-main);
}

#index_box04 .content .row_text .single .inner_single .txt_01 {
  color: var(--sanwa-accent);
}

/* Flow section */
#index_box06:before {
  background-image: url("../images/box06_pattern01_main.png");
}

#index_box06:after {
  background-image: url("../images/box06_pattern02_main.png");
}

#index_box06 .content .row_content {
  background-image: url("../images/pattern_02_main.jpg");
}

@media screen and (max-width: 768px) {
  #index_box06 .content .row_content {
    background-image: url("../images/box06_bg02_main.png");
  }
}

/* Mobile header and navigation */
@media screen and (max-width: 640px) {
  #index_box01 {
    border-top-color: var(--sanwa-main);
  }

  #index_box02 .content .item .box_title {
    background: var(--sanwa-accent);
  }

  #index_box02 .content .item .box_title:after {
    border-bottom-color: var(--sanwa-accent);
  }

  #index_box01 .box_tab_detail .pager li.active,
  #index_box04 .content .pager li.active {
    background: var(--sanwa-main);
  }

  #index_box01 .box_tab_detail .next,
  #index_box01 .box_tab_detail .prev,
  #index_box04 .content .next,
  #index_box04 .content .prev {
    width: 20px;
    height: 36px;
  }

  #index_box01 .box_tab_detail .next img,
  #index_box01 .box_tab_detail .prev img,
  #index_box04 .content .next img,
  #index_box04 .content .prev img {
    display: none;
  }

  #index_box01 .box_tab_detail .next:before,
  #index_box01 .box_tab_detail .prev:before,
  #index_box04 .content .next:before,
  #index_box04 .content .prev:before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-top: 7px solid var(--sanwa-main);
    border-right: 7px solid var(--sanwa-main);
    border-radius: 3px;
    transform: rotate(45deg);
    box-sizing: border-box;
    margin-top: 8px;
  }

  #gnavi_sp ul li a {
    background-color: var(--sanwa-main);
    color: #fff;
    border-bottom-color: rgba(255, 255, 255, 0.45);
  }

  #menu-icon.open {
    background: #fff;
  }

  #menu-icon.open span {
    background: #000;
  }

  #h_box01 .logo_sp img {
    display: none;
  }

  #h_box01 .logo_sp a {
    color: #fff;
    text-decoration: none;
    font-family: 'NotoSansCJKjp-Bold';
    font-size: 18px;
    line-height: 40px;
  }

  #h_box01 .logo_sp a:before {
    content: "株式会社サンワ";
  }
}

/* Global navigation */
#gnavi {
  background: rgba(31, 53, 153, 0.9);
}

#gnavi .button_home a:before {
  background: rgba(0, 155, 207, 0.9);
}

#gnavi .link a:hover {
  color: var(--sanwa-main);
}

#gnavi .link a:hover .txt_01:before {
  background: var(--sanwa-main);
}

/* Footer actions and page-top button */
#f_buttons,
#f_buttons > .inner:before,
#toTop {
  background-color: var(--sanwa-main);
}

#f_buttons .button_03 a,
#f_buttons .button_03 a:after {
  color: var(--sanwa-main);
}

#f_buttons .button_03 a:before {
  background: #fff;
}

#f_buttons .button_03 a:after {
  background: var(--sanwa-main);
}

#f_buttons .button_03 a:hover {
  color: #fff;
}

#f_buttons .button_03 a:hover:before {
  background: var(--sanwa-accent);
  border-color: var(--sanwa-accent);
}

#f_buttons .button_03 a:hover:after {
  background: #fff;
}

#f_buttons .button_03 a span img {
  transition: filter 0.2s ease;
}

#f_buttons .button_03 a:hover span img {
  filter: brightness(0) invert(1);
}
