/* 絵は画面に固定。内容が流れ、読む区画では背景の濃さを抑える。 */
body{background:#faf9f6}
.site-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#faf9f6;--landscape-opacity:.88}
.backdrop-art{position:absolute;inset:0;background:url("assets/ink-forest-v1.png") no-repeat center bottom/cover;opacity:var(--landscape-opacity);transition:opacity .18s linear;will-change:opacity}
.backdrop-art{background-image:var(--landscape-image,url("assets/ink-forest-v1.png"))}
.backdrop-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,249,246,.97) 0%,rgba(250,249,246,.95) 30%,rgba(250,249,246,.6) 52%,rgba(250,249,246,.07) 80%)}
main,.footer{position:relative;z-index:1}
.header{z-index:20;background:#fff}
.hero{background:transparent;isolation:auto}
.hero::before,.hero::after,.consultation::before{content:none}
.hero-landscape-space{position:relative}
.hero-signature{background:rgba(250,249,246,.91);box-shadow:0 0 20px 8px rgba(250,249,246,.42)}
.framework{background:rgba(255,255,255,.88)}
.intro{background:rgba(250,249,246,.25)}
.intro-copy{background:rgba(250,249,246,.86);padding:25px 28px;margin:-25px -28px}
.services{background:rgba(255,255,255,.22)}
.organization{background:rgba(240,243,240,.96)}
.dental{background:rgba(242,243,242,.96)}
.ai-section{background:rgba(245,246,243,.28)}
.ai-examples{background:rgba(250,249,246,.88);padding:0 25px}
.ai-principle{background:rgba(250,249,246,.72)}
.about{background:rgba(32,57,64,.96)}
.approach{background:transparent}
.approach .container{background:rgba(255,255,255,.82);padding:35px 36px}
.seminar-section{background:transparent}
.seminar-panel{background:rgba(245,246,243,.95)}
.faq-section{background:transparent}
.faqs{background:rgba(255,255,255,.91);padding:0 24px}
.consultation{background:rgba(245,246,242,.68);isolation:auto}
.consultation-content{position:relative}
.footer{background:rgba(255,255,255,.94)}
@media(max-width:950px){.intro-copy{padding:20px;margin:-20px}.ai-examples{padding:0 18px}.approach .container{padding:30px}.faqs{padding:0 18px}}
@media(max-width:680px){
  .backdrop-art{background-size:auto 100%;background-position:70% bottom}
  .backdrop-veil{background:linear-gradient(90deg,rgba(250,249,246,.96) 0%,rgba(250,249,246,.87) 44%,rgba(250,249,246,.4) 100%)}
  .intro-copy{padding:20px 16px;margin:25px -16px 0}
  .ai-examples{padding:0 15px;margin:35px -8px 0}
  .approach .container{padding:25px 20px}
  .faqs{padding:0 15px;margin:28px -7px 0}
  .framework{background:rgba(255,255,255,.88)}
  .hero-signature{background:rgba(250,249,246,.93)}
  .landscape-phrase{background:rgba(250,249,246,.28)}
}
@media(prefers-reduced-motion:reduce){.backdrop-art{transition:none;will-change:auto}}

/* 法人名の英字・カタカナ・漢字を同じ書体、太さ、色で統一。 */
.wordmark{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:25px;font-weight:650;letter-spacing:.015em;line-height:1.5;color:#21363d}
@media(max-width:680px){.wordmark{font-size:22px}}
@media(max-width:360px){.wordmark{font-size:20px}}

.landscape-phrase{padding:8px 5px;background:rgba(250,249,246,.76);box-shadow:0 0 15px 6px rgba(250,249,246,.2)}

/* 太い墨の入り・払い・かすれを持つ専用の書。本文と会社名は読みやすい書体を維持。 */
.pill{position:relative;display:block;width:min(620px,100%);aspect-ratio:2126/740;border:0;padding:0;background:transparent;color:#172027;margin:-23px 0 4px;line-height:1}
.calligraphy-art{display:block;width:100%;height:100%;object-fit:contain}
.pill .calligraphy-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:950px){.pill{margin-top:-17px;margin-bottom:4px}}
@media(max-width:680px){.pill{width:100%;margin-top:-11px;margin-bottom:7px}}

/* 本人の原写真を、顔と笑顔が自然に見える構図で代表紹介に添える。 */
.about-grid{grid-template-columns:280px 220px minmax(0,1fr);gap:48px;align-items:start}
.about-portrait{margin:0;aspect-ratio:1;overflow:hidden;border-radius:3px;border:1px solid rgba(220,234,229,.3);background:#496b6c}
.about-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 85%}
.about-identity{border:0;padding:0}
.about-role{margin:26px 0 10px}
.about-identity h2{font-size:44px}
.identity-note{margin-top:17px}
.identity-line{margin:24px 0}
.identity-value{font-size:20px}
.about-copy{padding:0 0 0 38px;border-left:1px solid #607682}
.about-copy h3{font-size:28px;line-height:1.85}
.about-copy>p:first-of-type{margin-top:22px}
.identity-policy{display:block;margin-top:12px;font-size:12px;line-height:1.95}
.about-copy .message-signature{margin-top:24px;font-size:13px;text-align:right}
.about-copy>p.message-subheading{margin:18px 0 22px;font-size:15px;font-weight:600;line-height:1.9}
.message-mobile-break{display:none}
@media(max-width:1180px){.about-grid{grid-template-columns:240px 205px minmax(0,1fr);gap:30px}.about-copy{padding-left:27px}.about-copy h3{font-size:25px}}
@media(max-width:1000px){.about-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1fr);gap:36px 45px}.about-portrait{max-width:340px}.about-copy{grid-column:1/-1;border:0;padding:0;max-width:760px}.about-copy h3{font-size:28px}.about-role{margin-top:24px}}
@media(max-width:680px){.about-grid{display:flex;flex-direction:column;gap:0}.about-portrait{width:100%;max-width:340px;margin:0 auto 31px}.about-identity{width:100%;border-bottom:1px solid #607682;padding:0 0 30px}.about-role{font-size:11px;margin:24px 0 9px}.about-identity h2{font-size:43px}.identity-note{font-size:13px;margin-top:15px}.identity-line{margin:22px 0}.identity-value{font-size:21px}.about-copy{padding:30px 0 0}.about-copy h3{font-size:25px}}
@media(max-width:680px){.message-mobile-break{display:initial}}
