/* 下層ページ（2026-10-31）。色・文字・カード・ボタンは style.css の決まりをそのまま使い、並べ方だけをここに書く */
.subpage main{padding-top:110px}
.sub-crumb{max-width:1180px;margin:0 auto;padding:0 5%;font-size:12px;color:var(--sub);display:flex;gap:8px}
.sub-crumb a{color:var(--sub);text-decoration:underline;text-underline-offset:3px}

.sub-card{background:#fff;color:var(--ink);border:1px solid #d6dade;border-radius:18px;box-shadow:inset 0 3px 0 #c9ced3,0 14px 34px rgba(20,24,28,.10),0 2px 4px rgba(20,24,28,.06);padding:26px 26px 24px}
.sub-card h3{font-size:19px;font-weight:800;line-height:1.5;margin:6px 0 8px}
.sub-card p{font-size:14px;line-height:1.85;color:var(--sub)}
.sub-card img{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:14px;object-fit:cover}
.sub-card b{font-family:Montserrat,sans-serif;font-size:13px;letter-spacing:.1em;color:var(--sub)}

.sub-hero{max-width:1180px;margin:0 auto;padding:30px 5% 90px;display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.sub-hero-center{grid-template-columns:1fr;text-align:center}
.sub-hero .section-title{margin-inline:0;margin-bottom:24px}
.sub-hero-center .section-title{margin-inline:auto}
.sub-h1{font-family:Shippori,serif;font-weight:800;font-size:clamp(26px,3vw,42px);line-height:1.5;color:var(--ink);letter-spacing:.01em}
.sub-lead{margin-top:18px;font-size:16px;line-height:1.95;color:var(--ink)}
.sub-note{margin-top:14px;font-size:12px;line-height:1.7;color:var(--sub)}
.sub-hero-photo{margin:0}
.sub-hero-photo img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid #d6dade;box-shadow:0 18px 40px rgba(20,24,28,.16)}
.sub-hero-photo figcaption,.sub-figure figcaption{margin-top:8px;font-size:11px;color:var(--sub);text-align:right}
.sub-hero .hero-banners{position:static;display:flex!important;flex-wrap:wrap;gap:14px;width:auto;margin-top:26px;transform:none}
.sub-hero .hero-banners a{min-width:230px}

.result-card{margin-top:26px;display:flex;align-items:center;gap:22px;background:#fff;border:1px solid #d6dade;border-radius:18px;box-shadow:inset 0 3px 0 #c9ced3,0 14px 34px rgba(20,24,28,.10);padding:20px 26px;width:fit-content}
.result-card div{display:grid;gap:2px}
.result-card span{font-size:12px;font-weight:700;color:var(--sub)}
.result-card strong{font-family:Montserrat,'Hiragino Kaku Gothic ProN',sans-serif;font-size:30px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.result-card div:last-child strong{color:var(--ink)}
.result-card small{font-size:11px;color:var(--sub)}
.result-card>b{font-size:26px;color:var(--sub)}

.sub-section{position:relative;padding:110px 5% 120px}
.sub-section>.section-title{margin-bottom:48px}
.card-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card-grid-2{grid-template-columns:repeat(2,1fr);max-width:900px}
.step-grid{max-width:1120px;margin:0 auto;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tag{display:inline-block;font-size:12px!important;font-weight:800;letter-spacing:.08em;color:var(--sub)!important;border:1px solid #d6dade;border-radius:30px;padding:2px 12px;margin-bottom:12px}
.tag-strong{color:#fff!important;background:var(--ink);border-color:var(--ink)}

.ba-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center}
.ba-arrow{font-size:34px;color:var(--sub)}
.sub-figure{max-width:760px;margin:48px auto 0}
.sub-figure img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid #d6dade}
.sub-company{text-align:center;margin-top:36px;font-size:14px}
.sub-company a{text-decoration:underline;text-underline-offset:4px}

.svc-index{list-style:none;padding:0;margin:34px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;max-width:980px}
.svc-index a{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:700;background:#fff;border:1px solid #d6dade;border-radius:30px;padding:8px 16px}
.svc-index b{font-family:Montserrat,sans-serif;font-size:11px;color:var(--sub)}
.svc-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.svc-card{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:start;scroll-margin-top:120px}
.svc-card img{margin:0;aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 5px #fff,0 10px 24px rgba(20,24,28,.12)}
.svc-card .pill,.together .pill,.price-card .pill{margin:16px 0 0}
.together{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}
.together img{margin:0}

.price-card .price-name{font-size:13px;font-weight:800;color:var(--sub)}
.price-num{display:flex;align-items:baseline;gap:6px;margin:8px 0 16px;color:var(--ink)!important}
.price-num strong{font-family:Montserrat,sans-serif;font-size:44px;font-weight:800;letter-spacing:-.03em}
.price-num span{font-size:14px;font-weight:700}
.check-list{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid #e3e6ea;display:grid;gap:8px}
.check-list li{position:relative;padding-left:24px;font-size:14px;font-weight:700}
.check-list li:before{content:'';position:absolute;left:0;top:.35em;width:13px;height:7px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg)}
.price-card .hero-banners{position:static;display:flex!important;width:auto;margin-top:20px;transform:none}
.price-card .hero-banners a{width:100%}

.month-list{max-width:1000px;margin:0 auto;padding:0;list-style:none;display:grid;gap:16px}
.month-list li{display:grid;grid-template-columns:56px 1fr 150px;gap:22px;align-items:center;padding:18px 22px}
.month-list li>b{font-size:28px;color:var(--ink)}
.month-list img{margin:0;aspect-ratio:16/10;border-radius:10px}
.sub-quote{max-width:760px;margin:40px auto 0;text-align:center;font-family:Shippori,serif;font-size:20px;line-height:1.9;color:var(--ink)}

.faq-list{max-width:900px;margin:48px auto 0;display:grid;gap:14px}
.faq-list>div{padding:20px 24px}
.faq-list dt{font-size:16px;font-weight:800}
.faq-list dt:before{content:'Q';font-family:Montserrat,sans-serif;margin-right:10px;color:var(--sub)}
.faq-list dd{margin:8px 0 0;font-size:14px;line-height:1.85;color:var(--sub)}

.profile-table{max-width:860px;margin:10px auto 0;padding:8px 30px;text-align:left}
.profile-table div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-top:1px solid #e3e6ea}
.profile-table div:first-child{border-top:0}
.profile-table dt{font-size:14px;font-weight:800}
.profile-table dd{margin:0;font-size:15px;line-height:1.8}
.profile-table a{text-decoration:underline;text-underline-offset:3px}
.message{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:center}
.message img{margin:0}
.message p{font-family:Shippori,serif;font-size:17px;line-height:2;color:var(--ink)}
.message p+p{margin-top:12px}

.sub-cta{padding:100px 5% 110px;text-align:center}
.sub-cta-lead{font-family:Shippori,serif;font-size:clamp(22px,2.4vw,32px);font-weight:800;color:var(--ink);margin-bottom:28px}
.sub-cta .hero-banners{position:static;display:flex!important;flex-wrap:wrap;justify-content:center;gap:18px;width:auto;transform:none}
.sub-cta .hero-banners a{min-width:250px}

.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:22px;font-size:13px}
.footer-nav a{color:#d7dce0}

@media(max-width:1100px){.svc-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .subpage main{padding-top:96px}
  .sub-hero{grid-template-columns:1fr;gap:30px;padding:20px 16px 64px}
  .sub-lead{font-size:15px}
  .sub-hero .hero-banners{display:grid!important;grid-template-columns:1fr}
  .sub-hero .hero-banners a{min-width:0;font-size:17px;min-height:52px}
  .result-card{width:100%;gap:12px;padding:16px}
  .result-card strong{font-size:22px}
  .sub-section{padding:80px 16px 90px}
  .sub-section>.section-title{margin-bottom:32px}
  .card-grid,.card-grid-2,.step-grid{grid-template-columns:1fr;gap:14px}
  .ba-grid{grid-template-columns:1fr;gap:14px}
  .ba-arrow{transform:rotate(90deg);text-align:center}
  .svc-card{grid-template-columns:96px 1fr;gap:14px;padding:18px}
  .together,.message{grid-template-columns:1fr;gap:18px}
  .month-list li{grid-template-columns:40px 1fr;padding:16px}
  .month-list img{display:none}
  .profile-table{padding:4px 18px}
  .profile-table div{grid-template-columns:1fr;gap:4px;padding:14px 0}
  .sub-cta{padding:70px 16px 80px}
  .sub-cta .hero-banners{display:grid!important;grid-template-columns:1fr;width:min(84%,340px);margin:0 auto}
  .sub-cta .hero-banners a{min-width:0;font-size:17px;min-height:52px}
}
.sub-h1,.sub-cta-lead,.sub-card h3{text-wrap:balance}
/* 2026-10-31 作り直し（参考2サイトの並び）で足した部品 */
.summary-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.summary-main{font-size:17px!important;font-weight:800;line-height:1.6!important;color:var(--ink)!important}
.sub-note-center{text-align:center;margin-top:20px}
.story{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:center}
.story img{margin:0}
.story .result-card{margin:0 0 16px}
.story .pill{margin:18px 0 0}
.case-card{display:flex;flex-direction:column}
.case-card img{aspect-ratio:16/10;object-position:top}
.case-result{font-size:16px!important;font-weight:800;color:var(--ink)!important;margin-bottom:6px}
.case-card .pill{margin:auto 0 0;align-self:flex-start}
.scope-grid{margin-top:22px}
.price-card h3{font-size:22px}
.price-card .hero-banners{margin-top:18px}
.sub-back{text-align:center;padding:0 16px 80px}
.sub-back .pill{margin:0 auto}
.history{list-style:none;padding:0;margin:0 auto;max-width:640px;display:grid;gap:0;border-left:2px solid #c9ced3}
.history li{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:16px 0 16px 24px;position:relative}
.history li:before{content:'';position:absolute;left:-7px;top:24px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--ink)}
.history time{font-family:Montserrat,sans-serif;font-weight:700;color:var(--sub)}
.history span{font-weight:700}
.message-sign{font-size:14px!important;text-align:right;color:var(--sub)!important}
.contact-terms{display:flex;gap:10px;margin:0 0 14px}
.contact-terms span{font-size:13px;font-weight:800;background:#fff;border:1px solid #d6dade;border-radius:30px;padding:4px 14px}
.sub-hero-center .contact-terms{justify-content:center}
.sub-card .hero-banners{position:static;display:flex!important;width:auto;margin-top:16px;transform:none}
.sub-card .hero-banners a{min-width:0;width:100%}
.sub-card a:not(.pill):not(.hero-banners a){text-decoration:underline;text-underline-offset:3px}
.sub-section .client-logos{margin-top:0}
@media(max-width:1100px){.summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.summary-grid{grid-template-columns:1fr;gap:12px}.story{grid-template-columns:1fr;gap:18px}.history li{grid-template-columns:80px 1fr}}
.story img,.message img,.together img{height:auto;aspect-ratio:4/3;min-height:0}.message img{aspect-ratio:16/10}
.subpage .story,.subpage .message{min-height:0;height:auto;padding:26px 26px 24px}
/* 2026-10-31 詳しいページ・事例ページの部品 */
.summary-grid-3{grid-template-columns:repeat(3,1fr)}
.shot-row{display:flex;justify-content:center;gap:22px;margin-top:36px;flex-wrap:wrap}
.shot{width:min(320px,100%);padding:14px}
.shot img{margin:0;aspect-ratio:auto}
.shot figcaption{margin-top:8px;font-size:12px;color:var(--sub);text-align:center}
.card-grid-1{grid-template-columns:1fr;max-width:820px}
.case-card-wide{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center}
.case-card-wide img{margin:0}
.case-card-wide .pill{margin:12px 0 0;display:inline-flex}
a.sub-card{transition:transform .25s,box-shadow .25s}
a.sub-card:hover{transform:translateY(-3px);box-shadow:inset 0 3px 0 #c9ced3,0 20px 40px rgba(20,24,28,.14)}
a.svc-card .pill{margin:14px 0 0;display:inline-flex}
.sub-hero-round img{aspect-ratio:1;border-radius:50%;max-width:420px;margin-left:auto;box-shadow:0 0 0 8px #fff,0 18px 40px rgba(20,24,28,.16)}
.step-grid-4{grid-template-columns:repeat(4,1fr)}
.step-grid li p{color:var(--ink)}
.price-box{max-width:860px;margin:0 auto;padding:10px 30px}
.price-rows{margin:0}
.price-rows div{display:grid;grid-template-columns:260px 1fr;gap:20px;padding:18px 0;border-top:1px solid #e3e6ea}
.price-rows div:first-child{border-top:0}
.price-rows dt{font-weight:800;font-size:15px}
.price-rows dd{margin:0;font-size:15px;line-height:1.8}
@media(max-width:1100px){.step-grid-4{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.summary-grid-3,.step-grid-4{grid-template-columns:1fr}.case-card-wide{grid-template-columns:1fr}.price-box{padding:4px 18px}.price-rows div{grid-template-columns:1fr;gap:4px;padding:14px 0}.sub-hero-round img{max-width:260px;margin:0 auto}}
/* 2026-10-31 規約・SNSのページ */
.legal-doc{max-width:900px;margin:0 auto;padding:40px 46px}
.legal-doc h2{font-size:24px;font-weight:800;margin-bottom:14px}
.legal-doc h3{font-size:17px;font-weight:800;margin:30px 0 8px;padding-top:20px;border-top:1px solid #e3e6ea}
.legal-doc p,.legal-doc li,.legal-doc dd{font-size:14px;line-height:1.95;color:var(--ink)}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:8px 0}
.legal-doc dl{margin:16px 0}
.legal-doc dt{font-weight:800;font-size:14px;margin-top:18px}
.legal-doc dd{margin:4px 0 0}
.legal-doc a{text-decoration:underline;text-underline-offset:3px}
.link-card{display:flex;flex-direction:column}
.link-card .pill{margin:16px 0 0;align-self:flex-start;display:inline-flex}
.footer-groups{display:grid;grid-template-columns:repeat(4,auto);justify-content:center;gap:10px 48px;margin:26px auto 0;text-align:left}
.footer-groups p{font-size:11px;letter-spacing:.14em;color:#8f969c;margin:0 0 6px}
.footer-groups a{display:block;font-size:13px;color:#d7dce0;line-height:2}
@media(max-width:768px){.legal-doc{padding:24px 20px}.footer-groups{grid-template-columns:1fr 1fr;gap:18px 28px}}
.limit-note{max-width:760px;margin:22px auto 0;text-align:center;font-size:14px;font-weight:700;color:var(--ink)}
.limit-note.limit-left{text-align:left;margin:18px 0 0}
.svc-grid-one{grid-template-columns:1fr;max-width:820px}
.svc-grid-one .svc-card{grid-template-columns:200px 1fr}
.works-logos-sub{margin-top:48px}
@media(max-width:768px){.svc-grid-one .svc-card{grid-template-columns:96px 1fr}}
/* 2026-10-31 タイムカード */
.tc-price{display:flex;align-items:baseline;gap:8px;margin-top:20px;color:var(--ink)}
.tc-price span{font-size:14px;color:var(--sub)}
.tc-price strong{font-family:Montserrat,'Hiragino Kaku Gothic ProN',sans-serif;font-size:34px;font-weight:800}
.tc-price small{font-size:12px;color:var(--sub)}
.tc-phone img{max-width:300px;margin:0 auto;aspect-ratio:auto}
.tc-wide{max-width:900px}
.sub-card p a{display:inline-block;margin-top:8px;font-weight:800;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
