@charset "UTF-8";
 /* #cms_control_panel {
  display: none;
}   */
/* *************************************
// class
************************************* */
.pc_none {
  display: none;
}

@media (width < 768px) {
  .pc_none {
    display: block;
  }

  .sp_none {
    display: none;
  }
}
/* カラー変更 */
:root {
  --main-color: #ad002d;
  --sub-color: #3b535f;
  --sub2-color: #f5f5dc;
  --text-color: #443d3a;
  --sub3-color: #374c70;
  --brown-color: #4f371f;
  --orange-color: #d35312;
  --main-rgba-color: #f5f1ea;
  --orange-rgba-color: #f5f1ea;
  --rem: 1rem / 16;
}
.renew-pagetop {
  background-color: #fff;
}
.top-mv02-main {
  background-color: #fff;
}
.siteblock-main .black-text strong {
  color: var(--text-color) !important;
}
.siteblock-opt1 h3 a,
.siteblock-opt2 h3 a,
.siteblock-opt3 h3 a,
.siteblock-main h3 a,
.siteblock-bottom h3 a {
  text-decoration: none !important;
  color: var(--main-color) !important;
  font-size: 2rem;
  @media (max-width: 767px) {
    font-size: 1.6rem;
  }
}
.siteblock-main input.formSendBu {
  background-color: var(--main-color);
}
.sitedesign-headernav-group li.menu-level-0:last-child > a {
  background: var(--main-color);
     @media  (max-width: 1200px) {
    margin: 10px !important;
    width: fit-content !important;
    padding: 10px 50px !important;
    color: #fff !important;
   }
}
.siteblock-upper div.cparts-id504 .cparts-txt-block .cparts-id504__ttl {
  color: var(--main-color);
}
.siteblock-upper .dec-txt--primary {
  color: var(--main-color) !important;
}
.siteblock-opt2 {
  background-image: url(../images/common/bg_nois.png);
  background-color: #fcfbf7 !important;
}
.siteblock-main .parts_h_type16 .parts_h_type16_en::before {
  color: var(--main-color) !important;
}
.siteblock-main h3 {
  color: var(--main-color);
}
.siteblock-main h4::after {
  background: var(--main-color);
}

.blogRayout02 .blogEntryCategory a {
  background: var(--main-color);
}
.top-mv02-opt1 .blogRecentLink a {
  background: transparent;
  border: 1px solid var(--main-color);
}
.siteblock-opt1 .blogRecentLink a::before {
  border-color: var(--main-color) !important;
}
.blogRecentLink a::after {
  border-color: var(--main-color) !important;
}
.siteblock-opt1 .blogRecentLink a {
  color: var(--main-color);
}
.siteblock-opt2 .parts_h_type16 .parts_h_type16_en::before {
  color: var(--main-color);
}
.siteblock-opt2 .dec-bg--primary {
  background-color: rgba(0, 0, 0, 0.5) !important;
}
.siteblock-opt2 .dec-bg-pe--secondary::before {
  background: var(--sub-color) !important;
}
.siteblock-opt3 .topicDigestLink a {
  background: var(--main-color);
}
.siteblock-footer {
  background: #f5f5f5;
}
.siteblock-footer a {
  color: #000;
}
.footerNavi ul {
  background: #f5f5f5;
}
.siteblock-main table th {
  background: var(--main-color) !important;
}
.siteblock-main .cparts-var03-type22 .cparts-body-block .cparts-txt-block {
  color: var(--main-color) !important;
}
.siteblock-main .dec-btn--primary {
  background-color: var(--main-color) !important;
  opacity: 1 !important;
}
.siteblock-opt1 .dec-btn--primary {
  background-color: var(--main-color) !important;
}
.siteblock-upper .cparts-var03-type22 .cparts-body-block .cparts-txt-block {
  color: var(--main-color) !important;
}
.siteblock-bottom .parts_h_type16 .parts_h_type16_en::before {
  color: var(--main-color);
}
.siteblock-bottom .qaList dt::before {
  color: var(--main-color);
}
.siteblock-opt1 .parts_h_type16 .parts_h_type16_en::before {
  color: var(--main-color);
}
.siteblock-opt2 table th {
  background-color: var(--main-color);
}
.siteblock-opt1 h4::after {
  background-color: var(--main-color);
}
.siteblock-opt3 .dec-bg--primary {
  background-color: var(--main-color) !important;
}
.parts_text_type02 {
  border: 4px double var(--main-color) !important;
}
.sitedesign-headernav-group li.menu-level-0 > a,
.sitedesign-headernav-group li.menu-level-0 > div {
  border: none !important;
}
.siteblock-main .dec-bg--light {
  background-color: #fff !important;
}
.siteblock-main .dec-line-pe--light::before {
  border-color: #fff !important;
}
.siteblock-opt3 h4::after,
.siteblock-opt2 h4::after,
.siteblock-opt1 h4::after,
.siteblock-main h4::after,
.siteblock-bottom h4::after {
  background-color: var(--main-color);
}
.siteblock-main h4 a {
  color: var(--main-color) !important;
  text-decoration: none;
}

.sitedesign-topicpath a {
  color: var(--main-color);
}
.siteblock-opt3 .dec-bg--light a:not([class*="dec-btn"]):hover,
.siteblock-opt3 .dec-bg--light a:not([class*="dec-btn"]):focus,
.siteblock-opt3 .dec-bg--grey a:not([class*="dec-btn"]):hover,
.siteblock-opt3 .dec-bg--grey a:not([class*="dec-btn"]):focus,
.siteblock-opt3 .dec-bg--contents a:not([class*="dec-btn"]):hover,
.siteblock-opt3 .dec-bg--contents a:not([class*="dec-btn"]):focus {
  color: var(--main-color) !important;
}
.sitedesign-pagetopbtn a {
  border: solid 1px var(--main-color);
  color: var(--main-color);
}
.sitedesign-pagetopbtn a::before {
  border-top: 1px solid var(--main-color);
  border-right: 1px solid var(--main-color);
}
.sitedesign-headernav-button {
  background-color: var(--main-color);
}

/* 付け足しcss */

.allcopy__top ul {
  @media (width < 768px) {
    margin: 0;
  }
}

