/* Carrdのレイアウトは変えず、メニューをスクロール時に固定。 */
#header{z-index:1000;background:#FFFFFF;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
#header::before{content:'';position:absolute;top:calc(-1 * var(--header-offset,0px));bottom:0;left:calc(50% - 50vw);width:100vw;background:#FFFFFF;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:-1;pointer-events:none}
a:focus-visible,button:focus-visible{outline:2px solid #555;outline-offset:4px}
.lightbox{max-width:none;max-height:none;width:100%;height:100dvh;border:0;background:transparent;padding:64px 8px 12px;overflow:hidden;color:white}
.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:rgb(18 18 18 / .94)}.lightbox img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 80px);object-fit:contain}
.close{position:absolute;right:12px;top:10px;min-height:44px;padding:8px 14px;border:1px solid #777;border-radius:6px;background:#222;color:white;font-size:14px;cursor:pointer}
.lightbox-image{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}
.lightbox-nav{position:absolute;top:50%;margin-top:-22px;width:44px;height:44px;border:0;border-radius:50%;padding:12px;background:rgba(190,190,190,.5);color:#222;cursor:pointer;display:grid;place-items:center;touch-action:manipulation}
.lightbox-nav.previous{left:8px}.lightbox-nav.next{right:8px}.lightbox-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;pointer-events:none}
.lightbox-nav:hover{background:rgba(210,210,210,.7)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;transform:none!important}.site-main,.site-main>*{opacity:1!important}}
.scroll-reveal{opacity:0;transform:translateY(4px);transition:opacity .35s ease,transform .35s ease}
.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}}

