:root{
  --seiko-navy:#073d70;
  --seiko-blue:#1f6fa9;
  --seiko-sky:#eaf5fc;
  --seiko-line:#d7e8f3;
}

/* Keep the original site layout. This file only polishes the newly added blocks and animations. */
.header-left>h1,
.header-left>p{display:none!important}
.header-right address{display:none!important}
.header-phone{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  gap:7px;
  color:#333;
  text-decoration:none;
  white-space:nowrap;
}
.header-phone__icon{
  width:auto;
  height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:8px;
  color:#0b318f;
  font-size:18px;
  line-height:1;
  transform:none;
}
.header-phone__body{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.header-phone__number{
  color:#333;
  font-size:30px;
  font-weight:500;
  line-height:1;
  letter-spacing:.01em;
}
.header-phone__hours{
  margin-top:4px;
  color:#555;
  font-size:13px;
  line-height:1.2;
  letter-spacing:0;
}
.header-phone:hover .header-phone__number{color:var(--seiko-blue)}
@media(max-width:760px){
  .header-phone{justify-content:center;margin-top:10px}
  .header-phone__number{font-size:24px}
  .header-phone__hours{font-size:12px}
}

.home-news,
.home-works,
.seiko-about,
.seiko-work{
  box-sizing:border-box;
}

.home-news{
  clear:both;
  margin:44px 0 52px;
  padding:44px 20px 50px;
  background:#fff;
  border-top:1px solid var(--seiko-line);
  border-bottom:1px solid var(--seiko-line);
}
.home-news__inner{
  max-width:1080px;
  margin:0 auto;
}
.home-news__head{
  margin-bottom:20px;
  padding-bottom:14px;
  border-bottom:3px solid var(--seiko-blue);
}
.home-news__eyebrow{
  display:block;
  margin-bottom:6px;
  color:var(--seiko-blue);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
}
.home-news h2{
  margin:0;
  color:var(--seiko-navy);
}
.home-news .news{
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
}
.home-news .news dl{
  margin:0;
  padding:16px 0;
  border-bottom:1px solid var(--seiko-line);
}
.home-news .news dl:last-child{
  border-bottom:0;
}
.home-news .news dt{
  color:var(--seiko-blue);
  font-weight:700;
}

.home-works{
  clear:both;
  margin:52px 0;
}
.home-works__inner{
  max-width:1080px;
  margin:0 auto;
  padding:0 20px;
}
.home-works__head{
  margin-bottom:22px;
  padding-bottom:14px;
  border-bottom:3px solid var(--seiko-blue);
}
.home-works__eyebrow{
  display:block;
  margin-bottom:6px;
  color:var(--seiko-blue);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
}
.home-works h2{
  margin:0;
  color:var(--seiko-navy);
}
.home-works__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.home-work{
  position:relative;
  display:block;
  overflow:hidden;
  background:#0b416e;
  color:#fff;
}
.home-work img{
  display:block;
  width:100%;
  height:210px;
  object-fit:cover;
  transition:transform .35s ease,opacity .35s ease;
}
.home-work:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,61,112,0) 36%,rgba(7,61,112,.78) 100%);
}
.home-work span{
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  z-index:1;
  color:#fff;
  font-weight:700;
}
.home-work:hover img{
  transform:scale(1.04);
  opacity:.92;
}
.home-works__action{
  margin-top:26px;
  text-align:center;
}
.home-works__action a{
  display:inline-block;
  padding:12px 30px;
  background:var(--seiko-navy);
  color:#fff;
  text-decoration:none;
  font-weight:700;
}
.home-works__action a:hover{
  background:var(--seiko-blue);
  color:#fff;
}

.seiko-about__eyebrow,
.seiko-work__title{
  color:var(--seiko-blue);
}

.is-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease,transform .65s ease;
}
.is-reveal.in-view{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:760px){
  .home-news{
    margin:32px 0 40px;
    padding:34px 16px 38px;
  }
  .home-works{
    margin:40px 0;
  }
  .home-works__grid{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .home-work img{
    height:150px;
  }
  .home-work span{
    left:10px;
    right:10px;
    bottom:10px;
    font-size:13px;
  }
}

/* Mobile menu icon final override: dots + label only */
@media screen and (max-width:834px){
  #global_header .sp:after{
    content:"MENU"!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    bottom:7px!important;
    transform:translateX(-50%)!important;
    z-index:3!important;
    color:#0b318f!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.14em!important;
  }
  #global_header .sp_menu{
    width:24px!important;
    height:18px!important;
    transform:translate3d(0,-8px,0)!important;
    z-index:2!important;
  }
  #global_header .sp_menu div,
  #global_header .sp_menu.off div,
  #global_header .sp_menu.on div{
    opacity:0!important;
    width:0!important;
    height:0!important;
    transform:scale(0)!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #global_header .sp_menu:before{
    content:""!important;
    position:absolute!important;
    top:1px!important;
    left:4px!important;
    width:5px!important;
    height:5px!important;
    background:#0b318f!important;
    border-radius:50%!important;
    box-shadow:11px 0 0 #0b318f,0 10px 0 #0b318f,11px 10px 0 #0b318f!important;
    opacity:1!important;
    transform:none!important;
    transition:transform .22s cubic-bezier(.4,0,.2,1), opacity .18s ease!important;
  }
  #global_header .sp_menu:after{
    content:""!important;
    position:absolute!important;
    top:8px!important;
    right:0!important;
    width:24px!important;
    height:2px!important;
    background:#d6001c!important;
    border-radius:999px!important;
    box-shadow:none!important;
    opacity:0!important;
    transform:rotate(-45deg) scaleX(.2)!important;
    transition:transform .22s cubic-bezier(.4,0,.2,1), opacity .18s ease!important;
  }
  #global_header .sp_menu.on:before{
    top:8px!important;
    left:0!important;
    width:24px!important;
    height:2px!important;
    background:#d6001c!important;
    border-radius:999px!important;
    box-shadow:none!important;
    transform:rotate(45deg)!important;
  }
  #global_header .sp_menu.on:after{
    opacity:1!important;
    transform:rotate(-45deg) scaleX(1)!important;
  }
  #global_header .sp:has(.sp_menu.on):after{
    content:"CLOSE"!important;
    color:#d6001c!important;
  }
}

/* Mobile menu icon: dot grid style */
@media screen and (max-width:834px){
  #global_header .sp_menu{
    width:24px!important;
    height:18px!important;
    transform:translate3d(0,-8px,0)!important;
  }
  #global_header .sp_menu div,
  #global_header .sp_menu.off div{
    opacity:0!important;
    transform:scale(0)!important;
  }
  #global_header .sp_menu:before,
  #global_header .sp_menu:after{
    content:""!important;
    position:absolute!important;
    top:2px!important;
    width:5px!important;
    height:5px!important;
    background:#0b318f!important;
    border-radius:50%!important;
    transition:transform .22s cubic-bezier(.4,0,.2,1), width .22s cubic-bezier(.4,0,.2,1), height .22s cubic-bezier(.4,0,.2,1), top .22s cubic-bezier(.4,0,.2,1), left .22s cubic-bezier(.4,0,.2,1), right .22s cubic-bezier(.4,0,.2,1), border-radius .22s cubic-bezier(.4,0,.2,1), background-color .18s ease!important;
  }
  #global_header .sp_menu:before{
    left:4px!important;
    box-shadow:11px 0 0 #0b318f,0 10px 0 #0b318f,11px 10px 0 #0b318f!important;
  }
  #global_header .sp_menu:after{
    right:4px!important;
    opacity:0!important;
    box-shadow:none!important;
  }
  #global_header .sp_menu.on div{
    opacity:0!important;
    transform:scale(0)!important;
  }
  #global_header .sp_menu.on:before,
  #global_header .sp_menu.on:after{
    top:8px!important;
    width:24px!important;
    height:2px!important;
    background:#d6001c!important;
    border-radius:999px!important;
    box-shadow:none!important;
    opacity:1!important;
  }
  #global_header .sp_menu.on:before{
    left:0!important;
    transform:rotate(45deg)!important;
  }
  #global_header .sp_menu.on:after{
    right:0!important;
    transform:rotate(-45deg)!important;
  }
}

/* Header alignment and full-width hero adjustments */
@media screen and (min-width: 1001px){
  .header-inner{
    max-width:none;
    width:auto;
    margin-left:260px;
    margin-right:46px;
    padding-right:0;
    box-sizing:border-box;
    justify-content:flex-end;
    align-items:flex-start;
  }
  .header-left{
    flex:1 1 auto;
    min-width:0;
    text-align:right;
  }
  .nav_global{
    width:auto;
    margin-top:18px;
  }
  .nav_global>ul{
    justify-content:flex-end;
    flex-wrap:wrap;
  }
  .nav_global>ul>li{
    flex-grow:0;
  }
  .header-right{
    flex:0 0 auto;
    margin-left:34px;
  }
}

#mainArea{
  width:100vw!important;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:hidden;
  position:relative;
}
#mainArea .slider,
#mainArea .slick-list,
#mainArea .slick-track,
#mainArea .slider li,
#mainArea picture{
  width:100%;
}
#mainArea .slick-list{
  aspect-ratio:2172 / 724;
  height:auto!important;
}
#mainArea .slick-track,
#mainArea .slick-slide{
  height:100%!important;
}
#mainArea .slick-slide picture{
  display:block;
  width:100%;
  height:100%;
}
#mainArea ul li img,
#mainArea .slider img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
}
@media screen and (max-width:640px){
  #mainArea .slick-list{
    aspect-ratio:1584 / 993;
  }
}

@media screen and (max-width: 834px){
  .header .siteID{
    margin-left:0;
  }
  .header .siteID img{
    width:180px!important;
  }
}

/* Compact desktop navigation and red accent refresh */
@media screen and (min-width: 1001px){
  .header-inner{
    margin-left:250px;
    margin-right:38px;
    gap:24px;
    flex-wrap:nowrap;
  }
  .header-left{
    flex:1 1 auto;
  }
  .nav_global>ul{
    gap:0;
    flex-wrap:nowrap;
    white-space:nowrap;
  }
  .nav_global>ul>li{
    flex:0 0 auto;
  }
  .nav_global>ul>li:not(:first-child) a{
    padding-left:12px;
  }
  .nav_global>ul>li:not(:last-child) a{
    padding-right:12px;
  }
  .nav_global>ul>li>a{
    font-size:1.55rem;
    letter-spacing:0;
  }
  .header-right{
    margin-left:0;
    min-width:190px;
  }
  .header-phone__number{
    font-size:28px;
  }
}
@media screen and (min-width: 1001px) and (max-width: 1450px){
  .header-inner{
    margin-left:238px;
    margin-right:28px;
    gap:18px;
  }
  .nav_global>ul>li:not(:first-child) a{
    padding-left:9px;
  }
  .nav_global>ul>li:not(:last-child) a{
    padding-right:9px;
  }
  .nav_global>ul>li>a{
    font-size:1.42rem;
  }
  .header-right{
    min-width:178px;
  }
  .header-phone__number{
    font-size:25px;
  }
  .header-phone__hours{
    font-size:12px;
  }
}

.nav_global>ul>li>a:hover,
.header-phone:hover .header-phone__number{
  color:#d6001c;
}
.sp,
.spBtn{
  background:#d6001c!important;
}
.nav_global>ul>li ul li a{
  background:rgba(214,0,28,.72);
}
.nav_global>ul>li ul li a:hover{
  background:rgba(214,0,28,.52);
}

/* Navigation redesign: clean blue pills, no business dropdown */
.nav_global .spBtn,
.nav_global .drop{
  display:none!important;
}
@media screen and (min-width:1001px){
  .header-inner{
    align-items:center;
    gap:28px;
  }
  .header-left{
    display:flex;
    justify-content:flex-end;
  }
  .nav_global{
    width:auto;
    margin-top:0;
  }
  .nav_global>ul{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
    padding:8px;
    border:1px solid rgba(11,49,143,.14);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    box-shadow:0 12px 30px rgba(7,61,112,.08);
  }
  .nav_global>ul>li{
    flex:0 0 auto;
    border-right:0!important;
    line-height:1;
  }
  .nav_global>ul>li>a,
  .nav_global>ul>li:not(:first-child) a,
  .nav_global>ul>li:not(:last-child) a{
    display:block;
    padding:11px 15px;
    border-radius:999px;
    color:#0b318f;
    font-size:1.42rem;
    font-weight:700;
    letter-spacing:0;
    text-decoration:none;
    transition:background .25s ease,color .25s ease,box-shadow .25s ease;
  }
  .nav_global>ul>li>a:hover{
    background:#0b318f;
    color:#fff;
    box-shadow:0 8px 18px rgba(11,49,143,.18);
  }
  .nav_global>ul>li.is-current>a,
  .nav_global>ul>li>a.is-current{
    background:#0b318f;
    color:#fff;
    box-shadow:0 8px 18px rgba(11,49,143,.2);
  }
  .nav_global>ul>li:last-child>a{
    background:#d6001c;
    color:#fff;
  }
  .nav_global>ul>li:last-child>a:hover{
    background:#b80018;
  }
  .nav_global>ul>li:last-child.is-current>a,
  .nav_global>ul>li:last-child>a.is-current{
    background:#b80018;
  }
}
@media screen and (min-width:1001px) and (max-width:1450px){
  .header-inner{
    gap:16px;
  }
  .nav_global>ul{
    gap:5px;
    padding:6px;
  }
  .nav_global>ul>li>a,
  .nav_global>ul>li:not(:first-child) a,
  .nav_global>ul>li:not(:last-child) a{
    padding:10px 11px;
    font-size:1.34rem;
  }
}

/* Full-width home about section */
.seiko-about{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:58px 24px 64px;
  background:#f4f9fd;
  border-top:1px solid var(--seiko-line);
  border-bottom:1px solid var(--seiko-line);
  box-sizing:border-box;
}
.seiko-about .inner{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  box-sizing:border-box;
}
.seiko-about__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
  padding-bottom:16px;
  border-bottom:3px solid var(--seiko-blue);
}
.seiko-about__lead{
  margin:0;
  max-width:430px;
  color:#38576c;
  font-size:15px;
  line-height:1.8;
  text-align:left;
}
.seiko-about__message{
  margin-bottom:28px;
}
.seiko-about__message p{
  margin:0;
  color:#22394b;
  font-size:16px;
  line-height:2;
  text-align:left;
}
.seiko-work__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.seiko-service{
  background:#073d70;
  color:#fff;
  padding:24px 22px;
  min-height:190px;
  box-shadow:0 14px 28px rgba(7,61,112,.18);
}
.seiko-service:nth-child(2){
  background:#146197;
}
.seiko-service:nth-child(3){
  background:#1f6fa9;
}
.seiko-service h3{
  margin:0 0 14px;
  padding-bottom:12px;
  color:#fff;
  font-size:24px;
  line-height:1.3;
  border-bottom:1px solid rgba(255,255,255,.36);
}
.seiko-service ul{
  margin:0;
  padding:0;
  list-style:none;
}
.seiko-service li{
  position:relative;
  margin-top:8px;
  padding-left:18px;
  color:#fff;
  font-size:14px;
  line-height:1.7;
  text-align:left;
}
.seiko-service li:before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#bfe8ff;
}
@media(max-width:760px){
  .seiko-about{
    padding:40px 18px 48px;
  }
  .seiko-about__head{
    display:block;
  }
  .seiko-about__lead{
    margin-top:10px;
    max-width:none;
  }
  .seiko-work__grid{
    grid-template-columns:1fr;
  }
  .seiko-service{
    min-height:auto;
    padding:20px;
  }
}

.subpage #contents_wrap{
  margin-top:0!important;
  padding-top:var(--header-height,126px);
  padding-bottom:0!important;
}

/* Tighten spacing above the home about section */
body:not(.subpage) #contents_wrap{
  padding-top:20px!important;
}
body:not(.subpage) .seiko-about{
  padding-top:58px!important;
}
@media(max-width:760px){
  body:not(.subpage) #contents_wrap{
    padding-top:14px!important;
  }
  body:not(.subpage) .seiko-about{
    padding-top:40px!important;
  }
}


/* Main visual rectangle pagination */
#mainArea .slick-dots{
  position:absolute;
  left:0;
  right:0;
  bottom:22px;
  z-index:20;
  display:flex!important;
  justify-content:center;
  align-items:center;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
#mainArea .slick-dots li{
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  line-height:1;
}
#mainArea .slick-dots button{
  display:block;
  width:24px;
  height:8px;
  min-width:0;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.95);
  border-radius:999px;
  background:rgba(255,255,255,.7);
  color:transparent;
  font-size:0;
  line-height:0;
  text-indent:-9999px;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(7,61,112,.18);
  transition:background .25s ease,border-color .25s ease,width .25s ease;
}
#mainArea .slick-dots .slick-active button,
#mainArea .slick-dots button:hover{
  width:32px;
  border-color:#0b318f;
  background:#0b318f;
}
@media screen and (max-width:834px){
  #mainArea .slick-dots{
    bottom:12px;
    gap:7px;
  }
  #mainArea .slick-dots button{
    width:20px;
    height:7px;
  }
  #mainArea .slick-dots .slick-active button,
  #mainArea .slick-dots button:hover{
    width:28px;
  }
}


/* Home greeting redesign */
body:not(.subpage) #c15.bg100{
  position:relative;
  overflow:hidden;
  margin:0!important;
  padding:72px 20px 78px!important;
  background:linear-gradient(135deg,#edf7fb 0%,#ffffff 54%,#e5f1f7 100%)!important;
  border-top:1px solid #d3e6ef;
  border-bottom:1px solid #d3e6ef;
}
body:not(.subpage) #c15.bg100:before,
body:not(.subpage) #c15.bg100:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
body:not(.subpage) #c15.bg100:before{
  width:360px;
  height:360px;
  right:-120px;
  top:-170px;
  border:54px solid rgba(31,111,169,.08);
}
body:not(.subpage) #c15.bg100:after{
  width:220px;
  height:220px;
  left:-84px;
  bottom:-112px;
  background:rgba(214,0,28,.055);
}
body:not(.subpage) #c15.bg100>.inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(170px,260px) minmax(0,1fr);
  gap:42px;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:0!important;
  align-items:start;
}
body:not(.subpage) #c15 #c17.title_01{
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
body:not(.subpage) #c15 #c17.title_01 article{
  margin:0!important;
  padding:0!important;
}
body:not(.subpage) #c15 #c17.title_01 h2{
  position:relative;
  margin:0!important;
  padding:0 0 24px!important;
  color:#073d70!important;
  font-size:34px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
