.ichigyo-story{max-width:1100px;margin:36px auto 0;font-family:inherit;color:#183b54;line-height:1.85}.ichigyo-story *{box-sizing:border-box}.ichigyo-story .is-intro{background:#eaf6fc;border-radius:20px 20px 0 0;padding:42px 5% 38px;text-align:center}.ichigyo-story .is-label{display:inline-block;background:#fff;color:#267da4;border:1px solid #beddea;border-radius:100px;padding:5px 18px;font-size:.85rem;font-weight:700;letter-spacing:.07em}.ichigyo-story h2{font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.5;margin:18px 0;color:#153e5c;font-weight:800}.ichigyo-story h2 em{font-style:normal;color:#1686b6}.ichigyo-story .is-lead{max-width:690px;margin:10px auto 22px;line-height:2}.ichigyo-story .is-image-slot{background:linear-gradient(150deg,#cce9f5,#f5fbfd);border:2px dashed #8ebdd2;border-radius:16px;min-height:200px;padding:28px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.ichigyo-story .is-image-slot svg{width:58px;height:58px;stroke:#477f9a;fill:none;stroke-width:1.4}.ichigyo-story .is-image-slot strong{font-size:1.05rem;color:#315b72}.ichigyo-story .is-image-slot small{color:#51798b}.ichigyo-story .is-caption{font-size:.77rem;color:#637b87;margin:10px 0 0}.ichigyo-story .is-middle{background:#fff;text-align:center;padding:40px 5%}.ichigyo-story h3{font-size:clamp(1.3rem,3vw,1.85rem);margin:0 0 15px;color:#153e5c;line-height:1.55}.ichigyo-story .is-middle>p{max-width:690px;margin:0 auto 25px}.ichigyo-story .is-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ichigyo-story .is-feature{background:#eff8fc;border-radius:14px;padding:22px 12px}.ichigyo-story .is-feature .is-icon{font-size:2rem;line-height:1.4}.ichigyo-story .is-feature strong{display:block;font-size:1rem;margin:10px 0 3px;color:#153e5c}.ichigyo-story .is-feature span{font-size:.83rem;line-height:1.7;color:#4b6676}.ichigyo-story .is-end{background:#173e60;border-radius:0 0 20px 20px;padding:40px 5%;text-align:center;color:#fff}.ichigyo-story .is-end .is-eyebrow{color:#a9ddf3;font-size:.82rem;font-weight:700;letter-spacing:.16em}.ichigyo-story .is-end h3{color:#fff;margin:8px 0 15px}.ichigyo-story .is-end p{color:#fff;max-width:650px;margin:0 auto 18px}.ichigyo-story .is-end .is-emphasis{font-weight:700}.ichigyo-story .is-action{display:inline-block;margin:8px auto 10px;background:#f7ae43;color:#173e60!important;text-decoration:none!important;border-radius:100px;padding:13px 35px;font-weight:800;box-shadow:0 5px 0 #ca8625}.ichigyo-story .is-note{display:block;color:#d6e8f2;font-size:.77rem}@media(max-width:600px){.ichigyo-story{margin:28px auto 0}.ichigyo-story .is-intro,.ichigyo-story .is-middle,.ichigyo-story .is-end{padding:30px 5%}.ichigyo-story .is-features{gap:8px}.ichigyo-story .is-feature{padding:16px 7px}.ichigyo-story .is-feature strong{font-size:.85rem}.ichigyo-story .is-feature span{font-size:.73rem}.ichigyo-story .is-image-slot{min-height:160px}.ichigyo-story .is-action{width:100%;max-width:360px}}
/* Mobile and CTA layout — loaded by calendar plugin */

.ichigyo-story{isolation:isolate;overflow:hidden;border-radius:20px;box-shadow:0 1px 3px rgba(20,55,82,.10)}
.ichigyo-story .is-intro{background:linear-gradient(125deg,#f0fbff,#fff 55%,#f4fcff);padding-bottom:40px}
.ichigyo-story .is-middle{background:linear-gradient(120deg,#f5fcff,#fff 60%,#f4fbff);padding:35px 3% 26px}
.ichigyo-story .is-middle h3{font-size:clamp(1.5rem,3.5vw,2.1rem);font-weight:800;margin:0 auto 20px;line-height:1.5}
.ichigyo-story .is-middle>p{font-size:clamp(.94rem,1.65vw,1.08rem);line-height:1.85;max-width:760px;margin-bottom:28px}
.ichigyo-story .is-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ichigyo-story .is-feature{background:#e5f5fd;border-radius:20px;padding:26px 12px 24px;text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px}
.ichigyo-story .is-feature .is-icon{background:#fff;color:#1473a5;border-radius:50%;width:78px;height:78px;display:flex;align-items:center;justify-content:center;flex:none;margin:0 auto 4px}
.ichigyo-story .is-feature .is-icon svg{width:45px;height:45px;display:block}
.ichigyo-story .is-feature strong{display:block;font-size:clamp(.85rem,1.8vw,1.3rem);font-weight:800;line-height:1.5;color:#163e60;margin:0}
.ichigyo-story .is-feature>span:last-child{font-size:clamp(.76rem,1.32vw,.96rem);line-height:1.65;color:#3f5969}
.ichigyo-story .is-end{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(140deg,#1b4469,#173958);border-radius:20px;margin:0 1.3% 1.3%;padding:52px 5% 38px}
.ichigyo-story .is-end:before,.ichigyo-story .is-end:after{content:"";position:absolute;border:5px solid rgba(118,185,218,.11);width:70%;height:140px;border-radius:50%;z-index:-1;transform:rotate(-12deg)}
.ichigyo-story .is-end:before{left:-40%;bottom:12%}
.ichigyo-story .is-end:after{right:-35%;bottom:7%}
.ichigyo-story .is-end .is-deco{position:absolute;color:#8ebbd1;opacity:.16;font-size:2.1rem;pointer-events:none}
.ichigyo-story .is-end .is-deco-left{left:5%;top:38%}
.ichigyo-story .is-end .is-deco-right{right:5%;bottom:28%}
.ichigyo-story .is-end .is-eyebrow{color:#a6dcfa;font-weight:800;font-size:clamp(.88rem,2vw,1.1rem);letter-spacing:.08em;margin-bottom:10px}
.ichigyo-story .is-end h3{font-weight:800;font-size:clamp(1.65rem,4vw,2.7rem);line-height:1.35;margin:12px auto 22px;color:#fff}
.ichigyo-story .is-end p{font-size:clamp(.95rem,1.9vw,1.13rem);line-height:1.9;max-width:760px;margin:0 auto 18px;color:#fff}
.ichigyo-story .is-end .is-emphasis{font-size:clamp(1.06rem,2.2vw,1.5rem);margin:22px auto 3px;font-weight:800}
.ichigyo-story .is-end .is-gold-line{width:220px;max-width:65%;height:4px;background:#ffd469;border-radius:50%;margin:4px auto 24px;transform:rotate(-1deg)}
.ichigyo-story .is-end .is-action{display:inline-block;min-width:280px;max-width:100%;box-sizing:border-box;background:linear-gradient(115deg,#ffc04f,#ffd481);border-radius:100px;color:#173958!important;font-size:clamp(1.03rem,2vw,1.35rem);font-weight:800;letter-spacing:.025em;text-decoration:none!important;box-shadow:0 5px 12px rgba(0,0,0,.13);padding:16px 34px;margin:0 auto 18px;border:0}
.ichigyo-story .is-end .is-action:hover{background:#ffe09b;transform:translateY(-1px)}
.ichigyo-story .is-end .is-note{font-size:clamp(.72rem,1.4vw,.87rem);color:#d6e8f2}
@media(max-width:600px){.ichigyo-story .is-middle{padding:30px 3% 22px}.ichigyo-story .is-features{gap:7px}.ichigyo-story .is-feature{padding:18px 5px;border-radius:13px;gap:8px}.ichigyo-story .is-feature .is-icon{width:49px;height:49px}.ichigyo-story .is-feature .is-icon svg{width:29px;height:29px}.ichigyo-story .is-feature strong{font-size:clamp(.75rem,3.2vw,.94rem)}.ichigyo-story .is-feature>span:last-child{font-size:clamp(.67rem,2.7vw,.8rem)}.ichigyo-story .is-end{margin:0 1.2% 1.2%;padding:38px 5% 30px}.ichigyo-story .is-end .is-action{width:88%;min-width:0;padding:15px 10px}.ichigyo-story .is-end .is-deco{font-size:1.3rem}.ichigyo-story .is-desktop-br{display:none}}

/* Only the calendar page's special-day heading: override AFFINGER heading colors */
body.page-id-3533 section.ichigyo-story .is-end h3,
body.page-id-3533 section.ichigyo-story .is-end h3#ichigyo-special-day-heading,
body.page-id-3533 section.ichigyo-story .is-end h3 *{color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;background:transparent!important;text-shadow:0 2px 6px rgba(0,0,0,.18)!important;border:0!important;box-shadow:none!important;}

/* Icon fallback: inline emoji survive WordPress sanitization, unlike SVG */
.ichigyo-story .is-feature .is-icon{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif!important;font-size:clamp(1.65rem,3.5vw,2.1rem)!important;line-height:1!important}
