.elementor-kit-8{--e-global-color-primary:#0097D7;--e-global-color-secondary:#EDBE38;--e-global-color-text:#333333;--e-global-color-accent:#EDBE38;--e-global-color-61931e5:#F2F2F2;--e-global-color-df9dbd4:#0097D7;--e-global-color-74a481a:#EDBE38;--e-global-color-96e76d5:#BBBBBB;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 h1{font-family:"M PLUS 1", Sans-serif;font-size:32px;font-weight:700;}.elementor-kit-8 h2{font-family:"M PLUS 1", Sans-serif;font-size:28px;font-weight:700;}.elementor-kit-8 h3{font-family:"M PLUS 1", Sans-serif;font-size:24px;font-weight:700;}.elementor-kit-8 h4{font-family:"M PLUS 1", Sans-serif;font-size:20px;font-weight:700;}.elementor-kit-8 h5{font-family:"M PLUS 1", Sans-serif;font-size:18px;font-weight:700;}.elementor-kit-8 h6{font-family:"M PLUS 1", Sans-serif;font-size:16px;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1160px;}.e-con{--container-max-width:1160px;--container-default-padding-top:10px;--container-default-padding-right:10px;--container-default-padding-bottom:10px;--container-default-padding-left:10px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1201px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:750px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.project-box {
    position: relative;
    overflow: hidden; /* 拡大部分が親要素を超えないようにする */
    display: flex; /* 子要素を中央揃えにする */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    width: 100%; /* 必要に応じて親要素の幅を指定 */
    height: 100%; /* 必要に応じて高さも指定 */
}

.project-box::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.3); /* 白っぽいオーバーレイ（透明度30%） */
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.project-box img {
    position: absolute; /* 絶対位置で中央揃えを強制 */
    top: 50%; /* 親要素の中央に配置 */
    left: 50%; /* 親要素の中央に配置 */
    transform: translate(-50%, -50%); /* 中央基点を補正 */
    max-width: 100%; /* 親要素に収めるための最大幅 */
    max-height: 100%; /* 親要素に収めるための最大高さ */
    transition: transform 0.3s ease; /* 拡大時のスムーズな動作 */
    transform-origin: center center; /* 拡大の基点を中央に設定 */
    z-index: 0; /* 画像がオーバーレイの下になるよう調整 */
}

.project-box:hover::after {
    opacity: 1; /* ホバー時に白っぽいオーバーレイを表示 */
}

.project-box:hover img {
    transform: translate(-50%, -50%) scale(1.1); /* 中央基点で拡大 */
}/* End custom CSS */