@charset 'utf-8';

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:15px;}
:root{
  --y:#ffd81f;--y2:#FFE55A;--yd:#B8900A;--ybg:#FFFDF0;--yborder:rgba(245,197,24,.2);
  --k:#333;--ink:#1C1C1E;--mid:#58585A;--sub:#86868B;--lite:#AEAEB2;
  --w:#FFF;--bg:#FAFAFA;--bg2:#F5F5F7;--border:#D2D2D7;
  --r:14px;--r2:24px;--rmax:999px;--nav:64px;
}
body{background:var(--w);color:var(--ink);font-family:'Noto Sans JP',sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;cursor:none;}
body::before{content:'';position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--y2),#ffd81f,var(--yd));z-index:1001;}

.cur{width:10px;height:10px;background:var(--k);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;}
.curf{width:30px;height:30px;border:1.5px solid rgba(0,0,0,.15);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .11s ease;}
.cur.on{width:15px;height:15px;background:#ffd81f;}
.curf.on{width:46px;height:46px;border-color:#ffd81f;}

/* HEADER */
.pg_head_wrap {
    width: 100%;
    border-bottom: 1px solid rgba(245, 197, 45, .2);
}
header {
    display: block;
    padding: 0 5%;
}

@media (max-width: 960px) {
    header {
        padding: 0 22px;
    }
}
#pg_head1 {
    background: none;
    display: flex;
}
#pg_head1 {
    max-width: 1100px;
    margin: 2px auto;
    padding: 10px 0 2px 0;
    justify-content: space-between;
    align-items: center;
}
#pg_head1 img {
    max-width: 160px;
}
#pg_head1 ul {
    display: flex;

}
#pg_head_wrap ul {
    margin: 0;
    float: right;
}
#pg_head_wrap ul li {
    float: left;
    list-style: none;
}
#hdr_btn_trial2, #hdr_btn_trial {
    margin-right: 4px;
}
ul li {
    list-style-type: none;
}
#pg_head_wrap ul li {
    float: left;
    list-style: none;
}
ul li {
    list-style-type: none;
}
#hdr_btn_trial a {
    background: #C72830 url(https://www.anpi-system.net/_prt/_sms/icn_trial.png) no-repeat 15px 10px / 23px auto;
    border-bottom: 2px solid #920012;
    border-radius: 100px;
    border-style: none none solid;
    color: #fff;
    display: block;
    font-size: 15px;
    font-weight: bold;
    padding: 6px 12px 6px 45px;
    text-align: center;
    text-decoration: none;
    text-shadow: 0 -1px 0 #920012;
    letter-spacing: -1px;
}


#hdr_btn a {
    background: #D96831 url(https://www.anpi-system.net/_prt/_sms/icn_shiryo.png) no-repeat 15px 6px;
    border-bottom: 2px solid #B3431C;
    border-radius: 100px;
    border-style: none none solid;
    color: #fff;
    display: block;
    font-size: 15px;
    font-weight: bold;
    padding: 6px 16px 6px 45px;
    text-align: center;
    text-decoration: none;
    text-shadow: 0 -1px 0 #B3431C;
}


@media screen and (max-width: 767px) {

    header #pg_head1 img {
        max-width: 127px;
        text-align: center;
        background: #fff;
        z-index: 90;
    }

    #pg_head1 {
        display: block;
        padding: 16px 0 2px 0;
    }
    
    #pg_head1 ul {
        display: none;
    }
}

    /* ==========================================================================
   ハンバーガー
   ========================================================================== */
#btn_menu {
  position: fixed; 
  top: 15px;
  right: 15px;
  width: 44px;
  height: 44px;
  z-index: 10001; 
  cursor: pointer;
}

#btn_menu a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

#btn_menu .brdr {
  position: absolute;
  left: 12px;
  width: 20px;
  height: 2px;
  background-color: #333; 
  transition: all 0.3s ease-in-out;
}

/* 各線の初期位置 */
#btn_menu .brdr:nth-child(1) { top: 14px; }
#btn_menu .brdr:nth-child(2) { top: 24px; }
#btn_menu .brdr:nth-child(3) { top: 34px; }

/* --------------------------------------------------
   ★ボタンがアクティブになった時（×印への変形）
   -------------------------------------------------- */
#btn_menu.active .brdr:nth-child(1) {
  transform: translateY(7px) rotate(-45deg);
}
#btn_menu.active .brdr:nth-child(2) {
  opacity: 0; /* 真ん中の線を消す */
}
#btn_menu.active .brdr:nth-child(3) {
  transform: translateY(-8px) rotate(45deg);
}


/* ==========================================================================
   2. スマホメニュー本体（#sp_menu）のスタイル
   ========================================================================== */
#sp_menu {
  position: fixed;
  top: 0;
  right: 100%; /* 初期状態は画面の右外に完全に隠す */
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.98); /* 背景をわずかに透過した白に */
  z-index: 10000;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); /* スライドのアニメーション */
  overflow-y: auto; /* メニューが長い場合にスクロール可能にする */
}

/* --------------------------------------------------
   ★メニューが開いた時（画面内にスライドイン）
   -------------------------------------------------- */
#sp_menu.open {
  left: 0; /* 画面の左端に合わせることで全画面表示に */
}

/* 内側のレイアウト調整 */
.toggle_menu {
  padding: 20px 3%; /* 上部にボタンと被らないよう余白を空ける */
}

#smt_menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

#smt_menu > li {
  border-bottom: 1px solid #eee;
}

#smt_menu a {
  display: block;
  padding: 16px 0;
  color: #333;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
}

/* 子メニュー（.sub）のスタイル（実機ではアコーディオンにする場合もありますが、ここでは標準表示） */
#smt_menu .sub {
  list-style: none;
  padding: 10px 0 0 0;
  margin: 0;
}

#smt_menu .sub a {
  padding: 8px 0;
  font-size: 14px;
  font-weight: normal;
  color: var(--k);
}

/* 下部の会社概要・資料請求などのボックスエリア */
#smt_menu .box {
  list-style: none;
  padding: 24px 0 0 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列に並べる */
  gap: 12px;
}

#smt_menu .box li a {
  padding: 10px;
  background-color: #f5f6f8;
  font-size: 13px;
  font-weight: normal;
  text-align: center;
  border-radius: 4px;
}


/* ==========================================================================
   3. その他補助設定（背面スクロール固定）
   ========================================================================== */
body.menu-open {
  overflow: hidden; /* メニューが開いているときは背景を固定 */
}