body:not(.subpage) #c15 #c17.title_01 h2:before{
  content:"MESSAGE";
  display:block;
  margin-bottom:10px;
  color:#1f6fa9;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.16em;
}
body:not(.subpage) #c15 #c17.title_01 h2:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:72px;
  height:4px;
  background:#d6001c;
}
body:not(.subpage) #c15 #c18.sptal{
  margin:0!important;
  padding:34px 38px!important;
  background:rgba(255,255,255,.9)!important;
  border:1px solid #d5e7f0;
  border-left:6px solid #1f6fa9;
  box-shadow:0 18px 40px rgba(7,61,112,.1);
  box-sizing:border-box;
}
body:not(.subpage) #c15 #c18.sptal>div{
  max-width:none!important;
  margin:0!important;
  color:#22394b!important;
  font-size:16px!important;
  line-height:2.1!important;
  text-align:left!important;
  letter-spacing:0!important;
}
body:not(.subpage) #c15 #c18.sptal>div:after{
  content:"";
  display:block;
  width:100%;
  max-width:240px;
  height:1px;
  margin-top:24px;
  background:#b7d4e4;
}
@media screen and (max-width:834px){
  body:not(.subpage) #c15.bg100{
    padding:48px 18px 54px!important;
  }
  body:not(.subpage) #c15.bg100>.inner{
    display:block;
  }
  body:not(.subpage) #c15 #c17.title_01{
    margin-bottom:24px!important;
  }
  body:not(.subpage) #c15 #c17.title_01 h2{
    font-size:28px!important;
  }
  body:not(.subpage) #c15 #c18.sptal{
    padding:24px 22px!important;
  }
  body:not(.subpage) #c15 #c18.sptal>div{
    font-size:14px!important;
    line-height:1.95!important;
  }
}


/* Home section width and heading unification */
:root{
  --home-section-width:1180px;
}
body:not(.subpage) .seiko-about .inner,
body:not(.subpage) .seiko-work,
body:not(.subpage) #c15.bg100>.inner,
body:not(.subpage) .home-news__inner,
body:not(.subpage) .home-works__inner,
body:not(.subpage) #c2.contactBox{
  width:min(var(--home-section-width), calc(100% - 48px))!important;
  max-width:var(--home-section-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body:not(.subpage) .seiko-about__head,
body:not(.subpage) .home-news__head,
body:not(.subpage) .home-works__head,
body:not(.subpage) #c15 #c17.title_01,
body:not(.subpage) #c2.contactBox #c1.title_01{
  display:block!important;
  margin:0 0 26px!important;
  padding:0 0 18px!important;
  border-bottom:3px solid #1f6fa9!important;
  text-align:left!important;
}
body:not(.subpage) .seiko-work__title{
  display:block!important;
  margin:0 0 26px!important;
  padding:0 0 18px!important;
  border-bottom:3px solid #1f6fa9!important;
  color:#073d70!important;
  font-size:32px!important;
  line-height:1.35!important;
  font-weight:700!important;
  text-align:left!important;
}
body:not(.subpage) .home-works__head>div,
body:not(.subpage) #c15 #c17.title_01 article,
body:not(.subpage) #c2.contactBox #c1.title_01 article{
  margin:0!important;
  padding:0!important;
}
body:not(.subpage) .seiko-about__eyebrow,
body:not(.subpage) .home-news__eyebrow,
body:not(.subpage) .home-works__eyebrow,
body:not(.subpage) #c15 #c17.title_01 h2:before,
body:not(.subpage) #c2.contactBox #c1.title_01 h2:before,
body:not(.subpage) .seiko-work__title:before{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 8px!important;
  background:none!important;
  color:#146197!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.1em!important;
}
body:not(.subpage) .seiko-work__title:before{
  content:"SERVICE"!important;
}
body:not(.subpage) #c15 #c17.title_01 h2:before{
  content:"MESSAGE"!important;
}
body:not(.subpage) #c2.contactBox #c1.title_01 h2:before{
  content:"CONTACT"!important;
}
body:not(.subpage) .seiko-about h2,
body:not(.subpage) .home-news h2,
body:not(.subpage) .home-works h2,
body:not(.subpage) #c15 #c17.title_01 h2,
body:not(.subpage) #c2.contactBox #c1.title_01 h2{
  margin:0!important;
  padding:0!important;
  color:#073d70!important;
  font-size:32px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-align:left!important;
}
body:not(.subpage) #c15 #c17.title_01 h2:after,
body:not(.subpage) #c2.contactBox #c1.title_01 h2:after,
body:not(.subpage) .seiko-work__title:after{
  display:none!important;
  content:none!important;
}
body:not(.subpage) #c15.bg100>.inner{
  display:block!important;
  padding:0!important;
}
body:not(.subpage) #c15 #c18.sptal{
  width:100%!important;
}
body:not(.subpage) .home-works__head{
  align-items:initial!important;
  justify-content:initial!important;
  gap:0!important;
}
body:not(.subpage) .home-works__lead,
body:not(.subpage) .seiko-about__lead{
  max-width:none!important;
  margin:14px 0 0!important;
}
body:not(.subpage) .seiko-about__head>div{
  margin:0!important;
  padding:0!important;
}
body:not(.subpage) #c2.contactBox{
  padding-left:0!important;
  padding-right:0!important;
}
@media screen and (max-width:834px){
  body:not(.subpage) .seiko-about .inner,
  body:not(.subpage) .seiko-work,
  body:not(.subpage) #c15.bg100>.inner,
  body:not(.subpage) .home-news__inner,
  body:not(.subpage) .home-works__inner,
  body:not(.subpage) #c2.contactBox{
    width:calc(100% - 36px)!important;
  }
  body:not(.subpage) .seiko-about h2,
  body:not(.subpage) .home-news h2,
  body:not(.subpage) .home-works h2,
  body:not(.subpage) #c15 #c17.title_01 h2,
  body:not(.subpage) #c2.contactBox #c1.title_01 h2,
  body:not(.subpage) .seiko-work__title{
    font-size:26px!important;
  }
}


/* Global center content width */
:root{
  --site-content-width:1180px;
  --site-content-gutter:24px;
}
#contents,
#main,
#col_main{
  width:min(var(--site-content-width), calc(100% - (var(--site-content-gutter) * 2)))!important;
  max-width:var(--site-content-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
#col_main>section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
#col_main .inner,
#col_main .contactBox,
#col_main .home-news__inner,
#col_main .home-works__inner,
#col_main .seiko-work,
#col_main .seiko-about .inner,
#col_main .bg100>.inner,
#col_main .title_01,
#col_main .title_02,
#col_main .form_wrap,
#col_main .flex_02,
#col_main .flex4,
#col_main .cont_01,
#col_main .cont_02,
#col_main .dl_01,
#col_main .qa,
#col_main .tblcustom{
  width:100%!important;
  max-width:var(--site-content-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
#col_main .bg100,
#col_main .home-news,
#col_main .home-works,
#col_main .seiko-about,
#col_main #c15.bg100{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  box-sizing:border-box!important;
}
#col_main .bg100>.inner,
#col_main .home-news__inner,
#col_main .home-works__inner,
#col_main .seiko-about>.inner,
#col_main #c15.bg100>.inner{
  width:min(var(--site-content-width), calc(100% - (var(--site-content-gutter) * 2)))!important;
  max-width:var(--site-content-width)!important;
}
@media screen and (max-width:834px){
  :root{
    --site-content-gutter:18px;
  }
}


/* Home greeting section redesign v2 */
body:not(.subpage) #c15.bg100{
  position:relative!important;
  overflow:hidden!important;
  width:100vw!important;
  max-width:none!important;
  margin:0 0 0 calc(50% - 50vw)!important;
  padding:86px 0!important;
  background:#f7fbfd!important;
  border-top:1px solid #d9e9f1!important;
  border-bottom:1px solid #d9e9f1!important;
}
body:not(.subpage) #c15.bg100:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(11,49,143,.08) 0 34%,rgba(255,255,255,0) 34% 100%)!important;
  border-radius:0!important;
  width:auto!important;
  height:auto!important;
  pointer-events:none!important;
}
body:not(.subpage) #c15.bg100:after{
  content:""!important;
  position:absolute!important;
  right:8%!important;
  top:42px!important;
  left:auto!important;
  bottom:auto!important;
  width:140px!important;
  height:140px!important;
  background:repeating-linear-gradient(135deg,rgba(31,111,169,.16) 0 2px,transparent 2px 12px)!important;
  border-radius:0!important;
  opacity:.55!important;
  pointer-events:none!important;
}
body:not(.subpage) #c15.bg100>.inner{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:56px!important;
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  align-items:stretch!important;
  box-sizing:border-box!important;
}
body:not(.subpage) #c15 #c17.title_01{
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:38px 34px!important;
  border:0!important;
  background:#0b318f!important;
  color:#fff!important;
  min-height:260px!important;
  box-shadow:0 18px 34px rgba(11,49,143,.18)!important;
}
body:not(.subpage) #c15 #c17.title_01 article{
  margin:0!important;
  padding:0!important;
}
body:not(.subpage) #c15 #c17.title_01 h2{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:34px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-align:left!important;
}
body:not(.subpage) #c15 #c17.title_01 h2:before{
  content:"MESSAGE"!important;
  display:block!important;
  margin:0 0 18px!important;
  color:rgba(255,255,255,.76)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  background:none!important;
  width:auto!important;
  height:auto!important;
}
body:not(.subpage) #c15 #c17.title_01 h2:after{
  content:""!important;
  display:block!important;
  width:64px!important;
  height:4px!important;
  margin-top:24px!important;
  background:#fff!important;
  position:static!important;
}
body:not(.subpage) #c15 #c18.sptal{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  margin:0!important;
  padding:46px 54px!important;
  background:#fff!important;
  border:1px solid #d6e6ef!important;
  border-left:0!important;
  box-shadow:0 18px 38px rgba(7,61,112,.09)!important;
  box-sizing:border-box!important;
}
body:not(.subpage) #c15 #c18.sptal:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:46px!important;
  bottom:46px!important;
  width:5px!important;
  background:#d6001c!important;
}
body:not(.subpage) #c15 #c18.sptal>div{
  max-width:none!important;
  margin:0!important;
  color:#22394b!important;
  font-size:16px!important;
  line-height:2.08!important;
  text-align:left!important;
  letter-spacing:0!important;
}
body:not(.subpage) #c15 #c18.sptal>div:after{
  content:"??????"!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  margin:28px 0 0!important;
  padding-top:18px!important;
  background:none!important;
  border-top:1px solid #c6dce8!important;
  color:#0b318f!important;
  font-weight:700!important;
  text-align:right!important;
}
@media screen and (max-width:834px){
  body:not(.subpage) #c15.bg100{
    padding:54px 0!important;
  }
  body:not(.subpage) #c15.bg100:before{
    background:linear-gradient(180deg,rgba(11,49,143,.08) 0 190px,rgba(255,255,255,0) 190px 100%)!important;
  }
  body:not(.subpage) #c15.bg100>.inner{
    display:block!important;
    width:calc(100% - 36px)!important;
  }
  body:not(.subpage) #c15 #c17.title_01{
    min-height:auto!important;
    padding:28px 24px!important;
  }
  body:not(.subpage) #c15 #c17.title_01 h2{
    font-size:28px!important;
  }
  body:not(.subpage) #c15 #c18.sptal{
    padding:28px 24px!important;
  }
  body:not(.subpage) #c15 #c18.sptal:before{
    top:28px!important;
    bottom:28px!important;
  }
  body:not(.subpage) #c15 #c18.sptal>div{
    font-size:14px!important;
    line-height:1.95!important;
  }
}


/* Home greeting section redesign v3 */
body:not(.subpage) #c15.bg100{
  position:relative!important;
  overflow:hidden!important;
  width:100vw!important;
  max-width:none!important;
  margin:0 0 0 calc(50% - 50vw)!important;
  padding:92px 0!important;
  background:linear-gradient(180deg,#f8fbfd 0%,#eef7fb 100%)!important;
  border-top:1px solid #d8e9f2!important;
  border-bottom:1px solid #d8e9f2!important;
}
body:not(.subpage) #c15.bg100:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:32%!important;
  height:auto!important;
  background:#073d70!important;
  border-radius:0!important;
  pointer-events:none!important;
}
body:not(.subpage) #c15.bg100:after{
  content:""!important;
  position:absolute!important;
  right:7%!important;
  top:54px!important;
  left:auto!important;
  bottom:auto!important;
  width:156px!important;
  height:156px!important;
  background:repeating-linear-gradient(135deg,rgba(31,111,169,.18) 0 2px,transparent 2px 12px)!important;
  border-radius:0!important;
  opacity:.58!important;
  pointer-events:none!important;
}
body:not(.subpage) #c15.bg100>.inner{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:340px minmax(0,1fr)!important;
  gap:0!important;
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  align-items:stretch!important;
  box-sizing:border-box!important;
  box-shadow:0 22px 48px rgba(7,61,112,.12)!important;
}
body:not(.subpage) #c15 #c17.title_01{
  position:relative!important;
  display:flex!important;
  align-items:flex-end!important;
  min-height:330px!important;
  margin:0!important;
  padding:42px 36px!important;
  background:#fff!important;
  border:0!important;
  color:#073d70!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body:not(.subpage) #c15 #c17.title_01:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:7px!important;
  height:100%!important;
  background:#d6001c!important;
}
body:not(.subpage) #c15 #c17.title_01 article{
  margin:0!important;
  padding:0!important;
}
body:not(.subpage) #c15 #c17.title_01 h2{
  margin:0!important;
  padding:0!important;
  color:#073d70!important;
  font-size:38px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-align:left!important;
}
body:not(.subpage) #c15 #c17.title_01 h2:before{
  content:"MESSAGE"!important;
  display:block!important;
  margin:0 0 22px!important;
  color:#d6001c!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  background:none!important;
  width:auto!important;
  height:auto!important;
}
body:not(.subpage) #c15 #c17.title_01 h2:after{
  content:""!important;
  display:block!important;
  width:70px!important;
  height:4px!important;
  margin-top:24px!important;
  background:#073d70!important;
  position:static!important;
}
body:not(.subpage) #c15 #c18.sptal{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  margin:0!important;
  padding:52px 62px!important;
  background:#fff!important;
  border:0!important;
  border-left:1px solid #dbe8ef!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body:not(.subpage) #c15 #c18.sptal:before{
  content:""!important;
  position:absolute!important;
  left:32px!important;
  top:52px!important;
  bottom:52px!important;
  width:1px!important;
  background:#d6e6ef!important;
}
body:not(.subpage) #c15 #c18.sptal>div{
  position:relative!important;
  max-width:none!important;
  margin:0!important;
  padding-left:34px!important;
  color:#22394b!important;
  font-size:16px!important;
  line-height:2.12!important;
  text-align:left!important;
  letter-spacing:0!important;
}
body:not(.subpage) #c15 #c18.sptal>div:before{
  content:"01"!important;
  display:block!important;
  margin:0 0 14px!important;
  color:#1f6fa9!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
body:not(.subpage) #c15 #c18.sptal>div:after{
  content:"精工株式会社"!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  margin:30px 0 0!important;
  padding-top:18px!important;
  background:none!important;
  border-top:1px solid #c6dce8!important;
  color:#073d70!important;
  font-weight:800!important;
  text-align:right!important;
}
@media screen and (max-width:834px){
  body:not(.subpage) #c15.bg100{
    padding:58px 0!important;
  }
  body:not(.subpage) #c15.bg100:before{
    width:100%!important;
    height:200px!important;
    bottom:auto!important;
  }
  body:not(.subpage) #c15.bg100:after{
    right:18px!important;
    top:34px!important;
    width:92px!important;
    height:92px!important;
  }
  body:not(.subpage) #c15.bg100>.inner{
    display:block!important;
    width:calc(100% - 36px)!important;
    box-shadow:0 16px 34px rgba(7,61,112,.12)!important;
  }
  body:not(.subpage) #c15 #c17.title_01{
    min-height:auto!important;
    padding:32px 26px!important;
  }
  body:not(.subpage) #c15 #c17.title_01 h2{
    font-size:30px!important;
  }
  body:not(.subpage) #c15 #c18.sptal{
    padding:30px 24px!important;
    border-left:0!important;
  }
  body:not(.subpage) #c15 #c18.sptal:before{
    left:24px!important;
    top:30px!important;
    bottom:30px!important;
  }
  body:not(.subpage) #c15 #c18.sptal>div{
    padding-left:24px!important;
    font-size:14px!important;
    line-height:1.95!important;
  }
}


/* Home greeting section redesign v3 direct apply */
/* Home greeting section redesign v3 */
#c15.bg100{
  position:relative!important;
  overflow:hidden!important;
  width:100vw!important;
  max-width:none!important;
  margin:0 0 0 calc(50% - 50vw)!important;
  padding:92px 0!important;
  background:linear-gradient(180deg,#f8fbfd 0%,#eef7fb 100%)!important;
  border-top:1px solid #d8e9f2!important;
  border-bottom:1px solid #d8e9f2!important;
}
#c15.bg100:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:32%!important;
  height:auto!important;
  background:#073d70!important;
  border-radius:0!important;
  pointer-events:none!important;
}
#c15.bg100:after{
  content:""!important;
  position:absolute!important;
  right:7%!important;
  top:54px!important;
  left:auto!important;
  bottom:auto!important;
  width:156px!important;
  height:156px!important;
  background:repeating-linear-gradient(135deg,rgba(31,111,169,.18) 0 2px,transparent 2px 12px)!important;
  border-radius:0!important;
  opacity:.58!important;
  pointer-events:none!important;
}
#c15.bg100>.inner{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:340px minmax(0,1fr)!important;
  gap:0!important;
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  align-items:stretch!important;
  box-sizing:border-box!important;
  box-shadow:0 22px 48px rgba(7,61,112,.12)!important;
}
#c15 #c17.title_01{
  position:relative!important;
  display:flex!important;
  align-items:flex-end!important;
  min-height:330px!important;
  margin:0!important;
  padding:42px 36px!important;
  background:#fff!important;
  border:0!important;
  color:#073d70!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
#c15 #c17.title_01:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:7px!important;
  height:100%!important;
  background:#d6001c!important;
}
#c15 #c17.title_01 article{
  margin:0!important;
  padding:0!important;
}
#c15 #c17.title_01 h2{
  margin:0!important;
  padding:0!important;
  color:#073d70!important;
  font-size:38px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-align:left!important;
}
#c15 #c17.title_01 h2:before{
  content:"MESSAGE"!important;
  display:block!important;
  margin:0 0 22px!important;
  color:#d6001c!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  background:none!important;
  width:auto!important;
  height:auto!important;
}
#c15 #c17.title_01 h2:after{
  content:""!important;
  display:block!important;
  width:70px!important;
  height:4px!important;
  margin-top:24px!important;
  background:#073d70!important;
  position:static!important;
}
#c15 #c18.sptal{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  margin:0!important;
  padding:52px 62px!important;
  background:#fff!important;
  border:0!important;
  border-left:1px solid #dbe8ef!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
#c15 #c18.sptal:before{
  content:""!important;
  position:absolute!important;
  left:32px!important;
  top:52px!important;
  bottom:52px!important;
  width:1px!important;
  background:#d6e6ef!important;
}
#c15 #c18.sptal>div{
  position:relative!important;
  max-width:none!important;
  margin:0!important;
  padding-left:34px!important;
  color:#22394b!important;
  font-size:16px!important;
  line-height:2.12!important;
  text-align:left!important;
  letter-spacing:0!important;
}
#c15 #c18.sptal>div:before{
  content:"01"!important;
  display:block!important;
  margin:0 0 14px!important;
  color:#1f6fa9!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
