/* Home theme flyers: readable introductions beside complete, uncropped sheets. */
.flyer-gallery{margin:0 0 72px;text-align:left}
.flyer-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.flyer-gallery-heading .eyebrow{margin:0 0 10px;color:#805c2b;font-size:14px;letter-spacing:.1em}
.flyer-gallery-heading h2{margin:0;font-size:clamp(25px,2.4vw,34px);line-height:1.5;color:#1b3a5c;scroll-margin-top:170px}
.flyer-gallery-heading>p{margin:0;font-size:16px;line-height:1.9;color:#303c48}
.flyer-gallery .flyer-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
.flyer-gallery .flyer-card{--flyer-ink:#85442c;--flyer-tint:#f8eee7;position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:start;gap:24px;padding:22px;border:1px solid #e4ddd5;border-radius:12px;background-color:var(--flyer-tint);color:#152b3f;text-decoration:none;box-shadow:none;min-width:0;transition:box-shadow .2s,border-color .2s}
.flyer-gallery .flyer-card-suigai{--flyer-ink:#205c78;--flyer-tint:#eaf3f7;border-color:#d4e3eb}
.flyer-gallery .flyer-card-reform{--flyer-ink:#466137;--flyer-tint:#eef2e8;border-color:#dce3d3}
.flyer-gallery .flyer-card-hojokin{--flyer-ink:#805818;--flyer-tint:#fcf4dd;border-color:#e9dfbf}
.flyer-paper{min-width:0;transform:rotate(-3deg);transition:transform .2s}
.flyer-card:nth-child(even) .flyer-paper{transform:rotate(3deg)}
.flyer-gallery .flyer-paper img{display:block;width:100%;height:auto;max-width:none;margin:0;padding:0;border:1px solid #e1e3e5;box-shadow:4px 8px 16px #26394e24;background-color:#fff}
.flyer-copy{min-width:0;display:flex;flex-direction:column;height:100%}
.flyer-gallery .flyer-topic{display:flex;align-items:center;gap:9px;margin:0 0 17px;font-size:16px;font-weight:700;color:var(--flyer-ink);line-height:1.5}
.flyer-topic small{font-family:Georgia,serif;font-size:15px;letter-spacing:.04em;padding-right:9px;border-right:1px solid currentColor}
.flyer-gallery .flyer-copy h3{font-size:clamp(18px,1.5vw,23px);line-height:1.7;letter-spacing:0;margin:0 0 13px;color:#142d43;word-break:keep-all;overflow-wrap:anywhere}
.flyer-gallery .flyer-detail{margin:0 0 24px;font-size:16px;line-height:1.8;color:#283842}
.flyer-gallery .flyer-open{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:auto 0 0;padding-top:12px;border-top:1px solid #bcc5c9;font-size:15px;font-weight:700;color:var(--flyer-ink)}
.flyer-gallery .flyer-open span{display:inline;padding:0;margin:0;background:none;color:inherit;font-size:23px;line-height:1}
.flyer-gallery .flyer-card:hover{box-shadow:0 10px 24px #243a5014;border-color:var(--flyer-ink)}
.flyer-gallery .flyer-card:hover .flyer-paper{transform:rotate(0)}
.flyer-gallery .flyer-card:focus-visible{outline:3px solid #1b3a5c;outline-offset:5px}
@media(max-width:1000px){.flyer-gallery .flyer-gallery-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:260px;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding:8px 8px 20px;scroll-padding-inline:8px;overscroll-behavior-x:contain}.flyer-gallery .flyer-card{scroll-snap-align:start;padding:22px;gap:22px}.flyer-gallery .flyer-copy h3{font-size:21px}}
@media(max-width:760px){.flyer-gallery-heading{display:block;margin-bottom:20px}.flyer-gallery-heading>p{margin-top:14px;font-size:15px}.flyer-gallery{margin-bottom:44px}.flyer-gallery .flyer-gallery-grid{grid-auto-columns:min(78vw,280px)}.flyer-gallery-heading::after{content:"横にスワイプしてご覧ください →";display:block;margin-top:12px;font-size:14px;color:#42566a}.flyer-gallery-heading h2{scroll-margin-top:125px}}
@media(prefers-reduced-motion:reduce){.flyer-gallery .flyer-card,.flyer-paper{transition:none}}

/* Current two-sided flyer: staggered papers on a soft, asymmetric backdrop. */
.s5-intro-home .s6-onestop-graph.s6-flyer{position:relative;isolation:isolate;background:transparent;padding:28px 24px 22px;width:100%;scroll-margin-top:160px}
.s5-intro-home .s6-onestop-graph.s6-flyer::before{content:"";position:absolute;z-index:-1;inset:18px 0 6px;background-color:#f5eddc;border-radius:46% 54% 20px 28px;transform:rotate(-3deg)}
.s5-intro-home .s6-onestop-graph.s6-flyer::after{content:"";position:absolute;z-index:-1;inset:8px 9px 14px;border:1px dashed #cbb78e;border-radius:46% 54% 20px 28px;transform:rotate(2deg);pointer-events:none}
.s5-intro-home .s6-flyer .s6-current-flyer-label{margin:0 auto 26px;padding:9px 23px;background:#1b3a5c;color:#fff;border-radius:4px;transform:rotate(-4deg);box-shadow:3px 4px 0 #d9ae6966}
.s5-intro-home .s6-flyer .s6-flyer-sheets{gap:12px;padding:5px 0 24px;align-items:start}
.s5-intro-home .s6-flyer-sheets a{transform:rotate(-7deg);transform-origin:50% 85%;box-shadow:5px 12px 20px #24364b26;transition:transform .25s ease,box-shadow .25s ease;z-index:1}
.s5-intro-home .s6-flyer-sheets a:nth-child(2){transform:translateY(20px) rotate(6deg)}
.s5-intro-home .s6-flyer-sheets a:focus-visible{outline:3px solid #1b3a5c;outline-offset:5px;transform:translateY(-5px) rotate(-2deg);z-index:2}
.s5-intro-home .s6-flyer figcaption{position:relative;margin-top:17px;font-size:14px;color:#223d56}
@media(hover:hover){.s5-intro-home .s6-flyer-sheets a:hover{transform:translateY(-7px) rotate(-2deg);box-shadow:6px 17px 25px #24364b33;z-index:2}.s5-intro-home .s6-flyer-sheets a:nth-child(2):hover{transform:translateY(12px) rotate(1deg)}}
@media(max-width:600px){.s5-intro-home .s6-onestop-graph.s6-flyer{padding:26px 24px 20px;max-width:460px;scroll-margin-top:110px}.s5-intro-home .s6-flyer .s6-current-flyer-label{font-size:16px}.s5-intro-home .s6-flyer-sheets a{transform:rotate(-5deg)}.s5-intro-home .s6-flyer-sheets a:nth-child(2){transform:translateY(16px) rotate(5deg)}}
@media(prefers-reduced-motion:reduce){.s5-intro-home .s6-flyer-sheets a{transition:none}}

/* Distinct line icons for the five trust statements. */
.home-page .s5-onestop .s5-trust .trust-icon{display:block;width:72px;height:72px;margin:0 auto 16px;padding:10px;color:#25425a;background-color:#f7f5ef;border-radius:50%;box-sizing:content-box}
.home-page .s5-onestop .s5-trust b::before{display:none}
@media(max-width:600px){.home-page .s5-onestop .s5-trust .trust-icon{width:60px;height:60px;padding:9px;margin-bottom:12px}}

/* Consultation flow: navy badges connected by a fine gold timeline. */
.s5-intro-home .s6-flyer .flyer-hana{position:absolute;display:block;right:12px;top:-48px;width:138px;height:108px;background:url('./hana/hana-walk.png') 0 0 / 800% 100% no-repeat;opacity:.52;filter:blur(.65px);transform:rotate(6deg);pointer-events:none;z-index:0;mask-image:radial-gradient(ellipse at 50% 45%,#000 40%,transparent 76%)}
@media(max-width:600px){.s5-intro-home .s6-flyer .flyer-hana{right:5px;top:-28px;width:92px;height:72px;opacity:.5}}
.home-page #section-11 ol.s5-flow{border-left:0;padding-left:0}
.home-page #section-11 ol.s5-flow>li{padding:26px 0 30px 110px;min-height:126px;border-bottom:1px solid #e0e6eb}
.home-page #section-11 ol.s5-flow>li:first-child{padding-top:16px}
.home-page #section-11 ol.s5-flow>li::before{content:"";position:absolute;left:37px;top:0;bottom:-1px;width:2px;background:linear-gradient(#dbc28f,#dce4eb)}
.home-page #section-11 ol.s5-flow>li:first-child::before{top:45px}
.home-page #section-11 ol.s5-flow>li:last-child::before{bottom:auto;height:48px}
.home-page #section-11 ol.s5-flow .s5-step-no{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;left:0;top:22px;width:76px;height:76px;color:#eed3a0;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.16em;line-height:1;background:linear-gradient(145deg,#284d6b,#142f49);border:1px solid #bd9b60;border-radius:17px 4px 17px 4px;box-shadow:0 5px 12px #1836531c,inset 0 0 0 4px #ffffff0b;z-index:1}
.home-page #section-11 ol.s5-flow>li:first-child .s5-step-no{top:12px}
.home-page #section-11 .s5-step-no b{font-family:Georgia,serif!important;font-size:35px;font-weight:400;line-height:1;letter-spacing:-.04em;background:none;color:#fff5df}
@media(max-width:600px){.home-page #section-11 ol.s5-flow>li{padding:23px 0 26px 82px;min-height:115px}.home-page #section-11 ol.s5-flow .s5-step-no{width:60px;height:66px;top:22px;border-radius:14px 4px 14px 4px;font-size:10px}.home-page #section-11 .s5-step-no b{font-size:30px}.home-page #section-11 ol.s5-flow>li::before{left:29px}.home-page #section-11 .s5-flow h3{font-size:19px}}

/* A quiet, warm consultation seal over the hero photograph. */
.hero-home .hero-slide .home-seal{width:138px;height:138px;padding:19px 8px 12px;background:linear-gradient(145deg,#fffdf5f5,#f3e7cdf2);color:#25425a;border:1px solid #fff9e9;outline:0;border-radius:50%;transform:rotate(-4deg);font-family:"Yu Mincho",YuMincho,serif;font-size:15px;line-height:1.65;letter-spacing:.06em;box-shadow:0 7px 24px #263b4826,inset 0 0 0 6px #fffaf080;box-sizing:border-box}
.hero-home .hero-slide .home-seal::before{content:"";position:absolute;inset:8px;border:1px solid #b59a6590;border-radius:50%;pointer-events:none}
.hero-home .hero-slide .home-seal::after{content:"";position:absolute;top:17px;width:20px;height:1px;background:#b59860}
.hero-home .hero-slide .home-seal b{font-size:13px;font-weight:600;letter-spacing:.025em;color:#775c31}
.hero-home .hero-visual:hover .home-seal{box-shadow:0 7px 24px #263b4826,inset 0 0 0 6px #fffaf080}
@media(max-width:1100px){.hero-home .hero-slide .home-seal{width:126px;height:126px;font-size:14px}.hero-home .hero-slide .home-seal b{font-size:12px}}

/* Consistent architectural emblems: a shared grid and quiet material palette. */
.home-page .s5-onestop .s5-trust .trust-icon{width:80px;height:80px;padding:12px;margin-bottom:20px;background:linear-gradient(145deg,#faf8f2,#f1f3f3);border:1px solid #e9e7df;border-radius:24px;filter:none;box-shadow:inset 0 1px 0 #fff;color:#24465d}
@media(max-width:600px){.home-page .s5-onestop .s5-trust .trust-icon{width:72px;height:72px;padding:10px;margin-bottom:16px;border-radius:21px}}

/* A small, gently moving advisory beside the permit emblem. */
.home-page .s5-onestop .s5-trust:has(.trust-visit-alert){position:relative}
.home-page .s5-onestop .s5-trust:has(.trust-visit-alert) .trust-icon{margin-left:0}
.home-page .s5-onestop .s5-trust .trust-visit-alert{position:absolute;top:20px;right:12px;width:132px;padding:11px 10px 12px;box-sizing:border-box;background:#fffaf0;border:1px solid #c7ad78;border-radius:18px 18px 18px 5px;box-shadow:0 6px 16px #1c34451c;color:#25425a;text-align:left;transform-origin:15% 100%;animation:trust-bubble-sway 3.8s ease-in-out infinite}
.home-page .s5-onestop .s5-trust .trust-visit-alert::before{content:"";position:absolute;left:-8px;top:49px;width:13px;height:13px;background:#fffaf0;border-left:1px solid #c7ad78;border-bottom:1px solid #c7ad78;transform:rotate(45deg)}
.home-page .s5-onestop .s5-trust .trust-visit-alert p{margin:0 0 5px;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:0}
.home-page .s5-onestop .s5-trust .trust-visit-alert strong{display:block;padding-top:5px;border-top:1px solid #e6d9bc;color:#8b622f;font-size:12px;line-height:1.4;letter-spacing:0}
@keyframes trust-bubble-sway{0%,100%{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(1.5deg) translateY(-3px)}}
@media(max-width:1100px){.home-page .s5-onestop .s5-trust .trust-visit-alert{width:122px;right:9px;padding:9px 8px}.home-page .s5-onestop .s5-trust .trust-visit-alert p,.home-page .s5-onestop .s5-trust .trust-visit-alert strong{font-size:11px}}
@media(max-width:600px){.home-page .s5-onestop .s5-trust .trust-visit-alert{top:18px;right:16px;width:142px;padding:11px 10px}.home-page .s5-onestop .s5-trust .trust-visit-alert p,.home-page .s5-onestop .s5-trust .trust-visit-alert strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.home-page .s5-onestop .s5-trust .trust-visit-alert{animation:none}}

@media(max-width:700px){.home-page .s5-onestop .s5-trust-row{grid-template-columns:minmax(0,1fr)}}

/* Credentials: editorial spacing and a clear reading order. */
.home-page .s5-onestop .s5-trust-row{background:linear-gradient(135deg,#e8edf1,#f1f2ef);border:1px solid #e0e5e8;gap:24px;padding:32px}
.home-page .s5-onestop .s5-trust:has(.trust-visit-alert){display:grid;grid-template-columns:106px minmax(0,1fr);grid-template-rows:minmax(150px,auto) auto 1fr;column-gap:18px;row-gap:0;align-items:center;padding:28px 22px 24px;border:1px solid #e3e7e9;border-radius:22px;background:linear-gradient(160deg,#fff 65%,#faf9f5);box-shadow:0 8px 24px #233d5010;position:relative}
.home-page .s5-onestop .s5-trust:has(.trust-visit-alert)::after{content:"";position:absolute;top:-1px;left:26px;width:42px;height:3px;background:linear-gradient(90deg,#b69453,#decba5);border-radius:0 0 3px 3px}
.home-page .s5-onestop .s5-trust:has(.trust-visit-alert) .trust-icon{grid-column:1;grid-row:1;margin:0;align-self:center}
.home-page .s5-onestop .s5-trust .trust-visit-alert{grid-column:2;grid-row:1;position:relative;inset:auto;width:auto;min-width:0;padding:14px 12px;border-color:#dac8a3;border-radius:15px;background:#fffcf5;box-shadow:0 4px 12px #6b56300a;transform-origin:0 60%}
.home-page .s5-onestop .s5-trust .trust-visit-alert::before{top:calc(50% - 7px);left:-7px;background:#fffcf5;border-color:#dac8a3;width:12px;height:12px}
.home-page .s5-onestop .s5-trust .trust-visit-alert p{font-size:13px;line-height:1.65;font-weight:700;margin:0 0 8px;text-wrap:pretty}
.home-page .s5-onestop .s5-trust .trust-visit-alert strong{font-size:12px;line-height:1.65;padding-top:8px;font-weight:600;color:#87632e;text-wrap:pretty}
.home-page .s5-onestop .s5-trust> b{grid-column:1/-1;margin:20px 0 0;padding-top:20px;border-top:1px solid #e8e9e5;font-size:20px;line-height:1.6;letter-spacing:.035em;text-align:left}
.home-page .s5-onestop .s5-trust> span{grid-column:1/-1;align-self:start;margin-top:10px;font-size:15px;line-height:1.85;color:#53616b;text-align:left;text-wrap:pretty}
@media(min-width:961px) and (max-width:1200px){.home-page .s5-onestop .s5-trust:has(.trust-visit-alert){grid-template-columns:106px minmax(0,1fr);column-gap:12px;padding:24px 14px}.home-page .s5-onestop .s5-trust .trust-visit-alert{padding:12px 9px}}
@media(max-width:700px){.home-page .s5-onestop .s5-trust-row{padding:20px;gap:18px}.home-page .s5-onestop .s5-trust:has(.trust-visit-alert){column-gap:18px;padding:24px 20px}}
@media(max-width:600px){.home-page .s5-onestop .s5-trust:has(.trust-visit-alert){grid-template-columns:94px minmax(0,1fr);column-gap:16px;padding:22px 16px}.home-page .s5-onestop .s5-trust .trust-visit-alert{padding:12px 10px}.home-page .s5-onestop .s5-trust .trust-visit-alert p{font-size:12px}.home-page .s5-onestop .s5-trust .trust-visit-alert strong{font-size:12px}.home-page .s5-onestop .s5-trust> b{font-size:19px;margin-top:16px;padding-top:16px}}

/* Simple speech bubbles with rounded Japanese lettering. */
.home-page .s5-onestop .s5-trust .trust-visit-alert{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;background:#faf7ef;border:1px solid #e5ddca;border-radius:20px;padding:13px 11px;box-shadow:none}
.home-page .s5-onestop .s5-trust .trust-visit-alert::before{background:#faf7ef;border-color:#e5ddca}
.home-page .s5-onestop .s5-trust .trust-visit-alert p{font-family:inherit;font-size:13px;font-weight:700;line-height:1.65;margin:0 0 7px;color:#354d5c}
.home-page .s5-onestop .s5-trust .trust-visit-alert strong{font-family:inherit;font-size:13px;font-weight:500;line-height:1.65;border:0;padding:0;color:#596568}

.home-page .s5-onestop .s5-trust .trust-visit-alert,.home-page .s5-onestop .s5-trust .trust-visit-alert p,.home-page .s5-onestop .s5-trust .trust-visit-alert strong{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif!important}
