@media(max-width:1024px){
  html{scroll-padding-top:65px}
  body{padding-top:65px;font-size:16px;-webkit-text-size-adjust:100%}
  .header{height:65px}
  .header__inner{padding:0 12px 0 16px}
  .header__logo{width:190px;max-width:calc(100% - 112px);font-weight:500;font-size:15px;line-height:1.4}
  .foot-logo{width:190px;min-height:0;justify-content:center;font-weight:500;font-size:15px;line-height:1.5;text-align:center}
  .header__nav,.header__tel{display:none}
  .header__tools{display:grid;grid-template-columns:48px 48px;flex:0 0 96px;margin-left:auto;align-self:stretch}
  .header__sp-tel,.menu-button{width:48px;height:65px;display:grid;grid-template-rows:30px 12px;align-content:center;justify-items:center;row-gap:3px;padding:0;border:0;background:none;color:var(--ink)}
  .header-tool__icon{width:28px;height:30px;display:flex;align-items:center;justify-content:center}
  .header__sp-tel img{width:24px;height:24px;object-fit:contain}
  .header-tool__label{display:block;margin:0;font-size:9px;line-height:12px;font-style:normal;font-weight:400;text-align:center}
  .menu-button__icon{position:relative;display:flex;flex-direction:column;gap:5px}
  .menu-button__icon i{display:block;width:26px;height:2px;background:var(--ink);transition:transform .25s,opacity .25s}
  .menu-button.is-open .menu-button__icon{display:block}
  .menu-button.is-open .menu-button__icon i{position:absolute;top:50%;left:50%;margin:0}
  .menu-button.is-open .menu-button__icon i:nth-child(1){transform:translate(-50%,-50%) rotate(45deg)}
  .menu-button.is-open .menu-button__icon i:nth-child(2){opacity:0}
  .menu-button.is-open .menu-button__icon i:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg)}
  .sp-menu{position:fixed;z-index:1001;top:65px;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:20px;box-shadow:0 14px 24px rgba(0,0,0,.08)}
  .sp-menu.is-open{display:block}
  .menu-overlay{display:none;position:fixed;z-index:999;inset:65px 0 0;background:rgba(0,0,0,.28)}
  .menu-overlay.is-open{display:block}
  .sp-menu a{display:block;padding:14px;border-bottom:1px solid var(--line);font-size:16px}
  .hero{height:auto;display:flex;flex-direction:column-reverse;border-radius:0 0 28px 28px}
  .hero>img{height:52vw;min-height:260px}
  .hero__copy{padding:42px 22px 50px}
  .hero h1{font-size:clamp(40px,5.6vw,54px);font-weight:600;line-height:1.8}
  .hero__copy p{font-size:16px}
  .section{padding:76px 18px}
  .heading{margin-bottom:42px}
  .heading h2{font-size:clamp(34px,7vw,48px)}
  .heading>p:last-child{font-size:16px}
  .about__lead>.en{margin-bottom:10px}
  .about__lead-body{grid-template-columns:1fr;gap:24px}
  .about__lead h2{font-size:clamp(34px,8vw,44px)}
  .about__lead-body>p{padding-top:0}
  .about__cards{grid-template-columns:1fr}
  .about__cards article{height:auto}
  .about__cards h3{font-size:34px}
  .insurance{border-radius:28px}
  .insurance__grid{grid-template-columns:1fr}
  .insurance-card__visual{height:auto;aspect-ratio:900/650;min-height:0}
  .insurance-card__logo,.insurance-card__logo2{width:min(250px,56%);height:88px}
  .insurance-card__logo{bottom:20px}
  .insurance-card__logo2{bottom:0}
  .insurance-card__body{padding:24px 24px 30px}
  .insurance-card__body p{min-height:0;margin-bottom:22px}
  .company__head{padding:24px;align-items:flex-start;gap:12px;flex-direction:column}
  .company__head a{font-size:24px}
  .company__box dl{padding:18px 24px 34px}
  .company__box dl div{grid-template-columns:1fr;gap:5px;padding:17px 0}
  .company__box dt{font-weight:600}
  .companies{padding-top:0;padding-bottom:76px}
  .companies__lists{grid-template-columns:1fr;gap:0}
  .links{padding-top:0;padding-bottom:76px}
  .links__grid{grid-template-columns:1fr}
  .contact{padding:72px 22px 0;border-radius:36px 36px 0 0;background-position:center center}
  .contact__box{width:92%;min-width:0;padding:42px 24px;border-radius:36px 36px 0 0}
  .contact h2{font-size:30px}
  .contact a{font-size:clamp(30px,5.5vw,46px)}
  .footer{padding:42px 22px 24px}
  .footer__inner{width:92%;min-width:0;display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,1fr);align-items:end;gap:38px}
  .footer__right{min-height:0;margin:0;align-items:flex-end;gap:34px}
  .footer nav{flex-wrap:wrap;justify-content:flex-end;gap:14px 22px}
  .copyright{text-align:right;margin-top:0;font-size:11px!important;}
  .legal{padding:64px 20px 90px}
  .legal h1{font-size:34px}

  .legal__content{padding:34px 28px 44px}
  .legal__content h3{font-size:17px}
}

@media(max-width:640px){

  .legal{padding:54px 16px 72px}
  .legal h1{font-size:30px;margin-bottom:30px}
  .legal__eyecatch{font-size:16px}
  .legal__content{padding:28px 18px 36px;border-radius:12px}
  .legal__content h2{font-size:21px;margin-top:32px}
  .legal__content h3{font-size:16px}
  .legal__content p,.legal__content li{font-size:15px}

  .header__logo{width:170px;max-width:calc(100% - 104px);font-weight:500;font-size:15px;line-height:1.4}
  .header__tools{grid-template-columns:46px 46px;flex-basis:92px}
  .header__sp-tel,.menu-button{width:46px}
  .hero h1{font-size:clamp(31px,8.2vw,42px);line-height:1.8}
  .hero h1 span{padding:.08em .30em}
  .company__head{align-items:center;text-align:center}
  .company__head strong,.company__head a{width:100%;text-align:center}
  .company__head small{text-align:center}
  .about__cards article{height:auto}
  .contact{padding:54px 14px 0;border-radius:26px 26px 0 0}
  .contact__box{width:100%;padding:34px 14px;border-radius:26px 26px 0 0}
  .contact h2{font-size:26px}
  .contact p br{display:none}
  .contact small{font-size:17px}
  .contact a{font-size:27px;padding-bottom:18px}
  .footer{padding:34px 18px 22px}
  .footer__inner{width:100%;display:block;padding-bottom:20px}
  .footer__inner img{width:180px}
  .footer__inner p{font-size:15px;margin-top:18px}
  .footer__company{text-align:center}
  .footer__company .foot-logo{margin-right:auto;margin-left:auto;justify-content:center;text-align:center}
  .footer__company img{margin:0 auto}
  .footer__right{width:100%;margin-top:30px;align-items:center;gap:24px}
  .footer nav{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
  .footer nav a{display:block;text-align:center}
  .copyright{width:100%;text-align:center;font-size:12px}
}