#c15 #c18.sptal>div:after{
  content:"精工株式会社"!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  margin:30px 0 0!important;
  padding-top:18px!important;
  background:none!important;
  border-top:1px solid #c6dce8!important;
  color:#073d70!important;
  font-weight:800!important;
  text-align:right!important;
}
@media screen and (max-width:834px){
  #c15.bg100{
    padding:58px 0!important;
  }
  #c15.bg100:before{
    width:100%!important;
    height:200px!important;
    bottom:auto!important;
  }
  #c15.bg100:after{
    right:18px!important;
    top:34px!important;
    width:92px!important;
    height:92px!important;
  }
  #c15.bg100>.inner{
    display:block!important;
    width:calc(100% - 36px)!important;
    box-shadow:0 16px 34px rgba(7,61,112,.12)!important;
  }
  #c15 #c17.title_01{
    min-height:auto!important;
    padding:32px 26px!important;
  }
  #c15 #c17.title_01 h2{
    font-size:30px!important;
  }
  #c15 #c18.sptal{
    padding:30px 24px!important;
    border-left:0!important;
  }
  #c15 #c18.sptal:before{
    left:24px!important;
    top:30px!important;
    bottom:30px!important;
  }
  #c15 #c18.sptal>div{
    padding-left:24px!important;
    font-size:14px!important;
    line-height:1.95!important;
  }
}


/* Home contactBox redesign v2 */
#c2.contactBox{
  position:relative!important;
  overflow:hidden!important;
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:76px auto 0!important;
  padding:44px 46px!important;
  background:#073d70!important;
  border:0!important;
  color:#fff!important;
  box-shadow:0 22px 48px rgba(7,61,112,.16)!important;
  box-sizing:border-box!important;
}
#c2.contactBox:before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:7px!important;
  background:#d6001c!important;
  pointer-events:none!important;
}
#c2.contactBox:after{
  content:""!important;
  position:absolute!important;
  right:32px!important;
  top:28px!important;
  width:132px!important;
  height:132px!important;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 2px,transparent 2px 12px)!important;
  pointer-events:none!important;
}
#c2.contactBox #c1.title_01{
  position:relative!important;
  z-index:1!important;
  margin:0 0 28px!important;
  padding:0 0 22px!important;
  background:none!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.22)!important;
  text-align:left!important;
}
#c2.contactBox #c1.title_01 article{
  margin:0!important;
  padding:0!important;
}
#c2.contactBox #c1.title_01 h2{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:31px!important;
  line-height:1.45!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-align:left!important;
}
#c2.contactBox #c1.title_01 h2:before{
  content:"CONTACT"!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 12px!important;
  background:none!important;
  color:rgba(255,255,255,.7)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
#c2.contactBox #c1.title_01 h2:after{
  content:""!important;
  display:block!important;
  width:64px!important;
  height:4px!important;
  margin-top:18px!important;
  background:#d6001c!important;
  position:static!important;
}
#c2.contactBox #c4.flex_contact{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.72fr)!important;
  gap:22px!important;
  align-items:stretch!important;
  margin:0!important;
  padding:0!important;
}
#c2.contactBox #c4.flex_contact .box{
  width:auto!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
#c2.contactBox #c4.flex_contact .box>div{
  height:100%!important;
  min-height:128px!important;
  padding:26px 28px!important;
  background:#fff!important;
  color:#243b4c!important;
  box-sizing:border-box!important;
}
#c2.contactBox #c4.flex_contact .box:first-child>div{
  border-left:5px solid #d6001c!important;
}
#c2.contactBox #c4.flex_contact .box:last-child>div{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f7fbfd!important;
}
#c2.contactBox .call{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0 0 12px!important;
  color:#073d70!important;
  font-size:34px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
#c2.contactBox .call i{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  height:46px!important;
  margin:0!important;
  background:#073d70!important;
  color:#fff!important;
  border-radius:50%!important;
  font-size:19px!important;
}
#c2.contactBox b{
  display:block!important;
  color:#40576a!important;
  font-size:14px!important;
  line-height:1.75!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
#c2.contactBox .btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:72px!important;
  padding:18px 24px!important;
  background:#d6001c!important;
  color:#fff!important;
  border-radius:0!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 12px 24px rgba(214,0,28,.24)!important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;
}
#c2.contactBox .btn:hover{
  opacity:1!important;
  transform:translateY(-2px)!important;
  background:#b90018!important;
  box-shadow:0 16px 30px rgba(214,0,28,.3)!important;
}
#c2.contactBox .btn i{
  margin:0!important;
  font-size:28px!important;
  font-weight:300!important;
}
@media screen and (max-width:834px){
  #c2.contactBox{
    width:calc(100% - 36px)!important;
    margin-top:54px!important;
    padding:34px 24px!important;
  }
  #c2.contactBox:after{
    right:14px!important;
    top:18px!important;
    width:86px!important;
    height:86px!important;
  }
  #c2.contactBox #c1.title_01 h2{
    font-size:25px!important;
  }
  #c2.contactBox #c4.flex_contact{
    display:block!important;
  }
  #c2.contactBox #c4.flex_contact .box+ .box{
    margin-top:16px!important;
  }
  #c2.contactBox #c4.flex_contact .box>div{
    min-height:auto!important;
    padding:22px 20px!important;
  }
  #c2.contactBox .call{
    font-size:28px!important;
    justify-content:flex-start!important;
  }
  #c2.contactBox .call i{
    width:40px!important;
    height:40px!important;
    font-size:17px!important;
  }
  #c2.contactBox .btn{
    min-height:64px!important;
    font-size:18px!important;
  }
}

/* Home contactBox light blue background */
#c2.contactBox{
  background:linear-gradient(135deg,#eaf6fc 0%,#f7fbfd 62%,#ffffff 100%)!important;
  color:#073d70!important;
  border:1px solid #d6e8f2!important;
  box-shadow:0 22px 48px rgba(7,61,112,.11)!important;
}
#c2.contactBox #c1.title_01{
  border-bottom:1px solid #c6dce8!important;
}
#c2.contactBox #c1.title_01 h2{
  color:#073d70!important;
}
#c2.contactBox #c1.title_01 h2:before{
  color:#1f6fa9!important;
}
#c2.contactBox #c4.flex_contact .box>div{
  border:1px solid #dbe8ef!important;
  box-shadow:0 12px 28px rgba(7,61,112,.08)!important;
}
#c2.contactBox #c4.flex_contact .box:last-child>div{
  background:#fff!important;
}

/* Refine redesigned home about/service sections */
body:not(.subpage) .seiko-about{
  left:50%!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:translateX(-50%)!important;
}
.seiko-work .seiko-work__title:before,
.seiko-work .seiko-work__title::before{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  background:none!important;
}

/* Final home about/service layout fix */
body:not(.subpage) #col_main .seiko-about{
  position:relative!important;
  left:auto!important;
  transform:none!important;
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding-top:42px!important;
}
body:not(.subpage) #col_main .seiko-about>.inner{
  width:min(var(--site-content-width,1180px), calc(100% - 48px))!important;
  max-width:var(--site-content-width,1180px)!important;
  padding-left:0!important;
  padding-right:0!important;
}
body:not(.subpage) #col_main .seiko-work{
  width:min(var(--site-content-width,1180px), calc(100% - 48px))!important;
  max-width:var(--site-content-width,1180px)!important;
  margin-top:42px!important;
  border-top:0!important;
}
body:not(.subpage) #col_main .seiko-work__head{
  border:0!important;
  padding:0!important;
}
body:not(.subpage) #col_main .seiko-work__title{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body:not(.subpage) #col_main .seiko-work__title:before,
body:not(.subpage) #col_main .seiko-work__title::before,
body:not(.subpage) #col_main .seiko-work__title:after,
body:not(.subpage) #col_main .seiko-work__title::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  border:0!important;
}
@media screen and (max-width:834px){
  body:not(.subpage) #col_main .seiko-about>.inner,
  body:not(.subpage) #col_main .seiko-work{
    width:calc(100% - 36px)!important;
  }
  body:not(.subpage) #col_main .seiko-about{
    padding-top:34px!important;
  }
}

/* Centered about section correction */
body:not(.subpage) #col_main .seiko-about{
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:min(var(--site-content-width,1180px), calc(100% - 48px))!important;
  max-width:var(--site-content-width,1180px)!important;
  margin:0 auto!important;
  padding:42px 34px 48px!important;
  border:1px solid #d7e9f5!important;
  box-sizing:border-box!important;
}
body:not(.subpage) #col_main .seiko-about>.inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body:not(.subpage) #col_main .seiko-about__layout{
  width:100%!important;
  margin:0!important;
}
@media screen and (max-width:834px){
  body:not(.subpage) #col_main .seiko-about{
    width:calc(100% - 36px)!important;
    padding:34px 22px 38px!important;
  }
}

/* Match centered home blocks to main content width */
body:not(.subpage) #col_main .seiko-about,
body:not(.subpage) #col_main .seiko-work{
  width:100%!important;
  max-width:var(--site-content-width,1180px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Wide image-first service section */
body:not(.subpage) #col_main .seiko-work.seiko-work--wide{
  width:100%!important;
  max-width:var(--site-content-width,1180px)!important;
  margin:46px auto 0!important;
  padding:0 0 66px!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-work__head{
  display:grid!important;
  grid-template-columns:minmax(240px,.42fr) minmax(0,.58fr)!important;
  gap:34px!important;
  align-items:end!important;
  margin:0 0 28px!important;
  padding:0!important;
  border:0!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-work__copy{
  max-width:560px!important;
  margin:0 0 4px auto!important;
  color:#526a7b!important;
  font-size:15px!important;
  line-height:1.8!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-work__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-service{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  min-height:0!important;
  height:390px!important;
  padding:0!important;
  background:#073d70!important;
  border:0!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 20px 42px rgba(7,61,112,.16)!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-service__image{
  position:absolute!important;
  inset:0!important;
  height:100%!important;
  background:#eaf3fa!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-service__image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .55s ease!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-service:hover .seiko-service__image img{
  transform:scale(1.06)!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-service__image:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(5,34,76,.05) 18%,rgba(5,34,76,.18) 48%,rgba(5,34,76,.82) 100%)!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-service__body{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:2!important;
  padding:0 28px 30px!important;
  color:#fff!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-service__body span{
  display:block!important;
  margin:0 0 10px!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-service h3{
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-service p{
  margin:0!important;
  color:rgba(255,255,255,.9)!important;
  font-size:14px!important;
  line-height:1.7!important;
}
@media screen and (max-width:900px){
  body:not(.subpage) #col_main .seiko-work.seiko-work--wide{
    width:calc(100% - 36px)!important;
  }
  body:not(.subpage) #col_main .seiko-work--wide .seiko-work__head{
    display:block!important;
  }
  body:not(.subpage) #col_main .seiko-work--wide .seiko-work__copy{
    margin:12px 0 0!important;
  }
  body:not(.subpage) #col_main .seiko-work--wide .seiko-work__grid{
    grid-template-columns:1fr!important;
  }
  body:not(.subpage) #col_main .seiko-work--wide .seiko-service{
    height:280px!important;
  }
}

/* Service section background and spacing */
body:not(.subpage) #col_main .seiko-work.seiko-work--wide{
  position:relative!important;
  margin-top:64px!important;
  margin-bottom:72px!important;
  padding:58px 54px 70px!important;
  background:linear-gradient(135deg,#f2f8fd 0%,#ffffff 56%,#e9f3fb 100%)!important;
  border:1px solid #d7e9f5!important;
  box-sizing:border-box!important;
}
body:not(.subpage) #col_main .seiko-work.seiko-work--wide:before{
  content:""!important;
  position:absolute!important;
  right:-120px!important;
  top:-150px!important;
  width:330px!important;
  height:330px!important;
  border:44px solid rgba(11,49,143,.055)!important;
  border-radius:50%!important;
  pointer-events:none!important;
}
body:not(.subpage) #col_main .seiko-work.seiko-work--wide>*{
  position:relative!important;
  z-index:1!important;
}
@media screen and (max-width:900px){
  body:not(.subpage) #col_main .seiko-work.seiko-work--wide{
    margin-top:46px!important;
    margin-bottom:54px!important;
    padding:38px 22px 46px!important;
  }
}

/* Service section full-width background band */
body:not(.subpage) #col_main .seiko-work.seiko-work--wide{
  position:relative!important;
  width:100vw!important;
  max-width:none!important;
  margin:64px calc(50% - 50vw) 76px!important;
  padding:64px max(54px, calc((100vw - var(--site-content-width,1180px)) / 2)) 76px!important;
  background:linear-gradient(135deg,#edf7fd 0%,#f8fcff 52%,#e7f2fb 100%)!important;
  border:0!important;
  box-sizing:border-box!important;
}
body:not(.subpage) #col_main .seiko-work.seiko-work--wide:before{
  right:calc((100vw - var(--site-content-width,1180px)) / 2 - 170px)!important;
  top:-130px!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-work__head,
body:not(.subpage) #col_main .seiko-work--wide .seiko-work__grid{
  width:min(var(--site-content-width,1180px), calc(100vw - 48px))!important;
  max-width:var(--site-content-width,1180px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.subpage) #col_main .seiko-work--wide .seiko-work__head{
  margin-bottom:28px!important;
}
@media screen and (max-width:900px){
  body:not(.subpage) #col_main .seiko-work.seiko-work--wide{
    width:100vw!important;
    margin:46px calc(50% - 50vw) 58px!important;
    padding:42px 0 52px!important;
  }
  body:not(.subpage) #col_main .seiko-work--wide .seiko-work__head,
  body:not(.subpage) #col_main .seiko-work--wide .seiko-work__grid{
    width:calc(100vw - 36px)!important;
  }
}

/* Align service full-width band to viewport edges */
body:not(.subpage) #col_main .seiko-work.seiko-work--wide{
  width:100vw!important;
  margin-left:calc(50% - 50vw - var(--site-content-gutter,24px))!important;
  margin-right:calc(50% - 50vw - var(--site-content-gutter,24px))!important;
}

/* Simple redesigned home news */
body:not(.subpage) #col_main .home-news.home-news--simple{
  position:relative!important;
  width:100vw!important;
  max-width:none!important;
  margin:0 calc(50% - 50vw - var(--site-content-gutter,24px)) 74px!important;
  padding:66px 0 72px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
body:not(.subpage) #col_main .home-news--simple .home-news__inner{
  width:min(var(--site-content-width,1180px), calc(100vw - 48px))!important;
  max-width:var(--site-content-width,1180px)!important;
  margin:0 auto!important;
  padding:0!important;
}
body:not(.subpage) #col_main .home-news--simple .home-news__head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:24px!important;
  margin:0 0 28px!important;
  padding:0!important;
  border:0!important;
}
body:not(.subpage) #col_main .home-news--simple .home-news__eyebrow{
  display:block!important;
  margin:0 0 9px!important;
  color:#0b318f!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
body:not(.subpage) #col_main .home-news--simple h2{
  margin:0!important;
  padding:0!important;
  color:#073d70!important;
  font-size:34px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-align:left!important;
}
body:not(.subpage) #col_main .home-news--simple .home-news__more{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:118px!important;
  height:42px!important;
  padding:0 20px!important;
  background:#0b318f!important;
  color:#fff!important;
  border-radius:999px!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  text-decoration:none!important;
  transition:background .2s ease,transform .2s ease!important;
}
body:not(.subpage) #col_main .home-news--simple .home-news__more:hover{
  background:#d6001c!important;
  transform:translateY(-2px)!important;
}
body:not(.subpage) #col_main .home-news--simple .home-news__grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body:not(.subpage) #col_main .home-news--simple .home-news-card{
  display:grid!important;
  grid-template-columns:104px 82px minmax(0,1fr)!important;
  align-items:center!important;
  gap:16px!important;
  min-height:70px!important;
  padding:16px 20px!important;
  background:#f7fbff!important;
  border:1px solid #d7e9f5!important;
  color:#1d3344!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
body:not(.subpage) #col_main .home-news--simple .home-news-card:hover{
  background:#fff!important;
  border-color:#9fc8e4!important;
  transform:translateY(-2px)!important;
  box-shadow:0 12px 26px rgba(7,61,112,.1)!important;
}
body:not(.subpage) #col_main .home-news--simple time{
  color:#0b318f!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
body:not(.subpage) #col_main .home-news--simple .home-news-card span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:26px!important;
  padding:0 10px!important;
  background:#fff!important;
  border:1px solid #bad8ea!important;
  color:#174e78!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
body:not(.subpage) #col_main .home-news--simple strong{
  display:block!important;
  overflow:hidden!important;
  color:#1d3344!important;
  font-size:15px!important;
  line-height:1.55!important;
  font-weight:700!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
@media screen and (max-width:900px){
  body:not(.subpage) #col_main .home-news.home-news--simple{
    margin-bottom:54px!important;
    padding:46px 0 52px!important;
  }
  body:not(.subpage) #col_main .home-news--simple .home-news__inner{
    width:calc(100vw - 36px)!important;
  }
  body:not(.subpage) #col_main .home-news--simple .home-news__head{
    display:block!important;
  }
  body:not(.subpage) #col_main .home-news--simple .home-news__more{
    margin-top:16px!important;
  }
  body:not(.subpage) #col_main .home-news--simple .home-news__grid{
    grid-template-columns:1fr!important;
  }
  body:not(.subpage) #col_main .home-news--simple .home-news-card{
    grid-template-columns:92px 76px minmax(0,1fr)!important;
    gap:10px!important;
    padding:15px 14px!important;
  }
  body:not(.subpage) #col_main .home-news--simple strong{
    font-size:14px!important;
  }
}

