@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
.cl_white {
  color: #ffffff !important;
}

.bgcl_white {
  background-color: #ffffff !important;
}

.cl_black, article#news__all dd {
  color: #000000 !important;
}

.bgcl_black {
  background-color: #000000 !important;
}

.cl_dark {
  color: #333333 !important;
}

.bgcl_dark {
  background-color: #333333 !important;
}

.cl_gray {
  color: #dee0e5 !important;
}

.bgcl_gray {
  background-color: #dee0e5 !important;
}

.cl_gray_l {
  color: #eeeeee !important;
}

.bgcl_gray_l {
  background-color: #eeeeee !important;
}

.cl_gray_d {
  color: #616161 !important;
}

.bgcl_gray_d {
  background-color: #616161 !important;
}

.cl_red {
  color: #a20000 !important;
}

.bgcl_red {
  background-color: #a20000 !important;
}

.cl_cp {
  color: #2c2fa7 !important;
}

.bgcl_cp {
  background-color: #2c2fa7 !important;
}

.cl_cp_l75 {
  color: rgba(44, 47, 167, 0.75) !important;
}

.bgcl_cp_l75 {
  background-color: rgba(44, 47, 167, 0.75) !important;
}

.cl_cp_l50 {
  color: rgba(44, 47, 167, 0.5) !important;
}

.bgcl_cp_l50 {
  background-color: rgba(44, 47, 167, 0.5) !important;
}

.cl_cp_l25 {
  color: rgba(44, 47, 167, 0.25) !important;
}

.bgcl_cp_l25 {
  background-color: rgba(44, 47, 167, 0.25) !important;
}

.cl_cp_l10 {
  color: rgba(44, 47, 167, 0.1) !important;
}

.bgcl_cp_l10 {
  background-color: rgba(44, 47, 167, 0.1) !important;
}

.cl_navy, article#news__all dt {
  color: #24287d !important;
}

.bgcl_navy {
  background-color: #24287d !important;
}

.cl_scarlet {
  color: #e6332c !important;
}

.bgcl_scarlet {
  background-color: #e6332c !important;
}

.cl_scarlet_l {
  color: rgba(230, 51, 44, 0.75) !important;
}

.bgcl_scarlet_l {
  background-color: rgba(230, 51, 44, 0.75) !important;
}

.cl_shashi_d {
  color: #64aa25 !important;
}

.bgcl_shashi_d {
  background-color: #64aa25 !important;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
  background-color: #ffffff;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*,
*:before,
*:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  margin-top: 62px;
  scroll-padding-top: 62px; /* 固定ヘッダーの高さ */
  scroll-behavior: smooth; /* スムーズスクロールを有効にする場合 */
  font-size: 62.5%;
}
@media screen and (max-width: 767.98px) {
  html {
    font-size: 60%;
  }
}
@media screen and (max-width: 575.98px) {
  html {
    font-size: 58%;
  }
}
@media screen and (max-width: 375px) {
  html {
    font-size: 55%;
  }
}

@media screen and (max-width: 998px) {
  html {
    margin-top: 73px;
  }
}
html,
body,
.basic_font {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.ff_mincho, #sb__company #sb__company__wrapper main #main__contents .h_2,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_2,
#sb__company .mainnew_wrapper main #main__contents .h_2,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_2, #sb__services.services_shashi .h_2, #sb__services.services_shashi .h_3, #sb__services.services_shashi .h_5, #sb__services.services_arc .h_2, #sb__services.services_arc .h_3, #sb__services.services_arc .h_5, #sb__services.services_digi .h_2, #sb__services.services_digi .h_3, #sb__services.services_digi .h_5, #sb__services.services_sk .h_2, #sb__services.services_sk .h_3, #sb__services.services_sk .h_5 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.ff_js {
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}

body {
  font-size: 1.6rem !important;
  line-height: 1.8em;
  color: #333333;
  transition: 0.3s;
  text-underline-position: under;
  background-position: center top;
  line-break: strict;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
a:hover {
  color: #e6332c;
  transition: 0.3s;
}

.fw_t {
  font-weight: lighter;
}

.fw_m {
  font-weight: normal;
}

.fw_b, #sb__company #sb__company__wrapper main #main__contents .h_5,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_5,
#sb__company .mainnew_wrapper main #main__contents .h_5,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_5 {
  font-weight: bold;
}

.fs8 {
  font-size: 0.8rem;
}
@media screen and (max-width: 767.98px) {
  .fs8 {
    font-size: 0.76rem;
  }
}

.lh8 {
  line-height: 0.8em;
}
@media screen and (max-width: 767.98px) {
  .lh8 {
    line-height: 0.76em;
  }
}

.fs10 {
  font-size: 1rem;
}
@media screen and (max-width: 767.98px) {
  .fs10 {
    font-size: 0.95rem;
  }
}

.lh10, .news_pagenation ul li a,
.news_pagenation ul li span {
  line-height: 1em;
}
@media screen and (max-width: 767.98px) {
  .lh10, .news_pagenation ul li a,
  .news_pagenation ul li span {
    line-height: 0.95em;
  }
}

.fs12, figcaption {
  font-size: 1.2rem;
}
@media screen and (max-width: 767.98px) {
  .fs12, figcaption {
    font-size: 1.14rem;
  }
}

.lh12 {
  line-height: 1.2em;
}
@media screen and (max-width: 767.98px) {
  .lh12 {
    line-height: 1.14em;
  }
}

.fs14 {
  font-size: 1.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs14 {
    font-size: 1.33rem;
  }
}

.lh14 {
  line-height: 1.4em;
}
@media screen and (max-width: 767.98px) {
  .lh14 {
    line-height: 1.33em;
  }
}

.fs16 {
  font-size: 1.6rem;
}
@media screen and (max-width: 767.98px) {
  .fs16 {
    font-size: 1.52rem;
  }
}

.lh16, #sb__services.services_shashi .h_3, #sb__services.services_shashi .h_4, #sb__services.services_arc .h_3, #sb__services.services_arc .h_4, #sb__services.services_digi .h_3, #sb__services.services_digi .h_4, #sb__services.services_sk .h_3, #sb__services.services_sk .h_4 {
  line-height: 1.6em;
}
@media screen and (max-width: 767.98px) {
  .lh16, #sb__services.services_shashi .h_3, #sb__services.services_shashi .h_4, #sb__services.services_arc .h_3, #sb__services.services_arc .h_4, #sb__services.services_digi .h_3, #sb__services.services_digi .h_4, #sb__services.services_sk .h_3, #sb__services.services_sk .h_4 {
    line-height: 1.52em;
  }
}

.fs18, .btn_basic, .head_ss, #sb__top #top__books .books_one figcaption, #sb__company #sb__company__wrapper main #main__contents h2,
#sb__company #sb__company__wrapper main #main__contents h3,
#sb__company #sb__company__wrapper main #main__contents h4,
#sb__company #sb__company__wrapper main #main__contents h5,
#sb__company #sb__company__wrapper main #main__contents h6,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents h2,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents h3,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents h4,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents h5,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents h6,
#sb__company .mainnew_wrapper main #main__contents h2,
#sb__company .mainnew_wrapper main #main__contents h3,
#sb__company .mainnew_wrapper main #main__contents h4,
#sb__company .mainnew_wrapper main #main__contents h5,
#sb__company .mainnew_wrapper main #main__contents h6,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents h2,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents h3,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents h4,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents h5,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents h6, article#news__all dd {
  font-size: 1.8rem;
}
@media screen and (max-width: 767.98px) {
  .fs18, .btn_basic, .head_ss, #sb__top #top__books .books_one figcaption, #sb__company #sb__company__wrapper main #main__contents h2,
  #sb__company #sb__company__wrapper main #main__contents h3,
  #sb__company #sb__company__wrapper main #main__contents h4,
  #sb__company #sb__company__wrapper main #main__contents h5,
  #sb__company #sb__company__wrapper main #main__contents h6,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents h2,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents h3,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents h4,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents h5,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents h6,
  #sb__company .mainnew_wrapper main #main__contents h2,
  #sb__company .mainnew_wrapper main #main__contents h3,
  #sb__company .mainnew_wrapper main #main__contents h4,
  #sb__company .mainnew_wrapper main #main__contents h5,
  #sb__company .mainnew_wrapper main #main__contents h6,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents h2,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents h3,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents h4,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents h5,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents h6, article#news__all dd {
    font-size: 1.71rem;
  }
}

.lh18, figcaption {
  line-height: 1.8em;
}
@media screen and (max-width: 767.98px) {
  .lh18, figcaption {
    line-height: 1.71em;
  }
}

.fs20, .head_s, #sb__company #sb__company__wrapper main #main__contents .h_3,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_3,
#sb__company .mainnew_wrapper main #main__contents .h_3,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_3, #sb__company #sb__company__wrapper main #main__contents .h_4,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_4,
#sb__company .mainnew_wrapper main #main__contents .h_4,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_4, #sb__services.services_shashi .h_4, #sb__services.services_shashi .h_6, #sb__services.services_arc .h_4, #sb__services.services_arc .h_6, #sb__services.services_digi .h_4, #sb__services.services_digi .h_6, #sb__services.services_sk .h_4, #sb__services.services_sk .h_6, .news_pagenation ul li, .news_pagenation ul li a,
.news_pagenation ul li span, article#news__all dt {
  font-size: 2rem;
}
@media screen and (max-width: 767.98px) {
  .fs20, .head_s, #sb__company #sb__company__wrapper main #main__contents .h_3,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_3,
  #sb__company .mainnew_wrapper main #main__contents .h_3,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_3, #sb__company #sb__company__wrapper main #main__contents .h_4,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_4,
  #sb__company .mainnew_wrapper main #main__contents .h_4,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_4, #sb__services.services_shashi .h_4, #sb__services.services_shashi .h_6, #sb__services.services_arc .h_4, #sb__services.services_arc .h_6, #sb__services.services_digi .h_4, #sb__services.services_digi .h_6, #sb__services.services_sk .h_4, #sb__services.services_sk .h_6, .news_pagenation ul li, .news_pagenation ul li a,
  .news_pagenation ul li span, article#news__all dt {
    font-size: 1.9rem;
  }
}

.lh20, #sb__company #sb__company__wrapper main #main__contents .h_2,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_2,
#sb__company .mainnew_wrapper main #main__contents .h_2,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_2, #sb__services.services_shashi .h_2, #sb__services.services_arc .h_2, #sb__services.services_digi .h_2, #sb__services.services_sk .h_2 {
  line-height: 2em;
}
@media screen and (max-width: 767.98px) {
  .lh20, #sb__company #sb__company__wrapper main #main__contents .h_2,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_2,
  #sb__company .mainnew_wrapper main #main__contents .h_2,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_2, #sb__services.services_shashi .h_2, #sb__services.services_arc .h_2, #sb__services.services_digi .h_2, #sb__services.services_sk .h_2 {
    line-height: 1.9em;
  }
}

.fs22 {
  font-size: 2.2rem;
}
@media screen and (max-width: 767.98px) {
  .fs22 {
    font-size: 2.09rem;
  }
}

.lh22 {
  line-height: 2.2em;
}
@media screen and (max-width: 767.98px) {
  .lh22 {
    line-height: 2.09em;
  }
}

.fs24, .head_m, #sb__company #sb__company__wrapper main #main__contents .h_2,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_2,
#sb__company .mainnew_wrapper main #main__contents .h_2,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_2, #sb__services.services_shashi .h_3, #sb__services.services_shashi .h_5, #sb__services.services_arc .h_3, #sb__services.services_arc .h_5, #sb__services.services_digi .h_3, #sb__services.services_digi .h_5, #sb__services.services_sk .h_3, #sb__services.services_sk .h_5 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs24, .head_m, #sb__company #sb__company__wrapper main #main__contents .h_2,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_2,
  #sb__company .mainnew_wrapper main #main__contents .h_2,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_2, #sb__services.services_shashi .h_3, #sb__services.services_shashi .h_5, #sb__services.services_arc .h_3, #sb__services.services_arc .h_5, #sb__services.services_digi .h_3, #sb__services.services_digi .h_5, #sb__services.services_sk .h_3, #sb__services.services_sk .h_5 {
    font-size: 2.28rem;
  }
}

.lh24 {
  line-height: 2.4em;
}
@media screen and (max-width: 767.98px) {
  .lh24 {
    line-height: 2.28em;
  }
}

.fs26 {
  font-size: 2.6rem;
}
@media screen and (max-width: 767.98px) {
  .fs26 {
    font-size: 2.47rem;
  }
}

.lh26 {
  line-height: 2.6em;
}
@media screen and (max-width: 767.98px) {
  .lh26 {
    line-height: 2.47em;
  }
}

.fs28 {
  font-size: 2.8rem;
}
@media screen and (max-width: 767.98px) {
  .fs28 {
    font-size: 2.66rem;
  }
}

.lh28 {
  line-height: 2.8em;
}
@media screen and (max-width: 767.98px) {
  .lh28 {
    line-height: 2.66em;
  }
}

.fs30, .head_l, #sb__company #sb__company__wrapper main #main__title h1,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__title h1,
#sb__company .mainnew_wrapper main #main__title h1,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__title h1, #sb__services #sb__services__wrapper main #main__title h1,
#sb__services #sb__services__wrapper .mainnew_wrapper2 #main__title h1,
#sb__services .mainnew_wrapper main #main__title h1,
#sb__services .mainnew_wrapper .mainnew_wrapper2 #main__title h1, #sb__services.services_shashi .h_2, #sb__services.services_arc .h_2, #sb__services.services_digi .h_2, #sb__services.services_sk .h_2 {
  font-size: 3rem;
}
@media screen and (max-width: 767.98px) {
  .fs30, .head_l, #sb__company #sb__company__wrapper main #main__title h1,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__title h1,
  #sb__company .mainnew_wrapper main #main__title h1,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__title h1, #sb__services #sb__services__wrapper main #main__title h1,
  #sb__services #sb__services__wrapper .mainnew_wrapper2 #main__title h1,
  #sb__services .mainnew_wrapper main #main__title h1,
  #sb__services .mainnew_wrapper .mainnew_wrapper2 #main__title h1, #sb__services.services_shashi .h_2, #sb__services.services_arc .h_2, #sb__services.services_digi .h_2, #sb__services.services_sk .h_2 {
    font-size: 2.85rem;
  }
}

.lh30 {
  line-height: 3em;
}
@media screen and (max-width: 767.98px) {
  .lh30 {
    line-height: 2.85em;
  }
}

