
:root{--k-teal:#2BBFB1;--k-teal-d:#1FA396;--k-sea:#6CC3CF;--k-sea-l:#E3F2F4;--k-orange:#FFA215;--k-orange-d:#E08600;--k-ink:#1D2B4F;--k-text:#231815;--k-grey:#F5F5F5;--k-gold:#B79A4E}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{word-break:auto-phrase;margin:0;background:#fff;color:var(--k-text);font-family:"Noto Sans JP","Yu Gothic Medium","游ゴシック Medium",YuGothic,"ヒラギノ角ゴ ProN W3",sans-serif;font-size:16px;line-height:1.8;font-feature-settings:"palt"}
img{max-width:100%;height:auto;display:block}
.kw{width:min(100% - 32px,880px);margin:0 auto}
.kw--wide{width:min(100% - 32px,1160px)}
h1,h2,h3{letter-spacing:.08em;line-height:1.5;margin:0;text-wrap:balance;word-break:auto-phrase}
p{margin:0}
/* ヘッダー */
.kh{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.kh .kw{display:flex;align-items:center;gap:16px;min-height:72px}
.kh-logo img{height:36px;width:auto}
.kh-btns{margin-left:auto;display:flex;gap:16px}
.kbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-weight:700;letter-spacing:.06em;border-radius:4px;text-decoration:none;white-space:nowrap}
.kbtn svg{width:20px;height:20px;flex:none}
.kbtn--dl{background:var(--k-teal);box-shadow:0 4px 0 var(--k-teal-d)}
.kbtn--cv{background:var(--k-orange);box-shadow:0 4px 0 var(--k-orange-d)}
.kbtn:hover{filter:brightness(1.06)}
.kbtn:active{transform:translateY(2px);box-shadow:none}
.kh .kbtn{font-size:14px;padding:9px 20px}
/* ファーストビュー */
.kmv{position:relative;overflow:hidden;background:linear-gradient(110deg,#fff 0 42%,var(--k-sea-l) 62%,#B9E3E8 100%)}
/* ★菱形は枠の内側で描く（回して外へ出すと、overflow:hidden でも scrollWidth が1.155倍になり、横スクロールの検査が鳴る・10/19） */
.kmv::before{content:"";position:absolute;right:0;top:-10%;width:40%;height:120%;background:rgba(255,255,255,.35);clip-path:polygon(45% 0,100% 0,100% 100%,45% 100%,0 50%)}
.kmv::after{content:"";position:absolute;right:2%;top:10%;width:200px;height:260px;background-image:radial-gradient(circle,#fff 3px,transparent 3.5px);background-size:22px 22px;opacity:.9;-webkit-mask:linear-gradient(135deg,transparent 30%,#000 50%,transparent 70%);mask:linear-gradient(135deg,transparent 30%,#000 50%,transparent 70%)}
.kmv .kw{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:32px;padding:36px 0 56px}
.kmv-lead{font-size:clamp(18px,2.3vw,23px);font-weight:700;line-height:1.6}
.kmv-logo{margin:18px 0 22px}
.kmv-logo img{width:min(100%,400px)}
.kb-list{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kb{display:flex;flex-direction:column;align-items:center;text-align:center}
.kb-label{font-size:12.5px;font-weight:700;color:var(--k-gold);letter-spacing:.04em;line-height:1.4;min-height:2.8em;display:flex;align-items:flex-end}
.kb-body{display:flex;align-items:center;color:var(--k-gold)}
.kl-leaf{width:20px;height:56px;flex:none}
.kl-leaf--r{transform:scaleX(-1)}
.kl-main{min-width:0}
.kb-num{font-size:40px;font-weight:900;line-height:1;color:var(--k-gold);padding:0 2px;white-space:nowrap;font-family:"Oswald","Noto Sans JP",sans-serif}
.kb-num small{font-size:14px;font-weight:700;margin-left:1px}
.kmv .kbtn--cv{width:min(100%,400px);font-size:19px;padding:16px 20px;box-shadow:0 5px 0 var(--k-orange-d)}
.kmv-note{font-size:11px;margin-top:12px;color:#444}
.kmv{isolation:isolate}
/* 課題 */
.kp{background:var(--k-sea);padding:64px 0 0;clip-path:polygon(0 0,100% 0,100% calc(100% - 80px),50% 100%,0 calc(100% - 80px))}
.kp h2{color:#fff;text-align:center;font-size:clamp(22px,3vw,30px);margin-bottom:48px}
.kp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:150px}
.kp-card{background:#fff;border-radius:6px;padding:28px 20px 34px;text-align:center}
.kp-card img{width:100%;max-width:260px;margin:0 auto 18px}
.kp-card p{font-weight:700;font-size:15px;line-height:1.7}
/* 解決の一文 */
.ks{text-align:center;padding:56px 0 64px}
.ks-sub{font-size:clamp(15px,1.9vw,18px);font-weight:700;margin-bottom:14px}
.ks-main{font-size:clamp(24px,3.6vw,38px);font-weight:900;letter-spacing:.04em;line-height:1.6}
.ks-main .u{display:inline-block;background:linear-gradient(transparent 88%,var(--k-orange) 88%);padding:0 2px}
.ks-main .de{font-size:.55em;margin:0 .2em}
/* 見出し（中央・下に短い線） */
.kh2{text-align:center;font-size:clamp(22px,2.8vw,29px);font-weight:900;margin-bottom:56px}
.kh2::after{content:"";display:block;width:34px;height:3px;background:var(--k-teal);margin:12px auto 0}
/* 選ばれる理由 */
.kr{background:var(--k-grey);padding:80px 0 90px}
.kr-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;margin:0;padding:0}
.kr-card{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.06);text-align:center;padding-bottom:28px}
.kr-no{display:block;background:var(--k-teal);color:#fff;font-size:28px;font-weight:700;line-height:1;padding:12px 0;font-family:"Oswald","Noto Sans JP",sans-serif}
.kr-card img{width:78%;margin:22px auto 6px}
.kr-card h3{color:var(--k-teal-d);font-size:clamp(17px,1.7vw,19px);margin:4px 14px 12px}
.kr-card p{font-size:13.5px;line-height:1.8;padding:0 18px}
/* 上位の語 */
.kk{padding:90px 0}
.kk-boxes{display:grid;grid-template-columns:repeat(2,minmax(0,300px));justify-content:center;gap:14px}
.kk-box{border:1px solid var(--k-teal);border-radius:4px;background:#F7FDFD;padding:18px 26px}
.kk-box h3{font-size:13px;color:var(--k-teal-d);margin-bottom:8px;letter-spacing:.06em}
.kk-box ul{list-style:none;margin:0;padding:0}
.kk-box li{font-size:14px;line-height:2.1}
.kk-note{text-align:center;font-size:12px;color:#555;margin-top:18px}
/* 強み */
.kt{background:var(--k-sea-l);padding:80px 0 90px}
.kt-list{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;list-style:none;margin:0;padding:0;text-align:center}
.kt-circle{width:min(100%,240px);aspect-ratio:1;border-radius:50%;background:#fff;margin:0 auto 24px;display:grid;place-items:center;overflow:hidden}
.kt-circle img{width:86%}
.kt-list h3{color:var(--k-teal-d);font-size:clamp(18px,1.8vw,20px);margin-bottom:14px}
.kt-list p{font-size:13.5px;line-height:1.8}
.kt-list small{display:block;font-size:10.5px;color:#555;margin-top:4px}
/* テールワード */
.kl{padding:90px 0 80px}
.kl-chart{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;max-width:820px;margin:0 auto}
.kl-y{display:flex;flex-direction:row;align-items:center;justify-content:space-between;background:linear-gradient(#CFE6EA,#E4EEF0);clip-path:polygon(50% 0,100% 18px,100% calc(100% - 18px),50% 100%,0 calc(100% - 18px),0 18px);padding:24px 0;margin-top:52px;margin-bottom:56px;font-size:13px;font-weight:700;writing-mode:vertical-rl;color:#355}
.kl-y b{background:#fff;padding:8px 3px;font-size:12px}
.kl-heads{display:grid;grid-template-columns:repeat(3,1fr)}
.kl-heads span{text-align:center;font-weight:900;font-size:clamp(15px,2vw,21px);letter-spacing:.12em;padding:10px 0}
.kl-heads span:nth-child(1){background:#B7E6EA}
.kl-heads span:nth-child(2){background:#22AAB9;color:#fff}
.kl-heads span:nth-child(3){background:#0E8A96;color:#fff}
.kl-plot{position:relative;aspect-ratio:3/1.1}
.kl-plot svg{position:absolute;inset:0;width:100%;height:100%}
.kl-w{position:absolute;top:12%;list-style:none;margin:0;padding:0;font-size:13px;line-height:2.2;width:33%;text-align:center}
.kl-w1{left:0}.kl-w2{left:33.3%}.kl-w3{left:66.6%}
.kl-band{position:absolute;left:33.3%;right:0;top:57%;margin:0;background:rgba(255,162,21,.85);color:#fff;font-weight:700;text-align:center;font-size:14px;letter-spacing:.1em;padding:5px 0}
.kl-x{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:10px 26px;background:linear-gradient(90deg,#E4EEF0,#BFDDE2);clip-path:polygon(0 50%,14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%);font-size:13px;font-weight:700}
.kl-x b{background:#fff;padding:3px 10px;font-weight:500}
.kl-x span:last-child{font-size:19px}
.kl-sp{display:none}
.karrow{width:150px;height:52px;margin:56px auto 20px;background:linear-gradient(#E3F2F4,#2BBFB1);clip-path:polygon(0 0,100% 0,50% 100%)}
.kconc{text-align:center;font-size:clamp(20px,2.8vw,29px);font-weight:900;letter-spacing:.06em}
.kconc .u{display:inline-block;background:linear-gradient(transparent 90%,var(--k-orange) 90%)}
/* 実績 */
.kj{background:var(--k-grey);padding:90px 0}
.kj-stage{position:relative;max-width:820px;margin:0 auto;aspect-ratio:820/440}
.kj-pc{position:absolute;left:25.5%;top:12%;width:49%}
.kj-screen{margin:0 5.5%;background:#fff;border:6px solid #222;border-radius:10px 10px 0 0;aspect-ratio:16/10.5;display:grid;place-items:center}
.kj-screen img{width:58%}
.kj-base{height:8px;background:linear-gradient(#bbb,#888);border-radius:0 0 8px 8px}
.kj-b{position:absolute;width:24%;aspect-ratio:1;border-radius:50%;background:#22AAB9;color:#fff;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:clamp(12px,1.8vw,17px);line-height:1.5;margin:0}
.kj-b strong{font-size:2.1em;line-height:1.1;font-family:"Oswald","Noto Sans JP",sans-serif}
.kj-b::after{content:"";position:absolute;width:22px;height:22px;background:#22AAB9}
.kj-b1{left:0;top:0}.kj-b1::after{right:6%;bottom:6%;clip-path:polygon(0 0,100% 100%,30% 60%)}
.kj-b2{right:0;top:0}.kj-b2::after{left:6%;bottom:6%;clip-path:polygon(100% 0,0 100%,70% 60%)}
.kj-b3{right:0;top:52%}.kj-b3::after{left:4%;top:8%;clip-path:polygon(100% 100%,0 0,70% 40%)}
.kj-people{position:absolute;left:1%;top:52%;width:30%}
.kj-msg{position:absolute;left:31%;top:76%;margin:0;color:var(--k-teal-d);font-weight:900;font-size:clamp(15px,2vw,20px);line-height:1.6;letter-spacing:.06em}
/* 流れ */
.kflow{padding:90px 0 80px}
.kf-steps{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr);max-width:880px;position:relative}
.kf-steps::before{content:"";position:absolute;left:0;right:0;top:0;height:200px;z-index:0;background:linear-gradient(90deg,#D7EBEE 0 25%,#B3DEE3 25% 50%,#5DB1BD 50% 75%,#22AAB9 75%)}
.kf-steps li{position:relative;z-index:1;text-align:center;padding-top:40px}
.kf-steps li:not(:last-child)::after{content:"";position:absolute;right:-24px;top:0;height:200px;width:48px;z-index:2;clip-path:polygon(0 0,50% 0,100% 50%,50% 100%,0 100%)}
.kf-steps li:nth-child(1)::after{background:#D7EBEE}.kf-steps li:nth-child(2)::after{background:#B3DEE3}.kf-steps li:nth-child(3)::after{background:#5DB1BD}
.kf-no{display:block;color:#1FA3B3;font-weight:700;letter-spacing:.06em;font-family:"Oswald","Noto Sans JP",sans-serif;position:relative;z-index:3}
.kf-steps li:nth-child(n+3) .kf-no,.kf-steps li:nth-child(n+3) b{color:#fff}
.kf-steps b{display:block;font-size:clamp(16px,1.9vw,21px);margin:4px 8px 6px;line-height:1.4;min-height:2.8em;position:relative;z-index:3}
.kf-steps img{width:76%;margin:0 auto;position:relative;z-index:3}
/* よくある質問 */
.kq{background:#22AAB9;padding:90px 0}
.kh2--w{color:#fff}.kh2--w::after{background:#127b87}
.kq-list{margin:0;display:grid;gap:26px}
.kq-list div{background:#fff;padding:18px 26px}
.kq-list dt,.kq-list dd{position:relative;padding-left:38px;font-size:14.5px;line-height:1.8;margin:0}
.kq-list dt{font-weight:700;margin-bottom:12px}
.kq-list dt::before,.kq-list dd::before{position:absolute;left:0;top:-6px;font-size:28px;font-weight:700;color:#22AAB9;font-family:"Oswald","Noto Sans JP",sans-serif}
.kq-list dt::before{content:"Q"}.kq-list dd::before{content:"A"}
/* フォーム */
.kform{padding:90px 0 100px}
.kfm{max-width:780px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:16px 44px}
.kfm label,.kfm legend{font-size:13px;font-weight:500}
.kfm>label{display:flex;flex-direction:column;gap:4px}
.kfm i{color:#E33;font-style:normal}
.kfm-full,.kfm-kind{grid-column:1/-1}
.kfm input:not([type=radio]),.kfm select,.kfm textarea{font:inherit;font-size:16px;border:1px solid #D5DDE3;background:#F4F7F9;border-radius:3px;padding:7px 12px;width:100%}
.kfm fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;min-width:0}
.kfm .kfm-kind{flex-direction:row;flex-wrap:wrap;gap:6px 28px}
.kfm-kind legend{width:100%}
.kfm fieldset label{font-size:13.5px}
.kfm-hp{position:absolute;left:-9999px}
.kfm-note{font-size:12px;color:#555;margin:0}
.kfm-send{background:#FA7A5C;color:#fff;border:0;font:inherit;font-weight:700;padding:9px 30px;border-radius:3px;cursor:pointer}
.kfm-send:disabled{opacity:.6}
.kfm-msg{margin:0;font-weight:700}
.kfm-msg.ok{color:#1FA396}.kfm-msg.ng{color:#D33}
.nw{display:inline-block}
/* フッター */
.kreader{text-align:center;font-size:13.5px;margin:0;padding:28px 16px;background:#fff}
.kreader a{color:var(--k-teal-d);font-weight:700}
.kf{background:var(--k-ink);color:#fff;text-align:center;padding:28px 0;font-size:12.5px}
.kf a{color:#fff}
/* 狭い画面は段を変える（縮めずに並べ替える） */
@media (max-width:900px){
  .kmv .kw{grid-template-columns:minmax(0,1fr);gap:8px;padding:28px 0 44px}
  .kmv-art{order:-1;max-width:520px;margin:0 auto}
  .kmv-text{text-align:center}
  .kmv-logo img,.kmv .kbtn--cv{margin-left:auto;margin-right:auto}
  .kp-cards,.kr-cards,.kt-list{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}
  .kp{clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),50% 100%,0 calc(100% - 40px))}
  .kp-cards{padding-bottom:90px}
  .kr,.kk,.kt{padding:60px 0}
  .kh2{margin-bottom:36px}
}
@media (max-width:640px){
  .kl-chart{display:none}
  .kl-sp{display:grid;gap:10px;list-style:none;margin:0;padding:0}
  .kl-sp li{display:grid;gap:2px;padding:14px 16px;border-left:6px solid}
  .kl-sp li:nth-child(1){border-color:#B7E6EA;background:#F1FAFB}
  .kl-sp li:nth-child(2){border-color:#22AAB9;background:#E8F6F8}
  .kl-sp li:nth-child(3){border-color:#0E8A96;background:#FFF4E2}
  .kl-sp b{font-size:16px;letter-spacing:.1em}
  .kl-sp span{font-size:14px}
  .kl-sp em{font-style:normal;font-size:12.5px;color:#555}
  .kj-stage{aspect-ratio:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:520px}
  .kj-pc,.kj-people,.kj-msg,.kj-b{position:static;width:auto}
  .kj-pc{grid-column:1/-1;width:72%;margin:0 auto 10px;order:-1}
  .kj-b::after{display:none}
  .kj-b{font-size:11.5px}
  .kj-people{grid-column:1/-1;width:70%;margin:0 auto}
  .kj-msg{grid-column:1/-1;text-align:center}
  .kf-steps{grid-template-columns:1fr 1fr;gap:12px;max-width:440px}
  .kf-steps::before{display:none}
  .kf-steps li{padding:18px 6px 6px;border-radius:4px}
  .kf-steps li:nth-child(1){background:#D7EBEE}.kf-steps li:nth-child(2){background:#B3DEE3}.kf-steps li:nth-child(3){background:#5DB1BD}.kf-steps li:nth-child(4){background:#22AAB9}
  .kf-steps li::after{display:none}
  .kf-steps b{min-height:0}
  .kf-steps img{width:72%}
  .kq,.kform{padding:60px 0}
  .kq-list div{padding:16px}
  .kfm{grid-template-columns:1fr;gap:14px}
}
@media (max-width:600px){
  .kh .kw{min-height:60px;gap:8px}
  .kh-logo img{height:28px}
  .kh-btns{gap:8px}
  .kh .kbtn{padding:8px 10px;font-size:12px}
  .kh .kbtn svg{display:none}
  .kk-boxes{grid-template-columns:minmax(0,1fr)}
  .kb-num{font-size:32px}
  .kl-leaf{width:16px;height:46px}
}
@media (max-width:380px){
  .kmv-lead{font-size:16px;letter-spacing:.02em}
  .ks-main{font-size:22px}
  .kj-b{font-size:10.5px}
  .kf-steps b{font-size:15px;letter-spacing:.02em}
  .kh .kbtn--dl{display:none}
  .kb-label{font-size:11px}
  .kb-num{font-size:27px}
  .kl-leaf{width:13px;height:40px}
}