/* Clean card redesign for home news */
body:not(.subpage) #col_main .home-news.home-news--clean{
  position:relative!important;
  width:100vw!important;
  max-width:none!important;
  margin:0 calc(50% - 50vw - var(--site-content-gutter,24px)) 78px!important;
  padding:78px 0 82px!important;
  background:#fff!important;
  border:0!important;
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body:not(.subpage) #col_main .home-news.home-news--clean:before,
body:not(.subpage) #col_main .home-news.home-news--clean:after{
  content:none!important;
  display:none!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news__inner{
  width:min(var(--site-content-width,1180px), calc(100vw - 48px))!important;
  max-width:var(--site-content-width,1180px)!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news__head{
  display:grid!important;
  grid-template-columns:auto minmax(260px,1fr) auto!important;
  align-items:end!important;
  gap:30px!important;
  margin:0 0 30px!important;
  padding:0!important;
  border:0!important;
  text-align:left!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news__eyebrow{
  display:block!important;
  margin:0 0 9px!important;
  color:#0b318f!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
body:not(.subpage) #col_main .home-news--clean h2{
  margin:0!important;
  padding:0!important;
  color:#073d70!important;
  font-size:34px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-align:left!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news__head p{
  margin:0 0 5px!important;
  color:#526a7b!important;
  font-size:15px!important;
  line-height:1.8!important;
  text-align:left!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news__more{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:118px!important;
  height:42px!important;
  padding:0 20px!important;
  background:#0b318f!important;
  color:#fff!important;
  border:0!important;
  border-radius:999px!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-shadow:0 10px 22px rgba(11,49,143,.18)!important;
  transition:background .2s ease,transform .2s ease!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news__more:hover{
  background:#d6001c!important;
  transform:translateY(-2px)!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news__grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  min-height:154px!important;
  padding:22px 22px 20px!important;
  background:#f7fbff!important;
  border:1px solid #dcecf6!important;
  color:#1d3344!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news-card:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:4px!important;
  background:#0b318f!important;
  transform:scaleX(0)!important;
  transform-origin:left center!important;
  transition:transform .25s ease!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news-card:hover{
  background:#fff!important;
  border-color:#a8cde5!important;
  transform:translateY(-4px)!important;
  box-shadow:0 16px 32px rgba(7,61,112,.11)!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news-card:hover:before{
  transform:scaleX(1)!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news-card__date{
  display:block!important;
  margin:0 0 14px!important;
  color:#0b318f!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news-card__cat{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:flex-start!important;
  height:25px!important;
  margin:0 0 14px!important;
  padding:0 10px!important;
  background:#fff!important;
  border:1px solid #bad8ea!important;
  color:#174e78!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
body:not(.subpage) #col_main .home-news--clean strong{
  display:-webkit-box!important;
  overflow:hidden!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  color:#1d3344!important;
  font-size:15px!important;
  line-height:1.65!important;
  font-weight:800!important;
}
body:not(.subpage) #col_main .home-news--clean .home-news-card i{
  position:absolute!important;
  right:18px!important;
  bottom:17px!important;
  width:18px!important;
  height:18px!important;
  border-right:2px solid #0b318f!important;
  border-bottom:2px solid #0b318f!important;
  transform:rotate(-45deg)!important;
  opacity:.28!important;
}
@media screen and (max-width:1100px){
  body:not(.subpage) #col_main .home-news--clean .home-news__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media screen and (max-width:760px){
  body:not(.subpage) #col_main .home-news.home-news--clean{
    margin:0 calc(50% - 50vw - var(--site-content-gutter,18px)) 56px!important;
    padding:52px 0 58px!important;
  }
  body:not(.subpage) #col_main .home-news--clean .home-news__inner{
    width:calc(100vw - 36px)!important;
  }
  body:not(.subpage) #col_main .home-news--clean .home-news__head{
    display:block!important;
  }
  body:not(.subpage) #col_main .home-news--clean .home-news__head p{
    margin-top:12px!important;
  }
  body:not(.subpage) #col_main .home-news--clean .home-news__more{
    margin-top:18px!important;
  }
  body:not(.subpage) #col_main .home-news--clean .home-news__grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  body:not(.subpage) #col_main .home-news--clean .home-news-card{
    min-height:128px!important;
    padding:19px 18px!important;
  }
}

/* Home news inline content, no category, no link */
body:not(.subpage) #col_main .home-news--inline .home-news__head{
  grid-template-columns:auto minmax(260px,1fr)!important;
}
body:not(.subpage) #col_main .home-news--inline .home-news__more,
body:not(.subpage) #col_main .home-news--inline .home-news-card__cat,
body:not(.subpage) #col_main .home-news--inline .home-news-card i{
  display:none!important;
}
body:not(.subpage) #col_main .home-news--inline .home-news-card{
  cursor:default!important;
  min-height:172px!important;
  padding:24px 22px 22px!important;
}
body:not(.subpage) #col_main .home-news--inline .home-news-card:hover{
  background:#f7fbff!important;
  border-color:#dcecf6!important;
  transform:none!important;
  box-shadow:none!important;
}
body:not(.subpage) #col_main .home-news--inline .home-news-card:hover:before{
  transform:scaleX(0)!important;
}
body:not(.subpage) #col_main .home-news--inline .home-news-card__date{
  margin-bottom:16px!important;
}
body:not(.subpage) #col_main .home-news--inline strong{
  -webkit-line-clamp:2!important;
  margin-bottom:12px!important;
  min-height:48px!important;
}
body:not(.subpage) #col_main .home-news--inline .home-news-card p{
  display:-webkit-box!important;
  overflow:hidden!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  margin:0!important;
  color:#526a7b!important;
  font-size:13px!important;
  line-height:1.75!important;
  text-align:left!important;
}
@media screen and (max-width:760px){
  body:not(.subpage) #col_main .home-news--inline .home-news-card{
    min-height:auto!important;
  }
  body:not(.subpage) #col_main .home-news--inline strong{
    min-height:0!important;
  }
}

/* Compact home news and footer map */
body:not(.subpage) #col_main .home-news.home-news--compact{
  margin-top:0!important;
  margin-bottom:42px!important;
  padding:46px 0 50px!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news__head{
  margin-bottom:22px!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news__grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news-card{
  min-height:142px!important;
  padding:22px 20px 20px!important;
}
body:not(.subpage) #col_main .home-news--compact strong{
  min-height:auto!important;
  margin-bottom:10px!important;
  font-size:14px!important;
  line-height:1.6!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news-card p{
  font-size:13px!important;
  line-height:1.7!important;
}
.home-footer-map{
  width:100vw!important;
  margin:0 calc(50% - 50vw)!important;
  background:#eef7fd!important;
  border:0!important;
  box-sizing:border-box!important;
}
.home-footer-map__inner{
  position:relative!important;
  width:100%!important;
  height:360px!important;
  overflow:hidden!important;
}
.home-footer-map iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  filter:saturate(.9) contrast(.98)!important;
}
.home-footer-map__overlay{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  transform:translate(-50%,-58%);
  pointer-events:none;
}
.home-footer-map__bubble{
  position:relative;
  min-width:240px;
  max-width:min(360px,calc(100vw - 48px));
  margin-bottom:10px;
  padding:14px 16px 12px;
  background:#fff;
  border:1px solid #d7e8f3;
  border-radius:8px;
  box-shadow:0 14px 30px rgba(7,61,112,.18);
  pointer-events:auto;
  text-align:left;
}
.home-footer-map__bubble:before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-8px;
  width:14px;
  height:14px;
  background:#fff;
  border-right:1px solid #d7e8f3;
  border-bottom:1px solid #d7e8f3;
  transform:translateX(-50%) rotate(45deg);
}
.home-footer-map__bubble strong{
  display:block;
  margin-bottom:6px;
  color:#073d70;
  font-size:15px;
  line-height:1.4;
}
.home-footer-map__bubble p{
  margin:0;
  color:#37556b;
  font-size:13px;
  line-height:1.7;
}
.home-footer-map__bubble .home-footer-map__tel{
  display:block;
  margin-top:8px;
  color:#073d70;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  text-decoration:none;
}
.home-footer-map__bubble .home-footer-map__tel:hover{
  color:#d6001c;
  text-decoration:none;
}
.home-footer-map__bubble .home-footer-map__link{
  display:block;
  margin-top:8px;
  color:#1f6fa9;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
.home-footer-map__bubble .home-footer-map__link:hover{
  color:#073d70;
  text-decoration:underline;
}
.home-footer-map__bubble a{
  display:inline-block;
  margin-top:8px;
  color:#1f6fa9;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
.home-footer-map__bubble a:hover{
  color:#073d70;
  text-decoration:underline;
}
.home-footer-map__pin{
  position:relative;
  display:block;
  width:28px;
  height:28px;
  border-radius:50% 50% 50% 0;
  background:#d6001c;
  border:3px solid #fff;
  box-shadow:0 8px 18px rgba(214,0,28,.35);
  transform:rotate(-45deg);
}
.home-footer-map__pin:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
}
@media screen and (max-width:1100px){
  body:not(.subpage) #col_main .home-news--compact .home-news__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media screen and (max-width:760px){
  body:not(.subpage) #col_main .home-news.home-news--compact{
    margin-bottom:34px!important;
    padding:38px 0 42px!important;
  }
  body:not(.subpage) #col_main .home-news--compact .home-news__grid{
    grid-template-columns:1fr!important;
  }
  .home-footer-map__inner{
    height:280px!important;
  }
  .home-footer-map__overlay{
    transform:translate(-50%,-62%);
  }
  .home-footer-map__bubble{
    min-width:0;
    max-width:calc(100vw - 36px);
    padding:12px 14px 10px;
  }
  .home-footer-map__bubble strong{
    font-size:14px;
  }
  .home-footer-map__bubble p{
    font-size:12px;
  }
}

/* Refine compact news into larger 2x2 cards */
body:not(.subpage) #col_main .home-news.home-news--compact{
  position:relative!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding:60px 0 64px!important;
  background:#fff!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news__head{
  display:grid!important;
  grid-template-columns:minmax(220px,.34fr) minmax(0,.66fr)!important;
  gap:36px!important;
  align-items:end!important;
  margin-bottom:30px!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news__head p{
  max-width:560px!important;
  margin:0 0 4px auto!important;
  font-size:15px!important;
  line-height:1.85!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news__grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:118px minmax(0,1fr)!important;
  gap:24px!important;
  min-height:174px!important;
  padding:28px 30px!important;
  background:linear-gradient(135deg,#f6fbff 0%,#fff 70%)!important;
  border:1px solid #d8eaf5!important;
  box-shadow:0 14px 30px rgba(7,61,112,.07)!important;
  overflow:hidden!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news-card:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:5px!important;
  height:100%!important;
  background:#0b318f!important;
  transform:none!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news-card__date{
  grid-row:1 / span 2!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  margin:0!important;
  padding-top:2px!important;
  color:#0b318f!important;
  font-size:18px!important;
  line-height:1.3!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
body:not(.subpage) #col_main .home-news--compact strong{
  display:block!important;
  min-height:0!important;
  margin:0 0 12px!important;
  color:#073d70!important;
  font-size:18px!important;
  line-height:1.55!important;
  font-weight:800!important;
  -webkit-line-clamp:2!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news-card p{
  margin:0!important;
  color:#526a7b!important;
  font-size:14px!important;
  line-height:1.85!important;
  -webkit-line-clamp:2!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news-card:hover{
  background:linear-gradient(135deg,#f6fbff 0%,#fff 70%)!important;
  border-color:#c0dded!important;
  transform:none!important;
  box-shadow:0 14px 30px rgba(7,61,112,.07)!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news-card:hover:before{
  transform:none!important;
}

/* Map flush with footer copyright area */
.home-footer-map{
  margin-top:0!important;
  margin-bottom:0!important;
  border:0!important;
}
.home-footer-map__inner{
  height:400px!important;
}
#global_footer{
  margin-top:0!important;
  padding-top:0!important;
}
#global_footer .footer{
  margin-top:0!important;
}
@media screen and (max-width:900px){
  body:not(.subpage) #col_main .home-news--compact .home-news__head{
    display:block!important;
  }
  body:not(.subpage) #col_main .home-news--compact .home-news__head p{
    margin:12px 0 0!important;
  }
  body:not(.subpage) #col_main .home-news--compact .home-news__grid{
    grid-template-columns:1fr!important;
  }
  body:not(.subpage) #col_main .home-news--compact .home-news-card{
    grid-template-columns:1fr!important;
    gap:12px!important;
    min-height:auto!important;
    padding:24px 22px!important;
  }
  body:not(.subpage) #col_main .home-news--compact .home-news-card__date{
    grid-row:auto!important;
    font-size:16px!important;
  }
  .home-footer-map__inner{
    height:320px!important;
  }
}

/* Tighten home news spacing */
body:not(.subpage) #col_main .home-news.home-news--compact{
  padding-top:38px!important;
  padding-bottom:42px!important;
}
body:not(.subpage) #col_main .home-news--compact .home-news__head{
  margin-bottom:22px!important;
}
@media screen and (max-width:760px){
  body:not(.subpage) #col_main .home-news.home-news--compact{
    padding-top:30px!important;
    padding-bottom:34px!important;
  }
}

/* Mobile: keep 業務内容 / 新着情報 centered with side padding */
@media screen and (max-width:834px){
  body:not(.subpage) #col_main .seiko-work.seiko-work--wide{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:var(--site-content-gutter,18px)!important;
    padding-right:var(--site-content-gutter,18px)!important;
    box-sizing:border-box!important;
  }
  body:not(.subpage) #col_main .seiko-work--wide .seiko-work__head,
  body:not(.subpage) #col_main .seiko-work--wide .seiko-work__grid{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  body:not(.subpage) #col_main .home-news.home-news--clean,
  body:not(.subpage) #col_main .home-news.home-news--compact{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:var(--site-content-gutter,18px)!important;
    padding-right:var(--site-content-gutter,18px)!important;
    box-sizing:border-box!important;
  }
  body:not(.subpage) #col_main .home-news--clean .home-news__inner,
  body:not(.subpage) #col_main .home-news--compact .home-news__inner{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* About section: show full JINGGONG watermark + keyword tags on mobile */
  body:not(.subpage) #col_main .seiko-about{
    overflow:visible!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body:not(.subpage) #col_main .seiko-about>.inner{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body:not(.subpage) #col_main .seiko-about__layout{
    align-items:stretch!important;
    gap:22px!important;
  }
  body:not(.subpage) #col_main .seiko-about__panel{
    overflow:visible!important;
    padding:36px 18px 24px!important;
  }
  body:not(.subpage) #col_main .seiko-about__panel::before{
    font-size:28px!important;
    right:12px!important;
    top:8px!important;
    letter-spacing:.04em!important;
    white-space:nowrap!important;
    max-width:calc(100% - 24px)!important;
    overflow:visible!important;
  }
  body:not(.subpage) #col_main .seiko-about__tags{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:18px!important;
    position:relative!important;
    z-index:1!important;
    overflow:visible!important;
  }
  body:not(.subpage) #col_main .seiko-about__tags span{
    display:inline-block!important;
    font-size:12px!important;
    padding:7px 10px!important;
    line-height:1.4!important;
    white-space:normal!important;
  }
}

/* Refined mobile menu */
@media screen and (max-width:834px){
  #global_header .header{
    min-height:74px!important;
  }
  #global_header .header-inner{
    min-height:74px!important;
  }
  #global_header .sp{
    position:fixed!important;
    top:14px!important;
    right:14px!important;
    z-index:10020!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    height:48px!important;
    margin:0!important;
    padding:0!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(11,49,143,.18)!important;
    border-radius:14px!important;
    box-shadow:0 12px 28px rgba(7,61,112,.16)!important;
    backdrop-filter:blur(10px)!important;
  }
  #global_header .sp:before{
    content:"MENU"!important;
    position:absolute!important;
    right:56px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#0b318f!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.08em!important;
    opacity:.86!important;
  }
  #global_header .sp_menu{
    position:relative!important;
    width:24px!important;
    height:18px!important;
    margin:0!important;
    padding:0!important;
  }
  #global_header .sp_menu div{
    position:absolute!important;
    left:0!important;
    width:24px!important;
    height:2px!important;
    margin:0!important;
    background:#0b318f!important;
    border-radius:999px!important;
    transition:top .22s ease,transform .22s ease,opacity .16s ease,background .22s ease!important;
  }
  #global_header .sp_menu div:nth-child(1){top:0!important;}
  #global_header .sp_menu div:nth-child(2){top:8px!important;width:18px!important;left:6px!important;}
  #global_header .sp_menu div:nth-child(3){top:16px!important;}
  #global_header .sp_menu.on div:nth-child(1){top:8px!important;transform:rotate(45deg)!important;background:#fff!important;}
  #global_header .sp_menu.on div:nth-child(2){opacity:0!important;transform:translateX(6px)!important;}
  #global_header .sp_menu.on div:nth-child(3){top:8px!important;transform:rotate(-45deg)!important;background:#fff!important;}
  #global_header .sp:has(.sp_menu.on){
    background:#0b318f!important;
    border-color:#0b318f!important;
    box-shadow:0 16px 34px rgba(11,49,143,.28)!important;
  }
  #global_header .sp:has(.sp_menu.on):before{
    content:"CLOSE"!important;
    color:#fff!important;
  }
  #global_header .nav_sp{
    position:fixed!important;
    inset:0!important;
    z-index:10000!important;
    width:100vw!important;
    height:100vh!important;
    padding:92px 18px 26px!important;
    background:linear-gradient(145deg,rgba(7,61,112,.96) 0%,rgba(11,49,143,.95) 54%,rgba(31,111,169,.95) 100%)!important;
    box-sizing:border-box!important;
    overflow:auto!important;
  }
  #global_header .nav_sp:before{
    content:"精工株式会社"!important;
    display:block!important;
    width:min(100%,420px)!important;
    margin:0 auto 18px!important;
    color:rgba(255,255,255,.78)!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.14em!important;
  }
  #global_header .nav_wrap{
    position:relative!important;
    display:block!important;
    width:min(100%,420px)!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:14px!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid rgba(255,255,255,.35)!important;
    border-radius:20px!important;
    box-shadow:0 24px 52px rgba(0,25,68,.28)!important;
    box-sizing:border-box!important;
  }
  #global_header .nav_wrap ul{
    display:block!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  #global_header .nav_wrap li{
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  #global_header .nav_wrap li+li{
    margin-top:8px!important;
  }
  #global_header .nav_wrap a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:52px!important;
    width:100%!important;
    padding:0 48px 0 18px!important;
    background:#f5faff!important;
    border:1px solid #dbeaf4!important;
    border-radius:13px!important;
    color:#073d70!important;
    font-size:16px!important;
    line-height:1.35!important;
    font-weight:800!important;
    letter-spacing:0!important;
    text-align:left!important;
    text-decoration:none!important;
    box-sizing:border-box!important;
  }
  #global_header .nav_wrap a:after{
    content:""!important;
    position:absolute!important;
    right:18px!important;
    top:50%!important;
    width:8px!important;
    height:8px!important;
    border-right:2px solid #0b318f!important;
    border-bottom:2px solid #0b318f!important;
    transform:translateY(-50%) rotate(-45deg)!important;
    opacity:.7!important;
  }
  #global_header .nav_wrap li:last-child a{
    background:#d6001c!important;
    border-color:#d6001c!important;
    color:#fff!important;
    box-shadow:0 12px 24px rgba(214,0,28,.2)!important;
  }
  #global_header .nav_wrap li:last-child a:after{
    border-color:#fff!important;
    opacity:1!important;
  }
}
@media screen and (max-width:430px){
  #global_header .sp:before{
    display:none!important;
  }
}

/* Hide page slider controls while mobile menu is open */
@media screen and (max-width:834px){
  body.fixed #mainArea .slick-dots,
  body.fixed .slick-dots{
    display:none!important;
  }
  body.fixed #global_header .nav_sp{
    z-index:10000!important;
  }
  body.fixed #global_header .sp{
    z-index:10030!important;
  }
}

