
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');
a{
    cursor: pointer;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}
@font-face {
    font-family: 'OPTIMA'; /* 任意のフォント名 */
    src: url('../font/OPTIMA.woff') format('woff');
    font-weight: normal;
    font-style: normal;
  }
.eng{
font-family: "futura-pt", sans-serif;
}
.jp{
    font-family: "Zen Kaku Gothic New", sans-serif;
}
.font-ttl{
font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
}
body{
    font-family: "Zen Kaku Gothic New", sans-serif;
margin: 0;
overflow-x: clip;
color: #2A2A2A;
font-weight: 500;
}
.bg-video{
  pointer-events: none; /* これでホバー/クリックが効かない＝止まらない */
}

html{
color: #3d3e41;
font-family: "Zen Kaku Gothic New", sans-serif;
}

img{
    width: 100%;
    height: auto;
}
.w-1280{
width: 100%;
margin: auto;
max-width: 1280px;
}
.w-1240{
width: 100%;
margin: auto;
max-width: 1240px;
}
.w-1200{
width: 100%;
margin: auto;
max-width: 1200px;
}

.w-1120{
    width: 100%;
    margin: auto;
    max-width: 1120px;
    }

.w-1140{
    width: 100%;
    margin: auto;
    max-width: 1140px;
    }
.w-1000{
    width: 100%;
    margin: auto;
    max-width: 1040px;
    }

.w-810{
    width: 100%;
    margin: auto;
    max-width: 810px;
    }

header.section-header {
position: fixed;
width: calc(100% - 120px);
left: 50%;
transform: translateX(-50%);
z-index: 99999;
background-color: #fff;
top: 24px;
border-radius: 10px;
padding: 10px 10px 10px 30px;
border: 1px solid #9B9B9B;
}

.top-fv{
    height: 100svh;
    width: 100%;
    background-position: center;
    background-size: cover;
    position: relative;
}
.top-fv video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    left: 0;
    top: 0;
}

.top-fv__inner{
    position: relative;
    z-index: 2;
    height: 100%;
}

.section-header_inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.section-header_inner .section-header__logo{
    display: block;
    width: 190px;
    height: auto;
    object-fit: contain;
}

.section-header__navi ul {
    display: flex;
    gap: 32px;
}
.section-header__nav-group{
        display: flex;
    align-items: center;
}
.section-header__nav-group__wrap{
    display: flex;
    gap: 40px;
    align-items: center;
}
.contact-btn{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    font-size: 14px;
    width: 160px;
    border-radius: 10000px;
    background-color: #EF363A;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}

.top-fv__inner__text{
    display: flex;
    align-items: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
}

.top-fv__inner__text svg {
    display: flex;
    width: 50%;
    height: auto;
    object-fit: contain;
    object-position: center;
    margin: auto auto 125px 60px;
    align-items: center;
    min-width: 700px;
}
.logo-stagger .cls-1{
    opacity: 0;
  transform: translateY(0px);
}
/* 全パスを「順番表示」にする */
.load-end .logo-stagger .cls-1 {
  animation-name: logo-reveal;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  /* 1つあたりの表示時間 = 総時間 / 要素数 */
  animation-duration: calc(1.5s / var(--total, 1));
  /* 開始ディレイ + 順番ディレイ */
  animation-delay: calc(0s + var(--i, 0) * (1.5s / var(--total, 1)));
}
.logo-stagger.pc{
    display: block;
}
.logo-stagger.sp{
    display: none;
}
h3.eng.sub-copy {
    position: absolute;
    width: calc(100% - 40px);
    left: 60px;
    bottom: 80px;
    color: #fff;
    font-size: 18px;
}
/* h3 をふわっと */
.eng.sub-copy{
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .6s ease, transform .6s ease;
}
.eng.sub-copy.is-on{
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width:768px) {
.logo-stagger.pc{
    display: none;
}
    .logo-stagger.sp{
        display: block;
    }
.top-fv__inner__text svg {
    display: flex;
    width: 100%;
    height: auto;
    min-width: auto;
    object-fit: contain;
    object-position: center left;
    margin: auto 20px 90px 20px;
    align-items: center;
}
h3.eng.sub-copy {
    position: absolute;
    width: calc(100% - 40px);
    left: 20px;
    bottom: 40px;
    color: #fff;
    font-size: 14px;
}
/* 全パスを「順番表示」にする */
.load-end .logo-stagger .cls-1 {
  animation-name: logo-reveal;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  /* 1つあたりの表示時間 = 総時間 / 要素数 */
  animation-duration: calc(1.5s / var(--total, 1));
  /* 開始ディレイ + 順番ディレイ */
  animation-delay: calc(0s + var(--i, 0) * (1.5s / var(--total, 1)));
}
}
@keyframes logo-reveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.top-fv__inner__text__slider {
    font-size: 32px;
    white-space: nowrap;
}
.top-fv__inner__text__slider li {
    display: inline-block;
    margin: 0;
    padding: 0 0 0 0; /* テキスト間の余白（不要なら0に） */
}

ul.top-fv__inner__text__slider {
    position: absolute;
    bottom: 24px;
    left: 0;
    color: #fff;
}


.recruit-fv__inner__text__slider {
    font-size: 80px;
    white-space: nowrap;
    color: #E6E6E6;
}

.top-about__ttl{
    display: flex;
    flex-direction: column;
    gap: 32px;
    font-size: 44px;
    margin-bottom: 40px;
}
.top-about__inner{
    padding-top: 220px;
    padding-bottom: 140px;
}
.top-about__inner p{
    line-height: 2.7;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 40px;
}

.btn-style{
  background-color:#EF363A;
  border-radius:10000000px;
  width:180px;
  height:50px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#fff;
  overflow:hidden;
  position:relative;

  /* 追加: ボタンのリセット */
  border:none;
  padding:0;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}

.btn-style .text-roling{
  position:absolute;
  left:24px;
  top:50%;
  transform:translateY(-50%);
  transition:.25s;
}

.btn-style .text-roling-after{
  position:absolute;
  left:24px;
  top:50%;
  transform:translateY(-270%);
  transition:.25s;
}

.btn-style:hover .text-roling{
  transform:translateY(270%);
}

.btn-style:hover .text-roling-after{
  transform:translateY(-50%);
}

.btn-style::before{
  content:"";
  display:block;
  width:4px;
  height:4px;
  right:24px;
  top:50%;                 /* 追加 */
  transform:translateY(-50%); /* 追加 */
  background-color:#fff;
  border-radius:10000px;
  position:absolute;
  transition:.25s;
}

.btn-style:hover::before{
  width:10px;
  height:10px;
  right:21px;
  transition:.25s;
}

/* 送信中は無効っぽく見せる（任意） */
.wpcf7-form.submitting .btn-style{
  opacity:.6;
  pointer-events:none;
}







a.btn-style02{
    background-color: #fff;
    border-radius: 10000000px;
    width: 180px;
    height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #2A2A2A;
    overflow: hidden;
    position: relative;
    border: 1px solid #2A2A2A;
}
.btn-style02 .text-roling{
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    transition: .25s;
}
.btn-style02 .text-roling-after{
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-270%);
    transition: .25s;
}

