.elementor-271 .elementor-element.elementor-element-94f9c34{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-07c9971{width:var( --container-widget-width, 500px );max-width:500px;--container-widget-width:500px;--container-widget-flex-grow:0;top:563px;}body:not(.rtl) .elementor-271 .elementor-element.elementor-element-07c9971{left:81px;}body.rtl .elementor-271 .elementor-element.elementor-element-07c9971{right:81px;}.elementor-271 .elementor-element.elementor-element-c13fc42{--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:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-5e354e2{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-060c2a4{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-271 .elementor-element.elementor-element-3e47c2b{width:var( --container-widget-width, 180px );max-width:180px;--container-widget-width:180px;--container-widget-flex-grow:0;}.elementor-271 .elementor-element.elementor-element-3e47c2b img{width:100%;}.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-271 .elementor-element.elementor-element-2b46fb3 .elementor-heading-title{font-family:"Montserrat-VariableFont_wght", Sans-serif;font-size:36px;font-weight:600;text-transform:uppercase;line-height:30px;letter-spacing:2px;color:#35DCDA;}.elementor-271 .elementor-element.elementor-element-1791fcc{width:var( --container-widget-width, 148px );max-width:148px;--container-widget-width:148px;--container-widget-flex-grow:0;top:48px;}body:not(.rtl) .elementor-271 .elementor-element.elementor-element-1791fcc{right:760px;}body.rtl .elementor-271 .elementor-element.elementor-element-1791fcc{left:760px;}.elementor-271 .elementor-element.elementor-element-1791fcc img{width:100%;}.elementor-271 .elementor-element.elementor-element-cde59e5{width:var( --container-widget-width, 42px );max-width:42px;--container-widget-width:42px;--container-widget-flex-grow:0;top:4px;}body:not(.rtl) .elementor-271 .elementor-element.elementor-element-cde59e5{right:346px;}body.rtl .elementor-271 .elementor-element.elementor-element-cde59e5{left:346px;}.elementor-271 .elementor-element.elementor-element-cde59e5 img{width:100%;}.elementor-271 .elementor-element.elementor-element-5ce7aeb{width:var( --container-widget-width, 148px );max-width:148px;--container-widget-width:148px;--container-widget-flex-grow:0;top:48px;}body:not(.rtl) .elementor-271 .elementor-element.elementor-element-5ce7aeb{right:136px;}body.rtl .elementor-271 .elementor-element.elementor-element-5ce7aeb{left:136px;}.elementor-271 .elementor-element.elementor-element-5ce7aeb img{width:100%;}.elementor-271 .elementor-element.elementor-element-c378334{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-a312e26{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-08947ef{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-0aef5bb{width:100%;max-width:100%;}.elementor-271 .elementor-element.elementor-element-dc140c9{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-e81a153{--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;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-1153f05:hover img{opacity:0.8;}.elementor-271 .elementor-element.elementor-element-7114aed:hover img{opacity:0.8;}.elementor-271 .elementor-element.elementor-element-77ab808{--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;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-77ab808:not(.elementor-motion-effects-element-type-background), .elementor-271 .elementor-element.elementor-element-77ab808 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://interesting-poincare.163-43-30-20.plesk.page/wp-content/uploads/2025/10/zumen.svg");background-position:top left;background-repeat:no-repeat;background-size:contain;}.elementor-271 .elementor-element.elementor-element-5d0caf4{--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;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-3d07a4d{--display:flex;--justify-content:center;}.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-271 .elementor-element.elementor-element-c2f3825{width:var( --container-widget-width, 540px );max-width:540px;--container-widget-width:540px;--container-widget-flex-grow:0;font-family:"Roboto", Sans-serif;font-weight:400;line-height:30px;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-a581701{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-a581701:not(.elementor-motion-effects-element-type-background), .elementor-271 .elementor-element.elementor-element-a581701 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-271 .elementor-element.elementor-element-e8eafa6 img{border-radius:10px 10px 10px 10px;}.elementor-271 .elementor-element.elementor-element-7a1f79b{--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;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-e874973{--display:flex;--justify-content:center;}.elementor-271 .elementor-element.elementor-element-4c2e5d5{width:var( --container-widget-width, 540px );max-width:540px;--container-widget-width:540px;--container-widget-flex-grow:0;font-family:"Roboto", Sans-serif;font-weight:400;line-height:30px;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-3bb88cf{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-3bb88cf:not(.elementor-motion-effects-element-type-background), .elementor-271 .elementor-element.elementor-element-3bb88cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-271 .elementor-element.elementor-element-3bb88cf.e-con{--order:-99999 /* order start hack */;}.elementor-271 .elementor-element.elementor-element-302faa8 img{border-radius:10px 10px 10px 10px;}.elementor-271 .elementor-element.elementor-element-0d3f6ff{--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;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-8246d0d{--display:flex;--justify-content:center;}.elementor-271 .elementor-element.elementor-element-51854dd{width:var( --container-widget-width, 540px );max-width:540px;--container-widget-width:540px;--container-widget-flex-grow:0;font-family:"Roboto", Sans-serif;font-weight:400;line-height:30px;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-ee82430{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-ee82430:not(.elementor-motion-effects-element-type-background), .elementor-271 .elementor-element.elementor-element-ee82430 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-271 .elementor-element.elementor-element-1d9afb4 img{border-radius:10px 10px 10px 10px;}.elementor-271 .elementor-element.elementor-element-db8e47e{width:var( --container-widget-width, 108px );max-width:108px;--container-widget-width:108px;--container-widget-flex-grow:0;bottom:-30px;}.elementor-271 .elementor-element.elementor-element-db8e47e.elementor-element{--align-self:flex-start;}body:not(.rtl) .elementor-271 .elementor-element.elementor-element-db8e47e{right:0px;}body.rtl .elementor-271 .elementor-element.elementor-element-db8e47e{left:0px;}.elementor-271 .elementor-element.elementor-element-db8e47e img{width:100%;}.elementor-271 .elementor-element.elementor-element-2e5445a{width:var( --container-widget-width, 108px );max-width:108px;--container-widget-width:108px;--container-widget-flex-grow:0;bottom:-30px;}.elementor-271 .elementor-element.elementor-element-2e5445a.elementor-element{--align-self:flex-start;}body:not(.rtl) .elementor-271 .elementor-element.elementor-element-2e5445a{right:102px;}body.rtl .elementor-271 .elementor-element.elementor-element-2e5445a{left:102px;}.elementor-271 .elementor-element.elementor-element-2e5445a img{width:100%;}.elementor-271 .elementor-element.elementor-element-356729a{width:var( --container-widget-width, 146px );max-width:146px;--container-widget-width:146px;--container-widget-flex-grow:0;bottom:42px;}.elementor-271 .elementor-element.elementor-element-356729a.elementor-element{--align-self:flex-start;}body:not(.rtl) .elementor-271 .elementor-element.elementor-element-356729a{right:166px;}body.rtl .elementor-271 .elementor-element.elementor-element-356729a{left:166px;}.elementor-271 .elementor-element.elementor-element-356729a img{width:100%;}.elementor-271 .elementor-element.elementor-element-98c5ef7{--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;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-b1a6d2a{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-5d093b4 .elementor-heading-title{font-family:"Montserrat-VariableFont_wght", Sans-serif;font-size:32px;font-weight:600;text-transform:uppercase;line-height:22px;letter-spacing:2px;color:#35DCDA;}.elementor-271 .elementor-element.elementor-element-0fda742{text-align:center;}.elementor-271 .elementor-element.elementor-element-0fda742 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:20px;font-weight:600;}.elementor-271 .elementor-element.elementor-element-372be6d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-aeea7fd{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-8a02bb7 img{width:100%;}.elementor-271 .elementor-element.elementor-element-8a02bb7:hover img{opacity:0.8;}.elementor-271 .elementor-element.elementor-element-52273db{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-87aa5e5{--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;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-87aa5e5:not(.elementor-motion-effects-element-type-background), .elementor-271 .elementor-element.elementor-element-87aa5e5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #FFFFFF 12%, #E7E7E7 0%);}.elementor-271 .elementor-element.elementor-element-b269b46{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-0f11387{width:100%;max-width:100%;}.elementor-271 .elementor-element.elementor-element-0f11387 img{width:100%;}.elementor-271 .elementor-element.elementor-element-47ab69f{width:100%;max-width:100%;}.elementor-271 .elementor-element.elementor-element-47ab69f img{width:100%;}.elementor-271 .elementor-element.elementor-element-47ab981{--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;--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:40px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-79536af{text-align:center;}.elementor-271 .elementor-element.elementor-element-79536af .elementor-heading-title{font-family:"Montserrat-VariableFont_wght", Sans-serif;font-size:30px;font-weight:500;text-transform:uppercase;letter-spacing:2px;color:#333333;}.elementor-271 .elementor-element.elementor-element-ef7f95a{text-align:center;}.elementor-271 .elementor-element.elementor-element-ef7f95a .elementor-heading-title{font-family:"IBMPlexSansJP-SemiBold", Sans-serif;font-size:20px;font-weight:400;line-height:20px;letter-spacing:2px;color:#333333;}.elementor-271 .elementor-element.elementor-element-8d9e946{--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;--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-ceff1eb{--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;--justify-content:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-a525508:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-a525508 > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-a525508 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-3e7937c:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-3e7937c > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-3e7937c .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-6e018df:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-6e018df > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-6e018df .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-eb4175a:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-eb4175a > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-eb4175a .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-d224f16:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-d224f16 > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-d224f16 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-19ee171:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-19ee171 > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-19ee171 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-fbc058b:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-fbc058b > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-fbc058b .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-2f3a7b6:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-2f3a7b6 > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-2f3a7b6 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-b2d3a12:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-b2d3a12 > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-b2d3a12 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-ff3e15a:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-ff3e15a > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-ff3e15a .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-57163e4:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-57163e4 > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-57163e4 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-f8ff227:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-f8ff227 > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-f8ff227 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-e279417:hover .elementor-widget-container{background-color:#BEBB6F;}.elementor-271 .elementor-element.elementor-element-e279417 > .elementor-widget-container{padding:4px 16px 4px 16px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#A2A2A2;border-radius:100px 100px 100px 100px;}.elementor-271 .elementor-element.elementor-element-e279417 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;}.elementor-271 .elementor-element.elementor-element-e5053ae{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-5391a68{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-5391a68.e-con{--align-self:center;}.elementor-271 .elementor-element.elementor-element-610cf18{width:100%;max-width:100%;}.elementor-271 .elementor-element.elementor-element-b425463{--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;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-495bf7a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-271 .elementor-element.elementor-element-87aa5e5{--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-271 .elementor-element.elementor-element-ef7f95a .elementor-heading-title{font-size:18px;}.elementor-271 .elementor-element.elementor-element-5391a68{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}}@media(min-width:768px){.elementor-271 .elementor-element.elementor-element-5e354e2{--content-width:1140px;}.elementor-271 .elementor-element.elementor-element-a312e26{--content-width:1140px;}.elementor-271 .elementor-element.elementor-element-08947ef{--width:350px;}.elementor-271 .elementor-element.elementor-element-e81a153{--content-width:800px;}.elementor-271 .elementor-element.elementor-element-a581701{--width:70%;}.elementor-271 .elementor-element.elementor-element-3bb88cf{--width:70%;}.elementor-271 .elementor-element.elementor-element-ee82430{--width:70%;}.elementor-271 .elementor-element.elementor-element-5391a68{--width:300px;}}/* Start custom CSS for html, class: .elementor-element-8cb13c4 *//* ===== Full CSS: 上端が円弧、ずれた #e3d9c5 の帯、4枚フェード、見出し2秒後フェード ===== */
:root{
  --peek:#e3d9c5;     /* 覗かせる帯の色 */
  --cycle:24s;        /* 4枚=24s（1枚6s） */

  /* 形状ノブ */
  --cx:64%;           /* 楕円中心X（右寄せ） */
  --cy:104%;         /* 楕円中心Y（負=上へ） */
  --rx:180%;          /* 楕円横半径 */
  --ry:200%;          /* 楕円縦半径 */
  --band-shift:2px;  /* 帯を下へずらす量（ズレ演出） */
  --band-thick:1%;  /* 帯の太さ（薄いリング） */

  /* タイトル装飾 */
  --title-bg:rgba(255,255,255,.95);
  --title-shadow:0 6px 20px rgba(0,0,0,.08);
}

/* セクション本体 */
.fv-arch{
  position:relative;
  min-height:90svh;
  background:#fff;
  overflow:hidden;
  isolation:isolate;
}

/* 覗き帯（上端のベージュの細いリング） */
.fv-arch::before{
  content:"";
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(
      ellipse var(--rx) var(--ry) at var(--cx) var(--cy),
      transparent calc(50% - var(--band-thick)),
      var(--peek) 40%,
      transparent calc(100% + var(--band-thick))
    );
  transform: translateY(var(--band-shift));
  pointer-events:none;
}

/* 白い円弧（写真の上端を白でくり抜く） */
.fv-arch::after{
  content:"";
  position:absolute; inset:0; z-index:2;
  background:
    radial-gradient(
      ellipse var(--rx) var(--ry) at var(--cx) var(--cy),
      transparent 50%,
      #fff 50%
    );
  border-bottom-left-radius:24px;
  border-bottom-right-radius:24px;
  pointer-events:none;
}

/* スライド */
.fv-arch__slides{
  position:absolute; inset:0; z-index:0;
  overflow:hidden;
  border-bottom-left-radius:0px;
  border-bottom-right-radius:0px;
}
.fv-arch__slide{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transform:scale(1.02);
  animation: fvFade var(--cycle) linear infinite;
  will-change: opacity, transform;
}
.fv-arch__slide:nth-child(1){ animation-delay: 0s; }
.fv-arch__slide:nth-child(2){ animation-delay:-6s; }
.fv-arch__slide:nth-child(3){ animation-delay:-12s; }
.fv-arch__slide:nth-child(4){ animation-delay:-18s; }

@keyframes fvFade{
  0%{opacity:0; transform:scale(1.02)}
  4%{opacity:1; transform:scale(1.006)}
  21%{opacity:1; transform:scale(1)}
  25%{opacity:0; transform:scale(1.01)}
  100%{opacity:0; transform:scale(1.02)}
}

/* タイトル（縦書き・2秒遅延フェード） */
.fv-arch__title{
  position:absolute; z-index:3;
  right:clamp(150px,2.4vw,1500px); top:clamp(16px,3vw,36px);
  margin:0; padding:.6em .8em;
  background:var(--title-bg);
  border-radius:8px; box-shadow:var(--title-shadow);
  font:700 clamp(22px,2.6vw,28px)/1.7 "IBM Plex Sans JP","Noto Sans JP",system-ui,sans-serif;
  color:#111; letter-spacing:.05em;
  writing-mode:vertical-rl;
  opacity:0; filter:blur(14px);
  animation:titleIn .9s ease forwards; animation-delay:2s;
}
@keyframes titleIn{ to{ opacity:1; filter:blur(0) } }

/* モバイル微調整 */
@media (max-width:900px){
  :root{
    --cy:-160%;
    --rx:190%;
    --ry:150%;
    --band-shift:12px;
    --band-thick:2.0%;
    --cx:62%;
  }
  .fv-arch__title{ right:10px; top:10px; font-size:clamp(18px,4.2vw,22px); }
}

/* 動き軽減 */
@media (prefers-reduced-motion: reduce){
  .fv-arch__slide{ animation:none !important; opacity:1 !important; }
  .fv-arch__title{ animation:none !important; opacity:1 !important; filter:none !important; }
}
/* 見出し本体：全体背景はオフ（位置などはそのまま） */
.fv-arch__title{
  background: none;           /* ← 全体の白背景を外す */
  box-shadow: none;           /* ← 影も各行へ移動 */
  padding: 0;                 /* ← 余白も各行へ */
}

/* 各行用の白い札 */
.fv-arch__title .fv-line{
  display: inline-block;                 /* 1行ずつ独立した箱に */
  background: var(--title-bg);           /* 既存トークンを再利用 */
  box-shadow: var(--title-shadow);
  border-radius: 4px;
  padding: .5em .4em;
  margin-block: 6px;                     /* 行間 */
  letter-spacing: .05em;
  line-height: 1.7;
  /* 端そろえが強い場合は微調整 */
  /* text-align: center; */
}

/* モバイル時は少し詰める（任意） */
@media (max-width: 900px){
  .fv-arch__title .fv-line{
    padding: .45em .55em;
    margin-block: 5px;
    border-radius: 8px;
  }
}
:root{
  /* 既存に足すだけ */
  --band-shift-x: 0px;   /* → 帯を右へ20px。左へなら負数に */
}

/* 帯レイヤーだけX方向にも移動 */
.fv-arch::before{
  /* 既存: transform: translateY(var(--band-shift)); を置き換え */
  transform: translate(var(--band-shift-x), var(--band-shift));
}
/* FV内カードボックス：左下に固定 */
.fv-arch{ position:relative; } /* 既にあれば不要 */

.fv-arch__wh{
  position:absolute;
  right:20px;                  /* ご指定：左パディング80px相当 */
  bottom:20px;                /* ご指定：下20px */
  z-index:4;                  /* ::after(2)やタイトル(3)より前に */
  width:clamp(320px, 42vw, 580px);
  pointer-events:auto;
}

/* カードの外側余白を消し、1枚だけをピタッと表示 */
.fv-arch__wh .ae-wh{ margin:0; }

/* モバイル：左右いっぱい＆下にフィット */
@media (max-width:900px){
  .fv-arch__wh{
    left:12px;
    right:12px;               /* 幅は自動 */
    bottom:12px;
    width:auto;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-07c9971 *//* ===== Works House cards — 理想レイアウト v2（写真主導・下余白ゼロ・重なり回避） ===== */

.ae-wh{
  --media-w: 200px;        /* 左写真の幅（180–240で微調整） */
  --media-ratio: 16 / 9;   /* ★実画像に合わせて：16/9, 4/3, 3/2 など */
  --tab-w: 48px;           /* 右下タブの幅 */
  --tab-h: 36px;           /* 右下タブの高さ */
  --radius: 8px;
  --bg: #3b3a39;
  --brand: #b9a85e;
  display:grid; gap:12px;
}

/* カード：左=写真 / 右=本文（タブは絶対配置） */
.ae-wh__card{
  position:relative;
  display:grid;
  grid-template-columns: var(--media-w) minmax(0,1fr);
  background:var(--bg); color:#eaeaea;
  border-radius:var(--radius); overflow:hidden;
}

/* 左：写真がカードの高さを決める（= 下余白ゼロ） */
.ae-wh__media{
  width:var(--media-w);
  aspect-ratio: var(--media-ratio);
  overflow:hidden; background:#222;
}
.ae-wh__img{
  width:100%; height:100%; display:block;
  object-fit:cover;                 /* 面いっぱいに（微トリミングあり） */
  object-position:50% 50%;          /* 構図は必要に応じて 50% 0%/100% 等 */
}

/* 右：本文は上寄せ・タブ重なり回避用の余白を確保 */
.ae-wh__body{
  /* 右下タブと重ならない余白を自動確保 */
  padding:18px calc(20px + var(--tab-w)) calc(18px + var(--tab-h)) 20px;
  display:grid; gap:8px;
  align-content:start;              /* ← 上寄せで“上の空き”を防ぐ */
  min-width:0; overflow:hidden;     /* ← 省略に必須 */
}

/* ラベル */
.ae-wh__badge{
  font:700 12px/1.2 "Montserrat",system-ui,sans-serif;
  letter-spacing:.18em; color:var(--brand);
}

/* タイトル（白固定・2行省略） */
.ae-wh__title{
  margin:0; color:#fff;
  font-size:18px; line-height:1.6;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  overflow:hidden; overflow-wrap:anywhere; word-break:break-word;
}
.ae-wh__title a,
.ae-wh__title a:visited{ color:#fff !important; text-decoration:none; }
.ae-wh__title a:hover{ text-decoration:underline; }

/* 日付・抜粋（抜粋は2行省略） */
.ae-wh__date{ font-size:12px; color:#d6d6d6; letter-spacing:.06em; }
.ae-wh__excerpt{
  margin-top:4px; font-size:14px; line-height:1.8; color:#e0e0e0;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  overflow:hidden; overflow-wrap:anywhere;
}

/* 右下タブ（カード内に固定） */
.ae-wh__arrow{
  position:absolute; right:0; bottom:0;
  width:var(--tab-w); height:var(--tab-h);
  display:grid; place-items:center;
  background:var(--brand); color:#fff; text-decoration:none;
  border-top-left-radius:6px;
  transition:filter .2s ease, transform .2s ease;
}
.ae-wh__arrow:hover{ filter:brightness(1.08); transform:translateX(1px); }
.ae-wh__arrow-ico{ font-size:18px; }

/* ===== モバイル：1カラム（写真→本文→タブ） ===== */
@media (max-width:900px){
  .ae-wh__card{ grid-template-columns:1fr; }
  .ae-wh__media{ width:100%; aspect-ratio: 1 / 1; } /* 視認性優先で正方形推奨 */
  .ae-wh__body{
    padding:14px 14px calc(14px + var(--tab-h)) 14px;
    gap:6px; align-content:start;
  }
  .ae-wh__title{ font-size:16px; -webkit-line-clamp:2; }
  .ae-wh__excerpt{ font-size:13px; line-height:1.7; }
  .ae-wh__arrow{ width:100%; position:static; border-radius:0; }
}
/* カード全体：行をストレッチ（既にあればそのままでOK） */
.ae-wh__card{
  display:grid;
  grid-template-columns: var(--media-w) minmax(0,1fr);
  align-items:stretch;            /* ←重要 */
  position:relative;
  background:var(--bg,#3b3a39); color:#eaeaea;
  border-radius:8px; overflow:hidden;
}

/* 左：写真を“行高いっぱい”に。aspect-ratioはPCでは使わない */
.ae-wh__media{
  width:var(--media-w);
  height:100%;                    /* ←カードの高さに追従して伸びる */
  overflow:hidden; background:#222;
}
.ae-wh__img{
  width:100%; height:100%; display:block;
  object-fit:cover;               /* ←下の隙間が出ない */
  object-position:50% 50%;        /* 必要に応じて 50% 0% / 50% 100% */
}

/* 右：本文のpaddingを見直し（下にタブ高さを足さない） */
.ae-wh__body{
  padding:18px calc(20px + var(--tab-w)) 18px 20px; /* ← bottomは通常値だけ */
  display:grid; gap:8px;
  align-content:start;
  min-width:0; overflow:hidden;
}

/* 右下タブはそのまま絶対配置でOK */
.ae-wh__arrow{
  position:absolute; right:0; bottom:0;
  width:var(--tab-w); height:var(--tab-h,36px);
  display:grid; place-items:center;
  background:#b9a85e; color:#fff; border-top-left-radius:6px;
}

/* --- モバイル：1カラム時のみ1:1に（PCの変更と干渉しない） --- */
@media (max-width:900px){
  .ae-wh__card{ grid-template-columns:1fr; }
  .ae-wh__media{
    width:100%;
    height:auto;                  /* ←可変 */
    aspect-ratio:1/1;             /* ←SPは視認性優先で正方形 */
  }
  .ae-wh__img{ width:100%; height:100%; object-fit:cover; }
  .ae-wh__body{ padding:14px 14px calc(14px + var(--tab-h,36px)) 14px; }
  .ae-wh__arrow{ width:100%; position:static; border-radius:0; }
}
/* === 下余白ゼロ・確定パッチ（PC用） === */

/* 行全体をストレッチさせる（念のため明示） */
.ae-wh__card{ align-items:stretch; }

/* 左写真：aspect-ratio を PC では使わない。行高 100% に合わせてカバー */
@media (min-width:901px){
  .ae-wh__media{
    height:100% !important;        /* ← 行高いっぱい */
    width:var(--media-w);
    /* aspect-ratio 指定が残っていれば無効化 */
    aspect-ratio:auto !important;
    align-self:stretch;
    overflow:hidden;
  }
  .ae-wh__img{
    width:100%; height:100%;       /* ← 親(=行高)にフィット */
    object-fit:cover;               /* ← 隙間ゼロ（微トリミングあり） */
    object-position:50% 50%;        /* 構図はお好みで 50% 0% / 50% 100% */
    display:block;
  }
}

/* 本文：末尾要素の余白でカードが押し広がらないようにする */
.ae-wh__body > *:last-child{ margin-bottom:0 !important; }
.ae-wh__excerpt{ margin-bottom:0; }   /* 念のため */

/* 右下タブは絶対配置のままでOK（本文の下paddingは通常値に） */
.ae-wh__body{
  padding:18px calc(20px + var(--tab-w)) 18px 20px; /* ← bottomにタブ高は足さない */
}

/* === タイトルを1行で省略（…） === */
.ae-wh__title{
  white-space: nowrap;         /* 1行に固定 */
  overflow: hidden;            /* はみ出し隠す */
  text-overflow: ellipsis;     /* 語尾を…に */
  -webkit-line-clamp: unset;   /* 以前の2行指定を無効化 */
  display: block;              /* text-overflowが効くように */
  margin-bottom: 2px;          /* 行間のにじみ調整（任意） */
}

/* リンクも白のまま */
.ae-wh__title a,
.ae-wh__title a:visited{ color:#fff !important; text-decoration:none; }

/* 仕上げ：下の微小な余白を詰める（必要なら1～2pxずつ） */
.ae-wh__body{
  padding-bottom:16px;    /* 18px → 16px など微調整。まだ隙間があれば14pxへ */
}
.ae-wh__body > *:last-child{ margin-bottom:0 !important; } /* 末尾の押し広げ防止 */
/* === PC：タイトル＆抜粋を1行で省略（…） === */
@media (min-width:901px){
  .ae-wh__title{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    -webkit-line-clamp:unset; /* 以前の2行指定を無効化 */
    display:block;
    margin-bottom:2px;         /* 微調整 */
  }
  .ae-wh__excerpt{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    -webkit-line-clamp:unset;  /* 2行指定を無効化 */
    display:block;
    margin-top:4px;
  }

  /* 末尾マージンで行が広がらないように */
  .ae-wh__body > *:last-child{ margin-bottom:0 !important; }

  /* 下の“あと少し”を詰める（1～2pxずつ微調整OK） */
  .ae-wh__body{ padding-bottom:15px; } /* まだ空けば 14px→13px と詰めてください */
}

/* === SP：読みやすさ優先で2行のまま（不要なら上の指定をこちらにも） === */
@media (max-width:900px){
  .ae-wh__title{
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
    overflow:hidden;
  }
  .ae-wh__excerpt{
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
    overflow:hidden;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-04f1b69 *//* ===== 右→左 無限スライド・ホバー拡大 ===== */
.ae-slide{
  --h: 200px;          /* 高さ（例：120/140/160px） */
  --gap: 16px;         /* 画像間のすき間 */
  --speed: 28s;        /* 1周の速度（小さいほど速い） */
  --scale: 1.06;       /* ホバー拡大率 */
  position: relative;
  overflow: hidden;
  height: var(--h);
  width: 100%;
  mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
}

/* 横並びで2セットを1本のトラックとして流す */
.ae-slide__track{
  display: inline-flex;
  align-items: center;
  gap: var(--gap);
  height: 100%;
  /* 右→左へ等速スクロール（無限） */
  animation: aeMarquee var(--speed) linear infinite;
  will-change: transform;
}

/* 画像アイテム */
.ae-slide__item{
  display: inline-grid;
  place-items: center;
  height: 100%;
  aspect-ratio: 16 / 9;           /* ダミー横長の想定。差し替え後は自由でOK */
  border-radius: 10px;
  overflow: hidden;
  transform: translateZ(0);       /* GPUヒント */
}

.ae-slide__item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease, filter .35s ease;
}

/* ホバーでふわっと拡大 */
.ae-slide__item:hover img{
  transform: scale(var(--scale));
  filter: brightness(1.05);
}

/* 右→左アニメーション本体（0→-50%で継ぎ目なし） */
@keyframes aeMarquee{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ===== 可変・お好み設定の例 ===== */
/* 高さを少し大きくしたい
.ae-slide{ --h: 160px; }
*/
/* 速くしたい（数値を小さく）
.ae-slide{ --speed: 18s; }
*/
/* スマホは少し低め＆ゆっくり */
@media (max-width: 900px){
  .ae-slide{ --h: 90px; --speed: 32s; --gap: 12px; }
}
/* ===== 右→左 無限スライド：見切れない版＋ホバー停止 ===== */
.ae-slide{
  --h: 120px;        /* バナー高 */
  --gap: 16px;       /* 画像間のすき間 */
  --speed: 28s;      /* 1周の速度 */
  --scale: 1.06;     /* ホバー拡大率 */
  --fit: contain;    /* ← 全体表示: contain / 見切って埋める: cover */
  --bg: #fff;        /* レターボックスの背景色 */
  position: relative;
  overflow: hidden;
  height: var(--h);
  width: 100%;
  mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
}

/* 横並びトラック（2セットで継ぎ目なし） */
.ae-slide__track{
  display: inline-flex;
  align-items: center;
  gap: var(--gap);
  height: 100%;
  animation: aeMarquee var(--speed) linear infinite;
  will-change: transform;
}

/* アイテム：高さ基準、幅は画像比で可変（= 見切れない） */
.ae-slide__item{
  display: inline-grid;
  place-items: center;
  height: 100%;
  background: var(--bg);  /* 余白の地色 */
  border-radius: 10px;
  overflow: hidden;
  padding: 0;             /* 余白が要るならここを 6px などに */
}

/* 画像：全体表示（contain）。比率維持で見切れない */
.ae-slide__item img{
  height: 100%;
  width: auto;                     /* ← 幅は自動で可変 */
  object-fit: var(--fit);          /* contain なので見切れない */
  transition: transform .35s ease, filter .35s ease;
}

/* ホバー拡大（containでも中央でふわっと） */
.ae-slide__item:hover img{
  transform: scale(var(--scale));
  filter: brightness(1.05);
}

/* ホバーでスライド停止（コンテナ or トラックに触れて停止） */
.ae-slide:hover .ae-slide__track{ animation-play-state: paused; }

/* 右→左アニメーション本体（0→-50%で継ぎ目なし） */
@keyframes aeMarquee{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* スマホは少し低め＆ゆっくり */
@media (max-width: 900px){
  .ae-slide{ --h: 90px; --speed: 32s; --gap: 12px; }
}
/* ===== 右→左 無限スライド：見切れない拡大＋ホバー停止＋大きめ ===== */
.ae-slide{
  --h: 160px;        /* ★画像を全体的に大きく（例: 160〜200px） */
  --gap: 16px;
  --speed: 28s;
  --scale: 1.12;     /* ★拡大率アップ（1.06 → 1.12） */
  --fit: contain;    /* 全体表示: contain / ぴったり埋める: cover */
  --edge: #fff;      /* 端のフェード色（背景に合わせる） */

  position: relative;
  height: var(--h);
  width: 100%;
  overflow: visible;            /* ← クリップしない */
}

/* フェード用の前面オーバーレイ（overflow:visibleでも端を隠せる） */
.ae-slide::after{
  content:"";
  position:absolute; inset:0; pointer-events:none; z-index:3;
  background:
    linear-gradient(to right, var(--edge) 0%, rgba(255,255,255,0) 6%, rgba(255,255,255,0) 94%, var(--edge) 100%);
  /* 背景が白以外なら、--edge をその色に変更してください */
}

/* トラック（奥レイヤー） */
.ae-slide__track{
  display: inline-flex;
  align-items: center;
  gap: var(--gap);
  height: 100%;
  animation: aeMarquee var(--speed) linear infinite;
  will-change: transform;
  position: relative;
  z-index: 1; /* オーバーレイより下、ホバーアイテムより下 */
}

/* アイテム：はみ出し可にして重なり時は前面へ */
.ae-slide__item{
  display: inline-grid;
  place-items: center;
  height: 100%;
  background: transparent;   /* 必要なら色を入れる */
  border-radius: 10px;
  overflow: visible;         /* ← ここが重要 */
  position: relative;
  z-index: 1;
}

.ae-slide__item img{
  height: 100%;
  width: auto;
  object-fit: var(--fit);    /* contain なので見切れない */
  transition: transform .35s ease, filter .35s ease, box-shadow .55s ease;
  transform-origin: center center;
}

/* ホバー：前面に持ち上げて拡大（切れない） */
.ae-slide__item:hover{ z-index: 5; }          /* ← 隣と重なっても上に */
.ae-slide__item:hover img{
  transform: scale(var(--scale));
  filter: brightness(1.05);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

/* コンテナor画像にホバーで一時停止 */
.ae-slide:hover .ae-slide__track{ animation-play-state: paused; }

/* 右→左の無限スクロール */
@keyframes aeMarquee{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* スマホは少し低めでゆっくり */
@media (max-width:900px){
  .ae-slide{ --h: 120px; --speed: 32s; --gap: 12px; --scale: 1.08; }
}
/* ===== 1枚を大きく見せる調整＋ホバー影なし ===== */

/* 全体を大きく（高さアップ） */
.ae-slide{ --h: 250px; }             /* もっと大きく：260/300px など */

/* 各アイテムを幅広に（= 画面の大半を1枚が占める） */
.ae-slide__item{
  min-width: clamp(460px, 80vw, 500px);  /* 1枚の横幅をぐっと拡大 */
}

/* 画像は引き続き見切れない（contain）。全面カバーにしたい時は cover に */
.ae-slide{ --fit: contain; }          /* 全体表示。カバーなら → cover */

/* ホバー時：拡大はそのまま、シャドウを消す */
.ae-slide__item:hover img{
  transform: scale(var(--scale));     /* 例: 1.12 */
  filter: brightness(1.05);
  box-shadow: none !important;        /* 影なし */
}

/* もし“さらにデカく”したい場合のプリセット例
.ae-slide{ --h: 280px; }                     // 高さアップ
.ae-slide__item{ min-width: clamp(700px, 92vw, 1400px); }  // 幅さらに拡大
*/

/* ===== speed override（ゆっくり版） ===== */
.ae-slide{ --speed: 60s; }        /* 例：60s ≒ とてもゆっくり（好みで 40–90s） */

/* スマホはさらにゆっくり */
@media (max-width:900px){
  .ae-slide{ --speed: 72s; }
}

/* ===== 右端オーバーフロー対策（最終パッチ） ===== */

/* コンテナは必ず横方向をクリップ */
.ae-slide{
  overflow-x: clip;     /* 対応ブラウザでは clip を優先 */
  overflow-y: hidden;   /* 念のため */
}
@supports not (overflow: clip){
  .ae-slide{ overflow: hidden; }  /* フォールバック */
}

/* 拡大時も各アイテム外へはみ出さない */
.ae-slide__item{
  overflow: hidden !important;    /* 以前の overflow:visible を打ち消す */
}

/* フェードのオーバーレイは維持（z-index順の整列） */
.ae-slide{ position: relative; }
.ae-slide__track{ position: relative; z-index: 1; }
.ae-slide::after{ position: absolute; inset: 0; z-index: 2; pointer-events: none; }

/* どうしても横スクロールが残る環境向けの保険（任意） */
html, body{ overflow-x: hidden; }  /* 付けたくなければ外してOK *//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9915bcd *//* ===== Concept Section ===== */
.concept{
  --rail-w: 320px;          /* 左右のカード列の幅 */
  --rail-h: 560px;          /* 列の表示高さ（デスクトップ） */
  --item-h: 160px;          /* 各カードの高さ */
  --gap: 16px;              /* カード間隔 */
  --radius: 16px;
  --speed: 28s;             /* 1周の速度。大きいほどゆっくり */

  position: relative;
  padding: clamp(40px,6vw,72px) 16px;
  background: #fff;
  overflow: hidden;
}

/* レイアウト */
.concept__grid{
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: var(--rail-w) 1fr var(--rail-w);
  align-items: start;
  gap: clamp(24px,4vw,40px);
}

/* ===== 無限縦スライド列 ===== */
.concept__rail{
  width: var(--rail-w);
  height: var(--rail-h);
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(to bottom, transparent 0, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.concept__track{
  display: grid;
  gap: var(--gap);
  /* 縦一列に並べる */
  grid-auto-flow: row;
  /* アニメは派生クラスで付与 */
}
.concept__rail--up .concept__track{
  animation: conceptMarqueeUp var(--speed) linear infinite;
}
.concept__rail--down .concept__track{
  animation: conceptMarqueeDown var(--speed) linear infinite;
}

/* アイテム（角丸サムネ） */
.concept__item{
  height: var(--item-h);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  background: #f4f4f4;
}
.concept__item img{
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}

/* 上下無限スクロール：0 → -50%（または +50%）で継ぎ目なし */
@keyframes conceptMarqueeUp{
  0%   { transform: translateY(0); }
  100% { transform: translateY(calc(-50% - var(--gap)/2)); }
}
@keyframes conceptMarqueeDown{
  0%   { transform: translateY(calc(-50% - var(--gap)/2)); }
  100% { transform: translateY(0); }
}

/* ===== 中央コンテンツ ===== */
.concept__eyebrow{
  font-family: "Montserrat-VariableFont_wght", "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: .18em;
  color: #35DCDA;          /* ご指定 */
  font-size: clamp(16px,1.6vw,28px);
  margin: 0 0 10px;
  text-align: center;
}
.concept__heading{
  font-family: "IBMPlexSans.JP-Bold", "IBM Plex Sans JP", system-ui, sans-serif;
  font-weight: 700;
  color: #333333;          /* ご指定 */
  font-size: clamp(28px,3.4vw,40px);
  line-height: 1.5;
  letter-spacing: .03em;
  text-align: center;
  margin: 0 0 18px;
}
.concept__text{
  font-family: "IBMPlexSansJP-Regular", "IBM Plex Sans JP", system-ui, sans-serif;
  color: #333333;          /* ご指定 */
  font-size: clamp(14px,1.3vw,16px);
  line-height: 2.0;
  text-align: center;
  margin: 0 0 24px;
}
.concept__core{
  display: grid;
  place-items: center;
}

/* ===== 装飾イラスト ===== */
.concept__deco{ position:absolute; pointer-events:none; }
.concept__plane{ top: 6%; left: 36%; width: 72px; transform: translateX(-50%); }
.concept__cloud--l{ top: 60%; left: 26%; width: 150px; transform: translateX(-50%); }
.concept__cloud--r{ top: 40%; left: 76%; width: 150px; transform: translateX(-50%); }
.concept__bird{ right: 38%; top: 64%; width: 62px; }

/* ===== 下の住宅イラスト帯 ===== */
.concept__houses{
  max-width: 1120px;
  margin: clamp(24px,5vw,48px) auto 0;
}
.concept__houses img{
  width: 100%; height: auto; display: block;
  filter: drop-shadow(0 8px 22px rgba(0,0,0,.06));
}

/* ===== ホバーで一時停止（必要ならON） ===== */
/* .concept__rail:hover .concept__track{ animation-play-state: paused; } */

/* ===== レスポンシブ ===== */
@media (max-width: 1024px){
  .concept{
    --rail-w: 280px;
    --rail-h: 520px;
    --item-h: 150px;
    --speed: 32s;    /* 少しゆっくり */
  }
}
@media (max-width: 768px){
  .concept{
    --rail-w: min(86vw, 420px);
    --rail-h: 420px;
    --item-h: 140px;
    --gap: 14px;
    --speed: 36s;
  }
  .concept__grid{
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 24px;
  }
  .concept__core{ order: -1; }        /* 見出しを先頭へ */
  .concept__plane{ top: 4%; left: 50%; width: 56px; }
  .concept__cloud--l{ bottom: unset; top: 22%; left: 4%; width: 100px; }
  .concept__cloud--r{ bottom: 8%; right: 4%; width: 110px; }
  .concept__bird{ top: unset; bottom: 14%; right: 12%; width: 44px; }
}
/* 1) 住宅イラストのシャドウを削除 */
.concept__houses img{
  filter: none !important;
}

/* 2) 中央カラム（見出し・本文・ボタン）を縦中央に配置 */
.concept__grid{
  align-items: center;                        /* 左右レールの中心に合わせる */
}
.concept__core{
  min-height: var(--rail-h);                  /* 左右レールと同じ高さを確保 */
  display: grid;
  place-content: center;                      /* 縦横とも中央寄せ */
  justify-items: center;
}

/* 3) このセクション内のボタンだけ幅350pxに */
.concept .button-31{
  width: min(350px, 90vw);                    /* 350px固定（小画面ははみ出さない） */
  justify-content: center;                    /* ボタン内テキスト中央 */
}

/* モバイル時は自然に戻す（任意） */
@media (max-width: 768px){
  .concept__core{ min-height: auto; }         /* 縦中央固定を解除 */
  .concept .button-31{ width: min(320px, 100%); }
}
/* セクションをスタックの基準に */
.concept{ position:relative; isolation:isolate; }

/* 主要レイヤーのz-indexを整理（任意：安全のため） */
.concept__grid,
.concept__houses{ position:relative; z-index:1; }

/* ★ 装飾イラストを最前面に */
.concept__deco{
  position:absolute;
  z-index: 9 !important;   /* ← ほか全てより上 */
  pointer-events:none;     /* クリック操作の邪魔をしない */
}

/* もしタイトルやボタンより下になっていた場合の保険（基本不要） */
.concept__core{ position:relative; z-index:2; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3eafb70 *//* 見出し：左寄せ＋約物半角（プロポーショナル） */
h3.dot-title{
  text-align:left;                               /* ← 左寄せ */
  font-family:"IBMPlexSansJP-Bold","IBM Plex Sans JP",system-ui,sans-serif;
  font-weight:600;
  color:#333333;
  font-size:clamp(24px,3vw,34px);
  line-height:1.5;
  letter-spacing:.03em;

  /* 約物半角寄り（プロポーショナル） */
  font-variant-east-asian: proportional-width;   /* CSSレベルの指定 */
  font-feature-settings: "palt" 0, "halt" 1;     /* OpenType機能（対応フォントで有効） */
  font-kerning: normal;
}

/* 傍点（上の2つの点）— 左寄せ前提の位置 */
h3.dot-title::before,
h3.dot-title::after{
  content:"";
  position:absolute;
  top:-0.6em;            /* 高さは好みで調整 */
  width:8px;height:8px;
  background:#35DCDA;
  border-radius:50%;
}
h3.dot-title::before{ left:0.25em; }
h3.dot-title::after { left:1.4em;  }

/* （必要なら）中央寄せ用のラッパーは外してOK
.dot-title-wrap{ display:block; } *//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0df7c13 *//* 見出し：左寄せ＋IBM Plex Sans JP Bold（約物はプロポーショナル） */
h3.dot-title2{
  text-align:left;
  font-family:"IBMPlexSansJP-Bold","IBM Plex Sans JP",system-ui,sans-serif;
  font-weight:700;
  color:#333333;
  font-size:clamp(24px,3vw,34px);
  line-height:1.5;
  letter-spacing:.03em;
  font-variant-east-asian: proportional-width;
  font-feature-settings:"palt" 0,"halt" 1;
}

/* 傍点を載せたい語 */
.dot-spot2{
  position:relative;
  display:inline-block;
  /* ここで間隔やサイズ・高さをまとめて調整できます */
  --dot-size: 8px;         /* ドット直径 */
  --dot-top:  -0.75em;     /* 上下位置（負で上） */
  --dot-gap:   1.50em!important;     /* ★2つ目のドットの横オフセット（右へ行くほど大） */
}

/* ドット2つ */
.dot-spot2::before,
.dot-spot2::after{
  content:"";
  position:absolute;
  top:var(--dot-top);
  width:var(--dot-size);
  height:var(--dot-size);
  background:#35DCDA;
  border-radius:50%;
}
.dot-spot2::before{ left:.30em; }         /* 1つ目 */
.dot-spot2::after { left:var(--dot-gap); }/* ★2つ目（ここで右へ） *//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3cdd2b6 *//* 見出し：左寄せ＋約物半角（プロポーショナル） */
h3.dot-title{
  text-align:left;                               /* ← 左寄せ */
  font-family:"IBMPlexSansJP-Bold","IBM Plex Sans JP",system-ui,sans-serif;
  font-weight:600;
  color:#333333;
  font-size:clamp(24px,3vw,34px);
  line-height:1.5;
  letter-spacing:.03em;

  /* 約物半角寄り（プロポーショナル） */
  font-variant-east-asian: proportional-width;   /* CSSレベルの指定 */
  font-feature-settings: "palt" 0, "halt" 1;     /* OpenType機能（対応フォントで有効） */
  font-kerning: normal;
}

/* 傍点（上の2つの点）— 左寄せ前提の位置 */
h3.dot-title::before,
h3.dot-title::after{
  content:"";
  position:absolute;
  top:-0.6em;            /* 高さは好みで調整 */
  width:8px;height:8px;
  background:#35DCDA;
  border-radius:50%;
}
h3.dot-title::before{ left:0.25em; }
h3.dot-title::after { left:1.4em;  }

/* （必要なら）中央寄せ用のラッパーは外してOK
.dot-title-wrap{ display:block; } *//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-15422ca *//* ===== 3カラム・ボタン付きバナー ===== */
.feature-cards{
  --brand: #e3d9c5;     /* 枠線/CTA の色（お好みで）*/
  --accent:#35DCDA;     /* 見出しドットや箇条書きの色 */
  --radius: 18px;       /* 角丸 */
  --shadow: 0 8px 24px rgba(0,0,0,.075);
  --pad: 18px;
  font-family: "IBM Plex Sans JP", system-ui, sans-serif;
}

.feature-cards__grid{
  max-width: min(1120px, 94vw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

/* --- Card --- */
.fc-card{
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  background:#fff;
  border:1.5px solid var(--brand);
  border-radius: var(--radius);
  overflow: hidden;
  text-decoration: none;
  color:#333;
  transition: transform .28s ease, box-shadow .28s ease;
}
.fc-card:hover{ transform: translateY(-2px); box-shadow: var(--shadow); }

/* 画像：上部のみ角丸、アスペクト比固定で見切れず */
.fc-card__media{
  margin:0;
  aspect-ratio: 4 / 5;                 /* スクショっぽい縦長。写真で自由に変更OK */
  overflow:hidden;
}
.fc-card__media img{
  width:600px; height:300px;
  object-fit: cover; display:block;
}

/* 本文 */
.fc-card__body{
  padding: var(--pad) calc(var(--pad) + 44px) calc(var(--pad) + 18px) var(--pad);
  display:grid; gap:12px; align-content:start;
}

.fc-card__title{
  margin:0;
  font-weight: 700;
  font-size: clamp(16px, 1.9vw, 22px);
  line-height:1.6;
}

/* 箇条書き：スクショ風の小さなシアン四角 */
.fc-card__bullets{ list-style: none; padding:0; margin:0; display:grid; gap:10px; }
.fc-card__bullets li{
  position:relative; padding-left: 18px; font-weight:600; font-size:14px;
}
.fc-card__bullets li::before{
  content:""; position:absolute; left:0; top:.45em;
  width:10px; height:10px; background: var(--accent); border-radius:2px;
}

/* 右下の丸ボタン（→） */
.fc-card__cta{
  position:absolute; right:12px; bottom:12px;
  width:42px; height:42px; border-radius:50%;
  background: var(--brand); color:#fff; display:grid; place-items:center;
  font-size:18px; line-height:1; transition: transform .2s ease, filter .2s ease;
}
.fc-card:hover .fc-card__cta{ transform: translateX(2px); filter: brightness(1.05); }

/* --- レスポンシブ --- */
@media (max-width: 1024px){
  .feature-cards__grid{ grid-template-columns: repeat(2, 1fr); gap:18px; }
}
@media (max-width: 640px){
  .feature-cards__grid{ grid-template-columns: 1fr; }
  .fc-card__media{ aspect-ratio: 16 / 9; }  /* モバイルは少し横長に */
}
/* ===== コンパクト化パッチ ===== */

/* 1) 画像はコンテナにフィット（固定600x300を撤回） */
.fc-card__media img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* 2) メディアの比率を低めにしてカード全体を短く */
.fc-card__media{
  aspect-ratio: 16 / 9;   /* 例: 16:9（→高さがかなり低くなる） */
  /* さらに詰めたいなら 5 / 3 や 3 / 2 も可 */
}

/* 3) 本文の余白を縮める */
.feature-cards{ --pad: 14px; }                /* 18px → 14px */
.fc-card__body{ padding: var(--pad) calc(var(--pad) + 40px) calc(var(--pad) + 12px) var(--pad); }
.fc-card__title{ font-size: clamp(16px, 1.6vw, 20px); }  /* ほんの少しだけ小さく */
.fc-card__bullets{ gap: 8px; }
.fc-card__bullets li{ font-size: 13px; }

/* 4) CTAも少しだけ小さく */
.fc-card__cta{ width: 38px; height: 38px; font-size: 16px; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c0ad814 *//* ===== Model House Banner（maskなし・素材活かしデザイン） ===== */
.modelhouse-banner{
  position: relative;
  width: 100%;
  background: #fff;
  padding: clamp(24px, 4vw, 60px) 0;
  overflow: hidden;
}

.modelhouse-banner__inner{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  width: 100%;
  overflow: hidden;
}

/* 左右の画像 */
.modelhouse-banner__img{
  flex: 1;
  height: clamp(240px, 40vw, 480px);
  overflow: hidden;
  position: relative;
}

.modelhouse-banner__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform 1.8s ease;
}

.modelhouse-banner__img:hover img{
  transform: scale(1.08);
}

/* 中央家マークブロック */
.modelhouse-banner__center{
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  pointer-events: none;
}

/* 家マークSVG */
.modelhouse-banner__house{
  position: absolute;
  width: clamp(280px, 28vw, 420px);
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

/* テキストエリア */
.modelhouse-banner__content{
  position: relative;
  z-index: 2;
  text-align: center;
  color: #333;
  pointer-events: auto;
}

/* ロゴ */
.modelhouse-banner__logo{
  width: clamp(120px, 18vw, 200px);
  height: auto;
  margin-bottom: 12px;
}

/* 英語タイトル */
.modelhouse-banner__en{
  font-family: "Montserrat-VariableFont_wght", "Montserrat", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(18px, 2vw, 22px);
  letter-spacing: 0.1em;
  margin: 0 0 6px 0;
  color: #333333;
}

/* 日本語テキスト */
.modelhouse-banner__jp{
  font-family: "IBMPlexSansJP-Regular", "IBM Plex Sans JP", system-ui, sans-serif;
  font-size: clamp(14px, 1.8vw, 18px);
  letter-spacing: .08em;
  margin: 0;
  color: #333333;
}

/* スマホ調整 */
@media (max-width: 768px){
  .modelhouse-banner__inner{ flex-direction: column; }
  .modelhouse-banner__img{ height: 200px; }
  .modelhouse-banner__house{ width: 240px; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-f660abf *//* ===== AE Portfolio/Works 横スクロール ===== */
.ae-marquee {
  --gap: 24px;
  --card-w: 360px;
  --card-h: 380px;
  --marquee-speed: 60s; /* ショートコード引数で上書きされる */
  overflow: hidden;
  position: relative;
  padding: 60px 0;
}

.ae-marquee__flow {
  display: flex;
  width: max-content;
  animation: aeMarquee var(--marquee-speed) linear infinite;
}
.ae-marquee:hover .ae-marquee__flow { animation-play-state: paused; }

@keyframes aeMarquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* トラックを2回並べているため -50% で1周 */
}

.ae-marquee__track {
  display: flex;
  gap: var(--gap);
  padding-inline: var(--gap);
}

.ae-card {
  width: var(--card-w);
  height: var(--card-h);
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  flex: 0 0 auto;
  position: relative;
  will-change: transform, box-shadow;
  box-shadow: none;
  transition: transform .25s ease, box-shadow .25s ease;
  transform-origin: center;
}

.ae-card__link {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.ae-card__media { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.ae-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ae-card__img.--noimg { background: #e5e5e5; width:100%; height:100%; }

.ae-card__badge {
  position: absolute;
  top: 10px; right: 10px;
  display: inline-block;
  padding: 6px 10px;
  font-size: 12px; font-weight: 700; letter-spacing: .5px;
  background: var(--badge-bg, #222);
  color: var(--badge-tx, #fff);
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
  z-index: 2;
}

.ae-card__body {
  padding: 14px 16px 16px;
  display: grid;
  gap: 8px;
}

/* タイトル：1行で省略表示（…） */
.ae-card__title {
  font-size: 18px;
  line-height: 1.5;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 20px;
}

/* 本文テキスト：右に余白 */
.ae-card__text {
  font-size: 14px;
  line-height: 1.7;
  color: #666;
  margin: 0;
  padding-right: 40px;
}

.ae-card__arrow {
  position: absolute;
  right: 12px; bottom: 12px;
  width: 36px; height: 36px; border-radius: 8px;
  display: grid; place-items: center;
  background: #111; color: #fff; font-weight: 700;
}

/* ホバー：当たったカードだけ拡大＋影 */
.ae-card:hover,
.ae-card:focus-within {
  transform: scale(1.06);
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
  z-index: 1;
}

/* モバイル調整 */
@media (max-width: 768px) {
  .ae-marquee { --gap: 16px; padding: 16px 0; }
  .ae-card { --card-w: 280px; --card-h: 320px; border-radius: 10px; }
  .ae-card__title { font-size: 16px; }
  .ae-card__text  { font-size: 13px; }
}

/* 動きを抑制（ユーザー設定尊重） */
@media (prefers-reduced-motion: reduce) {
  .ae-marquee__flow { animation: none !important; }
}
.ae-card__new {
  position: absolute;
  top: 10px; left: 10px;
  width: 60px; height: 60px;          /* 正方形にして円形にする */
  border-radius: 50%;                 /* ←円形化 */
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 700; letter-spacing: .5px;
  background: #d31652; color: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  z-index: 3;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Montserrat-VariableFont_wght';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://interesting-poincare.163-43-30-20.plesk.page/wp-content/uploads/2025/09/Montserrat-VariableFont_wght.ttf') format('truetype');
}
@font-face {
	font-family: 'Montserrat-VariableFont_wght';
	font-style: oblique;
	font-weight: normal;
	font-display: auto;
	src: url('https://interesting-poincare.163-43-30-20.plesk.page/wp-content/uploads/2025/09/Montserrat-Italic-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'IBMPlexSansJP-SemiBold';
	font-display: auto;
	src: url('https://interesting-poincare.163-43-30-20.plesk.page/wp-content/uploads/2025/09/IBMPlexSansJP-SemiBold.ttf') format('truetype');
}
/* End Custom Fonts CSS */