/* Mobile menu v2: lightweight right drawer */
@media screen and (max-width:834px){
  #global_header .sp{
    top:12px!important;
    right:12px!important;
    width:54px!important;
    height:54px!important;
    background:#0b318f!important;
    border:2px solid rgba(255,255,255,.9)!important;
    border-radius:16px!important;
    box-shadow:0 12px 26px rgba(11,49,143,.32)!important;
    backdrop-filter:none!important;
  }
  #global_header .sp:before{
    content:""!important;
    display:none!important;
  }
  #global_header .sp:after{
    content:"MENU"!important;
    position:absolute!important;
    left:50%!important;
    bottom:5px!important;
    transform:translateX(-50%)!important;
    color:#fff!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
  }
  #global_header .sp_menu{
    width:26px!important;
    height:18px!important;
    transform:translateY(-4px)!important;
  }
  #global_header .sp_menu div{
    width:26px!important;
    height:2px!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  #global_header .sp_menu div:nth-child(1){top:0!important;}
  #global_header .sp_menu div:nth-child(2){top:8px!important;width:18px!important;left:8px!important;}
  #global_header .sp_menu div:nth-child(3){top:16px!important;}
  #global_header .sp_menu.on div:nth-child(1){top:8px!important;transform:rotate(45deg)!important;}
  #global_header .sp_menu.on div:nth-child(2){opacity:0!important;transform:translateX(8px)!important;}
  #global_header .sp_menu.on div:nth-child(3){top:8px!important;transform:rotate(-45deg)!important;}
  #global_header .sp:has(.sp_menu.on){
    background:#d6001c!important;
    border-color:#fff!important;
    box-shadow:0 12px 28px rgba(214,0,28,.28)!important;
  }
  #global_header .sp:has(.sp_menu.on):after{
    content:"CLOSE"!important;
  }
  #global_header .nav_sp{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:9990!important;
    width:100vw!important;
    height:100vh!important;
    padding:0!important;
    background:rgba(5,22,52,.42)!important;
    opacity:0!important;
    pointer-events:none!important;
    overflow:hidden!important;
    transition:opacity .32s cubic-bezier(.4,0,.2,1)!important;
  }
  body.fixed #global_header .nav_sp{
    opacity:1!important;
    pointer-events:auto!important;
  }
  #global_header .nav_sp:before{
    content:none!important;
    display:none!important;
  }
  #global_header .nav_wrap{
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    display:block!important;
    width:min(82vw,340px)!important;
    height:100vh!important;
    min-height:0!important;
    margin:0!important;
    padding:92px 18px 24px!important;
    background:#fff!important;
    border:0!important;
    border-radius:22px 0 0 22px!important;
    box-shadow:-18px 0 42px rgba(0,25,68,.22)!important;
    box-sizing:border-box!important;
    transform:translate3d(104%,0,0)!important;
    transition:transform .36s cubic-bezier(.32,.72,.18,1)!important;
    will-change:transform!important;
    overflow:auto!important;
  }
  body.fixed #global_header .nav_wrap{
    transform:translate3d(0,0,0)!important;
  }
  #global_header .nav_wrap li{
    opacity:0!important;
    transform:translate3d(20px,0,0)!important;
    transition:opacity .34s ease, transform .34s cubic-bezier(.22,1,.36,1)!important;
  }
  body.fixed #global_header .nav_wrap li{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
  }
  body.fixed #global_header .nav_wrap li:nth-child(1){transition-delay:.04s!important;}
  body.fixed #global_header .nav_wrap li:nth-child(2){transition-delay:.08s!important;}
  body.fixed #global_header .nav_wrap li:nth-child(3){transition-delay:.12s!important;}
  body.fixed #global_header .nav_wrap li:nth-child(4){transition-delay:.16s!important;}
  body.fixed #global_header .nav_wrap li:nth-child(5){transition-delay:.20s!important;}
  body.fixed #global_header .nav_wrap li:nth-child(6){transition-delay:.24s!important;}
  body.fixed #global_header .nav_wrap li:nth-child(7){transition-delay:.28s!important;}
  body.fixed #global_header .nav_wrap li:nth-child(8){transition-delay:.32s!important;}
  #global_header .nav_wrap:before{
    content:"MENU"!important;
    display:block!important;
    margin:0 0 18px!important;
    color:#0b318f!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.16em!important;
  }
  #global_header .nav_wrap ul{
    display:block!important;
    margin:0!important;
    padding:0!important;
  }
  #global_header .nav_wrap li+li{
    margin-top:9px!important;
  }
  #global_header .nav_wrap a{
    min-height:50px!important;
    padding:0 42px 0 16px!important;
    background:#f6faff!important;
    border:1px solid #dcecf6!important;
    border-radius:12px!important;
    color:#073d70!important;
    font-size:15px!important;
    font-weight:800!important;
    box-shadow:none!important;
  }
  #global_header .nav_wrap a:after{
    right:16px!important;
    width:7px!important;
    height:7px!important;
  }
  #global_header .nav_wrap li:last-child a{
    margin-top:12px!important;
    background:#d6001c!important;
    border-color:#d6001c!important;
    color:#fff!important;
    box-shadow:0 10px 22px rgba(214,0,28,.18)!important;
  }
  body.fixed #mainArea .slick-dots,
  body.fixed .slick-dots{
    display:none!important;
  }
}

/* Mobile menu v3 polish: refined button and unified items */
@media screen and (max-width:834px){
  #global_header .sp{
    width:56px!important;
    height:56px!important;
    background:linear-gradient(145deg,#ffffff 0%,#edf6ff 100%)!important;
    border:1px solid rgba(11,49,143,.22)!important;
    border-radius:18px!important;
    box-shadow:0 10px 18px rgba(7,61,112,.18), inset 0 1px 0 rgba(255,255,255,.9)!important;
  }
  #global_header .sp:after{
    color:#0b318f!important;
    bottom:7px!important;
    font-size:8px!important;
    letter-spacing:.12em!important;
  }
  #global_header .sp_menu{
    width:28px!important;
    height:20px!important;
    transform:translateY(-5px)!important;
  }
  #global_header .nav_wrap a,
  #global_header .nav_wrap li:last-child a{
    background:#f6faff!important;
    border:1px solid #dcecf6!important;
    color:#073d70!important;
    box-shadow:none!important;
  }
  #global_header .nav_wrap li:last-child a{
    margin-top:9px!important;
  }
  #global_header .nav_wrap li:last-child a:after{
    border-color:#0b318f!important;
    opacity:.7!important;
  }
}

/* Mobile menu hamburger: GPU transform only, no legacy keyframes */
@media screen and (max-width:834px){
  #global_header .sp{
    top:12px!important;
    right:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:50px!important;
    height:50px!important;
    padding:0!important;
    background:#0b318f!important;
    border:0!important;
    border-radius:50%!important;
    box-shadow:0 10px 22px rgba(11,49,143,.28)!important;
    transition:background .22s ease, box-shadow .22s ease, transform .22s ease!important;
  }
  #global_header .sp:before,
  #global_header .sp:after{
    content:none!important;
    display:none!important;
  }
  #global_header .sp_menu{
    position:relative!important;
    display:block!important;
    width:22px!important;
    height:22px!important;
    margin:0!important;
    transform:none!important;
  }
  #global_header .sp_menu div,
  #global_header .sp_menu.on div,
  #global_header .sp_menu.off div{
    position:absolute!important;
    top:10px!important;
    left:0!important;
    width:22px!important;
    height:2px!important;
    margin:0!important;
    padding:0!important;
    animation:none!important;
    -webkit-animation:none!important;
    background:#fff!important;
    border-radius:999px!important;
    transform-origin:center center!important;
    transition:transform .22s cubic-bezier(.4,0,.2,1), opacity .18s ease, width .22s ease!important;
    will-change:transform!important;
  }
  #global_header .sp_menu div:nth-child(1),
  #global_header .sp_menu.on div:nth-child(1),
  #global_header .sp_menu.off div:nth-child(1){
    transform:translate3d(0,-7px,0)!important;
  }
  #global_header .sp_menu div:nth-child(2),
  #global_header .sp_menu.on div:nth-child(2),
  #global_header .sp_menu.off div:nth-child(2){
    width:14px!important;
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
  }
  #global_header .sp_menu div:nth-child(3),
  #global_header .sp_menu.on div:nth-child(3),
  #global_header .sp_menu.off div:nth-child(3){
    transform:translate3d(0,7px,0)!important;
  }
  #global_header .sp_menu.on div:nth-child(1){
    width:22px!important;
    transform:translate3d(0,0,0) rotate(45deg)!important;
  }
  #global_header .sp_menu.on div:nth-child(2){
    width:22px!important;
    opacity:0!important;
    transform:translate3d(0,0,0) scaleX(0)!important;
  }
  #global_header .sp_menu.on div:nth-child(3){
    width:22px!important;
    transform:translate3d(0,0,0) rotate(-45deg)!important;
  }
  #global_header .sp:has(.sp_menu.on){
    background:#d6001c!important;
    box-shadow:0 10px 22px rgba(214,0,28,.28)!important;
    transform:scale(.96)!important;
  }
}

/* Company page redesign */
body.page-company #contents_wrap{
  background:linear-gradient(180deg,#f4f9fd 0%,#fff 280px,#fff 100%)!important;
}
body.page-company #contents,
body.page-company #main,
body.page-company #col_main{
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
}
body.page-company #col_main>section{
  padding:0 0 82px!important;
}
body.page-company .pankuzu{
  display:none!important;
}
body.page-company #c3.sub_title{
  position:relative!important;
  overflow:hidden!important;
  margin:0 auto 54px!important;
  padding:78px 64px!important;
  background:linear-gradient(135deg,#073d70 0%,#0b318f 52%,#1f6fa9 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 24px 52px rgba(7,61,112,.18)!important;
  box-sizing:border-box!important;
}
body.page-company #c3.sub_title:before{
  content:"COMPANY"!important;
  position:absolute!important;
  right:44px!important;
  bottom:-16px!important;
  color:rgba(255,255,255,.12)!important;
  font-size:92px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
body.page-company #c3.sub_title:after{
  content:""!important;
  position:absolute!important;
  left:-80px!important;
  top:-100px!important;
  width:260px!important;
  height:260px!important;
  border:38px solid rgba(255,255,255,.08)!important;
  border-radius:50%!important;
}
body.page-company #c3.sub_title article{
  position:relative!important;
  z-index:1!important;
  margin:0!important;
  padding:0!important;
}
body.page-company #c3.sub_title h1{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:42px!important;
  line-height:1.28!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-align:left!important;
}
body.page-company #c3.sub_title h1:before{
  content:"精工株式会社について"!important;
  display:block!important;
  margin:0 0 16px!important;
  color:rgba(255,255,255,.82)!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
}
body.page-company #c3.sub_title h1:after{
  content:""!important;
  display:block!important;
  width:68px!important;
  height:4px!important;
  margin-top:22px!important;
  background:#d6001c!important;
}
body.page-company #c4.title_02,
body.page-company #c6.title_02,
body.page-company #c9.title_02{
  margin:0 0 20px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
}
body.page-company #c4.title_02 article,
body.page-company #c6.title_02 article,
body.page-company #c9.title_02 article{
  margin:0!important;
  padding:0!important;
}
body.page-company #c4.title_02 h2,
body.page-company #c6.title_02 h2,
body.page-company #c9.title_02 h2{
  position:relative!important;
  margin:0!important;
  padding:0 0 0 18px!important;
  color:#073d70!important;
  font-size:28px!important;
  line-height:1.35!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-align:left!important;
  border:0!important;
}
body.page-company #c4.title_02 h2:before,
body.page-company #c6.title_02 h2:before,
body.page-company #c9.title_02 h2:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:.18em!important;
  width:5px!important;
  height:1.08em!important;
  background:#d6001c!important;
  border-radius:999px!important;
}
body.page-company #c4.title_02 h2:after,
body.page-company #c6.title_02 h2:after,
body.page-company #c9.title_02 h2:after{
  content:none!important;
  display:none!important;
}
body.page-company #c5.sptal,
body.page-company #c7.sptal{
  margin:0 0 48px!important;
  padding:0!important;
  background:none!important;
  border:0!important;
}
body.page-company #c5.sptal>div,
body.page-company #c7.sptal>div{
  margin:0!important;
  padding:34px 38px!important;
  background:#fff!important;
  border:1px solid #d7e9f5!important;
  box-shadow:0 18px 42px rgba(7,61,112,.09)!important;
  color:#253f53!important;
  font-size:16px!important;
  line-height:2.05!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
body.page-company #c7.sptal{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(320px,.8fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}
body.page-company #c7.sptal .company-c7-image,
body.page-company #c8{
  margin:0!important;
  padding:0!important;
  background:none!important;
  border:0!important;
}
body.page-company #c7.sptal .company-c7-image img,
body.page-company #c8 img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:260px!important;
  object-fit:cover!important;
  border:0!important;
  box-shadow:0 18px 42px rgba(7,61,112,.11)!important;
}
body.page-company #c9.title_02{
  margin-top:10px!important;
}
body.page-company #c10.dl_01{
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid #d7e9f5!important;
  box-shadow:0 18px 42px rgba(7,61,112,.09)!important;
}
body.page-company #c10.dl_01 dl{
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid #e4eff6!important;
  text-align:left!important;
}
body.page-company #c10.dl_01 dl:last-child{
  border-bottom:0!important;
}
body.page-company #c10.dl_01 dt,
body.page-company #c10.dl_01 dd{
  margin:0!important;
  padding:18px 24px!important;
  font-size:15px!important;
  line-height:1.8!important;
  box-sizing:border-box!important;
}
body.page-company #c10.dl_01 dt{
  display:flex!important;
  align-items:center!important;
  background:#f3f9fd!important;
  color:#073d70!important;
  font-weight:900!important;
}
body.page-company #c10.dl_01 dd{
  color:#253f53!important;
  background:#fff!important;
}
body.page-company #c10.dl_01 .call{
  color:#0b318f!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:900!important;
}
body.page-company #c10.dl_01 a{
  color:#0b318f!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
@media screen and (max-width:834px){
  body.page-company #contents,
  body.page-company #main,
  body.page-company #col_main{
    width:calc(100% - 36px)!important;
  }
  body.page-company #col_main>section{
    padding-bottom:56px!important;
  }
  body.page-company #c3.sub_title{
    margin-bottom:38px!important;
    padding:54px 28px!important;
  }
  body.page-company #c3.sub_title:before{
    right:18px!important;
    bottom:-8px!important;
    font-size:48px!important;
  }
  body.page-company #c3.sub_title h1{
    font-size:32px!important;
  }
  body.page-company #c4.title_02 h2,
  body.page-company #c6.title_02 h2,
  body.page-company #c9.title_02 h2{
    font-size:24px!important;
  }
  body.page-company #c5.sptal,
  body.page-company #c7.sptal{
    margin-bottom:36px!important;
  }
  body.page-company #c5.sptal>div,
  body.page-company #c7.sptal>div{
    padding:26px 22px!important;
    font-size:15px!important;
  }
  body.page-company #c7.sptal{
    display:block!important;
  }
  body.page-company #c7.sptal .company-c7-image{
    margin-top:18px!important;
  }
  body.page-company #c7.sptal .company-c7-image img,
  body.page-company #c8 img{
    min-height:210px!important;
  }
  body.page-company #c10.dl_01 dl{
    display:block!important;
  }
  body.page-company #c10.dl_01 dt,
  body.page-company #c10.dl_01 dd{
    padding:14px 18px!important;
  }
  body.page-company #c10.dl_01 dd{
    padding-top:12px!important;
  }
}

/* Company representative message */
body.page-company .company-message{
  position:relative!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:34px!important;
  margin:0 0 50px!important;
  padding:42px 46px!important;
  background:linear-gradient(135deg,#f4f9fd 0%,#fff 62%,#eaf4fb 100%)!important;
  border:1px solid #d7e9f5!important;
  box-shadow:0 20px 46px rgba(7,61,112,.1)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body.page-company .company-message:before{
  content:""!important;
  position:absolute!important;
  right:-90px!important;
  bottom:-130px!important;
  width:280px!important;
  height:280px!important;
  border:38px solid rgba(11,49,143,.055)!important;
  border-radius:50%!important;
}
body.page-company .company-message__head,
body.page-company .company-message__body{
  position:relative!important;
  z-index:1!important;
}
body.page-company .company-message__head span{
  display:block!important;
  margin:0 0 14px!important;
  color:#0b318f!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
}
body.page-company .company-message__head h2{
  margin:0!important;
  padding:0!important;
  color:#073d70!important;
  font-size:30px!important;
  line-height:1.35!important;
  font-weight:900!important;
  text-align:left!important;
}
body.page-company .company-message__head h2:after{
  content:""!important;
  display:block!important;
  width:58px!important;
  height:4px!important;
  margin-top:18px!important;
  background:#d6001c!important;
}
body.page-company .company-message__body p{
  margin:0!important;
  color:#253f53!important;
  font-size:16px!important;
  line-height:2.05!important;
  text-align:left!important;
}
body.page-company .company-message__body p+p{
  margin-top:16px!important;
}
body.page-company .company-message__name{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-end!important;
  gap:16px!important;
  margin-top:24px!important;
  color:#073d70!important;
  font-size:28px!important;
  line-height:1.3!important;
  font-weight:900!important;
}
body.page-company .company-message__name span{
  color:#526a7b!important;
  font-size:14px!important;
  font-weight:800!important;
}
@media screen and (max-width:834px){
  body.page-company .company-message{
    display:block!important;
    margin-bottom:36px!important;
    padding:30px 22px!important;
  }
  body.page-company .company-message__head{
    margin-bottom:20px!important;
  }
  body.page-company .company-message__head h2{
    font-size:24px!important;
  }
  body.page-company .company-message__body p{
    font-size:15px!important;
  }
  body.page-company .company-message__name{
    display:block!important;
    text-align:right!important;
    font-size:24px!important;
  }
  body.page-company .company-message__name span{
    display:block!important;
    margin-bottom:6px!important;
  }
}

/* Company page design option B */
body.page-company #contents_wrap{
  background:linear-gradient(180deg,#eef7fd 0,#fff 360px,#fff 100%)!important;
}
body.page-company #col_main>section{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
}
body.page-company #c3.sub_title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:36px!important;
  align-items:end!important;
  margin:0 auto 42px!important;
  padding:66px 54px!important;
  background:#fff!important;
  color:#073d70!important;
  border:1px solid #d7e9f5!important;
  box-shadow:0 22px 50px rgba(7,61,112,.12)!important;
}
body.page-company #c3.sub_title:before{
  content:"JINGGONG"!important;
  right:40px!important;
  bottom:24px!important;
  color:rgba(11,49,143,.075)!important;
  font-size:58px!important;
  letter-spacing:.08em!important;
}
body.page-company #c3.sub_title:after{
  content:""!important;
  position:relative!important;
  left:auto!important;
  top:auto!important;
  justify-self:end!important;
  width:260px!important;
  height:150px!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(135deg,#073d70 0%,#0b318f 72%,#d6001c 72%,#d6001c 100%)!important;
  clip-path:polygon(0 0,100% 0,84% 100%,0 100%)!important;
  opacity:1!important;
}
body.page-company #c3.sub_title article{
  align-self:center!important;
}
body.page-company #c3.sub_title h1{
  color:#073d70!important;
  font-size:46px!important;
}
body.page-company #c3.sub_title h1:before{
  color:#0b318f!important;
  font-size:13px!important;
}
body.page-company #c3.sub_title h1:after{
  width:86px!important;
  height:5px!important;
  background:#d6001c!important;
}
body.page-company #c4.title_02,
body.page-company #c6.title_02,
body.page-company #c9.title_02{
  width:min(100%,1180px)!important;
  margin:0 auto 18px!important;
}
body.page-company #c5.sptal.company-lead{
  margin-bottom:42px!important;
}
body.page-company #c5.sptal.company-lead>div{
  position:relative!important;
  padding:42px 48px 42px 54px!important;
  border:0!important;
  border-left:6px solid #0b318f!important;
  background:#fff!important;
  box-shadow:0 18px 44px rgba(7,61,112,.1)!important;
}
body.page-company #c5.sptal.company-lead>div:before{
  content:"ABOUT"!important;
  position:absolute!important;
  right:32px!important;
  top:22px!important;
  color:rgba(11,49,143,.06)!important;
  font-size:54px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.1em!important;
}
body.page-company .company-message{
  grid-template-columns:minmax(0,.48fr) minmax(0,.52fr)!important;
  gap:0!important;
  padding:0!important;
  background:#073d70!important;
  border:0!important;
  box-shadow:0 24px 56px rgba(7,61,112,.18)!important;
}
body.page-company .company-message:before{
  right:-70px!important;
  bottom:-110px!important;
  border-color:rgba(255,255,255,.08)!important;
}
body.page-company .company-message__head{
  padding:46px 42px!important;
  background:linear-gradient(135deg,#073d70 0%,#0b318f 100%)!important;
  box-sizing:border-box!important;
}
body.page-company .company-message__head span{
  color:rgba(255,255,255,.72)!important;
}
body.page-company .company-message__head h2{
  color:#fff!important;
  font-size:32px!important;
}
body.page-company .company-message__body{
  padding:42px 46px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
body.page-company .company-message__body p{
  color:#253f53!important;
}
body.page-company .company-message__name{
  color:#073d70!important;
}
body.page-company #c7.sptal{
  margin-bottom:42px!important;
}
body.page-company #c7.sptal>div{
  background:#f7fbff!important;
  box-shadow:none!important;
}
body.page-company #c7.sptal .company-c7-image img,
body.page-company #c8 img{
  border-radius:0!important;
  box-shadow:0 18px 42px rgba(7,61,112,.12)!important;
}
body.page-company #c10.dl_01{
  border:0!important;
  box-shadow:0 22px 54px rgba(7,61,112,.1)!important;
}
body.page-company #c10.dl_01 dl{
  grid-template-columns:230px minmax(0,1fr)!important;
}
body.page-company #c10.dl_01 dt{
  background:#073d70!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}
