@charset "utf-8";
:root{--color-text:#252525;--color-sub:#66615b;--color-muted:#8a8379;--color-bg:#fffdf9;--color-bg-soft:#f7f1e8;--color-bg-warm:#fff7ec;--color-main:#f0831e;--color-main-dark:#d86f13;--color-accent:#2f8f6b;--color-line:#eadfce;--color-white:#fff;--shadow-soft:0 18px 50px rgba(84,62,34,.12);--shadow-card:0 12px 32px rgba(84,62,34,.10);--radius-xl:32px;--radius-lg:24px;--radius-md:16px;--max:1120px;--header-height:78px;--font-ja:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic','YuGothic','Meiryo',sans-serif}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 14px)}body{margin:0;color:var(--color-text);font-family:var(--font-ja);font-size:16px;line-height:1.85;letter-spacing:.03em;background:var(--color-bg);overflow-x:hidden}img,svg,video,iframe{max-width:100%;vertical-align:middle}img,video{height:auto}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}ul,ol{margin:0;padding:0}li{list-style:none}strong{font-weight:800}.skip-link{position:fixed;top:8px;left:8px;z-index:9999;padding:10px 14px;color:#fff;background:#252525;border-radius:999px;transform:translateY(-140%);transition:.2s}.skip-link:focus{transform:translateY(0)}
.section{padding:96px 24px}.section__inner{width:min(100%,var(--max));margin:0 auto}.section-heading{max-width:760px;margin-bottom:42px}.section-heading--center{margin-inline:auto;text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--color-main-dark);font-size:13px;font-weight:800;line-height:1.4;letter-spacing:.16em}.eyebrow::before{content:"";display:block;width:28px;height:2px;background:currentColor;border-radius:999px}.section-heading h2,.intro-photo h2,.authority h2,.message h2,.contact h2{font-size:clamp(30px,4vw,48px);line-height:1.42;letter-spacing:.04em}.section-heading p,.intro-photo p{margin-top:16px;color:var(--color-sub)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:14px 24px;border:1px solid transparent;border-radius:999px;font-weight:800;line-height:1.35;text-align:center;transition:.2s}.btn:hover,.btn:focus-visible{transform:translateY(-2px)}.btn--primary{color:#fff;background:linear-gradient(135deg,var(--color-main),#f6a23e);box-shadow:0 12px 28px rgba(240,131,30,.28)}.btn--secondary{color:var(--color-main-dark);background:#fff;border-color:var(--color-line)}.sp-only{display:none}
.site-header{position:sticky;top:0;z-index:1000;height:var(--header-height);background:rgba(255,253,249,.88);border-bottom:1px solid rgba(234,223,206,.8);backdrop-filter:blur(18px)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;width:min(100%,1180px);height:100%;margin:0 auto;padding:0 24px;gap:24px}.site-logo{display:inline-flex;align-items:center;gap:12px;min-width:max-content}.site-logo__mark{display:grid;place-items:center;width:46px;height:46px;color:#fff;font-size:15px;font-weight:900;background:var(--color-main);border-radius:50%;box-shadow:0 10px 24px rgba(240,131,30,.22)}.site-logo__text{display:grid;line-height:1.2}.site-logo__text span{font-size:17px;font-weight:900}.site-logo__text small{margin-top:4px;color:var(--color-muted);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,28px);margin-left:auto;color:var(--color-sub);font-size:14px;font-weight:800}.site-nav a{position:relative}.site-nav a::after{content:"";position:absolute;right:0;bottom:-8px;left:0;height:2px;background:var(--color-main);border-radius:999px;transform:scaleX(0);transition:.2s}.site-nav a:hover::after{transform:scaleX(1)}.header-cta{display:inline-flex;align-items:center;justify-content:center;min-width:116px;min-height:44px;padding:10px 18px;color:#fff;font-size:14px;font-weight:900;background:var(--color-main);border-radius:999px;box-shadow:0 10px 22px rgba(240,131,30,.22)}
.hero{position:relative;min-height:calc(100svh - var(--header-height));padding:82px 24px 90px;overflow:hidden}.hero__bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 18%,rgba(240,131,30,.16),transparent 28%),radial-gradient(circle at 92% 18%,rgba(47,143,107,.13),transparent 24%),linear-gradient(180deg,#fff9f0 0%,#fffdf9 100%)}.hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr);align-items:center;gap:58px;width:min(100%,var(--max));margin:0 auto}.hero h1{font-size:clamp(38px,5.2vw,64px);font-weight:900;line-height:1.24;letter-spacing:.035em}.hero h1 span{color:var(--color-main-dark)}.hero__lead{max-width:660px;margin-top:24px;color:var(--color-sub);font-size:17px}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.hero__points{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.hero__points li{padding:10px 15px;color:var(--color-sub);font-size:14px;font-weight:800;background:rgba(255,255,255,.78);border:1px solid var(--color-line);border-radius:999px}.hero__points strong{color:var(--color-main-dark)}.hero__visual{position:relative;min-height:610px}.hero-collage{position:relative;height:610px}.hero-collage figure{position:absolute;margin:0;overflow:hidden;background:var(--color-bg-soft);border:9px solid #fff;box-shadow:var(--shadow-soft)}.hero-collage img{width:100%;height:100%;object-fit:cover}.hero-collage__main{top:42px;right:10px;width:74%;height:450px;border-radius:36px}.hero-collage__sub{width:42%;height:180px;border-radius:28px}.hero-collage__sub--one{top:0;left:0}.hero-collage__sub--two{right:0;bottom:0}.floating-proof{position:absolute;display:grid;place-items:center;width:132px;height:132px;text-align:center;background:rgba(255,255,255,.92);border:1px solid rgba(234,223,206,.9);border-radius:50%;box-shadow:var(--shadow-card)}.floating-proof strong{color:var(--color-main-dark);font-size:28px;line-height:1.1}.floating-proof span{color:var(--color-sub);font-size:12px;font-weight:800}.floating-proof--one{top:220px;left:0}.floating-proof--two{right:-6px;bottom:120px}
.intro-photo{background:#fff}.intro-photo__inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px;width:min(100%,var(--max));margin:0 auto}.intro-photo figure{margin:0;overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.intro-photo img{width:100%;height:430px;object-fit:cover}
.problem{background:var(--color-bg)}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.problem-card{min-height:250px;padding:28px 22px;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:0 10px 28px rgba(84,62,34,.06)}.problem-card span{color:var(--color-main-dark);font-size:13px;font-weight:900;letter-spacing:.12em}.problem-card h3{margin-top:16px;font-size:20px;line-height:1.48}.problem-card p{margin-top:12px;color:var(--color-sub);font-size:14px}
.results{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-warm) 100%)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.result-card{overflow:hidden;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.result-card--featured{grid-column:span 2}.result-card__image{overflow:hidden;height:220px;background:var(--color-bg-soft)}.result-card--featured .result-card__image{height:280px}.result-card__image img{width:100%;height:100%;object-fit:cover;transition:.35s}.result-card:hover .result-card__image img{transform:scale(1.04)}.result-card__body{padding:24px}.result-card__label{color:var(--color-main-dark);font-size:13px;font-weight:900}.result-card h3{margin-top:8px;font-size:22px;line-height:1.5}.result-card p:last-child{margin-top:12px;color:var(--color-sub);font-size:14px}.section-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:38px;padding:28px 32px;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.section-cta p{font-size:18px;font-weight:900}
.authority{color:#fff;background:linear-gradient(135deg,rgba(37,37,37,.92),rgba(81,55,25,.88)),var(--color-text)}.authority .eyebrow{color:#ffd7a6}.authority__inner{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:52px}.authority__content p:not(.eyebrow){margin-top:20px;color:rgba(255,255,255,.82)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat-card{min-height:180px;padding:24px 16px;text-align:center;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-lg);backdrop-filter:blur(12px)}.stat-card span{display:block;color:rgba(255,255,255,.76);font-size:13px;font-weight:800}.stat-card strong{display:block;margin-top:18px;color:#ffd7a6;font-size:clamp(34px,4vw,52px);line-height:1.1}
.movie{background:#fff}.movie-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.movie-card{overflow:hidden;background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.movie-card video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#1f1f1f}.movie-card__body{padding:18px}.movie-card__label{color:var(--color-main-dark);font-size:12px;font-weight:900;letter-spacing:.12em}.movie-card h3{margin-top:6px;font-size:17px;line-height:1.5}
.reels{background:var(--color-bg-soft)}.reel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reel-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:320px;padding:26px;overflow:hidden;color:#fff;background:linear-gradient(180deg,rgba(37,37,37,.05),rgba(37,37,37,.66)),linear-gradient(135deg,rgba(240,131,30,.88),rgba(47,143,107,.72));border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:.2s}.reel-card:hover{transform:translateY(-4px)}.reel-card::before{content:"▶";position:absolute;top:22px;right:22px;display:grid;place-items:center;width:48px;height:48px;color:var(--color-main-dark);background:rgba(255,255,255,.9);border-radius:50%}.reel-card__num{font-size:32px;font-weight:900;line-height:1.2}.reel-card__text{margin-top:8px;font-size:14px;font-weight:800}
.reason{background:#fff}.reason-list{display:grid;gap:18px}.reason-item{display:grid;grid-template-columns:90px 1fr;gap:24px;padding:30px;background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.reason-item__num{display:grid;place-items:center;width:76px;height:76px;color:#fff;font-size:15px;font-weight:900;background:var(--color-main);border-radius:50%}.reason-item h3{font-size:24px;line-height:1.5}.reason-item p{margin-top:12px;color:var(--color-sub)}
.service{background:var(--color-bg)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:28px 22px;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:0 10px 28px rgba(84,62,34,.06)}.service-card h3{font-size:20px;line-height:1.48}.service-card p{margin-top:12px;color:var(--color-sub);font-size:14px}.price-note{margin-top:30px;padding:30px;background:linear-gradient(135deg,#fff8ed,#fff);border:1px solid var(--color-line);border-radius:var(--radius-lg)}.price-note h3{font-size:22px}.price-note p{margin-top:12px;color:var(--color-sub)}
.voice{background:var(--color-bg-warm)}.voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.voice-card{position:relative;padding:32px;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.voice-card::before{content:"“";display:block;margin-bottom:8px;color:rgba(240,131,30,.24);font-size:64px;font-family:Georgia,serif;line-height:.7}.voice-card p{font-size:17px;font-weight:700;line-height:1.9}
.flow{background:#fff}.flow-list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.flow-list li{position:relative;padding:30px 22px;background:var(--color-bg-soft);border:1px solid var(--color-line);border-radius:var(--radius-lg)}.flow-list li::after{content:"";position:absolute;top:50%;right:-18px;width:18px;height:2px;background:var(--color-line)}.flow-list li:last-child::after{display:none}.flow-list span{color:var(--color-main-dark);font-size:12px;font-weight:900;letter-spacing:.13em}.flow-list h3{margin-top:12px;font-size:19px;line-height:1.48}.flow-list p{margin-top:10px;color:var(--color-sub);font-size:14px}
.faq{background:var(--color-bg)}.faq-list{max-width:900px;margin:0 auto}.faq-list details{background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(84,62,34,.06)}.faq-list details+details{margin-top:14px}.faq-list summary{position:relative;padding:22px 58px 22px 24px;font-weight:900;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::before{content:"Q";display:inline-grid;place-items:center;width:28px;height:28px;margin-right:10px;color:#fff;font-size:13px;background:var(--color-main);border-radius:50%}.faq-list summary::after{content:"+";position:absolute;top:50%;right:24px;color:var(--color-main-dark);font-size:26px;line-height:1;transform:translateY(-50%)}.faq-list details[open] summary::after{content:"−"}.faq-list details p{padding:0 24px 24px 62px;color:var(--color-sub)}
.message{background:#fff}.message__inner{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:52px}.message__photo{overflow:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.message__photo img{width:100%;height:440px;object-fit:cover}.message__content p:not(.eyebrow){margin-top:18px;color:var(--color-sub)}.message__note{padding:16px 18px;color:var(--color-main-dark)!important;font-size:14px;font-weight:800;background:var(--color-bg-warm);border:1px solid var(--color-line);border-radius:var(--radius-md)}
.contact{background:radial-gradient(circle at 18% 0%,rgba(240,131,30,.14),transparent 32%),linear-gradient(180deg,#fffdf9,#fff7ec)}.contact-box{width:min(100%,760px);margin:0 auto;overflow:hidden;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.contact-box iframe{display:block;width:100%;height:1376px;background:#fff}.contact-sub{display:grid;justify-items:center;gap:14px;margin-top:24px;text-align:center}.contact-sub p{color:var(--color-sub);font-size:14px}
.site-footer{padding:52px 24px 96px;color:rgba(255,255,255,.72);background:#252525}.site-footer__inner{width:min(100%,var(--max));margin:0 auto;text-align:center}.site-footer__logo{color:#fff;font-size:20px;font-weight:900}.site-footer__inner>p:not(.site-footer__logo){margin-top:8px}.site-footer__links{display:flex;justify-content:center;gap:18px;margin:22px 0}.site-footer__links a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:4px}.mobile-fixed-cta{display:none}
@media (max-width:1080px){.site-nav{display:none}.hero__inner,.intro-photo__inner,.authority__inner,.message__inner{grid-template-columns:1fr}.hero__visual{min-height:560px}.hero-collage{max-width:620px;margin:0 auto}.problem-grid,.service-grid,.flow-list,.movie-grid{grid-template-columns:repeat(2,1fr)}.result-grid{grid-template-columns:repeat(2,1fr)}.result-card--featured{grid-column:span 2}.stats,.reel-grid{grid-template-columns:repeat(3,1fr)}.flow-list li::after{display:none}}
@media (max-width:760px){:root{--header-height:66px}body{font-size:15px;line-height:1.8;padding-bottom:72px}.sp-only{display:inline}.section{padding:68px 18px}.section-heading{margin-bottom:30px}.section-heading h2,.intro-photo h2,.authority h2,.message h2,.contact h2{font-size:clamp(26px,8vw,34px);line-height:1.46}.section-heading--center{text-align:left}.site-header__inner{padding:0 16px}.site-logo__mark{width:42px;height:42px;font-size:13px}.site-logo__text small{display:none}.header-cta{min-width:94px;min-height:40px;padding:9px 14px;font-size:13px}.hero{min-height:auto;padding:58px 18px 64px}.hero__inner{gap:36px}.hero h1{font-size:clamp(33px,9.5vw,44px)}.hero__lead{margin-top:20px;font-size:15px}.hero__actions{display:grid;gap:12px}.btn{width:100%;min-height:54px}.hero__points{display:grid;grid-template-columns:1fr;gap:8px}.hero__points li{text-align:center}.hero__visual{min-height:465px}.hero-collage{height:465px}.hero-collage figure{border-width:6px}.hero-collage__main{top:52px;right:0;width:82%;height:310px;border-radius:28px}.hero-collage__sub{width:46%;height:132px;border-radius:22px}.hero-collage__sub--one{top:0;left:0}.hero-collage__sub--two{right:10px;bottom:0}.floating-proof{width:106px;height:106px}.floating-proof strong{font-size:22px}.floating-proof--one{top:216px;left:-2px}.floating-proof--two{right:-2px;bottom:70px}.intro-photo img{height:270px}.problem-grid,.result-grid,.service-grid,.stats,.reel-grid,.voice-grid,.flow-list,.movie-grid{grid-template-columns:1fr}.problem-card{min-height:auto}.result-card--featured{grid-column:auto}.result-card__image,.result-card--featured .result-card__image{height:210px}.section-cta{display:grid;padding:24px;text-align:center}.stat-card{min-height:138px}.movie-card video{aspect-ratio:4/5}.reel-card{min-height:220px}.reason-item{grid-template-columns:1fr;gap:16px;padding:24px}.reason-item__num{width:62px;height:62px;font-size:13px}.reason-item h3{font-size:21px}.voice-card{padding:26px 22px}.voice-card p{font-size:16px}.faq-list summary{padding:20px 48px 20px 18px}.faq-list summary::after{right:18px}.faq-list details p{padding:0 18px 22px}.message__photo img{height:300px}.contact-box{border-radius:22px}.contact-box iframe{height:1400px}.site-footer{padding-bottom:116px}.mobile-fixed-cta{position:fixed;right:14px;bottom:14px;left:14px;z-index:1100;display:block}.mobile-fixed-cta a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:14px 18px;color:#fff;font-weight:900;text-align:center;background:linear-gradient(135deg,var(--color-main),#f6a23e);border-radius:999px;box-shadow:0 14px 34px rgba(240,131,30,.38)}}
@media (max-width:390px){.site-logo__text span{font-size:15px}.header-cta{min-width:84px;padding-inline:12px}.hero h1{font-size:31px}.floating-proof{width:96px;height:96px}.floating-proof strong{font-size:20px}}
@media print{.site-header,.mobile-fixed-cta,.site-footer,video,iframe{display:none}body{color:#000;background:#fff;padding:0}.section,.hero{padding:32px 0}.btn{border:1px solid #000;box-shadow:none}}


/* =========================================================
  Reel thumbnail image cards
========================================================= */

.reel-grid--with-images .reel-card {
  position: relative;
  min-height: 360px;
  padding: 0;
  overflow: hidden;
  background: #1f1f1f;
  border-radius: var(--radius-lg);
  isolation: isolate;
}

.reel-grid--with-images .reel-card::before {
  content: none;
}

.reel-grid--with-images .reel-card img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.reel-grid--with-images .reel-card:hover img,
.reel-grid--with-images .reel-card:focus-visible img {
  transform: scale(1.05);
}

.reel-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(37, 37, 37, 0.02) 0%, rgba(37, 37, 37, 0.18) 42%, rgba(37, 37, 37, 0.82) 100%),
    radial-gradient(circle at center, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.16));
  pointer-events: none;
}

.reel-card__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  text-indent: 3px;
  background: rgba(0, 0, 0, 0.44);
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 50%;
  backdrop-filter: blur(4px);
  transform: translate(-50%, -50%);
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.reel-grid--with-images .reel-card:hover .reel-card__play,
.reel-grid--with-images .reel-card:focus-visible .reel-card__play {
  background: rgba(240, 131, 30, 0.9);
  transform: translate(-50%, -50%) scale(1.06);
}

.reel-card__content {
  position: relative;
  z-index: 3;
  display: block;
  width: 100%;
  margin-top: auto;
  padding: 26px;
}

.reel-grid--with-images .reel-card__num,
.reel-grid--with-images .reel-card__text {
  display: block;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.32);
}

@media (max-width: 760px) {
  .reel-grid--with-images .reel-card {
    min-height: 330px;
  }

  .reel-card__play {
    width: 58px;
    height: 58px;
    font-size: 20px;
  }
}


/* =========================================================
  WordPress dynamic blog list
========================================================= */
.blog {
  background: #fff;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.blog-card a {
  display: grid;
  height: 100%;
  overflow: hidden;
  color: inherit;
  background: #fff;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  transition: transform .2s ease, box-shadow .2s ease;
}
.blog-card a:hover,
.blog-card a:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 20px 46px rgba(84,62,34,.14);
}
.blog-card figure {
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--color-bg-soft);
}
.blog-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blog-card__body {
  display: grid;
  gap: 10px;
  padding: 22px;
}
.blog-card time {
  color: var(--color-main-dark);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
}
.blog-card h3 {
  color: var(--color-text);
  font-size: 20px;
  line-height: 1.5;
}
.blog-card p {
  color: var(--color-sub);
  font-size: 14px;
  line-height: 1.8;
}
.blog-empty {
  grid-column: 1 / -1;
  padding: 28px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
}
body.admin-bar .site-header {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar .site-header {
    top: 46px;
  }
}
@media (max-width: 760px) {
  .blog-grid {
    grid-template-columns: 1fr;
  }
  .blog-card__body {
    padding: 20px;
  }
}


/* =========================================================
  Blog archive button
========================================================= */
.blog-more {
  display: flex;
  justify-content: center;
  margin-top: 36px;
  text-align: center;
}

.blog-more__btn {
  min-width: min(100%, 320px);
  justify-content: center;
}

@media (max-width: 760px) {
  .blog-more {
    margin-top: 28px;
  }

  .blog-more__btn {
    width: 100%;
    max-width: 360px;
  }
}

/* =========================================================
  Blog button / RESULTS 2x2 Fix
========================================================= */

/* ブログ一覧ページボタン：中央寄せ・マージントップ調整 */
.blog-more {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 48px !important;
  text-align: center !important;
}

.blog-more__btn,
.blog-more .btn,
.blog-more a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 280px !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* RESULTS：PCで2×2の均等配置 */
.results .result-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 44px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.results .result-card,
.results .result-card--featured {
  grid-column: auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-card) !important;
}

.results .result-card__image,
.results .result-card--featured .result-card__image {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #fff !important;
}

.results .result-card__image img,
.results .result-card--featured .result-card__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 auto !important;
  transform: none !important;
}

.results .result-card:hover .result-card__image img {
  transform: none !important;
}

.results .result-card__body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 26px 24px !important;
}

.results .result-card__label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding: 6px 14px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  background: var(--color-main) !important;
  border-radius: 999px !important;
}

.results .result-card h3 {
  margin-top: 14px !important;
  font-size: clamp(22px, 2.6vw, 30px) !important;
  line-height: 1.45 !important;
}

.results .result-card p:last-child {
  margin-top: 12px !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* SP：1列表示 */
@media (max-width: 760px) {
  .blog-more {
    margin-top: 36px !important;
  }

  .blog-more__btn,
  .blog-more .btn,
  .blog-more a {
    width: min(100%, 360px) !important;
    min-width: 0 !important;
  }

  .results .result-grid {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
    max-width: 100% !important;
  }

  .results .result-card__body {
    padding: 24px 20px !important;
  }

  .results .result-card h3 {
    font-size: 23px !important;
  }
}

/* =========================================================
  Blog Button Center / RESULTS 2x2 No Crop Final Fix
========================================================= */

/* ブログ一覧ボタン：カードとの間にしっかり余白を入れて中央寄せ */
.blog-more {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 60px !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

.blog-more__btn,
.blog-more .btn,
.blog-more a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 300px !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* RESULTS：PCでは2×2の均等配置 */
.results .result-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 46px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.results .result-card,
.results .result-card--featured {
  grid-column: auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  background: #fff !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-card) !important;
}

/* 画像枠：比率は揃えつつ、画像全体が必ず見える設定 */
.results .result-card__image,
.results .result-card--featured .result-card__image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

.results .result-card__image img,
.results .result-card--featured .result-card__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  transform: none !important;
}

.results .result-card:hover .result-card__image img,
.results .result-card--featured:hover .result-card__image img {
  transform: none !important;
}

.results .result-card__body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  padding: 26px 24px !important;
  box-sizing: border-box !important;
}

.results .result-card__label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding: 6px 14px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  background: var(--color-main) !important;
  border-radius: 999px !important;
}

.results .result-card h3 {
  margin-top: 14px !important;
  font-size: clamp(22px, 2.5vw, 30px) !important;
  line-height: 1.45 !important;
}

.results .result-card p:last-child {
  margin-top: 12px !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* タブレット以下：1列で崩れないように */
@media (max-width: 760px) {
  .blog-more {
    margin-top: 44px !important;
  }

  .blog-more__btn,
  .blog-more .btn,
  .blog-more a {
    width: min(100%, 360px) !important;
    min-width: 0 !important;
  }

  .results .result-grid {
    grid-template-columns: 1fr !important;
    gap: 44px !important;
    max-width: 100% !important;
  }

  .results .result-card,
  .results .result-card--featured {
    width: 100% !important;
    max-width: 100% !important;
  }

  .results .result-card__image,
  .results .result-card--featured .result-card__image {
    aspect-ratio: 4 / 3 !important;
  }

  .results .result-card__body {
    padding: 24px 20px !important;
  }

  .results .result-card h3 {
    font-size: 23px !important;
  }
}



/* =========================================================
  FINAL STRONG FIX 2026-07
  Blog button center / RESULTS 2x2 / No image crop
========================================================= */

/* ブログ一覧ボタン：中央寄せ・カードとの余白 */
.lp-blog-more,
.blog-more {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 56px auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
  clear: both !important;
}

.lp-blog-more__btn,
.blog-more__btn,
.blog-more .btn,
.blog-more a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 280px !important;
  max-width: min(100%, 420px) !important;
  margin: 0 auto !important;
  text-align: center !important;
  float: none !important;
}

/* ブログカード一覧とボタンの間を確実に空ける */
.blog-list + .blog-more,
.blog-cards + .blog-more,
.post-list + .blog-more,
.latest-posts + .blog-more,
.lp-blog-more {
  margin-top: 56px !important;
}

/* RESULTS全体の横幅 */
.lp-results-strong .wrap,
.results .wrap,
.results--large-images .wrap {
  width: min(100%, 1080px) !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* RESULTS：PCは必ず2カラム×2行の均等配置 */
.lp-results-grid,
.lp-results-strong .result-list,
.results .result-list,
.results--large-images .result-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: 48px 36px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* RESULTS：カード均等 */
.lp-results-strong .result-card,
.results .result-card,
.results--large-images .result-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  transform: none !important;
}

/* RESULTS：画像枠。切らずに全体表示 */
.lp-results-strong .result-card figure,
.results .result-card figure,
.results--large-images .result-card figure {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  transform: none !important;
}

/* RESULTS：画像そのもの。上下左右トリミング禁止 */
.lp-results-strong .result-card figure img,
.results .result-card figure img,
.results--large-images .result-card figure img,
.lp-results-strong .result-card img,
.results .result-card img,
.results--large-images .result-card img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* RESULTS：説明カード */
.lp-results-strong .result-card > div,
.results .result-card > div,
.results--large-images .result-card > div {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 28px 24px !important;
  background: #fff !important;
  border: 1px solid #f3d9df !important;
  border-radius: 26px !important;
  box-shadow: 0 14px 34px rgba(65, 42, 30, 0.08) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* RESULTS：店名ラベルは白文字維持 */
.lp-results-strong .result-label,
.results .result-label,
.results .result-card .result-label {
  color: #fff !important;
  background: var(--pink, #d85c86) !important;
}

/* PCで見出しが大きすぎて崩れる場合の調整 */
@media (min-width: 761px) {
  .lp-results-strong .result-card h3,
  .results .result-card h3,
  .results--large-images .result-card h3 {
    font-size: clamp(24px, 2.3vw, 34px) !important;
    line-height: 1.42 !important;
  }

  .lp-results-strong .result-card p:not(.result-label),
  .results .result-card p:not(.result-label),
  .results--large-images .result-card p:not(.result-label) {
    font-size: 18px !important;
    line-height: 1.8 !important;
  }
}

/* SP：1列表示、画像全体表示 */
@media (max-width: 760px) {
  .lp-blog-more,
  .blog-more {
    margin-top: 42px !important;
  }

  .lp-blog-more__btn,
  .blog-more__btn,
  .blog-more .btn,
  .blog-more a {
    width: min(100%, 360px) !important;
    min-width: 0 !important;
  }

  .lp-results-strong .wrap,
  .results .wrap,
  .results--large-images .wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .lp-results-grid,
  .lp-results-strong .result-list,
  .results .result-list,
  .results--large-images .result-list {
    grid-template-columns: 1fr !important;
    gap: 52px !important;
  }

  .lp-results-strong .result-card figure,
  .results .result-card figure,
  .results--large-images .result-card figure {
    aspect-ratio: 4 / 3 !important;
    margin-bottom: 16px !important;
  }

  .lp-results-strong .result-card > div,
  .results .result-card > div,
  .results--large-images .result-card > div {
    padding: 24px 18px !important;
    border-radius: 24px !important;
  }

  .lp-results-strong .result-card h3,
  .results .result-card h3,
  .results--large-images .result-card h3 {
    font-size: 24px !important;
    line-height: 1.45 !important;
  }
}



/* =========================================================
  FINAL FIX FROM UPLOADED ZIP 2026-07-14
  ブログボタン中央寄せ / RESULTS 2×2 / 画像全体表示
========================================================= */

/* ブログ一覧ページのボタン：中央寄せ＋ブログカードとの余白 */
.blog .blog-more,
.lp-blog-more,
.blog-more {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 56px auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
  float: none !important;
  clear: both !important;
}

.blog-grid + .blog-more,
.blog-grid + .lp-blog-more,
.blog .blog-grid + .blog-more,
.blog .blog-grid + .lp-blog-more {
  margin-top: 56px !important;
}

.blog .blog-more__btn,
.lp-blog-more__btn,
.blog-more__btn,
.blog-more .btn,
.blog-more a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 300px !important;
  max-width: min(100%, 420px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  float: none !important;
}

/* RESULTS：PCで2カラム×2行の均等配置 */
.results .section__inner {
  width: min(100%, 1080px) !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.results .result-grid,
.results .lp-results-grid,
.lp-results-2x2 .result-grid,
.lp-results-2x2 .lp-results-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: 44px 34px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* RESULTS：各カードを均等な高さに */
.results .result-card,
.lp-results-2x2 .result-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* RESULTS：画像枠は4:3、上下左右を切らない */
.results .result-card__image,
.lp-results-2x2 .result-card__image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  border-radius: var(--radius-lg, 28px) var(--radius-lg, 28px) 0 0 !important;
  box-sizing: border-box !important;
}

/* RESULTS：画像そのものは object-fit:contain で全体表示 */
.results .result-card__image img,
.lp-results-2x2 .result-card__image img,
.results .result-card img,
.lp-results-2x2 .result-card img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  transform: none !important;
  transition: none !important;
  box-sizing: border-box !important;
}

/* hover時の拡大で画像が切れるのを防止 */
.results .result-card:hover .result-card__image img,
.lp-results-2x2 .result-card:hover .result-card__image img {
  transform: none !important;
}

/* RESULTS：説明部分も均等に */
.results .result-card__body,
.lp-results-2x2 .result-card__body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* SPは1カラムで自然に表示 */
@media (max-width: 760px) {
  .blog .blog-more,
  .lp-blog-more,
  .blog-more {
    margin-top: 42px !important;
  }

  .blog .blog-more__btn,
  .lp-blog-more__btn,
  .blog-more__btn,
  .blog-more .btn,
  .blog-more a {
    width: min(100%, 360px) !important;
    min-width: 0 !important;
  }

  .results .result-grid,
  .results .lp-results-grid,
  .lp-results-2x2 .result-grid,
  .lp-results-2x2 .lp-results-grid {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }

  .results .result-card__image,
  .lp-results-2x2 .result-card__image {
    aspect-ratio: 4 / 3 !important;
  }
}
