.elementor-9 .elementor-element.elementor-element-80e8ab6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-05f90b4{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-a28eb7d{--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-9 .elementor-element.elementor-element-5d05d5a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-da99e04 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:38px;line-height:56px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-aa2734a{--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-9 .elementor-element.elementor-element-c69596a{width:initial;max-width:initial;text-align:justify;font-size:16px;line-height:30px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-9844e26{--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-9 .elementor-element.elementor-element-a1889c2{width:100%;max-width:100%;padding:100px 0px 100px 0px;}.elementor-9 .elementor-element.elementor-element-8598953{--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:80px 80px;--row-gap:80px;--column-gap:80px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-8598953:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-8598953 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.aoyamayobiko.com/wp-content/uploads/2025/12/img_9.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-9 .elementor-element.elementor-element-3644b00{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-4ac7057{text-align:center;}.elementor-9 .elementor-element.elementor-element-4ac7057 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:18px;line-height:20px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-067a9ab{width:var( --container-widget-width, 469px );max-width:469px;--container-widget-width:469px;--container-widget-flex-grow:0;text-align:center;}.elementor-9 .elementor-element.elementor-element-067a9ab.elementor-element{--align-self:center;}.elementor-9 .elementor-element.elementor-element-067a9ab .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:30px;line-height:40px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-ca64f6f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-2c02931{width:100%;max-width:100%;}.elementor-9 .elementor-element.elementor-element-4e89b86{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:-40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-c3b4c64{--display:flex;--min-height:576px;--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:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-c3b4c64:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-c3b4c64 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.aoyamayobiko.com/wp-content/uploads/2025/12/img_15-scaled.jpg");background-position:center right;background-repeat:no-repeat;background-size:contain;}.elementor-9 .elementor-element.elementor-element-d161985{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-323986f{width:var( --container-widget-width, 460px );max-width:460px;--container-widget-width:460px;--container-widget-flex-grow:0;text-align:justify;font-size:16px;line-height:30px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-a4e7d4d{--display:flex;--border-radius:4px 4px 4px 4px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-a4e7d4d:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-a4e7d4d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F5A3;}.elementor-9 .elementor-element.elementor-element-3423e5e{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-b2bac36{--divider-border-style:solid;--divider-color:#707070;--divider-border-width:1px;width:auto;max-width:auto;}.elementor-9 .elementor-element.elementor-element-b2bac36.elementor-element{--align-self:center;}.elementor-9 .elementor-element.elementor-element-b2bac36 .elementor-divider-separator{width:100%;}.elementor-9 .elementor-element.elementor-element-b2bac36 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-9 .elementor-element.elementor-element-4619000 .elementor-icon-list-icon i{color:#768491;transition:color 0.3s;}.elementor-9 .elementor-element.elementor-element-4619000 .elementor-icon-list-icon svg{fill:#768491;transition:fill 0.3s;}.elementor-9 .elementor-element.elementor-element-4619000{--e-icon-list-icon-size:11px;--icon-vertical-offset:0px;}.elementor-9 .elementor-element.elementor-element-4619000 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-9 .elementor-element.elementor-element-4619000 .elementor-icon-list-item > a{font-family:"Noto Sans JP", Sans-serif;font-size:16px;letter-spacing:1px;}.elementor-9 .elementor-element.elementor-element-4619000 .elementor-icon-list-text{color:#333333;transition:color 0.3s;}.elementor-9 .elementor-element.elementor-element-310b302{width:var( --container-widget-width, 460px );max-width:460px;--container-widget-width:460px;--container-widget-flex-grow:0;text-align:justify;font-size:16px;line-height:30px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-ab84a78{--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-9 .elementor-element.elementor-element-f9fb1d3{--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:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-d5ef0cc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-eced758{text-align:center;}.elementor-9 .elementor-element.elementor-element-eced758 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:40px;text-transform:uppercase;line-height:36px;color:#333333;}.elementor-9 .elementor-element.elementor-element-7ea7c89{--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-9 .elementor-element.elementor-element-0d52a4e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-2f2feb9{--display:flex;--justify-content:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-a945116{width:100%;max-width:100%;text-align:justify;font-size:16px;line-height:30px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-2392159{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--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-9 .elementor-element.elementor-element-6ff792f{--display:flex;--margin-top:-60px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-f522999{--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;--margin-top:-800px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-db06ce8{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-db06ce8.e-con{--align-self:center;}.elementor-9 .elementor-element.elementor-element-5b54308{--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:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-31759b7{text-align:start;}.elementor-9 .elementor-element.elementor-element-31759b7 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:20px;font-weight:400;text-transform:uppercase;line-height:18px;color:#333333;}.elementor-9 .elementor-element.elementor-element-b5d05c1{text-align:start;}.elementor-9 .elementor-element.elementor-element-b5d05c1 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:30px;font-weight:400;text-transform:uppercase;line-height:23px;color:#333333;}.elementor-9 .elementor-element.elementor-element-3acef42{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-0ccb8aa{--display:flex;--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-90cc2c8{width:auto;max-width:auto;margin:0px -10px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-9 .elementor-element.elementor-element-90cc2c8 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-weight:500;line-height:30px;}.elementor-9 .elementor-element.elementor-element-b100b2b{margin:0px 6px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-9 .elementor-element.elementor-element-007d08f{--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-9 .elementor-element.elementor-element-3be8004 .elementor-heading-title{font-size:26px;font-weight:500;}.elementor-9 .elementor-element.elementor-element-e66014b{width:100%;max-width:100%;text-align:justify;font-size:16px;line-height:30px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-78198bf{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-9dff685{--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-9 .elementor-element.elementor-element-f16ad66{--display:flex;--min-height:350px;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-f16ad66.e-con{--align-self:center;}.elementor-9 .elementor-element.elementor-element-d785577{--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:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-15a36c6{text-align:start;}.elementor-9 .elementor-element.elementor-element-15a36c6 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:20px;font-weight:400;text-transform:uppercase;line-height:18px;color:#333333;}.elementor-9 .elementor-element.elementor-element-5df3573{text-align:start;}.elementor-9 .elementor-element.elementor-element-5df3573 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:30px;font-weight:400;text-transform:uppercase;line-height:23px;color:#333333;}.elementor-9 .elementor-element.elementor-element-c219df1{--display:flex;--min-height:176px;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-e78ccaf{--display:flex;--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-508396e{width:auto;max-width:auto;margin:0px -10px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-9 .elementor-element.elementor-element-508396e .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-weight:500;line-height:30px;}.elementor-9 .elementor-element.elementor-element-44cecbe{margin:0px 6px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-9 .elementor-element.elementor-element-b8155d5{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-c946ba6 .elementor-heading-title{font-size:26px;font-weight:500;}.elementor-9 .elementor-element.elementor-element-7fdc3a1{width:100%;max-width:100%;text-align:justify;font-size:16px;line-height:30px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-8383226{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-8383226.e-con{--order:-99999 /* order start hack */;}.elementor-9 .elementor-element.elementor-element-43c7c3b{--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-9 .elementor-element.elementor-element-b3d4e87{--display:flex;--min-height:350px;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-b3d4e87.e-con{--align-self:center;}.elementor-9 .elementor-element.elementor-element-f5a9f6f{--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:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-fadfc06{text-align:start;}.elementor-9 .elementor-element.elementor-element-fadfc06 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:20px;font-weight:400;text-transform:uppercase;line-height:18px;color:#333333;}.elementor-9 .elementor-element.elementor-element-e6c3884{text-align:start;}.elementor-9 .elementor-element.elementor-element-e6c3884 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:30px;font-weight:400;text-transform:uppercase;line-height:23px;color:#333333;}.elementor-9 .elementor-element.elementor-element-826ee12{--display:flex;--min-height:176px;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-6225046{--display:flex;--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-e2a5480{width:auto;max-width:auto;margin:0px -10px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-9 .elementor-element.elementor-element-e2a5480 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-weight:500;line-height:30px;}.elementor-9 .elementor-element.elementor-element-a917c52{margin:0px 6px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-9 .elementor-element.elementor-element-5e90ef3{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-a4f4b61 .elementor-heading-title{font-size:26px;font-weight:500;}.elementor-9 .elementor-element.elementor-element-453bc9f{width:100%;max-width:100%;text-align:justify;font-size:16px;line-height:30px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-06bbc3f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-06bbc3f.e-con{--order:-99999 /* order start hack */;}.elementor-9 .elementor-element.elementor-element-add45ed{--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-9 .elementor-element.elementor-element-9c50049{--display:flex;--min-height:350px;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-9c50049.e-con{--align-self:center;}.elementor-9 .elementor-element.elementor-element-ad148d3{--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:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-9ef5e75{text-align:start;}.elementor-9 .elementor-element.elementor-element-9ef5e75 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:20px;font-weight:400;text-transform:uppercase;line-height:18px;color:#333333;}.elementor-9 .elementor-element.elementor-element-43d71ae{text-align:start;}.elementor-9 .elementor-element.elementor-element-43d71ae .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:30px;font-weight:400;text-transform:uppercase;line-height:23px;color:#333333;}.elementor-9 .elementor-element.elementor-element-a84460e{--display:flex;--min-height:226px;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-75f5633{--display:flex;--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-9e075a8{width:auto;max-width:auto;margin:0px -10px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-9 .elementor-element.elementor-element-9e075a8 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-weight:500;line-height:30px;}.elementor-9 .elementor-element.elementor-element-7143a53{margin:0px 6px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-9 .elementor-element.elementor-element-5b14616{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-8b30054 .elementor-heading-title{font-size:26px;font-weight:500;}.elementor-9 .elementor-element.elementor-element-7e99775{width:100%;max-width:100%;text-align:justify;font-size:16px;line-height:30px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-ca277c7{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-ca277c7.e-con{--order:99999 /* order end hack */;}.elementor-9 .elementor-element.elementor-element-ceae214{--display:flex;--position:absolute;--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:flex-end;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:20px;}body:not(.rtl) .elementor-9 .elementor-element.elementor-element-ceae214{right:20px;}body.rtl .elementor-9 .elementor-element.elementor-element-ceae214{left:20px;}.elementor-9 .elementor-element.elementor-element-6cf6c94{width:var( --container-widget-width, 80px );max-width:80px;--container-widget-width:80px;--container-widget-flex-grow:0;}.elementor-9 .elementor-element.elementor-element-6cf6c94 img{width:100%;}.elementor-9 .elementor-element.elementor-element-d0c98e3{width:var( --container-widget-width, 80px );max-width:80px;--container-widget-width:80px;--container-widget-flex-grow:0;}.elementor-9 .elementor-element.elementor-element-d0c98e3 img{width:100%;}.elementor-9 .elementor-element.elementor-element-9ac29ce{--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;--overlay-opacity:0.5;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-9ac29ce:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-9ac29ce > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.aoyamayobiko.com/wp-content/uploads/2026/01/img_30.jpg");background-position:center center;background-repeat:repeat-y;background-size:contain;}.elementor-9 .elementor-element.elementor-element-9ac29ce::before, .elementor-9 .elementor-element.elementor-element-9ac29ce > .elementor-background-video-container::before, .elementor-9 .elementor-element.elementor-element-9ac29ce > .e-con-inner > .elementor-background-video-container::before, .elementor-9 .elementor-element.elementor-element-9ac29ce > .elementor-background-slideshow::before, .elementor-9 .elementor-element.elementor-element-9ac29ce > .e-con-inner > .elementor-background-slideshow::before, .elementor-9 .elementor-element.elementor-element-9ac29ce > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#F3F3F3;--background-overlay:'';}.elementor-9 .elementor-element.elementor-element-18a4c6f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-57c1d29{width:var( --container-widget-width, 500px );max-width:500px;--container-widget-width:500px;--container-widget-flex-grow:0;text-align:center;}.elementor-9 .elementor-element.elementor-element-57c1d29.elementor-element{--align-self:center;}.elementor-9 .elementor-element.elementor-element-57c1d29 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-size:30px;line-height:40px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-e4d8d5e{--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-9 .elementor-element.elementor-element-c7834c3{width:100%;max-width:100%;}.elementor-9 .elementor-element.elementor-element-0af8185{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:-60px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-87d8afa{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-28b71f6{width:var( --container-widget-width, 900px );max-width:900px;--container-widget-width:900px;--container-widget-flex-grow:0;}.elementor-9 .elementor-element.elementor-element-28b71f6.elementor-element{--align-self:center;}.elementor-9 .elementor-element.elementor-element-d27e5f2{--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;--overlay-opacity:1;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-d27e5f2:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-d27e5f2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.aoyamayobiko.com/wp-content/uploads/2026/01/img_34-scaled.jpg");background-position:center right;background-repeat:no-repeat;background-size:contain;}.elementor-9 .elementor-element.elementor-element-d27e5f2::before, .elementor-9 .elementor-element.elementor-element-d27e5f2 > .elementor-background-video-container::before, .elementor-9 .elementor-element.elementor-element-d27e5f2 > .e-con-inner > .elementor-background-video-container::before, .elementor-9 .elementor-element.elementor-element-d27e5f2 > .elementor-background-slideshow::before, .elementor-9 .elementor-element.elementor-element-d27e5f2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-9 .elementor-element.elementor-element-d27e5f2 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(90deg, #FFFFFF 40%, #FFFFFF00 72%);}.elementor-9 .elementor-element.elementor-element-ef720ed{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-83b9594 .elementor-heading-title{font-size:20px;font-weight:500;letter-spacing:2px;}.elementor-9 .elementor-element.elementor-element-4bdde7e{width:var( --container-widget-width, 364px );max-width:364px;--container-widget-width:364px;--container-widget-flex-grow:0;text-align:justify;font-size:16px;line-height:30px;letter-spacing:1px;color:#333333;}.elementor-9 .elementor-element.elementor-element-6f46794{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-7be2c7b{--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:60px 60px;--row-gap:60px;--column-gap:60px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-3b72f2c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-68e52b9{text-align:center;}.elementor-9 .elementor-element.elementor-element-68e52b9 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:40px;text-transform:uppercase;line-height:36px;color:#0E4066;}.elementor-9 .elementor-element.elementor-element-0e740ac{--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-9 .elementor-element.elementor-element-ac9ea00{--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-9 .elementor-element.elementor-element-ac9ea00:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-ac9ea00 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.aoyamayobiko.com/wp-content/uploads/2026/01/img_75.jpg");background-position:center right;background-repeat:no-repeat;background-size:cover;}.elementor-9 .elementor-element.elementor-element-ae3e31e{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-7efdfdd{width:var( --container-widget-width, 180px );max-width:180px;--container-widget-width:180px;--container-widget-flex-grow:0;text-align:start;}.elementor-9 .elementor-element.elementor-element-33c32be{width:var( --container-widget-width, 180px );max-width:180px;--container-widget-width:180px;--container-widget-flex-grow:0;text-align:start;}.elementor-9 .elementor-element.elementor-element-c56c3b1{--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:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-3fbb5c7{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-8fb432c{text-align:center;}.elementor-9 .elementor-element.elementor-element-8fb432c .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:40px;text-transform:uppercase;line-height:36px;color:#0E4066;}.elementor-9 .elementor-element.elementor-element-1d91459{width:100%;max-width:100%;}.elementor-9 .elementor-element.elementor-element-fc34bfb{--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;}@media(min-width:768px){.elementor-9 .elementor-element.elementor-element-a28eb7d{--content-width:900px;}.elementor-9 .elementor-element.elementor-element-5d05d5a{--width:600px;}.elementor-9 .elementor-element.elementor-element-aa2734a{--width:700px;}.elementor-9 .elementor-element.elementor-element-d161985{--width:600px;}.elementor-9 .elementor-element.elementor-element-a4e7d4d{--width:460px;}.elementor-9 .elementor-element.elementor-element-0d52a4e{--width:90%;}.elementor-9 .elementor-element.elementor-element-2f2feb9{--width:86%;}.elementor-9 .elementor-element.elementor-element-0ccb8aa{--width:34px;}.elementor-9 .elementor-element.elementor-element-78198bf{--width:80%;}.elementor-9 .elementor-element.elementor-element-e78ccaf{--width:34px;}.elementor-9 .elementor-element.elementor-element-8383226{--width:80%;}.elementor-9 .elementor-element.elementor-element-6225046{--width:34px;}.elementor-9 .elementor-element.elementor-element-06bbc3f{--width:80%;}.elementor-9 .elementor-element.elementor-element-75f5633{--width:34px;}.elementor-9 .elementor-element.elementor-element-ca277c7{--width:80%;}.elementor-9 .elementor-element.elementor-element-ceae214{--width:160px;}.elementor-9 .elementor-element.elementor-element-ef720ed{--width:600px;}.elementor-9 .elementor-element.elementor-element-ae3e31e{--width:600px;}}@media(max-width:767px){.elementor-9 .elementor-element.elementor-element-05f90b4{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-a28eb7d{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-da99e04 .elementor-heading-title{font-size:28px;line-height:1.4em;}.elementor-9 .elementor-element.elementor-element-c69596a{font-size:14px;line-height:1.6em;}.elementor-9 .elementor-element.elementor-element-a1889c2{padding:40px 0px 40px 0px;}.elementor-9 .elementor-element.elementor-element-8598953{--gap:40px 40px;--row-gap:40px;--column-gap:40px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-3644b00{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-4ac7057{width:var( --container-widget-width, 214px );max-width:214px;--container-widget-width:214px;--container-widget-flex-grow:0;}.elementor-9 .elementor-element.elementor-element-4ac7057 .elementor-heading-title{font-size:14px;}.elementor-9 .elementor-element.elementor-element-067a9ab{--container-widget-width:275px;--container-widget-flex-grow:0;width:var( --container-widget-width, 275px );max-width:275px;}.elementor-9 .elementor-element.elementor-element-067a9ab .elementor-heading-title{font-size:24px;line-height:1.4em;}.elementor-9 .elementor-element.elementor-element-4e89b86{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-9 .elementor-element.elementor-element-c3b4c64{--min-height:880px;--justify-content:flex-end;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-c3b4c64:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-c3b4c64 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:top center;}.elementor-9 .elementor-element.elementor-element-d161985{--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-9 .elementor-element.elementor-element-323986f{font-size:14px;line-height:1.6em;}.elementor-9 .elementor-element.elementor-element-6879ca7 .elementor-heading-title{font-size:14px;}.elementor-9 .elementor-element.elementor-element-4619000{--e-icon-list-icon-size:8px;}.elementor-9 .elementor-element.elementor-element-4619000 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-9 .elementor-element.elementor-element-4619000 .elementor-icon-list-item > a{font-size:14px;line-height:1.6em;}.elementor-9 .elementor-element.elementor-element-310b302{font-size:14px;line-height:1.6em;}.elementor-9 .elementor-element.elementor-element-f9fb1d3{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-eced758 .elementor-heading-title{font-size:24px;line-height:0.8em;}.elementor-9 .elementor-element.elementor-element-e1ea455{width:100%;max-width:100%;}.elementor-9 .elementor-element.elementor-element-2f2feb9{--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-9 .elementor-element.elementor-element-a945116{font-size:14px;line-height:1.6em;}.elementor-9 .elementor-element.elementor-element-2392159{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-9 .elementor-element.elementor-element-6ff792f{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-9 .elementor-element.elementor-element-f522999{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-9 .elementor-element.elementor-element-31759b7 .elementor-heading-title{font-size:16px;}.elementor-9 .elementor-element.elementor-element-b5d05c1 .elementor-heading-title{font-size:24px;}.elementor-9 .elementor-element.elementor-element-3acef42{--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-9 .elementor-element.elementor-element-0ccb8aa{--width:20px;}.elementor-9 .elementor-element.elementor-element-90cc2c8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-9 .elementor-element.elementor-element-90cc2c8 .elementor-heading-title{font-size:14px;line-height:1em;}.elementor-9 .elementor-element.elementor-element-b100b2b{width:var( --container-widget-width, 4px );max-width:4px;--container-widget-width:4px;--container-widget-flex-grow:0;}.elementor-9 .elementor-element.elementor-element-007d08f{--width:83%;}.elementor-9 .elementor-element.elementor-element-3be8004 .elementor-heading-title{font-size:22px;}.elementor-9 .elementor-element.elementor-element-e66014b{font-size:14px;line-height:1.6em;}.elementor-9 .elementor-element.elementor-element-78198bf.e-con{--order:-99999 /* order start hack */;}.elementor-9 .elementor-element.elementor-element-9dff685{--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-9 .elementor-element.elementor-element-f16ad66{--min-height:0px;}.elementor-9 .elementor-element.elementor-element-15a36c6 .elementor-heading-title{font-size:16px;}.elementor-9 .elementor-element.elementor-element-5df3573 .elementor-heading-title{font-size:24px;}.elementor-9 .elementor-element.elementor-element-c219df1{--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-9 .elementor-element.elementor-element-e78ccaf{--width:20px;}.elementor-9 .elementor-element.elementor-element-508396e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-9 .elementor-element.elementor-element-508396e .elementor-heading-title{font-size:14px;line-height:1em;}.elementor-9 .elementor-element.elementor-element-44cecbe{width:var( --container-widget-width, 4px );max-width:4px;--container-widget-width:4px;--container-widget-flex-grow:0;}.elementor-9 .elementor-element.elementor-element-b8155d5{--width:83%;}.elementor-9 .elementor-element.elementor-element-c946ba6 .elementor-heading-title{font-size:22px;}.elementor-9 .elementor-element.elementor-element-7fdc3a1{font-size:14px;line-height:1.6em;}.elementor-9 .elementor-element.elementor-element-43c7c3b{--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-9 .elementor-element.elementor-element-b3d4e87{--min-height:0px;}.elementor-9 .elementor-element.elementor-element-fadfc06 .elementor-heading-title{font-size:16px;}.elementor-9 .elementor-element.elementor-element-e6c3884 .elementor-heading-title{font-size:24px;}.elementor-9 .elementor-element.elementor-element-826ee12{--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-9 .elementor-element.elementor-element-6225046{--width:20px;}.elementor-9 .elementor-element.elementor-element-e2a5480{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-9 .elementor-element.elementor-element-e2a5480 .elementor-heading-title{font-size:14px;line-height:1em;}.elementor-9 .elementor-element.elementor-element-a917c52{width:var( --container-widget-width, 4px );max-width:4px;--container-widget-width:4px;--container-widget-flex-grow:0;}.elementor-9 .elementor-element.elementor-element-5e90ef3{--width:83%;}.elementor-9 .elementor-element.elementor-element-a4f4b61{width:var( --container-widget-width, 248px );max-width:248px;--container-widget-width:248px;--container-widget-flex-grow:0;}.elementor-9 .elementor-element.elementor-element-a4f4b61 .elementor-heading-title{font-size:22px;line-height:1.2em;}.elementor-9 .elementor-element.elementor-element-453bc9f{font-size:14px;line-height:1.6em;}.elementor-9 .elementor-element.elementor-element-add45ed{--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-9 .elementor-element.elementor-element-9c50049{--min-height:0px;}.elementor-9 .elementor-element.elementor-element-9ef5e75 .elementor-heading-title{font-size:16px;}.elementor-9 .elementor-element.elementor-element-43d71ae .elementor-heading-title{font-size:24px;}.elementor-9 .elementor-element.elementor-element-a84460e{--min-height:190px;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-9 .elementor-element.elementor-element-75f5633{--width:20px;}.elementor-9 .elementor-element.elementor-element-9e075a8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-9 .elementor-element.elementor-element-9e075a8 .elementor-heading-title{font-size:14px;line-height:1em;}.elementor-9 .elementor-element.elementor-element-7143a53{width:var( --container-widget-width, 4px );max-width:4px;--container-widget-width:4px;--container-widget-flex-grow:0;}.elementor-9 .elementor-element.elementor-element-5b14616{--width:83%;}.elementor-9 .elementor-element.elementor-element-8b30054{width:var( --container-widget-width, 225px );max-width:225px;--container-widget-width:225px;--container-widget-flex-grow:0;}.elementor-9 .elementor-element.elementor-element-8b30054 .elementor-heading-title{font-size:22px;line-height:1.2em;}.elementor-9 .elementor-element.elementor-element-7e99775{font-size:14px;line-height:1.6em;}.elementor-9 .elementor-element.elementor-element-ca277c7.e-con{--order:-99999 /* order start hack */;}.elementor-9 .elementor-element.elementor-element-ceae214{--width:110px;}.elementor-9 .elementor-element.elementor-element-6cf6c94{--container-widget-width:50px;--container-widget-flex-grow:0;width:var( --container-widget-width, 50px );max-width:50px;}.elementor-9 .elementor-element.elementor-element-d0c98e3{--container-widget-width:50px;--container-widget-flex-grow:0;width:var( --container-widget-width, 50px );max-width:50px;}.elementor-9 .elementor-element.elementor-element-9ac29ce{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:40px;--padding-bottom:040px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-9ac29ce:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-9ac29ce > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-repeat:repeat;}.elementor-9 .elementor-element.elementor-element-57c1d29{--container-widget-width:275px;--container-widget-flex-grow:0;width:var( --container-widget-width, 275px );max-width:275px;}.elementor-9 .elementor-element.elementor-element-57c1d29 .elementor-heading-title{font-size:24px;line-height:1.2em;}.elementor-9 .elementor-element.elementor-element-0af8185{--margin-top:-60px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-9 .elementor-element.elementor-element-87d8afa{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-d27e5f2{--min-height:670px;--justify-content:flex-end;--overlay-opacity:0;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-d27e5f2:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-d27e5f2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:top center;}.elementor-9 .elementor-element.elementor-element-ef720ed{--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-9 .elementor-element.elementor-element-83b9594 .elementor-heading-title{font-size:18px;}.elementor-9 .elementor-element.elementor-element-4bdde7e{font-size:14px;line-height:1.6em;}.elementor-9 .elementor-element.elementor-element-7be2c7b{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-68e52b9 .elementor-heading-title{font-size:24px;line-height:1em;}.elementor-9 .elementor-element.elementor-element-ac9ea00:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-ac9ea00 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.aoyamayobiko.com/wp-content/uploads/2026/01/img_76.jpg");background-position:top center;background-repeat:no-repeat;background-size:contain;}.elementor-9 .elementor-element.elementor-element-ac9ea00{--min-height:1040px;--justify-content:flex-end;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-ae3e31e{--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-9 .elementor-element.elementor-element-7efdfdd{--container-widget-width:110px;--container-widget-flex-grow:0;width:var( --container-widget-width, 110px );max-width:110px;}.elementor-9 .elementor-element.elementor-element-7efdfdd.elementor-element{--align-self:flex-end;}.elementor-9 .elementor-element.elementor-element-33c32be{--container-widget-width:110px;--container-widget-flex-grow:0;width:var( --container-widget-width, 110px );max-width:110px;}.elementor-9 .elementor-element.elementor-element-33c32be.elementor-element{--align-self:flex-end;}.elementor-9 .elementor-element.elementor-element-c56c3b1{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-9 .elementor-element.elementor-element-8fb432c .elementor-heading-title{font-size:22px;line-height:1em;}}/* Start custom CSS for html, class: .elementor-element-bba6ecf *//* =========================
   1. HERO基本構造 & スクロール制御
========================= */
.hero {
    position: relative;
    margin-left: 260px;
    width: calc(100% - 260px);
    height: 100vh;
    overflow: hidden;
    background-color: #000;
    transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 1;
}
.hero.is-scrolled { margin-left: 0; width: 100%; }

.hero-left, .hero-right {
    position: absolute;
    top: 0; bottom: 0; width: 50% !important;
    background-size: cover; background-position: center;
}
.hero-left { left: 0; }
.hero-right { right: 0; }

/* 背景の視認性向上グラデーション */
.hero-left::after, .hero-right::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 50%);
    z-index: 1;
}

/* --- アニメーション用の白い幕 --- */
.hero-left::before, .hero-right::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #fff;
    z-index: 5;
    transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1);
}
.hero.is-active .hero-left::before { transform: translateY(-100%); }
.hero.is-active .hero-right::before { transform: translateY(100%); }

/* =========================
   2. 各コンテンツ配置 & 初期状態(非表示)
========================= */

/* 右上の縦書きテキスト */
.hero-vertical-text {
    position: absolute;
    top: 40px; right: 40px;
    z-index: 20;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-size: 1.4rem;
    letter-spacing: 0.3em;
    color: #333333;
    text-shadow: 0 0 10px #fff, 0 0 20px #fff;
    opacity: 0;
    transform: translateY(-20px);
    transition: all 1s ease-out;
}
.hero-vertical-text span { margin: 0.3em 0; display: inline-block; }

/* 中央ロゴ・タイトル */
.hero-center {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 10;
    color: #333333;
    letter-spacing: 0.4em;
    text-shadow: 0 0 10px #fff, 0 0 20px #fff;
    /* ロゴの光彩が切れないように幅を確保 */
    width: 100%; 
}

.hero-logo {
    width: 90px;
    height: auto;
    opacity: 0;
    /* 光彩が切れないように上下にpaddingを確保 */
    padding: 20px 0; 
    filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 10px #fff) blur(10px);
    transform: translateY(20px);
    transition: all 1s ease-out;
    margin-bottom: 5px; /* paddingを増やしたのでmarginは調整 */
}

.hero-title .hero-english { 
    font-family: "Times New Roman", serif; 
    font-size: 2rem; 
    font-weight: 500; 
    opacity: 0; transform: translateY(20px); transition: all 1s ease-out;
}
.hero-title .hero-japanese { 
    font-family: "Hiragino Mincho ProN", serif; 
    font-size: 1.0rem; 
    opacity: 0; transform: translateY(20px); transition: all 1s ease-out;
}

/* 下部情報 */
.hero-bottom {
    position: absolute;
    bottom: 80px; left: 50%;
    transform: translate(-50%, 30px);
    z-index: 10;
    text-align: center;
    opacity: 0;
    transition: all 1s ease-out;
}
.footer-info { 
    color: #fff; 
    font-family: "Hiragino Mincho ProN", serif; 
    margin-bottom: 15px;
    line-height: 1.6;
}
.footer-info .location { font-size: 1.6rem; font-weight: 500; }
.footer-info .date { font-size: 2.6rem; font-weight: bold; }

.footer-cta {
    display: inline-block;
    padding: 12px 48px;
    border: 2px solid #fff;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(2px);
    font-weight: bold;
    transition: 0.3s;
}

/* =========================
   3. アニメーション着火 (is-active)
========================= */
.hero.is-active .hero-logo {
    opacity: 1; transform: translateY(0);
    filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 10px #fff) blur(0);
    transition-delay: 0.8s;
}
.hero.is-active .hero-english { opacity: 1; transform: translateY(0); transition-delay: 1.2s; }
.hero.is-active .hero-japanese { opacity: 1; transform: translateY(0); transition-delay: 1.5s; }
.hero.is-active .hero-vertical-text { opacity: 1; transform: translateY(0); transition-delay: 1.8s; }
.hero.is-active .hero-bottom { opacity: 1; transform: translate(-50%, 0); transition-delay: 2.3s; }

/* =========================
   4. レスポンシブ (スマホ)
========================= */
@media (max-width: 900px) {
    .hero, .hero.is-scrolled { margin-left: 0; width: 100%; }
    .hero-left, .hero-right { width: 50% !important; height: 100%; }
    .hero-right { top: 0; }

    /* スマホ用ロゴ調整：光彩が切れないようにpaddingを多めに設定 */
    .hero-logo { 
        width: 60px; 
        padding: 30px 0; 
        filter: drop-shadow(0 0 6px #fff) drop-shadow(0 0 12px #fff) blur(10px);
    }
    .hero.is-active .hero-logo {
        filter: drop-shadow(0 0 6px #fff) drop-shadow(0 0 12px #fff) blur(0);
    }

    .hero-vertical-text { top: 100px; right: 14px; font-size: 0.9rem; }
    .hero-center { text-shadow: 0 0 15px #fff, 0 0 25px #fff; }
    
    .footer-info .location { font-size: 1.0rem; }
    .footer-info .date { font-size: 1.4rem; }
    .footer-cta { padding: 10px 30px; font-size: 1.0rem; }
}
/* --- 1. ボタン自体の設定修正 --- */
.footer-cta {
    display: inline-block;
    padding: 12px 48px;
    border: 2px solid #fff;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(2px);
    font-weight: bold;
    transition: 0.3s;
    /* 光るアニメーションを追加：3秒かけてゆっくり繰り返す */
    animation: cta-glow 3s ease-in-out infinite;
    /* 初期の影を設定 */
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

/* --- 2. ホバー時の挙動を強化 --- */
.footer-cta:hover {
    background: #fff;
    color: #152535;
    transform: translateY(-2px);
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
    animation: none; /* ホバー時はアニメーションを止めてパキッとさせる */
}

/* --- 3. ふわふわ光るアニメーションの定義 --- */
@keyframes cta-glow {
    0%, 100% {
        box-shadow: 0 0 10px rgba(255, 255, 255, 0.2), 
                    inset 0 0 5px rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.6);
    }
    50% {
        box-shadow: 0 0 25px rgba(255, 255, 255, 0.6), 
                    inset 0 0 10px rgba(255, 255, 255, 0.2);
        border-color: rgba(255, 255, 255, 1);
        transform: scale(1.02); /* わずかに膨らむことで「呼吸」を表現 */
    }
}

/* --- 4. スマホ用の調整（光りすぎを抑える） --- */
@media (max-width: 900px) {
    .footer-cta {
        padding: 10px 30px;
        font-size: 1.0rem;
        /* スマホは少し控えめに */
        animation: cta-glow-sp 3s ease-in-out infinite;
    }
}

@keyframes cta-glow-sp {
    0%, 100% { box-shadow: 0 0 8px rgba(255, 255, 255, 0.3); }
    50% { box-shadow: 0 0 18px rgba(255, 255, 255, 0.5); transform: scale(1.02); }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e714b46 *//* wrapは動かさない（右シフト防止） */
.ae-event-wrap{
  width: 100%;
  margin: 0;
  padding: 0;
  position: static;
}

/* 1140の器 + Offset Both */
.ae-event-swiper{
  max-width: var(--ae-max);
  margin: 0 auto;
  padding-left: var(--ae-offset);
  padding-right: var(--ae-offset);
  box-sizing: border-box;
  position: relative;
  overflow: visible; /* 矢印を切らない */
}

/* Swiperは壊さない（width固定/gapは禁止） */
.ae-event-swiper .swiper-wrapper{ align-items: stretch; }
.ae-event-swiper .swiper-slide{
  box-sizing: border-box;
  height: auto;
  flex-shrink: 0;
  /* カード最小幅：潰れてスクショ型が壊れるのを防ぐ */
  min-width: 360px;
}
@media (max-width: 1024px){
  .ae-event-swiper .swiper-slide{ min-width: 320px; }
}
@media (max-width: 767px){
  .ae-event-swiper .swiper-slide{ min-width: 86%; } /* SPはチラ見せ */
}
.ae-event-swiper{ touch-action: pan-y; }

/* Card：上罫線のみ */
.ae-event-card{
  border: 0;
  border-top: 1px solid rgba(0,0,0,.18);
  background: #fff;
  height: 100%;
}
.ae-event-link{
  display:block;
  color: inherit;
  text-decoration: none;
}

/* 内部レイアウト（スクショ型） */
.ae-event-inner{
  display:grid;
  grid-template-columns: 1fr 260px;
  grid-template-areas:
    "meta media"
    "title title";
  column-gap: 28px;
  row-gap: 14px;
  padding: 22px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}
.ae-event-meta{ grid-area: meta; align-self: center; min-width: 0; }
.ae-event-media{ grid-area: media; overflow: hidden; min-width: 0; }
.ae-event-titleRow{
  grid-area: title;
  display:grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

/* meta */
.ae-event-labelRow{ display:inline-flex; align-items:center; gap:10px; }
.ae-event-label{ font-size:12px; font-weight:500; letter-spacing:.12em; }
.ae-event-date{ margin-top:8px; font-size:14px; opacity:.75; letter-spacing:.08em; }
.ae-event-new{
  font-size:12px; line-height:1;
  padding:5px 16px;
  background: #eaeff0;
  border:1px solid rgba(0,0,0,.25);
  border-radius:999px;
  letter-spacing:.08em;
}

/* image */
.ae-event-media img{
  display:block;
  width: 100%;
  height: 150px;
  object-fit: cover;
}

/* title：1行… */
.ae-event-title{
  margin: 0;
  font-size: 16px;
 
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

/* arrow pill（カード内の矢印） */
.ae-event-arrow{
  width: 52px;
  height: 30px;
  border: 1px solid rgba(0,0,0,.22);
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 16px;
}

/* Swiper矢印（外のナビ） */
.ae-swiper-prev,.ae-swiper-next{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 999px;
  background: #fff;
  z-index: 9999;
  cursor: pointer;
}
.ae-swiper-prev{ left: 0; }
.ae-swiper-next{ right: 0; }
.ae-swiper-prev::before{ content:"←"; }
.ae-swiper-next::before{ content:"→"; }
.ae-swiper-prev::before,.ae-swiper-next::before{
  display:grid;
  place-items:center;
  height:100%;
}

/* dots */
.ae-swiper-pagination{
  margin-top: 16px;
  text-align: center;
}

/* SP：縦積み */
@media (max-width: 520px){
  .ae-event-inner{
    grid-template-columns: 1fr;
    grid-template-areas:
      "meta"
      "media"
      "title";
  }
  .ae-event-media img{ height: 180px; }
}
/* 左は60px内側、右は画面端へ（右は切れてOK） */
.ae-event-wrap{
  width: 100vw;
  margin-left: calc(50% - 50vw);  /* 右を画面端に合わせる基準 */
  margin-right: 0;

  padding-left: 60px;             /* ← 左だけ固定60px */
  padding-right: 0;               /* ← 右は余白なし */
  box-sizing: border-box;
}

/* 中の器は左寄せ（中央寄せしない） */
.ae-event-swiper{
  max-width: none !important;     /* 1140制限を外す（右を端まで出すため） */
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;

  overflow: hidden;               /* ← 右は“切れる” */
}

/* スライドが右にはみ出してOK（見切れ） */
.ae-event-swiper .swiper{
  overflow: visible;
}
/* 横スクロールは出さない */
html, body{ overflow-x: clip; }

/* 左60px・右は画面端で見切れ */
.ae-event-wrap{
  width: 100vw;
  margin-left: calc(0% - 0vw);
  padding-left: 0px;
  padding-right: 0;
  box-sizing: border-box;
}

/* ✅ 切るのはここだけ（外枠） */
.ae-event-swiper{
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;   /* ←右を見切れさせる */
}

/* ✅ Swiper本体は切らない（これ重要） */
.ae-event-swiper .swiper,
.ae-event-swiper .swiper-wrapper{
  overflow: visible !important;
}

/* 矢印は内側に固定（切れない） */
.ae-swiper-prev{ left: 10px !important; }
.ae-swiper-next{ right: 80px !important; }
/* 横スクロールは出さない */
html, body{ overflow-x: clip; }

/* 左60px / 右は画面端に合わせる（右は見切れOK） */
.ae-event-wrap{
  width: 100vw !important;
  margin-left: calc(0 - 0vw) !important;
  margin-right: 0 !important;
  padding-left: 0px !important;     /* ←固定 */
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* 右で切るのは外枠（Swiper内部は切らない） */
.ae-event-swiper{
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden !important;       /* ←右だけ見切れ */
}

/* Swiperは見切れさせない（動作維持） */
.ae-event-swiper .swiper,
.ae-event-swiper .swiper-wrapper{
  overflow: visible !important;
}

/* 矢印：内側に寄せる（切れない） */
.ae-swiper-prev{ left: 20px !important; }
.ae-swiper-next{ right: 90px !important; }

/* =========================
   画像幅は“縮めると一緒に縮む”を実現
   260px固定を捨てて可変にする
========================= */
.ae-event-inner{
  grid-template-columns: 1fr clamp(120px, 24vw, 240px) !important;
}

/* 画像も高さは固定、横は枠に追従 */
.ae-event-media img{
  width: 100% !important;
  height: 150px !important;
  object-fit: cover !important;
}

/* さらに狭い時は縦積みに逃す（崩れ防止） */
@media (max-width: 560px){
  .ae-event-inner{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "meta"
      "media"
      "title" !important;
  }
  .ae-event-media img{ height: 180px !important; }
}
/* 1140px帯は2カラムが安定する幅 */
.ae-event-swiper .swiper-slide{ min-width: 360px; }

@media (max-width: 1279px){
  .ae-event-swiper .swiper-slide{ min-width: 360px; } /* 2枚想定 */
}

/* 1280以上で3枚にしても潰れないよう少しだけ許容 */
@media (min-width: 1280px){
  .ae-event-swiper .swiper-slide{ min-width: 320px; }
}

/* SPはチラ見せ */
@media (max-width: 767px){
  .ae-event-swiper .swiper-slide{ min-width: 86%; }
}
/* ===== Pagination Dot 色 ===== */
.ae-event-swiper .swiper-pagination-bullet{
  background: #c9c9c9 !important;  /* 非アクティブ */
  opacity: 1 !important;
}

.ae-event-swiper .swiper-pagination-bullet-active{
  background: #111 !important;     /* アクティブ */
}

/* ついでにサイズも調整したい場合（任意） */
.ae-event-swiper .swiper-pagination-bullet{
  width: 7px;
  height: 7px;
}
/* =========================
   1. 基本設定（画面端への突き抜け）
========================= */
:root {
  --ae-max-width: 1140px; /* 器の最大幅 */
}

/* 横スクロール発生を防止 */
html, body { overflow-x: hidden; }

.ae-event-wrap {
  width: 100%;
  /* 左側を1140pxの器の端に合わせる計算（PC時） */
  padding-left: calc((100vw - var(--ae-max-width)) / 2);
  padding-right: 0;
  box-sizing: border-box;
}

@media (max-width: 1200px) {
  .ae-event-wrap {
    padding-left: 40px; /* タブレット時は固定余白に切り替え */
  }
}

@media (max-width: 767px) {
  .ae-event-wrap {
    padding-left: 20px; /* スマホ時はさらに詰める */
  }
}

/* Swiper外枠：右側を見切れさせる */
.ae-event-swiper {
  position: relative;
  overflow: hidden !important; 
  padding-bottom: 40px; /* ドット用の余白 */
}

/* Swiper内部：スライドが端まで動けるように */
.ae-event-swiper .swiper {
  overflow: visible !important;
}

/* =========================
   2. カード内部レイアウト（スクショ型）
========================= */
.ae-event-card {
  border-top: 1px solid rgba(0,0,0,.18);
  background: #fff;
  height: 100%;
}

.ae-event-inner {
  display: grid;
  /* 画像幅を可変(clamp)にし、テキスト領域(1fr)を確保 */
  grid-template-columns: 1fr clamp(100px, 20vw, 240px);
  grid-template-areas:
    "meta media"
    "title title";
  column-gap: clamp(15px, 2vw, 28px);
  row-gap: 12px;
  padding: 20px;
}

/* メディア（画像）のレスポンシブ */
.ae-event-media img {
  width: 100%;
  aspect-ratio: 16 / 9; /* 比率固定で崩れを防止 */
  object-fit: cover;
  border-radius: 4px;
}

/* タイトルの三点リーダー処理 */
.ae-event-title {
  font-size: clamp(15px, 2vw, 16px);
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =========================
   3. スライド幅のレスポンシブ調整
========================= */
.ae-event-swiper .swiper-slide {
  width: 420px; /* デフォルトPC幅 */
  max-width: 85vw; /* 画面からはみ出さないようガード */
  height: auto;
}

@media (max-width: 1024px) {
  .ae-event-swiper .swiper-slide { width: 360px; }
}

/* SP：縦積みレイアウトへの切り替え */
@media (max-width: 560px) {
  .ae-event-inner {
    grid-template-columns: 1fr;
    grid-template-areas:
      "meta"
      "media"
      "title";
  }
  .ae-event-media img {
    aspect-ratio: 16 / 10;
  }
  .ae-event-title {
    white-space: normal; /* スマホは2行まで許容しても良い */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}

/* =========================
   4. ナビゲーション（ドット・矢印）
========================= */
.ae-event-swiper .swiper-pagination-bullet {
  background: #c9c9c9 !important;
  opacity: 1 !important;
  width: 8px;
  height: 8px;
  transition: all .3s;
}

.ae-event-swiper .swiper-pagination-bullet-active {
  background: #111 !important;
  width: 24px; /* アクティブなドットを長くする（モダンな演出） */
  border-radius: 4px;
}

/* 矢印の位置調整 */
.ae-swiper-prev, .ae-swiper-next {
  display: none; /* スマホでは非表示、PCのみ表示が一般的 */
}

@media (min-width: 1025px) {
  .ae-swiper-prev, .ae-swiper-next {
    display: grid;
    top: -40px; /* カードの上側に配置するスタイル */
    right: 0;
    left: auto;
  }
  .ae-swiper-prev { right: 50px; }
}
/* 右端を見切れさせる設定を維持しつつ、ループ用のクローンが表示されるように */
.ae-event-swiper {
    position: relative;
    /* 右側を突き抜けさせるために overflow: hidden を解除、または調整 */
    overflow: hidden !important; 
}

.ae-event-swiper .swiper {
    /* クローンが即座に表示されるよう、visibleを強制 */
    overflow: visible !important;
}

/* ページ全体で横スクロールが出るのを防ぐ（必須） */
html, body {
    overflow-x: hidden;
}

/* スライドの幅を固定（slidesPerView: 'auto' の場合） */
.ae-event-swiper .swiper-slide {
    width: 420px; 
    height: auto;
}

@media (max-width: 767px) {
    .ae-event-swiper .swiper-slide {
        width: 86vw; /* スマホはチラ見せ */
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-da99e04 *//* ガウスぼかしからふわっと現れるアニメーション */
.text-blur-reveal {
  filter: blur(5px); /* 初期状態：5pxぼかす */
  opacity: 0;        /* 初期状態：透明 */
  transform: translateY(10px); /* 少し下からスタート */
  transition: filter 1s ease-out, opacity 1s ease-out, transform 1s ease-out; /* 1秒かけて変化 */
}

/* JavaScriptで追加されるクラス */
.text-blur-reveal.is-revealed {
  filter: blur(0);   /* ぼかしを解除 */
  opacity: 1;        /* 不透明に */
  transform: translateY(0); /* 通常の位置へ */
}

/* Elementorのエディター内で見失わないように、最初から表示 */
.elementor-editor-active .text-blur-reveal {
  filter: blur(0) !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a1889c2 *//* --- ベース設定 --- */
.ae-mosaic-pin {
  /* 固定されている時間を調整（スマホは短めに） */
  --ae-pin-scroll: 40vh; 
  position: relative;
  width: 100%;
}

.ae-mosaic-pin__sticky {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;   /* 垂直中央 */
  justify-content: center; /* 水平中央 */
  overflow: hidden;
}

.ae-mosaic {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: clamp(10px, 3vh, 30px); /* PCの縦幅を調整 */
  gap: 15px;
  width: 96%;
  max-width: 1100px;
  margin: 0 auto;
}

/* --- アニメーション設定（最初から表示させない） --- */
.ae-mosaic__item {
  opacity: 0 !important;
  visibility: hidden;
  transform: scale(0.6) translateY(30px);
  transition: 
    opacity 0.4s ease-out, 
    transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.2),
    visibility 0.4s;
}

.ae-mosaic__item.is-visible {
  opacity: 1 !important;
  visibility: visible;
  transform: scale(1) translateY(0);
}

.ae-mosaic__item img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 6px;
}

/* --- 各画像の配置（PC: 12列） --- */
.ae-mosaic__item.i1{ grid-column: 1 / span 3;  grid-row: 1 / span 5; }
.ae-mosaic__item.i2{ grid-column: 11 / span 2; grid-row: 3 / span 4; }
.ae-mosaic__item.i3{ grid-column: 4 / span 5;  grid-row: 2 / span 9; }
.ae-mosaic__item.i4{ grid-column: 9 / span 2;  grid-row: 1 / span 4; }
.ae-mosaic__item.i5{ grid-column: 1 / span 2;  grid-row: 7 / span 4; }
.ae-mosaic__item.i6{ grid-column: 3 / span 2;  grid-row: 8 / span 4; }
.ae-mosaic__item.i7{ grid-column: 9 / span 4; grid-row: 7 / span 6; }

/* --- モバイル対応（768px以下） --- */
@media screen and (max-width: 768px) {
  .ae-mosaic-pin { 
    --ae-pin-scroll: 30vh; /* スマホは遊びを短くしてサッと終わらせる */
  }
  
  .ae-mosaic {
    grid-template-columns: repeat(6, 1fr); /* モバイルは6列 */
    grid-auto-rows: clamp(15px, 5vh, 40px); /* 縦幅をスマホ用に調整 */
    gap: 8px;
    width: 92%;
  }

  /* モバイル専用の配置：画面内に収まるように再編 */
  .ae-mosaic__item.i1 { grid-column: 1 / span 3; grid-row: 1 / span 3; }
  .ae-mosaic__item.i2 { grid-column: 4 / span 3; grid-row: 1 / span 2; }
  .ae-mosaic__item.i3 { grid-column: 2 / span 5; grid-row: 5 / span 6; }
  .ae-mosaic__item.i4 { grid-column: 4 / span 2; grid-row: 3 / span 2; }
  .ae-mosaic__item.i5 { grid-column: 1 / span 2; grid-row: 8 / span 4; }
  .ae-mosaic__item.i6 { grid-column: 1 / span 2; grid-row: 4 / span 2; }
  .ae-mosaic__item.i7 { grid-column: 3 / span 4; grid-row: 11 / span 3; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2c02931 *//* スライダー全体のコンテナ */
.campaign-slider-wrapper {
    overflow: hidden;
    width: 100%;
}

.swiper {
    width: 100%;
    /* ページネーション等のスペースを確保 */
    padding-bottom: 60px !important;
}

/* カードのデザイン */
.prize-card-styled {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #eee;
    transition: transform 0.3s ease;
}

/* 画像部分 */
.card-image-placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-color: #f0f0f0;
    overflow: hidden;
}

.card-image-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* テキストコンテンツ */
.card-text-content {
    padding: 30px 20px;
    text-align: center;
}

/* タイトル：明朝体 */
.card-text-content h3 {
    font-family: "Sawarabi Mincho", "YuMincho", "Yu Mincho", "MS Mincho", serif;
    font-size: 1.4rem; /* PC版 */
    color: #333;
    margin-bottom: 15px;
    line-height: 1.5;
    font-weight: 600;
}

/* 本文：ゴシック体 */
.card-text-content p {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 0.95rem; /* PC版 */
    color: #555;
    line-height: 1.8;
    text-align: justify;
}

/* スライドの表示切り替え */
.swiper-slide {
    transition: opacity 0.4s ease, transform 0.4s ease;
    opacity: 0.3; /* 非アクティブを薄く */
    transform: scale(0.9); /* 非アクティブを少し小さく */
}

.swiper-slide-active {
    opacity: 1;
    transform: scale(1); /* アクティブ時のみ通常サイズ */
}

/* --- レスポンシブ調整 (900px以下 / スマホ) --- */
@media screen and (max-width: 900px) {
    .card-text-content {
        padding: 20px 15px; /* 余白を少し詰める */
    }

    /* 見出しを18pxに固定 */
    .card-text-content h3 {
        font-size: 18px !important;
        margin-bottom: 10px;
    }

    /* テキストを14pxに固定 */
    .card-text-content p {
        font-size: 14px !important;
        line-height: 1.6;
    }
    
    .swiper {
        padding-bottom: 40px !important;
    }
}
/* --- スクロールドット（中黒）のカスタマイズ --- */

/* 1. 通常（非アクティブ）のドットの色 */
.swiper-pagination-bullet {
    background: #ccc !important; /* お好みの薄いグレーなど */
    opacity: 1 !important;
}

/* 2. 現在地（アクティブ）のドットの色 */
.swiper-pagination-bullet-active {
    background: #333 !important; /* お好みの濃い色（黒など） */
}

/* 3. （オプション）ドットのサイズを調整したい場合 */
.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-01f0a07 *//* ボタン本体 */
.first-visit-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  /* 丸を大きくしたのでgapとpaddingを調整 */
  gap: 12px; 
  padding: 0px 32px 0px 0px; /* 左パディングを0にして丸が基準になるように */
  height: 54px;               /* 丸の高さに合わせる */
  border-radius: 999px;
  text-decoration: none;
  color: #333;
  overflow: hidden;
  cursor: pointer;
 

  /* フォント指定 */
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}

/* 左の青い丸：44px → 54px に拡大 */
.first-visit-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 54px;                /* サイズアップ */
  height: 54px;               /* サイズアップ */
  background: #184c7d;
  border-radius: 50%;
  transition: width 0.35s ease, border-radius 0.35s ease;
  z-index: 0;
}

/* 矢印アイコン */
.first-visit-btn__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;                /* 丸と同じサイズに */
  height: 54px;
}

.first-visit-btn__icon img {
  display: block;
  width: 20px;                /* 矢印も少しだけ大きく調整 */
  height: auto;
  filter: brightness(0) invert(1); /* 常に白く見せる場合 */
}

/* テキスト */
.first-visit-btn__text {
  position: relative;
  z-index: 1;
  font-size: 18px;
  font-weight: 600;           /* 500から600に変更 */
  letter-spacing: 0.08em;
  transition: color 0.35s ease;
  padding-left: 4px;          /* 丸との微調整 */
}

/* ホバー時：青が広がる */
.first-visit-btn:hover::before {
  width: 100%;
  border-radius: 999px;
}

.first-visit-btn:hover .first-visit-btn__text {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .first-visit-btn {
    height: 48px;             /* スマホでは少しコンパクトに */
  }
  .first-visit-btn::before,
  .first-visit-btn__icon {
    width: 48px;
    height: 48px;
  }
  .first-visit-btn__text {
    font-size: 16px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9985fe2 *//* 1. フォント読み込み */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;700&family=Noto+Sans+JP:wght@400;500&display=swap');

/* 2. 明朝体全体の基本設定 */
.mincho {
  font-family: "Noto Serif JP", serif !important;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em;
}

/* 3. キャッチコピー見出しのデザイン */
.highlight-title {
  color: #333;
  line-height: 1.6;
  text-align: left;
  margin: 0;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
}

/* 「小さい文字」 */
.highlight-title .small {
  font-size: 1.8rem; /* PCサイズ */
  display: block;
  margin-bottom: 0.4em;
  letter-spacing: 0.10em;
  color: #333333;
}

/* 「大きい文字」 */
.highlight-title .large {
  font-size: 2.8rem; /* PCサイズ */
  font-weight: 700;
  display: inline-block;
  line-height: 1.2;
}

/* 4. 「」左右個別の究極調整 */
.bracket-l, .bracket-r {
  display: inline-block;
  font-family: "Noto Serif JP", serif !important;
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1;
  font-feature-settings: "palt" 0;
}

.bracket-l {
  margin-right: -0.1em;
  margin-left: -0.5em; 
  vertical-align: 0.35em;
}

.bracket-r {
  margin-left: -0.1em;
  vertical-align: -0.15em;
}

/* --- 5. レスポンシブ調整（モバイル） --- */
@media screen and (max-width: 768px) {
  /* 大きい文字部分を 22px に固定 */
  .highlight-title .large {
    font-size: 24px !important;
    line-height: 1.3;
  }

  /* 小さい文字部分を 18px に固定 */
  .highlight-title .small {
    font-size: 18px !important;
    margin-bottom: 0.3em;
    letter-spacing: 0.05em;
  }

  /* 22pxに合わせたカギ括弧の再調整 */
  .bracket-l, .bracket-r {
    font-size: .8em; /* 文字に対して少し大きめを維持 */
  }
  
  .bracket-l {
    margin-left: -0.45em; /* 行頭のインデントを微調整 */
    vertical-align: 0.1em; /* 22pxの高さに合わせて中央寄せ */
  }

  .bracket-r {
    vertical-align: -0.12em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c7f1479 *//* --- 背景2分割設定 --- */
.split-background-section {
    width: 100%;
    /* PC: 左半分 #f2f7f8, 右半分 #eaeff0 */
    background: linear-gradient(90deg, #f2f7f8 50%, #eaeff0 50%);
    padding: 80px 0;
}

.comparison-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    padding: 0 40px;
    gap: 20px;
}

.comparison-card {
    flex: 1;
    padding: 0 15px;
}

/* --- タイトル：上下に罫線（明朝体） --- */
.border-title {
    color: #0e4066;
    font-size: 1.8rem;
    margin: 0;
    text-align: center;
    padding: 30px 0; 
    line-height: 1.3;
    border-top: 1px solid #0e4066;
    border-bottom: 1px solid #0e4066;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    font-family: "Noto Serif JP", serif;
}

.card-header {
    display: flex;
    align-items: center;
    margin-bottom: 35px;
    margin-top: 40px;
}

.card-main-img { width: 35%; }
.card-main-img img { width: 100%; height: auto; border-radius: 10px; }

.card-title-area {
    width: 65%;
    margin-left: 20px;
}

/* リスト部分 */
.card-body {
    display: flex;
    justify-content: space-between;
    align-items: center; /* 垂直中央で白窓と並べる */
    gap: 20px;
}

.check-list {
    list-style: none;
    padding: 0; margin: 0;
    width: 55%;
}

.check-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 15px;
    font-size: 1rem;
    line-height: 1.6;
    color: #333;
    font-family: "Noto Sans JP", sans-serif;
}

.check-list li::before {
    content: "●";
    position: absolute;
    left: 0;
    font-size: 0.8rem;
    color: #0e4066;
}

/* --- 白窓：ゴシック体（ゆらゆらアニメーション） --- */
.highlight-box.gothic {
    width: 45%;
    background: #fff;
    padding: 25px 15px;
    text-align: center;
    position: relative;
    box-shadow: 0 10px 25px rgba(0,0,0,0.07);
    border-radius: 15px;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    animation: yura-yura 3s ease-in-out infinite;
}

.highlight-box.gothic p {
    font-size: 1rem;
    color: #0e4066;
    font-weight: 700;
    line-height: 1.6;
    margin: 0;
}

.highlight-box .icon { width: 50px; margin: 0 auto 15px; }

/* 吹き出しの三角（PCのみ表示） */
.highlight-box::before {
    content: "";
    position: absolute;
    left: -15px;
    top: 50%;
    transform: translateY(-50%);
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-right: 15px solid #fff;
}

/* ゆらゆらアニメーション */
@keyframes yura-yura {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

/* --- 【レスポンシブ】スマホ・タブレット対応 (950px以下) --- */
@media screen and (max-width: 950px) {
    .split-background-section {
        background: #eaeff0; /* 背景分割を解除して1色に */
        padding: 50px 0;
    }

    .comparison-container {
        flex-direction: column; /* 縦並び */
        padding: 0 20px;
        gap: 80px; /* カード同士の間隔 */
    }

    .border-title {
        font-size: 18px !important; /* ご指定のサイズ */
        padding: 20px 10px;
    }

    .card-header {
        flex-direction: column; /* 画像とタイトルを縦に */
        text-align: center;
        margin-bottom: 25px;
    }

    .card-main-img { width: 60%; margin-bottom: 20px; }
    .card-title-area { width: 100%; margin-left: 0; }

    .card-body {
        flex-direction: column; /* リストと白窓を縦に */
        gap: 30px;
    }

    .check-list { 
        width: 100%;
        padding: 0 10px;
    }

    .check-list li {
        font-size: 14px !important; /* ご指定のサイズ */
    }

    .highlight-box.gothic {
        width: 90%;
        max-width: 350px;
        margin: 0 auto;
        padding: 30px 20px;
    }

    .highlight-box.gothic p {
        font-size: 14px !important; /* ご指定のサイズ */
    }

    /* 縦並びになるので、横向きの三角を消すか下向きに変える */
    .highlight-box::before {
        left: 50%;
        top: -15px;
        transform: translateX(-50%);
        border-left: 12px solid transparent;
        border-right: 12px solid transparent;
        border-bottom: 15px solid #fff;
        border-top: none;
    }
}
/* --- 背景設定 --- */
.split-background-section {
    width: 100%;
    /* PC: 左右分割 */
    background: linear-gradient(90deg, #f2f7f8 50%, #eaeff0 50%);
    padding: 80px 0;
}

.comparison-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    padding: 0 40px;
}



/* --- タイトル：18px設定 --- */
.border-title {
    color: #0e4066;
    font-size: 1.8rem;
    margin: 0;
    text-align: center;
    padding: 30px 0; 
    border-top: 1px solid #0e4066;
    border-bottom: 1px solid #0e4066;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Noto Serif JP", serif;
}

/* --- 白窓：ゆらゆら設定 --- */
.highlight-box.gothic {
    width: 45%;
    background: #fff;
    padding: 25px 10px;
    text-align: center;
    position: relative;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    border-radius: 12px;
    font-family: sans-serif;
    animation: yura-yura 3s ease-in-out infinite;
}

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

/* --- レスポンシブ (950px以下) --- */
@media screen and (max-width: 950px) {
    .split-background-section {
        /* スマホ: 上下分割 (50%の位置で色を分ける) */
        background: linear-gradient(180deg, #f2f7f8 50%, #eaeff0 50%);
        padding: 60px 0;
    }

    .comparison-container {
        flex-direction: column;
        padding: 0 20px;
        gap: 0; /* 背景を密着させるため一旦0に */
    }

    .comparison-card {
        padding: 40px 10px; /* カード内の余白で間隔を調整 */
    }

    /* 見出しを18pxに固定 */
    .border-title {
        font-size: 18px !important;
        padding: 20px 0;
    }

    .card-header {
        flex-direction: column;
        text-align: center;
    }

    .card-main-img { width: 50%; margin-bottom: 15px; }
    .card-title-area { width: 100%; margin-left: 0; }

    .card-body {
        flex-direction: column;
        align-items: center;
        gap: 25px;
    }

    /* リストテキストを14pxに固定 */
    .check-list { width: 100%; }
    .check-list li {
        font-size: 14px !important;
        padding-left: 20px;
    }

    /* 白窓テキストを14pxに固定 */
    .highlight-box.gothic {
        width: 100%;
        max-width: 300px;
    }
    .highlight-box.gothic p {
        font-size: 14px !important;
    }

    /* スマホでは吹き出しの三角を上に配置 */
    .highlight-box::before {
        left: 50%;
        top: -15px;
        transform: translateX(-50%);
        border-right: 12px solid transparent;
        border-left: 12px solid transparent;
        border-bottom: 15px solid #fff;
        border-top: none;
    }
}
@media screen and (max-width: 950px) {
    /* 1. セクション全体のパディングをさらに削る */
    .split-background-section {
        padding: 20px 0 !important;
    }

    /* 2. カードのヘッダー（画像とタイトルの塊）の余白をカット */
    .card-header {
        margin-top: -10px !important;    /* 画像の上の隙間 */
        margin-bottom: 10px !important; /* タイトルの下の隙間 */
    }

    /* 3. 画像自体のサイズと下の余白を調整 */
    .card-main-img {
        width: 140px !important; /* 画像が大きすぎると縦に伸びるので固定 */
        margin-bottom: 5px !important;
    }

    /* 4. タイトル（二本線）の上下の余白を最小限に */
    .border-title {
        font-size: 18px !important;
        padding: 20px 0 !important; /* 30pxから10pxへ短縮 */
        line-height: 1.2 !important;
        width: 100% !important;
    }

    /* 5. リスト部分（自学型の〜）の上の余白を詰める */
    .card-body {
        margin-top: 0 !important;
        gap: 15px !important;
    }

    /* 6. リスト項目間の隙間も少し詰める */
    .check-list li {
        margin-bottom: 5px !important;
        font-size: 14px !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e1ea455 *//* セクション全体 */
.venn-section {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 00px 00px;
  overflow: hidden;
  background-color: transparent; /* 背景に馴染ませる */
}

/* ベン図のコンテナ 
  画面幅に合わせて自動伸縮。最大600px 
*/
.venn-wrapper {
  position: relative;
  width: 100%;
  max-width: 550px; 
  aspect-ratio: 1 / 0.9; /* 黄金比に近い高さ設定 */
  margin: 0 auto;
}

/* 円の共通設定：サイズを％に */
.venn-circle {
  position: absolute;
  width: 55%; /* 親要素(550px)の55% = 約300px */
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  mix-blend-mode: multiply; /* 重なりを表現 */

  /* アニメーション */
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transition-delay: calc(var(--delay) * 0.2s);
}

.venn-circle.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 配置設定（％で指定することで、画面が小さくなっても形を維持）
*/
.circle-top { 
  background-color: #E2EBC2; 
  top: 0%; 
  left: 22%; 
  transform: translateX(-50%); /* 中央配置 */
}
.circle-top.is-visible { transform: translateX(-50%) translateY(0); }

.circle-left { 
  background-color: #D6EAF3; 
  bottom: 0%; 
  left: 0%; 
}

.circle-right { 
  background-color: #B2D8C9; /* 色味を調整 */
  bottom: 0%; 
  right: 0%; 
}

/* 内部の文字・アイコン */
.venn-inner { padding: 10%; width: 100%; }
.venn-icon { width: 18%; height: auto; margin: 0 auto 10px; }
.venn-inner h3 { font-family: "Noto Serif JP", serif; font-size: clamp(1rem, 4vw, 1.25rem); font-weight: 600; margin-bottom: 2px; color: #333; }
.venn-inner .en { font-weight: bold; font-size: 0.75rem; margin-bottom: 8px; color: #666; }
.venn-inner .desc { font-size: clamp(0.7rem, 2.5vw, 0.85rem); line-height: 1.5; color: #444; }

/* スマホ用調整（文字が小さくなりすぎないように） */
@media (max-width: 480px) {
  .venn-wrapper {
    max-width: 100%; /* 画面端に寄りすぎないように */
  }
  .venn-inner h3 { margin-bottom: 0; }
  .venn-inner .desc { display: none; } /* スマホで重なりが厳しい場合は説明文を隠すのも手 */
}

/* Elementorプレビュー用 */
.elementor-editor-active .venn-circle {
  opacity: 1 !important;
  transform: none !important;
}
/* --- 配置設定：ここを差し替え --- */

/* 上の円：PLAN */
.circle-top { 
  background-color: #E2EBC2; 
  top: 0; 
  left: 50% !important; /* 常に親要素の横幅50%の位置に基準点を置く */
  transform: translateX(-50%) translateY(20px); /* 自身の幅の半分左に戻す */
}

/* 左の円：FOCUS */
.circle-left { 
  background-color: #D6EAF3; 
  bottom: 0; 
  left: 0; /* 左端に配置 */
}

/* 右の円：UNDERSTAND */
.circle-right { 
  background-color: #B2D8C9; 
  bottom: 0; 
  right: 0; /* 右端に配置 */
}

/* アニメーション発火時の設定（中央位置を維持しながら浮き上がる） */
.circle-top.is-visible { 
  opacity: 1;
  transform: translateX(-50%) translateY(0); 
}

/* --- レスポンシブ調整 --- */

/* PC・タブレットサイズ */
@media (min-width: 768px) {
  .venn-wrapper {
    max-width: 500px; /* PCでは少し引き締まったサイズに */
    margin: 40px auto;
  }
}

/* スマホサイズ */
@media (max-width: 767px) {
  .venn-wrapper {
    width: 90%; /* 画面幅いっぱいに広げすぎない */
    max-width: 320px; /* 円が重なりすぎないサイズ */
    margin: 0px auto;
  }
  .venn-inner h3 {
    font-size: 14px;
    margin-bottom: 0;
  }
  .venn-inner .en {
    font-size: 10px;
    margin-bottom: 5px;
  }
  .venn-icon {
    width: 24px;
    margin-bottom: 4px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-23c0bd6 *//* 1. フォント読み込み（既にある場合は不要） */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;700&display=swap');

.mincho {
  font-family: "Noto Serif JP", serif !important;
  font-feature-settings: "palt" 1, "pkna" 1;
}

/* 新キャッチコピー専用クラス */
.highlight-title-v2 {
  color: #333333;
  line-height: 1.6; 
  text-align: left;
  margin: 0;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
}

/* 「青山予備校が伸ばすのは、」部分 */
.highlight-title-v2 .small {
  font-size: 1.2rem; /* PCサイズ */
  display: block;
  margin-bottom: 0.2em;
  letter-spacing: 0.08em;
  color: #333333;
}

/* 「自分で学べる子」などメイン部分 */
.highlight-title-v2 .large {
  font-size: 2.4rem; /* PCサイズ */
  font-weight: 600;
  display: inline-block;
  line-height: 1.1; 
  letter-spacing: -0.02em;
}

/* 「」左右共通設定 */
.highlight-title-v2 .bracket-l, 
.highlight-title-v2 .bracket-r {
  display: inline-block;
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1;
  font-family: "Noto Serif JP", serif !important;
}

/* 左側「 位置調整 */
.highlight-title-v2 .bracket-l {
  vertical-align: 0.18em; 
  margin-right: -0.1em;
  margin-left: -0.6em;
}

/* 右側 」 位置調整 */
.highlight-title-v2 .bracket-r {
  vertical-align: -0.12em; 
  margin-left: 0.1em;
  margin-right: -0.4em;
}

/* --- レスポンシブ調整（モバイル） --- */
@media screen and (max-width: 768px) {
  /* 大きい文字部分を 22px に固定 */
  .highlight-title-v2 .large {
    font-size: 24px !important;
    line-height: 1.4; /* スマホで2行になっても重ならないよう調整 */
    display: inline; /* 折り返しを自然にする */
  }

  /* 小さい文字部分を 18px に固定 */
  .highlight-title-v2 .small {
    font-size: 18px !important;
    margin-bottom: 0.4em;
    letter-spacing: 0.05em;
  }

  /* 22pxに合わせたカギ括弧の再調整 */
  .highlight-title-v2 .bracket-l, 
  .highlight-title-v2 .bracket-r {
    font-size: 1.2em; /* 文字に対してのサイズ感 */
  }
  
  /* 左側「 ：22pxの文字に最適化 */
  .highlight-title-v2 .bracket-l {
    vertical-align: 0.22em; 
    margin-left: -0.45em;
  }

  /* 右側 」 ：22pxの文字に最適化 */
  .highlight-title-v2 .bracket-r {
    vertical-align: -0.1em;
    margin-right: -0.2em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d67015b *//* ボタン本体 */
.first-visit-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  /* 丸を大きくしたのでgapとpaddingを調整 */
  gap: 12px; 
  padding: 0px 32px 0px 0px; /* 左パディングを0にして丸が基準になるように */
  height: 54px;               /* 丸の高さに合わせる */
  border-radius: 999px;
  text-decoration: none;
  color: #333;
  overflow: hidden;
  cursor: pointer;
 

  /* フォント指定 */
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}

/* 左の青い丸：44px → 54px に拡大 */
.first-visit-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 54px;                /* サイズアップ */
  height: 54px;               /* サイズアップ */
  background: #184c7d;
  border-radius: 50%;
  transition: width 0.35s ease, border-radius 0.35s ease;
  z-index: 0;
}

/* 矢印アイコン */
.first-visit-btn__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;                /* 丸と同じサイズに */
  height: 54px;
}

.first-visit-btn__icon img {
  display: block;
  width: 20px;                /* 矢印も少しだけ大きく調整 */
  height: auto;
  filter: brightness(0) invert(1); /* 常に白く見せる場合 */
}

/* テキスト */
.first-visit-btn__text {
  position: relative;
  z-index: 1;
  font-size: 18px;
  font-weight: 600;           /* 500から600に変更 */
  letter-spacing: 0.08em;
  transition: color 0.35s ease;
  padding-left: 4px;          /* 丸との微調整 */
}

/* ホバー時：青が広がる */
.first-visit-btn:hover::before {
  width: 100%;
  border-radius: 999px;
}

.first-visit-btn:hover .first-visit-btn__text {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .first-visit-btn {
    height: 48px;             /* スマホでは少しコンパクトに */
  }
  .first-visit-btn::before,
  .first-visit-btn__icon {
    width: 48px;
    height: 48px;
  }
  .first-visit-btn__text {
    font-size: 16px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2a0ffe7 */.mega-zoom-section {
  --mega-scroll: 100vh;
  --mega-white: 0;
  height: calc(100vh + var(--mega-scroll));
  position: relative;
  background: #fff;
}

.mega-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* ホワイトアウトレイヤー */
.mega-sticky::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  opacity: var(--mega-white);
  pointer-events: none;
  z-index: 100;
}

/* 画像2枚を包むコンテナ */
.zoom-inner {
  display: flex;
  width: 100%;       /* 画面幅いっぱいから開始（お好みで 95% などに） */
  max-width: 100%;
  gap: 0; 
  opacity: 1;        /* 最初から表示 */
  transform: scale(1); /* 最初は等倍 */
  will-change: transform;
}

.mega-item {
  margin: 0;
  padding: 0;
}

/* 比率 1:2 */
.item-1 { flex: 1; }
.item-2 { flex: 2; }

.mega-item img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
}
/* --- CSS修正 --- */
@media (max-width: 767px) {
    .mega-zoom-section {
        height: auto !important; /* スクロール用の余白を解除 */
        min-height: auto !important;
        padding: 40px 0;
        background: #fff;
    }

    .mega-sticky {
        position: relative !important; /* 固定を解除 */
        height: auto !important;
        top: 0 !important;
        overflow: visible !important;
    }

    /* ホワイトアウトレイヤーを非表示に */
    .mega-sticky::after {
        display: none !important;
    }

    .zoom-inner {
        flex-direction: column !important; /* 縦並び */
        transform: none !important;      /* ズーム（スケール）を解除 */
        width: 100% !important;
        opacity: 1 !important;
    }

    .item-1, .item-2 {
        flex: none !important;
        width: 100% !important;
    }

    .mega-item img {
        height: auto !important; /* 画像の高さはなりゆき */
        max-height: 50vh;       /* 長くなりすぎないよう制限 */
        object-fit: cover;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6ff792f */.zoom-section {
  --zoom-scroll: 200vh; /* スクロールの長さ（拘束時間） */
  --white-out: 0;
  height: calc(100vh + var(--zoom-scroll));
  position: relative;
  background: #fff;
}

.zoom-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* ホワイトアウト用のレイヤー */
.zoom-sticky::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  opacity: var(--white-out);
  pointer-events: none;
  z-index: 100;
}

.zoom-container {
  display: flex;
  gap: 40px;
  width: 90%;
  max-width: 1000px;
  align-items: center;
}

.zoom-item {
  flex: 1;
  margin: 0;
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.zoom-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

/* 出現時の状態 */
.zoom-item.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* 右側画像専用：巨大化の起点 */
.item-right {
  position: relative;
  z-index: 50;
  transform-origin: center center;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .zoom-container {
    flex-direction: column;
    gap: 20px;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-90cc2c8 */.vertical-label {
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: absolute;
  
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b100b2b */.vertical-line {
  width: 1px;           /* 線の太さ */
  height: 100%;        /* 線の長さ */
  background: #333;     /* 線の色 */
  margin: 0 auto;       /* 中央配置 */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-1367adf *//* アニメーションのベース設定 */
.reveal-image {
    position: relative;
    overflow: hidden;
    opacity: 0; /* 最初は非表示 */
    transition: opacity 0.1s;
}

/* 表示フラグが立った時の設定 */
.reveal-image.is-visible {
    opacity: 1;
}

/* 右から左へ流れる色のパネル */
.reveal-image::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #184c7d; /* 指定色 */
    transform: translateX(101%); /* 最初は右側に待機 */
    z-index: 2;
}

/* パネルのアニメーション実行 */
.reveal-image.is-visible::after {
    animation: revealLTR 1.2s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

/* 中の画像のアニメーション（パネルが通り過ぎる頃に出現） */
.reveal-image img {
    opacity: 0;
    transform: scale(1.1);
    transition: opacity 0.3s 0.6s, transform 1.2s 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.reveal-image.is-visible img {
    opacity: 1;
    transform: scale(1);
}

/* アニメーションの動き定義 */
@keyframes revealLTR {
    0% {
        transform: translateX(101%);
    }
    50% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-101%);
    }
}

/* エディター内では最初から表示 */
.elementor-editor-active .reveal-image,
.elementor-editor-active .reveal-image img {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}
.elementor-editor-active .reveal-image::after {
    display: none;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-508396e */.vertical-label {
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: absolute;
  
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-44cecbe */.vertical-line {
  width: 1px;           /* 線の太さ */
  height: 100%;        /* 線の長さ */
  background: #333;     /* 線の色 */
  margin: 0 auto;       /* 中央配置 */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-e2a5480 */.vertical-label {
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: absolute;
  
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a917c52 */.vertical-line {
  width: 1px;           /* 線の太さ */
  height: 100%;        /* 線の長さ */
  background: #333;     /* 線の色 */
  margin: 0 auto;       /* 中央配置 */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-9e075a8 */.vertical-label {
  writing-mode: vertical-rl;
  text-orientation: upright;
  position: absolute;
  
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7143a53 */.vertical-line {
  width: 1px;           /* 線の太さ */
  height: 100%;        /* 線の長さ */
  background: #333;     /* 線の色 */
  margin: 0 auto;       /* 中央配置 */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c88f041 *//* ボタン本体 */
.first-visit-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  /* 丸を大きくしたのでgapとpaddingを調整 */
  gap: 12px; 
  padding: 0px 32px 0px 0px; /* 左パディングを0にして丸が基準になるように */
  height: 54px;               /* 丸の高さに合わせる */
  border-radius: 999px;
  text-decoration: none;
  color: #333;
  overflow: hidden;
  cursor: pointer;
 

  /* フォント指定 */
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}

/* 左の青い丸：44px → 54px に拡大 */
.first-visit-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 54px;                /* サイズアップ */
  height: 54px;               /* サイズアップ */
  background: #184c7d;
  border-radius: 50%;
  transition: width 0.35s ease, border-radius 0.35s ease;
  z-index: 0;
}

/* 矢印アイコン */
.first-visit-btn__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;                /* 丸と同じサイズに */
  height: 54px;
}

.first-visit-btn__icon img {
  display: block;
  width: 20px;                /* 矢印も少しだけ大きく調整 */
  height: auto;
  filter: brightness(0) invert(1); /* 常に白く見せる場合 */
}

/* テキスト */
.first-visit-btn__text {
  position: relative;
  z-index: 1;
  font-size: 18px;
  font-weight: 600;           /* 500から600に変更 */
  letter-spacing: 0.08em;
  transition: color 0.35s ease;
  padding-left: 4px;          /* 丸との微調整 */
}

/* ホバー時：青が広がる */
.first-visit-btn:hover::before {
  width: 100%;
  border-radius: 999px;
}

.first-visit-btn:hover .first-visit-btn__text {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .first-visit-btn {
    height: 48px;             /* スマホでは少しコンパクトに */
  }
  .first-visit-btn::before,
  .first-visit-btn__icon {
    width: 48px;
    height: 48px;
  }
  .first-visit-btn__text {
    font-size: 16px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-28b71f6 *//* --- バナー全体の中央寄せ設定 --- */
.banner-container {
    position: relative;
    width: 100%;
    max-width: 900px;
    min-height: 380px;
    
    border-radius: 30px;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: url('/wp-content/uploads/2026/01/img_31.jpg') no-repeat center center;
    background-size: cover;
    font-family: "Noto Sans JP", sans-serif;
    padding: 40px 60px;
    box-sizing: border-box;
}

.banner-content {
    position: relative;
    z-index: 2;
    flex: 1;
}

.banner-subtext { color: #184c7d; font-size: 20px; margin-bottom: 8px; font-weight: 600; }
.banner-main-title { color: #184c7d; font-size: 56px; font-weight: 700; margin: 0 0 25px 0; line-height: 1.2; }

.banner-tag-wrapper { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 35px; }
.banner-tag {
    border: 1px solid #184c7d;
    color: #184c7d;
    padding: 5px 15px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.5);
}

/* --- 改良版ボタン：最初は全部紺、ホバーで赤がスライド --- */
.banner-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding-right: 35px;
    height: 56px;
    background: #184c7d;    /* 最初は全体がこの色 */
    border-radius: 999px;
    text-decoration: none;
    overflow: hidden;
    z-index: 1;
}

/* 赤色のアニメーション背景層 */
.banner-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;            /* 最初はボタンの左外側に隠しておく */
    width: 100%;
    height: 100%;
    background: #b33e54;    /* ホバー時の赤色 */
    border-radius: 999px;
    z-index: -1;
    transition: left 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.banner-btn__icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.banner-btn__text {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin-left: 4px;
    letter-spacing: 0.05em;
    position: relative;
    z-index: 2;
}

/* ホバー時に赤色をスライドイン */
.banner-btn:hover::before {
    left: 0;                /* 左から右へ移動して全体を覆う */
}

/* --- 人物画像 --- */
.banner-image {
    position: absolute;
    right: 30px;
    bottom: 0;
    height: 92%;
    z-index: 1;
}
.banner-image img { height: 100%; width: auto; display: block; }

/* --- レスポンシブ --- */
@media (max-width: 768px) {
    .banner-container {
        padding: 40px 20px;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        min-height: auto;
    }
    .banner-content { display: flex; flex-direction: column; align-items: center; width: 100%; }
    .banner-main-title { font-size: 34px; }
    .banner-tag-wrapper { justify-content: center; }
    .banner-image { position: relative; right: auto; height: 250px; margin-top: 30px; order: 3; }
}
/* --- レスポンシブ修正版 --- */
@media (max-width: 768px) {
    .banner-container {
        padding: 40px 20px 0; /* 下パディングを0にして画像を接地させる */
        flex-direction: column;
        justify-content: flex-start; /* 上詰めに変更 */
        text-align: center;
        min-height: auto;
        border-radius: 10px;
        background-position: center center;
    }

    .banner-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        z-index: 2;
        margin-bottom: 20px; /* 画像との間に少し隙間を作る */
    }

    /* サブテキスト（14px） */
    .banner-subtext {
        font-size: 14px !important;
        margin-bottom: 5px;
    }

    /* メインタイトル（ご要望の20pxに合わせて調整） */
    .banner-main-title {
        font-size: 30px !important; /* 28pxから20pxへ修正 */
        margin: 0 0 15px 0;
        line-height: 1.4;
    }

    /* タグ（14px） */
    .banner-tag-wrapper {
        justify-content: center;
        gap: 8px;
        margin-bottom: 20px;
    }
    .banner-tag {
        font-size: 14px !important;
        padding: 4px 12px;
    }

    /* ボタン内のテキスト（14px） */
    .banner-btn {
        height: 44px; /* サイズダウンに合わせてさらにコンパクトに */
        padding-right: 20px;
    }
    .banner-btn__text {
        font-size: 14px !important;
    }
    .banner-btn__icon {
        width: 44px;
        height: 44px;
    }

    /* --- 人物画像：背景下0の位置に固定 --- */
    .banner-image {
        position: relative;
        right: auto;
        bottom: 0;      /* 下端に密着 */
        height: 220px;  /* スマホで見栄えの良い高さに調整 */
        margin-top: auto;
        display: flex;
        align-items: flex-end;
        order: 3;
    }
    .banner-image img {
        height: 100%;
        width: auto;
        display: block;
        margin: 0 auto;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0007bcf *//* ボタン本体 */
.first-visit-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  /* 丸を大きくしたのでgapとpaddingを調整 */
  gap: 12px; 
  padding: 0px 32px 0px 0px; /* 左パディングを0にして丸が基準になるように */
  height: 54px;               /* 丸の高さに合わせる */
  border-radius: 999px;
  text-decoration: none;
  color: #333;
  overflow: hidden;
  cursor: pointer;
 

  /* フォント指定 */
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}

/* 左の青い丸：44px → 54px に拡大 */
.first-visit-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 54px;                /* サイズアップ */
  height: 54px;               /* サイズアップ */
  background: #184c7d;
  border-radius: 50%;
  transition: width 0.35s ease, border-radius 0.35s ease;
  z-index: 0;
}

/* 矢印アイコン */
.first-visit-btn__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;                /* 丸と同じサイズに */
  height: 54px;
}

.first-visit-btn__icon img {
  display: block;
  width: 20px;                /* 矢印も少しだけ大きく調整 */
  height: auto;
  filter: brightness(0) invert(1); /* 常に白く見せる場合 */
}

/* テキスト */
.first-visit-btn__text {
  position: relative;
  z-index: 1;
  font-size: 18px;
  font-weight: 600;           /* 500から600に変更 */
  letter-spacing: 0.08em;
  transition: color 0.35s ease;
  padding-left: 4px;          /* 丸との微調整 */
}

/* ホバー時：青が広がる */
.first-visit-btn:hover::before {
  width: 100%;
  border-radius: 999px;
}

.first-visit-btn:hover .first-visit-btn__text {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .first-visit-btn {
    height: 48px;             /* スマホでは少しコンパクトに */
  }
  .first-visit-btn::before,
  .first-visit-btn__icon {
    width: 48px;
    height: 48px;
  }
  .first-visit-btn__text {
    font-size: 16px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1264efa *//* --- 全体設定 --- */
.faq-section {
    max-width: 900px;
    font-family: "Noto Sans JP", sans-serif;
}

/* 枠線の変形を防ぐため、角丸を 40px に固定 */
.faq-item {
    margin-bottom: 15px;
    border-radius: 40px; 
    overflow: hidden;
    background-color: #f6f6f6; /* Aの背景色をベースに設定 */
}

/* --- 質問部分（Q） --- */
.faq-question {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 18px 35px;
    background-color: #e2eff3; /* Qの背景色 */
    position: relative;
    z-index: 2;
    /* 閉じている時の角丸を維持 */
    border-radius: 40px;
}

/* 開いている時は、Qの下側の角丸だけ無くすとAと綺麗に繋がります */
.faq-item[open] .faq-question {
    border-radius: 40px 40px 0 0;
}

.faq-question::-webkit-details-marker {
    display: none;
}

/* --- 回答部分（A）のアニメーション --- */
.faq-answer {
    display: flex;
    padding: 25px 35px 35px;
    background-color: #f6f6f6;
    border-radius: 0 0 40px 40px;
    /* ふわっと表示させるアニメーション */
    animation: faq-fadeIn 0.4s ease-out;
}

@keyframes faq-fadeIn {
    0% { opacity: 0; transform: translateY(-10px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* --- アイコンとテキスト --- */
.faq-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    margin-right: 20px;
    flex-shrink: 0;
}

.faq-icon.q { background-color: #184c7d; }
.faq-icon.a { background-color: #b33e54; }

.faq-text {
    margin: 0;
    color: #333;
    line-height: 1.6;
    font-weight: 600;
    font-size: 18px;
}

/* --- 右端の ＋ / － 記号 --- */
.faq-toggle {
    position: absolute;
    right: 35px;
    width: 20px;
    height: 2px;
    background-color: #184c7d;
}

.faq-toggle::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #184c7d;
    transform: rotate(90deg);
    transition: transform 0.3s ease;
}

.faq-item[open] .faq-toggle::after {
    transform: rotate(0deg);
}

/* --- レスポンシブ --- */
@media (max-width: 768px) {
    .faq-item, .faq-question { border-radius: 30px; }
    .faq-question, .faq-answer { padding: 15px 20px; }
    .faq-text { font-size: 16px; }
    .faq-icon { width: 36px; height: 36px; font-size: 18px; }
}
/* --- レスポンシブ修正版 --- */
@media (max-width: 768px) {
    /* 枠の角丸を少しコンパクトに */
    .faq-item, 
    .faq-question { 
        border-radius: 10px; 
    }
    
    .faq-item[open] .faq-question {
        border-radius: 10px 10px 0 0;
    }

    .faq-answer {
        border-radius: 0 0 30px 30px;
        padding: 20px 20px 25px; /* 下側に少し余裕を持たせる */
    }

    .faq-question { 
        padding: 15px 50px 15px 20px; /* 右側のトグルスイッチ(＋)用の余白を確保 */
    }

    /* 質問テキスト（ご要望: 20px相当 ※視認性重視で調整） */
    .faq-question .faq-text { 
        font-size: 16px !important; 
        line-height: 1.3;
    }

    /* 回答テキスト（ご要望: 14px） */
    .faq-answer .faq-text { 
        font-size: 14px !important; 
        font-weight: 500; /* テキストが小さいので少し細めにしてスッキリさせる */
    }

    /* アイコンのサイズ調整 */
    .faq-icon { 
        width: 32px; 
        height: 32px; 
        font-size: 16px; 
        margin-right: 12px; 
    }

    /* 右端の ＋ / － 記号の位置調整 */
    .faq-toggle {
        right: 20px;
        width: 16px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-53c7390 *//* ボタン本体 */
.first-visit-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  /* 丸を大きくしたのでgapとpaddingを調整 */
  gap: 12px; 
  padding: 0px 32px 0px 0px; /* 左パディングを0にして丸が基準になるように */
  height: 54px;               /* 丸の高さに合わせる */
  border-radius: 999px;
  text-decoration: none;
  color: #333;
  overflow: hidden;
  cursor: pointer;
 

  /* フォント指定 */
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}

/* 左の青い丸：44px → 54px に拡大 */
.first-visit-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 54px;                /* サイズアップ */
  height: 54px;               /* サイズアップ */
  background: #184c7d;
  border-radius: 50%;
  transition: width 0.35s ease, border-radius 0.35s ease;
  z-index: 0;
}

/* 矢印アイコン */
.first-visit-btn__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;                /* 丸と同じサイズに */
  height: 54px;
}

.first-visit-btn__icon img {
  display: block;
  width: 20px;                /* 矢印も少しだけ大きく調整 */
  height: auto;
  filter: brightness(0) invert(1); /* 常に白く見せる場合 */
}

/* テキスト */
.first-visit-btn__text {
  position: relative;
  z-index: 1;
  font-size: 18px;
  font-weight: 600;           /* 500から600に変更 */
  letter-spacing: 0.08em;
  transition: color 0.35s ease;
  padding-left: 4px;          /* 丸との微調整 */
}

/* ホバー時：青が広がる */
.first-visit-btn:hover::before {
  width: 100%;
  border-radius: 999px;
}

.first-visit-btn:hover .first-visit-btn__text {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .first-visit-btn {
    height: 48px;             /* スマホでは少しコンパクトに */
  }
  .first-visit-btn::before,
  .first-visit-btn__icon {
    width: 48px;
    height: 48px;
  }
  .first-visit-btn__text {
    font-size: 16px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b59d71f *//* PC版：背景が暗い色であることを想定しています */


/* PC：h2, h3, p 全てを白に */
h2.custom-text, 
h3.custom-text, 
p.custom-text {
  color: #ffffff !important;
}

/* モバイル版：768px以下でグレーに切り替え */
@media screen and (max-width: 768px) {
  h2.custom-text, 
  h3.custom-text, 
  p.custom-text {
    color: #333333 !important;
  }
  

}
/* --- PC版 (基本設定) --- */
.greeting-section .greeting-title-sub {
  color: #ffffff;
  font-size: 20px;
}

.greeting-section .greeting-title-main {
  color: #ffffff;
  font-size: 40px;
  line-height: 1.4; /* 行間を少し広げると読みやすくなります */
}

.greeting-section .greeting-text {
  color: #ffffff;
  font-size: 16px;
  line-height: 1.8;
}

/* --- モバイル版 (画面幅768px以下) --- */
@media screen and (max-width: 768px) {
  .greeting-section .greeting-title-sub {
    color: #333333 !important;
    font-size: 16px !important;
  }

  .greeting-section .greeting-title-main {
    color: #333333 !important;
    font-size: 24px !important;
  }

  .greeting-section .greeting-text {
    color: #333333 !important;
    font-size: 14px !important;
  }
}
/* --- 全体共通の設定 --- */
.greeting-section {
  padding: 0px 0px; /* セクション上下の大きな余白 */
  max-width: 1000px;   /* 読みやすい幅に制限 */
  margin: 0 auto;
}

/* 塾長ごあいさつ (h3) */
.greeting-title-sub {
  color: #ffffff;
  font-size: 20px;
  margin-bottom: 40px; /* 下との隙間 */
  font-weight: normal;
  letter-spacing: 0.1em; /* 文字の間隔を少し広げて上品に */
}

/* 子どもたちの未来に… (h2) */
.greeting-title-main {
  color: #ffffff;
  font-size: 40px;
  line-height: 1.5;    /* 行間の隙間 */
  margin-bottom: 50px; /* 下（本文）との隙間 */
  font-weight: bold;
}

/* 本文 (p) */
.greeting-text {
  color: #ffffff;
  font-size: 16px;
  line-height: 2;      /* 本文は行間を広くすると読みやすくなります */
}

/* --- モバイル版 (768px以下) --- */
@media screen and (max-width: 768px) {
  .greeting-section {
    padding: 0px 00px;
  }

  .greeting-title-sub {
    color: #333333 !important;
    font-size: 16px !important;
    margin-bottom: 20px !important;
  }

  .greeting-title-main {
    color: #333333 !important;
    font-size: 24px !important;
    margin-bottom: 30px !important;
  }

  .greeting-text {
    color: #333333 !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-1d91459 *//* 親コンテナのリセット */
.news-list-container {
    max-width: 1000px;
}

/* 2カラムグリッド（本番の幅に合わせて1frを指定） */
.news-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 40px !important;
}

/* リンク全体の装飾リセット */
.news-item-link {
    text-decoration: none !important;
    color: inherit !important;
    display: block !important;
}

/* カード本体：横並びを厳格に固定 */
.news-item {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding: 15px !important;
    border-radius: 20px !important;
    transition: all 0.3s ease !important;
}

/* ホバー：浮き上がりと背景白 */
.news-item:hover {
    background-color: #ffffff !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important;
    transform: translateY(-5px) !important;
}

/* 画像サイズ：角丸と拡大アニメーション */
.news-thumb {
    flex: 0 0 140px !important;
    width: 140px !important;
    height: 140px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

.news-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

.news-item-link:hover .news-thumb img {
    transform: scale(1.1) !important;
}

/* テキストエリア */
.news-body {
    flex: 1 !important;
    min-width: 0 !important;
}

/* メタ情報（日付・カテゴリ） */
.news-meta {
    display: flex !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
}

.news-date { color: #888; font-size: 13px; }
.news-cat { 
    background: #e2eff3; color: #184c7d; 
    font-size: 11px; padding: 2px 8px; border-radius: 4px; font-weight: 700;
}
.label-new {
    background: #b33e54; color: #fff;
    font-size: 11px; padding: 2px 8px; border-radius: 4px; font-weight: 700;
}

/* タイトル：ゴシック・2行制限 */
.news-title {
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #333 !important;
    line-height: 1.5 !important;
    margin: 0 0 8px 0 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
}

/* 抜粋：3行制限 */
.news-excerpt {
    font-size: 13px !important;
    color: #666 !important;
    line-height: 1.6 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
}

/* スマホ対応 */
@media (max-width: 767px) {
    .news-grid { grid-template-columns: 1fr !important; }
    .news-thumb { flex: 0 0 100px !important; width: 100px !important; height: 100px !important; }
}
/* --- レスポンシブ修正版 --- */
@media (max-width: 767px) {
    /* 1カラムに変更 */
    .news-grid { 
        grid-template-columns: 1fr !important; 
        gap: 15px !important; /* スマホでは間隔を少し詰める */
    }

    /* カード本体：余白の調整 */
    .news-item {
        padding: 10px !important;
        gap: 15px !important;
        background-color: #ffffff !important; /* スマホでは最初から白背景だと見やすいです */
        border-bottom: 1px solid #eee; /* 境界をわかりやすく */
        border-radius: 15px !important;
    }

    /* 画像サイズ：20pxのタイトルとバランスを取るサイズ */
    .news-thumb { 
        flex: 0 0 90px !important; 
        width: 90px !important; 
        height: 90px !important; 
    }

    /* メタ情報（日付・カテゴリ） */
    .news-date,
    .news-cat,
    .label-new {
        font-size: 11px !important;
    }

    /* タイトル（ご要望: 20px） */
    .news-title {
        font-size: 20px !important;
        line-height: 1.3 !important;
        margin-bottom: 5px !important;
        -webkit-line-clamp: 2 !important; /* 2行を維持 */
    }

    /* 抜粋テキスト（ご要望: 14px） */
    .news-excerpt {
        font-size: 14px !important;
        line-height: 1.5 !important;
        -webkit-line-clamp: 2 !important; /* スマホでは縦長になりすぎるのを防ぐため2行に制限 */
    }
}
/* --- レスポンシブ修正版（ニュースリスト） --- */
@media (max-width: 767px) {
    .news-grid { 
        grid-template-columns: 1fr !important; 
        gap: 15px !important; 
    }

    .news-item {
        padding: 15px 10px !important; /* 上下パディングを少し調整 */
        align-items: flex-start !important;
        background-color: #ffffff !important;
        border-bottom: 1px solid #eee;
    }

    /* サムネイルサイズ調整 */
    .news-thumb { 
        flex: 0 0 80px !important; /* ラベルの折り返しに合わせて少し小さめに */
        width: 80px !important; 
        height: 80px !important; 
    }

    /* メタ情報：ラベルを1行下（タイトルの上）へ配置するためにflex-wrapを有効化 */
    .news-meta {
        flex-wrap: wrap !important; /* 折り返しを許可 */
        gap: 8px 10px !important; /* 縦の隙間を8px確保 */
        margin-bottom: 10px !important;
    }

    /* 日付を幅100%にして、ラベルを強制的に次の行へ送る */
    .news-date { 
        width: 100% !important; 
        font-size: 10px !important;
        color: #888;
    }

    /* ラベル類（お知らせ、新着情報）のスタイル */
    .news-cat,
    .label-new {
        font-size: 11px !important;
        padding: 2px 8px !important;
        margin-top: 2px; /* 日付との間隔 */
    }

    /* タイトル（ご要望: 18px） */
    .news-title {
        font-size: 16px !important; 
        line-height: 1.4 !important;
        margin-bottom: 8px !important;
        font-weight: 700 !important;
        -webkit-line-clamp: 2 !important;
    }

    /* 抜粋テキスト（14px） */
    .news-excerpt {
        font-size: 14px !important;
        line-height: 1.5 !important;
        -webkit-line-clamp: 2 !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fbe9c81 *//* ボタン本体 */
.first-visit-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  /* 丸を大きくしたのでgapとpaddingを調整 */
  gap: 12px; 
  padding: 0px 32px 0px 0px; /* 左パディングを0にして丸が基準になるように */
  height: 54px;               /* 丸の高さに合わせる */
  border-radius: 999px;
  text-decoration: none;
  color: #333;
  overflow: hidden;
  cursor: pointer;
 

  /* フォント指定 */
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}

/* 左の青い丸：44px → 54px に拡大 */
.first-visit-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 54px;                /* サイズアップ */
  height: 54px;               /* サイズアップ */
  background: #184c7d;
  border-radius: 50%;
  transition: width 0.35s ease, border-radius 0.35s ease;
  z-index: 0;
}

/* 矢印アイコン */
.first-visit-btn__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;                /* 丸と同じサイズに */
  height: 54px;
}

.first-visit-btn__icon img {
  display: block;
  width: 20px;                /* 矢印も少しだけ大きく調整 */
  height: auto;
  filter: brightness(0) invert(1); /* 常に白く見せる場合 */
}

/* テキスト */
.first-visit-btn__text {
  position: relative;
  z-index: 1;
  font-size: 18px;
  font-weight: 600;           /* 500から600に変更 */
  letter-spacing: 0.08em;
  transition: color 0.35s ease;
  padding-left: 4px;          /* 丸との微調整 */
}

/* ホバー時：青が広がる */
.first-visit-btn:hover::before {
  width: 100%;
  border-radius: 999px;
}

.first-visit-btn:hover .first-visit-btn__text {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .first-visit-btn {
    height: 48px;             /* スマホでは少しコンパクトに */
  }
  .first-visit-btn::before,
  .first-visit-btn__icon {
    width: 48px;
    height: 48px;
  }
  .first-visit-btn__text {
    font-size: 16px;
  }
}/* End custom CSS */