/* HERO */
.top_flex {
    display: flex;
}
.hero {
    max-height:750px;
    /* padding-top:20px; */
    background:var(--w);
    display:flex;
    /* flex-direction:column; */
    position:relative;
    overflow:hidden;
    padding: 0 5%;
}
.hero-deco-y{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(245,197,24,.11) 0%,transparent 70%);top:-100px;right:-80px;pointer-events:none;animation:breathe 9s infinite ease-in-out;}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.hero-circuit{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cdefs%3E%3Cstyle%3Eline%7Bstroke:%23000;stroke-width:.5;opacity:.028%7D circle%7Bfill:%23000;opacity:.022%7D%3C/style%3E%3C/defs%3E%3Cline x1='0' y1='40' x2='35' y2='40'/%3E%3Cline x1='35' y1='40' x2='35' y2='20'/%3E%3Cline x1='35' y1='20' x2='80' y2='20'/%3E%3Cline x1='80' y1='20' x2='80' y2='60'/%3E%3Cline x1='80' y1='60' x2='120' y2='60'/%3E%3Ccircle cx='35' cy='40' r='2.5'/%3E%3Ccircle cx='80' cy='20' r='2.5'/%3E%3Ccircle cx='80' cy='60' r='2.5'/%3E%3C/svg%3E");background-repeat:repeat;pointer-events:none;}

.kv {
    padding:35px 0 20px 0;
    position:relative;
    z-index:2;
}

.kv-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--ybg);
    border:1px solid var(--yborder);
    border-radius:var(--rmax);
    padding:5px 10px;
    font-size:11px;
    font-weight:700;
    color:var(--yd);
    letter-spacing:1.5px;
    margin-bottom:24px;
}

.kv-pulse{width:7px;height:7px;background:#ffd81f;border-radius:50%;animation:p 2s infinite;}
@keyframes p{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.6)}}
.kv-sms {
    display:block;
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(80px,14vw,170px);
    line-height:.86;
    letter-spacing:-3px;
    color:var(--k);
    animation:su .85s cubic-bezier(.16,1,.3,1) both;
    line-height: .8;
}
.kv-alert {
    display:inline-block;
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(80px,14vw,196px);
    line-height:.86;
    letter-spacing:-3px;
    background:#ffd81f;
    color:var(--k);
    padding:17px 9px 0px 6px;
    margin-top:2px;
    animation:su .85s .1s cubic-bezier(.16,1,.3,1) both;
}

.kv-for {
    display:block;
    font-size:13px;
    font-weight:400;
    color:var(--sub);
    letter-spacing:2px;
    margin-top:20px;
    font-family:'Noto Sans JP',sans-serif;
    animation:fd .7s .6s ease both;
}

