/* About・お問い合わせ・フッター（site/about-contact/index.html から。.ac の中だけに効く） */

  .ac .label{font:600 13px/1 'Outfit',sans-serif;letter-spacing:.32em;color:var(--sub)}
  .ac .label::after{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--coral);margin-left:8px;vertical-align:middle}
  .ac .wrap{max-width:1120px;margin:0 auto;padding:0 24px}

  .ac /* ---------- About ---------- */
  .about{padding:120px 0}
  .ac .about .wrap{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:center}
  .ac .mark{background:var(--cream);border-radius:28px;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
  .ac .mark img{width:46%;height:auto}
  .ac .mark .en{position:absolute;left:0;right:0;bottom:8%;text-align:center;font:600 clamp(14px,1.6vw,18px)/1 'Outfit',sans-serif;letter-spacing:.06em}
  .ac .mark .en i{color:var(--coral);font-style:normal}
  .ac .about h2{font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:.06em;line-height:1.5;margin-top:16px}
  .ac .about .body{margin-top:32px;display:grid;gap:1.3em}
  .ac .about .body p{font-size:15px;line-height:2.05;letter-spacing:.06em}
  .ac .about .sign{margin-top:32px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
  .ac .about .sign b{font:600 20px/1 'Outfit',sans-serif;letter-spacing:.02em}
  .ac .about .sign b i{color:var(--coral);font-style:normal}
  .ac .about .sign span{font-size:13px;color:var(--sub);letter-spacing:.08em}
  .ac .tools{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
  .ac .tools p{font:600 12px/1 'Outfit',sans-serif;letter-spacing:.24em;color:var(--sub)}
  .ac .tools ul{list-style:none;padding:0;margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
  .ac .tools li{font:500 12.5px/1 'Outfit',sans-serif;letter-spacing:.04em;padding:8px 12px;border-radius:99px;background:var(--cream)}

  .ac /* ---------- お問い合わせ ---------- */
  .contact{padding:120px 0;background:var(--cream)}
  .ac .contact .head{text-align:center}
  .ac .contact h2{font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:.06em;margin-top:16px}
  .ac .contact .lead{margin-top:16px;font-size:14px;line-height:2;letter-spacing:.06em;color:var(--sub)}
  .ac form{max-width:720px;margin:56px auto 0;background:#fff;border-radius:24px;padding:48px clamp(20px,5vw,56px);display:grid;gap:28px;box-shadow:0 24px 50px rgba(21,26,89,.06)}
  .ac .row{display:grid;gap:10px}
  .ac .row > label, .ac .row > .q{font-size:14px;font-weight:700;letter-spacing:.06em}
  .ac .req, .ac .opt{display:inline-block;margin-left:8px;font:600 10.5px/1 'Outfit',sans-serif;letter-spacing:.1em;padding:4px 7px;border-radius:4px;vertical-align:2px}
  .ac .req{background:var(--coral);color:#fff}
  .ac .opt{background:#eceef4;color:var(--sub)}
  .ac input[type=text], .ac input[type=email], .ac select, .ac textarea{width:100%;font:500 15px/1.6 'Zen Kaku Gothic New',sans-serif;color:var(--navy);border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:#fff;appearance:none}
  .ac textarea{min-height:160px;resize:vertical}
  .ac select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23151A59' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center}
  .ac input:focus, .ac select:focus, .ac textarea:focus{outline:2px solid var(--navy);outline-offset:1px;border-color:transparent}
  .ac .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .ac .chips{display:flex;flex-wrap:wrap;gap:8px}
  .ac .chips label{cursor:pointer}
  .ac .chips input{position:absolute;opacity:0;pointer-events:none}
  .ac .chips span{display:inline-block;font-size:13.5px;letter-spacing:.04em;padding:9px 14px;border:1px solid var(--line);border-radius:99px;transition:background .2s,color .2s,border-color .2s}
  .ac .chips input:checked + span{background:var(--navy);color:#fff;border-color:var(--navy)}
  .ac .chips input:focus-visible + span{outline:2px solid var(--coral);outline-offset:2px}
  .ac .agree{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.04em;justify-content:center}
  .ac .agree input{width:18px;height:18px;accent-color:var(--navy)}
  .ac .send{justify-self:center;border:0;border-radius:99px;background:var(--navy);color:#fff;font:700 15px/1 'Zen Kaku Gothic New',sans-serif;letter-spacing:.14em;padding:18px 56px;cursor:pointer;transition:transform .2s}
  .ac .send:hover{transform:translateY(-2px)}
  .ac .send i{font-style:normal;color:var(--coral);margin-left:8px}
  .ac .err{font-size:12.5px;color:var(--coral);letter-spacing:.04em;display:none}
  .ac .row.bad .err{display:block}
  .ac .row.bad input, .ac .row.bad textarea{border-color:var(--coral)}
  .ac .done{display:none;text-align:center;font-size:14.5px;line-height:2;letter-spacing:.06em;padding:12px 0}
  .ac form.sent > *:not(.done){display:none}
  .ac form.sent .done{display:block}
  .ac .done b{display:block;font-size:20px;margin-bottom:6px}
  .ac .done b::after{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--coral);margin-left:4px}

  .ac /* ---------- フッター ---------- */
  footer{padding:56px 0 40px}
  .ac footer .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:start}
  .ac footer .logo b{display:block;font:600 22px/1 'Outfit',sans-serif}
  .ac footer .logo b i{color:var(--coral);font-style:normal}
  .ac footer .logo span{display:block;margin-top:8px;font:500 12px/1 'Outfit',sans-serif;letter-spacing:.14em;color:var(--sub)}
  .ac footer nav{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;font:500 13px/1 'Outfit',sans-serif;letter-spacing:.1em;padding-top:4px}
  .ac footer nav a{text-decoration:none}
  .ac footer nav a:hover{color:var(--coral)}
  .ac footer .side{text-align:right;font-size:12.5px;line-height:2;color:var(--sub);letter-spacing:.04em}
  .ac footer .side a{text-decoration:none}
  .ac footer .copy{max-width:1120px;margin:40px auto 0;padding:24px 24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font:500 11.5px/1 'Outfit',sans-serif;letter-spacing:.1em;color:var(--sub)}

  .ac /* 下からふわっと（A01） */
  [data-r]{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  .ac [data-r].in{opacity:1;transform:none}
  @media (prefers-reduced-motion: reduce){.ac [data-r]{opacity:1;transform:none;transition:none}}

  .ac /* スマホ */
  @media (max-width: 760px){
    .ac .about, .ac .contact{padding:88px 0}
    .ac .about .wrap{grid-template-columns:1fr;gap:40px}
    .ac .mark{aspect-ratio:4/3}
    .ac .mark img{width:30%}
    .ac .about .body p{font-size:14px;line-height:2}
    .ac form{margin-top:40px;padding:32px 20px;gap:24px}
    .ac .two{grid-template-columns:1fr}
    .ac footer .wrap{grid-template-columns:1fr;gap:24px;text-align:center}
    .ac footer nav{justify-content:center}
    .ac footer .side{text-align:center}
    .ac footer .copy{flex-direction:column;gap:10px;align-items:center}
  }