body.page-company #c10.dl_01 dd{
  background:#fff!important;
}
body.page-company #c10.dl_01 dl:nth-child(even) dd{
  background:#f8fcff!important;
}
@media screen and (max-width:834px){
  body.page-company #c3.sub_title{
    display:block!important;
    margin-bottom:34px!important;
    padding:46px 28px!important;
  }
  body.page-company #c3.sub_title:after{
    display:none!important;
  }
  body.page-company #c3.sub_title:before{
    font-size:42px!important;
    right:18px!important;
    bottom:16px!important;
  }
  body.page-company #c3.sub_title h1{
    font-size:34px!important;
  }
  body.page-company #c5.sptal.company-lead>div{
    padding:30px 24px!important;
    border-left-width:5px!important;
  }
  body.page-company #c5.sptal.company-lead>div:before{
    font-size:34px!important;
    right:18px!important;
    top:18px!important;
  }
  body.page-company .company-message{
    display:block!important;
  }
  body.page-company .company-message__head,
  body.page-company .company-message__body{
    padding:30px 24px!important;
  }
  body.page-company #c10.dl_01 dl{
    display:block!important;
  }
  body.page-company #c10.dl_01 dt{
    background:#f3f9fd!important;
    color:#073d70!important;
  }
}

/* Company option B width correction */
body.page-company #c3.sub_title{
  width:100%!important;
  max-width:1180px!important;
  box-sizing:border-box!important;
}
body.page-company #c3.sub_title article{
  width:auto!important;
  max-width:none!important;
}

/* Company page: restore first header design only */
body.page-company #c3.sub_title{
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto 54px!important;
  padding:78px 64px!important;
  background:linear-gradient(135deg,#073d70 0%,#0b318f 52%,#1f6fa9 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 24px 52px rgba(7,61,112,.18)!important;
  box-sizing:border-box!important;
}
body.page-company #c3.sub_title:before{
  content:"COMPANY"!important;
  position:absolute!important;
  right:44px!important;
  bottom:-16px!important;
  color:rgba(255,255,255,.12)!important;
  font-size:92px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
body.page-company #c3.sub_title:after{
  content:""!important;
  position:absolute!important;
  left:-80px!important;
  top:-100px!important;
  width:260px!important;
  height:260px!important;
  border:38px solid rgba(255,255,255,.08)!important;
  border-radius:50%!important;
  background:none!important;
  clip-path:none!important;
  opacity:1!important;
}
body.page-company #c3.sub_title article{
  position:relative!important;
  z-index:1!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.page-company #c3.sub_title h1{
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:42px!important;
  line-height:1.28!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-align:left!important;
}
body.page-company #c3.sub_title h1:before{
  content:"精工株式会社について"!important;
  display:block!important;
  margin:0 0 16px!important;
  color:rgba(255,255,255,.82)!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
}
body.page-company #c3.sub_title h1:after{
  content:""!important;
  display:block!important;
  width:68px!important;
  height:4px!important;
  margin-top:22px!important;
  background:#d6001c!important;
}
@media screen and (max-width:834px){
  body.page-company #c3.sub_title{
    margin-bottom:38px!important;
    padding:54px 28px!important;
  }
  body.page-company #c3.sub_title:before{
    right:18px!important;
    bottom:-8px!important;
    font-size:48px!important;
  }
  body.page-company #c3.sub_title:after{
    display:block!important;
    left:-78px!important;
    top:-96px!important;
    width:220px!important;
    height:220px!important;
  }
  body.page-company #c3.sub_title h1{
    font-size:32px!important;
  }
}

/* Company header full-width background */
body.page-company #c3.sub_title{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding-left:max(64px, calc((100vw - 1180px) / 2 + 64px))!important;
  padding-right:max(64px, calc((100vw - 1180px) / 2 + 64px))!important;
}
@media screen and (max-width:834px){
  body.page-company #c3.sub_title{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:28px!important;
    padding-right:28px!important;
  }
}

/* Company banner red line align left */
body.page-company #c3.sub_title article,
body.page-company #c3.sub_title h1{
  text-align:left!important;
}
body.page-company #c3.sub_title h1:after{
  margin-left:0!important;
  margin-right:auto!important;
}

/* Business page redesign */
body.page-business #contents_wrap{
  background:linear-gradient(180deg,#f4f9fd 0%,#fff 320px,#fff 100%)!important;
}
body.page-business #contents,
body.page-business #main,
body.page-business #col_main{
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
}
body.page-business .pankuzu{display:none!important;}
body.page-business #col_main>section{padding-bottom:82px!important;}
body.page-business #c4.sub_title{
  position:relative!important;
  overflow:hidden!important;
  width:100vw!important;
  max-width:none!important;
  margin:0 calc(50% - 50vw) 54px!important;
  padding:78px max(64px, calc((100vw - 1180px) / 2 + 64px))!important;
  background:linear-gradient(135deg,#073d70 0%,#0b318f 52%,#1f6fa9 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 24px 52px rgba(7,61,112,.18)!important;
  box-sizing:border-box!important;
}
body.page-business #c4.sub_title:before{
  content:"SERVICE"!important;
  position:absolute!important;
  right:44px!important;
  bottom:-16px!important;
  color:rgba(255,255,255,.12)!important;
  font-size:92px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
