.elementor-30 .elementor-element.elementor-element-fd7e068{--display:flex;--min-height:918px;--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:flex-end;--overlay-opacity:0.13;--padding-top:4%;--padding-bottom:4%;--padding-left:4%;--padding-right:4%;}.elementor-30 .elementor-element.elementor-element-fd7e068::before, .elementor-30 .elementor-element.elementor-element-fd7e068 > .elementor-background-video-container::before, .elementor-30 .elementor-element.elementor-element-fd7e068 > .e-con-inner > .elementor-background-video-container::before, .elementor-30 .elementor-element.elementor-element-fd7e068 > .elementor-background-slideshow::before, .elementor-30 .elementor-element.elementor-element-fd7e068 > .e-con-inner > .elementor-background-slideshow::before, .elementor-30 .elementor-element.elementor-element-fd7e068 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-primary );--background-overlay:'';}.elementor-30 .elementor-element.elementor-element-fd7e068 .elementor-background-slideshow__slide__image{background-size:cover;background-position:center center;}.elementor-30 .elementor-element.elementor-element-fd7e068.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-cc2add7{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:2%;--padding-left:4%;--padding-right:4%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-30 .elementor-element.elementor-element-8602c2b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-30 .elementor-element.elementor-element-8602c2b .elementor-heading-title{font-family:"Zen Old Mincho", Sans-serif;font-weight:600;letter-spacing:0.18rem;color:var( --e-global-color-astglobalcolor5 );}.elementor-30 .elementor-element.elementor-element-2396ccd{--display:flex;--min-height:918px;--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:flex-end;--overlay-opacity:0.13;--padding-top:4%;--padding-bottom:4%;--padding-left:4%;--padding-right:4%;}.elementor-30 .elementor-element.elementor-element-2396ccd::before, .elementor-30 .elementor-element.elementor-element-2396ccd > .elementor-background-video-container::before, .elementor-30 .elementor-element.elementor-element-2396ccd > .e-con-inner > .elementor-background-video-container::before, .elementor-30 .elementor-element.elementor-element-2396ccd > .elementor-background-slideshow::before, .elementor-30 .elementor-element.elementor-element-2396ccd > .e-con-inner > .elementor-background-slideshow::before, .elementor-30 .elementor-element.elementor-element-2396ccd > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-primary );--background-overlay:'';}.elementor-30 .elementor-element.elementor-element-2396ccd .elementor-background-slideshow__slide__image{background-size:cover;background-position:center center;}.elementor-30 .elementor-element.elementor-element-2396ccd.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-d3a2785{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:4%;--padding-right:4%;}.elementor-30 .elementor-element.elementor-element-2db9efb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-30 .elementor-element.elementor-element-2db9efb .elementor-heading-title{font-family:"Zen Old Mincho", Sans-serif;font-weight:600;letter-spacing:0.1rem;color:var( --e-global-color-astglobalcolor5 );}.elementor-30 .elementor-element.elementor-element-2e3bcca{--display:flex;--min-height:150vh;--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:8%;--padding-bottom:25%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-2e3bcca:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-2e3bcca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://k-orimono.com/wp-content/uploads/2025/10/top-back-img-scaled.jpg");}.elementor-30 .elementor-element.elementor-element-c7d4f53{--display:flex;--min-height:30vh;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30 .elementor-element.elementor-element-c7d4f53.e-con{--align-self:flex-end;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-30 .elementor-element.elementor-element-dde365e{--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:5%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-55b88ea{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30 .elementor-element.elementor-element-3292391.elementor-element{--align-self:flex-start;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-30 .elementor-element.elementor-element-61a0a27{padding:6% 0% 0% 10%;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1.1rem;font-weight:400;line-height:2rem;}.elementor-30 .elementor-element.elementor-element-41d6aa2{--spacer-size:50px;}.elementor-30 .elementor-element.elementor-element-95d281b{width:100%;max-width:100%;padding:0% 0% 0% 10%;}.elementor-30 .elementor-element.elementor-element-95d281b.elementor-element{--align-self:flex-start;}.elementor-30 .elementor-element.elementor-element-fedbb3a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:60px;--padding-right:0px;}.elementor-30 .elementor-element.elementor-element-fedbb3a.e-con{--align-self:flex-end;}.elementor-30 .elementor-element.elementor-element-0695430.elementor-element{--align-self:flex-end;}.elementor-30 .elementor-element.elementor-element-4c7f8ee{--display:flex;--min-height:150vh;--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:8%;--padding-bottom:25%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-4c7f8ee:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-4c7f8ee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://k-orimono.com/wp-content/uploads/2025/10/top-back-img-scaled.jpg");}.elementor-30 .elementor-element.elementor-element-0154aaf{--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:5%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-252f231{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30 .elementor-element.elementor-element-6d4cca9.elementor-element{--align-self:flex-start;}.elementor-30 .elementor-element.elementor-element-ddc86f7.elementor-element{--align-self:flex-start;}.elementor-30 .elementor-element.elementor-element-c3248c7.elementor-element{--align-self:flex-end;}.elementor-30 .elementor-element.elementor-element-6ddb7be{padding:6% 0% 0% 10%;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1.1rem;font-weight:400;line-height:2rem;}.elementor-30 .elementor-element.elementor-element-8f0bc7c{--spacer-size:50px;}.elementor-30 .elementor-element.elementor-element-27e8dfa{margin:-46px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-30 .elementor-element.elementor-element-27e8dfa.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-786f5bf{margin:-46px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-30 .elementor-element.elementor-element-786f5bf.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-1b90b24{--display:flex;--min-height:120vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8%;--padding-bottom:8%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-1b90b24:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-1b90b24 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://k-orimono.com/wp-content/uploads/2025/10/top-back-img_02.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-30 .elementor-element.elementor-element-1b90b24.e-con{--align-self:center;}.elementor-30 .elementor-element.elementor-element-6f1cab9{text-align:center;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-astglobalcolor5 );}.elementor-30 .elementor-element.elementor-element-952f85e{padding:1% 4% 1% 4%;text-align:center;}.elementor-30 .elementor-element.elementor-element-952f85e .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-weight:600;letter-spacing:0.5rem;color:var( --e-global-color-astglobalcolor5 );}.elementor-30 .elementor-element.elementor-element-1838810{--display:flex;--min-height:568px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30 .elementor-element.elementor-element-1cfc722{padding:2% 5% 5% 4%;text-align:center;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-astglobalcolor5 );}.elementor-30 .elementor-element.elementor-element-ec8ab65{padding:0px 0px 0px 0px;}.elementor-30 .elementor-element.elementor-element-129d363{margin:-46px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-30 .elementor-element.elementor-element-129d363.elementor-element{--align-self:center;}.elementor-30 .elementor-element.elementor-element-0e0eb63{--display:flex;--min-height:120vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8%;--padding-bottom:8%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-0e0eb63:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-0e0eb63 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://k-orimono.com/wp-content/uploads/2025/10/top-back-img_02.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-30 .elementor-element.elementor-element-0e0eb63.e-con{--align-self:center;}.elementor-30 .elementor-element.elementor-element-4b6ab4d{text-align:center;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-astglobalcolor5 );}.elementor-30 .elementor-element.elementor-element-d756c52{padding:1% 4% 1% 4%;text-align:center;}.elementor-30 .elementor-element.elementor-element-d756c52 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-weight:600;letter-spacing:0.5rem;color:var( --e-global-color-astglobalcolor5 );}.elementor-30 .elementor-element.elementor-element-6978535{padding:2% 5% 5% 4%;text-align:center;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-astglobalcolor5 );}.elementor-30 .elementor-element.elementor-element-a74a234{padding:0px 0px 0px 0px;}.elementor-30 .elementor-element.elementor-element-0428c90{margin:-46px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-30 .elementor-element.elementor-element-0428c90.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-5d08f56{--display:flex;--min-height:120vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-5d08f56:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-5d08f56 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://k-orimono.com/wp-content/uploads/2025/10/top-back-img_03.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-30 .elementor-element.elementor-element-140d355{text-align:center;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-9f8219a{padding:1% 4% 1% 4%;text-align:center;}.elementor-30 .elementor-element.elementor-element-9f8219a .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-weight:600;letter-spacing:0.5rem;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-29174ed{--display:flex;--min-height:568px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30 .elementor-element.elementor-element-47faa61{padding:2% 5% 4% 4%;text-align:center;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-f393a3c{--display:grid;--min-height:40vh;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:3% 3%;--row-gap:3%;--column-gap:3%;--grid-auto-flow:row;--padding-top:0%;--padding-bottom:0%;--padding-left:4%;--padding-right:4%;}.elementor-30 .elementor-element.elementor-element-150dc7e.elementor-element{--order:-99999 /* order start hack */;}.elementor-30 .elementor-element.elementor-element-150dc7e{text-align:center;}.elementor-30 .elementor-element.elementor-element-63ecb94{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:4% 0% 0% 0%;}.elementor-30 .elementor-element.elementor-element-63ecb94.elementor-element{--align-self:center;}.elementor-30 .elementor-element.elementor-element-2cc43a1{--display:flex;--min-height:120vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8%;--padding-bottom:8%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-2cc43a1:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-2cc43a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://k-orimono.com/wp-content/uploads/2025/10/top-back-img_02.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-30 .elementor-element.elementor-element-2cc43a1.e-con{--align-self:center;}.elementor-30 .elementor-element.elementor-element-1daa3b5{text-align:center;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-6983a4b{padding:1% 4% 1% 4%;text-align:center;}.elementor-30 .elementor-element.elementor-element-6983a4b .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-weight:600;letter-spacing:0.5rem;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-1a44c4d{--display:flex;--min-height:568px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30 .elementor-element.elementor-element-c63e7f6{padding:2% 5% 5% 4%;text-align:center;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-0a16275{--spacer-size:50px;}.elementor-30 .elementor-element.elementor-element-e726351{margin:-46px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-30 .elementor-element.elementor-element-e726351.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-dc583b0{--display:flex;--min-height:120vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-dc583b0:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-dc583b0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-30 .elementor-element.elementor-element-dc583b0.e-con{--align-self:center;}.elementor-30 .elementor-element.elementor-element-de66052{--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;}.elementor-30 .elementor-element.elementor-element-97aea58{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:4%;--padding-bottom:4%;--padding-left:4%;--padding-right:4%;}.elementor-30 .elementor-element.elementor-element-97aea58.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-ff89c77{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;}.elementor-30 .elementor-element.elementor-element-a6e0599{padding:0% 0% 1% 4%;text-align:left;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-66d23f4{width:var( --container-widget-width, 100% );max-width:100%;padding:1% 4% 1% 4%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:left;}.elementor-30 .elementor-element.elementor-element-66d23f4 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-weight:600;letter-spacing:0.5rem;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-f9f5fe2{padding:2% 5% 9% 4%;text-align:left;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-c6001b7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0% 0% 0% 4%;}.elementor-30 .elementor-element.elementor-element-c6001b7.elementor-element{--align-self:flex-start;}.elementor-30 .elementor-element.elementor-element-d65e301{--display:flex;--min-height:120vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-d65e301:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-d65e301 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-30 .elementor-element.elementor-element-d65e301.e-con{--align-self:center;}.elementor-30 .elementor-element.elementor-element-fa3d37c{--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;}.elementor-30 .elementor-element.elementor-element-2913440{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:4%;--padding-bottom:4%;--padding-left:4%;--padding-right:4%;}.elementor-30 .elementor-element.elementor-element-2913440.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-80057ab{text-align:center;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-7f4f03b{width:var( --container-widget-width, 100% );max-width:100%;padding:1% 4% 1% 4%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:left;}.elementor-30 .elementor-element.elementor-element-7f4f03b .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-weight:600;letter-spacing:0.5rem;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-26168d2{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;}.elementor-30 .elementor-element.elementor-element-5e0b974{padding:2% 5% 9% 4%;text-align:left;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-accb62a{margin:-46px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-30 .elementor-element.elementor-element-accb62a.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-ccf8d53{--display:flex;--min-height:60vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-ccf8d53.e-con{--align-self:center;}.elementor-30 .elementor-element.elementor-element-75f2063{--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;}.elementor-30 .elementor-element.elementor-element-6f51b49{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;}.elementor-30 .elementor-element.elementor-element-8dc20c9{padding:0% 0% 1% 4%;text-align:left;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-08c029d{width:var( --container-widget-width, 100% );max-width:100%;padding:1% 4% 1% 4%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:left;}.elementor-30 .elementor-element.elementor-element-08c029d .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-weight:600;letter-spacing:0.5rem;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-7df7ebf{width:100%;max-width:100%;padding:1% 0% 3% 4%;text-align:left;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-e165412{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0% 4% 0% 4%;}.elementor-30 .elementor-element.elementor-element-e165412.elementor-element{--align-self:flex-start;}.elementor-30 .elementor-element.elementor-element-358b569{--display:flex;--min-height:60vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-358b569.e-con{--align-self:center;}.elementor-30 .elementor-element.elementor-element-6248be5{--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;}.elementor-30 .elementor-element.elementor-element-14c0788{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;}.elementor-30 .elementor-element.elementor-element-2715c65{text-align:center;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-fbb4cc1{width:var( --container-widget-width, 100% );max-width:100%;padding:1% 4% 1% 4%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:left;}.elementor-30 .elementor-element.elementor-element-fbb4cc1 .elementor-heading-title{font-family:"Noto Serif JP", Sans-serif;font-weight:600;letter-spacing:0.5rem;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-5b9b8c8{width:100%;max-width:100%;padding:1% 0% 3% 4%;text-align:left;font-family:"Zen Kaku Gothic New", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );}.elementor-30 .elementor-element.elementor-element-1331bb2{--spacer-size:50px;}.elementor-30 .elementor-element.elementor-element-b403c04{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0% 4% 0% 4%;}.elementor-30 .elementor-element.elementor-element-b403c04.elementor-element{--align-self:flex-start;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-30 .elementor-element.elementor-element-f393a3c{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-30 .elementor-element.elementor-element-fd7e068{--width:116.452%;}.elementor-30 .elementor-element.elementor-element-2396ccd{--width:116.452%;}.elementor-30 .elementor-element.elementor-element-c7d4f53{--width:78%;}.elementor-30 .elementor-element.elementor-element-55b88ea{--width:55%;}.elementor-30 .elementor-element.elementor-element-fedbb3a{--width:45%;}.elementor-30 .elementor-element.elementor-element-252f231{--width:55%;}.elementor-30 .elementor-element.elementor-element-f393a3c{--content-width:1000px;}.elementor-30 .elementor-element.elementor-element-97aea58{--width:48%;}.elementor-30 .elementor-element.elementor-element-ff89c77{--width:100%;}.elementor-30 .elementor-element.elementor-element-2913440{--width:48%;}.elementor-30 .elementor-element.elementor-element-26168d2{--width:100%;}.elementor-30 .elementor-element.elementor-element-6f51b49{--width:100%;}.elementor-30 .elementor-element.elementor-element-14c0788{--width:100%;}}@media(max-width:767px){.elementor-30 .elementor-element.elementor-element-2396ccd{--min-height:80vh;}.elementor-30 .elementor-element.elementor-element-d3a2785{--padding-top:0%;--padding-bottom:10%;--padding-left:4%;--padding-right:4%;}.elementor-30 .elementor-element.elementor-element-2db9efb .elementor-heading-title{letter-spacing:0.25rem;}.elementor-30 .elementor-element.elementor-element-4c7f8ee:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-4c7f8ee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-30 .elementor-element.elementor-element-4c7f8ee{--padding-top:20%;--padding-bottom:15%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-0154aaf{--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-6d4cca9{text-align:right;}.elementor-30 .elementor-element.elementor-element-6d4cca9 img{width:90%;}.elementor-30 .elementor-element.elementor-element-ddc86f7{padding:15% 0% 0% 0%;text-align:left;}.elementor-30 .elementor-element.elementor-element-ddc86f7 img{width:75%;}.elementor-30 .elementor-element.elementor-element-c3248c7{padding:27px 0px 0px 0px;text-align:right;}.elementor-30 .elementor-element.elementor-element-c3248c7 img{width:65%;}.elementor-30 .elementor-element.elementor-element-6ddb7be{padding:6% 4% 0% 4%;text-align:left;font-size:1rem;line-height:1.5rem;}.elementor-30 .elementor-element.elementor-element-27e8dfa{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-30 .elementor-element.elementor-element-786f5bf{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-30 .elementor-element.elementor-element-0e0eb63{--min-height:80vh;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15%;--padding-bottom:15%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-6978535{padding:8% 4% 10% 4%;}.elementor-30 .elementor-element.elementor-element-a74a234 img{height:30vh;}.elementor-30 .elementor-element.elementor-element-0428c90{width:auto;max-width:auto;margin:-40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0% 0% 0% 0%;}.elementor-30 .elementor-element.elementor-element-f393a3c{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-30 .elementor-element.elementor-element-2cc43a1:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-2cc43a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://k-orimono.com/wp-content/uploads/2025/10/top-back-img_03.jpg");}.elementor-30 .elementor-element.elementor-element-2cc43a1{--min-height:80vh;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15%;--padding-bottom:15%;--padding-left:0%;--padding-right:0%;}.elementor-30 .elementor-element.elementor-element-c63e7f6{padding:8% 4% 10% 4%;}.elementor-30 .elementor-element.elementor-element-e726351{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-30 .elementor-element.elementor-element-accb62a{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-30 .elementor-element.elementor-element-358b569{--min-height:50vh;}.elementor-30 .elementor-element.elementor-element-1331bb2{--spacer-size:3rem;}}/* Start custom CSS for html, class: .elementor-element-95d281b */@media (max-width: 480px) {
  .btn-kobayashi {
    inline-size: 90%;
    width: 90%;
    box-sizing: border-box;
    padding: 18px 16px;
    gap: 14px;
    white-space: normal;
    justify-content: flex-start;
    margin-inline: auto; /* ← 中央寄せ */
  }

  .btn-kobayashi .btn-ja {
    font-size: 16px;
    letter-spacing: .18em;
  }
  .btn-kobayashi .btn-en {
    font-size: 13px;
    margin-left: auto;
  }

  .btn-kobayashi::after {
    font-size: 16px;
  }

  .btn-kobayashi:hover::after,
  .btn-kobayashi:focus-visible::after {
    transform: translateX(9px); /* 横移動も少し控えめ */
  }

  /* 「全幅ユーティリティ」も90%に上書き */
  .btn-kobayashi.btn--full,
  .btn--wide,
  .btn--fluid,
  .btn--w520,
  .btn--w560,
  .btn--w600 {
    --btn-width: 90%;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-27e8dfa */:root{
  --btn-ink: #333333;
  --btn-bg:  #ffffff;
  --btn-hover: #1C2C4C; /* 紺 */
}

/* 基本ボタン */
.btn-kobayashi{
  --pad-y: 35px;
  --pad-x: 80px;

  display: inline-flex;
  align-items: center;
  gap: 30px;                      /* 日英の間隔 */
  padding: var(--pad-y) var(--pad-x);
  border: 1px solid var(--btn-ink);
  background: var(--btn-bg);
  color: var(--btn-ink);
  text-decoration: none;
  border-radius: 0;               /* 角丸なし */
  line-height: 1;                 /* 文字上下の詰めすぎを防ぐなら 1.2 でもOK */
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
  position: relative;
}

/* 日本語・英語の書体 */
.btn-kobayashi .btn-ja{
  font-family:"Noto Serif JP",serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.12rem;             /* 18px相当。大きくしたければ 1.25rem */
  letter-spacing: .2em;
}
.btn-kobayashi .btn-en{
  font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  font-weight: 400;
  font-style: normal;             /* 斜体禁止 */
  font-size: .94rem;              /* 和文より少し小さめで上品に */
  letter-spacing: .06em;
}

.btn-kobayashi,
.btn-kobayashi:link,
.btn-kobayashi:visited,
.btn-kobayashi:hover,
.btn-kobayashi:active,
.btn-kobayashi:focus {
  text-decoration: none !important;
}

/* 矢印（水平） */
.btn-kobayashi::after{
  content: "→";                   /* 斜めにしない水平矢印 */
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 6px;
  transition: transform .25s ease;
  transform: translateX(0);
}

/* ホバー/フォーカス */
.btn-kobayashi:hover,
.btn-kobayashi:focus-visible{
  background: var(--btn-hover);
  color: #fff;
  border-color: var(--btn-hover);
  outline: none;
}
.btn-kobayashi:hover::after,
.btn-kobayashi:focus-visible::after{
  transform: translateX(20px);     /* 横スライド */
}

/* アクセシビリティ：キーボードフォーカス輪郭 */
.btn-kobayashi:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn-hover) 25%, white);
}

