@charset "UTF-8";
.sp{
  display: none;
}
/* スマホで高さを少し低くしたい場合 */
@media (max-width: 767px) {
  .sp{
    display: block;
  }
  
  .pc{
    display: none;
  }
.u-section-wrap {
    padding: 40px 0;
}

  
/* font */
  .font-32px-bold,
.font-32px-bold *{
  font-size: 24px;
  font-weight: bold;
}

.font-32px-medium,
.font-32px-medium *{
  font-size: 24px;
  font-weight: 500;
}

.font-28px-medium,
.font-28px-medium *{
  font-size: 24px;
  font-weight: 500;
}

.font-28px-bold,
.font-28px-bold *{
  font-size: 24px;
  font-weight: bold;
}

.font-24px-medium,
.font-24px-medium *{
  font-size: 20px;
  font-weight: 500;
}

.font-24px-bold,
.font-24px-bold *{
  font-size: 20px;
  font-weight: bold;
}

.font-20px-bold,
.font-20px-bold *{
  font-size: 16px;
  font-weight: bold;
}

.font-20px-medium,
.font-20px-medium *{
  font-size: 16px;
  font-weight: 500;
}

.font-18px-bold,
.font-18px-bold *{
  font-size: 16px;
  font-weight: bold;
}

.font-18px-medium,
.font-18px-medium *{
  font-size: 16px;
  font-weight: 500;
}

/* top */
.top-content:after {
    background: linear-gradient(270deg, /* ← ここで角度指定 */ #8AB7DC 0%, /* 薄い水色 */ #ffffff 40%);
}
  
  
.btn-wrap-pt02 {
    display: flex;
    justify-content: space-between;
    width: 100%;
}  
  .main-visual__movie {
    aspect-ratio: 330 / 480; /* 縦長に寄せたいなら変更 */
  }
  
 
  
.main-visual__title {
    font-size: 32px;
}
  
.main-visual__lead {
    font-size: 14px;
}
  
  .main-visual__inner {
    position: absolute;
    left: 20px;
    bottom: 20px;
}
  
.main-visual {
    padding-left: 0;
    padding-right: 0;
}
  
.main-visual__movie {
    width: calc(100% - 20px);
    left: 0;
} 
  
.main-visual__back {
    width: calc(100% - 20px);
    height: calc(100% + 15px);
    position: absolute;
    z-index: 0;
    background: var(--color-main);
    top: 35px;
    left: 20px;
}
  
.marquee__text {
    font-size: 26px;
}  
  
.u-content-title {
    padding: 22px 8px;
    display: grid;
    grid-template-columns: 1fr;
    font-size: 32px;
    gap: 0;
}
  
.u-content-title small {
    font-size: 16px;
}
  
.top-businesses {
    padding-top: 65px;
}
  
.top-businesses-list {
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr;
}
  
  .btn-wrap-pt02{
    padding: 10px;  
  } 
  
  .sp-btn01 > *:not(:last-child){
    display: block;
    padding-left: 5px;
    padding-right: 5px;
    gap:10px;
    width: calc((100% - 15px) / 2);
    text-align: center;
    flex-wrap: wrap;  
  }
   
.top-businesses__btn-wrap {
    margin-top: 40px;
    gap: 15px;
    flex-wrap: wrap;
}  
  

.btn-wrap-pt02__arrow {
    border-radius: 100px;
    padding: 10px 10px;
    border: 1px solid var(--color-main);
    line-height: 0;
    transition: 0.5s;
    display: inline-flex;
}  
  
.top-businesses__app-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 0;
    margin-top: 20px;
}
  
.u-btn-wrap02 a {
    width: 100%;
}
  
.top-about {
    padding:0 0 30px;
    background-image: url(../images/top-about__bg-sp.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}  
  
  .top-about__title,
  .top-about__title *,
  .top-reason__title,
  .top-reason__title *,
  .top-recruit__title,
  .top-recruit__title *{
    font-size: 20px !important;
  }
  
  .top-about__text,
  .top-recruit__text{
    font-size: 16px !important;
  }
  
  .top-reason__img {
    position: initial;
    right: 0;
    bottom: -15px;
    box-shadow: 10px 10px 0 0 var(--color-main);
    z-index: 0;
    line-height: 0;
    margin-top: 30px;
    margin-bottom: 30px;
}
  
.top-recruit {
    background-image: url(../images/top-recruit__bg-sp.webp);
} 
  
  .main-footer__logo img{
    width: 300px;
  }  
  
.u-section-wrap02 {
    padding: 20px 0;
}
  
.u-mt30 {
    margin-top: 15px;
}
  
.top-topics-cont {
    padding: 0;
    background: none;
    box-shadow: none;
}
  
.top-topics-list {
    padding: 20px;
    background: #ffffff;
    box-shadow: 0 0 8px 0 rgba(0 0 0 / 8%);
}
  
.top-topics-cont li a {
    display: grid;
    gap: 8px;
}
  
.main-footer {
    padding: 60px 0 20px;
    background: #F9F9F9;
}
  
.main-footer__nav-wrap {
    max-width: 320px;
    margin: auto;
    display: block;
    justify-content: space-between;
    margin-bottom: 40px;
    width: 90%;
}
  
.main-footer__ud-wrap {
    max-width: 1020px;
    width: 90%;
    display:grid;
    gap:20px;
    text-align: center;
}
  
.btn-wrap-pt01__arrow,
.btn-wrap-pt02__arrow{
    padding: 5px 5px;
}
  
.btn-wrap-pt01__arrow svg,
.btn-wrap-pt02__arrow svg{
    width: 20px;
  height: 20px;
}  
  
  .main-footer__nav-sub{
    margin-bottom: 25px;
  } 
  
  div:not(.sp-btn01) > .btn-wrap-pt02{
    justify-content: center;
  }  
  
  .page-title__h1{
    font-size: 32px;
  }  

.page-title {
    padding: 90px 0 20px;
}
  
.company__list {
    grid-template-columns: 1fr;
}
  
.businesses-list {
    grid-template-columns: 1fr;
    gap: 20px 40px;
} 
  
    .top-businesses__btn-wrap {
        gap: 15px !important;
    }  

  .businesses__intro-article {
    padding: 16px 16px 0;
}
  
.businesses-intorolist {
    margin-top: 40px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 60px;
}
  
  .businesses-intorolist .btn-wrap-pt01{
    display: grid;
    grid-template-columns: 1fr 32px;
    gap:40px;
  }  
  
.businesses-intro-second {
    gap: 50px;
    grid-template-columns: 1fr;
}
  
.businesses-intro-second-article {
    padding: 40px 16px;
}
  
.businesses-intro-second-btnwrap {
    margin-top:30px;
    position: initial;
} 
  
.businesses__outro-cont {
    grid-template-columns: 1fr;
}
  
  .recruit__portlate-cont{
    width: 95%;
  }
  
.recruit__portlate-inner {
    padding: 40px 20px;
} 
  
.recruit__portlate-obj {
    position: absolute;
    top: 130px;
    right: 20px;
    z-index: -1;
    width: 96px;
}
  
.recruit__portlate-list {
    grid-template-columns: 1fr;
}
  
  .recruit__portlate-lineup-article .u-table th:nth-child(1){
    width: 130px;
  }
  
  .recruit__portlate-lineup-article .u-table td:nth-child(2){
    width: calc(100% - 130px);
  }
  
.recruit__portlate-lineup-block {
    padding: 20px 16px;
} 
  
.recruit__information-list {
    grid-template-columns: 1fr;
  gap:20px;
}
  
  .recruit__gallery-cont{
    padding: 0 5%;
    margin-bottom: 40px;
  }
  
  .recruit__gallery-item {
    width: 280px;
}
  
.recruit__gallery-cont .u-page-content-title {
    margin-bottom: 40px;
}  
  
.contact__list {
    grid-template-columns: 1fr;
}
  
.document__cont .u-content-w1080 {
    padding:0 16px 60px;
}
  
.form-table,
.form-table tbody,
.form-table tr,
.form-table th,
  .form-table td{
    display: block;
    width: 100%;
  }
  
  .form-table th{
    border-bottom: none;
    padding-bottom: 0;
  }
  
.form-table input[type="text"], .form-table input[type="email"], .form-table input[type="tel"], .form-table textarea, .form-table select {
    padding: 8px;
}
  
  .contact-category{
    margin-bottom: 16px;
    display: block;
  }
  
  .document__cont#contact02{
    padding-top: 0;
  }  
  
.input-form .wpcf7-form-control.wpcf7-radio, .input-form .wpcf7-form-control.wpcf7-checkbox {
    display: grid;
    flex-wrap: wrap;
    gap: 8px 24px;
    grid-template-columns: 1fr;
}
  
.table-scroll-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

  
  .table-scroll-wrap { position:relative; }
  .table-scroll-wrap::after{ opacity:1; }
  .table-scroll-wrap .scroll-hint{ z-index:2; }
  
.u-table-type03:not(.pt02),
.u-table-type03:not(.pt02) tbody,
.u-table-type03:not(.pt02) thead,
.u-table-type03:not(.pt02) tr,
.u-table-type03:not(.pt02) th,
  .u-table-type03:not(.pt02) td{
    display: block;
    width: 100%;
  }
  
  .u-table-type03:not(.pt02) th{
    padding-bottom: 0;
    border-bottom: 0;
  }  
  
  .u-table-type03:not(.pt02) td{
   padding-top: 0; 
  }
  
  .u-table-type03:not(.pt02) a{
    color:#1353AA;
    text-decoration: underline;
  }  
  
  .u-table-type03.pt02 th{
    width: 80px;
  }
  
  .u-table-type03.pt02 td:nth-child(2){
    width: 50px;
  }
  
  .u-table-type03.pt02 td:nth-child(3){
    width: calc(100% - 130px);
  }
  
  .advantage__heading-cont h2,
  .advantage__heading-cont h2 *{
    font-size: 20px;
  }
  
.advantage__point-block {
    display: grid;
    gap: 20px;
}
  
.advantage__point-box {
    padding: 20px;
}
  
.advantage__point-img,
.advantage__point-img img{
    width: 100%;
}
  
.advantage__point-inner {
    width: 100%;
}
  
  .advantage__point-inner-title{
    font-size: 24px;
  }
  
.advantage__point-ud-text {
    display: inline;
    padding: 0;
    background: initial;
    margin-bottom: 10px;
}
  
.policy__quality-list {
    grid-template-columns: repeat(2, 1fr);
}
  
.policy__sustainability-cont {
    grid-template-columns: 1fr;
}
  
.access__nav {
    grid-template-columns: 1fr;
}
  
  .access__nav.pt02{
    grid-template-columns: repeat(2,1fr);
  } 
  
.access__map-block {
    grid-template-columns: 1fr;
}
  
  .access__map-img img{
    width: 100%;
  }
  
  .access__map-info .u-table-type02 th:nth-child(1){
    width: 120px;
  }  
  
  .access__map-info .u-table-type02 th:nth-child(2){
    width: calc(100% - 120px);
  }
  
.access__map-info {
    min-height: auto;
}
  
.wafer_test .u-table {
    width: 980px;
}

.scroll-hint-text {
    letter-spacing: -0.05em !important;
}  
  
.col2-section__cont.pt02 {
    grid-template-columns: 1fr;
}  
  
.col2-section__cont {
    grid-template-columns: 1fr;
    gap: 40px;
}
  
    .table-scroll-wrap {
        width: 90vw;
    }
  
.pkg-list {
    display: grid;
}
  
.pkg-list li {
    width: 100%;
}
  
  .pkg-list .font-20px-bold{
    font-size: 20px;
  }
  
#img-lightbox{
  padding: 0;            /* 余白なし */
}

