.breadcrumb{margin-bottom:8px;padding:12px 0}.breadcrumb ol{flex-wrap:wrap;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.breadcrumb li{color:#888;align-items:center;display:flex}.breadcrumb li:not(:last-child):after{content:">";color:#ccc;margin:0 8px}.breadcrumb a{color:var(--brown-light);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb span[aria-current=page]{color:#555}:root{--kk-green-deep:#213127;--kk-green:#324c39;--kk-green-mid:#5a7560;--kk-green-soft:#e6ebe5;--kk-cream:#f4f0e8;--kk-cream-warm:#fafaf7;--kk-cream-deep:#eae3d4;--kk-vermillion:#b05b43;--kk-vermillion-dark:#8b4332;--kk-vermillion-soft:#efe0d8;--kk-ink:#1a1a1a;--kk-ink-soft:#5a5a5a;--s-1:8px;--s-2:16px;--s-3:24px;--s-4:32px;--s-5:40px;--s-6:48px;--s-8:64px;--s-10:80px;--s-12:96px;--s-16:128px;--brown:var(--kk-green-deep);--brown-light:var(--kk-green);--cream:var(--kk-cream);--cream-light:var(--kk-cream-warm);--orange:var(--kk-vermillion);--orange-dark:var(--kk-vermillion-dark);--orange-hover:var(--kk-vermillion-dark);--gold:#c5a55a;--text:var(--kk-ink);--text-light:var(--kk-ink-soft);--text-muted:#8a8a8a;--bg:var(--kk-cream-warm);--bg-alt:#fff;--bg-warm:var(--kk-cream);--border:#e2dacb;--shadow:0 1px 3px #2131270a, 0 8px 24px #2131270f;--shadow-lg:0 4px 12px #21312714, 0 24px 60px #2131271a;--shadow-card:0 2px 4px #2131270a;--radius:16px;--radius-lg:24px;--radius-pill:999px;--font:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;--font-accent:"Yusei Magic", "Zen Maru Gothic", sans-serif;--font-en:"Poppins", sans-serif;--max-width:1200px;--max-width-narrow:960px;--header-height:72px;--section-py:clamp(64px, 9vw, 120px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.02em;font-size:16px;font-weight:500;line-height:2;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--brown);text-decoration:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.header{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);height:var(--header-height);background:#fbf6eaf2;position:sticky;top:0}.header-inner{max-width:var(--max-width);align-items:center;gap:32px;height:100%;margin:0 auto;padding:0 24px;display:flex}.header-logo img{width:auto;height:48px}.nav{align-items:center;gap:24px;margin-left:auto;display:flex}.nav a,.nav-dropdown-label{color:var(--text);cursor:pointer;white-space:nowrap;font-size:14px;font-weight:500;transition:color .2s}.nav a:hover,.nav-dropdown-label:hover{color:var(--orange)}.nav-dropdown{position:relative}.nav-dropdown-menu{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:10;background:#fff;min-width:220px;padding:8px 0;display:none;position:absolute;top:100%;left:0}.nav-dropdown:hover .nav-dropdown-menu{display:block}.nav-dropdown-menu a{padding:10px 20px;font-size:14px;display:block}.nav-dropdown-menu a:hover{background:var(--cream-light)}.nav-cta{border-radius:24px;transition:background .2s;color:#fff!important;background:#c05000!important;padding:8px 20px!important;font-size:13px!important;font-weight:700!important}.nav-cta:hover{background:var(--orange-hover)!important}.menu-toggle{cursor:pointer;background:0 0;border:none;margin-left:auto;padding:8px;display:none}.hamburger{background:var(--brown);width:24px;height:2px;transition:all .3s;display:block;position:relative}.hamburger:before,.hamburger:after{content:"";background:var(--brown);width:24px;height:2px;transition:all .3s;position:absolute}.hamburger:before{top:-7px}.hamburger:after{top:7px}.hamburger.open{background:0 0}.hamburger.open:before{top:0;transform:rotate(45deg)}.hamburger.open:after{top:0;transform:rotate(-45deg)}@media (width<=768px){.menu-toggle{display:block}.nav{top:var(--header-height);background:#fff;flex-direction:column;gap:16px;padding:32px 24px;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.nav--open{display:flex}.nav a,.nav-dropdown-label{font-size:18px}.nav-dropdown-menu{box-shadow:none;border:none;padding:0 0 0 16px;display:block;position:static}.nav-cta{text-align:center;margin-top:16px;display:block}}.hero{background:var(--kk-cream-warm);isolation:isolate;grid-template-columns:minmax(420px,600px) 1fr;align-items:stretch;min-height:clamp(640px,92vh,880px);display:grid;position:relative;overflow:hidden}.hero:before,.hero:after{display:none}.hero-bg{width:100%;height:100%;box-shadow:none;border:none;border-radius:0;grid-column:2;margin:0;position:relative;overflow:hidden}.hero-bg img{object-fit:cover;width:100%;height:100%}.hero-bg:after{content:"";background:linear-gradient(90deg, var(--kk-cream-warm) 0%, #fafaf766 12%, transparent 30%);position:absolute;inset:0}.hero-overlay{z-index:2;padding:var(--s-12) clamp(var(--s-4), 5vw, var(--s-10)) var(--s-12) clamp(var(--s-4), 6vw, var(--s-10));text-align:left;color:var(--kk-ink);grid-area:1/1;align-self:center;max-width:540px}.hero-eyebrow{color:var(--kk-vermillion);font-family:var(--font);margin-bottom:var(--s-3);letter-spacing:.25em;text-transform:uppercase;background:0 0;border-radius:0;padding:0 0 0 32px;font-size:12px;font-weight:700;display:inline-block;position:relative}.hero-eyebrow:before{content:"";background:currentColor;width:24px;height:1px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.hero-logo{display:none}.hero h1{font-family:var(--font-display);letter-spacing:.01em;margin-bottom:var(--s-3);color:var(--kk-green-deep);text-shadow:none;font-size:clamp(26px,3.6vw,42px);font-weight:700;line-height:1.5}.hero h1 strong,.hero h1 em{color:var(--kk-vermillion);background-image:none;padding:0;font-style:normal;font-weight:700}.hero-sub{margin:0 0 var(--s-5);max-width:460px;color:var(--kk-ink-soft);letter-spacing:.04em;font-size:clamp(14px,1.4vw,16px);font-weight:500;line-height:2}.hero-sub strong{color:var(--kk-green-deep);font-weight:700}.hero-pets-row{gap:var(--s-2);margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid #2131271a;align-items:center;display:flex}.hero-pets-row__photo{aspect-ratio:1;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:48px;margin-left:-8px;overflow:hidden;box-shadow:0 2px 6px #2131271f}.hero-pets-row__photo:first-child{margin-left:0}.hero-pets-row__photo img{object-fit:cover;width:100%;height:100%}.hero-pets-row__label{color:var(--kk-ink-soft);margin-left:var(--s-1);letter-spacing:.04em;font-size:12px;font-weight:600;line-height:1.5}.hero-pets-row__label strong{color:var(--kk-vermillion);letter-spacing:.05em;margin-right:4px;font-size:14px;font-weight:700;display:inline}@media (width<=900px){.hero{grid-template-columns:1fr;min-height:auto}.hero-bg{grid-area:1/1;height:clamp(360px,60vw,520px)}.hero-bg:after{background:linear-gradient(180deg, transparent 0%, #fafaf780 70%, var(--kk-cream-warm) 100%)}.hero-overlay{padding:var(--s-6) var(--s-3) var(--s-8);grid-row:2}}.section{padding:clamp(var(--s-10), 12vw, var(--s-16)) 0;position:relative}.section:nth-child(2n){background:var(--bg-alt)}.section+.section{border-top:none}.section:before,.section:after{display:none!important}.section-eyebrow{text-align:center;font-family:var(--font);letter-spacing:.3em;color:var(--kk-vermillion);margin-bottom:var(--s-2);text-transform:uppercase;font-size:12px;font-weight:700;display:block}.section-eyebrow:before,.section-eyebrow:after{display:none}.section-title{font-family:var(--font-display);text-align:center;margin-bottom:var(--s-3);color:var(--kk-green-deep);letter-spacing:.02em;font-size:clamp(24px,3.6vw,40px);font-weight:700;line-height:1.5}.section-title strong{color:var(--kk-vermillion);background-image:none;padding:0;font-weight:700}.section-title:after{content:"";width:32px;height:2px;margin:var(--s-3) auto 0;background:var(--kk-vermillion);border-radius:0;display:block}.section-lead{text-align:center;color:var(--text-light);letter-spacing:.04em;max-width:720px;margin:0 auto 56px;font-size:15px;line-height:2}.section-more{text-align:center;margin-top:48px}.text-link{color:var(--kk-vermillion-dark);border-bottom:1px solid;padding-bottom:2px;font-size:15px;font-weight:700}.text-link:hover{color:var(--kk-vermillion)}.feature-row{max-width:var(--max-width);grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,80px);margin:0 auto;padding:clamp(40px,6vw,80px) 0;display:grid}.feature-row+.feature-row{border-top:1px dashed var(--border)}.feature-row--reverse .feature-row__media{order:2}.feature-row__media{border-radius:var(--radius-lg);aspect-ratio:4/3;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.feature-row__media img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.feature-row__media:hover img{transform:scale(1.04)}.feature-row__num{font-family:var(--font-en);letter-spacing:.3em;color:var(--kk-vermillion);margin-bottom:12px;font-size:14px;font-weight:600;display:block}.feature-row__title{font-family:var(--font-display);color:var(--kk-green-deep);letter-spacing:.04em;margin-bottom:24px;font-size:clamp(22px,2.8vw,30px);font-weight:700;line-height:1.5}.feature-row__title strong{color:var(--kk-vermillion)}.feature-row__body{color:var(--text);letter-spacing:.03em;font-size:15px;line-height:2}.feature-row__body p+p{margin-top:16px}@media (width<=768px){.section{padding:64px 0}.section-title{font-size:22px}.section-title:after{margin-top:14px}.section-lead{margin-bottom:40px}.feature-row{grid-template-columns:1fr;gap:24px;padding:32px 0}.feature-row--reverse .feature-row__media{order:0}}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal.revealed{opacity:1;transform:translateY(0)}.hero-overlay{opacity:0;transition:opacity 1s .3s,transform 1s .3s;transform:translateY(30px)}.hero-overlay.anim-in{opacity:1;transform:translateY(0)}.stats-bar{position:relative;background:var(--kk-green-deep)!important;padding:56px 0!important}.stats-bar:before,.stats-bar:after{content:"";background:#ffffff14;height:1px;position:absolute;left:0;right:0}.stats-bar:before{top:0}.stats-bar:after{bottom:0}.stats-grid{flex-wrap:wrap;justify-content:center;gap:clamp(24px,5vw,64px);display:flex}.stat-item{text-align:center;contain:layout;min-width:120px;position:relative}.stat-item:not(:last-child):after{content:"";background:#ffffff1f;width:1px;position:absolute;top:12px;bottom:12px;right:calc(-1*clamp(12px,2.5vw,32px))}.stat-number{font-family:var(--font-en);color:#ffd68a;font-variant-numeric:tabular-nums;letter-spacing:.02em;min-height:43px;font-size:clamp(28px,3.6vw,42px);font-weight:700;line-height:1.2;display:block}.stat-label{color:#fffc;margin-top:4px;font-size:13px;line-height:1.4;display:block}.stat-label small{color:#ffffffbf;font-size:11px}.stats-source{text-align:center;color:#fff9;margin-top:16px;font-size:11px}@media (width<=768px){.stats-grid{gap:24px}.stat-number{font-size:28px}.stat-item{min-width:80px}}.nutrition-charts{grid-template-columns:repeat(3,1fr);gap:32px;margin:40px 0;display:grid}.nutrition-bar-group h4{color:var(--brown);margin-bottom:16px;font-size:14px;font-weight:700}.bar-label{display:block}.bar-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.bar-name{color:var(--text-light);text-align:right;flex-shrink:0;width:65px;font-size:12px}.bar-track{background:#f0ebe4;border-radius:10px;flex:1;height:20px;overflow:hidden}.bar-fill{border-radius:10px;min-width:0;height:100%;transition:width 1.2s cubic-bezier(.16,1,.3,1)}.bar-value{font-family:var(--font-en);flex-shrink:0;width:55px;font-size:14px;font-weight:800}@media (width<=768px){.nutrition-charts{grid-template-columns:1fr;gap:24px}}.pyramid-box{background:var(--cream-light);border-radius:var(--radius-lg);margin:40px 0;padding:40px}.pyramid-box h3{text-align:center;color:var(--brown);margin-bottom:32px;font-size:20px}.pyramid{flex-direction:column;align-items:center;gap:6px;display:flex}.pyramid-level{text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:20px 24px;transition:transform .3s,box-shadow .3s;display:flex;position:relative}.pyramid-level:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.pyramid-shape{display:none}.pyramid-level--top{background:linear-gradient(135deg, var(--kk-vermillion), #d85f40);color:#fff;width:55%;box-shadow:0 8px 24px #c8492c52}.pyramid-level--mid{background:linear-gradient(135deg, var(--kk-green), var(--kk-green-mid));color:#fff;width:75%}.pyramid-level--base{color:#fff;background:linear-gradient(135deg,#a8afa0,#bcc2b5);width:95%}.pyramid-content{flex:1}.pyramid-rank{color:#fff;letter-spacing:.5px;background:#ffffff40;border-radius:20px;margin-bottom:6px;padding:2px 12px;font-size:11px;font-weight:700;display:inline-block}.pyramid-content strong{color:#fff;margin-bottom:2px;font-size:17px;display:block}.pyramid-content p{color:#ffffffe6;margin-top:2px;font-size:13px;line-height:1.5}.hierarchy-note{text-align:center;color:var(--text-light);margin-top:20px;font-size:12px;line-height:1.7}@media (width<=768px){.pyramid-box{padding:24px 16px}.pyramid-level{padding:14px 16px}.pyramid-level--top{width:70%}.pyramid-level--mid{width:85%}.pyramid-level--base{width:100%}.pyramid-content strong{font-size:15px}}.ingredient-section{color:#fff;background:var(--brown)!important}.ingredient-section .section-title{color:#fff}.ingredient-section .section-title strong{color:var(--orange)}.ingredient-compare{align-items:stretch;gap:24px;margin-top:40px;display:flex}.ingredient-side{border-radius:var(--radius-lg);text-align:center;flex:1;padding:32px}.ingredient-side h4{margin-bottom:20px;font-size:16px}.ingredient-others{background:#ffffff14}.ingredient-others h3{color:#ffffffbf}.ingredient-kokoshika{border:2px solid var(--orange);background:#ff6b0026}.ingredient-kokoshika h3{color:var(--orange)}.ingredient-list{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ingredient-tag{opacity:0;border-radius:20px;padding:4px 12px;font-size:13px;display:inline-block}.ingredient-compare.visible .ingredient-tag{animation:.4s forwards tagFadeIn}.ingredient-others .ingredient-tag{color:#ffffffbf;background:#ffffff1a;font-size:12px}.ingredient-tag--hero{font-weight:800;background:var(--orange)!important;color:#fff!important;padding:12px 32px!important;font-size:20px!important}.ingredient-only{color:#ffffffbf;letter-spacing:4px;margin-top:16px;font-size:14px}.ingredient-vs{font-family:var(--font-en);color:#ffffffb3;flex-shrink:0;align-items:center;font-size:24px;font-weight:900;display:flex}@keyframes tagFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.ingredient-compare{flex-direction:column}.ingredient-vs{justify-content:center;padding:8px 0;font-size:18px}.ingredient-side{padding:24px 16px}}.comparison-table{margin:32px 0;overflow-x:auto}.comparison-table table{border-collapse:collapse;width:100%;font-size:15px}.comparison-table th,.comparison-table td{border:1px solid var(--border);text-align:center;padding:14px 16px}.comparison-table thead th{background:var(--brown);color:#fff;font-weight:700}.comparison-table thead th.highlight{background:var(--orange)}.comparison-table td.highlight{color:var(--orange);background:#fff5eb;font-weight:700}.table-note{color:var(--text-light);text-align:center;margin-top:16px;font-size:14px}.kodawari-grid{gap:var(--s-4);counter-reset:kk-card;grid-template-columns:repeat(3,1fr);display:grid}.kodawari-card{background:var(--bg-alt);border-radius:var(--radius-lg);text-align:left;border:none;margin-top:0;padding:0;transition:transform .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.kodawari-card:hover{transform:translateY(-4px)}.kodawari-photo{width:100%;height:auto;box-shadow:none;aspect-ratio:4/3;border:none;border-radius:0;margin-bottom:0;position:relative;top:auto;left:auto;overflow:hidden;transform:none}.kodawari-photo img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1)}.kodawari-card:hover .kodawari-photo img{transform:scale(1.05)}.kodawari-card:before{content:counter(kk-card, decimal-leading-zero);counter-increment:kk-card;top:var(--s-3);left:var(--s-3);z-index:2;color:#fff;font-family:var(--font);letter-spacing:.2em;border-radius:var(--radius-pill);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#213127e6;padding:6px 12px;font-size:11px;font-weight:700;position:absolute}.kodawari-card h3{font-family:var(--font-display);margin:var(--s-3) var(--s-3) var(--s-2);color:var(--kk-green-deep);letter-spacing:.01em;font-size:clamp(17px,1.9vw,21px);font-weight:700;line-height:1.5}.kodawari-card h3 strong{color:var(--kk-vermillion);background-image:none;font-weight:700}.kodawari-card p{color:var(--kk-ink-soft);text-align:left;letter-spacing:.04em;margin:0 var(--s-3) var(--s-4);font-size:13px;line-height:1.95}@media (width<=768px){.kodawari-grid{gap:var(--s-3);grid-template-columns:1fr}}.products-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.products-grid--with-banner .product-card--trial{box-shadow:none;background:0 0;border:none;grid-column:1/-1;padding:0}.product-card--trial .campaign-banner{border-radius:var(--radius-lg);margin:0;display:block;overflow:hidden}.product-card--trial .campaign-banner img{border-radius:var(--radius-lg);width:100%;height:auto}.product-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;position:relative;overflow:hidden}.product-photo{aspect-ratio:16/10;overflow:hidden}.product-photo img{object-fit:cover;width:100%;height:100%}.product-badge{background:var(--orange);color:#fff;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700;position:absolute;top:16px;left:16px}.product-info{padding:24px}.product-category{background:var(--cream);color:var(--brown);border-radius:12px;margin-bottom:8px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.product-info h3{margin-bottom:12px;font-size:20px;font-weight:700;line-height:1.4}.product-tags{flex-wrap:wrap;gap:8px;margin-bottom:16px;list-style:none;display:flex}.product-tags li{border:1px solid var(--border);color:var(--text-light);border-radius:20px;padding:4px 10px;font-size:12px}.product-price{color:var(--orange);margin-bottom:16px;font-size:28px;font-weight:900}.product-price span{color:var(--text-light);font-size:13px;font-weight:400}.product-price-large{color:var(--orange);margin-bottom:20px;font-size:36px;font-weight:900}.product-price-large span{color:var(--text-light);font-size:14px;font-weight:400}.product-rating{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.rating-stars{color:#ff9800;letter-spacing:2px;font-size:20px}.rating-value{color:var(--brown);font-size:18px;font-weight:700}.rating-count{color:var(--text-light);font-size:13px;text-decoration:none}.rating-count:hover{color:var(--orange);text-decoration:underline}@media (width<=768px){.products-grid{grid-template-columns:repeat(2,1fr);gap:12px}.products-grid--with-banner .product-card--trial{background:var(--bg-alt);border-radius:var(--radius-lg);box-shadow:var(--shadow);grid-column:auto;display:flex;overflow:hidden}.product-card--trial .campaign-banner{width:100%;display:flex}.product-card--trial .campaign-banner img{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:100%}.product-card{flex-direction:column;display:flex}.product-photo{aspect-ratio:1}.product-info{flex-direction:column;flex:1;padding:12px;display:flex}.product-info h3{margin-bottom:8px;font-size:14px;line-height:1.5}.product-tags{gap:4px;margin-bottom:10px}.product-tags li{padding:2px 6px;font-size:10px}.product-price{margin-bottom:10px;font-size:18px}.product-price span{margin-top:2px;font-size:11px;display:block}.product-info .rakuten-cta{letter-spacing:.02em;white-space:nowrap;justify-content:center;width:100%;margin-top:auto;padding:10px 12px;font-size:12px}.product-info .rakuten-cta__arrow{font-size:1em}}.rakuten-cta{letter-spacing:.05em;border-radius:999px;align-items:center;gap:10px;font-weight:700;transition:all .25s;display:inline-flex;position:relative;overflow:hidden}.rakuten-cta--primary{background:var(--kk-vermillion);color:#fff;padding:16px 36px;font-size:15px;box-shadow:0 6px 18px #c8492c47}.rakuten-cta--primary:hover{background:var(--kk-vermillion-dark);transform:translateY(-2px);box-shadow:0 10px 24px #c8492c5c}.rakuten-cta--hero{background:var(--kk-vermillion);color:#fff;border:1.5px solid #fff3;padding:18px 48px;font-size:17px;box-shadow:0 8px 24px #00000052}.rakuten-cta--hero:hover{background:var(--kk-vermillion-dark);transform:translateY(-2px);box-shadow:0 12px 32px #0006}.rakuten-cta--inline{color:var(--kk-vermillion);font-size:15px}.rakuten-cta__arrow{font-size:1.1em;transition:transform .25s}.rakuten-cta:hover .rakuten-cta__arrow{transform:translate(6px)}.reviews-grid{gap:var(--s-3);grid-template-columns:repeat(3,1fr);display:grid}.review-card{background:var(--bg-alt);border-radius:var(--radius-lg);padding:var(--s-4);box-shadow:var(--shadow);text-align:left;position:relative}.review-card:before{content:"\"";top:-8px;left:var(--s-3);color:var(--kk-vermillion);opacity:.2;font-family:Georgia,serif;font-size:64px;line-height:1;position:absolute}.review-photo{width:56px;height:56px;margin:0 0 var(--s-2);border:2px solid var(--bg);box-shadow:var(--shadow-card);border-radius:50%;overflow:hidden}.review-photo img{object-fit:cover;width:100%;height:100%}.review-stars{color:var(--kk-vermillion);margin-bottom:var(--s-1);letter-spacing:.15em;font-size:14px}.review-dog{color:var(--kk-ink-soft);margin-bottom:var(--s-2);letter-spacing:.04em;font-size:12px;font-weight:600}.review-text{color:var(--text);letter-spacing:.04em;font-size:14px;line-height:1.95}@media (width<=768px){.reviews-grid{grid-template-columns:1fr}}.guides-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.guide-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;transition:transform .2s,box-shadow .2s;overflow:hidden}.guide-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.guide-photo{aspect-ratio:16/9;background:var(--cream);overflow:hidden}.guide-photo img{object-fit:cover;width:100%;height:100%}.guide-info{padding:20px}.guide-category,.blog-category{background:var(--cream);color:var(--brown);border-radius:10px;margin-bottom:8px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.guide-info h3{color:var(--text);font-size:15px;font-weight:700;line-height:1.6}@media (width<=768px){.guides-grid{grid-template-columns:1fr}}.blog-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.blog-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;padding:24px;transition:transform .2s}.blog-card:hover{transform:translateY(-2px)}.blog-info h3{margin:8px 0;font-size:16px;font-weight:700;line-height:1.5}.blog-info p{color:var(--text-light);font-size:13px;line-height:1.6}.blog-filters{flex-wrap:wrap;gap:8px;margin-bottom:32px;padding:24px 0;display:flex}.blog-filters button{border:1px solid var(--border);cursor:pointer;font-size:13px;font-family:var(--font);background:#fff;border-radius:20px;padding:8px 16px;transition:all .2s}.blog-filters button.active{background:var(--brown);color:#fff;border-color:var(--brown)}.blog-list{flex-direction:column;gap:16px;padding-bottom:40px;display:flex}.blog-list-item{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:24px;transition:border-color .2s;display:block}.blog-list-item:hover{border-color:var(--orange)}.blog-list-item h2{margin:8px 0;font-size:18px;font-weight:700}.blog-list-item p{color:var(--text-light);font-size:14px}.blog-list-item time{color:var(--text-muted);font-size:12px}@media (width<=768px){.blog-grid{grid-template-columns:1fr}}.faq-list{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{cursor:pointer;color:var(--brown);justify-content:space-between;align-items:center;padding:20px 0;font-size:16px;font-weight:700;list-style:none;display:flex}.faq-item summary:after{content:"+";color:var(--orange);font-size:24px;transition:transform .2s}.faq-item[open] summary:after{content:"-"}.faq-item p{color:var(--text-light);padding:0 0 20px;font-size:14px;line-height:1.8}.cta-section{color:#fff;padding:clamp(80px,12vw,160px) 0;background:linear-gradient(#1f3a2ad1, #1f3a2aeb), url(/photos/hokkaido.webp) center/cover no-repeat, var(--kk-green-deep)!important}.cta-box{text-align:center;max-width:720px;margin:0 auto;padding:40px 24px}.cta-box h2{font-family:var(--font-display);color:#fff;letter-spacing:.06em;margin-bottom:24px;font-size:clamp(24px,3.4vw,36px);font-weight:700;line-height:1.5}.cta-box p{color:#ffffffe0;margin-bottom:40px;font-size:15px;line-height:2}.page-hero{height:400px;position:relative;overflow:hidden}.page-hero img{object-fit:cover;width:100%;height:100%}.page-hero:after{content:"";background:linear-gradient(#1f3a2a40,#1f3a2ac7);position:absolute;inset:0}.page-hero-text{z-index:2;color:#fff;position:absolute;bottom:40px;left:40px;right:40px}.page-hero-text h1{font-family:var(--font-display);letter-spacing:.05em;text-shadow:0 2px 8px #0000004d;font-size:clamp(26px,4vw,40px);font-weight:700;line-height:1.4}@media (width<=768px){.page-hero{height:280px}.page-hero-text{bottom:24px;left:24px;right:24px}.page-hero-text h1{font-size:24px}}.page-header{background:var(--brown);color:#fff;padding:60px 0}.page-header h1{color:#fff;font-size:36px;font-weight:900}.page-header p{color:#ffffffb3;margin-top:8px}.article-content{max-width:800px;margin:0 auto;padding:48px 24px 80px}.article-content h2{color:var(--brown);border-bottom:2px solid var(--cream);margin:48px 0 16px;padding-bottom:8px;font-size:24px;font-weight:900}.article-content h3{color:var(--brown-light);margin:32px 0 12px;font-size:18px;font-weight:700}.article-content p{margin-bottom:16px;font-size:15px;line-height:1.9}.article-content ul,.article-content ol{margin:16px 0;padding-left:24px}.article-content li{margin-bottom:8px;font-size:15px}.article-content strong{color:var(--brown)}.article-content table{border-collapse:collapse;width:100%;margin:24px 0;font-size:14px;display:block;overflow-x:auto}.article-content thead th{background:var(--brown);color:#fff;text-align:center;border:1px solid var(--brown-light);white-space:nowrap;padding:12px 14px;font-weight:700}.article-content tbody td{border:1px solid var(--border);text-align:center;padding:10px 14px}.article-content tbody tr:nth-child(2n){background:var(--cream-light)}.article-content tbody td:first-child{text-align:left;white-space:nowrap;background:#fafaf5;font-weight:600}.article-cta{text-align:center;border-top:1px solid var(--border);margin-top:48px;padding:48px 0}.article-cta p{color:var(--text-light);margin-bottom:20px}.article-back{text-align:center;padding-top:24px}.article-back a{color:var(--text-muted);font-size:14px}.aeo-summary{background:var(--cream-light);border-left:4px solid var(--orange);border-radius:0 var(--radius) var(--radius) 0;margin-bottom:32px;padding:24px}.aeo-summary h3{color:var(--orange);font-size:16px;margin-top:0!important;margin-bottom:8px!important}.aeo-summary p{margin-bottom:8px;font-size:14px}.info-table{border-collapse:collapse;width:100%;margin:16px 0}.info-table th,.info-table td{border:1px solid var(--border);text-align:center;padding:12px 16px;font-size:14px}.info-table thead th,.info-table tbody th{background:var(--cream-light);white-space:nowrap;font-weight:700}.info-table tbody th{text-align:left}.info-table tbody td strong{color:var(--kk-vermillion)}.product-detail-top{grid-template-columns:1fr 1fr;gap:40px;margin-bottom:48px;display:grid}.product-detail-photo img{border-radius:var(--radius-lg)}@media (width<=768px){.product-detail-top{grid-template-columns:1fr}}.recommend-list{padding:0;list-style:none}.recommend-list li{border-bottom:1px solid var(--border);padding:12px 0 12px 24px;position:relative}.recommend-list li:before{content:"";background:var(--orange);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.usage-steps{grid-template-columns:repeat(3,1fr);gap:24px;margin:24px 0;display:grid}.usage-step{text-align:center;background:var(--cream-light);border-radius:var(--radius-lg);padding:24px}.step-number{background:var(--orange);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto 12px;font-size:18px;font-weight:900;display:flex}.usage-step h3{margin-bottom:8px;font-size:16px}.usage-step p{color:var(--text-light);font-size:13px}@media (width<=768px){.usage-steps{grid-template-columns:1fr}}.quality-points{grid-template-columns:repeat(3,1fr);gap:24px;margin:24px 0;display:grid}.quality-item{background:var(--cream-light);border-radius:var(--radius);padding:24px}.quality-item h3{color:var(--brown);font-size:18px;margin-top:0!important;margin-bottom:8px!important}.quality-item p{color:var(--text-light);margin-bottom:0;font-size:14px}@media (width<=768px){.quality-points{grid-template-columns:1fr}}.photo-break{border-radius:var(--radius-lg);margin:40px -24px;overflow:hidden}.photo-break img{object-fit:cover;width:100%;height:300px}.related-guides{border-top:1px solid var(--border);margin-top:48px;padding-top:32px}.related-guides h3{margin-bottom:16px!important}.related-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.related-card{border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .2s}.related-card:hover{border-color:var(--orange)}.related-card h4{margin-top:8px;font-size:14px;font-weight:700;line-height:1.5}@media (width<=768px){.related-grid{grid-template-columns:1fr}}.footer{background:var(--kk-green-deep);color:#ffffffc7;border-top:4px solid var(--kk-vermillion);padding:80px 0 32px}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px}.footer-brand{margin-bottom:40px}.footer-logo{width:120px;margin-bottom:12px}.footer-brand p{font-size:14px;line-height:1.6}.footer-links{grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:40px;display:grid}.footer-col h3{color:#fff;margin-bottom:12px;font-size:14px;font-weight:700}.footer-col a{color:#fffc;padding:4px 0;font-size:13px;transition:color .2s;display:block}.footer-col a:hover{color:#fff}.footer-social{border-top:1px solid #ffffff26;justify-content:center;gap:16px;margin-top:32px;padding:24px 0;display:flex}.footer-social a{color:#ffffffb3;transition:color .2s}.footer-social a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff26;padding-top:24px}.footer-bottom p{color:#ffffffbf;font-size:12px}.footer-brand-name{margin-top:4px}@media (width<=768px){.footer-links{grid-template-columns:1fr;gap:24px}}.loading-text,.empty-text{text-align:center;color:var(--text-muted);padding:80px 0;font-size:15px}.not-found{text-align:center;padding:120px 0}.not-found h1{margin-bottom:16px;font-size:24px}.not-found a{color:var(--orange)}.admin-login{background:var(--cream-light);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login-box{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;background:#fff;width:100%;max-width:400px;padding:48px}.admin-logo{width:120px;margin:0 auto 24px}.admin-login-box h1{color:var(--brown);margin-bottom:24px;font-size:20px}.admin-login-box input{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:15px;font-family:var(--font);margin-bottom:12px;padding:12px 16px}.admin-login-box button{background:var(--orange);color:#fff;border-radius:var(--radius);cursor:pointer;width:100%;font-size:16px;font-weight:700;font-family:var(--font);border:none;padding:14px}.admin-login-box button:hover{background:var(--orange-hover)}.admin-remember{color:#555;cursor:pointer;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.admin-remember input[type=checkbox]{width:auto;margin:0}.additive-free-section{background:#faf7f2}.additive-free-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:32px;display:grid}.additive-free-card{background:#fff;border-radius:12px;padding:28px;box-shadow:0 2px 8px #0000000f}.additive-free-card h3{color:var(--orange-dark);margin-bottom:12px;font-size:18px}.wholesale-products{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin:24px 0;display:grid}.wholesale-product{background:#faf7f2;border-radius:12px;padding:24px}.wholesale-product h3{color:var(--brown);margin-bottom:8px}.wholesale-reasons{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin:24px 0;display:grid}.wholesale-reason{background:#faf7f2;border-radius:12px;padding:24px}.wholesale-reason h3{color:var(--orange-dark);margin-bottom:8px;font-size:17px}.wholesale-flow{counter-reset:flow-step;padding-left:0;list-style:none}.wholesale-flow li{background:#faf7f2;border-radius:12px;margin-bottom:16px;padding:20px 20px 20px 56px;position:relative}.wholesale-flow li:before{content:counter(flow-step);counter-increment:flow-step;background:var(--orange);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex;position:absolute;top:20px;left:16px}.wholesale-flow li p{color:#666;margin:4px 0 0;font-size:14px}.wholesale-contact{background:var(--brown);color:#fff;border-radius:16px;margin:40px 0;padding:40px}.wholesale-contact h2{color:#fff}.wholesale-contact-info{background:#ffffff1a;border-radius:12px;margin-top:16px;padding:24px}.wholesale-contact-info a{color:var(--orange)}.wholesale-contact-note{color:#ffffffb3;margin-top:12px;font-size:13px}.wholesale-form{flex-direction:column;gap:16px;margin-top:20px;display:flex}.wholesale-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=640px){.wholesale-form-row{grid-template-columns:1fr}}.wholesale-form label{color:#ffffffe6;flex-direction:column;gap:4px;font-size:14px;font-weight:500;display:flex}.wholesale-form input,.wholesale-form select,.wholesale-form textarea{color:#333;background:#fffffff2;border:1px solid #fff3;border-radius:8px;padding:10px 12px;font-size:15px}.wholesale-form input:focus,.wholesale-form select:focus,.wholesale-form textarea:focus{outline:2px solid var(--orange);border-color:var(--orange)}.wholesale-form .required{color:var(--orange);font-size:12px;font-weight:400}.wholesale-form button{background:var(--orange);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:center;margin-top:8px;padding:14px 32px;font-size:16px;font-weight:700}.wholesale-form button:hover{background:var(--orange-hover)}.wholesale-form button:disabled{opacity:.6;cursor:not-allowed}.wholesale-form-error{color:#ff6b6b;font-size:14px}.wholesale-sent{text-align:center;padding:40px 20px}.wholesale-sent-title{color:var(--orange);margin-bottom:8px;font-size:20px;font-weight:700}.admin-inquiries{flex-direction:column;gap:16px;display:flex}.admin-inquiry-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.admin-inquiry-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.admin-inquiry-header strong{font-size:16px}.admin-inquiry-date{color:#888;font-size:13px}.admin-inquiry-details p{margin:4px 0;font-size:14px}.admin-inquiry-details a{color:var(--orange)}.admin-error{color:#e53e3e;margin-bottom:12px;font-size:13px}.admin{background:#f5f5f5;min-height:100vh}.admin-header{border-bottom:1px solid var(--border);background:#fff;height:60px;padding:0 24px}.admin-header-inner{align-items:center;gap:16px;max-width:1000px;height:100%;margin:0 auto;display:flex}.admin-header-logo{height:36px}.admin-header h1{color:var(--brown);font-size:16px;font-weight:700}.admin-logout{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:13px;font-family:var(--font);background:0 0;margin-left:auto;padding:6px 16px}.admin-tabs{gap:8px;max-width:1000px;margin:0 auto;padding:16px 24px 0;display:flex}.admin-tabs button{border-radius:var(--radius) var(--radius) 0 0;cursor:pointer;font-size:14px;font-family:var(--font);color:var(--text-light);background:#fff;border:none;padding:10px 24px}.admin-tabs button.active{color:var(--brown);box-shadow:0 -2px 0 var(--orange) inset;background:#fff;font-weight:700}.admin-content{background:#fff;max-width:1000px;min-height:60vh;margin:0 auto;padding:0 24px 40px}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;padding:12px;font-size:14px}.admin-table th{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:700}.status{border-radius:10px;padding:2px 8px;font-size:12px}.status.published{color:#137333;background:#e6f4ea}.status.draft{color:#e65100;background:#fff3e0}.admin-actions{gap:8px;display:flex}.admin-actions button{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:12px;font-family:var(--font);background:#fff;padding:6px 12px}.admin-actions button.danger{color:#e53e3e;border-color:#e53e3e}.admin-form{padding:24px 0}.admin-form label{color:var(--brown);margin-bottom:16px;font-size:14px;font-weight:700;display:block}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:14px;font-family:var(--font);margin-top:6px;padding:10px 14px;display:block}.admin-form textarea{resize:vertical}.admin-generate-btn{background:var(--orange);color:#fff;border-radius:var(--radius);cursor:pointer;font-size:16px;font-weight:700;font-family:var(--font);border:none;padding:14px 32px}.admin-generate-btn:disabled{opacity:.5;cursor:not-allowed}.admin-preview-box{border:1px solid var(--border);border-radius:var(--radius);max-height:500px;margin:16px 0;padding:32px;overflow-y:auto}.admin-preview-actions{gap:12px;padding:16px 0;display:flex}.admin-preview-actions button{border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:700;font-family:var(--font);background:var(--orange);color:#fff;border:none;padding:12px 24px}.admin-preview-actions button.secondary{color:var(--text);border:1px solid var(--border);background:#fff}.admin-preview-actions button:disabled{opacity:.5}.hierarchy-box{background:var(--cream-light);border-radius:var(--radius-lg);margin:40px 0;padding:32px}.hierarchy-box h3{text-align:center;color:var(--brown);margin-bottom:24px;font-size:20px}.hierarchy-items{flex-direction:column;gap:12px;max-width:600px;margin:0 auto;display:flex}.hierarchy-item{border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;padding:20px 24px;display:flex}.hierarchy-item strong{font-size:18px}.hierarchy-item p{width:100%;margin:0;font-size:13px;line-height:1.6}.hierarchy-rank{border-radius:12px;padding:2px 10px;font-size:11px;font-weight:700}.hierarchy-top{border:2px solid var(--orange);background:linear-gradient(135deg,#fff8e1,#ffe0b2)}.hierarchy-top .hierarchy-rank{background:var(--orange);color:#fff}.hierarchy-top strong{color:var(--orange)}.hierarchy-mid{border:1px solid var(--border);background:#fff}.hierarchy-mid .hierarchy-rank{background:var(--brown);color:#fff}.hierarchy-low{background:#f5f5f5;border:1px solid #e0e0e0}.hierarchy-low .hierarchy-rank{color:#fff;background:#999}.hierarchy-low strong,.hierarchy-low p{color:var(--text-muted)}.hierarchy-note{color:var(--text-muted);text-align:center;margin-top:16px;font-size:12px;line-height:1.7}.rakuten-review-banner{border-radius:var(--radius-lg);text-align:center;background:linear-gradient(135deg,#fff8e1,#fff3e0);border:1px solid #ffe0b2;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:32px;padding:20px 24px;display:flex}.rakuten-review-banner__stars{color:#ffb800;letter-spacing:2px;font-size:20px}.rakuten-review-banner__text{color:var(--brown);font-size:15px}.rakuten-review-banner__text strong{color:var(--orange);font-weight:900}.rakuten-review-banner__link{color:var(--orange);font-size:14px;font-weight:700;text-decoration:none;transition:color .2s}.rakuten-review-banner__link:hover{color:var(--orange-hover);text-decoration:underline}@media (width<=768px){.rakuten-review-banner{flex-direction:column;gap:8px}}.handmade-section{background:var(--bg)}.handmade-comparison{background:var(--bg-alt);border-radius:var(--radius-lg);padding:var(--s-4);margin:var(--s-4) 0;box-shadow:var(--shadow);-webkit-overflow-scrolling:touch;overflow-x:auto}.handmade-comparison .info-table{min-width:560px}.handmade-comparison h3{text-align:center;color:var(--brown);margin-bottom:24px}.handmade-cta{text-align:center;margin-top:32px}.handmade-cta p{color:var(--text-light);margin-bottom:16px;font-size:16px}.handmade-cta-sep{color:var(--text-light);margin:0 8px}@media (width<=768px){.handmade-comparison{padding:var(--s-2);margin-left:calc(-1 * var(--s-3));margin-right:calc(-1 * var(--s-3));border-radius:0}.handmade-comparison h3{padding:0 var(--s-2);font-size:16px;line-height:1.6}.handmade-comparison>p{padding:0 var(--s-2)}.info-table th,.info-table td{padding:8px 10px;font-size:12px}}@media (width<=600px){.handmade-cta-sep{margin:8px 0;display:block}}.supervision-badge{border-left:4px solid var(--orange);border-radius:0 var(--radius) var(--radius) 0;background:#fdf8f0;margin:48px 0 0;padding:24px}.supervision-label{color:var(--orange);text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:700;margin-bottom:4px!important}.supervision-name{color:var(--brown);font-size:16px;font-weight:700;margin-bottom:8px!important}.supervision-note{color:var(--text-light);font-size:13px;line-height:1.7;margin-bottom:0!important}.product-reviews-section{border-top:2px solid var(--border);margin-top:48px;padding-top:48px}.product-reviews-summary{text-align:center;margin-bottom:32px}.product-reviews-rating{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.product-reviews-stars{color:#f5a623;font-size:24px}.product-reviews-score{color:var(--brown);font-size:28px;font-weight:800}.product-reviews-count{color:var(--text-light);font-size:14px}.product-reviews-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px;display:grid}.product-review-card{border:1px solid var(--border);background:#f9f6f2;border-radius:12px;padding:24px}.product-review-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.product-review-stars{color:#f5a623;letter-spacing:1px;font-size:14px}.product-review-meta{color:var(--text-light);font-size:13px;font-weight:700}.product-review-card p{color:var(--text);font-size:14px;line-height:1.8}.product-reviews-cta{text-align:center;margin-top:16px}.legal-page{max-width:800px}.legal-page h1{color:var(--brown);border-bottom:3px solid var(--orange);margin-bottom:32px;padding-bottom:16px;font-size:clamp(22px,4vw,32px);font-weight:900}.legal-page h2{color:var(--brown);border-bottom:1px solid var(--border);margin-top:40px;margin-bottom:16px;padding-bottom:8px;font-size:18px;font-weight:700}.legal-page h3{color:var(--text);margin-top:24px;margin-bottom:12px;font-size:16px;font-weight:700}.legal-page p{margin-bottom:16px;line-height:1.8}.legal-table{border-collapse:collapse;width:100%;margin-bottom:24px}.legal-table th,.legal-table td{border:1px solid var(--border);text-align:left;padding:12px 16px;line-height:1.6}.legal-table th{white-space:nowrap;width:30%;color:var(--brown);background:#f5f0eb;font-weight:700}.legal-list{margin-bottom:16px;padding-left:24px;list-style:outside}.legal-list li{margin-bottom:4px;line-height:1.8}.legal-note{color:var(--text-light);margin-bottom:16px;font-size:13px}@media (width<=768px){.legal-table th{border-bottom:none;width:auto;display:block}.legal-table td{display:block}}.campaign-banner{text-align:center;background:linear-gradient(#faf7f2 0%,#f3eade 100%);border-bottom:1px solid #3b251614;width:100%;padding:16px 12px;transition:filter .25s,transform .25s;display:block}.campaign-banner:hover{filter:brightness(1.03)}.campaign-banner:active{transform:scale(.995)}.campaign-banner img{border-radius:14px;width:100%;max-width:560px;height:auto;margin:0 auto;display:block;box-shadow:0 8px 24px #3b251626}@media (width<=768px){.campaign-banner{padding:10px 8px}.campaign-banner img{border-radius:10px;max-width:100%}}.ferry-intro{text-align:center;padding:clamp(var(--s-12), 12vw, var(--s-16)) var(--s-3) clamp(var(--s-8), 8vw, var(--s-10));background:var(--bg);position:relative}.ferry-intro:before{content:"— for our beloved family —";font-family:var(--font);letter-spacing:.4em;color:var(--kk-vermillion);text-transform:uppercase;margin-bottom:var(--s-4);font-size:11px;font-weight:700;display:block}.ferry-intro__brushy{font-family:var(--font-display);color:var(--kk-green-deep);letter-spacing:.02em;margin:0 auto var(--s-5);max-width:880px;font-size:clamp(22px,3.2vw,34px);font-weight:700;line-height:1.7}.ferry-intro__brushy strong{color:var(--kk-vermillion);background-image:none;font-weight:700}.ferry-intro__body{max-width:680px;color:var(--kk-ink-soft);letter-spacing:.04em;margin:0 auto;font-size:15px;line-height:2}.ferry-intro__sub-banner{margin-top:var(--s-6);border:none;border-bottom:1px solid var(--kk-green-deep);font-family:var(--font);color:var(--kk-green-deep);letter-spacing:.15em;padding:0;padding-bottom:var(--s-1);background:0 0;border-radius:0;font-size:13px;font-weight:700;display:inline-block}.ferry-intro__sub-banner:before,.ferry-intro__sub-banner:after{content:"";display:none}.ferry-feature{padding:clamp(var(--s-10), 10vw, var(--s-16)) var(--s-3);background:var(--bg);position:relative}.ferry-feature:nth-of-type(2n){background:var(--bg-alt)}.ferry-feature__inner{max-width:var(--max-width);gap:clamp(var(--s-5), 6vw, var(--s-12));grid-template-columns:1.1fr 1fr;align-items:center;margin:0 auto;display:grid}.ferry-feature--reverse .ferry-feature__photo{order:2}.ferry-feature__photo{aspect-ratio:4/5;border-radius:var(--radius-lg);max-width:100%;box-shadow:var(--shadow-lg);border:none;margin:0;position:relative;overflow:hidden}.ferry-feature__photo img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1)}.ferry-feature:hover .ferry-feature__photo img{transform:scale(1.04)}.ferry-feature__photo:before,.ferry-feature__icon{display:none}.ferry-feature__num{font-family:var(--font);letter-spacing:.3em;color:var(--kk-vermillion);text-transform:uppercase;margin-bottom:var(--s-2);font-size:12px;font-weight:700;display:block}.ferry-feature__title{font-family:var(--font-display);color:var(--kk-green-deep);letter-spacing:.01em;margin-bottom:var(--s-3);font-size:clamp(24px,3.4vw,36px);font-weight:700;line-height:1.5;display:block}.ferry-feature__title:after{display:none}.ferry-feature__title strong{color:var(--kk-vermillion);font-weight:700}.ferry-feature__body{color:var(--text);letter-spacing:.04em;font-size:15px;line-height:2}.ferry-feature__body p+p{margin-top:var(--s-2)}.ferry-feature__body strong{color:var(--kk-green-deep);font-weight:700}@media (width<=768px){.ferry-feature{padding:var(--s-8) var(--s-3)}.ferry-feature__inner{gap:var(--s-4);grid-template-columns:1fr}.ferry-feature--reverse .ferry-feature__photo{order:0}.ferry-feature__photo{aspect-ratio:4/3;max-width:100%}}.ferry-story{isolation:isolate;align-items:flex-end;min-height:clamp(420px,60vh,640px);display:flex;position:relative;overflow:hidden}.ferry-story__media{z-index:-1;position:absolute;inset:0}.ferry-story__media img{object-fit:cover;width:100%;height:100%}.ferry-story:after{content:"";z-index:0;background:linear-gradient(#2131270d 0%,#21312740 45%,#213127d9 100%);position:absolute;inset:0}.ferry-story__caption{z-index:1;max-width:var(--max-width);padding:var(--s-12) clamp(var(--s-3), 5vw, var(--s-8)) var(--s-10);color:#fff;width:100%;margin:0 auto;position:relative}.ferry-story__eyebrow{font-family:var(--font);letter-spacing:.4em;color:#ffd9cb;text-transform:uppercase;margin-bottom:var(--s-3);font-size:11px;font-weight:700;display:block}.ferry-story__title{font-family:var(--font-display);letter-spacing:.02em;margin-bottom:var(--s-4);color:#fff;text-shadow:0 2px 16px #0000004d;max-width:720px;font-size:clamp(28px,4.5vw,52px);font-weight:700;line-height:1.4}.ferry-story__body{color:#ffffffeb;letter-spacing:.04em;text-shadow:0 1px 4px #0006;max-width:640px;font-size:15px;line-height:2}.ferry-story__body strong{color:#ffd9cb;font-weight:700}@media (width<=768px){.ferry-story{min-height:520px}.ferry-story__caption{padding:var(--s-8) var(--s-3)}}.ferry-cta-bar{background:var(--kk-green-deep);color:#fff;padding:clamp(var(--s-10), 10vw, var(--s-12)) var(--s-3);text-align:center;position:relative;overflow:hidden}.ferry-cta-bar:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 0,#b05b4326 0%,#0000 40%),radial-gradient(circle at 80% 100%,#b05b431a 0%,#0000 40%);position:absolute;inset:0}.ferry-cta-bar>*{z-index:1;position:relative}.ferry-cta-bar__title{font-family:var(--font-display);color:#fff;margin-bottom:var(--s-3);letter-spacing:.02em;font-size:clamp(22px,3vw,32px);font-weight:700;line-height:1.6}.ferry-cta-bar__title strong{color:#ffb89a;font-weight:700}.ferry-cta-bar__body{max-width:640px;margin:0 auto var(--s-5);color:#ffffffc7;letter-spacing:.04em;font-size:14px;line-height:2}.ferry-cta-bar__body strong{color:#ffb89a;font-weight:700}.ferry-cta-bar__btn{align-items:center;gap:var(--s-1);color:var(--kk-green-deep);border-radius:var(--radius-pill);font-family:var(--font);letter-spacing:.08em;background:#fff;padding:16px 40px;font-size:15px;font-weight:700;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;display:inline-flex;box-shadow:0 4px 16px #00000040}.ferry-cta-bar__btn:hover{background:var(--kk-vermillion);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.ferry-cta-bar__btn:after{content:"→";font-size:1em;transition:transform .3s}.ferry-cta-bar__btn:hover:after{transform:translate(4px)}.ferry-cta-bar--alt{background:var(--kk-vermillion-dark)}.ferry-cta-bar--alt:before{background:radial-gradient(circle at 20% 0,#2131272e 0%,#0000 45%),radial-gradient(circle at 80% 100%,#ffffff14 0%,#0000 45%)}.ferry-cta-bar--alt .ferry-cta-bar__title strong,.ferry-cta-bar--alt .ferry-cta-bar__body strong{color:#ffe3d5}.ferry-cta-bar--alt .ferry-cta-bar__btn{color:var(--kk-vermillion-dark);background:#fff}.ferry-cta-bar--alt .ferry-cta-bar__btn:hover{background:var(--kk-green-deep);color:#fff}.ferry-2col{background:var(--bg);padding:clamp(48px,7vw,88px) 24px}.ferry-2col__inner{max-width:var(--max-width);grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,36px);margin:0 auto;display:grid}.ferry-2col__panel{background:var(--bg-alt);border-radius:var(--radius-lg);text-align:center;border:3px solid;padding:clamp(28px,4vw,48px);transition:transform .3s;position:relative}.ferry-2col__panel:hover{transform:translateY(-4px)}.ferry-2col__panel--dark{color:var(--kk-ink-soft);background:#f2eee2;border-color:#b0b5a8}.ferry-2col__panel--bright{border-color:var(--kk-vermillion)}.ferry-2col__panel--bright:before{content:"ココシカ";background:var(--kk-vermillion);color:#fff;border-radius:var(--radius-pill);letter-spacing:.1em;white-space:nowrap;padding:6px 24px;font-size:13px;font-weight:700;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.ferry-2col__title{font-family:var(--font-display);color:inherit;letter-spacing:.03em;margin-bottom:24px;font-size:clamp(20px,2.6vw,28px);font-weight:400}.ferry-2col__panel--bright .ferry-2col__title{color:var(--kk-green-deep)}.ferry-2col__list{text-align:left;max-width:320px;margin:0 auto;font-size:15px;line-height:2;list-style:none}.ferry-2col__list li{border-bottom:1px dashed;padding:8px 0 8px 28px;position:relative}.ferry-2col__list li:before{content:"✕";color:#b0b5a8;font-weight:700;position:absolute;left:0}.ferry-2col__panel--bright .ferry-2col__list li:before{content:"◎";color:var(--kk-vermillion)}.ferry-2col__list li:last-child{border-bottom:none}@media (width<=768px){.ferry-2col__inner{grid-template-columns:1fr}}.ferry-steps{padding:clamp(var(--s-10), 10vw, var(--s-12)) var(--s-3);background:var(--bg)}.ferry-steps__inner{max-width:var(--max-width);gap:var(--s-4);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid}.ferry-step{background:var(--bg-alt);border-radius:var(--radius-lg);padding:var(--s-5) var(--s-4) var(--s-4);text-align:left;box-shadow:var(--shadow);border:none;position:relative}.ferry-step__num{width:auto;height:auto;color:var(--kk-vermillion);font-family:var(--font);letter-spacing:.3em;box-shadow:none;margin-bottom:var(--s-2);text-transform:uppercase;background:0 0;border:none;border-radius:0;font-size:12px;font-weight:700;display:block;position:static}.ferry-step__num:before{content:"STEP ";font-weight:700}.ferry-step__label{background:var(--kk-green-soft);color:var(--kk-green-deep);border-radius:var(--radius-pill);margin-bottom:var(--s-2);letter-spacing:.15em;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.ferry-step__title{font-family:var(--font-display);color:var(--kk-green-deep);margin-bottom:var(--s-2);letter-spacing:.01em;font-size:clamp(17px,2vw,20px);font-weight:700;line-height:1.5}.ferry-step__body{color:var(--kk-ink-soft);text-align:left;letter-spacing:.04em;font-size:13px;line-height:1.95}.ferry-step__body strong{color:var(--kk-green-deep);font-weight:700}@media (width<=768px){.ferry-steps__inner{gap:var(--s-3);grid-template-columns:1fr}}.ferry-rules{background:var(--bg);padding:clamp(48px,7vw,88px) 24px}.ferry-rules__card{max-width:var(--max-width-narrow);background:var(--bg-alt);border:2px solid var(--kk-green);border-radius:var(--radius-lg);margin:0 auto;padding:clamp(28px,4vw,48px);position:relative}.ferry-rules__card:before{content:"※必ず下記をご確認ください";background:var(--bg);color:var(--kk-vermillion);letter-spacing:.05em;padding:4px 18px;font-size:13px;font-weight:700;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.ferry-rules__list{counter-reset:ferry-rule;gap:18px;list-style:none;display:grid}.ferry-rules__list li{counter-increment:ferry-rule;border-bottom:1px dashed var(--border);padding:10px 0 10px 56px;font-size:15px;line-height:1.9;position:relative}.ferry-rules__list li:last-child{border-bottom:none}.ferry-rules__list li:before{content:counter(ferry-rule);background:var(--kk-green);color:#fff;width:36px;height:36px;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:400;display:inline-flex;position:absolute;top:8px;left:0}
