.yomogi-detail{
  --yd-green:#2b5a47;
  --yd-mint:#eef4f0;
  --yd-soft:#f5f6f5;
  --yd-line:#e6e8e7;
  --yd-ink:#2d2d2d;
  --yd-body-font:"Noto Sans JP",sans-serif;
  --yd-number-font:"Mulish",sans-serif;
}
.yomogi-detail main{
  color:var(--yd-ink);
  font-family:var(--yd-body-font);
  font-size:17px;
  line-height:2;
  letter-spacing:0;
  overflow-wrap:break-word;
}
.yomogi-detail main :is(h2,h3,p,a,dt,dd,li){ letter-spacing:0; }
.yomogi-detail main :is(h2,h3){ font-family:var(--yd-body-font); color:var(--yd-ink); font-weight:700; }
.yomogi-detail :is(main a,.yd-skip):focus-visible{ outline:3px solid var(--primary); outline-offset:5px; }
.yd-skip{ position:fixed; top:8px; left:8px; z-index:200; padding:10px 16px; background:#fff; color:var(--primary-d); clip-path:inset(50%); transform:translateY(-180%); }
.yd-skip:focus{ clip-path:none; transform:none; }
.yd-hero{ padding:49px 0 107px; }
.yd-crumb.crumb{ margin:0 0 24px; }
.yd-label{ display:flex; align-items:center; gap:16px; color:var(--yd-green); font-size:15px; font-weight:700; line-height:26px; }
.yd-label::before{ content:""; flex:none; width:48px; height:2px; background:var(--yd-green); }
.yd-hero .yd-label{ display:block; font-weight:500; }
.yd-hero .yd-label::before{ content:none; }
.yd-title-row{ margin-top:27px; }
.yd-title-row .art-title{ min-width:0; font-size:34px; }
.yd-title-context{ display:block; font-size:19px; line-height:32px; }
.yd-title-main{ display:block; }
.yd-client-name{ display:inline-block; white-space:nowrap; }
.yd-maincopy{ margin:42px 0 0; color:var(--yd-green); font-size:30px; font-weight:700; line-height:1.8; }
.yd-client{ margin-top:29px; color:#555; font-size:17px; line-height:30px; }
.yd-hero-figure{ margin:33px 0 0; }
.yomogi-detail .yd-hero .case-stage{ position:relative; aspect-ratio:1518/870; padding:0; }
.yomogi-detail .yd-hero .case-shot{ border-radius:8px; }
.yomogi-detail .yd-hero .case-shot--main{ position:absolute; left:2.64%; top:4.6%; width:91.17%; border:1px solid var(--yd-line); box-shadow:var(--sh); }
.yomogi-detail .yd-hero .case-shot--sub{ width:34%; right:0; bottom:1.15%; border:3px solid #fff; box-shadow:var(--sh); }
.yomogi-detail .yd-hero .case-shot--sub2{ width:28%; left:0; top:0; border:3px solid #fff; box-shadow:var(--sh); }
.yomogi-detail figcaption{ color:#666; font-size:14px; line-height:26px; }
.yd-hero-figure > figcaption{ margin-top:4px; text-align:center; }
.yd-section{ padding:120px 0; }
.yd-heading{ margin:25px 0 0; font-size:32px; line-height:1.65; }
.yd-section-head{ margin-bottom:67px; }
.yd-overview{ padding:98px 0 117px; background:var(--yd-soft); border-top:1px solid var(--yd-line); }
.yomogi-detail main .yd-overview-grid{ display:grid; grid-template-columns:minmax(0,536fr) minmax(0,982fr); align-items:center; }
.yd-overview-intro{ display:flex; flex-direction:column; align-items:center; width:100%; max-width:305px; }
.yd-overview-intro .yd-heading{ margin:0; text-align:center; line-height:60px; }
.yomogi-detail main .btn{ max-width:100%; white-space:normal; text-align:center; line-height:1.5; }
.yomogi-detail main .btn--primary{ background:#2b8be0; box-shadow:0 10px 24px rgba(43,139,224,.3); }
.yomogi-detail main .btn--primary:hover{ background:var(--primary-d); }
.yd-facts > div{ display:grid; grid-template-columns:183px minmax(0,1fr); align-items:center; min-height:82px; padding:14px 0; border-bottom:1px solid #dcdfde; font-size:17px; line-height:1.8; }
.yd-facts dt{ color:#666; }
.yd-facts dd{ margin:0; }
.yd-facts a{ color:#1a64b8; text-decoration:underline; text-underline-offset:6px; overflow-wrap:anywhere; }
.yd-overview + .yd-section{ border-bottom:1px solid #eaeceb; }
.yd-overview + .yd-section .yd-heading{ margin-top:20px; }
.yd-prose{ margin-top:45px; color:#555; font-size:17px; line-height:34px; }
.yd-prose p + p{ margin-top:27px; }
.yd-overview + .yd-section .yd-prose{ color:#444; }
.yd-editorial{ margin-top:25px; color:#666; font-size:14px; line-height:26px; }
.yd-intro{ margin-top:37px; color:#444; line-height:32px; }
.yd-respondent{ margin-top:34px; color:#666; font-size:14px; line-height:26px; }
.yd-interview-start{ margin-top:63px; }
.yd-qa{ padding:42px 0 44px; border-top:1px solid var(--yd-line); }
.yd-qa h3{ display:grid; grid-template-columns:56px minmax(0,1fr); font-size:19px; line-height:34px; }
.yd-qnum{ display:block; font-family:var(--yd-number-font); font-size:19px; color:var(--yd-green); }
.yd-qa blockquote{ margin:24px 0 0; color:#555; font-size:17px; line-height:34px; }
.yd-interview-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:82px; }
.yd-approaches{ display:grid; gap:100px; }
.yd-approach{ display:grid; grid-template-columns:minmax(0,691fr) minmax(0,629fr); align-items:center; gap:60px; }
.yd-approach:nth-child(even) > figure{ grid-column:2; grid-row:1; }
.yd-approach:nth-child(even) > .yd-approach-copy{ grid-column:1; grid-row:1; }
.yd-approach figure{ min-width:0; }
.yd-approach figure img{ width:100%; height:auto; border:1px solid var(--yd-line); border-radius:8px; box-shadow:var(--sh-sm); }
.yd-approach figcaption{ margin-top:11px; font-size:14px; line-height:26px; }
.yd-number{ display:block; color:#6f9b84; font-family:var(--yd-number-font); font-size:40px; font-weight:400; line-height:40px; }
.yd-approach h3{ margin-top:23px; font-size:24px; line-height:1.7; }
.yd-approach .yd-prose{ margin-top:30px; font-size:17px; line-height:34px; }
.yd-video{ width:100%; max-width:305px; margin-top:24px; }
.yd-video iframe{ display:block; border:0; width:100%; height:auto; aspect-ratio:16/9; background:#fff; }
.yd-video figcaption{ display:flex; flex-direction:column; gap:4px; margin-top:12px; font-size:12px; line-height:20px; }
.yd-video figcaption strong{ color:var(--yd-ink); font-weight:700; }
.yd-note{ margin-top:10px; font-size:12px; line-height:20px; color:#666; }
.yd-completed{ display:grid; grid-template-columns:minmax(0,982fr) minmax(0,337fr); align-items:center; gap:60px; }
.yd-completed figure{ min-width:0; }
.yd-completed img{ width:100%; height:auto; border:1px solid var(--yd-line); border-radius:8px; }
.yd-completed figcaption{ margin-top:13px; font-size:14px; line-height:26px; }
.yd-mobile-view{ width:100%; max-width:337px; justify-self:center; }
.yd-site-action{ display:flex; justify-content:center; margin-top:58px; }
.yd-site-action .btn{ width:423px; min-height:71px; padding:14px 20px; font-size:17px; }
.yd-consult{ padding-bottom:127px; background:var(--yd-soft); border-top:1px solid var(--yd-line); }
.yd-consult .yd-heading{ margin-top:0; line-height:1.8; }
.yd-concerns{ margin:35px 0 31px; color:var(--yd-green); font-size:17px; line-height:38px; }
.yd-consult > .wrap > p:not(.yd-label){ line-height:34px; }
.yd-consult-link{ width:548px; min-height:81px; margin-top:47px; padding:16px 24px; background:#e8294f; font-size:17px; box-shadow:0 10px 24px rgba(232,41,79,.3); }
.yd-consult-link:hover{ background:var(--accent-d); }
.yd-back-link{ display:block; width:fit-content; margin-top:44px; color:#1a64b8; font-size:16px; font-weight:700; line-height:28px; }
@media(min-width:768px) and (max-width:1199px){
  .yomogi-detail main{ font-size:17px; line-height:2; }
  .yd-title-row .art-title{ font-size:30px; }
  .yd-maincopy{ font-size:28px; line-height:1.9; }
  .yd-heading{ font-size:30px; }
  .yd-qa h3{ font-size:19px; line-height:1.8; }
  .yd-prose,.yd-qa blockquote,.yd-approach .yd-prose{ font-size:17px; line-height:2; }
  .yd-approach{ gap:36px; }
  .yd-approach h3{ font-size:24px; line-height:1.7; }
  .yd-facts > div{ grid-template-columns:130px minmax(0,1fr); font-size:17px; }
}
@media(max-width:767px){
  .yomogi-detail main{ font-size:13.5px; line-height:25px; }
  .yd-hero{ padding:20px 0 44px; }
  .yd-crumb.crumb{ margin-bottom:22px; }
  .yd-label{ gap:10px; font-size:12px; line-height:18px; }
  .yd-label::before{ width:28px; }
  .yd-title-row{ margin-top:10px; }
  .yd-title-row .art-title{ font-size:21px; }
  .yd-title-context{ font-size:13px; line-height:22px; }
  .yd-maincopy{ margin-top:18px; font-size:17px; line-height:1.7; }
  .yd-pc-break{ display:none; }
  .yd-client{ margin-top:14px; font-size:13px; line-height:22px; }
  .yd-hero-figure{ margin-top:20px; }
  .yomogi-detail .yd-hero .case-shot--sub,.yomogi-detail .yd-hero .case-shot--sub2{ border-width:1px; }
  .yomogi-detail figcaption{ font-size:11px; line-height:18px; }
  .yd-hero-figure > figcaption{ margin-top:2px; }
  .yd-section{ padding:56px 0; }
  .yd-heading{ margin-top:8px; font-size:21px; line-height:1.5; }
  .yd-section-head{ margin-bottom:36px; }
  .yd-overview{ padding:48px 0 52px; }
  .yomogi-detail main .yd-overview-grid{ display:flex; flex-direction:column; align-items:stretch; }
  .yd-overview-intro{ max-width:none; }
  .yd-overview-intro .yd-heading{ order:0; font-size:21px; line-height:32px; }
  .yd-facts{ order:1; margin-top:16px; }
  .yd-facts > div{ grid-template-columns:84px minmax(0,1fr); gap:8px; min-height:0; padding:14px 0; font-size:13.5px; line-height:22px; }
  .yd-facts a{ text-underline-offset:4px; }
  .yd-overview + .yd-section .yd-heading{ margin-top:8px; line-height:1.55; }
  .yd-overview + .yd-section .yd-heading br{ display:none; }
  .yd-prose{ margin-top:18px; font-size:13.5px; line-height:25px; }
  .yd-prose p + p{ margin-top:12px; }
  .yd-overview + .yd-section .yd-prose{ margin-top:22px; font-size:13.5px; line-height:25px; }
  .yd-overview + .yd-section .yd-prose p + p{ margin-top:16px; }
  .yd-editorial{ margin-top:12px; font-size:12px; line-height:20px; }
  .yd-intro{ margin-top:14px; font-size:13.5px; line-height:25px; }
  .yd-respondent{ margin-top:10px; font-size:11.5px; line-height:18px; }
  .yd-interview-start{ margin-top:22px; }
  .yd-qa{ padding:22px 0 24px; }
  .yd-qa h3{ grid-template-columns:38px minmax(0,1fr); font-size:13.5px; line-height:24px; }
  .yd-qnum{ font-size:13.5px; }
  .yd-qa blockquote{ margin-top:12px; font-size:13.5px; line-height:25px; }
  .yd-interview-grid{ grid-template-columns:1fr; }
  .yd-approaches{ gap:36px; }
  .yd-approach{ grid-template-columns:1fr; gap:20px; }
  .yd-approach:nth-child(even) > :is(figure,.yd-approach-copy){ grid-column:auto; grid-row:auto; }
  .yd-approach figcaption{ margin-top:6px; font-size:11.5px; line-height:18px; }
  .yd-number{ font-size:32px; line-height:1; }
  .yd-approach h3{ margin-top:10px; font-size:17px; line-height:1.6; }
  .yd-approach .yd-prose{ margin-top:12px; font-size:13.5px; line-height:25px; }
  .yd-approach .yd-prose p + p{ margin-top:14px; }
  .yd-video{ width:82%; max-width:280px; margin-top:20px; }
  .yd-video figcaption{ gap:4px; margin-top:14px; font-size:12px; line-height:20px; }
  .yd-video figcaption strong{ font-size:13px; }
  .yd-note{ width:82%; max-width:280px; margin-top:10px; font-size:11.5px; line-height:20px; }
  .yd-completed{ grid-template-columns:1fr; gap:28px; }
  .yd-completed figcaption{ margin-top:6px; font-size:11.5px; line-height:18px; }
  .yd-mobile-view{ width:62%; max-width:none; }
  .yd-mobile-view figcaption{ text-align:center; }
  .yd-site-action{ margin-top:32px; }
  .yd-site-action .btn{ width:100%; min-height:52px; padding:12px 16px; font-size:14.5px; }
  .yd-consult{ padding-top:52px; }
  .yd-consult .yd-heading{ margin-top:0; font-size:21px; line-height:1.55; }
  .yd-concerns{ margin:18px 0 16px; font-size:13.5px; line-height:27px; }
  .yd-consult > .wrap > p:not(.yd-label){ font-size:13.5px; line-height:25px; }
  .yd-consult-link{ width:100%; min-height:56px; margin-top:24px; padding:8px 16px; font-size:14px; }
  .yd-back-link{ margin-top:20px; font-size:13px; line-height:20px; }
  .yomogi-detail .footer-top{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }
  .yomogi-detail .site-footer{ padding:44px 0 112px; }
  .yomogi-detail .site-footer .wrap{ padding-inline:20px; }
  .yomogi-detail .f-brandcol{ grid-column:1/-1; }
  .yomogi-detail .f-brandcol .f-about{ max-width:none; font-size:12.5px; line-height:22px; }
  .yomogi-detail .f-hours{ font-size:11px; line-height:18px; }
  .yomogi-detail .f-col:not(.f-brandcol) h4{ margin-bottom:6px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.15); font-size:13px; line-height:20px; }
  .yomogi-detail .f-col:not(.f-brandcol) a{ padding:8px 0; font-size:13px; line-height:20px; }
  .yomogi-detail .f-col:nth-child(2){ display:grid; grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; }
  .yomogi-detail .f-col:nth-child(2) h4{ grid-column:1/-1; }
  .yomogi-detail .footer-bottom{ margin-top:28px; padding-top:20px; }
  .yomogi-detail .promo-bar__inner{ display:grid; grid-template-columns:minmax(0,1fr) 96px; grid-template-areas:"badge close" "copy cta"; gap:6px 10px; padding:10px 14px 12px; }
  .yomogi-detail .promo-bar__copy{ display:contents; }
  .yomogi-detail .promo-bar__pill{ grid-area:badge; justify-self:start; height:24px; padding:0 10px; font-size:10.5px; line-height:1; }
  .yomogi-detail .promo-bar__pill::before{ width:6px; height:6px; }
  .yomogi-detail .promo-bar__txt{ grid-area:copy; min-width:0; font-family:var(--yd-body-font); font-size:13px; line-height:1.4; }
  .yomogi-detail .promo-bar__btn.btn{ grid-area:cta; width:96px; height:40px; padding:0; font-size:13px; }
  .yomogi-detail .promo-bar__close{ grid-area:close; justify-self:end; width:28px; height:28px; }
}