/* 追加（共通） */
.btn-kobayashi{
  /* 幅は可変にできる変数。未指定なら自動 */
  inline-size: var(--btn-width, auto);
  justify-content: space-between;   /* 中の配置を均等に */
}

/* 幅をそろえるユーティリティ */
.btn--wide   { --btn-width: 560px; }                /* 固定幅 */
.btn--fluid  { --btn-width: clamp(420px, 32vw, 560px); }  /* 画面に応じて可変 */

/* 英文を右に寄せたい時（任意） */
.btn-kobayashi .btn-en{ margin-left: auto; }
.btn-kobayashi::after{ margin-left: 0; }  /* gap はそのままでもOK */

/* モバイルでは全幅にしたい場合（任意） */
@media (max-width: 480px){
  .btn--wide, .btn--fluid{ --btn-width: 100%; }
}
/* 幅そろえ＋サイズ固定（どの親でも同じ見た目に） */
.btn-kobayashi{
  box-sizing: border-box;     /* 幅にボーダー込み */
  inline-size: var(--btn-width, auto);  /* ←幅はカスタムで指定（未指定なら自動） */
  white-space: nowrap;        /* 途中改行で高さがズレるのを防ぐ */
  justify-content: space-between;
  gap: 30px;

  /* rem ではなく px でロック（見た目が親のfont-sizeに影響されない） */
  padding: 35px 80px;
}
.btn-kobayashi .btn-ja{ font-size: 18px; letter-spacing: .2em; }
.btn-kobayashi .btn-en{ font-size: 15px; letter-spacing: .06em; margin-left: auto; }
.btn-kobayashi::after{ font-size: 19px; }