body.page-business #c4.sub_title:after{
  content:""!important;
  position:absolute!important;
  left:-80px!important;
  top:-100px!important;
  width:260px!important;
  height:260px!important;
  border:38px solid rgba(255,255,255,.08)!important;
  border-radius:50%!important;
}
body.page-business #c4.sub_title article{position:relative!important;z-index:1!important;margin:0!important;padding:0!important;}
body.page-business #c4.sub_title h1{
  margin:0!important;padding:0!important;color:#fff!important;font-size:42px!important;line-height:1.28!important;font-weight:900!important;text-align:left!important;
}
body.page-business #c4.sub_title h1:before{
  content:"精工株式会社の施工サービス"!important;display:block!important;margin:0 0 16px!important;color:rgba(255,255,255,.82)!important;font-size:14px!important;line-height:1!important;font-weight:800!important;letter-spacing:.14em!important;
}
body.page-business #c4.sub_title h1:after{content:""!important;display:block!important;width:68px!important;height:4px!important;margin-top:22px!important;background:#d6001c!important;}
.business-intro{
  display:grid!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:34px!important;align-items:stretch!important;margin:0 0 42px!important;
}
.business-intro__text,.business-intro__panel{
  background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 18px 42px rgba(7,61,112,.09)!important;box-sizing:border-box!important;
}
.business-intro__text{padding:38px 42px!important;}
.business-intro__text span,.business-flow__head span{display:block!important;margin:0 0 14px!important;color:#0b318f!important;font-size:13px!important;line-height:1!important;font-weight:900!important;letter-spacing:.14em!important;}
.business-intro__text h2,.business-flow__head h2{margin:0 0 18px!important;color:#073d70!important;font-size:30px!important;line-height:1.35!important;font-weight:900!important;text-align:left!important;}
.business-intro__text p{margin:0!important;color:#253f53!important;font-size:16px!important;line-height:2!important;text-align:left!important;}
.business-intro__text p+p{margin-top:12px!important;}
.business-intro__panel{padding:34px 30px!important;background:linear-gradient(135deg,#f4f9fd 0%,#fff 100%)!important;}
.business-intro__panel strong{display:block!important;margin-bottom:18px!important;color:#073d70!important;font-size:22px!important;line-height:1.35!important;font-weight:900!important;}
.business-intro__panel ul{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:0!important;padding:0!important;list-style:none!important;}
.business-intro__panel li{padding:9px 12px!important;background:#fff!important;border:1px solid #bad8ea!important;color:#174e78!important;font-size:13px!important;font-weight:800!important;}
.business-services{display:grid!important;gap:26px!important;margin:0 0 54px!important;}
.business-service{display:grid!important;grid-template-columns:420px minmax(0,1fr)!important;min-height:330px!important;background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 18px 42px rgba(7,61,112,.09)!important;overflow:hidden!important;}
.business-service:nth-child(even){grid-template-columns:minmax(0,1fr) 420px!important;}
.business-service:nth-child(even) .business-service__image{order:2!important;}
.business-service__image{min-height:330px!important;background:#eaf3fa!important;}
.business-service__image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;}
.business-service__body{padding:38px 42px!important;box-sizing:border-box!important;}
.business-service__body span{display:block!important;margin:0 0 14px!important;color:#0b318f!important;font-size:13px!important;line-height:1!important;font-weight:900!important;letter-spacing:.14em!important;}
.business-service__body h2{margin:0 0 16px!important;color:#073d70!important;font-size:30px!important;line-height:1.35!important;font-weight:900!important;text-align:left!important;}
.business-service__body p{margin:0 0 20px!important;color:#253f53!important;font-size:15px!important;line-height:1.95!important;text-align:left!important;}
.business-service__body ul{display:grid!important;gap:9px!important;margin:0!important;padding:0!important;list-style:none!important;}
.business-service__body li{position:relative!important;padding-left:20px!important;color:#253f53!important;font-size:14px!important;line-height:1.75!important;text-align:left!important;}
.business-service__body li:before{content:""!important;position:absolute!important;left:0!important;top:.72em!important;width:8px!important;height:8px!important;background:#d6001c!important;border-radius:50%!important;}
.business-flow{padding:44px 46px!important;background:linear-gradient(135deg,#073d70 0%,#0b318f 100%)!important;color:#fff!important;box-shadow:0 24px 52px rgba(7,61,112,.16)!important;}
.business-flow__head span{color:rgba(255,255,255,.72)!important;}
.business-flow__head h2{color:#fff!important;margin-bottom:28px!important;}
.business-flow__grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;}
.business-flow__grid div{padding:22px 20px!important;background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.2)!important;}
.business-flow__grid b{display:block!important;margin-bottom:12px!important;color:#fff!important;font-size:13px!important;letter-spacing:.12em!important;}
.business-flow__grid strong{display:block!important;margin-bottom:10px!important;color:#fff!important;font-size:18px!important;font-weight:900!important;}
.business-flow__grid p{margin:0!important;color:rgba(255,255,255,.86)!important;font-size:13px!important;line-height:1.75!important;text-align:left!important;}
@media screen and (max-width:900px){
 body.page-business #contents,body.page-business #main,body.page-business #col_main{width:calc(100% - 36px)!important;}
 body.page-business #c4.sub_title{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:54px 28px!important;}
 body.page-business #c4.sub_title:before{right:18px!important;bottom:-8px!important;font-size:48px!important;}
 body.page-business #c4.sub_title h1{font-size:32px!important;}
 .business-intro,.business-service,.business-service:nth-child(even),.business-flow__grid{display:block!important;grid-template-columns:1fr!important;}
 .business-intro__panel{margin-top:18px!important;}
 .business-service+.business-service{margin-top:22px!important;}
 .business-service:nth-child(even) .business-service__image{order:0!important;}
 .business-service__image{min-height:220px!important;height:220px!important;}
 .business-intro__text,.business-intro__panel,.business-service__body,.business-flow{padding:28px 22px!important;}
 .business-intro__text h2,.business-service__body h2,.business-flow__head h2{font-size:24px!important;}
 .business-flow__grid div+div{margin-top:12px!important;}
}

/* Performance page redesign */
body.page-performance #contents_wrap{background:linear-gradient(180deg,#f4f9fd 0%,#fff 320px,#fff 100%)!important;}
body.page-performance #contents,body.page-performance #main,body.page-performance #col_main{width:min(1180px, calc(100% - 48px))!important;max-width:1180px!important;}
body.page-performance .pankuzu{display:none!important;}
body.page-performance #col_main>section{padding-bottom:82px!important;}
body.page-performance #c4.sub_title{position:relative!important;overflow:hidden!important;width:100vw!important;max-width:none!important;margin:0 calc(50% - 50vw) 54px!important;padding:78px max(64px, calc((100vw - 1180px) / 2 + 64px))!important;background:linear-gradient(135deg,#073d70 0%,#0b318f 52%,#1f6fa9 100%)!important;color:#fff!important;border:0!important;box-shadow:0 24px 52px rgba(7,61,112,.18)!important;box-sizing:border-box!important;}
body.page-performance #c4.sub_title:before{content:"WORKS"!important;position:absolute!important;right:44px!important;bottom:-16px!important;color:rgba(255,255,255,.12)!important;font-size:92px!important;line-height:1!important;font-weight:900!important;letter-spacing:.08em!important;}
body.page-performance #c4.sub_title:after{content:""!important;position:absolute!important;left:-80px!important;top:-100px!important;width:260px!important;height:260px!important;border:38px solid rgba(255,255,255,.08)!important;border-radius:50%!important;}
body.page-performance #c4.sub_title article{position:relative!important;z-index:1!important;margin:0!important;padding:0!important;}
body.page-performance #c4.sub_title h1{margin:0!important;padding:0!important;color:#fff!important;font-size:42px!important;line-height:1.28!important;font-weight:900!important;text-align:left!important;}
body.page-performance #c4.sub_title h1:before{content:"精工株式会社の施工実績"!important;display:block!important;margin:0 0 16px!important;color:rgba(255,255,255,.82)!important;font-size:14px!important;line-height:1!important;font-weight:800!important;letter-spacing:.14em!important;}
body.page-performance #c4.sub_title h1:after{content:""!important;display:block!important;width:68px!important;height:4px!important;margin-top:22px!important;background:#d6001c!important;}
.performance-intro{margin:0 0 38px!important;padding:38px 42px!important;background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 18px 42px rgba(7,61,112,.09)!important;box-sizing:border-box!important;}
.performance-intro span,.performance-card__body span{display:block!important;margin:0 0 14px!important;color:#0b318f!important;font-size:13px!important;line-height:1!important;font-weight:900!important;letter-spacing:.14em!important;}
.performance-intro h2{margin:0 0 16px!important;color:#073d70!important;font-size:30px!important;line-height:1.35!important;font-weight:900!important;text-align:left!important;}
.performance-intro p{max-width:860px!important;margin:0!important;color:#253f53!important;font-size:16px!important;line-height:2!important;text-align:left!important;}
.performance-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px!important;margin:0!important;padding:0!important;}
.performance-card{display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 18px 42px rgba(7,61,112,.09)!important;}
.performance-card__image{height:320px!important;background:#eaf3fa!important;overflow:hidden!important;}
.performance-card__open{display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;background:none!important;cursor:zoom-in!important;}
.performance-card__image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .45s ease!important;pointer-events:none!important;}
.performance-card:hover .performance-card__image img{transform:scale(1.04)!important;}
.performance-lightbox{position:fixed!important;inset:0!important;z-index:99999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:72px 24px 24px!important;background:rgba(7,25,45,.88)!important;box-sizing:border-box!important;opacity:0!important;visibility:hidden!important;transition:opacity .25s ease,visibility .25s ease!important;}
.performance-lightbox.is-open{opacity:1!important;visibility:visible!important;}
.performance-lightbox__close{position:absolute!important;top:18px!important;right:18px!important;width:48px!important;height:48px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;font-size:28px!important;line-height:1!important;font-weight:300!important;cursor:pointer!important;transition:background .2s ease!important;}
.performance-lightbox__close:hover{background:rgba(214,0,28,.92)!important;}
.performance-lightbox__img{display:block!important;max-width:min(1180px,calc(100vw - 48px))!important;max-height:calc(100vh - 96px)!important;width:auto!important;height:auto!important;object-fit:contain!important;box-shadow:0 24px 60px rgba(0,0,0,.35)!important;}
.performance-card__body{padding:30px 32px 34px!important;box-sizing:border-box!important;}
.performance-card__body h2{margin:0 0 14px!important;color:#073d70!important;font-size:26px!important;line-height:1.35!important;font-weight:900!important;text-align:left!important;}
.performance-card__meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 20px!important;padding:0!important;}
.performance-card__meta div{display:inline-flex!important;align-items:center!important;gap:8px!important;margin:0!important;padding:8px 12px!important;background:#f4f9fd!important;border:1px solid #d7e9f5!important;border-radius:999px!important;box-sizing:border-box!important;}
.performance-card__meta dt{display:inline-flex!important;align-items:center!important;margin:0!important;color:#0b318f!important;font-size:11px!important;line-height:1!important;font-weight:900!important;letter-spacing:.04em!important;white-space:nowrap!important;}
.performance-card__meta dt:before{content:""!important;display:block!important;width:6px!important;height:6px!important;margin-right:6px!important;border-radius:50%!important;background:#d6001c!important;}
.performance-card__meta dd{margin:0!important;color:#18344a!important;font-size:13px!important;line-height:1.35!important;font-weight:800!important;}
.performance-card__body p{margin:0!important;color:#253f53!important;font-size:15px!important;line-height:1.9!important;text-align:left!important;}
@media screen and (max-width:900px){body.page-performance #contents,body.page-performance #main,body.page-performance #col_main{width:calc(100% - 36px)!important;}body.page-performance #c4.sub_title{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:54px 28px!important;}body.page-performance #c4.sub_title:before{right:18px!important;bottom:-8px!important;font-size:48px!important;}body.page-performance #c4.sub_title h1{font-size:32px!important;}.performance-intro{padding:28px 22px!important;}.performance-intro h2{font-size:24px!important;}.performance-grid{grid-template-columns:1fr!important;gap:22px!important;}.performance-card__image{height:230px!important;}.performance-card__body{padding:24px 22px 28px!important;}.performance-card__body h2{font-size:23px!important;}.performance-card__meta{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}.performance-card__meta div{justify-content:space-between!important;border-radius:8px!important;}.performance-card__meta dd{text-align:right!important;}}

/* Recruit page redesign */
body.page-recruit #contents_wrap{background:linear-gradient(180deg,#f4f9fd 0%,#fff 320px,#fff 100%)!important;}
body.page-recruit #contents,body.page-recruit #main,body.page-recruit #col_main{width:min(1180px, calc(100% - 48px))!important;max-width:1180px!important;}
body.page-recruit .pankuzu{display:none!important;}
body.page-recruit #col_main>section{padding-bottom:82px!important;}
body.page-recruit #c4.sub_title{position:relative!important;overflow:hidden!important;width:100vw!important;max-width:none!important;margin:0 calc(50% - 50vw) 54px!important;padding:78px max(64px, calc((100vw - 1180px) / 2 + 64px))!important;background:linear-gradient(135deg,#073d70 0%,#0b318f 52%,#1f6fa9 100%)!important;color:#fff!important;border:0!important;box-shadow:0 24px 52px rgba(7,61,112,.18)!important;box-sizing:border-box!important;}
body.page-recruit #c4.sub_title:before{content:"RECRUIT"!important;position:absolute!important;right:44px!important;bottom:-16px!important;color:rgba(255,255,255,.12)!important;font-size:92px!important;line-height:1!important;font-weight:900!important;letter-spacing:.08em!important;}
body.page-recruit #c4.sub_title:after{content:""!important;position:absolute!important;left:-80px!important;top:-100px!important;width:260px!important;height:260px!important;border:38px solid rgba(255,255,255,.08)!important;border-radius:50%!important;}
body.page-recruit #c4.sub_title article{position:relative!important;z-index:1!important;margin:0!important;padding:0!important;}
body.page-recruit #c4.sub_title h1{margin:0!important;padding:0!important;color:#fff!important;font-size:42px!important;line-height:1.28!important;font-weight:900!important;text-align:left!important;}
body.page-recruit #c4.sub_title h1:before{content:"精工株式会社の採用情報"!important;display:block!important;margin:0 0 16px!important;color:rgba(255,255,255,.82)!important;font-size:14px!important;line-height:1!important;font-weight:800!important;letter-spacing:.14em!important;}
body.page-recruit #c4.sub_title h1:after{content:""!important;display:block!important;width:68px!important;height:4px!important;margin-top:22px!important;background:#d6001c!important;}
.recruit-intro{margin:0 0 38px!important;padding:38px 42px!important;background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 18px 42px rgba(7,61,112,.09)!important;box-sizing:border-box!important;}
.recruit-intro span{display:block!important;margin:0 0 14px!important;color:#0b318f!important;font-size:13px!important;line-height:1!important;font-weight:900!important;letter-spacing:.14em!important;}
.recruit-intro h2{margin:0 0 16px!important;color:#073d70!important;font-size:30px!important;line-height:1.35!important;font-weight:900!important;text-align:left!important;}
.recruit-intro p{max-width:860px!important;margin:0!important;color:#253f53!important;font-size:16px!important;line-height:2!important;text-align:left!important;}
.recruit-list{display:grid!important;gap:18px!important;margin:0!important;padding:0!important;}
.recruit-item{overflow:hidden!important;background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 16px 36px rgba(7,61,112,.08)!important;}
.recruit-item__head{position:relative!important;display:grid!important;grid-template-columns:72px minmax(0,1fr) 34px!important;align-items:center!important;width:100%!important;min-height:86px!important;margin:0!important;padding:0 28px!important;background:#fff!important;border:0!important;cursor:pointer!important;text-align:left!important;box-sizing:border-box!important;}
.recruit-item__head span{color:#0b318f!important;font-size:14px!important;line-height:1!important;font-weight:900!important;letter-spacing:.12em!important;}
.recruit-item__head strong{color:#073d70!important;font-size:22px!important;line-height:1.45!important;font-weight:900!important;}
.recruit-item__head em{position:relative!important;display:block!important;width:28px!important;height:28px!important;border-radius:50%!important;background:#f0f7fc!important;border:1px solid #cfe3f0!important;}
.recruit-item__head em:before,.recruit-item__head em:after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:12px!important;height:2px!important;background:#0b318f!important;border-radius:999px!important;transform:translate(-50%,-50%)!important;transition:transform .22s ease!important;}
.recruit-item__head em:after{transform:translate(-50%,-50%) rotate(90deg)!important;}
.recruit-item.is-open .recruit-item__head em:after{transform:translate(-50%,-50%) rotate(0deg)!important;}
.recruit-item__summary{margin:0!important;padding:0 28px 22px 100px!important;color:#526a7b!important;font-size:15px!important;line-height:1.85!important;text-align:left!important;}
.recruit-item__body{display:none!important;padding:0 28px 30px 100px!important;box-sizing:border-box!important;}
.recruit-item.is-open .recruit-item__body{display:block!important;}
.recruit-item__body dl{display:grid!important;grid-template-columns:170px minmax(0,1fr)!important;margin:0!important;border-top:1px solid #e4eff6!important;}
.recruit-item__body dt,.recruit-item__body dd{margin:0!important;padding:16px 18px!important;font-size:15px!important;line-height:1.8!important;text-align:left!important;box-sizing:border-box!important;}
.recruit-item__body dt{background:#f3f9fd!important;color:#073d70!important;font-weight:900!important;}
.recruit-item__body dd{color:#253f53!important;}
.recruit-item__body strong{color:#0b318f!important;font-size:20px!important;}
@media screen and (max-width:900px){body.page-recruit #contents,body.page-recruit #main,body.page-recruit #col_main{width:calc(100% - 36px)!important;}body.page-recruit #c4.sub_title{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:54px 28px!important;}body.page-recruit #c4.sub_title:before{right:18px!important;bottom:-8px!important;font-size:48px!important;}body.page-recruit #c4.sub_title h1{font-size:32px!important;}.recruit-intro{padding:28px 22px!important;}.recruit-intro h2{font-size:24px!important;}.recruit-item__head{grid-template-columns:48px minmax(0,1fr) 30px!important;min-height:76px!important;padding:0 18px!important;}.recruit-item__head strong{font-size:18px!important;}.recruit-item__summary{padding:0 18px 18px 66px!important;font-size:14px!important;}.recruit-item__body{padding:0 18px 24px!important;}.recruit-item__body dl{display:block!important;}.recruit-item__body dt,.recruit-item__body dd{padding:13px 14px!important;}}

/* FAQ page redesign */
body.page-faq #contents_wrap{background:linear-gradient(180deg,#f4f9fd 0%,#fff 320px,#fff 100%)!important;}
body.page-faq #contents,body.page-faq #main,body.page-faq #col_main{width:min(1180px, calc(100% - 48px))!important;max-width:1180px!important;}
body.page-faq .pankuzu{display:none!important;}
body.page-faq #col_main>section{padding-bottom:82px!important;}
body.page-faq #c3.sub_title{position:relative!important;overflow:hidden!important;width:100vw!important;max-width:none!important;margin:0 calc(50% - 50vw) 54px!important;padding:78px max(64px, calc((100vw - 1180px) / 2 + 64px))!important;background:linear-gradient(135deg,#073d70 0%,#0b318f 52%,#1f6fa9 100%)!important;color:#fff!important;border:0!important;box-shadow:0 24px 52px rgba(7,61,112,.18)!important;box-sizing:border-box!important;}
body.page-faq #c3.sub_title:before{content:"FAQ"!important;position:absolute!important;right:44px!important;bottom:-16px!important;color:rgba(255,255,255,.12)!important;font-size:92px!important;line-height:1!important;font-weight:900!important;letter-spacing:.08em!important;}
body.page-faq #c3.sub_title:after{content:""!important;position:absolute!important;left:-80px!important;top:-100px!important;width:260px!important;height:260px!important;border:38px solid rgba(255,255,255,.08)!important;border-radius:50%!important;}
body.page-faq #c3.sub_title article{position:relative!important;z-index:1!important;margin:0!important;padding:0!important;}
body.page-faq #c3.sub_title h1{margin:0!important;padding:0!important;color:#fff!important;font-size:42px!important;line-height:1.28!important;font-weight:900!important;text-align:left!important;}
body.page-faq #c3.sub_title h1:before{content:"精工株式会社へのよくあるご相談"!important;display:block!important;margin:0 0 16px!important;color:rgba(255,255,255,.82)!important;font-size:14px!important;line-height:1!important;font-weight:800!important;letter-spacing:.14em!important;}
body.page-faq #c3.sub_title h1:after{content:""!important;display:block!important;width:68px!important;height:4px!important;margin:22px 0 0!important;background:#d6001c!important;}
.faq-intro{margin:0 0 38px!important;padding:38px 42px!important;background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 18px 42px rgba(7,61,112,.09)!important;box-sizing:border-box!important;}
.faq-intro span,.faq-card span{display:block!important;margin:0 0 14px!important;color:#0b318f!important;font-size:13px!important;line-height:1!important;font-weight:900!important;letter-spacing:.14em!important;}
.faq-intro h2{margin:0 0 16px!important;color:#073d70!important;font-size:30px!important;line-height:1.35!important;font-weight:900!important;text-align:left!important;}
.faq-intro p{max-width:860px!important;margin:0!important;color:#253f53!important;font-size:16px!important;line-height:2!important;text-align:left!important;}
.faq-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;margin:0!important;padding:0!important;}
.faq-card{position:relative!important;overflow:hidden!important;min-height:280px!important;padding:30px 28px!important;background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 18px 42px rgba(7,61,112,.09)!important;box-sizing:border-box!important;}
.faq-card:before{content:""!important;position:absolute!important;left:0!important;top:0!important;width:5px!important;height:100%!important;background:#0b318f!important;}
.faq-card h2{margin:0 0 18px!important;color:#073d70!important;font-size:22px!important;line-height:1.45!important;font-weight:900!important;text-align:left!important;}
.faq-card p{margin:0!important;color:#253f53!important;font-size:15px!important;line-height:1.95!important;text-align:left!important;}
@media screen and (max-width:900px){body.page-faq #contents,body.page-faq #main,body.page-faq #col_main{width:calc(100% - 36px)!important;}body.page-faq #c3.sub_title{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:54px 28px!important;}body.page-faq #c3.sub_title:before{right:18px!important;bottom:-8px!important;font-size:48px!important;}body.page-faq #c3.sub_title h1{font-size:32px!important;}body.page-faq #c3.sub_title h1:after{margin:18px 0 0!important;width:58px!important;height:3px!important;}.faq-intro{padding:28px 22px!important;}.faq-intro h2{font-size:24px!important;}.faq-grid{grid-template-columns:1fr!important;gap:18px!important;}.faq-card{min-height:auto!important;padding:26px 22px!important;}}

/* Contact page redesign */
body.page-contact #contents_wrap{background:linear-gradient(180deg,#f4f9fd 0%,#fff 320px,#fff 100%)!important;}
body.page-contact #contents,body.page-contact #main,body.page-contact #col_main{width:min(1180px, calc(100% - 48px))!important;max-width:1180px!important;}
body.page-contact .pankuzu{display:none!important;}
body.page-contact #col_main>section{padding-bottom:82px!important;}
body.page-contact #c3.sub_title{position:relative!important;overflow:hidden!important;width:100vw!important;max-width:none!important;margin:0 calc(50% - 50vw) 54px!important;padding:78px max(64px, calc((100vw - 1180px) / 2 + 64px))!important;background:linear-gradient(135deg,#073d70 0%,#0b318f 52%,#1f6fa9 100%)!important;color:#fff!important;border:0!important;box-shadow:0 24px 52px rgba(7,61,112,.18)!important;box-sizing:border-box!important;}
body.page-contact #c3.sub_title:before{content:"CONTACT"!important;position:absolute!important;right:44px!important;bottom:-16px!important;color:rgba(255,255,255,.12)!important;font-size:92px!important;line-height:1!important;font-weight:900!important;letter-spacing:.08em!important;}
body.page-contact #c3.sub_title:after{content:""!important;position:absolute!important;left:-80px!important;top:-100px!important;width:260px!important;height:260px!important;border:38px solid rgba(255,255,255,.08)!important;border-radius:50%!important;}
body.page-contact #c3.sub_title article{position:relative!important;z-index:1!important;margin:0!important;padding:0!important;}
body.page-contact #c3.sub_title h1{margin:0!important;padding:0!important;color:#fff!important;font-size:42px!important;line-height:1.28!important;font-weight:900!important;text-align:left!important;}
body.page-contact #c3.sub_title h1:before{content:"精工株式会社へのお問い合わせ"!important;display:block!important;margin:0 0 16px!important;color:rgba(255,255,255,.82)!important;font-size:14px!important;line-height:1!important;font-weight:800!important;letter-spacing:.14em!important;}
body.page-contact #c3.sub_title h1:after{content:""!important;display:block!important;width:68px!important;height:4px!important;margin-top:22px!important;background:#d6001c!important;}
.contact-intro{display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;gap:28px!important;margin:0 0 38px!important;align-items:stretch!important;}
.contact-intro__text,.contact-intro__tel,.contact-form-section{background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 18px 42px rgba(7,61,112,.09)!important;box-sizing:border-box!important;}
.contact-intro__text{padding:38px 42px!important;}.contact-intro__text span,.contact-form-head span{display:block!important;margin:0 0 14px!important;color:#0b318f!important;font-size:13px!important;line-height:1!important;font-weight:900!important;letter-spacing:.14em!important;}.contact-intro__text h2,.contact-form-head h2,.contact-policy-box h2{margin:0 0 16px!important;color:#073d70!important;font-size:30px!important;line-height:1.35!important;font-weight:900!important;text-align:left!important;}.contact-intro__text p,.contact-form-head p,.contact-policy-box p{margin:0!important;color:#253f53!important;font-size:16px!important;line-height:2!important;text-align:left!important;}
.contact-intro__tel{padding:34px 30px!important;background:linear-gradient(135deg,#073d70 0%,#0b318f 100%)!important;color:#fff!important;}.contact-intro__tel span{display:block!important;margin-bottom:18px!important;color:rgba(255,255,255,.76)!important;font-size:13px!important;font-weight:900!important;letter-spacing:.1em!important;}.contact-intro__tel a{display:flex!important;align-items:center!important;gap:12px!important;color:#fff!important;text-decoration:none!important;font-size:28px!important;line-height:1.2!important;font-weight:900!important;}.contact-intro__tel i{font-size:18px!important;}.contact-intro__tel p{margin:14px 0 0!important;color:rgba(255,255,255,.8)!important;font-size:13px!important;text-align:left!important;}
.contact-form-section{padding:40px 42px 46px!important;}.contact-form-head{margin-bottom:28px!important;}.contact-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;}.contact-form-new label{display:block!important;text-align:left!important;}.contact-form-new label>span{display:block!important;margin-bottom:9px!important;color:#073d70!important;font-size:14px!important;font-weight:900!important;}.contact-form-new em{display:inline-flex!important;margin-left:6px!important;padding:3px 7px!important;background:#d6001c!important;color:#fff!important;border-radius:999px!important;font-size:11px!important;font-style:normal!important;line-height:1!important;}.contact-form-new input[type=text],.contact-form-new input[type=email],.contact-form-new input[type=tel],.contact-form-new textarea{width:100%!important;min-height:50px!important;padding:12px 14px!important;border:1px solid #cfe3f0!important;background:#f8fcff!important;color:#253f53!important;font-size:15px!important;box-sizing:border-box!important;border-radius:0!important;}.contact-form-new textarea{height:170px!important;resize:vertical!important;}.contact-form-message{margin-top:20px!important;}.contact-policy-box{margin-top:28px!important;padding:26px 28px!important;background:#f7fbff!important;border:1px solid #d7e9f5!important;}.contact-policy-box h2{font-size:22px!important;}.contact-policy-box p+p{margin-top:10px!important;}.contact-agree{display:flex!important;align-items:center!important;gap:10px!important;margin-top:18px!important;padding:14px 16px!important;background:#fff!important;border:1px solid #cfe3f0!important;}.contact-agree input{width:18px!important;height:18px!important;flex:0 0 auto!important;}.contact-agree span{margin:0!important;color:#253f53!important;font-weight:800!important;}.contact-submit{margin-top:28px!important;text-align:center!important;}.contact-submit button{min-width:220px!important;height:56px!important;border:0!important;background:#0b318f!important;color:#fff!important;font-size:16px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 12px 24px rgba(11,49,143,.18)!important;}.contact-submit button:hover{background:#d6001c!important;}
@media screen and (max-width:900px){body.page-contact #contents,body.page-contact #main,body.page-contact #col_main{width:calc(100% - 36px)!important;}body.page-contact #c3.sub_title{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:54px 28px!important;}body.page-contact #c3.sub_title:before{right:18px!important;bottom:-8px!important;font-size:48px!important;}body.page-contact #c3.sub_title h1{font-size:32px!important;}.contact-intro,.contact-form-grid{grid-template-columns:1fr!important;}.contact-intro__text,.contact-intro__tel,.contact-form-section{padding:28px 22px!important;}.contact-intro__text h2,.contact-form-head h2{font-size:24px!important;}.contact-intro__tel a{font-size:24px!important;}.contact-policy-box{padding:22px 18px!important;}}

/* Privacy policy page redesign */
body.page-policy #contents_wrap{background:linear-gradient(180deg,#f4f9fd 0%,#fff 320px,#fff 100%)!important;}
body.page-policy #contents,body.page-policy #main,body.page-policy #col_main{width:min(1180px, calc(100% - 48px))!important;max-width:1180px!important;}
body.page-policy .pankuzu{display:none!important;}
body.page-policy #col_main>section{padding-bottom:82px!important;}
body.page-policy #c3.sub_title{position:relative!important;overflow:hidden!important;width:100vw!important;max-width:none!important;margin:0 calc(50% - 50vw - var(--site-content-gutter,24px)) 54px!important;padding:78px max(64px, calc((100vw - 1180px) / 2 + 64px))!important;background:linear-gradient(135deg,#073d70 0%,#0b318f 52%,#1f6fa9 100%)!important;color:#fff!important;border:0!important;box-shadow:0 24px 52px rgba(7,61,112,.18)!important;box-sizing:border-box!important;}
body.page-policy #c3.sub_title:before{content:"PRIVACY"!important;position:absolute!important;right:44px!important;bottom:-16px!important;color:rgba(255,255,255,.12)!important;font-size:92px!important;line-height:1!important;font-weight:900!important;letter-spacing:.08em!important;}
body.page-policy #c3.sub_title:after{content:""!important;position:absolute!important;left:-80px!important;top:-100px!important;width:260px!important;height:260px!important;border:38px solid rgba(255,255,255,.08)!important;border-radius:50%!important;}
body.page-policy #c3.sub_title article{position:relative!important;z-index:1!important;margin:0!important;padding:0!important;}
body.page-policy #c3.sub_title h1{margin:0!important;padding:0!important;color:#fff!important;font-size:42px!important;line-height:1.28!important;font-weight:900!important;text-align:left!important;}
body.page-policy #c3.sub_title h1:before{content:"精工株式会社の個人情報保護方針"!important;display:block!important;margin:0 0 16px!important;color:rgba(255,255,255,.82)!important;font-size:14px!important;line-height:1!important;font-weight:800!important;letter-spacing:.14em!important;}
body.page-policy #c3.sub_title h1:after{content:""!important;display:block!important;width:68px!important;height:4px!important;margin-top:22px!important;background:#d6001c!important;}
.policy-intro{margin:0 0 38px!important;padding:38px 42px!important;background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 18px 42px rgba(7,61,112,.09)!important;box-sizing:border-box!important;}
.policy-intro span,.policy-card span{display:block!important;margin:0 0 14px!important;color:#0b318f!important;font-size:13px!important;line-height:1!important;font-weight:900!important;letter-spacing:.14em!important;}
.policy-intro h2{margin:0 0 16px!important;color:#073d70!important;font-size:30px!important;line-height:1.35!important;font-weight:900!important;text-align:left!important;}
.policy-intro p{max-width:880px!important;margin:0!important;color:#253f53!important;font-size:16px!important;line-height:2!important;text-align:left!important;}
.policy-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;margin:0!important;padding:0!important;}
.policy-card{position:relative!important;min-height:230px!important;padding:30px 32px!important;background:#fff!important;border:1px solid #d7e9f5!important;box-shadow:0 18px 42px rgba(7,61,112,.09)!important;box-sizing:border-box!important;overflow:hidden!important;}
.policy-card:before{content:""!important;position:absolute!important;left:0!important;top:0!important;width:5px!important;height:100%!important;background:#0b318f!important;}
.policy-card h2{margin:0 0 14px!important;color:#073d70!important;font-size:22px!important;line-height:1.45!important;font-weight:900!important;text-align:left!important;}
.policy-card p{margin:0!important;color:#253f53!important;font-size:15px!important;line-height:1.95!important;text-align:left!important;}
@media screen and (max-width:900px){body.page-policy #contents,body.page-policy #main,body.page-policy #col_main{width:calc(100% - 36px)!important;}body.page-policy #c3.sub_title{margin-left:calc(50% - 50vw - var(--site-content-gutter,18px))!important;margin-right:calc(50% - 50vw - var(--site-content-gutter,18px))!important;padding:54px 28px!important;}body.page-policy #c3.sub_title:before{right:18px!important;bottom:-8px!important;font-size:48px!important;}body.page-policy #c3.sub_title h1{font-size:32px!important;}.policy-intro{padding:28px 22px!important;}.policy-intro h2{font-size:24px!important;}.policy-list{grid-template-columns:1fr!important;gap:18px!important;}.policy-card{min-height:auto!important;padding:26px 22px!important;}}

/* Mobile menu button visual refresh */
@media screen and (max-width:834px){
  #global_header .sp{
    width:58px!important;
    height:48px!important;
    top:14px!important;
    right:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(11,49,143,.28)!important;
    border-radius:14px!important;
    box-shadow:0 8px 22px rgba(7,32,66,.14), inset 0 1px 0 rgba(255,255,255,.95)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  #global_header .sp:before{
    content:""!important;
    position:absolute!important;
    inset:5px!important;
    border:1px solid rgba(11,49,143,.08)!important;
    border-radius:10px!important;
    pointer-events:none!important;
  }
  #global_header .sp:after{
    content:"MENU"!important;
    left:50%!important;
    right:auto!important;
    bottom:6px!important;
    transform:translateX(-50%)!important;
    color:#0b318f!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.14em!important;
  }
  #global_header .sp_menu{
    width:22px!important;
    height:14px!important;
    margin:0!important;
    transform:translate3d(0,-9px,0)!important;
  }
  #global_header .sp_menu div,
  #global_header .sp_menu.on div,
  #global_header .sp_menu.off div{
    left:0!important;
    width:22px!important;
    height:2px!important;
    background:#0b318f!important;
    border-radius:999px!important;
    box-shadow:none!important;
  }
  #global_header .sp_menu div:nth-child(2),
  #global_header .sp_menu.on div:nth-child(2),
  #global_header .sp_menu.off div:nth-child(2){
    width:16px!important;
    left:6px!important;
  }
  #global_header .sp_menu div:nth-child(1),
  #global_header .sp_menu.on div:nth-child(1),
  #global_header .sp_menu.off div:nth-child(1){
    transform:translate3d(0,-6px,0)!important;
  }
  #global_header .sp_menu div:nth-child(3),
  #global_header .sp_menu.on div:nth-child(3),
  #global_header .sp_menu.off div:nth-child(3){
    transform:translate3d(0,6px,0)!important;
  }
  #global_header .sp_menu.on div:nth-child(1){
    background:#d6001c!important;
    transform:translate3d(0,0,0) rotate(45deg)!important;
  }
  #global_header .sp_menu.on div:nth-child(2){
    opacity:0!important;
    transform:translate3d(0,0,0) scaleX(0)!important;
  }
  #global_header .sp_menu.on div:nth-child(3){
    background:#d6001c!important;
    transform:translate3d(0,0,0) rotate(-45deg)!important;
  }
  #global_header .sp:has(.sp_menu.on){
    background:rgba(255,255,255,.98)!important;
    border-color:rgba(214,0,28,.38)!important;
    box-shadow:0 10px 26px rgba(7,32,66,.16),0 0 0 4px rgba(214,0,28,.08),inset 0 1px 0 rgba(255,255,255,.98)!important;
  }
  #global_header .sp:has(.sp_menu.on):before{
    border-color:rgba(214,0,28,.12)!important;
  }
  #global_header .sp:has(.sp_menu.on):after{
    content:"CLOSE"!important;
    color:#d6001c!important;
    letter-spacing:.1em!important;
  }
}

/* Mobile menu icon: clean three-line hamburger */
@media screen and (max-width:834px){
  #global_header .sp_menu{
    width:24px!important;
    height:18px!important;
    transform:translate3d(0,-8px,0)!important;
  }
  #global_header .sp_menu div,
  #global_header .sp_menu.on div,
  #global_header .sp_menu.off div{
    left:0!important;
    width:24px!important;
    height:2px!important;
    background:#0b318f!important;
    border-radius:2px!important;
    opacity:1!important;
  }
  #global_header .sp_menu div:nth-child(1),
  #global_header .sp_menu.off div:nth-child(1){
    transform:translate3d(0,-8px,0)!important;
  }
  #global_header .sp_menu div:nth-child(2),
  #global_header .sp_menu.off div:nth-child(2){
    left:0!important;
    width:24px!important;
    transform:translate3d(0,0,0)!important;
  }
  #global_header .sp_menu div:nth-child(3),
  #global_header .sp_menu.off div:nth-child(3){
    transform:translate3d(0,8px,0)!important;
  }
  #global_header .sp_menu.on div:nth-child(1){
    background:#d6001c!important;
    transform:translate3d(0,0,0) rotate(45deg)!important;
  }
  #global_header .sp_menu.on div:nth-child(2){
    opacity:0!important;
    transform:translate3d(0,0,0) scaleX(.2)!important;
  }
  #global_header .sp_menu.on div:nth-child(3){
    background:#d6001c!important;
    transform:translate3d(0,0,0) rotate(-45deg)!important;
  }
}

/* Mobile menu icon final override: dots + label only */
@media screen and (max-width:834px){
  #global_header .sp:after{
    content:"MENU"!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    bottom:7px!important;
    transform:translateX(-50%)!important;
    z-index:3!important;
    color:#0b318f!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.14em!important;
  }
  #global_header .sp_menu{
    width:24px!important;
    height:18px!important;
    transform:translate3d(0,-8px,0)!important;
    z-index:2!important;
  }
  #global_header .sp_menu div,
  #global_header .sp_menu.off div,
  #global_header .sp_menu.on div{
    opacity:0!important;
    width:0!important;
    height:0!important;
    transform:scale(0)!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #global_header .sp_menu:before{
    content:""!important;
    position:absolute!important;
    top:1px!important;
    left:4px!important;
    width:5px!important;
    height:5px!important;
    background:#0b318f!important;
    border-radius:50%!important;
    box-shadow:11px 0 0 #0b318f,0 10px 0 #0b318f,11px 10px 0 #0b318f!important;
    opacity:1!important;
    transform:none!important;
    transition:transform .22s cubic-bezier(.4,0,.2,1), opacity .18s ease!important;
  }
  #global_header .sp_menu:after{
    content:""!important;
    position:absolute!important;
    top:8px!important;
    right:0!important;
    width:24px!important;
    height:2px!important;
    background:#d6001c!important;
    border-radius:999px!important;
    box-shadow:none!important;
    opacity:0!important;
    transform:rotate(-45deg) scaleX(.2)!important;
    transition:transform .22s cubic-bezier(.4,0,.2,1), opacity .18s ease!important;
  }
  #global_header .sp_menu.on:before{
    top:8px!important;
    left:0!important;
    width:24px!important;
    height:2px!important;
    background:#d6001c!important;
    border-radius:999px!important;
    box-shadow:none!important;
    transform:rotate(45deg)!important;
  }
  #global_header .sp_menu.on:after{
    opacity:1!important;
    transform:rotate(-45deg) scaleX(1)!important;
  }
  #global_header .sp:has(.sp_menu.on):after{
    content:"CLOSE"!important;
    color:#d6001c!important;
  }
}

/* Mobile menu icon final: compact three bars */
@media screen and (max-width:834px){
  #global_header .sp:after{
    content:"MENU"!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    bottom:7px!important;
    transform:translateX(-50%)!important;
    color:#0b318f!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.14em!important;
  }
  #global_header .sp_menu{
    width:19px!important;
    height:12px!important;
    transform:translate3d(0,-8px,0)!important;
  }
  #global_header .sp_menu:before,
  #global_header .sp_menu:after{
    content:none!important;
    display:none!important;
  }
  #global_header .sp_menu div,
  #global_header .sp_menu.off div,
  #global_header .sp_menu.on div{
    position:absolute!important;
    left:0!important;
    top:5px!important;
    width:19px!important;
    height:2px!important;
    opacity:1!important;
    background:#0b318f!important;
    border-radius:999px!important;
    box-shadow:none!important;
    transform-origin:center center!important;
    transition:transform .22s cubic-bezier(.4,0,.2,1), opacity .18s ease, background-color .18s ease!important;
  }
  #global_header .sp_menu div:nth-child(1),
  #global_header .sp_menu.off div:nth-child(1){
    transform:translate3d(0,-5px,0)!important;
  }
  #global_header .sp_menu div:nth-child(2),
  #global_header .sp_menu.off div:nth-child(2){
    transform:translate3d(0,0,0)!important;
  }
  #global_header .sp_menu div:nth-child(3),
  #global_header .sp_menu.off div:nth-child(3){
    transform:translate3d(0,5px,0)!important;
  }
  #global_header .sp_menu.on div:nth-child(1){
    background:#d6001c!important;
    transform:translate3d(0,0,0) rotate(45deg)!important;
  }
  #global_header .sp_menu.on div:nth-child(2){
    opacity:0!important;
    transform:translate3d(0,0,0) scaleX(.2)!important;
  }
  #global_header .sp_menu.on div:nth-child(3){
    background:#d6001c!important;
    transform:translate3d(0,0,0) rotate(-45deg)!important;
  }
  #global_header .sp:has(.sp_menu.on):after{
    content:"CLOSE"!important;
    color:#d6001c!important;
  }
}

/* Mobile menu icon final correction: equal compact bars */
@media screen and (max-width:834px){
  #global_header .sp_menu{
    width:24px!important;
    height:10px!important;
    transform:translate3d(0,-9px,0)!important;
  }
  #global_header .sp_menu div,
  #global_header .sp_menu.off div,
  #global_header .sp_menu.on div,
  #global_header .sp_menu div:nth-child(1),
  #global_header .sp_menu div:nth-child(2),
  #global_header .sp_menu div:nth-child(3),
  #global_header .sp_menu.off div:nth-child(1),
  #global_header .sp_menu.off div:nth-child(2),
  #global_header .sp_menu.off div:nth-child(3){
    left:0!important;
    width:24px!important;
    height:2px!important;
    opacity:1!important;
    background:#0b318f!important;
    border-radius:999px!important;
    box-shadow:none!important;
  }
  #global_header .sp_menu div:nth-child(1),
  #global_header .sp_menu.off div:nth-child(1){transform:translate3d(0,-4px,0)!important;}
  #global_header .sp_menu div:nth-child(2),
  #global_header .sp_menu.off div:nth-child(2){transform:translate3d(0,0,0)!important;}
  #global_header .sp_menu div:nth-child(3),
  #global_header .sp_menu.off div:nth-child(3){transform:translate3d(0,4px,0)!important;}
  #global_header .sp_menu.on div:nth-child(1){background:#d6001c!important;transform:translate3d(0,0,0) rotate(45deg)!important;}
  #global_header .sp_menu.on div:nth-child(2){opacity:0!important;transform:translate3d(0,0,0) scaleX(.2)!important;}
  #global_header .sp_menu.on div:nth-child(3){background:#d6001c!important;transform:translate3d(0,0,0) rotate(-45deg)!important;}
}

/* Mobile menu icon spacing adjustment */
@media screen and (max-width:834px){
  #global_header .sp_menu div:nth-child(1),
  #global_header .sp_menu.off div:nth-child(1){transform:translate3d(0,-3px,0)!important;}
  #global_header .sp_menu div:nth-child(3),
  #global_header .sp_menu.off div:nth-child(3){transform:translate3d(0,3px,0)!important;}
  #global_header .sp_menu.on div:nth-child(1){transform:translate3d(0,0,0) rotate(45deg)!important;}
  #global_header .sp_menu.on div:nth-child(3){transform:translate3d(0,0,0) rotate(-45deg)!important;}
}

/* Mobile menu icon spacing adjustment: 1px */
@media screen and (max-width:834px){
  #global_header .sp_menu div:nth-child(1),
  #global_header .sp_menu.off div:nth-child(1){transform:translate3d(0,-1px,0)!important;}
  #global_header .sp_menu div:nth-child(3),
  #global_header .sp_menu.off div:nth-child(3){transform:translate3d(0,1px,0)!important;}
  #global_header .sp_menu.on div:nth-child(1){transform:translate3d(0,0,0) rotate(45deg)!important;}
  #global_header .sp_menu.on div:nth-child(3){transform:translate3d(0,0,0) rotate(-45deg)!important;}
}

/* SEO refresh: scroll reveal animation */
.seiko-reveal{
  opacity:0!important;
  transform:translate3d(0,30px,0)!important;
  transition:opacity .68s ease, transform .68s cubic-bezier(.2,.8,.2,1)!important;
  will-change:opacity,transform!important;
}
.seiko-reveal.is-visible{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}
.seiko-reveal--fade{transform:none!important;}
.seiko-reveal--left{transform:translate3d(-26px,0,0)!important;}
.seiko-reveal--right{transform:translate3d(26px,0,0)!important;}
.seiko-reveal--scale{transform:scale(.96)!important;}
.seiko-reveal--left.is-visible,
.seiko-reveal--right.is-visible{transform:translate3d(0,0,0)!important;}
.seiko-reveal--scale.is-visible{transform:scale(1)!important;}
@media screen and (max-width:834px){
  .seiko-reveal{
    transform:translate3d(0,22px,0)!important;
    transition-duration:.52s!important;
  }
  .seiko-reveal--left,
  .seiko-reveal--right{
    transform:translate3d(0,22px,0)!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .seiko-reveal,
  .seiko-reveal.is-visible{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* Company representative portrait */
body.page-company #company-representative.company-message{
  display:grid!important;
  grid-template-columns:minmax(320px,420px) minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  gap:0!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid #d7e9f5!important;
  box-shadow:0 28px 64px rgba(7,61,112,.16)!important;
  overflow:hidden!important;
}
body.page-company #company-representative.company-message:before{
  right:-80px!important;
  bottom:-120px!important;
  border-color:rgba(11,49,143,.06)!important;
}
body.page-company .company-message__photo{
  position:relative!important;
  z-index:1!important;
  grid-column:1!important;
  grid-row:1 / span 2!important;
  min-height:560px!important;
  background:#073d70!important;
  overflow:hidden!important;
}
body.page-company .company-message__photo figure{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:560px!important;
  margin:0!important;
}
body.page-company .company-message__photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:560px!important;
  object-fit:cover!important;
  object-position:center top!important;
}
body.page-company .company-message__photo figcaption{
  position:absolute!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
  padding:18px 20px!important;
  background:rgba(7,61,112,.9)!important;
  color:#fff!important;
  box-shadow:0 16px 38px rgba(0,0,0,.24)!important;
  box-sizing:border-box!important;
}
body.page-company .company-message__photo figcaption span{
  display:block!important;
  margin:0 0 7px!important;
  color:rgba(255,255,255,.76)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
}
body.page-company .company-message__photo figcaption strong{
  display:block!important;
  color:#fff!important;
  font-size:26px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
body.page-company #company-representative .company-message__head{
  grid-column:2!important;
  grid-row:1!important;
  padding:48px 52px 18px!important;
  background:#fff!important;
}
body.page-company #company-representative .company-message__head span{color:#0b318f!important;}
body.page-company #company-representative .company-message__head h2{
  color:#073d70!important;
  font-size:34px!important;
}
body.page-company #company-representative .company-message__body{
  grid-column:2!important;
  grid-row:2!important;
  padding:14px 52px 48px!important;
  background:#fff!important;
}
body.page-company #company-representative .company-message__name{
  margin-top:28px!important;
  padding-top:22px!important;
  border-top:1px solid #d7e9f5!important;
}
@media screen and (max-width:834px){
  body.page-company #company-representative.company-message{display:block!important;}
  body.page-company .company-message__photo,
  body.page-company .company-message__photo figure,
  body.page-company .company-message__photo img{min-height:0!important;}
  body.page-company .company-message__photo{height:auto!important;}
  body.page-company .company-message__photo img{
    height:auto!important;
    aspect-ratio:4 / 5!important;
    object-fit:cover!important;
    object-position:center top!important;
  }
  body.page-company .company-message__photo figcaption{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    padding:14px 16px!important;
  }
  body.page-company .company-message__photo figcaption strong{font-size:22px!important;}
  body.page-company #company-representative .company-message__head{padding:30px 24px 12px!important;}
  body.page-company #company-representative .company-message__head h2{font-size:25px!important;}
  body.page-company #company-representative .company-message__body{padding:10px 24px 30px!important;}
}