.img-lightbox__inner{
  width: 100vw;
  height: 100vh;
  max-width: none;       /* 960px制限を撤廃 */
  max-height: none;
}

.img-lightbox__img{
  max-width: 100vw;      /* 画面いっぱいまで */
  max-height: 100vh;
  width: 100%;
  height: 100%;
  object-fit: contain;   /* はみ出さずに最大表示 */
  border-radius: 0;      /* 好みで */
}
  
.img-lightbox__inner{
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.img-lightbox__img{
  transform-origin: center center;
  transition: transform .2s ease;
  touch-action: pan-x pan-y pinch-zoom;
}

/* タップでズーム */
/*#img-lightbox.is-zoom .img-lightbox__img{
  transform: scale(2);
} */ 
  
.img-lightbox{
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.75);
  display: grid;
  place-items: center;
}

.img-lightbox__close{
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 28px;
  line-height: 1;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
}

  /* hidden属性は必ず非表示にする（これが無いとCSSで表示されることがある） */
#img-lightbox[hidden] { display: none !important; }
  
  .pkg__step__cont{
    gap:20px;
  }  
  
  .ems__head-line-wrap{
    gap:0;
  }  
  
    .ems .businesses-intorolist {
        margin-top: 20px;
        grid-template-columns: 1fr;
        gap: 10px;
    }  
  
  .pkg-about .u-gap-40{
    gap:20px;
  }  
  