/* 幅ユーティリティ：どれか一つをクラスで付ける */
.btn--w520 { --btn-width: 520px; }
.btn--w560 { --btn-width: 560px; }
.btn--w600 { --btn-width: 600px; }

/* 画面に応じて可変にしたいならこちらも用意（必要なら） */
.btn--fluid { --btn-width: clamp(420px, 32vw, 560px); }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-786f5bf */:root{
  --btn-ink: #333333;
  --btn-bg:  #ffffff;
  --btn-hover: #1C2C4C; /* 紺 */
}

/* 基本ボタン */
.btn-kobayashi{
  --pad-y: 35px;
  --pad-x: 80px;

  display: inline-flex;
  align-items: center;
  gap: 30px;                      /* 日英の間隔 */
  padding: var(--pad-y) var(--pad-x);
  border: 1px solid var(--btn-ink);
  background: var(--btn-bg);
  color: var(--btn-ink);
  text-decoration: none;
  border-radius: 0;               /* 角丸なし */
  line-height: 1;                 /* 文字上下の詰めすぎを防ぐなら 1.2 でもOK */
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
  position: relative;
}

/* 日本語・英語の書体 */
.btn-kobayashi .btn-ja{
  font-family:"Noto Serif JP",serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.12rem;             /* 18px相当。大きくしたければ 1.25rem */
  letter-spacing: .2em;
}
.btn-kobayashi .btn-en{
  font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  font-weight: 400;
  font-style: normal;             /* 斜体禁止 */
  font-size: .94rem;              /* 和文より少し小さめで上品に */
  letter-spacing: .06em;
}

.btn-kobayashi,
.btn-kobayashi:link,
.btn-kobayashi:visited,
.btn-kobayashi:hover,
.btn-kobayashi:active,
.btn-kobayashi:focus {
  text-decoration: none !important;
}

/* 矢印（水平） */
.btn-kobayashi::after{
  content: "→";                   /* 斜めにしない水平矢印 */
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 6px;
  transition: transform .25s ease;
  transform: translateX(0);
}

/* ホバー/フォーカス */
.btn-kobayashi:hover,
.btn-kobayashi:focus-visible{
  background: var(--btn-hover);
  color: #fff;
  border-color: var(--btn-hover);
  outline: none;
}
.btn-kobayashi:hover::after,
.btn-kobayashi:focus-visible::after{
  transform: translateX(20px);     /* 横スライド */
}