.btn-style02:hover .text-roling{
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(270%);
    transition: .25s;
}
.btn-style02:hover .text-roling-after{
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    transition: .25s;
}

.btn-style02::before{
content: "";
display: block;
width: 4px;
height: 4px;
right: 24px;
background-color: #2A2A2A;
border-radius: 10000px;
position: absolute;
    transition: .25s;
}

.btn-style02:hover::before{
width: 10px;
height: 10px;
right: 21px;
    transition: .25s;
}

.top-service__inner h2.service-ttl {
    font-size: 50px;
    line-height: 1.4;
    font-weight: 500;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 60px;
    width: calc(50% - 40px);
}
.top-service__inner__text{
    width: calc(50% - 40px);
}
.top-service__inner h2.service-ttl span{
    font-size: 14px;
    line-height: 1.4;
}

.top-service__inner__ttl picture{
    display: block;
    width: 250px;
    object-fit: contain;
    object-position: center;
    margin-bottom: 32px;
}

.top-service__inner__ttl h3{
    font-size: 32px;
    line-height: 1.5;
}

.top-service__inner__flex-box {
    display: flex;
    gap: 80px;
    justify-content: space-between;
}

.top-service__inner__text p{
    line-height: 2;
    margin-bottom: 40px;
}


.top-service__inner__flex-box a.btn-style {
    width: 270px;
}
.top-service__inner__text p{
    font-size: 14px;
}
.top-service__inner.w-1240{
    padding-top: 80px;
    padding-bottom: 80px;
    color: #fff;
}

.top-service__inner__list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.top-service{
    background-image: url(../images/top/default-img.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}
.top-service::before{
    position: absolute;
    content: "";
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #070707b0;
}.top-service__inner__list li {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 28px;
    color: #d1d1d1;
    line-height: 1.4;
    padding: 28px;
    width: calc(100% / 4);
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease; /* アニメーション用 */
}
.top-service__inner__list li::before{
    background-color: #fff;
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: .25s;
    position: absolute;
    border: 0px solid #ccc;
}
.top-service__inner__list:hover li::before{
     width: calc(100% - 20px);
    height: calc(100% - 20px);
    transition: .25s;
    border: 0.25px solid #ccc;
    border-radius: 20px;
    opacity: .5;
}
.top-service__inner__list li div{
    position: relative;
    text-align: center;
}
.top-service__inner__list li:hover::before{
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    transition: .25s;
    border: 0.25px solid #ccc;
    border-radius: 20px;
    opacity: 1;
}
.top-service__inner__list li span {
    display: block;
    text-align: center;
    font-size: 16px;
    color: #2A2A2A;
}

.top-service__inner,
.top-service__inner__list {
    position: relative;
}

.top-service {
    background-size: cover;
    background-position: center;
    transition: background-image 0.25s; /* ふわっと切り替え */
}

.top-partners{
background-color: #EEEEEE;
padding-top: 150px;
padding-bottom: 150px;
}

.top-partners__ttl{
    font-size: 50px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    justify-content: center;
    margin-bottom: 27px;
}

.top-partners__ttl span{
    font-size: 14px;
}
.partner-slider { 
    list-style:none; 
    padding:0; 
    margin:0;
 }
.partner-slider__item { 
    width:175px; 
    height:100px; 
    margin-right:15px; 
    display:inline-block; 
}
.partner-slider__item img { 
    width:175px; 
    height:100px; 
    object-fit:contain; 
    display:block; 
}

/* 下段はrtlなので左側に余白を持たせる */
.partner-slider--bottom .partner-slider__item { 
    margin-right:0; 
    margin-left:15px; 
}


.partners {
    background: #fff;
    padding-top: 30px;
    padding-bottom: 30px;
}

ul.partner-slider.partner-slider-bottom{
    margin-top: 15px;
}

section.company-intro{
    position: relative;
}

section.company-intro::before{
content: "";
height: 100%;
width: 70vw;
display: block;
position: absolute;
right: 0;
bottom: 0;
background-image: url(../images/company/company-before.png);
background-position: right bottom;
background-repeat: no-repeat;
background-size: contain;
}

.company-intro__inner.w-1200{
    position: relative;
    z-index: 2;
}

.top-news{
    background-color: #3A3A3A;
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
    overflow: hidden;
}
.top-news::before {
    width: 100%;
    height: calc(100% - 160px);
    min-height: 480px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url(../images/common/w-logo-news.png);
    content: "";
    position: absolute;
    display: block;
    left: 20px;
    top: 50px;
}
.top-news__inner{
    color: #fff;
    display: flex;
    position: relative;
}

.top-news__inner h2{
    font-size: 50px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 4px;
    width: 300px;
}

.top-news__inner h2 span{
    font-size: 14px;
}

.top-news__inner .top-news__inner__content{
    width: calc(100% - 300px);
    max-width: 750px;
}

.top-news__inner__content__list {
    display: flex;
    gap: 24px;
    flex-direction: column;
    margin-bottom: 40px;
}

.top-news__inner__content__list li a {
    padding-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-bottom: 1px solid hsla(0, 0%, 100%, 0.2);
}
.top-news__inner__content__list li a h3{
    position: relative;
    padding-right: calc(57px + 14px);

}
.top-news__inner__content__list li a h3::before{
    position: absolute;
    content: "";
    background: url(../images/common/arrows-news.png);
    width: 17px;
    height: 14px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);

}
.top-news__inner__content__list__tag{
    font-size: 14px;
    display: block;
    padding: 4px;
    min-width: 120px;
    border: 1px solid #fff;
    border-radius: 10000px;
    width: max-content;
    text-align: center;
}
.top-news__inner__content__list__top{
    display: flex;
    align-items: center;
    gap: 12px;
}


