.elementor-7 .elementor-element.elementor-element-c42f601{--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-7 .elementor-element.elementor-element-f278ecc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-57b53609{--display:flex;--min-height:70vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-7 .elementor-element.elementor-element-57b53609:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-57b53609 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-7 .elementor-element.elementor-element-19de8dec{--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:flex-start;--gap:35px 35px;--row-gap:35px;--column-gap:35px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:5%;}.elementor-7 .elementor-element.elementor-element-19de8dec.e-con{--flex-grow:0;--flex-shrink:0;}.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-7 .elementor-element.elementor-element-68c54565{text-align:start;}.elementor-7 .elementor-element.elementor-element-68c54565 .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:70px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1em;letter-spacing:2px;word-spacing:0em;color:#444444;}.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-7 .elementor-element.elementor-element-552a7612{text-align:start;font-size:42px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:2px;word-spacing:0em;color:#FF7BAC;}.elementor-7 .elementor-element.elementor-element-76c98e4{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:justify;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:2px;word-spacing:0em;color:#444444;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-7 .elementor-element.elementor-element-7a1dafba .elementor-button{background-color:#7BA7A200;font-family:"Poppins", Sans-serif;font-size:14px;font-weight:500;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:5px;word-spacing:0em;fill:#000000;color:#000000;border-style:solid;border-width:1px 1px 1px 1px;border-color:#000000;border-radius:50px 50px 50px 50px;padding:15px 50px 15px 50px;}.elementor-7 .elementor-element.elementor-element-7a1dafba .elementor-button:hover, .elementor-7 .elementor-element.elementor-element-7a1dafba .elementor-button:focus{background-color:#FFFFFF00;}.elementor-widget-image .widget-image-caption{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 );}.elementor-7 .elementor-element.elementor-element-2c821296{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;}.elementor-7 .elementor-element.elementor-element-2c821296.elementor-element{--align-self:center;--order:99999 /* order end hack */;--flex-grow:1;--flex-shrink:0;}.elementor-7 .elementor-element.elementor-element-2c821296 img{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-c386769{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-7 .elementor-element.elementor-element-c386769.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-7 .elementor-element.elementor-element-f26032c{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-a8c9e6b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-7 .elementor-element.elementor-element-a8c9e6b:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-a8c9e6b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2B2B2B;}.elementor-7 .elementor-element.elementor-element-b7eabb9{--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:flex-start;--gap:35px 35px;--row-gap:35px;--column-gap:35px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-7 .elementor-element.elementor-element-b7eabb9.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-7 .elementor-element.elementor-element-73bf97e{text-align:start;}.elementor-7 .elementor-element.elementor-element-73bf97e .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:70px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1em;letter-spacing:2px;word-spacing:0em;color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-0e4a013{text-align:start;font-size:45px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:2px;word-spacing:0em;color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-cd1a19a{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:justify;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:2px;word-spacing:0em;color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-873e2c1 .elementor-button{background-color:#7BA7A200;font-family:"Poppins", Sans-serif;font-size:14px;font-weight:500;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:5px;word-spacing:0em;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFF;border-radius:50px 50px 50px 50px;padding:15px 50px 15px 50px;}.elementor-7 .elementor-element.elementor-element-873e2c1 .elementor-button:hover, .elementor-7 .elementor-element.elementor-element-873e2c1 .elementor-button:focus{background-color:#FFFFFF00;}.elementor-7 .elementor-element.elementor-element-873e2c1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-278f5cc{width:var( --container-widget-width, 70% );max-width:70%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:70%;--container-widget-flex-grow:0;}.elementor-7 .elementor-element.elementor-element-278f5cc.elementor-element{--align-self:center;--order:99999 /* order end hack */;--flex-grow:1;--flex-shrink:0;}.elementor-7 .elementor-element.elementor-element-278f5cc img{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-4c803a2{--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-7 .elementor-element.elementor-element-64b776d{padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-273b5f95{--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;--align-items:stretch;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-273b5f95:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-273b5f95 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#f2f2f2;}.elementor-7 .elementor-element.elementor-element-c3426c0{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-7 .elementor-element.elementor-element-c3426c0 img{width:19%;}.elementor-7 .elementor-element.elementor-element-ef107c1{margin:-30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:justify;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:2px;word-spacing:0em;color:#444444;}.elementor-7 .elementor-element.elementor-element-5c9bc951{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-65631ab5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-58ed78fe{text-align:center;}.elementor-7 .elementor-element.elementor-element-58ed78fe .elementor-heading-title{font-size:13px;font-weight:400;letter-spacing:2px;color:#444444;}@media(max-width:1024px){.elementor-7 .elementor-element.elementor-element-57b53609{--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;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:10%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}.elementor-7 .elementor-element.elementor-element-19de8dec{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0%;--padding-bottom:0%;--padding-left:10%;--padding-right:10%;}.elementor-7 .elementor-element.elementor-element-68c54565{text-align:center;}.elementor-7 .elementor-element.elementor-element-68c54565 .elementor-heading-title{font-size:45px;line-height:1.1em;letter-spacing:0px;word-spacing:0em;}.elementor-7 .elementor-element.elementor-element-552a7612{text-align:center;font-size:20px;}.elementor-7 .elementor-element.elementor-element-76c98e4{text-align:center;font-size:20px;}.elementor-7 .elementor-element.elementor-element-7a1dafba .elementor-button{font-size:14px;}.elementor-7 .elementor-element.elementor-element-2c821296{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-a8c9e6b{--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;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:10%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}.elementor-7 .elementor-element.elementor-element-b7eabb9{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0%;--padding-bottom:0%;--padding-left:10%;--padding-right:10%;}.elementor-7 .elementor-element.elementor-element-73bf97e{text-align:center;}.elementor-7 .elementor-element.elementor-element-73bf97e .elementor-heading-title{font-size:45px;line-height:1.1em;letter-spacing:0px;word-spacing:0em;}.elementor-7 .elementor-element.elementor-element-0e4a013{text-align:center;font-size:20px;}.elementor-7 .elementor-element.elementor-element-cd1a19a{text-align:center;font-size:20px;}.elementor-7 .elementor-element.elementor-element-873e2c1 .elementor-button{font-size:14px;}.elementor-7 .elementor-element.elementor-element-278f5cc{width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-273b5f95{--padding-top:30px;--padding-bottom:30px;--padding-left:20px;--padding-right:20px;}.elementor-7 .elementor-element.elementor-element-ef107c1{text-align:center;font-size:20px;}}@media(max-width:767px){.elementor-7 .elementor-element.elementor-element-57b53609{--padding-top:15%;--padding-bottom:15%;--padding-left:5%;--padding-right:5%;}.elementor-7 .elementor-element.elementor-element-19de8dec{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-68c54565{text-align:start;}.elementor-7 .elementor-element.elementor-element-68c54565 .elementor-heading-title{font-size:2.5em;letter-spacing:1.2px;}.elementor-7 .elementor-element.elementor-element-552a7612{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0% 0% 0% 0%;font-size:30px;line-height:1.3em;letter-spacing:1.2px;}.elementor-7 .elementor-element.elementor-element-76c98e4{padding:0% 0% 0% 0%;text-align:justify;font-size:16px;}.elementor-7 .elementor-element.elementor-element-7a1dafba .elementor-button{letter-spacing:5px;padding:15px 30px 15px 30px;}.elementor-7 .elementor-element.elementor-element-a8c9e6b{--padding-top:15%;--padding-bottom:15%;--padding-left:5%;--padding-right:5%;}.elementor-7 .elementor-element.elementor-element-b7eabb9{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-73bf97e .elementor-heading-title{font-size:32px;}.elementor-7 .elementor-element.elementor-element-0e4a013{font-size:26px;}.elementor-7 .elementor-element.elementor-element-cd1a19a{font-size:18px;}.elementor-7 .elementor-element.elementor-element-873e2c1 .elementor-button{font-size:14px;letter-spacing:5px;padding:15px 30px 15px 30px;}.elementor-7 .elementor-element.elementor-element-273b5f95{--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:25px;--padding-bottom:25px;--padding-left:20px;--padding-right:20px;}.elementor-7 .elementor-element.elementor-element-c3426c0{text-align:center;}.elementor-7 .elementor-element.elementor-element-c3426c0 img{width:40%;}.elementor-7 .elementor-element.elementor-element-ef107c1{font-size:18px;}.elementor-7 .elementor-element.elementor-element-5c9bc951{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-7 .elementor-element.elementor-element-65631ab5{--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-7 .elementor-element.elementor-element-58ed78fe{text-align:center;}.elementor-7 .elementor-element.elementor-element-58ed78fe .elementor-heading-title{line-height:19px;}}@media(min-width:768px){.elementor-7 .elementor-element.elementor-element-57b53609{--content-width:1140px;}.elementor-7 .elementor-element.elementor-element-19de8dec{--width:40%;}.elementor-7 .elementor-element.elementor-element-c386769{--width:100%;}.elementor-7 .elementor-element.elementor-element-a8c9e6b{--content-width:1140px;}.elementor-7 .elementor-element.elementor-element-b7eabb9{--width:40%;}.elementor-7 .elementor-element.elementor-element-65631ab5{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-7 .elementor-element.elementor-element-19de8dec{--width:100%;}.elementor-7 .elementor-element.elementor-element-b7eabb9{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-f278ecc *//* --- メインビジュアル全体のレイアウト --- */
.main-visual {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #ffffff;
  font-family: "Cinzel", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", serif;
  background-color: #000000; /* ★フラッシュ防止：下地を黒に固定 */
}

/* --- 背景スライドショーエリア --- */
.mv-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #000000; /* ★フラッシュ防止：スライドエリアも黒固定 */
}

.mv-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  /* ★フェード時間を2sに少し伸ばし、重なりを滑らかに */
  transition: opacity 2s ease-in-out, visibility 2s ease-in-out; 
}

