.elementor-10 .elementor-element.elementor-element-885708b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-d5b5599 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-a8adae0{--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-10 .elementor-element.elementor-element-3d572e5{--spacer-size:50px;}.elementor-10 .elementor-element.elementor-element-a106f68{--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-10 .elementor-element.elementor-element-a106f68:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-a106f68 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-10 .elementor-element.elementor-element-3649c5a{--display:flex;}.elementor-10 .elementor-element.elementor-element-d994adf{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-10 .elementor-element.elementor-element-dc1fa65{--spacer-size:20px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-10 .elementor-element.elementor-element-921f58b > .elementor-widget-container{margin:5px 0px 0px 0px;}.elementor-10 .elementor-element.elementor-element-921f58b{text-align:center;}.elementor-10 .elementor-element.elementor-element-921f58b .elementor-heading-title{text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:var( --e-global-color-text );}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-10 .elementor-element.elementor-element-6bc2971{--divider-border-style:solid;--divider-color:var( --e-global-color-text );--divider-border-width:1px;}.elementor-10 .elementor-element.elementor-element-6bc2971 .elementor-divider-separator{width:20%;margin:0 auto;margin-center:0;}.elementor-10 .elementor-element.elementor-element-6bc2971 .elementor-divider{text-align:center;padding-block-start:0px;padding-block-end:0px;}.elementor-10 .elementor-element.elementor-element-028b287 > .elementor-widget-container{margin:0px 0px 5px 0px;}.elementor-10 .elementor-element.elementor-element-028b287{text-align:center;}.elementor-10 .elementor-element.elementor-element-028b287 .elementor-heading-title{text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:var( --e-global-color-text );}.elementor-10 .elementor-element.elementor-element-22cf0e6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-10 .elementor-element.elementor-element-fa26b85{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-10 .elementor-element.elementor-element-185c0c5{text-align:center;}.elementor-10 .elementor-element.elementor-element-185c0c5 .elementor-heading-title{color:var( --e-global-color-nvdarkbg );}.elementor-10 .elementor-element.elementor-element-185c0c5 .elementor-heading-title a:hover, .elementor-10 .elementor-element.elementor-element-185c0c5 .elementor-heading-title a:focus{color:var( --e-global-color-secondary );}.elementor-10 .elementor-element.elementor-element-480b336{text-align:center;}.elementor-10 .elementor-element.elementor-element-480b336 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-10 .elementor-element.elementor-element-480b336 .elementor-heading-title a:hover, .elementor-10 .elementor-element.elementor-element-480b336 .elementor-heading-title a:focus{color:var( --e-global-color-secondary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-10 .elementor-element.elementor-element-930b395{font-family:"Klee One", Sans-serif;font-weight:400;letter-spacing:1.7px;}.elementor-10 .elementor-element.elementor-element-b999a65{--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-10 .elementor-element.elementor-element-9bb2717{text-align:center;}.elementor-10 .elementor-element.elementor-element-9bb2717 .elementor-heading-title{color:var( --e-global-color-nvdarkbg );}.elementor-10 .elementor-element.elementor-element-9bb2717 .elementor-heading-title a:hover, .elementor-10 .elementor-element.elementor-element-9bb2717 .elementor-heading-title a:focus{color:var( --e-global-color-secondary );}.elementor-10 .elementor-element.elementor-element-5624cfb{text-align:center;}.elementor-10 .elementor-element.elementor-element-5624cfb .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-10 .elementor-element.elementor-element-5624cfb .elementor-heading-title a:hover, .elementor-10 .elementor-element.elementor-element-5624cfb .elementor-heading-title a:focus{color:var( --e-global-color-secondary );}.elementor-10 .elementor-element.elementor-element-2c3c02b{font-family:"Klee One", Sans-serif;font-weight:400;letter-spacing:1.7px;}.elementor-10 .elementor-element.elementor-element-18d6066{--display:flex;}.elementor-10 .elementor-element.elementor-element-907f1db{text-align:center;}.elementor-10 .elementor-element.elementor-element-907f1db .elementor-heading-title{color:var( --e-global-color-nvdarkbg );}.elementor-10 .elementor-element.elementor-element-907f1db .elementor-heading-title a:hover, .elementor-10 .elementor-element.elementor-element-907f1db .elementor-heading-title a:focus{color:var( --e-global-color-secondary );}.elementor-10 .elementor-element.elementor-element-0591fa0{text-align:center;}.elementor-10 .elementor-element.elementor-element-0591fa0 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-10 .elementor-element.elementor-element-0591fa0 .elementor-heading-title a:hover, .elementor-10 .elementor-element.elementor-element-0591fa0 .elementor-heading-title a:focus{color:var( --e-global-color-secondary );}.elementor-10 .elementor-element.elementor-element-bcc0b28{font-family:"Klee One", Sans-serif;font-weight:400;letter-spacing:1.7px;}.elementor-10 .elementor-element.elementor-element-0d96a56{--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-10 .elementor-element.elementor-element-7f82d48{--spacer-size:10px;}.elementor-10 .elementor-element.elementor-element-5284cfd{--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-10 .elementor-element.elementor-element-5284cfd:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-5284cfd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-10 .elementor-element.elementor-element-81d0f07{--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-10 .elementor-element.elementor-element-b5e1835{--spacer-size:50px;}@media(max-width:767px){.elementor-10 .elementor-element.elementor-element-d5b5599 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:30px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-d5b5599 *//* ベース共通 */
.btn-cta {
  font-family: 'Klee One', cursive;
  font-size: 16px;
  letter-spacing: 0.15em;
  text-decoration: none;
  color: #fff;
  border: none;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 56px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: color 0.4s ease, box-shadow 0.4s ease;
  cursor: pointer;

  /* ふんわり表示 */
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s ease, transform 0.7s ease,
              color 0.4s ease, box-shadow 0.4s ease;
}

.btn-cta.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 色違い */
.btn-soudan { background-color: #232322; }
.btn-ryokin { background-color: #888; }

/* スライドホバー */
.btn-cta::before {
  content: '';
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition: right 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  z-index: -1;
}
.btn-cta:hover::before { right: 0; }
.btn-soudan:hover { color: #232322; box-shadow: 0 0 0 2px #232322; }
.btn-ryokin:hover { color: #888;    box-shadow: 0 0 0 2px #888; }

/* レイアウト */
.button-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

/* ふんわり時差 */
.btn-soudan { transition-delay: 0s; }
.btn-ryokin { transition-delay: 0.15s; }

@media (max-width: 768px) {
  .btn-cta {
    width: 140px;
    height: 48px;
    font-size: 13px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-eb32e69 *//* ========================================
   ボタン共通CSS
   ======================================== */

.af-fixed-btn-area {
  display: flex;
  justify-content: center;
  margin-top: 80px !important;
  padding: 0 20px 40px;
}
.af-btn-fixed-size {
  font-family: 'Klee One', cursive !important;
  font-size: 16px !important;
  letter-spacing: 0.15em !important;
  text-decoration: none !important;
  color: #ffffff !important;
  background-color: #232322 !important;
  border: none !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 260px !important;
  height: 56px !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
  transition: color 0.4s ease, box-shadow 0.4s ease !important;
}
.af-btn-fixed-size::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  right: 100% !important;
  width: 100% !important;
  height: 100% !important;
  background-color: #EDEDED !important;
  transition: right 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  z-index: -1 !important;
}
.af-btn-fixed-size:hover {
  color: #232322 !important;
  box-shadow: 0 0 0 1px #c8c8c8 !important;
}
.af-btn-fixed-size:hover::before { right: 0 !important; }

/* --- af-btn-capsule-solid（考え方を見る） --- */
.af-no-border-area {
  display: flex;
  justify-content: center;
  margin-top: -30px !important;
  padding: 20px;
}
.af-btn-capsule-solid {
  font-family: 'Klee One', cursive !important;
  font-size: 16px !important;
  letter-spacing: 0.15em !important;
  text-decoration: none !important;
  color: #ffffff !important;
  background-color: #232322 !important;
  border: none !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 260px !important;
  height: 56px !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
  transition: color 0.4s ease, box-shadow 0.4s ease !important;
}
.af-btn-capsule-solid::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  right: 100% !important;
  width: 100% !important;
  height: 100% !important;
  background-color: #EDEDED !important;
  transition: right 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  z-index: -1 !important;
}
.af-btn-capsule-solid:hover {
  color: #232322 !important;
  box-shadow: 0 0 0 1px #c8c8c8 !important;
}
.af-btn-capsule-solid:hover::before { right: 0 !important; }

/* --- .btn（事例を見る・相談する） --- */
.button-container {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 0px;
}
.btn {
  font-family: 'Klee One', cursive !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0.15em !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 260px !important;
  height: 56px !important;
  padding: 0 !important;
  cursor: pointer;
  opacity: 0;
  animation: fadeIn 0.5s ease-out 0.5s forwards;
  position: relative !important;
  overflow: hidden !important;
  z-index: 1 !important;
  transition: color 0.4s ease, box-shadow 0.4s ease !important;
}
.btn::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  right: 100% !important;
  width: 100% !important;
  height: 100% !important;
  transition: right 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  z-index: -1 !important;
}
.btn-contact,
.btn-estimate {
  background: #232322 !important;
  color: #fff !important;
}
.btn-contact::before,
.btn-estimate::before {
  background: #EDEDED !important;
}
.btn-contact:hover,
.btn-estimate:hover {
  color: #232322 !important;
  box-shadow: 0 0 0 1px #c8c8c8 !important;
}
.btn-contact:hover::before,
.btn-estimate:hover::before { right: 0 !important; }

.af-epilogue__cta { margin-top: 32px; }

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ========================================
   スマホ（768px以下）
   ======================================== */
@media (max-width: 768px) {
  .af-fixed-btn-area {margin-top:-20px!important; }

  .af-btn-fixed-size,
  .af-btn-capsule-solid,
  .btn {
    width: 200px !important;
    height: 52px !important;
    padding: 0 !important;
  }

  .button-container {
    flex-direction: column;
    gap: 15px;
    margin-top: 30px;
    align-items: center;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9cd697d *//* 画像リンクの共通スタイル */
.af-workLink{ display:block; text-decoration:none; color:inherit; }
.af-workImg{ display:block; position:relative; overflow:hidden; }
.af-workImg img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #f2f2f2;
  transition: transform .7s ease;
}

/* 白い膜（初期）→ hoverで黒膜：膜は画像だけ */
.af-workImg::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,0.35);
  transition: background .7s ease;
  pointer-events:none;
}

.af-workLink:hover .af-workImg::after{
  background: rgba(0,0,0,0.35);
}
.af-workLink:hover .af-workImg img{
  transform: scale(1.02);
}

/* キーボード操作対応 */
.af-workLink:focus-visible{
  outline: 2px solid rgba(0,0,0,0.25);
  outline-offset: 6px;
}
.af-workLink:focus-visible .af-workImg::after{
  background: rgba(0,0,0,0.35);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-537e60a *//* 画像リンクの共通スタイル */
.af-workLink{ display:block; text-decoration:none; color:inherit; }
.af-workImg{ display:block; position:relative; overflow:hidden; }
.af-workImg img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #f2f2f2;
  transition: transform .7s ease;
}

/* 白い膜（初期）→ hoverで黒膜：膜は画像だけ */
.af-workImg::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,0.35);
  transition: background .7s ease;
  pointer-events:none;
}

.af-workLink:hover .af-workImg::after{
  background: rgba(0,0,0,0.35);
}
.af-workLink:hover .af-workImg img{
  transform: scale(1.02);
}

/* キーボード操作対応 */
.af-workLink:focus-visible{
  outline: 2px solid rgba(0,0,0,0.25);
  outline-offset: 6px;
}
.af-workLink:focus-visible .af-workImg::after{
  background: rgba(0,0,0,0.35);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3c175bc *//* 画像リンクの共通スタイル */
.af-workLink{ display:block; text-decoration:none; color:inherit; }
.af-workImg{ display:block; position:relative; overflow:hidden; }
.af-workImg img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #f2f2f2;
  transition: transform .7s ease;
}

/* 白い膜（初期）→ hoverで黒膜：膜は画像だけ */
.af-workImg::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,0.35);
  transition: background .7s ease;
  pointer-events:none;
}

.af-workLink:hover .af-workImg::after{
  background: rgba(0,0,0,0.35);
}
.af-workLink:hover .af-workImg img{
  transform: scale(1.02);
}

/* キーボード操作対応 */
.af-workLink:focus-visible{
  outline: 2px solid rgba(0,0,0,0.25);
  outline-offset: 6px;
}
.af-workLink:focus-visible .af-workImg::after{
  background: rgba(0,0,0,0.35);
}/* End custom CSS */