.fs32 {
  font-size: 3.2rem;
}
@media screen and (max-width: 767.98px) {
  .fs32 {
    font-size: 3.04rem;
  }
}

.lh32 {
  line-height: 3.2em;
}
@media screen and (max-width: 767.98px) {
  .lh32 {
    line-height: 3.04em;
  }
}

.fs34 {
  font-size: 3.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs34 {
    font-size: 3.23rem;
  }
}

.lh34 {
  line-height: 3.4em;
}
@media screen and (max-width: 767.98px) {
  .lh34 {
    line-height: 3.23em;
  }
}

.fs36 {
  font-size: 3.6rem;
}
@media screen and (max-width: 767.98px) {
  .fs36 {
    font-size: 3.42rem;
  }
}

.lh36 {
  line-height: 3.6em;
}
@media screen and (max-width: 767.98px) {
  .lh36 {
    line-height: 3.42em;
  }
}

.fs40, .head_ll {
  font-size: 4rem;
}
@media screen and (max-width: 767.98px) {
  .fs40, .head_ll {
    font-size: 3.8rem;
  }
}

.fs50 {
  font-size: 5rem;
}
@media screen and (max-width: 767.98px) {
  .fs50 {
    font-size: 4.75rem;
  }
}

.fs60 {
  font-size: 6rem;
}
@media screen and (max-width: 767.98px) {
  .fs60 {
    font-size: 5.7rem;
  }
}

.fs70 {
  font-size: 7rem;
}
@media screen and (max-width: 767.98px) {
  .fs70 {
    font-size: 6.65rem;
  }
}

.fs80 {
  font-size: 8rem;
}
@media screen and (max-width: 767.98px) {
  .fs80 {
    font-size: 7.6rem;
  }
}

.fs90 {
  font-size: 9rem;
}
@media screen and (max-width: 767.98px) {
  .fs90 {
    font-size: 8.55rem;
  }
}

.fs100 {
  font-size: 10rem;
}
@media screen and (max-width: 767.98px) {
  .fs100 {
    font-size: 9.5rem;
  }
}

.font_smooth {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

figcaption {
  text-align: center;
}

.rounded10 {
  border-radius: 10px;
}

.rounded15 {
  border-radius: 15px;
}

.rounded_all {
  border-radius: 100vmax;
}

.scroll {
  overflow: scroll;
}

.scroll_x {
  overflow-x: scroll;
}

.scroll_y {
  overflow-y: scroll;
}

#top_control {
  z-index: 10 !important;
}

.text_justify, .company_award table td:last-child, .company_outline .main_table th,
.company_outline .main_table td, .company_philosophy table th,
.company_philosophy table td, .company_social-media-policy main article p,
.company_social-media-policy main article dl dd, .company_privacy main p,
.company_privacy main ul li, .company_sitepolicy main p {
  text-align: justify;
}

.text_indent {
  text-indent: 1em;
}

.letter20 {
  letter-spacing: 2em;
}

.letter10 {
  letter-spacing: 1em;
}

.letter5 {
  letter-spacing: 0.5em;
}

.letter2 {
  letter-spacing: 0.2em;
}

.letter1, #sb__company #sb__company__wrapper main #main__contents .h_2,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_2,
#sb__company .mainnew_wrapper main #main__contents .h_2,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_2, #sb__services.services_shashi .h_2, #sb__services.services_arc .h_2, #sb__services.services_digi .h_2, #sb__services.services_sk .h_2 {
  letter-spacing: 0.1em;
}

.multiply {
  mix-blend-mode: multiply;
}

.opacity_0 {
  opacity: 0;
}

.opacity_1 {
  opacity: 1;
}

.grid_5_1 {
  grid-template-columns: 5fr 1fr;
}

.grid_1_5 {
  grid-template-columns: 1fr 5fr;
}

.square {
  width: 100%;
  padding-top: 100%;
}

.text_shadow_10 {
  text-shadow: 1px 1px 10px #000;
}

.text_shadow_5 {
  text-shadow: 1px 1px 5px #000;
}

.nowrap {
  white-space: nowrap;
  padding: 0 10px;
  width: 254px;
  text-align: center;
}

@media screen and (min-width: 992px) {
  .span_maxlg {
    display: none;
  }
}
@media screen and (max-width: 991.98px) {
  .span_maxlg {
    display: inline-block;
  }
}

@media screen and (min-width: 576px) {
  .br_maxsm {
    display: none;
  }
}
@media screen and (max-width: 575.98px) {
  .br_maxsm {
    display: block;
  }
}