/* アクティブなスライド */
.mv-slide.active {
  opacity: 1;
  visibility: visible;
}

/* --- スライド画像のアニメーション設定 --- */
.mv-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.65); /* ★画像をほんのりトーンダウンして切替時の明るさを抑える */
}

/* ★表示されたスライド（1枚目含む）にアニメーションを適用★ */
.mv-slide.active img {
  animation: mvZoom 7s ease-out forwards; /* ★動きを少し長め（7s）にしてゆったり見せる */
}

/* ★ゆっくりズームアウト（拡大→等倍）させる定義★ */
@keyframes mvZoom {
  0% {
    transform: scale(1.08); /* 読み込み直後は少し拡大された状態 */
  }
  100% {
    transform: scale(1);    /* 等倍へ戻る */
  }
}

/* --- 中央ロゴ（画像配置）エリア --- */
.mv-container {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 20px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.mv-logo {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 中央ロゴ画像 */
.mv-logo-img {
  width: 100%;
  max-width: 480px; /* PC表示時のロゴ最大幅 */
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.3)); /* 視認性を高めるシャドウ */
}

/* --- スクロール誘導 --- */
.mv-scroll {
  position: absolute;
  right: 30px;
  bottom: 40px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

.scroll-text {
  font-size: 0.75rem;
  font-family: "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
  text-transform: uppercase;
}

.scroll-line {
  width: 1px;
  height: 60px;
  background-color: rgba(255, 255, 255, 0.4);
  position: relative;
  overflow: hidden;
}

.scroll-line::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  animation: scrollDown 2s infinite ease-in-out;
}