.moving_title {
  @media (width < 768px) {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.voice-parts h4 {
  @media (width < 768px) {
    font-size: 0.9rem;
    margin-bottom: 0;
    text-align: center;
  }
}

.cparts-table-block td {
  @media (width < 768px) {
    font-size: 0.8rem;
  }
}

.cparts-txt-block p {
  @media (width < 768px) {
    font-size: 1rem;
  }
}

.lay-row span {
  @media (width < 768px) {
    font-size: 1.1rem !important;
  }
}

.lay-row p {
  @media (width < 768px) {
    margin-bottom: 15px;
  }
}

.blogRayout01 .blogEntryInfo {
  @media (width < 768px) {
    display: grid !important;
    grid-template-columns: 135px 1fr;
  }
}
/* フォント 変更 */
.siteblock-upper div.cparts-id504 .cparts-txt-block .cparts-id504__ttl {
  font-size: 3rem !important;
  top: 300px;
  font-weight: 500;
  line-height: 1.5 !important;
}
.siteblock-opt2 .topicDigestLink a {
  background-color: var(--main-color);
}
/*基本設定*/
img {
  /*     border-radius: 10px; */
}
table {
  border-collapse: separate !important;
}
body {
  overflow: hidden;
}
.recruit-maru:before {
  color: #fff !important;
}
.contact02-text .lay-col12-md-4 {
  @media (width < 820px) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/*=========================================
サイトブロックの変更
========================================*/
.siteblock-bottom {
  padding-top: 0px;
  padding-bottom: 0;
}
.siteblock-bottom .box {
  margin-bottom: 0;
}
.siteblock-bottom h3 {
  color: var(--main-color);
}
.siteblock-opt3 .dec-btn--primary {
  background-color: var(--main-color) !important;
  margin-bottom: 60px !important;
}
.siteblock-opt3 .dec-txt--light,
.siteblock-opt2 .dec-txt--light {
  color: rgba(207, 46, 46, 0.5) !important;
}

.siteblock-opt2 h3 {
  color: var(--main-color);
}
.siteblock-bottom .dec-txt--light {
  color: rgba(207, 46, 46, 0.5) !important;
}
.siteblock-opt1 .qaList dt::before {
  color: var(--main-color);
}
.siteblock-bottom .dec-btn--primary,
.siteblock-opt2 .dec-btn--primary {
  background-color: var(--main-color) !important;
}
.siteblock-bottom .dec-bg--primary {
  background-color: var(--main-color) !important;
}
.siteblock-bottom table th {
  background-color: var(--main-color);
}
.siteblock-main h1 {
  font-size: 2.5rem !important;
  color: var(--main-color);
}
.siteblock-main a {
  color: var(--main-color);
}
.siteblock-opt1 .dec-bg--light,
.siteblock-opt3 .dec-bg--light,
.siteblock-main .dec-bg--light,
.siteblock-bottom {
  background-color: #fff !important;
}

.siteblock-opt1 .dec-bg--light::before,
.siteblock-opt3 .dec-bg--light::before,
.siteblock-main .dec-bg--light::before {
  border-color: #fff !important;
}
.siteblock-opt2 li::marker,
.siteblock-opt1 li::marker,
.siteblock-opt3 li::marker,
.siteblock-main li::marker,
.siteblock-bottom li::marker {
  color: var(--main-color) !important;
}
.siteblock-opt2 .dec-bg--light {
  background-color: rgba(207, 46, 46, 0.7) !important;
  color: #fff;
}
.siteblock-opt2 .dec-bg--light::before {
  border-color: rgba(207, 46, 46, 0.7) !important;
}
.siteblock-bottom .box {
  padding-bottom: 40px !important;
}
.siteblock-opt3 table th {
  background-color: var(--main-color);
}
.siteblock-opt3 .mailForm {
  padding-top: 60px !important;
  max-width: 1200px;
  margin-inline: auto;
 
}
.siteblock-opt3 .mailFormBox {
   @media(max-width: 1000px) {
    width:90%;
    margin-inline: auto;
  }
}
.siteblock-opt3 input.formConfiBu {
  background-color: var(--main-color);
  margin-bottom: 50px;
}
.siteblock-opt3 .dec-bg--light a:not([class*="dec-btn"]):hover,
.siteblock-opt3 .dec-bg--light a:not([class*="dec-btn"]):focus,
.siteblock-opt3 .dec-bg--grey a:not([class*="dec-btn"]):hover,
.siteblock-opt3 .dec-bg--grey a:not([class*="dec-btn"]):focus,
.siteblock-opt3 .dec-bg--contents a:not([class*="dec-btn"]):hover,
.siteblock-opt3 .dec-bg--contents a:not([class*="dec-btn"]):focus {
  color: var(--main-color) !important;
}
.siteblock-main a:hover,
.siteblock-main a:focus {
  color: var(--main-color) !important;
  opacity: 0.7;
}
.siteblock-footer a:hover,
.siteblock-footer a:focus {
  color: transparent;
}
.footerNavi a:hover,
.footerNavi a:focus {
  background: transparent;
}
.siteblock-side a:hover,
.siteblock-side a:focus {
  color: var(--main-color);
  opacity: 0.7;
}

/* トップページ */
.top-sub-title {
  font-size: 1.8rem;
  color: var(--text-color);
  font-weight: 400;
}
.top-bj {
  padding-top: 35px !important;
}
h2,
h3,
h4,
a {
  position: relative;
  z-index: 1;
}
h6::after {
  background-color: var(--main-color) !important;
}
.copy---top {
  margin-top: 20px !important;
}

.sitedesign-headernav-group li.menu-level-0:hover > ul {
  text-align: center;
}
.sitedesign-headernav-group li.menu-level-1 > a:hover {
  color: #fff !important;
  opacity: 0.7;
}
.sitedesign-headernav-group li.menu-level-0 > a::after {
  position: absolute;
  top: 32px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: var(--main-color);
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}

@media (max-width: 1000px) {
  .sitedesign-headernav-group li.menu-level-0 > a::after {
    display: none;
  }
}
 
.sitedesign-headernav-group li.menu-level-0:last-child > a::after {
  position: absolute;
  top: 40px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: var(--main-color);
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}
.sitedesign-headernav-group li.menu-level-0 > a:hover::after {
  transform: scale(1, 1);
}
.sitedesign-headernav-group li.menu-level-0:last-child > a:hover::after {
  transform: scale(1, 1) !important;
}
.sitedesign-headernav-group li.menu-level-0:last-child > a:hover {
  opacity: 1;
}
.cparts-header-block__logo {
  width: 80%;
}

/*==============================================================
アドレス
===============================================================*/
address {
  position: static;
  transform: none;
  width: 100%;
  color: #333;
}
/*==============================================================
ヘッダー
===============================================================*/
/* .siteblock-header {
    padding: 10px 25px;
  }
  
  .siteblock-header > div.lay-container-fluid {
    padding: 0 !important;
  }
  
  .siteblock-header .freeParts.sitedesign-headerparts__nofull {
    width: 100% !important;
  }
  
  .siteblock-header .freeParts.sitedesign-headerparts__nofull .box {
    width: 100%;
  }
  
  .siteblock-header .boxBottom {
    display: flex;
    justify-content: space-around;
    align-items: center;
    column-gap: 16px;
  }
  
  .header-contact {
    flex-shrink: 0;
    display: grid;
    grid-template-columns: 2fr 1fr;
  }
  
  .header-contact a {
    display: block;
    width: 100%;
    color: var(--main-color) !important;
    text-decoration: none !important;
  }
  
  .header-contact a span{
  font-size:clamp(0.875rem, 0.148rem + 1.52vw, 1rem);
  }
  
  
  .siteblock-header .freeParts {
    width: 100%;
  }
  
  .header-contact div {
    margin: 0 !important;
    text-align: center;
    padding-top:5px;
    font-size: 1.2rem;
  }
  
  .siteblock-header .cparts-header-block {
    padding-block-start: 0 !important;
  }
  
  .header-logo .lay-row {
    margin-inline: 0 !important;
  }
  
  .header-logo .lay-row > div {
    padding: 0;
  }
  
  .header-logo .lay-row .cparts-header-block__description {
    margin-block: 0;
  }
  .sitedesign-headernav-button {
    background-color: var(--main-color);
  }

  @media(max-width:1200px) {
    .header-contact {
      display: none;
    }

    }
  @media(max-width:798px) {
    .siteblock-main .cparts-flex-block {
      padding: 0 20px !important;
    }
    .sitedesign-headernav-list {
      width: 100% !important;
      justify-content: flex-start !important;

    }
    .sitedesign-headernav-list .sitedesign-headernav-list {
      position: static !important;
    }
    .sitedesign-headernav-list ul {
      background-color: transparent !important;
    }
    .sitedesign-headernav-list ul {
      position: static;
    }
    .sitedesign-headernav-list {
      text-align: center;
    }
    #sitedesign-headernav-input ~ .sitedesign-headernav-group li.menu-level-0:last-child > a {
      margin: 0;
    }
    .sitedesign-headernav-list li.menu-level-1 {
      top: 0 !important;
    }
    .sitedesign-headernav-list .menu-level-1 a {
      width: 100% !important; 
      font-weight: bold;
    }
  } */
.sitedesign-headernav-group li.menu-level-0 {
  padding: 5px 0 !important;
}
@media (min-width: 1200px) {
  .siteblock-header > div > *.sitedesign-headerparts__nofull {
    width: 20%;
  }
  .siteblock-header > div > *.sitedesign-headerparts__nofull + .sitedesign-headernav,
  .siteblock-header > div > *.sitedesign-headerparts__nofull + [id*="EDIT-navigation"] {
    width: calc(80% - 40px);
  }
}
@media (min-width: 768px) {
  .siteblock-header .lay-container-fluid {
    padding-left: 30px !important;
    padding-right: 10px !important;
  }
}
.siteblock-header.sitedesign-fixed {
  background-color: #fff !important;
}
.header-logo {
  @media (min-width: 768px) and (max-width: 1000px) {
    display: flex;
  }
}

/*=============================================
  フッター
  =============================================*/
.footerNavi ul {
  display: block;
}
.footerNavi li {
  position: relative;
  z-index: 10;
}
.footerNavi li::before {
  content: "-";
  display: inline-block;
  margin-right: 10px;
  color: #000;
}
.footer-x .cparts-img-block img {
  width: 50px;
  height: auto;
}
.footer-add img {
  width: 70%;
  padding-block-start: calc(10 * var(--rem));
}

/*   メニュー
.siteblock-header .sitedesign-headernav.naviBox {
  width: 100% !important;
  background-color: #fff;
  padding: 0.1px 0;
  border-radius: 20px;
}

.sitedesign-headernav-list {
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 16px;
  width: fit-content;
  margin-inline: auto !important;
}

.sitedesign-headernav-list li {
  padding-inline: 0 !important;
  position: relative;
  
}
.sitedesign-headernav-list li  a{
  color: var(--main-color) !important;
  text-shadow: 1px 1px 1px #999;
  font-size: 1.1rem;
}
.sitedesign-headernav-list li  a:hover {
  opacity: 0.7 !important;
}
.sitedesign-headernav-list ul {
  width: 230px;
  background-color: #fff;
  color: var(--text-color) !important;
}
.sitedesign-headernav-list .menu-level-1 a {
  color: #333 !important;
  text-shadow: none;
}
.sitedesign-headernav-group li.menu-level-0 > div {
  color: var(--main-color) !important;
  text-shadow: 1px 1px 1px #999;
  font-size: 1.1rem;
}
.sitedesign-headernav-list a::marker {
  list-style-type: none !important;
}
@media(max-width:798px) {
  .siteblock-footer .box {
    text-align: center;
  }
}

2階層目
.sitedesign-headernav-list .sitedesign-headernav-list {
  margin: 0 !important;
  padding-inline: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.sitedesign-headernav-list .sitedesign-headernav-list::before {
  display: none;
}

@media (any-hover: hover) {
 .sitedesign-headernav-group li.menu-level-0:hover > .sitedesign-headernav-list {
   padding: 0;
   left: 0;
   right: 0;
 }
}

.sitedesign-headernav-list li.menu-level-1 {
  width: 100% !important;
  padding: 0;
  top: 4px;
  left: 0;
}

.sitedesign-headernav-list .menu-level-1 a {
  display: block;
  background-color: var(--white);
  width: fit-content;
  border-radius: 8px;
}

.sitedesign-headernav-list .menu-level-1 a:hover {
  color: var(--main-color) !important;
  
}



@media (min-width: 1200px) {
  .siteblock-header > div {
    display: block;
  }
  .siteblock-upper {
    padding-top: 0;
  }
  .cparts-id504 {
    padding-top: 0 !important;
  }
  .siteblock-upper .top-bj .cparts-txt-block  h1{
    padding-top: 350px !important;
  }
  .cparts-id504 .cparts-notes-block {
    top: 65%;
  }
  .sitedesign-headernav-group {
    width: 100% !important;
  }
}

@media (min-width: 1200px) {
  .siteblock-header > div > *.sitedesign-headerparts__nofull + .sitedesign-headernav .sitedesign-headernav-group > ul,
  .siteblock-header > div > *.sitedesign-headerparts__nofull + [id*='EDIT-navigation'] .sitedesign-headernav-group > ul {
    justify-content: center;
    height: 25px;
    margin-bottom: 20px;
    margin-top: 20px;
  }
} */

.siteblock-upper {
  background: transparent;
  padding: 0;
}
/*   .siteblock-header {
  padding-bottom: 10px;
} */
.bx-wrapper .bx-pager {
  bottom: -30px !important;
}
.bx-viewport li {
  margin-bottom: -5px !important;
  padding-bottom: 5px !important;
}
.contact_time {
  font-size: 1.2rem;
  text-align: center;
  font-weight: bold;
  position: relative;
}
.contact_time::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-image: url(/images/common/tel_contact.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 10px;
  transform: translateY(23%);
}

#top-contact__opt3 .contact_form {
  font-weight: normal;
  font-size: 1rem;
  position: relative;
  color: #fff !important;
  @media (max-width: 767px) {
    font-size: 0.9rem;
  }
}
.contact_form::before {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(/images/common/mail.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 10px;
  transform: translateY(23%);
  margin-left: 5px;
  filter: brightness(0) invert(1);
}
.siteblock-opt3 .mail-icon .contact_form a:hover {
  color: #fff !important;
}
.contact_form02 {
  padding: 0 !important;
}
.mb-contact {
  padding: 0 15px;
  @media (max-width: 767px) {
    padding: 0;
  }
}
.contact-form__parts02 {
  border: solid 1px var(--text-color);
  padding: 25px 5px 0 5px !important;
}
.contact_form02 h4 {
  font-size: 1.3rem !important;
  color: var(--main-color) !important;
  text-shadow: none;
  margin-bottom: 5px;
  @media (max-width: 767px) {
    font-size: 1.1rem !important;
  }
}
.contact_form02 h4 a {
  text-decoration: none;
}
.contact_form02 h4::after {
  content: none;
}
.contact_form02 .dec-btn--primary {
  margin-top: 60px !important;
}
.siteblock-opt3 .mail-icon .contact_form a {
  color: #fff !important;
}
.contact_form02 .dec-txt--light {
  color: rgba(251, 251, 251, 0.1) !important;
  text-shadow: none;
  padding: 0;
}
.contact_form02 .cparts-animation--blur {
  padding: 40px 0 20px 0;
}
.contact_form02 .cparts-iconfont__tel02::before {
  color: #333 !important;
}

.siteblock-opt3 .contact_form a {
  color: #333 !important;
  text-decoration: none !important;
  text-shadow: none;
}
.sitedesign-headernav-group li.menu-level-0:last-child > a {
  padding: 10px 20px;
}
.contact-tel-p {
  border-bottom: 3px solid var(--main-color);
  padding-bottom: 10px;
  font-weight: bold;
}

/* @media (min-width: 1200px) {
    .siteblock-header > div > *.sitedesign-headerparts__nofull {
       width: 100% !important;
    }
    .siteblock-header > div > *.sitedesign-headerparts__nofull + [id*="EDIT-navigation"] {
      width: 100% !important;
    }
    .menu-level-0 a {
        position: relative;
        z-index: 999;
    }
  }
   */

@media (min-width: 1000px) {
  .sitedesign-headernav-group li.menu-level-0:hover > ul {
    padding: 0;
    margin: 0 auto;
    width: 80%;
    flex-wrap: nowrap;
    position: absolute;
    z-index: 99999;
    gap: 0px;
    top: 90%;
  }
  .sitedesign-headernav-group li.menu-level-0 > a {
    
  }
  .sitedesign-headernav-group li.menu-level-0:hover > ul::before {
    top: 0;
    border-radius: 0 !important;
    border-bottom: 1px solid #fff;
    background: var(--main-color);
    color: var(--main-color);
    border-top: 1px solid #fff;
  }
  .sitedesign-headernav-group li.menu-level-1 > a {
    color: #fff !important;
  }
  .sitedesign-headernav-group li.menu-level-1 + li.menu-level-1 > a {
    border-left: 1px solid #fff !important;
        @media (min-width: 768px) and (max-width: 1000px) {
    border-left: none !important;
  }
  }


}



/*==============================================================
トップページ
===============================================================*/
.top-bj img {
  position: relative;
}
.top-bj .cparts-img-block::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background-color: rgba(251, 251, 251, 0.2);
  /*  background-image: radial-gradient(rgba(255, 255, 255, 0.25) 19%, transparent 15%), radial-gradient(rgba(255, 255, 255, 0.25) 19%, transparent 22%);
   background-position: 0 0, 3px 3px;
   background-size: 6px 6px; */
  z-index: 0;
}
.top-bj .dec-bg--contents {
  background-color: transparent !important;
}
.cparts-id504 .cparts-txt-block .cparts-id504__ttl {
}

.top-bj .cparts-notes-block {
  top: 247px;
  left: 264px;
}
@media (max-width: 798px) {
  .service-title {
    padding: 0 10px !important;
  }
  .siteblock-upper div.top-bj {
    padding-top: 0 !important;
  }
  .siteblock-upper div.cparts-id504 .cparts-txt-block .cparts-id504__ttl {
    font-size: 1.8rem !important;
    padding-top: 0 !important;
    width: 100% !important;
    padding-right: 0 !important;
  }
  .cparts-id504 .cparts-txt-block .cparts-id504__ttl,
  .cparts-id504 .cparts-txt-block .cparts-id504__ttl span {
    font-size: 1.5rem !important;
  }
  .cparts-id504 .cparts-txt-block .cparts-id504__ttl {
    width: 100%;
  }
  .cparts-id504 .cparts-notes-block {
    left: 100px;
  }
  .top-topics {
    margin-bottom: 0 !important;
  }
  .top-sub-title {
    padding-left: 0 !important;
  }
  .siteblock-upper .cparts-id504 {
    padding-bottom: 30px !important;
  }
  h3 {
    font-size: 1.4rem;
    padding: 0;
  }
}

@media (min-width: 799px) and (max-width: 1200px) {
  .siteblock-upper div.cparts-id504 .cparts-txt-block .cparts-id504__ttl {
    font-size: 3rem !important;
    top: 352px;
    width: 100% !important;
    padding-right: 0 !important;
  }
  .cparts-id504 .cparts-txt-block .cparts-id504__ttl,
  .cparts-id504 .cparts-txt-block .cparts-id504__ttl span {
    font-size: 2.5rem !important;
    top: 0;
  }
  .cparts-id504 .cparts-notes-block {
    top: 20rem;
  }
  .top-bj {
    padding-top: 0 !important;
  }
  .siteblock-main .cparts-flex-block {
    padding: 0 30px !important;
  }
}

/*-----------------------------------------------
サービスのセクション
-----------------------------------------------*/
.service-section .lay-row {
  margin: 0 calc(50% - 50vw);
  padding: 0 100px;
}
.service-section p {
  line-height: 2 !important;
}
.siteblock-main .dec-txt--light {
  color: rgba(207, 46, 46, 0.5) !important;
}
.service-title p {
  font-size: 1.1rem;

  @media (width < 768px) {
    font-size: 1rem;
  }
}
.contact_form02::before {
  background: rgba(0, 0, 0, 0.1);
}
.cparts-id458--02 .cparts-notes-block {
  font-size: min(2em, 6vw);
  @media (width < 768px) {
    font-size: min(2em, 8vw);
  }
}
.top-topics .cparts-flex-block {
  margin: 0 calc(50% - 50vw) !important;
  padding: 0 100px !important;
}
.top-topics img {
  border-radius: 20px 20px 0 0 !important;
}
.top-topics .cparts-body-block {
  border-radius: 0 0 20px 20px;
  padding: 1rem;
  height: 420px;
}
.top-topics .cparts-txt-block {
  height: 220px;
}
.top-topics h4 {
  font-size: 1.3rem !important;
  color: var(--main-color) !important;
}
.boxBottom > h3 {
  font-size: 2rem !important;
}
.siteblock-opt1 .dec-txt--light {
  color: rgba(207, 46, 46, 0.5) !important;
}
.company-top .lay-row {
  align-items: center;
}
.company-top p {
  line-height: 2.5;
}
.pagetemp-column1 .siteblock-main {
  background-position: right 0px !important;
  background-size: 86% auto;
  background-image: none;
}

.blogRayout01 .blogEntryTtl {
  font-size: 1.3rem;
  @media(max-width: 767px) {
  grid-column: 1 / -1
  }
}
.blogRecentLink a {
  padding: 18px 72px 18px 30px;
}

/* .siteblock-opt1 {
  position: relative;
  z-index: 1;

}
.siteblock-opt1::before {
  background-color: #ccc;
  /* transform: skewY(5deg);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
} */

@media (max-width: 798px) {
  .top-topics .cparts-flex-block {
    margin: 0;
    padding: 0;
  }
  .boxBottom > h3 {
    font-size: 1.6rem !important;
    padding-top: 30px !important;
    @media (width < 768px) {
      padding-top: 0 !important;
    }
  }
}
/*----------------------------------------------------
ブログ
=====================================================*/

.topicsDigestBox + .topicsDigestBox {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  padding-top: 20px !important;
}
.siteblock-opt1 .topicsDigest {
  margin-bottom: 0;
  background-color: #fff;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  outline: 1px dashed var(--main-color);
  outline-offset: -15px;
  padding: 50px 30px 1px;
}
.topicsDigestBox h4 {
  font-size: 1.2rem;
  font-weight: bold;
}

.siteblock-opt1 .topicDate {
  color: var(--main-color) !important;
}
.siteblock-opt1 .blogRecent {
  margin-bottom: 0;
  /* display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 2fr 1fr; */
  background: #fff;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.1);
  padding: 40px 10% 1px;
  margin-bottom: 120px !important;
  margin: 0 auto;
  border-radius: 10px;
  height: 600px;
  max-width: 50%;
  @media (max-width: 767px) {
    margin-bottom: 30px !important;
    max-width: 100%;
  }
}
#EDIT-blog-21 > .blogRecent{
  max-width: 100%;
}
.siteblock-opt1 .blogRecent .boxBottom > h3 {
  margin-bottom: 28px;
}
.siteblock-opt1 .blogRecent .blogRecentList ul > li a,
.blogEntryList ul > li a {
  display: flex;
  align-items: center;
  width: fit-content;
  transition: 0.3s;
  color: #333;
  text-decoration: none;
  flex-wrap: wrap;
}
.top-mv02-opt1 .blogEntryIcon-act a {
  background-color: transparent !important;
  border-radius: 10px;
}
.blogRecentLink {
  margin-top: 20px;
}

.siteblock-opt1 .blogRecent .blogRecentList ul > li,
.blogEntryList ul > li {
  margin: 5px 0;
  width: 100%;
  padding: 0;
}
.siteblock-opt1 .blogRecent .blogRecentList ul,
.blogEntry ul {
  display: block;
  list-style: none;
  padding: 0;
}
.siteblock-opt1 .blogRecent .parts_h_type16 {
  margin-bottom: 25px;
  align-self: center;
}
.siteblock-opt1 .blogRecent .blogRecentList {
  align-self: center;
}
.siteblock-opt1 .blogRecentLink a:hover {
  background-color: rgba(207, 46, 46, 0.1);
  color: var(--main-color);
}
.entryPermalink,
.entryCreated {
  display: none;
}
.top-topics p strong {
  color: var(--brown-color) !important;
}

.top-mv02-opt1 li {
  flex-direction: row-reverse;
}
.top-mv02-opt1 img {
  width: 35px !important;
}
.top-mv02-opt1 .dec-bg-light {
  margin-left: 0;
}
.top-mv02-opt1 .blogEntryInfo {
}

/*-----------------------------------------------------
X
-----------------------------------------------------*/
.top-x .cparts-img-block img {
  height: auto;
  margin: 0 auto;
  background: #fff;
  border-radius: 50%;
  padding: 10px;
  width: 100px !important;
}
.top-x p {
  line-height: 2;
    @media (min-width: 768px) and (max-width: 1000px) {
    padding: 5px 30px;
    text-align: left !important;
  }
}
.top-x {
  background: #f1fdff;
  padding: 30px 0 40px 0;
  border-radius: 10px;
  position: relative;
  text-align: center;
  height: 600px;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.1);
}
.top-x-title {
  margin-bottom: 20px;

  margin: 0 auto;
}

/* .top-x::before {
    content: '';
    position: absolute;
    display: inline-block;
    width:70px;
    height: 70px;
    background-image: url(/images/common/clip02.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: -2.2rem;
    
} */
#EDIT-blog-21 .siteblock-opt1 .blogRecent{
  max-width: 100%;
}
@media (max-width: 630px) {
  .top-x {
    max-width: auto;

  }
  .top-x .cparts-txt-block {
    padding-inline: 30px;
  }
  .top-x p {
  }
}
.top-x-title {
}