.top-recruit__inner.w-1240 {
    padding-top: 130px;
    padding-bottom: 130px;
}


.top-recruit {
    position: relative;
}

.top-recruit__inner__ttl{
    font-size: 50px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 4px;
    width: 300px;
    margin: auto;
    margin-bottom: 50px;
    text-align: center;
}
.top-recruit__inner__ttl span {
    font-size: 14px;
}
.top-recruit__inner .font-ttl{
    font-size: 38px;
    line-height: 1.5;
    margin-bottom: 16px;
    text-align: center;
}
.top-recruit__inner p{
    line-height: 2;
    font-size: 14px;
    margin-bottom: 40px;
    text-align: center;
}
.top-recruit__inner__wrap {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.parts-head{
    background-color: #3A3A3A;
    position: relative;
}
.parts-head__inner{
    padding-top: 265px;
    padding-bottom: 95px;
    position: relative;
}

.parts-head h1{
    font-size: 80px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    color: #fff;
}

.parts-head h1 span{
    margin-left: 10px;
    padding-left: 24px;
    font-size: 20px;
    position: relative;
}

.parts-head h1 span::before{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    content: "";
    display: block;
    background-color: #fff;
    border-radius: 100000px;
}

.parts-head::before {
    width: 100%;
    height: calc(100% + 32px + 54px);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../images/common/w-logo-news.png);
    content: "";
    position: absolute;
    display: block;
    left: 50%;
    top: -32px;
    transform: translateX(-50%);
}

.parts-head::after {
    content: "";
    position: absolute;
    display: block;
    right: 0;
    transform: translateY(-50%);
    width: 50vw;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: left center;
    top: 50%;
}


.parts-head.service-header::after{
    background-image: url(../images/service/head-service-img.png);
}

.parts-head.company-header::after{
    background-image: url(../images/company/head-company-img.png);
}

.parts-head.contact-header::after{
    background-image: url(../images/contact/head-contact-img.png);
}
.service-intro__inner{
    padding-top: 80px;
    padding-bottom: 80px;
}

.service-intro__inner p {
    line-height: 2.2;
}

.service-what-it{
    padding-top: 100px;
    padding-bottom: 150px;
    background-color: #EEEEEE;
}
.service-what-it h2{
    margin-bottom: 36px;
    font-size: 40px;
}

.service-what-it p{
   line-height: 2.1;
   margin-bottom: 40px;
}
section.service-oem{
  position: relative;
  color: #fff;
  /* ← sticky の親に overflow: hidden を付けないのがコツ（Safariで崩れやすい） */
  /* overflow: hidden;  は外す or 内側要素に移す */
}

