@media(max-width:980px){
  :root{--sw-gutter:28px}
  .site-header__inner{height:78px}
  .site-nav{position:fixed;inset:0;background:#0a0a0a;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.35s var(--sw-ease);margin:0;z-index:2}
  .site-nav ul{display:flex;flex-direction:column;align-items:flex-start;gap:20px;width:min(78vw,460px)}
  .site-nav a{font-family:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(2.2rem,7vw,4.2rem);font-weight:400;letter-spacing:-.02em;text-transform:none}
  .menu-open .site-nav{opacity:1;visibility:visible;transform:none}
  .menu-toggle{display:block}
  .header-cta{display:none}
  .hero__inner{padding-top:150px}
  .hero__scroll{display:none}
  .two-col,.feature-row,.feature-row.is-reverse,.interview-card,.interview-card:nth-child(even),.spec-layout{grid-template-columns:1fr}
  .feature-row.is-reverse .feature-row__media,.interview-card:nth-child(even) .interview-card__media{order:0}
  .media-frame,.feature-row__media{min-height:520px}
  .spec-media{position:relative;top:auto;min-height:0}
  .section__heading{grid-template-columns:1fr;gap:6px}
  .gallery-item,.gallery-item:nth-child(6n+1),.gallery-item:nth-child(6n+2),.gallery-item:nth-child(6n+3),.gallery-item:nth-child(6n+4){grid-column:span 6}
}

@media(max-width:680px){
  :root{--sw-gutter:20px}
  .site-header__inner{height:70px}
  .site-brand{font-size:.82rem}
  .site-brand .custom-logo{max-width:190px;max-height:34px}
  .hero{background-image:var(--hero-mobile);min-height:94svh;background-position:center}
  .hero::before{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.62))}
  .hero__inner{padding:118px 0 58px}
  .hero__kicker{font-size:.62rem;margin-bottom:18px}
  .hero h1{font-size:clamp(1.9rem,8.5vw,3rem);line-height:1.18;margin-bottom:24px;max-width:16ch}
  .hero p{font-size:.92rem;line-height:1.8;max-width:32em}
  .hero__actions{margin-top:30px}
  .button-primary{width:100%;max-width:320px;justify-content:space-between}
  .section{padding:86px 0}
  .section h2{font-size:clamp(2.7rem,13vw,4.7rem)}
  .eyebrow{font-size:.62rem;margin-bottom:18px}
  .lead{font-size:.98rem}
  .two-col{gap:38px}
  .section-concept h2{font-size:clamp(1.45rem,6vw,2.1rem);line-height:1.42}
  .concept-heading{margin-bottom:30px}
  .concept-media{aspect-ratio:16/6}
  .concept-text{margin-top:30px}
  .media-frame,.feature-row__media{min-height:0;aspect-ratio:4/5}
  .placeholder{min-height:360px}
  .feature-row{gap:32px;margin-bottom:32px;padding-bottom:24px}
  .feature-row__copy::before{font-size:7rem;top:-.45em}
  .feature-row__copy h2{font-size:clamp(1.75rem,7.5vw,2.7rem);line-height:1.35}
  .gallery-head h2{font-size:clamp(1.6rem,7vw,2.3rem);line-height:1.38}
  .gallery-grid{gap:12px}
  .gallery-item,.gallery-item:nth-child(6n+1),.gallery-item:nth-child(6n+2),.gallery-item:nth-child(6n+3),.gallery-item:nth-child(6n+4){grid-column:span 12}
  .gallery-item img,.gallery-item:nth-child(6n+1) img,.gallery-item:nth-child(6n+4) img{aspect-ratio:4/3}
  .interview-list{gap:40px}
  .interview-card{gap:32px}
  .interview-head h2,.spec-head h2{font-size:clamp(1.65rem,7vw,2.45rem)}
  .interview-card h3{font-size:1.45rem;line-height:1.45}
  .spec-layout{gap:38px}
  .spec-row{grid-template-columns:100px 1fr;gap:18px;padding:18px 0}
  .news-header{display:block;margin-bottom:36px}
  .news-item{grid-template-columns:1fr 26px;gap:7px 14px;padding:20px 0}
  .news-item time{grid-column:1/2}
  .news-item span{grid-column:1/2}
  .news-item::after{grid-column:2;grid-row:1/3}
  .faq-head h2{font-size:clamp(1.65rem,7vw,2.45rem);line-height:1.35}
  .faq-item summary{padding:24px 42px 24px 34px}
  .faq-item summary::before{top:24px}.faq-item summary::after{top:18px}
  .faq-answer{padding:0 20px 25px 34px}
  .section-cta{padding:82px 0}
  .section-cta .section__inner{padding:48px 22px}
  .section-cta h2{font-size:clamp(1.7rem,7.5vw,2.7rem);line-height:1.38}
  .site-footer{padding:54px 0 28px}
  .site-footer__top,.site-footer__bottom{display:grid;gap:32px}
  .site-footer__brand{font-size:2.8rem}
  .content-wrap{padding:120px 0 80px}
}

@media(max-width:800px){.image-text-copy{margin-bottom:24px}.image-text-media{aspect-ratio:16/8}.image-text-content{margin-top:28px}.sawaking-builder-no-hero .sawaking-page-builder>.sawaking-builder-block:first-child .section{padding-top:140px}}

@media(max-width:680px){.image-text-body,.sawaking-builder-content__inner{line-height:1.9}.image-text-body p,.sawaking-builder-content__inner p{margin-bottom:1.3em}.image-text-body ul,.image-text-body ol,.sawaking-builder-content__inner ul,.sawaking-builder-content__inner ol{padding-left:1.45em;margin:1.15em 0 1.45em}.image-text-body li,.sawaking-builder-content__inner li{margin:.42em 0}}

/* v5.1.10: スマートフォンのセクション見出しを小さいサイズに統一 */
@media(max-width:680px){
  .section h2{
    font-size:clamp(1.45rem,6vw,2.1rem);
    line-height:1.42;
  }
}

/* v5.2.0: トップページ */
@media(max-width:980px){
  .home-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .site-main--home .hero{min-height:620px}
  .site-main--home .hero__inner{padding:118px 0 62px}
  .site-main--home .section{padding-top:72px;padding-bottom:72px}
  .home-pages-head{margin-bottom:34px}
  .home-page-grid{grid-template-columns:1fr;gap:34px}
  .home-page-card__media{aspect-ratio:16/10}
  .home-page-card__body{padding-top:16px}
  .home-page-card__body h3{font-size:1.05rem}
}