@keyframes scrollDown {
  0% { transform: translateY(-100%); }
  50%, 100% { transform: translateY(100%); }
}

/* レスポンシブ（スマホ用サイズ調整） */
@media (max-width: 768px) {
  /* スマホ時のロゴ画像サイズ設定 */
  .mv-logo-img {
    max-width: 280px; /* スマホ画面に収まるよう縮小 */
  }

  .mv-scroll {
    right: 15px;
    bottom: 25px;
  }
  .scroll-line {
    height: 45px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f26032c *//* セクション全体（ピンク背景） */
.menu-section {
  background-color: #FF7BAC;
  padding: 60px 20px;
  box-sizing: border-box;
}

/* セクション見出し（Campany 会社を知る） */
.section-header {
  max-width: 1140px;
  margin: 0 auto 50px auto;
  display: flex;
  align-items: baseline;
  gap: 16px;
}

.section-title-en {
  color: #ffffff;
  font-size: 70px;
  font-weight: bold;
  margin: 0 ;
  line-height: 1;
  letter-spacing: 2px;
}

.section-title-ja {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 1px;
}

/* グリッド配置 */
.card-grid {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

/* カード基本構造 */
.card {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* 背景画像 */
.card-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* 黒透過マスク */
.card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
  z-index: 1;
  transition: background-color 0.3s ease;
}

.card:hover .card-overlay {
  background-color: rgba(0, 0, 0, 0.35);
}

/* カード内テキスト */
.card-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #ffffff;
  padding: 0 16px;
}

.title-en {
  color: #ffffff;
  font-size: 2.5rem !important;
  
  font-weight: 800;
  margin: 0 0 6px 0;
  letter-spacing:2px;
  line-height: 1.2;
}

.title-ja {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
  opacity: 0.95;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .section-title-en {
    font-size: 2.5rem;
  }
  
  .card-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .card {
    height: 180px;
  }

  .title-en {
    font-size: 1.8rem;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-64b776d *//* ==========================================
   Contact Heroセクション（画面幅いっぱい＋青色オーバーレイ）
========================================== */
.c-contact-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 120px 20px;
  /* 足場・建設現場の背景画像に深い青色のグラデーション（オーバーレイ）を透過で重ねる */
  background: linear-gradient(rgba(0, 50, 110, 0.6), rgba(0, 30, 80, 0.85)),
              url('http://ksinc.co.jp/wp-content/uploads/2026/07/contact_img-scaled.jpg') center center / cover no-repeat;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  box-sizing: border-box;
  overflow: hidden;
}

.c-contact-hero__inner {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* メイン見出し「Contact」 */
.c-contact-hero__title {
  color: #ffffff;
  font-size: 70px; /* 60px */
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0 0 24px 0;
  line-height: 1.1;
  letter-spacing:2px;
}

/* 説明文 */
.c-contact-hero__desc {
  font-size:17px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.95);
  margin: 0 0 40px 0;
}

/* カプセル型白枠線ボタン */
.c-contact-hero__btn-wrap {
  display: inline-block;
}

.c-contact-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  padding: 14px 36px;
  color: #ffffff;
  font-size: 14px; /* 14px */
  font-weight: 500;
  letter-spacing: 0.05em;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 50px; /* カプセル状の完全な丸み */
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.c-contact-hero__btn:hover {
  background-color: #ffffff;
  color: #00326e; /* ホバー時は文字色を濃い青に変更 */
  border-color: #ffffff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* ==========================================
   レスポンシブ (スマホ対応)
========================================== */
@media screen and (max-width: 768px) {
  .c-contact-hero {
    padding: 80px 20px;
  }

  .c-contact-hero__title {
    font-size: 2.5rem; /* スマホ時は44px */
    margin-bottom: 16px;
  }

  .c-contact-hero__desc {
    font-size: 16px;
    margin-bottom: 32px;
  }

  .c-contact-hero__btn {
    width: 100%;
    min-width: 200px;
    padding: 12px 24px;
  }
}/* End custom CSS */