/*-----------------------------------------------------
contact--top
-----------------------------------------------------*/
.siteblock-opt3 h3 {
  color: var(--main-color) !important;
  font-size: 3.5rem !important;
  margin-bottom: 10px !important;
}
.contact-add {
  color: #333;
  text-shadow: none;
}
.contact-top .lay-col12-xs-12 {
  border-right: 2px solid #999;
  padding-right: 5px;
  text-align: center;
}
.contact-top .lay-col12-xs-12:last-child {
  border-right: none;
  padding-right: 0;
}
.contact-top .cparts-txt-block {
  margin-top: 20px;
}
.contact-top p {
  margin-bottom: 0 !important;
}
.siteblock-opt3 {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

.contact-top {
  position: relative;
  z-index: 1;
}
.contact-top::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: -1;
}
.cparts-id288--03 .cparts-body-block {
  background-color: rgba(255, 255, 255, 0.9) !important;
}

.siteblock-opt3 .recruit-top-text {
  margin-bottom: 60px !important;
}
.recruit-top-text p {
  line-height: 2;
}
@media (max-width: 798px) {
  .siteblock-bottom .box .top-about-btn {
    padding-bottom: 60px !important;
  }
}
/*=============================================
リクルートページ
============================================*/
.recruit-title {
  font-size: 3rem !important;
  color: var(--main-color);
  text-align: center;
  font-weight: bold;
  margin: 0;
}
.recruit-top-title {
  text-align: center;
  margin: 2em 0 3rem 0;
  position: relative;
  padding: 0.25em 1em;
  border: double 4px #999;
  border-radius: 3px 0 3px 0;
  /* background: -webkit-repeating-linear-gradient(-45deg, var(--main-rgba-color), var(--main-rgba-color) 3px,#FfF 3px, #FFF 7px);
  background: repeating-linear-gradient(-45deg, var(--main-rgba-color), var(--main-rgba-color) 3px,#fff 3px, #FFF 7px); */
  background-color: rgba(251, 251, 251, 0.9);
}
.siteblock-main .dec-box--light {
  border-color: #ccc !important;
}

.recruit-top-title:before,
.recruit-top-title:after {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  border: double 4px #999;
  border-radius: 50%;
  background-color: #fff;
}
.recruit-top-title::before {
  bottom: -20px;
  right: -15px;
}
.recruit-top-title::after {
  top: -20px;
  left: -15px;
}
.recruit-top-title p {
  margin: 0;
  padding: 0;
}
.recruit-top-title p {
  font-size: 1.8rem;
}
.recuruit-slider {
  margin-top: 60px !important;
}
.recuruit-slider a {
  display: none;
}
.recuruit-slider p {
  font-size: 1.1rem;
  font-weight: bold;
}
.siteblock-main .dec-bg--primary {
  background-color: var(--main-color) !important;
}
.qa-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  margin: 0 calc(50% - 50vw);
  gap: 5px;
}
.qa-wrap:nth-child(odd) {
  margin-block-end: calc(20 * var(--rem));
  padding-block: calc(15 * var(--rem));
}
.voice-title h2 {
  margin-bottom: -50px !important;
}
.recruit-voice {
  display: block !important;
}
.recruit-voice .cparts-no-block {
  margin: 0 0 1rem !important;
}
.recruit-voice .lay-col12-xs-4 {
  padding-inline-start: calc(80 * var(--rem));
}
.recruit-voice .cparts-txt-block {
  padding: 5px;
  border: 4px double #ccc;
  width: 70%;
  margin: -20px auto;
}
.recruit-voice img {
  width: 100% !important;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.3);
}
.recruit-voice .qa-list-main {
  padding-inline-end: caic(80 * var(--rem));
}
.siteblock-main .qaList dt::before {
  color: var(--main-color);
}
.qaList dt::before {
  border-color: var(--main-color) !important;
}
.recruit-qa:nth-child(2n) {
  margin-left: 100px !important;
}
.recruit-welfare {
  margin: 0 auto;
  margin-bottom: 1rem !important;
}
.recruit-welfare .lay-row {
  justify-content: center;
}
.number-r {
  font-size: 3.8rem !important;
}
.recruit-welfare .lay-col12-xs-12 {
  background-color: #fff !important;
  margin: 0 7px !important;
  padding: 10px 0 !important;
}
.recruit-welfare .lay-col12-lg-3 {
  flex: 0 0 23%;
  max-width: 23%;
}
.mailForm h3 {
  font-size: 2rem !important;
  text-align: center;
  margin-bottom: 60px !important;
  position: relative;
  z-index: 10;
  @media (width < 768px) {
    margin-bottom: 41px !important;
  }
}
.mailForm h3::before {
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  background-image: url(/images/common/conntact-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translate(0, 20%);
  margin-right: 10px;
}
.siteblock-opt3 form table th strong {
  color: #fff;
}
table th {
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 0, transparent 40%, transparent 100%, rgba(255, 255, 255, 0.15) 100%, rgba(255, 255, 255, 0.15) 100%, transparent 100%, transparent) !important;
}
@media (max-width: 820px) {
  .mailform-table th,
  .mailform-table td {
    display: block;
    width: 100%;
  }
  .mailform-table td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .mailform-table table　 {
    width: 80%;
  }

  .mailform-table {
    border-spacing: 0 15px;
    table-layout: fixed;
    border: none;
  }
}
@media (max-width: 798px) {
  .recruit-title {
    margin: 0;
    padding-top: 50px;
    font-size: 1.4rem !important;
  }
  .recruit-top-title p {
    font-size: 1.2rem;
  }
  .recruit-voice img {
    width: 100% !important;
  }

  .recruit-qa:nth-child(2n) {
    margin-left: 0 !important;
  }
  .recruit-welfare .lay-col12-lg-3 {
    flex: 0 0 22%;
    max-width: 22%;
  }
  .recruit-welfare .lay-col12-xs-12 {
    margin: 0 2px !important;
    padding: 2px 0 !important;
  }
  .recruit-welfare {
    margin-bottom: 0.5rem !important;
  }
  .recruit-welfare p {
    font-size: 0.9rem !important;
  }
  .company-information-table {
    padding: 0 !important;
  }
  .recruit-qa p {
    font-size: 1.1rem;
  }
  .company-information-table td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .company-information-table table　 {
    width: 80%;
  }
  .company-information-table th,
  .company-information-table td {
    display: block;
    width: 100%;
  }
}
.message-recruit {
  margin-top: 0 !important;
}

.siteblock-main:has(.message-recruit) {
  padding-top: 0 !important;
}
.recruit-message__text .lay-col12-xs-12:first-child {
  padding-inline-start: calc(120 * var(--rem));
}
.siteblock-main .message-recruit::before {
  background-color: #333 !important;
}
.siteblock-main .message-recruit .cparts-editsite--subttl::before {
  content: none;
}
.siteblock-main .message-recruit h2 {
  font-size: calc(46 * var(--rem)) !important;
  @media (width < 768px) {
    font-size: calc(30 * var(--rem)) !important;
  }
}
.siteblock-main .message-recruit p {
  font-size: calc(18 * var(--rem)) !important;
  @media (width < 768px) {
    font-size: calc(13 * var(--rem)) !important;
    text-align: left !important;
  }
}
.recruit-point-title {
  width: fit-content;
  margin-inline: auto;
  padding-block-end: calc(20 * var(--rem));
  margin-block-end: calc(10 * var(--rem));
  margin-block-start: calc(80 * var(--rem));
  position: relative;
  @media (width < 768px) {
    margin-block-start: calc(15 * var(--rem));
  }
}
.recruit-point-title::before {
  width: calc(500 * var(--rem));
  height: 1px;
  content: "";
  position: absolute;
  display: inline-block;
  background-color: var(--main-color);
  bottom: 0;
  left: 0;
  transform: translateX(-13%);
}
.recruit-message__subtext {
  width: fit-content;
  font-size: calc(18 * var(--rem));
  margin-inline: auto;
  @media (width < 768px) {
    font-size: calc(13 * var(--rem));
  }
}
.point-recruit-contents .cparts-img-block,
.point-recruit-contents .cparts-txt-block {
  background: #fff;
  margin-block-start: 0;
  text-align: center;
  padding-block-start: calc(15 * var(--rem));
}
.point-recruit-contents .cparts-txt-block {
  padding-block: calc(15 * var(--rem));
}
.point-recruit-contents .cparts-img-block img {
  max-width: 50%;
  margin-inline: auto;
}
.siteblock-main .point-recruit-contents h4 {
  font-size: calc(22 * var(--rem));
  background: var(--main-color) !important;
  color: #fff !important;
}
.voiice-subtext p {
  font-size: calc(20 * var(--rem));
  padding-block: calc(20 * var(--rem)) calc(36 * var(--rem));
  @media (width < 768px) {
    font-size: calc(13 * var(--rem));
    padding-block: calc(68 * var(--rem)) calc(36 * var(--rem));
  }
}
.voice-parts .cparts-img-block {
  flex: 0 0 40%;
  max-width: 40%;
  padding-inline: 0;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.5);
  @media (width < 768px) {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.voice-parts p {
  margin-block-end: calc(20 * var(--rem));
}
.voice-parts .cparts-txt-block {
  flex: 0 0 65%;
  max-width: 65%;
  background-color: #fff !important;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.5);
  color: #333;
  padding-inline: calc(30 * var(--rem));
  @media (width < 768px) {
    flex: 0 0 80%;
    max-width: 80%;
    margin-bottom: 31px;
    margin-top: -70px;
    margin-inline: auto;
  }
}
.interview_txt .toggle {
  width: 60px;
  height: 60px;
  position: relative;
  background: #f8d6dd;
  border-radius: 50%;
  display: block;
  text-align: center;
  padding-top: 34px;
  color: var(--main-color);
  margin: 20px auto 0;
  font-size: 12px;
  border: 1px solid;
}
.interview_txt .toggle::before {
  content: "";
  width: 20px;
  height: 1px;
  background: var(--main-color);
  display: block;
  position: absolute;
  top: 25px;
  right: 10px;
  transform: rotate(-25deg);
  transform-origin: center;
  transition: all 0.3s;
}
.interview_txt .toggle::after {
  content: "";
  width: 20px;
  height: 1px;
  background: var(--main-color);
  display: block;
  position: absolute;
  top: 25px;
  left: 10px;
  transform: rotate(25deg);
  transform-origin: center;
  transition: all 0.3s;
}
.interview_txt .toggle.open::before {
  transform: rotate(25deg);
}
.interview_txt .toggle.open::after {
  transform: rotate(-25deg);
}
.interview_txt .voice h4 {
  color: var(--main-color);
  border: 1px solid;
  font-weight: 500;
  padding: 5px 20px;
  display: flex;
  width: fit-content;
  margin-bottom: 20px;
  margin-top: 20px;
  font-size: 16px;
}
.interview_txt .voice p {
  margin-top: 0;
  font-size: 90%;
}
.recruit-interview {
  margin: 0 calc(50% - 50vw);
}
.recruit-interview__wrap {
  max-width: 1200px;
  margin-inline: auto;
     @media (min-width: 768px) and (max-width: 1000px) {
    padding: 0 15px;
   }
}
.siteblock-upper .recruit-mv::after {
  background-color: var(--main-color) !important;
}

/*--------------------------------------------------------
会社案内
--------------------------------------------------------*/
.company-information {
  margin-top: 100px !important;
  @media (max-width: 767px) {
    margin-top: 0px !important;
  }
}
.company-information-table th {
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 0, transparent 40%, transparent 100%, rgba(255, 255, 255, 0.15) 100%, rgba(255, 255, 255, 0.15) 100%, transparent 100%, transparent) !important;
}
.company-information-table table {
  border-collapse: separate !important;
}
.company-information-table td {
  border-left: none;
}

.message-title {
  text-align: center;
  margin: 0 calc(50% - 50vw) !important;
}

.message-text .lay-row {
  align-items: center;
}
.message-text .lay-col12-xs-12 {
  @media (max-width: 820px) {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.comHistory table {
  position: relative;
}
.comHistory table::before {
  content: "";
  position: absolute;
  top: calc((20px * 1.15) / 2 + 10px);
  left: 140px;
  height: 100%;
  border-left: 2px dashed #808080;
}
.comHistory table tbody tr {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 30px;
}
.comHistory table tbody tr th {
  position: relative;
  display: block;
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 0, transparent 40%, transparent 100%, rgba(255, 255, 255, 0.15) 100%, rgba(255, 255, 255, 0.15) 100%, transparent 100%, transparent) !important;
  color: #fff;
  font-size: 20px;
  border: none;
  text-align: center;
  width: 110px;
  padding: 0.5em 1em;
}
.comHistory table tbody tr > th::before {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(-30px - 7.5px);
  width: 15px;
  height: 15px;
  background-color: #808080;
  border: 3px double #fff;
  transform: translateY(-50%);
}
.comHistory table tbody tr > td:first-of-type {
  padding: calc(10px - 4px) 1em;
  border: 4px double var(--main-color);
  color: var(--main-color);
  width: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 60px;
  line-height: calc(20px * 1.15);
  margin-right: 30px;
}
.comHistory table tbody tr > td:last-child {
  padding: calc(10px - 4px) 1em;
  align-self: center;
}
.comHistory table tbody tr > td {
  display: block;
  border: none;
}
.siteblock-opt1 table th {
  background-color: var(--main-color);
}
.siteblock-opt1 h3 {
  color: var(--main-color) !important;
}
.company-information-table {
  padding: 40px 50px;
  border-radius: 10px;
}
@media (max-width: 798px) {
  .company-information-table02 td:last-child {
    border-bottom: none;
    width: 100%;
  }
  .company-information-table02 table {
    width: 100%;
  }
  .company-information-table02 th,
  .company-information-table02 td {
    display: block;
    width: 100%;
  }
  .company-information-table02 {
    padding: 0 !important;
  }
  .company-information-table02 td,
  .company-information-table02 table th {
    border: none;
  }
  .comHistory .lay-row > div {
    padding: 0;
  }
  .comHistory table::before {
    left: 8.5px;
  }
  .comHistory table {
    white-space: wrap;
  }
  .comHistory table tbody tr {
    flex-direction: column;
    padding-left: 30px;
  }
  .comHistory table tbody tr th {
    font-size: 18px;
    border: 3px double #fff;
    background-clip: inherit;
    width: 100%;
    margin-bottom: 15px;
    margin-left: -30px;
  }
  .comHistory table tbody tr > td:first-of-type {
    margin-left: 1px;
    border-width: 3px;
    font-size: 16px;
    margin-bottom: 10px;
    padding: 5px 1em;
  }
  .comHistory table tbody tr > th::before {
    content: none;
  }
  .comHistory table tbody tr > td:last-child {
    padding: 0 5px;
    font-size: 14px;
    align-self: flex-start;
  }
}
.about-message__wrap {
  margin: 0 calc(50% - 50vw);
}
.about-message__wrap .cparts-txt-block {
  padding-inline-start: calc(100 * var(--rem));
  @media (min-width: 768px) and (max-width: 1000px) {
    padding: 0 8%;
  }

  @media (max-width: 767px) {
    padding: 0 15px;
  }
}
.about-message__wrap .cparts-txt-block p {
  margin-block-end: calc(20 * var(--rem)) !important;
}
.welfare__list ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(10 * var(--rem));
  max-width: calc(1200 * var(--rem));
  margin-inline: auto;
  margin-block-start: calc(64 * var(--rem));
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    padding-left: 0;
    grid-template-columns: repeat(2, 1fr);
  }
  @media (width < 768px) {
    display: block;
    padding: 0;
  }
}
.welfare__list li {
  background-color: #fff;
  padding: calc(20 * var(--rem)) calc(20 * var(--rem));
  text-align: center;
  font-size: calc(17 * var(--rem));
  font-weight: 600;
  color: #333;
  position: relative;
  padding-inline-start: calc(40 * var(--rem));
  @media (width < 768px) {
    margin-top: 25px;
  }
}