@media (max-width: 730px) {
    .kv-for {
        /* color: #111;
        font-size: 11px; */
        display: none;
    }
    
}
@keyframes su{from{opacity:0;transform:translateY(44px)}to{opacity:1;transform:translateY(0)}}
@keyframes fd{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes fu{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

.hero-foot {
    padding:10px 0 35px 0;
    display:grid;
    grid-template-columns:1fr;
    align-items:end;
    position:relative;
    z-index:2;
    background:linear-gradient(to top,rgba(255,255,255,1) 72%,rgba(255,255,255,0));
    animation:fu .85s .3s ease both;
}


.hero-h1 {
    font-family:'Noto Sans JP',sans-serif;
    font-size:clamp(20px,2.6vw,33px);
    font-weight:700;
    color:var(--k);
    line-height:1.45;
    margin-bottom:20px;
    letter-spacing:-.5px;
}
.hero-h1 mark{background:#ffd81f;color:var(--k);padding:1px 5px;font-style:normal;}
.hero-sub {
    font-size:clamp(14px,1.4vw,16px);
    line-height:1.9;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    max-width:480px;
    border-left: 3px solid #b8900a;
    padding-left: 2%;
}
.hero-cta{display:flex;flex-direction:column;align-items:flex-end;gap:14px;min-width:280px;}
.hero-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.hero-micro{font-size:11px;color:var(--lite);font-family:'Noto Sans JP',sans-serif;font-weight:300;text-align:right;}
.scroll-h{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;z-index:2;animation:fd 1s 1.4s ease both;}
.scroll-h span{font-size:9px;letter-spacing:3px;color:var(--lite);}
.sl{width:1px;height:34px;background:linear-gradient(to bottom,var(--k),transparent);animation:sd 1.5s infinite;}
@keyframes sd{0%{transform:scaleY(0);transform-origin:top;opacity:0}50%{transform:scaleY(1);transform-origin:top;opacity:.5}100%{transform:scaleY(0);transform-origin:bottom;opacity:0}}

.top_flex {
    display: flex;
    align-items: end;   
    justify-content: space-between;
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
}

.top_flex > div:first-child {
    flex: 1;               
    min-width: 40%;        
}

.top_flex > div:last-child {
    flex: 2;
    display: flex;
    justify-content: flex-end; 
}

.top_flex img {
    width: 100%;            
    max-width: 613px;       
    height: auto;
    object-fit: contain;
}
.topimg_sp img {
    display: none;
}

@media (max-width: 730px) {
    .top_flex {
        flex-direction: column;
    }
    .top_flex > div:first-child {
        width: 100%;
    }
    .top_flex > div:last-child {
        width: 100%;
        /* margin-top: 30px; */
    }
    .top_flex img {
        display: none;
    }
    .hero-foot {
        padding: 16px 0 4px 0;
    }
    .topimg_sp img{
        display: block;
        max-width: 200px;
    }
}

@media(max-width:960px){
    .hero {
        max-height:600px;
        display:flex;
        flex-direction:column;
        position:relative;
        overflow:hidden;
        padding: 20px 5% 0 5%;
    }


}





/* BUTTONS */
.btn {
    display:inline-flex;
    align-items:left;
    gap:7px;
    text-decoration:none;
    border:none;
    cursor:none;
    font-family:'Noto Sans JP',sans-serif;
    font-weight:700;
    letter-spacing:.3px;
    transition:all .28s cubic-bezier(.34,1.56,.64,1);
}
.btn-y {
    background:#ffd81f;
    color:var(--k);
    padding:13px 56px;
    border-radius:9px;
    font-size:18px;
    font-weight: 700;
}
.btn-y:hover{background:var(--y2);transform:translateY(-2px);box-shadow:0 10px 28px rgba(245,197,24,.28);}


.btn-y.lg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 27px 18px 34px;
    font-size: 17px;
    border-radius: 50px;
    font-weight: 700;
    text-decoration: none;
    position: relative;
}

.btn-y::after {
    content: "";    
    display: inline-block; 
    width: 10px;
    height: 10px;
    border-top: 2px solid #111;
    border-right: 2px solid #111;
    transform: rotate(45deg);
    margin-top: 2px;
    right: 247px;
}


@media screen and (max-width: 767px) {
    .btn-y.lg {
        font-size: 16px;
    }
    
}

.btn-k{background:var(--k);color:#fff;padding:13px 28px;border-radius:9px;font-size:14px;}
.btn-k:hover{background:#1d1d1f;transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.16);}
.btn-k.lg{padding:17px 40px;font-size:15px;border-radius:11px;}
.btn-g{background:transparent;color:var(--k);border:1.5px solid var(--border);padding:13px 28px;border-radius:9px;font-size:14px;font-weight:500;}
.btn-g:hover{border-color:var(--k);transform:translateY(-2px);}
.btn-g.lg{padding:17px 28px;font-size:15px;border-radius:11px;}

/* β BADGE */
.beta-badge{display:inline-flex;align-items:center;gap:6px;background:var(--k);color:#ffd81f;font-size:11px;font-weight:700;padding:4px 12px;border-radius:var(--rmax);letter-spacing:1.5px;}

/* WHAT IS — GEO定義ブロック */
#what-is {
    background:var(--ybg);
    border-top:2px solid #ffd81f;
    border-bottom:1px solid rgba(245,197,24,.15);
    padding:100px 5%;
    /* background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ccircle cx='12' cy='12' r='1' fill='%23B8900A' opacity='.1'/%3E%3C/svg%3E"); */
}

.wi-inner {
    max-width:1100px;
    margin:0 auto;
}

.wi-tag {
    font-size: 13px;
    letter-spacing: 0.3px;
    font-weight: 600;
    color: #907a3a;
    margin-bottom: 15px;
    display: block;
    font-family: 'DM Sans', sans-serif;
}

.wi-title {
    font-family:'Noto Sans JP',sans-serif;
    font-size:clamp(17px,2vw,30px);
    font-weight:700;color:var(--k);
    margin-bottom:40px;
    line-height:1.4;
}

.wi-body {
    font-size:16px;
    line-height:1.95;
    color:var(--ink);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    letter-spacing: 0.3px;
}
.wi-body strong {
    color:var(--yd);
    font-weight:700;
}
.wi-body .ref {
    font-size:12px;
    /* color:var(--k); */
    vertical-align:super;
}
.wi-refs {
    margin-top:20px;
    padding:14px 3% 14px;
    background:rgba(0,0,0,.02);
    border-radius:var(--r);
    border-left:3px solid var(--yborder);
    width: fit-content;
}
.wi-refs p {
    font-size:13px;
    color:var(--k);
    line-height:1.8;
    font-family:'Noto Sans JP',sans-serif;
}

.wi-refs a{color:var(--yd);text-decoration:underline;}
.wi-stats {
    display:grid;
    flex-wrap:wrap;
    gap:14px;
    margin-top:40px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    align-items: center;
}

.wi-stat {
    background:var(--w);
    border: 1px solid rgba(184, 144, 10, .4);
    border-radius:12px;
    padding:30px 22px;
    text-align: center;
}

.wi-stat-num {
    font-family:'Bebas Neue',sans-serif;
    font-size:52px;
    color:var(--yd);
    line-height:1;
}

.wi-stat-unit {
    font-size: 18px;
    color: var(--yd);
    padding-left: 3px;
    font-weight: 400;
    font-family: roboto;
}
.wi-stat-unit.h {
    font-size: 14px;
    color: var(--yd);
    padding-left: 3px;
    font-weight: 400;
    font-family: roboto;
}

.wi-stat-label {
    font-size:13px;
    color:var(--sub);
    font-family:'Noto Sans JP',sans-serif;
    margin-top:6px;
    line-height:1.4;
}

@media (max-width: 960px) {
    .wi-stats {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        min-width: 140px;
    }
}
@media screen and (max-width: 767px) {
    .wi-title {
        margin-bottom:30px;
    }
    
}


/* SURVEY BAR */
.survey-bar {
    background: #fff;
    padding:100px 5% 50px 5%;
    /* background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 2 L54 17 L54 47 L28 62 L2 47 L2 17 Z' fill='none' stroke='%23fff' stroke-width='.4' opacity='.06'/%3E%3C/svg%3E"); */
    font-family: 'Noto Sans JP', sans-serif;
}

@media screen and (max-width: 767px) {
    .survey-bar {
        padding: 60px 5% 30px 5%;
    }
    
}

.survey-class {
    max-width: 1100px;
    margin: 0 auto;
}

.sv-head {
    margin-bottom:24px;
}
.sv-eyebrow {
    font-size:13px;
    letter-spacing:1px;
    font-weight:600;
    color: var(--yd);
    font-family:'DM Sans',sans-serif;
}
.survey-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 23px;
}

.rv.in.survey {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.survey-card {
    background: rgba(255, 255, 255, .04);
    border-radius: 14px;
    padding: 32px;
    border: 1.5px solid rgba(255,255,255,.06);
    display: flex;
    gap: 15px;
    align-items: flex-start;
    transition: all .3s;
    cursor: none;
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .06);
}
/* .sv-card:first-child{padding-left:0;} */
/* .sv-card:last-child {
    padding-right:0;
    height: stretch;
} */
.sv-divider{width:1px;background:rgba(255,255,255,.08);align-self:stretch;margin:4px 0;}
.sv-num {
    font-family:'Bebas Neue',sans-serif;
    font-size:52px;
    color:var(--yd);
    line-height:1;
    margin-bottom:2px;
}
.sv-unit {
    font-size: 18px;
    color: var(--yd);
    padding-left: 3px;
    font-weight: 400;
    font-family: roboto;
}
.sv-unit.h {
    font-size: 14px;
    color: var(--yd);
    font-weight: 400;
    font-family: roboto;
    padding-left: 0;
}

.sv-label {
    font-size:18px;
    font-weight:700;
    color:var(--k);
    /* margin-bottom:27px; */
    font-family:'Noto Sans JP',sans-serif;
    line-height:1.5;
}

@media screen and (max-width: 767px) {
    .sv-label {
        font-size: 16px;
    }
    
}
.sv-desc {
    font-size:16px;
    color:var(--k);
    line-height:1.55;
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    margin-top: 13px;
}
/* .sv-under { */
    /* color: #fff; */
    /* font-weight:700; */
    /* padding-bottom: 3px;
    text-decoration: underline;
} */
.sv-src{font-size:10px;color:rgba(255,255,255,.2);margin-top:20px;font-family:'Noto Sans JP',sans-serif;font-weight:300;letter-spacing:.5px;}
.txt_css {
    font-size: 14px;
    color: var(--mid);
    margin: 24px auto 0;
    max-width: 1100px;
    font-family: 'Noto Sans JP', sans-serif;
}

.txt_css a {
    color: var(--mid);
}

/* TRUST BAR — 不要になったため削除（互換用に空定義保持） */
.trust{background:var(--k);display:grid;grid-template-columns:repeat(4,1fr);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 2 L54 17 L54 47 L28 62 L2 47 L2 17 Z' fill='none' stroke='%23fff' stroke-width='.4' opacity='.06'/%3E%3C/svg%3E");}
.ti{padding:44px 15px;text-align:center;border-right:1px solid rgba(255,255,255,.05);cursor:none;transition:background .25s;}
.ti:last-child{border-right:none;}
.ti:hover{background:rgba(245,197,24,.05);}
.tn{font-family:'Bebas Neue',sans-serif;font-size:62px;color:#ffd81f;line-height:1;display:block;}
.tu{font-size:24px;color:rgba(245,197,24,.45);}
.tl{font-size:10px;color:rgba(255,255,255,.3);margin-top:8px;letter-spacing:2px;font-family:'Noto Sans JP',sans-serif;font-weight:300;}

/* SECTION BASE */
.sec {
    padding:100px 48px;
}
.sin {
    max-width:1100px;
    margin:0 auto;
}
.slb {
    font-size:13px;
    letter-spacing:1px;
    font-weight:600;
    color:var(--yd);
    text-transform:uppercase;
    margin-bottom:11px;
    display:block;
}
.sh {
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(28px,5vw,46px);
    line-height:1.2;
    color:var(--k);
    letter-spacing: 0px;
    /* margin-bottom:30px; */
}
.sd {
    font-size:16px;
    color:var(--k);
    line-height:1.88;
    font-family:'Noto Sans JP',sans-serif;
    font-weight:500;
    margin-top: 26px;
}

.sd .ref {
    font-size: 12px;
    vertical-align: super;
}

.shead {
    display:grid;
    grid-template-columns:1fr 1fr;
    /* gap:40px; */
    align-items:end;
    margin-bottom:60px;
}

@media screen and (max-width: 767px) {
    .shead {
        margin-bottom:30px;
    }
    
}

/* EXISTING USER BANNER */
.existing {
    background:#fff;
    padding:50px 5% 100px 5%;
    position:relative;
    overflow:hidden;
    /* background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='60'%3E%3Cpolyline points='0,30 20,30 25,10 35,50 45,10 55,50 60,30 80,30 85,15 95,45 100,30 120,30 125,8 135,52 140,30 160,30 165,20 175,40 180,30 200,30' fill='none' stroke='%23F5C518' stroke-width='.6' opacity='.07'/%3E%3C/svg%3E"); */
    background-size:200px 60px;
}

@media screen and (max-width: 767px) {
    .existing {
        padding: 30px 5% 60px 5%;
    }
    
}

/* .existing::before{content:'安否コール';font-family:'Bebas Neue',sans-serif;font-size:18vw;color:rgba(245,197,24,.04);line-height:1;letter-spacing:-5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;} */
.ex-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;}
.ex-label {
    font-size:13px;
    letter-spacing:0.3px;
    font-weight:600;
    color: #907a3a;
    margin-bottom:24px;
    display:block;
    font-family:'DM Sans',sans-serif;
}
.ex-h {
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(36px,4.5vw,46px);
    line-height:1.2;
    color:var(--k);
    margin-bottom:40px;
}

.ex-h span {
    color: var(--yd);
    font-size: 1.2em;
    letter-spacing: 1px;
}

.ex-body {
    font-size:16px;
    line-height:1.85;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:500;
}
.ex-note {
    font-size:14px;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:300;
    margin-top:15px;
    line-height:1.6;
}

.ex-steps{display:flex;gap:0;margin-top:28px;}
.ex-step{display:flex;align-items:center;gap:10px;padding-right:24px;border-right:1px solid rgba(255,255,255,.1);margin-right:24px;}
.ex-step:last-child{border-right:none;margin-right:0;padding-right:0;}
.ex-step-n{width:28px;height:28px;border:1.5px solid #ffd81f;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:15px;color:#ffd81f;flex-shrink:0;}
.ex-step-t {
    font-size:15px;
    color:rgba(255,255,255,.5);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:500;
    line-height:1.5;
}
.ex-step-t strong {
    color:#fff;
    display:block;
    font-size:18px;
    margin-bottom:2px;
    font-weight: 500;
}
.ex-cta{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0;}
.ex-cta-note {
    font-size:14px;
    color: var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    text-align:center;
}

@media screen and (max-width: 767px) {
    .ex-h {
        margin-bottom:30px;
    }    
}

/* PROBLEM */
.prob {
    background:var(--bg2);
    /* background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cline x1='0' y1='40' x2='40' y2='0' stroke='%23000' stroke-width='.5' opacity='.03'/%3E%3C/svg%3E"); */
}
.prob-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2px;
    overflow:hidden;
    margin-top:52px;
}
.pc {
    background:var(--w);
    padding:40px 32px;
    transition:background .25s;
    cursor:none;
}

.pc-icon{font-size:26px;margin-bottom:12px;display:block;filter:grayscale(1);opacity:.35;}
.pc-num{font-family:'Bebas Neue',sans-serif;font-size:52px;color:var(--yd);line-height:1;}
.pc-unit{font-size:15px;color:var(--yd);font-weight:500;}
.pc h3 {
    font-size:20px;
    font-weight:700;
    color:var(--k);
    margin:14px 0 8px;
    font-family:'Noto Sans JP',sans-serif;
}
.pc-p {
    font-size:16px;
    line-height:1.6;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    margin-top: 20px;
    letter-spacing: 0.3px;
}.
.pc-src {
    font-size:13px;
    color:var(--lite);
    margin-top:15px;
    font-family:'Noto Sans JP',sans-serif;
}
.pc-src a{color:var(--yd);text-decoration:underline;}
.prob-solve {
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:56px;
    font-size:18px;
    font-weight:700;
    font-family:'Noto Sans JP',sans-serif;
    color:var(--k);
}

.prob-solve .ref {
    font-size: 12px;
    vertical-align: super;
}

.prob-solve::before,.prob-solve::after {
    content:'';
    flex:1;
    height:1px;
    background:var(--border);
    margin: 0 1%;
}

@media screen and (max-width: 840px) {
    .prob-solve {
        display: block;
        text-align: left;
        margin: 26px 1% 0 1%;
        font-size: 16px;
    }
    .prob-solve::before, .prob-solve::after {
        display: none;
    }
}



/* FEATURES */
.feats {
    background:var(--w);
    /* background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Ccircle cx='16' cy='16' r='.8' fill='%23111' opacity='.055'/%3E%3C/svg%3E"); */
}
#features-summary {
    margin-bottom:56px;
}
@media screen and (max-width: 767px) {
    #features-summary {
        margin-bottom:30px;
    }
    
}

.featS {
    font-size: 51px;
    font-family: 'Bebas Neue';
    letter-spacing: 1.9px;
}
.fc {
  flex: 0 0 350px;    
  scroll-snap-align: start;
  box-sizing: border-box;
  padding:36px 30px;
  border-radius:15px;
  border:1.5px solid transparent;
  cursor:none;
  position:relative;
  overflow:hidden;
  background:var(--w);
  border-color:var(--border);
  transform:translateY(-5px);
  box-shadow: 0px 4px 12px rgba(0, 0, 0, .1);
}

@media screen and (max-width: 767px) {
    #features-summary {
        margin-bottom:30px;
    }
    .fc {
          flex: 0 0 335px;    
    }
}


.fc:hover::after {
    transform:scaleX(1);
}

.fc-num {
    font-size:30px;
    font-weight:900;
    color:var(--yd);
    margin-bottom:14px;
}

.fc-num img {
    max-height: 30px;
}

.fc-icon {
    font-size:26px;
    margin-bottom:14px;
    display:block;
}

.fc h3 {
    font-size:20px;
    font-weight:700;
    margin-bottom:10px;
    font-family:'Noto Sans JP',sans-serif;
    color:var(--k);
    margin-top: 5px;
}
.fc-p {
    font-size:16px;
    line-height:1.6;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    margin-top: 25px;
    letter-spacing: 0.3px;
}
.fc strong{color:var(--yd);font-weight:700;}
.sms-demo{background:var(--k);border-radius:14px;padding:18px 15px;margin-top:14px;}
.sms-demo-hd{font-size:9px;color:rgba(255,255,255,.25);margin-bottom:10px;letter-spacing:1px;}
.sms-demo-msg{background:#ffd81f;color:var(--k);padding:11px 13px;border-radius:13px 13px 4px 13px;font-size:10.5px;line-height:1.65;font-family:'Noto Sans JP',sans-serif;font-weight:500;}



.fg {
  display: flex;
  overflow-x: auto; 
  overflow-y: hidden;
  gap: 14px; 
  padding: 10px 10px 20px 10px;  
  scroll-snap-type: x mandatory; 
  -webkit-overflow-scrolling: touch; 
  /* IE, Edge用のスクロールバー非表示設定 */
  -ms-overflow-style: none;  
  /* Firefox用のスクロールバー非表示設定 */
  scrollbar-width: none;
}
/* Chrome, Safari, Opera用のスクロールバー非表示設定 */
.fg::-webkit-scrollbar {
  display: none;
}

.fg::-webkit-scrollbar {
  height: 6px;
}
.fg::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}



/* ADMIN CONCERNS */
.admin{background:var(--ybg);border-top:1px solid var(--yborder);border-bottom:1px solid var(--yborder);}
.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:52px;}
.admin-card {
    background:var(--w);
    border-radius:13px;
    padding:36px 30px;
    border:2px solid rgba(184, 144, 10, .4);
    /* transition:all .3s; */
    cursor:none;
    transform:translateY(-4px);
    box-shadow:0 15px 40px rgba(0,0,0,.06);

}
/* .admin-card:hover {
    border-color:#ffd81f;
    transform:translateY(-4px);
    box-shadow:0 15px 40px rgba(0,0,0,.06);
} */

