/* 下層ページ共通スタイル（トップと同じ世界観） */
:root{
  --ink:#12161c;
  --sub:#5f6a78;
  --line:#e2e6ec;
  --sky:#0d7f92;
  --sky-pale:#eef4f6;
  --paper:#f7f8fa;
  --mincho:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  --gothic:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Noto Sans JP",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--gothic);background:var(--paper);color:var(--ink);
  line-height:2.15;-webkit-font-smoothing:antialiased;font-weight:300;
}
a{color:inherit;text-decoration:none}
.wrap{width:min(880px,86vw);margin:0 auto}

/* ヘッダー */
.page-head{
  position:relative;
  background:url("../img/ai-wave.jpg") right center/cover no-repeat #05070c;
  padding:clamp(120px,17vh,190px) 0 clamp(56px,8vh,84px);
}
.page-head::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(5,7,12,.95) 0%,rgba(5,7,12,.75) 45%,rgba(5,7,12,.3) 75%,rgba(5,7,12,.55) 100%);
}
.page-head .wrap{position:relative;z-index:1}
.page-head .home{
  display:inline-block;font-size:11px;letter-spacing:.4em;color:#4fd1e0;
  margin-bottom:30px;font-weight:600;
}
.page-head .home:hover{opacity:.65}
.page-head h1{
  color:#fff;
  font-family:var(--mincho);font-weight:600;
  font-size:clamp(24px,4.4vw,40px);letter-spacing:.08em;line-height:1.6;
}
.page-head .en{margin-top:16px;font-size:10.5px;letter-spacing:.36em;color:#8b96a5}

/* 本文 */
main{padding:clamp(64px,10vh,110px) 0 clamp(90px,14vh,150px)}
main h2{
  font-family:var(--mincho);font-weight:600;
  font-size:clamp(17px,2.5vw,22px);letter-spacing:.06em;line-height:1.75;
  margin:52px 0 18px;padding-left:15px;border-left:2px solid var(--sky);
}
main h2:first-child{margin-top:0}
main p{font-size:clamp(13.5px,1.8vw,15px);color:#3c4653;line-height:2.3}
main p + p{margin-top:18px}
main ul{margin:16px 0 0 1.3em}
main li{font-size:clamp(13.5px,1.8vw,15px);color:#3c4653;line-height:2.2;margin-bottom:8px}
.lead{font-size:clamp(14px,1.9vw,16px);color:var(--sub);line-height:2.35;margin-bottom:12px}
.updated{margin-top:56px;font-size:12px;color:var(--sub);text-align:right}

/* 定義リスト（特商法・会社概要） */
dl.rows{border-top:1px solid var(--line)}
dl.rows>div{
  display:grid;grid-template-columns:1fr;gap:6px;
  padding:22px 0;border-bottom:1px solid var(--line);
}
@media(min-width:660px){
  dl.rows>div{grid-template-columns:230px 1fr;gap:30px;align-items:baseline}
}
dl.rows dt{font-size:12px;letter-spacing:.14em;color:var(--sky);font-weight:600}
dl.rows dd{font-size:14.5px;color:var(--ink);line-height:2.1}

/* フォーム */
form.f{margin-top:12px}
form.f .field{margin-bottom:30px}
form.f label{
  display:block;font-size:12.5px;letter-spacing:.1em;color:var(--ink);
  font-weight:500;margin-bottom:10px;
}
form.f .req{color:#b4532f;font-size:11px;margin-left:8px;letter-spacing:.06em}
form.f input[type=text],form.f input[type=email],form.f textarea{
  width:100%;padding:15px 16px;border:1px solid var(--line);background:#fff;
  font-family:inherit;font-size:15px;color:var(--ink);line-height:1.8;
  border-radius:2px;transition:border-color .25s;
}
form.f input:focus,form.f textarea:focus{outline:none;border-color:var(--sky)}
form.f textarea{min-height:190px;resize:vertical}
form.f .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form.f .note{font-size:12.5px;color:var(--sub);line-height:2;margin-top:26px}
form.f .note a{color:var(--sky);border-bottom:1px solid currentColor}
form.f button{
  margin-top:30px;padding:19px 66px;background:var(--ink);color:#fff;
  border:1px solid var(--ink);font-family:inherit;font-size:14.5px;letter-spacing:.14em;
  cursor:pointer;transition:.3s;
}
form.f button:hover{background:transparent;color:var(--ink)}

/* 完了画面 */
.done{text-align:center;padding:clamp(60px,10vh,110px) 0}
.done .mark{font-family:var(--mincho);font-size:clamp(22px,3.6vw,32px);letter-spacing:.06em;margin-bottom:26px}
.done p{max-width:34em;margin:0 auto}
.done .btn{
  display:inline-block;margin-top:46px;padding:17px 52px;border:1px solid var(--ink);
  font-size:14px;letter-spacing:.14em;transition:.3s;
}
.done .btn:hover{background:var(--ink);color:#fff}

/* フッター */
footer{padding:52px 0;text-align:center;font-size:11px;letter-spacing:.2em;color:var(--sub);border-top:1px solid var(--line)}
footer nav{margin-bottom:24px;display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center}
footer nav a{font-size:12px;letter-spacing:.08em;color:var(--sub);border-bottom:1px solid transparent;padding-bottom:2px;transition:.3s}
footer nav a:hover{color:var(--sky);border-bottom-color:var(--sky)}