/* アクセシビリティ：キーボードフォーカス輪郭 */
.btn-kobayashi:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn-hover) 25%, white);
}

/* 追加（共通） */
.btn-kobayashi{
  /* 幅は可変にできる変数。未指定なら自動 */
  inline-size: var(--btn-width, auto);
  justify-content: space-between;   /* 中の配置を均等に */
}

/* 幅をそろえるユーティリティ */
.btn--wide   { --btn-width: 560px; }                /* 固定幅 */
.btn--fluid  { --btn-width: clamp(420px, 32vw, 560px); }  /* 画面に応じて可変 */

/* 英文を右に寄せたい時（任意） */
.btn-kobayashi .btn-en{ margin-left: auto; }
.btn-kobayashi::after{ margin-left: 0; }  /* gap はそのままでもOK */

/* モバイルでは全幅にしたい場合（任意） */
@media (max-width: 480px){
  .btn--wide, .btn--fluid{ --btn-width: 100%; }
}
/* 幅そろえ＋サイズ固定（どの親でも同じ見た目に） */
.btn-kobayashi{
  box-sizing: border-box;     /* 幅にボーダー込み */
  inline-size: var(--btn-width, auto);  /* ←幅はカスタムで指定（未指定なら自動） */
  white-space: nowrap;        /* 途中改行で高さがズレるのを防ぐ */
  justify-content: space-between;
  gap: 30px;

  /* rem ではなく px でロック（見た目が親のfont-sizeに影響されない） */
  padding: 35px 80px;
}
.btn-kobayashi .btn-ja{ font-size: 18px; letter-spacing: .2em; }
.btn-kobayashi .btn-en{ font-size: 15px; letter-spacing: .06em; margin-left: auto; }
.btn-kobayashi::after{ font-size: 19px; }

/* 幅ユーティリティ：どれか一つをクラスで付ける */
.btn--w520 { --btn-width: 520px; }
.btn--w560 { --btn-width: 560px; }
.btn--w600 { --btn-width: 600px; }

/* 画面に応じて可変にしたいならこちらも用意（必要なら） */
.btn--fluid { --btn-width: clamp(420px, 32vw, 560px); }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-129d363 */:root{
  --btn-ink: #333333;
  --btn-bg:  #ffffff;
  --btn-hover: #1C2C4C; /* 紺 */
}

/* 基本ボタン */
.btn-kobayashi{
  --pad-y: 35px;
  --pad-x: 80px;

  display: inline-flex;
  align-items: center;
  gap: 30px;                      /* 日英の間隔 */
  padding: var(--pad-y) var(--pad-x);
  border: 1px solid var(--btn-ink);
  background: var(--btn-bg);
  color: var(--btn-ink);
  text-decoration: none;
  border-radius: 0;               /* 角丸なし */
  line-height: 1;                 /* 文字上下の詰めすぎを防ぐなら 1.2 でもOK */
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
  position: relative;
}

/* 日本語・英語の書体 */
.btn-kobayashi .btn-ja{
  font-family:"Noto Serif JP",serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.12rem;             /* 18px相当。大きくしたければ 1.25rem */
  letter-spacing: .2em;
}
.btn-kobayashi .btn-en{
  font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  font-weight: 400;
  font-style: normal;             /* 斜体禁止 */
  font-size: .94rem;              /* 和文より少し小さめで上品に */
  letter-spacing: .06em;
}

.btn-kobayashi,
.btn-kobayashi:link,
.btn-kobayashi:visited,
.btn-kobayashi:hover,
.btn-kobayashi:active,
.btn-kobayashi:focus {
  text-decoration: none !important;
}

/* 矢印（水平） */
.btn-kobayashi::after{
  content: "→";                   /* 斜めにしない水平矢印 */
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 6px;
  transition: transform .25s ease;
  transform: translateX(0);
}

/* ホバー/フォーカス */
.btn-kobayashi:hover,
.btn-kobayashi:focus-visible{
  background: var(--btn-hover);
  color: #fff;
  border-color: var(--btn-hover);
  outline: none;
}
.btn-kobayashi:hover::after,
.btn-kobayashi:focus-visible::after{
  transform: translateX(20px);     /* 横スライド */
}

/* アクセシビリティ：キーボードフォーカス輪郭 */
.btn-kobayashi:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn-hover) 25%, white);
}

/* 追加（共通） */
.btn-kobayashi{
  /* 幅は可変にできる変数。未指定なら自動 */
  inline-size: var(--btn-width, auto);
  justify-content: space-between;   /* 中の配置を均等に */
}

/* 幅をそろえるユーティリティ */
.btn--wide   { --btn-width: 560px; }                /* 固定幅 */
.btn--fluid  { --btn-width: clamp(420px, 32vw, 560px); }  /* 画面に応じて可変 */

/* 英文を右に寄せたい時（任意） */
.btn-kobayashi .btn-en{ margin-left: auto; }
.btn-kobayashi::after{ margin-left: 0; }  /* gap はそのままでもOK */

/* モバイルでは全幅にしたい場合（任意） */
@media (max-width: 480px){
  .btn--wide, .btn--fluid{ --btn-width: 100%; }
}
/* 幅そろえ＋サイズ固定（どの親でも同じ見た目に） */
.btn-kobayashi{
  box-sizing: border-box;     /* 幅にボーダー込み */
  inline-size: var(--btn-width, auto);  /* ←幅はカスタムで指定（未指定なら自動） */
  white-space: nowrap;        /* 途中改行で高さがズレるのを防ぐ */
  justify-content: space-between;
  gap: 30px;

  /* rem ではなく px でロック（見た目が親のfont-sizeに影響されない） */
  padding: 35px 80px;
}
.btn-kobayashi .btn-ja{ font-size: 18px; letter-spacing: .2em; }
.btn-kobayashi .btn-en{ font-size: 15px; letter-spacing: .06em; margin-left: auto; }
.btn-kobayashi::after{ font-size: 19px; }

/* 幅ユーティリティ：どれか一つをクラスで付ける */
.btn--w520 { --btn-width: 520px; }
.btn--w560 { --btn-width: 560px; }
.btn--w600 { --btn-width: 600px; }

/* 画面に応じて可変にしたいならこちらも用意（必要なら） */
.btn--fluid { --btn-width: clamp(420px, 32vw, 560px); }

@media (max-width: 480px) {
  .btn-kobayashi {
    inline-size: 90%;
    width: 90%;
    box-sizing: border-box;
    padding: 18px 16px;
    gap: 14px;
    white-space: normal;
    justify-content: flex-start;
    margin-inline: auto; /* ← 中央寄せ */
  }

  .btn-kobayashi .btn-ja {
    font-size: 16px;
    letter-spacing: .18em;
  }
  .btn-kobayashi .btn-en {
    font-size: 13px;
    margin-left: auto;
  }

  .btn-kobayashi::after {
    font-size: 16px;
  }

  .btn-kobayashi:hover::after,
  .btn-kobayashi:focus-visible::after {
    transform: translateX(9px); /* 横移動も少し控えめ */
  }

  /* 「全幅ユーティリティ」も90%に上書き */
  .btn-kobayashi.btn--full,
  .btn--wide,
  .btn--fluid,
  .btn--w520,
  .btn--w560,
  .btn--w600 {
    --btn-width: 90%;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0428c90 */:root{
  --btn-ink: #333333;
  --btn-bg:  #ffffff;
  --btn-hover: #1C2C4C; /* 紺 */
}

/* 基本ボタン */
.btn-kobayashi{
  --pad-y: 35px;
  --pad-x: 80px;

  display: inline-flex;
  align-items: center;
  gap: 30px;                      /* 日英の間隔 */
  padding: var(--pad-y) var(--pad-x);
  border: 1px solid var(--btn-ink);
  background: var(--btn-bg);
  color: var(--btn-ink);
  text-decoration: none;
  border-radius: 0;               /* 角丸なし */
  line-height: 1;                 /* 文字上下の詰めすぎを防ぐなら 1.2 でもOK */
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
  position: relative;
}

/* 日本語・英語の書体 */
.btn-kobayashi .btn-ja{
  font-family:"Noto Serif JP",serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.12rem;             /* 18px相当。大きくしたければ 1.25rem */
  letter-spacing: .2em;
}
.btn-kobayashi .btn-en{
  font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  font-weight: 400;
  font-style: normal;             /* 斜体禁止 */
  font-size: .94rem;              /* 和文より少し小さめで上品に */
  letter-spacing: .06em;
}

.btn-kobayashi,
.btn-kobayashi:link,
.btn-kobayashi:visited,
.btn-kobayashi:hover,
.btn-kobayashi:active,
.btn-kobayashi:focus {
  text-decoration: none !important;
}

/* 矢印（水平） */
.btn-kobayashi::after{
  content: "→";                   /* 斜めにしない水平矢印 */
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 6px;
  transition: transform .25s ease;
  transform: translateX(0);
}

/* ホバー/フォーカス */
.btn-kobayashi:hover,
.btn-kobayashi:focus-visible{
  background: var(--btn-hover);
  color: #fff;
  border-color: var(--btn-hover);
  outline: none;
}
.btn-kobayashi:hover::after,
.btn-kobayashi:focus-visible::after{
  transform: translateX(20px);     /* 横スライド */
}

/* アクセシビリティ：キーボードフォーカス輪郭 */
.btn-kobayashi:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn-hover) 25%, white);
}