.ems-flow__list li {
    display: grid;
}
  
.ems-flow__text {
    width: auto;
}
  
.col2-section__box {
    display: grid;
    gap: 10px;
}
  
  .analysis__pagelink .btn-wrap-pt02{
    display: block;
    text-align: center;
    font-size: 14px !important;
  }
  
  .analysis__pagelink .btn-wrap-pt02__arrow{
    margin-top: 10px;
  }
  
  .analysis .table-scroll-wrap .u-table{
    width: 650px;
  }  
  
.aco-content_dl .table-scroll-wrap {
        width: 80vw;
    } 
  
.scroll-hint-icon {
    top: 30px !important;
}
  
  .analysis__info-list{
    display: grid;
    grid-template-columns: repeat(2,1fr);
  }  
  
  .analysis__info-list.fr1{
    grid-template-columns: 1fr;
  }  
  
.analysis-flow__list {
    display: grid;
    grid-template-columns: 1fr;
}
  
.analysis-flow__list li{
    width: 100%;
} 
  
.sp130 th{
  width: 130px !important;
}

.sp60 th{
  width: 60px !important;
}
  
.outsourcing-heading__cont {
    display: grid;
    gap: 20px;
}
  
.outsourcing-problem__cont {
    padding: 20px;
  }
  
.outsourcing-order__list {
    grid-template-columns: 1fr;
}
  