@media screen and (min-width: 576px) {
  .br_minsm {
    display: block;
  }
}
@media screen and (max-width: 575.98px) {
  .br_minsm {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .br_maxmd {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .br_maxmd {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .br_minmd {
    display: block;
  }
}
@media screen and (max-width: 767.98px) {
  .br_minmd {
    display: none;
  }
}

@media screen and (min-width: 992px) {
  .br_maxlg {
    display: none;
  }
}
@media screen and (max-width: 991.98px) {
  .br_maxlg {
    display: block;
  }
}

@media screen and (min-width: 992px) {
  .br_minlg {
    display: block;
  }
}
@media screen and (max-width: 991.98px) {
  .br_minlg {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  .br_maxxl {
    display: none;
  }
}
@media screen and (max-width: 1199.98px) {
  .br_maxxl {
    display: block;
  }
}

@media screen and (min-width: 1200px) {
  .br_minxl {
    display: block;
  }
}
@media screen and (max-width: 1199.98px) {
  .br_minxl {
    display: none;
  }
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width: 767.98px) {
  .text_md_center {
    text-align: center;
  }
}
.p_40 {
  padding-right: 4rem;
  padding-left: 4rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media screen and (max-width: 767.98px) {
  .p_40 {
    padding-right: 3rem;
    padding-left: 3rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_40 {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}

.px_40 {
  padding-right: 4rem;
  padding-left: 4rem;
}
@media screen and (max-width: 767.98px) {
  .px_40 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_40 {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
}

.py_40 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media screen and (max-width: 767.98px) {
  .py_40 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_40 {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}

.pt_40 {
  padding-top: 4rem;
}
@media screen and (max-width: 767.98px) {
  .pt_40 {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_40 {
    padding-top: 2.4rem;
  }
}

.pb_40 {
  padding-bottom: 4rem;
}
@media screen and (max-width: 767.98px) {
  .pb_40 {
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_40 {
    padding-bottom: 2.4rem;
  }
}

.mb_40 {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767.98px) {
  .mb_40 {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_40 {
    margin-bottom: 2.4rem;
  }
}

.p_50 {
  padding-right: 5rem;
  padding-left: 5rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767.98px) {
  .p_50 {
    padding-right: 3.75rem;
    padding-left: 3.75rem;
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_50 {
    padding-right: 3rem;
    padding-left: 3rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.px_50 {
  padding-right: 5rem;
  padding-left: 5rem;
}
@media screen and (max-width: 767.98px) {
  .px_50 {
    padding-right: 3.75rem;
    padding-left: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_50 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

.py_50 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767.98px) {
  .py_50 {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_50 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.pt_50 {
  padding-top: 5rem;
}
@media screen and (max-width: 767.98px) {
  .pt_50 {
    padding-top: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_50 {
    padding-top: 3rem;
  }
}

.pb_50 {
  padding-bottom: 5rem;
}
@media screen and (max-width: 767.98px) {
  .pb_50 {
    padding-bottom: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_50 {
    padding-bottom: 3rem;
  }
}

.mb_50 {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767.98px) {
  .mb_50 {
    margin-bottom: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_50 {
    margin-bottom: 3rem;
  }
}

.p_60 {
  padding-right: 6rem;
  padding-left: 6rem;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 767.98px) {
  .p_60 {
    padding-right: 4.5rem;
    padding-left: 4.5rem;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_60 {
    padding-right: 3.6rem;
    padding-left: 3.6rem;
    padding-top: 3.6rem;
    padding-bottom: 3.6rem;
  }
}

.px_60 {
  padding-right: 6rem;
  padding-left: 6rem;
}
@media screen and (max-width: 767.98px) {
  .px_60 {
    padding-right: 4.5rem;
    padding-left: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_60 {
    padding-right: 3.6rem;
    padding-left: 3.6rem;
  }
}

.py_60 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 767.98px) {
  .py_60 {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_60 {
    padding-top: 3.6rem;
    padding-bottom: 3.6rem;
  }
}

.pt_60 {
  padding-top: 6rem;
}
@media screen and (max-width: 767.98px) {
  .pt_60 {
    padding-top: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_60 {
    padding-top: 3.6rem;
  }
}

.pb_60 {
  padding-bottom: 6rem;
}
@media screen and (max-width: 767.98px) {
  .pb_60 {
    padding-bottom: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_60 {
    padding-bottom: 3.6rem;
  }
}

.mb_60 {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767.98px) {
  .mb_60 {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_60 {
    margin-bottom: 3.6rem;
  }
}

.p_70 {
  padding-right: 7rem;
  padding-left: 7rem;
  padding-top: 7rem;
  padding-bottom: 7rem;
}
@media screen and (max-width: 767.98px) {
  .p_70 {
    padding-right: 5.25rem;
    padding-left: 5.25rem;
    padding-top: 5.25rem;
    padding-bottom: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_70 {
    padding-right: 4.2rem;
    padding-left: 4.2rem;
    padding-top: 4.2rem;
    padding-bottom: 4.2rem;
  }
}

.px_70 {
  padding-right: 7rem;
  padding-left: 7rem;
}
@media screen and (max-width: 767.98px) {
  .px_70 {
    padding-right: 5.25rem;
    padding-left: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_70 {
    padding-right: 4.2rem;
    padding-left: 4.2rem;
  }
}

.py_70 {
  padding-top: 7rem;
  padding-bottom: 7rem;
}
@media screen and (max-width: 767.98px) {
  .py_70 {
    padding-top: 5.25rem;
    padding-bottom: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_70 {
    padding-top: 4.2rem;
    padding-bottom: 4.2rem;
  }
}

.pt_70 {
  padding-top: 7rem;
}
@media screen and (max-width: 767.98px) {
  .pt_70 {
    padding-top: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_70 {
    padding-top: 4.2rem;
  }
}

.pb_70 {
  padding-bottom: 7rem;
}
@media screen and (max-width: 767.98px) {
  .pb_70 {
    padding-bottom: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_70 {
    padding-bottom: 4.2rem;
  }
}

.mb_70 {
  margin-bottom: 7rem;
}
@media screen and (max-width: 767.98px) {
  .mb_70 {
    margin-bottom: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_70 {
    margin-bottom: 4.2rem;
  }
}

.p_80 {
  padding-right: 8rem;
  padding-left: 8rem;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767.98px) {
  .p_80 {
    padding-right: 6rem;
    padding-left: 6rem;
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_80 {
    padding-right: 4.8rem;
    padding-left: 4.8rem;
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
  }
}

.px_80 {
  padding-right: 8rem;
  padding-left: 8rem;
}
@media screen and (max-width: 767.98px) {
  .px_80 {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_80 {
    padding-right: 4.8rem;
    padding-left: 4.8rem;
  }
}

.py_80 {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767.98px) {
  .py_80 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_80 {
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
  }
}

.pt_80 {
  padding-top: 8rem;
}
@media screen and (max-width: 767.98px) {
  .pt_80 {
    padding-top: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_80 {
    padding-top: 4.8rem;
  }
}

.pb_80 {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767.98px) {
  .pb_80 {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_80 {
    padding-bottom: 4.8rem;
  }
}

.mb_80 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767.98px) {
  .mb_80 {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_80 {
    margin-bottom: 4.8rem;
  }
}

.p_90 {
  padding-right: 9rem;
  padding-left: 9rem;
  padding-top: 9rem;
  padding-bottom: 9rem;
}
@media screen and (max-width: 767.98px) {
  .p_90 {
    padding-right: 6.75rem;
    padding-left: 6.75rem;
    padding-top: 6.75rem;
    padding-bottom: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_90 {
    padding-right: 5.4rem;
    padding-left: 5.4rem;
    padding-top: 5.4rem;
    padding-bottom: 5.4rem;
  }
}

.px_90 {
  padding-right: 9rem;
  padding-left: 9rem;
}
@media screen and (max-width: 767.98px) {
  .px_90 {
    padding-right: 6.75rem;
    padding-left: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_90 {
    padding-right: 5.4rem;
    padding-left: 5.4rem;
  }
}

.py_90 {
  padding-top: 9rem;
  padding-bottom: 9rem;
}
@media screen and (max-width: 767.98px) {
  .py_90 {
    padding-top: 6.75rem;
    padding-bottom: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_90 {
    padding-top: 5.4rem;
    padding-bottom: 5.4rem;
  }
}

.pt_90 {
  padding-top: 9rem;
}
@media screen and (max-width: 767.98px) {
  .pt_90 {
    padding-top: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_90 {
    padding-top: 5.4rem;
  }
}

.pb_90 {
  padding-bottom: 9rem;
}
@media screen and (max-width: 767.98px) {
  .pb_90 {
    padding-bottom: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_90 {
    padding-bottom: 5.4rem;
  }
}

.mb_90 {
  margin-bottom: 9rem;
}
@media screen and (max-width: 767.98px) {
  .mb_90 {
    margin-bottom: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_90 {
    margin-bottom: 5.4rem;
  }
}

.p_100 {
  padding-right: 10rem;
  padding-left: 10rem;
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  .p_100 {
    padding-right: 7.5rem;
    padding-left: 7.5rem;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_100 {
    padding-right: 6rem;
    padding-left: 6rem;
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.px_100 {
  padding-right: 10rem;
  padding-left: 10rem;
}
@media screen and (max-width: 767.98px) {
  .px_100 {
    padding-right: 7.5rem;
    padding-left: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_100 {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}

.py_100 {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  .py_100 {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_100 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.pt_100 {
  padding-top: 10rem;
}
@media screen and (max-width: 767.98px) {
  .pt_100 {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_100 {
    padding-top: 6rem;
  }
}

.pb_100 {
  padding-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  .pb_100 {
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_100 {
    padding-bottom: 6rem;
  }
}

.mb_100 {
  margin-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  .mb_100 {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_100 {
    margin-bottom: 6rem;
  }
}

.p_120 {
  padding-right: 12rem;
  padding-left: 12rem;
  padding-top: 12rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 767.98px) {
  .p_120 {
    padding-right: 9rem;
    padding-left: 9rem;
    padding-top: 9rem;
    padding-bottom: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_120 {
    padding-right: 7.2rem;
    padding-left: 7.2rem;
    padding-top: 7.2rem;
    padding-bottom: 7.2rem;
  }
}

.px_120 {
  padding-right: 12rem;
  padding-left: 12rem;
}
@media screen and (max-width: 767.98px) {
  .px_120 {
    padding-right: 9rem;
    padding-left: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_120 {
    padding-right: 7.2rem;
    padding-left: 7.2rem;
  }
}

.py_120 {
  padding-top: 12rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 767.98px) {
  .py_120 {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_120 {
    padding-top: 7.2rem;
    padding-bottom: 7.2rem;
  }
}

.pt_120 {
  padding-top: 12rem;
}
@media screen and (max-width: 767.98px) {
  .pt_120 {
    padding-top: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_120 {
    padding-top: 7.2rem;
  }
}

.pb_120 {
  padding-bottom: 12rem;
}
@media screen and (max-width: 767.98px) {
  .pb_120 {
    padding-bottom: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_120 {
    padding-bottom: 7.2rem;
  }
}

.mb_120 {
  margin-bottom: 12rem;
}
@media screen and (max-width: 767.98px) {
  .mb_120 {
    margin-bottom: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_120 {
    margin-bottom: 7.2rem;
  }
}

.p_140 {
  padding-right: 14rem;
  padding-left: 14rem;
  padding-top: 14rem;
  padding-bottom: 14rem;
}
@media screen and (max-width: 767.98px) {
  .p_140 {
    padding-right: 10.5rem;
    padding-left: 10.5rem;
    padding-top: 10.5rem;
    padding-bottom: 10.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_140 {
    padding-right: 8.4rem;
    padding-left: 8.4rem;
    padding-top: 8.4rem;
    padding-bottom: 8.4rem;
  }
}

.px_140 {
  padding-right: 14rem;
  padding-left: 14rem;
}
@media screen and (max-width: 767.98px) {
  .px_140 {
    padding-right: 10.5rem;
    padding-left: 10.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_140 {
    padding-right: 8.4rem;
    padding-left: 8.4rem;
  }
}

.py_140 {
  padding-top: 14rem;
  padding-bottom: 14rem;
}
@media screen and (max-width: 767.98px) {
  .py_140 {
    padding-top: 10.5rem;
    padding-bottom: 10.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_140 {
    padding-top: 8.4rem;
    padding-bottom: 8.4rem;
  }
}

.pt_140 {
  padding-top: 14rem;
}
@media screen and (max-width: 767.98px) {
  .pt_140 {
    padding-top: 10.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_140 {
    padding-top: 8.4rem;
  }
}

.pb_140 {
  padding-bottom: 14rem;
}
@media screen and (max-width: 767.98px) {
  .pb_140 {
    padding-bottom: 10.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_140 {
    padding-bottom: 8.4rem;
  }
}

.mb_140 {
  margin-bottom: 14rem;
}
@media screen and (max-width: 767.98px) {
  .mb_140 {
    margin-bottom: 10.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_140 {
    margin-bottom: 8.4rem;
  }
}

.p_150 {
  padding-right: 15rem;
  padding-left: 15rem;
  padding-top: 15rem;
  padding-bottom: 15rem;
}
@media screen and (max-width: 767.98px) {
  .p_150 {
    padding-right: 11.25rem;
    padding-left: 11.25rem;
    padding-top: 11.25rem;
    padding-bottom: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_150 {
    padding-right: 9rem;
    padding-left: 9rem;
    padding-top: 9rem;
    padding-bottom: 9rem;
  }
}

.px_150 {
  padding-right: 15rem;
  padding-left: 15rem;
}
@media screen and (max-width: 767.98px) {
  .px_150 {
    padding-right: 11.25rem;
    padding-left: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_150 {
    padding-right: 9rem;
    padding-left: 9rem;
  }
}

.py_150 {
  padding-top: 15rem;
  padding-bottom: 15rem;
}
@media screen and (max-width: 767.98px) {
  .py_150 {
    padding-top: 11.25rem;
    padding-bottom: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_150 {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }
}

.pt_150 {
  padding-top: 15rem;
}
@media screen and (max-width: 767.98px) {
  .pt_150 {
    padding-top: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_150 {
    padding-top: 9rem;
  }
}

.pb_150 {
  padding-bottom: 15rem;
}
@media screen and (max-width: 767.98px) {
  .pb_150 {
    padding-bottom: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_150 {
    padding-bottom: 9rem;
  }
}

.mb_150 {
  margin-bottom: 15rem;
}
@media screen and (max-width: 767.98px) {
  .mb_150 {
    margin-bottom: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_150 {
    margin-bottom: 9rem;
  }
}

.p_160 {
  padding-right: 16rem;
  padding-left: 16rem;
  padding-top: 16rem;
  padding-bottom: 16rem;
}
@media screen and (max-width: 767.98px) {
  .p_160 {
    padding-right: 12rem;
    padding-left: 12rem;
    padding-top: 12rem;
    padding-bottom: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .p_160 {
    padding-right: 9.6rem;
    padding-left: 9.6rem;
    padding-top: 9.6rem;
    padding-bottom: 9.6rem;
  }
}

.px_160 {
  padding-right: 16rem;
  padding-left: 16rem;
}
@media screen and (max-width: 767.98px) {
  .px_160 {
    padding-right: 12rem;
    padding-left: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_160 {
    padding-right: 9.6rem;
    padding-left: 9.6rem;
  }
}

.py_160 {
  padding-top: 16rem;
  padding-bottom: 16rem;
}
@media screen and (max-width: 767.98px) {
  .py_160 {
    padding-top: 12rem;
    padding-bottom: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_160 {
    padding-top: 9.6rem;
    padding-bottom: 9.6rem;
  }
}

.pt_160 {
  padding-top: 16rem;
}
@media screen and (max-width: 767.98px) {
  .pt_160 {
    padding-top: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_160 {
    padding-top: 9.6rem;
  }
}

.pb_160 {
  padding-bottom: 16rem;
}
@media screen and (max-width: 767.98px) {
  .pb_160 {
    padding-bottom: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_160 {
    padding-bottom: 9.6rem;
  }
}

.mb_160 {
  margin-bottom: 16rem;
}
@media screen and (max-width: 767.98px) {
  .mb_160 {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_160 {
    margin-bottom: 9.6rem;
  }
}

.anchor_wrap {
  scroll-margin-top: 50rem;
}
@media screen and (max-width: 991.98px) {
  .anchor_wrap {
    padding-top: 82px;
    margin-top: -82px;
  }
}
@media screen and (max-width: 575.98px) {
  .anchor_wrap {
    padding-top: 62px;
    margin-top: -62px;
  }
}

.btn_basic {
  display: block;
  text-align: center;
  padding: 1.6rem;
  transition: 0.5s all;
  position: relative;
  border-radius: 100vmax;
  border: 1px solid #2c2fa7;
  color: #2c2fa7;
  background: #ffffff;
  position: relative;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  max-width: 28rem;
}
@media screen and (min-width: 1200px) {
  .btn_basic {
    width: 90%;
  }
}

@media screen and (min-width: 992px) {
  .btn_basic::before {
    content: "";
    width: 3.9rem;
    height: 1px;
    background: #2c2fa7;
    position: absolute;
    left: 2.2rem;
    top: 50%;
    transition: 0.5s all;
  }
  .btn_basic::after {
    content: "";
    width: 1rem;
    height: 1px;
    transform: rotate(45deg);
    background: #2c2fa7;
    transform-origin: center;
    position: absolute;
    left: 5.2rem;
    top: 44%;
    transform: rotate(45deg) translateY(-50%);
    transition: 0.5s all;
  }
}
.btn_basic:hover {
  background: #2c2fa7;
  color: #ffffff;
}
.btn_basic:hover::before {
  left: 3.2rem;
  background: #ffffff;
}
.btn_basic:hover::after {
  left: 6.2rem;
  background: #ffffff;
}

.btn_basic2 {
  display: block;
  text-align: center;
  padding: 1.5rem;
  transition: 0.5s all;
  position: relative;
  border-radius: 100vmax;
  border: 1px solid #2c2fa7;
  color: #2c2fa7;
  background: #ffffff;
  position: relative;
  margin-right: auto;
  margin-left: auto;
  width: 90%;
}
@media screen and (max-width: 767.98px) {
  .btn_basic2 {
    width: 90%;
  }
}

.btn_basic2::before {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 100vmax;
  background: #2c2fa7;
  position: absolute;
  right: 2rem;
}

.btn_basic2::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
  transform-origin: center;
  position: absolute;
  right: 3.4rem;
  top: 50%;
  transform: rotate(45deg) translateY(-80%);
}

.btn_basic2:hover {
  background: #2c2fa7;
  color: #2c2fa7;
}

.headline_filled {
  background-color: #2c2fa7;
  color: #2c2fa7;
  padding: 1rem 2rem;
  text-align: center;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}
.headline_filled span {
  font-size: 85%;
}

.headline_horizonline_both {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: 0.2em;
  position: relative;
}
.headline_horizonline_both::before {
  margin-right: 3rem;
}
@media screen and (max-width: 767.98px) {
  .headline_horizonline_both::before {
    margin-right: 1rem;
  }
}
.headline_horizonline_both::after {
  margin-left: 3rem;
}
@media screen and (max-width: 767.98px) {
  .headline_horizonline_both::after {
    margin-left: 1rem;
  }
}
.headline_horizonline_both::before, .headline_horizonline_both::after {
  content: "";
  display: inline-block;
  width: 6rem;
  height: 2px;
  background: #2c2fa7;
}
@media screen and (max-width: 767.98px) {
  .headline_horizonline_both::before, .headline_horizonline_both::after {
    width: 3rem;
  }
}

.headline_verticalline_left {
  display: flex;
  align-items: center;
  color: #2c2fa7;
  position: relative;
}
.headline_verticalline_left::before {
  margin-right: 2rem;
}
@media screen and (max-width: 767.98px) {
  .headline_verticalline_left::before {
    margin-right: 1rem;
  }
}
.headline_verticalline_left::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 3rem;
  background: #2c2fa7;
}

.headline_horizonline_bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #2c2fa7;
  text-align: center;
  position: relative;
}
.headline_horizonline_bottom::after {
  content: "";
  display: block;
  height: 4px;
  width: 4.5rem;
  background: #2c2fa7;
  margin-top: 1rem;
}

.headline_horizondotline_bottom {
  border-bottom: 5px dotted #2c2fa7;
  display: inline-block;
  padding-bottom: 1.6rem;
}

.headline_slash_icon::before {
  content: "／";
  display: inline-block;
  height: 100%;
  margin-right: 1rem;
}

.p_absolute_center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.p_absolute_center_x {
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.p_absolute_center_y {
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.flex_center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.small_chip {
  padding: 0 10px;
  display: inline-block;
  width: 254px;
  margin-left: 1rem;
  text-align: center;
}
@media screen and (min-width: 992px) {
  .small_chip {
    margin-left: 1.2rem;
  }
}

.bi::before {
  padding-right: 0.5rem;
}

header {
  position: fixed;
  z-index: 10;
  top: 0;
  background: #ffffff;
  width: 100%;
}
header #header__logo img {
  width: 20rem;
}
@media screen and (min-width: 992px) {
  header #header__logo img {
    width: 24rem;
  }
}

.sticky_contener1 {
  position: -webkit-sticky; /* Safari対策 */
  position: sticky;
  top: 90px; /* ヘッダー(62px〜)より下の位置に指定 */
  z-index: 5; /* 他の要素の下に隠れないように */
  align-items: flex-start;
}

footer #common__links .links_contact {
  background: url("../images/common/top_bg_contact.webp") no-repeat top center;
  background-size: cover;
  transition: transform 0.9s ease; /* ゆっくり変化させる */
}
footer #common__links .links_recruit {
  background: url("../images/common/top_bg_recruit.webp") no-repeat top center;
  background-size: cover;
  transition: transform 0.9s ease; /* ゆっくり変化させる */
}
.footer_box {
  background-color: #fff;
  cursor: pointer;
  max-width: 700px;
  overflow: hidden;
  position: relative;
}

.footer_box:hover .links_contact {
  transform: scale(1.1);
  opacity: 0.7;
}

.footer_box:hover .links_recruit {
  transform: scale(1.1);
  opacity: 0.8;
}

header {
  border-bottom: 1px solid rgba(44, 47, 167, 0.25);
}

footer #common__links {
  max-width: 1400px;
}

#top__sb_sites {
  background-color: #F8F8F8;
}

.my_container #top__sb_sites2 {
  margin-top: 10px;
  padding: 10px;
  align-items: flex-start;
}
@media screen and (max-width: 991.98px) {
  .my_container #top__sb_sites2 {
    display: none;
  }
}
.my_container {
  width: 100svw;
}
.my_container aside {
  width: 100svw;
}
.my_container .mainnew_wrapper2 {
  width: 100svw;
}
.my_container .mainnew_wrapper2 #main__title {
  border-bottom: 1px solid rgba(44, 47, 167, 0.25);
}
.my_container .mainnew_wrapper {
  width: 100svw;
}
.my_container .mainnew_wrapper #main__title {
  border-bottom: 1px solid rgba(44, 47, 167, 0.25);
}
.my_container main {
  width: 100svw;
  margin-bottom: 6rem;
}
.my_container main #main__title {
  border-bottom: 1px solid rgba(44, 47, 167, 0.25);
}
@media screen and (min-width: 992px) {
  .my_container {
    display: flex;
    justify-content: space-between;
  }
  .my_container aside {
    width: 350px;
  }
  .my_container main {
    width: 100svw;
    margin-bottom: 0;
    padding-bottom: 6rem;
  }
}
@media screen and (min-width: 1400px) {
  .my_container {
    display: flex;
    justify-content: space-between;
    width: 100svw;
  }
  .my_container main {
    width: 100svw;
    width: 100svw;
  }
  .my_container main #main__title {
    border: 1px solid rgba(44, 47, 167, 0.25);
  }
}

aside .sb_sites_title .logo_ringo {
  height: 5rem;
}
aside .sb_sites_content li {
  padding: 0;
  padding-bottom: 2.5rem;
}
aside .sb_sites_content ul {
  display: flex;
  flex-wrap: wrap;
}
aside .sb_sites_content ul li {
  width: 33%;
  padding: 0 1svw 2.5svw 1svw;
}
@media screen and (max-width: 575.98px) {
  aside .sb_sites_content ul li {
    width: 50%;
  }
}
@media screen and (max-width: 375.98px) {
  aside .sb_sites_content ul li {
    width: 100%;
  }
}

#top__mv {
  background-color: #fff;
}

#slide {
  width: 100vw;
}

.swiper-slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.slide-inner {
  overflow: hidden;
  position: relative;
  width: 100% !important;
}

.slide-inner img {
  width: calc(100% + 40px) !important;
  animation: slideMove 7s linear forwards;
}

.slide-inner video {
  z-index: -100;
  width: calc(100% + 40px) !important;
  height: auto;
  margin: 0;
  padding: 0;
}

@keyframes slideMove {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-40px);
  }
}
.swiper_book {
  margin-right: auto;
  margin-left: auto;
  position: relative;
  overflow: hidden;
  padding: 0;
  display: block;
}

a.line_stretch {
  display: block;
  position: relative;
}
a.line_stretch:after {
  content: "";
  width: 0;
  height: 1px;
  background: #ffffff;
  transform-origin: left;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: all 0.3s;
}

a.line_stretch:hover {
  color: #ffffff;
}
@media screen and (min-width: 992px) {
  a.line_stretch:hover:after {
    width: 100%;
  }
}

a.line_stretch.stretch:after {
  width: 100%;
}

#menu__list a.line_stretch:after {
  background: #2c2fa7;
  transition: all 0.5s;
}

.hover_reverse_nb {
  background: #24287d;
  color: #ffffff;
  padding: 20px !important;
}
.hover_reverse_nb:hover {
  background: #2c2fa7;
  color: #ffffff;
}

.hover_reverse_wn {
  background: #ffffff;
  color: #24287d;
  border: 1px solid #ffffff;
}
.hover_reverse_wn:hover {
  background: #24287d;
  color: #ffffff;
}

.footer_text {
  font-size: 1.4rem;
}

.menu-trigger {
  width: 6rem;
  margin: 2rem;
  cursor: pointer;
  z-index: 100;
  flex-direction: column;
}
.menu-trigger span {
  width: 100%;
  height: 2px;
  margin: 5px 0;
  background-color: #24287d;
  transition: all 0.5s;
}

@media screen and (max-width: 991.98px) {
  .menu_board {
    z-index: 9;
    position: fixed;
    width: 60%;
    height: 100%;
    right: 0;
    top: 0;
    background-color: #ffffff;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
    transform: translateX(85svw);
    padding-top: 100px;
    transition: all 0s;
  }
}
@media screen and (max-width: 991.98px) and (max-width: 767.98px) {
  .menu_board {
    width: 80%;
  }
}
@media screen and (max-width: 991.98px) {
  .menu_board ul#menu__list > li > a {
    font-size: 1.85rem;
    padding: 1.6rem 2rem !important;
  }
  .menu_board ul#menu__list {
    max-height: calc(100svh - 100px);
    overflow-y: scroll;
    display: block !important;
  }
  .menu_board ul#menu__list li {
    text-align: left;
    margin-bottom: 0;
  }
  .menu_board ul#menu__list li a small {
    padding-left: 1rem;
  }
  .menu_board ul#menu__list li#nav__service,
  .menu_board ul#menu__list li#nav__company,
  .menu_board ul#menu__list li#nav__news {
    background: #eeeeee;
    border-top: 1px solid rgba(44, 47, 167, 0.5);
    border-bottom: 1px solid rgba(44, 47, 167, 0.5);
  }
  .menu_board ul#menu__list #nav__service__area,
  .menu_board ul#menu__list #nav__company__area {
    opacity: 0;
    height: 0;
    transition: all 0.4s ease;
  }
  .menu_board ul#menu__list #nav__service__area dl,
  .menu_board ul#menu__list #nav__company__area dl {
    display: none;
  }
  .menu_board ul#menu__list #nav__service__area dt,
  .menu_board ul#menu__list #nav__company__area dt {
    display: block;
  }
  .menu_board ul#menu__list #nav__service__area dt a > h2.head_l, .menu_board ul#menu__list #nav__service__area dt #sb__services.services_shashi a > h2.h_2, #sb__services.services_shashi .menu_board ul#menu__list #nav__service__area dt a > h2.h_2, .menu_board ul#menu__list #nav__service__area dt #sb__services.services_arc a > h2.h_2, #sb__services.services_arc .menu_board ul#menu__list #nav__service__area dt a > h2.h_2, .menu_board ul#menu__list #nav__service__area dt #sb__services.services_digi a > h2.h_2, #sb__services.services_digi .menu_board ul#menu__list #nav__service__area dt a > h2.h_2, .menu_board ul#menu__list #nav__service__area dt #sb__services.services_sk a > h2.h_2, #sb__services.services_sk .menu_board ul#menu__list #nav__service__area dt a > h2.h_2,
  .menu_board ul#menu__list #nav__company__area dt a > h2.head_l,
  .menu_board ul#menu__list #nav__company__area dt #sb__services.services_shashi a > h2.h_2,
  #sb__services.services_shashi .menu_board ul#menu__list #nav__company__area dt a > h2.h_2,
  .menu_board ul#menu__list #nav__company__area dt #sb__services.services_arc a > h2.h_2,
  #sb__services.services_arc .menu_board ul#menu__list #nav__company__area dt a > h2.h_2,
  .menu_board ul#menu__list #nav__company__area dt #sb__services.services_digi a > h2.h_2,
  #sb__services.services_digi .menu_board ul#menu__list #nav__company__area dt a > h2.h_2,
  .menu_board ul#menu__list #nav__company__area dt #sb__services.services_sk a > h2.h_2,
  #sb__services.services_sk .menu_board ul#menu__list #nav__company__area dt a > h2.h_2 {
    font-size: 1.8rem !important;
    padding: 10px 0;
    border-bottom: 1px solid #dee0e5;
  }
  .menu_board ul#menu__list #nav__service__area dt :hover,
  .menu_board ul#menu__list #nav__company__area dt :hover {
    background: rgba(44, 47, 167, 0.1);
  }
  .menu_board ul#menu__list #nav__service__area dt > small,
  .menu_board ul#menu__list #nav__company__area dt > small {
    display: none;
  }
  .menu_board ul#menu__list #nav__service__area.open,
  .menu_board ul#menu__list #nav__company__area.open {
    opacity: 1;
    height: auto;
  }
  .menu_board ul#menu__list #nav__service__area.open dl,
  .menu_board ul#menu__list #nav__company__area.open dl {
    display: inline;
  }
  .menu_board ul#menu__list #nav__service #nav__service__area {
    padding: 0 2rem;
  }
  .menu_board ul#menu__list #nav__service #nav__service__area dl dd a {
    padding: 1rem 0;
    border-bottom: 1px solid #dee0e5;
  }
  .menu_board ul#menu__list #nav__service #nav__service__area dl dd:last-child a {
    border-bottom: none;
  }
  .menu_board ul#menu__list #nav__company #nav__company__area {
    padding: 0 2rem;
  }
  .menu_board ul#menu__list #nav__company ul li a {
    padding: 1rem 0;
    border-bottom: 1px solid #dee0e5;
  }
  .menu_board ul#menu__list #nav__company dl dd:last-child ul li:last-child a {
    border-bottom: none;
  }
}
.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(12px) rotate(-28deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-12px) rotate(28deg);
}

@media screen and (max-width: 991.98px) {
  .menu_board.open {
    opacity: 0.9 !important;
    transform: translateX(0);
  }
}

@media screen and (min-width: 992px) {
  #nav__service__area,
  #nav__company__area {
    border-top: 1px solid rgba(44, 47, 167, 0.25);
    text-align: left;
    position: absolute;
    left: 0;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.15);
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: scaleY(0);
    transform-origin: top;
    /* ←上を基点に伸びる */
    transition: all 0.4s ease;
    z-index: 20;
    width: 100svw;
    padding: 4rem 0;
  }
  #nav__service__area dl,
  #nav__company__area dl {
    display: grid;
    grid-template-columns: 16rem 1fr 1fr;
    column-gap: 3rem;
    row-gap: 1rem;
  }
  #nav__service__area dl dt,
  #nav__company__area dl dt {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 3;
  }
  #nav__service__area dl dd,
  #nav__company__area dl dd {
    border-top: 1px solid rgba(44, 47, 167, 0.25);
  }
  #nav__service__area dl a,
  #nav__company__area dl a {
    padding: 3rem 0.5rem;
  }
}

@media screen and (min-width: 992px) {
  #nav__service__area {
    padding: 4rem 0;
  }
  #nav__service__area dl {
    row-gap: 0.2rem;
  }
  #nav__service__area dl a {
    padding: 1.5rem 0.5rem;
  }
}

#nav__service__area a.ico_arrow,
#nav__company__area a.ico_arrow {
  position: relative;
  display: block;
  transition: all 0.5s;
}
#nav__service__area a.ico_arrow::after,
#nav__company__area a.ico_arrow::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-top: 2px solid #2c2fa7;
  border-right: 2px solid #2c2fa7;
  transform: rotate(45deg);
  transform-origin: center;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: rotate(45deg) translateY(-80%);
  transition: all 0.5s;
}
#nav__service__area a.ico_arrow:hover,
#nav__company__area a.ico_arrow:hover {
  background: rgba(44, 47, 167, 0.1);
}
#nav__service__area a.ico_arrow:hover::after,
#nav__company__area a.ico_arrow:hover::after {
  right: 1rem;
}

#nav__company__area dl {
  grid-template-columns: 20% repeat(3, 1fr) !important;
}
#nav__company__area dl a {
  padding: 0.5rem;
}
@media screen and (max-width: 991.98px) {
  #nav__company__area dl a {
    padding: 10px 0;
  }
}

#common__mv {
  background: url("../images/ptn/ptn_abstruct_1-l.png") no-repeat top left, linear-gradient(160deg, #333333 0%, #ffffff 50%, #ffffff 100%);
  background-size: 80%, 100%;
  margin-top: 9rem;
}
#common__mv .row {
  padding-top: 10rem;
}
@media screen and (max-width: 767.98px) {
  #common__mv {
    margin-top: 7.5rem;
  }
  #common__mv .row {
    padding-top: 5rem;
  }
  #common__mv {
    background-size: contain;
  }
  #common__mv .mv_title .hgroup h1,
  #common__mv .mv_title .hgroup p {
    text-align: center;
  }
}
#common__mv .mv_img .mv_colorbar {
  bottom: 0;
  width: 60%;
  height: calc(6rem * 2);
}
@media screen and (max-width: 767.98px) {
  #common__mv .mv_img .mv_colorbar {
    height: calc(6rem * 1.5);
  }
}
@media screen and (max-width: 575.98px) {
  #common__mv .mv_img .mv_colorbar {
    height: calc(6rem * 1.2);
  }
}
#common__mv .mv_img .mv_colorbar {
  right: 0;
  z-index: 1;
}
#common__mv .breadcrumb {
  height: 6rem;
}
#common__mv .breadcrumb li {
  padding-top: 3rem;
}
#common__mv .box_alignment {
  height: calc(100% - 6rem);
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeDown {
  animation-name: fadeDownAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.roundfadeUp {
  animation-name: roundfadeUp;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes roundfadeUp {
  from {
    opacity: 0;
    transform: translateY(7rem) rotate(0deg);
  }
  to {
    opacity: 1;
    transform: translateY(0) rotate(90deg);
  }
}
.bubblePop {
  animation-name: bubblePop;
  animation-duration: 0.4s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}

@keyframes bubblePop {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  85% {
    opacity: 1;
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.slideFromLeft {
  animation-name: slideFromLeft;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes slideFromLeft {
  from {
    opacity: 0;
    transform: translateX(-10rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.slideFromRight {
  animation-name: slideFromRight;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes slideFromRight {
  from {
    opacity: 0;
    transform: translateX(10rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.stretch {
  animation-name: stretchAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes stretchAnime {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(1);
  }
}
.single_fuwa_up,
.single_fuwa_up_r,
.fuwa_up,
.multiple_fuwa_up > *,
.multiple_bubblePop > *,
.multiple_slideFromLeft > *,
.multiple_slideFromRight > * {
  opacity: 0;
}

#topmv_logo {
  width: 18rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 10;
}

.partsFadeIn {
  animation-name: partsFadeInAnime;
  animation-duration: 3s;
  animation-fill-mode: forwards;
}

@keyframes partsFadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.partsFadeOut {
  animation-name: partsFadeOutAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}

@keyframes partsFadeOutAnime {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.partsScaleSmaller {
  animation-name: partsScaleSmallerAnime;
  animation-duration: 4s;
  animation-fill-mode: forwards;
}

@keyframes partsScaleSmallerAnime {
  from {
    transform: scale(1.2);
  }
  to {
    transform: scale(1);
  }
}
.partsScaleLarger {
  animation-name: partsScaleLargerAnime;
  animation-duration: 4s;
  animation-fill-mode: forwards;
}

@keyframes partsScaleLargerAnime {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.2);
  }
}
.top__hero__anm {
  animation-name: topheroAnime;
  animation-duration: 8s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}

@keyframes topheroAnime {
  0% {
    background-color: rgb(255, 255, 255);
    background-blend-mode: lighten;
    transform: scale(1.2);
  }
  20% {
    background-color: rgb(255, 255, 255);
    background-blend-mode: lighten;
  }
  100% {
    background-color: rgba(255, 255, 255, 0);
    background-blend-mode: lighten;
    transform: scale(1);
  }
}
.top__hero__anm2 {
  animation-name: topheroAnime2;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}

@keyframes topheroAnime2 {
  from {
    height: 100dvh;
  }
  to {
    height: calc(100dvh - 9rem);
  }
}
.top__header__anm {
  animation-name: top__header__anm;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}

@keyframes top__header__anm {
  from {
    top: -9rem;
  }
  to {
    top: 0;
  }
}
#pageTop {
  position: fixed;
  bottom: 3rem;
  right: 2rem;
  width: 6rem;
  height: 6rem;
  background: #2c2fa7;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 9999;
}

@media screen and (max-width: 575.98px) {
  #pageTop {
    width: 4rem;
    height: 4rem;
  }
}
#pageTop:hover {
  background: rgba(10, 88, 202, 0.9);
}

#pageTop .arrow {
  position: absolute;
  top: 60%;
  left: 50%;
  width: 2rem;
  height: 2rem;
  border-left: 2px solid #ffffff;
  border-top: 2px solid #ffffff;
  transform: translate(-50%, -40%) rotate(45deg);
}

@media screen and (max-width: 640px) {
  .breadcrumb_scloll {
    overflow-x: scroll;
    word-break: keep-all;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    /* 滑らかなスクロール */
    padding-right: 50px;
    /* 右端に余白を作ってグラデーション領域を確保 */
    background: linear-gradient(to right, white 90%, rgba(255, 255, 255, 0) 100%);
  }
  .breadcrumb_scloll::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    /* グラデーションの幅 */
    height: 50px;
    /* 背景色から透明へのグラデーション */
    background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff);
    pointer-events: none;
    /* 下のリンクをクリックできるようにする */
  }
  /* 実装例: 常に細いバーを出す */
  .breadcrumb_scloll::-webkit-scrollbar {
    height: 3px;
  }
  .breadcrumb_scloll::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
  }
}
/* 各ページ戻り */
.page_return {
  border-top: 1px #2c2fa7 solid;
  border-bottom: 1px #2c2fa7 solid;
  width: 280px;
  padding: 10px 0;
  margin: 0 auto 40px auto;
}
.page_return ul li {
  padding: 10px 30px;
}
.page_return ul li:hover {
  background: rgba(44, 47, 167, 0.1);
}

/*  営業時間　*/
.calendar-wrap2 {
  width: 600px;
}
@media screen and (max-width: 575.98px) {
  .calendar-wrap2 {
    width: 100%;
  }
}

.calneder-list2 {
  display: flex;
  flex-wrap: wrap;
}
.calneder-list2 dt {
  display: flex;
  align-items: center;
  width: 40%;
  text-align: left;
  background-color: rgba(44, 47, 167, 0.1);
  padding: 20px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
@media screen and (max-width: 575.98px) {
  .calneder-list2 dt {
    border-right: 1px solid #ccc;
    width: 100%;
    padding: 10px;
  }
}
.calneder-list2 dt:last-of-type {
  border-bottom: 1px solid #ccc;
}
.calneder-list2 dd {
  display: flex;
  align-items: center;
  width: 60%;
  text-align: left;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  padding: 0 0 0 10px;
}
@media screen and (max-width: 575.98px) {
  .calneder-list2 dd {
    border-left: 1px solid #ccc;
    width: 100%;
    padding: 10px;
  }
}
.calneder-list2 dd:last-of-type {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 575.98px) {
  .calneder-list2 dd:last-of-type {
    border-top: none;
  }
}

/*  営業時間　終わり　*/
/* カレンダー */
.calendar-wrap {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
}
@media screen and (max-width: 575.98px) {
  .calendar-wrap {
    width: 100%;
  }
}

@media screen and (max-width: 1299px) {
  .calendar-wrap {
    display: flex;
    flex-direction: column;
  }
}
.calendar {
  width: 100%;
  border-collapse: collapse;
}

.calendar th,
.calendar td {
  border: 1px solid #ddd;
  text-align: center;
  padding: 12px 12px !important;
  font-size: 1.5rem;
  font-weight: bold;
}

@media screen and (max-width: 1299px) {
  .calendar th,
  .calendar td {
    padding: 10px;
    font-size: 1.4rem;
  }
  .calendar th {
    padding: 10px;
  }
}
.calendar .sun {
  color: #e17f7e;
  background-color: #f8e4e2;
}

.calendar .sat {
  color: #7ab6f3;
  background-color: #e7f6fd;
}

.calendar .mute {
  color: #aaa;
}

.calendar .today {
  background-color: #7d7d7d;
}

.calendar .off {
  background-color: #faeaea;
  color: #e17f7e;
}

.caption-set {
  caption-side: top;
  font-size: 20px;
  font-weight: bold;
  background-color: rgba(44, 47, 167, 0.1);
}

.flex-oya {
  display: flex;
  justify-content: space-between;
  padding: 20px 5px;
}

.eigyou-month {
  text-align: left;
  color: #000;
  padding-left: 20px;
}

.eigyou-year {
  text-align: right;
  color: #000;
  padding-right: 20px;
}

.calendar .leftborder {
  border-left: 1px solid #ddd !important;
}

/* 営業日カレンダー 土曜日出勤*/
.eigyou_calender {
  width: 600px;
  box-sizing: border-box;
  padding: 10px 0;
}
@media screen and (max-width: 575.98px) {
  .eigyou_calender {
    width: 100%;
  }
}

.calneder-list {
  display: flex;
  flex-wrap: wrap;
}
.calneder-list dt {
  display: flex;
  align-items: center;
  width: 40%;
  text-align: left;
  background-color: rgba(44, 47, 167, 0.1);
  padding: 20px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
@media screen and (max-width: 575.98px) {
  .calneder-list dt {
    border-right: 1px solid #ccc;
    width: 100%;
    padding: 10px;
  }
}
@media screen and (max-width: 575.98px) {
  .calneder-list dt:last-of-type {
    border-bottom: none;
  }
}
.calneder-list dd {
  width: 60%;
  text-align: left;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
@media screen and (max-width: 575.98px) {
  .calneder-list dd {
    border-left: 1px solid #ccc;
    width: 100%;
  }
}
.calneder-list dd dl {
  display: flex;
  flex-wrap: wrap;
}
.calneder-list dd dl dt {
  width: 40%;
  background-color: #fff;
  padding: 0;
  text-align: left;
  font-weight: bold;
  border: none;
  border-bottom: 1px solid #ccc;
  padding: 0 10px;
}
.calneder-list dd dl dt:last-of-type {
  border-bottom: none;
}
.calneder-list dd dl dd {
  padding: 0 10px;
  width: 60%;
  padding: 0x;
  text-align: left;
  border: none;
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.calneder-list dd dl dd:last-of-type {
  border-bottom: none;
}

.newsbox {
  display: flex;
  align-items: baseline;
  padding: 16px 0;
  gap: 10px 5px;
  border-bottom: 1px solid #d0d0d1;
}

.news-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 21px;
  padding: 2px 16px 2px 0px;
  font-weight: 700;
  line-height: 1;
}

.newsbox-inner {
  width: calc(100% - 100px);
  padding-left: 16px;
}

@media screen and (max-width: 1024px) {
  .newsbox {
    flex-flow: row wrap;
    margin-top: 12px;
  }
}
@media screen and (max-width: 1024px) {
  .newsbox-inner {
    width: 100%;
    margin-top: 12px;
    padding-left: 0;
  }
}
.pc-video {
  display: block;
}

.sp-video {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc-video {
    display: none;
  }
  .sp-video {
    display: block;
  }
}
#slide .swiper-pagination {
  bottom: 2px !important;
}

#slide .swiper-button-prev,
#slide .swiper-button-next {
  position: absolute;
  z-index: 20;
  top: 0;
  bottom: 0;
  margin: auto;
  color: #e6332c;
}

#slide .swiper-button-prev {
  right: calc(100% - 1.6rem);
}

#slide > div > div.swiper-button-next {
  left: calc(100% - 65px);
}

@media screen and (max-width: 800px) {
  #slide > div > div.swiper-button-next {
    left: calc(100% - 40px);
  }
}
#slide .swiper-pagination-bullet-active {
  background: #e6332c;
}

.energysave {
  display: none;
}

.tabs {
  width: 80%;
  margin: 10px auto 30px;
  display: block;
}

@media screen and (max-width: 1028px) {
  .tabs {
    width: 100%;
    font-size: 12px;
  }
}
.tab-item {
  display: flex;
  justify-content: center;
}

.tab-menu {
  border-radius: 5px 5px 0 0;
  background-color: #fff;
  padding: 0.5em 1.2em;
  cursor: pointer;
}

.tab-menu2 {
  border-radius: 5px 5px 0 0;
  background-color: #fff;
  padding: 0.5em 1.2em;
  cursor: pointer;
}

.tab-sheet {
  display: none;
}

.tab-menu.active {
  font-weight: bold;
  background: linear-gradient(transparent 97%, #2c2fa7 97%);
  transition: all 0.5s;
}

.tab-menu2.active {
  font-weight: bold;
  background: linear-gradient(transparent 97%, #2c2fa7 97%);
  transition: all 0.5s;
}

.tab-sheet.active {
  display: block;
}

.tabs2 {
  width: 90%;
  margin: 10px auto 10px;
  display: block;
}

@media screen and (max-width: 1213px) {
  .tabs2 {
    font-size: 13px;
  }
}
@media screen and (max-width: 768px) {
  .tabs2 {
    width: 100%;
    font-size: 12px;
    display: none;
  }
}
.tab-item2 {
  display: flex;
  justify-content: center;
}

#tab-tabmenua1 {
  border-radius: 5px 5px 0 0;
  background-color: #fff;
  padding: 0.5em 1.2em;
  cursor: pointer;
}

#tab-tabmenua2 {
  border-radius: 5px 5px 0 0;
  background-color: #fff;
  padding: 0.5em 1.2em;
  cursor: pointer;
}

#tab-tabmenua3 {
  border-radius: 5px 5px 0 0;
  background-color: #fff;
  padding: 0.5em 1.2em;
  cursor: pointer;
}

#tab-tabmenua4 {
  border-radius: 5px 5px 0 0;
  background-color: #fff;
  padding: 0.5em 1.2em;
  cursor: pointer;
}

.highlight {
  font-weight: bold;
  background: linear-gradient(transparent 97%, #2c2fa7 97%);
  transition: all 0.5s;
}

.spmain_img {
  display: none;
}

@media screen and (max-width: 768px) {
  .spmain_img {
    display: block;
  }
}
#nav__company > button,
#nav__service > button {
  padding: 0;
  border: none;
  font: inherit;
  color: inherit;
  background: none;
  touch-action: manipulation;
  cursor: pointer;
  appearance: none;
}
#nav__company > button:active,
#nav__service > button:active {
  outline: 1px solid #000 !important;
}

#nav__company > button .nav-db__toggle,
#nav__service > button .nav-db__toggle {
  --_toggle-angle: 0;
  cursor: pointer;
}

#nav__company > button .nav-db__toggle-text,
#nav__service > button .nav-db__toggle-text {
  display: inline-flex;
  align-items: center;
  height: inherit;
  padding-right: 1em;
  position: relative;
}

@media screen and (max-width: 991.98px) {
  .menu_board ul#menu__list > li > button > span {
    font-size: 1.85rem;
    padding: 1.6rem 2rem !important;
  }
}
span.line_stretch {
  display: block;
  position: relative;
}
span.line_stretch:after {
  content: "";
  width: 0;
  height: 1px;
  background: #ffffff;
  transform-origin: left;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: all 0.3s;
}

span.line_stretch:hover {
  color: #ffffff;
}
@media screen and (min-width: 992px) {
  span.line_stretch:hover:after {
    width: 100%;
  }
}

span.line_stretch.stretch:after {
  width: 100%;
}

#menu__list span.line_stretch:after {
  background: #2c2fa7;
  transition: all 0.5s;
}

@media screen and (min-width: 992px) {
  #nav__service__area[aria-hidden=false] {
    opacity: 1;
    max-height: 400px;
    /* 中身の高さに応じて調整 */
    transform: scaleY(1);
  }
}

@media screen and (min-width: 992px) {
  #nav__company__area[aria-hidden=false] {
    opacity: 1;
    max-height: 400px;
    /* 中身の高さに応じて調整 */
    transform: scaleY(1);
  }
}

a:hover {
  color: #cf2e2e;
}

.news_titlere {
  font-size: 3rem;
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 767.98px) {
  .news_titlere {
    font-size: 2.85rem;
  }
}

.top_midashi_change {
  justify-content: left;
}
@media screen and (max-width: 767.98px) {
  .top_midashi_change {
    justify-content: center;
  }
}

.top_submidashi_change {
  text-align: left;
}
@media screen and (max-width: 767.98px) {
  .top_submidashi_change {
    text-align: center;
  }
}

.toptabnews {
  display: block;
}
@media screen and (max-width: 768px) {
  .toptabnews {
    display: none;
  }
}

.spnews {
  display: none;
}
@media screen and (max-width: 768px) {
  .spnews {
    display: block;
  }
}

html {
  overflow-y: visible !important;
  position: relative;
}

body#sb__top,
body#sb__services,
body#sb__services-shashi,
body#sb__services-arc,
body#sb__services-dig,
body#sb__services-sk,
body#sb__company,
body#sb__inquiry,
body#sb__news {
  overflow-y: visible !important;
  overflow-x: hidden !important;
}

html body video {
  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;
}

.video {
  width: 100%;
}
.video--filter {
  filter: drop-shadow(0px 0px #000);
  outline: none;
  border: none;
}

.btn_fill {
  display: block;
  text-align: center;
  position: relative;
  margin-right: auto;
  margin-left: auto;
  width: 36rem;
  padding: 1.8rem;
  font-size: 110%;
}
@media screen and (max-width: 575.98px) {
  .btn_fill {
    width: 90%;
  }
}

.btn_fill::before {
  content: "";
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 100vmax;
  border: 2px solid #ffffff;
  position: absolute;
  right: 2rem;
  top: 1.8rem;
  transition: 0.5s all;
}

.btn_fill::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
  transform-origin: center;
  position: absolute;
  right: 3rem;
  top: 2.8rem;
  transition: 0.5s all;
}

.btn_fill:hover {
  background: #2c2fa7 !important;
}
.btn_fill:hover::before {
  right: 1.8rem;
}
.btn_fill:hover::after {
  right: 2.8rem;
}

.btn_underlined {
  text-align: left;
  border-bottom: 2px solid #24287d;
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  width: 100%;
  max-width: 36rem;
}
.btn_underlined:hover {
  background: rgba(44, 47, 167, 0.1) !important;
}
@media screen and (max-width: 767.98px) {
  .btn_underlined {
    max-width: none;
  }
}

.btn_underlined::before {
  border: 2px solid #24287d;
}

.btn_underlined::after {
  border-top: 2px solid #24287d;
  border-right: 2px solid #24287d;
}

#sb__top .slide-inner {
  overflow: hidden;
  position: relative;
  width: 100vw;
}
#sb__top .slide-inner img .pchelo_img {
  width: calc(100vw + 40px);
  height: 400px;
  animation: slideMove 7s linear forwards;
}
@media screen and (min-width: 992px) {
  #sb__top .slide-inner img .pchelo_img {
    height: auto;
  }
}
#sb__top .slide-inner img .sphelo_img {
  width: calc(100vw + 40px);
  height: auto;
  animation: slideMove 7s linear forwards;
  aspect-ratio: 4/3;
}
#sb__top .slide-inner video .pc-video {
  width: 100vw;
  object-fit: cover;
  aspect-ratio: 24/5;
}
#sb__top .slide-inner video .sp-video {
  width: 100vw;
  object-fit: cover;
  aspect-ratio: 2/3;
}
@keyframes slideMove {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-40px);
  }
}
#sb__top main .hgroup h2::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 100vmax;
  background: rgba(230, 51, 44, 0.75);
  margin: 0 2rem 0 0;
}
#sb__top main .hgroup small {
  padding-left: 4.5rem;
}
#sb__top #top__services,
#sb__top #top__news,
#sb__top #top__books {
  border-bottom: 1px solid rgba(44, 47, 167, 0.25);
  padding: 30px 0 50px 0;
}
#sb__top #top__news {
  background-size: 20rem;
}
#sb__top #top__news dl dd a:hover {
  text-decoration: underline !important;
}
#sb__top #top__books {
  background: url("../images/common/deco_paper_sdw.webp") no-repeat top left;
  background-size: contain;
}
#sb__top #top__books .books_one figcaption {
  text-align: left;
}
#sb__top #top__books .mySwiper .swiper-button-next,
#sb__top #top__books .mySwiper .swiper-button-prev {
  color: #e6332c;
}
#sb__top #top__sb_sites {
  background-color: #F8F8F8;
}
@media screen and (min-width: 992px) {
  #sb__top #top__sb_sites .sb_sites_title p {
    writing-mode: vertical-rl;
    margin: 0 auto;
  }
  #sb__top #top__sb_sites .sb_sites_content ul {
    clear: both;
  }
  #sb__top #top__sb_sites .sb_sites_content ul li {
    padding: 0;
    float: left;
    padding: 0 2rem 3rem 2rem;
  }
  #sb__top #top__sb_sites .sb_sites_content ul li a {
    text-align: center;
  }
}
#sb__top #top__news ul dl dd {
  padding-left: 2rem;
}
#sb__top #top__news #rayout__grid,
#sb__top #top__books #rayout__grid {
  gap: 0;
}
@media screen and (min-width: 768px) {
  #sb__top #top__news #rayout__grid,
  #sb__top #top__books #rayout__grid {
    grid-template-columns: 30% 70%;
  }
  #sb__top #top__news #rayout__grid #grid__content,
  #sb__top #top__books #rayout__grid #grid__content {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