.welfare__list ul {
  list-style: none;
}
.welfare__list li:nth-child(1) {
  margin-block-start: calc(10 * var(--rem));
}
.welfare__list li::before {
  content: "";
  position: absolute;
  left: calc(16 * var(--rem));
  top: 50%;
  transform: translate(-20%, -30%);
  font-size: calc(21 * var(--rem));
  font-weight: 800;
  background-repeat: no-repeat;
  background-size: contain;
  width: calc(80 * var(--rem));
  height: calc(80 * var(--rem));
}
.welfare__list li:nth-child(1)::before {
  background-image: url(/images/common/a.svg);
}
.welfare__list li:nth-child(2)::before {
  background-image: url(/images/common/recruit-icon03.svg);
}
.welfare__list li:nth-child(3)::before {
  background-image: url(/images/common/recruit-icon09.svg);
}
.welfare__list li:nth-child(4)::before {
  background-image: url(/images/common/recruit-icon10.svg);
}
.welfare__list li:nth-child(5)::before {
  background-image: url(/images/common/recruit-icon06.svg);
}
.welfare__list li:nth-child(6)::before {
  background-image: url(/images/common/recruit-icon07.svg);
}
.welfare__list li:nth-child(7)::before {
  background-image: url(/images/common/recruit-icon08.svg);
}
.welfare__list li:nth-child(8)::before {
  background-image: url(/images/common/recruit-icon11.svg);
}
.welfare__list li:nth-child(9)::before {
  background-image: url(/images/common/recruit-icon17.svg);
}
.welfare__list li:nth-child(10)::before {
  background-image: url(/images/common/recruit-icon14.svg);
}
.welfare__list li:nth-child(11)::before {
  background-image: url(/images/recruit/remote03.png);
}
.welfare__list li:nth-child(12)::before {
  background-image: url(/images/recruit/remote02.png);
}
.welfare__list li:nth-child(13)::before {
  background-image: url(/images/common/coffee.svg);
  width: calc(28 * var(--rem));
  height: calc(28 * var(--rem));
  left: calc(25 * var(--rem));
  transform: translate(-20%, -45%);
}
.welfare__list li:nth-child(14)::before {
  background-image: url(/images/common/parking.svg);
  width: calc(28 * var(--rem));
  height: calc(28 * var(--rem));
  left: calc(25 * var(--rem));
  transform: translate(-20%, -45%);
}

.welfare__list li::marker {
  content: none;
}
.siteblock-opt1:has(.benefit-wrap) {
  background-color: var(--main-color) !important;
}
.benefit-title {
  color: #fff;
}
.recruit-table th {
  width: 20%;
}
.siteblock-opt2 .dec-line-pe--primary::before {
  border-color: rgba(0, 0, 0, 0.5) !important;
}
.cparts-subttl {
  margin-bottom: 0;
  padding-bottom: 0;
  font-size: calc(25 * var(--rem));
}