.admin-q {
    font-size:13px;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    line-height:1.7;
    margin-bottom:15px;
    padding-bottom:15px;
    border-bottom:1px solid var(--border);
    font-size:16px;
    font-weight: 500;
    padding-top: 4px;
}
/* .admin-q::before{content:'Q. ';color:var(--yd);font-weight:700;} */
.admin-icon {
    font-size:28px;
    margin-bottom:15px;
    display:block;
}
.admin-card h3 {
    font-size:20px;
    font-weight:700;
    color:var(--k);
    margin-bottom:20px;
    font-family:'Noto Sans JP',sans-serif;
}
.admin-p {
    font-size:16px;
    line-height:1.6;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    letter-spacing: 0.3px;
}

.admin-card {
    position: relative;
    padding-top: 40px;
    background: #fff;
    border-radius: 13px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.1);
    margin-top: 30px; 
}


.admin-icon {
    position: absolute;
    top: -21px; 
    left: 29px;  
    width: 50px; 
    height: auto; 
    display: block; 
    margin-bottom: 0; 
    z-index: 10;
}


/* COMPARISON */
.comp {
    background:var(--bg2);
    /* background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='8'%3E%3Crect width='4' height='1' y='0' fill='%23000' opacity='.025'/%3E%3C/svg%3E"); */
    background-size:4px 8px;
}
.compS {
    color: var(--yd);
    font-size: 56px;
    letter-spacing: 2px;
    font-weight: 500;
}