@media screen and (min-width: 992px) {
  #sb__top #top__news #rayout__grid,
  #sb__top #top__books #rayout__grid {
    grid-template-columns: 25% 75%;
  }
}

#sb__company #sb__company__wrapper main #main__title,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__title,
#sb__company .mainnew_wrapper main #main__title,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__title {
  background: linear-gradient(135deg, rgba(44, 47, 167, 0.75), transparent 30%);
}
#sb__company #sb__company__wrapper main #main__contents a,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents a,
#sb__company .mainnew_wrapper main #main__contents a,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents a {
  color: #2c2fa7;
}
#sb__company #sb__company__wrapper main #main__contents,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents,
#sb__company .mainnew_wrapper main #main__contents,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents {
  padding: 0 1.5rem;
}
@media screen and (min-width: 576px) {
  #sb__company #sb__company__wrapper main #main__contents,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents,
  #sb__company .mainnew_wrapper main #main__contents,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents {
    padding: 0 3rem;
  }
}
@media screen and (min-width: 992px) {
  #sb__company #sb__company__wrapper main #main__contents,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents,
  #sb__company .mainnew_wrapper main #main__contents,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents {
    padding: 0 3svw;
  }
}
@media screen and (min-width: 1400px) {
  #sb__company #sb__company__wrapper main #main__contents,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents,
  #sb__company .mainnew_wrapper main #main__contents,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents {
    padding: 0 6rem;
  }
  #sb__company #sb__company__wrapper main #main__contents .block_indent,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .block_indent,
  #sb__company .mainnew_wrapper main #main__contents .block_indent,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .block_indent {
    margin-left: 6rem;
  }
}
#sb__company #sb__company__wrapper main #main__contents table,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents table,
#sb__company .mainnew_wrapper main #main__contents table,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents table {
  width: stretch;
  border: 1px solid rgba(44, 47, 167, 0.25);
}
#sb__company #sb__company__wrapper main #main__contents table tr,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents table tr,
#sb__company .mainnew_wrapper main #main__contents table tr,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents table tr {
  border-bottom: 1px solid rgba(44, 47, 167, 0.25);
}
#sb__company #sb__company__wrapper main #main__contents table td,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents table td,
#sb__company .mainnew_wrapper main #main__contents table td,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents table td {
  border-left: 1px solid rgba(44, 47, 167, 0.25);
  border-right: 1px solid rgba(44, 47, 167, 0.25);
}
#sb__company #sb__company__wrapper main #main__contents table th,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents table th,
#sb__company .mainnew_wrapper main #main__contents table th,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents table th {
  padding: 1.6rem 2rem;
  white-space: nowrap;
}
#sb__company #sb__company__wrapper main #main__contents table td,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents table td,
#sb__company .mainnew_wrapper main #main__contents table td,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents table td {
  padding: 1.6rem 2rem;
}
@media screen and (max-width: 575.98px) {
  #sb__company #sb__company__wrapper main #main__contents table tr th,
  #sb__company #sb__company__wrapper main #main__contents table tr td,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents table tr th,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents table tr td,
  #sb__company .mainnew_wrapper main #main__contents table tr th,
  #sb__company .mainnew_wrapper main #main__contents table tr td,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents table tr th,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents table tr td {
    padding: 0.8rem 1rem;
  }
}
#sb__company #sb__company__wrapper main #main__contents table.table_colored,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents table.table_colored,
#sb__company .mainnew_wrapper main #main__contents table.table_colored,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents table.table_colored {
  border-right: none;
  border-left: none;
}
#sb__company #sb__company__wrapper main #main__contents table.table_colored tr th,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents table.table_colored tr th,
#sb__company .mainnew_wrapper main #main__contents table.table_colored tr th,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents table.table_colored tr th {
  text-align: center;
  background: rgba(44, 47, 167, 0.1);
}
#sb__company #sb__company__wrapper main #main__contents .link_cards a,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_cards a,
#sb__company .mainnew_wrapper main #main__contents .link_cards a,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_cards a {
  height: 20rem;
}
@media screen and (max-width: 767.98px) {
  #sb__company #sb__company__wrapper main #main__contents .link_cards a,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_cards a,
  #sb__company .mainnew_wrapper main #main__contents .link_cards a,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_cards a {
    height: 8rem;
  }
}
#sb__company #sb__company__wrapper main #main__contents .link_cards a,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_cards a,
#sb__company .mainnew_wrapper main #main__contents .link_cards a,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_cards a {
  border: 1px solid rgba(44, 47, 167, 0.5);
  margin: 0 0.5rem;
}
@media screen and (max-width: 767.98px) {
  #sb__company #sb__company__wrapper main #main__contents .link_cards a,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_cards a,
  #sb__company .mainnew_wrapper main #main__contents .link_cards a,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_cards a {
    margin: 0 0.3rem;
  }
}
#sb__company #sb__company__wrapper main #main__contents .link_cards a,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_cards a,
#sb__company .mainnew_wrapper main #main__contents .link_cards a,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_cards a {
  border-radius: 0.8rem;
  padding: 2rem;
  text-align: center;
  color: #2c2fa7;
}
#sb__company #sb__company__wrapper main #main__contents .link_cards a:hover,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_cards a:hover,
#sb__company .mainnew_wrapper main #main__contents .link_cards a:hover,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_cards a:hover {
  background: rgba(44, 47, 167, 0.1);
}
#sb__company #sb__company__wrapper main #main__contents .link_menu a.ico_arrow,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow,
#sb__company .mainnew_wrapper main #main__contents .link_menu a.ico_arrow,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow {
  border-top: 1px solid rgba(44, 47, 167, 0.25);
  margin: 0 1rem;
  padding: 3rem 6rem 3rem 0.5rem;
}
@media screen and (max-width: 767.98px) {
  #sb__company #sb__company__wrapper main #main__contents .link_menu a.ico_arrow,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow,
  #sb__company .mainnew_wrapper main #main__contents .link_menu a.ico_arrow,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow {
    padding: 2.5rem 4rem 2.5rem 0.5rem;
  }
}
#sb__company #sb__company__wrapper main #main__contents .link_menu a.ico_arrow,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow,
#sb__company .mainnew_wrapper main #main__contents .link_menu a.ico_arrow,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow {
  position: relative;
  display: block;
  transition: all 0.5s;
}
#sb__company #sb__company__wrapper main #main__contents .link_menu a.ico_arrow::after,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow::after,
#sb__company .mainnew_wrapper main #main__contents .link_menu a.ico_arrow::after,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-top: 2px solid #2c2fa7;
  border-right: 2px solid #2c2fa7;
  transform: rotate(45deg);
  transform-origin: center;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: rotate(45deg) translateY(-80%);
  transition: all 0.5s;
}
#sb__company #sb__company__wrapper main #main__contents .link_menu a.ico_arrow:hover,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow:hover,
#sb__company .mainnew_wrapper main #main__contents .link_menu a.ico_arrow:hover,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow:hover {
  background: rgba(44, 47, 167, 0.1);
}
#sb__company #sb__company__wrapper main #main__contents .link_menu a.ico_arrow:hover::after,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow:hover::after,
#sb__company .mainnew_wrapper main #main__contents .link_menu a.ico_arrow:hover::after,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .link_menu a.ico_arrow:hover::after {
  right: 1rem;
}
#sb__company #sb__company__wrapper main #main__contents ol,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents ol,
#sb__company .mainnew_wrapper main #main__contents ol,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents ol {
  list-style-type: decimal;
}
#sb__company #sb__company__wrapper main #main__contents .h_2,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_2,
#sb__company .mainnew_wrapper main #main__contents .h_2,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_2 {
  border-bottom: 1px solid rgba(44, 47, 167, 0.25);
  margin-bottom: 6rem;
}
@media screen and (max-width: 767.98px) {
  #sb__company #sb__company__wrapper main #main__contents .h_2,
  #sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_2,
  #sb__company .mainnew_wrapper main #main__contents .h_2,
  #sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_2 {
    margin-bottom: 4rem;
  }
}
#sb__company #sb__company__wrapper main #main__contents .h_3,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_3,
#sb__company .mainnew_wrapper main #main__contents .h_3,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_3 {
  border-bottom: 1px solid rgba(44, 47, 167, 0.25);
  padding: 1rem 0;
  margin-bottom: 1rem;
}
#sb__company #sb__company__wrapper main #main__contents .h_4,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_4,
#sb__company .mainnew_wrapper main #main__contents .h_4,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_4 {
  padding: 1rem 0;
  color: #2c2fa7;
}
#sb__company #sb__company__wrapper main #main__contents .h_5,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_5,
#sb__company .mainnew_wrapper main #main__contents .h_5,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_5 {
  padding: 1rem 0;
}
#sb__company #sb__company__wrapper main #main__contents .h_6,
#sb__company #sb__company__wrapper .mainnew_wrapper2 #main__contents .h_6,
#sb__company .mainnew_wrapper main #main__contents .h_6,
#sb__company .mainnew_wrapper .mainnew_wrapper2 #main__contents .h_6 {
  padding: 1rem 0;
}
@media screen and (max-width: 575.98px) {
  #sb__company #sb__company__wrapper .scroll_x_wrapper,
  #sb__company .mainnew_wrapper .scroll_x_wrapper {
    border: 1px solid rgba(44, 47, 167, 0.5);
    overflow-x: scroll;
  }
}

