.elementor-5778 .elementor-element.elementor-element-2d7739e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5778 .elementor-element.elementor-element-352fe9f .wpcf7-form > p:not(:last-child){margin-bottom:0px;}.elementor-5778 .elementor-element.elementor-element-352fe9f .wpcf7-form .wpcf7-form-control-wrap.select-state{color:#666666;}.elementor-5778 .elementor-element.elementor-element-352fe9f .wpcf7-form .wpcf7-form-control-wrap.select-gender{color:#666666;}.elementor-5778 .elementor-element.elementor-element-352fe9f .wpcf7-form .wpcf7-form-control-wrap.accept-this-1{color:#666666;}.elementor-5778 .elementor-element.elementor-element-352fe9f .wpcf7-form .wpcf7-textarea{height:125px;display:block;}.elementor-5778 .elementor-element.elementor-element-352fe9f .wpcf7-form-control{margin-top:25px;}.elementor-5778 .elementor-element.elementor-element-352fe9f .wpcf7-form{margin-top:-25px;}.elementor-5778 .elementor-element.elementor-element-352fe9f .wpcf7-form p:has(.wpcf7-submit){text-align:left;}@media(max-width:767px){.elementor-5778 .elementor-element.elementor-element-2d7739e{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for bdt-contact-form-7, class: .elementor-element-352fe9f *//* ==========================================================
   J-CREATE
   COATING ORDER
   CF7 / ELEMENTOR CONFLICT SAFE
========================================================== */


/* ==========================================================
   00. LOCAL RESET
========================================================== */

.jc-coating-order,
.jc-coating-order *,
.jc-coating-order *::before,
.jc-coating-order *::after{
  box-sizing:border-box;
}


.jc-coating-order{
  position:relative;

  overflow:hidden;

  width:100%;

  padding-top:
    var(--jc-section-space,110px);

  padding-bottom:
    var(--jc-section-space,110px);

  background:#fff;

  font-family:
    var(
      --jc-font,
      "Noto Sans JP",
      "Yu Gothic",
      "YuGothic",
      "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      Meiryo,
      sans-serif
    );

  color:
    var(--jc-text,#202c31);
}


/* ==========================================================
   01. CF7 AUTO P / BR RESET
========================================================== */

/*
   Contact Form 7 が改行から作る br を
   レイアウト用Flex/Grid内では完全に無効化
*/

.jc-coating-order
.jc-order-group__head br,

.jc-coating-order
.jc-order-label-row br,

.jc-coating-order
.jc-product-row__qty br,

.jc-coating-order
.jc-product-row__heading br,

.jc-coating-order
.jc-product-row__content-inner br,

.jc-coating-order
.jc-products-summary br{
  display:none !important;
}


/*
   CF7がpでラップしても、
   Grid / Flexの子構造を壊さない
*/

.jc-coating-order
.jc-order-group__head > p,

.jc-coating-order
.jc-order-label-row > p,

.jc-coating-order
.jc-product-row__qty > p,

.jc-coating-order
.jc-product-row__heading > p{
  display:contents !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;

  line-height:inherit !important;
}


/*
   完全な空段落
*/

.jc-coating-order
.jc-order-group__head p:empty,

.jc-coating-order
.jc-order-label-row p:empty,

.jc-coating-order
.jc-product-row__qty p:empty{
  display:none !important;

  margin:0 !important;
  padding:0 !important;
}


/* ==========================================================
   02. BACKGROUND
========================================================== */

.jc-coating-order::before{
  content:"";

  position:absolute;
  z-index:0;

  top:-180px;
  right:-150px;

  width:430px;
  height:720px;

  background:
    linear-gradient(
      180deg,
      rgba(0,166,81,.05) 0%,
      rgba(0,166,81,.012) 100%
    );

  transform:
    skewX(-11deg);

  pointer-events:none;
}


.jc-coating-order > .jc-container{
  position:relative;

  z-index:2;
}


/* ==========================================================
   03. HERO
========================================================== */

.jc-coating-order__hero{
  max-width:850px;

  margin:
    0 auto 54px;

  text-align:center;
}


.jc-coating-order__eyebrow{
  display:flex !important;

  align-items:center !important;
  justify-content:center !important;

  gap:12px;

  margin:
    0 0 20px !important;

  padding:0 !important;

  color:
    var(--jc-green,#00a651);

  font-size:10px;
  font-weight:700;

  line-height:1 !important;

  letter-spacing:.16em;
}


.jc-coating-order__eyebrow::before,
.jc-coating-order__eyebrow::after{
  content:"";

  display:block;

  flex:
    0 0 30px;

  width:30px;
  height:1px;

  background:
    rgba(0,166,81,.55);
}


html body
.jc-coating-order
h1.jc-coating-order__title{
  margin:0 !important;
  padding:0 !important;

  color:
    var(--jc-dark,#1f2a30) !important;

  font-family:
    var(--jc-font) !important;

  font-size:
    clamp(
      34px,
      3vw,
      46px
    ) !important;

  font-weight:700 !important;

  line-height:1.45 !important;

  letter-spacing:.01em !important;

  text-align:center !important;
}


.jc-coating-order__subtitle{
  margin:
    14px 0 0 !important;

  padding:0 !important;

  color:
    var(--jc-green,#00a651);

  font-size:13px;
  font-weight:700;

  line-height:1.7 !important;

  letter-spacing:.04em;
}


.jc-coating-order__intro{
  max-width:680px;

  margin:
    24px auto 0 !important;

  padding:0 !important;

  color:
    var(--jc-text-sub,#505b60);

  font-size:14px;

  line-height:2 !important;
}


.jc-coating-order__intro strong{
  color:
    var(--jc-dark,#1f2a30);

  font-weight:700;
}


/* ==========================================================
   04. PRODUCT SECTION
========================================================== */

.jc-products{
  margin-bottom:54px;
}


.jc-products__head{
  display:flex;

  align-items:flex-end;
  justify-content:space-between;

  gap:35px;

  margin-bottom:25px;
}


.jc-products__label{
  display:block;

  margin:
    0 0 8px;

  padding:0;

  color:
    var(--jc-green,#00a651);

  font-size:9px;
  font-weight:700;

  line-height:1;

  letter-spacing:.14em;
}


.jc-products__title{
  margin:0 !important;
  padding:0 !important;

  color:
    var(--jc-dark,#1f2a30) !important;

  font-size:24px !important;
  font-weight:700 !important;

  line-height:1.5 !important;
}


.jc-products__help{
  max-width:480px;

  margin:0;

  color:
    var(--jc-text-light,#727b80);

  font-size:11.5px;

  line-height:1.8;

  text-align:right;
}


/* ==========================================================
   05. PRODUCT LIST
========================================================== */

.jc-products__list{
  display:grid;

  grid-template-columns:1fr;

  gap:14px;
}


/* ==========================================================
   06. PRODUCT ROW
========================================================== */

.jc-product-row{
  position:relative;

  display:grid;

  grid-template-columns:
    150px
    minmax(0,1fr)
    175px;

  min-width:0;

  overflow:hidden;

  background:#fff;

  border:
    1px solid
    rgba(0,166,81,.13);

  box-shadow:
    0 8px 25px
    rgba(20,52,38,.035);

  cursor:pointer;

  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    transform .25s ease,
    background .25s ease;
}


.jc-product-row::before{
  content:"";

  position:absolute;
  z-index:6;

  top:0;
  left:0;

  width:4px;
  height:100%;

  background:
    rgba(0,166,81,.22);

  transition:
    width .25s ease,
    background .25s ease;
}


@media (hover:hover){

  .jc-product-row:hover{
    transform:
      translateY(-2px);

    border-color:
      rgba(0,166,81,.25);

    box-shadow:
      0 14px 34px
      rgba(20,52,38,.06);
  }

}


.jc-product-row.is-selected{
  background:#fbfefc;

  border-color:
    rgba(0,166,81,.48);

  box-shadow:
    0 12px 34px
    rgba(0,166,81,.07);
}


.jc-product-row.is-selected::before{
  background:
    var(--jc-green,#00a651);
}


/* ==========================================================
   07. PRODUCT IMAGE
========================================================== */

.jc-product-row__image{
  position:relative;

  display:flex;

  align-items:center;
  justify-content:center;

  min-width:0;
  min-height:132px;

  overflow:hidden;

  padding:
    12px
    14px;

  background:#fff;

  border-right:
    1px solid
    rgba(0,166,81,.10);
}


.jc-product-row__image img{
  display:block;

  width:auto;
  height:auto;

  max-width:100%;
  max-height:108px;

  object-fit:contain;
  object-position:center center;

  margin:auto;

  transition:
    transform .4s ease;
}


@media (hover:hover){

  .jc-product-row:hover
  .jc-product-row__image img{
    transform:
      scale(1.025);
  }

}


/* ==========================================================
   PRODUCT NUMBER
========================================================== */

html body
.jc-coating-order
span.jc-product-row__number{
  position:absolute !important;

  top:12px !important;
  left:12px !important;

  right:auto !important;
  bottom:auto !important;

  display:grid !important;

  place-items:center !important;

  width:32px !important;
  height:32px !important;

  min-width:32px !important;
  min-height:32px !important;

  max-width:32px !important;
  max-height:32px !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;
  border-radius:0 !important;

  background:
    rgba(255,255,255,.92) !important;

  color:
    var(--jc-green,#00a651) !important;

  font-family:
    var(--jc-font) !important;

  font-size:9px !important;
  font-weight:700 !important;

  line-height:1 !important;

  letter-spacing:.07em !important;

  text-align:center !important;

  text-indent:0 !important;

  vertical-align:middle !important;

  float:none !important;

  transform:none !important;

  box-shadow:none !important;
}


/* ==========================================================
   08. PRODUCT CONTENT
========================================================== */

.jc-product-row__content{
  position:relative;

  min-width:0;

  display:flex;

  align-items:center;

  padding:
    18px
    24px;
}


.jc-product-row__content-inner{
  display:grid;

  grid-template-columns:
    minmax(170px,.42fr)
    minmax(0,1fr);

  align-items:center;

  gap:26px;

  width:100%;
}


.jc-product-row__heading{
  display:flex;

  align-items:center;

  min-width:0;

  gap:12px;
}


.jc-product-row__check{
  position:relative;

  flex:
    0 0 24px;

  width:24px;
  height:24px;

  border:
    1px solid
    rgba(0,166,81,.28);

  background:#fff;

  transition:
    background .2s ease,
    border-color .2s ease;
}


.jc-product-row__check::after{
  content:"";

  position:absolute;

  top:5px;
  left:8px;

  width:6px;
  height:10px;

  border-right:
    2px solid #fff;

  border-bottom:
    2px solid #fff;

  opacity:0;

  transform:
    rotate(45deg);
}


.jc-product-row.is-selected
.jc-product-row__check{
  background:
    var(--jc-green,#00a651);

  border-color:
    var(--jc-green,#00a651);
}


.jc-product-row.is-selected
.jc-product-row__check::after{
  opacity:1;
}


.jc-product-row__name{
  margin:0 !important;

  color:
    var(--jc-dark,#1f2a30) !important;

  font-size:22px !important;
  font-weight:700 !important;

  line-height:1.25 !important;
}


.jc-product-row__tag{
  display:block;

  margin:
    5px 0 0;

  color:
    var(--jc-green,#00a651);

  font-size:8px;
  font-weight:700;

  line-height:1.3;

  letter-spacing:.11em;
}


.jc-product-row__description{
  min-width:0;

  margin:0;

  padding-left:24px;

  border-left:
    1px solid
    rgba(0,166,81,.12);

  color:
    var(--jc-text-sub,#505b60);

  font-size:11.8px;

  line-height:1.75;
}


/* ==========================================================
   09. QUANTITY
========================================================== */

.jc-product-row__order{
  display:flex;

  flex-direction:column;
  justify-content:center;

  min-width:0;

  padding:
    16px
    18px;

  background:
    rgba(244,251,247,.7);

  border-left:
    1px solid
    rgba(0,166,81,.10);
}


.jc-product-row__unit{
  display:block;

  margin:
    0 0 6px;

  color:
    var(--jc-dark,#1f2a30);

  font-size:11px;
  font-weight:700;

  line-height:1.5;
}


.jc-product-row__unit-note{
  display:block;

  margin:
    0 0 8px;

  color:
    var(--jc-text-light,#727b80);

  font-size:9.5px;

  line-height:1.5;
}


/* QUANTITY WRAPPER */

html body
.jc-coating-order
.jc-product-row__qty{
  display:flex !important;

  align-items:stretch !important;

  flex-wrap:nowrap !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;
}


html body
.jc-coating-order
.jc-product-row__qty
.wpcf7-form-control-wrap{
  display:flex !important;

  align-items:stretch !important;

  flex:
    1 1 auto !important;

  width:auto !important;

  margin:0 !important;
  padding:0 !important;

  line-height:1 !important;
}


/* NUMBER INPUT */

html body
.jc-coating-order
.jc-product-row__qty
input[type="number"]{
  display:block !important;

  width:100% !important;
  height:42px !important;

  margin:0 !important;

  padding:
    8px
    10px !important;

  border:
    1px solid
    #d9e4df !important;

  border-radius:0 !important;

  outline:none;

  background:#fff !important;

  color:
    var(--jc-dark,#1f2a30) !important;

  font-family:
    var(--jc-font) !important;

  font-size:16px !important;
  font-weight:700 !important;

  line-height:1 !important;

  text-align:center !important;

  vertical-align:middle !important;

  box-shadow:none;
}


/* 本 */

html body
.jc-coating-order
span.jc-product-row__qty-label{
  position:static !important;

  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;

  display:grid !important;

  place-items:center !important;

  align-self:stretch !important;

  flex:
    0 0 42px !important;

  width:42px !important;
  height:42px !important;

  min-width:42px !important;
  min-height:42px !important;

  max-width:42px !important;
  max-height:42px !important;

  margin:0 !important;
  padding:0 !important;

  background:#edf6f1 !important;

  border-top:
    1px solid
    #d9e4df !important;

  border-right:
    1px solid
    #d9e4df !important;

  border-bottom:
    1px solid
    #d9e4df !important;

  border-left:0 !important;

  color:
    var(--jc-dark,#1f2a30) !important;

  font-family:
    var(--jc-font) !important;

  font-size:11px !important;
  font-weight:700 !important;

  line-height:1 !important;

  text-align:center !important;

  text-indent:0 !important;

  vertical-align:middle !important;

  float:none !important;

  transform:none !important;

  box-shadow:none !important;
}


.jc-product-row__qty
input[type="number"]:focus{
  border-color:
    rgba(0,166,81,.65) !important;

  box-shadow:
    0 0 0 3px
    rgba(0,166,81,.055) !important;
}


/* ==========================================================
   10. SUMMARY
========================================================== */

.jc-products-summary{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    340px;

  align-items:stretch;

  gap:0;

  margin-top:22px;

  padding:0;

  overflow:hidden;

  background:#f4fbf7;

  border:
    1px solid
    rgba(0,166,81,.14);
}


.jc-products-summary__text{
  display:flex;

  align-items:center;

  min-width:0;

  margin:0;

  padding:
    24px
    28px;

  color:
    var(--jc-text-sub,#505b60);

  font-size:12px;

  line-height:1.9;
}


.jc-products-summary__total{
  display:flex;

  align-items:baseline;
  justify-content:center;

  flex-wrap:nowrap;

  gap:8px;

  min-width:0;

  padding:
    22px
    24px;

  background:
    rgba(255,255,255,.72);

  border-left:
    1px solid
    rgba(0,166,81,.13);

  color:
    var(--jc-dark,#1f2a30);

  font-size:13px;
  font-weight:700;

  line-height:1;

  white-space:nowrap;
}


.jc-products-summary__total strong{
  display:inline-block;

  margin:0;

  color:
    var(--jc-green,#00a651);

  font-size:30px;
  font-weight:700;

  line-height:1;

  letter-spacing:-.02em;
}


/* ==========================================================
   11. HIDDEN PRODUCTS
========================================================== */

.jc-products-hidden{
  position:absolute !important;

  width:1px !important;
  height:1px !important;

  overflow:hidden !important;

  clip:
    rect(0,0,0,0) !important;

  white-space:nowrap !important;
}


/* ==========================================================
   12. FORM PANEL
========================================================== */

.jc-order-panel{
  position:relative;

  padding:
    56px
    58px
    60px;

  background:#fff;

  border:
    1px solid
    rgba(0,166,81,.12);

  box-shadow:
    0 18px 55px
    rgba(20,52,38,.055);
}


.jc-order-panel::before{
  content:"";

  position:absolute;

  top:0;
  left:0;

  width:84px;
  height:4px;

  background:
    var(--jc-green,#00a651);
}


/* ==========================================================
   13. FORM GROUP
========================================================== */

.jc-order-group{
  margin:0;
  padding:0;
}


.jc-order-group +
.jc-order-group{
  margin-top:58px;

  padding-top:50px;

  border-top:
    1px solid
    rgba(0,166,81,.12);
}


/* ==========================================================
   14. GROUP HEAD
========================================================== */

html body
.jc-coating-order
.jc-order-group__head{
  position:relative !important;

  display:grid !important;

  grid-template-columns:
    46px
    minmax(0,1fr) !important;

  grid-template-rows:
    auto !important;

  align-items:center !important;

  justify-items:start !important;

  column-gap:18px !important;
  row-gap:0 !important;

  width:100% !important;

  min-height:46px !important;

  margin:
    0 0 34px !important;

  padding:0 !important;

  border:0 !important;

  text-align:left !important;

  transform:none !important;
}


/* CF7 generated children */

html body
.jc-coating-order
.jc-order-group__head > p{
  display:contents !important;

  margin:0 !important;
  padding:0 !important;
}


html body
.jc-coating-order
.jc-order-group__head > br{
  display:none !important;
}


/* TEXT AREA */

html body
.jc-coating-order
.jc-order-group__head > div{
  position:static !important;

  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;

  grid-column:2 !important;
  grid-row:1 !important;

  display:flex !important;

  align-items:center !important;

  justify-content:flex-start !important;

  align-self:center !important;

  width:auto !important;

  min-height:46px !important;

  margin:0 !important;
  padding:0 !important;

  float:none !important;

  transform:none !important;
}


/* ==========================================================
   15. 01 / 02 / 03
   完全中央固定
========================================================== */

html body
.jc-coating-order
span.jc-order-group__number{
  position:static !important;

  inset:auto !important;

  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;

  grid-column:1 !important;
  grid-row:1 !important;

  display:grid !important;

  place-items:center !important;

  align-items:center !important;
  justify-items:center !important;

  align-self:center !important;
  justify-self:start !important;

  flex:none !important;

  width:46px !important;
  height:46px !important;

  min-width:46px !important;
  min-height:46px !important;

  max-width:46px !important;
  max-height:46px !important;

  margin:0 !important;

  padding:
    0 !important;

  border:0 !important;

  border-radius:0 !important;

  background:
    var(--jc-green,#00a651) !important;

  color:#fff !important;

  font-family:
    var(--jc-font) !important;

  font-size:11px !important;
  font-weight:700 !important;

  font-style:normal !important;

  line-height:1 !important;

  letter-spacing:.08em !important;

  text-align:center !important;

  text-indent:0 !important;

  vertical-align:middle !important;

  white-space:nowrap !important;

  float:none !important;

  transform:none !important;

  box-shadow:none !important;
}


html body
.jc-coating-order
span.jc-order-group__en{
  display:none !important;

  position:static !important;

  margin:0 !important;
  padding:0 !important;

  transform:none !important;
}


html body
.jc-coating-order
h2.jc-order-group__title{
  position:static !important;

  margin:0 !important;
  padding:0 !important;

  color:
    var(--jc-dark,#1f2a30) !important;

  font-family:
    var(--jc-font) !important;

  font-size:20px !important;
  font-weight:700 !important;

  line-height:1.5 !important;

  letter-spacing:0 !important;

  text-align:left !important;

  transform:none !important;
}


/* ==========================================================
   16. FORM GRID
========================================================== */

.jc-order-grid{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  column-gap:34px;
  row-gap:30px;
}


.jc-order-field{
  min-width:0;

  margin:0;
  padding:0;
}


.jc-order-field--full{
  grid-column:
    1 / -1;
}


/* ==========================================================
   17. LABEL ROW
========================================================== */

html body
.jc-coating-order
.jc-order-label-row{
  position:relative !important;

  display:flex !important;

  align-items:center !important;
  justify-content:flex-start !important;

  flex-wrap:nowrap !important;

  gap:10px !important;

  width:100% !important;
  min-height:20px !important;

  margin:
    0 0 10px !important;

  padding:0 !important;

  border:0 !important;

  line-height:20px !important;

  transform:none !important;
}


html body
.jc-coating-order
.jc-order-label-row > br{
  display:none !important;
}


html body
.jc-coating-order
.jc-order-label-row > p{
  display:contents !important;

  margin:0 !important;
  padding:0 !important;
}


/* LABEL */

html body
.jc-coating-order
label.jc-order-label{
  position:static !important;

  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;

  display:block !important;

  align-self:center !important;

  flex:
    0 1 auto !important;

  width:auto !important;
  height:auto !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;

  color:
    var(--jc-dark,#1f2a30) !important;

  font-family:
    var(--jc-font) !important;

  font-size:13px !important;
  font-weight:700 !important;

  line-height:20px !important;

  text-align:left !important;

  vertical-align:middle !important;

  float:none !important;

  transform:none !important;
}


/* ==========================================================
   18. REQUIRED / OPTIONAL
   完全中央固定
========================================================== */

html body
.jc-coating-order
span.jc-order-required,

html body
.jc-coating-order
span.jc-order-optional{
  position:static !important;

  inset:auto !important;

  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;

  display:inline-grid !important;

  place-items:center !important;

  align-items:center !important;
  justify-items:center !important;

  align-self:center !important;

  flex:
    0 0 auto !important;

  width:auto !important;

  min-width:38px !important;

  height:20px !important;
  min-height:20px !important;
  max-height:20px !important;

  margin:0 !important;

  padding:
    0 7px !important;

  border:0 !important;
  border-radius:0 !important;

  font-family:
    var(--jc-font) !important;

  font-size:9px !important;
  font-weight:700 !important;

  font-style:normal !important;

  line-height:1 !important;

  letter-spacing:.04em !important;

  text-align:center !important;

  text-indent:0 !important;

  vertical-align:middle !important;

  white-space:nowrap !important;

  float:none !important;

  transform:none !important;

  box-shadow:none !important;
}


html body
.jc-coating-order
span.jc-order-required{
  background:
    rgba(0,166,81,.09) !important;

  color:
    var(--jc-green,#00a651) !important;
}


html body
.jc-coating-order
span.jc-order-optional{
  background:
    #f0f3f1 !important;

  color:
    #84908b !important;
}


/* ==========================================================
   19. HELP
========================================================== */

.jc-order-help{
  margin:
    -3px 0 10px !important;

  padding:0 !important;

  color:
    var(--jc-text-light,#727b80);

  font-size:11px;

  line-height:1.7;
}


/* ==========================================================
   20. CF7 WRAPPER
========================================================== */

.jc-coating-order
.wpcf7-form-control-wrap{
  display:block !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;
}


/* ==========================================================
   21. INPUT
========================================================== */

.jc-coating-order input[type="text"],
.jc-coating-order input[type="email"],
.jc-coating-order input[type="tel"],
.jc-coating-order select,
.jc-coating-order textarea{
  display:block;

  width:100% !important;

  margin:0 !important;

  padding:
    15px
    16px !important;

  border:
    1px solid
    #dce5e1 !important;

  border-radius:0 !important;

  outline:none;

  background:
    #fbfcfb !important;

  color:
    var(--jc-dark,#1f2a30) !important;

  font-family:
    var(--jc-font) !important;

  font-size:14px;

  line-height:1.6;

  box-shadow:none;

  transition:
    border-color .22s ease,
    background .22s ease,
    box-shadow .22s ease;
}


.jc-coating-order input[type="text"],
.jc-coating-order input[type="email"],
.jc-coating-order input[type="tel"],
.jc-coating-order select{
  min-height:54px;
}


.jc-coating-order textarea{
  min-height:190px;

  resize:vertical;
}


.jc-coating-order ::placeholder{
  color:#9ca7a2;

  opacity:1;
}


.jc-coating-order input:focus,
.jc-coating-order select:focus,
.jc-coating-order textarea:focus{
  border-color:
    rgba(0,166,81,.65) !important;

  background:#fff !important;

  box-shadow:
    0 0 0 3px
    rgba(0,166,81,.055) !important;
}


/* ==========================================================
   22. FILE
========================================================== */

.jc-coating-order
input[type="file"]{
  width:100%;

  padding:16px;

  background:#f7faf8;

  border:
    1px dashed
    rgba(0,166,81,.28);

  color:
    var(--jc-text-sub,#505b60);

  font-family:
    var(--jc-font);

  font-size:12px;
}


/* ==========================================================
   23. PRIVACY
========================================================== */

.jc-order-privacy{
  margin-top:46px;

  padding:
    24px
    26px;

  background:#f7faf8;

  border-top:
    1px solid
    rgba(0,166,81,.13);

  border-bottom:
    1px solid
    rgba(0,166,81,.13);
}


.jc-coating-order
.wpcf7-acceptance
.wpcf7-list-item{
  display:block;

  margin:0 !important;
}


.jc-coating-order
.wpcf7-acceptance label{
  display:flex !important;

  align-items:flex-start !important;

  margin:0 !important;

  cursor:pointer;
}


.jc-coating-order
.wpcf7-acceptance input{
  flex:
    0 0 auto;

  width:17px;
  height:17px;

  margin:
    3px
    10px
    0
    0 !important;

  accent-color:
    var(--jc-green,#00a651);
}


.jc-coating-order
.wpcf7-acceptance
.wpcf7-list-item-label{
  color:
    var(--jc-text-sub,#505b60);

  font-size:12px;

  line-height:1.8;
}


.jc-order-privacy a{
  color:
    var(--jc-green,#00a651);

  text-decoration:underline;

  text-underline-offset:3px;
}


/* ==========================================================
   24. SUBMIT
========================================================== */

.jc-order-submit{
  margin-top:34px;

  text-align:center;
}


.jc-order-submit__inner{
  position:relative;

  display:inline-block;

  width:
    min(
      100%,
      440px
    );
}


.jc-coating-order
input[type="submit"]{
  width:100%;

  min-height:66px;

  padding:
    17px
    62px
    17px
    30px;

  border:0;

  border-radius:0;

  background:
    var(--jc-green,#00a651);

  color:#fff;

  font-family:
    var(--jc-font);

  font-size:14px;
  font-weight:700;

  line-height:1.4;

  letter-spacing:.04em;

  cursor:pointer;

  transition:
    background .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}


.jc-order-submit__inner::after{
  content:"";

  position:absolute;

  top:50%;
  right:28px;

  width:9px;
  height:9px;

  border-top:
    1px solid #fff;

  border-right:
    1px solid #fff;

  transform:
    translateY(-50%)
    rotate(45deg);

  pointer-events:none;
}


@media (hover:hover){

  .jc-coating-order
  input[type="submit"]:hover{
    background:#008f46;

    transform:
      translateY(-2px);

    box-shadow:
      0 12px 26px
      rgba(0,166,81,.18);
  }

}


.jc-order-submit__note{
  margin:
    14px 0 0;

  color:
    var(--jc-text-light,#727b80);

  font-size:10.5px;

  line-height:1.8;
}


/* ==========================================================
   25. VALIDATION
========================================================== */

.jc-coating-order
.wpcf7-not-valid-tip{
  margin-top:7px;

  color:#c94b4b;

  font-size:11px;
}


.jc-coating-order
.wpcf7-response-output{
  margin:
    28px 0 0 !important;

  padding:
    16px
    18px !important;

  border:
    1px solid
    rgba(0,166,81,.25) !important;

  background:#f5fbf7;

  color:
    var(--jc-dark,#1f2a30);

  font-size:12px;

  line-height:1.8;
}


/* ==========================================================
   26. ELEMENTOR / THEME HARD RESET
========================================================== */

/*
   今回の重要部分。

   Elementor / テーマから
   span / label に position / top / transform /
   margin / padding が入っても無効化。
*/

html body
.elementor
.jc-coating-order
span.jc-order-group__number,

html body
.elementor
.jc-coating-order
span.jc-order-required,

html body
.elementor
.jc-coating-order
span.jc-order-optional,

html body
.elementor
.jc-coating-order
span.jc-product-row__qty-label{
  float:none !important;

  margin:0 !important;

  text-indent:0 !important;

  vertical-align:middle !important;

  transform:none !important;
}


html body
.elementor
.jc-coating-order
span.jc-order-group__number,

html body
.elementor
.jc-coating-order
span.jc-order-required,

html body
.elementor
.jc-coating-order
span.jc-order-optional{
  top:auto !important;

  right:auto !important;

  bottom:auto !important;

  left:auto !important;
}


html body
.elementor
.jc-coating-order
.jc-order-label-row{
  align-items:center !important;

  line-height:20px !important;
}


html body
.elementor
.jc-coating-order
.jc-order-group__head{
  align-items:center !important;
}


/* ==========================================================
   27. TABLET
========================================================== */

@media
(min-width:768px)
and
(max-width:1100px){

  .jc-coating-order{
    padding-top:
      var(--jc-section-space-tablet,86px);

    padding-bottom:
      var(--jc-section-space-tablet,86px);
  }


  .jc-coating-order__title{
    font-size:34px !important;
  }


  .jc-product-row{
    grid-template-columns:
      130px
      minmax(0,1fr)
      160px;
  }


  .jc-product-row__content{
    padding:
      16px
      18px;
  }


  .jc-product-row__content-inner{
    grid-template-columns:
      minmax(145px,.42fr)
      minmax(0,1fr);

    gap:18px;
  }


  .jc-product-row__name{
    font-size:19px !important;
  }


  .jc-product-row__description{
    padding-left:18px;

    font-size:11.2px;
  }


  .jc-product-row__order{
    padding:
      14px
      15px;
  }


  .jc-products-summary{
    grid-template-columns:
      minmax(0,1fr)
      300px;
  }


  .jc-products-summary__text{
    padding:
      21px
      22px;
  }


  .jc-products-summary__total{
    padding:
      20px
      18px;

    gap:7px;
  }


  .jc-products-summary__total strong{
    font-size:27px;
  }


  .jc-order-panel{
    padding:
      44px
      38px
      48px;
  }

}


/* ==========================================================
   28. SMARTPHONE
========================================================== */

@media (max-width:767px){

  .jc-coating-order{
    padding-top:
      var(--jc-section-space-mobile,64px);

    padding-bottom:
      var(--jc-section-space-mobile,64px);
  }


  .jc-coating-order::before{
    top:-80px;
    right:-110px;

    width:220px;
    height:500px;
  }


  .jc-coating-order__hero{
    margin-bottom:38px;
  }


  .jc-coating-order__eyebrow{
    margin-bottom:16px !important;

    font-size:9px;
  }


  html body
  .elementor
  .jc-coating-order
  h1.jc-coating-order__title,

  html body
  .jc-coating-order
  h1.jc-coating-order__title{
    font-size:27px !important;

    line-height:1.45 !important;

    text-align:center !important;
  }


  .jc-coating-order__subtitle{
    font-size:12px;
  }


  .jc-coating-order__intro{
    margin-top:19px !important;

    font-size:13.5px;

    line-height:1.95;
  }


  /* PRODUCTS HEADER */

  .jc-products__head{
    display:block;

    margin-bottom:20px;
  }


  .jc-products__title{
    font-size:21px !important;
  }


  .jc-products__help{
    margin-top:9px;

    text-align:left;
  }


  /* ========================================================
     PRODUCT
  ======================================================== */

  .jc-product-row{
    grid-template-columns:1fr;

    grid-template-areas:
      "heading"
      "image"
      "description"
      "order";
  }


  .jc-product-row__content,
  .jc-product-row__content-inner{
    display:contents;
  }


  .jc-product-row__heading{
    grid-area:heading;

    align-items:center;

    gap:8px;

    padding:
      14px
      14px
      11px;
  }


  .jc-product-row__name{
    font-size:17px !important;

    line-height:1.2 !important;
  }


  .jc-product-row__tag{
    margin-top:4px;

    font-size:6.8px;

    letter-spacing:.08em;
  }


  .jc-product-row__check{
    flex-basis:20px;

    width:20px;
    height:20px;
  }


  .jc-product-row__check::after{
    top:3px;
    left:6px;

    width:6px;
    height:10px;
  }


  /* IMAGE */

  .jc-product-row__image{
    grid-area:image;

    display:flex;

    align-items:center;
    justify-content:center;

    width:100%;
    min-height:200px;

    padding:
      16px
      20px;

    background:#fff;

    border-right:0;

    border-top:
      1px solid
      rgba(0,166,81,.08);

    border-bottom:
      1px solid
      rgba(0,166,81,.08);
  }


  .jc-product-row__image img{
    display:block;

    width:auto;
    height:auto;

    max-width:
      min(
        82%,
        260px
      );

    max-height:180px;

    object-fit:contain;

    object-position:center center;

    margin:auto;
  }


  html body
  .jc-coating-order
  span.jc-product-row__number{
    top:10px !important;
    left:12px !important;

    width:29px !important;
    height:29px !important;

    min-width:29px !important;
    min-height:29px !important;

    max-width:29px !important;
    max-height:29px !important;

    font-size:8px !important;
  }


  /* DESCRIPTION */

  .jc-product-row__description{
    grid-area:description;

    margin:0;

    padding:
      13px
      14px
      14px
      42px;

    border-left:0;

    color:
      var(--jc-text-sub,#505b60);

    font-size:10.5px;

    line-height:1.7;
  }


  /* ORDER */

  .jc-product-row__order{
    grid-area:order;

    padding:
      10px
      14px
      13px
      42px;

    background:#fff;

    border-left:0;

    border-top:
      1px solid
      rgba(0,166,81,.09);
  }


  .jc-product-row__unit-note{
    display:none;
  }


  .jc-product-row__unit{
    margin-bottom:7px;

    font-size:9.5px;
  }


  html body
  .jc-coating-order
  .jc-product-row__qty{
    max-width:122px;
  }


  html body
  .jc-coating-order
  .jc-product-row__qty
  input[type="number"]{
    height:38px !important;

    font-size:14px !important;
  }


  html body
  .jc-coating-order
  span.jc-product-row__qty-label{
    flex:
      0 0 38px !important;

    width:38px !important;
    height:38px !important;

    min-width:38px !important;
    min-height:38px !important;

    max-width:38px !important;
    max-height:38px !important;

    padding:0 !important;

    font-size:10px !important;
  }


  /* SUMMARY */

  .jc-products-summary{
    display:grid;

    grid-template-columns:1fr;

    margin-top:18px;

    padding:0;
  }


  .jc-products-summary__text{
    display:block;

    padding:
      18px
      18px
      17px;

    font-size:11px;

    line-height:1.8;
  }


  .jc-products-summary__total{
    display:flex;

    align-items:baseline;
    justify-content:center;

    flex-wrap:nowrap;

    gap:7px;

    width:100%;

    padding:
      18px
      14px;

    background:
      rgba(255,255,255,.72);

    border-left:0;

    border-top:
      1px solid
      rgba(0,166,81,.13);

    font-size:12px;

    white-space:nowrap;
  }


  .jc-products-summary__total strong{
    font-size:28px;
  }


  /* ========================================================
     FORM
  ======================================================== */

  .jc-order-panel{
    padding:
      34px
      20px
      38px;
  }


  .jc-order-group +
  .jc-order-group{
    margin-top:42px;

    padding-top:38px;
  }


  html body
  .jc-coating-order
  .jc-order-group__head{
    grid-template-columns:
      40px
      minmax(0,1fr) !important;

    column-gap:13px !important;

    min-height:40px !important;

    margin-bottom:26px !important;
  }


  html body
  .jc-coating-order
  .jc-order-group__head > div{
    min-height:40px !important;
  }


  html body
  .jc-coating-order
  span.jc-order-group__number{
    width:40px !important;
    height:40px !important;

    min-width:40px !important;
    min-height:40px !important;

    max-width:40px !important;
    max-height:40px !important;

    margin:0 !important;
    padding:0 !important;

    font-size:10px !important;
  }


  html body
  .jc-coating-order
  h2.jc-order-group__title{
    font-size:18px !important;

    line-height:1.4 !important;
  }


  html body
  .jc-coating-order
  .jc-order-label-row{
    min-height:20px !important;

    align-items:center !important;
  }


  html body
  .jc-coating-order
  label.jc-order-label{
    line-height:20px !important;
  }


  html body
  .jc-coating-order
  span.jc-order-required,

  html body
  .jc-coating-order
  span.jc-order-optional{
    min-width:38px !important;

    height:20px !important;
    min-height:20px !important;
    max-height:20px !important;

    margin:0 !important;

    padding:
      0 7px !important;

    font-size:9px !important;

    line-height:1 !important;
  }


  .jc-order-grid{
    grid-template-columns:1fr;

    gap:24px;
  }


  .jc-order-field--full{
    grid-column:auto;
  }


  .jc-order-privacy{
    margin-top:34px;

    padding:
      20px
      18px;
  }


  .jc-coating-order textarea{
    min-height:170px;
  }

}


/* ==========================================================
   29. SMALL MOBILE
========================================================== */

@media (max-width:550px){

  .jc-coating-order{
    padding-top:
      var(--jc-section-space-small,58px);

    padding-bottom:
      var(--jc-section-space-small,58px);
  }


  html body
  .elementor
  .jc-coating-order
  h1.jc-coating-order__title,

  html body
  .jc-coating-order
  h1.jc-coating-order__title{
    font-size:25px !important;
  }


  .jc-product-row{
    grid-template-columns:1fr;
  }


  .jc-product-row__heading{
    padding:
      13px
      12px
      10px;
  }


  .jc-product-row__name{
    font-size:16px !important;
  }


  .jc-product-row__image{
    min-height:190px;

    padding:
      14px
      16px;
  }


  .jc-product-row__image img{
    max-width:
      min(
        85%,
        250px
      );

    max-height:170px;
  }


  .jc-product-row__description{
    margin:0;

    padding:
      12px
      12px
      13px
      40px;

    border-left:0;

    font-size:10px;
  }


  .jc-product-row__order{
    padding:
      9px
      12px
      12px
      40px;
  }


  html body
  .jc-coating-order
  span.jc-product-row__number{
    top:8px !important;
    left:8px !important;

    width:27px !important;
    height:27px !important;

    min-width:27px !important;
    min-height:27px !important;

    max-width:27px !important;
    max-height:27px !important;

    font-size:8px !important;
  }


  html body
  .jc-coating-order
  .jc-product-row__qty{
    max-width:122px;
  }


  html body
  .jc-coating-order
  .jc-product-row__qty
  input[type="number"]{
    height:38px !important;
  }


  html body
  .jc-coating-order
  span.jc-product-row__qty-label{
    flex:
      0 0 38px !important;

    width:38px !important;
    height:38px !important;

    min-width:38px !important;
    min-height:38px !important;

    max-width:38px !important;
    max-height:38px !important;

    padding:0 !important;
  }


  .jc-products-summary__text{
    padding:
      16px
      15px;

    font-size:10.5px;
  }


  .jc-products-summary__total{
    gap:6px;

    padding:
      17px
      10px;

    font-size:11px;
  }


  .jc-products-summary__total strong{
    font-size:27px;
  }


  .jc-order-panel{
    padding:
      30px
      17px
      34px;
  }


  .jc-coating-order input[type="text"],
  .jc-coating-order input[type="email"],
  .jc-coating-order input[type="tel"],
  .jc-coating-order select,
  .jc-coating-order textarea{
    font-size:16px;
  }

}


/* ==========================================================
   30. EXTRA SMALL
========================================================== */

@media (max-width:390px){

  html body
  .elementor
  .jc-coating-order
  h1.jc-coating-order__title,

  html body
  .jc-coating-order
  h1.jc-coating-order__title{
    font-size:23px !important;
  }


  .jc-products-summary__total{
    gap:5px;

    padding:
      16px
      8px;

    font-size:10.5px;
  }


  .jc-products-summary__total strong{
    font-size:25px;
  }


  html body
  .jc-coating-order
  span.jc-order-required,

  html body
  .jc-coating-order
  span.jc-order-optional{
    min-width:36px !important;

    height:20px !important;

    padding:
      0 6px !important;
  }

}/* End custom CSS */