/* 追加（共通） */
.btn-kobayashi{
  /* 幅は可変にできる変数。未指定なら自動 */
  inline-size: var(--btn-width, auto);
  justify-content: space-between;   /* 中の配置を均等に */
}

/* 幅をそろえるユーティリティ */
.btn--wide   { --btn-width: 560px; }                /* 固定幅 */
.btn--fluid  { --btn-width: clamp(420px, 32vw, 560px); }  /* 画面に応じて可変 */

/* 英文を右に寄せたい時（任意） */
.btn-kobayashi .btn-en{ margin-left: auto; }
.btn-kobayashi::after{ margin-left: 0; }  /* gap はそのままでもOK */

/* モバイルでは全幅にしたい場合（任意） */
@media (max-width: 480px){
  .btn--wide, .btn--fluid{ --btn-width: 100%; }
}
/* 幅そろえ＋サイズ固定（どの親でも同じ見た目に） */
.btn-kobayashi{
  box-sizing: border-box;     /* 幅にボーダー込み */
  inline-size: var(--btn-width, auto);  /* ←幅はカスタムで指定（未指定なら自動） */
  white-space: nowrap;        /* 途中改行で高さがズレるのを防ぐ */
  justify-content: space-between;
  gap: 30px;

  /* rem ではなく px でロック（見た目が親のfont-sizeに影響されない） */
  padding: 35px 80px;
}
.btn-kobayashi .btn-ja{ font-size: 18px; letter-spacing: .2em; }
.btn-kobayashi .btn-en{ font-size: 15px; letter-spacing: .06em; margin-left: auto; }
.btn-kobayashi::after{ font-size: 19px; }

/* 幅ユーティリティ：どれか一つをクラスで付ける */
.btn--w520 { --btn-width: 520px; }
.btn--w560 { --btn-width: 560px; }
.btn--w600 { --btn-width: 600px; }

/* 画面に応じて可変にしたいならこちらも用意（必要なら） */
.btn--fluid { --btn-width: clamp(420px, 32vw, 560px); }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-63ecb94 */:root{
  --btn-ink: #333333;
  --btn-bg:  #ffffff;
  --btn-hover: #1C2C4C; /* 紺 */
}

/* 基本ボタン */
.btn-kobayashi{
  --pad-y: 35px;
  --pad-x: 80px;

  display: inline-flex;
  align-items: center;
  gap: 30px;                      /* 日英の間隔 */
  padding: var(--pad-y) var(--pad-x);
  border: 1px solid var(--btn-ink);
  background: var(--btn-bg);
  color: var(--btn-ink);
  text-decoration: none;
  border-radius: 0;               /* 角丸なし */
  line-height: 1;                 /* 文字上下の詰めすぎを防ぐなら 1.2 でもOK */
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
  position: relative;
}

/* 日本語・英語の書体 */
.btn-kobayashi .btn-ja{
  font-family:"Noto Serif JP",serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.12rem;             /* 18px相当。大きくしたければ 1.25rem */
  letter-spacing: .2em;
}
.btn-kobayashi .btn-en{
  font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  font-weight: 400;
  font-style: normal;             /* 斜体禁止 */
  font-size: .94rem;              /* 和文より少し小さめで上品に */
  letter-spacing: .06em;
}

.btn-kobayashi,
.btn-kobayashi:link,
.btn-kobayashi:visited,
.btn-kobayashi:hover,
.btn-kobayashi:active,
.btn-kobayashi:focus {
  text-decoration: none !important;
}

/* 矢印（水平） */
.btn-kobayashi::after{
  content: "→";                   /* 斜めにしない水平矢印 */
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 6px;
  transition: transform .25s ease;
  transform: translateX(0);
}

/* ホバー/フォーカス */
.btn-kobayashi:hover,
.btn-kobayashi:focus-visible{
  outline: none;
  background: var(--btn-bg-hover, #1C2C4C); /* hover背景 */
  color: var(--btn-ink-hover, #fff);       /* hover文字色 */
  border-color: var(--btn-border-hover, #1C2C4C);
}
.btn-kobayashi:hover::after,
.btn-kobayashi:focus-visible::after{
  transform: translateX(20px);     /* 横スライド */
}

/* アクセシビリティ：キーボードフォーカス輪郭 */
.btn-kobayashi:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn-hover) 25%, white);
}

/* 親に .dark-section を付けた範囲のボタン配色を反転 */
.dark-section{
  /* 通常：紺地に白文字 */
  --btn-bg:    #21337F;
  --btn-ink:   #FFFFFF;
  --btn-border:#21337F;

  /* hover：白地に黒文字（反転） */
  --btn-bg-hover:    #FFFFFF;
  --btn-ink-hover:   #000000;
  --btn-border-hover:#000000;
}
/* 幅そろえ＋サイズ固定（どの親でも同じ見た目に） */
.btn-kobayashi{
  box-sizing: border-box;     /* 幅にボーダー込み */
  inline-size: var(--btn-width, auto);  /* ←幅はカスタムで指定（未指定なら自動） */
  white-space: nowrap;        /* 途中改行で高さがズレるのを防ぐ */
  justify-content: space-between;
  gap: 30px;

  /* rem ではなく px でロック（見た目が親のfont-sizeに影響されない） */
  padding: 35px 80px;
}
.btn-kobayashi .btn-ja{ font-size: 18px; letter-spacing: .2em; }
.btn-kobayashi .btn-en{ font-size: 15px; letter-spacing: .06em; margin-left: auto; }
.btn-kobayashi::after{ font-size: 19px; }

/* 幅ユーティリティ：どれか一つをクラスで付ける */
.btn--w520 { --btn-width: 520px; }
.btn--w560 { --btn-width: 560px; }
.btn--w600 { --btn-width: 600px; }

/* 画面に応じて可変にしたいならこちらも用意（必要なら） */
.btn--fluid { --btn-width: clamp(420px, 32vw, 560px); }