.company_index table th {
  width: 20rem;
}
@media screen and (max-width: 767.98px) {
  .company_index table th {
    width: 8rem;
  }
}

.company_award table.table_award td {
  text-align: center;
}
.company_award table td:last-child {
  text-align: justify;
}

.company_outline .main_table > tbody > tr > th {
  width: 10rem;
}
@media screen and (min-width: 576px) {
  .company_outline .main_table > tbody > tr > th {
    width: 18rem;
  }
}
.company_outline .main_table > tbody > tr > th {
  text-align: left !important;
  font-weight: normal !important;
}
.company_outline .main_table > tbody > tr > td > table th,
.company_outline .main_table > tbody > tr > td > table td {
  padding: 0.6rem 2rem !important;
}
.company_philosophy table {
  width: 100% !important;
}
@media screen and (min-width: 1400px) {
  .company_philosophy table {
    width: calc(100% - 6rem) !important;
  }
}
.company_philosophy table th {
  width: 6rem;
}
.company_risk table thead th {
  border-right: 1px solid rgba(44, 47, 167, 0.25);
}
.company_risk table thead th:last-child {
  border-right: none;
}
.company_risk table tbody th {
  text-align: left !important;
}
.company_risk table tbody td {
  white-space: nowrap;
}

.company_access iframe {
  height: 400px;
}
@media screen and (max-width: 767.98px) {
  .company_access iframe {
    height: 300px;
  }
}
@media screen and (max-width: 575.98px) {
  .company_access iframe {
    height: 200px;
  }
}

