.elementor-26545 .elementor-element.elementor-element-a369c11{--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:18vw;--padding-bottom:8vw;--padding-left:7.5vw;--padding-right:7.5vw;}.elementor-26545 .elementor-element.elementor-element-a369c11:not(.elementor-motion-effects-element-type-background), .elementor-26545 .elementor-element.elementor-element-a369c11 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(0deg, #EBEEEF 0%, #FFFFFF 70%);}.elementor-26545 .elementor-element.elementor-element-da05fdd{width:100%;max-width:100%;text-align:left;}.elementor-26545 .elementor-element.elementor-element-da05fdd > .elementor-widget-container{padding:0vw 0vw 2vw 0vw;border-radius:8px 8px 8px 8px;}.elementor-26545 .elementor-element.elementor-element-da05fdd .elementor-heading-title{font-family:"Zen Kaku Gothic New", Sans-serif;font-size:2.5vw;font-weight:500;line-height:1.2em;letter-spacing:0.13em;}.elementor-26545 .elementor-element.elementor-element-7e91d25{width:100%;max-width:100%;text-align:left;}.elementor-26545 .elementor-element.elementor-element-7e91d25 > .elementor-widget-container{padding:0vw 0vw 0vw 0vw;border-radius:8px 8px 8px 8px;}.elementor-26545 .elementor-element.elementor-element-7e91d25 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:1.3vw;font-weight:600;text-transform:capitalize;line-height:1.2em;letter-spacing:0.03em;}.elementor-26545 .elementor-element.elementor-element-a6d116d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--flex-wrap:wrap;--align-content:flex-start;--padding-top:8vw;--padding-bottom:2vw;--padding-left:7.5vw;--padding-right:0vw;}.elementor-26545 .elementor-element.elementor-element-a6d116d:not(.elementor-motion-effects-element-type-background), .elementor-26545 .elementor-element.elementor-element-a6d116d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EBEEEF;}.elementor-26545 .elementor-element.elementor-element-7635f4c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--flex-wrap:wrap;--align-content:flex-start;--padding-top:2vw;--padding-bottom:4vw;--padding-left:0vw;--padding-right:0vw;}.elementor-26545 .elementor-element.elementor-element-eba73ec{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--flex-wrap:wrap;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a{width:var( --container-widget-width, 2% );max-width:2%;--container-widget-width:2%;--container-widget-flex-grow:0;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a.elementor-element{--align-self:center;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a .elementor-icon-wrapper{text-align:center;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a.elementor-view-stacked .elementor-icon{background-color:#3977B0;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a.elementor-view-framed .elementor-icon, .elementor-26545 .elementor-element.elementor-element-4a8ed2a.elementor-view-default .elementor-icon{color:#3977B0;border-color:#3977B0;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a.elementor-view-framed .elementor-icon, .elementor-26545 .elementor-element.elementor-element-4a8ed2a.elementor-view-default .elementor-icon svg{fill:#3977B0;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a .elementor-icon{font-size:0.7vw;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a .elementor-icon svg{height:0.7vw;}.elementor-26545 .elementor-element.elementor-element-df1543e{width:var( --container-widget-width, 97% );max-width:97%;--container-widget-width:97%;--container-widget-flex-grow:0;}.elementor-26545 .elementor-element.elementor-element-df1543e.elementor-element{--align-self:center;}.elementor-26545 .elementor-element.elementor-element-df1543e .elementor-icon-wrapper{text-align:left;}.elementor-26545 .elementor-element.elementor-element-df1543e.elementor-view-stacked .elementor-icon{background-color:#6AC4FF;}.elementor-26545 .elementor-element.elementor-element-df1543e.elementor-view-framed .elementor-icon, .elementor-26545 .elementor-element.elementor-element-df1543e.elementor-view-default .elementor-icon{color:#6AC4FF;border-color:#6AC4FF;}.elementor-26545 .elementor-element.elementor-element-df1543e.elementor-view-framed .elementor-icon, .elementor-26545 .elementor-element.elementor-element-df1543e.elementor-view-default .elementor-icon svg{fill:#6AC4FF;}.elementor-26545 .elementor-element.elementor-element-df1543e .elementor-icon{font-size:0.7vw;}.elementor-26545 .elementor-element.elementor-element-df1543e .elementor-icon svg{height:0.7vw;}.elementor-26545 .elementor-element.elementor-element-c77cafb{width:100%;max-width:100%;z-index:2;}.elementor-26545 .elementor-element.elementor-element-c77cafb > .elementor-widget-container{padding:0.5vw 0vw 1.5vw 0vw;}.elementor-26545 .elementor-element.elementor-element-c77cafb .elementor-heading-title{font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1.2vw;font-weight:500;line-height:2em;letter-spacing:0.07em;}.elementor-26545 .elementor-element.elementor-element-45f5956{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--flex-wrap:wrap;--align-content:flex-start;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#A9A9A9;--border-color:#A9A9A9;--padding-top:0vw;--padding-bottom:2vw;--padding-left:0vw;--padding-right:1vw;}.elementor-26545 .elementor-element.elementor-element-3710752{width:100%;max-width:100%;text-align:left;}.elementor-26545 .elementor-element.elementor-element-3710752 .elementor-heading-title{font-family:"Lexend Mega", Sans-serif;font-size:8vw;font-weight:500;line-height:1em;letter-spacing:-0.1em;color:#FFFFFF;}.elementor-26545 .elementor-element.elementor-element-fd052c2{width:100%;max-width:100%;}.elementor-26545 .elementor-element.elementor-element-fd052c2 > .elementor-widget-container{padding:0vw 0vw 3vw 0vw;border-radius:8px 8px 8px 8px;}.elementor-26545 .elementor-element.elementor-element-fd052c2 .elementor-heading-title{font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1.4vw;font-weight:600;line-height:1.5em;letter-spacing:0.13em;}.elementor-26545 .elementor-element.elementor-element-dd48d83{width:var( --container-widget-width, 10% );max-width:10%;--container-widget-width:10%;--container-widget-flex-grow:0;}.elementor-26545 .elementor-element.elementor-element-dd48d83 > .elementor-widget-container{margin:0vw 0vw -0.5vw 0vw;}.elementor-26545 .elementor-element.elementor-element-dd48d83.elementor-element{--align-self:center;}.elementor-26545 .elementor-element.elementor-element-dd48d83 .elementor-icon-wrapper{text-align:left;}.elementor-26545 .elementor-element.elementor-element-dd48d83.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-astglobalcolor1 );color:#FFFFFF;}.elementor-26545 .elementor-element.elementor-element-dd48d83.elementor-view-framed .elementor-icon, .elementor-26545 .elementor-element.elementor-element-dd48d83.elementor-view-default .elementor-icon{color:var( --e-global-color-astglobalcolor1 );border-color:var( --e-global-color-astglobalcolor1 );}.elementor-26545 .elementor-element.elementor-element-dd48d83.elementor-view-framed .elementor-icon, .elementor-26545 .elementor-element.elementor-element-dd48d83.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-astglobalcolor1 );}.elementor-26545 .elementor-element.elementor-element-dd48d83.elementor-view-framed .elementor-icon{background-color:#FFFFFF;}.elementor-26545 .elementor-element.elementor-element-dd48d83.elementor-view-stacked .elementor-icon svg{fill:#FFFFFF;}.elementor-26545 .elementor-element.elementor-element-dd48d83 .elementor-icon{font-size:1.7vw;}.elementor-26545 .elementor-element.elementor-element-dd48d83 .elementor-icon svg{height:1.7vw;}.elementor-26545 .elementor-element.elementor-element-f412dd5{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;}.elementor-26545 .elementor-element.elementor-element-f412dd5.elementor-element{--align-self:center;}.elementor-26545 .elementor-element.elementor-element-f412dd5 > .elementor-widget-container{border-radius:8px 8px 8px 8px;}.elementor-26545 .elementor-element.elementor-element-f412dd5 .elementor-heading-title{font-family:"Outfit", Sans-serif;font-size:3.1vw;font-weight:900;line-height:1em;letter-spacing:0.07em;color:#222222;}.elementor-26545 .elementor-element.elementor-element-24c5906{width:var( --container-widget-width, 18% );max-width:18%;--container-widget-width:18%;--container-widget-flex-grow:0;text-align:center;}.elementor-26545 .elementor-element.elementor-element-24c5906 > .elementor-widget-container{background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:100px 100px 100px 100px;}.elementor-26545 .elementor-element.elementor-element-24c5906.elementor-element{--align-self:center;}.elementor-26545 .elementor-element.elementor-element-24c5906 .elementor-heading-title{font-family:"Zen Kaku Gothic New", Sans-serif;font-size:0.75vw;font-weight:600;line-height:2em;letter-spacing:0.13em;}.elementor-26545 .elementor-element.elementor-element-8f531ce{width:100%;max-width:100%;}.elementor-26545 .elementor-element.elementor-element-8f531ce > .elementor-widget-container{padding:1vw 0vw 0vw 0vw;border-radius:8px 8px 8px 8px;}.elementor-26545 .elementor-element.elementor-element-8f531ce .elementor-heading-title{font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1vw;font-weight:600;line-height:1.7em;letter-spacing:0.07em;}.elementor-26545 .elementor-element.elementor-element-2847c5e{--display:flex;}.elementor-26545 .elementor-element.elementor-element-5a6c030 img{width:100%;border-radius:3vw 0 0 3vw;}.elementor-26545 .elementor-element.elementor-element-3512233{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--flex-wrap:wrap;--align-content:flex-start;--padding-top:8vw;--padding-bottom:0vw;--padding-left:7.5vw;--padding-right:7.5vw;}.elementor-26545 .elementor-element.elementor-element-3512233:not(.elementor-motion-effects-element-type-background), .elementor-26545 .elementor-element.elementor-element-3512233 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EBEEEF;}.elementor-26545 .elementor-element.elementor-element-291d657{--display:flex;}.elementor-26545 .elementor-element.elementor-element-f16a43d{text-align:left;}.elementor-26545 .elementor-element.elementor-element-f16a43d .elementor-heading-title{font-family:"Lexend Mega", Sans-serif;font-size:8vw;font-weight:500;line-height:1em;letter-spacing:-0.1em;color:#FFFFFF;}.elementor-26545 .elementor-element.elementor-element-9921692{width:100%;max-width:100%;}.elementor-26545 .elementor-element.elementor-element-9921692 > .elementor-widget-container{padding:0vw 0vw 3vw 0vw;border-radius:8px 8px 8px 8px;}.elementor-26545 .elementor-element.elementor-element-9921692 .elementor-heading-title{font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1.4vw;font-weight:600;line-height:1.5em;letter-spacing:0.13em;}.elementor-26545 .elementor-element.elementor-element-d661ec8{--display:flex;--justify-content:flex-end;}.elementor-26545 .elementor-element.elementor-element-3bed3b4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--flex-wrap:wrap;--align-content:flex-start;--padding-top:0vw;--padding-bottom:4vw;--padding-left:7.5vw;--padding-right:7.5vw;}.elementor-26545 .elementor-element.elementor-element-3bed3b4:not(.elementor-motion-effects-element-type-background), .elementor-26545 .elementor-element.elementor-element-3bed3b4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EBEEEF;}.elementor-26545 .elementor-element.elementor-element-83dc161{--display:flex;}.elementor-26545 .elementor-element.elementor-element-22a0b21{--display:flex;}.elementor-26545 .elementor-element.elementor-element-8382a24{--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;}@media(min-width:768px){.elementor-26545 .elementor-element.elementor-element-7635f4c{--width:39%;}.elementor-26545 .elementor-element.elementor-element-2847c5e{--width:54%;}.elementor-26545 .elementor-element.elementor-element-291d657{--width:39%;}.elementor-26545 .elementor-element.elementor-element-d661ec8{--width:54%;}.elementor-26545 .elementor-element.elementor-element-83dc161{--width:100%;}.elementor-26545 .elementor-element.elementor-element-22a0b21{--width:100%;}}@media(max-width:1020px){.elementor-26545 .elementor-element.elementor-element-da05fdd .elementor-heading-title{font-size:3vw;}.elementor-26545 .elementor-element.elementor-element-7e91d25 .elementor-heading-title{font-size:2vw;}.elementor-26545 .elementor-element.elementor-element-a6d116d{--padding-top:8vw;--padding-bottom:4vw;--padding-left:5.5vw;--padding-right:0vw;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a .elementor-icon{font-size:0.9vw;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a .elementor-icon svg{height:0.9vw;}.elementor-26545 .elementor-element.elementor-element-df1543e .elementor-icon{font-size:0.9vw;}.elementor-26545 .elementor-element.elementor-element-df1543e .elementor-icon svg{height:0.9vw;}.elementor-26545 .elementor-element.elementor-element-c77cafb .elementor-heading-title{font-size:1.5vw;}.elementor-26545 .elementor-element.elementor-element-3710752 .elementor-heading-title{font-size:8vw;}.elementor-26545 .elementor-element.elementor-element-fd052c2 .elementor-heading-title{font-size:1.7vw;}.elementor-26545 .elementor-element.elementor-element-f412dd5{--container-widget-width:68%;--container-widget-flex-grow:0;width:var( --container-widget-width, 68% );max-width:68%;text-align:center;}.elementor-26545 .elementor-element.elementor-element-f412dd5 .elementor-heading-title{font-size:3.2vw;}.elementor-26545 .elementor-element.elementor-element-24c5906{--container-widget-width:21%;--container-widget-flex-grow:0;width:var( --container-widget-width, 21% );max-width:21%;}.elementor-26545 .elementor-element.elementor-element-24c5906 .elementor-heading-title{font-size:1.1vw;}.elementor-26545 .elementor-element.elementor-element-8f531ce .elementor-heading-title{font-size:1.3vw;}.elementor-26545 .elementor-element.elementor-element-3512233{--padding-top:8vw;--padding-bottom:0vw;--padding-left:5.5vw;--padding-right:5.5vw;}.elementor-26545 .elementor-element.elementor-element-f16a43d{text-align:left;}.elementor-26545 .elementor-element.elementor-element-f16a43d .elementor-heading-title{font-size:8vw;}.elementor-26545 .elementor-element.elementor-element-9921692 .elementor-heading-title{font-size:1.7vw;}.elementor-26545 .elementor-element.elementor-element-3bed3b4{--padding-top:0vw;--padding-bottom:4vw;--padding-left:5.5vw;--padding-right:5.5vw;}}@media(max-width:767px){.elementor-26545 .elementor-element.elementor-element-a369c11{--padding-top:48vw;--padding-bottom:8vw;--padding-left:7.5vw;--padding-right:7.5vw;}.elementor-26545 .elementor-element.elementor-element-da05fdd > .elementor-widget-container{padding:0vw 0vw 4vw 0vw;}.elementor-26545 .elementor-element.elementor-element-da05fdd .elementor-heading-title{font-size:6vw;}.elementor-26545 .elementor-element.elementor-element-7e91d25 .elementor-heading-title{font-size:3.8vw;}.elementor-26545 .elementor-element.elementor-element-a6d116d{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0vw;--padding-bottom:0vw;--padding-left:3.5vw;--padding-right:3.5vw;}.elementor-26545 .elementor-element.elementor-element-7635f4c{--gap:10vw 0vw;--row-gap:10vw;--column-gap:0vw;--padding-top:3vw;--padding-bottom:6vw;--padding-left:4vw;--padding-right:4vw;}.elementor-26545 .elementor-element.elementor-element-eba73ec{--justify-content:flex-start;--gap:0vw 1vw;--row-gap:0vw;--column-gap:1vw;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a{width:var( --container-widget-width, 2vw );max-width:2vw;--container-widget-width:2vw;--container-widget-flex-grow:0;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a.elementor-element{--align-self:center;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a .elementor-icon{font-size:2vw;}.elementor-26545 .elementor-element.elementor-element-4a8ed2a .elementor-icon svg{height:2vw;}.elementor-26545 .elementor-element.elementor-element-df1543e{width:var( --container-widget-width, 2vw );max-width:2vw;--container-widget-width:2vw;--container-widget-flex-grow:0;}.elementor-26545 .elementor-element.elementor-element-df1543e .elementor-icon{font-size:2vw;}.elementor-26545 .elementor-element.elementor-element-df1543e .elementor-icon svg{height:2vw;}.elementor-26545 .elementor-element.elementor-element-c77cafb > .elementor-widget-container{padding:0vw 0vw 4vw 0vw;}.elementor-26545 .elementor-element.elementor-element-c77cafb .elementor-heading-title{font-size:3.6vw;}.elementor-26545 .elementor-element.elementor-element-45f5956{--padding-top:0vw;--padding-bottom:6vw;--padding-left:0vw;--padding-right:0vw;}.elementor-26545 .elementor-element.elementor-element-3710752 .elementor-heading-title{font-size:15vw;line-height:1em;}.elementor-26545 .elementor-element.elementor-element-fd052c2 > .elementor-widget-container{padding:0vw 0vw 8vw 0vw;}.elementor-26545 .elementor-element.elementor-element-fd052c2 .elementor-heading-title{font-size:3.4vw;}.elementor-26545 .elementor-element.elementor-element-dd48d83 > .elementor-widget-container{margin:0vw 0vw -1.8vw 0vw;}.elementor-26545 .elementor-element.elementor-element-dd48d83{--container-widget-width:11%;--container-widget-flex-grow:0;width:var( --container-widget-width, 11% );max-width:11%;}.elementor-26545 .elementor-element.elementor-element-dd48d83.elementor-element{--align-self:center;}.elementor-26545 .elementor-element.elementor-element-dd48d83 .elementor-icon{font-size:4.5vw;}.elementor-26545 .elementor-element.elementor-element-dd48d83 .elementor-icon svg{height:4.5vw;}.elementor-26545 .elementor-element.elementor-element-f412dd5 > .elementor-widget-container{padding:0vw 0vw 0vw 0.5vw;}.elementor-26545 .elementor-element.elementor-element-f412dd5{--container-widget-width:66%;--container-widget-flex-grow:0;width:var( --container-widget-width, 66% );max-width:66%;text-align:left;}.elementor-26545 .elementor-element.elementor-element-f412dd5.elementor-element{--align-self:center;}.elementor-26545 .elementor-element.elementor-element-f412dd5 .elementor-heading-title{font-size:7.2vw;}.elementor-26545 .elementor-element.elementor-element-24c5906 > .elementor-widget-container{padding:0vw 0vw 0vw 0vw;}.elementor-26545 .elementor-element.elementor-element-24c5906{--container-widget-width:20%;--container-widget-flex-grow:0;width:var( --container-widget-width, 20% );max-width:20%;text-align:center;}.elementor-26545 .elementor-element.elementor-element-24c5906 .elementor-heading-title{font-size:2.8vw;}.elementor-26545 .elementor-element.elementor-element-8f531ce > .elementor-widget-container{padding:4vw 0vw 0vw 0vw;}.elementor-26545 .elementor-element.elementor-element-8f531ce{text-align:left;}.elementor-26545 .elementor-element.elementor-element-8f531ce .elementor-heading-title{font-size:3vw;}.elementor-26545 .elementor-element.elementor-element-5a6c030 img{border-radius:3vw 3vw 3vw 3vw;}.elementor-26545 .elementor-element.elementor-element-3512233{--padding-top:24vw;--padding-bottom:0vw;--padding-left:7.5vw;--padding-right:7.5vw;}.elementor-26545 .elementor-element.elementor-element-f16a43d{text-align:left;}.elementor-26545 .elementor-element.elementor-element-f16a43d .elementor-heading-title{font-size:15vw;}.elementor-26545 .elementor-element.elementor-element-9921692 > .elementor-widget-container{padding:0vw 0vw 8vw 0vw;}.elementor-26545 .elementor-element.elementor-element-9921692 .elementor-heading-title{font-size:3.4vw;}.elementor-26545 .elementor-element.elementor-element-3bed3b4{--padding-top:0vw;--padding-bottom:4vw;--padding-left:7.5vw;--padding-right:7.5vw;}}/* Start custom CSS for heading, class: .elementor-element-3710752 */.elementor-26545 .elementor-element.elementor-element-3710752 {
    white-space: nowrap
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-5a6c030 */.elementor-26545 .elementor-element.elementor-element-5a6c030 img{
    aspect-ratio: 745/929;
    object-fit: cover;
}

/*スマホ*/
@media only screen and (max-width: 767px){
.elementor-26545 .elementor-element.elementor-element-5a6c030 img{
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-f16a43d */.elementor-26545 .elementor-element.elementor-element-f16a43d {
    white-space: nowrap
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-a7037c3 */.elementor-26545 .elementor-element.elementor-element-a7037c3 {
    display: none1;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3a646af *//* =========================================================
   CF7 Modern（完全版 / select高さ統一 + ネイティブ矢印除去）
   - 固定幅: label 25% / input max 40% / help 25%
   - 丸チェックUI：未選択 #f8f9fa、選択は中央赤(#ff4757)ドット
   - 日付ピッカー：×リセット。CF7の<p><br>はdisplay:contentsで無力化
========================================================= */

/* 入力画面（既存そのまま） */
.cf7-modern {
  width: 100%;
  padding: 4vw 0;
  background: #ffffff00;
  font-family: "Zen Kaku Gothic New", system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-size: 1.1vw;
  box-sizing: border-box;
}

/* 見出し（任意） */
.cf7-modern .form-title {
  font-size: 4vw;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.08);
  text-align: center;
  margin: 0 0 1vw;
  letter-spacing: 0.3vw;
}
.cf7-modern .form-subtitle {
  text-align: center;
  color: #666;
  margin: 0 0 3vw;
  font-size: 1.1vw;
}

/* ステップ（任意） */
.cf7-modern .step-indicator {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5vw;
  margin-bottom: 3vw;
}
.cf7-modern .step { display: flex; flex-direction: column; align-items: center; }
.cf7-modern .step-number {
  width: 3.5vw; height: 3.5vw; border-radius: 50%; background: #ddd; color: #666;
  display: flex; align-items: center; justify-content: center; font-weight: 700;
  margin-bottom: 0.7vw; font-size: 1.1vw;
}
.cf7-modern .step.active .step-number { background: #333; color: #fff; }
.cf7-modern .step-label { font-size: 1vw; color: #666; }

/* 行レイアウト（3カラム固定） */
.cf7-modern .form-field {
  display: flex; align-items: center; justify-content: space-between; gap: 0;
  padding: 2vw 0; border-top: 1px solid #a9a9a9;
}
.cf7-modern .form-field:last-of-type { border-bottom: 1px solid #e8e8e8; }

/* 幅（25 / 40 / 25） */
.cf7-modern .field-label { flex: 0 0 25%; font-weight: 600; }
.cf7-modern .field-input { flex: 1; max-width: 40%; min-width: 0; font-weight: 500; }
.cf7-modern .field-help { flex: 0 0 25%; }

/* ラベル整列・余白リセット */
.cf7-modern .field-label label,
.cf7-modern .field-label > span,
.cf7-modern .field-label span[id$="-label"]{
  display: flex; justify-content: space-between; align-items: center; width: 100%; line-height: 1.3;
}
.cf7-modern .form-field label,
.cf7-modern .form-field p,
.cf7-modern .field-label p,
.cf7-modern .field-help p { margin: 0; }

/* 注記とバッジ */
.cf7-modern .note { font-size: 0.9vw; color: #888; margin-top: 0.4vw; }
.cf7-modern .required, .cf7-modern .optional {
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.75vw; line-height: 1; padding: 0.4vw 0.6vw; border-radius: 0.2vw;
  margin-left: 0.2em; transform: translateY(-0.05em);
}
.cf7-modern .required { background: #ff4757; color: #fff; }
.cf7-modern .optional { background: #ddd; color: #666; }

/* 入力コントロール（共通） */
.cf7-modern input[type="text"],
.cf7-modern input[type="email"],
.cf7-modern input[type="tel"],
.cf7-modern input[type="date"],
.cf7-modern textarea {
  width: 100%;
  padding: 1vw 1.3vw;
  border: 1px solid #ddd;
  border-radius: 0.3vw;
  font-size: 1.1vw;
  line-height: 1.2;
  background: #fff;
  color: #000;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.15s, color 0.15s;
}
.cf7-modern input[type="text"]:focus,
.cf7-modern input[type="email"]:focus,
.cf7-modern input[type="tel"]:focus,
.cf7-modern input[type="date"]:focus,
.cf7-modern textarea:focus { border-color: #3b82f6; box-shadow: none; }
.cf7-modern textarea { min-height: 10vw; resize: vertical; }
.cf7-modern ::placeholder { color: #aaa; }

/* 自動入力でも文字は黒 */
.cf7-modern input:-webkit-autofill {
  -webkit-text-fill-color: #000 !important;
  transition: background-color 9999s ease-out 0s;
}

/* =========================
   カスタム日付入力（×リセット対応）
========================= */
.custom-date-input { position: relative; width: 100%; }
.custom-date-input p{ margin:0; padding:0; display: contents; }
.custom-date-input br{ display:none; }

.date-display{
  position: relative;
  width: 100%;
  padding: 1vw 4.5vw 1vw 1.3vw;
  border: 1px solid #ddd;
  border-radius: 0.3vw;
  font-size: 1.1vw;
  line-height: 1.2;
  background: #fff;
  color: #000;
  box-sizing: border-box;
  outline: none;
  cursor: pointer;
  user-select: none;
  transition: border-color 0.15s;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1vw center;
  background-size: 1.2vw;
}
.date-display:hover,
.date-display:focus { border-color: #3b82f6; }
.date-display.placeholder { color: #aaa; }

.date-reset{
  position: absolute;
  right: 1vw;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2vw;
  height: 1.2vw;
  background: #999;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: background-color 0.15s;
  padding: 0;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  line-height: 1;
  aspect-ratio: 1 / 1;
}
.date-reset:hover { background: #666; }
.date-reset::before {
  content: "×";
  color: #fff;
  font-size: 0.8vw;
  line-height: 1;
  font-weight: bold;
}
.custom-date-input.has-value .date-display { background-image: none; }
.custom-date-input.has-value .date-reset   { display: flex; }

.date-picker {
  position: absolute;
  top: 100%;
  left: -25%;
  right: 0;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 0.3vw;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  padding: 1vw;
  margin-top: 0.2vw;
  display: none;
}
.date-picker.active { display: block; width: 150%; }
.date-picker-header {
  display: flex; justify-content: space-between; align-items: center; 
  margin-bottom: 1vw;
}
.month-nav {
  background: none; 
  border: none; 
  font-size: 1.8vw; 
  font-weight: 700;
  cursor: pointer;
  padding: 0vw 0.8vw 0.6vw 0.8vw; border-radius: 0.2vw; color: #666;
  display: flex; align-items: center; justify-content: center; min-width: 2vw;
}
.month-nav:hover { background: #f5f5f5; color: #333; }
.month-year { font-size: 1.1vw; font-weight: 600; color: #333; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0.2vw; min-width: 250px; }
.day-header { text-align: center; font-size: 1vw; color: #666; padding: 0.6vw; font-weight: 600; }
.day-cell {
  text-align: center; padding: 0.3vw 0.6vw; cursor: pointer; border-radius: 0.3vw;
  font-size: 1.1vw; 
  font-weight: 600;color: #333; transition: background-color 0.15s; min-height: 2vw;
  display: flex; align-items: center; justify-content: center;
}
.day-cell:hover { background: #f0f8ff; }
.day-cell.other-month { color: #ccc; }
.day-cell.selected { background: #3b82f6; color: #fff; }
.day-cell.today { background: #fff3cd; font-weight: 600; }
.day-cell.disabled { color: #ccc; cursor: not-allowed; }
.day-cell.disabled:hover { background: none; }

/* セレクト（時間用） */
.cf7-modern select {
  width: 100%;
  padding: 1vw 3.2vw 1vw 1.3vw;
  border: 1px solid #ddd;
  border-radius: 0.3vw;
  font-size: 1.1vw;
  line-height: 1.2;
  background-color: #fff;
  color: #000;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.15s, color 0.15s;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6l4 2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1vw center;
  background-size: 1.2vw;
  height: auto;
  min-height: calc(1.1vw * 1.2 + 2vw);
}
.cf7-modern select::-ms-expand { display: none; }
.cf7-modern select:focus { border-color: #3b82f6; box-shadow: none; }

/* 日付＋時間 横並び */
.cf7-modern .input-row {
  display: flex; justify-content: space-between; align-items: center; gap: 4%;
}
.cf7-modern .input-row .half { flex: 0 0 48%; }
.cf7-modern .input-row .half > span,
.cf7-modern .input-row .half > .wpcf7-form-control-wrap {
  display: block; width: 100%;
}

/* オプション（チェック/ラジオ） */
.cf7-modern .options-inline {
  display: flex !important; flex-wrap: wrap; align-items: center; gap: 1vw 1.3vw;
}
.cf7-modern .options-inline br,
.cf7-modern .options-inline .wpcf7-list-item-br { display: none !important; }
.cf7-modern .options-inline .wpcf7-list-item {
  display: inline-flex !important; align-items: center; margin: 0; white-space: nowrap;
}
.cf7-modern .options-inline input[type="checkbox"],
.cf7-modern .options-inline input[type="radio"] {
  -webkit-appearance: none !重要; appearance: none !important;
  width: 1.5vw; height: 1.5vw; border: none !important; box-shadow: none !important; background: #f8f9fa !important;
  border-radius: 50%; position: relative; cursor: pointer; outline: none; vertical-align: middle; margin: 0; margin-bottom: 0.2em;
}
.cf7-modern .options-inline input[type="checkbox"]:checked,
.cf7-modern .options-inline input[type="radio"]:checked { background: #f8f9fa !important; }
.cf7-modern .options-inline input[type="checkbox"]::after,
.cf7-modern .options-inline input[type="radio"]::after {
  content: ""; position: absolute; top: 50%; left: 50%; width: 0; height: 0; transform: translate(-50%, -50%);
  background: #ff4757; border-radius: 50%; transition: width 0.12s ease, height 0.12s ease;
}
.cf7-modern .options-inline input[type="checkbox"]:checked::after,
.cf7-modern .options-inline input[type="radio"]:checked::after { width: 0.7vw; height: 0.7vw; }
.cf7-modern .options-inline .wpcf7-list-item-label,
.cf7-modern .options-inline label.wpcf7-list-item-label {
  margin: 0 0 0 0.4em !important; display: inline-flex; align-items: baseline;
}

/* プライバシー */
.cf7-modern .privacy-policy {
  padding: 1.8vw 0 0 0;
  text-align: center;
  border-radius: 0.3vw;
  margin: 3vw 0 1.5vw;
  font-size: 0.9vw;
  line-height: 1.8;
  color: #666;
  border-top: 1px solid #a9a9a9;
}
.cf7-modern .privacy-consent {
  display: flex; justify-content: center; align-items: center; border-top: none;
}
.cf7-modern .privacy-consent .wpcf7-list-item {
  display: inline-flex !important; flex-direction: row !important; align-items: center !important; gap: 0.6vw;
  margin: 0; white-space: nowrap;
}
.cf7-modern .privacy-consent br,
.cf7-modern .privacy-consent .wpcf7-list-item-br { display: none !important; }
.cf7-modern .privacy-consent input[type="checkbox"] {
  -webkit-appearance: none; appearance: none; width: 1.5vw; height: 1.5vw; background: #f8f9fa; border: none; border-radius: 50%;
  position: relative; cursor: pointer; outline: none; display: inline-block; vertical-align: middle;
}
.cf7-modern .privacy-consent input[type="checkbox"]::after {
  content: ""; position: absolute; top: 50%; left: 50%; width: 0; height: 0; transform: translate(-50%, -50%);
  background: #ff4757; border-radius: 50%; transition: width 0.12s ease, height 0.12s ease;
}
.cf7-modern .privacy-consent input[type="checkbox"]:checked::after { width: 0.7vw; height: 0.7vw; }
.cf7-modern .privacy-consent .wpcf7-list-item-label,
.cf7-modern .privacy-consent label.wpcf7-list-item-label,
.cf7-modern .privacy-consent label[for="privacy-agree"] {
  display: inline-flex !important; align-items: baseline !important; margin: 0 !important; line-height: 1.2;
  font-size: 1.1vw; color: #333;
}

/* 補足文・送信ボタン */
.cf7-modern .help-text { font-size: 0.9vw; color: #888; line-height: 1.8; }
.cf7-modern .submit-container { text-align: center; margin-top: 3vw; }
/*.cf7-modern .submit-btn {
  background: #333; color: #fff; padding: 1.3vw 3.3vw; border: none; border-radius: 0.3vw;
  font-size: 1.1vw; cursor: pointer; transition: background 0.3s;
}*/

/* 入力画面：内容確認ボタン */
.cf7-modern .submit-btn{
  width: 39%;
  background: #fff;
  color: #333;
  font-weight: 700!important;
  padding: 2vw 3.5vw;
  border: none;
  border-radius: 10vw;
  font-size: 1.5vw;
  line-height: 1.7;
  letter-spacing: 0.3em;
  cursor: pointer;
  transition: background .3s, box-shadow .2s;

  /* 下方向だけに重心がある影 */
  box-shadow: 0 0.9vw 1.8vw -0.6vw rgba(0,0,0,.35);
 
}



.cf7-modern .submit-btn:hover { background: #444; 
    color: #fff;
    
}

/* ---- 受諾チェックが入るまで送信ボタンを無効化（入力ページ） ---- */
.cf7-modern:not(:has(#privacy-agree:checked)) .submit-btn{
  opacity: .3;
  pointer-events: none;                /* クリック & :hover を無効化 */
  transition: background .3s, box-shadow .2s, opacity .15s;
}

.wpcf7-response-output { display: none; }

/* ========= テキストエリアのタイポを強制（入力画面用） ========= */
.cf7-modern textarea,
.cf7-modern .wpcf7-form-control.wpcf7-textarea{
  font-family: "Zen Kaku Gothic New", system-ui, -apple-system, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
  font-size: 1.1vw !important;
  line-height: 1.7 !important;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #000;
  padding: 1vw 1.3vw !important;
  border: 1px solid #ddd;
  border-radius: 0.3vw;
  background: #fff;
  box-sizing: border-box;
  resize: vertical;
  min-height: 10vw;
}

/* 文字数カウンター（入力画面のみ） */
.cf7-modern .char-count{
  margin-top: .4vw;
  text-align: right;
  font-size: .9vw;     /* = .help-text と同等 */
  color: #888;
  line-height: 1.2;
}

/* =========================
   （タブレット）
========================= */
@media only screen and (max-width: 1020px) and (min-width: 768px) {
  .cf7-modern { font-size: 1.5vw; }
  .cf7-modern .field-label { flex: 0 0 24%; }
  .cf7-modern .field-input { max-width: 44%; }
  .cf7-modern .field-help  { flex: 0 0 24%; }
  .cf7-modern .note,
  .cf7-modern .help-text { font-size: 1.25vw; }
  .cf7-modern .required,
  .cf7-modern .optional { font-size: 1.0vw; padding: 0.35vw 0.55vw; border-radius: 0.25vw; }
  .cf7-modern input[type="text"],
  .cf7-modern input[type="email"],
  .cf7-modern input[type="tel"],
  .cf7-modern input[type="date"],
  .cf7-modern textarea,
  .cf7-modern select,
  .cf7-modern .date-display {
    font-size: 1.5vw; border-radius: 0.35vw; padding: 1.1vw 1.4vw;
  }
  .cf7-modern textarea { min-height: 14vw; }
  .cf7-modern select {
    padding: 1.1vw 4.4vw 1.1vw 1.4vw; background-size: 1.4vw;
    background-position: right 1.1vw center; min-height: calc(1.5vw * 1.2 + 2vw);
  }
  .cf7-modern .date-display {
    padding: 1.1vw 4.4vw 1.1vw 1.4vw; background-size: 1.4vw; background-position: right 1.1vw center;
  }
  .date-reset{ right: 1.1vw; width: 1.6vw; height: 1.6vw; padding: 0; box-sizing: border-box; -webkit-appearance: none; appearance: none; aspect-ratio: 1 / 1; line-height: 1; }
  .date-reset::before { font-size: 1.05vw; }
  .month-nav { font-size: 1.8vw; padding: 0vw 0.8vw 0.6vw 0.8vw; }
  .month-year { font-size: 1.5vw; }
  .day-header { font-size: 1.4vw; padding: 0.6vw; }
  .day-cell { padding: 0.2vw 0.6vw; font-size: 1.5vw; }
  .cf7-modern .options-inline input[type="checkbox"],
  .cf7-modern .options-inline input[type="radio"] {
    width: 2vw; height: 2vw; min-width: 2vw; min-height: 2vw; padding: 0; box-sizing: border-box; -webkit-appearance: none; appearance: none; aspect-ratio: 1 / 1; line-height: 1;
  }
  .cf7-modern .options-inline input[type="checkbox"]:checked::after,
  .cf7-modern .options-inline input[type="radio"]:checked::after { width: 0.8vw; height: 0.8vw; }
  .cf7-modern .privacy-consent input[type="checkbox"]{ width: 2vw; height: 2vw; min-width: 2vw; min-height: 2vw; padding: 0; box-sizing: border-box; -webkit-appearance: none; appearance: none; aspect-ratio: 1 / 1; line-height: 1; }
  .cf7-modern .privacy-consent input[type="checkbox"]:checked::after{ width: 0.8vw; height: 0.8vw; }
  .cf7-modern .privacy-consent .wpcf7-list-item-label,
  .cf7-modern .privacy-consent label.wpcf7-list-item-label,
  .cf7-modern .privacy-consent label[for="privacy-agree"]{ font-size: 1.5vw; }
  .cf7-modern .submit-btn { font-size: 1.5vw; padding: 1.3vw 3.2vw; border-radius: 0.35vw; }
  .cf7-modern .form-title { font-size: 6vw; margin: 0 0 1.4vw; letter-spacing: 0.4vw; }
  .cf7-modern .form-subtitle { font-size: 1.5vw; margin: 0 0 3vw; }
  .cf7-modern textarea,
  .cf7-modern .wpcf7-form-control.wpcf7-textarea{
    font-size: 1.5vw !important; line-height: 1.7 !important; padding: 1.2vw 1.6vw !important; min-height: 16vw;
  }
}

/* =========================
   レスポンシブ（スマホ）
========================= */
@media (max-width: 767px) {
  .cf7-modern { font-size: 3.4vw; padding: 5vw 0; }
  .cf7-modern .form-field { flex-direction: column; gap: 2vw; padding: 4vw 0; }
  .cf7-modern .field-label,
  .cf7-modern .field-input,
  .cf7-modern .field-help { flex: none; max-width: 100%; width: 100%; }
  .cf7-modern .field-input p { margin: 0 !important; width: 100% !important; }
  .cf7-modern .field-label label,
  .cf7-modern .field-label > span,
  .cf7-modern .field-label span[id$="-label"] { justify-content: flex-start; gap: 0.6em; }
  .cf7-modern .form-title { font-size: 8vw; margin: 0 0 2vw; letter-spacing: 0.5vw; }
  .cf7-modern .form-subtitle { font-size: 3.4vw; margin: 0 0 6vw; }
  .cf7-modern .step-indicator { gap: 5vw; margin-bottom: 6vw; }
  .cf7-modern .step-number { width: 8vw; height: 8vw; font-size: 3vw; margin-bottom: 1.5vw; }
  .cf7-modern .step-label { font-size: 2.8vw; }
  .cf7-modern .required,
  .cf7-modern .optional { font-size: 2.5vw; padding: 1vw 1.5vw; border-radius: 0.5vw; }
  .cf7-modern .note { font-size: 2.8vw; margin-top: 1vw; }
  .cf7-modern input[type="text"],
  .cf7-modern input[type="email"],
  .cf7-modern input[type="tel"],
  .cf7-modern input[type="date"],
  .cf7-modern textarea,
  .cf7-modern select {
    width: 100%; font-size: 3.6vw; padding: 2.5vw 3vw; border-radius: 0.8vw;
  }
  .cf7-modern textarea { min-height: 25vw; }
  .cf7-modern select {
    padding: 2.5vw 8vw 2.5vw 3vw; background-size: 3vw; background-position: right 2.5vw center;
  }
  .cf7-modern .date-display {
    padding: 2.5vw 10vw 2.5vw 3vw; font-size: 3.6vw; border-radius: 0.8vw;
    background-size: 3vw; background-position: right 2.5vw center;
  }
  .date-reset { right: 2.5vw; width: 4vw; height: 4vw; }
  .date-reset::before { font-size: 2vw; }
  .cf7-modern .input-row { flex-direction: column; gap: 2vw; width: 100% !important; }
  .cf7-modern .input-row .half { flex: unset !important; width: 100% !important; max-width: 100% !important; }
  .cf7-modern .input-row .half > p { width: 100% !important; margin: 0 !important; }
  .cf7-modern .input-row .half > span,
  .cf7-modern .input-row .half > .wpcf7-form-control-wrap,
  .cf7-modern .input-row .half > p > .wpcf7-form-control-wrap { width: 100% !important; display: block !important; }
  .cf7-modern .input-row .half .custom-date-input,
  .cf7-modern .input-row .half select,
  .cf7-modern .input-row .half input,
  .cf7-modern .input-row .half .date-display { width: 100% !important; max-width: 100% !important; }
  .cf7-modern .custom-date-input { width: 100% !important; }
  .cf7-modern .custom-date-input .date-display { width: 100% !important; }
  .cf7-modern .custom-date-input .date-display p { width: 100% !important; margin: 0 !important; }
  .cf7-modern .date-picker {
    width: 100%; left: 0; right: 0; padding: 3vw; border-radius: 0.8vw; margin-top: 0.5vw; min-width: unset;
  }
  .cf7-modern .date-picker.active { width: 100%; }
  .cf7-modern .date-picker-header { margin-bottom: 3vw; display: flex; justify-content: space-between; align-items: center; width: 100%; }
  .cf7-modern .month-nav {
    font-size: 5vw; padding: 2vw; width: 10%; height: 8vw; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  }
  .cf7-modern .month-year { font-size: 4vw; font-weight: 600; text-align: center; width: 80%; flex-shrink: 0; }
  .cf7-modern .calendar-grid { gap: 0.5vw; min-width: unset; }
  .cf7-modern .day-header { font-size: 3vw; padding: 2vw; }
  .cf7-modern .day-cell { font-size: 4vw; padding: 1.2vw 1.5vw; min-height: 6vw; border-radius: 0.8vw; }
  .cf7-modern .help-text { font-size: 2.8vw; line-height: 1.6; }
  .cf7-modern .options-inline { gap: 2vw 3vw; }
  .cf7-modern .options-inline input[type="checkbox"],
  .cf7-modern .options-inline input[type="radio"] {
    width: 4vw; height: 4vw; min-width: 4vw; min-height: 4vw; flex-shrink: 0;
  }
  .cf7-modern .options-inline input[type="checkbox"]:checked::after,
  .cf7-modern .options-inline input[type="radio"]:checked::after { width: 2vw; height: 2vw; }
  .cf7-modern .options-inline .wpcf7-list-item-label,
  .cf7-modern .options-inline label.wpcf7-list-item-label { margin: 0 0 0 1vw !important; font-size: 3.4vw; }
  .cf7-modern .privacy-policy { padding: 4vw 0 0 0; margin: 6vw 0 3vw; font-size: 2.8vw; }
  .cf7-modern .privacy-consent { gap: 1.5vw; }
  .cf7-modern .privacy-consent input[type="checkbox"] {
    width: 4vw; height: 4vw; min-width: 4vw; min-height: 4vw; flex-shrink: 0;
  }
  .cf7-modern .privacy-consent input[type="checkbox"]:checked::after { width: 2vw; height: 2vw; }
  .cf7-modern .privacy-consent .wpcf7-list-item-label,
  .cf7-modern .privacy-consent label.wpcf7-list-item-label,
  .cf7-modern .privacy-consent label[for="privacy-agree"] { font-size: 3.4vw !important; }
  .cf7-modern .submit-container { margin-top: 6vw; }
  .cf7-modern .submit-container p {
    display: flex; flex-direction: column; align-items: center; gap: 2vw; margin: 0;
  }
  .cf7-modern .submit-btn { padding: 3vw 8vw; font-size: 3.4vw; border-radius: 0.8vw; }
  .cf7-modern .wpcf7-spinner { display: block; margin: 0 auto; } /* ←既存（下で位置だけ上書き） */
  .cf7-modern textarea,
  .cf7-modern .wpcf7-form-control.wpcf7-textarea{
    font-size: 3.4vw !important; line-height: 1.7 !important; padding: 2.5vw 3vw !important; min-height: 25vw; border-radius: 0.8vw;
  }
}

/* =========================
   ▼▼ スピナーだけ位置修正（追加）▼▼
   ボタンの真下中央に固定。レイアウトを押さない
========================= */
.cf7-modern .submit-container { position: relative; }
.cf7-modern .submit-container .wpcf7-spinner {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -2.2em;   /* 好みで微調整可 */
  margin: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .cf7-modern .submit-container .wpcf7-spinner {
    bottom: -2.8em; /* モバイルは少し余裕を */
  }
  /* 既存の display:block; margin を打ち消し（位置は絶対配置のまま） */
  .cf7-modern .wpcf7-spinner { margin: 0; }
}/* End custom CSS */