.ctbl {
    width:100%;
    border-collapse:collapse;
    margin-top:52px;
    border-radius:20px;
    overflow:hidden;
    /* border:1px solid var(--border); */
    box-shadow: 0 20px 48px rgba(0, 0, 0, .07);
}
@media screen and (max-width: 767px) {
    .ctbl {
        margin-top:30px;
    }
    .fc {

    }
    
}
.ctbl th {
    background:var(--k);
    color:#fff;
    padding:15px 18px;
    font-size:18px;
    font-weight:700;
    font-family:'Noto Sans JP',sans-serif;
    text-align:center;
}
.ctbl th:first-child {
    text-align:center;
}
.ctbl th.hl{background:#ffd81f;color:var(--k);}
.ctbl td {
    padding:13px 18px;
    font-size:17px;
    font-family:'Noto Sans JP',sans-serif;
    font-weight:300;
    color:var(--k);
    border-bottom:1px solid var(--border);
    text-align:center;
    background: rgba(255, 255, 255, .3);
}
.ctbl td:first-child {
    font-weight:700;
    color:var(--k);
    text-align:left;
    background:rgba(0,0,0,.03);
    padding-left: 4%;
}
.ctbl td.hl {
    background:rgba(245,197,24,.07);
    font-weight:700;
    color:var(--yd);
}
.ctbl tr:last-child td{
    border-bottom:none;
}
/* .ctbl tr:hover td{background:rgba(0,0,0,.01);}
.ctbl tr:hover td.hl{background:rgba(245,197,24,.12);} */
.tag-g {
    color:var(--k);
    padding:2px 10px;
    font-size:16px;
    font-weight:700;
    display:inline-block;
}
.tag-m {
    color: var(--k);
    padding:2px 10px;
    font-size:16px;
    display:inline-block;
    font-weight: 700;
}
.tag-b {
    color: var(--k);
    padding:2px 10px;
    font-size:16px;
    display:inline-block;
    font-weight: 700;
}


@media screen and (max-width: 1199px) {
  .table-wrapper {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
  }

  .table-wrapper table {
    min-width: 1200px;
    border-collapse: separate;
    border-spacing: 0;
  }

  .table-wrapper th,
  .table-wrapper td {
    white-space: nowrap;
  }

   .table-wrapper .ctbl th.fix,
  .table-wrapper .ctbl td.fix  {
    width: 13%;
    padding-left: 1%;
    position: sticky;
    left: 0;
    z-index: 2;
  }
  .ctbl td:first-child {
    position: sticky !important;
  }
  
}




/* HOW IT WORKS */
.how {
    background:var(--w);
    /* background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cdefs%3E%3Cstyle%3Eline%7Bstroke:%23111;stroke-width:.4;opacity:.04%7D circle%7Bfill:%23111;opacity:.05%7D%3C/style%3E%3C/defs%3E%3Ccircle cx='20' cy='40' r='2'/%3E%3Ccircle cx='80' cy='20' r='2'/%3E%3Ccircle cx='140' cy='60' r='2'/%3E%3Ccircle cx='60' cy='100' r='2'/%3E%3Ccircle cx='120' cy='130' r='2'/%3E%3Cline x1='20' y1='40' x2='80' y2='20'/%3E%3Cline x1='80' y1='20' x2='140' y2='60'/%3E%3Cline x1='20' y1='40' x2='60' y2='100'/%3E%3Cline x1='140' y1='60' x2='120' y2='130'/%3E%3Cline x1='60' y1='100' x2='120' y2='130'/%3E%3C/svg%3E"); */
}
.how-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.ph-wrap{position:relative;display:flex;justify-content:center;}
.ph-halo {
    position: absolute;
    width: 100%;
    max-width: 500px;
    height: 100%;
    max-height: 500px;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(245, 197, 24, .3) 1%, rgba(255, 255, 255, .5) 70%);
    opacity: 0.7; 
}
.ph {
    width:257px;
    height:528px;
    background:#fff;
    border-radius:36px;
    border:1px solid #efefef;
    position:relative;
    z-index:1;
    box-shadow:0 28px 64px rgba(0,0,0,.16);
    overflow:hidden;
}
.ph-notch {
    width:80px;
    height:21px;
    background:var(--mid);
    border-radius: 13px;
    position:absolute;
    top:11px;
    left:50%;
    transform:translateX(-50%);
    z-index:2;
}
.ph-scr{padding:38px 12px 14px;height:100%;display:flex;flex-direction:column;gap:8px;}
.pt {
    font-size:8.5px;
    color:var(--mid);
    text-align:center;
    margin:22px 0 5px 0;
}
.pb {
    padding:9px 11px;
    font-size:10px;
    line-height:1.65;
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    max-width:80%;
    border-radius:13px 13px 13px 4px;
    background:#efefef;
    color: var(--k);
}
.pb span {
    color: #4682B4;
    text-decoration: underline #4682B4;
}
.pb.s{background:#ffd81f;color:var(--k);border-radius:13px 13px 4px 13px;align-self:flex-end;font-weight:500;}
.steps {
    display:flex;
    flex-direction:column;
    margin: 39px 0 25px 0;
}
.step {
    display:flex;
    gap:15px;
    padding:27px 0;
    border-bottom:1px solid #d3d3d3;
    transition:.2s;
}
.step:last-child {
    border-bottom:none;
}
.sn {
    width:27px;
    height:27px;
    min-width:27px;
    border:1px solid var(--yd);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Bebas Neue',sans-serif;
    font-size:16px;
    color:var(--yd);
    transition:.2s;
}
.sc h4 {
    font-size:20px;
    font-weight:700;
    margin-bottom:5px;
    font-family:'Noto Sans JP',sans-serif;
    color:var(--k);
}
.sc p {
    font-size:16px;
    color:var(--k);
    line-height:1.6;
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    margin-top: 10px;
}



/* IOT */
.iot {
    background: var(--ybg);
    padding: 80px 24px; 
}

.iot-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr; 
    gap: 40px;
    align-items: center;
}