.company_message main img {
  max-width: 70%;
}
@media screen and (min-width: 576px) {
  .company_message main img {
    max-width: 300px;
  }
}

#sb__services #sb__services__wrapper main #main__contents,
#sb__services #sb__services__wrapper .mainnew_wrapper2 #main__contents,
#sb__services .mainnew_wrapper main #main__contents,
#sb__services .mainnew_wrapper .mainnew_wrapper2 #main__contents {
  padding: 0 3rem;
}
@media screen and (min-width: 992px) {
  #sb__services #sb__services__wrapper main #main__contents,
  #sb__services #sb__services__wrapper .mainnew_wrapper2 #main__contents,
  #sb__services .mainnew_wrapper main #main__contents,
  #sb__services .mainnew_wrapper .mainnew_wrapper2 #main__contents {
    padding: 0 3svw;
  }
}
@media screen and (min-width: 1400px) {
  #sb__services #sb__services__wrapper main #main__contents,
  #sb__services #sb__services__wrapper .mainnew_wrapper2 #main__contents,
  #sb__services .mainnew_wrapper main #main__contents,
  #sb__services .mainnew_wrapper .mainnew_wrapper2 #main__contents {
    padding: 0 6rem;
  }
  #sb__services #sb__services__wrapper main #main__contents .block_indent,
  #sb__services #sb__services__wrapper .mainnew_wrapper2 #main__contents .block_indent,
  #sb__services .mainnew_wrapper main #main__contents .block_indent,
  #sb__services .mainnew_wrapper .mainnew_wrapper2 #main__contents .block_indent {
    padding-left: 6rem;
  }
}
.cl_shashi_base, #sb__services.services_shashi .h_6, #sb__services.services_shashi .h_5, #sb__services.services_shashi .h_4, #sb__services.services_shashi .h_2 {
  color: #6fba2c !important;
}

.bgcl_shashi_base, #sb__services.services_shashi .h_4::before, #sb__services.services_shashi .btn_fill::before {
  background-color: #6fba2c !important;
}

.cl_shashi_l75 {
  color: rgba(111, 186, 44, 0.75) !important;
}

