/* 会社情報・提供サービスのページが共通で使う見た目（トップページの index.html は読まない） */

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:#fbfbfc;color:#10131a;font-family:"Noto Sans JP",system-ui,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased;text-wrap:pretty;}
a{color:#1f6bff;text-decoration:none;}
a:hover{color:#0d47c4;}
img,svg{display:block;}
button{font-family:inherit;}

.wrap{max-width:1240px;margin:0 auto;}
.gutter{padding-left:clamp(18px,4vw,44px);padding-right:clamp(18px,4vw,44px);}
.mono{font-family:'JetBrains Mono',monospace;}
.zen{font-family:'Zen Kaku Gothic New',sans-serif;}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.26em;color:#1f6bff;text-transform:uppercase;margin-bottom:16px;}
.h2{font-family:'Zen Kaku Gothic New',sans-serif;font-size:clamp(28px,3.1vw,40px);font-weight:900;letter-spacing:-0.025em;line-height:1.3;}

/* ヘッダー（トップページと同じ見た目） */
.site-header{position:sticky;top:0;z-index:60;background:rgba(251,251,252,0.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #e7e9ef;}
.site-header__bar{padding-top:12px;padding-bottom:12px;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,2vw,32px);flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:11px;color:#10131a;}
.brand:hover{color:#10131a;}
.brand__name{font-family:'Zen Kaku Gothic New',sans-serif;font-size:21px;font-weight:700;letter-spacing:-0.02em;}
.brand__kana{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:0.3em;color:#9aa0ad;text-transform:uppercase;align-self:flex-end;padding-bottom:3px;}
.nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px);flex-wrap:wrap;row-gap:10px;}
.nav a{font-size:13.5px;color:#5a6070;letter-spacing:0.02em;}
.nav a:hover,.nav a[aria-current="page"]{color:#10131a;}
.nav a[aria-current="page"]{font-weight:700;}
.nav .nav__cta{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#fbfbfc;background:#10131a;padding:10px 20px;border-radius:100px;}
.nav .nav__cta:hover{background:#1f6bff;color:#fff;}
.burger{display:none;width:46px;height:46px;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;border:1px solid #e0e3ea;border-radius:12px;cursor:pointer;padding:0;}
.burger span{display:block;width:20px;height:1.5px;background:#10131a;transition:transform .22s,opacity .18s;}
.site-header.is-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.site-header.is-open .burger span:nth-child(2){opacity:0;}
.site-header.is-open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mobile-nav{display:none;border-top:1px solid #e7e9ef;background:#fbfbfc;padding-top:14px;padding-bottom:22px;flex-direction:column;gap:2px;}
.mobile-nav a{display:flex;align-items:center;min-height:48px;font-size:15px;color:#10131a;letter-spacing:0.02em;border-bottom:1px solid #eceef3;}
.mobile-nav a[aria-current="page"]{font-weight:700;}
.mobile-nav .mobile-nav__cta{justify-content:center;min-height:50px;margin-top:14px;font-weight:700;color:#fbfbfc;background:#10131a;border-radius:100px;border-bottom:none;}
/* メニューを畳む幅は site.js と index.html（isMobile）と揃える */
@media (max-width:1060px){
  .nav{display:none;}
  .burger{display:flex;}
  .site-header.is-open .mobile-nav{display:flex;}
}

/* ページの見出し */
.page-head{position:relative;padding-top:clamp(56px,8vw,96px);padding-bottom:clamp(40px,6vw,64px);}
.page-head__line{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#22c3d6,#2b7fff 40%,#7b5cff 72%,#f0479b);opacity:0.9;}
.page-head__label{display:flex;align-items:center;gap:14px;margin-bottom:28px;}
.page-head__label span:first-child{width:26px;height:1px;background:#c6cad4;}
.page-head__label span:last-child{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.26em;color:#7a8090;text-transform:uppercase;}
.page-head h1{font-family:'Zen Kaku Gothic New',sans-serif;font-size:clamp(34px,4.4vw,56px);font-weight:900;line-height:1.24;letter-spacing:-0.03em;margin-bottom:20px;}
.page-head p{font-size:16px;line-height:2;color:#5a6070;max-width:48ch;}

/* 節の見出し */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:40px;}
.section-head p{font-size:15.5px;color:#5a6070;max-width:40ch;line-height:1.95;}

/* 札（機能の一覧） */
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;}
.chips li{font-size:12.5px;color:#4c5262;background:#f3f4f8;border:1px solid #e4e6ec;border-radius:100px;padding:4px 12px;}

/* 黒い丸ボタンと枠のボタン */
.button{display:inline-flex;align-items:center;gap:12px;background:#10131a;color:#fbfbfc;font-weight:700;font-size:14.5px;padding:15px 30px;border-radius:100px;letter-spacing:0.02em;}
.button:hover{background:#1f6bff;color:#fff;}
.button--line{background:#fff;color:#10131a;border:1px solid #dcdfe7;}
.button--line:hover{background:#fff;color:#10131a;border-color:#10131a;}

/* お問い合わせへの導線 */
.cta{padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(64px,8vw,104px);text-align:center;}
.cta h2{font-family:'Zen Kaku Gothic New',sans-serif;font-size:clamp(22px,2.6vw,30px);font-weight:900;letter-spacing:-0.02em;margin-bottom:12px;}
.cta p{font-size:14.5px;color:#5a6070;margin-bottom:28px;}

/* フッター */
.site-footer{border-top:1px solid #e7e9ef;padding-top:40px;padding-bottom:40px;background:#fbfbfc;}
.site-footer__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.site-footer__brand{display:flex;align-items:center;gap:10px;}
.site-footer__brand .zen{font-weight:700;font-size:17px;letter-spacing:-0.02em;}
.site-footer__brand .mono{font-size:9.5px;letter-spacing:0.28em;color:#9aa0ad;text-transform:uppercase;}
.site-footer__links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.site-footer__links a{font-size:12.5px;color:#5a6070;letter-spacing:0.04em;}
.site-footer__links a:hover{color:#10131a;}
.site-footer__copy{font-family:'JetBrains Mono',monospace;font-size:11px;color:#a2a7b3;letter-spacing:0.08em;}

/* 画面写真の拡大（site.js が開く） */
.shot{display:block;padding:0;border:none;background:none;cursor:zoom-in;width:100%;text-align:left;}
.viewer{margin:auto;max-width:min(1200px,94vw);max-height:92vh;padding:0;border:none;border-radius:14px;background:#fff;box-shadow:0 40px 90px -30px rgba(10,14,26,0.6);overflow:hidden;}
.viewer::backdrop{background:rgba(10,14,26,0.72);}
.viewer__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid #e7e9ef;}
.viewer__title{font-size:13.5px;font-weight:700;color:#10131a;}
.viewer__close{border:1px solid #e0e3ea;background:#fff;border-radius:100px;padding:6px 16px;font-size:13px;color:#10131a;cursor:pointer;}
.viewer__close:hover{border-color:#10131a;}
.viewer__body{display:flex;justify-content:center;background:#f3f4f8;}
/* 縦長のスマートフォンの画面も、窓に収まる大きさで全体を見せる */
.viewer__body img{max-width:100%;max-height:calc(92vh - 56px);width:auto;height:auto;}
