.elementor-kit-442{--e-global-color-primary:#3E4F6D;--e-global-color-secondary:#009CDC;--e-global-color-text:#015E9E;--e-global-color-accent:#01294A;--e-global-color-89a6303:#00AEA9;--e-global-color-fffed7d:#999999;--e-global-color-5aa91da:#E5E5E9;--e-global-color-3c12020:#FFFFFF;--e-global-color-55df270:#7F7F7F;--e-global-color-c75c7d4:#000000;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:none;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:none;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:none;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );}.elementor-kit-442 a{text-transform:none;}.elementor-kit-442 h1{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );}.elementor-kit-442 h2{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );}.elementor-kit-442 h3{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );}.elementor-kit-442 h4{font-family:"Montserrat", Sans-serif;}.elementor-kit-442 h5{font-family:"Montserrat", Sans-serif;}.elementor-kit-442 h6{font-family:"Montserrat", Sans-serif;}.elementor-kit-442 button,.elementor-kit-442 input[type="button"],.elementor-kit-442 input[type="submit"],.elementor-kit-442 .elementor-button{background-color:#02010100;}.elementor-kit-442 button:hover,.elementor-kit-442 button:focus,.elementor-kit-442 input[type="button"]:hover,.elementor-kit-442 input[type="button"]:focus,.elementor-kit-442 input[type="submit"]:hover,.elementor-kit-442 input[type="submit"]:focus,.elementor-kit-442 .elementor-button:hover,.elementor-kit-442 .elementor-button:focus{background-color:#02010100;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-bottom:20px;}.elementor-element{--widgets-spacing:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-442 e-page-transition{background-color:#FFBC7D;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}

/* Custom 2026 - section background color reshuffling */

/* これからの仕事 sub: white -> Green (with white text) */
.elementor-element-ffcc0ab:not(.elementor-motion-effects-element-type-background),
.elementor-540 .elementor-element.elementor-element-ffcc0ab > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--e-global-color-89a6303) !important;
}
.elementor-element-ffcc0ab .elementor-heading-title,
.elementor-element-ffcc0ab p,
.elementor-element-ffcc0ab p strong {
  color: #FFFFFF !important;
}

/* Shvets: Green -> White (with Dark Blue text) */
.elementor-element-480186c:not(.elementor-motion-effects-element-type-background),
.elementor-540 .elementor-element.elementor-element-480186c > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #FFFFFF !important;
}
.elementor-element-480186c .elementor-heading-title,
.elementor-element-480186c p,
.elementor-element-480186c .elementor-widget-heading > .elementor-widget-container > div {
  color: var(--e-global-color-accent) !important;
}


/* これからの仕事 lead: white -> Green (with white text) */
.elementor-element-35f1c77:not(.elementor-motion-effects-element-type-background),
.elementor-540 .elementor-element.elementor-element-35f1c77 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--e-global-color-89a6303) !important;
}
.elementor-element-35f1c77 .elementor-heading-title,
.elementor-element-35f1c77 p,
.elementor-element-35f1c77 p strong {
  color: #FFFFFF !important;
}


/* Shvets: blockquote-card treatment (left border + box-shadow) */
.elementor-540 .elementor-element.elementor-element-480186c > .elementor-container {
  max-width: 900px;
  margin: 40px auto;
  padding: 60px 70px;
  background: #FFFFFF;
  border-left: 4px solid var(--e-global-color-primary);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  border-radius: 2px;
}


/* Shvets: quote icon & divider color (was white, invisible on white bg) */
.elementor-540 .elementor-element.elementor-element-ee0fb73.elementor-view-default .elementor-icon,
.elementor-540 .elementor-element.elementor-element-ee0fb73 .elementor-icon {
  color: var(--e-global-color-primary) !important;
}
.elementor-540 .elementor-element.elementor-element-918d5e3 {
  --divider-color: var(--e-global-color-primary) !important;
}


/* JP Hero <br>: hide on narrow mobile to avoid orphan line */
@media (max-width: 480px) {
  .hero-br { display: none; }
}


/* Concept Section 4: Apple-style fan composition for product screenshots */

