@charset "UTF-8";

/* 2026-08 top / Shiroi renewal. Kept separate from the legacy Sass output. */
.kr-renewal,
.kr-renewal * { box-sizing: border-box; }

.kr-renewal { color: #173f62; font-family: "Yu Gothic", "游ゴシック体", "游ゴシック", Meiryo, sans-serif; }
.kr-renewal p,
.kr-renewal h1,
.kr-renewal h2 { margin: 0; }

.kr-hero { position: relative; isolation: isolate; min-height: 680px; overflow: hidden; background-repeat: no-repeat; background-size: cover; }
.kr-hero::before,
.kr-hero::after { position: absolute; z-index: 0; content: ""; pointer-events: none; }
.kr-hero::before { inset: 0; }
.kr-hero::after { right: 0; bottom: 0; left: 0; height: 24%; background: linear-gradient(0deg, rgba(33, 89, 113, .08), transparent); }
.kr-hero-inner { position: relative; z-index: 3; display: flex; width: min(1180px, calc(100% - 40px)); min-height: 680px; align-items: center; margin: 0 auto; padding: 60px 0; }
.kr-hero-copy { position: relative; z-index: 3; border: 1px solid rgba(255,255,255,.86); border-radius: 24px; background: rgba(255,255,255,.76); box-shadow: 0 18px 48px rgba(34,88,123,.12); }
.kr-eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 20px !important; color: #305872; font-size: 14px; font-weight: 700; letter-spacing: .13em; }
.kr-eyebrow::before { width: 34px; height: 2px; flex: none; background: #69a8d3; content: ""; }
.kr-hero h2 { color: #173f62; font-family: "Yu Mincho", "游明朝", "Hiragino Mincho ProN", serif; font-weight: 600; line-height: 1.3; letter-spacing: .025em; }
.kr-hero h2 span { color: #4c86c5; }
.kr-hero-message { margin-top: 18px !important; color: #173f62; font-weight: 700; line-height: 1.45; }
.kr-hero-lead { margin-top: 18px !important; color: #365a6d; font-size: 15px; font-weight: 600; line-height: 1.75; }

.kr-home-renewal .kr-hero { background-image: url("../images/top/main-img_bg.jpg"); background-position: center 47%; }
.kr-home-renewal .kr-hero::before { background: linear-gradient(90deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.08) 34%, rgba(240,249,255,.66) 64%, rgba(247,252,255,.9) 100%); }
.kr-home-renewal .kr-hero-copy { width: 56%; max-width: 630px; margin-left: auto; padding: 36px 40px 34px; }
.kr-home-renewal .kr-hero h2 { font-size: clamp(40px, 4.7vw, 62px); }
.kr-home-renewal .kr-hero-message { font-size: clamp(25px, 2.7vw, 38px); }
.kr-home-person { position: absolute; bottom: -34px; left: max(calc((100% - 1180px) / 2 + 42px), 3vw); z-index: 2; display: block; width: min(285px, 22vw); max-width: none; filter: drop-shadow(0 14px 22px rgba(9,35,50,.18)); }

.kr-shiroi-renewal .kr-hero { min-height: 700px; background-image: url("../images/shiroi/main_bg.jpg"); background-position: center 38%; }
.kr-shiroi-renewal .kr-hero::before { background: linear-gradient(90deg, rgba(247,252,255,.2) 0%, rgba(247,252,255,.1) 32%, rgba(247,252,255,.02) 52%, rgba(247,252,255,0) 68%); }
.kr-shiroi-renewal .kr-hero::after { height: 12%; background: linear-gradient(0deg, rgba(33,89,113,.05), transparent); }
.kr-shiroi-renewal .kr-hero-inner { min-height: 700px; padding-top: 104px; padding-bottom: 0; }
.kr-shiroi-renewal .kr-hero-copy { width: 57%; max-width: 680px; margin-top: 18px; padding: 27px 32px 25px; background: rgba(255,255,255,.79); }
.kr-shiroi-renewal .kr-hero h2 { white-space: nowrap; font-size: clamp(32px, 3.15vw, 43px); }
.kr-shiroi-renewal .kr-hero h2 span { white-space: nowrap; }
.kr-shiroi-renewal .kr-hero-message { color: #27627d; font-size: clamp(20px, 2.1vw, 28px); }
.kr-shiroi-renewal .kr-hero-lead { margin-top: 12px !important; color: #416879; font-size: 13px; }
.kr-shiroi-shop { position: absolute; right: 0; bottom: -78px; z-index: 2; display: block; width: min(610px, 44vw); max-width: none; }

.kr-proof { position: relative; z-index: 5; padding: 24px 0 30px; background: linear-gradient(180deg, #eaf8ff 0%, #f7fcff 100%); }
.kr-proof-grid { display: grid; grid-template-columns: 1fr 1fr 1.16fr; gap: 10px; width: min(1210px, calc(100% - 28px)); margin: 0 auto; padding: 10px; border: 1px solid #9bd4ed; border-radius: 16px; background: rgba(255,255,255,.45); }
.kr-proof-card { position: relative; display: flex; min-height: 226px; align-items: center; justify-content: center; padding: 52px 20px 18px; border: 1px solid #b7ddef; border-radius: 13px; background: #fff; text-align: center; }
.kr-proof-tab { position: absolute; top: 0; left: 50%; min-width: 68%; padding: 8px 28px 9px; transform: translate(-50%, -1px); clip-path: polygon(9% 0, 91% 0, 100% 100%, 0 100%); color: #fff; background: linear-gradient(180deg, #50b4e0, #278cbf); font-size: 15px; font-weight: 700; line-height: 1.2; letter-spacing: .08em; white-space: nowrap; }
.kr-proof-body { width: 100%; }
.kr-proof-kicker { color: #305872; font-size: 14px; font-weight: 700; }
.kr-proof-number { display: flex; min-height: 64px; align-items: center; justify-content: center; color: #b88714; font-family: "Times New Roman", Times, serif; line-height: 1; }
.kr-proof-number > span { font-size: 59px; font-weight: 700; line-height: .9; letter-spacing: 0; font-variant-numeric: lining-nums tabular-nums; }
.kr-proof-number small { margin-left: 7px; color: #8f6b15; font-family: "Yu Gothic", "游ゴシック", Meiryo, sans-serif; font-size: 16px; line-height: 1.12; text-align: left; }
.kr-proof-note { color: #71838e; font-size: 10px; line-height: 1.45; }
.kr-proof-caption { margin-top: 10px !important; color: #37596d; font-size: 12px; font-weight: 700; line-height: 1.5; }
.kr-review-title { color: #244b67; font-family: "Yu Mincho", "游明朝", serif; font-size: 25px; font-weight: 700; line-height: 1.35; }
.kr-stars { color: #f2a900; font-size: 34px; line-height: 1.15; letter-spacing: .04em; }
.kr-google-label { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 3px !important; color: #253e50; font-size: 12px; font-weight: 700; }
.kr-google { display: inline-flex; font-family: Arial, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: -.06em; }
.kr-google i { font-style: normal; }
.kr-google i:nth-child(1), .kr-google i:nth-child(4) { color: #4285f4; }
.kr-google i:nth-child(2), .kr-google i:nth-child(6) { color: #ea4335; }
.kr-google i:nth-child(3) { color: #fbbc05; }
.kr-google i:nth-child(5) { color: #34a853; }
.kr-rating { margin-top: -1px !important; color: #e84b69; font-family: Georgia, "Times New Roman", serif; font-size: 55px; font-weight: 700; line-height: 1; }
.kr-trust { padding: 20px 26px; text-align: left; }
.kr-trust-list { display: grid; width: 100%; gap: 8px; }
.kr-trust-item { display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: 14px; }
.kr-trust-item + .kr-trust-item { padding-top: 9px; border-top: 1px dashed #b8d8e7; }
.kr-trust-icon { display: grid; width: 52px; height: 52px; place-items: center; border: 4px solid #e7f8ff; border-radius: 50%; background: linear-gradient(145deg, #68c4ec, #278fc6); box-shadow: 0 1px 5px rgba(39,143,198,.18); }
.kr-trust-icon svg { display: block; width: 29px; height: 29px; fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.kr-trust-item strong { display: block; color: #2687b7; font-size: 16px; line-height: 1.35; }
.kr-trust-item span { display: block; color: #38586a; font-size: 11px; line-height: 1.45; }

@media screen and (max-width: 991.98px) {
	.kr-home-renewal { margin-top: 70px; }
	.kr-hero, .kr-hero-inner { min-height: 650px; }
	.kr-home-renewal .kr-hero-copy { width: 64%; padding: 32px; }
	.kr-home-person { left: 3vw; width: min(250px, 26vw); }
	.kr-shiroi-renewal .kr-hero, .kr-shiroi-renewal .kr-hero-inner { min-height: 690px; }
	.kr-shiroi-renewal .kr-hero-inner { padding-top: 100px; }
	.kr-shiroi-renewal .kr-hero-copy { width: 62%; }
	.kr-shiroi-renewal .kr-hero h2 { font-size: clamp(29px, 3.7vw, 36px); }
	.kr-shiroi-shop { right: -5%; bottom: -62px; width: 49vw; }
	.kr-proof-grid { grid-template-columns: 1fr 1fr; width: min(100% - 24px, 1210px); }
	.kr-proof-card:last-child { grid-column: 1 / -1; }
	.kr-trust-list { grid-template-columns: repeat(3, 1fr); }
	.kr-trust-item { grid-template-columns: 48px 1fr; }
	.kr-trust-item + .kr-trust-item { padding-top: 0; padding-left: 12px; border-top: 0; border-left: 1px dashed #b8d8e7; }
}

@media screen and (max-width: 575.98px) {
	.kr-home-renewal { margin-top: 60px; }
	.kr-hero, .kr-hero-inner { min-height: 720px; }
	.kr-hero-inner { width: calc(100% - 28px); }
	.kr-home-renewal .kr-hero { background-position: 52% center; }
	.kr-home-renewal .kr-hero::before { background: linear-gradient(180deg, rgba(245,251,255,.82) 0%, rgba(245,251,255,.58) 55%, rgba(245,251,255,.08) 100%); }
	.kr-home-renewal .kr-hero-inner { align-items: flex-start; padding: 38px 0 250px; }
	.kr-home-renewal .kr-hero-copy { width: 100%; padding: 25px 24px; }
	.kr-home-renewal .kr-hero h2 { font-size: 40px; }
	.kr-home-renewal .kr-hero-message { font-size: 25px; }
	.kr-home-renewal .kr-hero-lead { font-size: 13px; }
	.kr-home-person { bottom: -18px; left: 2vw; width: 168px; }
	.kr-shiroi-renewal .kr-hero, .kr-shiroi-renewal .kr-hero-inner { min-height: 740px; }
	.kr-shiroi-renewal .kr-hero::before { background: linear-gradient(180deg, rgba(248,253,255,.28) 0%, rgba(248,253,255,.1) 48%, rgba(248,253,255,0) 68%); }
	.kr-shiroi-renewal .kr-hero-inner { align-items: flex-start; padding: 180px 0 300px; }
	.kr-shiroi-renewal .kr-hero-copy { width: 100%; margin-top: 0; padding: 22px; }
	.kr-shiroi-renewal .kr-hero h2 { white-space: normal; font-size: 31px; }
	.kr-shiroi-renewal .kr-hero h2 span { display: block; white-space: nowrap; }
	.kr-shiroi-shop { right: -22%; bottom: -48px; width: 88vw; }
	.kr-proof { padding: 16px 0 22px; }
	.kr-proof-grid { grid-template-columns: 1fr; width: calc(100% - 16px); padding: 6px; }
	.kr-proof-card { min-height: 205px; }
	.kr-proof-card:last-child { grid-column: auto; }
	.kr-trust-list { grid-template-columns: 1fr; }
	.kr-trust-item + .kr-trust-item { padding-top: 7px; padding-left: 0; border-top: 1px dashed #b8d8e7; border-left: 0; }
}