/*============================================================
機械設計・製図
============================================================*/
.design-background {
  margin: 0 calc(50% - 50vw);
  padding: 80px 15px;
  position: relative;
}
.design-background-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
.design-background .design-title {
}
.siteblock-opt1 .topicDigestLink a {
  background-color: var(--main-color);
}
.design-about {
  padding-bottom: 60px;
  @media (width < 768px) {
    padding-bottom: 0px;
  }
}
.design-about img {
  width: 70%;
}
.design-about .cparts-txt-block {
  width: 75vw;
  max-width: 1200px;
  border-radius: 0;
  background-color: #fff;
  color: var(--text-color);
  font-size: 1.1rem;
  box-shadow: 2px 2px 10px #999;
  @media (width < 768px) {
    font-size: 0.9rem;
  }
}
.design-about li {
  list-style-type: none;
  position: relative;
  line-height: 2;
}
.design-about li::before {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(/images/common/icon-haguruma.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 20px;
  transform: translateY(23%);
  margin-left: 5px;
}
.design-about .cparts-head-block {
   @media (min-width: 768px) and (max-width: 1000px) {
    flex: 0 0 100%;
    max-width: 100%;
    padding-top: 0;
   }
}
.design-title-img {
  width: 60%;
  margin: 0 auto;
}
.moving-title p {
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
  color: var(--text-color);
  text-shadow: 2px 2px 4px #fff;
}
.moving-title p::before {
  content: "";
  display: inline-block;
  width: 3rem;
  height: 3rem;
  background-image: url(/images/common/icon-haguruma.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 20px;
  transform: translateY(23%);
  margin-left: 5px;
}

.moving-text {
  text-align: center;
  margin: 0 calc(50% - 50vw);
  padding: 0 4%;
}
.moving-text .lay-col12-lg-2 {
  flex: 0 0 14.2%;
  max-width: 14.2%;
}
.moving-text .cparts-txt-block {
  background: #fff;
  padding: 20px 5px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 2px 2px 10px #999;
  font-weight: bolder;
  color: var(--orange-color);
  font-size: 1rem;
}
.setsubi-text {
  margin: 0 calc(50% - 50vw);
  padding: 0 4%;
}

.setsubi-text .cparts-txt-block {
  background: #fff;
  padding: 20px 5px;
  text-align: center;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 2px 2px 10px #999;
  font-weight: bolder;
  color: var(--orange-color);
}
.setsubi-text .lay-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  align-items: center;
  @media (width < 820px) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.setsubi-text .lay-col12-xs-6 {
  flex: 0 0 100%;
  max-width: 100%;
  margin-top: 0 !important;
}
.setsubi-text p {
  margin-bottom: 0 !important;
  font-size: 1.15rem;
}
.curriculum .cparts-no-block {
  background-color: var(--main-color) !important;
}
.machine01 img {
  width: 100%;
}

.machine01 h6 {
  @media (width < 768px) {
    margin-top: 20px;
  }
}

.machine02 {
  @media (width < 768px) {
    margin-top: 20px;
  }
}
.fix-btn,
.fix-btn01 {
  bottom: 0;
}
.fix-btn .cparts-body-block,
.fix-btn01 .cparts-body-block {
  flex-direction: row;
  width: 350px !important;
  align-items: baseline;
}
.fix-btn .cparts-link-block,
.fix-btn01 .cparts-link-block {
  max-height: 70px;
  margin-right: 5px;
  writing-mode: horizontal-tb !important;
}
.fix-btn {
  left: 20px !important;
}
.fix-btn01 {
  left: 320px !important;
  bottom: 0 !important;
}
.fix-btn .cparts-link-block a:hover,
.fix-btn01 .cparts-link-block a:hover {
  color: #ccc !important;
}
.siteblock-upper a:hover {
  color: #333;
}
@media (max-width: 820px) {
  .moving-text .lay-col12-md-2,
  .setsubi-text .lay-col12-md-2 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media (max-width: 798px) {
  .design-about .cparts-txt-block {
    width: 100%;
    max-width: 100%;
    padding: 20px 15px 20px 10px;
    background-color: #fff !important;
  }
  .design-about ul {
    padding-left: 5px;
  }
  .design-background {
    margin: 0 auto;
    padding: 0 10px;
  }
  .siteblock-opt1 h3 {
    font-size: 1.3rem !important;
  }
  .moving-text,
  .setsubi-text {
    margin: 0 auto;
    padding: 10px;
  }

  .moving-text .lay-col12-xs-6,
  .setsubi-text .lay-col12-xs-6 {
    padding-right: 5px;
    padding-left: 5px;
  }
  .moving-text .cparts-txt-block,
  .setsubi-text .cparts-txt-block {
    text-align: center;
  }
  .fix-btn01,
  .fix-btn {
    display: none;
  }
}
.pro-image {
  max-width: 70%;
  margin: 0 auto;
  @media (width < 768px) {
    max-width: 100%;
  }
}
.curriculum {
  max-width: 65%;
  margin: 0 auto;
  @media (width < 768px) {
    max-width: 90%;
  }
}

/*==================================================================
コピー・製本・スキャン
==================================================================*/
.servise___title {
  padding: 30px calc(50vw - 50%) !important;
}
.servise___title h3 {
  margin-bottom: 0 !important;
  color: #fff !important;
}
.service-table table {
  border-collapse: separate !important;
}

.service-table .lay-row {
  background: #fff;
  padding: 40px 5px 0 5px;
  border-radius: 20px;
}
.service-table01 table {
  border-collapse: separate !important;
}
.service-table01 .lay-row {
  background-color: rgba(208, 169, 0, 0.1);
  padding: 40px 5px 0 5px;
  border-radius: 20px;
  @media (max-width: 767px) {
    background-color: #fff;
  }
}
.copy-top .cparts-img-block img {
  height: 15vh;
}
.copy-top {
  background-color: var(--main-color) !important;
}
.copy-top h1 {
  font-size: 1.8rem !important;
}
.copy-date-img {
  margin: 0 calc(50% - 50vw);
  padding: 0 100px;
  text-align: center;
}
.copy-date-img img {
  border-radius: 20px;
}
.copy-date-img p {
  font-size: 1.4rem;
  font-weight: bold;
}
.copy-date-img p a {
  position: relative;
  text-decoration: none;
  color: var(--main-color);
}
.copy-date-img p a:hover {
  opacity: 0.7;
  color: var(--main-color) !important;
}
.copy-date-img p a::after {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(/images/common/button.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 20px;
  transform: translateY(23%);
}
.service-osusume {
  margin: 0 calc(50% - 50vw);
  padding: 0 150px;
}

.service-osusume h4 {
  font-size: 1rem !important;
}
.service-osusume .dec-btn--primary {
  padding: 10px 30px !important;
  font-size: 1rem !important;
  text-align: center;
}
.service-osusume .cparts-no-block {
  border-radius: 50px !important;
}
.service-osusume .cparts-txt-block a {
}
.service-osusume .dec-btn--primary::before {
  content: none;
}
.service-osusume .dec-btn--primary::after {
  content: none;
}
.doboku {
  margin-top: 100px !important;
}
.doboku h3 {
  text-shadow: 2px 2px 2px #333;
}
.doboku ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 calc(50% - 50vw);
  padding: 20px 50px;
}
.doboku li + li {
  margin-top: 0 !important;
}
.doboku li {
  font-size: 1.2rem !important;
  font-weight: bold;
  text-shadow: 2px 2px 2px #333;
  position: relative;
}
.doboku li::marker {
  color: transparent !important;
}
.doboku li::before {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(/images/common/check--icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 10px;
  transform: translateY(23%);
}
.doboku .dec-btn--primary {
  margin-top: 50px !important;
  margin-bottom: 20px !important;
}
.copy-bannar {
  margin-top: 40px !important;
  position: relative;
  z-index: 10;
}
.copy-bannar img {
  border-radius: 20px;
  margin-bottom: 20px;
  @media (max-width: 767px) {
    border-radius: 0;
  }
}

@media (max-width: 820px) {
  .copy-date-img {
    padding: 50px 10px 0;
  }
  .copy-bannar {
    margin: 0 !important;
    padding: 10px 0 40px 0 !important;
  }
  .service-osusume {
    padding: 0 20px;
  }
  .doboku ul {
    display: block;
    padding: 15px;
  }
  .doboku li {
    line-height: 2.5;
  }

  .all-copy .lay-col12-xs-6:nth-child(n + 3) {
    margin-top: 0 !important;
  }
  .copy-top h1 {
    font-size: 1.6rem !important;
  }
  .all-copy .parts_text_type21_box:nth-of-type(2),
  .all-copy .parts_text_type21_box:nth-of-type(1) {
    margin-bottom: 0;
  }

  .parts_text_type21 ul {
    margin: 10px 0 15px !important;
  }
}
.all-copy .lay-col12-xs-6 {
      @media(max-width:767px) {
        flex: 0 0 100% !important;
        max-width: 100% !important;

      }
      @media (min-width: 768px) and (max-width: 1199px) {
       flex: 0 0 49% !important;
       max-width: 49% !important;
 
      }
}
.all-copy .lay-col12-md-4 {
      @media(max-width:767px) {
        flex: 0 0 100% !important;
        max-width: 100% !important;

      }
      @media (min-width: 768px) and (max-width: 1199px) {
       flex: 0 0 49% !important;
       max-width: 49% !important;
 
      }
}
.area {
  background: #fff;
  padding: 15px 10px 10px 10px !important;
}
.area p {
  font-size: 1.2rem;
  margin-bottom: 10px;
  @media (width < 768px) {
    font-size: 1rem;
  }
}

/*======================================
コピー・データ出力
=======================================*/
.service___title a,
.service___title002 a,
.service___title003 a,
.service___title004 a {
  position: relative;
  z-index: 99;
}
.service___title a::before,
.service___title002 a::before,
.service___title003 a::before,
.service___title004 a::before {
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;

  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 10px;
  transform: translateY(23%);
}
.siteblock-bottom .service___title002 {
  padding-top: 80px;
}
.siteblock-opt3 .service___title002 {
  padding-top: 80px;
  padding-bottom: 20px;
  font-size: 2rem !important;
}
.service___title a::before {
  background-image: url(/images/common/copy-icon.svg);
}

.service___title002 a::before {
  background-image: url(/images/common/book-icon.svg);
}
.service___title003 a::before {
  background-image: url(/images/common/scan-icon.svg);
}
.service___title004 a::before {
  background-image: url(/images/common/compass-icon.svg);
}
.service__text {
  border-radius: 10px;
}
.service__text img {
  border-radius: 10px 0 0 10px !important;
}
.siteblock-opt3 .service__text {
  background-color: var(--orange-rgba-color) !important;
}
.service__text01 {
  border-radius: 10px;
}
.service__text01 img {
  border-radius: 0 10px 10px 0 !important;
}
.siteblock-bottom .service__text01 {
  background-color: var(--orange-rgba-color) !important;
  padding-bottom: 0 !important;
}
.siteblock-bottom .service__text03-seihon {
  background-color: rgba(169, 206, 236, 0.1) !important;
}
.service__text02 {
  border-radius: 10px;
}
.service__text02 img {
  border-radius: 0 10px 10px 0 !important;
}
.siteblock-opt2 .service__text02 {
  background-color: #fff !important;
  color: var(--text-color);
}
.service-price-title {
  font-size: 1.9rem !important;
  margin-bottom: 30px;
  @media (max-width: 767px) {
    font-size: 1.6rem !important;
  }
}
.service-price-title::before {
  margin-top: 20px !important;
  color: var(--main-color) !important;
}
.service-price-title-p {
  font-weight: bold;
  line-height: 2.2 !important;
}
.copy---top .cparts-img-block {
  height: 400px;
  position: relative;
  @media (max-width: 767px) {
    height: 240px;
  }
}
#default-top .copy---top .cparts-ttl-block h1 {
  text-shadow: 2px 2px 2px #fff;
  font-size: 3rem !important;
  @media (max-width: 798px) {
    font-size: 1.6rem !important;
  }
}
.copy---top .cparts-img-block img {
  border-radius: 0 0 0 20px !important;
}
.siteblock-upper .cparts-var03-type22 .cparts-img-block::after {
  background-color: rgba(0, 0, 0, 0.2);
}
.copy---top .cparts-img-block::after {
  display: none;
}
.all-copy {
  position: relative;
  z-index: 10;
}
.siteblock-bottom h3 {
  position: relative;
  z-index: 10;
}
.all-copy li {
  text-align: center;
  font-size: 0.9rem;
  font-weight: bold;
  background-color: var(--main-color) !important;
  border-radius: 50px;
  color: #fff;
  padding: 15px 0 !important;
  margin: 0 auto !important;
  width: 225px;
  @media (max-width: 767px) {
    font-size: 1.1rem;
    border-radius: 0;
    padding: 10px 0 !important;
    width: 280px;
  }
      @media (min-width: 768px) and (max-width: 1199px) {
        margin-bottom: 15px !important;
        border-radius: 0;
        font-size: 1.1rem;
         width: 280px;
      }

}
.all-copy .lay-col12-xs-6 {
  @media (max-width: 767px) {
    margin-bottom: 10px;
  }
}


.all-copy02 {
  width: 300px !important;
}
.all-copy02:hover {
  opacity: 0.5;
}

.all-copy .all-copy02 {
  background: #fff !important;
  border: 4px double var(--main-color);
  border-radius: inherit;
}
.all-copy .all-copy02 a {
  color: var(--main-color) !important;
}
.all-copy02 a::after {
  background-image: url(/images/common/icon-yajirushi-r.svg) !important;
  content: none !important;
}

.all-copy li::after {
  content: none;
}
.all-copy a {
  position: relative;
  text-decoration: none;
  color: #fff !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.all-copy a::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-image: url(/images/common/copy-yaji.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translate(45%, 0);
}
.siteblock-opt3 .date-haku-title {
}
.siteblock-opt3 .date-haku-title {
  font-size: 2rem !important;
  padding-top: 100px;
  padding-bottom: 60px;
}
.copy-haku-price .dec-bg--light {
  background-color: var(--orange-rgba-color) !important;
}
.copy-haku-price .dec-line-pe--light::before {
  border-color: var(--orange-rgba-color) !important;
}

.service-osusume img {
  border-radius: 10px;
}

@media (max-width: 798px) {
  .copy---top .lay-col12-12 {
    padding-right: 0;
    margin-right: 0;
  }
  .copy---top .lay-container-fluid {
    padding-right: 0 !important;
  }
  .copy---top .cparts-img-block img {
    border-radius: 20px 0 0 20px !important;
    right: -15px !important;
  }
  .copy-haku-price .lay-col12-3 {
    padding: 0;
  }
}

.top-qa a {
  text-decoration: none !important;
}

/*========================================
スキャン
======================================*/
.over-head-point .lay-col12-xs-12 {
  background-color: #fff;
  padding: 20px;
  margin: 0 10px !important;
}
.over-head-point .lay-col12-lg-4 {
  flex: 0 0 30%;
  max-width: 30%;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.3);
}
.over-head-point {
  text-align: center;
}
.over-head-point .lay-row {
  justify-content: space-around;
}
.over-head-point h6::after {
  background-color: var(--orange-color);
}
.scan-table {
  background: #fff;
  padding: 20px;
  border-radius: 20px;
}
.scan-table02 {
  background: rgba(208, 169, 0, 0.1);
  padding: 20px;
  border-radius: 20px;
  margin-bottom: 30px !important;
}
@media (max-width: 798px) {
  .scan-text01 p {
    padding-bottom: 30px !important;
  }
  .space-comment .lay-col12-md-2 {
    padding-right: 0;
    padding-left: 0;
  }
}
/*========================================
CAD
========================================*/
.cad-table {
  background: #fff;
  padding: 20px;
  border-radius: 20px;
}
.kakaku-text {
  background: #fff;
}
@media (max-width: 798px) {
  .service-table01 {
    margin-bottom: 20px !important;
  }
  .siteblock-bottom .box .service-table01-text {
    padding-bottom: 50px !important;
  }
  .kakaku-text strong {
    font-size: 1.3rem !important;
  }
  .kakaku-text {
    padding: 5px !important;
  }
  .mitsumori .lay-col12-md-2 {
    padding-right: 0;
    padding-left: 0;
  }
}
/* =====================================
   サービス料金表
===================================== */
@media (max-width: 767px) {
  .service-table,
  .service-table .cparts-table-block,
  .service-table .lay-reset-child {
    width: 100%;
    max-width: 100%;
    overflow-x: visible !important;
  }

  .service-table table {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border-collapse: collapse;
    table-layout: fixed;
  }

  .service-table tbody {
    display: block;
    width: 100%;
  }

  .service-table tr:first-child {
    display: none;
  }

  .service-table tr {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    box-sizing: border-box;
  }

  .service-table td {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: center;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    border: none;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
    text-align: left !important;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .service-table td:last-child {
    border-bottom: none;
  }

  .service-table td::before {
    align-self: stretch;
    display: flex;
    align-items: center;
    padding: 12px;
    font-weight: 700;
    background: #f5f5f5;
    border-right: 1px solid #ccc;
    box-sizing: border-box;
  }

  .service-table td {
    padding-right: 12px !important;
    gap: 12px;
  }

  .service-table td:nth-child(1)::before {
    content: "サイズ";
  }

  .service-table td:nth-child(2)::before {
    content: "寸法";
  }

  .service-table td:nth-child(3)::before {
    content: "普通紙";
  }

  .service-table td:nth-child(4)::before {
    content: "トレーシング\Aペーパー";
    white-space: pre-line;
  }

  .service-table td:nth-child(5)::before {
    content: "その他";
  }

  .service-table td:empty::after {
    content: "―";
  }
  .service-table01,
  .service-table01 .cparts-table-block,
  .service-table01 .lay-reset-child {
    width: 100%;
    max-width: 100%;
    overflow-x: visible !important;
  }

  .service-table01 table {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border-collapse: collapse;
    table-layout: fixed;
  }

  .service-table01 tbody {
    display: block;
    width: 100%;
  }

  .service-table01 tr:first-child {
    display: none;
  }
  .service-table01 tr {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    box-sizing: border-box;
  }

  .service-table01 td {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: center;
    gap: 12px;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    padding: 0 12px 0 0 !important;
    border: none;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;

    text-align: left !important;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .service-table01 td:last-child {
    border-bottom: none;
  }

  .service-table01 td::before {
    align-self: stretch;
    display: flex;
    align-items: center;
    padding: 12px;
    font-weight: 700;
    background: #f5f5f5;
    border-right: 1px solid #ccc;
    box-sizing: border-box;
  }

  .service-table01 td:nth-child(1)::before {
    content: "サイズ";
  }

  .service-table01 td:nth-child(2)::before {
    content: "寸法";
  }

  .service-table01 td:nth-child(3)::before {
    content: "普通紙";
  }

  .service-table01 td:nth-child(4)::before {
    content: "その他";
  }

  .service-table01 td:empty::after {
    content: "―";
  }
  .seihon-parts-01 {
    display: block;
    width: 100%;
  }

  .seihon-parts-01 > .lay-col12-xs-12,
  .seihon-parts-01 > .lay-col12-md-6,
  .seihon-parts-01 > .lay-col12-lg-6 {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 30px;
    box-sizing: border-box;
  }

  /* 横スクロールを解除 */
  .seihon-parts-01 .cparts-table-block {
    width: 100%;
    max-width: 100%;
    overflow-x: visible !important;
  }

  .seihon-parts-01 table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed;
    border-collapse: collapse;
  }

  .seihon-parts-01 th,
  .seihon-parts-01 td {
    min-width: 0 !important;
    max-width: none !important;
    padding: 10px 8px;
    box-sizing: border-box;

    /* 金額が1文字ずつ改行されるのを防ぐ */
    word-break: normal;
    overflow-wrap: normal;
    white-space: normal;
  }

  /* 金額部分はできるだけ途中で改行しない */
  .seihon-parts-01 td:not(:first-child) {
    white-space: nowrap;
  }

  .seihon-parts-01 .cparts-id250--01__ttl {
    margin-bottom: 10px;
  }

  /* ==========================
     2列テーブル
  ========================== */
  .seihon-parts-01 table:not(:has(tr:first-child th:nth-child(3))) th:first-child,
  .seihon-parts-01 table:not(:has(tr:first-child th:nth-child(3))) td:first-child {
    width: 65%;
  }

  .seihon-parts-01 table:not(:has(tr:first-child th:nth-child(3))) th:last-child,
  .seihon-parts-01 table:not(:has(tr:first-child th:nth-child(3))) td:last-child {
    width: 35%;
  }

  /* ==========================
     3列テーブル
  ========================== */
  .seihon-parts-01 table:has(tr:first-child th:nth-child(3)) th:first-child,
  .seihon-parts-01 table:has(tr:first-child th:nth-child(3)) td:first-child {
    width: 48%;
  }

  .seihon-parts-01 table:has(tr:first-child th:nth-child(3)) th:nth-child(2),
  .seihon-parts-01 table:has(tr:first-child th:nth-child(3)) td:nth-child(2),
  .seihon-parts-01 table:has(tr:first-child th:nth-child(3)) th:nth-child(3),
  .seihon-parts-01 table:has(tr:first-child th:nth-child(3)) td:nth-child(3) {
    width: 26%;
  }
}

/*========================================
土木・建築の方へ
======================================*/
.doboku_kenchiku .qaList dt::before {
  border: none;
  content: "check!";
  left: 30px;
  top: -25px;
  transform: rotate(-29deg);
}

/*-=======================================
スキャン
=======================================*/
.sean h3 {
  color: #fff !important;
  padding-bottom: 20px;
}
.sean .cparts-txt-block {
  background-color: #fff !important;
  width: 600px;
  margin: 0 auto;
  color: var(--main-color);
  padding: 5px 0 20px 0;
}
.sean p {
  font-size: 1.2rem;
  text-shadow: none;
  margin: 20px 0;
  font-weight: bold;
}
.over-head-title {
  background: #fff !important;
}
@media (max-width: 798px) {
  .over-head-point .lay-col12-lg-4 {
    flex: 0 0 90%;
    max-width: 90%;
    margin: 0 auto !important;
    margin-bottom: 20px !important;
  }
  .over-head-point {
    margin-bottom: 0 !important;
  }
  .sean .cparts-txt-block {
    width: 100%;
  }
}

/*-=======================================
フッター
=======================================*/
.footerNavi a:hover {
  background-color: transparent !important;
  color: var(--main-color) !important;
}

/*===============================
製本
===============================*/
.seihon-parts-01 {
  display: flex;
  justify-content: space-between;
}
.seihon-parts-01 h4 {
  font-size: 1.4rem;
}
.seihon-parts-01 .lay-col12-xs-12 {
  flex: 0 0 48%;
  max-width: 48%;
}
.seihon-parts-01 .lay-col12-md-6 {
  margin: 0 7px !important;
  background-color: #fff;
  padding: 20px;
  border-radius: 20px;
  @media (max-width: 767px) {
    padding: 15px;
  }
}
.price-text {
  background-color: #fff;
  padding: 20px;
  border-radius: 20px;
  font-weight: bold;
  font-size: 1.2rem;
}

.ex-seihon .box {
  margin-bottom: 0 !important;
}
.ex-seihon {
  padding: 30px calc(50vw - 50%);
  display: flex;
  justify-content: center;
  color: #333;
}
.ex-seihon::before {
  background: transparent !important;
}
.ex-seihon img {
  box-shadow: 0px 1px 1px #fff;
}
.ex-seihon .lay-row {
  margin: 0 calc(50% - 50vw);
  justify-content: center;
}
.ex-seihon p {
  font-size: 1.2rem !important;
  text-align: center !important;
  color: #333;
  text-shadow: none !important;
}
.kurohyoushi {
  margin-top: 30px;
  justify-content: space-between;
  display: flex;
  @media (max-width: 767px) {
    padding: 0 15px;
  }
}
.kurohyoushi p strong {
  color: #333 !important;
}

.kurohyoushi .lay-col12-xs-12 {
  flex: 0 0 48%;
  max-width: 48%;
}
.kurohyoushi .lay-col12-md-6 {
  margin: 0 7px !important;
  background: rgba(169, 206, 236, 0.1) !important;
  padding: 20px;
  border-radius: 20px;
}
.kurohyoushi_01 .lay-col12-md-6 {
  background-color: #fff !important;
}
@media (max-width: 798px) {
  .seihon-parts-01 .lay-col12-xs-12,
  .kurohyoushi .lay-col12-xs-12 {
    flex: 0 0 100%;
    max-width: 100%;
    margin: 0 auto !important;
    margin-bottom: 20px !important;
  }
  .ex-seihon .lay-row {
    padding: 0 10px;
  }
  .kurohyoushi .lay-row {
    margin-right: 0;
    margin-left: 0;
  }
  .seihon-parts-01 .cparts-img-block,
  .kurohyoushi .cparts-img-block,
  .kurohyoushi .cparts-txt-block,
  .seihon-parts-01 .cparts-txt-block {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .siteblock-bottom .box {
    padding-bottom: 0 !important;
  }
  .kakaku001 p,
  .kakaku001 {
    padding: 10px !important;
  }
  .parts_text_type20_box + .parts_text_type20_box {
    margin-bottom: 0 !important;
  }
  .siteblock-main h3 {
    padding-top: 30px;
  }
  .seihon-parts-01 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}
.black-text02 {
  background: #fff;
}
.seihon__top-text {
  background: #fff;
  border-radius: 20px;
}
.siteblock-bottom .service__text02-seihon {
  padding-bottom: 0 !important;
}
.siteblock-bottom .service__text02-seihon {
  background-color: #fff !important;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.3);
  margin-bottom: 75px !important;
}
.siteblock-bottom .service__text02-seihon .cparts-img-block {
  border-left: 1px solid #f5f5f5;
}
.service__text,
.service__text02 {
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.3);
}
.kurohyoushi_option {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  @media (max-width: 767px) {
    grid-template-columns: 1fr;
    padding: 0 15px;
  }
}
.kurohyoushi_option .lay-col12-xs-12 {
  max-width: 100% !important;
}
.kurohyoushi02 .lay-col12-md-6 {
  background-color: #fff !important;
}

/*=================================
contact
=================================*/
.mailForm h1 {
  font-size: 2rem !important;
  text-align: center;
  margin-bottom: 60px !important;
  position: relative;
  z-index: 10;
}
.mailForm h1::before {
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  background-image: url(/images/common/conntact-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translate(0, 20%);
}
.siteblock-main input.formConfiBu {
  background: var(--main-color) !important;
}
.siteblock-main strong {
  color: #fff !important;
}
@media (max-width: 798px) {
  .mailForm h1 {
    padding-top: 30px;
    font-size: 1.3rem !important;
  }
  .siteblock-header {
    padding-bottom: 10px;
  }
}

/*===========================
ブログ
===========================*/
.blogIndividual h1,
.blogEntry h1 {
  font-size: 2.5rem !important;
  position: relative;
  z-index: 1;
}
.blogEntry h1::before {
  content: "";
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  background-image: url(/images/common/voice-icon02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 20px;
  transform: translate(0, 20%);
}
.blogIndividual h2,
.blogEntry h2 {
  font-size: 2rem !important;
}
.siteblock-side h3,
.siteblock-side a,
.siteblock-side h3 a {
  color: var(--main-color);
  text-decoration: none;
}
.blogCategoryArchivesBox h2 {
  font-size: 2rem;
}
.siteblock-side table th {
  background-color: var(--main-color);
}
.siteblock-side li::marker {
  color: var(--sub3-color);
}
.siteblock-side input.blogSearchTextBu {
  background-color: var(--main-color);
}
.siteblock-main [class*="blog"][class*="Box"] .pageMore a {
  color: var(--main-color);
}
.siteblock-main [class*="blog"][class*="Box"] .pageMore a::before {
  background-color: var(--main-color);
}
.blogRecentList a {
  text-decoration: none;
}
.siteblock-opt1 .blogRayout01 .blogEntryCategory a {
}
.blogEntryCategory a {
}
.blogRayout01 .blogEntryCategory a {
  border-radius: 20px;
  padding: 5px 5px 5px 10px !important;
  display: inline-flex;
  justify-content: center;
  font-weight: bold;
}
.blogRayout01 .blogEntryTtl a {
  font-size: 1rem !important;
}
.blogRayout01 .blogEntryCategory a:hover,
.blogRayout01 .blogEntryCategory a:focus {
  background: var(--main-color) !important;
  color: #fff !important;
}
.blogEntry ul {
  display: flex;
  flex-wrap: nowrap;
}
.siteblock-main .entryCategory a {
  color: var(--main-color);
  font-weight: bold;
  font-size: 1.1rem;
}
@media (max-width: 798px) {
  .siteblock-opt1 .blogRecent {
    padding: 50px 40px 1px;
  }
  .blogIndividual h1,
  .blogEntry h1 {
    font-size: 1.8rem !important;
  }
}

/*=========================================
プライバシーポリシー
=========================================*/
.privacy-text {
  background: #fff;
  border-radius: 10px;
  padding: 50px 35px;
}
.privacy-text p strong {
  color: var(--main-color) !important;
  font-size: 1.4rem;
}
.siteblock-main .privacy-title {
  position: relative;
  z-index: 1;
  font-size: 2.5rem !important;
}
.privacy-title::before {
  content: "";
  display: inline-block;
  width: 3rem;
  height: 3rem;
  background-image: url(/images/common/privacy-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 20px;
  transform: translate(0, 20%);
}
/*=================================
モバイルcontact
=================================*/
.contact_form02 .cparts-txt-block {
  padding-bottom: 0 !important;
}
.tel-contact-icon {
  position: relative;
  z-index: 10;
  margin-bottom: 5px;
  text-shadow: none;
}
.top-contact__opt3 .dec-bg--light .tel-contact-icon a {
  color: #333 !important;
  text-decoration: none;
}
.tel-comtact-icon span {
  @media (max-width: 767px) {
    font-size: 1.1rem !important;
  }
}

.tel-contact-icon::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-image: url(/images/common/tel_contact.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 0px;
  transform: translate(0, 20%);
}

@media (max-width: 798px) {
  .contact_form02 .cparts-txt-block {
    padding-bottom: 35px !important;
  }
}

/* 

@media(max-width:798px) {
.contact_form02 .mb-contact{
  margin: 0 auto;
}
.mb-contact .cparts-txt-block {
  border: solid 1px #333;
  background-color: #fff;
  text-shadow: none;
}
.tel-contact-icon::before {
  width: 1rem;
  height: 1rem;
}
.contact_form::before {
  width: 0.6rem;
  height: 0.6rem;
  margin-right: 2px;
  margin-left: 2px
}
.contact_form02 .dec-btn--primary {
  margin-top: 0 !important;
}
.mb-contact {
    position: fixed;
    bottom: 0;
    z-index: 99;
}
.sekkei-title::after {
    margin-top: 20px !important;
}
.mb-contact h4::after {
    margin-top: 10px;
}
.mb-contact h4 {
    margin-bottom: 2px;
    margin-top: 5px !important;
    font-size: 0.6rem !important;
}
.mb-contact p , .mb-contact a {
    font-size: 0.5rem !important;
}
.mb-contact strong {
    font-size: 0.6rem !important;
}
.mb-contact .lay-col12-xs-12 {
    flex: 0 0 33%;
    max-width: 33%;
}
.mb-contact .cparts-txt-block {
    padding: 10px 3px 3px 3px;
    height: 100px;
}
.mb-contact .lay-col12-xs-12 {
    padding-right: 3px;
    padding-left: 3px;
}
.mb-contact .lay-row {
  align-items: baseline;
}
.mail-icon {
  display: flex;
  justify-content: center;
}
} */

/*=======================
サイドボタン
=======================*/
.contact-side .lay-row {
  display: block;
}
.contact-side .lay-col12-xs-12 {
  margin-bottom: 5px;
}
.contact-side .lay-col12-xs-12:nth-child(3) {
  margin-top: 6px !important;
}
.side-copy {
  background: #fff;
  display: inline-block;
  color: #333;
  text-align: center;
  padding: 10px 5px;
  width: 250px;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.5);
}
.side-copy02 {
  background: #ecfdff;
}
.side-seizu {
  background: var(--main-color);
  display: inline-block;
  color: #fff;
  text-align: center;
  padding: 5px 15px;
  width: 250px;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.5);
}
.side-copy span {
  border-bottom: 1px solid var(--main-color);
  padding-bottom: 10px !important;
  font-size: 1rem;
  width: 200px;
  font-weight: bold;
}
.side-seizu span {
  border-bottom: 1px solid #fff;
  padding-bottom: 10px !important;
  font-size: 1rem;
  width: 200px;
}
.contact-side .tel-contact-icon {
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: bold;
  color: #fff;
}
.side-copy .tel-contact-icon {
  color: #333;
}
.contact-side .contact_form {
  text-decoration: none;
  color: #333;
}
.side-seizu .tel-contact-icon::before {
  filter: brightness(0) invert(1);
}

.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1;
}
.siteblock-upper .cparts-hide-pc {
  display: block !important;
}
.co-form02::before {
  filter: brightness(0.5);
}

@media (max-width: 798px) {
  .siteblock-upper .contact-side {
    display: none !important;
  }
}

/*===================================
モバイル固定ボタン
===================================*/

.mv-contact {
  display: none;
}
@media (max-width: 798px) {
  .mv-contact .lay-col12-xs-12 {
    padding-left: 0;
    padding-right: 0;
  }
  .mv-contact {
    text-align: center;
    display: block;
  }
  .mv-contact .lay-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100%;
    height: 75px;
    display: flex;
    position: fixed;
    bottom: 3%;
    right: 0;
    z-index: 400;
    text-align: center;
    align-items: center;
    justify-content: space-around;
  }
  .side-copy02 {
    margin-bottom: 0;
    padding-bottom: 0;
    font-weight: bold;
    padding-top: 3px;
  }
  .mv-contact .lay-col12-xs-12:first-child {
    flex: 0 0 58%;
    max-width: 58%;
    background: #fff;
    color: #333;
    text-align: center;
    border: 3px solid var(--main-color);
    height: 90px;
    border-radius: 3px;
  }
  .side-seizu02 {
    font-weight: bold;
  }
  .mv-contact .lay-col12-xs-12:last-child {
    flex: 0 0 40%;
    max-width: 40%;
    background-color: var(--main-color);
    color: #fff;
    padding: 5px 5px;
    margin-top: 0 !important;
    height: 90px;
    border-radius: 3px;
  }
  .side-copy02 span {
    border-bottom: 1px solid var(--main-color);
    padding-bottom: 5px !important;
    font-size: 1rem;
    font-weight: bold;
    padding-top: 5px;
  }
  .side-seizu02 span {
    border-bottom: 1px solid #fff;
    padding-bottom: 5px !important;
    font-size: 1rem;
    font-weight: bold;
  }
  .side-copy02 a::before,
  .side-seizu02 a:before {
    width: 1rem;
    height: 1rem;
  }
  .side-copy02 .contact_form::before {
    width: 1rem;
    height: 1rem;
  }

  .side-copy02 .tel-contact-icon,
  .side-copy02 .contact_form {
    text-decoration: none;
    font-size: 1rem;
    color: #333;
    font-weight: bold;
  }
  .side-seizu02 .tel-contact-icon {
    text-decoration: none;
    font-size: 1rem;
    color: #fff;
    font-weight: bold;
    display: flex;
    justify-content: center;
    padding-top: 10px;
  }
  .side-seizu02 a::before {
    filter: invert(1);
  }
  #sitedesign-headernav-input ~ .sitedesign-headernav-group li.menu-level-0:last-child > a {
    background-color: var(--main-color);
    margin: 0;
    justify-content: flex-start;
    color: #333;
    padding: 16px 8px;
    border-radius: 0;
  }
}
/* 変更ｃｓｓ */
.header-mv {
  background-color: #fff;
}
.top-mv02 {
  position: relative;
}
.top-mv02 h1 {
  font-size: 3.6rem;
}
.top-mv02 img {
  height: 90vh !important;
  @media (max-width: 767px) {
    height: 60vh !important;
  }
}
.top-mv02 .cparts-img-block {
  position: relative;
  height: 90vh;
  @media (max-width: 767px) {
    height: 60vh !important;
  }
}
.top-mv02 .cparts-txt-block {
  bottom: 10%;
  left: 2%;
  z-index: 3;
  padding: 0 2%;
}
.siteblock-upper .dec-bg--primary {
  background-color: transparent !important;
}
.top-mv02 .cparts-img-block:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), radial-gradient(circle, rgba(255, 255, 255, 0.4) 1px, transparent 1px);
  background-size:
    100% 100%,
    5px 5px;
  pointer-events: none;
}
.top-mv02 .slick-slider {
  margin-top: 0;
}
.top-mv02-upper .box {
  margin-bottom: 0;
}
.copy-top .cparts-img-block {
  position: relative;
}
.copy-top .cparts-img-block::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), radial-gradient(circle, rgba(255, 255, 255, 0.6) 1px, transparent 1px);
  background-size:
    100% 100%,
    5px 5px;
  pointer-events: none;
}
.copy-top .cparts-txt-block {
  z-index: 10;
}
/* ブログ・X */
.top-mv02-opt1 .lay-container-xl {
  display: flex;
  max-width: 100%;
  justify-content: space-between;
  gap: 30px;
  padding: 0;
  margin-top: 30px;
  @media (max-width: 767px) {
    display: block;
    padding-inline: 15px;
  }
}
.blog-wrap {
  margin: 0 calc(50% - 50vw);
  padding: 0;
}