.bgcl_shashi_l75, #sb__services.services_shashi .btn_fill:hover {
  background-color: rgba(111, 186, 44, 0.75) !important;
}

.cl_shashi_l50 {
  color: rgba(111, 186, 44, 0.5) !important;
}

.bgcl_shashi_l50 {
  background-color: rgba(111, 186, 44, 0.5) !important;
}

.cl_shashi_l25 {
  color: rgba(111, 186, 44, 0.25) !important;
}

.bgcl_shashi_l25, #sb__services.services_shashi .btn_fill {
  background-color: rgba(111, 186, 44, 0.25) !important;
}

.cl_shashi_l10 {
  color: rgba(111, 186, 44, 0.1) !important;
}

.bgcl_shashi_l10 {
  background-color: rgba(111, 186, 44, 0.1) !important;
}

.cl_arc_base, #sb__services.services_arc .h_6, #sb__services.services_arc .h_5, #sb__services.services_arc .h_4, #sb__services.services_arc .h_2 {
  color: #b1a73d !important;
}

.bgcl_arc_base, #sb__services.services_arc .h_4::before, #sb__services.services_arc .btn_fill::before {
  background-color: #b1a73d !important;
}

.cl_arc_l75 {
  color: rgba(177, 167, 61, 0.75) !important;
}

.bgcl_arc_l75, #sb__services.services_arc .btn_fill:hover {
  background-color: rgba(177, 167, 61, 0.75) !important;
}

.cl_arc_l50 {
  color: rgba(177, 167, 61, 0.5) !important;
}

.bgcl_arc_l50 {
  background-color: rgba(177, 167, 61, 0.5) !important;
}

.cl_arc_l25 {
  color: rgba(177, 167, 61, 0.25) !important;
}

.bgcl_arc_l25, #sb__services.services_arc .btn_fill {
  background-color: rgba(177, 167, 61, 0.25) !important;
}

.cl_arc_l10 {
  color: rgba(177, 167, 61, 0.1) !important;
}

.bgcl_arc_l10 {
  background-color: rgba(177, 167, 61, 0.1) !important;
}

.cl_digi_base, #sb__services.services_digi .h_6, #sb__services.services_digi .h_5, #sb__services.services_digi .h_4, #sb__services.services_digi .h_2 {
  color: #6aa7c8 !important;
}

.bgcl_digi_base, #sb__services.services_digi .h_4::before, #sb__services.services_digi .btn_fill::before {
  background-color: #6aa7c8 !important;
}

.cl_digi_l75 {
  color: rgba(106, 167, 200, 0.75) !important;
}

.bgcl_digi_l75, #sb__services.services_digi .btn_fill:hover {
  background-color: rgba(106, 167, 200, 0.75) !important;
}

.cl_digi_l50 {
  color: rgba(106, 167, 200, 0.5) !important;
}

.bgcl_digi_l50 {
  background-color: rgba(106, 167, 200, 0.5) !important;
}

.cl_digi_l25 {
  color: rgba(106, 167, 200, 0.25) !important;
}

.bgcl_digi_l25, #sb__services.services_digi .btn_fill {
  background-color: rgba(106, 167, 200, 0.25) !important;
}

.cl_digi_l10 {
  color: rgba(106, 167, 200, 0.1) !important;
}

.bgcl_digi_l10 {
  background-color: rgba(106, 167, 200, 0.1) !important;
}

.cl_sk_base, #sb__services.services_sk .h_6, #sb__services.services_sk .h_5, #sb__services.services_sk .h_4, #sb__services.services_sk .h_2 {
  color: #ed6d46 !important;
}

.bgcl_sk_base, #sb__services.services_sk .h_4::before, #sb__services.services_sk .btn_fill::before {
  background-color: #ed6d46 !important;
}

.cl_sk_l75 {
  color: rgba(237, 109, 70, 0.75) !important;
}

.bgcl_sk_l75, #sb__services.services_sk .btn_fill:hover {
  background-color: rgba(237, 109, 70, 0.75) !important;
}

.cl_sk_l50 {
  color: rgba(237, 109, 70, 0.5) !important;
}

.bgcl_sk_l50 {
  background-color: rgba(237, 109, 70, 0.5) !important;
}

.cl_sk_l25 {
  color: rgba(237, 109, 70, 0.25) !important;
}

.bgcl_sk_l25, #sb__services.services_sk .btn_fill {
  background-color: rgba(237, 109, 70, 0.25) !important;
}

.cl_sk_l10 {
  color: rgba(237, 109, 70, 0.1) !important;
}

.bgcl_sk_l10 {
  background-color: rgba(237, 109, 70, 0.1) !important;
}

#sb__services.services_shashi #main__title {
  background: linear-gradient(135deg, rgba(111, 186, 44, 0.5), transparent 30%);
  border-bottom: 1px solid rgba(111, 186, 44, 0.5) !important;
}
@media screen and (min-width: 1400px) {
  #sb__services.services_shashi #main__title {
    border: 1px solid rgba(111, 186, 44, 0.5) !important;
  }
}
#sb__services.services_shashi .btn_fill {
  border: 1px solid #6fba2c;
}
#sb__services.services_shashi .btn_fill::before {
  border: 2px solid #6fba2c;
}
#sb__services.services_shashi .btn_fill:hover {
  color: #ffffff !important;
}
#sb__services.services_shashi .h_2 {
  margin-bottom: 1rem;
}
#sb__services.services_shashi .h_3 {
  padding: 1rem 0;
  margin-bottom: 1rem;
}
#sb__services.services_shashi .h_4 {
  padding: 0;
  display: flex;
  align-items: center;
  position: relative;
}
#sb__services.services_shashi .h_4::before {
  margin-right: 2rem;
}
@media screen and (max-width: 767.98px) {
  #sb__services.services_shashi .h_4::before {
    margin-right: 1rem;
  }
}
#sb__services.services_shashi .h_4::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 3rem;
}
#sb__services.services_shashi .h_5 {
  padding: 1rem 0;
}
#sb__services.services_shashi .h_5::before {
  content: "／";
  display: inline-block;
  height: 100%;
  margin-right: 1rem;
}
#sb__services.services_shashi .h_6 {
  padding: 1rem 0;
}

#sb__services.services_arc #main__title {
  background: linear-gradient(135deg, rgba(177, 167, 61, 0.5), transparent 30%);
  border-bottom: 1px solid rgba(177, 167, 61, 0.5) !important;
}
@media screen and (min-width: 1400px) {
  #sb__services.services_arc #main__title {
    border: 1px solid rgba(177, 167, 61, 0.5) !important;
  }
}
#sb__services.services_arc .btn_fill {
  border: 1px solid #b1a73d;
}
#sb__services.services_arc .btn_fill::before {
  border: 2px solid #b1a73d;
}
#sb__services.services_arc .btn_fill:hover {
  color: #ffffff !important;
}
#sb__services.services_arc .h_2 {
  margin-bottom: 1rem;
}
#sb__services.services_arc .h_3 {
  padding: 1rem 0;
  margin-bottom: 1rem;
}
#sb__services.services_arc .h_4 {
  padding: 0;
  display: flex;
  align-items: center;
  position: relative;
}
#sb__services.services_arc .h_4::before {
  margin-right: 2rem;
}
@media screen and (max-width: 767.98px) {
  #sb__services.services_arc .h_4::before {
    margin-right: 1rem;
  }
}
#sb__services.services_arc .h_4::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 3rem;
}
#sb__services.services_arc .h_5 {
  padding: 1rem 0;
}
#sb__services.services_arc .h_5::before {
  content: "／";
  display: inline-block;
  height: 100%;
  margin-right: 1rem;
}
#sb__services.services_arc .h_6 {
  padding: 1rem 0;
}

#sb__services.services_digi #main__title {
  background: linear-gradient(135deg, rgba(106, 167, 200, 0.5), transparent 30%);
  border-bottom: 1px solid rgba(106, 167, 200, 0.5) !important;
}
@media screen and (min-width: 1400px) {
  #sb__services.services_digi #main__title {
    border: 1px solid rgba(106, 167, 200, 0.5) !important;
  }
}
#sb__services.services_digi .btn_fill {
  border: 1px solid #6aa7c8;
}
#sb__services.services_digi .btn_fill::before {
  border: 2px solid #6aa7c8;
}
#sb__services.services_digi .btn_fill:hover {
  color: #ffffff !important;
}
#sb__services.services_digi .h_2 {
  margin-bottom: 1rem;
}
#sb__services.services_digi .h_3 {
  padding: 1rem 0;
  margin-bottom: 1rem;
}
#sb__services.services_digi .h_4 {
  padding: 0;
  display: flex;
  align-items: center;
  position: relative;
}
#sb__services.services_digi .h_4::before {
  margin-right: 2rem;
}
@media screen and (max-width: 767.98px) {
  #sb__services.services_digi .h_4::before {
    margin-right: 1rem;
  }
}
#sb__services.services_digi .h_4::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 3rem;
}
#sb__services.services_digi .h_5 {
  padding: 1rem 0;
}
#sb__services.services_digi .h_5::before {
  content: "／";
  display: inline-block;
  height: 100%;
  margin-right: 1rem;
}
#sb__services.services_digi .h_6 {
  padding: 1rem 0;
}

#sb__services.services_sk #main__title {
  background: linear-gradient(135deg, rgba(237, 109, 70, 0.5), transparent 30%);
  border-bottom: 1px solid rgba(237, 109, 70, 0.5) !important;
}
@media screen and (min-width: 1400px) {
  #sb__services.services_sk #main__title {
    border: 1px solid rgba(237, 109, 70, 0.5) !important;
  }
}
#sb__services.services_sk .btn_fill {
  border: 1px solid #ed6d46;
}
#sb__services.services_sk .btn_fill::before {
  border: 2px solid #ed6d46;
}
#sb__services.services_sk .btn_fill:hover {
  color: #ffffff !important;
}
#sb__services.services_sk .h_2 {
  margin-bottom: 1rem;
}
#sb__services.services_sk .h_3 {
  padding: 1rem 0;
  margin-bottom: 1rem;
}
#sb__services.services_sk .h_4 {
  padding: 0;
  display: flex;
  align-items: center;
  position: relative;
}
#sb__services.services_sk .h_4::before {
  margin-right: 2rem;
}
@media screen and (max-width: 767.98px) {
  #sb__services.services_sk .h_4::before {
    margin-right: 1rem;
  }
}
#sb__services.services_sk .h_4::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 3rem;
}
#sb__services.services_sk .h_5 {
  padding: 1rem 0;
}
#sb__services.services_sk .h_5::before {
  content: "／";
  display: inline-block;
  height: 100%;
  margin-right: 1rem;
}
#sb__services.services_sk .h_6 {
  padding: 1rem 0;
}

#news_pagenation_top {
  padding-top: 20px;
}

.news_pagenation ul li {
  width: 4rem;
  height: 4rem;
  margin: 10px;
}
@media screen and (max-width: 767.98px) {
  .news_pagenation ul li {
    margin: 5px;
  }
}
.news_pagenation ul li {
  border: 1px solid #2c2fa7;
}
.news_pagenation ul li a,
.news_pagenation ul li span {
  padding: 10px;
  width: 100%;
  height: 100%;
}
@media (any-hover: hover) {
  .news_pagenation ul li a:hover,
  .news_pagenation ul li span:hover {
    background: #2c2fa7;
    color: #ffffff !important;
  }
}
.news_pagenation ul li span.current[aria-current=page] {
  background: #2c2fa7 !important;
  color: #fff;
  font-weight: bold;
  /* 現在地をより強調 */
  /* 丸くしたり余白を作ったりする場合の補助設定 */
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.news_pagenation ul li {
  /* スマホなどタッチデバイス向け */
}
@media (hover: none) {
  .news_pagenation ul li a,
  .news_pagenation ul li span {
    -webkit-tap-highlight-color: transparent;
    /* タップ時の青いハイライトを消す */
  }
  .news_pagenation ul li a:active,
  .news_pagenation ul li span:active {
    background: #2c2fa7 !important;
    color: #fff;
    /* タップしている間だけスタイル適用 */
  }
}
.news_pagenation .nav-links {
  margin-left: auto;
  margin-right: auto;
}
.news_pagenation .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center !important;
  gap: 2px;
}

article#news__all .link_menu a.ico_arrow {
  padding-left: 1.5rem !important;
}
article#news__all dt {
  font-weight: normal;
  margin-bottom: 1rem;
}
.news_detail {
  /*#news_pagenation {
    ul li {
      position: relative;
      border-top: 1px solid $cl_cp;
      border-bottom: 1px solid $cl_cp;

      //padding: 1.8rem 0;
      // &.prev a {
      //   border-left: 1px solid $cl_cp;
      // }
      &.prev a::after {
        content: "";
        width: 1rem;
        height: 1rem;
        border-top: 2px solid $cl_cp;
        border-right: 2px solid $cl_cp;
        transform-origin: center;
        position: absolute;
        right: 2rem;
        top: 50%;
        transform: rotate(45deg) translateY(-80%);
        transition: all 0.5s;
      }

      &.next a::before {
        content: "";
        width: 1rem;
        height: 1rem;
        border-bottom: 2px solid $cl_cp;
        border-left: 2px solid $cl_cp;
        transform-origin: center;
        position: absolute;
        left: 1rem;
        top: 50%;
        transform: rotate(45deg) translateY(-80%);
        transition: all 0.5s;
      }

      a {
        @extend .head_ss;
        margin: 1rem 0;
        display: inline-block;

        &:hover {
          background: $cl_cp_l10;

          &::after {
            right: 1rem;
          }

          &::before {
            left: 0;
          }
        }

        padding: 1rem 10rem;

        @include max(sm) {
          padding: 1rem 5rem;
        }
      }

      @include max(md) {
        &.prev a {
          padding: 1rem 3rem 1rem 2rem;
        }

        &.next a {
          padding: 1rem 2rem 1rem 3rem;
        }
      }

      &.divider {
        width: 1px;
        height: 3rem;
        background: $cl_cp;
      }
    }
  }*/
}

