@charset "utf-8";
/* CSS Document */
* {
  box-sizing: border-box;
  vertical-align: baseline;
}
html {
  font-size: .6666666667vw;
  max-width: 100vw;
}
body {
  color: #1b191d;
  font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .08em;
  -webkit-font-smoothing: antialiased;
}
.single h1 {
  font-size: 32px;
}
.home h2 {
  font-size: 2.5vw;
  font-weight: 600;
}
.home h3 {
  font-size: 1.1vw;
}
.home h4 {
  font-size: 1vw;
}
p {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .075em;
}
img {
  width: 100%;
  height: auto;
}
dt {
  font-weight: 500;
}
.mt20 {
  display: block;
  margin-top: 20px;
}
.detail span {
  display: block;
}
header button {
  border: 0;
  padding: 0;
  margin: 0;
  background-color: transparent;
}
header a {
  height: inherit;
}
@media (max-width: 1024px) {
  .home h3 {
    font-size: 14px;
  }
  .home h4 {
    font-size: 11px;
  }
  .home h2 {
    font-size: 32px;
  }
}
@media (max-width: 750px) {
  body {
    overflow-x: hidden
  }
  .single h1 {
    font-size: 5.6vw;
  }
  .home h2 {
    font-size: 6.4vw;
  }
  .home h3 {
    font-size: 18px;
  }
  .home h4 {
    font-size: 3.2vw;
  }
  .sp_mt15 {
    display: block;
    margin-top: 15px;
  }
}
.white-space {
  background: #fff;
  padding: 7vw 0;
}
@media (max-width: 750px) {
  .white-space {
    padding: 11vw 0;
  }
}
.en {
  display: block;
  font-size: 1vw;
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-left: 0.3vw;
  margin-bottom: -0.5vw;
}
time {
  font-family: "Arimo", sans-serif;
}
/*-------------------------------btn-------------------------*/
a.btn_23 {
  display: block;
  text-align: center;
  vertical-align: middle;
  width: 19.8vw;
  margin: auto;
  padding: 0.7vw 1vw;
  font-size: 1vw;
  font-weight: bold;
  border: 2px solid #23459f;
  color: #23459f;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: opacity 0.5s ease;
}
a.btn_23::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(35, 69, 159);
  transform: translateX(-100%);
  transition: all .3s;
  z-index: -1;
}
a.btn_23:hover::before {
  transform: translateX(0);
}
a.btn_23:hover {
  color: #fff;
}
.btn_23::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid #23459f;
  border-right: 2px solid #23459f;
  position: absolute;
  transform: rotate(45deg) translate(-50%, -50%);
  top: 50%;
  right: 20px;
}
.btn_23:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media (max-width: 1024px) {
  a.btn_23 {
    width: 36.8vw;
    padding: 1vw 11vw;
    font-size: 16px;
  }
}
/*-------------------------------nav-------------------------*/
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  gap: 2rem;
  width: 100%;
  height: 6rem;
  background-color: #fff;
  box-shadow: 0 0 32px rgba(0, 0, 0, 0.05);
  z-index: 10;
  line-height: normal;
  letter-spacing: normal;
}
.l-header__main {
  position: relative;
  flex: 1;
  display: flex;
}
.l-header__desc {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #3b5bbe;
  color: #fff;
  font-size: 1.2rem;
  padding: 1.3rem 2rem;
  border-radius: 0 0 2rem 0;
}
.l-header__tel {
  position: absolute;
  right: 0;
  top: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}