.u-gap-40 {
    gap: 20px;
}
  
.outsourcing-features__block {
    position: relative;
    width: 95%;
}
  
.outsourcing-features__inner {
    padding: 20px;
    display: grid;
    gap: 0;
    align-items: center;
    position: relative;
    z-index: 3;
}
  
.outsourcing-features__block:before {
    width: 100%;
}
  
  .outsourcing-features__heading {
    display: grid;
    gap: 5px;
    grid-template-columns: 1fr;
}
  
.outsourcing-features__block:nth-child(even):before {
    left: initial;
}
  
.outsourcing-features__block:nth-child(even) {
    padding-left: 5%;
}
  
  .outsourcing-features__img img{
    width: 100%;
  }  
  
  .outsourcing-features__last {
    padding: 20px;
}
  
.outsourcing-catch__cont {
    padding: 20px;
}
  
  .outsourcing-catch__cont-title{
    font-size: 20px;
  }
  
.outsourcing-catch__cont-list {
    grid-template-columns: 1fr;
}
  
.outsourcing-catch__cont-box {
    padding: 20px;
}
  
  .outsourcing-catch__cont-boxtext02{
    font-size: 16px;
  }
  
.prototype__composition-box {
    padding: 20px;
}
  
.prototype__composition-box-head {
    grid-template-columns: 1fr;
}
  
.prototype__composition-box-title.pt02 {
    grid-template-columns: 1fr;
}
  
.prototype__composition-box-title.pt02 img{
      margin: auto;
}
  
.prototype__composition-box-body {
    padding: 15px;
} 
  
.prototype__composition-box-bodylist {
    grid-template-columns: 1fr;
}

  .prototype__list .businesses__intro-title{
    width: 100%;
  }
  
.prototype__list-tab-btn {
    grid-template-columns: repeat(2, 1fr);
}
  
  .prototype__list-tab-btn li{
    text-align: center;
  }  
  
  .sp-font12{
    font-size: 12px !important;
  }
  
.prototype__list-tab-box {
    grid-template-columns: 1fr;
}
  
.prototype__step-list {
    grid-template-columns: repeat(2, 1fr);
}
  