@media (min-width: 768px) {
    .iot {
        padding: 100px 48px;
    }
    .iot-inner {
        grid-template-columns: 1fr 1fr;
        gap: 80px;
    }
}

.iot .sh { 
    color: var(--k); 
}
.iot .slb { 
    color: var(--yd); 
}

.iot-body {
    font-size: 16px;
    line-height: 1.85;
    color: var(--k);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    margin-bottom: 30px;
    margin-top: 30px;
}

.iot-patent {
    font-size: 14px;
    color: var(--mid);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1.7;
}

.iot-patent a { 
    color: var(--mid);
    text-decoration: underline;
}

.iotImg {
    display: block;
    width: 100%;      
    max-width: 400px; 
    height: auto;
    margin: 0 auto;
}

.iot-devices {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center; 
}


/* ACHIEVEMENT */
.achieve{background:#fff;}
.achieve-inner{max-width:1100px;margin:0 auto;}
.achieve-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:29px;
    margin-top:52px;
}

.achieve-card {
    background:var(--w);
    border-radius:13px;
    padding:32px;
    border:1px solid #f5f5f5;
    display:flex;
    gap:15px;
    align-items:flex-start;
    transition:all .3s;
    cursor:none;
    transform:translateY(-3px);
    box-shadow:1px 7px 9px rgba(0,0,0,.1);

}

.achieve-card.rv > div {
  text-align: right; 
}

.achieve-card.rv h3,
.achieve-card.rv .achieve-cardp {
  text-align: left;
}

p.achieve-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-right: 25px; 
  text-align: end;
  font-size: 14px;
  margin-top: 19px;
  align-self: flex-end;
  color: var(--k);
}

p.achieve-link:hover {
    color: #b8900a;
}

.achieve-link::before {
  content: "";
  position: absolute;
  right: 0;
  width: 18px;
  height: 18px;
  background: #b8900a;
  border-radius: 50%;
}