.top-mv02-opt1 {
  background-image: none;
}
.top-mv02-opt1 .dec-line--grey {
  justify-content: left !important;
  gap: 20px;
}
.top-mv02-opt1 .blogRayout01 .blogEntryIcon-act {
  width: auto !important;
}
.top-blog__opt1 > :first-child {
  flex: 1;
}

.top-blog__opt1 > :last-child {
  flex: 1;
}
.test-service {
    @media (min-width: 768px) and (max-width: 1000px) {
    padding-top: 60px;
  }
  @media (max-width: 767px) {
    padding-top: 60px;
  }
}

/* コンタクト */
.contact_form02 {
  position: relative;
  background: #e8d8c3 !important;
}
.contact_form02::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), radial-gradient(circle, rgba(255, 255, 255, 0.7) 1px, transparent 1px);
  background-size:
    100% 100%,
    5px 5px;
  pointer-events: none;
}
.contact02-text {
  font-size: 1.2rem;
  text-align: center;
  margin-bottom: 20px;
  @media (max-width: 767px) {
    font-size: 1rem;
    padding-inline: 25px;
  }
}
.mb-contact .lay-col12-xs-12 {
  position: relative;
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    flex: 0 0 100%;
    max-width: 100%;
    margin-block: 20px;
  }
  
}
.mb-contact .lay-col12-xs-12::before {
  content: "";
  display: block;
  width: calc(60 * var(--rem));
  aspect-ratio: 1;
  background-color: var(--main-color);
  color: #fff;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  padding-right: 30px;
  padding-top: 5px;
  transform: translate(26%, 0%);
  @media (width < 768px) {
    width: calc(40 * var(--rem));
    transform: translate(37%, 0%);
  }
}
.mb-contact .cparts-txt-block {
  padding: 20px !important;
}

/* service */
.top-service-title {
  padding: 10px !important;
}
.top-service-title .cparts-notes-block {
  color: var(--main-color) !important;
  margin-bottom: 0 !important;
  opacity: 0.1;
}
.top-s-title p {
  margin-bottom: 20px !important;
  @media(max-width: 767px) {
    font-size: 1.3rem;
  }
}
.top-s-title {
  padding: 0 !important;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: 0 !important;
}
.siteblock-main .servise02-title a {
@media(max-width: 767px) {
  color: #333 !important;
  font-size: 1.3rem;
}
}
.service-title {
  @media (min-width: 797px) {
    padding: 10px 80px;
  }
}
.service-title strong {
  color: #333 !important;
}
.service-title span {
  font-weight: bold;
  color: var(--main-color);
}
.servise02-title {
  font-size: clamp(1.2rem, 5vw, 2.3rem);
  padding: 20px 0 0 20px;
}
.servise02-title a {
  text-decoration: none;
}
.servise02-title::after {
  content: none;
}
.top-service02_design {
  padding: 0 15px;
}
.top-service02_design .cparts-txt-block {
  background-color: rgba(252, 253, 254, 0.9);
  padding: 25px 20px 15px 20px;
  margin-left: -100px;
  box-shadow: 2px 4px 6px #999;
  border-left: 4px solid var(--main-color);
  @media (max-width: 767px) {
    margin-left: 0;
  }
}
.top-service02_design .lay-row {
  align-items: center;
  @media (max-width: 767px) {
    display: grid;
  }
}