.prototype__step-list li:not(:last-child):after {
    right: -15px;
}
  
  .new_rec .u-table-type02 th,
  .mid_rec .u-table-type02 th{
    width: 130px;
    padding: 10px;
  }  

  .new_rec .rec__headeing-cont,
  .new_rec .entry-form,
  .mid_rec .entry-form,
  .mid_rec .rec__headeing-cont{
    padding-top: 30px;
    padding-bottom: 20px;
  }
  
  .new_rec .entry-form__heading,
  .mid_rec .entry-form__heading{
    padding-top: 30px;
  }
  
  .entry-form__cols--2 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
  
  .form-title-wrap{
    display: flex;
    align-items: center;
    gap: 8px;
  }  
  
.entry-form__birth, .entry-form__birth-fields, .entry-form__age {
    flex-wrap: wrap;
}
  
  .entry-birth-year input{
    width: 200px !important;
    margin-bottom: 8px;
  }
  
  .entry-birth-month input,
  .entry-birth-day input{
    width: 100px !important;
}
  
  .entry-form__birth-fields,
  .entry-form__birth{
    display: block;
  }
  
  .entry-form__birth-fields *{
    display: inline-block;
    margin-right: 2px;
  }
.entry-form__cols.entry-form__cols--3 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
} 
  
  .entry-phone-type{
    display: flex;
    gap:10px;
  }  
  
  .entry-phone-type .wpcf7-form-control{
    display: flex !important;
    gap:10px;
  } 
  
  .pt-0{
    padding-top: 0 !important;
  }
  
  .mid_rec h1{
    font-size: 29px;
  }
  
.module__pmic-box02 {
    padding: 16px;
}
  
  .standard_product{
    padding: 40px 0;
  }
  
  .standard_product .u-gap-30 {
    display: grid;
    gap: 10px;
}
  
  .line-up__name{
    font-size: 20px;
  }  
  
.cf7-confirm__panel {
    padding: 0;
}  
  
  .white-space-nowrap *{
    white-space:nowrap;
  }  
  
  .standard_product__ud{
    padding: 40px 0;
  } 
  
  .custom_product__cont-sp{
    margin-bottom: 30px;
  }  
  
  .custom_product__cont02-text01{
    font-size: 16px;
  }  
  
.line-up__list {
    grid-template-columns: 1fr;
} 
  
.line-up__list img{
    width: 200px;
}   
  
.line-up__list-img {
    aspect-ratio:auto;
  min-height: 180px;
}
  
  .module__title{
    display: block;
  }
  
  .module__title-span{
    display: inline-block;
    margin-top: -2px;
  }
  
  .module__title-small{
    display: block;
    margin-top: 10px;
  }  
  
.module__sencer-list {
    grid-template-columns: 1fr;
}
  
.module__pmic-cont {
    display: grid;
    gap: 60px;
}
  
.module__pmic-list {
    width: 100%;
}
  
.module__pmic-box {
    width: 100%;
}
  
  .module__pmic-img img{
    width: 100%;
  }
  
.module__pmic-cont > *:not(:last-child):after {
    content: "";
    position: absolute;
    top: initial;
    right: calc(50% - 25px);
    width: 24px;
    height: 24px;
    border-right: 6px solid #2b2621;
    border-top: 6px solid #2b2621;
    transform: translate(-50%, -50%) rotate(135deg);
    border-radius: 3px;
    bottom: -40px;
}
  
.module__pmic-box02-inner {
    display: block;
}
  
.module__pmic-box02 {
    grid-template-columns: 1fr;
}
  
  .module__pmic-box02-innertitle{
    justify-content: center;
  }
  
  .module__pmic-box02-inner .u-list{
    padding: 10px;
  }
  
.module__small-contbox {
    grid-template-columns: 1fr;
}
  
.module__small-cont {
    grid-template-columns: 1fr;
}
  
  .module__small-contelm-img{
    text-align: center;
  }
  
  .module__hq-cont {
    grid-template-columns: 1fr;
}
  
  .standard_product .page-link{
    display: grid;
    grid-template-columns: 1fr;
  }  
  
  .standard_product.pt02 .line-up__list{
    display: grid;
    grid-template-columns: 1fr;
}  

.standard_product__ud-wrap.pt01 {
    grid-template-columns: 1fr;
    padding: 20px;
  gap:20px;
}
  
.standard_product__ud-wrap.pt02 > div {
    width: auto;
}

  
.standard_product_lineup__box {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr;
}
  
  .standard_product_lineup .u-table{
    width: 1000px;
  }
  