/* 背景レイヤー：ビューポートに貼り付く */
.service-oem__bg{
  position: sticky;
  top: 0;
  height: 100vh;
  background-image: url(../images/service/bg-service-pc.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;           /* 背景に回す */
  will-change: transform; /* Safariのカクつき軽減 */
}

/* コンテンツは前面に */
.service-oem__inner {
    position: relative;
    z-index: 1;
    padding-bottom: 150px;
    margin-top: -30vh;
}

.service-oem__inner__ttl{
    font-size: 38px;
    margin-bottom: 32px;
}
.service-oem__inner > p{
    line-height: 2.2;
    font-size: 16px;
    margin-bottom: 120px;
}
.service-oem__list {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.service-oem__list li{
    display: flex;
    padding: 28px 15px 15px;
    width: calc((100% - 40px) / 2);
    border-radius: 10px;
    background-color: #fff;
    color: #292929;
    flex-direction: column;

}
.service-oem__list li div{
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 32px;
    width: 100%;
}

.service-oem__list li div h3{
    padding-left: 18px;
    position: relative;
    margin-bottom: 24px;
}

.service-oem__list li div h3::before {
   width: 5px;
   height: 5px;
   border-radius: 100000px;
   background-color: #292929;
   display: block;
   left: 0;
   top: 50%;
   transform: translateY(-50%);
   content: "";
   position: absolute;
}


.service-oem__list li div h4{
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 12px;
}

.service-oem__list li div p{
    font-size: 14px;
    line-height: 1.9;
}


.service-oem__list li:nth-of-type(2n){
    margin-top: 120px;
}

.company-intro__inner{
    padding-top: 200px;
    padding-bottom: 180px;
}

.company-intro__inner h2{
 font-size: 40px;
 line-height: 1.8;
 margin-bottom: 50px;
}
.company-intro__inner__text-box{
    padding-left: 24px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    line-height: 2.5;
}

.company-intro__inner h2>span{
    display: flex;
    gap: 8px;
    align-items: center;
}

.company-intro__inner h2>span .text-bg-bk{
    display: block;
    width: max-content;
    background-color: #3A3A3A;
    color: #fff;
    padding: 8px 24px;
    line-height: 1.2;
}

.company-identitiy{
    background-color: #3A3A3A;
    padding-top: 120px;
    padding-bottom: 120px;
    color: #fff;
}


.company-identitiy h2 {
    font-size: 50px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 40px;
}

.company-identitiy h2 span {
    font-size: 14px;
}

.company-identitiy__list{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.company-identitiy__list li{
   display: flex;
   justify-content: space-between;
    background-color: #494949;
    border-radius: 10px;
    padding: 32px 50px;
    align-items: center;
    min-height: 200px;
    position: relative;
}

.company-identitiy__list li::before{
    position: absolute;
    left: 220px;
    top: 0;
    height: 100%;
    content: "";
    width: 1px;
    background-color: #5B5B5B;
}

.company-identitiy__list-ttl {
    width: 170px;
    gap: 8px;
    display: flex;
    flex-direction: column;
}


.company-identitiy__list-ttl span:nth-child(1){
    font-size: 18px;
    color: #EF363A;
}

.company-identitiy__list-ttl span:nth-child(2){
    font-size: 14px;
}

.company-identitiy__list-text {
    font-size: 24px;
    line-height: 1.8;
    font-weight: bold;
    width: calc(100% - 170px);
    padding-left: 50px;
}

.company-identitiy__rules{
    width: 100%;
    max-width: 940px;
    margin: auto;
    margin-top: 120px;
    position: relative;
}

.company-identitiy__rules::before {
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right center;
    background-image: url(../images/common/w-logo-news.png);
    content: "";
    position: absolute;
    display: block;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
.company-identitiy__rules h2{
    margin-bottom: 50px;
    font-size: 40px;
    color: #EF363A;
}

.company-identitiy__rules h2 span{
    color: #fff;
}


.company-identitiy__rules ul{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.company-identitiy__rules ul li{
  width: 100%;
  font-size: 20px;
  display: flex;
  align-items: center;
  line-height: 1.25;
}

.company-identitiy__rules ul li .eng{
    color: #EF363A;
    font-size: 24px;
    width: 36px;
    display: block;
}

.company-profile__inner{
    display: flex;
    justify-content: space-between;
}
.company-profile__inner h2{
    width: 200px;
    font-size: 50px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 14px;
}

.company-profile__inner{
    padding-top: 120px;
    padding-bottom: 120px;
}
.company-profile__inner h2 span{
    font-size: 14px;
}

.company-profile__inner table{
    width: calc(100% - 200px);
    max-width: 700px;
}

.company-profile__inner table tbody{
    width: calc(100%);
    display: flex;
    gap: 16px;
    flex-direction: column;
}

.company-profile__inner table tbody tr{
   padding-bottom: 16px;
   border-bottom: 1px solid #DBDBDB;
}

.company-profile__inner table tbody tr th{
width: 185px;
color: #A5A5A5;
font-weight: 500;
line-height: 1.5;
}
.company-profile__inner table tbody tr td{
width: calc(100% - 185px);
line-height: 1.5;
}
.company-profile__inner table tbody tr td span{
    color: #EF363A;
}
.company-profile__inner table tbody tr td ul{
    display: flex;
    flex-direction: column;
    gap: 10px;
}




.min-parts-head{
    background-color: #3A3A3A;
    position: relative;
}
.min-parts-head__inner{
    padding-top: 144px;
    padding-bottom: 53px;
    position: relative;
}

.min-parts-head h1{
    font-size: 80px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    color: #fff;
}

.min-parts-head h1 span{
    margin-left: 10px;
    padding-left: 24px;
    font-size: 20px;
    position: relative;
}

.min-parts-head h1 span::before{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    content: "";
    display: block;
    background-color: #fff;
    border-radius: 100000px;
}
.min-parts-head__inner::before {
    width: 100%;
    height: calc(100% + 120px);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right center;
    background-image: url(../images/common/w-logo-news.png);
    content: "";
    position: absolute;
    display: block;
    right: 165px;
    top: 0px;
    transform: none;
}





.news-archive-content-list .top-news__inner__content__list li a {
    padding-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-bottom: 1px solid hsla(0, 0%, 16%, 0.2);
    transition: .25s;
}

.news-archive-content-list .top-news__inner__content__list li a:hover {
    color: #EF363A;
    transition: .25s;
}
.news-archive-content-list .top-news__inner__content__list__tag{
    border: 1px solid #292929;
    transition: .25s;
}

.news-archive-content-list li:hover .top-news__inner__content__list__tag{
    border: 1px solid #EF363A;
    transition: .25s;
    background-color: #EF363A;
    color: #fff;
}

section.news-archive-content-list {
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
    z-index: 2;
}
nav.news-pagination ul {
    display: flex;
    justify-content: center;
    gap: 16px;
}

nav.news-pagination ul span,
nav.news-pagination ul a{
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    width: 50px;
    height: 50px;
    border-radius: 10px;
    background-color: #D1D1D1;
    transition: .25s;
    font-size: 24px;
}
nav.news-pagination ul span{
    background-color: #3A3A3A;
    transition: .25s;
}

nav.news-pagination ul span:hover,
nav.news-pagination ul a:hover{
    background-color: #3A3A3A;
    transition: .25s;
}

section.news-single-content-list{
    padding-top: 100px;
    padding-bottom: 150px;
}
.news-single-content-list__date{
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    font-size: 20px;
}
.news-single-content-list__date .tag {
    font-size: 14px;
    display: block;
    padding: 4px;
    min-width: 120px;
    border: 1px solid #2A2A2A;
    border-radius: 10000px;
    width: max-content;
    text-align: center;
}
.news-single-content-list__inner h1 {
    font-size:36px;
    margin-bottom: 32px;
}
.thumbnail-images{
    margin-bottom: 48px;
}
.news-blog-content h2{
    font-size: 32px;
    margin-bottom: 32px;
    margin-top: 32px;
    font-weight: 700;
}
.news-blog-content h3{
    font-size: 24px;
    margin-bottom: 12px;
    position: relative;
    padding-left: 18px;
    line-height: 1.5;
    margin-top: 32px;
    font-weight: 700;
}

.news-blog-content p{
    font-size: 16px;
    margin-bottom: 12px;
    line-height: 2;
}

.news-blog-content h3::before{
    position: absolute;
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 100000px;
    background-color: #EF363A;
    left: 0;
    top: 15px;
}

footer {
    background: #EEEEEE;
    padding-top: 80px;
    padding-bottom: 80px;
}

.contact-parts{
    background: #EEEEEE;
    padding-top: 80px;
}

.contact-parts a{
    border-radius: 10px;
    background: #3A3A3A;
    padding: 50px 80px;
    display: block;
    width: 100%;
    color: #fff;
    position: relative
    ;
    overflow: hidden;
    transition: .25s;
}

.contact-parts a:hover{
    background: #EF363A;
    transition: .25s;
}
.contact-parts a::after{
    content: "";
    width: 100%;
    height: calc(100%);
    background-repeat: no-repeat;
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    background-image: url(../images/common/contact-bg.png);
    position: absolute;
    right: 80px;
    top: 0;
}

.contact-parts a::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    right: 100px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #fff;
    border-radius: 10000px;
    position: absolute;
    transition: .25s;
}

.contact-parts a:hover::before {
    width: 36px;
    height: 36px;
    right: 92px;
    transition: .25s;
}
.contact-parts a h2{
   font-size: 50px;
   margin-bottom: 12px;
   line-height: 1.4;
}

.contact-parts a p{
   font-size: 14px;
   line-height: 1.5;
   font-size:14px;
}

.attention-contact{
    text-align: center;
    line-height: 2.5;
    margin-bottom: 48px;

}
.contact-content-form__inner{
    padding-top: 56px;
    padding-bottom: 150px;
}


.contact-content-form__inner table{
    width: 100%;
    max-width: 1100px;
    margin: auto;
    margin-bottom: 40px;
}

.contact-content-form__inner tbody{
    width: 100%;
    display: flex;
    gap: 32px;
    flex-direction: column;
}

.contact-content-form__inner tbody tr{
    width: 100%;
    display: flex;
    gap: 32px;
}
.contact-content-form__inner tbody tr th {
    width: 210px;
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 18px;
    position: relative;
    top: 17px;
    height: max-content;
}

.contact-content-form__inner tbody tr td{
    width: calc(100% - 242px);
}
.contact-content-form__inner tbody tr th span.req{
   font-size: 16px;
   line-height: 1;
   padding: 5px 10px;
   background-color: #EF363A;
   color: #fff;
   border-radius: 10000px;

}

.contact-content-form__inner tbody tr th span.un-req{
   font-size: 16px;
   line-height: 1;
   padding: 5px 10px;
   background-color: #D1D1D1;
   color: #fff;
   border-radius: 10000px;

}
.contact-content-form__inner tbody tr td span{
    width: 100%;
    display: block;
}
/* テキスト・メール・電話・テキストエリアをまとめて指定 */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  width: 100%;
  padding: 18px 18px;
  border-radius: 4px;
  font-size: 16px;
  line-height: 1;
  box-sizing: border-box;
  background-color: #EEEEEE;
}
textarea {
  line-height: 1.5;
}

/* フォーカス時の共通スタイル */

.form-submit{
    margin-left: auto;
    margin-right: auto;
    width: max-content;
}
.privacy-box {
    margin-bottom: 40px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.privacy-box p{
    font-size: 18px;
}
.privacy-box p a{
    color: #EF363A;
}

.sitepolicy-archive-content-list__inner{
    padding-top: 50px;
    padding-bottom: 150px;
}
.sitepolicy-archive-content-list__inner{
    line-height: 1.5;
}

.sitepolicy-archive-content-list__inner h2{
font-size: 24px;
margin-bottom: 24px;
font-weight: 700;
}

.sitepolicy-archive-content-list__inner h3{
font-size: 20px;
margin-bottom: 20px;
font-weight: 700;
}

.sitepolicy-archive-content-list__inner p{
margin-bottom: 32px;
font-size: 16px;
}
.sitepolicy-archive-content-list__inner p span {
    padding-left: 16px;
    display: block;
}

.footer-logo-img{
    width: 330px;
    display: block;
    object-fit: contain;
    object-position: center;
    margin-bottom: 24px;
}
.footer-logo p{
    margin-bottom: 36px;
    line-height: 1.5;
}

.footer-logo__linkgroup.pc{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-logo__linkgroup li{
    display: flex;
    font-size: 14px;
}

.footer-logo__linkgroup li a{
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.5;
}

.footer-logo__linkgroup li a img{
    display: flex;
    width: 17px;
    height: 14px;
    object-fit: contain;
}

.footer__inner.w-1280 {
    display: flex;
    justify-content: space-between;
    padding-bottom: 64px;
    border-bottom: 1px solid #cdcdcd;
    margin-bottom: 10px;
}
.pc-nav-footer {
    width: 60%;
    display: flex;
    flex-wrap: wrap;
    max-width: calc(100% - 350px);
}

.pc-nav-footer > ul{
    width: max-content;
}
.pc-nav-footer > ul:first-child,
.pc-nav-footer > ul:nth-child(2) {
    margin-right: 64px;
}
.pc-nav-footer > ul > li {
    margin-bottom: 30px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

.pc-nav-footer > ul > li > ul {
    margin-top: 12px;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 8px;
}
.pc-nav-footer > ul > li > ul > li{
    position: relative;
    padding-left: 14px;
    font-weight: 500;
    line-height: 1.5;
}
.pc-nav-footer > ul > li > ul > li::before{
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 10000px;
    background-color: #EF363A;
    top: 50%;
    transform: translateY(-50%);
    left:0;
    content: "";
}

section.top-recruit{
    position: relative;
}

section.top-about{
    position: relative;
}
section.top-about::before{
    width: 100%;
    height: calc(100% - 160px);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right center;
    background-image: url(../images/common/logo-eee.png);
    content: "";
    position: absolute;
    display: block;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

section.top-recruit{
    position: relative;
}
section.top-recruit::before{
    width: 100%;
    height: calc(100%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url(../images/top/rec-bg-before.png);  
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

section.top-recruit::after{
    width: 100%;
    height: calc(100%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right center;
    background-image: url(../images/top/rec-bg-after.png);  
    content: "";
    position: absolute;
    display: block;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

.recruit-fv{
    background-image: url(../images/recruit/bg-rec.png);  
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}


.recruit-fv__inner__text{
    display: block;
    width: 100%;
    height: 40vh;
    
}

.recruit-fv__inner__text img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.recruit-content__inner{
    padding: 40px 0 100px;
}

.recruit-content__inner.w-1280 > ul {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.recruit-content__inner.w-1280 > ul > li{
    display: flex;
    justify-content: space-between;
    background-color: #EEEEEE;
    position: relative;
}
.recruit-content__inner__text {
    padding: 80px 100px 80px 100px;
    max-width: 800px;
    width: calc(100% - 560px);
}

.recruit-content__inner__text h3{
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size:50px;
}
.recruit-content__inner__text h3 span{
    font-size: 14px;
}
.recruit-content__inner.w-1280 > ul > li ul{
    display: flex;
    gap: 14px;
    flex-direction: column;
    margin-top: 28px;
}
.recruit-content__inner.w-1280 > ul > li ul li{
    padding-left: 20px;
    font-size: 20px;
    position: relative;
}
.recruit-content__inner.w-1280 > ul > li ul li::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: #EF363A;
    border-radius: 10000px;
    position: absolute;
    transition: .25s;
}

.recruit-content__inner.w-1280 > ul > li > img{
    width: 560px;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
}

.recruit-content__inner.w-1280 > ul > li:nth-child(2n) .recruit-content__inner__text {
    margin-left: auto;
    margin-right: 0;
}
.recruit-content__inner.w-1280 > ul > li:nth-child(2n) img {
    right: auto;
    left: 0;
    top: 0;
}

.recruit-link-group__linkcont{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.recruit-link-group__linkcont li{
   padding: 44px;
   background-color: #3A3A3A;
   color: #fff;
   width: calc((100% - 44px) / 2);
   border-radius: 10px;
   position: relative;
}
.recruit-link-group__linkcont li h2{
    font-size: 55px;
    margin-bottom: 24px;
    position: relative;
    z-index: 2;
}
.recruit-link-group__linkcont li div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}
.recruit-link-group__linkcont li::before{
    content: "";
    width: 100%;
    height: calc(100%);
    background-repeat: no-repeat;
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    background-image: url(../images/recruit/rec-link.png);
    position: absolute;
    left: 0;
    top: 0;

}
.recruit-link-group__linkcont li:nth-child(2){
   background-color: #EF363A;
   color: #fff;
}
.recruit-link-group{
    padding-top: 100px;
    margin-bottom: 200px;
    position: relative;
}
.recruit-link-group__inner.w-1200{
    position: relative;
    z-index: 2;
}
ul.recruit-fv__inner__text__slider.eng.slick-initialized.slick-slider {
    position: absolute;
    top: 20px;
}
.recruit-link-group__linkcont li:nth-child(2) .btn-style{
   background-color: #3A3A3A;
   color: #fff;
}
.recruit-link-group {
    overflow: hidden;
}
@media screen and (max-width:1280px) {
    
.w-1280,
.w-1240,
.w-1200,
.w-1120,
.w-1140,
.w-1000,
.w-810{
    padding-left: 20px;
    padding-right: 20px;
}

.top-fv{
    overflow: hidden;
}
section.top-about::before {
    width: 50%;
}
}
.hamburger-menu{
    display: none;
}

@media screen and (max-width:1100px) {

.section-header__nav-group__wrap{
    display: none;
}
    /* ボタン本体 */
.hamburger-menu{
  width: 28px;
  height: 28px; /* 2px×3本 + 16px×2間隔 = 38px */
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  color: #3A3A3A; /* 必要に応じて #fff 等に変更 */

        margin-right: 8px;
}

/* 3本線 */
.hamburger-menu span{
  position: absolute;
  left: 0;
  top: 50%;
  width: 28px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transform: translateY(-50%);
  transition: transform .25s ease, opacity .2s ease, background-color .25s ease;
  will-change: transform;
}

/* 上・中・下の配置（間隔16px） */
.hamburger-menu span:nth-child(1){
  transform: translateY(0%) translateY(-10px); /* 16 + 2(px) = 18px */
}
.hamburger-menu span:nth-child(2){
  /* 中央：基準のまま */
}
.hamburger-menu span:nth-child(3){
  transform: translateY(0%) translateY(8px);
}

/* アクティブ時（× に変形） */
.hamburger-menu.is-active span:nth-child(1){
  transform: translateY(-50%) rotate(45deg);
  background-color: #fff;
}
.hamburger-menu.is-active span:nth-child(2){
  opacity: 0;
  transform: translateY(-50%) scaleX(0.2);
  background-color: #fff;
}
.hamburger-menu.is-active span:nth-child(3){
  transform: translateY(-50%) rotate(-45deg);
  background-color: #fff;
}

.section-header__nav-group__wrap.active {
    position: fixed;
    width: 100vw;
    display: flex;
    height: 100vh;
    background-color: #3A3A3A;
    flex-direction: column;
    color: #fff;
    justify-content: center;
    left: 50%;
    top: 0;
    transform: translate(-50%,-32px);
}



    .top-about__inner p {
    line-height: 2.7;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 32px;
}
section.top-recruit::before {
    left: -20%;
}
section.top-recruit::after {
    right: -20%;
}

section.top-recruit {
overflow: hidden;
}
.top-news::before {
    width: 50%;
}
.top-service__inner__ttl h3 {
    font-size: 24px;
}
.top-service__inner__flex-box {
    display: flex;
    gap: 40px;
    justify-content: space-between;
}
.top-service__inner__text {
    width: calc(50% - 20px);
}
header.section-header {
    width: calc(100% - 40px);
}
.recruit-content__inner__text {
    padding: 40px 40px 40px 40px;
    max-width: 800px;
    width: 50%;
}
.recruit-content__inner.w-1280 > ul > li > img {
    width: 50%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
}
.recruit-content__inner.w-1280 > ul > li ul li {
    padding-left: 20px;
    font-size: 16px;
    position: relative;
}

.recruit-content__inner.w-1280 > ul > li ul {
    display: flex;
    gap: 8px;
    flex-direction: column;
    margin-top: 18px;
}
.recruit-content__inner__text h3 {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 32px;
}
}
.pc{
    display: block;
}
.sp{
    display: none;
}
@media screen and (max-width:768px) {
.pc{
    display: none;
}
.sp{
    display: block;
}
    .top-about__inner {
    padding-top: 180px;
    padding-bottom: 90px;
}
.top-about__ttl {
    display: flex;
    flex-direction: column;
    gap: 32px;
    font-size: 24px;
    margin-bottom: 40px;
}
section.top-about{
    overflow: hidden;
}
section.top-about::before {
    width: calc(100% + 40px);
    left: 70px;
    top: 0;
    transform: translate(0,0);
}
ul.top-fv__inner__text__slider {
    position: absolute;
    bottom: 24px;
    left: 0;
    color: #fff;
    font-size: 18px;
}
.top-service__inner.w-1240 {
    padding-top: 68px;
    padding-bottom: 50px;
    color: #fff;
}
.top-service__inner__flex-box {
    display: flex;
    gap: 32px;
    justify-content: space-between;
    flex-wrap: wrap;
}
.top-service__inner__text {
    width: 100%;
}
.top-service__inner__list li {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 28px;
    color: #d1d1d1;
    line-height: 1.4;
    padding: 28px;
    width: calc(100% / 2);
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
}
.top-service__inner__list li{
    font-size: 18px;
}
.top-service__inner__list li span {
    font-size: 13px;
}
.top-partners {
    background-color: #EEEEEE;
    padding-top: 120px;
    padding-bottom: 120px;
}
.partner-slider__item {
    width: 105px;
    height: 100px;
    margin-right: 15px;
    display: inline-block;
}
.top-news__inner {
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    position: relative;
}
.top-news__inner .top-news__inner__content {
    width: 100%;
    margin-top: 40px;
}
.top-news{
    overflow: hidden;
}
.top-news::before {
    width: calc(100% - 100px);
    height: calc(100% - 150px);
    min-height: auto;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right top;
    background-image: url(../images/common/w-logo-news.png);
    content: "";
    position: absolute;
    display: block;
    right: -70px;
    top: 10px;
    left: auto;
}
.contact-parts a::after {
    content: "";
    width: 80%;
    height: calc(100%);
    background-repeat: no-repeat;
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    background-image: url(../images/common/w-logo-news.png);
    position: absolute;
    right: auto;
    top: 40px;
    left: -14%;
}
.contact-parts a::before{
  display: none;
}
.contact-parts a span.arrows{
      width: 80px;
    height: 80px;
    background-color: transparent;
    background: transparent;
    border: 1px solid #fff;
    border-radius: 100000px;
    bottom: 20px;
    right: 20px;
    left: auto;
    top: auto;
    transform: none;
    content: "";
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
}
.contact-parts a span.arrows img{
      width: 5px;
    height: 10px;
    object-fit: contain;
}
.news-single-content-list__inner h1 {
    font-size: 24px;
    margin-bottom: 32px;
}
.contact-parts a:hover::before{
   display: none;
}
.news-blog-content p {
    font-size: 14px;
    margin-bottom: 12px;
    line-height: 2;
}
.news-blog-content h3::before {
    top: 10px;
}
.news-single-content-list__date .tag {
    font-size: 12px;
    display: block;
    padding: 4px;
    min-width: 100px;
}
.news-blog-content h3 {
    font-size: 18px;
    margin-bottom: 12px;
    position: relative;
    padding-left: 18px;
    line-height: 1.5;
    margin-top: 32px;
}
.news-blog-content h2 {
    font-size: 20px;
    margin-bottom: 20px;
    margin-top: 32px;
    line-height: 1.5;
}
.contact-parts a {
    border-radius: 10px;
    background: #3A3A3A;
    padding: 24px 24px 120px;
    display: block;
    width: 100%;
    color: #fff;
    position: relative;
    overflow: hidden;
    transition: .25s;
}
.top-recruit__inner.w-1240 {
    padding-top: 40px;
    padding-bottom: 40px;
}
section.top-recruit{
    padding: 20px 0;
}
section.top-recruit::before {
    width: 100%;
    height: 42vw;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url(../images/top/rec-bg-before-sp.png);
    content: "";
    position: relative;
    display: block;
    left: 0;
    top: 0;
    transform: none;
    z-index: -1;
}
section.top-recruit::after {
    width: 100%;
    height: 42vw;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left bottom;
    background-image: url(../images/top/rec-bg-after-sp.png);
    content: "";
    position: relative;
    display: block;
    left: 0;
    right: 0;
    top: 0;
    transform: none;
    z-index: -1;
}
.pc-nav-footer {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.footer__inner.w-1280 {
    display: flex;
    justify-content: space-between;
    padding-bottom: 64px;
    border-bottom: 1px solid #cdcdcd;
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.pc-nav-footer > ul {
    width: 100%;
}
.pc-nav-footer > ul > li {
    margin-bottom: 24px;
    font-size: 18px;
    font-weight: 700;
}

.recruit-content__inner.w-1280 > ul > li > img {
    width: 100%;
    height: 40vw;
    object-fit: cover;
    object-position: center;
    display: block;
    position: relative;
    right: 0;
    top: 0;
    order: 2;
}
.recruit-content__inner__text {
    padding: 40px 20px 40px 20px;
    max-width: 800px;
    width: 100%;
}
.recruit-link-group__linkcont li {
    padding: 32px 20px;
    background-color: #3A3A3A;
    color: #fff;
    width: 100%;
    border-radius: 10px;
}
.recruit-link-group__linkcont li h2 {
    font-size: 32px;
    margin-bottom: 14px;
}
.recruit-link-group__linkcont {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 24px;
}
.recruit-link-group__linkcont li div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    flex-direction: column;
}
.recruit-content__inner {
    padding: 40px 20px 40px;
}
.recruit-link-group {
    padding-top: 80px;
    margin-bottom: 120px;
    position: relative;
}
.recruit-link-group__linkcont li div p{
    line-height: 1.5;
    font-size: 14px;
}
.recruit-content__inner.w-1280 > ul > li {
    display: flex;
    justify-content: space-between;
    background-color: #EEEEEE;
    position: relative;
    flex-wrap: wrap;
}
.footer-logo-img {
    width: 211px;
    display: block;
    object-fit: contain;
    object-position: center;
    margin-bottom: 24px;
}
.pc-nav-footer > ul.footer-logo__linkgroup{
    font-size: 14px !important;
    gap: 8px !important;
}
.pc-nav-footer > ul.footer-logo__linkgroup li {
    font-size: 14px !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
    font-weight: 400;
}
.footer__inner.w-1280 {
    display: flex;
    justify-content: space-between;
    padding-bottom: 60px;
    border-bottom: 1px solid #cdcdcd;
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.parts-head__inner.w-1200 {
    position: relative;
    z-index: 2;
}
.parts-head__inner {
    padding-top: 150px;
    padding-bottom: 55px;
    position: relative;
}
.parts-head h1 {
    font-size: 48px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: #fff;
}
.parts-head h1 span {
    margin-left: 10px;
    padding-left: 18px;
    font-size: 18px;
    position: relative;
}
.service-intro__inner p {
    line-height: 2.2;
    font-size: 14px;
}
.service-what-it h2 {
    margin-bottom: 18px;
    font-size: 32px;
}
.service-what-it p {
    line-height: 2.1;
    margin-bottom: 32px;
    font-size: 14px;
}
.service-what-it p br{
   display: none;
}
.service-oem__inner {
    position: relative;
    z-index: 1;
    padding-bottom: 80px;
    margin-top: calc(-100vh + 80px);
}
.service-oem__inner > p {
    line-height: 2.2;
    font-size: 14px;
    margin-bottom: 40px;
}
.service-oem__inner__ttl {
    font-size: 28px;
    margin-bottom: 32px;
}
.service-oem__list {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.service-oem__list li {
    display: flex;
    padding: 28px 15px 15px;
    width: 100%;
    border-radius: 10px;
    background-color: #fff;
    color: #292929;
    flex-direction: column;
}
.service-oem__list li div p br{
    display: none;
}
.service-oem__list li:nth-of-type(2n) {
    margin-top: 0px;
}
.section-header__navi ul {
    display: flex;
    gap: 32px;
    flex-direction: column;
    text-align: center;
    font-size: 18px;
}
header.section-header {
    padding: 12px;
            width: calc(100% - 20px);
            top: 10px;
}
.company-intro__inner h2 {
    font-size: 24px;
    line-height: 1.8;
    margin-bottom: 32px;
}
.company-intro__inner {
    padding-top: 120px;
    padding-bottom: 120px;
}
.company-intro__inner__text-box{
    gap: 18px;
}
.company-intro__inner__text-box {
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 22px;
    line-height: 2.5;
    font-size: 14px;
}
.company-identitiy {
    background-color: #3A3A3A;
    padding-top: 80px;
    padding-bottom: 80px;
    color: #fff;
}
.company-identitiy__list li {
    display: flex;
    justify-content: space-between;
    background-color: #494949;
    border-radius: 10px;
    padding: 20px 32px;
    align-items: center;
    min-height: 200px;
    position: relative;
    flex-wrap: wrap;
    gap: 32px;
}
.company-identitiy__list-ttl {
    width: 100%;
    gap: 8px;
    display: flex;
    flex-direction: column;
}.company-identitiy__list-text {
    font-size: 20px;
    line-height: 1.8;
    font-weight: bold;
    width: 100%;
    padding-left: 0;
}
.company-identitiy__list li::before {
    position: absolute;
    left: 0;
    top: 85px;
    height: 2px;
    content: "";
    width: 100%;
    background-color: #5B5B5B;
}
.company-identitiy__rules {
    width: 100%;
    max-width: 940px;
    margin: auto;
    margin-top: 40px;
    position: relative;
}
.company-identitiy__rules ul li {
    width: 100%;
    font-size: 16px;
    display: flex;
    align-items: center;
}
.company-profile__inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 80px;
    padding-bottom: 80px;
}
.company-profile__inner h2 {
    width: 100%;
    font-size: 50px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 32px;
}.company-profile__inner table {
    width: 100%;
    max-width: 700px;
}
.company-profile__inner table tbody tr {
    padding-bottom: 16px;
    border-bottom: 1px solid #DBDBDB;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.contact-content-form__inner tbody tr {
    width: 100%;
    display: flex;
    gap: 14px;
    flex-direction: column;
}
.contact-content-form__inner tbody tr th {
    width: 100%;
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 18px;
    top: 0;
}.contact-content-form__inner tbody tr td {
    width: 100%;
}
.attention-contact {
    text-align: left;
    line-height: 2.5;
    margin-bottom: 32px;
    font-size: 14px;
}
.privacy-box p {
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
}
.min-parts-head__inner{
    overflow: hidden;
}
.min-parts-head__inner::before {
    width: 100%;
    height: calc(100% + 40px);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right center;
    background-image: url(../images/common/w-logo-news.png);
    content: "";
    position: absolute;
    display: block;
    right: -20%;
    top: 0px;
    transform: none;
}
.min-parts-head h1 {
    font-size: 48px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: #fff;
}
.min-parts-head h1 span {
    margin-left: 10px;
    padding-left: 24px;
    font-size: 18px;
    position: relative;
}
.section-header_inner .section-header__logo {
    display: block;
    width: 130px;
    height: auto;
    object-fit: contain;
}
.sitepolicy-archive-content-list__inner p {
    margin-bottom: 32px;
    font-size: 14px;
    line-height: 1.5;
}.sitepolicy-archive-content-list__inner h3 {
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: 700;
}
.sitepolicy-archive-content-list__inner h2 {
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: 700;
}
.sitepolicy-archive-content-list__inner p span {
    padding-left: 6px;
    display: block;
}
.sitepolicy-archive-content-list__inner {
    padding-top: 50px;
    padding-bottom: 120px;
}

.top-service{
    background-image: url(../images/top/default-img-sp.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}
/*
.top-service__inner__list li::after{
    content: "";
    width: 5px;
    height: 10px;
    display: block;
    right: 12px;
    top: 50%;
    transform: translate(0%, -50%);
    position: absolute;
    background-image: url(../images/common/arrow-02.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
*/
input[type="text"], input[type="email"], input[type="tel"], textarea {
    padding: 12px 14px;
    font-size: 16px;
}
.contact-content-form__inner tbody tr th {
    font-size: 16px;
}
.contact-content-form__inner tbody tr th span.req,
.contact-content-form__inner tbody tr th span.un-req {
    font-size: 12px;
}
.footer-logo__linkgroup.pc {
    display: none !important;
}

.top-news__inner__content__list li a h3{
    position: relative;
    padding-right: calc(17px + 14px);

}
.top-news__inner__content__list li a h3::before{
    position: absolute;
    content: "";
    background: url(../images/common/arrows-news.png);
    width: 17px;
    height: 14px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);

}
.attention-contact br{
display:none;
}
}

.footer-sports-logo {
    padding: 10px 17px;
    border: 1px solid #000;
    border-radius: 10px;
    height:max-content;
    font-size:14px;
    font-weight:700;
}
.footer-sports-logo__inner {
    display: flex;
    justify-content: center;
    gap: 28px;
    margin-top: 8px;
    align-items:center;
}
.footer-sports-logo__inner > a:nth-child(1) {
    width: 35px;
    height:max-content;
}
.footer-sports-logo__inner > a:nth-child(2) {
    width: 54px;
    height:max-content;
}
.pc-nav-footer{
    justify-content: flex-end;
}
.service-what-it__inner.w-1200 {
    display: flex;
    justify-content: space-between;
    gap: 54px;
}
.service-what-it__inner.w-1200 div{
   width:calc(50%);
}
.service-what-it__inner__right ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.service-what-it__inner__right ul li {
   width:calc((100% - 24px) / 4);
}


@media screen and (max-width:768px){
.pc-nav-footer {
    justify-content: flex-start;
    max-width: 100%;
}
.footer-sports-logo {
    margin-top: 32px;
    margin-left: auto;
    margin-right: auto;
}
.service-what-it__inner.w-1200 div {
    width: 100%;
}
.service-what-it__inner.w-1200 {
    gap: 32px;
}
.partner-slider__item img {
    width:100%;
    height: auto;
    object-fit: contain;
    display: block;
}
}