@media (max-width: 480px) {
  .btn-kobayashi {
    inline-size: 90%;
    width: 90%;
    box-sizing: border-box;
    padding: 18px 16px;
    gap: 14px;
    white-space: normal;
    justify-content: flex-start;
    margin-inline: auto; /* ← 中央寄せ */
  }

  .btn-kobayashi .btn-ja {
    font-size: 16px;
    letter-spacing: .18em;
  }
  .btn-kobayashi .btn-en {
    font-size: 13px;
    margin-left: auto;
  }

  .btn-kobayashi::after {
    font-size: 16px;
  }

  .btn-kobayashi:hover::after,
  .btn-kobayashi:focus-visible::after {
    transform: translateX(9px); /* 横移動も少し控えめ */
  }

  /* 「全幅ユーティリティ」も90%に上書き */
  .btn-kobayashi.btn--full,
  .btn--wide,
  .btn--fluid,
  .btn--w520,
  .btn--w560,
  .btn--w600 {
    --btn-width: 90%;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e726351 */:root{
  --btn-ink: #333333;
  --btn-bg:  #ffffff;
  --btn-hover: #1C2C4C; /* 紺 */
}

/* 基本ボタン */
.btn-kobayashi{
  --pad-y: 35px;
  --pad-x: 80px;

  display: inline-flex;
  align-items: center;
  gap: 30px;                      /* 日英の間隔 */
  padding: var(--pad-y) var(--pad-x);
  border: 1px solid var(--btn-ink);
  background: var(--btn-bg);
  color: var(--btn-ink);
  text-decoration: none;
  border-radius: 0;               /* 角丸なし */
  line-height: 1;                 /* 文字上下の詰めすぎを防ぐなら 1.2 でもOK */
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
  position: relative;
}

/* 日本語・英語の書体 */
.btn-kobayashi .btn-ja{
  font-family:"Noto Serif JP",serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.12rem;             /* 18px相当。大きくしたければ 1.25rem */
  letter-spacing: .2em;
}
.btn-kobayashi .btn-en{
  font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  font-weight: 400;
  font-style: normal;             /* 斜体禁止 */
  font-size: .94rem;              /* 和文より少し小さめで上品に */
  letter-spacing: .06em;
}

.btn-kobayashi,
.btn-kobayashi:link,
.btn-kobayashi:visited,
.btn-kobayashi:hover,
.btn-kobayashi:active,
.btn-kobayashi:focus {
  text-decoration: none !important;
}

/* 矢印（水平） */
.btn-kobayashi::after{
  content: "→";                   /* 斜めにしない水平矢印 */
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 6px;
  transition: transform .25s ease;
  transform: translateX(0);
}

/* ホバー/フォーカス */
.btn-kobayashi:hover,
.btn-kobayashi:focus-visible{
  background: var(--btn-hover);
  color: #fff;
  border-color: var(--btn-hover);
  outline: none;
}
.btn-kobayashi:hover::after,
.btn-kobayashi:focus-visible::after{
  transform: translateX(20px);     /* 横スライド */
}

/* アクセシビリティ：キーボードフォーカス輪郭 */
.btn-kobayashi:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn-hover) 25%, white);
}

/* 追加（共通） */
.btn-kobayashi{
  /* 幅は可変にできる変数。未指定なら自動 */
  inline-size: var(--btn-width, auto);
  justify-content: space-between;   /* 中の配置を均等に */
}

/* 幅をそろえるユーティリティ */
.btn--wide   { --btn-width: 560px; }                /* 固定幅 */
.btn--fluid  { --btn-width: clamp(420px, 32vw, 560px); }  /* 画面に応じて可変 */

/* 英文を右に寄せたい時（任意） */
.btn-kobayashi .btn-en{ margin-left: auto; }
.btn-kobayashi::after{ margin-left: 0; }  /* gap はそのままでもOK */

/* モバイルでは全幅にしたい場合（任意） */
@media (max-width: 480px){
  .btn--wide, .btn--fluid{ --btn-width: 100%; }
}
/* 幅そろえ＋サイズ固定（どの親でも同じ見た目に） */
.btn-kobayashi{
  box-sizing: border-box;     /* 幅にボーダー込み */
  inline-size: var(--btn-width, auto);  /* ←幅はカスタムで指定（未指定なら自動） */
  white-space: nowrap;        /* 途中改行で高さがズレるのを防ぐ */
  justify-content: space-between;
  gap: 30px;

  /* rem ではなく px でロック（見た目が親のfont-sizeに影響されない） */
  padding: 35px 80px;
}
.btn-kobayashi .btn-ja{ font-size: 18px; letter-spacing: .2em; }
.btn-kobayashi .btn-en{ font-size: 15px; letter-spacing: .06em; margin-left: auto; }
.btn-kobayashi::after{ font-size: 19px; }

/* 幅ユーティリティ：どれか一つをクラスで付ける */
.btn--w520 { --btn-width: 520px; }
.btn--w560 { --btn-width: 560px; }
.btn--w600 { --btn-width: 600px; }

/* 画面に応じて可変にしたいならこちらも用意（必要なら） */
.btn--fluid { --btn-width: clamp(420px, 32vw, 560px); }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c6001b7 */:root{
  --btn-ink: #333333;
  --btn-bg:  #ffffff;
  --btn-hover: #1C2C4C; /* 紺 */
}

/* 基本ボタン */
.btn-kobayashi{
  --pad-y: 35px;
  --pad-x: 80px;

  display: inline-flex;
  align-items: center;
  gap: 30px;                      /* 日英の間隔 */
  padding: var(--pad-y) var(--pad-x);
  border: 1px solid var(--btn-ink);
  background: var(--btn-bg);
  color: var(--btn-ink);
  text-decoration: none;
  border-radius: 0;               /* 角丸なし */
  line-height: 1;                 /* 文字上下の詰めすぎを防ぐなら 1.2 でもOK */
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
  position: relative;
}

/* 日本語・英語の書体 */
.btn-kobayashi .btn-ja{
  font-family:"Noto Serif JP",serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.12rem;             /* 18px相当。大きくしたければ 1.25rem */
  letter-spacing: .2em;
}
.btn-kobayashi .btn-en{
  font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  font-weight: 400;
  font-style: normal;             /* 斜体禁止 */
  font-size: .94rem;              /* 和文より少し小さめで上品に */
  letter-spacing: .06em;
}

.btn-kobayashi,
.btn-kobayashi:link,
.btn-kobayashi:visited,
.btn-kobayashi:hover,
.btn-kobayashi:active,
.btn-kobayashi:focus {
  text-decoration: none !important;
}

/* 矢印（水平） */
.btn-kobayashi::after{
  content: "→";                   /* 斜めにしない水平矢印 */
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 6px;
  transition: transform .25s ease;
  transform: translateX(0);
}

/* ホバー/フォーカス */
.btn-kobayashi:hover,
.btn-kobayashi:focus-visible{
  background: var(--btn-hover);
  color: #fff;
  border-color: var(--btn-hover);
  outline: none;
}
.btn-kobayashi:hover::after,
.btn-kobayashi:focus-visible::after{
  transform: translateX(20px);     /* 横スライド */
}

/* アクセシビリティ：キーボードフォーカス輪郭 */
.btn-kobayashi:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn-hover) 25%, white);
}

/* 追加（共通） */
.btn-kobayashi{
  /* 幅は可変にできる変数。未指定なら自動 */
  inline-size: var(--btn-width, auto);
  justify-content: space-between;   /* 中の配置を均等に */
}

/* 幅をそろえるユーティリティ */
.btn--wide   { --btn-width: 560px; }                /* 固定幅 */
.btn--fluid  { --btn-width: clamp(420px, 32vw, 560px); }  /* 画面に応じて可変 */

/* 英文を右に寄せたい時（任意） */
.btn-kobayashi .btn-en{ margin-left: auto; }
.btn-kobayashi::after{ margin-left: 0; }  /* gap はそのままでもOK */

/* モバイルでは全幅にしたい場合（任意） */
@media (max-width: 480px){
  .btn--wide, .btn--fluid{ --btn-width: 100%; }
}
/* 幅そろえ＋サイズ固定（どの親でも同じ見た目に） */
.btn-kobayashi{
  box-sizing: border-box;     /* 幅にボーダー込み */
  inline-size: var(--btn-width, auto);  /* ←幅はカスタムで指定（未指定なら自動） */
  white-space: nowrap;        /* 途中改行で高さがズレるのを防ぐ */
  justify-content: space-between;
  gap: 30px;

  /* rem ではなく px でロック（見た目が親のfont-sizeに影響されない） */
  padding: 35px 80px;
}
.btn-kobayashi .btn-ja{ font-size: 18px; letter-spacing: .2em; }
.btn-kobayashi .btn-en{ font-size: 15px; letter-spacing: .06em; margin-left: auto; }
.btn-kobayashi::after{ font-size: 19px; }

/* 幅ユーティリティ：どれか一つをクラスで付ける */
.btn--w520 { --btn-width: 520px; }
.btn--w560 { --btn-width: 560px; }
.btn--w600 { --btn-width: 600px; }

/* 画面に応じて可変にしたいならこちらも用意（必要なら） */
.btn--fluid { --btn-width: clamp(420px, 32vw, 560px); }