/* App screenshots: 5 phones in an arc, center largest & frontmost */
.product-gallery-app {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 60px 0 40px 0;
  padding: 30px 0;
  min-height: 580px;
  perspective: 1500px;
}
.product-gallery-app img {
  flex: 0 0 auto;
  border-radius: 32px;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.10);
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), z-index 0s linear 0.4s;
  will-change: transform;
}
.product-gallery-app img:nth-child(1) {
  transform: rotate(-14deg) translate(40px, 30px);
  height: 380px;
  z-index: 1;
}
.product-gallery-app img:nth-child(2) {
  transform: rotate(-7deg) translate(20px, 10px);
  height: 440px;
  margin-left: -90px;
  z-index: 2;
}
.product-gallery-app img:nth-child(3) {
  transform: rotate(0deg);
  height: 520px;
  margin-left: -110px;
  z-index: 3;
}
.product-gallery-app img:nth-child(4) {
  transform: rotate(7deg) translate(-20px, 10px);
  height: 440px;
  margin-left: -110px;
  z-index: 2;
}
.product-gallery-app img:nth-child(5) {
  transform: rotate(14deg) translate(-40px, 30px);
  height: 380px;
  margin-left: -90px;
  z-index: 1;
}
/* Hover: bring to front and straighten */
.product-gallery-app img:hover {
  transform: rotate(0deg) translateY(-20px) scale(1.05);
  z-index: 10;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Tablet */
@media (max-width: 1024px) {
  .product-gallery-app { min-height: 460px; }
  .product-gallery-app img:nth-child(1) { height: 300px; transform: rotate(-14deg) translate(30px, 20px); }
  .product-gallery-app img:nth-child(2) { height: 350px; margin-left: -70px; transform: rotate(-7deg) translate(15px, 8px); }
  .product-gallery-app img:nth-child(3) { height: 420px; margin-left: -85px; }
  .product-gallery-app img:nth-child(4) { height: 350px; margin-left: -85px; transform: rotate(7deg) translate(-15px, 8px); }
  .product-gallery-app img:nth-child(5) { height: 300px; margin-left: -70px; transform: rotate(14deg) translate(-30px, 20px); }
}
/* Mobile — vertical stagger fallback (5 phones tilted, stacked) */
@media (max-width: 768px) {
  .product-gallery-app {
    flex-direction: column;
    align-items: center;
    min-height: auto;
    margin: 40px 0 30px 0;
    padding: 20px 0;
  }
  .product-gallery-app img {
    height: 360px !important;
    width: auto !important;
    margin: -30px 0 !important;
  }
  .product-gallery-app img:nth-child(1) { transform: rotate(-4deg) translateX(-40px) !important; z-index: 5; }
  .product-gallery-app img:nth-child(2) { transform: rotate(3deg) translateX(40px) !important; z-index: 4; }
  .product-gallery-app img:nth-child(3) { transform: rotate(-2deg) translateX(-30px) !important; z-index: 3; }
  .product-gallery-app img:nth-child(4) { transform: rotate(4deg) translateX(40px) !important; z-index: 2; }
  .product-gallery-app img:nth-child(5) { transform: rotate(-3deg) translateX(-30px) !important; z-index: 1; }
  .product-gallery-app img:hover { transform: none !important; }
}

/* Hub web screenshots: 2 cards overlapping with slight tilt — larger */
.product-gallery-hub {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 90px 0 70px 0;
  padding: 50px 0;
  min-height: 900px;
  perspective: 1500px;
}
.product-gallery-hub img {
  flex: 0 0 auto;
  border-radius: 14px;
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.20), 0 10px 18px rgba(0, 0, 0, 0.10);
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.product-gallery-hub img:nth-child(1) {
  transform: rotate(-4deg) translate(60px, 40px);
  width: 82%;
  max-width: 1100px;
  z-index: 1;
}
.product-gallery-hub img:nth-child(2) {
  transform: rotate(4deg) translate(-60px, -40px);
  width: 82%;
  max-width: 1100px;
  margin-left: -480px;
  z-index: 2;
}
.product-gallery-hub img:hover {
  transform: rotate(0deg) translateY(-12px) scale(1.03);
  z-index: 10;
}

@media (max-width: 1280px) {
  .product-gallery-hub { min-height: 760px; }
  .product-gallery-hub img { width: 85%; max-width: 920px; }
  .product-gallery-hub img:nth-child(2) { margin-left: -400px; }
}
@media (max-width: 1024px) {
  .product-gallery-hub { min-height: 600px; }
  .product-gallery-hub img { width: 88%; max-width: 760px; }
  .product-gallery-hub img:nth-child(2) { margin-left: -340px; }
}
@media (max-width: 768px) {
  .product-gallery-hub {
    flex-direction: column;
    align-items: center;
    min-height: auto;
    margin: 50px 0 40px 0;
  }
  .product-gallery-hub img {
    width: 95% !important;
    max-width: 640px !important;
    margin: -30px 0 !important;
  }
  .product-gallery-hub img:nth-child(1) { transform: rotate(-3deg) !important; z-index: 2; }
  .product-gallery-hub img:nth-child(2) { transform: rotate(3deg) translateY(20px) !important; z-index: 1; }
  .product-gallery-hub img:hover { transform: none !important; }
}