.top-service02_design img {
  width: 100% !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.top-about-wrap {
  margin: 0 calc(50% - 50vw);
  display: grid;
  gap: 80px;
  padding-bottom: 80px;
}
.top-service02_design {
  margin-bottom: 20px !important;
}
.top-service02_design .cparts-img-block {
  flex: initial;
  max-width: 100%;
  width: 60%;
  @media (max-width: 767px) {
    width: 100%;
  }
}
.top-service02_design .lay-col12-xs-12:nth-child(2) {
  flex: initial;
  max-width: 100%;
  width: 40%;
  @media (max-width: 767px) {
    width: 100%;
  }
}
.top-service02_design::before {
}
.top-service02_design02 {
  margin-left: auto;
  margin-left: 100px;
  margin-right: 0;
  @media (max-width: 1000px) {
    margin-left: 0 !important;

  }
}
/* .top-service02_design .lay-col12-lg-6:first-child {
  flex: 0 0 60%;
  max-width: 60%;
}
.top-service02_design .lay-col12-lg-6:last-child {
  flex: 0 0 40%;
  max-width: 40%;
} */
.top-service02_design02 .lay-row {
  flex-direction: row-reverse;
}
.top-service02_design02 .cparts-txt-block {
  margin-right: -100px;
  margin-left: 0;
  box-shadow: -2px 4px 6px rgba(0, 0, 0, 0.3);
}
  @media (max-width: 767px) {
  
.top-service02_design02 .cparts-txt-block {
  margin-right: 0 !important;
}

}
  
.top-service02_design02 .cparts-txt-block::before {
}
.servise02-subtitle {
  font-size: clamp(1rem, 5vw, 1.6rem);
  font-weight: bold;
  color: var(--main-color);
  text-align: center;
  margin-bottom: 20px !important;
}
.top-service02_design p {
  margin-bottom: 20px !important;
}
.top-service02_design .cparts-img-block,
.top-service02_design02 .cparts-img-block {
  position: relative;
  z-index: 0;
}
.top-service02_design .cparts-img-block::before,
.top-service02_design02 .cparts-img-block::before {
  /* position: absolute;
  display: block;
  width: 500px;
  height: 350px;
  z-index: -1;
  content: "";
  background-color: var(--main-color); */
}
.top-service02_design .cparts-img-block::before {
  top: 0;
  right: 0;
  transform: translate(30%, 18%);
}

.top-service02_design02 .cparts-img-block::before {
  top: 0;
  left: 0;
  transform: translate(-40%, 13%);
}

.about-r-top {
  margin: 0 calc(50% - 50vw);
}
.about-r-wrap {
}
.servise02-text {
  padding: 3% 2%;
  line-height: 2;
}

.top-bottom-about .box {
  margin-bottom: 0;
  padding-bottom: 0px !important;
}
.top-bottom-about {
  margin: 0;
  padding: 0;
}

.recruit-text-title {
  font-size: 2.4rem !important;
}

.servise-wrap {
  margin: 0px 0 60px 0;
}
.recruit-company img {
  height: 100% !important;
  object-fit: cover;
  width: 100%;
}
.recruit-company .cparts-img-block {
  max-width: none;
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  height: 100%;
  padding: 0;
}
.recruit-company .cparts-body-block {
  max-width: none;
  padding: 50px 0 20px 60px;
  @media (max-width: 767px) {
    padding: 50px 15px 20px 15px;
  }
}
.recruit-company .lay-col12-xs-12 {
  box-shadow: 0 5px 3px -3px rgba(0, 0, 0, 0.1) inset;
}
.company-section {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
.recruit-section {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  background-color: rgba(245, 151, 1, 0.1);
  margin-top: 0 !important;
}
.recruit-company {
  @media (max-width: 767px) {
    padding: 0 15px;
  }
}
.recruit-company .lay-row {
  display: grid;
  grid-template-columns: 2fr 3fr;
  grid-template-rows: 1fr 1fr;
  @media (max-width: 767px) {
    display: block;
  }
}
.recruit-company p {
  margin-bottom: 0;
  padding: 20px;
}
.company-main__title span {
  color: var(--main-color);
  font-size: 1.4rem;
  font-weight: 400;
  position: relative;
}
.company-main__title {
  margin-bottom: 20px !important;
  position: relative;
}

.company-main__title span::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  margin-right: 15px;
  width: 250px;
  height: 1px;
  transform: translate(115%, 0);
  background-color: var(--main-color);
  @media (max-width: 767px) {
    width: 60px;
    transform: translate(140%, 0);
  }
}
/* ブログ */
.top-mv02-opt1 .blogRecent h3 {
  display: grid;
  justify-items: center;
  gap: 8px;
}
.top-mv02-opt1 .blogRecent h3::before {
  content: "NEWS";
  display: block;
  color: #333;
  font-size: 12px;
}
.service-btn {
  margin: 0 auto;
  position: relative;
  z-index: 10;
  @media(max-width:767px) {
    max-width: 270px;
  }
}
.service-btn .lay-row {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.service-btn ul {
  text-align: center;
  display: flex;
  justify-content: center;
  gap:10px;
  padding-left: 0 !important;
  @media (max-width: 767px) {
    display: grid;
    grid-template-columns: 1fr;
  }
}
.service-btn li {
  display: inline-block;
  background-color: var(--main-color);
  color: #fff;
  border: 4px double #fff;
  padding: 15px 20px;
  font-size: 1.3rem;
  margin: 0 20px;
  position: relative;
  z-index: 10;
  @media (max-width: 820px) {
    margin: 0 0 10px 0;
    font-size: 1rem;
  }
}
.service-btn li a {
  text-decoration: none;
  color: #fff;
}
.service-btn li a:hover {
  color: #fff !important;
}
.siteblock-footer {
  padding: 15px 0 0 0 !important;
}
.footer-add p {
  margin-bottom: 20px;
}
/* ブログの色変更 */
.top-mv02-opt1 .blogRayout01 .blogEntryCategory a {
  font-size: 12px;
}
.blogRayout01 .blogEntryCategory a[href*="29341"] {
  background-color: var(--sub3-color) !important;
  color: #fff !important;
}
.blogRayout01 .blogEntryCategory a[href*="29155"] {
  background-color: #a0892e !important;
  color: #fff !important;
}
.blogRayout01 .blogEntryCategory a[href*="29350"] {
  background-color: var(--main-color) !important;
  color: #fff !important;
}
.blogRayout01 .blogEntryCategory a[href*="29348"] {
  background-color: var(--sub-color) !important;
  color: #fff !important;
}
.blogRayout01 .blogEntryCategory a[href*="29349"] {
  background-color: var(--orange-color) !important;
  color: #fff !important;
}
.blogRayout01 .blogEntryCategory a[href*="29154"] {
  background-color: #5f7f6f !important;
  color: #fff !important;
}

.blogRayout01 .blogEntryCategory a[href*="29351"] {
  background-color: #76548f !important;
  color: #fff !important;
}
.blogRayout01 .blogEntryCategory a[href*="29350"] {
  background-color: #c46b4f !important;
  color: #fff !important;
}
.top-mv02 {
  text-align: center;
}
.top-mv02-upper .top-mv02 h1 {
  line-height: 1.7 !important;
  font-size: 3.8rem !important;
  text-shadow: 2px 4px 6px rgba(0, 0, 0, 0.5);

  @media (max-width: 767px) {
    font-size: 2.2rem !important;
  }
}
.top-mv02 .cparts-head-block {
  max-width: 80%;
  margin-right: auto;
  text-align: center;
  line-height: 2;
  @media (max-width: 767px) {
    max-width: 100%;
  }
}
.mv-middle-copy {
  font-size: 2.8rem;
  padding-bottom: 10px;
  text-shadow: 2px 4px 6px rgba(0, 0, 0, 0.5);
    @media (min-width: 768px) and (max-width: 1000px) {
    font-size: 2.2rem !important;
  }
  @media (max-width: 767px) {
    font-size: 2rem !important;
  }
}
.mv-last-copy {
  font-size: 1.7rem;
  @media (max-width: 767px) {
    font-size: 1.4rem !important;
    line-height: 2;
  }
}
.fadein {
  opacity: 0; /* 最初は透明 */
  transform: translateY(20px); /* 下に少しズラしておく */
  animation: fadeUp 1.5s ease-out forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1; /* 徐々に表示 */
    transform: translateY(0); /* 元の位置に戻る */
  }
}
.siteblock-opt1 {
  background-color: transparent;
  color: #333;
}
/* コピー製本の新しいところ */
.various-group {
  margin: 0 calc(50% - 50vw);
}
.various-group .cparts-body-block {
  min-height: 650px;
  position: relative;
  @media (max-width: 767px) {
    min-height: 320px;
  }
}
.various-group p a,
.various-group02 p a {
  color: #fff !important;
  text-decoration: none;
}
.various-group p a:hover,
.various-group02 p a:hover {
  color: #fff !important;
}
.various-group .cparts-body-block::before {
  position: absolute;
  display: block;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  content: "";
  z-index: 2;
  pointer-events: none;
}
.various-group .cparts-img-block {
  opacity: 1;
}
.various-group .cparts-txt-block {
  z-index: 10;
  margin-bottom: 20px !important;
  @media (max-width: 767px) {
    margin-top: 20px;
  }
}
.various-group .cparts-note-block {
  min-height: 180px;
}
.various-group .cparts-body-block:hover {
  background-color: #333;
}
.various-group .lay-col12-xs-12{
   @media (min-width: 768px) and (max-width: 1000px) {
     flex: 0 0 50%;
     max-width: 50%;
   }
}
.various-group h4 {
  color: var(--main-color) !important;

  text-shadow:
    1px 1px 0 #ccc,
    -1px -1px 0 #ccc,
    -1px 1px 0 #ccc,
    1px -1px 0 #ccc,
    0px 1px 0 #ccc,
    0 -1px 0 #ccc,
    -1px 0 0 #ccc,
    1px 0 0 #ccc;
  @media (max-width: 767px) {
    font-size: 1.6rem !important;
  }
}
.various-group02 .cparts-body-block {
  min-height: 300px;
  position: relative;
}
.siteblock-upper .various-group02 h4 a {
  color: var(--main-color);
  font-size: 1.4rem;
  text-decoration: none;
}
.various-group02 .cparts-txt-block {
  margin-top: 0 !important;
}
.service-toptitle {
  max-width: 980px;
  margin: 0 auto;
}
.siteblock-main:has(.various-group) {
  padding: 0;
}
.service-top__title {
  padding-bottom: 20px;
  padding-top: 25px;
}
.service-top__title .dec-txt--light {
  color: rgba(0, 0, 0, 0.1) !important;
}
.doboku__wrap {
  margin: 0 calc(50% - 50vw);
  background-image: url(/images/renew/kouji-img.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
  padding: 60px 0;
}
.doboku__text {
  max-width: 980px;
  margin: 0 auto;
  background-color: rgba(251, 251, 251, 0.8);
  padding: 30px 50px 0 50px;
  border-radius: 10px;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.5);
  @media (max-width: 767px) {
    padding: 30px 15px 0 15px;
    margin: 0 15px;
  }
}
.doboku__text ul {
  max-width: 80%;
  margin: 0 auto;
  list-style: none;
  @media (max-width: 767px) {
    max-width: 100%;
    padding-left: 0;
  }
}
.doboku__text ul li {
  font-size: min(calc(30 / 1433 * 100vw), 30px);
  margin-bottom: 0.5em;
  padding-left: 1rem;
  position: relative;
  width: fit-content;
  padding-inline: 1em;
}
.doboku__text h2 {
  margin-bottom: 20px;
}
.doboku__text ul li .maker {
  padding-inline: 1em;
  background: linear-gradient(to bottom, transparent 70%, color-mix(in srgb, #ffcf48 40%, transparent) 70%, color-mix(in srgb, #ffcf48 40%, transparent) 90%, transparent 95%);
}
.doboku-btn {
  text-align: center;
}
.btn {
  margin-bottom: 0;
  background: var(--main-color);
  padding: 15px 30px;
  color: #fff;
  display: inline-block;
  margin-top: 30px;
  border-radius: 50px;
}
.btn a {
  color: #fff;
  text-decoration: none;
}
.point-servise {
  padding-top: 60px;
  max-width: 80%;
  margin: 0 auto;
}
.point-servise {
  cursor: pointer;
}
.point-servise .lay-col12-lg-3 {
  background-color: #fff;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
  padding: 20px;
  flex: 0 0 23%;
  max-width: 23%;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    flex: 0 0 48%;
    max-width: 48%;
    margin-top: 20px !important;
  }
  @media (max-width: 767px) {
    flex: 0 0 100%;
    max-width: 100%;
    margin-top: 20px !important;
  }
}
.point-servise .lay-col12-lg-3:hover {
  transform: translateY(-10px);
  box-shadow: 2px 12px 20px rgba(0, 0, 0, 0.3);
}
.copy-bannar {
  @media (max-width: 767px) {
    margin: 50px 0 !important;
  }
}
.copy-bannar .cparts-img-block {
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  @media (max-width: 767px) {
  }
}
.copy-bannar .cparts-img-block:hover {
  transform: translateY(-10px);
}
.point-servise .lay-row {
  gap: 10px;
  justify-content: center;
}
.point-servise__wrap {
  margin: 0 calc(50% - 50vw);
}
.servise-strong__text {
  font-size: 1.1rem;
  margin-bottom: 10px;
}
.point-servise .cparts-img-block {
  margin-bottom: 30px;
  border: 1px solid #ccc;
}
.point-servise a {
  text-decoration: none;
  color: #333;
}
.point-servise a:hover {
  color: #333;
}
.recommendation-title {
  padding-top: 50px;
  margin-bottom: 0px;
}
.co-form03 {
  padding: 2px 5px;
  background: var(--main-color);
  color: #fff !important;
  border: 4px double #fff;
}
.co-form03::before {
  filter: brightness(0) invert(1);
}
.co_form04 {
}
.co_form04:first-child {
  margin-right: 5px;
}
.top-contact__opt3 .cparts-txt-block .mail-icon {
  text-align: center;
  background-color: var(--main-color);
  padding: 10px 0 15px 0;
  border: 4px double #fff;
  display: block;
  color: #fff !important;
  text-decoration: none;
  box-shadow: none;
  @media (max-width: 767px) {
    margin-bottom: 10px;
  }
}
.top-contact__opt3 .cparts-txt-block .mail-icon:hover {
  color: #fff !important;
}
.mail-icon__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  @media (max-width: 1200px) {
    grid-template-columns: 1fr;
  }
  @media (min-width: 501px) and (max-width: 820px) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  @media (max-width: 500px) {
    display: grid;
    grid-template-columns: 1fr;
  }
}

.siteblock-opt3 .dec-bg--light .mail-icon__wrap a {
  color: #fff !important;
  text-decoration: none !important;
}

#top-contact__opt3 .co__form05 {
  max-width: 260px;
  margin: 0 auto;
}
#top-contact__opt3 .co__form05 {
  color: #fff !important;
}
.contact-side .contact_form a:hover {
  color: #fff;
}
.top-contact__opt3 .contact-white {
  color: #fff !important;
  text-decoration: none !important;
}
@media (min-width: 768px) {
  .qaList {
    margin-bottom: 10px;
  }
}

.allcopy__top {
  padding-top: 50px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  justify-content: center;
  gap: 10px;
  position: relative;
  z-index: 20;
  cursor: pointer;
  margin: 0 calc(50% - 50vw) !important;
  @media (max-width: 798px) {
    grid-template-columns: 1fr;
  }
}
/* 料金表改定 */
.insatsu-title p {
  color: #333 !important;
}
.insatsu .lay-row {
  max-width: 890px;
  margin: 0 auto;
  gap: 10px;
}
.insatsu .lay-col12-xs-12 {
  background: #fff;
  flex: 0 0 30%;
  max-width: 30%;
  padding: 15px;
  border-radius: 20px;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.1);
}
.insatsu p:first-child {
  border-bottom: 1px solid var(--main-color);
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.insatsu03 .lay-col12-xs-12 {
  flex: 0 0 48% !important;
  max-width: 48% !important;
}
.page-top {
  font-size: 0.7rem;
  margin-bottom: 0;
  -webkit-background-clip: text;
}
.page-top span {
  height: 60px;
  position: absolute;
  color: #333;
  width: -2px;
  left: 18px;
  top: -24px;
  transform-origin: bottom center;
}
.char1 {
  transform: rotate(-30deg);
}
.char2 {
  transform: rotate(-20deg);
}
.char3 {
  transform: rotate(-10deg);
}
.char4 {
  transform: rotate(0deg);
}
.char5 {
  transform: rotate(10deg);
}
.char6 {
  transform: rotate(20deg);
}
.char7 {
  transform: rotate(30deg);
}
.cms-helpstation-icon {
  display: none !important;
}

.fixed-target.is-fixed {
  position: fixed;
  top: 100px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1200px;
  z-index: 15;
  background: #fff;
  border-radius: 50px;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.3);
   @media (min-width: 768px) and (max-width: 1000px) {
    max-width: 615px;
    box-shadow: none;
    transform: translate(-50% , 10%);
    border-radius: 0;
   }
  @media (max-width: 767px) {
    display: none;
  }
}
.fixed-target.is-fixed li {
  background: #fff !important;
  border: none;
}
.fixed-target.is-fixed li a {
  color: var(--main-color) !important;
}
@media (min-width: 768px) {
  .sitedesign-headernav-group li.menu-level-1 > a {
    padding: 15px 10px;
  }
}
.various-group .cparts-txt-block {
  pointer-events: none;
}
.seihon_bottom {
  margin-bottom: 0;
}
.seihon-color strong {
  color: var(--main-color) !important;
}
.company-information-table td {
  background: #fff;
}
.design-review,
.working-condition {
  margin: 0 calc(50% - 50vw);
}
.design-review .cparts-body-block {
  padding-inline-start: calc(100 * var(--rem));
  @media (max-width: 767px) {
    padding-inline: calc(30 * var(--rem));
  }
}
.working-condition .cparts-body-block {
  padding-inline-end: calc(100 * var(--rem));
  @media (max-width: 767px) {
    padding-inline: calc(30 * var(--rem));
  }
}
.design-review .cparts-img-block img,
.working-condition .cparts-img-block img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}
.recruit-mv img {
  height: 60vh !important;
  object-fit: cover;
  @media (width < 768px) {
    height: 38vh !important;
    filter: brightness(0.8);
  }
}
.recruit-mv .cparts-img-block {
  padding-left: 30%;
  position: relative;
  @media (width < 768px) {
    padding-left: 0;
  }
}
.recruit-mv .cparts-img-block::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;

}
.recruit-mv .cparts-txt-block {
  bottom: 40px;
}


.test-service h2 .cparts-editsite--subttl {
  color: var(--main-color);
}
.test-service h2 .cparts-editsite--subttl:before {
  display: none;
}
.test-service02 h4 {
  font-size: calc(40 * var(--rem));
}
.test-service02 h4::after {
  height: 5px;
}
.test-service02 p {
  margin-bottom: calc(20 * var(--rem));
}
.test-service02 ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.test-service02 ul {
  align-items: center;
  justify-items: center;
  justify-content: center;
  gap: 10px;
}
.test-service02 li {
  border: 2px solid #333;
  padding: 20px 0px;
  margin: 0;
  text-align: center;
  width: 250px;
  font-weight: 600;
}
.siteblock-main .test-service02 li::marker {
  content: none;
}
.test-service02 .lay-col12-xs-12 {
  flex: 0 0 40%;
  max-width: 40%;
}
.test-service02 .lay-col12-xs-12:last-child {
  flex: 0 0 60%;
  max-width: 60%;
}