@media (max-width: 480px) {
  .btn-kobayashi {
    width: 90%;
    margin-inline: auto;
    box-sizing: border-box;
    background: var(--btn-hover); /* 今の紺をそのまま */
    color: #fff;
    border-color: var(--btn-hover);

    display: flex;
    flex-direction: column;      /* ←ここで縦並びにする */
    align-items: flex-start;     /* 左寄せ */
    gap: 6px;                    /* 日英の間隔だけにする */
    padding: 16px 16px 38px;     /* 下を少し広めに → 矢印ぶん */
    position: relative;          /* 矢印を絶対配置するため */
    white-space: normal;         /* 途中で折れてOKに */
  }

  /* 日本語をちょい小さく */
  .btn-kobayashi .btn-ja {
    font-size: 16px;
    letter-spacing: .18em;
  }

  /* 英語は下にくる想定、行の折れもOKに */
  .btn-kobayashi .btn-en {
    font-size: 13px;
    letter-spacing: .04em;
    margin-left: 0;
    line-height: 1.4;
  }

  /* 矢印は右下に固定しておくと崩れない */
  .btn-kobayashi::after {
    font-size: 18px;
    position: absolute;
    right: 16px;
    bottom: 14px;
    transform: translateX(0);
  }
  .btn-kobayashi:hover::after,
  .btn-kobayashi:focus-visible::after {
    transform: translateX(6px); /* 小さめに動かす */
  }

  /* 幅指定のユーティリティは全部90%に寄せる */
  .btn-kobayashi.btn--full,
  .btn--wide,
  .btn--fluid,
  .btn--w520,
  .btn--w560,
  .btn--w600 {
    --btn-width: 90%;
  }
}

/* ここは今の一番下に足すだけでOK */
@media (max-width: 480px) {
  .btn-kobayashi {
    width: 90%;
    margin: 0 auto;
    box-sizing: border-box;

    /* カードっぽく縦並びに */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;

    /* スマホサイズに寄せる */
    padding: 28px 16px 52px; /* ←下を多めにして矢印ぶん空ける */
    background: #fff;
    color: #333;
    border: 1px solid #333;
    border-radius: 0;
    position: relative;        /* 矢印を右下に乗せるため */
    white-space: normal;       /* 途中改行OKに */
  }

  /* 日本語 */
  .btn-kobayashi .btn-ja {
    font-size: 20px;
    letter-spacing: .18em;
    text-align: center;
  }

  /* 英語 */
  .btn-kobayashi .btn-en {
    font-size: 15px;
    letter-spacing: .04em;
    text-align: center;
    margin-left: 0; /* PCの「右に寄せる」設定を打ち消す */
  }

  /* 矢印を右下に固定 */
  .btn-kobayashi::after {
    content: "→";
    position: absolute;
    right: 20px;
    bottom: 16px;
    font-size: 20px;
    transform: translateX(0);
  }
  .btn-kobayashi:hover::after,
  .btn-kobayashi:focus-visible::after {
    transform: translateX(6px);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-accb62a */:root{
  --btn-ink: #333333;
  --btn-bg:  #ffffff;
  --btn-hover: #1C2C4C; /* 紺 */
}

/* 基本ボタン */
.btn-kobayashi{
  --pad-y: 35px;
  --pad-x: 80px;

  display: inline-flex;
  align-items: center;
  gap: 30px;                      /* 日英の間隔 */
  padding: var(--pad-y) var(--pad-x);
  border: 1px solid var(--btn-ink);
  background: var(--btn-bg);
  color: var(--btn-ink);
  text-decoration: none;
  border-radius: 0;               /* 角丸なし */
  line-height: 1;                 /* 文字上下の詰めすぎを防ぐなら 1.2 でもOK */
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
  position: relative;
}

/* 日本語・英語の書体 */
.btn-kobayashi .btn-ja{
  font-family:"Noto Serif JP",serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.12rem;             /* 18px相当。大きくしたければ 1.25rem */
  letter-spacing: .2em;
}
.btn-kobayashi .btn-en{
  font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  font-weight: 400;
  font-style: normal;             /* 斜体禁止 */
  font-size: .94rem;              /* 和文より少し小さめで上品に */
  letter-spacing: .06em;
}

.btn-kobayashi,
.btn-kobayashi:link,
.btn-kobayashi:visited,
.btn-kobayashi:hover,
.btn-kobayashi:active,
.btn-kobayashi:focus {
  text-decoration: none !important;
}

/* 矢印（水平） */
.btn-kobayashi::after{
  content: "→";                   /* 斜めにしない水平矢印 */
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 6px;
  transition: transform .25s ease;
  transform: translateX(0);
}

/* ホバー/フォーカス */
.btn-kobayashi:hover,
.btn-kobayashi:focus-visible{
  background: var(--btn-hover);
  color: #fff;
  border-color: var(--btn-hover);
  outline: none;
}
.btn-kobayashi:hover::after,
.btn-kobayashi:focus-visible::after{
  transform: translateX(20px);     /* 横スライド */
}

/* アクセシビリティ：キーボードフォーカス輪郭 */
.btn-kobayashi:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn-hover) 25%, white);
}

/* 追加（共通） */
.btn-kobayashi{
  /* 幅は可変にできる変数。未指定なら自動 */
  inline-size: var(--btn-width, auto);
  justify-content: space-between;   /* 中の配置を均等に */
}

/* 幅をそろえるユーティリティ */
.btn--wide   { --btn-width: 560px; }                /* 固定幅 */
.btn--fluid  { --btn-width: clamp(420px, 32vw, 560px); }  /* 画面に応じて可変 */

/* 英文を右に寄せたい時（任意） */
.btn-kobayashi .btn-en{ margin-left: auto; }
.btn-kobayashi::after{ margin-left: 0; }  /* gap はそのままでもOK */

/* モバイルでは全幅にしたい場合（任意） */
@media (max-width: 480px){
  .btn--wide, .btn--fluid{ --btn-width: 100%; }
}
/* 幅そろえ＋サイズ固定（どの親でも同じ見た目に） */
.btn-kobayashi{
  box-sizing: border-box;     /* 幅にボーダー込み */
  inline-size: var(--btn-width, auto);  /* ←幅はカスタムで指定（未指定なら自動） */
  white-space: nowrap;        /* 途中改行で高さがズレるのを防ぐ */
  justify-content: space-between;
  gap: 30px;

  /* rem ではなく px でロック（見た目が親のfont-sizeに影響されない） */
  padding: 35px 80px;
}
.btn-kobayashi .btn-ja{ font-size: 18px; letter-spacing: .2em; }
.btn-kobayashi .btn-en{ font-size: 15px; letter-spacing: .06em; margin-left: auto; }
.btn-kobayashi::after{ font-size: 19px; }

/* 幅ユーティリティ：どれか一つをクラスで付ける */
.btn--w520 { --btn-width: 520px; }
.btn--w560 { --btn-width: 560px; }
.btn--w600 { --btn-width: 600px; }

/* 画面に応じて可変にしたいならこちらも用意（必要なら） */
.btn--fluid { --btn-width: clamp(420px, 32vw, 560px); }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e165412 *//* =========================
   Kobayashi Button - 完全版
   （共通デフォルト）
========================= */
:root{
  --btn-ink:   #333333;   /* 文字色 */
  --btn-bg:    #ffffff;   /* 背景色 */
  --btn-border:#333333;   /* 枠線色（未指定なら文字色と同じでもOK） */
  --btn-hover: #1C2C4C;   /* 反転しないページでのホバー背景（紺） */
}

/* ベース */
.btn-kobayashi{
  /* パディングは変数で調整可能 */
  --pad-y: 35px;
  --pad-x: 80px;

  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 30px;                              /* 和文と英文の間隔 */
  padding: var(--pad-y) var(--pad-x);

  /* 色・枠は変数駆動 */
  color: var(--btn-ink);
  background: var(--btn-bg);
  border: 1px solid var(--btn-border, var(--btn-ink));

  border-radius: 0;                        /* 角丸なし */
  line-height: 1;                          /* 必要なら 1.2 でもOK */
  text-decoration: none;
  position: relative;
  transition:
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease;

  /* 幅：未指定なら auto。ユーティリティで上書き可 */
  inline-size: var(--btn-width, auto);

  /* 中身の整列（英文を右へ・矢印とバランスを取りやすい） */
  justify-content: space-between;
}

/* リンクの下線は全状態で無効化 */
.btn-kobayashi,
.btn-kobayashi:link,
.btn-kobayashi:visited,
.btn-kobayashi:hover,
.btn-kobayashi:active,
.btn-kobayashi:focus{
  text-decoration: none !important;
}