.achieve-link::after {
  content: "";
  position: absolute;
  right: 7px;         
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

/* .achieve-card:hover {
    border-color:#ffd81f;
    transform:translateY(-3px);
    box-shadow:0 12px 32px rgba(0,0,0,.06);
} */
.achieve-icon {
    font-size:24px;
    flex-shrink:0;
    margin-top:2px;
}
.achieve-card h3 {
    font-size:20px;
    font-weight:700;
    color:var(--k);
    margin-bottom:14px;
    font-family:'Noto Sans JP',sans-serif;
}
.achieve-cardp {
    font-size:16px;
    line-height:1.7;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    margin-top: 22px;
}

/* QUOTE */
.quote-strip {
    background: var(--ybg);
    padding:60px 48px;
    text-align:center;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Crect x='30' y='30' width='40' height='40' fill='none' stroke='%23000' stroke-width='.6' opacity='.06'/%3E%3Cline x1='50' y1='0' x2='50' y2='30' stroke='%23000' stroke-width='.5' opacity='.06'/%3E%3Cline x1='50' y1='70' x2='50' y2='100' stroke='%23000' stroke-width='.5' opacity='.06'/%3E%3Cline x1='0' y1='50' x2='30' y2='50' stroke='%23000' stroke-width='.5' opacity='.06'/%3E%3Cline x1='70' y1='50' x2='100' y2='50' stroke='%23000' stroke-width='.5' opacity='.06'/%3E%3C/svg%3E");
}
.qs-inner{max-width:780px;margin:0 auto;}
blockquote {
    font-size:clamp(18px,2.8vw,22px);
    font-weight:700;
    color: var(--yd);
    font-family:'Noto Sans JP',sans-serif;
    line-height:1.55;
    margin-bottom:14px;
    letter-spacing: 0.5px;
}
blockquote .qs-span {
    border-bottom:2px solid var(--yd);
}
cite {
    font-size:14px;
    color: var(--mid);
    font-style:normal;
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
}

/* VOICE */
.voice {
    background: var(--bg2);
    padding:100px 48px;
    /* background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='120'%3E%3Ctext x='8' y='18' font-family='monospace' font-size='9' fill='%23F5C518' opacity='.05'%3E1 0 1%3C/text%3E%3Ctext x='8' y='34' font-family='monospace' font-size='9' fill='%23F5C518' opacity='.04'%3E0 1 0%3C/text%3E%3Ctext x='8' y='50' font-family='monospace' font-size='9' fill='%23F5C518' opacity='.05'%3E1 1 0%3C/text%3E%3Ctext x='8' y='66' font-family='monospace' font-size='9' fill='%23F5C518' opacity='.03'%3E0 0 1%3C/text%3E%3C/svg%3E"); */
}

@media screen and (max-width: 767px) {
    .voice {
        padding: 60px 5%;
    }
    
}

.vi{max-width:1100px;margin:0 auto;}
.vi .sh {
    color: var(--k);
}
.vi .slb{color:#ffd81f;}
.vg{
  display:flex;
  gap:15px;
  margin-top:33px;
  overflow-x:auto;
  /* scroll-snap-type:x mandatory; */
  -webkit-overflow-scrolling:touch;
  padding: 22px 10px;
  scrollbar-width:none;
}

@media screen and (max-width: 767px) {
    .vg {
        margin-top:24px;
    }
    
}

.vg::-webkit-scrollbar {
    display:none;
}

.vc {
    background: #fff;
    border:1px solid rgba(255,255,255,.06);
    border-radius:13px;
    padding:28px;
    transition:.3s;
    cursor:none;
    flex:0 0 360px;
    scroll-snap-align:start;
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.1);
}

.vc:hover {
    background: var(--ybg);
    border-color:rgba(245,197,24,.2);
}
.vstars {
    color: rgba(255, 216, 35, .9);
    font-size:12px;
    margin-bottom:12px;
    letter-spacing:2px;
}
.vtext {
    font-size:16px;
    line-height: 1.8;
    color: var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight: 500;
    margin-bottom: 18px;
}

.vauthor {
    display:flex;
    align-items:center;
    gap:10px;
}

.vav {
    width:32px;
    height:32px;
    background:rgba(255, 216, 35, .5);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:700;
    color:var(--mid);
    flex-shrink:0;
}

.vname {
    font-size:12px;
    font-weight:500;
    color: var(--mid);
    font-family:'Noto Sans JP',sans-serif;
}

.vrole {
    font-size:11px;
    color:var(--mid);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:300;
}

/* β版CTA */
.beta-cta {
    background:var(--ybg);
    padding:100px 48px;
    position:relative;
    overflow:hidden;
}

@media screen and (max-width: 767px) {
    .beta-cta {
        padding: 60px 5%;
    }
    
}

/* .beta-cta::before {
    content:'β';
    font-family:'Bebas Neue',sans-serif;
    font-size:30vw;
    color:rgba(245,197,24,.03);
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    pointer-events:none;
} */
.bc-inner {
    max-width:1100px;
    margin:0 auto;
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr auto;
    gap:48px;
    align-items:center;
}
.bc-label {
    font-size:10px;
    letter-spacing:3px;
    font-weight:700;
    color:#ffd81f;
    margin-bottom:14px;
    display:block;
}
.bc-h {
    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(36px,4.5vw,46px);
    line-height:1;
    color: var(--k);
    margin-bottom:30px;
}
.bc-h span {
    color: var(--yd);
}
.bc-body {
    font-size:16px;
    line-height:1.85;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:500;
    /* max-width:500px; */
}
.bc-notes {
    margin-top:14px;
    display:flex;
    flex-direction:column;
    gap:3px;
}
.bc-note {
    font-size:14px;
    color:var(--mid);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    display:flex;
    align-items:flex-start;
    gap:3px;
}
.bc-note::before {
    content:'※';
    color:var(--mid);
    flex-shrink:0;
}
.bc-cta {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}
.bc-cta-note {
    font-size:13px;
    color:rgba(255,255,255,1);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:300;
    text-align:center;
    line-height: 1.5;
}


/* FAQ */
.faq {
    /* background:var(--bg2); */
    /* background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Crect width='48' height='48' fill='none' stroke='%23000' stroke-width='.4' opacity='.04'/%3E%3C/svg%3E"); */
    background-size:48px 48px;
}
.flist {
    margin-top:52px;
    display:flex;
    flex-direction:column;
    gap: 17px;
}
@media screen and (max-width: 767px) {
    .flist {
        margin-top:30px;
    }
    
}
.fq{background:var(--w);border-radius:10px;overflow:hidden;border:1px solid var(--border);}
.fq-q {
    width:100%;
    padding: 20px 2.5%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:transparent;
    border:none;
    cursor:none;
    text-align:left;
    font-size:17px;
    font-weight:700;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    transition:background .2s;
}
.fq-q:hover{background:var(--bg2);}
.fq-icon{font-size:18px;color:var(--yd);transition:transform .3s;flex-shrink:0;margin-left:14px;}
.fq-q.open .fq-icon{transform:rotate(45deg);}
.fq-a{max-height:0;overflow:hidden;transition:max-height .38s ease;}
.fq-a.open{max-height:500px;}
.fq-body {
    padding:27px 2.5%;
    font-size:16px;
    line-height:1.75;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
    border-top:1px solid var(--border);
}
.fq-body a {
    color:var(--yd);
    text-decoration:underline;
}

/* STRIP CTA */
.strip{background:#ffd81f;padding:80px 48px;text-align:center;position:relative;overflow:hidden;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104'%3E%3Cpath d='M30 2 L58 18 L58 50 L30 66 L2 50 L2 18 Z' fill='none' stroke='%23000' stroke-width='.5' opacity='.05'/%3E%3C/svg%3E");}
.strip::before{content:'SMS ALERT';position:absolute;font-family:'Bebas Neue',sans-serif;font-size:22vw;color:rgba(0,0,0,.04);letter-spacing:-5px;line-height:1;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;}
.si{position:relative;z-index:1;}
.strip h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,7vw,88px);line-height:.94;color:var(--k);margin-bottom:18px;}
.strip p{font-size:15px;color:rgba(0,0,0,.52);margin-bottom:36px;font-family:'Noto Sans JP',sans-serif;font-weight:300;}
.strip-note{margin-top:14px;font-size:11px;color:rgba(0,0,0,.32);font-family:'Noto Sans JP',sans-serif;font-weight:300;}