.custom_product__cont02 {
    padding: 15px;
}
  
  .sp-gap40{
    gap:40px;
  }
  
  .other-page{
    padding-bottom: 40px;
  }  
  
  .custom_product__cont02-text02 {
    font-size: 15px;
  } 

  .custom_product__section .block{
    gap:0;
  }

  .standard_product .table-scroll-wrap .u-table{
    width: 1000px;
  }
  
    .standard_product .page-link.sp-col2 {
        grid-template-columns: repeat(2,1fr);
    } 
  
.img-lightbox__close { z-index: 10001; pointer-events: auto; }
#img-lightbox { z-index: 10000; }
  
    /* selectだけ */
  .wpcf7-form-control-wrap > select.wpcf7-select{
    -webkit-appearance: none;
    appearance: none;
    background-image: none;
    padding-right: 2.5em;
  }
  .wpcf7-form-control-wrap > select.wpcf7-select::-ms-expand{
    display: none;
  }

  /* selectを包んでるwrapだけに矢印を出す */
  .wpcf7-form-control-wrap:has(> select.wpcf7-select){
    position: relative;
    display: block;
  }
  .wpcf7-form-control-wrap:has(> select.wpcf7-select)::after{
    content: "";
    position: absolute;
    right: 12px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #cccccc;
    border-bottom: 2px solid #cccccc;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
  }
  
/* title-image */
.company .page-title{
  background-image: url("../images/otherpage/sp/company__title.webp");
}

.topics .page-title{
  background-image: url("../images/otherpage/sp/topics__title.webp");
}

.businesses .page-title{
  background-image: url("../images/otherpage/sp/businesses__title.webp");
}

.rectuit .page-title{
  background-image: url("../images/otherpage/sp/recruit__title.webp");
}

.document .page-title{
  background-image: url("../images/otherpage/sp/contact__title.webp");
}

.identity .page-title{
  background-image: url("../images/otherpage/sp/identity__title.webp");
}

.advantage .page-title{
  background-image: url("../images/otherpage/sp/advantage__title.webp");
}

.policy .page-title{
  background-image: url("../images/otherpage/sp/policy__title.webp");
}

.access .page-title{
  background-image: url("../images/otherpage/sp/access__title.webp");
  padding:60px 0;
}

.outline .page-title{
  background-image: url("../images/otherpage/sp/outline__title.webp");
}

.wafer_test .page-title{
  background-image: url("../images/otherpage/sp/wafer__title.webp");
}

.pkg .page-title{
  background-image: url("../images/otherpage/sp/pkg__title.webp");
}

.analysis .page-title{
  background-image: url("../images/otherpage/sp/reliability_test__title.webp");
}

.outsourcing .page-title{
  background-image: url("../images/otherpage/sp/outsourcing__title.webp");
}

.new_rec .page-title{
  background-image: url("../images/otherpage/sp/new-rec__title.webp");
}

.mid_rec .page-title{
  background-image: url("../images/otherpage/sp/mid-rec__title.webp");
}

.ems .page-title{
  background-image: url("../images/otherpage/sp/ems__title.webp");
}

.power_supply .page-title{
  background-image: url("../images/otherpage/sp/power_supply__title.webp");
}

.prototype .page-title{
  background-image: url("../images/otherpage/sp/prototype_service__title.webp");
}

.standard_model .page-title{
  background-image: url("../images/otherpage/sp/standard_model__title.webp");
}

.module .page-title{
  background-image: url("../images/otherpage/sp/module__title.webp");
}

.standard_product .page-title{
  background-image: url("../images/otherpage/sp/standard_product__title.webp");
}

.custom_product .page-title{
  background-image: url("../images/otherpage/sp/custom_product__title.webp");
}

.other-page .page-title{
  background-image: url("../images/otherpage/sp/other__title.webp");
}
  
    .embedded-system .page-title{
      background-image:url("../images/otherpage/sp/embedded-system-title-sp.webp");
    }  
  
}

@media (min-width: 768px){
  .table-scroll-wrap::after{ opacity:0; }
  .table-scroll-wrap .scroll-hint{ display:none; }
}