/* タイポ（和文・英文） */
.btn-kobayashi .btn-ja{
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.12rem;                     /* ≒18px */
  letter-spacing: .2em;
}
.btn-kobayashi .btn-en{
  font-family: "Zen Kaku Gothic New","Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;                      /* 斜体禁止 */
  font-size: .94rem;                       /* 和文より少し小さめ */
  letter-spacing: .06em;
  margin-left: auto;                       /* 右寄せバランス */
}

/* 矢印（水平） */
.btn-kobayashi::after{
  content: "→";
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 6px;
  transition: transform .25s ease;
  transform: translateX(0);
}

/* ホバー／フォーカス
   - 反転配色を使いたい時は下の .dark-section で変数を上書き
   - 未指定時は --btn-hover（紺）で塗りに行く
*/
.btn-kobayashi:hover,
.btn-kobayashi:focus-visible{
  outline: none;
  background:   var(--btn-bg-hover,    var(--btn-hover));
  color:        var(--btn-ink-hover,   #fff);
  border-color: var(--btn-border-hover,var(--btn-bg-hover, var(--btn-hover)));
}
.btn-kobayashi:hover::after,
.btn-kobayashi:focus-visible::after{
  transform: translateX(20px);            /* 矢印スライド */
}

/* アクセシビリティ（キーボードフォーカス） */
.btn-kobayashi:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn-hover) 25%, white);
}

/* =========================
   セクション別の配色反転（親要素に .dark-section）
   - 通常：紺地に白文字
   - hover：白地に黒文字
========================= */
.dark-section{
  /* 通常 */
  --btn-bg:    #21337F;
  --btn-ink:   #FFFFFF;
  --btn-border:#21337F;

  /* hover */
  --btn-bg-hover:    #FFFFFF;
  --btn-ink-hover:   #000000;
  --btn-border-hover:#000000;
}

/* =========================
   幅ユーティリティ
========================= */
/* 固定幅 */
.btn--w520 { --btn-width: 520px; }
.btn--w560 { --btn-width: 560px; }
.btn--w600 { --btn-width: 600px; }

/* 可変幅（画面に応じて伸縮） */
.btn--fluid { --btn-width: clamp(420px, 32vw, 560px); }

/* 全幅（フォーム送信用など） */
.btn--full{
  --btn-width: 100%;
  justify-content: center;                 /* 中央寄せ */
}

/* 矢印を消したい時 */
.btn--noarrow::after{ content: none !important; }

/* モバイルだけ全幅にしたい場合（任意） */
@media (max-width: 480px){
  .btn--fluid,
  .btn--w520,
  .btn--w560,
  .btn--w600{
    --btn-width: 100%;
  }
}

/* === フル幅化パッチ === */
.btn-kobayashi.btn--full{
  display: flex !important;          /* 行の主役にして幅を取る */
  width: 100% !important;            /* これで確実に全幅 */
  inline-size: 100% !important;      /* 縦書き対策も兼ねて念押し */
  max-width: none !important;
  box-sizing: border-box;
  justify-content: center;           /* 中央揃え（好みで space-between→center） */
}

/* 親が flex のときも伸びるように（Elementor列対策） */
.elementor-widget-container .btn-kobayashi.btn--full,
.elementor-column .btn-kobayashi.btn--full{
  align-self: stretch !important;
}

/* Contact Form 7 の送信ボタンに流用する場合（任意） */
.wpcf7 form .btn-kobayashi.btn--full{
  display: flex !important;
  width: 100% !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b403c04 *//* =========================
   Kobayashi Button - 完全版
   （共通デフォルト）
========================= */
:root{
  --btn-ink:   #333333;   /* 文字色 */
  --btn-bg:    #ffffff;   /* 背景色 */
  --btn-border:#333333;   /* 枠線色（未指定なら文字色と同じでもOK） */
  --btn-hover: #1C2C4C;   /* 反転しないページでのホバー背景（紺） */
}

/* ベース */
.btn-kobayashi{
  /* パディングは変数で調整可能 */
  --pad-y: 35px;
  --pad-x: 80px;

  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 30px;                              /* 和文と英文の間隔 */
  padding: var(--pad-y) var(--pad-x);

  /* 色・枠は変数駆動 */
  color: var(--btn-ink);
  background: var(--btn-bg);
  border: 1px solid var(--btn-border, var(--btn-ink));

  border-radius: 0;                        /* 角丸なし */
  line-height: 1;                          /* 必要なら 1.2 でもOK */
  text-decoration: none;
  position: relative;
  transition:
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease;

  /* 幅：未指定なら auto。ユーティリティで上書き可 */
  inline-size: var(--btn-width, auto);

  /* 中身の整列（英文を右へ・矢印とバランスを取りやすい） */
  justify-content: space-between;
}

/* リンクの下線は全状態で無効化 */
.btn-kobayashi,
.btn-kobayashi:link,
.btn-kobayashi:visited,
.btn-kobayashi:hover,
.btn-kobayashi:active,
.btn-kobayashi:focus{
  text-decoration: none !important;
}

/* タイポ（和文・英文） */
.btn-kobayashi .btn-ja{
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.12rem;                     /* ≒18px */
  letter-spacing: .2em;
}
.btn-kobayashi .btn-en{
  font-family: "Zen Kaku Gothic New","Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;                      /* 斜体禁止 */
  font-size: .94rem;                       /* 和文より少し小さめ */
  letter-spacing: .06em;
  margin-left: auto;                       /* 右寄せバランス */
}

/* 矢印（水平） */
.btn-kobayashi::after{
  content: "→";
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 6px;
  transition: transform .25s ease;
  transform: translateX(0);
}

/* ホバー／フォーカス
   - 反転配色を使いたい時は下の .dark-section で変数を上書き
   - 未指定時は --btn-hover（紺）で塗りに行く
*/
.btn-kobayashi:hover,
.btn-kobayashi:focus-visible{
  outline: none;
  background:   var(--btn-bg-hover,    var(--btn-hover));
  color:        var(--btn-ink-hover,   #fff);
  border-color: var(--btn-border-hover,var(--btn-bg-hover, var(--btn-hover)));
}
.btn-kobayashi:hover::after,
.btn-kobayashi:focus-visible::after{
  transform: translateX(20px);            /* 矢印スライド */
}

/* アクセシビリティ（キーボードフォーカス） */
.btn-kobayashi:focus-visible{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn-hover) 25%, white);
}

/* =========================
   セクション別の配色反転（親要素に .dark-section）
   - 通常：紺地に白文字
   - hover：白地に黒文字
========================= */
.dark-section{
  /* 通常 */
  --btn-bg:    #21337F;
  --btn-ink:   #FFFFFF;
  --btn-border:#21337F;

  /* hover */
  --btn-bg-hover:    #FFFFFF;
  --btn-ink-hover:   #000000;
  --btn-border-hover:#000000;
}

/* =========================
   幅ユーティリティ
========================= */
/* 固定幅 */
.btn--w520 { --btn-width: 520px; }
.btn--w560 { --btn-width: 560px; }
.btn--w600 { --btn-width: 600px; }

/* 可変幅（画面に応じて伸縮） */
.btn--fluid { --btn-width: clamp(420px, 32vw, 560px); }

/* 全幅（フォーム送信用など） */
.btn--full{
  --btn-width: 100%;
  justify-content: center;                 /* 中央寄せ */
}

/* 矢印を消したい時 */
.btn--noarrow::after{ content: none !important; }

/* モバイルだけ全幅にしたい場合（任意） */
@media (max-width: 480px){
  .btn--fluid,
  .btn--w520,
  .btn--w560,
  .btn--w600{
    --btn-width: 100%;
  }
}

/* === フル幅化パッチ === */
.btn-kobayashi.btn--full{
  display: flex !important;          /* 行の主役にして幅を取る */
  width: 100% !important;            /* これで確実に全幅 */
  inline-size: 100% !important;      /* 縦書き対策も兼ねて念押し */
  max-width: none !important;
  box-sizing: border-box;
  justify-content: center;           /* 中央揃え（好みで space-between→center） */
}

/* 親が flex のときも伸びるように（Elementor列対策） */
.elementor-widget-container .btn-kobayashi.btn--full,
.elementor-column .btn-kobayashi.btn--full{
  align-self: stretch !important;
}

/* Contact Form 7 の送信ボタンに流用する場合（任意） */
.wpcf7 form .btn-kobayashi.btn--full{
  display: flex !important;
  width: 100% !important;
}/* End custom CSS */