.index_news_list {
  overflow-x: hidden !important;
}

/* 親テーマのアニメーションを上書き */
@keyframes index_news_tab_animate {
  0%   { opacity: 0; transform: translateX(140px); }
  100% { opacity: 1; transform: translateX(0); }
}

body,
#header_slider_content h2.rich_font_type2,
#bread_crumb li a,
.styled_h3,
.has-text-color,
a {
  color: #333 !important;
}

#global_menu ul ul a:hover,
.shutter_image.link_ver .post_list a,
.cb_service_category_list .post_list a {
  color: #fff !important;
}

body.header_type2 #header {
  background-color: #fff !important;
}

#global_menu > ul > li:last-child a {
  background-color: transparent;
  color: inherit !important;
}

#global_menu > ul > li:last-child a:hover {
  color: #ba1f3d !important;
}



#footer_banner a {
  height: 250px;
}



.u-p0 {
  padding: 0 !important;
}

body.single #bread_crumb {
  max-width: 100%;
}


/* ヘッダー */
#single_service_header {
  width:100%;
  height:522px;
  position:relative;
  overflow:hidden;
}
#single_service_header .large_headline {
  font-size:70px;
  overflow:hidden;
}
#single_service_header .sub_title {
  overflow:hidden;
}
#single_service_header .large_headline span, #single_service_header .sub_title span {
  transform: translate3d(0,100%,0);
  opacity:0;
  display:inline-block;
  transition: transform 0.7s ease, opacity 0.9s ease;
}
#single_service_header.animate .large_headline span, #single_service_header.animate .sub_title span {
  transform: translate3d(0,0,0);
  opacity:1;
}
#single_service_header .title {
  position:absolute;
  left:0;
  bottom:0;
  height:80px;
  line-height:80px;
  width:100%;
  font-size:34px;
  color:#fff;
  border-top:1px solid rgba(255,255,255,1);
  z-index:3;
  opacity:0;
  transition: opacity 1.0s ease 0.4s;
}
#single_service_header.animate .title {
  opacity:1;
}

#single_service_header .image {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
}
#single_service_header .overlay {
  content:'';
  display:block;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.5);
  position:absolute;
  top:0;
  left:0;
  z-index:2;
}
#single_service_header .category {
  position:relative;
  height:440px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  z-index:3;
  color:#fff;
  max-width:1700px;
  padding:0 100px;
  margin:80px auto 0;
}
#single_service_header .category .sub_title {
  font-size:18px;
  margin-top:20px;
}

#footer_address.post_content {
  margin-top: 6px;
  font-size: 14px;
}

#copyright {
  background-color: #000 !important;
}

#footer_banner .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  object-position: center 40%;
}

.megamenu_b.use_carousel .item { width: calc(var(--vw)* 18); }