.top-x-wrap {
}
.renew-blog-opt3 {
  background: #fff;
}
.renew-blog-opt3 .blogRecent {
  box-shadow: none;
}
.renew-blog-opt3 .lay-container-xl {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  max-width: 90%;
  justify-content: center;
  gap: 20px;
}
.renew-blog-opt3 .top-x {
  background: #f9f9f9;
  box-shadow: none;
  border: 1px solid #666;
  border-radius: 0;
}
.renew-blog-opt3 .top-x .lay-col12-xs-12 {
  display: grid;
  grid-template-columns: 1fr 2fr;
  column-gap: 6px;
  row-gap: 28px;
  align-items: center;
}
.renew-blog-opt3 .dec-btn--primary {
  background: var(--text-color) !important;
  border-radius: 0;
}
.renew-blog-opt3 .top-x-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  line-height: 1.4;
  text-align: left;
}
.renew-blog-opt3 .top-x-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
}
.renew-blog-opt3 .top-x-title {
  margin: 0;
}
.renew-blog-opt3 .top-x-title img {
  width: 52px;
  height: auto;
}
.top-mv02-opt1 .blogEntryIcon-act img {
  width: 100% !important;
}
.renew-blog-opt3 .top-x .cparts-img-block {
  position: static;
  margin-top: 0 !important;
  align-self: center;
}
.renew-blog-opt3 .top-x .cparts-img-block img {
  display: block;
  width: 70px !important;
  height: auto;
  margin: 0;
}
.renew-blog-opt3 .top-x .cparts-txt-block {
  grid-column: 1 / -1;
}
.renew-blog-opt3 .top-x {
  height: 400px;
  padding: 50px 70px 0 70px;
}
.renew-blog-opt3 .top-x p {
  text-align: left !important;
  margin-bottom: 30px !important;
}

.renew-blog-opt3 .blogRecent .blogRecentList ul > li a {
  font-size: 12px;
}

.renew-blog-opt3 .blogRayout01 .blogEntryCategory a[href*="29341"] {
  background-color: #fff !important;
  color: #333 !important;
  border: 2px solid var(--main-color);
  border-radius: 0;
}
.renew-blog-opt3 .blogRayout01 .blogEntryCategory a[href*="29155"] {
  background-color: #fff !important;
  color: #333 !important;
  border: 2px solid #a0892e !important;
  border-radius: 0;
}
.renew-blog-opt3 .blogRayout01 .blogEntryCategory a[href*="29154"] {
  background-color: #fff !important;
  color: #333 !important;
  border: 2px solid var(--sub3-color) !important;
  border-radius: 0;
}
.renew-blog-opt3 .blogRayout01 .blogEntryInfo {
  flex-wrap: nowrap;
}
.renew-blog-opt3 .blogEntryTtl a {
  padding-left: 20px;
}
.renew-blog-opt3 .blogRecentLink {
  text-align: left;
}
.renew-blog-opt3 .blogRecentLink a {
  border-radius: 0;
  border-bottom: 2px solid var(--main-color);
  border-left: 0;
  border-right: 0;
  border-top: 0;
  color: var(--text-color);
}
.renew-main .sitedesign-headernav-group li.menu-level-1 > a {
  color: var(--main-color) !important;
  border-left: 1px solid #333;
}
.renew-main .dec-btn--primary {
  background-color: #fff !important;
  color: var(--main-color) !important;
  border-bottom: 2px solid var(--main-color) !important;
  border-radius: 0;
}
.renew-blog-opt3 .blogRecentLink a:hover {
  color: #333 !important;
  font-weight: bold;
  opacity: 1;
  background-color: var(--orange-rgba-color) !important;
}
.renew-main .dec-btn--primary:hover {
  color: #333 !important;
  font-weight: bold;
  opacity: 1;
  background-color: var(--orange-rgba-color) !important;
}
.renew-bottom .dec-btn--primary {
  background-color: #fff !important;
  color: var(--main-color) !important;
  border-bottom: 2px solid var(--main-color) !important;
  border-radius: 0;
}
.renew-bottom .dec-btn--primary:hover {
  color: #333 !important;
  font-weight: bold;
  opacity: 1;
  background-color: var(--orange-rgba-color) !important;
}
.renew-contact .mb-contact .lay-col12-xs-12::before {
  content: none;
}

.renew-main .top-about-wrap {
  counter-reset: renew-main-service;
}

.renew-main .top-about-wrap > .top-service02_design {
  counter-increment: renew-main-service;
}
.renew-main .servise02-subtitle {
  color: #333;
  font-weight: normal;
}

.renew-main .top-about-wrap > .top-service02_design .servise02-title {
  position: relative;
  z-index: 1;
}

.renew-main .top-about-wrap > .top-service02_design .servise02-title::before {
  content: counter(renew-main-service, decimal-leading-zero);
  position: absolute;
  left: calc(56% + 12px);
  top: 50%;
  transform: translateY(-80%);
  font-size: clamp(100px, 15vw, 200px);
  font-weight: 700;
  line-height: 1;
  color: rgba(0, 0, 0, 0.08);
  letter-spacing: 0.02em;
  z-index: -1;
  pointer-events: none;
  white-space: nowrap;
}

@media (max-width: 798px) {
  .renew-main .top-about-wrap > .top-service02_design .servise02-title::before {
    font-size: clamp(64px, 22vw, 120px);
    left: calc(100% + 8px);
  }
}
/*=======================
サイドボタン 新デザイン
※ contact-side-renew の中だけに適用
=======================*/

.contact-side-renew {
  width: 268px;
  background: #fff;
  border: 1px solid #222;
  box-shadow: none;
  z-index: 1000;
}

/* 赤い見出し */
.contact-side-renew::before {
  content: "お問い合わせ / CONTACT";
  display: block;
  background: var(--main-color);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 14px 18px;
}

/* レイアウト調整 */
.contact-side-renew .lay-row {
  display: block;
  margin: 0;
}

.contact-side-renew .lay-col12-xs-12 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 各ブロック */
.contact-side-renew .side-copy,
.contact-side-renew .side-seizu {
  display: block;
  width: auto;
  margin: 0;
  padding: 18px 18px 16px;
  background: #fff;
  color: #111;
  text-align: left;
  box-shadow: none;
  border-bottom: 1px solid #ddd;
}

/* 最後のブロックは線なし */
.contact-side-renew .lay-col12-xs-12:last-child .side-copy,
.contact-side-renew .lay-col12-xs-12:last-child .side-seizu {
  border-bottom: none;
}

/* タイトル */
.contact-side-renew .side-copy span,
.contact-side-renew .side-seizu span {
  display: block !important;
  width: auto !important;
  margin: 0 0 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.02em;
}

/* 電話番号 */
.contact-side-renew .tel-contact-icon,
.contact-side-renew .side-copy .tel-contact-icon,
.contact-side-renew .side-seizu .tel-contact-icon {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #ef3129 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
}

/* 電話アイコンがある場合は非表示 */
.contact-side-renew .tel-contact-icon::before {
  display: none !important;
}

/* ボタン共通 */
.contact-side-renew .contact_form {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 10px;
  border: 1px solid #222;
  background: #fff;
  color: #111 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
}

/* 個人様・法人様 2つ並び */
.contact-side-renew .side-copy .contact_form {
  width: calc((90% - 8px) / 2);
}

.contact-side-renew .side-copy .contact_form + .contact_form {
  margin-left: 4px;
}

/* 機械設計・4D-WORKSのお問合せは横幅いっぱい */
.contact-side-renew .side-seizu .contact_form,
.contact-side-renew .side-copy02 .contact_form {
  width: 100%;
}

/* お問合せボタンの矢印 */
.contact-side-renew .side-seizu .contact_form::after,
.contact-side-renew .side-copy02 .contact_form::after {
  content: " →";
  margin-left: 4px;
}

/* 既存の色やアイコンの影響をリセット */
.contact-side-renew .side-copy02 {
  background: #fff;
}

.contact-side-renew .co-form02::before,
.contact-side-renew .side-seizu .tel-contact-icon::before {
  filter: none;
  display: none !important;
}

/* スマホでは非表示 */
@media (max-width: 798px) {
  .siteblock-upper .contact-side-renew {
    display: none !important;
  }
}
.top-mv02-opt1 .blogEntryIcon-act img {
  display: none;
}
.comming-soon {
  display: inline-block;
  position: relative;
  margin-inline: auto;
  padding: 0 36px 8px;
  color: var(--main-color);
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
  border-bottom: 2px solid var(--main-color);
  @media (max-width: 767px) {
    padding: 0 10px 8px;
  }
}

.comming-soon::before,
.comming-soon::after {
  content: "";
  position: absolute;
  top: 0;
  width: 24px;
  height: 18px;
  background:
    linear-gradient(var(--main-color), var(--main-color)) 4px 8px / 12px 2px no-repeat,
    linear-gradient(var(--main-color), var(--main-color)) 6px 0 / 12px 2px no-repeat;
}

.comming-soon::before {
  left: 0;
  transform: rotate(65deg);
  @media (max-width: 767px) {
    transform: translateX(-40px) rotate(65deg);
  }
}
.comming-soon::after {
  right: 0;
  transform: rotate(-65deg);
  @media (max-width: 767px) {
    transform: translateX(40px) rotate(-65deg);
  }
}
.top-contact__opt2 input.formConfiBu {
  background-color: var(--main-color) !important;
}
.top-contact__opt2 .mailForm {
  background: #fff;
  box-shadow: 0 8px 20px -5px rgba(0, 59, 112, 0.12);
  padding: 50px;
  @media (max-width: 767px) {
    padding: 20px;
  }
}
.top-contact__opt2 table {
  background: #fff;
}

.recruit-point__wrap {
  margin: 0 calc(50% - 50vw);
  background: #f9f9f9;
  padding: 60px 0;
  @media (max-width: 767px) {
    padding: 30px 25px;
  }
}
.recruit-point__inner {
  max-width: 1200px;
  margin: 0 auto;
   @media (min-width: 768px) and (max-width: 1000px) {
    padding: 0 15px;
   }
}
#recruit-tab ol li:nth-of-type(3) {
  padding-right: 0 !important;
  padding-left: 15px !important;
}
.recruit-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  box-shadow: 0 14px 32px rgba(0, 59, 112, 0.08);
}
.pagetemp-column2 {
  background: #fff;
}
.siteblock-main--column2 {
  background: #fff;
}
.siteblock-side {
  background: rgba(245, 151, 1, 0.03);
}
.top-contact__opt2 .service__text00 {
  background: #fff !important;
  color: #333 !important;
}
.kurohyoushi .lay-row {
  display: block;
}
.kurohyoushi .lay-col12-6 {
  max-width: 100%;
}
.kurohyoushi img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin-bottom: 20px;
}

/* #cms_control_panel {
  display: none !important;
} */

/* Mobile nav override (<=1000px) */
@media (max-width: 1000px) {
  .sitedesign-headernav-button {
    border-radius: 50% !important;
    height: 40px !important;
    padding: 19px 8px !important;
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 303 !important;
    width: 40px !important;
    display: block !important;
  }

  .sitedesign-headernav-buttonbar {
    transition: all 0.5s;
    background-color: #fff;
    display: block;
    height: 2px;
    position: relative;
    width: 24px;
  }

  .sitedesign-headernav-buttonbar::before,
  .sitedesign-headernav-buttonbar::after {
    transition: all 0.5s;
    background-color: #fff;
    content: "";
    height: 2px;
    position: absolute;
    width: 24px;
    left: 0;
  }

  .sitedesign-headernav-buttonbar::before {
    top: -8px;
    visibility: visible;
  }

  .sitedesign-headernav-buttonbar::after {
    top: 8px;
  }

  .sitedesign-headernav-group {
    height: 0;
    visibility: hidden;
  }

  .sitedesign-headernav-group > ul {
    display: none;
  }

  #sitedesign-headernav-input:checked ~ .sitedesign-headernav-group {
    background: #fff url("../images/bg_body.svg") no-repeat top right;
    background-size: 90% auto;
    height: 100vh;
    padding: 120px 32px 80px;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    visibility: visible;
    width: 100vw;
    z-index: 300;
  }

  #sitedesign-headernav-input:checked ~ .sitedesign-headernav-group > ul {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: auto;
    padding-bottom: 80px;
  }

  #sitedesign-headernav-input:checked ~ .sitedesign-headernav-button:hover span,
  #sitedesign-headernav-input:checked ~ .sitedesign-headernav-button span {
    background: transparent;
  }

  #sitedesign-headernav-input:checked ~ .sitedesign-headernav-button .sitedesign-headernav-buttonbar::before {
    transform: rotate(45deg) translate(6px, 6px);
  }

  #sitedesign-headernav-input:checked ~ .sitedesign-headernav-button .sitedesign-headernav-buttonbar::after {
    transform: rotate(-45deg) translate(6px, -6px);
  }

  .sitedesign-headernav-group li a,
  .sitedesign-headernav-group li div {
    display: block;
  }

  .sitedesign-headernav-group li.menu-level-0 + li.menu-level-0 {
    border-top: 2px solid #e5e5e5;
  }

  .sitedesign-headernav-group li.menu-level-0 > a,
  .sitedesign-headernav-group li.menu-level-0 > div {
    font-size: 1rem;
    font-weight: 700;
    padding: 16px 8px;
    display: block;
  }

  .sitedesign-headernav-group li.menu-level-0 > a > span,
  .sitedesign-headernav-group li.menu-level-0 > div > span {
    display: inline-block;
    margin-left: 16px;
    width: auto;
  }

  .sitedesign-headernav-group li.menu-level-0 > ul {
    padding-left: 16px;
    padding-bottom: 8px;
  }

  .sitedesign-headernav-group li.menu-level-0:last-child {
    padding-right: 0;
  }

  .sitedesign-headernav-group li.menu-level-0:last-child > a,
  .sitedesign-headernav-group li.menu-level-0:last-child > div {
    color: #fff;
    display: flex;
    justify-content: center;
    margin: 32px 0 0 0;
    padding: 16px;
    height: auto;
    width: 100%;
  }

  .sitedesign-headernav-group li.menu-level-0:last-child > a::before,
  .sitedesign-headernav-group li.menu-level-0:last-child > a::after,
  .sitedesign-headernav-group li.menu-level-0:last-child > div::before,
  .sitedesign-headernav-group li.menu-level-0:last-child > div::after {
    display: none;
  }

  .sitedesign-headernav-group li.menu-level-1 > a,
  .sitedesign-headernav-group li.menu-level-1 > div,
  .sitedesign-headernav-group li.menu-level-2 > a,
  .sitedesign-headernav-group li.menu-level-2 > div {
    color: #333;
    padding: 8px;
  }
}

/* Desktop nav override (>=1001px) */
@media (min-width: 1001px) {
  .sitedesign-headernav-button {
    display: none !important;
  }

  .sitedesign-headernav-group {
    height: auto;
    visibility: visible;
  }

  .sitedesign-headernav-group > ul {
    display: flex;
  }
}
/* ==============================
   募集要項テーブル
============================== */
@media (max-width: 767px) {
  .recruit-table,
  .recruit-table .cparts-editsite--table,
  .recruit-table .cparts-table-block,
  .recruit-table .lay-reset-child {
    width: 100%;
    max-width: 100%;
    overflow-x: visible;
  }

  .recruit-table table {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed;
    border-collapse: collapse;
  }

  .recruit-table tbody,
  .recruit-table tr,
  .recruit-table th,
  .recruit-table td {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .recruit-table th {
    padding: 12px 15px;
    text-align: left;
  }

  .recruit-table td {
    padding: 15px;
    line-height: 1.8;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .recruit-table td ul {
    margin: 0 0 10px;
    padding-left: 1.5em;
  }
}
#overhead {
   scroll-margin-top: 120px;
}
.siteblock-upper , .siteblock-bottom , .top-mv02-main , .siteblock-opt1 , .siteblock-opt2 , .siteblock-opt3 {
    @media (min-width: 768px) and (max-width: 1000px) {
      padding: 0 15px;
    }
}