/* CONTACT */
.contact{background:var(--w);padding:96px 48px 115px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Crect width='80' height='80' fill='none' stroke='%23000' stroke-width='.3' opacity='.03'/%3E%3Cline x1='40' y1='0' x2='40' y2='80' stroke='%23000' stroke-width='.3' opacity='.025'/%3E%3Cline x1='0' y1='40' x2='80' y2='40' stroke='%23000' stroke-width='.3' opacity='.025'/%3E%3C/svg%3E");background-size:80px 80px;}
.ct-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.ct-tag{display:inline-block;background:#ffd81f;color:var(--k);font-size:10px;font-weight:700;letter-spacing:2px;padding:3px 10px;border-radius:4px;margin-bottom:14px;}
.ct-h{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,4vw,56px);line-height:1;color:var(--k);margin-bottom:18px;}
.ct-h span{color:var(--yd);}
.ct-body{font-size:15px;line-height:1.88;color:var(--k);font-family:'Noto Sans JP',sans-serif;font-weight:300;margin-bottom:32px;}
.ct-item{display:flex;align-items:center;gap:13px;padding:15px 17px;background:var(--bg2);border-radius:11px;border:1.5px solid transparent;margin-bottom:9px;cursor:none;transition:.22s;}
.ct-item:hover{border-color:#ffd81f;background:var(--ybg);}
.ct-item-icon{font-size:15px;width:19px;text-align:center;}
.ct-item-txt span{display:block;font-size:10px;color:var(--yd);letter-spacing:2px;font-weight:700;margin-bottom:1px;}
.ct-item-txt strong{font-size:14px;color:var(--k);font-weight:500;font-family:'Noto Sans JP',sans-serif;}
.ct-company{margin-top:24px;padding:18px;background:var(--ybg);border-radius:11px;border:1px solid var(--yborder);}
.ct-company h4{font-size:11px;font-weight:700;color:var(--yd);font-family:'Noto Sans JP',sans-serif;margin-bottom:6px;letter-spacing:1px;}
.ct-company p{font-size:12px;line-height:1.82;color:var(--k);font-family:'Noto Sans JP',sans-serif;font-weight:300;}
.ct-form-card{background:var(--bg2);border-radius:var(--r2);padding:36px 32px;border:1.5px solid var(--border);}
.cf-h{font-size:17px;font-weight:700;font-family:'Noto Sans JP',sans-serif;color:var(--k);margin-bottom:4px;}
.cf-sub{font-size:12px;color:var(--lite);font-family:'Noto Sans JP',sans-serif;font-weight:300;margin-bottom:24px;}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fg-f{display:flex;flex-direction:column;gap:5px;margin-bottom:9px;}
.fg-f label{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--k);font-family:'Noto Sans JP',sans-serif;}
.fg-f input,.fg-f select,.fg-f textarea{background:var(--w);border:1.5px solid var(--border);border-radius:8px;padding:11px 13px;color:var(--k);font-size:14px;font-family:'Noto Sans JP',sans-serif;font-weight:300;outline:none;transition:.2s;cursor:none;width:100%;}
.fg-f input:focus,.fg-f select:focus,.fg-f textarea:focus{border-color:var(--k);box-shadow:0 0 0 3px rgba(0,0,0,.05);}
.fg-f textarea{resize:vertical;min-height:80px;}
.cf-btn{width:100%;padding:15px;border-radius:9px;border:none;background:#ffd81f;color:var(--k);font-size:15px;font-weight:700;cursor:none;transition:.28s;font-family:'Noto Sans JP',sans-serif;margin-top:4px;}
.cf-btn:hover{background:var(--y2);transform:translateY(-2px);box-shadow:0 10px 28px rgba(245,197,24,.22);}
.cf-note{font-size:11px;color:var(--lite);text-align:center;font-family:'Noto Sans JP',sans-serif;font-weight:300;margin-top:10px;}

/* GEO DATA LAYER */
.geo-data {
    padding:36px 48px;
    border-top:1px solid var(--border);
}

.gd-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.gd-h {
    font-size:13px;
    font-weight:700;
    letter-spacing:3px;
    color:var(--yd);
    margin-bottom:12px;
    font-family:'DM Sans',sans-serif;
}
.gd-body {
    font-size:14px;
    line-height:1.7;
    color:var(--mid);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
}
.gd-body ul{list-style:none;padding:0;}
.gd-body ul li{padding:3px 0;border-bottom:1px solid var(--border);}
.gd-body ul li:last-child{border-bottom:none;}
.gd-body a{color:var(--yd);text-decoration:underline;}

/* FOOTER
footer{background:var(--k);padding:36px 48px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.04);}
.fl{text-decoration:none;}
.fl-main{font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:700;color:#fff;}

.footer__logo img {
    max-width: 140px;
}
.fl-badge{background:#ffd81f;color:var(--k);font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;margin-left:6px;}
.fl-sub {
    font-size:10px;
    color:rgba(255,255,255,1);
    margin-top:4px;
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
}
footer nav ul{display:flex;gap:20px;list-style:none;}
footer nav ul a{font-size:11px;color:rgba(255,255,255,.28);text-decoration:none;transition:.2s;}
footer nav ul a:hover{color:#ffd81f;}
.f-copy {
    font-size:11px;
    color:rgba(255,255,255,1);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:300;
}
#pg_bottom img {
    max-width: 160px;
}

.footer_items {
    display: flex;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .footer_items {
        display: block;
    }
    .f-copy {
        margin-top: 6px;
    }
} */



/* REVEAL */
.rv {
    opacity:0;
    /* transform:translateY(24px); */
    transition:opacity .55s ease,transform .55s ease;
}
.rv.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.07s;}.d2{transition-delay:.14s;}.d3{transition-delay:.21s;}

@media(max-width:730px){
  nav {
    padding:0;
}
.nlinks{display:none;}
  .topimg_pc {
    display: none;
  }
  .topimg_pc img {
    display: none;
  }
  .kv {
    background-image: url(https://sv4.xeoserver.jp/demo/anpi-system-top/_prt/_sms/mainimage2.png);
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat;
}
  /* .hero-foot {
    grid-template-columns:1fr;
    padding:28px 22px 52px;
    gap:22px;
} */
  .hero-cta{align-items:flex-start;}
  .hero-btns{justify-content:flex-start;}
  #what-is{
    padding:60px 5%;
}
  .sec,.voice,.faq,.strip,.contact,.geo-data,.beta-cta,.iot{padding-left:22px;padding-right:22px;}

@media screen and (max-width: 767px) {
    .sec {
        padding: 60px 5%;
    }
    
}

  .sv-grid{grid-template-columns:repeat(2,1fr);gap:15px;}
  .sv-divider{display:none;}
  .sv-card{padding:0;}
  .prob-grid,.fg,.admin-grid,.achieve-grid, .survey-grid {
    grid-template-columns:1fr;
    margin-top: 35px;
}
  .vg{flex-direction:row;}
  .shead,.how-wrap,.ct-wrap,.ex-inner,.iot-inner,.bc-inner{grid-template-columns:1fr;}
  .gd-inner{grid-template-columns:1fr;}
  .ex-steps,.bc-cta{flex-direction:column;}
  .fr{grid-template-columns:1fr;}
  footer{flex-direction:column;gap:18px;text-align:center;}
  footer nav ul{flex-wrap:wrap;justify-content:center;}
}

/* ── LOGOS SCROLL ── */
#result_ac2 .logo_result {
    height: 120px;
    background: #fff;
    padding: 10px 0;
    margin-bottom: 40px;
}
.sld_wrap {
    overflow: hidden;
    display: flex;
    align-items: center;
    height: 100px;
}
#result_ac2 .logo_result ul {
    width: 100%;
    margin: 0;
}
.slideshow {
    display: flex;
    -webkit-animation: loop-slide 30s infinite linear 1s both;
    animation: loop-slide 50s infinite linear 1s both;
    list-style: none;
}
#result_ac2 .logo_result ul li {
    width: 100%;
}
#result_ac2 ul li {
    width: 32%;
    margin: 0;
}
.content img {
    height: 100px;
}

@media screen and (max-width: 730px) {
    .content img {
        height: 80px;
    }

    .logos-inner {
        padding: 0 0 30px 0;
    }
}


.logos-sec {
    background: #fff;
    padding:60px 5%;
    overflow:hidden;
}
.logos-inner {
    max-width:1100px;
    margin:0 auto;
    text-align:center;
    padding:0 0 50px 0;
}
@media screen and (max-width: 730px) {

    .logos-inner {
        padding: 0 0 30px 0;
    }
}

.logos-headline {
    font-family:'Noto Sans JP',sans-serif;
    font-size:clamp(18px,2.2vw,23px);
    font-weight:700;
    color:#b8900a;
    margin-bottom:10px;
}
.logos-sub {
    font-size:16px;
    color:var(--k);
    font-family:'Noto Sans JP',sans-serif;
    font-weight:400;
}

.logos-track-wrap{
  position:relative;
  overflow:hidden;
}
/* 左右フェード */
.logos-track-wrap::before,.logos-track-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;
}
.logos-track-wrap::before{left:0;background:linear-gradient(to right,var(--bg2),transparent);}
.logos-track-wrap::after{right:0;background:linear-gradient(to left,var(--bg2),transparent);}

.logos-track{
  display:flex;
  align-items:center;
  gap:0;
  animation:logoScroll 50s linear infinite;
  width:max-content;
}
.logos-track:hover{animation-play-state:paused;}

@keyframes logoScroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

.ftr_list a {
    color: #0059A9;
    text-decoration: none;
}

.ftr_list a:hover {
    color: orange;
    text-decoration: none;
}

#footlink ul {
    padding: 20px 0 10px;
    margin: 0 auto;
    float: left;
}

#footlink a {
    color: #0059A9;
    text-decoration: none;
}

#footlink a:hover {
    color: orange;
    text-decoration: none;
}