.company_inquiry .inquiry_submit {
  border: none;
}
.company_inquiry .otoiawase {
  max-width: 900px;
  box-sizing: border-box;
  padding: 10px 0;
}
@media screen and (max-width: 575.98px) {
  .company_inquiry .otoiawase {
    width: 100%;
  }
}
.company_inquiry .form-list {
  display: flex;
  flex-wrap: wrap;
}
.company_inquiry .form-list dt {
  width: 30%;
  text-align: left;
  background-color: rgba(44, 47, 167, 0.1);
  padding: 20px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
@media screen and (max-width: 575.98px) {
  .company_inquiry .form-list dt {
    border-right: 1px solid #ccc;
    width: 100%;
    padding: 10px;
  }
}
.company_inquiry .form-list dt:last-of-type {
  border-bottom: 1px solid #ccc;
}
.company_inquiry .form-list dd {
  width: 70%;
  text-align: left;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  padding: 20px;
}
@media screen and (max-width: 575.98px) {
  .company_inquiry .form-list dd {
    border-left: 1px solid #ccc;
    width: 100%;
    padding: 10px;
  }
}
.company_inquiry .form-list dd:last-of-type {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 575.98px) {
  .company_inquiry .form-list dd:last-of-type {
    border-top: none;
  }
}
.company_inquiry .form-list dd li {
  list-style: none;
}
.company_inquiry .form-list input[type=text],
.company_inquiry .form-list input[type=email],
.company_inquiry .form-list input[type=tel] {
  width: 100%;
  cursor: pointer;
}
.company_inquiry .form-list input[name=your_zip],
.company_inquiry .form-list input[name=your_tel] {
  width: 50%;
}
.company_inquiry .form-list input[type=text]:focus,
.company_inquiry .form-list input[type=tel]:focus,
.company_inquiry .form-list textarea:focus,
.company_inquiry .form-list select:focus,
.company_inquiry .form-list input[type=checkbox]:focus,
.company_inquiry .form-list input[type=email]:focus {
  background-color: #ffeeee;
}
.company_inquiry .form-list .submit {
  text-align: center;
  padding: 20px 0;
}
.company_inquiry dl {
  display: table-row;
}
.company_inquiry textarea {
  width: 100%;
  -webkit-appearance: none;
  border: 2px #ddd solid;
  font-size: 16px;
}
@media screen and (max-width: 575.98px) {
  .company_inquiry input {
    width: 100%;
    border: 2px #ddd solid;
    font-size: 16px;
  }
  .company_inquiry select {
    width: 100%;
  }
}

.inquiry_wrapper {
  position: relative;
  width: 100%;
}

.inquiry_wrapper::after {
  content: "";
  position: absolute;
  top: 32px;
}
@media screen and (max-width: 768px) {
  .inquiry_wrapper::after {
    top: 33px;
    display: block;
  }
}
.inquiry_wrapper::after {
  right: 16px;
  width: 12px;
  height: 12px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
  pointer-events: none;
}

#main__contents ol.count-li > li {
  counter-increment: count-li;
  position: relative;
  padding-left: 3rem;
  list-style-type: none;
}

#main__contents ol.count-li > li:before {
  content: "(" counter(count-li) ")";
  position: absolute;
  top: 0;
  left: 0;
}

#main__contents > article > nav > ul.enkaku_menu {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

#main__contents > article > nav > ul.enkaku_menu li {
  width: 140px;
}

#main__contents > article > nav > ul.enkaku_menu li a.icon_yajirushi {
  margin: 0 1rem;
  padding: 5px 3rem 5px 0.5rem;
  position: relative;
  display: block;
  transition: all 0.5s;
  padding-left: 1.5rem !important;
}

#main__contents > article > nav > ul.enkaku_menu li a.icon_yajirushi::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-top: 2px solid #2c2fa7;
  border-right: 2px solid #2c2fa7;
  transform: rotate(135deg);
  transform-origin: center;
  position: absolute;
  right: 2rem;
  top: 25%;
  transform: rotate(135deg) translateY(-80%);
  transition: all 0.5s;
}

#main__contents > article > nav > ul.access_menu {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

#main__contents > article > nav > ul.access_menu li {
  width: 160px;
}

#main__contents > article > nav > ul.access_menu li a.icon_yajirushi {
  margin: 0 1rem;
  padding: 5px 3rem 5px 0.5rem;
  position: relative;
  display: block;
  transition: all 0.5s;
  padding-left: 1.5rem !important;
}

#main__contents > article > nav > ul.access_menu li a.icon_yajirushi::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-top: 2px solid #2c2fa7;
  border-right: 2px solid #2c2fa7;
  transform: rotate(135deg);
  transform-origin: center;
  position: absolute;
  right: 2rem;
  top: 25%;
  transform: rotate(135deg) translateY(-80%);
  transition: all 0.5s;
}

.rewrap {
  width: 100%;
  padding: 30px;
  margin: 0 auto 30px auto;
}
@media screen and (min-width: 992px) {
  .rewrap {
    width: 80%;
  }
}

select {
  -webkit-appearance: none;
  appearance: none;
  background: #ffffff;
  color: #000000;
}

.select_wrapper {
  position: relative;
  width: 200px;
}
@media screen and (max-width: 768px) {
  .select_wrapper {
    width: 100%;
  }
}

.select_wrapper::after {
  content: "";
  position: absolute;
  top: 33px;
}
@media screen and (max-width: 768px) {
  .select_wrapper::after {
    top: 58px;
  }
}
.select_wrapper::after {
  right: 16px;
  width: 12px;
  height: 12px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
  pointer-events: none;
}

.selectlink {
  margin: 10px 10px 30px;
  padding: 15px 15px 15px 30px;
  border: 2px #ddd solid;
  border-radius: 3px;
  background-color: #fff;
  cursor: pointer;
  width: 100%;
}

.selectlink:hover {
  border: 2px #333 solid;
  background-color: #eee;
}

@media screen and (max-width: 768px) {
  .selectlink {
    width: 100%;
    margin: 10px auto 30px;
    padding: 15px;
  }
}
.category_wrapper {
  position: relative;
}
@media screen and (max-width: 768px) {
  .category_wrapper {
    width: 100%;
  }
}

.category_wrapper::after {
  content: "";
  position: absolute;
  top: 33px;
  display: none;
}
@media screen and (max-width: 768px) {
  .category_wrapper::after {
    top: 58px;
    display: block;
  }
}
.category_wrapper::after {
  right: 16px;
  width: 12px;
  height: 12px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
  pointer-events: none;
}

.selectlink2 {
  margin: 10px 0px 10px;
  padding: 15px;
  border: 2px #ddd solid;
  border-radius: 3px;
  background-color: #fff;
  cursor: pointer;
}

.selectlink2:hover {
  border: 2px #333 solid;
  background-color: #eee;
}

@media screen and (max-width: 768px) {
  .selectlink2 {
    width: 100%;
    margin: 10px auto 10px;
    padding: 15px;
  }
}
.your_subject {
  margin: 10px 0px 10px;
  padding: 15px;
  border: 2px #ddd solid;
  border-radius: 3px;
  background-color: #fff;
  cursor: pointer;
  width: 100%;
}

.your_subject:hover {
  border: 2px #333 solid;
  background-color: #eee;
}

@media screen and (max-width: 768px) {
  .your_subject {
    width: 100%;
    margin: 10px auto 10px;
    padding: 15px;
  }
}
form[name=category_form] {
  display: none;
}
@media screen and (max-width: 768px) {
  form[name=category_form] {
    display: block;
  }
}

form.formyear > label {
  display: none;
}
@media screen and (max-width: 768px) {
  form.formyear > label {
    display: block;
  }
}

body#sb__service #top__services a h3.head_l, body#sb__service #top__services a #sb__services.services_shashi h3.h_2, #sb__services.services_shashi body#sb__service #top__services a h3.h_2, body#sb__service #top__services a #sb__services.services_arc h3.h_2, #sb__services.services_arc body#sb__service #top__services a h3.h_2, body#sb__service #top__services a #sb__services.services_digi h3.h_2, #sb__services.services_digi body#sb__service #top__services a h3.h_2, body#sb__service #top__services a #sb__services.services_sk h3.h_2, #sb__services.services_sk body#sb__service #top__services a h3.h_2 {
  font-size: 2rem !important;
}

.sideNav-head {
  display: block;
  padding: 5px 5px 10px 0px;
  border-bottom: 2px solid #2c2fa7;
  background-color: #fff;
  font-weight: bold;
  width: 90%;
  margin-bottom: 10px;
}
.sideNav-head h2 {
  font-size: 2rem;
}

.js-content {
  font-size: 1.4rem;
  padding: 10px 0;
  margin: 0;
}
.js-content ul {
  width: 90%;
}
.js-content ul li {
  width: strech;
  padding: 2px 10px;
}
.js-content ul :hover {
  background: rgba(44, 47, 167, 0.1);
  color: #cf2e2e;
}

.side_active {
  background-color: #2c2fa7;
  color: #fff;
}

/* 事業紹介のインデント */
.service_s_indent {
  padding-left: 35px;
}
@media screen and (max-width: 767.98px) {
  .service_s_indent {
    padding-left: 10px;
  }
}

/* アニメボタン　トップページの事業紹介ボタン */
.anime_button {
  background-color: #fff;
  cursor: pointer;
  max-width: 540px;
  overflow: hidden;
  width: 100%;
  max-height: 210px;
}
@media screen and (max-width: 767.98px) {
  .anime_button {
    max-height: 192px;
  }
}

.anime_button img {
  height: auto;
  transition: transform 0.9s ease;
  /* ゆっくり変化させる */
  width: 100%;
}

.anime_button:hover img {
  transform: scale(0.9);
  /* 縮小 */
  opacity: 0.7;
}

/* アニメボタン 事業紹介、企業情報2 */
.anime_button2 {
  background-color: #fff;
  cursor: pointer;
  max-width: 540px;
  overflow: hidden;
  width: 100%;
  max-height: 250px;
}

.anime_button2 img {
  height: auto;
  transition: transform 0.9s ease;
  /* ゆっくり変化させる */
  width: 100%;
}

.anime_button2:hover img {
  transform: scale(0.9);
  /* 縮小 */
  opacity: 0.7;
}

/* アニメボタン 新刊案内 */
.anime_button3 {
  background-color: #fff;
  cursor: pointer;
  max-width: 222px;
  overflow: hidden;
  width: 100%;
  max-height: 317px;
}

.anime_button3 img {
  height: auto;
  transition: transform 0.9s ease;
  /* ゆっくり変化させる */
  width: 100%;
}

.anime_button3:hover img {
  transform: scale(0.9);
  /* 縮小 */
  opacity: 0.7;
}

.swiper .swiper-slide {
  height: auto;
}

.swiper .swiper-slide-item {
  height: 100%;
}

.wpcf7-form textarea {
  -webkit-appearance: none;
  appearance: none;
  line-height: 1.5;
  /* 行間を適切に設定 */
  appearance: none;
  /* フォントサイズが16px未満だとiOSが自動ズームし、クリックがズレるため16px以上を推奨 */
  font-size: 16px !important;
  /* フォントサイズを16px以上に */
  border: 1px solid #ccc;
  /* 枠線が見えない場合の対策 */
  border-radius: 4px;
  /* iOSらしい見た目に */
  padding: 10px;
  /* タップしやすくする */
  cursor: pointer;
}
@media screen and (max-width: 767.98px) {
  .wpcf7-form textarea {
    max-height: 180px;
  }
}

/* iOSでのダブルタップ問題を軽減するCSS */
.wpcf7-form input[type=text],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=email] {
  -webkit-appearance: none;
  appearance: none;
  /* フォントサイズが16px未満だとiOSが自動ズームし、クリックがズレるため16px以上を推奨 */
  font-size: 16px;
  border: 1px solid #ccc;
  /* 枠線が見えない場合の対策 */
  border-radius: 4px;
  /* iOSらしい見た目に */
  padding: 10px;
  /* タップしやすくする */
}

#sb__services.services_arc .h_4::before {
  background-color: #b1a73d !important;
  height: 55px !important;
}

#sb__services.services_shashi .h_4::before {
  background-color: #6fba2c !important;
  height: 55px !important;
}

#sb__services.services_digi .h_4::before {
  background-color: #6aa7c8 !important;
  height: 55px !important;
}

#sb__services.services_sk .h_4::before {
  background-color: #ed6d46 !important;
  height: 55px !important;
}

.chkbox {
  margin: 0 0 10px 20px;
}

.chkbox input[type=checkbox] {
  width: 19px;
  height: 19px;
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.12);
  transform: scale(1.1);
}

/* ラベルのスタイル　*/
.chkbox label {
  padding-left: 0px;
  /* ラベルの位置 */
  font-size: 17px;
  line-height: 17dpx;
  display: inline-block;
  cursor: pointer;
  position: relative;
}

.wpcf7-list-item {
  margin: 0 !important;
}

/* 無効化されている時の見た目 */
#myButton:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* 会社概要*/
.gaiyou_company {
  box-sizing: border-box;
}
@media screen and (max-width: 575.98px) {
  .gaiyou_company {
    width: 100%;
  }
}

.gaiyou-list {
  display: flex;
  flex-wrap: wrap;
}
.gaiyou-list dt {
  width: 20%;
  text-align: left;
  background-color: rgba(44, 47, 167, 0.1);
  padding: 20px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 10px 20px;
}
@media screen and (max-width: 575.98px) {
  .gaiyou-list dt {
    border-right: 1px solid #ccc;
    width: 100%;
    padding: 10px;
  }
}
.gaiyou-list dt:last-of-type {
  border-bottom: 1px solid #ccc;
}
.gaiyou-list dd {
  width: 80%;
  text-align: left;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  padding: 10px 20px;
}
@media screen and (max-width: 575.98px) {
  .gaiyou-list dd {
    border-left: 1px solid #ccc;
    width: 100%;
    padding: 10px;
  }
}
.gaiyou-list dd:last-of-type {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 575.98px) {
  .gaiyou-list dd:last-of-type {
    border-top: none;
  }
}

/* 歴史　*/
@media screen and (max-width: 575.98px) {
  .history_company {
    width: 100%;
  }
}

.history-list {
  display: flex;
  flex-wrap: wrap;
}
.history-list dt {
  display: flex;
  align-items: center;
  width: 20%;
  text-align: left;
  background-color: rgba(44, 47, 167, 0.1);
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 10px 20px;
}
@media screen and (max-width: 575.98px) {
  .history-list dt {
    border-right: 1px solid #ccc;
    width: 100%;
    padding: 10px 0;
    justify-content: center;
  }
}
.history-list dt:last-of-type {
  border-bottom: 1px solid #ccc;
}
.history-list dd {
  width: 80%;
  text-align: left;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  padding: 10px 20px;
}
@media screen and (max-width: 575.98px) {
  .history-list dd {
    border-left: 1px solid #ccc;
    width: 100%;
    padding: 10px;
  }
}
.history-list dd:last-of-type {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 575.98px) {
  .history-list dd:last-of-type {
    border-top: none;
  }
}

.p-3 {
  padding: 2rem !important;
}/*# sourceMappingURL=style.css.map */