@media (max-width: 767px) {
/* 個別対応 */
  .top-about{
    position: relative;
    padding-bottom: 40px;
  }
  
  .top-about:before{
    content:" ";
    background-image: url("../images/otherpage/sp/top-about__bg-sp-bg.webp");
    background-size: cover;
    z-index: 0;
    width: 100vw;
    height: 150px;
    left: 0;
    top:0;
    display: block;
    position: absolute;
  }
  
    .top-topics-list {
        padding: 0;
        background: none;
        box-shadow: none;
      padding-bottom: 30px;
    }
  
  .top-topics-cont{
            padding: 20px;
        background: #ffffff;
        box-shadow: 0 0 8px 0 rgba(0 0 0 / 8%);
  }
  
  .main-footer__logo {
    margin-bottom: 15px;
  }
  
  .main-footer__text {
    margin-bottom: 30px;
  }
  
  .main-footer__ud-wrap {
      justify-content: center;
  }
  
  .businesses__intro-subtitle{
    font-size: 20px;
  }
  
  .wpcf7-select{
    height: 46px;
    display: block;
  }
  
    .form-title-wrap {
        flex-wrap: wrap;
    }

  .businesses .u-page-content-title{
    margin-bottom: 40px;
  }
  
  .advantage__point-inner{
    padding-bottom: 20px;
  }
  
  .recruit__portlate-lineup-title{
    margin-top: 20px;
  }
  
  .pkg-about{
    padding: 40px 0;
  }
  
  .access__map{
    padding: 40px 0 60px;
  }
  
  .businesses-intorolist-title {
    font-size: 20px;
  }
  
  .businesses-intorolist-text {
    font-weight: normal;
  }
  
  .top-recruit,
  .top-topics{
    padding-bottom: 40px;
  }
  
  .pkg-about__block .pkg-list li div{
    font-size: 16px;
  }
  
  .pkg-list li {
    padding: 10px;
    min-height: 60px;
  }
  
  .recruit__portlate-lineup-title{
    font-size: 20px;
  }
  
  .identity__heading-cont h2{
    letter-spacing: -0.05em;
    font-size: 18px;
  }
  
  .ems__last{
    padding-bottom: 40px;
  }
  
  .ems__last .col2-section__text{
    margin-top: 10px;
  }
  
  .identity__heading-cont .font-16px-bold{
    font-size: 14px;
  }
  
  .analysis-01 .u-table th{
    width: 150px !important;
    padding: 10px;
  }
  
  .analysis-02 .u-table th{
    padding: 10px;
    width: 100px !important;
  }
  
  .power_supply .pkg-about__block .pkg-list li .font-20px-bold{
        font-size: 20px;
    }
  
  .power_supply__new-product-list {
    grid-template-columns: 1fr;
    gap: 20px;
}
  
  .outsourcing-features{
    padding-top: 60px;
  }

.power_supply__new-product__btn-wrap {
    display: grid;
    justify-content: center;
    gap: 10px;
}

.power_supply__new-product__btn-wrap {
    grid-template-columns: 1fr;
}

.power_supply__news li a .power_supply__newsinner {
    grid-template-columns: 1fr;
}

.top-topics-item .btn-wrap-pt02{
  width: 130px;
}

.power_supply__last .u-content-w1180 {
    padding: 20px;
}

  
  .analysis .table-scroll-wrap .u-table{
    width: 1000px;
  }
  
  .advantage__point-ud-text,
  .advantage__point-ud-text span{
    font-size: 20px;
  }
  
  .outsourcing-features__box{
    gap:4px;
  }
  
  .outsourcing-features__img{
    text-align: center;
  }
  
  .outsourcing-features__img img{
    width: 70%;
  }
  
  .outsourcing-catch__cont-list .font-20px-bold *{
    font-size: 20px;
    line-height: 1.5em;
  }
  
  .prototype__composition-box-list li {
    align-items: center;
  }
  
  .prototype__composition-box-bodytitle{
    font-size: 20px;
  }
  
  .prototype__composition-box-bodylist{
    font-weight: normal;
  }
  .outsourcing-catch__cont-list .font-14px-medium{
    font-size: 14px !important;
    font-weight: normal !important;
  }
  
  .rec__headeing-title{
    font-size: 20px;
  }
  
  .top-about__text br,
  .policy__sustainability-text br,
  .businesses-intorolist-text br,
  .outsourcing-features__title br{
    display: none;
  }
  
  .top-about__title{
    margin-top: 20px;
  }
  
  .analysis__pagelink .btn-wrap-pt02{
    font-size: 14px;
    padding: 10px 5px;
  }
  
  .standard_product__ud-wrap.pt02,
  .standard_product__ud-wrap.pt01{
    border:none;
    background: #ffffff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.08);
  }
  
  .new_rec .page-link .btn-wrap-pt02,
  .mid_rec .page-link .btn-wrap-pt02{
  display: block;
}
  
  .new_rec .businesses__intro-title,
  .mid_rec .businesses__intro-title{
    margin-top: 20px;
  }
  
.new_rec td,
  .new_rec td *,
.mid_rec td,
  .mid_rec td *{
font-size: 14px;
}  
  
  .top-topics-item{
    position: relative;
  }  
  
.topic-pdf{
  line-height: 0;
  height: 0;
  margin-top: 0;
  margin-left: 0;
  position: absolute;
  right: 0;
  top:10px;
}
    
  
}

  @media (max-width: 767px){
    .embedded-system-section02__grid{ display:block; }
    .embedded-system-section02__img{ margin-bottom: 20px; }
  }

  @media (max-width: 767px){
    .embedded-system-section07__grid{ display:block; }
    .embedded-system-section07__img{ margin-top: 20px; }
    .embedded-system-section07__btn{ width: 100%; }
  }
    
  @media (max-width: 767px){
    .embedded-system-section07__inherit{ padding: 18px; }
    .embedded-system-section07__inherit-arrow{ flex: 0 0 100%; }
    .embedded-system-section07__inherit-arrow span{ width: 120px; }
    .embedded-system-section02 .u-gap-40{
      gap:0;
    }
    .businesses__intro-title.pt02{
    margin-top: 40px;
}
    .embedded-system-section03 .businesses__intro-title,
    .embedded-system-section05 .embedded-system-section03{
      margin-bottom: 0;
    }
    
    
    .embedded-system .table-scroll-wrap .u-table{
      width: 1000px;
    }
    
    .embedded-system-tech-table .es-tech-group{
      width:120px;
    }
    
    .embedded-system-case-table th:first-child{
      width: 140px;
      padding: 10px;
    }
    .embedded-system-case-table td:last-child{
      width: calc(100% - 140px);
      padding: 10px;
    }
    
    .embedded-system-section07__btn{
      width: 250px;
      margin: auto;
    }
    
    .embedded-system-section07__inherit{
      text-align: left;
    }
    
    .embedded-system .table-scroll-wrap .scroll-hint-icon-wrap{
      top:340px;
      height: calc(100% - 340px);
    }
    
    .expander__label, .nav__link {
        height: 50px !important;
        display: block;
    }
    
    
  :root{
    /* 既に --hdr-h があるなら不要。無いなら実寸に合わせて調整 */
    --hdr-h: 79px;
  }
    
  #nav{
    /* 高さの確保（iOS対策でdvh優先） */
    height: auto;
    max-height: calc(100dvh - var(--hdr-h));
    max-height: calc(100vh  - var(--hdr-h)); /* fallback */

    /* ここが重要：ナビ自体をスクロールさせる */
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;

    /* 中身が伸びても崩れにくい */
    display: flex;
    flex-direction: column;
  }
    
/*en*/    
    .is-en .top-businesses__app-text{
      font-size: 14px !important;
    }
    
    .is-en .head-btn a{
      font-size: 12px !important;
    }
    
    .is-en .u-content-title:after {
      bottom: 0px;
    }
    
    .is-en .top-about:before {
        height: 130px;
    }
    
    .is-en .prototype__list-tab-btn li {
        height: 100px;
    }
    
    .is-en div:not(.table-scroll-wrap) .u-table{
  width: 100%;
  table-layout: fixed; /* 列幅をテーブル幅内に収める方向に */
}
.is-en div:not(.table-scroll-wrap) .u-table th,.is-en div:not(.table-scroll-wrap) .u-table td{
  overflow-wrap: anywhere;  /* どこでも折る */
  word-break: break-word;   /* 互換用 */
}
    
    .is-en .u-list li{
      white-space: inherit;
    }
    
    .is-en .line-up__list-del {
    width: 230px;
}
    
.top-topics-cont .u-content-title{
      margin-left: -5%;
    }
    
    
  }