.l-header__tel-icon {
  display: grid;
  place-items: center;
  flex: 0 0 3.6rem;
  width: 3.6rem;
  height: 3.6rem;
  background-color: #8246cd;
  -webkit-clip-path: circle(49% at 50% 50%);
  clip-path: circle(49% at 50% 50%);
}
.l-header__tel-icon svg {
  width: 1.5rem;
  height: 2.1rem;
}
.l-header__tel-number {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1;
}
.l-header__tel-time {
  font-size: 1.2rem;
}
.l-header__logo {
  color: #183b89;
  display: flex;
  align-items: center;
  font-size: 2.1rem;
  font-weight: bold;
  width: 31rem;
  height: auto;
  margin: 0 0 0 2rem;
  gap: 6px;
}
.l-header__logo img {
  width: 16%;
}
.l-header__menu {
  display: flex;
}
.l-header__menu > li > a {
  position: relative;
  padding: 1.32rem 1.5rem 1rem 1.5rem;
  display: flex;
  align-items: center;
  flex-direction: column;
  font-size: 1.4rem;
  transition: .3s;
  font-weight: 700;
}
.l-header__menu > li > a:hover {
  color: #23459f;
}
.l-header__menu > li.parent > a {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: .6rem;
}
li.parent > a > .arrow {
  display: inline-block;
  width: .8rem;
  height: 1.1rem;
  transition: .3s;
  background: url(../image/top/arrow.svg) 50% 50% / cover;
  transform: rotate(180deg);
}
.l-header__nav li.parent:hover > a > .arrow {
  transform: rotate(0deg);
}
.l-header__menu-items {
  position: absolute;
  top: 100%;
  left: 0;
  width: calc(100vw - 1.7rem);
  z-index: 1000;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
  padding: 0 2rem;
}
.parent:hover .l-header__menu-items {
  visibility: visible;
  opacity: 1;
}
.l-header__menu__inner {
  background-color: #3b5bbe;
  width: 14%;
  padding: 10px 1.5vw 20px;
  margin: 0 auto;
}
.l-header__menu > li.parent > a:hover + .l-header__menu-items {
  visibility: visible;
  opacity: 1;
}
.c-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.c-heading .en {
  font-size: 2.2rem;
  font-weight: 700;
  font-family: Barlow, sans-serif;
}
.c-heading__white .en, .c-heading__white .ja {
  color: #fff;
}
.c-heading .dotted {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin: 1rem 0 0;
}
.c-heading .dotted span {
  width: .4rem;
  height: .4rem;
  border-radius: 50%;
}
.c-heading__white .dotted span {
  background-color: #fff;
}
.c-heading .ja {
  font-size: 2.8rem;
  font-weight: 700;
  margin: 1rem 0 0;
}
.c-heading__white .en, .c-heading__white .ja {
  color: #fff;
}
.l-header__menu-list::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
}
.l-header__menu-list > a {
  position: relative;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  width: 100%;
  height: 4rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.l-header__menu-list a p {
  font-size: larger;
}
.menu04 a {
  height: auto;
  padding: 10px 0;
}
.menu05 a {
  height: auto;
  padding: 10px 0;
}
.l-header__menu-list > a:hover {
  opacity: 0.7;
}
.l-header__menu-list > div > a .circle-wrap .small-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #fff;
  transition: .5s;
}
.l-header__menu-list > div > a .circle-wrap .large-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background-color: transparent;
  border: 1px solid #fff;
  transition: .5s;
  scale: 0 0;
}
.l-header__menu-list > div > a p {
  transition: .3s;
}
.l-header__link__list {
  display: flex;
}
.l-header__link__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 21rem;
}
.l-header__link__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: .3s;
  gap: .6rem;
}
.l-header__link__item.nav_contact a {
  background-color: #23459f;
  overflow: hidden;
}
.l-header__link__item.nav_contact .icon {
  width: 1.8rem;
}
.l-header__link__item p {
  font-size: 1.9rem;
  font-weight: 700;
  color: #fff;
  transition: .3s;
}
.l-header__link__item.recruit a {
  background-color: #d0364f;
}
.l-header__link__item.recruit .icon {
  width: 2.2rem;
}
.l-header__wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.l-side, .u-hidden__pc {
  display: none;
}
.l-header__sp-link__list {
  display: none;
}
.nav_en_bor::before {
  content: attr(nav-ja);
  color: #23459f;
  font-size: 1rem;
  width: 100%;
  text-align: center;
  position: absolute;
  top: 72%;
  left: -9px;
}
.nav_en {
  color: #23459f;
  font-size: 1rem;
  margin-top: -4px;
}
@media screen and (max-width: 1024px) {
  .nav_en_bor::before {
    left: -4px;
  }
  .nav_en {
    margin-top: -2px;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.6666666667vw;
  }
  .l-header {
    height: 5.5rem;
    gap: 0;
  }
  .l-header__main {
    justify-content: flex-start;
    align-items: center;
  }
  .l-header__desc {
    display: none;
  }
  .l-header__tel {
    display: none;
  }
  .l-header__wrap {
    display: contents;
  }
  .l-header__logo {
    width: 17.7rem;
    margin: 0 0 0 1rem;
    font-size: 1.7rem;
  }
  .u-hidden__sp {
    display: none;
  }
  .l-header__link__list {
    display: none;
  }
  .l-header__sp-link__list {
    display: flex;
  }
  .l-header__sp-link__item a {
    width: 5.5rem;
    height: 5.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .l-header__sp-link__item.contact-tel a {
    background: #23459f;
  }
  .l-header__sp-link__item.contact-tel a .icon {
    width: 2.2rem;
    height: 2.1rem;
  }
  .l-header__sp-link__item a {
    width: 5.5rem;
    height: 5.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .l-header__sp-link__item.contact-form a {
    background: #d0364f;
  }
  .l-header__sp-link__item.contact-form a .icon {
    width: 2.4rem;
    height: 1.6rem;
  }
  .u-hidden__pc {
    display: block;
  }
  .c-hamburger__inner {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #3a3a3a;
  }
  .c-hamburger__lines {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: .4rem;
    width: 2.5rem;
    height: 1.5rem;
    margin: 0 auto;
  }
  .c-hamburger__lines span {
    height: 2px;
    background-color: #fff;
    transition: .3s;
    border-radius: 3rem;
  }
  .c-hamburger__lines span:nth-of-type(1) {
    width: 2.5rem;
  }
  .c-hamburger__lines span:nth-of-type(2) {
    width: 2.5rem;
  }
  .c-hamburger__lines span:nth-of-type(3) {
    width: 1.7rem;
  }
  .c-hamburger__inner svg {
    margin: .5rem 0 0;
  }
  .c-hamburger__lines.active span:nth-of-type(1) {
    rotate: 45deg;
    top: 7px;
    position: relative;
  }
  .c-hamburger__lines.active span:nth-of-type(2) {
    rotate: -45deg;
  }
  .c-hamburger__lines.active span:nth-of-type(3) {
    opacity: 0;
  }
  .l-side {
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100dvh;
    padding: 1.5rem 2rem 3rem;
    background: #3a3a3a;
    transition: .3s;
    transform: translate(100%, 0);
    z-index: 100;
    overflow-y: scroll;
    visibility: hidden;
  }
  .l-side.is-open {
    transform: translate(0, 0);
    visibility: visible;
  }
  .l-side__logo {
    display: block;
    width: 17.7rem;
    height: auto;
  }
  .l-side__cta {
    display: flex;
    gap: .5rem;
    margin: 2rem 0 0;
  }
  .l-side__cta__item {
    width: calc(50% - .25rem);
    height: 6rem;
  }
  .l-side__cta__item a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    border-radius: .8rem;
  }
  .l-side__cta__item.contact-tel a {
    flex-direction: column;
    background-color: #8246cd;
  }
  .l-side__cta__tel-number {
    display: flex;
    gap: .3rem;
    align-items: center;
  }
  .l-side__cta__tel-icon {
    display: flex;
    align-items: center;
    width: 1.2rem;
    height: 1.6rem;
  }
  .l-side__cta__tel-icon svg {
    display: block;
    width: 100%;
    height: 100%;
  }
  .l-side__cta__tel-text {
    font-size: 1.8rem;
    text-align: center;
    font-weight: 700;
    letter-spacing: .01em;
  }
  .c-font-en {
    font-family: Barlow, sans-serif;
  }
  .l-side__cta__tel-time {
    font-size: 1rem;
    margin: .3rem 0 0;
  }
  .l-side__cta__item {
    width: calc(50% - .25rem);
    height: 6rem;
  }
  .l-side__cta__item.contact-form a {
    background-color: #3b5bbe;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
  }
  .l-side__cta__item.contact-form a .icon {
    width: 1.6rem;
    height: 1.1rem;
  }
  .l-side__cta__item.contact-form a p {
    font-weight: 700;
    font-size: 1.2rem;
  }
  .l-side__nav {
    position: relative;
    z-index: 2;
    margin: 1.5rem 0 0;
  }
  .l-side__nav a {
    position: relative;
    font-weight: 700;
    display: flex;
    width: 100%;
    color: #fff;
    font-size: 1.4rem;
    padding: 1.5rem 1rem;
  }
  .l-side__menu__02 li:first-of-type {
    margin: 0 0 .5rem;
  }
  .l-side__recruit {
    margin: 1.5rem calc(50% - 50vw) 0;
    height: 7rem;
    width: 100vw;
  }
  .l-side__recruit a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    width: 100%;
    height: 100%;
    background-color: #8246cd;
  }
  .l-side__recruit a .icon {
    width: 2.9rem;
    height: 2.9rem;
  }
  .l-side__recruit a p {
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
  }
  .c-hamburger {
    position: relative;
    width: 5.5rem;
    height: 5.5rem;
    background-color: #3a3a3a;
    z-index: 100000;
  }
  .sp_logo {
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    width: 28rem;
  }
  .l-side__nav li::after {
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.6);
  }
  .l-side__nav li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    position: absolute;
    transform: rotate(45deg) translateX(-50%);
    top: 54%;
    right: 20px;
  }
  .sp_drop li a {
    color: #3a3a3a;
    background-color: #fff;
  }
  .sp_drop li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #3a3a3a;
    border-right: 2px solid #3a3a3a;
    position: absolute;
    transform: rotate(45deg) translateX(-50%);
    top: 47%;
    right: 20px;
  }
  .nav_en_bor {
    align-items: center;
    justify-content: space-between;
  }
  li.parent > a > .arrow {
    width: 1.1rem;
    height: 1.6rem;
    margin-right: 6px;
  }
  .nav_en_bor::before {
    display: none;
  }
  .sp_drop {
    display: none;
  }
  .sp_drop.active {
    display: block;
  }
  .sp_arrow.active {
    transform: rotate(0deg) !important;
  }
  .l-header__logo img {
    width: 15.5%;
  }
}
/*--------------------------------------------------top--------------------------------------------------*/
/*-------------------------------slider-------------------------*/
.top_kv {
  background-color: #fff;
  padding-top: 6rem;
}
.carousel {
  position: relative;
  width: 100%;
  max-width: 1920px;
  height: 84vh;
  aspect-ratio: 16/9;
  overflow: hidden;
  z-index: 0;
}
.carousel::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.15);
  background-image: url(../image/top/bg.png);
  background-repeat: repeat;
  mix-blend-mode: multiply;
  z-index: 1;
}
.carousel img, .carousel video {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.carousel img.active, .carousel video.active {
  opacity: 1;
  z-index: 1;
}
.carousel .slider02 {
  object-position: 0px -180px;
}
@media (max-width: 1534px) {
  .carousel .slider02 {
    object-position: center;
  }
}
@media (max-width: 750px) {
  .top_kv {
    padding-top: 5.5rem;
  }
  .carousel {
    height: 240px;
  }
}
/*-------------------------当社について-------------------------*/
.home .about {
  width: min(1675px, 95%);
  display: flex;
  align-items: end;
  justify-content: end;
  margin-left: auto;
  gap: 3vw;
}
.home .about_items {
  width: 46%;
}
.home .about h2 {
  color: #23459f;
}
.home .about_title {
  position: relative;
  padding-left: 2.2vw;
}
.home .about_title::after {
  content: "";
  display: block;
  background: url("../image/icon/tile_icon.svg") no-repeat;
  width: 40px;
  height: 40px;
  position: absolute;
  top: -16%;
  left: -20px;
}
.home .about p {
  font-size: 16px;
  margin-top: 0.3vw;
  padding-left: 2.2vw;
}
.home .about_img {
  width: 50%;
}
@media (max-width: 1280px) {
  .home .about {
    flex-direction: column;
    margin-top: 0;
    gap: 4vw;
  }
  .home .about {
    width: 100%;
  }
  .home .about_items {
    width: 95%;
    margin: 0 auto;
  }
  .home .about_img {
    width: 98%;
    margin: auto;
  }
}
@media (max-width: 1024px) {
  .home .about_title {
    text-align: center;
    padding-top: 8vw;
    padding-left: 0;
  }
  .home .about p {
    margin-top: 30px;
    padding-left: 0;
  }
  .home .about_title::after {
    width: 30px;
    height: 30px;
    top: 19%;
    left: 49%;
    transform: translateX(-50%);
  }
  .en {
    font-size: 1.5vw;
  }
}
@media (max-width: 750px) {
  .home .about_title::after {
    width: 30px;
    height: 30px;
    top: -6px;
    left: 48%;
    transform: translateX(-50%);
  }
  .home .about {
    margin-top: 20px;
    gap: 0;
  }
  .home .about_img-sp {
    display: block;
  }
  .home .en {
    font-size: 3.7vw;
    margin-bottom: -2vw;
  }
  .home .about_img {
    width: 100%;
  }
}
@media (max-width: 375px) {
  .home .about p br {
    display: none;
  }
  .home .about_title::after {
    top: -9px;
  }
}
/*-------------------------会社概要-------------------------*/
.home .company {
  background: url("../image/top/company.jpg");
  background-repeat: no-repeat;
  background-size: 100%;
  padding: 11vw 0;
}
.home .company_items .en, .home .company_items h2 {
  color: #fff;
  text-align: center;
}
.home .company_items .en {
  text-shadow: 4px 2px 8px rgba(0, 0, 0, 0.5);
}
.home .company_items h2 {
  text-shadow: 4px 2px 8px rgba(0, 0, 0, 0.5);
  margin-bottom: 0.4vw;
}
.home .company_items a.btn_23 {
  background: #fff;
}
.home .company_btn {
  width: 73vw;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .home .company {
    background: url("../image/top/company_sp.jpg");
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 37vw 0;
  }
  .home .company_btn {
    width: 61vw;
  }
}
@media (max-width: 750px) {
  .home .company h2 {
    font-size: 7vw;
  }
  .home .company_btn a.btn_23 {
    font-size: 3.2vw;
    width: 100%;
    padding: 3vw 2.6vw;
  }
}
/*-------------------------業務内容-------------------------*/
.home .business-Works_title .en, .home .business-Works_title h2, .home .business_title-items .en, .home .business_title-items h2 {
  color: #fff;
}
.home .common_items {
  width: min(95%, 1216px);
  margin: 0 auto;
}
.home .business {
  padding-bottom: 7vw;
}
.home .business, .home .works {
  background: url("../image/top/section_icn.svg") no-repeat;
  background-size: 50%;
  background-color: #fff;
  background-position: 0 7vw;
}
.home .business_title-items {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-top: 4vw;
}
.home .business_flow {
  background: url("../image/top/business_icn.svg") no-repeat;
  background-size: 16%;
  background-position: right;
  border-bottom: 2px solid #23459f;
  padding-right: 3vw;
}
.home a.business_btn {
  color: #23459f;
  font-size: 0.93vw;
  font-weight: bold;
}
.home a.business_btn:hover, .home .business_flow:hover {
  opacity: 0.7;
}
.home .business_content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.home .business_content-item {
  width: 31%;
  margin-top: 1.5vw;
}
.home .business_content-item:nth-child(n+4):nth-child(-n+6) {
  margin-top: 3vw;
}
.home .business_content-img {
  background: #f7f7f7;
  border-right: 2px;
  border: 4px solid #e5e0e0;
}
.business_content-img:hover, .works_post-items:hover, .equipment_content-img:hover, .common_works-post-items:hover {
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5);
  transform: translateY(-10px);
  transition-duration: 0.5s;
}
.home .business h3 {
  color: #23459f;
  font-weight: bold;
  text-align: center;
  margin-top: 8px;
}
.home .business_size {
  font-size: 0.94vw;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .home .business_size {
    font-size: 10px;
  }
}
@media (max-width: 750px) {
  .home .business {
    padding-bottom: 0;
  }
  .home .business_title-items {
    padding-top: 6vw;
  }
  .home .business, .home .works {
    background: url("../image/top/section_icn.svg") no-repeat;
    background-size: 75%;
    background-color: #fff;
    background-position: 0 11vw;
  }
  .home .business_content-item {
    width: 100%;
  }
  .home .business_content-item:nth-child(1) {
    margin-top: 7vw;
  }
  .home .business_size {
    font-size: 18px;
  }
  .home .business_content {
    padding-bottom: 14vw;
    gap: 8vw;
  }
  .home .business_flow {
    background-size: 10%;
    padding-right: 5vw;
  }
  .home a.business_btn {
    font-size: 3.4vw;
  }
  .works_post-items:hover, .common_works-post-items:hover {
    box-shadow: none;
    transform: translateY(0);
    transition-duration: 0;
  }
}
.parallax_bg {
  height: 50vh;
}
.parallax_bg::after {
  content: "";
  background: url(../image/top/ss.jpg) no-repeat;
  background-position: top;
  background-size: initial;
  position: fixed;
  z-index: -10;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
@media (max-width: 1024px) {
  .parallax_bg {
    height: 39vh;
  }
}
@media (max-width: 750px) {
  .parallax_bg {
    height: 21vh;
  }
  .parallax_bg::after {
    background: url(../image/top/ss_750.jpg) center center / cover no-repeat
  }
}
/*-------------------------実績紹介-------------------------*/
.home .works {
  margin-bottom: 0;
}
.works_post {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1.5vw;
  gap: 1.26vw;
}
.home .works_items {
  padding-top: 4vw;
}
.works_post-items, .common_works-post-items {
  background: url(../image/top/works_icn.svg);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 8%;
  border: 2px solid #23459f;
  width: 32%;
}
@media (max-width: 750px) {
  .works_post-items, .common_works-post-items {
    background-position: 100.5% 100.3%;
    background-size: 12%;
    width: 100%;
  }
}
.works_post-img {
  overflow: hidden;
  height: 252px;
}
.works_post-img img {
  object-fit: cover;
  height: 100%;
}
.works_post-items h3, .common_works-post-items h3 {
  color: #fff;
  font-weight: bold;
  display: inline-block;
  background: #23459f;
  padding: 0.2vw 1vw;
  margin-top: -1.6vw;
}
.works_post-text {
  display: flex;
  margin: 1vw 0.8vw;
  gap: 10px;
}
.works_post-text p:nth-child(1) {
  color: #23459f;
  font-size: 18px;
  font-weight: bold;
}
.works_post-text p:nth-child(2) {
  flex: 1;
}
.works_btn {
  margin-top: 3vw;
}
.prev, .next {
  display: none;
}
@media (max-width: 1440px) {
  .works_post-img {
    height: 19vw;
  }
}
@media (max-width: 1024px) {
  .works_post-text p:nth-child(2) {
    font-size: 14px;
  }
  .works_post-text {
    flex-direction: column;
  }
  .works_post-text {
    gap: 4px;
  }
}
@media (max-width: 750px) {
  .works_post-text p:nth-child(1) {
    font-size: 16px;
  }
  .works_post-text p:nth-child(2) {
    font-size: 14px;
  }
  .home .works_items {
    padding-top: 5vw;
  }
  .works_post {
    margin-top: 6vw;
  }
}
@media (max-width: 1024px) {
  .works_post-text p:nth-child(2) {
    width: 100%;
  }
}
@media (max-width: 750px) {
  .works_post-items h3, .common_works-post-items h3 {
    font-size: 20px;
  }
  .works_post {
    display: block;
    position: relative;
  }
  .works_post-items {
    margin-top: 20px;
  }
  .works_post .works_post-items:nth-child(1) {
    margin-top: 0;
  }
  .works_post-items h3, .common_works-post-items h3 {
    padding: 0vw 3vw;
    margin-top: -3vw;
  }
  .works_post-text {
    margin: 4vw 3vw 11vw;
    gap: 0;
  }
  .home .works_btn {
    width: 95%;
    margin: 7vw auto 0;
  }
  .works_btn {
    width: 100%;
    margin: 7vw auto 0;
  }
  .works_btn a.btn_23 {
    width: 100%;
    padding: 3.2vw 1vw;
    font-size: 16px;
  }
  .home .works {
    margin-top: 10vw;
  }
  .works_post-img {
    height: 64vw;
  }
}
@media (max-width: 375px) {
  .works_post-items h3, .common_works-post-items h3 {
    font-size: 19px;
  }
}
/*-------------------------設備紹介-------------------------*/
.equipment {
  background: #edeff4;
  margin-bottom: 0;
}
.home .equipment_title-items {
  display: flex;
  align-items: flex-end;
  border-bottom: 1px solid #23459f;
  padding-bottom: 1.3vw;
  gap: 11.3vw;
}
.home .equipment_title {
  margin-bottom: -0.7vw;
}
.home .equipment_content-items {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.home .equipment_content-a {
  width: 74%;
}
.home .equipment_content-b {
  margin-top: 1vw;
}
.equipment_content-c {
  margin-top: 2.6vw;
}
.equipment_content-c br {
  display: none;
}
.home .equipment_headquarters {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: 1px solid #23459f;
  padding-bottom: 2vw;
  margin-top: 1vw;
}
.home .equipment_toki {
  border-bottom: 1px solid #23459f;
  padding-bottom: 2vw;
  width: 23%;
}
.home .equipment_title h2, .home .information_title h2 {
  color: #23459f;
}
.home .equipment_title-items h3, .home .equipment_toki h3 {
  display: inline-block;
  color: #23459f;
  font-weight: bold;
  border: 2px solid #23459f;
  padding: 0 0.6vw;
}
.home .equipment_content {
  width: 31%;
}
.home .equipment_content h4, .home .equipment_content-b h4, .home .equipment_content-c h4 {
  color: #23459f;
  font-weight: bold;
  text-align: center;
}
.home .equipment_toki-title {
  text-align: center;
  border-bottom: 1px solid #23459f;
  padding-bottom: 1.3vw;
}
.home .equipment_content:nth-child(n+4):nth-child(-n+6) {
  margin-top: 2.6vw;
}
.home .equipment_content h4, .home .equipment_content-c h4, .home .equipment_content-b h4 {
  margin-top: 0.5vw;
}
@media (max-width: 750px) {
  .equipment_content-c br {
    display: block;
  }
  .home .equipment_bottom {
    padding: 0;
  }
  .home .equipment_content-items {
    flex-direction: column;
  }
  .home .equipment_content-a {
    width: 100%;
  }
  .home .equipment_content {
    width: 49%;
  }
  .home .equipment_headquarters {
    margin-top: 4vw;
  }
  .home .equipment_content:nth-child(n+4):nth-child(-n+6) {
    margin-top: 0;
  }
  .home .equipment_content:nth-child(n+3):nth-child(-n+6) {
    margin-top: 8vw;
  }
  .home .equipment_title-items h3, .home .equipment_toki h3 {
    padding: 0.2vw 3vw;
  }
  .home .equipment_title-items {
    padding-bottom: 4vw;
    gap: 6vw;
  }
  .home .equipment_title {
    margin-bottom: -2vw;
  }
  .home .equipment_toki {
    width: 100%;
    margin-top: 12vw;
    margin-bottom: 4vw;
  }
  .home .equipment_content h4, .home .equipment_content-c h4, .home .equipment_content-b h4 {
    margin-top: 2vw;
  }
  .home .equipment_content-c h4 {
    font-size: 3vw;
  }
  .home .equipment_content-b, .equipment_content-c {
    width: 100%;
    margin-top: 0;
  }
  .equipment_content-b-c {
    display: flex;
    margin-top: 4vw;
    gap: 1.7973vw;
  }
  .home .equipment_toki-title {
    ;
    padding-bottom: 4vw;
  }
  .home .equipment_headquarters {
    padding-bottom: 4vw;
  }
}
@media (max-width: 750px) {
  .home .equipment_content h4, .home .equipment_content-c h4, .home .equipment_content-b h4 {
    font-size: 14px;
  }
}
/*-------------------------お知らせ-------------------------*/
.home .news {
  padding-top: 5vw;
}
.information_title-items {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 1vw;
}
.news_time {
  font-family: "Arimo", sans-serif;
  font-size: 0.875rem;
}
.news_title p {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, ヒラギノ角ゴ W3, sans-serif;
  font-weight: bold;
}
.news_title {
  display: flex;
  align-items: baseline;
  border-top: 1px solid #1b191d;
  padding: 1.3vw 0.5vw;
  gap: 1vw;
}
.news_post li:last-child {
  border-bottom: 1px solid #1b191d;
}
.news_list_wrapper .news_title p {
  margin-top: 0.5rem;
  font-size: clamp(0.938rem, 0.918rem + 0.082vw, 1rem);
  line-height: 2;
}
.news_title:hover {
  opacity: 0.7;
}
.information_btn {
  position: relative;
  margin-right: 1vw;
}
.information_btn a {
  color: #23459f;
  font-size: 0.9vw;
  font-weight: bold;
}
.information_btn::before {
  content: '';
  position: absolute;
  top: 50%;
  right: -15px;
  width: 0.3vw;
  height: 0.7vw;
  border-left: 8px solid #23459f;
  border-top: 8.5px solid transparent;
  border-bottom: 8.5px solid transparent;
  transform: translateY(-50%);
}
@media (max-width: 1024px) {
  .information_btn {
    margin-right: 2vw;
  }
  .information_btn a {
    font-size: 12px;
  }
}
@media (max-width: 750px) {
  .information_title-items {
    margin-bottom: 4vw;
  }
  .news_title p {
    font-size: 3.7vw;
  }
  .home .news {
    padding-top: 10vw;
    padding-bottom: 17vw;
  }
  .information_btn a {
    font-size: 16px;
  }
  .information_btn {
    margin-right: 4.4vw;
    margin-bottom: 2vw;
  }
  .news_title {
    padding: 6vw 1vw;
  }
  .information_btn::before {
    top: 46%;
    right: -16px;
    border-left: 9px solid #23459f;
    border-top: 7.5px solid transparent;
    border-bottom: 7.5px solid transparent;
  }
  .news_title {
    display: block;
  }
  .news_time {
    font-size: 2.6vw;
  }
}
/*-------------------------お問い合わせ-------------------------*/
.home .contact_text {
  flex: 1 0 auto;
}
.home .contact_text p {
  color: #fff;
  font-size: 2vw;
  font-weight: bold;
  text-shadow: 4px 2px 5px rgba(0, 0, 0, 0.5);
}
.home .contact_text dl {
  color: #fff;
  display: flex;
  font-size: 1vw;
  gap: 5px;
}
.home .contact_text dt dd {
  text-shadow: 4px 2px 5px rgba(0, 0, 0, 0.5);
}
.home .contact_address {
  margin-top: 1vw;
}
.home .contact_items {
  display: flex;
  justify-content: center;
  gap: 8.4vw;
}
.home .contact_btn a.btn_23 {
  width: 16.8vw;
  padding: 0.7vw 1vw;
  background: #d0364f;
  border: 2px solid #d0364f;
  color: #fff;
  position: relative;
  margin: 0;
  overflow: hidden;
  z-index: 1;
}
.home .contact_btn a.btn_23::before {
  border: 2px solid #fff;
  background-color: rgb(255, 255, 255);
}
.home .contact_btn a.btn_23:hover {
  color: #d0364f;
}
.home .contact_btn .btn_23::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.home .contact_btn .btn_23:hover::after {
  border-top: 2px solid #d0364f;
  border-right: 2px solid #d0364f;
}
.home .contact_btn {
  margin-top: 1vw;
}
.home .contact {
  background: url("../image/top/footer_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 5vw 0;
}
.home .contact_map {
  width: 60vw;
  height: 23vw;
}
.home .contact_map iframe {
  width: 100%;
  height: 100%;
}
@media (max-width: 1024px) {
  .home .contact_text dl {
    font-size: 14px;
  }
}
@media (max-width: 750px) {
  .home .contact {
    background: url("../image/top/footer_bg-sp.jpg");
    background-repeat: no-repeat;
    background-size: 100%;
    background-size: cover;
    padding: 11vw 0;
  }
  .home .contact_items {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0;
    gap: 0;
  }
  .home .contact_text p {
    font-size: 5vw;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
  }
  .home .contact_text dl {
    font-size: 3.7vw;
  }
  .home .contact_btn {
    margin-top: 3vw;
  }
  .home .contact_btn a.btn_23 {
    font-size: 3.7vw;
    width: 64.8vw;
    padding: 3.6vw 1vw;
    margin: 0 auto;
  }
  .home .contact_text {
    text-align: center;
  }
  .home .contact_map {
    width: 100%;
    height: 68vw;
    margin-top: 10vw;
  }
}
/*-------------------------footer-------------------------*/
footer {
  background: #fff;
  padding-top: 4.2vw;
}
.footer_logo {
  width: 19%;
  margin: 0 auto;
}
footer ul {
  display: flex;
  font-size: 16px;
  justify-content: center;
  margin-top: 5vw;
}
footer li {
  border-right: 1px solid #1b191d;
  padding: 0 3.5vw;
}
footer li a {
  display: block;
  width: 100%;
}
footer li:first-child {
  border-left: 1px solid #1b191d;
}
footer li a:hover {
  color: #23459f;
}
footer p {
  font-size: 14px;
  text-align: center;
  padding: 40px 0 20px;
}
@media (max-width: 1440px) {
  footer p {
    font-size: 10px;
  }
}
@media (max-width: 750px) {
  footer {
    padding-top: 8vw;
  }
  .footer_logo {
    width: 37%;
  }
  footer ul {
    flex-wrap: wrap;
    width: 53vw;
    margin: 5vw auto 0;
    gap: 3vw;
  }
  footer li {
    position: relative;
    border-right: none;
    font-size: 3.7vw;
    color: #090a0c;
  }
  footer li:first-child {
    border-left: none;
  }
  footer li a::before {
    content: "";
    position: absolute;
    width: 13px;
    height: 2px;
    background-color: #23459f;
    left: 0;
    top: 50%;
    transform: translateX(-50%);
  }
  footer p {
    color: #fff;
    font-size: 11px;
    background: #0a121c;
    text-align: center;
    padding: 2vw 0;
    margin-top: 8vw;
  }
}
/*--------------------------------------------------/top--------------------------------------------------*/
/*--------------------------------------------------下層共通--------------------------------------------------*/
.common {
  width: min(95%, 1216px);
  margin: 0 auto;
}
.common_top {
  margin-top: 5vw;
}
.single h2 {
  font-size: 1.2vw;
}
.single h3 {
  font-size: 18px;
}
.single h4 {
  font-size: 16px;
}
.single_common {
  margin: 4.1vw 0 5vw 0;
}
.single_title {
  color: #fff;
  text-align: center;
  position: absolute;
  top: 44%;
  left: 50%;
  transform: translate(-50%, 26%);
}
.kv span {
  display: block;
  color: #fff;
  font-size: 18px;
  font-family: "Arimo", sans-serif;
  margin-top: -11px;
}
.single_title-bs {
  color: #fff;
  text-align: center;
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 1024px) {
  .single_title-bs {
    top: 62%;
  }
}
@media (max-width: 750px) {
  .common_top {
    margin-top: 12vw;
  }
  .single h2 {
    font-size: 20px;
  }
  .single_common {
    margin: 10vw 0;
  }
  .kv span {
    font-size: 14px;
  }
}
/*--------------------------------------------------/下層共通--------------------------------------------------*/
/*------------------------------------------------ご注文から納品まで------------------------------------------------*/
.single .kv-img {
  background: url(../image/single/flow/kv.jpg) no-repeat;
  background-position: 0;
  background-size: cover;
}
.flow_step {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 2.6vw;
}
.flow_step01-icon {
  width: 4vw;
  height: 4vw;
}
.flow_step01-text {
  display: flex;
  align-items: center;
  gap: 1vw;
}
.flow_step01-text h2 {
  font-weight: bold;
}
.flow_step01-img {
  width: 40%;
}
.divider {
  background: url("../image/single/flow/flow_divide.svg") no-repeat;
  background-size: 100%;
  width: 100%;
  height: 25px;
}
.flow_step-divider {
  margin-top: 3.6vw;
}
.flow_step01-text-items p {
  margin-left: 1vw;
  margin-top: 1vw;
}
@media (max-width: 750px) {
  .page-id-32 .kv h1 {
    white-space: nowrap;
  }
  .single .kv-img {
    background: url(../image/single/flow/kv_750.jpg) no-repeat;
  }
  .flow_step {
    flex-direction: column;
    margin-bottom: 9vw;
    gap: 5vw;
  }
  .flow_step01-img {
    width: 100%;
  }
  .flow_step01-text {
    gap: 4vw;
  }
  .flow_step01-text-items p {
    margin-top: 3vw;
  }
  .divider {
    background: url(../image/single/flow/flow_divide-750.svg) no-repeat;
    background-size: 100%;
  }
  .flow_step01-icon {
    width: 11vw;
    height: 11vw;
  }
}
/*------------------------------------------------/ご注文から納品まで------------------------------------------------*/
/*-----------------------------------------------------会社概要----------------------------------------------------*/
.page-id-34 .single_kv-img {
  background: url(../image/single/company/kv.jpg) no-repeat;
  background-position: 0;
  background-size: cover;
}
.greeting {
  display: flex;
  gap: 2vw;
}
.greeting p {
  flex: 1;
}
.greeting_img {
  width: 330px;
}
.greeting p span {
  display: block;
  margin-top: 1.5vw;
}
.greeting_name {
  width: 28%;
  margin-top: 1.5vw;
  float: right;
}
@media (max-width: 750px) {
  .greeting_img {
    width: 100%;
    ;
  }
  .page-id-34 .single_kv-img {
    background-position: 38%;
  }
  .greeting {
    flex-direction: column;
    margin-top: 20px;
    gap: 0;
  }
  .greeting p {
    width: 100%;
    line-height: 1.75;
  }
  .greeting p span {
    margin-top: 20px;
  }
  .greeting_name {
    width: 50%;
    margin-top: 4vw;
    margin-bottom: 3vw;
  }
}
.single .about {
  background: #f5f5f5;
}
.single .about_items {
  padding: 4vw 0;
}
.about table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 2vw;
}
.about table, .about td {
  font-size: 16px;
  border: 1px solid #636166;
}
.about table, .about th {
  font-size: 16px;
  border-top: 1px solid #fff;
}
.about th, .about td {
  padding: 15px;
  text-align: left;
  vertical-align: top;
}
.about th {
  background-color: #23459f;
  color: #fff;
  width: 20%;
}
.about td {
  width: 80%;
}
.single about span {
  display: block;
  border-top: 1px solid #636166;
  padding-top: 15px;
  margin-top: 15px;
}
.about .border-a {
  border-top: 1px solid #636166;
}
.border-b {
  border-bottom: 1px solid #636166;
}
@media (max-width: 750px) {
  .single .about_items {
    padding: 10vw 0;
  }
  .about_items {
    background-size: 6%;
    background-position: 48% 13%;
    padding: 0 0 7vw;
  }
  .about table, td {
    border: none;
  }
  .about table, .about th, .about td {
    display: block;
    font-size: 16px;
    border: none;
    width: 100%;
  }
  .about th {
    text-align: left;
    border-radius: 3px;
    padding: 8px 12px;
    width: 100%;
  }
  .about td {
    text-align: left;
    width: 100%;
  }
  .border-a {
    border-top: none;
  }
  .border-b {
    border-bottom: none;
  }
  .sp_about-items {
    padding: 0 !important;
  }
  .about_items tr .sp-table_last {
    padding-bottom: 0;
  }
}
.single .history {
  background-color: #fff;
}
.access_text {
  margin-top: 2vw;
}
.access_text p {
  margin-top: 10px;
}
.access_img-gmp {
  display: flex;
  margin-top: 20px;
  gap: 1vw;
}
.access_img {
  width: 48%;
}
@media (max-width: 750px) {
  .access_text {
    margin-top: 20px;
  }
  .access_img-gmp {
    flex-direction: column;
    gap: 4vw;
  }
  .access_img {
    width: 100%;
  }
  .access_img-gmp iframe {
    width: 100%;
    height: 34vh;
  }
  .access_text-b {
    margin-top: 11vw;
  }
}
.sdgs_img {
  width: 42%;
}
.sdgs_img-a {
  width: 27%;
}
.sdgs_items p {
  margin-bottom: 1.5vw;
}
.sdgs_logo-text {
  margin-top: 3vw;
}
.sdgs_logo {
  width: 41%;
  margin-top: 1vw;
}
.sdgs_logo-items {
  color: #3d91b2;
  display: flex;
  align-items: self-end;
  font-size: 18px;
  gap: 25px;
}
.sdgs_logo-items a {
  text-decoration: underline;
}
.sdgs_logo-items a:hover {
  opacity: 0.7;
}
.br-sp {
  display: none;
}
.pb0 {
  padding-bottom: 0 !important;
}
@media (max-width: 750px) {
  .sdgs_items p {
    margin-bottom: 20px;
  }
  .sdgs_img {
    width: 74%;
  }
  .sdgs_img-a {
    width: 49%;
  }
  .br-sp {
    display: block;
  }
  .sdgs_logo-items {
    flex-direction: column;
    align-items: baseline;
    gap: 10px;
  }
  .sdgs_logo {
    width: 75%;
    margin-top: 2vw;
  }
  .sdgs_items {
    padding-bottom: 0;
  }
}
/*-----------------------------------------------------/会社概要----------------------------------------------------*/
/*-----------------------------------------------------切削加工----------------------------------------------------*/
.page-id-37 .single_kv-img {
  background: url(../image/single/cuttingprocessing/kv.jpg) no-repeat;
  background-size: cover;
  background-position: 0 19%;
}
.page-id-37 .single_common {
  margin: 4.1vw 0 0;
}
.page-id-37 .cuttingprocessing {
  margin-top: 5vw;
}
.toki .section01 .movie {
  width: 100%;
}
.section02_img-items {
  display: flex;
  margin-top: 1.5vw;
  gap: 1vw;
}
.section02-ab_text {
  margin-top: 1vw;
}
.section02 p, .section03 p {
  margin-top: 30px;
}
.section03 {
  background: #f5f5f5;
  padding: 5vw 0;
}
.section_img div {
  width: 49.2%;
}
@media (max-width: 750px) {
  .page-id-37 .single_kv-img {
    background: url(../image/single/cuttingprocessing/kv_750.jpg) no-repeat;
    background-size: cover;
    background-position: 0 5%;
    ;
  }
  .section02 p, .section03 p {
    margin-top: 20px;
  }
  .section03 {
    padding: 10vw 0;
  }
}
/*-----------------------------------------------------/切削加工----------------------------------------------------*/
/*-----------------------------------------------------設備紹介----------------------------------------------------*/
.page-id-43 .single_kv-img {
  background: url(../image/single/equipment/kv.jpg) no-repeat;
  background-size: cover;
  background-position: 0 60%;
}
.equipment_introduction {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.equipment_introduction > * {
  margin-top: 0;
}
.equipment_introduction > *:nth-child(n+4) {
  margin-top: 2.6vw;
}
.equipment_table {
  margin-top: 2.6vw;
}
.equipment_table h4 {
  color: #23459f;
  font-size: 18px;
  font-weight: bold;
}
.equipment_quantity {
  margin-top: 15px;
}
.equipment_quantity table {
  width: 100%;
  font-size: 16px;
}
.equipment_quantity th, td {
  padding: 10px;
  border: 1px solid #23459f;
}
.equipment_quantity td:nth-child(odd) {
  width: 44%;
}
.equipment_quantity td:nth-child(even) {
  width: 5%;
  text-align: right;
}
.equipment_quantity th {
  background-color: #f5f5f5;
}
.equipment_quantity tr:nth-child(even) {
  background-color: #f5f5f5;
}
.equipment_quantity tr.highlight {
  background-color: #f5f5f5;
}
.equipment_quantity .sp-br {
  display: none;
}
.equipment_introduction-toki p {
  color: #fff;
  display: inline-block;
  font-weight: bold;
  background: #23459f;
  padding: 5px 30px;
}
.equipment_introduction-toki .equipment_introduction {
  justify-content: flex-start;
  margin-top: 2vw;
  gap: 2.9vw;
}
.equipment_introduction-toki .equipment_introduction-toki-b .equipment_introduction {
  justify-content: space-between;
  margin-top: 2vw;
  gap: 0;
}
@media (max-width: 1024px) {
  .equipment_quantity td:nth-child(even) {
    width: 7%;
  }
}
@media (max-width: 750px) {
  .equipment_table h4 {
    font-size: 18px;
  }
  .page-id-43 .single_kv-img {
    background: url(../image/single/equipment/kv_750.jpg) no-repeat;
    background-size: cover;
  }
  .page-id-43 .single_kv-img {
    background-position: 0;
  }
  .equipment_quantity table {
    border: 1px solid #23459f;
  }
  .equipment_items:not(:first-child) {
    margin-top: 4vw;
  }
  .equipment_items {
    width: 100%;
  }
  .equipment_quantity table {
    font-size: 3.5vw;
  }
  .page-id-43 .equipment_quantity .sp-td {
    top: 62.5%;
  }
  .page-id-43 .equipment_quantity .sp-td-a {
    height: 64%;
    padding-top: 21px;
  }
  .equipment_quantity td:nth-child(odd) {
    width: 100%;
    background-color: #fff;
  }
  .equipment_quantity td:nth-child(3) {
    background-color: #f5f5f5;
  }
  .equipment_quantity td:nth-child(even) {
    width: 16%;
  }
  .equipment_quantity td:nth-child(2) {
    position: absolute;
    top: 1px;
    right: 0;
    border-top: none;
    border-bottom: none;
  }
  .equipment_quantity td:nth-child(4) {
    position: absolute;
    top: 50.9%;
    right: 0;
    border-top: none;
    border-bottom: none;
  }
  .equipment_quantity tr {
    display: flex;
    flex-direction: column;
    position: relative;
  }
  .equipment_quantity td {
    width: 100%;
    text-align: left;
  }
  .equipment_quantity .sp-br {
    display: block;
  }
  .equipment_introduction-toki .equipment_introduction {
    margin-top: 5vw;
  }
  .equipment_table {
    margin-top: 5vw;
  }
}
@media (max-width: 375px) {
  .equipment_quantity td:nth-child(even) {
    width: 17%;
  }
}
/*-----------------------------------------------------/設備紹介----------------------------------------------------*/
/*-----------------------------------------------------実績紹介----------------------------------------------------*/
/*------タグCSS-----*/
.tab-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  width: min(90%, 1216px);
  margin: 0 auto;
  overflow-x: auto;
}
.page-id-45 .works_post {
  margin-top: 2vw;
}
.tab {
  padding: 8px 20px;
  border-radius: 30px;
  border: 2px solid #1b191d;
  background: #fff;
  font-size: 16px;
  font-weight: bold;
  transition: background 0.3s, color 0.3s;
}
.tab.active {
  background: #000;
  color: #fff;
  border-color: #000;
}
.post {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .tab-container {
    padding: 0 3.76vw;
    margin: 0;
    width: 100%;
  }
  .tab {
    padding: 6px 8px;
    font-size: 14px;
  }
}
/*------タグCSS-----*/
.post-type-archive .single_kv-img, .single-work .single_kv-img, .tax-work_cat .single_kv-img {
  background: url(../image/single/works/kv.jpg) no-repeat;
  background-size: cover;
  background-position: 0;
}
.wp-pagenavi {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-top: 5vw;
}
.wp-pagenavi span, .wp-pagenavi a {
  background: #1b191d;
  margin-left: 6px;
  padding: 10px 20px;
}
.wp-pagenavi a:last-child {
  display: inline-block;
  color: #fff;
  background: #1b191d;
  padding: 6px 20px;
}
.common_works-post-items:first-child {
  margin-top: 0;
}
@media (max-width: 1470px) {
  .wp-pagenavi a:last-child {
    padding: 3px 20px;
  }
}
@media (max-width: 750px) {
  .common_works-post-items {
    margin-top: 5vw;
  }
  .wp-pagenavi a:last-child {
    display: none;
  }
  .wp-pagenavi {
    margin-top: 10vw;
    margin-bottom: 18vw;
  }
  .wp-pagenavi span, .wp-pagenavi a {
    color: #fff !important;
    background: #1b191d !important;
    padding: 14px 20px;
  }
  .page-id-45 .works_post {
    margin-top: 5vw;
  }
}
/*-----------------------------------------------------/実績紹介----------------------------------------------------*/
/*-----------------------------------------------------実績紹介詳細----------------------------------------------------*/
.work_details-text li {
  display: inline-block;
  padding: 4px 20px;
  border-radius: 30px;
  border: 2px solid #1b191d;
  background: #fff;
  font-size: 12px;
  font-weight: bold;
}
.work_details-text h2 {
  color: #23459f;
  font-weight: bold;
  border-bottom: 2px solid #23459f;
  margin: 14px 0 8px 0;
}
.work_details-text {
  width: 50%;
}
.work_details {
  display: flex;
  gap: 3.25vw;
}
.single-work .works-post-img {
  width: 50%;
}
.work_details-text time {
  font-size: 14px;
  padding: 5px;
}
.work_details-title {
  color: #fff;
  display: table;
  background: #23459f;
  font-weight: bold;
  padding: 1px 18px;
  margin: 15px 0;
}
.other_achievements {
  margin-top: 6.25vw;
}
@media (max-width: 750px) {
  .work_details-text {
    width: 100%;
  }
  .work_details {
    flex-direction: column;
  }
  .single-work .works-post-img {
    width: 100%;
  }
  .other_achievements {
    margin-top: 16vw;
  }
  .work_details-title {
    margin: 15px 0 8px;
  }
  .work_details-text h2 {
    margin: 14px 0 3px 0;
  }
  .work_details-text time {
    padding: 0px;
  }
  .work_details-text ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1vw;
  }
}
/*-----------------------------------------------------実績紹介詳細----------------------------------------------------*/
/*-----------------------------------------------------お知らせ一覧----------------------------------------------------*/
.category-news .single_kv-img, .page-id-51 .single_kv-img {
  background: url(../image/single/news/kv.jpg) no-repeat;
  background-size: cover;
  background-position: 75%;
}
.single .news {
  width: min(90%, 1010px);
  margin: 0 auto;
}
.news_items {
  border-bottom: 1px solid #1b191d;
}
.news_list .news_items a {
  background: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  border-radius: 32px;
  -webkit-border-radius: 32px;
  -moz-border-radius: 32px;
  padding: 30px 6px;
  margin-bottom: 15px;
}
.news_list .news_items .news_ttl {
  width: 25%;
}
.news_list .news_items .news_ttl .news_date {
  color: #1b191d;
  font-size: 12px;
  font-weight: bold;
  margin-left: 3px;
}
.news_list .news_items .news_ttl .ttl {
  color: #23459f;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 7px;
}
.news_list .news_items .news_text {
  width: 75%;
  padding-left: 20px;
}
.news_list .news_items .news_text p {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
}
@media (max-width: 750px) {
  .category-news .single_kv-img, .page-id-51 .single_kv-img {
    background-size: cover;
    background-position: 0%;
  }
  .news_list .news_items a {
    display: block;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    padding: 5% 2px;
    margin-bottom: 2%;
  }
  .news_list .news_items .news_ttl {
    width: 100%;
    margin-bottom: 2%;
  }
  .news_guide .news_list .news_items .news_ttl .ttl {
    font-size: 3.6vw;
  }
  .news_list .news_items .news_text {
    width: 100%;
    padding-left: 0;
  }
  .news_list .news_tems .news_text p {
    font-size: 3.26vw;
  }
}
/*-----------------------------------------------------/お知らせ一覧----------------------------------------------------*/
/*-----------------------------------------------------お知らせ詳細----------------------------------------------------*/
.post-template-default .single_kv-img {
  background: url(../image/single/news/kv.jpg) no-repeat;
  background-size: cover;
  background-position: 75%;
}
.single_news-items {
  width: min(90%, 1010px);
  margin: 0 auto;
}
.entry-header {
  border-bottom: 2px solid #1b191d;
  padding-bottom: 10px;
  margin-bottom: 40px;
}
.entry-header .entry-deta {
  font-size: 14px;
  margin-left: 5px;
}
.entry-header .h2_ttl {
  color: #23459f;
  font-size: 26px;
  font-weight: bold;
  margin-top: 5px;
}
.entry-body p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.entry-body h2 {
  color: #23459f;
  font-weight: bold;
  position: relative;
  border-bottom: 2px solid #23459f;
  margin-bottom: 20px;
  padding: 0 0 0 11%;
}
.entry-body h2::after {
  content: "";
  display: block;
  background: url(../image/icon/tile_icon.svg) no-repeat;
  background-size: 16%;
  width: 8vw;
  height: 2vw;
  position: absolute;
  top: 2px;
  left: 0;
}
.entry-body h3 {
  display: flex;
  color: #23459f;
  font-weight: bold;
  align-items: center;
  margin-left: 0.29vw;
}
.entry-body h3::before {
  content: "";
  display: inline-flex;
  align-items: baseline;
  background: #23459f;
  width: 5px;
  height: 19px;
  margin-right: 0.5vw;
  margin-bottom: 2px;
}
.entry-body h4 {
  color: #d0364f;
}
@media (max-width: 750px) {
  .post-template-default .single_kv-img {
    background: url(../image/single/news/kv_sp.jpg) no-repeat;
    background-size: cover;
    background-position: 100%;
  }
  .entry-header .h2_ttl {
    font-size: 18px;
    line-height: 1.6;
  }
  .entry-body p {
    line-height: 1.75;
  }
  .entry-body h2::after {
    background-size: 16%;
    width: 50%;
    height: 100%;
    position: absolute;
    top: -4px;
    left: 0;
  }
  .entry-body h3 {
    margin-bottom: 20px;
  }
  .entry-body h3::before {
    margin-right: 8px;
  }
  .entry-body h4 {
    margin-bottom: 20px;
  }
  .entry-header {
    margin-bottom: 20px;
  }
}
/*-----newspage-nav-----*/
.single-post .page-nav {
  margin-top: 80px;
}
.single-post .page-nav ul {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-collapse: collapse;
  align-items: center;
}
.single-post .page-nav .nav__item {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 50%;
  list-style: none;
  -webkit-box-flex: 0.5;
  -ms-flex-positive: 0.5;
  flex-grow: 0.5;
  line-height: 1.8;
}
.single-post .page-nav .nav__item a {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 50px;
  line-height: 50px;
}
.single-post .page-nav .nav__item-ttl {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 0 10%;
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
}
.single-post .nav__item--next {
  text-align: end;
}
.single-post .nav__item--prev .nav__item-ttl:before {
  display: inline-block;
  position: absolute;
  top: 0;
  left: -5px;
  bottom: 0;
  width: 16px;
  height: 16px;
  margin: auto;
  line-height: 16px;
  content: "<";
}
.single-post .nav__item--next .nav__item-ttl:after {
  display: inline-block;
  position: absolute;
  top: 0;
  right: -5px;
  bottom: 0;
  width: 16px;
  height: 16px;
  margin: auto;
  line-height: 16px;
  content: ">";
}
.single .home {
  font-size: 16px;
  font-weight: bold;
  margin-top: 1.1%;
  text-decoration: underline #23459f;
}
.single-post .page-nav a {
  color: #23459f;
  text-decoration: underline;
}
@media (max-width: 750px) {
  .single-post .page-nav .nav__item {
    flex: 1;
  }
  .single-post .page-nav .nav__item-ttl {
    line-height: 19px;
  }
}
/*-----------------------------------------------------/お知らせ詳細----------------------------------------------------*/
/*-----------------------------------------------------お問い合わせ----------------------------------------------------*/
.page-id-259 .single_kv-img {
  background: url(../image/single/contact/kv.jpg) no-repeat;
  background-size: cover;
  background-position: 0;
}
.page-id-259 {
  background: #edeff4;
}
.contact_single-text p:first-child {
  font-size: 16px;
  width: min(90%, 664px);
  margin: 0 auto;
}
.contact_single-text p:last-child {
  font-size: 13px;
  width: min(90%, 664px);
  background: #fff;
  padding: 10px 30px;
  margin: 1vw auto 0;
}
.contact_single-text span {
  display: block;
  font-weight: bold;
}
.wpcf7-list-item.first {
  margin: 0;
}
@media (max-width: 750px) {
  .page-id-259 .single_kv h1 {
    text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
  }
  .page-id-259 .single_kv-img {
    background-position: 15%;
  }
  .contact_single-text p:last-child {
    padding: 20px;
    margin: 4vw auto 0;
  }
}
.custom-form {
  width: min(90%, 1140px);
  margin: 3vw auto 0;
  padding: 30px 50px 50px;
  background-color: #fff;
}
.custom-form input, .custom-form textarea {
  width: 100%;
  padding: 10px;
  border: 2px solid #ddd;
  font-size: 16px;
}
.wpcf7-list-item input {
  width: 20px;
  margin-bottom: 0;
}
.custom-form label {
  margin-bottom: 5px;
}
.custom-form input[type="checkbox"] {
  margin-right: 10px;
}
input[type="radio"] {
  appearance: auto;
}
label {
  cursor: pointer;
}
.custom-form strong {
  font-size: 16px;
  margin-bottom: 10px;
}
.custom-form .wpcf7-submit {
  background-color: #007bff;
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
}
.custom-form .wpcf7-submit:hover {
  background-color: #0056b3;
}
.wpcf7-title {
  width: 15%;
  font-weight: bold;
}
.wpcf7-title, .wpcf7-required {
  margin-top: 10px;
}
.wpcf7-flex {
  display: flex;
  justify-content: space-between;
  border-bottom: 2px solid #ddd;
  margin-top: 20px;
  padding-bottom: 20px;
}
.wpcf7-flex div {
  width: 74%;
}
.page-id-259 .wpcf7-list-item:nth-of-type(5) {
  margin: 11px 0 0;
}
.wpcf7-btn {
  text-align: center;
  margin-top: 20px;
}
.page-id-259 .wpcf7-btn input {
  display: block;
  text-align: center;
  vertical-align: middle;
  width: 19.8vw;
  margin: auto;
  padding: 0.7vw 1vw;
  font-size: 1vw;
  font-weight: bold;
  border: 2px solid #23459f;
  border-radius: 0;
  background-color: #fff;
  color: #23459f;
  overflow: hidden;
  z-index: 1;
  transition: opacity 0.5s ease;
}
.page-id-259 .wpcf7-btn p {
  display: inline-block;
  position: relative;
}
.page-id-259 .wpcf7-btn p::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid #23459f;
  border-right: 2px solid #23459f;
  position: absolute;
  transform: rotate(45deg) translate(-50%, -50%);
  top: 35%;
  right: 20px;
}
.page-id-259 .wpcf7-btn input:hover {
  color: #fff;
}
.page-id-259 .wpcf7-btn p:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.wpcf7-required {
  display: inline-block;
  color: #fff;
  font-size: 12px;
  padding: 1px 8px;
  background-color: #d0364f;
}
.wpcf7-list-item-label {
  font-size: 16px;
}
@media (max-width: 1024px) {
  .wpcf7-flex {
    margin-top: 15px;
    padding-bottom: 15px;
    flex-direction: column;
  }
  .wpcf7-title {
    width: 100%;
  }
  .wpcf7-title, .wpcf7-required {
    margin-top: 0;
  }
  .wpcf7-flex div {
    width: 100%;
  }
  .wpcf7-title {
    font-size: 17px;
  }
  .wpcf7-required {
    margin-bottom: 10px;
  }
  .wpcf7-title-a {
    margin-bottom: 10px;
  }
  .page-id-259 .wpcf7-btn input {
    font-size: 16px;
    width: 24.8vw;
    padding: 1vw 1vw;
  }
  .page-id-259 .wpcf7-btn p::after {
    top: 32%;
  }
  .page-id-259 .wpcf7-radio .wpcf7-list-item {
    margin: 10px 0 0;
  }
  .page-id-259 .wpcf7-radio .wpcf7-list-item:first-child {
    margin: 0;
  }
}
@media (max-width: 750px) {
  .single_kv h1 {
    text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
  }
  .wpcf7-list-item input[type="radio"] {
    padding: 5px;
  }
  .page-id-259 .wpcf7-btn input {
    font-size: 16px;
    width: 45.8vw;
    padding: 2vw 1vw;
  }
  .custom-form {
    width: min(95%, 1140px);
    padding: 1px 15px 15px;
  }
  .contact_single-text p:first-child {
    width: min(95%, 664px);
  }
  .contact_single-text p:last-child {
    width: min(95%, 664px);
    padding: 15px;
  }
  .page-id-259 .wpcf7-list-item {
    display: block;
    margin: 0 0 5px 0;
  }
  .custom-form label {
    display: flex;
    align-items: center;
    gap: 6px;
  }
}
/*-----------------------------------------------------/お問い合わせ----------------------------------------------------*/
/*------------------------------------------------------バレル研磨------------------------------------------------------*/
.single_kv {
  position: relative;
}
.single_kv-img {
  background-size: cover;
  background-position: 21%;
  width: 100%;
  height: 36.5vh;
}
.page-id-9 .single_kv-img {
  background: url("../image/single/barrel-polishing/kv.jpg") no-repeat;
  background-size: cover;
  background-position: 21%;
}
@media (max-width: 750px) {
  .single_kv-img {
    background-size: cover;
    width: 100vw;
    height: 25.5vh;
  }
  .page-id-9 .single_kv-img {
    background: url("../image/single/barrel-polishing/kv_750.jpg") no-repeat;
    background-size: cover;
  }
}
@media (max-width: 750px) {
  .single_kv h1 {
    text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.8);
  }
}
div.breadcrumbs {
  font-size: 16px;
  width: min(90%, 1216px);
  margin: 1.3vw auto 0;
}
div.breadcrumbs .name {
  color: #23459f;
}
div.breadcrumbs .name:hover {
  text-decoration: underline;
}
div.breadcrumbs span {
  margin: 0 4px;
}
.breadcrumbs a:hover {
  text-decoration: underline #23459f;
}
@media (max-width: 750px) {
  div.breadcrumbs .name {
    font-size: 14px;
  }
  div.breadcrumbs {
    width: 95%;
    font-size: 14px;
    margin: 20px 1.5% 0 1.5%;
  }
}
.movie {
  display: block;
  width: 51vw;
  margin: 0 auto;
}
.movie_items {
  position: relative;
  margin-top: 4.1vw;
}
.movie_items::after {
  content: "";
  background: #23459f;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 18vw;
  z-index: -1;
}
.detail {
  margin-top: 6.2vw;
}
@media (max-width: 750px) {
  .movie_items {
    margin-top: 8vw;
  }
  .movie {
    width: 89vw;
  }
  .movie_items::after {
    height: 37vw;
  }
  .detail {
    margin-top: 10vw;
  }
}
.title_item {
  border-bottom: 2px solid #23459f;
  margin-bottom: 2vw;
}
.title_item h2 {
  color: #23459f;
  font-weight: bold;
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5vw;
}
@media (max-width: 750px) {
  .title_item {
    margin-bottom: 20px;
  }
  .title_item h2 {
    gap: 10px;
  }
}
.title_item img {
  width: 1.6vw;
}
@media (max-width: 750px) {
  .title_item img {
    width: 5vw;
  }
}
.detail_img-text {
  display: flex;
  align-items: flex-start;
  gap: 2.6vw;
}
.detail_img-items {
  width: 50%;
}
.detail_text {
  width: min(650px, 100%);
}
.purpose {
  margin-top: 20px;
}
.purpose ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media (max-width: 750px) {
  .detail_img-text {
    flex-direction: column;
    gap: 20px;
  }
  .detail_img {
    width: 100%;
  }
  .detail_text {
    flex: 0;
    width: 100%;
  }
}
.detail_text h3 {
  display: flex;
  color: #23459f;
  font-weight: bold;
  line-height: 1.3;
  align-items: center;
  margin-left: 0.29vw;
}
.detail_text h3::before {
  content: "";
  display: inline-flex;
  align-items: baseline;
  background: #23459f;
  width: 5px;
  height: 19px;
  margin-right: 0.5vw;
  margin-bottom: 2px;
}
.detail_text ul {
  padding-top: 16px;
}
.detail_text ul li {
  display: flex;
  font-size: 16px;
}
@media (min-width: 1024px) and (max-width: 1440px) {
  .single h2 {
    font-size: 20px;
  }
}
@media (max-width: 750px) {
  .detail_text ul {
    padding-top: 1vw;
  }
  .detail_text ul li {
    font-size: 15px;
    line-height: 1.75;
  }
  .detail_text h3::before {
    width: 3px;
    height: 16px;
    margin-right: 1.5vw;
  }
}
.merit p {
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #23459f;
  padding: 0.5vw 0;
}
.merit ul {
  border: 2px solid #23459f;
  padding: 0.6vw 12px;
}
@media (max-width: 750px) {
  .merit p {
    padding: 2vw 0;
    font-size: 14px;
  }
  .merit ul {
    padding: 12px;
    margin-top: -1px;
  }
}
.demerit {
  margin-top: 10px;
}
.demerit p {
  background: #757575;
}
.demerit ul {
  border: 2px solid #757575;
}
.detail_text-a {
  margin-top: 20px;
}
@media (max-width: 750px) {
  .detail_img-items {
    width: 100%;
  }
  .purpose ul {
    padding-top: 8px;
    gap: 4px;
  }
}
.detail_btn {
  display: block;
  color: #23459f;
  font-size: 17px;
  font-weight: bold;
  margin-top: 10px;
}
.detail_btn::after {
  content: "";
  display: inline-block;
  align-items: flex-end;
  background: url("../image/icon/single_icon.svg") no-repeat;
  width: 12px;
  height: 10px;
  margin-left: 10px;
}
.detail_btn:hover {
  opacity: 0.7;
}
.detail_bg {
  background: #f5f5f5;
}
.detail_bg-padding {
  padding: 5.2vw 0;
}
.works_loop {
  margin: 6.2vw auto;
}
@media (max-width: 750px) {
  .detail_bg-padding {
    padding: 10vw 0;
  }
  .works_loop {
    margin: 10vw auto 13vw;
  }
  .detail_btn {
    margin-top: 30px;
  }
}
.works_loop-title h2 {
  display: flex;
  color: #23459f;
  font-weight: bold;
  align-items: center;
  margin-left: 0.29vw;
}
.works_loop-title h2::before {
  content: "";
  display: inline-flex;
  align-items: baseline;
  background: #23459f;
  width: 5px;
  height: 19px;
  margin-right: 0.5vw;
}
@media (max-width: 750px) {
  .works_loop-title h2 {
    font-size: 18px;
    line-height: 1.4;
    margin-left: 0;
  }
  .works_loop-title h2::before {
    margin-right: 8px;
  }
}
.works_loop-title h2::after {
  content: "";
  display: inline-flex;
  align-items: center;
  background: #23459f;
  width: 34px;
  height: 2px;
  margin-left: 0.6vw;
}
.works_loop-title {
  display: flex;
  align-items: center;
  gap: 0.7vw;
}
.works_loop-title p {
  color: #d0364f;
  font-size: 1vw;
  font-weight: bold;
}
@media (max-width: 750px) {
  .works_loop-title p {
    font-size: 16px;
  }
  .single .works_post-items h3, .single .common_works-post-items h3 {
    font-size: 18px;
    padding: 8px 40px;
    margin-top: -19px;
  }
}
.works_loop-items {
  margin-top: 3vw;
}
.contact {
  background: url(../image/single/contact_bg.jpg) no-repeat;
  background-size: cover;
}
@media (max-width: 750px) {
  .contact {
    background: url(../image/single/contact_750.jpg) no-repeat;
    background-size: cover;
  }
}
.contact_text {
  position: relative;
}
.contact_text p {
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.8);
}
.single .contact_text::before {
  content: "";
  display: block;
  background: url(../image/icon/contact_icon.svg) no-repeat;
  width: 24px;
  height: 54px;
  position: absolute;
  top: 32%;
  left: 34%;
}
.single .contact_text::after {
  content: "";
  display: block;
  background: url(../image/icon/contact_icon-a.svg) no-repeat;
  width: 24px;
  height: 54px;
  position: absolute;
  top: 32%;
  right: 34.5%;
}
@media (max-width: 1024px) {
  .single .contact_text::before {
    left: 15%;
  }
  .single .contact_text::after {
    right: 15.5%;
  }
}
@media (max-width: 750px) {
  .single .contact_text::before {
    height: 34px;
    top: 34%;
    left: 7%;
  }
  .single .contact_text::after {
    height: 34px;
    top: 34%;
    right: 5%;
  }
  .contact_text p {
    text-shadow: none;
  }
}
.contact_text-a {
  color: #fff;
  font-size: 1.25vw;
  text-align: center;
}
.contact_text-b {
  color: #fff;
  font-size: 2.1875vw;
  text-align: center;
  margin-top: -0.4vw;
}
.single .contact_items {
  padding: 5.2vw 0;
}
@media (max-width: 1024px) {
  .contact_text-a {
    font-size: 3vw;
  }
  .contact_text-b {
    font-size: 5vw;
  }
}
@media (max-width: 750px) {
  .contact_text-a {
    font-size: 16px;
    font-weight: bold;
  }
  .contact_text-b {
    font-size: 24px;
    font-weight: bold;
  }
  .single .contact_items {
    padding: 18vw 0 24vw;
  }
}
@media (max-width: 375px) {
  .contact_text-a {
    font-size: 13px;
  }
  .contact_text-b {
    font-size: 21px;
  }
}
.contact_btn-items {
  display: flex;
  justify-content: center;
  margin-top: 2vw;
  gap: 1.6vw;
}
@media (max-width: 1024px) {
  .contact_btn-items {
    margin-top: 3vw;
  }
}
.single .contact_btn a.btn_23 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  padding: 4px 0;
  background: #23459f;
  border: 2px solid #23459f;
  color: #fff;
  position: relative;
  margin: 0;
  overflow: hidden;
  z-index: 1;
  gap: 7px;
  width: 100%;
  height: 77px;
}
@media (max-width: 1470px) {
  .single .contact_btn a.btn_23 {
    font-size: 31px;
  }
}
.cls-1 {
  fill: #fff;
}
.contact_btn-a:hover .cls-1 {
  fill: #23459f;
}
.single .contact_btn-a svg {
  width: 10%;
}
@media (max-width: 750px) {
  .single .contact_btn-a svg {
    width: 8%;
  }
}
.single .contact_btn a.btn_23::before {
  width: 100%;
  border: 2px solid #fff;
  background-color: rgb(255, 255, 255);
  transform: translateX(-101%);
}
.single .contact_btn a.btn_23:hover::before {
  transform: translateX(0);
}
.contact_btn-a a.btn_23:hover {
  color: #23459f;
}
.contact_btn-a .btn_23::after {
  display: none;
}
@media (max-width: 750px) {
  .contact_btn-a .btn_23:hover::after {
    width: 26px;
    height: 26px;
    top: 14px;
    left: 32px;
  }
}
.contact_btn-b a.btn_23:hover {
  color: #d0364f;
}
.contact_btn-b, .contact_btn-a {
  width: min(380px, 43%);
  height: 77px;
}
@media (max-width: 750px) {
  .contact_btn-b, .contact_btn-a {
    width: 90%;
    margin: 0 auto;
  }
}
.single .contact_btn-b a.btn_23 {
  font-size: 32px;
  align-items: center;
  background: #d0364f;
  border: 2px solid #d0364f;
  padding-top: 6px;
  width: 100%;
  height: 77px;
  gap: 7px;
}
@media (max-width: 1350px) {
  .single .contact_btn-b a.btn_23 {
    font-size: 28px;
  }
}
.cls {
  stroke-width: 2.3px;
}
.cls, .cls-0 {
  fill: none;
  stroke: #fff;
  stroke-miterlimit: 10;
}
.cls-0 {
  stroke-width: 2px;
}
.single .contact_btn-b svg {
  width: 12%;
}
@media (max-width: 750px) {
  .single .contact_btn-b svg {
    width: 9%;
  }
}
.contact_btn-b:hover .cls, .contact_btn-b:hover .cls-0 {
  stroke: #d0364f;
}
.contact_btn-b .btn_23::after {
  display: none;
}
.contact_btn-b .btn_23:hover::after {
  display: none;
}
.single .singleworks_btn .btn_23::after {
  border-top: 2px solid #d0364f;
  border-right: 2px solid #d0364f;
}
.single .singleworks_btn .btn_23:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media (max-width: 750px) {
  .single .contact .contact_btn-a a.btn_23 {
    font-size: 32px;
    align-items: center;
    height: 68px;
    padding-top: 7px;
  }
  .single .contact .contact_btn-b a.btn_23 {
    align-items: center;
    height: 68px;
    gap: 10px;
  }
  .contact_btn-b .btn_23::after {
    width: 38px;
    height: 26px;
    top: 49%;
    left: 14vw;
  }
  .contact_btn-items {
    flex-direction: column;
    margin-top: 8vw;
    gap: 2vw;
  }
}
/*------------------------------------------------/バレル研磨------------------------------------------------*/
/*------------------------------------------------ショットブラスト------------------------------------------------*/
.page-id-67 .single_kv-img {
  background: url(../image/single/shotblasting/kv.jpg) no-repeat;
  background-position: 0 -66%;
  background-size: cover;
}
@media (max-width: 750px) {
  .page-id-67 .single_kv-img {
    background-position: 45%;
  }
}
/*------------------------------------------------/ショットブラスト------------------------------------------------*/
/*------------------------------------------------バフ両面ラップ研磨------------------------------------------------*/
.page-id-70 .single_kv-img {
  background: url(../image/single/buffdoublesidedwrap/kv.jpg) no-repeat;
  background-position: 0 1%;
  background-size: cover;
}
@media (max-width: 750px) {
  .page-id-70 .single_kv-img {
    background-position: 45%;
  }
  .page-id-70 .single_kv h1 {
    width: 53%;
  }
}
/*------------------------------------------------/バフ両面ラップ研磨------------------------------------------------*/
/*------------------------------------------------浸炭防止加工/コーティング加工/金属歪取------------------------------------------------*/
.page-id-72 .single_kv-img {
  background: url(../image/single/processing/kv.jpg) no-repeat;
  background-position: 0 56%;
  background-size: cover;
}
.page-id-72 .merit:nth-child(1) {
  margin: 0;
}
.page-id-72 .works_loop-title br {
  display: none;
}
.single-main_img {
  width: 51.4%
}
@media (max-width: 750px) {
  .page-id-72 .single_kv-img {
    height: 30.5vh;
  }
  .page-id-72 .single_kv-img {
    background-position: 45%;
  }
  .page-id-72 .single_kv h1 {
    line-height: 32px;
    width: 90%;
  }
  .page-id-72 .works_loop-title br {
    display: block;
  }
  .single-main_img {
    width: 90%
  }
}
/*------------------------------------------------/浸炭防止加工/コーティング加工/金属歪取------------------------------------------------*/
/*link調整*/
#toki_2 {
  padding-top: 100px;
  margin-top: -100px;
}
/*link調整*/
.section02 {
  margin-bottom: 5vw;
}
.title_h3-opac h3 {
  opacity: 0;
}
.page-id-37 .section02 p {
  margin-top: 10px;
}
@media (max-width: 750px) {
  .section02 {
    margin-bottom: 10vw;
  }
  .page-id-37 .section02_img-items {
    margin-top: 20px;
    flex-direction: column;
    gap: 40px;
  }
  .page-id-37 .detail_text {
    margin-top: 20px;
  }
  .page-id-37 .section02 p {
    margin-top: 0px;
  }
}
/*------------------------------------------------2025.07.29 追加CSS------------------------------------------------*/
.space_m {
  margin-top: 14px;
}
.sdgs .bl_space-h2 {
  padding: 2vw 0;
}
.about_items-qualification {
  width: 100%;
}