/* Home / Service entrance. Independent from the price-and-flow page. */
.ysv{--ysv-paper:#f7f7f2;--ysv-gray:#edede8;--ysv-ink:#30332f;--ysv-accent:#e2ff72;--ysv-gutter:clamp(28px,5.8vw,96px);position:relative;color:var(--ysv-ink);background:var(--ysv-paper);font-family:Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif}
.ysv :where(h2,h3,p){margin:0}
.ysv :where(p,h3){line-break:strict;overflow-wrap:break-word}
.ysv-pad{padding-left:var(--ysv-gutter);padding-right:var(--ysv-gutter)}
.ysv-heading{padding-top:clamp(68px,7vw,100px);padding-bottom:58px}
.ysv-index{font-size:11px;letter-spacing:.07em;line-height:1.5}
.ysv-title-row{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap;margin-top:22px}
.ysv-title-row h2{font-size:clamp(58px,6.2vw,88px);line-height:1.06;font-weight:500;letter-spacing:-.065em}
.ysv-title-row p{font-size:14px;letter-spacing:.04em}
.ysv-discipline{padding-top:66px;padding-bottom:76px}
.ysv-graphic{padding-top:24px;background:var(--ysv-paper)}
.ysv-web{background:var(--ysv-gray)}
.ysv-discipline-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(26px,3vw,48px);align-items:start}
.ysv-discipline-title{min-width:0}
.ysv-discipline-title h3{font-size:clamp(45px,4.9vw,70px);font-weight:600;line-height:1.1;letter-spacing:-.055em}
.ysv-discipline-title>p{margin-top:15px;font-size:13px;letter-spacing:.03em;line-height:1.8}
.ysv-copy{min-width:0;font-size:clamp(17px,1.35vw,20px);font-weight:400;line-height:2;letter-spacing:.01em;text-wrap:pretty}
.ysv-copy p+p{margin-top:16px}
.ysv-copy .ysv-examples{font-weight:600;margin-bottom:24px;line-height:1.9}
.ysv-additional{max-width:570px;margin-top:46px!important;margin-left:auto!important;padding-top:20px;border-top:1px solid #c7c9c1;font-size:14px;line-height:1.9;color:#565a52;text-wrap:pretty}
.ysv-consult{padding-top:54px;padding-bottom:57px}
.ysv-consult>p{max-width:680px;font-size:15px;line-height:2.05;text-wrap:pretty}
.ysv-consult span{display:inline-block;margin-top:10px;font-weight:600}
.ysv-guide{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:56px;padding-bottom:56px;background:var(--ysv-ink);color:var(--ysv-paper)}
.ysv-guide-copy{display:grid;gap:17px}
.ysv-guide-label{font-size:13px;letter-spacing:.05em;color:#d2d6cd}
.ysv-guide-title{font-size:clamp(22px,2.3vw,32px);font-weight:600;line-height:1.6;letter-spacing:.01em;text-wrap:balance}
.ysv-arrow{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:50%;background:var(--ysv-accent);color:var(--ysv-ink)}
.ysv-arrow svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.ysv-guide:focus-visible{outline:3px solid var(--ysv-accent);outline-offset:-7px}
@media(hover:hover){.ysv-guide:hover .ysv-arrow svg{transform:translateX(4px)}}
/* Below this width the right column is too narrow for two parallel text blocks. */
@media(min-width:761px) and (max-width:1199px){
 .ysv{--ysv-gutter:clamp(30px,4.6vw,60px)}
 .ysv-discipline-inner{grid-template-columns:1fr;gap:30px}
 .ysv-copy{max-width:560px}
 .ysv-additional{margin-left:0!important}
 .ysv-discipline-title h3{font-size:56px}
}
@media(max-width:760px){
 .ysv{--ysv-gutter:24px}
 .ysv-heading{padding-top:64px;padding-bottom:48px}
 .ysv-title-row{gap:20px;margin-top:18px}
 .ysv-title-row h2{font-size:clamp(58px,15vw,76px)}
 .ysv-title-row p{font-size:13px}
 .ysv-discipline{padding-top:48px;padding-bottom:50px}
 .ysv-graphic{padding-top:8px}
 .ysv-discipline-inner{grid-template-columns:1fr;gap:28px}
 .ysv-discipline-title h3{font-size:clamp(48px,12vw,62px)}
 .ysv-discipline-title>p{margin-top:10px;font-size:12px}
 .ysv-copy{font-size:16px;line-height:2}
 .ysv-copy .ysv-examples{font-size:17px;line-height:1.9;margin-bottom:20px}
 .ysv-copy p+p{margin-top:14px}
 .ysv-additional{font-size:13px;margin-top:30px!important;margin-left:0!important;padding-top:18px}
 .ysv-consult{padding-top:38px;padding-bottom:40px}
 .ysv-consult>p{font-size:14px;line-height:2}
 .ysv-consult span{display:inline;margin-top:0}
 .ysv-guide{padding-top:37px;padding-bottom:40px;gap:18px}
 .ysv-guide-copy{gap:12px}
 .ysv-guide-label{font-size:11px}
 .ysv-guide-title{font-size:clamp(18px,4.6vw,25px)}
 .ysv-arrow{flex-basis:48px;width:48px;height:48px}
 .ysv-arrow svg{width:25px;height:25px}
}
@media(prefers-reduced-motion:reduce){.ysv-arrow svg{transition:none}}

.ysv [data-service-reveal].is-reveal-ready{clip-path:inset(0 0 100% 0);transform:translateY(10px);transition:clip-path .65s ease,transform .65s ease}
.ysv [data-service-reveal].is-visible{clip-path:inset(0);transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.ysv [data-service-reveal].is-reveal-ready{clip-path:none;transform:none;transition:none}}

/* 2026-09-29 quiet-1：見出しを小さく。上に日本語の一言、下に英語の見出し。
   サイズは About / Price & Flow の --yk-section と同じ値です。 */
.ysv-heading{padding-top:clamp(72px,8vw,112px);padding-bottom:44px}
.ysv-kicker{margin:0 0 10px 2px!important;font-size:12px;letter-spacing:.06em;line-height:1.6;color:#61655e}
.ysv-title{font-size:clamp(28px,2.4vw,38px);font-weight:500;line-height:1.15;letter-spacing:-.02em}
/* Graphic / Web はさらに一段小さく、日本語を横に並べます */
.ysv-discipline-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.ysv-discipline-title h3{font-size:clamp(20px,1.6vw,24px);font-weight:600;letter-spacing:0;line-height:1.3}
.ysv-discipline-title>p{margin-top:0;font-size:12px;color:#61655e}
.ysv-copy{font-size:15px;line-height:2}
.ysv-copy .ysv-examples{margin-bottom:16px}
@media(min-width:761px) and (max-width:1199px){.ysv-discipline-title h3{font-size:22px}}
@media(max-width:760px){
 .ysv-heading{padding-top:60px;padding-bottom:32px}
 .ysv-title{font-size:30px}
 .ysv-discipline-title h3{font-size:21px}
 .ysv-discipline-title>p{font-size:12px}
 .ysv-copy{font-size:15px}
 .ysv-copy .ysv-examples{font-size:16px}
}

/* 2026-10-04 Serviceの背景を生成りにそろえる（Webの帯もグレーから生成りへ。区切りは細い線で） */
.ysv-web{background:var(--ysv-paper);border-top:1px solid #dcddd6}