/* 文字だけを約7%縮小。remによる画像・グリッド寸法は維持。 */
html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:.93rem}
.close{font-size:13.02px}
html{scroll-padding-top:var(--fixed-header-height,125px)}
section,[data-scroll-id]{scroll-margin-top:var(--fixed-header-height,125px)}
/* 空いた最終行も通常の列幅にする。 */
#gallery01 ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#gallery01 ul>li{width:auto;min-width:0;grid-column:auto;flex-grow:0}
#gallery01 ul>li>.thumbnail>.frame>img{object-fit:var(--thumbnail-fit,cover)}
#gallery01[data-thumbnail-fit="contain"]{--thumbnail-fit:contain}
/* 見た目のボタン寸法を保ち、透明な操作領域を44px以上確保。 */
.buttons-component>li>a,.icons-component>li>a{position:relative;overflow:visible}
.buttons-component>li>a::after,.icons-component>li>a::after{content:'';position:absolute;left:50%;top:calc(50% - 22px);width:44px;min-width:100%;height:44px;transform:translateX(-50%)}
#buttons03 a[aria-current="page"]{border-color:#888;color:#333;text-decoration:none}
@media(max-width:736px){#gallery01 ul{grid-template-columns:repeat(2,minmax(0,1fr))}#buttons03{row-gap:11px}}
@media(prefers-reduced-motion:reduce){.buttons-component>li>a::after,.icons-component>li>a::after{transform:translateX(-50%)!important}}



/* 料金：既存の色・本文サイズを使い、行と罫線で整理。 */
.pricing-content{max-width:34rem;margin-left:auto;margin-right:auto;text-align:left;color:#474747;font-family:'Source Sans Pro',sans-serif;font-size:.75em;line-height:2;letter-spacing:.021875rem}
.pricing-content .text-component{font-size:1.1666667em;width:100%;margin:2.25rem 0 1rem;text-align:center}
.pricing-content .text-component:first-child{margin-top:0}
.price-list{margin:0}
.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;row-gap:.25rem;padding:.875rem 0;border-bottom:1px solid #ddd}
.price-row:first-child{padding-top:0}
.price-row dt{font-weight:600;line-height:1.7}
.price-amount{margin:0;white-space:nowrap;line-height:1.7;font-variant-numeric:tabular-nums}
.price-notes{grid-column:1/-1;margin:0;line-height:1.8}
.price-notes p{margin:0}
.price-notice{margin:1rem 0 0;line-height:1.8}
.three-view{margin-top:1rem;border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.three-view summary{min-height:44px;display:list-item;cursor:pointer;padding:.5rem 0}
.three-view dl{padding:0 0 .75rem}.three-view dl>div+div{margin-top:.625rem}.three-view dt{font-weight:600}.three-view dd{margin:0}
.commercial-conditions{list-style:disc;padding-left:1.25em;margin:0}.commercial-conditions li+li{margin-top:.375rem}
.pricing-links{margin-top:1.5rem}.pricing-links a{display:inline-block;min-height:44px;padding:.625rem 0;line-height:1.8}
.three-view summary:focus-visible{outline:2px solid #555;outline-offset:4px}
#buttons03 a,#buttons03 a:hover,#buttons03 a:focus{ text-decoration:none }
/* 注意事項：本文のサイズ・配色を保ち、見出しから探せる構成。 */
.terms-content{max-width:34rem;margin-left:auto;margin-right:auto;text-align:left;color:#474747;font-family:'Source Sans Pro',sans-serif;font-size:.75em;line-height:2;letter-spacing:.021875rem}
.terms-content>.text-component{font-size:1.1666667em;width:100%;text-align:center;margin:0 0 var(--spacing)}
.terms-intro p{margin:0;font-weight:500}.terms-intro p+p{margin-top:0}
.terms-item{border-bottom:1px solid transparent;scroll-margin-top:var(--fixed-header-height,125px)}
.terms-item summary{display:list-item;min-height:0;padding:.375rem 0;cursor:pointer;font-weight:600;line-height:1.8}
.terms-item[open] summary{color:#333}
.terms-body{padding:0 0 1rem;line-height:2}
.terms-body ul{list-style:disc;margin:0;padding-left:1.25em}.terms-body li+li{margin-top:.75rem}.terms-body ul+ul{margin-top:.75rem}
.terms-option{margin:0 0 .375rem}.terms-closing{margin:1.25rem 0 0}
.terms-item summary:focus-visible{outline:2px solid #555;outline-offset:4px}
.terms-commercial-note{margin:.75rem 0 0}

/* 依頼フォームへの固定ショートカット。既存ページの配置は変更しない。 */
.request-shortcut{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:900;width:56px;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;box-sizing:border-box;border:1px solid #309EDB;border-radius:50%;background:#309EDB;color:#FFFFFF;text-decoration:none;font-family:'Source Sans Pro',sans-serif;font-size:10px;line-height:1.2;letter-spacing:0;box-shadow:0 1px 4px #CCCCCC;touch-action:manipulation}
.request-shortcut svg{width:20px;height:20px;fill:currentColor;stroke:none}
@media(hover:hover){.request-shortcut:hover{background:#309EDB;color:#FFFFFF}}

.terms-audience{margin:0 0 .75rem;line-height:1.8}.terms-audience p{margin:0}.terms-audience p+p{margin-top:.5rem}.terms-intro{margin-bottom:1rem}

.request-safe-space{height:calc(80px + env(safe-area-inset-bottom,0px));pointer-events:none}

/* 案内文は左揃え。見出しの中央揃えと本文・項目の寸法は維持。 */
.terms-intro,.terms-audience{text-align:left}

/* 基本料金の直後に置く見積もりリンク。既存の淡いグレーを使用。 */
.price-simulators{margin:1rem 0 0;display:flex;flex-direction:column;align-items:center;gap:.5rem;list-style:none;padding:0}
.price-simulators li{max-width:100%}
.price-simulators a{display:flex;align-items:center;justify-content:center;gap:.5em;max-width:100%;min-height:44px;padding:.5rem .875rem;border-radius:1.5rem;background:#F2F2F2;color:#474747;text-decoration:none;line-height:1.6;font-family:'Source Sans Pro',sans-serif;font-weight:900;font-size:1em;letter-spacing:.225rem}
.price-simulators svg{width:1.25em;height:1.25em;flex:0 0 1.25em;fill:currentColor}
.price-simulators span{min-width:0;overflow-wrap:anywhere;text-align:left}

/* ご依頼・実績の説明文は通常本文と同じ太さ。項目名・年表示は維持。 */
#text20,#text08,#text08-continuation,#text05,#text01{font-weight:400}
#text20 .item-title,#text08 .item-title,#text08-continuation .item-title,#text01 .item-title{font-weight:700}

/* HOME以外の上へ戻るボタンは、既存の余白を残して非表示にする。 */
#tyuuizikou-section #icons03{visibility:hidden}
